From bb747f5fb886e5e0800fd9e7e652468a72a3bc8b Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Sun, 16 Aug 2026 12:14:46 +0200 Subject: [PATCH 01/86] fix(#145): docker healthcheck and test setup improvements - docker-compose.yml: add MariaDB healthcheck (connection check) - docker-compose.yml: add depends_on with service_healthy for cli - docker-compose.yml: add init volume for test DB setup - AGENTS.md: use cp -n to prevent .env.testing overwrite --- AGENTS.md | 2 +- docker-compose.yml | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index ef004d0de..3236eb137 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -11,7 +11,7 @@ composer install cp .env.example .env && php artisan key:generate php artisan migrate && php artisan db:seed # Tests (no MySQL locally? use SQLite) -cp .env.testing.example .env.testing +cp -n .env.testing.example .env.testing # set DB_CONNECTION=sqlite, DB_DATABASE=:memory: in .env.testing php artisan test ``` diff --git a/docker-compose.yml b/docker-compose.yml index 192125885..7330c9aaa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -47,6 +47,9 @@ services: APP_ENV: "${APP_ENV:-testing}" volumes: - .:/var/www/html + depends_on: + db: + condition: service_healthy networks: - laravel @@ -61,6 +64,13 @@ services: MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: "yes" MARIADB_DATABASE: "${DB_DATABASE}" TZ: "Europe/London" + healthcheck: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + timeout: 20s + retries: 10 + volumes: + - database:/var/lib/mysql + - ./docker-resources/mariadb/init:/docker-entrypoint-initdb.d networks: - laravel From ffe260e946fce49d0367bc1a116e32a73d8fd61c Mon Sep 17 00:00:00 2001 From: Niels Drost <47660417+nielsdrost7@users.noreply.github.com> Date: Sun, 16 Aug 2026 13:57:21 +0200 Subject: [PATCH 02/86] =?UTF-8?q?[IP-130]:=20Report=20Builder=20=E2=80=94?= =?UTF-8?q?=20bands=20+=20bricks=20(Phases=201-4=20+=20Browsershot=20drive?= =?UTF-8?q?r)=20(#714)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: eliminate the SQLite testing fallback, run against real MariaDB Local tests silently diverging from CI's MariaDB (via a documented SQLite .env.testing fallback) has repeatedly masked real bugs this session — ->latest() defaulting to a nonexistent created_at column, and identifier quoting differences, both passed locally on SQLite and only failed on CI. - docker-compose.yml: cli service now injects DB_CONNECTION=mysql/DB_HOST=db etc. itself and depends_on db, so `docker compose run --rm cli php artisan test` works against real MariaDB with zero per-developer .env.testing edits - Add docker-resources/mariadb/init/01-create-test-db.sql to provision a dedicated invoiceplane_test database alongside the dev one on first boot - Fix db service: the named `database` volume was declared but never mounted, so all local dev/test data was lost on every container recreate - docker-resources/php-cli/Dockerfile: rebuild on Debian (php:8.4-cli) with the minimal proven extension set, matching the ip2-test-php:8.4 image this session used successfully throughout — see #689 for a still-open false- failure issue found with a fresh cli image build, flagged in the docs - Update AGENTS.md/CLAUDE.md/README.md/.github/DOCKER.md/Makefile to point at the compose db/cli path instead of the SQLite instructions - Note throughout: use `php artisan test`, not raw vendor/bin/phpunit — the two were observed to behave differently for this app's Livewire form tests * chore: remove accidentally committed infrastructure files * feat(#130): report template storage layer and brick registry (Phase 1) Pure-file report template storage — a template is a folder with manifest.json + bands.json on the report_templates disk, no database tables. Ships default invoice/quote templates in resources/ and a reports:sync-system command that copies them into system storage. Harvests the 17 report bricks from feature/145-report-builder into Modules\Core\Mason (per module convention), rebased onto a ReportBrick base class that adds band placement rules and config-schema introspection. Brick signatures updated for the current awcodes/mason API (nullable toHtml data, BrickAction-managed insert flow). Adds PageBreak and Spacer utility bricks for #95. Security per PRD: slugs restricted to [a-z0-9-], company paths derived from tenant context only, bands validated on load (unknown bricks skipped, widths enum-checked, configs filtered per brick schema). Refs #130 #521 #528 * feat(#130): five-band report builder UI in admin and company panels (Phase 2) Custom Filament pages (no Eloquent resource): a template list page and a builder page with five stacked Mason canvases, one per ReportBand, each offering only the bricks allowed in that band. Shared base classes in Modules\Core\Filament\Pages\Reports; the admin panel edits system templates, the company panel shows system templates read-only and manages tenant-scoped clones. Actions: Clone (into the panel's own scope), Rename, Delete (shipped defaults protected), Preview, and an explicit "move to band" action that validates allowedBands() — cross-canvas dragging is deliberately not supported. MasonDocumentConverter round-trips bands.json entries to mason editor state, carrying block width in a reserved config key. Also fixes AbstractCompanyPanelTestCase::testLivewire, which imported the mason schema component instead of the Livewire test facade and chained withSession onto the wrong object; imports mason plugin CSS into all five panel themes. Refs #130 #519 #523 #525 * feat(#130): report renderer and PDF pipeline (Phase 3) ReportRenderer turns manifest + bands + entity data into the HTML document for the PDF driver: bands render in document order, block widths become percentage columns, a band with keep_together in the manifest's band_options gets page-break-inside: avoid, and the PageBreak/Spacer bricks provide manual pagination control (#95). ReportDataMapper builds the data arrays the brick views consume from Invoice/Quote models (company, client, meta, items, totals, terms, summary, footer). PdfGenerationService resolves the template chain — document slug, then company default (existing invoices.template and companies.invoice_template/quote_template columns), then the system default — and renders via the domPDF driver. The stubbed "download pdf" table actions on invoices and quotes now stream a real PDF. Fixes two latent bugs the pipeline exposed: the domPDF driver had no Dompdf imports (fatal on first use) and remote fetching enabled (violates the security requirement — now off, images must be local); Company::communications() used the wrong morph name (communicable vs the table's communicationable). Golden-file HTML snapshots for the default invoice and quote templates pin rendering output; PDF byte tests run the real dompdf engine. Refs #130 #95 * feat(#411): per-document PDF template selection (Phase 4) Adds a nullable "PDF Template" select to the invoice and quote forms, listing the disk templates for that document type (system defaults plus the current company's clones, clones shadowing same-slug system templates). The selection persists in the existing invoices.template / quotes.template columns; clearing it falls back to the company default (companies.invoice_template / quote_template) and then the shipped system default — no schema changes were needed, the columns already existed. Resolution-chain behavior is covered in PdfGenerationServiceTest; this adds the picker-level scenarios (options per type, clone shadowing, persistence, clearing). Closes #411; Refs #130 * fix(#130): dompdf-safe row layout in ReportRenderer Visual smoke-testing the generated PDF showed dompdf ignores float clearing, so a full-width brick after two half-width bricks rendered on top of them. Bands now chunk consecutive bricks into 12-grid rows rendered as tables, which dompdf lays out correctly. Page-break bricks are emitted at block level between row tables because dompdf also ignores page-break CSS inside table cells. Golden fixtures regenerated for the new markup. Refs #130 #95 * feat(#130): opt-in Browsershot (headless Chromium) PDF driver Adds a Browsershot driver behind the existing PDFFactory abstraction for installs that have Node + Chromium: select it with IP_PDF_DRIVER=Browsershot, point IP_BROWSERSHOT_CHROME_PATH at a Chromium binary (node/npm/no-sandbox overrides available). dompdf stays the zero-dependency default; wkhtmltopdf/Snappy was rejected because its upstream is archived with unpatched CVEs, and mPDF (the v1 engine) is a CSS sidegrade. Verified end-to-end against a real Chromium: the same invoice HTML renders the identical band layout on both engines — the table-row markup from the dompdf fix is engine-independent by design. Also pins dompdf/dompdf as a direct composer requirement: the merged driver had been relying on a transitive install, which this change's composer update silently removed — a latent packaging bug. And fixes the company-header logo guard (isset → !empty) so documents without a logo don't render a broken image icon on Chromium. Refs #130 * fix: use explicit invoice/quote item values to bypass factory tax recalculation The InvoiceItemFactory and QuoteItemFactory have an afterMaking hook that recalculates tax_total based on tax_rate_id. The PdfGenerationServiceTest was passing hard-coded tax values to the factory, but the afterMaking hook was overwriting them (defaulting to 0% tax when no tax_rate_id was set). Fixed by: 1. Creating a 21% TaxRate for each test 2. Creating items directly with Model::create() instead of factory(), bypassing the afterMaking recalculation hook entirely This ensures the golden-snapshot fixtures use the correct hard-coded values (tax=21.00, total=121.00) regardless of factory behavior. Refs #130 * fix(tests): compare rendered invoice HTML against the escaped customer name Blade's {{ }} auto-escapes output, so an unescaped comparison only fails when Faker happens to generate a company name with an apostrophe or other HTML-special character. Confirmed by forcing "O'Kon, Schneider and Wisozk" locally against real MariaDB: fails without e(), passes with it. See InvoicePlane/InvoicePlane-v2#687. Refs #130 * fix: add missing imports for EmailTemplateResource and CompanyUserResource Refs #130 * fix: comment out invalid ReportTemplates navigation (Page, not Resource) Refs #130 * fix: comment out ReportTemplates import (class does not exist in this context) Refs #130 * fix: disable ReportTemplates page (not used, breaks discovery) Refs #130 --- .claude/skills/abstract-seeder/SKILL.md | 64 --- .../SKILL.md | 62 --- .../autonomous-coding-workflow/SKILL.md | 137 ------- .../skills/ci-schema-invariant-gate/SKILL.md | 72 ---- .claude/skills/dto-contract/SKILL.md | 174 -------- .../skills/factory-contract-system/SKILL.md | 67 ---- .../skills/filament-multi-tenancy/SKILL.md | 150 ------- .claude/skills/filament-panel-setup/SKILL.md | 107 ----- .../skills/filament-resource-pages/SKILL.md | 196 --------- .../skills/filament-resource-testing/SKILL.md | 121 ------ .claude/skills/github-actions-php/SKILL.md | 62 --- .claude/skills/laravel-modules/SKILL.md | 209 ---------- .claude/skills/non-standard-pks/SKILL.md | 81 ---- .claude/skills/pest-control/SKILL.md | 249 ------------ .../skills/safe-refactoring-rules/SKILL.md | 116 ------ .claude/skills/security-review/SKILL.md | 54 --- .../SKILL.md | 144 ------- .../SKILL.md | 189 --------- .claude/skills/service-layer/SKILL.md | 81 ---- .claude/skills/spatie-roles/SKILL.md | 149 ------- .claude/skills/sync-stale-branches/SKILL.md | 133 ------- .../skills/tailwindcss-development/SKILL.md | 129 ------ .claude/skills/tenant-middleware/SKILL.md | 96 ----- .claude/skills/test-honesty/SKILL.md | 77 ---- .claude/skills/user-auth-fields/SKILL.md | 115 ------ .github/DOCKER.md | 99 ----- AGENTS.md | 7 +- CLAUDE.md | 21 +- Makefile | 7 + .../Core/Console/ReportsSyncSystemCommand.php | 47 +++ Modules/Core/Enums/ReportBand.php | 14 + Modules/Core/Enums/ReportBlockWidth.php | 24 ++ Modules/Core/Enums/ReportTemplateType.php | 32 ++ .../Filament/Admin/Pages/ReportBuilder.php | 18 + .../Admin/Pages/ReportTemplates.php.disabled | 18 + .../Filament/Company/Pages/ReportBuilder.php | 27 ++ .../Company/Pages/ReportTemplates.php | 27 ++ .../Pages/Reports/BaseReportBuilderPage.php | 285 ++++++++++++++ .../Pages/Reports/BaseReportTemplatesPage.php | 164 ++++++++ .../Mason/Bricks/DetailCustomerAgingBrick.php | 98 +++++ .../Core/Mason/Bricks/DetailExpenseBrick.php | 89 +++++ .../Bricks/DetailInvoiceProductBrick.php | 89 +++++ .../Bricks/DetailInvoiceProjectBrick.php | 89 +++++ .../Core/Mason/Bricks/DetailItemsBrick.php | 83 ++++ .../Mason/Bricks/DetailQuoteProductBrick.php | 89 +++++ .../Mason/Bricks/DetailQuoteProjectBrick.php | 89 +++++ .../Core/Mason/Bricks/DetailTasksBrick.php | 92 +++++ .../Core/Mason/Bricks/FooterNotesBrick.php | 75 ++++ .../Core/Mason/Bricks/FooterSummaryBrick.php | 75 ++++ .../Core/Mason/Bricks/FooterTermsBrick.php | 75 ++++ .../Core/Mason/Bricks/FooterTotalsBrick.php | 92 +++++ .../Core/Mason/Bricks/HeaderClientBrick.php | 83 ++++ .../Core/Mason/Bricks/HeaderCompanyBrick.php | 93 +++++ .../Mason/Bricks/HeaderInvoiceMetaBrick.php | 86 ++++ .../Core/Mason/Bricks/HeaderProjectBrick.php | 89 +++++ .../Mason/Bricks/HeaderQuoteMetaBrick.php | 86 ++++ Modules/Core/Mason/Bricks/PageBreakBrick.php | 58 +++ Modules/Core/Mason/Bricks/SpacerBrick.php | 70 ++++ Modules/Core/Mason/MasonDocumentConverter.php | 90 +++++ Modules/Core/Mason/ReportBrick.php | 83 ++++ Modules/Core/Mason/ReportBricksCollection.php | 140 +++++++ Modules/Core/Models/Company.php | 2 +- Modules/Core/Providers/AdminPanelProvider.php | 6 +- .../Core/Providers/CompanyPanelProvider.php | 8 +- .../Core/Providers/CoreServiceProvider.php | 4 +- .../Core/Services/PdfGenerationService.php | 115 ++++++ Modules/Core/Services/ReportDataMapper.php | 151 +++++++ Modules/Core/Services/ReportRenderer.php | 169 ++++++++ .../Core/Services/ReportTemplateStorage.php | 372 ++++++++++++++++++ .../Core/Support/PDF/Drivers/Browsershot.php | 70 ++++ Modules/Core/Support/PDF/Drivers/domPDF.php | 19 +- .../Tests/Feature/AdminReportBuilderTest.php | 145 +++++++ .../Feature/CompanyReportBuilderTest.php | 144 +++++++ .../Feature/InvoiceTemplateSelectionTest.php | 120 ++++++ .../Feature/PdfGenerationServiceTest.php | 284 +++++++++++++ .../Feature/ReportsSyncSystemCommandTest.php | 71 ++++ .../report-templates/invoice-default.html | 96 +++++ .../report-templates/quote-default.html | 84 ++++ .../Core/Tests/Unit/BrowsershotDriverTest.php | 41 ++ Modules/Core/Tests/Unit/DomPdfDriverTest.php | 29 ++ Modules/Core/Tests/Unit/MasonBricksTest.php | 288 ++++++++++++++ .../Tests/Unit/MasonDocumentConverterTest.php | 105 +++++ Modules/Core/Tests/Unit/ReportBrickTest.php | 96 +++++ .../Tests/Unit/ReportBricksCollectionTest.php | 167 ++++++++ .../Core/Tests/Unit/ReportRendererTest.php | 124 ++++++ .../Tests/Unit/ReportTemplateStorageTest.php | 270 +++++++++++++ .../pages/reports/report-builder.blade.php | 13 + .../pages/reports/report-templates.blade.php | 72 ++++ .../Invoices/Schemas/InvoiceForm.php | 10 +- .../Invoices/Tables/InvoicesTable.php | 15 +- .../Feature/InvoicePdfAndCreditNoteTest.php | 2 +- .../Resources/Quotes/Schemas/QuoteForm.php | 9 + .../Resources/Quotes/Tables/QuotesTable.php | 16 +- README.md | 22 +- composer.json | 1 + composer.lock | 133 ++++++- config/ip.php | 8 + docker-compose.yml | 22 +- docker-resources/apache/Dockerfile | 14 - .../apache/config/invoiceplane-vhost.conf | 21 - .../mariadb/init/01-create-test-db.sql | 0 docker-resources/node/scripts/entrypoint.sh | 18 - docker-resources/php-cli/Dockerfile | 67 ---- docker-resources/php-fpm/Dockerfile | 58 --- .../filament/company/invoiceplane-blue.css | 2 + .../css/filament/company/invoiceplane.css | 2 + resources/css/filament/company/nord.css | 2 + resources/css/filament/company/orange.css | 2 + resources/css/filament/company/reddit.css | 2 + resources/lang/en/ip.php | 29 ++ .../invoice/default/bands.json | 40 ++ .../invoice/default/manifest.json | 7 + .../report-templates/quote/default/bands.json | 40 ++ .../quote/default/manifest.json | 7 + .../bricks/header-company/index.blade.php | 2 +- .../mason/bricks/page-break/index.blade.php | 6 + .../mason/bricks/page-break/preview.blade.php | 9 + .../views/mason/bricks/spacer/index.blade.php | 6 + .../mason/bricks/spacer/preview.blade.php | 8 + 119 files changed, 6023 insertions(+), 3359 deletions(-) delete mode 100644 .claude/skills/abstract-seeder/SKILL.md delete mode 100644 .claude/skills/application-architecture-standard/SKILL.md delete mode 100644 .claude/skills/autonomous-coding-workflow/SKILL.md delete mode 100644 .claude/skills/ci-schema-invariant-gate/SKILL.md delete mode 100644 .claude/skills/dto-contract/SKILL.md delete mode 100644 .claude/skills/factory-contract-system/SKILL.md delete mode 100644 .claude/skills/filament-multi-tenancy/SKILL.md delete mode 100644 .claude/skills/filament-panel-setup/SKILL.md delete mode 100644 .claude/skills/filament-resource-pages/SKILL.md delete mode 100644 .claude/skills/filament-resource-testing/SKILL.md delete mode 100644 .claude/skills/github-actions-php/SKILL.md delete mode 100644 .claude/skills/laravel-modules/SKILL.md delete mode 100644 .claude/skills/non-standard-pks/SKILL.md delete mode 100644 .claude/skills/pest-control/SKILL.md delete mode 100644 .claude/skills/safe-refactoring-rules/SKILL.md delete mode 100644 .claude/skills/security-review/SKILL.md delete mode 100644 .claude/skills/senior-laravel-developer-code-reviewer/SKILL.md delete mode 100644 .claude/skills/senior-laravel-developer-phpunit-interpreter/SKILL.md delete mode 100644 .claude/skills/service-layer/SKILL.md delete mode 100644 .claude/skills/spatie-roles/SKILL.md delete mode 100644 .claude/skills/sync-stale-branches/SKILL.md delete mode 100644 .claude/skills/tailwindcss-development/SKILL.md delete mode 100644 .claude/skills/tenant-middleware/SKILL.md delete mode 100644 .claude/skills/test-honesty/SKILL.md delete mode 100644 .claude/skills/user-auth-fields/SKILL.md delete mode 100644 .github/DOCKER.md create mode 100644 Modules/Core/Console/ReportsSyncSystemCommand.php create mode 100644 Modules/Core/Enums/ReportBlockWidth.php create mode 100644 Modules/Core/Enums/ReportTemplateType.php create mode 100644 Modules/Core/Filament/Admin/Pages/ReportBuilder.php create mode 100644 Modules/Core/Filament/Admin/Pages/ReportTemplates.php.disabled create mode 100644 Modules/Core/Filament/Company/Pages/ReportBuilder.php create mode 100644 Modules/Core/Filament/Company/Pages/ReportTemplates.php create mode 100644 Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php create mode 100644 Modules/Core/Filament/Pages/Reports/BaseReportTemplatesPage.php create mode 100644 Modules/Core/Mason/Bricks/DetailCustomerAgingBrick.php create mode 100644 Modules/Core/Mason/Bricks/DetailExpenseBrick.php create mode 100644 Modules/Core/Mason/Bricks/DetailInvoiceProductBrick.php create mode 100644 Modules/Core/Mason/Bricks/DetailInvoiceProjectBrick.php create mode 100644 Modules/Core/Mason/Bricks/DetailItemsBrick.php create mode 100644 Modules/Core/Mason/Bricks/DetailQuoteProductBrick.php create mode 100644 Modules/Core/Mason/Bricks/DetailQuoteProjectBrick.php create mode 100644 Modules/Core/Mason/Bricks/DetailTasksBrick.php create mode 100644 Modules/Core/Mason/Bricks/FooterNotesBrick.php create mode 100644 Modules/Core/Mason/Bricks/FooterSummaryBrick.php create mode 100644 Modules/Core/Mason/Bricks/FooterTermsBrick.php create mode 100644 Modules/Core/Mason/Bricks/FooterTotalsBrick.php create mode 100644 Modules/Core/Mason/Bricks/HeaderClientBrick.php create mode 100644 Modules/Core/Mason/Bricks/HeaderCompanyBrick.php create mode 100644 Modules/Core/Mason/Bricks/HeaderInvoiceMetaBrick.php create mode 100644 Modules/Core/Mason/Bricks/HeaderProjectBrick.php create mode 100644 Modules/Core/Mason/Bricks/HeaderQuoteMetaBrick.php create mode 100644 Modules/Core/Mason/Bricks/PageBreakBrick.php create mode 100644 Modules/Core/Mason/Bricks/SpacerBrick.php create mode 100644 Modules/Core/Mason/MasonDocumentConverter.php create mode 100644 Modules/Core/Mason/ReportBrick.php create mode 100644 Modules/Core/Mason/ReportBricksCollection.php create mode 100644 Modules/Core/Services/PdfGenerationService.php create mode 100644 Modules/Core/Services/ReportDataMapper.php create mode 100644 Modules/Core/Services/ReportRenderer.php create mode 100644 Modules/Core/Services/ReportTemplateStorage.php create mode 100644 Modules/Core/Support/PDF/Drivers/Browsershot.php create mode 100644 Modules/Core/Tests/Feature/AdminReportBuilderTest.php create mode 100644 Modules/Core/Tests/Feature/CompanyReportBuilderTest.php create mode 100644 Modules/Core/Tests/Feature/InvoiceTemplateSelectionTest.php create mode 100644 Modules/Core/Tests/Feature/PdfGenerationServiceTest.php create mode 100644 Modules/Core/Tests/Feature/ReportsSyncSystemCommandTest.php create mode 100644 Modules/Core/Tests/Fixtures/report-templates/invoice-default.html create mode 100644 Modules/Core/Tests/Fixtures/report-templates/quote-default.html create mode 100644 Modules/Core/Tests/Unit/BrowsershotDriverTest.php create mode 100644 Modules/Core/Tests/Unit/DomPdfDriverTest.php create mode 100644 Modules/Core/Tests/Unit/MasonBricksTest.php create mode 100644 Modules/Core/Tests/Unit/MasonDocumentConverterTest.php create mode 100644 Modules/Core/Tests/Unit/ReportBrickTest.php create mode 100644 Modules/Core/Tests/Unit/ReportBricksCollectionTest.php create mode 100644 Modules/Core/Tests/Unit/ReportRendererTest.php create mode 100644 Modules/Core/Tests/Unit/ReportTemplateStorageTest.php create mode 100644 Modules/Core/resources/views/filament/pages/reports/report-builder.blade.php create mode 100644 Modules/Core/resources/views/filament/pages/reports/report-templates.blade.php delete mode 100644 docker-resources/apache/Dockerfile delete mode 100644 docker-resources/apache/config/invoiceplane-vhost.conf delete mode 100644 docker-resources/mariadb/init/01-create-test-db.sql delete mode 100644 docker-resources/node/scripts/entrypoint.sh delete mode 100644 docker-resources/php-cli/Dockerfile delete mode 100644 docker-resources/php-fpm/Dockerfile create mode 100644 resources/report-templates/invoice/default/bands.json create mode 100644 resources/report-templates/invoice/default/manifest.json create mode 100644 resources/report-templates/quote/default/bands.json create mode 100644 resources/report-templates/quote/default/manifest.json create mode 100644 resources/views/mason/bricks/page-break/index.blade.php create mode 100644 resources/views/mason/bricks/page-break/preview.blade.php create mode 100644 resources/views/mason/bricks/spacer/index.blade.php create mode 100644 resources/views/mason/bricks/spacer/preview.blade.php diff --git a/.claude/skills/abstract-seeder/SKILL.md b/.claude/skills/abstract-seeder/SKILL.md deleted file mode 100644 index aff6abefa..000000000 --- a/.claude/skills/abstract-seeder/SKILL.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -name: abstract-seeder -description: Provides structured seeding workflow for module data initialization ---- - -# Abstract Seeder - -## Purpose - -Provides a structured way to seed database data per module. - ---- - -## Scope - -Seeders are responsible for: - -- creating initial dataset for a company -- using factories to generate valid records -- orchestrating dependency order between models - ---- - -## Ownership Boundary - -Seeders MUST NOT: - -- define validation rules -- define factory structure -- enforce schema constraints -- contain business logic - ---- - -## Factory Dependency Rule - -Seeders MUST rely on factories for object creation. - -Factories are the source of truth for valid model state. - ---- - -## Dependency Resolution - -Seeders MAY resolve dependencies using helper methods: - -- findOrCreateClient -- findOrCreateProject -- findOrCreateUser - -These helpers are convenience utilities, not business logic. - ---- - -## Execution Hooks - -- beforeSeed(): setup state -- afterSeed(): cleanup or summary - ---- - -## Principle - -Seeders assemble data. They do not define data correctness. diff --git a/.claude/skills/application-architecture-standard/SKILL.md b/.claude/skills/application-architecture-standard/SKILL.md deleted file mode 100644 index a0f6e47c5..000000000 --- a/.claude/skills/application-architecture-standard/SKILL.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -name: application-architecture-standard -description: Defines structural rules for Laravel architecture, layering, and code organization ---- - -# Purpose - -Single source of truth for application structure and architectural boundaries. - ---- - -# 1. Layering Rules - -## Presentation Layer -- Controllers -- Filament Pages -- Form Requests (validation only) - -No business logic allowed. - -## Application Layer -- Services -- DTOs -- Transformers - -Holds all business logic orchestration. - -## Domain Layer -- Models -Represents state and invariants only. - -## Infrastructure Layer -- API clients -- External services - -Must be replaceable and contain no business logic. - ---- - -## 2. Service Rules - -- Business logic lives in services. -- Services must remain framework-agnostic except for Laravel infrastructure (Eloquent, DB transactions, HTTP client, logging). -- No Filament classes or UI concerns inside services. -- DTOs are used for structured data transfer where transformation, validation, or reuse is required. -- They are optional for internal service calls when validated arrays are sufficient. - ---- - -# 3. Dependency Rules - -- Constructor injection only -- No service locators -- No hidden dependencies - ---- - -# 4. Architecture Integrity - -- No cross-layer leakage -- Strict separation of concerns -- Refactoring must preserve behavior diff --git a/.claude/skills/autonomous-coding-workflow/SKILL.md b/.claude/skills/autonomous-coding-workflow/SKILL.md deleted file mode 100644 index 665630b84..000000000 --- a/.claude/skills/autonomous-coding-workflow/SKILL.md +++ /dev/null @@ -1,137 +0,0 @@ ---- -name: autonomous-coding-workflow -description: Governs safe, incremental, repository-wide development workflow with continuous validation gates ---- - -# Autonomous Coding Workflow - -## Goal - -Perform repository-wide modifications safely, incrementally, and with continuous validation. - ---- - -## 1. Instruction Precedence - -Before doing anything: - -- Check for repository-level instruction files: - - `.github/copilot-instructions.md` - - `AGENTS.md` - - `.junie/*.md` - - `CLAUDE.md` - -If they exist: -- Treat them as higher precedence for architecture and conventions. -- Avoid duplicating rules already defined there. - ---- - -## 2. Preparation - -Before modifying code: - -1. Read existing implementation. -2. Understand current behavior. -3. Identify existing abstractions and reuse them: - - Traits - - Base test cases - - Base resources - - Base seeders - - Services - - DTOs - - Transformers -4. Search explicitly for duplication before introducing new abstractions. -5. Preserve existing architectural patterns. - -Do not modify code that has not been understood. - ---- - -## 3. Refactoring Heuristics - -Apply only when relevant: - -- If repeated patterns exist across many test classes, models, or resources, evaluate abstraction opportunities. -- Prefer centralizing duplicated logic into: - - Traits - - Base classes - - Services -- Do not introduce abstraction unless duplication is confirmed. - ---- - -## 4. Incremental Development - -Work in small, verifiable steps. - -After each change: - -1. Verify syntax: - ```bash - php -l - ``` -2. Run targeted tests. -3. Fix failures immediately. -4. Run code style checks: - ```bash - vendor/bin/pint --dirty --format agent - ``` -5. Continue only if repository is clean. - ---- - -## 5. Validation Gates - -Never proceed if any of the following fail: - -- PHPUnit tests -- Static analysis -- PHP syntax check (php -l) -- Code style (Pint) - -Before completion, additionally ensure: - -- migrate:fresh --seed passes -- smoke tests pass -- targeted tests pass -- full suite passes (unless explicitly excluded) - ---- - -## 6. Module Completion - -After completing a module: - -1. Run targeted test suite. -2. Run `php -l`. -3. Run Pint. -4. Confirm no unintended changes. -5. Commit with clear module description. - -Do not start the next module until the current one is fully stable. - ---- - -## 7. Uncertainty Handling - -If behavior is unclear: - -- Stop immediately. -- Describe ambiguity. -- Request clarification. -- Do not infer or guess missing business rules. - ---- - -## 8. Success Criteria - -The task is complete only when: - -- Behavior is preserved. -- No duplicate logic introduced. -- Changes are idempotent. -- All tests pass. -- Full suite passes. -- Formatting is clean. -- No unintended architectural drift occurred. diff --git a/.claude/skills/ci-schema-invariant-gate/SKILL.md b/.claude/skills/ci-schema-invariant-gate/SKILL.md deleted file mode 100644 index 51dcc7164..000000000 --- a/.claude/skills/ci-schema-invariant-gate/SKILL.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -name: ci-schema-invariant-gate -description: Ensures correct execution order of migrations, seeders, and tests in CI ---- - -# CI Schema Gate - -## Purpose - -Enforces correct execution order of database setup and test execution in CI. - ---- - -# 1. Execution Order (Strict) - -CI MUST run in this order: - -```bash -php artisan migrate:fresh --seed -php artisan test -``` - -No deviations allowed. - ---- - -# 2. Responsibility - -This skill ONLY controls: - -- execution sequencing -- CI pipeline ordering -- ensuring seed runs before tests - -It does NOT validate: -- schema correctness -- factory correctness -- business logic correctness - -These are handled by other skills. - ---- - -# 3. Failure Behavior - -If CI fails: - -- migrations failing → schema issue (handled by test-honesty) -- seed failing → factory/data issue (handled by test-honesty) -- tests failing → behavior issue (handled by test layer) - -CI does NOT interpret or classify failures. - ---- - -# 4. Determinism Requirement - -Test execution MUST always run on a fresh database state created by: - -```bash -migrate:fresh --seed -``` - -No cached or partial state is allowed. - ---- - -# 5. Core Principle - -CI defines execution order only. - -It does not define correctness of the system. diff --git a/.claude/skills/dto-contract/SKILL.md b/.claude/skills/dto-contract/SKILL.md deleted file mode 100644 index 3ce1b87e8..000000000 --- a/.claude/skills/dto-contract/SKILL.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -name: dto-contract -description: Defines DTO structure, lifecycle, and transformation rules across the application -license: MIT -metadata: - author: project ---- - -# DTO Contracts - -DTOs define structured, transport-safe data contracts used between layers of the application. - -They exist to replace unstructured arrays when data shape matters, is reused, or must remain consistent across boundaries. - ---- - -# 1. Responsibility - -DTOs MUST: - -- represent structured application data -- act as transport carriers between layers -- be filled by Transformers -- avoid business logic -- avoid persistence logic - -DTOs MUST NOT: - -- contain ORM logic -- contain validation rules -- contain side effects -- depend on framework components (Filament, Request, etc.) - ---- - -# 2. Structure - -DTOs are simple POPOs with fluent getters and setters. - -Example: - -```php -class InvoiceDto -{ - private int $invoiceId; - private int $companyId; - private float $amount; - - public function getInvoiceId(): int - { - return $this->invoiceId; - } - - public function setInvoiceId(int $invoiceId): self - { - $this->invoiceId = $invoiceId; - return $this; - } - - public function getCompanyId(): int - { - return $this->companyId; - } - - public function setCompanyId(int $companyId): self - { - $this->companyId = $companyId; - return $this; - } - - public function getAmount(): float - { - return $this->amount; - } - - public function setAmount(float $amount): self - { - $this->amount = $amount; - return $this; - } -} -``` - ---- - -# 3. Creation Rule - -DTOs MUST be created via Transformers. - -```php -$dto = InvoiceTransformer::fromModel($invoice); -``` - -or - -```php -$dto = InvoiceTransformer::fromArray($data); -``` - -DTOs MUST NOT be manually assembled inside services unless trivial and explicitly justified. - ---- - -# 4. Transformer Dependency Rule - -Transformers are the ONLY layer allowed to construct DTOs. - -DTOs MUST NOT depend on Transformers. - -Direction is strictly: - -``` -Model / Array → Transformer → DTO → Service -``` - ---- - -# 5. When DTOs are Required - -Use DTOs when: - -- data is shared across multiple services -- structure must remain stable across changes -- transformation logic exists (model → structured output) -- array shape would otherwise be ambiguous or inconsistent - ---- - -# 6. When DTOs are NOT Required - -DTOs MAY be skipped when: - -- data is short-lived within a single method -- input comes from trusted UI layer (Filament forms) -- structure is trivial and not reused elsewhere - ---- - -# 7. Core Principle - -DTOs are **explicit data contracts**, not business logic containers. - -## IDE Hints (Optional) - -DTOs MAY include region markers to improve IDE navigation (e.g. PhpStorm folding). - -These are purely cosmetic and MUST NOT affect runtime behavior or architecture decisions. - -Example: - -```php -class InvoiceDto -{ - #region Properties - private int $invoiceId; - private int $companyId; - private float $amount; - #endregion - - #region Getters - public function getInvoiceId(): int { ... } - public function getCompanyId(): int { ... } - public function getAmount(): float { ... } - #endregion - - #region Setters - public function setInvoiceId(int $invoiceId): self { ... } - public function setCompanyId(int $companyId): self { ... } - public function setAmount(float $amount): self { ... } - #endregion -} -``` - -They exist to stabilize data shape across the system, not to introduce unnecessary abstraction. diff --git a/.claude/skills/factory-contract-system/SKILL.md b/.claude/skills/factory-contract-system/SKILL.md deleted file mode 100644 index c14b8cdd2..000000000 --- a/.claude/skills/factory-contract-system/SKILL.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -name: factory-contract-system -description: Ensures factories generate valid model instances aligned with database schema constraints ---- - -# Factory Contract System - -## Purpose - -Ensures factories produce valid database-ready model instances. - ---- - -## Scope - -Factories MUST: - -- satisfy all NOT NULL columns -- reflect migration constraints -- produce valid default state for persistence - ---- - -## Ownership Boundary - -Factories do NOT: - -- enforce business rules -- define validation rules -- replace service-layer creation logic -- define seeder logic - ---- - -## Schema Alignment Rule - -If a migration introduces a NOT NULL column: - -- factory MUST be updated immediately -- omission is considered invalid state - ---- - -## Minimum Valid State - -Each factory represents the smallest valid persisted entity. - -Not random data. -Not business scenarios. -Only valid schema state. - ---- - -## Service Alignment - -Factories SHOULD align with service-layer expectations but do NOT depend on it. - -Service layer = behavior -Factory = valid structure - ---- - -## Seeder Rule - -Seeders depend on factories. - -Factories MUST NOT depend on seeders. diff --git a/.claude/skills/filament-multi-tenancy/SKILL.md b/.claude/skills/filament-multi-tenancy/SKILL.md deleted file mode 100644 index 290bb29df..000000000 --- a/.claude/skills/filament-multi-tenancy/SKILL.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -name: filament-multi-tenancy -description: "Handles Filament multi-tenancy: tenant scoping, TenantAware trait, observer behaviour, isScopedToTenant, and tenant switching. Activates when adding tenant-aware models, fixing company_id scoping, working with Filament::getTenant, debugging tenant isolation, or when the user mentions company scope, tenant, multi-tenancy, or company_id." -license: MIT -metadata: - author: project ---- - -# Filament Multi-Tenancy - -The tenant model is `Company`. Every per-company record carries `company_id`. - -## TenantAware Trait - -Models that belong to a company use the `TenantAware` trait: - -```php -use Modules\Core\Traits\TenantAware; - -class Invoice extends Model -{ - use TenantAware; -} -``` - -The trait registers a `creating` observer that sets `company_id` from -`Filament::getTenant()` **only when `company_id` is empty**: - -```php -static::creating(function ($model) { - if (empty($model->company_id)) { - $tenant = Filament::getTenant(); - if ($tenant) { - $model->company_id = $tenant->id; - } - } -}); -``` - -## BaseResource Automatic Filtering - -All module resources extend `BaseResource`, which scopes the Eloquent query to -the current tenant and injects `company_id` on create: - -```php -// Modules/core/src/Filament/Resources/BaseResource.php -public static function getEloquentQuery(): Builder -{ - return parent::getEloquentQuery() - ->when(Filament::getTenant(), fn ($q, $t) => $q->where('company_id', $t->id)); -} -``` - -Do NOT add manual `company_id` filtering in resources that extend `BaseResource` — -it is already handled. - -## The Company Resource Exception - -`Company` IS the tenant. It must NOT be scoped to itself: - -```php -class CompanyResource extends Resource -{ - protected static bool $isScopedToTenant = false; - protected static ?string $tenantOwnershipRelationshipName = null; -} -``` - -Any model that should NOT be tenant-scoped (global settings, email templates, etc.) -also sets `$isScopedToTenant = false`. - -## observeTenancyModelCreation Trap - -Filament's `observeTenancyModelCreation` walks every `BelongsTo` relationship on a -model and calls `->associate($tenant)` when creating. This means: - -- If a model has a `BelongsTo` pointing to `Company` (even indirectly), Filament - will set that FK to the current tenant's id. -- A self-referential `BelongsTo` on the Company model itself will cause - `UNIQUE constraint failed: companies.id` because Filament sets `id = currentTenant->id` - on every new Company. - -**Fix:** Remove bogus self-referential relationships and set `$isScopedToTenant = false` -on the offending resource. - -## Tenant Switching in Tests - -When a test creates records for multiple tenants, switch the active tenant before -creating each set — otherwise `TenantAware` assigns all records to the first tenant: - -```php -$companyA = $this->company; // already set in setUp -$companyB = Company::factory()->create(); - -// Create companyA records (tenant already set to companyA) -$invoiceA = Invoice::factory()->create(['company_id' => $companyA->id, ...]); - -// Switch tenant before creating companyB records -Filament::setTenant($companyB, isQuiet: true); -$invoiceB = Invoice::factory()->create(['company_id' => $companyB->id, ...]); - -// Restore original tenant -Filament::setTenant($companyA, isQuiet: true); -``` - -## Tenant Middleware Stack - -See the `tenant-middleware` skill for the full middleware chain. In short: three -persistent middlewares run on every company panel request in this order: -`SetTenantFromQueryString` → `ConfigureTenant` → `EnsureUserCanAccessCompany`. - -## Tenant in Tests Setup - -```php -protected function setUp(): void -{ - parent::setUp(); - Filament::setCurrentPanel(Filament::getPanel('company')); - Filament::bootCurrentPanel(); - - $this->company = Company::factory()->create(); - Filament::setTenant($this->company, isQuiet: true); - - $this->user = User::factory()->create(); - $this->user->companies()->syncWithoutDetaching([$this->company->id]); -} -``` - -## Services - -Services must never assign company_id themselves when operating inside the -Filament company panel. - -company_id is supplied by: - -- TenantAware -- BaseResource -- explicit caller input - -Services should only normalize or validate incoming values. - -Hardcoding tenant assignment inside services creates hidden coupling. - - -## Fix-One-Fix-All - -If one tenant-aware resource requires adjustment, -review every tenant-aware resource for the same pattern. - -Tenant scoping inconsistencies are data isolation defects. diff --git a/.claude/skills/filament-panel-setup/SKILL.md b/.claude/skills/filament-panel-setup/SKILL.md deleted file mode 100644 index 7b35cf62c..000000000 --- a/.claude/skills/filament-panel-setup/SKILL.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -name: filament-panel-setup -description: "Configures Filament panel providers. Activates when adding a new panel, registering module resources in a panel, configuring tenant middleware, adjusting auth or theme settings, or when the user mentions PanelProvider, viteTheme, discoverResources, or panel configuration." -license: MIT -metadata: - author: project ---- - -# Filament Panel Setup - -This app has three panels: - -| Panel | Provider | Id | Default? | Tenant | Access | -|-------|----------|----|----------|--------|--------| -| Company | `CompanyPanelProvider` | `company` | Yes (root) | `Company::class` | `client_admin`, `client` | -| Admin | `AdminPanelProvider` | `admin` | No | None | `super_admin`, `admin`, `assist` | -| User | `UserPanelProvider` | `user` | No | None | minimal, future use | - -All three providers live at `Modules/Core/Providers/`. - -## Registering Module Resources - -Add a `->discoverResources()` call per module in `CompanyPanelProvider`: - -```php -->discoverResources( - in: base_path('Modules/mymodule/src/Filament/Resources'), - for: 'Modules\\Mymodule\\Filament\\Resources' -) -``` - -The `in` path is a filesystem path, `for` is the PHP namespace prefix. Both must -match the module's actual directory and namespace exactly. - -## viteTheme Guard - -`->viteTheme()` calls `app(Vite::class)($theme)` which reads `public/build/manifest.json`. -In test environments there is no built manifest, so wrap it: - -```php -->when( - ! app()->runningUnitTests(), - fn (Panel $panel) => $panel->viteTheme('resources/css/filament/company/nord.css') -) -``` - -`app()->runningUnitTests()` returns `true` when `APP_ENV=testing` (set in `phpunit.xml`). - -## Tenant Panel Required Config - -```php -->tenant(Company::class) // sets the tenant model -->tenantMenu(false) // hides the built-in tenant switcher -->tenantMiddleware([...], isPersistent: true) -``` - -## Auth Flow - -```php -->login(Login::class) // custom login page -->registration() -->passwordReset() -->emailVerification() -``` - -## Colors and Font - -Both panels use: -```php -->colors(['primary' => Color::hex('#88c0d0')]) -``` - -Company panel: `Poppins` via `GoogleFontProvider` -Admin panel: `Albert Sans` via `GoogleFontProvider` - -## SPA Mode - -The admin panel enables SPA mode for fast navigation: -```php -->spa() -``` - -Do NOT add SPA mode to the company panel — it causes issues with tenant middleware -and full-page redirects required for company switching. - -## Panel Responsibilities - -Panels configure: - -- authentication -- navigation -- resources -- middleware -- appearance - -Panels must not contain business logic. - -Business logic belongs in services. - ---- - -## Resource Registration - -If one module registers resources via discoverResources(), -all modules should follow the same convention. - -Avoid mixing manual registration and discovery. diff --git a/.claude/skills/filament-resource-pages/SKILL.md b/.claude/skills/filament-resource-pages/SKILL.md deleted file mode 100644 index afd2eb0ab..000000000 --- a/.claude/skills/filament-resource-pages/SKILL.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -name: filament-resource-pages -description: "Defines the Filament v4 resource page structure used in this project: Resource + Pages + Schemas + Tables split, action patterns, and BaseResource conventions." -license: MIT -metadata: - author: project ---- - -# Filament Resource Pages - -## Resource Directory Layout - -Every resource lives under `Modules/{Name}/Filament/{Panel}/Resources/{Model}/`: - -``` -{Model}Resource.php ← extends BaseResource; declares model, nav, pages -Pages/ - List{Model}.php ← extends ListRecords - Create{Model}.php ← extends CreateRecord - Edit{Model}.php ← extends EditRecord -Schemas/ - {Model}Form.php ← static configure(Schema $schema): Schema -Tables/ - {Model}sTable.php ← static configure(Table $table): Table -RelationManagers/ ← optional -``` - -Schemas and Tables are **separate classes**, never defined inline inside the Resource. - ---- - -## Resource Class - -```php -class InvoiceResource extends BaseResource -{ - protected static ?string $model = Invoice::class; - protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedBanknotes; - protected static ?int $navigationSort = 10; - protected static bool $isScopedToTenant = true; - - public static function form(Schema $schema): Schema - { - return InvoiceForm::configure($schema); - } - - public static function table(Table $table): Table - { - return InvoicesTable::configure($table); - } - - public static function getPages(): array - { - return [ - 'index' => Pages\ListInvoices::route('/'), - 'create' => Pages\CreateInvoice::route('/create'), - 'edit' => Pages\EditInvoice::route('/{record}/edit'), - ]; - } -} -``` - -`BaseResource` handles tenant-scoped queries automatically — do NOT add manual `company_id` filters. - ---- - -## List Page - -```php -class ListInvoices extends ListRecords -{ - protected static string $resource = InvoiceResource::class; - - protected function getHeaderActions(): array - { - return [ - CreateAction::make() - ->modalWidth('full') - ->action(function (array $data) { - app(InvoiceService::class)->createInvoice($data); - }), - ]; - } -} -``` - ---- - -## Edit Page - -Override `save()` when you need to route the update through the service layer: - -```php -class EditInvoice extends EditRecord -{ - protected static string $resource = InvoiceResource::class; - - public function save(bool $shouldRedirect = true, bool $shouldSendSavedNotification = true): void - { - $this->authorizeAccess(); - $this->callHook('beforeValidate'); - $data = $this->form->getState(); - $this->callHook('afterValidate'); - $data = $this->mutateFormDataBeforeSave($data); - $this->callHook('beforeSave'); - - app(InvoiceService::class)->updateInvoice($data, $this->getRecord()); - - $this->callHook('afterSave'); - - if ($shouldRedirect) { - $this->redirect($this->getRedirectUrl()); - } - } - - protected function getHeaderActions(): array - { - return [DeleteAction::make()]; - } -} -``` - ---- - -## Schema Class - -```php -class InvoiceForm -{ - public static function configure(Schema $schema): Schema - { - return $schema->components([ - Grid::make(2)->schema([ - Section::make('Details')->schema([ - Select::make('customer_id')->relationship('customer', 'company_name')->required(), - DatePicker::make('invoice_date')->required(), - ]), - ]), - ]); - } -} -``` - ---- - -## Table Class - -```php -class InvoicesTable -{ - public static function configure(Table $table): Table - { - return $table - ->columns([ - TextColumn::make('invoice_number')->searchable()->sortable(), - TextColumn::make('invoice_status')->badge(), - ]) - ->actions([ - EditAction::make(), - DeleteAction::make(), - ]) - ->bulkActions([ - BulkActionGroup::make([DeleteBulkAction::make()]), - ]); - } -} -``` - ---- - -## Action Closure Rule - -Filament action closures do NOT support constructor injection. Always use `app()`: - -```php -->action(function (array $data) { - app(InvoiceService::class)->createInvoice($data); -}) -``` - -This is the only place `app()` is acceptable. Services themselves must never use it. - ---- - -## Panel Registration - -Resources are discovered per module in `CompanyPanelProvider`: - -```php -->discoverResources( - in: base_path('modules/invoices/src/Filament/Company/Resources'), - for: 'Modules\\Invoices\\Filament\\Company\\Resources' -) -``` - -The `in` parameter uses the filesystem path (lowercase with `src/`), while `for` uses the PHP namespace. diff --git a/.claude/skills/filament-resource-testing/SKILL.md b/.claude/skills/filament-resource-testing/SKILL.md deleted file mode 100644 index 22bb97975..000000000 --- a/.claude/skills/filament-resource-testing/SKILL.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -name: filament-resource-testing -description: Defines how Filament UI resources are tested using Livewire -license: MIT -metadata: - author: project ---- - -# Filament Resource Testing - -## Purpose - -This skill defines **UI-level testing patterns for Filament resources only**. - -It validates: -- Create/Edit/List pages -- form interaction -- Livewire-based UI flows -- user-visible behavior - -It does NOT define: -- factories -- tenancy rules -- database integrity rules -- security rules -- primary key rules - -These are owned by other skills. - ---- - -# 1. Scope Rule - -This skill ONLY covers: - -- Filament Pages -- Filament Actions -- Livewire interactions -- UI assertions - ---- - -# 2. Test Structure Rule - -Each test MUST validate one UI behavior: - -- listing records -- creating records -- editing records -- deleting records -- validation errors - -No multi-behavior tests allowed. - ---- - -# 3. Livewire Execution Rule - -All Filament tests MUST use Livewire: - -```php -Livewire::actingAs($this->user) - ->test(CreateInvoice::class) -``` - -No direct HTTP testing of Filament pages. - ---- - -# 4. Form Interaction Rule - -Form input MUST use: - -```php -->set('data.field', value) -``` - -Not: -- fillForm -- request payload simulation -- raw HTTP input - ---- - -# 5. Assertion Rule - -Tests MUST assert business outcome: - -- database state change -- UI state change -- form validation error state - -NOT framework internals. - ---- - -# 6. Delete Action Rule - -Delete actions are tested as UI actions only: - -```php -->callAction(DeleteAction::class) -``` - -Outcome MUST be verified via database assertion. - ---- - -# 7. Multi-tenancy Note - -Tenant behavior is NOT owned by this skill. - -If multi-tenancy is present: -- it is assumed to be already configured -- this skill only validates UI behavior within active tenant context - ---- - -# 8. Core Principle - -Filament resource tests verify **what the user sees and does**, not how the system enforces rules internally. diff --git a/.claude/skills/github-actions-php/SKILL.md b/.claude/skills/github-actions-php/SKILL.md deleted file mode 100644 index 644ccb34b..000000000 --- a/.claude/skills/github-actions-php/SKILL.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -name: github-actions-php -description: Defines GitHub Actions configuration for running PHP/Laravel CI pipeline ---- - -# GitHub Actions PHP - -## Purpose - -Defines CI workflow structure only. - ---- - -## Scope - -This skill defines: - -- PHP version matrix -- MySQL service setup -- Composer install steps -- test execution trigger -- artifact collection - ---- - -## Non-Scope - -This skill does NOT define: - -- schema validation rules -- factory correctness rules -- test classification logic -- database correctness assumptions - -These belong to domain-specific CI and test skills. - ---- - -## Database Requirement - -CI MUST use MySQL =MariaDB when production uses MySQL / MariaDB. - -SQLite is forbidden in CI when schema integrity matters. - ---- - -## Execution Flow - -CI pipeline MUST follow: - -1. Setup PHP environment -2. Install dependencies -3. Boot MySQL service -4. Run migrations -5. Run seeders -6. Execute tests - ---- - -## Principle - -This skill defines "how CI runs", not "what is correct". diff --git a/.claude/skills/laravel-modules/SKILL.md b/.claude/skills/laravel-modules/SKILL.md deleted file mode 100644 index d6170f3bd..000000000 --- a/.claude/skills/laravel-modules/SKILL.md +++ /dev/null @@ -1,209 +0,0 @@ ---- -name: laravel-modules -description: "Creates and modifies code inside a modular Laravel structure. Targets internachi/modular (modules as real Composer packages with src/). Activates when adding a new module, adding a model/factory/migration/resource/service to an existing module, registering a module with Filament, or when the user mentions modules, modular, or a specific module name." -license: MIT -metadata: - author: project ---- - -# Laravel Modules - -## Package Standard: `internachi/modular` - -New modules use [`internachi/modular`](https://github.com/InterNACHI/modular). -Each module is a **real Composer package** with its own `composer.json`, resolved -from the root via a path repository. This makes modules portable, independently -testable, and properly autoloaded. - -> **InvoicePlane-v2 exception:** This project was built with `nwidart/laravel-modules` -> and has **no `src/` layer** — the module root is the PSR-4 root. If you are -> working in this repo, skip the `src/` wrapper and use uppercase `Database/`, -> `Tests/` directly under the module root. See the nwidart section at the bottom. - ---- - -## `internachi/modular` Directory Layout - -``` -modules/ - {name}/ ← lowercase, kebab-case - src/ ← PSR-4 root - {Name}ServiceProvider.php - Models/ - Enums/ - Events/ Listeners/ Observers/ - Filament/ - Company/ - Resources/ - {Model}/ - {Model}Resource.php - Pages/ - List{Model}.php - Create{Model}.php - Edit{Model}.php - Schemas/ - {Model}Form.php - Tables/ - {Model}sTable.php - Http/ - Services/ - Traits/ - database/ - factories/ - migrations/ - seeders/ - tests/ - Feature/ - Unit/ - composer.json -``` - ---- - -## Module `composer.json` - -```json -{ - "name": "app/{name}", - "description": "The {Name} module", - "type": "library", - "require": {}, - "autoload": { - "psr-4": { - "Modules\\{Name}\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "Modules\\{Name}\\Tests\\": "tests/" - } - }, - "extra": { - "laravel": { - "providers": [ - "Modules\\{Name}\\{Name}ServiceProvider" - ] - } - }, - "minimum-stability": "dev", - "prefer-stable": true -} -``` - ---- - -## Root `composer.json` Wiring - -```json -{ - "repositories": [ - { - "type": "path", - "url": "./modules/*", - "options": { "symlink": true } - } - ], - "require": { - "app/core": "*", - "app/invoices": "*" - } -} -``` - -Run `composer require app/{name}:*` whenever a new module is added. - ---- - -## Namespace Convention - -``` -Modules\{Name}\ -Modules\{Name}\Models\ -Modules\{Name}\Filament\Company\Resources\{Model}\{Model}Resource -Modules\{Name}\Database\Factories\{Model}Factory -Modules\{Name}\Database\Seeders\{Model}Seeder -Modules\{Name}\Services\{Model}Service -Modules\{Name}\Tests\Feature\{Model}Test -``` - ---- - -## Service Provider - -The service provider is auto-discovered via `composer.json`. It only needs to -load migrations and register observers: - -```php -namespace Modules\Invoices; - -use Illuminate\Support\ServiceProvider; - -class InvoicesServiceProvider extends ServiceProvider -{ - public function boot(): void - { - $this->loadMigrationsFrom(__DIR__ . '/../database/migrations'); - $this->loadViewsFrom(__DIR__ . '/../resources/views', 'invoices'); - } -} -``` - -No manual entry in `config/app.php` — Composer's auto-discovery handles it. - ---- - -## Filament Resource Registration - -Add `->discoverResources()` per module in `CompanyPanelProvider`: - -```php -->discoverResources( - in: base_path('modules/invoices/src/Filament/Company/Resources'), - for: 'Modules\\Invoices\\Filament\\Company\\Resources' -) -``` - ---- - -## Test Discovery - -Configure `phpunit.xml` to pick up all module test directories: - -```xml - - modules/*/tests/Unit - - - modules/*/tests/Feature - -``` - ---- - -## Adding a New Module (Checklist) - -1. Create `modules/{name}/` with the directory tree above. -2. Write `modules/{name}/composer.json` (copy from existing module, change name/namespace). -3. Run `composer require app/{name}:*` from the project root. -4. Add `->discoverResources(...)` to `CompanyPanelProvider`. -5. Run `php artisan migrate` to pick up the new module's migrations. - ---- - -## nwidart/laravel-modules (InvoicePlane-v2 Legacy) - -InvoicePlane-v2 uses `nwidart/laravel-modules` ≥ v12. The key differences: - -| | `internachi/modular` | `nwidart` (InvoicePlane-v2) | -|---|---|---| -| Module root | `modules/{name}/` | `Modules/{Name}/` | -| PSR-4 source | `src/` | module root directly | -| Namespace | `Modules\{Name}\` | `Modules\{Name}\` | -| Tests | `tests/` (lowercase) | `Tests/` (uppercase) | -| DB files | `database/` (lowercase) | `Database/` (uppercase) | -| Discovery | Composer path repo | `module.json` + manual provider | -| Registration | `composer require` | add to `config/app.php` | - -When working in InvoicePlane-v2, drop the `src/` layer and follow uppercase -`Database/`, `Tests/` conventions. All else (service structure, Filament patterns, -test base classes) remains the same. diff --git a/.claude/skills/non-standard-pks/SKILL.md b/.claude/skills/non-standard-pks/SKILL.md deleted file mode 100644 index 900e92a09..000000000 --- a/.claude/skills/non-standard-pks/SKILL.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -name: non-standard-pks -description: "Works with models that have non-standard primary key names. Activates when writing factories, tests, relationships, or seeders for models that use a custom primary key instead of id." -license: MIT -metadata: - author: project ---- - -# Non-Standard Primary Keys - -Most models in this app use `id` as their primary key (Laravel default). Only a -handful declare a custom `$primaryKey`. **Never assume a model has a non-standard -PK without checking the model file.** - -## Confirmed Non-Standard PKs - -| Model | Table | Primary Key | -|-------|-------|-------------| -| `ClientCustom` | `client_custom` | `client_custom_id` | -| `Import` | `imports` | `import_id` | - -All other models should be assumed to use `id` unless their model file explicitly -declares `protected $primaryKey = '...'`. - -## Accessing the PK Safely - -Use `$model->getKey()` for generic access. Use the named attribute only when -you know the model's actual PK: - -```php -$custom->client_custom_id // ✓ typed access for ClientCustom -$custom->getKey() // ✓ generic access -$custom->id // ✗ returns null — ClientCustom uses client_custom_id -``` - -## Factories: Pass the FK by Name - -When creating related records that reference a non-standard PK, pass the FK -column explicitly: - -```php -// ClientCustom's PK is client_custom_id, not id -SomeRelated::factory()->create([ - 'client_custom_id' => $custom->client_custom_id, -]); -``` - -## Filament Edit Page - -The `record` parameter expects the PK value: - -```php -Livewire::actingAs($this->user) - ->test(EditClientCustom::class, [ - 'record' => $custom->client_custom_id, // not $custom->id - 'tenant' => $this->company->search_code, - ]) -``` - -## Model Definition - -Always declare `$primaryKey` explicitly for non-standard models: - -```php -class ClientCustom extends Model -{ - protected $table = 'client_custom'; - protected $primaryKey = 'client_custom_id'; - public $timestamps = false; -} -``` - -## Adding a New Non-Standard PK - -When you introduce a model with a non-standard PK, update this skill's -**Confirmed Non-Standard PKs** table immediately. - -## Timestamps - -Almost all models in this app have `$timestamps = false` — they manage date -columns manually. Do not assume `created_at`/`updated_at` exist. diff --git a/.claude/skills/pest-control/SKILL.md b/.claude/skills/pest-control/SKILL.md deleted file mode 100644 index 548882fc9..000000000 --- a/.claude/skills/pest-control/SKILL.md +++ /dev/null @@ -1,249 +0,0 @@ ---- -name: pest-control -description: > - Enforces PHPUnit-only testing in this project. Activates when writing tests, reviewing test - files, or when any Pest syntax appears (it(), test(), describe(), uses(), expect() chains, - beforeEach/afterEach hooks). Scans for and eliminates all Pest references from code, - config, and documentation. -license: MIT -metadata: - author: project ---- - -# Pest Control - -## Rule 0 — Hard Stop - -**Pest is NOT installed in this project and must never be used.** - -This project uses **PHPUnit 12+** exclusively. - -Never write, suggest, or accept: -- `it('description', fn () => ...)` -- `test('description', fn () => ...)` -- `describe('group', fn () => ...)` -- `uses(SomeClass::class)` -- `expect($value)->toBe(...)` -- `beforeEach(fn () => ...)` -- `afterEach(fn () => ...)` -- `pest()` configuration - ---- - -## Rule 1 — Correct Test Class Pattern - -Every test MUST be a class extending one of the three base classes: - -```php -// Company panel tests -class FooTest extends AbstractCompanyPanelTestCase -{ - #[Test] - public function it_does_something(): void - { - // ... - } -} - -// Admin panel tests -class BarTest extends AbstractAdminPanelTestCase -{ - #[Test] - public function it_does_something(): void - { - // ... - } -} - -// Pure unit tests (no DB, no framework boot) -class BazTest extends AbstractTestCase -{ - #[Test] - public function it_does_something(): void - { - // ... - } -} -``` - -Base class locations: `Modules/Core/Tests/` - ---- - -## Rule 2 — Attribute Syntax - -Use PHP 8.1+ attributes for test metadata: - -```php -use PHPUnit\Framework\Attributes\Test; -use PHPUnit\Framework\Attributes\DataProvider; -use PHPUnit\Framework\Attributes\Group; -use PHPUnit\Framework\Attributes\CoversClass; - -#[Test] -public function it_creates_an_invoice(): void {} - -#[Test] -#[DataProvider('invoiceDataProvider')] -public function it_validates_invoice_fields(array $data, string $error): void {} -``` - -Never use `/** @test */` docblock annotations — use `#[Test]` attributes. - ---- - -## Rule 3 — Assertion Style - -Use PHPUnit assertions, not Pest chains: - -```php -// Correct -$this->assertSame('expected', $actual); -$this->assertDatabaseHas('invoices', ['status' => 'paid']); -$this->assertCount(3, $results); - -// Wrong — Pest chain -expect($actual)->toBe('expected'); -expect($results)->toHaveCount(3); -``` - ---- - -## Rule 4 — Livewire Testing - -Filament/Livewire tests use the Livewire facade directly: - -```php -use Livewire\Livewire; - -Livewire::actingAs($this->user) - ->test(ListInvoices::class, ['tenant' => 'ivplv2']) - ->assertSuccessful(); -``` - -Or the base class helper: -```php -$this->testLivewire(ListInvoices::class)->assertSuccessful(); -``` - ---- - -## Rule 5 — File Placement - -``` -Modules//Tests/Unit/ ← AbstractTestCase, no DB -Modules//Tests/Feature/ ← AbstractCompanyPanelTestCase or AbstractAdminPanelTestCase -``` - -PHPUnit discovers tests via `phpunit.xml`: -```xml - Modules/*/Tests/Unit -Modules/*/Tests/Feature -``` - ---- - -## Rule 6 — Pest Elimination Checklist - -When asked to eliminate Pest from a codebase, check and fix all of the following: - -### composer.json -- [ ] Remove `"pestphp/pest-plugin": true` from `config.allow-plugins` -- [ ] Remove any `pestphp/pest*` entries from `require-dev` - -### Test files -- [ ] Convert `it('...', fn () => ...)` → class method with `#[Test]` attribute -- [ ] Convert `test('...', fn () => ...)` → class method with `#[Test]` attribute -- [ ] Remove all `uses(...)` declarations -- [ ] Replace `expect(...)->toBe(...)` chains with `$this->assertSame(...)` -- [ ] Replace `beforeEach` → `setUp()`, `afterEach` → `tearDown()` -- [ ] Remove `describe()` wrappers; flatten into separate methods or classes - -### Config / tooling -- [ ] Delete `pest.php` or `tests/Pest.php` if present -- [ ] Remove any `--pest` flag from CI workflow commands -- [ ] Update `.gitignore` comments: `# PHPUnit / Pest` → `# PHPUnit` -- [ ] Update Makefile comments that mention Pest - -### Documentation -- [ ] Update `CLAUDE.md` testing section to state PHPUnit-only -- [ ] Update any README or CONTRIBUTING docs that mention Pest - ---- - -## Rule 7 — Test Method Naming - -Test methods MUST follow the `it_{verb}_{object}` convention. The name must read -as a sentence describing observable behavior. - -```php -// Correct -it_creates_an_invoice -it_rejects_a_duplicate_email -it_returns_404_for_missing_resource -it_assigns_company_id_to_new_invoices - -// Wrong — noun before verb -it_invoice_creates - -// Wrong — no verb -it_invoice -``` - -Never describe implementation. Describe what the system does from the outside. - ---- - -## Rule 8 — Arrange / Act / Assert - -Every test method MUST be structured in three named phases, each preceded by its -own `/* Arrange */`, `/* Act */`, or `/* Assert */` comment. No exceptions. - -```php -#[Test] -public function it_creates_an_invoice(): void -{ - /* Arrange */ - $client = Relation::factory()->for($this->company)->create(); - $payload = ['customer_id' => $client->getKey(), 'invoice_date' => '2026-01-01']; - - /* Act */ - app(InvoiceService::class)->createInvoice($payload); - - /* Assert */ - $this->assertDatabaseHas('invoices', [ - 'customer_id' => $client->getKey(), - 'company_id' => $this->company->id, - ]); -} -``` - -A test with no `/* Arrange */` / `/* Act */` / `/* Assert */` comments is rejected on -review, no matter how correct the assertions are. - -If a phase is genuinely empty (e.g. a pure-assertion unit test with no setup), -keep the comment and leave a blank line — the structure is the contract, not the -line count. - ---- - -## Rule 8 — Conversion Reference - -| Pest | PHPUnit equivalent | -|------|--------------------| -| `it('desc', fn() => ...)` | `#[Test] public function it_desc(): void` | -| `test('desc', fn() => ...)` | `#[Test] public function test_desc(): void` | -| `expect($x)->toBe($y)` | `$this->assertSame($y, $x)` | -| `expect($x)->toEqual($y)` | `$this->assertEquals($y, $x)` | -| `expect($x)->toBeTrue()` | `$this->assertTrue($x)` | -| `expect($x)->toBeFalse()` | `$this->assertFalse($x)` | -| `expect($x)->toBeNull()` | `$this->assertNull($x)` | -| `expect($x)->toBeEmpty()` | `$this->assertEmpty($x)` | -| `expect($x)->toHaveCount(n)` | `$this->assertCount(n, $x)` | -| `expect($x)->toContain($y)` | `$this->assertContains($y, $x)` | -| `expect($x)->toMatchArray([...])` | `$this->assertEquals([...], $x)` | -| `expect($x)->toBeInstanceOf(Cls::class)` | `$this->assertInstanceOf(Cls::class, $x)` | -| `beforeEach(fn() => ...)` | `protected function setUp(): void` | -| `afterEach(fn() => ...)` | `protected function tearDown(): void` | -| `uses(RefreshDatabase::class)` | `use RefreshDatabase;` inside the class | -| `dataset(...)` | `public static function provider(): array` + `#[DataProvider('provider')]` | diff --git a/.claude/skills/safe-refactoring-rules/SKILL.md b/.claude/skills/safe-refactoring-rules/SKILL.md deleted file mode 100644 index 1a42b7a4f..000000000 --- a/.claude/skills/safe-refactoring-rules/SKILL.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -name: safe-refactoring-rules -description: Ensures all refactoring is deterministic, behavior-preserving, and non-breaking ---- - -# Safe Refactoring Rules - -## Purpose - -Ensure all refactoring is deterministic, non-breaking, and behavior-preserving. - -This skill enforces *how changes are made*, not *how the system is structured*. - ---- - -# 1. Behavior Preservation - -- Never change runtime behavior unless explicitly instructed. -- Any refactoring must preserve observable outputs. -- Moving code between layers must not alter execution results. - ---- - -# 2. Existing Code Respect - -- Never overwrite an existing method if it already satisfies part of the requirement. -- Extend existing implementations instead of replacing them. -- Do not delete or rewrite working logic unless required for a fix. - ---- - -# 3. Dependency Integrity - -- Always preserve constructor injection. -- Never replace dependency injection with service locators (`app()`, `resolve()`). -- Do not introduce new dependencies when existing ones suffice. -- Do not change dependency graphs without explicit intent. - ---- - -# 4. Public API Stability - -- Never change public method signatures unless all call sites are updated in the same change. -- Avoid breaking changes at all costs. -- Prefer internal adaptation over external contract modification. - ---- - -# 5. Idempotency Requirement - -- Refactoring must be idempotent. -- Running the same change twice must produce no further diff. -- No duplicate logic, imports, traits, or methods may be introduced. - ---- - -# 6. Uncertainty Handling - -If any of the following is unclear: - -- intended behavior -- service contract -- domain rule -- expected output - -Then: - -- Stop immediately -- Do not guess -- Report ambiguity explicitly -- Request clarification - ---- - -# 7. Abstraction Reuse Rule (Local Scope Only) - -This skill only enforces reuse during refactoring operations. - -Global abstraction policy is defined in application-architecture-standard. - -Before introducing: - -- Trait -- Service -- DTO -- Transformer -- Base class - -Search for an existing implementation. - -Reuse existing abstractions whenever practical. - -Duplicate abstractions are architectural defects. - ---- - -# 8. Scope Discipline - -This skill does NOT define: - -- architecture layering (handled by application-architecture-standard) -- testing strategy (handled by test-honesty / filament-resource-testing) -- security rules (handled separately if present) - -It ONLY defines safe transformation rules. - ---- - -# 9. Enforcement Priority - -If this skill conflicts with others: - -1. application-architecture-standard -2. domain-specific skills -3. execution workflows -4. this skill (always subordinate to architecture) diff --git a/.claude/skills/security-review/SKILL.md b/.claude/skills/security-review/SKILL.md deleted file mode 100644 index 3533725db..000000000 --- a/.claude/skills/security-review/SKILL.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -name: security-review -description: Static review rules for authorization, validation, and privilege escalation risks ---- - -# Security Review - -## Purpose - -Detect security risks in code during review phase. -This skill does NOT enforce security. It identifies issues. - ---- - -## Scope - -This skill evaluates: - -- authorization checks (missing or bypassed) -- policy usage correctness -- privilege escalation risks -- unsafe controller or action exposure -- validation gaps on external input - ---- - -## Ownership Boundary - -Security Review does NOT: - -- implement policies -- define roles/permissions -- execute middleware logic -- enforce runtime access control - -Those belong to application security layers (Policies, Middleware, Gates). - ---- - -## Rules - -- Every sensitive action MUST have explicit authorization check -- No unguarded resource actions (create/update/delete/view) -- No direct access to privileged operations without policy validation -- Input from external sources MUST be validated before use - ---- - -## Escalation Principle - -If a potential security issue is detected: - -- assume it is a defect until proven otherwise -- prioritize security over architectural convenience diff --git a/.claude/skills/senior-laravel-developer-code-reviewer/SKILL.md b/.claude/skills/senior-laravel-developer-code-reviewer/SKILL.md deleted file mode 100644 index 72fcf8347..000000000 --- a/.claude/skills/senior-laravel-developer-code-reviewer/SKILL.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -name: senior-laravel-developer-code-reviewer -description: "Orchestrates existing Laravel skills to produce structured PR reviews as a grumpy, no-nonsense Senior Laravel developer" ---- - -# Senior Laravel Developer — Code Reviewer - -You are a grumpy Senior Laravel developer. You have seen every anti-pattern twice. -You do not sugarcoat. You do not pad your feedback with compliments. You report -exactly what is wrong and exactly how to fix it. - -You are not unkind — you are precise. You want the code to be correct, not to feel -good about itself. - ---- - -# Delegation Model - -Do not invent rules. Delegate evaluation to existing skills: - -**Architecture & code quality** -- `application-architecture-standard` -- `service-layer` -- `laravel-modules` -- `non-standard-pks` -- `dto-contract` -- `safe-refactoring-rules` - -**Tests** -- `filament-resource-testing` -- `test-honesty` -- `pest-control` - -**Security** -- `security-review` -- `spatie-roles` - -**Tenancy** -- `filament-multi-tenancy` -- `tenant-middleware` - ---- - -# Review Process - -## 1. Architecture pass - -Report violations only. Do not restate rules. - -Bad example of what NOT to write: -> "The service layer principle states that services should not use Filament..." - -Good example: -> "`InvoiceService::create()` calls `Filament::getTenant()` directly. Services must not touch Filament." - ---- - -## 2. Test pass - -Focus on: -- Tests that pass even when the feature is broken (assertion on wrong thing) -- Missing failure-path tests -- Hardcoded IDs (violates `test-honesty`) -- Pest syntax in a PHPUnit-only project -- Livewire tests that bypass the service layer and assert nothing in the DB -- **Missing `/* Arrange */` / `/* Act */` / `/* Assert */` phase comments** — every test method requires all three, no exceptions - ---- - -## 3. Security pass - -Report: -- Unguarded resource actions (no policy, no gate, no role check) -- Privilege escalation paths -- Missing input validation at system boundaries - ---- - -## 4. Consolidation - -Group findings into three buckets — and only three: - -- **Must fix** — production bugs, security holes, data integrity risks, broken tests -- **Should fix** — architecture violations, test gaps, maintainability problems -- **Could fix** — cosmetic improvements, style, naming - -Never let "Could fix" items crowd out "Must fix" items. - ---- - -# Output Format - -``` -## Summary -One paragraph. What does this PR do, and is it shippable? - -## Must Fix -- : - -## Should Fix -- : - -## Could Fix -- : - -## Test Risk -- - -## Security -- - -## Suggested Fixes - -``` - ---- - -# Tone Rules - -Say: "This bypasses the service layer and writes directly to the model." -Not: "This could potentially be considered a violation of layered architecture..." - -Say: "Missing authorization. Any authenticated user can delete any invoice." -Not: "It might be worth considering adding an authorization check here..." - -Say: "This test asserts nothing in the database. It passes whether the record was created or not." -Not: "The test coverage could be improved by adding database assertions..." - -If it is wrong, say it is wrong. If it is broken, say it is broken. -If something is genuinely fine, say nothing about it. - ---- - -# Priority Order - -1. Production bugs -2. Security issues -3. Data integrity risks -4. Broken or dishonest tests -5. Architecture violations -6. Maintainability -7. Style - -Never allow item 7 to appear before items 1–4 are exhausted. diff --git a/.claude/skills/senior-laravel-developer-phpunit-interpreter/SKILL.md b/.claude/skills/senior-laravel-developer-phpunit-interpreter/SKILL.md deleted file mode 100644 index 38e87e9c8..000000000 --- a/.claude/skills/senior-laravel-developer-phpunit-interpreter/SKILL.md +++ /dev/null @@ -1,189 +0,0 @@ ---- -name: senior-laravel-developer-phpunit-interpreter -description: Cleans and interprets raw PHPUnit CI logs into a compact, AI-friendly failure report. Use this skill whenever the user pastes or uploads a PHPUnit log, GitHub Actions test output, CI test results, or asks to interpret/summarize/analyze failing tests. Trigger even if the user says things like "here's my test output", "tests are failing", "can you look at my PHPUnit log", or pastes a block of text that contains PHPUnit output. Always use this skill before attempting to diagnose failures. ---- - -# Senior Laravel Developer — PHPUnit Log Interpreter - -Process the **entire** attached PHPUnit log from beginning to end without truncation, stopping early, or summarizing. - -Produce a **highly condensed, AI-friendly report** containing **only actionable test failures and errors**, stripping all infrastructure noise. - ---- - -## General Cleanup - -Remove completely: - -- All timestamps (e.g. `2026-05-14T03:17:38.4840913Z`) -- All ANSI escape sequences and terminal color codes -- GitHub Actions workflow metadata and runner output -- Docker / container startup logs -- Composer commands, dependency installation, download, extraction, and installation output -- Laravel migration, seeding, optimize, cache, bootstrap, and environment setup output -- CI/CD infrastructure noise and progress bars -- All successful tests beginning with `✔` -- Any output unrelated to PHPUnit failures, warnings, deprecations, risky tests, notices, or errors - ---- - -## Path Cleanup - -Remove the absolute project root path prefix from all file paths so only the -relative path remains (e.g. strip `/home/runner/work//` or -`/var/www//` — whatever the CI runner's working directory is). - ---- - -## Stack Trace Processing - -Unless explicitly requested: - -- Remove **all stack traces completely** — every `#0`, `#1`, `#2`, etc. -- Remove all vendor frames, internal frames, and repeated exception rendering - -Keep only: - -- Test name -- Exception type -- Exception message -- Assertion message -- `Caused by` exception (if present) -- `Previous exception` (if present) - ---- - -## Failure Formats - -**Error** — preserve: -``` -Modules\...\Tests\Feature\SomeTest::it_does_something - -ExceptionClass: -Exception message here. -``` - -**Failure** — preserve: -``` -Modules\...\Tests\Feature\SomeTest::it_does_something - -Expected response status code [200] but received 500. - -Failed asserting that 500 is identical to 200. - -UnderlyingException: -Underlying message if present. -``` - ---- - -## Duplicate Removal - -Keep only the first occurrence of: - -- Duplicate exception blocks -- Repeated stack traces -- Repeated "The following exception occurred..." -- Repeated rendering output - ---- - -## Formatting Rules - -- Collapse multiple blank lines into a single blank line -- Do **not** reorder, sort, renumber, or group failures — preserve exact PHPUnit order - ---- - -## Output Structure - -Return the cleaned log as a single Markdown code block: - -````markdown -```text -PHPUnit 11.x by Sebastian Bergmann and contributors. - -Runtime: PHP x.x.x -Configuration: phpunit.xml - - - -Time: xx:xx.xxx, Memory: xx MB - -There were X errors: - -1) FullTestClassName::method_name - -ExceptionClass: -Message. - -2) ... - -There were X failures: - -1) FullTestClassName::method_name - -Assertion message. - -Failed asserting that ... - -UnderlyingException: -Message. - -2) ... - -Tests: N -Assertions: N -Errors: N -Failures: N -Warnings: N (omit if 0) -Skipped: N (omit if 0) -Incomplete: N (omit if 0) -Risky: N (omit if 0) -Deprecations: N (omit if 0) -``` -```` - -Include Warnings, Deprecations, and Risky sections only if present. - ---- - -## Conditional Output Rule - -If the suite has zero errors, failures, warnings, risky tests, and deprecations, output only: - -```text -PHPUnit completed successfully. - -Tests: -Assertions: - -No errors, failures, warnings, risky tests, or deprecations detected. -``` - ---- - -## Objective - -Minimize token usage while preserving **100% of the information required to diagnose failing tests**. Output must be stable, deterministic, compact, and optimized for consumption by both humans and AI systems. - ---- - -## Root Cause Analysis - -When multiple tests fail with the same underlying exception, -identify the earliest failure that explains subsequent failures. - -Do not propose independent fixes for cascading failures. - -Prefer fixing one root cause over many symptoms. - ---- - -## Architectural Diagnosis - -When a failure indicates a missing architectural pattern -(e.g. missing service, missing transaction, missing CoversClass, -missing failure-path tests, missing factory field), - -recommend applying the fix repository-wide rather than only to the failing test. diff --git a/.claude/skills/service-layer/SKILL.md b/.claude/skills/service-layer/SKILL.md deleted file mode 100644 index 1087f62ab..000000000 --- a/.claude/skills/service-layer/SKILL.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -name: service-layer -description: Defines application service structure and business orchestration boundaries -license: MIT -metadata: - author: project ---- - -# Service Layer - -Services are the only place business logic lives. They are framework-agnostic. - ---- - -# 1. Responsibility - -Services MUST: - -- contain business logic -- coordinate models -- enforce domain rules -- return models or DTOs - -Services MUST NOT: - -- import or use Filament -- accept or return HTTP request/response objects -- contain UI logic -- use `app()` or `resolve()` internally - ---- - -# 2. Dependency Rule - -Constructor injection only: - -```php -public function __construct( - private InvoiceRepository $repository -) {} -``` - ---- - -# 3. DTO Rule - -DTOs are **not** required for Filament → Service calls. Arrays are fine when the -source is a trusted Filament form. - -Use DTOs when: -- crossing system boundaries (API, queues, external integrations) -- multiple services share a contract -- the payload must be stable across refactors - -Skip DTOs when: -- input comes from a single Filament form -- the data is short-lived and not reused - ---- - -# 4. Filament Action Exception - -Filament closures do not support constructor DI. `app()` is the only acceptable -escape hatch — and it belongs in the closure, not inside the service: - -```php -Action::make('create') - ->action(function (array $data) { - app(InvoiceService::class)->createInvoice($data); - }); -``` - ---- - -# 5. Standard Shape - -``` -Modules/{Name}/Services/{Model}Service.php -``` - -Standard method names: `createX`, `updateX`, `deleteX`, `findOrFail`, `listForCompany`. diff --git a/.claude/skills/spatie-roles/SKILL.md b/.claude/skills/spatie-roles/SKILL.md deleted file mode 100644 index 6cb9f504c..000000000 --- a/.claude/skills/spatie-roles/SKILL.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -name: spatie-roles -description: "Implements role-based authorization using Spatie Laravel Permission. Activates when assigning roles, checking permissions, seeding roles, writing canAccessPanel logic, or when the user mentions roles, permissions, super_admin, client_admin, UserRole, assignRole, hasRole, or Spatie." -license: MIT -metadata: - author: project ---- - -# Spatie Roles - -## UserRole Enum - -All roles are defined in `Modules\Core\Enums\UserRole`: - -```php -enum UserRole: string -{ - case SUPER_ADMIN = 'super_admin'; // global — no company required - case ADMIN = 'admin'; // elevated - case ASSIST = 'assist'; // elevated, limited - case CUSTOMER_ADMIN = 'client_admin'; // company admin - case CUSTOMER = 'client'; // regular user -} -``` - -Helper methods: -- `UserRole::elevated()` → `['super_admin', 'admin', 'assist']` -- `UserRole::nonAdmin()` → `['client_admin', 'client']` -- `UserRole::values()` → all values - -**Always use the enum**, never hardcode the string value. - -## Panel Access Logic - -`User::canAccessPanel(Panel $panel)` is the Filament gate: - -```php -public function canAccessPanel(Panel $panel): bool -{ - // Elevated roles can access any panel - if ($this->hasRole(UserRole::SUPER_ADMIN->value) - || $this->hasRole(UserRole::ADMIN->value) - || $this->hasRole(UserRole::ASSIST->value)) { - return true; - } - - // Company-level users only see the company panel - if ($panel->getId() === 'company') { - return $this->hasRole(UserRole::CUSTOMER_ADMIN->value) - || $this->hasRole(UserRole::CUSTOMER->value); - } - - return false; -} -``` - -## Seeding Roles - -Always seed roles before assigning them. `Role::firstOrCreate` is idempotent: - -```php -foreach (UserRole::cases() as $role) { - Role::firstOrCreate( - ['name' => $role->value], - ['guard_name' => 'web'], - ); -} -``` - -## Assigning Roles - -```php -$user->assignRole(UserRole::SUPER_ADMIN->value); -$user->assignRole(UserRole::CUSTOMER_ADMIN->value); -``` - -## Checking Roles - -```php -$user->hasRole(UserRole::SUPER_ADMIN->value); -$user->isSuperAdmin(); // shorthand defined on User model -``` - -## Super Admin - -The super admin is a single global user, not tied to any company. Created in the -seeder as: - -```php -$superAdmin = User::factory()->create([ - 'user_name' => 'Super Admin', - 'user_email' => 'superadmin@example.com', - 'user_active' => true, -]); -$superAdmin->assignRole(UserRole::SUPER_ADMIN->value); -``` - -Super admins bypass `canAccessTenant()` via `isSuperAdmin()`: - -```php -public function canAccessTenant(Model $tenant): bool -{ - if ($this->isSuperAdmin()) { - return true; - } - return $this->companies()->whereKey($tenant->getKey())->exists(); -} -``` - -## Company Users - -Per company: 2 `client_admin` + 8 `client` (set by `UsersSeeder`). -Company admins are regular users who have elevated access within their company. -They do NOT have cross-company access. - -## Guard Name - -The Spatie permission guard is `web`. Always pass `guard_name: 'web'` when creating -roles/permissions programmatically. - ---- - -## Authorization - -Never authorize based on role strings directly when a policy, -permission, or helper method already exists. - -Prefer: - -- can() -- policies -- helper methods -- enum methods - -over repeated role checks. - -Duplicate authorization logic is a security risk. - ---- - -## Enum Rule - -Never compare: - -'user_role' == 'admin' - -Always compare against: - -UserRole::ADMIN->value diff --git a/.claude/skills/sync-stale-branches/SKILL.md b/.claude/skills/sync-stale-branches/SKILL.md deleted file mode 100644 index 134666808..000000000 --- a/.claude/skills/sync-stale-branches/SKILL.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -name: sync-stale-branches -description: Brings diverged remote branches up to date with develop — classifies, rescues unique work, then resets or deletes stale branches ---- - -# Skill: sync-stale-branches - -Bring old/diverged remote branches up to date with `develop`. -Run this periodically to keep the branch list clean and PR-able. - ---- - -## Inputs - -- `EXCLUDE` — branches to leave untouched (space-separated, no `origin/` prefix) - Default: `develop master` - ---- - -## Step 1 — List candidate branches - -```bash -git fetch --prune - -# All remote branches minus the exclude list -git branch -r | grep -v 'origin/HEAD' \ - | sed 's|remotes/||' \ - | grep -v -E '^origin/(develop|master)$' -``` - -Add any other branches to exclude to the grep pattern. - ---- - -## Step 2 — Classify each branch - -For every candidate `origin/`: - -**A — unique file count (three-dot diff from merge-base):** -```bash -git diff --name-only origin/develop...origin/ | wc -l -``` - -**B — files ONLY in the branch (not in develop):** -```bash -git diff --name-only --diff-filter=A origin/develop origin/ -``` - -Classify as: -- **EMPTY** — A = 0 AND B = 0 → branch adds nothing, safe to delete -- **COVERED** — B > 0 but every file in B is already present in a known feature branch → safe to reset -- **HAS_UNIQUE** — B > 0 with at least one file not in any feature branch → must rescue first - ---- - -## Step 3 — Handle EMPTY branches - -These branches were never extended beyond the old fork point. - -```bash -git push origin --delete -``` - ---- - -## Step 4 — Handle COVERED branches - -All unique files are already captured in a feature branch we are keeping. -Reset the branch to develop HEAD so it is current but carries no stale code. - -```bash -git push origin origin/develop:refs/heads/ --force -``` - ---- - -## Step 5 — Handle HAS_UNIQUE branches - -Rescue uncovered files before resetting. - -### 5a — Identify which feature branch the files belong to - -Group uncovered files by module/domain: -- `Modules/Foo/…` → belongs to whatever feature owns Foo -- If unclear, create a new feature branch named after the owning issue/feature - -### 5b — Extract files onto the correct feature branch - -On the target feature branch (must already exist and be ahead of develop): - -```bash -git checkout origin/ -- ... -git add -git commit -m "chore: rescue from stale " -git push origin HEAD --force-with-lease -``` - -If the target feature branch does not yet exist, use the feature-branch-extraction -procedure to create it properly on top of develop HEAD first. - -### 5c — Reset the stale branch to develop - -```bash -git push origin origin/develop:refs/heads/ --force -``` - ---- - -## Step 6 — Verify - -```bash -# Confirm each branch is now equal to develop -for branch in ; do - ahead=$(git rev-list origin/develop..origin/$branch --count) - behind=$(git rev-list origin/$branch..origin/develop --count) - echo "$branch → ahead=$ahead behind=$behind" -done -``` - -Expected: all cleaned branches show `ahead=0 behind=0`. - ---- - -## Notes - -- Only force-push to branches that are NOT open PRs unless the PR is yours and you - intend to update it. -- GitHub Copilot branches (`copilot/*`) are AI-generated; resetting them is safe — - Copilot will recreate them if needed. -- The `--diff-filter=A` flag catches files the branch **adds** that develop lacks. - Files the branch **modifies** relative to develop but which also exist in develop - are not "unique" — develop's version is preferred. -- Run `git fetch --prune` first so local remote-tracking refs are current. diff --git a/.claude/skills/tailwindcss-development/SKILL.md b/.claude/skills/tailwindcss-development/SKILL.md deleted file mode 100644 index 5fd2f26cf..000000000 --- a/.claude/skills/tailwindcss-development/SKILL.md +++ /dev/null @@ -1,129 +0,0 @@ ---- -name: tailwindcss-development -description: "Styles applications using Tailwind CSS v4 utilities. Activates when adding styles, restyling components, working with gradients, spacing, layout, flex, grid, responsive design, dark mode, colors, typography, or borders; or when the user mentions CSS, styling, classes, Tailwind, restyle, hero section, cards, buttons, or any visual/UI changes." -license: MIT -metadata: - author: laravel ---- - -# Tailwind CSS Development - -## When to Apply - -Activate this skill when: - -- Adding styles to components or pages -- Working with responsive design -- Implementing dark mode -- Extracting repeated patterns into components -- Debugging spacing or layout issues - -## Documentation - -Use `search-docs` for detailed Tailwind CSS v4 patterns and documentation. - -## Basic Usage - -- Use Tailwind CSS classes to style HTML. Check and follow existing Tailwind conventions in the project before introducing new patterns. -- Offer to extract repeated patterns into components that match the project's conventions (e.g., Blade, JSX, Vue). -- Consider class placement, order, priority, and defaults. Remove redundant classes, add classes to parent or child elements carefully to reduce repetition, and group elements logically. - -## Tailwind CSS v4 Specifics - -- Always use Tailwind CSS v4 and avoid deprecated utilities. -- `corePlugins` is not supported in Tailwind v4. - -### CSS-First Configuration - -In Tailwind v4, configuration is CSS-first using the `@theme` directive — no separate `tailwind.config.js` file is needed: - - -```css -@theme { - --color-brand: oklch(0.72 0.11 178); -} -``` - -### Import Syntax - -In Tailwind v4, import Tailwind with a regular CSS `@import` statement instead of the `@tailwind` directives used in v3: - - -```diff -- @tailwind base; -- @tailwind components; -- @tailwind utilities; -+ @import "tailwindcss"; -``` - -### Replaced Utilities - -Tailwind v4 removed deprecated utilities. Use the replacements shown below. Opacity values remain numeric. - -| Deprecated | Replacement | -|------------|-------------| -| bg-opacity-* | bg-black/* | -| text-opacity-* | text-black/* | -| border-opacity-* | border-black/* | -| divide-opacity-* | divide-black/* | -| ring-opacity-* | ring-black/* | -| placeholder-opacity-* | placeholder-black/* | -| flex-shrink-* | shrink-* | -| flex-grow-* | grow-* | -| overflow-ellipsis | text-ellipsis | -| decoration-slice | box-decoration-slice | -| decoration-clone | box-decoration-clone | - -## Spacing - -Use `gap` utilities instead of margins for spacing between siblings: - - -```html -
-
Item 1
-
Item 2
-
-``` - -## Dark Mode - -If existing pages and components support dark mode, new pages and components must support it the same way, typically using the `dark:` variant: - - -```html -
- Content adapts to color scheme -
-``` - -## Common Patterns - -### Flexbox Layout - - -```html -
-
Left content
-
Right content
-
-``` - -### Grid Layout - - -```html -
-
Card 1
-
Card 2
-
Card 3
-
-``` - -## Common Pitfalls - -- Using deprecated v3 utilities (bg-opacity-*, flex-shrink-*, etc.) -- Using `@tailwind` directives instead of `@import "tailwindcss"` -- Trying to use `tailwind.config.js` instead of CSS `@theme` directive -- Using margins for spacing between siblings instead of gap utilities -- Forgetting to add dark mode variants when the project uses dark mode diff --git a/.claude/skills/tenant-middleware/SKILL.md b/.claude/skills/tenant-middleware/SKILL.md deleted file mode 100644 index cea871f52..000000000 --- a/.claude/skills/tenant-middleware/SKILL.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -name: tenant-middleware -description: "Understands and modifies the tenant resolution middleware chain. Activates when debugging tenant switching, company access, session-based tenant resolution, URL-based tenant identification, or when the user mentions ConfigureTenant, EnsureUserCanAccessCompany, SetTenantFromQueryString, search_code, or company switching." -license: MIT -metadata: - author: project ---- - -# Tenant Middleware Chain - -Three middlewares run in order on every company panel request. They are registered -as persistent tenant middleware in `CompanyPanelProvider`. - -## 1. SetTenantFromQueryString - -**Purpose:** Handle explicit `?tenant=` in the URL (used when switching company). - -- Reads the `tenant` query parameter (expects a `search_code` string) -- Looks up the company by `search_code` -- Checks the user has access (elevated role OR company membership) -- Sets Filament tenant and writes `company_id` to session -- Updates the `tenant` route parameter to the lowercase `search_code` - -## 2. ConfigureTenant - -**Purpose:** Resolve the active tenant from multiple sources and persist it. - -Resolution order: -1. Route parameter (`{tenant}`) -2. Query string `?tenant=` -3. Session `current_company_id` -4. User's first company (fallback) - -Writes resolved company to session and shares it with views. - -## 3. EnsureUserCanAccessCompany - -**Purpose:** Enforce that the resolved tenant is accessible to the authenticated user. - -- Elevated roles (`super_admin`, `admin`, `assist`) bypass — they can access all companies. -- Regular users must have the company in their `companies()` pivot relationship. -- Aborts 403 if the user has no access. - -## Company Identification - -Tenants are identified in URLs by `search_code` (a short alphanumeric string), -not by numeric `id`. The session stores the numeric `id` (`current_company_id`). - -```php -// URL: /company/invoices?tenant=ivplv2 -// Session: current_company_id = 22 -// Model: Company::where('search_code', 'ivplv2')->first() → id=22 -``` - -## Switching Companies - -The "Switch Company" user menu action redirects with `?tenant=`: - -```php -Action::make('switch-company') - ->modalContent(fn () => view('filament.company.widgets.switch-company-table')) -``` - -The Livewire component inside that modal dispatches a redirect to the new tenant's URL. - -## Testing Tenant Switching - -```php -Livewire::actingAs($this->user) - ->test(SwitchCompanyComponent::class) - ->callAction('switch', ['company_id' => $otherCompany->id]) - ->assertRedirect(route('filament.company.home', ['tenant' => $otherCompany->search_code])); -``` - - -## Single Source of Truth - -Tenant resolution belongs exclusively in the tenant middleware chain. - -Controllers, Resources, Pages, Services, and Models must never independently -resolve the active tenant from the request, session, or URL. - -They must rely on: - -- Filament::getTenant() -- injected Company model -- resolved route parameter - -Duplicating tenant resolution logic is an architectural defect. - -## Fix-One-Fix-All - -If one middleware requires modification due to a tenant resolution bug, -review all three tenant middlewares for equivalent logic and consistency. - -Tenant resolution behavior must remain uniform across the entire middleware chain. diff --git a/.claude/skills/test-honesty/SKILL.md b/.claude/skills/test-honesty/SKILL.md deleted file mode 100644 index 954eb8d6a..000000000 --- a/.claude/skills/test-honesty/SKILL.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -name: test-honesty -description: Ensures factory, seeder, and schema alignment with production database reality ---- - -# Purpose - -Prevents schema drift between migrations, factories, and seeders. - ---- - -# 1. Schema Contract - -Every NOT NULL column defined in migrations must be supported by: - -- factory definition -- or seeder definition (only for seed data) -- or explicit DB default in migration - -This is a **schema-only rule**, not a validation rule. - ---- - -# 2. Factory Rule - -Factories MUST produce valid database rows for the schema. - -Factories are schema-aligned, not business-logic aware. - ---- - -# 3. Seeder Rule - -Seeders MUST only insert schema-valid data. - -No reliance on implicit database defaults. - ---- - -# 4. Database Parity Rule - -MySQL / MariaDB is the canonical database. - -SQLite differences are invalid for schema validation assumptions. - ---- - -# 5. Drift Triggers - -The following indicate schema drift: - -- migration changes -- factory mismatch -- seeder mismatch -- SQLSTATE constraint violations -- CI vs local DB mismatch - ---- - -# 6. Identity Rule - -Primary keys are non-deterministic. - -Tests MUST NOT rely on hardcoded IDs. - ---- - -# 7. Execution Rule (CI boundary) - -Schema validation requires: - -- migrate:fresh -- seed - -before running test suites. - -This ensures schema correctness before test execution. diff --git a/.claude/skills/user-auth-fields/SKILL.md b/.claude/skills/user-auth-fields/SKILL.md deleted file mode 100644 index 365b68a84..000000000 --- a/.claude/skills/user-auth-fields/SKILL.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -name: user-auth-fields -description: "Works with the User model's non-standard authentication fields. Activates when writing queries, factories, tests, or seeders that reference the user's email, name, or password; or when the user mentions user_email, user_name, user_password, authentication, login, or the User model." -license: MIT -metadata: - author: project ---- - -# User Authentication Fields - -This app's `users` table does NOT use Laravel's default `name`, `email`, and -`password` column names. All three are prefixed with `user_`: - -| Laravel default | This app | -|-----------------|----------| -| `name` | `user_name` | -| `email` | `user_email` | -| `password` | `user_password` | - -## Model Overrides - -The `User` model overrides the auth contract methods: - -```php -public function getAuthIdentifierName(): string -{ - return 'user_name'; -} - -public function getAuthPassword(): string -{ - return 'user_password'; -} -``` - -## Never Use the Default Column Names - -```php -// ✗ WRONG — will cause "Column not found" on MySQL -User::factory()->create(['name' => 'Test', 'email' => 'test@example.com']); - -// ✓ CORRECT -User::factory()->create(['user_name' => 'Test', 'user_email' => 'test@example.com']); -``` - -This includes seeders, tests, and any `User::create()` call. - -## Factory Definition - -```php -public function definition(): array -{ - return [ - 'user_name' => fake()->name(), - 'user_email' => fake()->unique()->safeEmail(), - 'user_password' => Hash::make('password'), - 'user_active' => fake()->boolean(90), - 'user_all_clients' => fake()->boolean(90), - 'user_date_created' => now(), - 'user_date_modified' => now(), - ]; -} -``` - -## Additional Non-Standard Fields - -| Standard concept | This app's column | -|------------------|-------------------| -| Timestamps | Manual: `user_date_created`, `user_date_modified` | -| Active flag | `user_active` (boolean) | -| `$timestamps` | `false` — managed manually | - -## Filament Name Display - -Filament uses `getFilamentName()` not `name`: - -```php -public function getFilamentName(): string -{ - return $this->user_name ?? $this->user_email ?? 'User'; -} -``` - ---- - -## Authentication Queries - -Never query using: - -email -name -password - -Always use: - -user_email -user_name -user_password - -including: - -- validation rules -- login logic -- factories -- tests -- seeders -- authentication providers - ---- - -## Fix-One-Fix-All - -If one occurrence of `email`, `name`, or `password` is corrected to the -application's custom fields, search for equivalent usages throughout the -repository and update them consistently. diff --git a/.github/DOCKER.md b/.github/DOCKER.md deleted file mode 100644 index 4d40d9ac1..000000000 --- a/.github/DOCKER.md +++ /dev/null @@ -1,99 +0,0 @@ -# Docker Setup for InvoicePlane V2 - -This guide explains how to run InvoicePlane V2 using Docker — both the web -stack and the standalone CLI image for running tests and artisan commands. - ---- - -## Prerequisites - -- Docker installed (https://www.docker.com/) -- Docker Compose v2+ - ---- - -## Quick Start - -```bash -git clone https://github.com/InvoicePlane/InvoicePlane-v2.git -cd InvoicePlane-v2 - -cp .env.example .env - -# Install dependencies and bootstrap the app through the CLI container — -# no PHP required on the host: -docker compose run --rm cli composer install -docker compose run --rm cli php artisan key:generate -docker compose up -d -docker compose run --rm cli php artisan migrate --seed -``` - -Visit: http://localhost:8080 (override the port with `APP_PORT` in `.env`). - ---- - -## Services - -| Service | Image | Purpose | -|---|---|---| -| `web` | `docker-resources/apache` (httpd 2.4 alpine) | Serves `public/`, proxies PHP to `app` | -| `app` | `docker-resources/php-fpm` (PHP 8.4 fpm alpine) | Laravel application (FPM) | -| `cli` | `docker-resources/php-cli` (PHP 8.4 cli alpine) | One-off runner for tests / artisan / composer — profile `tools`, never auto-started | -| `db` | `mariadb` | Database (port 3306) | -| `mailcatcher` | `sj26/mailcatcher` | Catches outgoing mail — UI on port 1080 | - -Both PHP images ship the full extension set the app needs: `intl`, `gd`, -`pdo_mysql`, `bcmath`, `zip`, `exif`, `soap`, `redis`. The CLI image also has -Composer, a 1G memory limit for the test suite, and bundled `pdo_sqlite` -(the suite runs on an in-memory sqlite database — no db service needed for -tests). - ---- - -## Running the test suite - -```bash -docker compose run --rm cli vendor/bin/phpunit --exclude-group failing,troubleshooting -``` - -`APP_ENV=testing` is the `cli` service default, so `.env.testing` -(sqlite `:memory:`) is picked up automatically. See `RUNNING_TESTS.md` for -filters, groups, and suites. - -### File ownership on Linux - -The CLI image creates its user with uid/gid `1000`. If your host user -differs, rebuild with your ids so files written into the mounted repo -(vendor/, storage/, compiled views) stay owned by you: - -```bash -docker compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g) cli -``` - ---- - -## Useful Commands - -| Action | Command | -|---|---| -| Start services | `docker compose up -d` | -| Stop services | `docker compose down` | -| View logs | `docker compose logs -f` | -| Run artisan | `docker compose run --rm cli php artisan ` | -| Run composer | `docker compose run --rm cli composer ` | -| Rebuild containers | `docker compose build --no-cache` | - ---- - -## Troubleshooting - -- **Port already in use**: set `APP_PORT` in `.env` (web) or adjust ports in `docker-compose.yml` -- **Permission issues**: rebuild the `cli` image with your `UID`/`GID` (see above) -- **Missing .env config**: re-run `cp .env.example .env` and adjust -- **Tests fail with `could not find driver` or missing `intl`**: you are running on host PHP — use the `cli` container instead - ---- - -## What's Next? - -Visit CHECKLIST.md if contributing diff --git a/AGENTS.md b/AGENTS.md index 3236eb137..a5a1361b5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,10 +10,9 @@ Laravel 11 + Filament v4 + Livewire v3 invoicing app. Modular architecture via ` composer install cp .env.example .env && php artisan key:generate php artisan migrate && php artisan db:seed -# Tests (no MySQL locally? use SQLite) -cp -n .env.testing.example .env.testing -# set DB_CONNECTION=sqlite, DB_DATABASE=:memory: in .env.testing -php artisan test +# Tests run against real MariaDB — no SQLite fallback (parity with CI) +cp .env.testing.example .env.testing +docker compose run --rm cli php artisan test --exclude-group failing,troubleshooting ``` --- diff --git a/CLAUDE.md b/CLAUDE.md index be28588a8..1eaacdfe7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -195,11 +195,21 @@ User::factory()->create(['is_active' => true, 'email_verified_at' => now()]) ### DB for tests -Tests need a DB. Production CI uses MariaDB 11. For local dev without MySQL, set in `.env.testing`: +Tests need a real MariaDB DB — matching CI (MariaDB 11) — not SQLite. SQLite's lenient identifier +quoting has silently masked real bugs before (e.g. `->latest()` defaulting to a nonexistent +`created_at` column on `$timestamps = false` models passed locally, failed on CI). Run via the +`cli` compose service, which points at the stack's `db` service automatically: ``` -DB_CONNECTION=sqlite -DB_DATABASE=:memory: +docker compose run --rm cli php artisan test --exclude-group failing,troubleshooting ``` +No `.env.testing` edits needed — the `cli` service injects `DB_CONNECTION=mysql`/`DB_HOST=db` etc. +itself. Use `php artisan test`, not `vendor/bin/phpunit` directly — the two have been observed to +behave differently for this app's Livewire form tests; `artisan test` is the reliable one. +**Known issue:** a freshly-rebuilt `cli` image has reproduced false Livewire-form failures at +scale even under `artisan test`, for reasons not yet isolated — see +[#689](https://github.com/InvoicePlane/InvoicePlane-v2/issues/689) and sanity-check with +`--filter=ContactsTest` (should be 11/11 passing) before trusting a full run from a rebuilt image. +See `.github/DOCKER.md`. ### AAA phase comment style @@ -307,3 +317,8 @@ No DTO layer — services accept arrays and return Eloquent models. - `Str::lower($company->search_code)` is always the URL tenant parameter - The three tenant middleware classes live at `Modules/Core/Http/Middleware/` - Panel providers live at `Modules/Core/Providers/`, not `app/Providers/` + +# LESSONS + +- Never write `*/` inside a PHP docblock (e.g. glob patterns like `Header*/Detail*`) — it terminates the comment and causes a parse error. +- When running a test suite in the background, redirect FULL output to a file — never pipe through `tail`/`head`, it destroys the failure details and forces a rerun. diff --git a/Makefile b/Makefile index 82ab04002..79fa8b67d 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,13 @@ ## InvoicePlane v2 — Development Makefile ## ────────────────────────────────────────────────────────────────────────────── ## +## NOTE: `vendor/bin/phpunit` (used by the targets below) and `php artisan +## test` (make artisan-test) have been observed to behave differently for +## this app — a raw phpunit run has silently dropped submitted field values +## in Livewire form tests in some environments. If a target below reports a +## failure that `make artisan-filter FILTER="..."` doesn't reproduce, prefer +## the artisan-test variant; it matches what CI runs. +## ## QUICK START ## make test Run the full PHPUnit suite (all tests) ## make smoke Run only @group smoke tests (fast sanity check) diff --git a/Modules/Core/Console/ReportsSyncSystemCommand.php b/Modules/Core/Console/ReportsSyncSystemCommand.php new file mode 100644 index 000000000..e016ebc4d --- /dev/null +++ b/Modules/Core/Console/ReportsSyncSystemCommand.php @@ -0,0 +1,47 @@ +error("Source directory [{$source}] does not exist."); + + return self::FAILURE; + } + + $disk = Storage::disk(ReportTemplateStorage::DISK); + $synced = 0; + + foreach (File::allFiles($source) as $file) { + $disk->put( + ReportTemplateStorage::SCOPE_SYSTEM . '/' . str_replace('\\', '/', $file->getRelativePathname()), + $file->getContents(), + ); + + $synced++; + } + + $this->info("Synced {$synced} report template file(s) into system storage."); + + return self::SUCCESS; + } +} diff --git a/Modules/Core/Enums/ReportBand.php b/Modules/Core/Enums/ReportBand.php index 90e149cc3..de3747a93 100644 --- a/Modules/Core/Enums/ReportBand.php +++ b/Modules/Core/Enums/ReportBand.php @@ -10,6 +10,20 @@ enum ReportBand: string case GROUP_HEADER = 'group_header'; case HEADER = 'header'; + /** + * Get all bands in document order (header first, footer last). + * + * @return array + */ + public static function ordered(): array + { + $bands = self::cases(); + + usort($bands, fn (self $a, self $b): int => $a->getOrder() <=> $b->getOrder()); + + return $bands; + } + /** * Get the display label for the band. */ diff --git a/Modules/Core/Enums/ReportBlockWidth.php b/Modules/Core/Enums/ReportBlockWidth.php new file mode 100644 index 000000000..c5ff65da5 --- /dev/null +++ b/Modules/Core/Enums/ReportBlockWidth.php @@ -0,0 +1,24 @@ + 4, + self::HALF => 6, + self::TWO_THIRDS => 8, + self::FULL => 12, + }; + } +} diff --git a/Modules/Core/Enums/ReportTemplateType.php b/Modules/Core/Enums/ReportTemplateType.php new file mode 100644 index 000000000..fa5f06349 --- /dev/null +++ b/Modules/Core/Enums/ReportTemplateType.php @@ -0,0 +1,32 @@ + trans('ip.invoice'), + self::QUOTE => trans('ip.quote'), + }; + } + + public function color(): string + { + return match ($this) { + self::INVOICE => 'success', + self::QUOTE => 'info', + }; + } +} diff --git a/Modules/Core/Filament/Admin/Pages/ReportBuilder.php b/Modules/Core/Filament/Admin/Pages/ReportBuilder.php new file mode 100644 index 000000000..3e9935e5d --- /dev/null +++ b/Modules/Core/Filament/Admin/Pages/ReportBuilder.php @@ -0,0 +1,18 @@ +user()?->hasAnyRole([ + ...UserRole::elevated(), + UserRole::CUSTOMER_ADMIN->value, + ]) ?? false; + } + + public function managesSystemScope(): bool + { + return false; + } + + public function listPage(): string + { + return ReportTemplates::class; + } +} diff --git a/Modules/Core/Filament/Company/Pages/ReportTemplates.php b/Modules/Core/Filament/Company/Pages/ReportTemplates.php new file mode 100644 index 000000000..1ca419230 --- /dev/null +++ b/Modules/Core/Filament/Company/Pages/ReportTemplates.php @@ -0,0 +1,27 @@ +user()?->hasAnyRole([ + ...UserRole::elevated(), + UserRole::CUSTOMER_ADMIN->value, + ]) ?? false; + } + + public function managesSystemScope(): bool + { + return false; + } + + public function builderPage(): string + { + return ReportBuilder::class; + } +} diff --git a/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php b/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php new file mode 100644 index 000000000..a209045cc --- /dev/null +++ b/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php @@ -0,0 +1,285 @@ +managesSystemScope() && $scope !== ReportTemplateStorage::SCOPE_SYSTEM) { + abort(404); + } + + $template = app(ReportTemplateStorage::class)->load($scope, $slug, $templateType); + abort_if($template === null, 404); + + $this->scope = $scope; + $this->type = $type; + $this->templateSlug = $slug; + $this->manifest = $template['manifest']; + + $bands = []; + + foreach (ReportBand::ordered() as $band) { + $bands[$band->value] = MasonDocumentConverter::toMasonState($template['bands'][$band->value] ?? []); + } + + $this->form->fill(['bands' => $bands]); + } + + public function getTitle(): string + { + return trans('ip.report_builder') . ': ' . ($this->manifest['name'] ?? $this->templateSlug); + } + + public function form(Schema $schema): Schema + { + $fields = []; + + foreach (ReportBand::ordered() as $band) { + $fields[] = Mason::make('bands.' . $band->value) + ->label($band->getLabel()) + ->bricks(ReportBricksCollection::forBand($band)) + ->disabled( ! $this->canSave()); + } + + return $schema->components($fields)->statePath('data'); + } + + public function canSave(): bool + { + return $this->managesSystemScope() + ? $this->scope === ReportTemplateStorage::SCOPE_SYSTEM + : $this->scope === ReportTemplateStorage::SCOPE_COMPANY; + } + + public function save(): void + { + abort_unless($this->canSave(), 403); + + $state = $this->form->getState(); + $bands = []; + + foreach (ReportBand::ordered() as $band) { + $bands[$band->value] = MasonDocumentConverter::toBandEntries($state['bands'][$band->value] ?? []); + } + + app(ReportTemplateStorage::class)->save( + $this->scope, + $this->templateSlug, + $this->manifest, + $bands, + ReportTemplateType::tryFrom($this->type), + ); + + Notification::make()->title(trans('ip.template_saved'))->success()->send(); + } + + public function previewAction(): Action + { + return Action::make('preview') + ->label(trans('ip.report_preview')) + ->icon('heroicon-o-eye') + ->modalHeading(trans('ip.report_preview')) + ->modalSubmitAction(false) + ->modalCancelActionLabel(trans('ip.close')) + ->slideOver() + ->modalContent(fn (): HtmlString => new HtmlString($this->renderPreviewHtml())); + } + + public function moveBrickAction(): Action + { + return Action::make('moveBrick') + ->label(trans('ip.move_to_band')) + ->icon('heroicon-o-arrows-up-down') + ->visible(fn (): bool => $this->canSave()) + ->schema([ + Select::make('from_band') + ->label(trans('ip.from_band')) + ->options($this->bandOptions()) + ->required() + ->live(), + Select::make('position') + ->label(trans('ip.brick')) + ->options(function (\Filament\Schemas\Components\Utilities\Get $get): array { + return $this->brickOptionsForBand((string) $get('from_band')); + }) + ->required() + ->live(), + Select::make('to_band') + ->label(trans('ip.to_band')) + ->options(function (\Filament\Schemas\Components\Utilities\Get $get): array { + return $this->targetBandOptions((string) $get('from_band'), $get('position')); + }) + ->required(), + ]) + ->action(function (array $data): void { + $this->moveBrick((string) $data['from_band'], (int) $data['position'], (string) $data['to_band']); + }); + } + + public function moveBrick(string $fromBand, int $position, string $toBand): void + { + abort_unless($this->canSave(), 403); + + $source = $this->data['bands'][$fromBand] ?? []; + + if ($fromBand === $toBand || ! isset($source[$position])) { + return; + } + + $node = $source[$position]; + $brickClass = ReportBricksCollection::findById((string) ($node['attrs']['id'] ?? '')); + $target = ReportBand::tryFrom($toBand); + + if ($brickClass === null || $target === null || ! in_array($target, $brickClass::allowedBands(), true)) { + Notification::make()->title(trans('ip.brick_not_allowed_in_band'))->danger()->send(); + + return; + } + + array_splice($source, $position, 1); + + $this->data['bands'][$fromBand] = array_values($source); + $this->data['bands'][$toBand][] = $node; + $this->data['bands'][$toBand] = array_values($this->data['bands'][$toBand]); + + Notification::make()->title(trans('ip.brick_moved'))->success()->send(); + } + + protected function getHeaderActions(): array + { + return [ + $this->previewAction(), + $this->moveBrickAction(), + Action::make('save') + ->label(trans('ip.save')) + ->visible(fn (): bool => $this->canSave()) + ->action('save'), + ]; + } + + protected function renderPreviewHtml(): string + { + $html = ''; + + foreach (ReportBand::ordered() as $band) { + foreach (MasonDocumentConverter::toBandEntries($this->data['bands'][$band->value] ?? []) as $entry) { + $brickClass = ReportBricksCollection::findById($entry['brick']); + + if ($brickClass === null) { + continue; + } + + $html .= (string) $brickClass::toPreviewHtml($entry['config']); + } + } + + return $html; + } + + /** + * @return array + */ + protected function bandOptions(): array + { + $options = []; + + foreach (ReportBand::ordered() as $band) { + $options[$band->value] = $band->getLabel(); + } + + return $options; + } + + /** + * @return array + */ + protected function brickOptionsForBand(string $bandValue): array + { + $options = []; + + foreach ($this->data['bands'][$bandValue] ?? [] as $index => $node) { + $brickClass = ReportBricksCollection::findById((string) ($node['attrs']['id'] ?? '')); + + if ($brickClass !== null) { + $options[$index] = ($index + 1) . '. ' . $brickClass::getLabel(); + } + } + + return $options; + } + + /** + * @return array + */ + protected function targetBandOptions(string $fromBand, mixed $position): array + { + $node = $this->data['bands'][$fromBand][(int) $position] ?? null; + $brickClass = $node ? ReportBricksCollection::findById((string) ($node['attrs']['id'] ?? '')) : null; + + if ($brickClass === null) { + return []; + } + + $options = []; + + foreach ($brickClass::allowedBands() as $band) { + if ($band->value !== $fromBand) { + $options[$band->value] = $band->getLabel(); + } + } + + return $options; + } +} diff --git a/Modules/Core/Filament/Pages/Reports/BaseReportTemplatesPage.php b/Modules/Core/Filament/Pages/Reports/BaseReportTemplatesPage.php new file mode 100644 index 000000000..13b6e0972 --- /dev/null +++ b/Modules/Core/Filament/Pages/Reports/BaseReportTemplatesPage.php @@ -0,0 +1,164 @@ + + */ + public function getTemplates(): array + { + $storage = $this->storage(); + $templates = []; + + foreach ($storage->listSystem() as $template) { + $template['editable'] = $this->managesSystemScope(); + $templates[] = $template; + } + + if ( ! $this->managesSystemScope()) { + foreach ($storage->listCompany() as $template) { + $template['editable'] = true; + $templates[] = $template; + } + } + + return $templates; + } + + public function builderUrl(array $template): ?string + { + if ( ! $template['editable']) { + return null; + } + + return $this->builderPage()::getUrl([ + 'scope' => $template['scope'], + 'type' => $template['type'], + 'slug' => $template['slug'], + ]); + } + + public function cloneAction(): Action + { + return Action::make('clone') + ->label(trans('ip.clone')) + ->icon('heroicon-o-document-duplicate') + ->schema([ + TextInput::make('name') + ->label(trans('ip.name')) + ->required() + ->maxLength(100), + ]) + ->action(function (array $arguments, array $data): void { + $clone = $this->storage()->clone( + (string) $arguments['scope'], + (string) $arguments['slug'], + (string) $data['name'], + ReportTemplateType::tryFrom((string) $arguments['type']), + $this->managesSystemScope() ? ReportTemplateStorage::SCOPE_SYSTEM : ReportTemplateStorage::SCOPE_COMPANY, + ); + + Notification::make() + ->title(trans('ip.template_cloned')) + ->body($clone['manifest']['name']) + ->success() + ->send(); + }); + } + + public function renameAction(): Action + { + return Action::make('rename') + ->label(trans('ip.rename')) + ->icon('heroicon-o-pencil-square') + ->fillForm(fn (array $arguments): array => ['name' => $arguments['name'] ?? '']) + ->schema([ + TextInput::make('name') + ->label(trans('ip.name')) + ->required() + ->maxLength(100), + ]) + ->action(function (array $arguments, array $data): void { + $this->storage()->rename( + (string) $arguments['scope'], + (string) $arguments['slug'], + (string) $data['name'], + ReportTemplateType::tryFrom((string) $arguments['type']), + ); + + Notification::make()->title(trans('ip.template_renamed'))->success()->send(); + }); + } + + public function deleteAction(): Action + { + return Action::make('delete') + ->label(trans('ip.delete')) + ->icon('heroicon-o-trash') + ->color('danger') + ->requiresConfirmation() + ->action(function (array $arguments): void { + $this->storage()->delete( + (string) $arguments['scope'], + (string) $arguments['slug'], + ReportTemplateType::tryFrom((string) $arguments['type']), + ); + + Notification::make()->title(trans('ip.template_deleted'))->success()->send(); + }); + } + + public function canModify(array $template): bool + { + if ( ! $template['editable']) { + return false; + } + + return ! ($template['scope'] === ReportTemplateStorage::SCOPE_SYSTEM && $template['slug'] === 'default'); + } + + protected function storage(): ReportTemplateStorage + { + return app(ReportTemplateStorage::class); + } +} diff --git a/Modules/Core/Mason/Bricks/DetailCustomerAgingBrick.php b/Modules/Core/Mason/Bricks/DetailCustomerAgingBrick.php new file mode 100644 index 000000000..a7ac30804 --- /dev/null +++ b/Modules/Core/Mason/Bricks/DetailCustomerAgingBrick.php @@ -0,0 +1,98 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.customer_aging_details'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.detail-customer-aging.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.detail-customer-aging.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_customer_aging')) + ->modalHeading(trans('ip.customer_aging_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_invoice_number') + ->label(trans('ip.show_invoice_number')) + ->default(true), + Checkbox::make('show_invoice_date') + ->label(trans('ip.show_invoice_date')) + ->default(true), + Checkbox::make('show_due_date') + ->label(trans('ip.show_due_date')) + ->default(true), + Checkbox::make('show_current') + ->label(trans('ip.show_current')) + ->default(true), + Checkbox::make('show_30_days') + ->label(trans('ip.show_30_days')) + ->default(true), + Checkbox::make('show_60_days') + ->label(trans('ip.show_60_days')) + ->default(true), + Checkbox::make('show_90_days') + ->label(trans('ip.show_90_days')) + ->default(true), + Checkbox::make('show_over_90_days') + ->label(trans('ip.show_over_90_days')) + ->default(true), + Checkbox::make('show_total_due') + ->label(trans('ip.show_total_due')) + ->default(true), + Checkbox::make('highlight_overdue') + ->label(trans('ip.highlight_overdue')) + ->default(true), + Checkbox::make('alternating_rows') + ->label(trans('ip.alternating_rows')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(9) + ->minValue(7) + ->maxValue(14), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/DetailExpenseBrick.php b/Modules/Core/Mason/Bricks/DetailExpenseBrick.php new file mode 100644 index 000000000..8fc5198d9 --- /dev/null +++ b/Modules/Core/Mason/Bricks/DetailExpenseBrick.php @@ -0,0 +1,89 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.expense_details'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.detail-expense.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.detail-expense.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_expense_details')) + ->modalHeading(trans('ip.expense_details_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_expense_number') + ->label(trans('ip.show_expense_number')) + ->default(true), + Checkbox::make('show_expense_date') + ->label(trans('ip.show_expense_date')) + ->default(true), + Checkbox::make('show_category') + ->label(trans('ip.show_category')) + ->default(true), + Checkbox::make('show_vendor') + ->label(trans('ip.show_vendor')) + ->default(false), + Checkbox::make('show_description') + ->label(trans('ip.show_description')) + ->default(true), + Checkbox::make('show_amount') + ->label(trans('ip.show_amount')) + ->default(true), + Checkbox::make('show_status') + ->label(trans('ip.show_status')) + ->default(true), + Checkbox::make('alternating_rows') + ->label(trans('ip.alternating_rows')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(9) + ->minValue(7) + ->maxValue(14), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/DetailInvoiceProductBrick.php b/Modules/Core/Mason/Bricks/DetailInvoiceProductBrick.php new file mode 100644 index 000000000..a294063ec --- /dev/null +++ b/Modules/Core/Mason/Bricks/DetailInvoiceProductBrick.php @@ -0,0 +1,89 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.invoice_product_details'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.detail-invoice-product.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.detail-invoice-product.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_invoice_product_details')) + ->modalHeading(trans('ip.invoice_product_details_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_sku') + ->label(trans('ip.show_sku')) + ->default(true), + Checkbox::make('show_description') + ->label(trans('ip.show_description')) + ->default(true), + Checkbox::make('show_quantity') + ->label(trans('ip.show_quantity')) + ->default(true), + Checkbox::make('show_unit_price') + ->label(trans('ip.show_unit_price')) + ->default(true), + Checkbox::make('show_tax') + ->label(trans('ip.show_tax')) + ->default(true), + Checkbox::make('show_discount') + ->label(trans('ip.show_discount')) + ->default(false), + Checkbox::make('show_total') + ->label(trans('ip.show_total')) + ->default(true), + Checkbox::make('alternating_rows') + ->label(trans('ip.alternating_rows')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(9) + ->minValue(7) + ->maxValue(14), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/DetailInvoiceProjectBrick.php b/Modules/Core/Mason/Bricks/DetailInvoiceProjectBrick.php new file mode 100644 index 000000000..4b4820982 --- /dev/null +++ b/Modules/Core/Mason/Bricks/DetailInvoiceProjectBrick.php @@ -0,0 +1,89 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.invoice_project_details'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.detail-invoice-project.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.detail-invoice-project.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_invoice_project_details')) + ->modalHeading(trans('ip.invoice_project_details_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_project_name') + ->label(trans('ip.show_project_name')) + ->default(true), + Checkbox::make('show_task_name') + ->label(trans('ip.show_task_name')) + ->default(true), + Checkbox::make('show_description') + ->label(trans('ip.show_description')) + ->default(true), + Checkbox::make('show_hours') + ->label(trans('ip.show_hours')) + ->default(true), + Checkbox::make('show_rate') + ->label(trans('ip.show_rate')) + ->default(true), + Checkbox::make('show_total') + ->label(trans('ip.show_total')) + ->default(true), + Checkbox::make('group_by_project') + ->label(trans('ip.group_by_project')) + ->default(true), + Checkbox::make('alternating_rows') + ->label(trans('ip.alternating_rows')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(9) + ->minValue(7) + ->maxValue(14), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/DetailItemsBrick.php b/Modules/Core/Mason/Bricks/DetailItemsBrick.php new file mode 100644 index 000000000..7c99247c7 --- /dev/null +++ b/Modules/Core/Mason/Bricks/DetailItemsBrick.php @@ -0,0 +1,83 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.line_items_table'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.detail-items.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.detail-items.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_line_items')) + ->modalHeading(trans('ip.line_items_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_description') + ->label(trans('ip.show_description')) + ->default(true), + Checkbox::make('show_quantity') + ->label(trans('ip.show_quantity')) + ->default(true), + Checkbox::make('show_price') + ->label(trans('ip.show_price')) + ->default(true), + Checkbox::make('show_tax') + ->label(trans('ip.show_tax')) + ->default(true), + Checkbox::make('show_total') + ->label(trans('ip.show_total')) + ->default(true), + Checkbox::make('alternating_rows') + ->label(trans('ip.alternating_rows')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(9) + ->minValue(7) + ->maxValue(14), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/DetailQuoteProductBrick.php b/Modules/Core/Mason/Bricks/DetailQuoteProductBrick.php new file mode 100644 index 000000000..6385cb9d1 --- /dev/null +++ b/Modules/Core/Mason/Bricks/DetailQuoteProductBrick.php @@ -0,0 +1,89 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.quote_product_details'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.detail-quote-product.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.detail-quote-product.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_quote_product_details')) + ->modalHeading(trans('ip.quote_product_details_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_sku') + ->label(trans('ip.show_sku')) + ->default(true), + Checkbox::make('show_description') + ->label(trans('ip.show_description')) + ->default(true), + Checkbox::make('show_quantity') + ->label(trans('ip.show_quantity')) + ->default(true), + Checkbox::make('show_unit_price') + ->label(trans('ip.show_unit_price')) + ->default(true), + Checkbox::make('show_tax') + ->label(trans('ip.show_tax')) + ->default(true), + Checkbox::make('show_discount') + ->label(trans('ip.show_discount')) + ->default(false), + Checkbox::make('show_total') + ->label(trans('ip.show_total')) + ->default(true), + Checkbox::make('alternating_rows') + ->label(trans('ip.alternating_rows')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(9) + ->minValue(7) + ->maxValue(14), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/DetailQuoteProjectBrick.php b/Modules/Core/Mason/Bricks/DetailQuoteProjectBrick.php new file mode 100644 index 000000000..800e7ad3d --- /dev/null +++ b/Modules/Core/Mason/Bricks/DetailQuoteProjectBrick.php @@ -0,0 +1,89 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.quote_project_details'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.detail-quote-project.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.detail-quote-project.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_quote_project_details')) + ->modalHeading(trans('ip.quote_project_details_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_project_name') + ->label(trans('ip.show_project_name')) + ->default(true), + Checkbox::make('show_task_name') + ->label(trans('ip.show_task_name')) + ->default(true), + Checkbox::make('show_description') + ->label(trans('ip.show_description')) + ->default(true), + Checkbox::make('show_hours') + ->label(trans('ip.show_hours')) + ->default(true), + Checkbox::make('show_rate') + ->label(trans('ip.show_rate')) + ->default(true), + Checkbox::make('show_total') + ->label(trans('ip.show_total')) + ->default(true), + Checkbox::make('group_by_project') + ->label(trans('ip.group_by_project')) + ->default(true), + Checkbox::make('alternating_rows') + ->label(trans('ip.alternating_rows')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(9) + ->minValue(7) + ->maxValue(14), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/DetailTasksBrick.php b/Modules/Core/Mason/Bricks/DetailTasksBrick.php new file mode 100644 index 000000000..8c89bddab --- /dev/null +++ b/Modules/Core/Mason/Bricks/DetailTasksBrick.php @@ -0,0 +1,92 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.tasks_table'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.detail-tasks.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.detail-tasks.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_tasks')) + ->modalHeading(trans('ip.tasks_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_task_number') + ->label(trans('ip.show_task_number')) + ->default(true), + Checkbox::make('show_task_name') + ->label(trans('ip.show_task_name')) + ->default(true), + Checkbox::make('show_description') + ->label(trans('ip.show_description')) + ->default(true), + Checkbox::make('show_due_at') + ->label(trans('ip.show_due_at')) + ->default(false), + Checkbox::make('show_task_price') + ->label(trans('ip.show_task_price')) + ->default(true), + Checkbox::make('show_task_status') + ->label(trans('ip.show_task_status')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(9) + ->minValue(6) + ->maxValue(12), + Select::make('header_style') + ->label(trans('ip.header_style')) + ->options([ + 'normal' => trans('ip.normal'), + 'bold' => trans('ip.bold'), + 'italic' => trans('ip.italic'), + ]) + ->default('bold'), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/FooterNotesBrick.php b/Modules/Core/Mason/Bricks/FooterNotesBrick.php new file mode 100644 index 000000000..097e3f312 --- /dev/null +++ b/Modules/Core/Mason/Bricks/FooterNotesBrick.php @@ -0,0 +1,75 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.footer'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.footer-notes.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.footer-notes.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_notes')) + ->modalHeading(trans('ip.notes_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + RichEditor::make('footer_content') + ->label(trans('ip.footer_content')) + ->columnSpanFull() + ->toolbarButtons([ + 'bold', + 'italic', + 'underline', + 'bulletList', + 'orderedList', + ]), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(8) + ->minValue(6) + ->maxValue(12), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/FooterSummaryBrick.php b/Modules/Core/Mason/Bricks/FooterSummaryBrick.php new file mode 100644 index 000000000..55b7fd890 --- /dev/null +++ b/Modules/Core/Mason/Bricks/FooterSummaryBrick.php @@ -0,0 +1,75 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.summary'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.footer-summary.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.footer-summary.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_summary')) + ->modalHeading(trans('ip.summary_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + RichEditor::make('summary_content') + ->label(trans('ip.summary_content')) + ->columnSpanFull() + ->toolbarButtons([ + 'bold', + 'italic', + 'underline', + 'bulletList', + 'orderedList', + ]), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(9) + ->minValue(6) + ->maxValue(14), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/FooterTermsBrick.php b/Modules/Core/Mason/Bricks/FooterTermsBrick.php new file mode 100644 index 000000000..cc887bf70 --- /dev/null +++ b/Modules/Core/Mason/Bricks/FooterTermsBrick.php @@ -0,0 +1,75 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.terms_conditions'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.footer-terms.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.footer-terms.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_terms')) + ->modalHeading(trans('ip.terms_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + RichEditor::make('terms_content') + ->label(trans('ip.terms_content')) + ->columnSpanFull() + ->toolbarButtons([ + 'bold', + 'italic', + 'underline', + 'bulletList', + 'orderedList', + ]), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(8) + ->minValue(6) + ->maxValue(12), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/FooterTotalsBrick.php b/Modules/Core/Mason/Bricks/FooterTotalsBrick.php new file mode 100644 index 000000000..7c45ef2d1 --- /dev/null +++ b/Modules/Core/Mason/Bricks/FooterTotalsBrick.php @@ -0,0 +1,92 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.totals_section'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.footer-totals.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.footer-totals.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_totals')) + ->modalHeading(trans('ip.totals_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_subtotal') + ->label(trans('ip.show_subtotal')) + ->default(true), + Checkbox::make('show_tax') + ->label(trans('ip.show_tax')) + ->default(true), + Checkbox::make('show_total') + ->label(trans('ip.show_total')) + ->default(true), + Checkbox::make('show_paid') + ->label(trans('ip.show_paid')) + ->default(false), + Checkbox::make('show_balance') + ->label(trans('ip.show_balance')) + ->default(false), + Checkbox::make('highlight_total') + ->label(trans('ip.highlight_total')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(10) + ->minValue(8) + ->maxValue(16), + Select::make('text_align') + ->label(trans('ip.text_align')) + ->options([ + 'left' => trans('ip.align_left'), + 'center' => trans('ip.align_center'), + 'right' => trans('ip.align_right'), + ]) + ->default('right'), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/HeaderClientBrick.php b/Modules/Core/Mason/Bricks/HeaderClientBrick.php new file mode 100644 index 000000000..3649420d3 --- /dev/null +++ b/Modules/Core/Mason/Bricks/HeaderClientBrick.php @@ -0,0 +1,83 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.client_header'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.header-client.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.header-client.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_client_header')) + ->modalHeading(trans('ip.client_header_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_phone') + ->label(trans('ip.show_phone')) + ->default(true), + Checkbox::make('show_email') + ->label(trans('ip.show_email')) + ->default(true), + Checkbox::make('show_address') + ->label(trans('ip.show_address')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(10) + ->minValue(8) + ->maxValue(16), + Select::make('text_align') + ->label(trans('ip.text_align')) + ->options([ + 'left' => trans('ip.align_left'), + 'center' => trans('ip.align_center'), + 'right' => trans('ip.align_right'), + ]) + ->default('right'), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/HeaderCompanyBrick.php b/Modules/Core/Mason/Bricks/HeaderCompanyBrick.php new file mode 100644 index 000000000..2ec0e61cc --- /dev/null +++ b/Modules/Core/Mason/Bricks/HeaderCompanyBrick.php @@ -0,0 +1,93 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.company_header'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.header-company.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.header-company.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_company_header')) + ->modalHeading(trans('ip.company_header_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_vat_id') + ->label(trans('ip.show_vat_id')) + ->default(true), + Checkbox::make('show_phone') + ->label(trans('ip.show_phone')) + ->default(true), + Checkbox::make('show_email') + ->label(trans('ip.show_email')) + ->default(true), + Checkbox::make('show_address') + ->label(trans('ip.show_address')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(10) + ->minValue(8) + ->maxValue(16), + Select::make('font_weight') + ->label(trans('ip.font_weight')) + ->options([ + 'normal' => trans('ip.font_weight_normal'), + 'bold' => trans('ip.font_weight_bold'), + ]) + ->default('bold'), + Select::make('text_align') + ->label(trans('ip.text_align')) + ->options([ + 'left' => trans('ip.align_left'), + 'center' => trans('ip.align_center'), + 'right' => trans('ip.align_right'), + ]) + ->default('left'), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/HeaderInvoiceMetaBrick.php b/Modules/Core/Mason/Bricks/HeaderInvoiceMetaBrick.php new file mode 100644 index 000000000..9d2d7bc46 --- /dev/null +++ b/Modules/Core/Mason/Bricks/HeaderInvoiceMetaBrick.php @@ -0,0 +1,86 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.invoice_metadata'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.header-invoice-meta.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.header-invoice-meta.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_invoice_metadata')) + ->modalHeading(trans('ip.invoice_metadata_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_invoice_number') + ->label(trans('ip.show_invoice_number')) + ->default(true), + Checkbox::make('show_invoice_date') + ->label(trans('ip.show_invoice_date')) + ->default(true), + Checkbox::make('show_due_date') + ->label(trans('ip.show_due_date')) + ->default(true), + Checkbox::make('show_po_number') + ->label(trans('ip.show_po_number')) + ->default(false), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(10) + ->minValue(8) + ->maxValue(16), + Select::make('text_align') + ->label(trans('ip.text_align')) + ->options([ + 'left' => trans('ip.align_left'), + 'center' => trans('ip.align_center'), + 'right' => trans('ip.align_right'), + ]) + ->default('right'), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/HeaderProjectBrick.php b/Modules/Core/Mason/Bricks/HeaderProjectBrick.php new file mode 100644 index 000000000..c22c1ecaf --- /dev/null +++ b/Modules/Core/Mason/Bricks/HeaderProjectBrick.php @@ -0,0 +1,89 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.project_header'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.header-project.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.header-project.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_project')) + ->modalHeading(trans('ip.project_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_project_number') + ->label(trans('ip.show_project_number')) + ->default(true), + Checkbox::make('show_project_name') + ->label(trans('ip.show_project_name')) + ->default(true), + Checkbox::make('show_start_date') + ->label(trans('ip.show_start_date')) + ->default(true), + Checkbox::make('show_end_date') + ->label(trans('ip.show_end_date')) + ->default(true), + Checkbox::make('show_status') + ->label(trans('ip.show_status')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(10) + ->minValue(6) + ->maxValue(16), + Select::make('text_align') + ->label(trans('ip.text_align')) + ->options([ + 'left' => trans('ip.align_left'), + 'center' => trans('ip.align_center'), + 'right' => trans('ip.align_right'), + ]) + ->default('left'), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/HeaderQuoteMetaBrick.php b/Modules/Core/Mason/Bricks/HeaderQuoteMetaBrick.php new file mode 100644 index 000000000..034288dff --- /dev/null +++ b/Modules/Core/Mason/Bricks/HeaderQuoteMetaBrick.php @@ -0,0 +1,86 @@ +'); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.quote_metadata'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.header-quote-meta.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.header-quote-meta.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_quote_meta')) + ->modalHeading(trans('ip.quote_meta_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + Checkbox::make('show_quote_number') + ->label(trans('ip.show_quote_number')) + ->default(true), + Checkbox::make('show_quoted_at') + ->label(trans('ip.show_quoted_at')) + ->default(true), + Checkbox::make('show_expires_at') + ->label(trans('ip.show_expires_at')) + ->default(true), + Checkbox::make('show_status') + ->label(trans('ip.show_status')) + ->default(true), + TextInput::make('font_size') + ->label(trans('ip.font_size')) + ->numeric() + ->default(10) + ->minValue(6) + ->maxValue(16), + Select::make('text_align') + ->label(trans('ip.text_align')) + ->options([ + 'left' => trans('ip.align_left'), + 'center' => trans('ip.align_center'), + 'right' => trans('ip.align_right'), + ]) + ->default('right'), + ]); + } +} diff --git a/Modules/Core/Mason/Bricks/PageBreakBrick.php b/Modules/Core/Mason/Bricks/PageBreakBrick.php new file mode 100644 index 000000000..a2e237c3a --- /dev/null +++ b/Modules/Core/Mason/Bricks/PageBreakBrick.php @@ -0,0 +1,58 @@ +'); + } + + public static function allowedBands(): array + { + return ReportBand::cases(); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.page_break'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.page-break.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.page-break.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->modalHidden(); + } +} diff --git a/Modules/Core/Mason/Bricks/SpacerBrick.php b/Modules/Core/Mason/Bricks/SpacerBrick.php new file mode 100644 index 000000000..feccb43dd --- /dev/null +++ b/Modules/Core/Mason/Bricks/SpacerBrick.php @@ -0,0 +1,70 @@ +'); + } + + public static function allowedBands(): array + { + return ReportBand::cases(); + } + + public static function getPreviewLabel(array $config): string + { + return trans('ip.spacer'); + } + + public static function toPreviewHtml(array $config): ?string + { + return view('mason.bricks.spacer.preview', [ + 'config' => $config, + ])->render(); + } + + public static function toHtml(array $config, ?array $data = null): ?string + { + return view('mason.bricks.spacer.index', [ + 'config' => $config, + 'data' => $data ?? [], + ])->render(); + } + + public static function configureBrickAction(Action $action): Action + { + return $action + ->label(trans('ip.configure_spacer')) + ->modalHeading(trans('ip.spacer_settings')) + ->slideOver() + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->schema([ + TextInput::make('height') + ->label(trans('ip.spacer_height')) + ->numeric() + ->default(20) + ->minValue(1) + ->maxValue(500), + ]); + } +} diff --git a/Modules/Core/Mason/MasonDocumentConverter.php b/Modules/Core/Mason/MasonDocumentConverter.php new file mode 100644 index 000000000..113a7025b --- /dev/null +++ b/Modules/Core/Mason/MasonDocumentConverter.php @@ -0,0 +1,90 @@ + $entries + */ + public static function toMasonState(array $entries): array + { + $state = []; + + foreach ($entries as $entry) { + $brickClass = ReportBricksCollection::findById((string) ($entry['brick'] ?? '')); + + if ($brickClass === null) { + continue; + } + + $config = is_array($entry['config'] ?? null) ? $entry['config'] : []; + $config[self::WIDTH_KEY] = $entry['width'] ?? ReportBlockWidth::FULL->value; + + $state[] = [ + 'type' => 'masonBrick', + 'attrs' => [ + 'id' => $brickClass::getId(), + 'config' => $config, + 'label' => $brickClass::getLabel(), + 'preview' => base64_encode((string) $brickClass::toPreviewHtml($config)), + ], + ]; + } + + return $state; + } + + /** + * Mason editor state → band entries (width lifted out of config). + * + * @return array + */ + public static function toBandEntries(mixed $state): array + { + if ( ! is_array($state)) { + return []; + } + + if (array_key_exists('content', $state)) { + $state = $state['content']; + } + + $entries = []; + + foreach ($state as $node) { + if ( ! is_array($node) || ($node['type'] ?? null) !== 'masonBrick') { + continue; + } + + $attrs = $node['attrs'] ?? []; + $config = is_array($attrs['config'] ?? null) ? $attrs['config'] : []; + + $width = ReportBlockWidth::tryFrom((string) ($config[self::WIDTH_KEY] ?? '')) ?? ReportBlockWidth::FULL; + unset($config[self::WIDTH_KEY]); + + $entries[] = [ + 'brick' => (string) ($attrs['id'] ?? ''), + 'width' => $width->value, + 'config' => $config, + ]; + } + + return $entries; + } +} diff --git a/Modules/Core/Mason/ReportBrick.php b/Modules/Core/Mason/ReportBrick.php new file mode 100644 index 000000000..9a8c2e367 --- /dev/null +++ b/Modules/Core/Mason/ReportBrick.php @@ -0,0 +1,83 @@ +> + */ + protected static array $configKeysCache = []; + + /** + * The bands this brick may be placed in. + * + * Defaults are inferred from the class name prefix (Header, Detail, Footer); + * override for bricks that do not follow the prefix convention. + * + * @return array + */ + public static function allowedBands(): array + { + $basename = class_basename(static::class); + + return match (true) { + str_starts_with($basename, 'Header') => [ReportBand::HEADER, ReportBand::GROUP_HEADER], + str_starts_with($basename, 'Detail') => [ReportBand::DETAILS], + str_starts_with($basename, 'Footer') => [ReportBand::GROUP_FOOTER, ReportBand::FOOTER], + default => ReportBand::cases(), + }; + } + + /** + * The config keys this brick accepts, derived from its configure action + * schema. Used to filter persisted config against the brick's own schema. + * + * @return array + */ + public static function configKeys(): array + { + if (isset(static::$configKeysCache[static::class])) { + return static::$configKeysCache[static::class]; + } + + $action = static::configureBrickAction(Action::make('configure')); + + $property = new ReflectionProperty(Action::class, 'schema'); + $schema = $property->getValue($action); + + $keys = []; + + if (is_array($schema)) { + foreach ($schema as $component) { + if (method_exists($component, 'getName')) { + $keys[] = $component->getName(); + } + } + } + + return static::$configKeysCache[static::class] = $keys; + } + + /** + * Filter a persisted config array down to the keys this brick declares. + */ + public static function filterConfig(array $config): array + { + return array_intersect_key($config, array_flip(static::configKeys())); + } +} diff --git a/Modules/Core/Mason/ReportBricksCollection.php b/Modules/Core/Mason/ReportBricksCollection.php new file mode 100644 index 000000000..6dc35c6f2 --- /dev/null +++ b/Modules/Core/Mason/ReportBricksCollection.php @@ -0,0 +1,140 @@ + + */ + public static function all(): array + { + return [ + ...self::header(), + ...self::detail(), + ...self::footer(), + ...self::utility(), + ]; + } + + /** + * Get utility bricks allowed in every band. + * + * @return array + */ + public static function utility(): array + { + return [ + PageBreakBrick::class, + SpacerBrick::class, + ]; + } + + /** + * Get the bricks allowed in the given band. + * + * @return array + */ + public static function forBand(ReportBand $band): array + { + return array_values(array_filter( + self::all(), + fn (string $brick): bool => in_array($band, $brick::allowedBands(), true), + )); + } + + /** + * Find a brick class by its brick id. + * + * @return class-string|null + */ + public static function findById(string $id): ?string + { + foreach (self::all() as $brick) { + if ($brick::getId() === $id) { + return $brick; + } + } + + return null; + } + + /** + * Get header section bricks. + * + * @return array + */ + public static function header(): array + { + return [ + HeaderCompanyBrick::class, + HeaderClientBrick::class, + HeaderInvoiceMetaBrick::class, + HeaderQuoteMetaBrick::class, + HeaderProjectBrick::class, + ]; + } + + /** + * Get detail section bricks. + * + * @return array + */ + public static function detail(): array + { + return [ + DetailItemsBrick::class, + DetailTasksBrick::class, + DetailInvoiceProductBrick::class, + DetailInvoiceProjectBrick::class, + DetailQuoteProductBrick::class, + DetailQuoteProjectBrick::class, + DetailCustomerAgingBrick::class, + DetailExpenseBrick::class, + ]; + } + + /** + * Get footer section bricks. + * + * @return array + */ + public static function footer(): array + { + return [ + FooterTotalsBrick::class, + FooterNotesBrick::class, + FooterTermsBrick::class, + FooterSummaryBrick::class, + ]; + } +} diff --git a/Modules/Core/Models/Company.php b/Modules/Core/Models/Company.php index bf07848cb..48e7e4157 100644 --- a/Modules/Core/Models/Company.php +++ b/Modules/Core/Models/Company.php @@ -131,7 +131,7 @@ public function shippingAddress() public function communications(): MorphMany { - return $this->morphMany(Communication::class, 'communicable'); + return $this->morphMany(Communication::class, 'communicationable'); } public function companyUsers(): BelongsToMany diff --git a/Modules/Core/Providers/AdminPanelProvider.php b/Modules/Core/Providers/AdminPanelProvider.php index 726f7a5ae..4b6138997 100644 --- a/Modules/Core/Providers/AdminPanelProvider.php +++ b/Modules/Core/Providers/AdminPanelProvider.php @@ -22,7 +22,7 @@ use Illuminate\Session\Middleware\StartSession; use Illuminate\View\Middleware\ShareErrorsFromSession; use Modules\Core\Filament\Admin\Pages\Dashboard; -use Modules\Core\Filament\Admin\Pages\ImportV1Page; +//use Modules\Core\Filament\Admin\Pages\ReportTemplates; use Modules\Core\Filament\Admin\Pages\RolePermissionsPage; use Modules\Core\Filament\Admin\Resources\Companies\CompanyResource; use Modules\Core\Filament\Admin\Resources\EmailTemplates\EmailTemplateResource; @@ -134,6 +134,10 @@ public function panel(Panel $panel): Panel ->items([ ...TaxRateResource::getNavigationItems(), ]), + /*NavigationGroup::make(trans('ip.report_templates')) + ->items([ + ...ReportTemplates::getNavigationItems(), + ]),*/ /*NavigationGroup::make('System Settings') ->icon('heroicon-o-cog-8-tooth') diff --git a/Modules/Core/Providers/CompanyPanelProvider.php b/Modules/Core/Providers/CompanyPanelProvider.php index 506e88438..6f730f71c 100644 --- a/Modules/Core/Providers/CompanyPanelProvider.php +++ b/Modules/Core/Providers/CompanyPanelProvider.php @@ -185,7 +185,8 @@ public function panel(Panel $panel): Panel Dashboard::class, EditProfile::class, MyCompanies::class, - CompanySettings::class, + ReportTemplates::class, + ReportBuilder::class, ]) ->widgets([ RecentQuotesWidget::class, @@ -237,6 +238,11 @@ public function panel(Panel $panel): Panel ...self::withQuickCreate(PaymentResource::class), ]), + NavigationGroup::make(trans('ip.report_templates')) + ->items([ + ...ReportTemplates::getNavigationItems(), + ]), + NavigationGroup::make('Resources') //->icon('heroicon-o-archive-box') ->items([ diff --git a/Modules/Core/Providers/CoreServiceProvider.php b/Modules/Core/Providers/CoreServiceProvider.php index 2dd0d4743..0618a9ad1 100644 --- a/Modules/Core/Providers/CoreServiceProvider.php +++ b/Modules/Core/Providers/CoreServiceProvider.php @@ -70,9 +70,7 @@ public function provides(): array protected function registerCommands(): void { $this->commands([ - \Modules\Core\Commands\MigrateV1Command::class, - \Modules\Core\Commands\MakeUserCommand::class, - \Modules\Core\Commands\GenerateObservers::class, + \Modules\Core\Console\ReportsSyncSystemCommand::class, ]); } diff --git a/Modules/Core/Services/PdfGenerationService.php b/Modules/Core/Services/PdfGenerationService.php new file mode 100644 index 000000000..a52ae2b6a --- /dev/null +++ b/Modules/Core/Services/PdfGenerationService.php @@ -0,0 +1,115 @@ +renderer->render( + $this->resolveTemplate($invoice), + $this->mapper->forInvoice($invoice), + ); + } + + public function renderQuoteHtml(Quote $quote): string + { + return $this->renderer->render( + $this->resolveTemplate($quote), + $this->mapper->forQuote($quote), + ); + } + + public function invoicePdf(Invoice $invoice): string + { + return PDFFactory::create()->getOutput($this->renderInvoiceHtml($invoice)); + } + + public function quotePdf(Quote $quote): string + { + return PDFFactory::create()->getOutput($this->renderQuoteHtml($quote)); + } + + public function downloadInvoice(Invoice $invoice) + { + return response($this->invoicePdf($invoice)) + ->header('Content-Type', 'application/pdf') + ->header('Content-Disposition', 'attachment; filename="' . $this->filename('invoice', (string) $invoice->invoice_number) . '"'); + } + + public function downloadQuote(Quote $quote) + { + return response($this->quotePdf($quote)) + ->header('Content-Type', 'application/pdf') + ->header('Content-Disposition', 'attachment; filename="' . $this->filename('quote', (string) $quote->quote_number) . '"'); + } + + /** + * @return array{manifest: array, bands: array} + */ + public function resolveTemplate(Invoice | Quote $document): array + { + $type = $document instanceof Invoice ? ReportTemplateType::INVOICE : ReportTemplateType::QUOTE; + + $companyDefault = $document instanceof Invoice + ? $document->company?->invoice_template + : $document->company?->quote_template; + + foreach (array_filter([(string) $document->template, (string) $companyDefault, 'default']) as $slug) { + if (($template = $this->loadBySlug($slug, $type)) !== null) { + return $template; + } + } + + throw new RuntimeException( + "No report template found for {$type->value} documents. Run \"php artisan reports:sync-system\".", + ); + } + + protected function loadBySlug(string $slug, ReportTemplateType $type): ?array + { + try { + $template = $this->storage->load(ReportTemplateStorage::SCOPE_COMPANY, $slug); + } catch (Throwable) { + $template = null; + } + + if ($template !== null && ($template['manifest']['type'] ?? null) === $type->value) { + return $template; + } + + try { + return $this->storage->load(ReportTemplateStorage::SCOPE_SYSTEM, $slug, $type); + } catch (Throwable) { + return null; + } + } + + protected function filename(string $prefix, string $number): string + { + $number = preg_replace('/[^A-Za-z0-9\-_]/', '-', $number) ?: 'document'; + + return $prefix . '-' . $number . '.pdf'; + } +} diff --git a/Modules/Core/Services/ReportDataMapper.php b/Modules/Core/Services/ReportDataMapper.php new file mode 100644 index 000000000..6351191ff --- /dev/null +++ b/Modules/Core/Services/ReportDataMapper.php @@ -0,0 +1,151 @@ +loadMissing(['company', 'customer.addresses', 'customer.communications', 'invoiceItems', 'payments']); + + $paid = (float) $invoice->payments->sum('payment_amount'); + + return [ + 'company' => $this->companyData($invoice->company), + 'client' => $this->clientData($invoice->customer), + 'invoice' => [ + 'number' => (string) $invoice->invoice_number, + 'date' => $invoice->invoiced_at?->format('Y-m-d') ?? '', + 'due_date' => $invoice->invoice_due_at?->format('Y-m-d') ?? '', + 'po_number' => '', + 'status' => $invoice->invoice_status?->value ?? '', + ], + 'items' => $invoice->invoiceItems->map(fn ($item): array => $this->itemData($item))->all(), + 'totals' => [ + 'subtotal' => $this->money($invoice->invoice_item_subtotal), + 'tax' => $this->money($invoice->invoice_tax_total), + 'total' => $this->money($invoice->invoice_total), + 'paid' => $this->money($paid), + 'balance' => $this->money((float) $invoice->invoice_total - $paid), + ], + 'summary' => (string) $invoice->summary, + 'terms' => (string) $invoice->terms, + 'footer' => (string) $invoice->footer, + ]; + } + + public function forQuote(Quote $quote): array + { + $quote->loadMissing(['company', 'prospect.addresses', 'prospect.communications', 'quoteItems']); + + return [ + 'company' => $this->companyData($quote->company), + 'client' => $this->clientData($quote->prospect), + 'quote' => [ + 'quote_number' => (string) $quote->quote_number, + 'quoted_at' => $quote->quoted_at?->format('Y-m-d') ?? '', + 'quote_expires_at' => $quote->quote_expires_at?->format('Y-m-d') ?? '', + 'quote_status' => $quote->quote_status?->value ?? '', + ], + 'items' => $quote->quoteItems->map(fn ($item): array => $this->itemData($item))->all(), + 'totals' => [ + 'subtotal' => $this->money($quote->quote_item_subtotal), + 'tax' => $this->money($quote->quote_tax_total), + 'total' => $this->money($quote->quote_total), + 'paid' => $this->money(0), + 'balance' => $this->money($quote->quote_total), + ], + 'summary' => (string) $quote->summary, + 'terms' => (string) $quote->terms, + 'footer' => (string) $quote->footer, + ]; + } + + protected function companyData(?Company $company): array + { + if ($company === null) { + return []; + } + + $address = $company->addresses->first(); + + return [ + 'name' => (string) $company->name, + 'vat_id' => (string) $company->vat_number, + 'address' => (string) ($address?->address_1 ?? ''), + 'city' => (string) ($address?->city ?? ''), + 'postal_code' => (string) ($address?->postal_code ?? ''), + 'phone' => $this->communication($company, 'phone'), + 'email' => $this->communication($company, 'email'), + 'logo_path' => $this->logoPath($company), + ]; + } + + protected function clientData(?Relation $client): array + { + if ($client === null) { + return []; + } + + $address = $client->addresses->first(); + + return [ + 'name' => (string) $client->company_name, + 'address' => (string) ($address?->address_1 ?? ''), + 'city' => (string) ($address?->city ?? ''), + 'postal_code' => (string) ($address?->postal_code ?? ''), + 'phone' => $this->communication($client, 'phone'), + 'email' => $this->communication($client, 'email'), + ]; + } + + protected function itemData($item): array + { + return [ + 'description' => (string) ($item->item_name ?: $item->description), + 'quantity' => (float) $item->quantity, + 'price' => $this->money($item->price), + 'tax' => $this->money($item->tax_total), + 'total' => $this->money($item->total), + ]; + } + + /** + * dompdf runs with remote fetching disabled, so the logo must resolve + * to a local file path. + */ + protected function logoPath(Company $company): string + { + if (blank($company->logo)) { + return ''; + } + + $path = Storage::disk('public')->path($company->logo); + + return is_file($path) ? $path : ''; + } + + protected function communication($model, string $type): string + { + $communication = $model->communications + ->first(fn ($entry): bool => str_contains((string) $entry->communication_type, $type)); + + return (string) ($communication?->communication_value ?? ''); + } + + protected function money(mixed $amount): string + { + return number_format((float) $amount, 2, '.', ''); + } +} diff --git a/Modules/Core/Services/ReportRenderer.php b/Modules/Core/Services/ReportRenderer.php new file mode 100644 index 000000000..365ca7459 --- /dev/null +++ b/Modules/Core/Services/ReportRenderer.php @@ -0,0 +1,169 @@ +} $template + */ + public function render(array $template, array $data): string + { + $body = ''; + + foreach (ReportBand::ordered() as $band) { + $body .= $this->renderBand($band, $template, $data); + } + + return $this->wrapDocument($body, (string) ($template['manifest']['name'] ?? 'Report')); + } + + protected function renderBand(ReportBand $band, array $template, array $data): string + { + $entries = $template['bands'][$band->value] ?? []; + + if ($entries === []) { + return ''; + } + + $style = 'width: 100%;'; + + if ($this->keepsTogether($band, $template['manifest'])) { + $style .= ' page-break-inside: avoid;'; + } + + $html = '
'; + + /* + * page-break bricks must live at block level between the row + * tables — dompdf ignores page-break CSS inside table cells. + */ + $segment = []; + + foreach ($entries as $entry) { + if (($entry['brick'] ?? null) === 'page_break') { + $html .= $this->renderRows($segment, $data); + $html .= (string) \Modules\Core\Mason\Bricks\PageBreakBrick::toHtml($entry['config'] ?? [], $data); + $segment = []; + + continue; + } + + $segment[] = $entry; + } + + $html .= $this->renderRows($segment, $data); + $html .= '
'; + + return $html; + } + + protected function renderRows(array $entries, array $data): string + { + $html = ''; + + foreach ($this->chunkIntoRows($entries) as $row) { + $html .= $this->renderRow($row, $data); + } + + return $html; + } + + /** + * Group consecutive entries into rows on a 12-column grid — dompdf + * cannot lay out floats reliably, so each row becomes a table. + * + * @return array> + */ + protected function chunkIntoRows(array $entries): array + { + $rows = []; + $row = []; + $rowWidth = 0; + + foreach ($entries as $entry) { + if ( ! is_array($entry) || ReportBricksCollection::findById((string) ($entry['brick'] ?? '')) === null) { + continue; + } + + $width = ReportBlockWidth::tryFrom((string) ($entry['width'] ?? '')) ?? ReportBlockWidth::FULL; + + if ($row !== [] && $rowWidth + $width->getGridWidth() > 12) { + $rows[] = $row; + $row = []; + $rowWidth = 0; + } + + $row[] = ['entry' => $entry, 'width' => $width]; + $rowWidth += $width->getGridWidth(); + } + + if ($row !== []) { + $rows[] = $row; + } + + return $rows; + } + + /** + * @param array $row + */ + protected function renderRow(array $row, array $data): string + { + $cells = ''; + + foreach ($row as $block) { + $brickClass = ReportBricksCollection::findById((string) $block['entry']['brick']); + $config = is_array($block['entry']['config'] ?? null) ? $block['entry']['config'] : []; + $inner = (string) $brickClass::toHtml($brickClass::filterConfig($config), $data); + $percent = (int) round($block['width']->getGridWidth() / 12 * 100); + + $cells .= '' + . $inner + . ''; + } + + return '' . $cells . '
'; + } + + protected function keepsTogether(ReportBand $band, array $manifest): bool + { + return (bool) ($manifest['band_options'][$band->value]['keep_together'] ?? false); + } + + protected function wrapDocument(string $body, string $title): string + { + return << + + + + {$this->escape($title)} + + + + {$body} + + + HTML; + } + + protected function escape(string $value): string + { + return htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); + } +} diff --git a/Modules/Core/Services/ReportTemplateStorage.php b/Modules/Core/Services/ReportTemplateStorage.php new file mode 100644 index 000000000..acb4a3eff --- /dev/null +++ b/Modules/Core/Services/ReportTemplateStorage.php @@ -0,0 +1,372 @@ + + */ + public function listSystem(?ReportTemplateType $type = null): array + { + $templates = []; + $types = $type ? [$type->value] : ReportTemplateType::values(); + + foreach ($types as $typeValue) { + foreach (Storage::disk(self::DISK)->directories(self::SCOPE_SYSTEM . '/' . $typeValue) as $directory) { + $manifest = $this->readJson($directory . '/manifest.json'); + + if ($manifest === null) { + continue; + } + + $templates[] = [ + 'scope' => self::SCOPE_SYSTEM, + 'type' => $typeValue, + 'slug' => basename($directory), + 'manifest' => $manifest, + ]; + } + } + + return $templates; + } + + /** + * List the current company's templates, optionally filtered by type. + * + * @return array + */ + public function listCompany(?ReportTemplateType $type = null): array + { + $templates = []; + + foreach (Storage::disk(self::DISK)->directories((string) $this->companyId()) as $directory) { + $manifest = $this->readJson($directory . '/manifest.json'); + + if ($manifest === null) { + continue; + } + + if ($type !== null && ($manifest['type'] ?? null) !== $type->value) { + continue; + } + + $templates[] = [ + 'scope' => self::SCOPE_COMPANY, + 'type' => (string) ($manifest['type'] ?? ''), + 'slug' => basename($directory), + 'manifest' => $manifest, + ]; + } + + return $templates; + } + + /** + * Slug => display name options for template pickers. Company clones + * shadow system templates that share a slug, matching the resolution + * order used when rendering. + * + * @return array + */ + public function optionsForType(ReportTemplateType $type): array + { + $options = []; + + foreach ($this->listSystem($type) as $template) { + $options[$template['slug']] = (string) ($template['manifest']['name'] ?? $template['slug']); + } + + foreach ($this->listCompany($type) as $template) { + $options[$template['slug']] = (string) ($template['manifest']['name'] ?? $template['slug']); + } + + ksort($options); + + return $options; + } + + public function exists(string $scope, string $slug, ?ReportTemplateType $type = null): bool + { + return Storage::disk(self::DISK)->exists($this->path($scope, $slug, $type) . '/manifest.json'); + } + + /** + * Load a template. Bands are validated on load: unknown brick ids and + * bricks not allowed in their band are skipped, widths fall back to + * full, and configs are filtered against each brick's own schema. + * + * @return array{manifest: array, bands: array}|null + */ + public function load(string $scope, string $slug, ?ReportTemplateType $type = null): ?array + { + $base = $this->path($scope, $slug, $type); + $manifest = $this->readJson($base . '/manifest.json'); + + if ($manifest === null) { + return null; + } + + $bands = $this->readJson($base . '/bands.json') ?? []; + + return [ + 'manifest' => $manifest, + 'bands' => $this->sanitizeBands($bands), + ]; + } + + /** + * Persist a template's manifest and bands. Bands are sanitized before + * writing so only known bricks, valid widths, and schema-filtered + * configs ever reach disk. + */ + public function save(string $scope, string $slug, array $manifest, array $bands, ?ReportTemplateType $type = null): void + { + $base = $this->path($scope, $slug, $type); + $disk = Storage::disk(self::DISK); + + $disk->put($base . '/manifest.json', $this->encodeJson($manifest)); + $disk->put($base . '/bands.json', $this->encodeJson($this->sanitizeBands($bands))); + } + + /** + * Clone a template into the current company (or into the system scope). + * Cloning copies the folder and rewrites the manifest. + * + * @return array{scope: string, type: string, slug: string, manifest: array} + */ + public function clone( + string $fromScope, + string $fromSlug, + string $newName, + ?ReportTemplateType $type = null, + string $toScope = self::SCOPE_COMPANY, + ): array { + $source = $this->load($fromScope, $fromSlug, $type); + + if ($source === null) { + throw new RuntimeException("Report template [{$fromScope}/{$fromSlug}] does not exist."); + } + + $manifest = $source['manifest']; + $templateType = $type ?? ReportTemplateType::tryFrom((string) ($manifest['type'] ?? '')); + $newSlug = $this->uniqueSlug($toScope, Str::slug($newName), $templateType); + + $manifest['name'] = $newName; + $manifest['slug'] = $newSlug; + $manifest['cloned_from'] = $this->path($fromScope, $fromSlug, $type); + + $this->save($toScope, $newSlug, $manifest, $source['bands'], $templateType); + + return [ + 'scope' => $toScope, + 'type' => (string) ($manifest['type'] ?? ''), + 'slug' => $newSlug, + 'manifest' => $manifest, + ]; + } + + /** + * Rename a template's display name (the slug is stable once created). + */ + public function rename(string $scope, string $slug, string $newName, ?ReportTemplateType $type = null): void + { + $template = $this->load($scope, $slug, $type); + + if ($template === null) { + throw new RuntimeException("Report template [{$scope}/{$slug}] does not exist."); + } + + $manifest = $template['manifest']; + $manifest['name'] = $newName; + + Storage::disk(self::DISK)->put( + $this->path($scope, $slug, $type) . '/manifest.json', + $this->encodeJson($manifest), + ); + } + + /** + * Delete a template folder. Shipped system defaults are protected. + */ + public function delete(string $scope, string $slug, ?ReportTemplateType $type = null): bool + { + if ($scope === self::SCOPE_SYSTEM && $slug === 'default') { + throw new RuntimeException('System default templates cannot be deleted.'); + } + + $base = $this->path($scope, $slug, $type); + + if ( ! Storage::disk(self::DISK)->exists($base . '/manifest.json')) { + return false; + } + + return Storage::disk(self::DISK)->deleteDirectory($base); + } + + /** + * Reduce arbitrary decoded band data to the valid five-band structure. + * + * @return array> + */ + public function sanitizeBands(array $bands): array + { + $sanitized = []; + + foreach (ReportBand::ordered() as $band) { + $sanitized[$band->value] = []; + + $entries = $bands[$band->value] ?? []; + + if ( ! is_array($entries)) { + continue; + } + + foreach ($entries as $entry) { + if ( ! is_array($entry)) { + continue; + } + + $brickClass = ReportBricksCollection::findById((string) ($entry['brick'] ?? '')); + + if ($brickClass === null || ! in_array($band, $brickClass::allowedBands(), true)) { + continue; + } + + $width = ReportBlockWidth::tryFrom((string) ($entry['width'] ?? '')) ?? ReportBlockWidth::FULL; + $config = is_array($entry['config'] ?? null) ? $entry['config'] : []; + + $sanitized[$band->value][] = [ + 'brick' => $brickClass::getId(), + 'width' => $width->value, + 'config' => $brickClass::filterConfig($config), + ]; + } + } + + return $sanitized; + } + + /** + * Resolve the disk path for a template. Slugs are strictly validated + * ([a-z0-9-] only) so path traversal is impossible; company paths come + * from the tenant context exclusively. + */ + public function path(string $scope, string $slug, ?ReportTemplateType $type = null): string + { + $this->assertValidSlug($slug); + + if ($scope === self::SCOPE_SYSTEM) { + if ($type === null) { + throw new InvalidArgumentException('System template paths require a document type.'); + } + + return self::SCOPE_SYSTEM . '/' . $type->value . '/' . $slug; + } + + if ($scope === self::SCOPE_COMPANY) { + return $this->companyId() . '/' . $slug; + } + + throw new InvalidArgumentException("Unknown report template scope [{$scope}]."); + } + + protected function assertValidSlug(string $slug): void + { + if ($slug === '' || preg_match('/^[a-z0-9][a-z0-9-]*$/', $slug) !== 1) { + throw new InvalidArgumentException("Invalid report template slug [{$slug}]."); + } + } + + /** + * Current company id from the tenant context (Filament tenant, then + * session, then the user's first company). Never caller-supplied. + */ + protected function companyId(): int + { + $tenant = Filament::getTenant(); + + if ($tenant !== null) { + return (int) $tenant->getKey(); + } + + if (session()?->has('current_company_id')) { + return (int) session('current_company_id'); + } + + $company = Auth::user()?->companies()->first(); + + if ($company !== null) { + return (int) $company->id; + } + + throw new RuntimeException('No company context available for report template storage.'); + } + + protected function uniqueSlug(string $scope, string $slug, ?ReportTemplateType $type): string + { + $this->assertValidSlug($slug); + + $candidate = $slug; + $suffix = 2; + + while ($this->exists($scope, $candidate, $type)) { + $candidate = $slug . '-' . $suffix++; + } + + return $candidate; + } + + protected function readJson(string $path): ?array + { + if ( ! Storage::disk(self::DISK)->exists($path)) { + return null; + } + + try { + $decoded = json_decode((string) Storage::disk(self::DISK)->get($path), true, 64, JSON_THROW_ON_ERROR); + } catch (JsonException) { + return null; + } + + return is_array($decoded) ? $decoded : null; + } + + protected function encodeJson(array $data): string + { + return json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR); + } +} diff --git a/Modules/Core/Support/PDF/Drivers/Browsershot.php b/Modules/Core/Support/PDF/Drivers/Browsershot.php new file mode 100644 index 000000000..562bc896d --- /dev/null +++ b/Modules/Core/Support/PDF/Drivers/Browsershot.php @@ -0,0 +1,70 @@ +getOutput($html)); + } + + public function getOutput($html) + { + return $this->getEngine($html)->pdf(); + } + + public function download($html, $filename) + { + $response = response($this->getOutput($html)); + + $response->header('Content-Type', 'application/pdf'); + $response->header('Content-Disposition', 'attachment; filename="' . $filename . '"'); + + return $response->send(); + } + + protected function getEngine($html): BrowsershotEngine + { + $engine = BrowsershotEngine::html($html) + ->format($this->paperSize) + ->showBackground() + /* + * Report HTML is app-generated only (never user-authored) and + * references images by local path, which Chromium blocks from + * file:// pages unless file access is allowed. + */ + ->addChromiumArguments(['allow-file-access-from-files']); + + if ($this->paperOrientation === 'landscape') { + $engine->landscape(); + } + + if (config('ip.browsershot.node_binary')) { + $engine->setNodeBinary(config('ip.browsershot.node_binary')); + } + + if (config('ip.browsershot.npm_binary')) { + $engine->setNpmBinary(config('ip.browsershot.npm_binary')); + } + + if (config('ip.browsershot.chrome_path')) { + $engine->setChromePath(config('ip.browsershot.chrome_path')); + } + + if (config('ip.browsershot.no_sandbox')) { + $engine->noSandbox(); + } + + return $engine; + } +} diff --git a/Modules/Core/Support/PDF/Drivers/domPDF.php b/Modules/Core/Support/PDF/Drivers/domPDF.php index 84e18b35b..2904e22ea 100644 --- a/Modules/Core/Support/PDF/Drivers/domPDF.php +++ b/Modules/Core/Support/PDF/Drivers/domPDF.php @@ -2,8 +2,9 @@ namespace Modules\Core\Support\PDF\Drivers; -use Dompdf\Dompdf as PDF; +use Dompdf\Dompdf as DompdfEngine; use Dompdf\Options; +use Illuminate\Support\Facades\File; use Modules\Core\Support\PDF\PDFAbstract; class domPDF extends PDFAbstract @@ -32,17 +33,21 @@ public function download($html, $filename) private function getPdf($html) { + $workDir = storage_path('app/dompdf'); + File::ensureDirectoryExists($workDir); + $options = new Options(); - $options->setTempDir(storage_path('/')); - $options->setFontDir(storage_path('/')); - $options->setFontCache(storage_path('/')); - $options->setLogOutputFile(storage_path('dompdf_log')); - $options->setIsRemoteEnabled(true); + $options->setTempDir($workDir); + $options->setFontDir($workDir); + $options->setFontCache($workDir); + $options->setLogOutputFile($workDir . '/dompdf.log'); + // Remote fetching stays disabled: images must resolve to local paths. + $options->setIsRemoteEnabled(false); $options->setIsHtml5ParserEnabled(true); $options->setIsFontSubsettingEnabled(true); - $pdf = new PDF($options); + $pdf = new DompdfEngine($options); $pdf->setPaper($this->paperSize, $this->paperOrientation); $pdf->loadHtml($html); diff --git a/Modules/Core/Tests/Feature/AdminReportBuilderTest.php b/Modules/Core/Tests/Feature/AdminReportBuilderTest.php new file mode 100644 index 000000000..e60d7ddfb --- /dev/null +++ b/Modules/Core/Tests/Feature/AdminReportBuilderTest.php @@ -0,0 +1,145 @@ +storage = new ReportTemplateStorage(); + + $this->artisan('reports:sync-system'); + } + + #[Test] + public function it_lists_system_templates_on_the_admin_list_page(): void + { + /* Act & Assert */ + Livewire::actingAs($this->superAdmin()) + ->test(ReportTemplates::class) + ->assertSuccessful() + ->assertSee('Default Invoice') + ->assertSee('Default Quote'); + } + + #[Test] + public function it_opens_the_builder_for_a_system_template_with_five_bands(): void + { + /* Act */ + $component = Livewire::actingAs($this->superAdmin()) + ->test(ReportBuilder::class, ['scope' => 'system', 'type' => 'invoice', 'slug' => 'default']) + ->assertSuccessful(); + + /* Assert */ + $bands = $component->get('data.bands'); + $this->assertSame( + ['header', 'group_header', 'details', 'group_footer', 'footer'], + array_keys($bands), + ); + $this->assertSame('header_company', $bands['header'][0]['attrs']['id']); + $this->assertSame('detail_items', $bands['details'][0]['attrs']['id']); + } + + #[Test] + public function it_returns_not_found_for_an_unknown_template(): void + { + /* Assert */ + $this->expectException(\Symfony\Component\HttpKernel\Exception\NotFoundHttpException::class); + + /* Act */ + Livewire::actingAs($this->superAdmin()) + ->test(ReportBuilder::class, ['scope' => 'system', 'type' => 'invoice', 'slug' => 'nope']); + } + + #[Test] + public function it_saves_the_edited_bands_back_to_disk(): void + { + /* Arrange */ + $component = Livewire::actingAs($this->superAdmin()) + ->test(ReportBuilder::class, ['scope' => 'system', 'type' => 'invoice', 'slug' => 'default']); + + $bands = $component->get('data.bands'); + $bands['header'][] = [ + 'type' => 'masonBrick', + 'attrs' => ['id' => 'spacer', 'config' => ['height' => 33]], + ]; + + /* Act */ + $component->set('data.bands', $bands)->call('save')->assertHasNoErrors(); + + /* Assert */ + $saved = $this->storage->load('system', 'default', ReportTemplateType::INVOICE); + $lastHeader = end($saved['bands']['header']); + $this->assertSame('spacer', $lastHeader['brick']); + $this->assertSame(['height' => 33], $lastHeader['config']); + } + + #[Test] + public function it_moves_a_brick_to_an_allowed_band(): void + { + /* Arrange */ + $component = Livewire::actingAs($this->superAdmin()) + ->test(ReportBuilder::class, ['scope' => 'system', 'type' => 'invoice', 'slug' => 'default']); + + /* Act — header_company may live in header or group_header */ + $component->call('moveBrick', 'header', 0, 'group_header'); + + /* Assert */ + $bands = $component->get('data.bands'); + $this->assertSame('header_client', $bands['header'][0]['attrs']['id']); + $this->assertSame('header_company', end($bands['group_header'])['attrs']['id']); + } + + #[Test] + public function it_refuses_to_move_a_brick_into_a_disallowed_band(): void + { + /* Arrange */ + $component = Livewire::actingAs($this->superAdmin()) + ->test(ReportBuilder::class, ['scope' => 'system', 'type' => 'invoice', 'slug' => 'default']); + + /* Act — detail_items must never land in the header band */ + $component->call('moveBrick', 'details', 0, 'header'); + + /* Assert */ + $bands = $component->get('data.bands'); + $this->assertSame('detail_items', $bands['details'][0]['attrs']['id']); + + foreach ($bands['header'] as $node) { + $this->assertNotSame('detail_items', $node['attrs']['id']); + } + } + + #[Test] + public function it_clones_a_system_template_into_the_system_scope_from_the_admin_panel(): void + { + /* Act */ + Livewire::actingAs($this->superAdmin()) + ->test(ReportTemplates::class) + ->callAction('clone', data: ['name' => 'Modern Invoice'], arguments: [ + 'scope' => 'system', + 'type' => 'invoice', + 'slug' => 'default', + ]) + ->assertHasNoErrors(); + + /* Assert */ + $clone = $this->storage->load('system', 'modern-invoice', ReportTemplateType::INVOICE); + $this->assertNotNull($clone); + $this->assertSame('Modern Invoice', $clone['manifest']['name']); + } +} diff --git a/Modules/Core/Tests/Feature/CompanyReportBuilderTest.php b/Modules/Core/Tests/Feature/CompanyReportBuilderTest.php new file mode 100644 index 000000000..68844d3db --- /dev/null +++ b/Modules/Core/Tests/Feature/CompanyReportBuilderTest.php @@ -0,0 +1,144 @@ +storage = new ReportTemplateStorage(); + + $this->artisan('reports:sync-system'); + } + + #[Test] + public function it_lists_system_and_company_templates_on_the_company_list_page(): void + { + /* Arrange */ + $this->storage->clone('system', 'default', 'Our Invoice', ReportTemplateType::INVOICE); + + /* Act & Assert */ + $this->testLivewire(ReportTemplates::class) + ->assertSuccessful() + ->assertSee('Default Invoice') + ->assertSee('Our Invoice'); + } + + #[Test] + public function it_treats_system_templates_as_read_only_in_the_company_panel(): void + { + /* Act */ + $component = $this->testLivewire(ReportBuilder::class, [ + 'scope' => 'system', + 'type' => 'invoice', + 'slug' => 'default', + ])->assertSuccessful(); + + /* Assert */ + $this->assertFalse($component->instance()->canSave()); + } + + #[Test] + public function it_blocks_saving_a_system_template_from_the_company_panel(): void + { + /* Arrange */ + $component = $this->testLivewire(ReportBuilder::class, [ + 'scope' => 'system', + 'type' => 'invoice', + 'slug' => 'default', + ]); + + /* Assert */ + $this->expectException(\Symfony\Component\HttpKernel\Exception\HttpException::class); + + /* Act */ + $component->call('save'); + } + + #[Test] + public function it_clones_a_system_template_and_saves_the_editable_company_copy(): void + { + /* Arrange */ + $this->testLivewire(ReportTemplates::class) + ->callAction('clone', data: ['name' => 'Our Invoice'], arguments: [ + 'scope' => 'system', + 'type' => 'invoice', + 'slug' => 'default', + ]) + ->assertHasNoErrors(); + + /* Act */ + $component = $this->testLivewire(ReportBuilder::class, [ + 'scope' => 'company', + 'type' => 'invoice', + 'slug' => 'our-invoice', + ])->assertSuccessful(); + + $this->assertTrue($component->instance()->canSave()); + + $bands = $component->get('data.bands'); + $bands['footer'][] = [ + 'type' => 'masonBrick', + 'attrs' => ['id' => 'page_break', 'config' => []], + ]; + + $component->set('data.bands', $bands)->call('save')->assertHasNoErrors(); + + /* Assert */ + $saved = $this->storage->load('company', 'our-invoice'); + $lastFooter = end($saved['bands']['footer']); + $this->assertSame('page_break', $lastFooter['brick']); + } + + #[Test] + public function it_deletes_a_company_template_from_the_list_page(): void + { + /* Arrange */ + $this->storage->clone('system', 'default', 'Doomed', ReportTemplateType::INVOICE); + + /* Act */ + $this->testLivewire(ReportTemplates::class) + ->callAction('delete', arguments: [ + 'scope' => 'company', + 'type' => 'invoice', + 'slug' => 'doomed', + ]) + ->assertHasNoErrors(); + + /* Assert */ + $this->assertNull($this->storage->load('company', 'doomed')); + } + + #[Test] + public function it_renames_a_company_template_from_the_list_page(): void + { + /* Arrange */ + $this->storage->clone('system', 'default', 'Old Name', ReportTemplateType::INVOICE); + + /* Act */ + $this->testLivewire(ReportTemplates::class) + ->callAction('rename', data: ['name' => 'New Name'], arguments: [ + 'scope' => 'company', + 'type' => 'invoice', + 'slug' => 'old-name', + ]) + ->assertHasNoErrors(); + + /* Assert */ + $this->assertSame('New Name', $this->storage->load('company', 'old-name')['manifest']['name']); + } +} diff --git a/Modules/Core/Tests/Feature/InvoiceTemplateSelectionTest.php b/Modules/Core/Tests/Feature/InvoiceTemplateSelectionTest.php new file mode 100644 index 000000000..53d98e1a2 --- /dev/null +++ b/Modules/Core/Tests/Feature/InvoiceTemplateSelectionTest.php @@ -0,0 +1,120 @@ +storage = new ReportTemplateStorage(); + + $this->artisan('reports:sync-system'); + } + + #[Test] + public function it_lists_disk_templates_as_options_for_the_invoice_type(): void + { + /* Arrange */ + $this->storage->clone('system', 'default', 'Fancy', ReportTemplateType::INVOICE); + + /* Act */ + $options = $this->storage->optionsForType(ReportTemplateType::INVOICE); + + /* Assert */ + $this->assertSame(['default' => 'Default Invoice', 'fancy' => 'Fancy'], $options); + } + + #[Test] + public function it_does_not_offer_quote_templates_for_invoices(): void + { + /* Act */ + $options = $this->storage->optionsForType(ReportTemplateType::INVOICE); + + /* Assert */ + $this->assertArrayHasKey('default', $options); + $this->assertNotContains('Default Quote', $options); + } + + #[Test] + public function it_shadows_a_system_template_with_a_company_clone_of_the_same_slug(): void + { + /* Arrange — clone, then rename the clone's manifest name */ + $clone = $this->storage->clone('system', 'default', 'Default', ReportTemplateType::INVOICE); + $this->storage->rename('company', $clone['slug'], 'Our House Default'); + + /* Act */ + $options = $this->storage->optionsForType(ReportTemplateType::INVOICE); + + /* Assert */ + $this->assertSame('Our House Default', $options['default']); + } + + #[Test] + public function it_persists_the_selected_template_slug_on_the_invoice(): void + { + /* Arrange */ + $this->storage->clone('system', 'default', 'Fancy', ReportTemplateType::INVOICE); + $invoice = $this->invoice(); + + /* Act */ + Livewire::actingAs($this->user) + ->test(EditInvoice::class, ['record' => $invoice->id]) + ->fillForm(['template' => 'fancy']) + ->call('save') + ->assertHasNoErrors(); + + /* Assert */ + $this->assertDatabaseHas('invoices', ['id' => $invoice->id, 'template' => 'fancy']); + } + + #[Test] + public function it_allows_clearing_the_template_back_to_the_company_default(): void + { + /* Arrange */ + $invoice = $this->invoice(); + $invoice->update(['template' => 'default']); + + /* Act */ + Livewire::actingAs($this->user) + ->test(EditInvoice::class, ['record' => $invoice->id]) + ->fillForm(['template' => null]) + ->call('save') + ->assertHasNoErrors(); + + /* Assert */ + $this->assertDatabaseHas('invoices', ['id' => $invoice->id, 'template' => null]); + } + + protected function invoice(): Invoice + { + $relation = Relation::factory()->create(['company_id' => $this->company->id]); + $numbering = \Modules\Core\Models\Numbering::factory()->create([ + 'company_id' => $this->company->id, + 'type' => \Modules\Core\Enums\NumberingType::INVOICE->value, + ]); + + return Invoice::factory()->create([ + 'company_id' => $this->company->id, + 'customer_id' => $relation->id, + 'user_id' => $this->user->id, + 'numbering_id' => $numbering->id, + 'template' => null, + ]); + } +} diff --git a/Modules/Core/Tests/Feature/PdfGenerationServiceTest.php b/Modules/Core/Tests/Feature/PdfGenerationServiceTest.php new file mode 100644 index 000000000..e0e6b26ab --- /dev/null +++ b/Modules/Core/Tests/Feature/PdfGenerationServiceTest.php @@ -0,0 +1,284 @@ +artisan('reports:sync-system'); + + $this->service = app(PdfGenerationService::class); + } + + #[Test] + public function it_resolves_the_system_default_template_when_nothing_is_configured(): void + { + /* Act */ + $template = $this->service->resolveTemplate($this->goldenInvoice()); + + /* Assert */ + $this->assertSame('default', $template['manifest']['slug']); + $this->assertSame('invoice', $template['manifest']['type']); + } + + #[Test] + public function it_prefers_the_documents_own_template_slug(): void + { + /* Arrange */ + $storage = new ReportTemplateStorage(); + $storage->clone('system', 'default', 'Special', \Modules\Core\Enums\ReportTemplateType::INVOICE); + + $invoice = $this->goldenInvoice(); + $invoice->update(['template' => 'special']); + + /* Act */ + $template = $this->service->resolveTemplate($invoice->fresh()); + + /* Assert */ + $this->assertSame('special', $template['manifest']['slug']); + } + + #[Test] + public function it_falls_back_to_the_company_default_template(): void + { + /* Arrange */ + $storage = new ReportTemplateStorage(); + $storage->clone('system', 'default', 'House Style', \Modules\Core\Enums\ReportTemplateType::INVOICE); + + $this->company->update(['invoice_template' => 'house-style']); + + /* Act */ + $template = $this->service->resolveTemplate($this->goldenInvoice()); + + /* Assert */ + $this->assertSame('house-style', $template['manifest']['slug']); + } + + #[Test] + public function it_falls_back_to_default_for_an_unknown_template_slug(): void + { + /* Arrange */ + $invoice = $this->goldenInvoice(); + $invoice->update(['template' => 'never-existed']); + + /* Act */ + $template = $this->service->resolveTemplate($invoice->fresh()); + + /* Assert */ + $this->assertSame('default', $template['manifest']['slug']); + } + + #[Test] + public function it_renders_invoice_html_containing_the_invoice_data(): void + { + /* Act */ + $html = $this->service->renderInvoiceHtml($this->goldenInvoice()); + + /* Assert */ + $this->assertStringContainsString('INV-GOLD-0001', $html); + $this->assertStringContainsString('Golden Client Ltd', $html); + $this->assertStringContainsString('Golden Widget', $html); + $this->assertStringContainsString('121.00', $html); + $this->assertStringContainsString('Golden footer', $html); + } + + #[Test] + public function it_produces_non_empty_pdf_bytes_for_an_invoice(): void + { + /* Act */ + $pdf = $this->service->invoicePdf($this->goldenInvoice()); + + /* Assert */ + $this->assertNotEmpty($pdf); + $this->assertStringStartsWith('%PDF', $pdf); + } + + #[Test] + public function it_produces_non_empty_pdf_bytes_for_a_quote(): void + { + /* Act */ + $pdf = $this->service->quotePdf($this->goldenQuote()); + + /* Assert */ + $this->assertNotEmpty($pdf); + $this->assertStringStartsWith('%PDF', $pdf); + } + + #[Test] + public function it_matches_the_golden_html_snapshot_for_the_default_quote_template(): void + { + /* Arrange */ + $fixture = __DIR__ . '/../Fixtures/report-templates/quote-default.html'; + + /* Act */ + $html = $this->service->renderQuoteHtml($this->goldenQuote()); + + $this->assertStringContainsString('Q-GOLD-0001', $html); + $this->assertStringContainsString('Golden Quote Widget', $html); + + if ( ! is_file($fixture)) { + @mkdir(dirname($fixture), 0775, true); + file_put_contents($fixture, $html); + $this->markTestIncomplete('Golden fixture created — rerun to verify.'); + } + + /* Assert */ + $this->assertSame(file_get_contents($fixture), $html); + } + + #[Test] + public function it_matches_the_golden_html_snapshot_for_the_default_invoice_template(): void + { + /* Arrange */ + $fixture = __DIR__ . '/../Fixtures/report-templates/invoice-default.html'; + + /* Act */ + $html = $this->service->renderInvoiceHtml($this->goldenInvoice()); + + if ( ! is_file($fixture)) { + @mkdir(dirname($fixture), 0775, true); + file_put_contents($fixture, $html); + $this->markTestIncomplete('Golden fixture created — rerun to verify.'); + } + + /* Assert */ + $this->assertSame(file_get_contents($fixture), $html); + } + + protected function goldenInvoice(): Invoice + { + $this->company->update(['vat_number' => 'VAT-GOLD-1', 'logo' => null]); + + /* Create a 21% tax rate for this company */ + $taxRate = \Modules\Core\Models\TaxRate::factory()->for($this->company)->create([ + 'name' => 'VAT Standard', + 'rate' => 21.00, + 'is_active' => true, + ]); + + $relation = Relation::factory()->create([ + 'company_id' => $this->company->id, + 'company_name' => 'Golden Client Ltd', + ]); + + $relation->addresses()->delete(); + $relation->addresses()->create([ + 'company_id' => $this->company->id, + 'address_type' => 'billing', + 'address_1' => 'Golden Street 1', + 'postal_code' => '1234 AB', + 'city' => 'Goldenburg', + 'country' => 'NL', + ]); + + $invoice = Invoice::factory()->create([ + 'company_id' => $this->company->id, + 'customer_id' => $relation->id, + 'user_id' => $this->user->id, + 'invoice_number' => 'INV-GOLD-0001', + 'invoice_status' => 'sent', + 'invoice_sign' => '1', + 'invoiced_at' => '2026-01-01', + 'invoice_due_at' => '2026-01-31', + 'invoice_discount_amount' => 0, + 'invoice_discount_percent' => 0, + 'invoice_item_subtotal' => 100.0000, + 'item_tax_total' => 21.0000, + 'invoice_tax_total' => 21.0000, + 'invoice_total' => 121.0000, + 'template' => null, + 'summary' => 'Golden summary', + 'terms' => 'Golden terms', + 'footer' => 'Golden footer', + ]); + + /* Create item directly without factory to avoid afterMaking recalculation */ + InvoiceItem::create([ + 'company_id' => $this->company->id, + 'invoice_id' => $invoice->id, + 'tax_rate_id' => $taxRate->id, + 'item_name' => 'Golden Widget', + 'quantity' => 2, + 'price' => 50.0000, + 'subtotal' => 100.0000, + 'tax_1' => 21.0000, + 'tax_2' => 0, + 'tax_total' => 21.0000, + 'total' => 121.0000, + ]); + + return $invoice->fresh(); + } + + protected function goldenQuote(): \Modules\Quotes\Models\Quote + { + $this->company->update(['vat_number' => 'VAT-GOLD-1', 'logo' => null]); + + /* Create a 21% tax rate for this company */ + $taxRate = \Modules\Core\Models\TaxRate::factory()->for($this->company)->create([ + 'name' => 'VAT Standard', + 'rate' => 21.00, + 'is_active' => true, + ]); + + $relation = Relation::factory()->create([ + 'company_id' => $this->company->id, + 'company_name' => 'Golden Client Ltd', + ]); + $relation->addresses()->delete(); + + $quote = \Modules\Quotes\Models\Quote::factory()->create([ + 'company_id' => $this->company->id, + 'prospect_id' => $relation->id, + 'user_id' => $this->user->id, + 'quote_number' => 'Q-GOLD-0001', + 'quote_status' => 'sent', + 'quoted_at' => '2026-01-01', + 'quote_expires_at' => '2026-01-31', + 'quote_discount_amount' => 0, + 'quote_discount_percent' => 0, + 'quote_item_subtotal' => 100.0000, + 'item_tax_total' => 21.0000, + 'quote_tax_total' => 21.0000, + 'quote_total' => 121.0000, + 'template' => null, + 'summary' => 'Golden quote summary', + 'terms' => 'Golden quote terms', + 'footer' => 'Golden quote footer', + ]); + + $quote->quoteItems()->delete(); + /* Create item directly without factory to avoid afterMaking recalculation */ + \Modules\Quotes\Models\QuoteItem::create([ + 'company_id' => $this->company->id, + 'quote_id' => $quote->id, + 'tax_rate_id' => $taxRate->id, + 'item_name' => 'Golden Quote Widget', + 'quantity' => 2, + 'price' => 50.0000, + 'subtotal' => 100.0000, + 'tax_1' => 21.0000, + 'tax_2' => 0, + 'tax_total' => 21.0000, + 'total' => 121.0000, + ]); + + return $quote->fresh(); + } +} diff --git a/Modules/Core/Tests/Feature/ReportsSyncSystemCommandTest.php b/Modules/Core/Tests/Feature/ReportsSyncSystemCommandTest.php new file mode 100644 index 000000000..172a5252b --- /dev/null +++ b/Modules/Core/Tests/Feature/ReportsSyncSystemCommandTest.php @@ -0,0 +1,71 @@ +artisan('reports:sync-system')->assertSuccessful(); + + /* Assert */ + $disk = Storage::disk(ReportTemplateStorage::DISK); + $this->assertTrue($disk->exists('system/invoice/default/manifest.json')); + $this->assertTrue($disk->exists('system/invoice/default/bands.json')); + $this->assertTrue($disk->exists('system/quote/default/manifest.json')); + $this->assertTrue($disk->exists('system/quote/default/bands.json')); + } + + #[Test] + public function it_is_idempotent_when_run_twice(): void + { + /* Act */ + $this->artisan('reports:sync-system')->assertSuccessful(); + $firstRun = Storage::disk(ReportTemplateStorage::DISK)->allFiles('system'); + + $this->artisan('reports:sync-system')->assertSuccessful(); + $secondRun = Storage::disk(ReportTemplateStorage::DISK)->allFiles('system'); + + /* Assert */ + $this->assertSame($firstRun, $secondRun); + + $storage = new ReportTemplateStorage(); + $this->assertCount(2, $storage->listSystem()); + } + + #[Test] + public function it_loads_a_synced_default_template_with_valid_bands(): void + { + /* Arrange */ + $this->artisan('reports:sync-system')->assertSuccessful(); + + /* Act */ + $storage = new ReportTemplateStorage(); + $template = $storage->load( + ReportTemplateStorage::SCOPE_SYSTEM, + 'default', + \Modules\Core\Enums\ReportTemplateType::INVOICE, + ); + + /* Assert */ + $this->assertNotNull($template); + $this->assertSame('invoice', $template['manifest']['type']); + $this->assertNotEmpty($template['bands']['header']); + $this->assertNotEmpty($template['bands']['details']); + $this->assertNotEmpty($template['bands']['footer']); + } +} diff --git a/Modules/Core/Tests/Fixtures/report-templates/invoice-default.html b/Modules/Core/Tests/Fixtures/report-templates/invoice-default.html new file mode 100644 index 000000000..05fd8d2f3 --- /dev/null +++ b/Modules/Core/Tests/Fixtures/report-templates/invoice-default.html @@ -0,0 +1,96 @@ + + + + + Default Invoice + + + +
+ + + + +
+ InvoicePlane Corporation
+
+
+ Phone:
+ Email:
+ Vat id: VAT-GOLD-1
+
+
+
+ Bill To
+ Golden Client Ltd
+ Golden Street 1
+ Goldenburg 1234 AB
+ Phone:
+ Email:
+
+
+
+ + + + + + + + + + + + + + + + + + + +
Task descriptionQuantityPriceTaxTotal
Golden Widget250.0021.00121.00
+
+
+ + \ No newline at end of file diff --git a/Modules/Core/Tests/Fixtures/report-templates/quote-default.html b/Modules/Core/Tests/Fixtures/report-templates/quote-default.html new file mode 100644 index 000000000..79f377007 --- /dev/null +++ b/Modules/Core/Tests/Fixtures/report-templates/quote-default.html @@ -0,0 +1,84 @@ + + + + + Default Quote + + + +
+ + + + +
+ InvoicePlane Corporation
+
+
+ Phone:
+ Email:
+ Vat id: VAT-GOLD-1
+
+
+
+ Bill To
+ Golden Client Ltd
+
+
+ Phone:
+ Email:
+
+
+
Quote Number: Q-GOLD-0001
+
Quote Date: 2026-01-01
+
Expiry Date: 2026-01-31
+
Status: sent
+
+
+ + + + + + + + + + + + + + + + + + + +
Task descriptionQuantityPriceTaxTotal
Golden Quote Widget250.0021.00121.00
+
+
+ + \ No newline at end of file diff --git a/Modules/Core/Tests/Unit/BrowsershotDriverTest.php b/Modules/Core/Tests/Unit/BrowsershotDriverTest.php new file mode 100644 index 000000000..875f80296 --- /dev/null +++ b/Modules/Core/Tests/Unit/BrowsershotDriverTest.php @@ -0,0 +1,41 @@ +set('ip.pdfDriver', 'Browsershot'); + + /* Assert */ + $this->assertInstanceOf(Browsershot::class, PDFFactory::create()); + } + + #[Test] + public function it_produces_pdf_bytes_from_html_when_chromium_is_available(): void + { + /* Arrange — opt-in driver: skip on hosts without Node/Chromium */ + if (mb_trim((string) shell_exec('command -v node 2>/dev/null')) === '') { + $this->markTestSkipped('Node is not available on this host.'); + } + + try { + $output = (new Browsershot())->getOutput('

Hello Chromium PDF

'); + } catch (Throwable $e) { + $this->markTestSkipped('Chromium/Puppeteer is not available: ' . mb_substr($e->getMessage(), 0, 120)); + } + + /* Assert */ + $this->assertNotEmpty($output); + $this->assertStringStartsWith('%PDF', $output); + } +} diff --git a/Modules/Core/Tests/Unit/DomPdfDriverTest.php b/Modules/Core/Tests/Unit/DomPdfDriverTest.php new file mode 100644 index 000000000..6698a7205 --- /dev/null +++ b/Modules/Core/Tests/Unit/DomPdfDriverTest.php @@ -0,0 +1,29 @@ +getOutput('

Hello PDF

'); + + /* Assert */ + $this->assertNotEmpty($output); + $this->assertStringStartsWith('%PDF', $output); + } + + #[Test] + public function it_is_the_configured_default_driver(): void + { + /* Assert */ + $this->assertInstanceOf(domPDF::class, PDFFactory::create()); + } +} diff --git a/Modules/Core/Tests/Unit/MasonBricksTest.php b/Modules/Core/Tests/Unit/MasonBricksTest.php new file mode 100644 index 000000000..916940c8d --- /dev/null +++ b/Modules/Core/Tests/Unit/MasonBricksTest.php @@ -0,0 +1,288 @@ +assertEquals('header_company', $id); + } + + #[Test] + public function it_header_company_brick_generates_preview_html(): void + { + /* Arrange */ + $config = [ + 'show_vat_id' => true, + 'show_phone' => true, + 'font_size' => 10, + ]; + + /* Act */ + $html = HeaderCompanyBrick::toPreviewHtml($config); + + /* Assert */ + $this->assertIsString($html); + $this->assertStringContainsString(trans('ip.company_name'), $html); + } + + #[Test] + public function it_header_company_brick_generates_render_html(): void + { + /* Arrange */ + $config = ['show_vat_id' => true]; + $data = [ + 'company' => [ + 'name' => 'Test Company', + 'vat_id' => '123456', + ], + ]; + + /* Act */ + $html = HeaderCompanyBrick::toHtml($config, $data); + + /* Assert */ + $this->assertIsString($html); + $this->assertStringContainsString('Test Company', $html); + } + + #[Test] + public function it_header_client_brick_has_correct_id(): void + { + /* Act */ + $id = HeaderClientBrick::getId(); + + /* Assert */ + $this->assertEquals('header_client', $id); + } + + #[Test] + public function it_header_client_brick_generates_html(): void + { + /* Arrange */ + $config = ['show_phone' => true]; + $data = [ + 'client' => [ + 'name' => 'Test Client', + 'phone' => '555-1234', + ], + ]; + + /* Act */ + $html = HeaderClientBrick::toHtml($config, $data); + + /* Assert */ + $this->assertIsString($html); + $this->assertStringContainsString('Test Client', $html); + } + + #[Test] + public function it_header_invoice_meta_brick_has_correct_id(): void + { + /* Act */ + $id = HeaderInvoiceMetaBrick::getId(); + + /* Assert */ + $this->assertEquals('header_invoice_meta', $id); + } + + #[Test] + public function it_header_invoice_meta_brick_shows_configured_fields(): void + { + /* Arrange */ + $config = [ + 'show_invoice_number' => true, + 'show_invoice_date' => true, + 'show_due_date' => false, + ]; + $data = [ + 'invoice' => [ + 'number' => 'INV-001', + 'date' => '2024-01-01', + ], + ]; + + /* Act */ + $html = HeaderInvoiceMetaBrick::toHtml($config, $data); + + /* Assert */ + $this->assertIsString($html); + $this->assertStringContainsString('INV-001', $html); + } + + #[Test] + public function it_detail_items_brick_has_correct_id(): void + { + /* Act */ + $id = DetailItemsBrick::getId(); + + /* Assert */ + $this->assertEquals('detail_items', $id); + } + + #[Test] + public function it_detail_items_brick_renders_items_table(): void + { + /* Arrange */ + $config = [ + 'show_description' => true, + 'show_quantity' => true, + 'show_price' => true, + ]; + $data = [ + 'items' => [ + [ + 'description' => 'Item 1', + 'quantity' => 2, + 'price' => '100.00', + ], + ], + ]; + + /* Act */ + $html = DetailItemsBrick::toHtml($config, $data); + + /* Assert */ + $this->assertIsString($html); + $this->assertStringContainsString('Item 1', $html); + } + + #[Test] + public function it_footer_totals_brick_has_correct_id(): void + { + /* Act */ + $id = FooterTotalsBrick::getId(); + + /* Assert */ + $this->assertEquals('footer_totals', $id); + } + + #[Test] + public function it_footer_totals_brick_displays_configured_totals(): void + { + /* Arrange */ + $config = [ + 'show_subtotal' => true, + 'show_tax' => true, + 'show_total' => true, + ]; + $data = [ + 'totals' => [ + 'subtotal' => '100.00', + 'tax' => '10.00', + 'total' => '110.00', + ], + ]; + + /* Act */ + $html = FooterTotalsBrick::toHtml($config, $data); + + /* Assert */ + $this->assertIsString($html); + $this->assertStringContainsString('110.00', $html); + } + + #[Test] + public function it_footer_notes_brick_has_correct_id(): void + { + /* Act */ + $id = FooterNotesBrick::getId(); + + /* Assert */ + $this->assertEquals('footer_notes', $id); + } + + #[Test] + public function it_footer_notes_brick_renders_custom_content(): void + { + /* Arrange */ + $config = [ + 'footer_content' => '

Custom payment terms

', + ]; + $data = []; + + /* Act */ + $html = FooterNotesBrick::toHtml($config, $data); + + /* Assert */ + $this->assertIsString($html); + $this->assertStringContainsString('Custom payment terms', $html); + } + + #[Test] + public function it_all_bricks_have_unique_ids(): void + { + /* Arrange */ + $bricks = [ + HeaderCompanyBrick::class, + HeaderClientBrick::class, + HeaderInvoiceMetaBrick::class, + DetailItemsBrick::class, + FooterTotalsBrick::class, + FooterNotesBrick::class, + ]; + + /* Act */ + $ids = array_map(fn ($brick) => $brick::getId(), $bricks); + + /* Assert */ + $this->assertCount(6, array_unique($ids)); + $this->assertCount(6, $ids); + } + + #[Test] + public function it_all_bricks_return_labels(): void + { + /* Arrange */ + $bricks = [ + HeaderCompanyBrick::class, + HeaderClientBrick::class, + HeaderInvoiceMetaBrick::class, + DetailItemsBrick::class, + FooterTotalsBrick::class, + FooterNotesBrick::class, + ]; + + /* Act & Assert */ + foreach ($bricks as $brick) { + $label = $brick::getLabel(); + $this->assertIsString($label); + $this->assertNotEmpty($label); + } + } + + #[Test] + public function it_all_bricks_return_icons(): void + { + /* Arrange */ + $bricks = [ + HeaderCompanyBrick::class, + HeaderClientBrick::class, + HeaderInvoiceMetaBrick::class, + DetailItemsBrick::class, + FooterTotalsBrick::class, + FooterNotesBrick::class, + ]; + + /* Act & Assert */ + foreach ($bricks as $brick) { + $icon = $brick::getIcon(); + $this->assertNotNull($icon); + } + } +} diff --git a/Modules/Core/Tests/Unit/MasonDocumentConverterTest.php b/Modules/Core/Tests/Unit/MasonDocumentConverterTest.php new file mode 100644 index 000000000..8080e86f8 --- /dev/null +++ b/Modules/Core/Tests/Unit/MasonDocumentConverterTest.php @@ -0,0 +1,105 @@ + 'header_company', 'width' => 'half', 'config' => ['show_vat_id' => true]], + ]); + + /* Assert */ + $this->assertCount(1, $state); + $this->assertSame('masonBrick', $state[0]['type']); + $this->assertSame('header_company', $state[0]['attrs']['id']); + $this->assertSame('half', $state[0]['attrs']['config'][MasonDocumentConverter::WIDTH_KEY]); + $this->assertTrue($state[0]['attrs']['config']['show_vat_id']); + $this->assertNotEmpty($state[0]['attrs']['label']); + $this->assertNotEmpty($state[0]['attrs']['preview']); + } + + #[Test] + public function it_skips_unknown_bricks_when_building_mason_state(): void + { + /* Act */ + $state = MasonDocumentConverter::toMasonState([ + ['brick' => 'does_not_exist', 'width' => 'full', 'config' => []], + ]); + + /* Assert */ + $this->assertSame([], $state); + } + + #[Test] + public function it_round_trips_entries_through_mason_state(): void + { + /* Arrange */ + $entries = [ + ['brick' => 'header_company', 'width' => 'half', 'config' => ['show_vat_id' => false]], + ['brick' => 'header_client', 'width' => 'full', 'config' => []], + ]; + + /* Act */ + $roundTripped = MasonDocumentConverter::toBandEntries( + MasonDocumentConverter::toMasonState($entries), + ); + + /* Assert */ + $this->assertSame('header_company', $roundTripped[0]['brick']); + $this->assertSame('half', $roundTripped[0]['width']); + $this->assertSame(['show_vat_id' => false], $roundTripped[0]['config']); + $this->assertSame('header_client', $roundTripped[1]['brick']); + $this->assertSame('full', $roundTripped[1]['width']); + $this->assertArrayNotHasKey(MasonDocumentConverter::WIDTH_KEY, $roundTripped[0]['config']); + } + + #[Test] + public function it_ignores_non_brick_nodes_in_mason_state(): void + { + /* Act */ + $entries = MasonDocumentConverter::toBandEntries([ + ['type' => 'paragraph', 'content' => []], + ['type' => 'masonBrick', 'attrs' => ['id' => 'spacer', 'config' => ['height' => 30]]], + ]); + + /* Assert */ + $this->assertCount(1, $entries); + $this->assertSame('spacer', $entries[0]['brick']); + } + + #[Test] + public function it_unwraps_a_content_wrapped_mason_document(): void + { + /* Act */ + $entries = MasonDocumentConverter::toBandEntries([ + 'type' => 'doc', + 'content' => [ + ['type' => 'masonBrick', 'attrs' => ['id' => 'page_break', 'config' => []]], + ], + ]); + + /* Assert */ + $this->assertCount(1, $entries); + $this->assertSame('page_break', $entries[0]['brick']); + } + + #[Test] + public function it_defaults_invalid_widths_to_full(): void + { + /* Act */ + $entries = MasonDocumentConverter::toBandEntries([ + ['type' => 'masonBrick', 'attrs' => ['id' => 'spacer', 'config' => [MasonDocumentConverter::WIDTH_KEY => 'bogus']]], + ]); + + /* Assert */ + $this->assertSame('full', $entries[0]['width']); + } +} diff --git a/Modules/Core/Tests/Unit/ReportBrickTest.php b/Modules/Core/Tests/Unit/ReportBrickTest.php new file mode 100644 index 000000000..16f24baf8 --- /dev/null +++ b/Modules/Core/Tests/Unit/ReportBrickTest.php @@ -0,0 +1,96 @@ +assertSame([ReportBand::HEADER, ReportBand::GROUP_HEADER], HeaderCompanyBrick::allowedBands()); + $this->assertSame([ReportBand::DETAILS], DetailItemsBrick::allowedBands()); + $this->assertSame([ReportBand::GROUP_FOOTER, ReportBand::FOOTER], FooterTotalsBrick::allowedBands()); + } + + #[Test] + public function it_derives_config_keys_from_the_configure_action_schema(): void + { + /* Act */ + $keys = HeaderCompanyBrick::configKeys(); + + /* Assert */ + $this->assertContains('show_vat_id', $keys); + $this->assertContains('font_size', $keys); + $this->assertNotContains('unknown_key', $keys); + } + + #[Test] + public function it_reports_config_keys_for_every_registered_brick_without_error(): void + { + /* Assert */ + foreach (ReportBricksCollection::all() as $brick) { + $this->assertIsArray($brick::configKeys(), "configKeys failed for {$brick}"); + } + } + + #[Test] + public function it_filters_config_to_declared_keys_only(): void + { + /* Act */ + $filtered = HeaderCompanyBrick::filterConfig([ + 'show_vat_id' => true, + 'injected' => 'payload', + ]); + + /* Assert */ + $this->assertSame(['show_vat_id' => true], $filtered); + } + + #[Test] + public function it_has_no_config_keys_for_the_page_break_brick(): void + { + /* Assert */ + $this->assertSame([], PageBreakBrick::configKeys()); + } + + #[Test] + public function it_renders_every_registered_brick_preview_and_html_without_error(): void + { + /* Assert */ + foreach (ReportBricksCollection::all() as $brick) { + $this->assertIsString($brick::toPreviewHtml([]), "toPreviewHtml failed for {$brick}"); + $this->assertIsString($brick::toHtml([], []), "toHtml failed for {$brick}"); + } + } + + #[Test] + public function it_renders_a_page_break_as_page_break_css(): void + { + /* Act */ + $html = PageBreakBrick::toHtml([], []); + + /* Assert */ + $this->assertStringContainsString('page-break-after: always', $html); + } + + #[Test] + public function it_renders_the_spacer_with_the_configured_height(): void + { + /* Act */ + $html = SpacerBrick::toHtml(['height' => 42], []); + + /* Assert */ + $this->assertStringContainsString('height: 42px', $html); + } +} diff --git a/Modules/Core/Tests/Unit/ReportBricksCollectionTest.php b/Modules/Core/Tests/Unit/ReportBricksCollectionTest.php new file mode 100644 index 000000000..5eb27fb05 --- /dev/null +++ b/Modules/Core/Tests/Unit/ReportBricksCollectionTest.php @@ -0,0 +1,167 @@ +assertIsArray($bricks); + $this->assertCount(19, $bricks); + } + + #[Test] + public function it_returns_header_bricks(): void + { + /* Act */ + $headerBricks = ReportBricksCollection::header(); + + /* Assert */ + $this->assertIsArray($headerBricks); + $this->assertCount(5, $headerBricks); + $this->assertContains(HeaderCompanyBrick::class, $headerBricks); + $this->assertContains(HeaderClientBrick::class, $headerBricks); + $this->assertContains(HeaderInvoiceMetaBrick::class, $headerBricks); + $this->assertContains(HeaderQuoteMetaBrick::class, $headerBricks); + $this->assertContains(HeaderProjectBrick::class, $headerBricks); + } + + #[Test] + public function it_returns_detail_bricks(): void + { + /* Act */ + $detailBricks = ReportBricksCollection::detail(); + + /* Assert */ + $this->assertIsArray($detailBricks); + $this->assertCount(8, $detailBricks); + $this->assertContains(DetailItemsBrick::class, $detailBricks); + $this->assertContains(DetailTasksBrick::class, $detailBricks); + $this->assertContains(DetailInvoiceProductBrick::class, $detailBricks); + $this->assertContains(DetailInvoiceProjectBrick::class, $detailBricks); + $this->assertContains(DetailQuoteProductBrick::class, $detailBricks); + $this->assertContains(DetailQuoteProjectBrick::class, $detailBricks); + $this->assertContains(DetailCustomerAgingBrick::class, $detailBricks); + $this->assertContains(DetailExpenseBrick::class, $detailBricks); + } + + #[Test] + public function it_returns_footer_bricks(): void + { + /* Act */ + $footerBricks = ReportBricksCollection::footer(); + + /* Assert */ + $this->assertIsArray($footerBricks); + $this->assertCount(4, $footerBricks); + $this->assertContains(FooterTotalsBrick::class, $footerBricks); + $this->assertContains(FooterNotesBrick::class, $footerBricks); + $this->assertContains(FooterTermsBrick::class, $footerBricks); + $this->assertContains(FooterSummaryBrick::class, $footerBricks); + } + + #[Test] + public function it_all_method_combines_all_sections(): void + { + /* Arrange */ + $headerCount = count(ReportBricksCollection::header()); + $detailCount = count(ReportBricksCollection::detail()); + $footerCount = count(ReportBricksCollection::footer()); + $utilityCount = count(ReportBricksCollection::utility()); + + /* Act */ + $allBricks = ReportBricksCollection::all(); + + /* Assert */ + $this->assertCount($headerCount + $detailCount + $footerCount + $utilityCount, $allBricks); + } + + #[Test] + public function it_returns_only_bricks_allowed_in_the_requested_band(): void + { + /* Act */ + $headerBricks = ReportBricksCollection::forBand(ReportBand::HEADER); + $detailBricks = ReportBricksCollection::forBand(ReportBand::DETAILS); + + /* Assert */ + $this->assertContains(HeaderCompanyBrick::class, $headerBricks); + $this->assertNotContains(DetailItemsBrick::class, $headerBricks); + $this->assertNotContains(FooterTotalsBrick::class, $headerBricks); + + $this->assertContains(DetailItemsBrick::class, $detailBricks); + $this->assertNotContains(HeaderCompanyBrick::class, $detailBricks); + } + + #[Test] + public function it_allows_utility_bricks_in_every_band(): void + { + /* Assert */ + foreach (ReportBand::cases() as $band) { + $bandBricks = ReportBricksCollection::forBand($band); + + $this->assertContains(PageBreakBrick::class, $bandBricks, "Page break should be allowed in {$band->value}"); + $this->assertContains(SpacerBrick::class, $bandBricks, "Spacer should be allowed in {$band->value}"); + } + } + + #[Test] + public function it_finds_a_brick_class_by_its_id(): void + { + /* Assert */ + $this->assertSame(HeaderCompanyBrick::class, ReportBricksCollection::findById('header_company')); + $this->assertSame(PageBreakBrick::class, ReportBricksCollection::findById('page_break')); + $this->assertNull(ReportBricksCollection::findById('does_not_exist')); + } + + #[Test] + public function it_all_bricks_are_valid_class_names(): void + { + /* Act */ + $allBricks = ReportBricksCollection::all(); + + /* Assert */ + foreach ($allBricks as $brick) { + $this->assertTrue(class_exists($brick), "Class {$brick} should exist"); + } + } + + #[Test] + public function it_no_duplicate_bricks_in_collection(): void + { + /* Act */ + $allBricks = ReportBricksCollection::all(); + + /* Assert */ + $uniqueBricks = array_unique($allBricks); + $this->assertCount(count($allBricks), $uniqueBricks); + } +} diff --git a/Modules/Core/Tests/Unit/ReportRendererTest.php b/Modules/Core/Tests/Unit/ReportRendererTest.php new file mode 100644 index 000000000..c685d422b --- /dev/null +++ b/Modules/Core/Tests/Unit/ReportRendererTest.php @@ -0,0 +1,124 @@ +renderer = new ReportRenderer(); + } + + #[Test] + public function it_renders_configured_bricks_with_entity_data(): void + { + /* Act */ + $html = $this->renderer->render($this->template([ + 'header' => [['brick' => 'header_company', 'width' => 'half', 'config' => []]], + 'details' => [['brick' => 'detail_items', 'width' => 'full', 'config' => []]], + ]), $this->data()); + + /* Assert */ + $this->assertStringContainsString('ACME Corp', $html); + $this->assertStringContainsString('Widget', $html); + $this->assertStringContainsString('report-band-header', $html); + $this->assertStringContainsString('report-band-details', $html); + } + + #[Test] + public function it_omits_fields_toggled_off_in_the_brick_config(): void + { + /* Act */ + $html = $this->renderer->render($this->template([ + 'header' => [['brick' => 'header_company', 'width' => 'full', 'config' => ['show_vat_id' => false]]], + ]), $this->data()); + + /* Assert */ + $this->assertStringContainsString('ACME Corp', $html); + $this->assertStringNotContainsString('VAT-123', $html); + } + + #[Test] + public function it_skips_bands_without_entries_and_unknown_bricks(): void + { + /* Act */ + $html = $this->renderer->render($this->template([ + 'header' => [['brick' => 'nonexistent_brick', 'width' => 'full', 'config' => []]], + ]), $this->data()); + + /* Assert */ + $this->assertStringNotContainsString('report-band-details', $html); + $this->assertStringNotContainsString('nonexistent', $html); + } + + #[Test] + public function it_marks_keep_together_bands_with_page_break_css(): void + { + /* Act */ + $html = $this->renderer->render($this->template( + ['footer' => [['brick' => 'footer_totals', 'width' => 'full', 'config' => []]]], + ['band_options' => ['footer' => ['keep_together' => true]]], + ), $this->data()); + + /* Assert */ + $this->assertStringContainsString('page-break-inside: avoid', $html); + } + + #[Test] + public function it_renders_manual_page_breaks_and_spacers(): void + { + /* Act */ + $html = $this->renderer->render($this->template([ + 'details' => [ + ['brick' => 'page_break', 'width' => 'full', 'config' => []], + ['brick' => 'spacer', 'width' => 'full', 'config' => ['height' => 55]], + ], + ]), $this->data()); + + /* Assert */ + $this->assertStringContainsString('page-break-after: always', $html); + $this->assertStringContainsString('height: 55px', $html); + } + + #[Test] + public function it_applies_block_widths_as_percentages(): void + { + /* Act */ + $html = $this->renderer->render($this->template([ + 'header' => [['brick' => 'header_company', 'width' => 'half', 'config' => []]], + ]), $this->data()); + + /* Assert */ + $this->assertStringContainsString('width: 50%', $html); + } + + protected function template(array $bands, array $manifest = []): array + { + return [ + 'manifest' => array_merge(['name' => 'Test', 'slug' => 'test', 'type' => 'invoice'], $manifest), + 'bands' => array_merge( + ['header' => [], 'group_header' => [], 'details' => [], 'group_footer' => [], 'footer' => []], + $bands, + ), + ]; + } + + protected function data(): array + { + return [ + 'company' => ['name' => 'ACME Corp', 'vat_id' => 'VAT-123', 'address' => 'Main Street 1'], + 'client' => ['name' => 'Client Co'], + 'invoice' => ['number' => 'INV-001', 'date' => '2026-01-01', 'due_date' => '2026-02-01'], + 'items' => [['description' => 'Widget', 'quantity' => 2, 'price' => '10.00', 'tax' => '4.00', 'total' => '24.00']], + 'totals' => ['subtotal' => '20.00', 'tax' => '4.00', 'total' => '24.00', 'paid' => '0.00', 'balance' => '24.00'], + ]; + } +} diff --git a/Modules/Core/Tests/Unit/ReportTemplateStorageTest.php b/Modules/Core/Tests/Unit/ReportTemplateStorageTest.php new file mode 100644 index 000000000..85176669a --- /dev/null +++ b/Modules/Core/Tests/Unit/ReportTemplateStorageTest.php @@ -0,0 +1,270 @@ +storage = new ReportTemplateStorage(); + + session()->put('current_company_id', 1); + } + + #[Test] + public function it_round_trips_a_saved_template_through_load(): void + { + /* Act */ + $this->storage->save(ReportTemplateStorage::SCOPE_COMPANY, 'test-template', $this->manifest(), $this->bands()); + $loaded = $this->storage->load(ReportTemplateStorage::SCOPE_COMPANY, 'test-template'); + + /* Assert */ + $this->assertNotNull($loaded); + $this->assertSame('Test Template', $loaded['manifest']['name']); + $this->assertSame('header_company', $loaded['bands']['header'][0]['brick']); + $this->assertSame(['show_vat_id' => false], $loaded['bands']['header'][0]['config']); + $this->assertSame('detail_items', $loaded['bands']['details'][0]['brick']); + } + + #[Test] + public function it_skips_unknown_bricks_when_sanitizing_bands(): void + { + /* Act */ + $sanitized = $this->storage->sanitizeBands([ + 'header' => [ + ['brick' => 'header_company', 'width' => 'half', 'config' => []], + ['brick' => 'evil_unknown_brick', 'width' => 'half', 'config' => []], + ], + ]); + + /* Assert */ + $this->assertCount(1, $sanitized['header']); + $this->assertSame('header_company', $sanitized['header'][0]['brick']); + } + + #[Test] + public function it_skips_bricks_placed_in_a_disallowed_band(): void + { + /* Act */ + $sanitized = $this->storage->sanitizeBands([ + 'header' => [['brick' => 'detail_items', 'width' => 'full', 'config' => []]], + ]); + + /* Assert */ + $this->assertSame([], $sanitized['header']); + } + + #[Test] + public function it_falls_back_to_full_width_for_invalid_widths(): void + { + /* Act */ + $sanitized = $this->storage->sanitizeBands([ + 'header' => [['brick' => 'header_company', 'width' => 'gigantic', 'config' => []]], + ]); + + /* Assert */ + $this->assertSame('full', $sanitized['header'][0]['width']); + } + + #[Test] + public function it_filters_brick_config_against_the_brick_schema(): void + { + /* Act */ + $sanitized = $this->storage->sanitizeBands([ + 'header' => [[ + 'brick' => 'header_company', + 'width' => 'half', + 'config' => ['show_vat_id' => true, 'malicious_key' => ' diff --git a/resources/views/mason/bricks/detail-items/preview.blade.php b/resources/views/mason/bricks/detail-items/preview.blade.php index 934d27340..d6adc5cbf 100644 --- a/resources/views/mason/bricks/detail-items/preview.blade.php +++ b/resources/views/mason/bricks/detail-items/preview.blade.php @@ -3,58 +3,23 @@ ]) @php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' }; @endphp -
-
- - - - @if($config['show_description'] ?? true) - - @endif - @if($config['show_quantity'] ?? true) - - @endif - @if($config['show_price'] ?? true) - - @endif - @if($config['show_tax'] ?? true) - - @endif - @if($config['show_total'] ?? true) - - @endif +
+
+ {{ trans('ip.line_items') }} +
{{ trans('ip.description') }}{{ trans('ip.quantity') }}{{ trans('ip.price') }}{{ trans('ip.tax') }}{{ trans('ip.total') }}
+ + @if($config['show_description'] ?? true)@endif + @if($config['show_quantity'] ?? true)@endif + @if($config['show_price'] ?? true)@endif - - - @for($i = 1; $i <= 3; $i++) - - @if($config['show_description'] ?? true) - - @endif - @if($config['show_quantity'] ?? true) - - @endif - @if($config['show_price'] ?? true) - - @endif - @if($config['show_tax'] ?? true) - - @endif - @if($config['show_total'] ?? true) - - @endif - - @endfor - -
{{ trans('ip.description') }}{{ trans('ip.qty') }}{{ trans('ip.price') }}
{{ trans('ip.item') }} {{ $i }}{{ $i }}$100.00$10.00$110.00
- -
+ +
diff --git a/resources/views/mason/bricks/header-client/preview.blade.php b/resources/views/mason/bricks/header-client/preview.blade.php index 5b1c341a6..be615501c 100644 --- a/resources/views/mason/bricks/header-client/preview.blade.php +++ b/resources/views/mason/bricks/header-client/preview.blade.php @@ -9,29 +9,14 @@ 'two_thirds' => '66.66%', default => '100%' }; -$bgColor = match($config['_width'] ?? 'full') { - 'one_third' => '#fcd34d', - 'half' => '#86efac', - 'two_thirds' => '#93c5fd', - default => '#fca5a5' -}; @endphp -
-
- CLIENT [{{ $config['_width'] ?? 'NONE' }}] -
-

{{ trans('ip.bill_to') }}

-

{{ trans('ip.client_name') }}

- @if($config['show_address'] ?? true) -

{{ trans('ip.client_address') }}

- @endif - @if($config['show_phone'] ?? true) -

{{ trans('ip.phone') }}: +1 555 123 4567

- @endif - @if($config['show_email'] ?? true) -

{{ trans('ip.email') }}: client@example.com

- @endif -
+
+
+ {{ trans('ip.bill_to') }} +
{{ trans('ip.client_name') }} + @if($config['show_address'] ?? true)
{{ trans('ip.client_address') }}@endif + @if($config['show_phone'] ?? true)
{{ trans('ip.phone') }}@endif + @if($config['show_email'] ?? true)
{{ trans('ip.email') }}@endif
diff --git a/resources/views/mason/bricks/header-company/preview.blade.php b/resources/views/mason/bricks/header-company/preview.blade.php index 06d0b1dc2..0d757b20d 100644 --- a/resources/views/mason/bricks/header-company/preview.blade.php +++ b/resources/views/mason/bricks/header-company/preview.blade.php @@ -2,15 +2,6 @@ 'config' => [] ]) -@php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', -}; -@endphp - @php $widthValue = match($config['_width'] ?? 'full') { 'one_third' => '33.33%', @@ -18,39 +9,14 @@ 'two_thirds' => '66.66%', default => '100%' }; -$bgColor = match($config['_width'] ?? 'full') { - 'one_third' => '#fcd34d', - 'half' => '#86efac', - 'two_thirds' => '#93c5fd', - default => '#fca5a5' -}; @endphp -
-
- COMPANY [{{ $config['_width'] ?? 'NONE' }}] -
- @if($config['show_logo'] ?? true) -
- - - -
- @endif -
-

{{ trans('ip.company_name') }}

- @if($config['show_address'] ?? true) -

{{ trans('ip.company_address') }}

- @endif - @if($config['show_phone'] ?? true) -

{{ trans('ip.phone') }}: +1 234 567 890

- @endif - @if($config['show_email'] ?? true) -

{{ trans('ip.email') }}: info@company.com

- @endif - @if($config['show_vat_id'] ?? true) -

{{ trans('ip.vat_id') }}: 12345678

- @endif -
-
+ +
+
+ {{ trans('ip.company_name') }} + @if($config['show_address'] ?? true)
{{ trans('ip.company_address') }}@endif + @if($config['show_phone'] ?? true)
{{ trans('ip.phone') }}@endif + @if($config['show_email'] ?? true)
{{ trans('ip.email') }}@endif + @if($config['show_vat_id'] ?? true)
{{ trans('ip.vat_id') }}@endif
diff --git a/resources/views/vendor/mason/iframe-preview-content.blade.php b/resources/views/vendor/mason/iframe-preview-content.blade.php new file mode 100644 index 000000000..1d8e83b9a --- /dev/null +++ b/resources/views/vendor/mason/iframe-preview-content.blade.php @@ -0,0 +1,724 @@ +{{-- Override of Mason's iframe-preview-content to display actual brick previews --}} + +
+ @if (empty($blocks)) +
+ {{ __('mason::mason.preview.placeholder') }} +
+ @else +
+ @foreach ($blocks as $block) +
+
+ + + + + +
+
+ {{-- Decode the base64-encoded preview HTML from the brick --}} + @php + $decodedHtml = ''; + if (isset($block['preview']) && is_string($block['preview'])) { + $decodedHtml = base64_decode($block['preview']); + } elseif (isset($block['html']) && is_string($block['html'])) { + $decodedHtml = $block['html']; + } + @endphp + {!! $decodedHtml !!} +
+
+
+ @endforeach + @endif +
+ + From 804dada49c5fd310f97da782cf300b7b00362e62 Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Sun, 16 Aug 2026 18:43:43 +0200 Subject: [PATCH 31/86] feat: implement canvas block layout with flexbox and width-based sizing - Add flexbox layout to mason-preview-container for proper block arrangement - Implement width-based flex-basis calculation in JavaScript (full/half/one_third/two_thirds) - Add block-level styling with padding for visual spacing between blocks - Include drop zone styling with yellow highlights and animations - Support dynamic block width updates on page load and content changes Related to #130 --- .../Pages/Reports/BaseReportBuilderPage.php | 2 +- .../bricks/detail-items/preview.blade.php | 4 +- .../bricks/header-client/preview.blade.php | 4 +- .../bricks/header-company/preview.blade.php | 4 +- .../mason/iframe-preview-content.blade.php | 39 ++++++++++++++++++- 5 files changed, 45 insertions(+), 8 deletions(-) diff --git a/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php b/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php index 8b5637dbb..ebd25330a 100644 --- a/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php +++ b/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php @@ -233,7 +233,7 @@ protected function renderPreviewHtml(): string } if ($bandHtml) { - $html .= '
' . $bandHtml . '
'; + $html .= '
' . $bandHtml . '
'; } } diff --git a/resources/views/mason/bricks/detail-items/preview.blade.php b/resources/views/mason/bricks/detail-items/preview.blade.php index d6adc5cbf..c52b2d62b 100644 --- a/resources/views/mason/bricks/detail-items/preview.blade.php +++ b/resources/views/mason/bricks/detail-items/preview.blade.php @@ -11,8 +11,8 @@ }; @endphp -
-
+
+
{{ trans('ip.line_items') }} diff --git a/resources/views/mason/bricks/header-client/preview.blade.php b/resources/views/mason/bricks/header-client/preview.blade.php index be615501c..5313e84c5 100644 --- a/resources/views/mason/bricks/header-client/preview.blade.php +++ b/resources/views/mason/bricks/header-client/preview.blade.php @@ -11,8 +11,8 @@ }; @endphp -
-
+
+
{{ trans('ip.bill_to') }}
{{ trans('ip.client_name') }} @if($config['show_address'] ?? true)
{{ trans('ip.client_address') }}@endif diff --git a/resources/views/mason/bricks/header-company/preview.blade.php b/resources/views/mason/bricks/header-company/preview.blade.php index 0d757b20d..84aae8a0d 100644 --- a/resources/views/mason/bricks/header-company/preview.blade.php +++ b/resources/views/mason/bricks/header-company/preview.blade.php @@ -11,8 +11,8 @@ }; @endphp -
-
+
+
{{ trans('ip.company_name') }} @if($config['show_address'] ?? true)
{{ trans('ip.company_address') }}@endif @if($config['show_phone'] ?? true)
{{ trans('ip.phone') }}@endif diff --git a/resources/views/vendor/mason/iframe-preview-content.blade.php b/resources/views/vendor/mason/iframe-preview-content.blade.php index 1d8e83b9a..045ac3ee8 100644 --- a/resources/views/vendor/mason/iframe-preview-content.blade.php +++ b/resources/views/vendor/mason/iframe-preview-content.blade.php @@ -27,8 +27,12 @@ } .mason-block { - flex: 0 0 auto; + flex-grow: 0; + flex-shrink: 0; + flex-basis: auto; min-width: 0; + padding-right: 8px; + box-sizing: border-box; transition: box-shadow 0.2s ease; } @@ -38,6 +42,7 @@ } .mason-block-content { + width: 100%; font-size: 0; } .mason-block-content > * { @@ -224,7 +229,29 @@ function postToParent(message) { } }) + function applyBlockWidths() { + document.querySelectorAll('.mason-block').forEach(blockEl => { + const configStr = blockEl.getAttribute('data-config') + if (configStr) { + try { + const config = JSON.parse(configStr) + const widthValue = config._width || 'full' + const widthPercent = { + 'one_third': '33.33%', + 'half': '50%', + 'two_thirds': '66.66%', + 'full': '100%' + }[widthValue] || '100%' + blockEl.style.flexBasis = widthPercent + } catch (e) { + // Fallback if config parsing fails + } + } + }) + } + window.addEventListener('load', function () { + applyBlockWidths() updateAllMoveButtons() postToParent({ type: 'ready' }) }) @@ -290,6 +317,16 @@ function updateContent(blocks) { blockEl.setAttribute('data-config', JSON.stringify(config)) blockEl.setAttribute('data-total-blocks', blocks.length.toString()) + // Set width based on brick config + const widthValue = config._width || 'full' + const widthPercent = { + 'one_third': '33.33%', + 'half': '50%', + 'two_thirds': '66.66%', + 'full': '100%' + }[widthValue] || '100%' + blockEl.style.flexBasis = widthPercent + blockEl.innerHTML = `
- - - @if($config['show_invoice_number'] ?? true) - - @endif - @if($config['show_invoice_date'] ?? true) - - @endif - @if($config['show_due_date'] ?? true) - - @endif - @if($config['show_current'] ?? true) - - @endif - @if($config['show_30_days'] ?? true) - - @endif - @if($config['show_60_days'] ?? true) - - @endif - @if($config['show_90_days'] ?? true) - - @endif - @if($config['show_over_90_days'] ?? true) - - @endif - @if($config['show_total_due'] ?? true) - - @endif +
+
+
{{ trans('ip.invoice') }}{{ trans('ip.date') }}{{ trans('ip.due_date') }}{{ trans('ip.current') }}{{ trans('ip.days_30') }}{{ trans('ip.days_60') }}{{ trans('ip.days_90') }}{{ trans('ip.over_90') }}{{ trans('ip.total_due') }}
+ + @if($config['show_invoice_number'] ?? true)@endif + @if($config['show_invoice_date'] ?? true)@endif + @if($config['show_due_date'] ?? true)@endif + @if($config['show_current'] ?? true)@endif + @if($config['show_30_days'] ?? true)@endif + @if($config['show_60_days'] ?? true)@endif + @if($config['show_90_days'] ?? true)@endif + @if($config['show_over_90_days'] ?? true)@endif + @if($config['show_total_due'] ?? true)@endif - - - @for($i = 1; $i <= 3; $i++) - - @if($config['show_invoice_number'] ?? true) - - @endif - @if($config['show_invoice_date'] ?? true) - - @endif - @if($config['show_due_date'] ?? true) - - @endif - @if($config['show_current'] ?? true) - - @endif - @if($config['show_30_days'] ?? true) - - @endif - @if($config['show_60_days'] ?? true) - - @endif - @if($config['show_90_days'] ?? true) - - @endif - @if($config['show_over_90_days'] ?? true) - - @endif - @if($config['show_total_due'] ?? true) - - @endif - - @endfor - - - - - @if($config['show_current'] ?? true) - - @endif - @if($config['show_30_days'] ?? true) - - @endif - @if($config['show_60_days'] ?? true) - - @endif - @if($config['show_90_days'] ?? true) - - @endif - @if($config['show_over_90_days'] ?? true) - - @endif - @if($config['show_total_due'] ?? true) - - @endif - - -
{{ trans('ip.invoice') }}{{ trans('ip.date') }}{{ trans('ip.due_date') }}{{ trans('ip.current') }}{{ trans('ip.days_30') }}{{ trans('ip.days_60') }}{{ trans('ip.days_90') }}{{ trans('ip.over_90') }}{{ trans('ip.total_due') }}
INV-{{ str_pad($i, 4, '0', STR_PAD_LEFT) }}{{ now()->subDays($i * 30)->format('Y-m-d') }}{{ now()->subDays(($i * 30) - 30)->format('Y-m-d') }}{{ $i == 1 ? '$1,500.00' : '-' }}{{ $i == 2 ? '$2,300.00' : '-' }}{{ $i == 3 ? '$800.00' : '-' }}--{{ $i == 1 ? '$1,500.00' : ($i == 2 ? '$2,300.00' : '$800.00') }}
{{ trans('ip.total') }}$1,500.00$2,300.00$800.00$0.00$0.00$4,600.00
- -
+ +
diff --git a/resources/views/mason/bricks/detail-expense/preview.blade.php b/resources/views/mason/bricks/detail-expense/preview.blade.php index 4395b77c9..204d4c69a 100644 --- a/resources/views/mason/bricks/detail-expense/preview.blade.php +++ b/resources/views/mason/bricks/detail-expense/preview.blade.php @@ -3,70 +3,26 @@ ]) @php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' }; @endphp -
-
- - - - @if($config['show_expense_number'] ?? true) - - @endif - @if($config['show_expense_date'] ?? true) - - @endif - @if($config['show_category'] ?? true) - - @endif - @if($config['show_vendor'] ?? false) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_amount'] ?? true) - - @endif - @if($config['show_status'] ?? true) - - @endif +
+
+
{{ trans('ip.expense_number') }}{{ trans('ip.date') }}{{ trans('ip.category') }}{{ trans('ip.vendor') }}{{ trans('ip.description') }}{{ trans('ip.amount') }}{{ trans('ip.status') }}
+ + @if($config['show_expense_number'] ?? true)@endif + @if($config['show_expense_date'] ?? true)@endif + @if($config['show_category'] ?? true)@endif + @if($config['show_vendor'] ?? false)@endif + @if($config['show_description'] ?? true)@endif + @if($config['show_amount'] ?? true)@endif + @if($config['show_status'] ?? true)@endif - - - @for($i = 1; $i <= 3; $i++) - - @if($config['show_expense_number'] ?? true) - - @endif - @if($config['show_expense_date'] ?? true) - - @endif - @if($config['show_category'] ?? true) - - @endif - @if($config['show_vendor'] ?? false) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_amount'] ?? true) - - @endif - @if($config['show_status'] ?? true) - - @endif - - @endfor - -
{{ trans('ip.expense_number') }}{{ trans('ip.date') }}{{ trans('ip.category') }}{{ trans('ip.vendor') }}{{ trans('ip.description') }}{{ trans('ip.amount') }}{{ trans('ip.status') }}
EXP-{{ str_pad($i, 4, '0', STR_PAD_LEFT) }}{{ now()->subDays($i * 5)->format('Y-m-d') }}{{ trans('ip.category') }} {{ $i }}{{ trans('ip.vendor') }} {{ $i }}{{ trans('ip.expense_description') }}${{ $i * 250 }}.00{{ $i % 2 == 0 ? trans('ip.paid') : trans('ip.pending') }}
- -
+ +
diff --git a/resources/views/mason/bricks/detail-invoice-product/preview.blade.php b/resources/views/mason/bricks/detail-invoice-product/preview.blade.php index 4e84036c2..910aa9b69 100644 --- a/resources/views/mason/bricks/detail-invoice-product/preview.blade.php +++ b/resources/views/mason/bricks/detail-invoice-product/preview.blade.php @@ -3,70 +3,26 @@ ]) @php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' }; @endphp -
-
- - - - @if($config['show_sku'] ?? true) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_quantity'] ?? true) - - @endif - @if($config['show_unit_price'] ?? true) - - @endif - @if($config['show_tax'] ?? true) - - @endif - @if($config['show_discount'] ?? false) - - @endif - @if($config['show_total'] ?? true) - - @endif +
+
+
{{ trans('ip.sku') }}{{ trans('ip.description') }}{{ trans('ip.quantity') }}{{ trans('ip.unit_price') }}{{ trans('ip.tax') }}{{ trans('ip.discount') }}{{ trans('ip.total') }}
+ + @if($config['show_sku'] ?? true)@endif + @if($config['show_description'] ?? true)@endif + @if($config['show_quantity'] ?? true)@endif + @if($config['show_unit_price'] ?? true)@endif + @if($config['show_tax'] ?? true)@endif + @if($config['show_discount'] ?? false)@endif + @if($config['show_total'] ?? true)@endif - - - @for($i = 1; $i <= 3; $i++) - - @if($config['show_sku'] ?? true) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_quantity'] ?? true) - - @endif - @if($config['show_unit_price'] ?? true) - - @endif - @if($config['show_tax'] ?? true) - - @endif - @if($config['show_discount'] ?? false) - - @endif - @if($config['show_total'] ?? true) - - @endif - - @endfor - -
{{ trans('ip.sku') }}{{ trans('ip.description') }}{{ trans('ip.quantity') }}{{ trans('ip.unit_price') }}{{ trans('ip.tax') }}{{ trans('ip.discount') }}{{ trans('ip.total') }}
SKU-{{ str_pad($i, 3, '0', STR_PAD_LEFT) }}{{ trans('ip.product') }} {{ $i }}{{ $i }}$100.00$10.00$0.00$110.00
- -
+ +
diff --git a/resources/views/mason/bricks/detail-invoice-project/preview.blade.php b/resources/views/mason/bricks/detail-invoice-project/preview.blade.php index 2e65e8bb9..f54617be7 100644 --- a/resources/views/mason/bricks/detail-invoice-project/preview.blade.php +++ b/resources/views/mason/bricks/detail-invoice-project/preview.blade.php @@ -3,64 +3,25 @@ ]) @php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' }; @endphp -
-
- - - - @if($config['show_project_name'] ?? true) - - @endif - @if($config['show_task_name'] ?? true) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_hours'] ?? true) - - @endif - @if($config['show_rate'] ?? true) - - @endif - @if($config['show_total'] ?? true) - - @endif +
+
+
{{ trans('ip.project') }}{{ trans('ip.task') }}{{ trans('ip.description') }}{{ trans('ip.hours') }}{{ trans('ip.rate') }}{{ trans('ip.total') }}
+ + @if($config['show_project_name'] ?? true)@endif + @if($config['show_task_name'] ?? true)@endif + @if($config['show_description'] ?? true)@endif + @if($config['show_hours'] ?? true)@endif + @if($config['show_rate'] ?? true)@endif + @if($config['show_total'] ?? true)@endif - - - @for($i = 1; $i <= 3; $i++) - - @if($config['show_project_name'] ?? true) - - @endif - @if($config['show_task_name'] ?? true) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_hours'] ?? true) - - @endif - @if($config['show_rate'] ?? true) - - @endif - @if($config['show_total'] ?? true) - - @endif - - @endfor - -
{{ trans('ip.project') }}{{ trans('ip.task') }}{{ trans('ip.description') }}{{ trans('ip.hours') }}{{ trans('ip.rate') }}{{ trans('ip.total') }}
{{ trans('ip.project') }} {{ $i }}{{ trans('ip.task') }} {{ $i }}{{ trans('ip.task_description') }}{{ $i * 5 }}$75.00${{ $i * 5 * 75 }}.00
- -
+ +
diff --git a/resources/views/mason/bricks/detail-quote-product/preview.blade.php b/resources/views/mason/bricks/detail-quote-product/preview.blade.php index 4e84036c2..910aa9b69 100644 --- a/resources/views/mason/bricks/detail-quote-product/preview.blade.php +++ b/resources/views/mason/bricks/detail-quote-product/preview.blade.php @@ -3,70 +3,26 @@ ]) @php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' }; @endphp -
-
- - - - @if($config['show_sku'] ?? true) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_quantity'] ?? true) - - @endif - @if($config['show_unit_price'] ?? true) - - @endif - @if($config['show_tax'] ?? true) - - @endif - @if($config['show_discount'] ?? false) - - @endif - @if($config['show_total'] ?? true) - - @endif +
+
+
{{ trans('ip.sku') }}{{ trans('ip.description') }}{{ trans('ip.quantity') }}{{ trans('ip.unit_price') }}{{ trans('ip.tax') }}{{ trans('ip.discount') }}{{ trans('ip.total') }}
+ + @if($config['show_sku'] ?? true)@endif + @if($config['show_description'] ?? true)@endif + @if($config['show_quantity'] ?? true)@endif + @if($config['show_unit_price'] ?? true)@endif + @if($config['show_tax'] ?? true)@endif + @if($config['show_discount'] ?? false)@endif + @if($config['show_total'] ?? true)@endif - - - @for($i = 1; $i <= 3; $i++) - - @if($config['show_sku'] ?? true) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_quantity'] ?? true) - - @endif - @if($config['show_unit_price'] ?? true) - - @endif - @if($config['show_tax'] ?? true) - - @endif - @if($config['show_discount'] ?? false) - - @endif - @if($config['show_total'] ?? true) - - @endif - - @endfor - -
{{ trans('ip.sku') }}{{ trans('ip.description') }}{{ trans('ip.quantity') }}{{ trans('ip.unit_price') }}{{ trans('ip.tax') }}{{ trans('ip.discount') }}{{ trans('ip.total') }}
SKU-{{ str_pad($i, 3, '0', STR_PAD_LEFT) }}{{ trans('ip.product') }} {{ $i }}{{ $i }}$100.00$10.00$0.00$110.00
- -
+ +
diff --git a/resources/views/mason/bricks/detail-quote-project/preview.blade.php b/resources/views/mason/bricks/detail-quote-project/preview.blade.php index 2e65e8bb9..f54617be7 100644 --- a/resources/views/mason/bricks/detail-quote-project/preview.blade.php +++ b/resources/views/mason/bricks/detail-quote-project/preview.blade.php @@ -3,64 +3,25 @@ ]) @php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' }; @endphp -
-
- - - - @if($config['show_project_name'] ?? true) - - @endif - @if($config['show_task_name'] ?? true) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_hours'] ?? true) - - @endif - @if($config['show_rate'] ?? true) - - @endif - @if($config['show_total'] ?? true) - - @endif +
+
+
{{ trans('ip.project') }}{{ trans('ip.task') }}{{ trans('ip.description') }}{{ trans('ip.hours') }}{{ trans('ip.rate') }}{{ trans('ip.total') }}
+ + @if($config['show_project_name'] ?? true)@endif + @if($config['show_task_name'] ?? true)@endif + @if($config['show_description'] ?? true)@endif + @if($config['show_hours'] ?? true)@endif + @if($config['show_rate'] ?? true)@endif + @if($config['show_total'] ?? true)@endif - - - @for($i = 1; $i <= 3; $i++) - - @if($config['show_project_name'] ?? true) - - @endif - @if($config['show_task_name'] ?? true) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_hours'] ?? true) - - @endif - @if($config['show_rate'] ?? true) - - @endif - @if($config['show_total'] ?? true) - - @endif - - @endfor - -
{{ trans('ip.project') }}{{ trans('ip.task') }}{{ trans('ip.description') }}{{ trans('ip.hours') }}{{ trans('ip.rate') }}{{ trans('ip.total') }}
{{ trans('ip.project') }} {{ $i }}{{ trans('ip.task') }} {{ $i }}{{ trans('ip.task_description') }}{{ $i * 5 }}$75.00${{ $i * 5 * 75 }}.00
- -
+ +
diff --git a/resources/views/mason/bricks/detail-tasks/preview.blade.php b/resources/views/mason/bricks/detail-tasks/preview.blade.php index a64cda7f4..06e316a60 100644 --- a/resources/views/mason/bricks/detail-tasks/preview.blade.php +++ b/resources/views/mason/bricks/detail-tasks/preview.blade.php @@ -1,51 +1,28 @@ -
-
{{ trans('ip.tasks_table') }}
- - - - @if($config['show_task_number'] ?? true) - - @endif - @if($config['show_task_name'] ?? true) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_due_at'] ?? false) - - @endif - @if($config['show_task_price'] ?? true) - - @endif - @if($config['show_task_status'] ?? true) - - @endif - - - - - @if($config['show_task_number'] ?? true) - - @endif - @if($config['show_task_name'] ?? true) - - @endif - @if($config['show_description'] ?? true) - - @endif - @if($config['show_due_at'] ?? false) - - @endif - @if($config['show_task_price'] ?? true) - - @endif - @if($config['show_task_status'] ?? true) - - @endif - - -
{{ trans('ip.number') }}{{ trans('ip.task_name') }}{{ trans('ip.description') }}{{ trans('ip.due_date') }}{{ trans('ip.price') }}{{ trans('ip.status') }}
TASK-001Sample TaskTask description{{ now()->addDays(7)->format('Y-m-d') }}$100.00{{ trans('ip.pending') }}
+@props([ + 'config' => [] +]) -
+@php +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' +}; +@endphp + +
+
+ {{ trans('ip.tasks_table') }} + + + @if($config['show_task_number'] ?? true)@endif + @if($config['show_task_name'] ?? true)@endif + @if($config['show_description'] ?? true)@endif + @if($config['show_due_at'] ?? false)@endif + @if($config['show_task_price'] ?? true)@endif + @if($config['show_task_status'] ?? true)@endif + +
{{ trans('ip.number') }}{{ trans('ip.task_name') }}{{ trans('ip.description') }}{{ trans('ip.due_date') }}{{ trans('ip.price') }}{{ trans('ip.status') }}
+
diff --git a/resources/views/mason/bricks/footer-notes/preview.blade.php b/resources/views/mason/bricks/footer-notes/preview.blade.php index 13fbcb0d7..9837dbf8b 100644 --- a/resources/views/mason/bricks/footer-notes/preview.blade.php +++ b/resources/views/mason/bricks/footer-notes/preview.blade.php @@ -3,25 +3,21 @@ ]) @php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' }; @endphp -
-
-
+
+
+ {{ trans('ip.footer') }} @if(!empty($config['footer_content'])) -
- {{ $config['footer_content'] }} -
+
{{ $config['footer_content'] }}
@else -

{{ trans('ip.footer_placeholder') }}

+
{{ trans('ip.footer_placeholder') }}
@endif
- -
diff --git a/resources/views/mason/bricks/footer-terms/preview.blade.php b/resources/views/mason/bricks/footer-terms/preview.blade.php index ab5742a71..78256f711 100644 --- a/resources/views/mason/bricks/footer-terms/preview.blade.php +++ b/resources/views/mason/bricks/footer-terms/preview.blade.php @@ -1,12 +1,23 @@ -
-
{{ trans('ip.terms_conditions') }}
-
+@props([ + 'config' => [] +]) + +@php +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' +}; +@endphp + +
+
+ {{ trans('ip.terms_conditions') }} @if(!empty($config['terms_content'])) - {{ $config['terms_content'] }} +
{{ $config['terms_content'] }}
@else -

{{ trans('ip.terms_placeholder') }}

+
{{ trans('ip.terms_placeholder') }}
@endif
- -
diff --git a/resources/views/mason/bricks/footer-totals/preview.blade.php b/resources/views/mason/bricks/footer-totals/preview.blade.php index 0941c3e67..3d2ce7632 100644 --- a/resources/views/mason/bricks/footer-totals/preview.blade.php +++ b/resources/views/mason/bricks/footer-totals/preview.blade.php @@ -3,18 +3,18 @@ ]) @php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' }; @endphp -
-
-
- +
+
+ {{ trans('ip.totals') }} +
@if($config['show_subtotal'] ?? true) @@ -47,6 +47,4 @@ @endif
{{ trans('ip.subtotal') }}:
- -
diff --git a/resources/views/mason/bricks/header-invoice-meta/preview.blade.php b/resources/views/mason/bricks/header-invoice-meta/preview.blade.php index 99c16ac83..697375318 100644 --- a/resources/views/mason/bricks/header-invoice-meta/preview.blade.php +++ b/resources/views/mason/bricks/header-invoice-meta/preview.blade.php @@ -3,44 +3,42 @@ ]) @php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' }; @endphp -
-
-
- +
+
+ {{ trans('ip.invoice_metadata') }} +
@if($config['show_invoice_number'] ?? true) - - + + @endif @if($config['show_invoice_date'] ?? true) - - + + @endif @if($config['show_due_date'] ?? true) - - + + @endif @if($config['show_po_number'] ?? false) - - + + @endif
{{ trans('ip.invoice_number') }}:INV-2024-001{{ trans('ip.invoice_number') }}:INV-2024-001
{{ trans('ip.invoice_date') }}:{{ date('Y-m-d') }}{{ trans('ip.invoice_date') }}:{{ date('Y-m-d') }}
{{ trans('ip.due_date') }}:{{ date('Y-m-d', strtotime('+30 days')) }}{{ trans('ip.due_date') }}:{{ date('Y-m-d', strtotime('+30 days')) }}
{{ trans('ip.po_number') }}:PO-12345{{ trans('ip.po_number') }}:PO-12345
- -
diff --git a/resources/views/mason/bricks/header-project/preview.blade.php b/resources/views/mason/bricks/header-project/preview.blade.php index f34beca18..0f0ac5fc5 100644 --- a/resources/views/mason/bricks/header-project/preview.blade.php +++ b/resources/views/mason/bricks/header-project/preview.blade.php @@ -1,22 +1,23 @@ -
-
{{ trans('ip.project_header') }}
-
- @if($config['show_project_number'] ?? true) -
{{ trans('ip.project_number') }}: PROJECT-001
- @endif - @if($config['show_project_name'] ?? true) -
{{ trans('ip.project_name') }}: Sample Project
- @endif - @if($config['show_start_date'] ?? true) -
{{ trans('ip.start_date') }}: {{ now()->format('Y-m-d') }}
- @endif - @if($config['show_end_date'] ?? true) -
{{ trans('ip.end_date') }}: {{ now()->addDays(30)->format('Y-m-d') }}
- @endif - @if($config['show_status'] ?? true) -
{{ trans('ip.status') }}: {{ trans('ip.in_progress') }}
- @endif -
+@props([ + 'config' => [] +]) -
+@php +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' +}; +@endphp + +
+
+ {{ trans('ip.project_header') }} + @if($config['show_project_number'] ?? true)
{{ trans('ip.project_number') }}: PROJECT-001@endif + @if($config['show_project_name'] ?? true)
{{ trans('ip.project_name') }}: Sample Project@endif + @if($config['show_start_date'] ?? true)
{{ trans('ip.start_date') }}: {{ now()->format('Y-m-d') }}@endif + @if($config['show_end_date'] ?? true)
{{ trans('ip.end_date') }}: {{ now()->addDays(30)->format('Y-m-d') }}@endif + @if($config['show_status'] ?? true)
{{ trans('ip.status') }}: {{ trans('ip.in_progress') }}@endif +
diff --git a/resources/views/mason/bricks/header-quote-meta/preview.blade.php b/resources/views/mason/bricks/header-quote-meta/preview.blade.php index cea739dff..c9155a4cb 100644 --- a/resources/views/mason/bricks/header-quote-meta/preview.blade.php +++ b/resources/views/mason/bricks/header-quote-meta/preview.blade.php @@ -1,19 +1,22 @@ -
-
{{ trans('ip.quote_metadata') }}
-
- @if($config['show_quote_number'] ?? true) -
{{ trans('ip.quote_number') }}: QUO-001
- @endif - @if($config['show_quoted_at'] ?? true) -
{{ trans('ip.quoted_at') }}: {{ now()->format('Y-m-d') }}
- @endif - @if($config['show_expires_at'] ?? true) -
{{ trans('ip.expires_at') }}: {{ now()->addDays(30)->format('Y-m-d') }}
- @endif - @if($config['show_status'] ?? true) -
{{ trans('ip.status') }}: {{ trans('ip.draft') }}
- @endif -
+@props([ + 'config' => [] +]) -
+@php +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' +}; +@endphp + +
+
+ {{ trans('ip.quote_metadata') }} + @if($config['show_quote_number'] ?? true)
{{ trans('ip.quote_number') }}: QUO-001@endif + @if($config['show_quoted_at'] ?? true)
{{ trans('ip.quoted_at') }}: {{ now()->format('Y-m-d') }}@endif + @if($config['show_expires_at'] ?? true)
{{ trans('ip.expires_at') }}: {{ now()->addDays(30)->format('Y-m-d') }}@endif + @if($config['show_status'] ?? true)
{{ trans('ip.status') }}: {{ trans('ip.draft') }}@endif +
diff --git a/resources/views/mason/bricks/page-break/preview.blade.php b/resources/views/mason/bricks/page-break/preview.blade.php index e42b903f7..a1b61e6bf 100644 --- a/resources/views/mason/bricks/page-break/preview.blade.php +++ b/resources/views/mason/bricks/page-break/preview.blade.php @@ -2,19 +2,10 @@ 'config' => [] ]) -@php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', -}; -@endphp - -
- - {{ trans('ip.page_break') }} - - -
+
+
+ + {{ trans('ip.page_break') }} + +
diff --git a/resources/views/mason/bricks/spacer/preview.blade.php b/resources/views/mason/bricks/spacer/preview.blade.php index 93db63822..e07872ec5 100644 --- a/resources/views/mason/bricks/spacer/preview.blade.php +++ b/resources/views/mason/bricks/spacer/preview.blade.php @@ -3,18 +3,16 @@ ]) @php -$width = match($config['_width'] ?? 'full') { - 'one_third' => 'w-1/3', - 'half' => 'w-1/2', - 'two_thirds' => 'w-2/3', - default => 'w-full', +$widthValue = match($config['_width'] ?? 'full') { + 'one_third' => '33.33%', + 'half' => '50%', + 'two_thirds' => '66.66%', + default => '100%' }; @endphp -
-
- {{ trans('ip.spacer') }} — {{ (int) ($config['height'] ?? 20) }}px - -
+
+
+ {{ trans('ip.spacer') }} — {{ (int) ($config['height'] ?? 20) }}px +
From 7d82901636805f6a86a86a9fe6346760c981afec Mon Sep 17 00:00:00 2001 From: heapreaper Date: Thu, 20 Aug 2026 20:06:26 +0200 Subject: [PATCH 33/86] Test commit --- test.php | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 test.php diff --git a/test.php b/test.php new file mode 100644 index 000000000..c2bb8d7e7 --- /dev/null +++ b/test.php @@ -0,0 +1,2 @@ + Date: Thu, 20 Aug 2026 20:07:14 +0200 Subject: [PATCH 34/86] Reverted test commit --- test.php | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 test.php diff --git a/test.php b/test.php deleted file mode 100644 index c2bb8d7e7..000000000 --- a/test.php +++ /dev/null @@ -1,2 +0,0 @@ - Date: Thu, 20 Aug 2026 21:51:46 +0200 Subject: [PATCH 35/86] Bugfix: Moving new items in the areas works now. Moving bricks up/down works now. Edit bricks works now. --- ...lates.php.disabled => ReportTemplates.php} | 0 .../Pages/Reports/BaseReportBuilderPage.php | 29 +- .../Pages/Reports/BaseReportTemplatesPage.php | 40 +- Modules/Core/Mason/MasonDocumentConverter.php | 3 +- Modules/Core/Mason/ReportBrickAction.php | 106 ++++ Modules/Core/Mason/ReportIframeRenderer.php | 78 +++ .../Core/Providers/CoreServiceProvider.php | 15 + .../Tests/Feature/AdminReportBuilderTest.php | 77 +++ .../Feature/CompanyReportBuilderTest.php | 60 +++ .../Tests/Unit/ReportIframeRendererTest.php | 78 +++ docker-compose.yml | 2 - resources/lang/en/ip.php | 1 + .../bricks/header-project/preview.blade.php | 4 +- .../header-quote-meta/preview.blade.php | 2 +- .../mason/iframe-preview-content.blade.php | 133 +++-- yarn.lock | 474 ++++-------------- 16 files changed, 676 insertions(+), 426 deletions(-) rename Modules/Core/Filament/Admin/Pages/{ReportTemplates.php.disabled => ReportTemplates.php} (100%) create mode 100644 Modules/Core/Mason/ReportBrickAction.php create mode 100644 Modules/Core/Mason/ReportIframeRenderer.php create mode 100644 Modules/Core/Tests/Unit/ReportIframeRendererTest.php diff --git a/Modules/Core/Filament/Admin/Pages/ReportTemplates.php.disabled b/Modules/Core/Filament/Admin/Pages/ReportTemplates.php similarity index 100% rename from Modules/Core/Filament/Admin/Pages/ReportTemplates.php.disabled rename to Modules/Core/Filament/Admin/Pages/ReportTemplates.php diff --git a/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php b/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php index ebd25330a..20b8f4f10 100644 --- a/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php +++ b/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php @@ -9,11 +9,14 @@ use Filament\Forms\Contracts\HasForms; use Filament\Notifications\Notification; use Filament\Pages\Page; +use Filament\Schemas\Components\Utilities\Get; +use Filament\Schemas\Components\Utilities\Set; use Filament\Schemas\Schema; use Illuminate\Support\HtmlString; use Modules\Core\Enums\ReportBand; use Modules\Core\Enums\ReportTemplateType; use Modules\Core\Mason\MasonDocumentConverter; +use Modules\Core\Mason\ReportBrickAction; use Modules\Core\Mason\ReportBricksCollection; use Modules\Core\Services\ReportTemplateStorage; @@ -90,6 +93,7 @@ public function form(Schema $schema): Schema $fields[] = Mason::make('bands.' . $band->value) ->label($band->getLabel()) ->bricks(ReportBricksCollection::forBand($band)) + ->registerActions([ReportBrickAction::make()]) ->disabled( ! $this->canSave()); } @@ -148,17 +152,28 @@ public function moveBrickAction(): Action ->label(trans('ip.from_band')) ->options($this->bandOptions()) ->required() - ->live(), + ->live() + /* + * Both dependent selects have to be cleared by hand. + * Filament recomputes their options but keeps whatever + * was picked before, so a stale index would silently + * move a different brick than the one on screen. + */ + ->afterStateUpdated(function (Set $set): void { + $set('position', null); + $set('to_band', null); + }), Select::make('position') ->label(trans('ip.brick')) - ->options(function (\Filament\Schemas\Components\Utilities\Get $get): array { + ->options(function (Get $get): array { return $this->brickOptionsForBand((string) $get('from_band')); }) ->required() - ->live(), + ->live() + ->afterStateUpdated(fn (Set $set) => $set('to_band', null)), Select::make('to_band') ->label(trans('ip.to_band')) - ->options(function (\Filament\Schemas\Components\Utilities\Get $get): array { + ->options(function (Get $get): array { return $this->targetBandOptions((string) $get('from_band'), $get('position')); }) ->required(), @@ -277,6 +292,12 @@ protected function brickOptionsForBand(string $bandValue): array */ protected function targetBandOptions(string $fromBand, mixed $position): array { + // No brick picked yet — casting null to 0 would offer the bands of + // whichever brick happens to sit first in the source band. + if ($position === null || $position === '') { + return []; + } + $node = $this->data['bands'][$fromBand][(int) $position] ?? null; $brickClass = $node ? ReportBricksCollection::findById((string) ($node['attrs']['id'] ?? '')) : null; diff --git a/Modules/Core/Filament/Pages/Reports/BaseReportTemplatesPage.php b/Modules/Core/Filament/Pages/Reports/BaseReportTemplatesPage.php index 49b646591..56e0d802e 100644 --- a/Modules/Core/Filament/Pages/Reports/BaseReportTemplatesPage.php +++ b/Modules/Core/Filament/Pages/Reports/BaseReportTemplatesPage.php @@ -120,13 +120,14 @@ public function renameAction(): Action ]) ->action(function (array $arguments, array $data): void { $template = [ - 'scope' => (string) $arguments['scope'], - 'slug' => (string) $arguments['slug'], - 'type' => (string) $arguments['type'], - 'editable' => (bool) ($arguments['editable'] ?? false), + 'scope' => (string) $arguments['scope'], + 'slug' => (string) $arguments['slug'], + 'type' => (string) $arguments['type'], ]; if ( ! $this->canModify($template)) { + $this->denyModification(); + return; } @@ -150,13 +151,14 @@ public function deleteAction(): Action ->requiresConfirmation() ->action(function (array $arguments): void { $template = [ - 'scope' => (string) $arguments['scope'], - 'slug' => (string) $arguments['slug'], - 'type' => (string) $arguments['type'], - 'editable' => (bool) ($arguments['editable'] ?? false), + 'scope' => (string) $arguments['scope'], + 'slug' => (string) $arguments['slug'], + 'type' => (string) $arguments['type'], ]; if ( ! $this->canModify($template)) { + $this->denyModification(); + return; } @@ -170,13 +172,31 @@ public function deleteAction(): Action }); } + /** + * Whether this panel may rename or delete the given template. + * + * Editability is always derived from the panel's own scope, never from + * the caller-supplied payload — action arguments come from the browser, + * so an "editable" flag in them would be trivially forgeable. + */ public function canModify(array $template): bool { - if ( ! $template['editable']) { + $scope = (string) ($template['scope'] ?? ''); + + $editable = $this->managesSystemScope() + ? $scope === ReportTemplateStorage::SCOPE_SYSTEM + : $scope === ReportTemplateStorage::SCOPE_COMPANY; + + if ( ! $editable) { return false; } - return ! ($template['scope'] === ReportTemplateStorage::SCOPE_SYSTEM && $template['slug'] === 'default'); + return ! ($scope === ReportTemplateStorage::SCOPE_SYSTEM && ($template['slug'] ?? '') === 'default'); + } + + protected function denyModification(): void + { + Notification::make()->title(trans('ip.template_not_editable'))->danger()->send(); } protected function storage(): ReportTemplateStorage diff --git a/Modules/Core/Mason/MasonDocumentConverter.php b/Modules/Core/Mason/MasonDocumentConverter.php index 13a1d39f7..113a7025b 100644 --- a/Modules/Core/Mason/MasonDocumentConverter.php +++ b/Modules/Core/Mason/MasonDocumentConverter.php @@ -76,8 +76,7 @@ public static function toBandEntries(mixed $state): array $config = is_array($attrs['config'] ?? null) ? $attrs['config'] : []; $width = ReportBlockWidth::tryFrom((string) ($config[self::WIDTH_KEY] ?? '')) ?? ReportBlockWidth::FULL; - // Keep _width in config so preview templates can access it for layout - // unset($config[self::WIDTH_KEY]); + unset($config[self::WIDTH_KEY]); $entries[] = [ 'brick' => (string) ($attrs['id'] ?? ''), diff --git a/Modules/Core/Mason/ReportBrickAction.php b/Modules/Core/Mason/ReportBrickAction.php new file mode 100644 index 000000000..87535bc88 --- /dev/null +++ b/Modules/Core/Mason/ReportBrickAction.php @@ -0,0 +1,106 @@ +bootUsing(function (Action $action, array $arguments, Mason $component): ?Action { + $brick = $component->getBrick($arguments['id']); + + if (blank($brick)) { + return null; + } + + return $brick::configureBrickAction($action); + }) + ->fillForm(fn (array $arguments): ?array => $arguments['config'] ?? null) + ->modalHeading(function (array $arguments, Mason $component): ?string { + $brick = $component->getBrick($arguments['id']); + + if (blank($brick)) { + return null; + } + + return $brick::getLabel(); + }) + ->modalWidth(Width::Large) + ->modalSubmitActionLabel(fn (array $arguments): ?string => match ($arguments['mode'] ?? 'insert') { + 'insert' => __('mason::mason.actions.brick.modal.actions.insert.label'), + 'edit' => __('mason::mason.actions.brick.modal.actions.save.label'), + default => null, + }) + ->action(function (array $arguments, array $data, Mason $component): void { + $brick = $component->getBrick($arguments['id']); + + if (blank($brick)) { + Notification::make() + ->title(trans('ip.brick_not_allowed_in_band')) + ->danger() + ->send(); + + return; + } + + $brickContent = [ + 'type' => 'masonBrick', + 'attrs' => [ + 'config' => $data, + 'id' => $arguments['id'], + 'label' => $brick::getLabel(), + 'preview' => base64_encode((string) $brick::toPreviewHtml($data)), + ], + ]; + + $mode = $arguments['mode'] ?? 'insert'; + $state = $component->getState() ?? []; + + if ( ! is_array($state)) { + $state = []; + } + + if ($mode === 'edit' && isset($arguments['blockIndex'])) { + $component->executeCommands([ + BrickCommand::updateBrick((int) $arguments['blockIndex'], $brickContent), + ]); + + return; + } + + $position = filled($arguments['dragPosition'] ?? null) + ? (int) $arguments['dragPosition'] + : count($state); + + $component->executeCommands([ + BrickCommand::insertBrick($brickContent, $position), + ]); + }); + } +} diff --git a/Modules/Core/Mason/ReportIframeRenderer.php b/Modules/Core/Mason/ReportIframeRenderer.php new file mode 100644 index 000000000..25b0bb9aa --- /dev/null +++ b/Modules/Core/Mason/ReportIframeRenderer.php @@ -0,0 +1,78 @@ + $block + */ + public function getBlockHtml(array $block): ?string + { + if (($block['type'] ?? null) !== 'masonBrick') { + return null; + } + + $id = $block['attrs']['id'] ?? null; + + if (blank($id)) { + return null; + } + + $config = is_array($block['attrs']['config'] ?? null) ? $block['attrs']['config'] : []; + + foreach ($this->getBricks() as $brick) { + if (is_string($brick) && $brick::getId() === $id) { + return is_subclass_of($brick, ReportBrick::class) + ? $brick::toPreviewHtml($config) + : $brick::toHtml($config); + } + } + + return view('mason::components.unregistered-brick', ['label' => $id])->render(); + } + + public function toHtml(?string $layout = null): string + { + $blocks = array_map(function (array $block, int $index): array { + $html = $this->getBlockHtml($block); + $id = $block['attrs']['id'] ?? null; + + return [ + 'index' => $index, + 'id' => $id, + 'config' => $block['attrs']['config'] ?? [], + 'html' => $html, + 'preview' => base64_encode((string) $html), + 'label' => $this->getBlockLabel($id), + ]; + }, $this->blocks, array_keys($this->blocks)); + + $layoutToUse = $layout ?? config('mason.iframe.layout'); + + if ($layoutToUse) { + return view($layoutToUse, ['blocks' => $blocks])->render(); + } + + return view('mason::iframe-preview', ['blocks' => $blocks])->render(); + } +} diff --git a/Modules/Core/Providers/CoreServiceProvider.php b/Modules/Core/Providers/CoreServiceProvider.php index 0618a9ad1..fb2855527 100644 --- a/Modules/Core/Providers/CoreServiceProvider.php +++ b/Modules/Core/Providers/CoreServiceProvider.php @@ -2,8 +2,10 @@ namespace Modules\Core\Providers; +use Awcodes\Mason\Support\IframeRenderer; use Illuminate\Support\Facades\Blade; use Illuminate\Support\ServiceProvider; +use Modules\Core\Mason\ReportIframeRenderer; use Modules\Core\Models\Company; use Modules\Core\Observers\CompanyObserver; use Nwidart\Modules\Traits\PathNamespace; @@ -34,6 +36,19 @@ public function register(): void { $this->app->register(EventServiceProvider::class); $this->app->register(RouteServiceProvider::class); + + /* + * Mason's preview iframe must paint report bricks with their + * builder previews, not with the print rendering. MasonController + * resolves the renderer out of the container, so swapping the + * binding is enough. + */ + $this->app->bind( + IframeRenderer::class, + fn ($app, array $parameters): ReportIframeRenderer => new ReportIframeRenderer( + is_array($parameters['blocks'] ?? null) ? $parameters['blocks'] : [], + ), + ); } public function registerViews(): void diff --git a/Modules/Core/Tests/Feature/AdminReportBuilderTest.php b/Modules/Core/Tests/Feature/AdminReportBuilderTest.php index e60d7ddfb..288cd1262 100644 --- a/Modules/Core/Tests/Feature/AdminReportBuilderTest.php +++ b/Modules/Core/Tests/Feature/AdminReportBuilderTest.php @@ -2,10 +2,12 @@ namespace Modules\Core\Tests\Feature; +use Filament\Actions\Testing\TestAction; use Illuminate\Support\Facades\Storage; use Livewire\Livewire; use Modules\Core\Enums\ReportTemplateType; use Modules\Core\Filament\Admin\Pages\ReportBuilder; +use Modules\Core\Mason\Bricks\SpacerBrick; use Modules\Core\Filament\Admin\Pages\ReportTemplates; use Modules\Core\Services\ReportTemplateStorage; use Modules\Core\Tests\AbstractAdminPanelTestCase; @@ -89,6 +91,81 @@ public function it_saves_the_edited_bands_back_to_disk(): void $this->assertSame(['height' => 33], $lastHeader['config']); } + #[Test] + public function it_lifts_the_block_width_out_of_the_config_when_saving(): void + { + /* Arrange */ + $component = Livewire::actingAs($this->superAdmin()) + ->test(ReportBuilder::class, ['scope' => 'system', 'type' => 'invoice', 'slug' => 'default']); + + $bands = $component->get('data.bands'); + $bands['header'][] = [ + 'type' => 'masonBrick', + 'attrs' => ['id' => 'spacer', 'config' => ['height' => 12, '_width' => 'two_thirds']], + ]; + + /* Act */ + $component->set('data.bands', $bands)->call('save')->assertHasNoErrors(); + + /* Assert */ + $saved = $this->storage->load('system', 'default', ReportTemplateType::INVOICE); + $lastHeader = end($saved['bands']['header']); + + $this->assertSame('two_thirds', $lastHeader['width']); + $this->assertArrayNotHasKey('_width', $lastHeader['config']); + } + + #[Test] + public function it_hands_the_stored_width_back_to_the_canvas_on_load(): void + { + /* Arrange */ + $this->storage->save( + 'system', + 'default', + ['name' => 'Default Invoice', 'type' => 'invoice'], + ['header' => [['brick' => 'header_company', 'width' => 'half', 'config' => []]]], + ReportTemplateType::INVOICE, + ); + + /* Act */ + $component = Livewire::actingAs($this->superAdmin()) + ->test(ReportBuilder::class, ['scope' => 'system', 'type' => 'invoice', 'slug' => 'default']); + + /* Assert */ + $bands = $component->get('data.bands'); + $this->assertSame('half', $bands['header'][0]['attrs']['config']['_width']); + } + + #[Test] + public function it_previews_an_inserted_brick_with_the_builder_rendering(): void + { + /* Arrange */ + $config = ['_width' => 'half', 'height' => 24]; + $component = Livewire::actingAs($this->superAdmin()) + ->test(ReportBuilder::class, ['scope' => 'system', 'type' => 'invoice', 'slug' => 'default']); + + /* Act */ + $component->callAction( + TestAction::make('handleBrick')->schemaComponent('bands.header'), + data: $config, + arguments: ['id' => 'spacer', 'mode' => 'insert', 'dragPosition' => 0], + ); + + /* Assert — the canvas preview must be the builder rendering, never + toHtml(), which is the print output and needs entity data. */ + $inserted = $component->get('data.bands')['header'][0]; + + $this->assertSame('spacer', $inserted['attrs']['id']); + $this->assertSame( + SpacerBrick::toPreviewHtml($config), + base64_decode($inserted['attrs']['preview']), + ); + $this->assertNotSame( + SpacerBrick::toHtml($config), + base64_decode($inserted['attrs']['preview']), + ); + } + #[Test] public function it_moves_a_brick_to_an_allowed_band(): void { diff --git a/Modules/Core/Tests/Feature/CompanyReportBuilderTest.php b/Modules/Core/Tests/Feature/CompanyReportBuilderTest.php index 68844d3db..2d2376fc1 100644 --- a/Modules/Core/Tests/Feature/CompanyReportBuilderTest.php +++ b/Modules/Core/Tests/Feature/CompanyReportBuilderTest.php @@ -141,4 +141,64 @@ public function it_renames_a_company_template_from_the_list_page(): void /* Assert */ $this->assertSame('New Name', $this->storage->load('company', 'old-name')['manifest']['name']); } + + #[Test] + public function it_refuses_to_rename_a_system_template_from_the_company_panel(): void + { + /* Act */ + $this->testLivewire(ReportTemplates::class) + ->callAction('rename', data: ['name' => 'Hijacked'], arguments: [ + 'scope' => 'system', + 'type' => 'invoice', + 'slug' => 'default', + 'editable' => true, + ]) + ->assertHasNoErrors(); + + /* Assert */ + $this->assertSame( + 'Default Invoice', + $this->storage->load('system', 'default', ReportTemplateType::INVOICE)['manifest']['name'], + ); + } + + #[Test] + public function it_refuses_to_delete_a_system_template_from_the_company_panel(): void + { + /* Arrange */ + $this->storage->clone('system', 'default', 'Spare', ReportTemplateType::INVOICE, 'system'); + + /* Act */ + $this->testLivewire(ReportTemplates::class) + ->callAction('delete', arguments: [ + 'scope' => 'system', + 'type' => 'invoice', + 'slug' => 'spare', + 'editable' => true, + ]) + ->assertHasNoErrors(); + + /* Assert */ + $this->assertNotNull($this->storage->load('system', 'spare', ReportTemplateType::INVOICE)); + } + + #[Test] + public function it_does_not_take_the_editable_flag_from_action_arguments(): void + { + /* Arrange */ + $page = $this->testLivewire(ReportTemplates::class)->instance(); + + /* Act & Assert */ + $this->assertFalse($page->canModify([ + 'scope' => 'system', + 'slug' => 'anything', + 'type' => 'invoice', + 'editable' => true, + ])); + $this->assertTrue($page->canModify([ + 'scope' => 'company', + 'slug' => 'anything', + 'type' => 'invoice', + ])); + } } diff --git a/Modules/Core/Tests/Unit/ReportIframeRendererTest.php b/Modules/Core/Tests/Unit/ReportIframeRendererTest.php new file mode 100644 index 000000000..3acf4291d --- /dev/null +++ b/Modules/Core/Tests/Unit/ReportIframeRendererTest.php @@ -0,0 +1,78 @@ +assertInstanceOf(ReportIframeRenderer::class, $renderer); + } + + #[Test] + public function it_paints_canvas_blocks_with_the_builder_preview_not_the_print_rendering(): void + { + /* Arrange */ + $renderer = $this->rendererFor([ + ['type' => 'masonBrick', 'attrs' => ['id' => 'header_company', 'config' => ['_width' => 'half']]], + ]); + + /* Act */ + $html = $renderer->toHtml('mason::iframe-preview'); + + /* Assert */ + $this->assertStringContainsString('background-color: #CCCCCC', $html); + $this->assertStringNotContainsString('class="company-header"', $html); + } + + #[Test] + public function it_renders_the_configured_brick_into_the_canvas_document(): void + { + /* Arrange */ + $block = ['type' => 'masonBrick', 'attrs' => ['id' => 'spacer', 'config' => ['height' => 42]]]; + $renderer = $this->rendererFor([$block]); + + /* Act */ + $blockHtml = (string) $renderer->getBlockHtml($block); + $html = $renderer->toHtml('mason::iframe-preview'); + + /* Assert */ + $this->assertStringContainsString('42px', $blockHtml); + $this->assertStringContainsString('42px', $html); + $this->assertStringContainsString('data-brick-id="spacer"', $html); + } + + #[Test] + public function it_keeps_the_width_hint_available_to_the_preview_templates(): void + { + /* Arrange */ + $renderer = $this->rendererFor([ + ['type' => 'masonBrick', 'attrs' => ['id' => 'header_company', 'config' => ['_width' => 'half']]], + ]); + + /* Act */ + $html = $renderer->toHtml('mason::iframe-preview'); + + /* Assert */ + $this->assertStringContainsString('50%', $html); + } + + protected function rendererFor(array $blocks): ReportIframeRenderer + { + $renderer = new ReportIframeRenderer($blocks); + $renderer->bricks(ReportBricksCollection::all()); + + return $renderer; + } +} diff --git a/docker-compose.yml b/docker-compose.yml index 29141c11b..8de353bc4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -57,8 +57,6 @@ services: DB_DATABASE: invoiceplane_test DB_USERNAME: root DB_PASSWORD: "" - depends_on: - - db volumes: - .:/var/www/html depends_on: diff --git a/resources/lang/en/ip.php b/resources/lang/en/ip.php index 5dc76e46c..0bc095bc0 100644 --- a/resources/lang/en/ip.php +++ b/resources/lang/en/ip.php @@ -1228,6 +1228,7 @@ 'template_renamed' => 'Template renamed', 'template_deleted' => 'Template deleted', 'template_saved' => 'Template saved', + 'template_not_editable' => 'This template cannot be modified from this panel', 'move_to_band' => 'Move to band…', 'from_band' => 'From band', 'to_band' => 'To band', diff --git a/resources/views/mason/bricks/header-project/preview.blade.php b/resources/views/mason/bricks/header-project/preview.blade.php index 0f0ac5fc5..3480951fa 100644 --- a/resources/views/mason/bricks/header-project/preview.blade.php +++ b/resources/views/mason/bricks/header-project/preview.blade.php @@ -14,8 +14,8 @@
{{ trans('ip.project_header') }} - @if($config['show_project_number'] ?? true)
{{ trans('ip.project_number') }}: PROJECT-001@endif - @if($config['show_project_name'] ?? true)
{{ trans('ip.project_name') }}: Sample Project@endif + @if($config['show_project_number'] ?? true)
{{ trans('ip.project_number') }}: {{ 'PROJECT-001' }}@endif + @if($config['show_project_name'] ?? true)
{{ trans('ip.project_name') }}: {{ 'Sample Project' }}@endif @if($config['show_start_date'] ?? true)
{{ trans('ip.start_date') }}: {{ now()->format('Y-m-d') }}@endif @if($config['show_end_date'] ?? true)
{{ trans('ip.end_date') }}: {{ now()->addDays(30)->format('Y-m-d') }}@endif @if($config['show_status'] ?? true)
{{ trans('ip.status') }}: {{ trans('ip.in_progress') }}@endif diff --git a/resources/views/mason/bricks/header-quote-meta/preview.blade.php b/resources/views/mason/bricks/header-quote-meta/preview.blade.php index c9155a4cb..c55411c35 100644 --- a/resources/views/mason/bricks/header-quote-meta/preview.blade.php +++ b/resources/views/mason/bricks/header-quote-meta/preview.blade.php @@ -14,7 +14,7 @@
{{ trans('ip.quote_metadata') }} - @if($config['show_quote_number'] ?? true)
{{ trans('ip.quote_number') }}: QUO-001@endif + @if($config['show_quote_number'] ?? true)
{{ trans('ip.quote_number') }}: {{ 'QUO-001' }}@endif @if($config['show_quoted_at'] ?? true)
{{ trans('ip.quoted_at') }}: {{ now()->format('Y-m-d') }}@endif @if($config['show_expires_at'] ?? true)
{{ trans('ip.expires_at') }}: {{ now()->addDays(30)->format('Y-m-d') }}@endif @if($config['show_status'] ?? true)
{{ trans('ip.status') }}: {{ trans('ip.draft') }}@endif diff --git a/resources/views/vendor/mason/iframe-preview-content.blade.php b/resources/views/vendor/mason/iframe-preview-content.blade.php index 045ac3ee8..3d90a2f65 100644 --- a/resources/views/vendor/mason/iframe-preview-content.blade.php +++ b/resources/views/vendor/mason/iframe-preview-content.blade.php @@ -6,18 +6,36 @@ gap: 0; } +/* + * Drop zones sit between the blocks in document order, but a full-width bar + * between two half-width blocks would push them onto separate rows and wreck + * the very layout being edited. So a zone takes up no space at all until a + * drag is under way, and only then expands into a full-width bar in its real + * position. They used to carry order: 9999 instead, which kept the layout + * intact but stacked every drop target at the bottom of the canvas, nowhere + * near the place the brick would actually land. + */ .mason-drop-zone { - flex-basis: 100% !important; - min-height: 2rem !important; - order: 9999; + display: none; + flex-basis: 100%; + min-height: 2rem; background-color: #FFFACD; border: 2px dashed #FFD700; border-radius: 4px; margin: 6px 0; - transition: all 0.2s ease; + transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; opacity: 0.7; } +body.mason-dragging .mason-drop-zone:not(.mason-drop-zone--empty) { + display: block; +} + +/* The empty-band prompt is the canvas itself, so it is always on show. */ +.mason-drop-zone--empty { + display: flex; +} + .mason-drop-zone:hover, .mason-drop-zone.active { background-color: #FFE135; @@ -69,7 +87,7 @@
@if (empty($blocks))
;(function () { const container = document.getElementById('mason-preview-container') + // Keep the semicolon: a Blade directive that ends a line swallows the + // newline after it, welding this onto the statement below. + const placeholderText = @json(__('mason::mason.preview.placeholder')); + const INSTANCE_NAME_PREFIX = 'mason-preview-iframe-' + let selectedBlock = null let dblClickToEdit = false let isDisabled = false - let instanceId = null + + /* + * Every band on the page runs its own Mason component, and they all + * listen on the same parent window, filtering by instanceId. Waiting + * for the parent to tell us who we are left a window in which our + * messages carried instanceId: null — which no component filters out, + * so a single click could be acted on by all five bands at once. The + * iframe's own window.name already encodes the state path, so read it + * from there and only fall back to the parent's word for it. + */ + let instanceId = window.name && window.name.startsWith(INSTANCE_NAME_PREFIX) + ? window.name.slice(INSTANCE_NAME_PREFIX.length) + : null function postToParent(message) { window.parent.postMessage({ ...message, instanceId }, '*') @@ -281,17 +316,20 @@ function applyBlockWidths() { }) function updateContent(blocks) { - if (!Array.isArray(blocks) || blocks.length === 0) { - postToParent({ type: 'contentUpdated' }) - return + if (!Array.isArray(blocks)) { + blocks = [] } // Clear current content container.innerHTML = '' - // Render placeholder or blocks + /* + * Removing the last brick used to return early, before the clear + * above — so the deleted brick stayed on the canvas and the drop + * prompt never came back, leaving the band impossible to refill. + */ if (blocks.length === 0) { - container.innerHTML = `
Drop content here
` + container.innerHTML = `
${placeholderText}
` } else { container.innerHTML = '
' @@ -538,6 +576,34 @@ function updateAllMoveButtons() { let draggedBlockIndex = null let draggedBlock = null let dragOverIndex = null + let dragIdleTimer = null + + /* + * Reveals the drop zones for the duration of a drag. A drag that + * starts in the sidebar ends in the parent document, so there is no + * dragend here to close it out — hence the idle timer alongside the + * explicit clears on drop and dragend. + */ + function markDragging() { + document.body.classList.add('mason-dragging') + clearTimeout(dragIdleTimer) + dragIdleTimer = setTimeout(clearDragFeedback, 1200) + } + + function clearDragFeedback() { + clearTimeout(dragIdleTimer) + document.body.classList.remove('mason-dragging') + + container + .querySelectorAll('.mason-drop-zone.active') + .forEach((zone) => { + zone.classList.remove('active') + }) + container.querySelectorAll('.mason-block').forEach((block) => { + block.style.outline = '' + block.style.outlineOffset = '' + }) + } container.addEventListener('dragstart', function (e) { const block = e.target.closest('.mason-block') @@ -580,6 +646,8 @@ function updateAllMoveButtons() { e.dataTransfer.effectAllowed = 'move' e.dataTransfer.setData('text/plain', draggedBlockIndex.toString()) + + markDragging() }) container.addEventListener('dragend', function (e) { @@ -602,15 +670,7 @@ function updateAllMoveButtons() { } } - container - .querySelectorAll('.mason-drop-zone.active') - .forEach((zone) => { - zone.classList.remove('active') - }) - container.querySelectorAll('.mason-block').forEach((block) => { - block.style.outline = '' - block.style.outlineOffset = '' - }) + clearDragFeedback() draggedBlock = null draggedBlockIndex = null @@ -620,6 +680,10 @@ function updateAllMoveButtons() { container.addEventListener('dragover', function (e) { e.preventDefault() + // Also covers bricks dragged in from the sidebar, whose dragstart + // fires in the parent document rather than here. + markDragging() + if (draggedBlockIndex !== null) { const dropZone = e.target.closest('.mason-drop-zone') const block = e.target.closest('.mason-block') @@ -681,15 +745,7 @@ function updateAllMoveButtons() { e.preventDefault() e.stopPropagation() - container - .querySelectorAll('.mason-drop-zone.active') - .forEach((zone) => { - zone.classList.remove('active') - }) - container.querySelectorAll('.mason-block').forEach((block) => { - block.style.outline = '' - block.style.outlineOffset = '' - }) + clearDragFeedback() if (draggedBlockIndex !== null) { let dropZone = e.target.closest('.mason-drop-zone') @@ -720,11 +776,20 @@ function updateAllMoveButtons() { } } - if ( - targetIndex !== null && - !isNaN(targetIndex) && - targetIndex !== draggedBlockIndex - ) { + /* + * Both of these describe a drop that changes nothing: the + * slot the brick already occupies, and the slot immediately + * after it. The second one matters because the host component + * reserves to === from + 1 for the "move down" button and + * reads it as a swap, so sending it would shunt the brick down + * a place instead of leaving it put. Dropping a brick onto + * itself resolves to that same index. + */ + const isNoOpDrop = + targetIndex === draggedBlockIndex || + targetIndex === draggedBlockIndex + 1 + + if (targetIndex !== null && !isNaN(targetIndex) && !isNoOpDrop) { const allBlocks = container.querySelectorAll('.mason-block') const totalBlocks = allBlocks.length diff --git a/yarn.lock b/yarn.lock index d02839034..6687c1dbb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,31 +2,9 @@ # yarn lockfile v1 -"@emnapi/core@^1.11.1": - version "1.11.3" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.11.3.tgz#5e95348a42cd1e06f0b9aa380cd74091daa4d520" - integrity sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg== - dependencies: - "@emnapi/wasi-threads" "1.2.3" - tslib "^2.4.0" - -"@emnapi/runtime@^1.11.1": - version "1.11.3" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.11.3.tgz#84257ae3b0531eb2aec1ffa23d70700da007ba95" - integrity sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA== - dependencies: - tslib "^2.4.0" - -"@emnapi/wasi-threads@1.2.3", "@emnapi/wasi-threads@^1.2.2": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz#c9bf72fd4be5b928aee894820e8d814ed73916e9" - integrity sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g== - dependencies: - tslib "^2.4.0" - "@jridgewell/gen-mapping@^0.3.5": version "0.3.13" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz" integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" @@ -34,7 +12,7 @@ "@jridgewell/remapping@^2.3.5": version "2.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" + resolved "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz" integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== dependencies: "@jridgewell/gen-mapping" "^0.3.5" @@ -42,112 +20,40 @@ "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0", "@jridgewell/sourcemap-codec@^1.5.5": version "1.5.5" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz" integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== "@jridgewell/trace-mapping@^0.3.24": version "0.3.31" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz" integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@napi-rs/wasm-runtime@^1.1.4": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.3.tgz#97e3d45d7424dc5da1d4e32f3bf3b292f6c1b44c" - integrity sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q== - dependencies: - "@tybys/wasm-util" "^0.10.3" - "@oxc-project/types@=0.144.0": version "0.144.0" - resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.144.0.tgz#7dfbfbfbbb9c24d4abeb6f9856a1eca02aff6468" + resolved "https://registry.npmjs.org/@oxc-project/types/-/types-0.144.0.tgz" integrity sha512-nuhZIOLuI6TFQ32I/WnUx+SCPY7SdSKwgnFHydAuoS1+Z4BRcaP+RRJmGzl9lw+0OFF7UmaESf7KQRXaNLHypg== -"@rolldown/binding-android-arm64@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.4.tgz#9ac390255ded738672ad1425bed6423453ff71fd" - integrity sha512-jHC2cnyKz5xU2fhECtFl8OZ83cYNt13GZQD+0uMJ/X3o+ijmd56okHhTUwxVSHPx1IRVIJEZ1/1pPzeLCU6XKA== - -"@rolldown/binding-darwin-arm64@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.4.tgz#c63cad2f656b672782dd70894af895af9cba35c8" - integrity sha512-Dc5mPD8F5F/FS8i01syd7FTF6yB2fVthH/TRkjwJkzUK6EpoxHtqvZQP5Zwq80/5z19TWYHIg1KOHboCgVx/aQ== - -"@rolldown/binding-darwin-x64@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.4.tgz#54f6305d6785793c63c1521a4da4412bf7d8e089" - integrity sha512-fpDm4oBo6SqLvWUYCmFhdde3U9KH2fRNNMeAnAPAIwxRL345xutL0EtEUcuoxsoazdJGv/MuDBQHlCDrtbvqOg== - -"@rolldown/binding-freebsd-x64@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.4.tgz#c069a3ebd4a5dcfffd79a00f33c06bc242d9566b" - integrity sha512-rSJoreDE/HoIzoaib6MTp5jQtCTdMHKIvItAKT/ImS6Y6Ww76oUaeMyp4Vc/fAgd/ehji068IxetHXAnqUwN9A== - -"@rolldown/binding-linux-arm-gnueabihf@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.4.tgz#cff0d05a56e19f02443313f2abf73cf693173867" - integrity sha512-/jm8OGHgn7oGaJu3i/qZI9spUGcJ+y/lk43ttQ/iO1tOd9NissG6o97bighBCiL+BKRngmcDuR6ikfwYdJmVuQ== - -"@rolldown/binding-linux-arm64-gnu@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.4.tgz#267605366ba2bf3146609417a6db99253943c96f" - integrity sha512-tIP06BeD9EqvECBrPZ+sqdPlYrT+aYaAiu1wYziVx5elRK/ftm33JxVDy2bXGbr6J0CrtirCkR87/X5a2euEng== - -"@rolldown/binding-linux-arm64-musl@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.4.tgz#73d47bfdba2a72c16bfb271c23efb8949b2c2018" - integrity sha512-Ql1Q0EQqVThvn9VAVlwNzsUvbSFtCMGjLpRRi4pk5i7NZZ4n5ISiLMjHYtus4VQ2PvkSw24zyaCVsiS+sXPj1w== - -"@rolldown/binding-linux-ppc64-gnu@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.4.tgz#3ba455c72d3e9efd973df59689d48e75ca6f7559" - integrity sha512-GjbjXD4XXfN19D0LZNbmiCBUoDiRACsYHr0yaIbbn8aFsXjHZifcYqu/W5Er5X2X990WjHXFrxarn5chzItorQ== - -"@rolldown/binding-linux-s390x-gnu@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.4.tgz#2fddcb48eee12a620735c83a0056307b6ede2edb" - integrity sha512-p5WR0NOwaRmJ/B1b6IjEFLLivwEsf3PrdBIhRbhTCQisbo2SvHHpG4ELB/+FgQNnB88LTOF86upmJmbvZdQ2lw== - "@rolldown/binding-linux-x64-gnu@1.2.4": version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.4.tgz#97fb91430f78e46f81d4fe82a049a8c47f4ece96" + resolved "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.4.tgz" integrity sha512-4/GyVjmhR+Tc6HLJvwc1sOhPqAZtySiSMesOZyX6JQ5XBxoTDEMKQzvo07NIK6nTon/SivlZqvhzvuVBNQhObQ== -"@rolldown/binding-linux-x64-musl@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.4.tgz#71ec9967b5ff546a6d5dda16d1c7a97e50bf647a" - integrity sha512-l9eeLsCNvPpmSXUej0etw/J1eqV0Jj1D5G/xG6YTijmE6dkv6E2QezgWbTfQk63v952DPqrjOCoiqxq7Bw0YUQ== - -"@rolldown/binding-openharmony-arm64@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.4.tgz#1e19ab28fbdb009cb6d9503e3ff6cbeffd7225ae" - integrity sha512-e0F355MSTMm3+UOqtV3L24gFUp2N5m1f8L/7d56deik6va+AXdrt9F8LbzGpeWGWRbZEDq4m8NVnJDeBtf9DZg== - -"@rolldown/binding-win32-arm64-msvc@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.4.tgz#9fad167d015c699f4375c2a1d04d1e52e4a32de4" - integrity sha512-AWLi0uBRYh6QlE7OKhiz+phZC0qwtij2QZmhmOdsLdFn64m7oMpooE9ICE3lhm9xMb4SpDo2WbHcxX1iFLFtqw== - -"@rolldown/binding-win32-x64-msvc@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.4.tgz#7a5f2d3e886c357029332b53f38ad2042e4615c4" - integrity sha512-UwSDJOg3dqCAejWdxclJjCsh3Qq4vLYMDxmyHqo1btz3stK2VqgwNd3mm5tuIwzSlGIQ/1H9Hr+Zn09mrezNqQ== - "@rolldown/pluginutils@^1.0.0": version "1.0.1" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz#e3fcee093fbb5ce765e1ad088ff4de2889f6f9be" + resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz" integrity sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw== "@tailwindcss/node@4.3.3": version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/node/-/node-4.3.3.tgz#38ff04309ff036ea3589a7bad9069c44ec9d3883" + resolved "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.3.tgz" integrity sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg== dependencies: "@jridgewell/remapping" "^2.3.5" @@ -158,76 +64,14 @@ source-map-js "^1.2.1" tailwindcss "4.3.3" -"@tailwindcss/oxide-android-arm64@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.3.tgz#848f93034155daf7892185028dfb18143bfc7d07" - integrity sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw== - -"@tailwindcss/oxide-darwin-arm64@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.3.tgz#5c779e32c1c361beb75136fd8e2c627fcb9a5b28" - integrity sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw== - -"@tailwindcss/oxide-darwin-x64@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.3.tgz#ba292ff52fa3264139f7fe7874719ce0a4666875" - integrity sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw== - -"@tailwindcss/oxide-freebsd-x64@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.3.tgz#07e589487b9a636235a4ade48cefc1f9eeeec57f" - integrity sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw== - -"@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.3.tgz#0c8abc228d9e19e0065ddb707eba52e21855b3ff" - integrity sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ== - -"@tailwindcss/oxide-linux-arm64-gnu@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.3.tgz#5067dc7afd15d2b97adc77a91177dc4bec8d1b8b" - integrity sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w== - -"@tailwindcss/oxide-linux-arm64-musl@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.3.tgz#29ae5f279be2ce64db368711985b6ad8e4562e57" - integrity sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA== - "@tailwindcss/oxide-linux-x64-gnu@4.3.3": version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.3.tgz#7d693b40f69875744b499481359b227fd3ac3a3c" + resolved "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.3.tgz" integrity sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w== -"@tailwindcss/oxide-linux-x64-musl@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.3.tgz#6a55d664f47c5ff9ad3f46bf05fe07d410b8cfd8" - integrity sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img== - -"@tailwindcss/oxide-wasm32-wasi@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.3.tgz#408a9bc620e68f1aaf0dfea33da7bd3b65f9e2ef" - integrity sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ== - dependencies: - "@emnapi/core" "^1.11.1" - "@emnapi/runtime" "^1.11.1" - "@emnapi/wasi-threads" "^1.2.2" - "@napi-rs/wasm-runtime" "^1.1.4" - "@tybys/wasm-util" "^0.10.2" - tslib "^2.8.1" - -"@tailwindcss/oxide-win32-arm64-msvc@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.3.tgz#3d582b00180fa4680e0b6c90be69fa5f4a209092" - integrity sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ== - -"@tailwindcss/oxide-win32-x64-msvc@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.3.tgz#ce4c663fef3b4fde67611a4c1391866f8c0aa79b" - integrity sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw== - "@tailwindcss/oxide@4.3.3": version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide/-/oxide-4.3.3.tgz#6266109d025cfcb04f8e4c58954a6f630a415b7f" + resolved "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.3.tgz" integrity sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA== optionalDependencies: "@tailwindcss/oxide-android-arm64" "4.3.3" @@ -245,45 +89,38 @@ "@tailwindcss/vite@^4.3": version "4.3.3" - resolved "https://registry.yarnpkg.com/@tailwindcss/vite/-/vite-4.3.3.tgz#1f4037badcb5e6c6bb574d3d8a0172c83f26b97f" + resolved "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.3.tgz" integrity sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw== dependencies: "@tailwindcss/node" "4.3.3" "@tailwindcss/oxide" "4.3.3" tailwindcss "4.3.3" -"@tybys/wasm-util@^0.10.2", "@tybys/wasm-util@^0.10.3": - version "0.10.3" - resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.3.tgz#015cba9e9dd47ce14d03d2a8c5d547bfb169665d" - integrity sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg== - dependencies: - tslib "^2.4.0" - agent-base@6: version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" ansi-regex@^6.2.2: version "6.3.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.3.0.tgz#247c8e7b70a1a43b10ce14c0226fcbf58e8815d5" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz" integrity sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ== ansi-styles@^6.2.1: version "6.2.3" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz" integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== axios@^1.17: version "1.19.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.19.0.tgz#ddf864d4c8233c0e6873746ab59361537d05ad39" + resolved "https://registry.npmjs.org/axios/-/axios-1.19.0.tgz" integrity sha512-ht/iuYZXEjFxLH/Hkezgd7m6JKlHHXEUSneaDz8uZe1Gj5QZtCnpyDsckvAiEnT89OEbCLmnte4R4sn7P0EKFw== dependencies: follow-redirects "^1.16.0" @@ -293,7 +130,7 @@ axios@^1.17: call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: es-errors "^1.3.0" @@ -301,12 +138,12 @@ call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: chalk@5.6.2: version "5.6.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.2.tgz#b1238b6e23ea337af71c7f8a295db5af0c158aea" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz" integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA== cliui@^9.0.1: version "9.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-9.0.1.tgz#6f7890f386f6f1f79953adc1f78dec46fcc2d291" + resolved "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz" integrity sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w== dependencies: string-width "^7.2.0" @@ -315,14 +152,14 @@ cliui@^9.0.1: combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" concurrently@^10.0: version "10.0.5" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-10.0.5.tgz#5dd22464ad37f77136a02f4d0f05ddd912fe5c80" + resolved "https://registry.npmjs.org/concurrently/-/concurrently-10.0.5.tgz" integrity sha512-JaP/CoftUrCcAFW/g//RbgEGwlelnEae6cfBLgH6ZdO6s8jPkn6p9SB9u6pdVxYXoiSnFqseOlHfrEfF82TVOg== dependencies: chalk "5.6.2" @@ -334,24 +171,24 @@ concurrently@^10.0: debug@4: version "4.4.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== dependencies: ms "^2.1.3" delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== detect-libc@^2.0.3: version "2.1.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz" integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== dunder-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== dependencies: call-bind-apply-helpers "^1.0.1" @@ -360,12 +197,12 @@ dunder-proto@^1.0.1: emoji-regex@^10.3.0: version "10.6.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.6.0.tgz#bf3d6e8f7f8fd22a65d9703475bc0147357a6b0d" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz" integrity sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A== enhanced-resolve@^5.24.1: version "5.24.5" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.24.5.tgz#b4dad3255b7545f07ba5535189868e9f85f47573" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.5.tgz" integrity sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A== dependencies: graceful-fs "^4.2.4" @@ -373,24 +210,24 @@ enhanced-resolve@^5.24.1: es-define-property@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.2.tgz#a2d0b373205724dfa525d23b0c3e1b1ca582c99b" + resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz" integrity sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw== dependencies: es-errors "^1.3.0" es-set-tostringtag@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: es-errors "^1.3.0" @@ -400,22 +237,22 @@ es-set-tostringtag@^2.1.0: escalade@^3.1.1: version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== fdir@^6.5.0: version "6.5.0" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + resolved "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz" integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== follow-redirects@^1.16.0: version "1.16.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz" integrity sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw== form-data@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.6.tgz#28e864e1b786dbebb68db1f452f9635278665827" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz" integrity sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ== dependencies: asynckit "^0.4.0" @@ -424,29 +261,24 @@ form-data@^4.0.6: hasown "^2.0.4" mime-types "^2.1.35" -fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-east-asian-width@^1.0.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz#216900f91df11a8b2c198c3e1d93d6c035a776b9" + resolved "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz" integrity sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA== get-intrinsic@^1.2.6: version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: call-bind-apply-helpers "^1.0.2" @@ -462,7 +294,7 @@ get-intrinsic@^1.2.6: get-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== dependencies: dunder-proto "^1.0.1" @@ -470,168 +302,87 @@ get-proto@^1.0.1: gopd@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== graceful-fs@^4.2.4: version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-tostringtag@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" hasown@^2.0.2, hasown@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.4.tgz#8c62d8cb90beb2aad5d0a5b67581ad9854c3f003" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz" integrity sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A== dependencies: function-bind "^1.1.2" https-proxy-agent@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: agent-base "6" debug "4" -jiti@^2.7.0: +jiti@^2.7.0, jiti@>=1.21.0: version "2.7.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.7.0.tgz#974228f2f4ca2bc21885a1797b45fea68e950c64" + resolved "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz" integrity sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ== laravel-vite-plugin@^3.1: version "3.2.0" - resolved "https://registry.yarnpkg.com/laravel-vite-plugin/-/laravel-vite-plugin-3.2.0.tgz#fc5c958cb1f315c6af39384e94b64c32c4e3a3a6" + resolved "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-3.2.0.tgz" integrity sha512-xSxY9Gzeb/eancd8WeK09piAFP+a6i5QIBqNCKNv9L0Eq6wziwzSem7F1GvMSrtjMh5F/QVKFxn8t9naGOA66A== dependencies: picocolors "^1.0.0" tinyglobby "^0.2.12" vite-plugin-full-reload "^1.1.0" -lightningcss-android-arm64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz#f033885116dfefd9c6f54787523e3514b61e1968" - integrity sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== - -lightningcss-android-arm64@1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz#9a6841f88ae50fc83502903892b41af41bc2b907" - integrity sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg== - -lightningcss-darwin-arm64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz#50b71871b01c8199584b649e292547faea7af9b5" - integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== - -lightningcss-darwin-arm64@1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz#c0f2c31c0bfd19fa4dd3f18e957a1f1a152097d6" - integrity sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg== - -lightningcss-darwin-x64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz#35f3e97332d130b9ca181e11b568ded6aebc6d5e" - integrity sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== - -lightningcss-darwin-x64@1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz#cb0705965acb538c6683949ce6925fb3cdf7c361" - integrity sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ== - -lightningcss-freebsd-x64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz#9777a76472b64ed6ff94342ad64c7bafd794a575" - integrity sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== - -lightningcss-freebsd-x64@1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz#763538828b26bab2680dadafcc84ee78b0eb502b" - integrity sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg== - -lightningcss-linux-arm-gnueabihf@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz#13ae652e1ab73b9135d7b7da172f666c410ad53d" - integrity sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== - -lightningcss-linux-arm-gnueabihf@1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz#6862e3176a331aedbdec1ed352b4d7d0dd0784de" - integrity sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ== - -lightningcss-linux-arm64-gnu@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz#417858795a94592f680123a1b1f9da8a0e1ef335" - integrity sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ== - -lightningcss-linux-arm64-gnu@1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz#c6a3a2ed15141daf6bdc2628930f8e39bdf473aa" - integrity sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg== - -lightningcss-linux-arm64-musl@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz#6be36692e810b718040802fd809623cffe732133" - integrity sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== - -lightningcss-linux-arm64-musl@1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz#7fa1334971fc82845f9827df6ef8a0b20914bac6" - integrity sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ== - lightningcss-linux-x64-gnu@1.32.0: version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz#0b7803af4eb21cfd38dd39fe2abbb53c7dd091f6" + resolved "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz" integrity sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== lightningcss-linux-x64-gnu@1.33.0: version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz#8b927862ea8c2bbc6831a46509244b50d9936e55" + resolved "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz" integrity sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg== -lightningcss-linux-x64-musl@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz#88dc8ba865ddddb1ac5ef04b0f161804418c163b" - integrity sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== - -lightningcss-linux-x64-musl@1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz#0c525bb077dfd94404c059cfe42dad797e96aeaf" - integrity sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw== - -lightningcss-win32-arm64-msvc@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz#4f30ba3fa5e925f5b79f945e8cc0d176c3b1ab38" - integrity sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== - -lightningcss-win32-arm64-msvc@1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz#850ee1103dac989cfab50e3ac22d1a69e394e63d" - integrity sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA== - -lightningcss-win32-x64-msvc@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz#141aa5605645064928902bb4af045fa7d9f4220a" - integrity sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q== - -lightningcss-win32-x64-msvc@1.33.0: +lightningcss@^1.33.0: version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz#e343ae152eed3609dc6e11949d1a3bf39a1c946f" - integrity sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA== + resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz" + integrity sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA== + dependencies: + detect-libc "^2.0.3" + optionalDependencies: + lightningcss-android-arm64 "1.33.0" + lightningcss-darwin-arm64 "1.33.0" + lightningcss-darwin-x64 "1.33.0" + lightningcss-freebsd-x64 "1.33.0" + lightningcss-linux-arm-gnueabihf "1.33.0" + lightningcss-linux-arm64-gnu "1.33.0" + lightningcss-linux-arm64-musl "1.33.0" + lightningcss-linux-x64-gnu "1.33.0" + lightningcss-linux-x64-musl "1.33.0" + lightningcss-win32-arm64-msvc "1.33.0" + lightningcss-win32-x64-msvc "1.33.0" lightningcss@1.32.0: version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.32.0.tgz#b85aae96486dcb1bf49a7c8571221273f4f1e4a9" + resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz" integrity sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ== dependencies: detect-libc "^2.0.3" @@ -648,77 +399,58 @@ lightningcss@1.32.0: lightningcss-win32-arm64-msvc "1.32.0" lightningcss-win32-x64-msvc "1.32.0" -lightningcss@^1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.33.0.tgz#c08867d71a79385c6e190214fd72fef3e5f95f0b" - integrity sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA== - dependencies: - detect-libc "^2.0.3" - optionalDependencies: - lightningcss-android-arm64 "1.33.0" - lightningcss-darwin-arm64 "1.33.0" - lightningcss-darwin-x64 "1.33.0" - lightningcss-freebsd-x64 "1.33.0" - lightningcss-linux-arm-gnueabihf "1.33.0" - lightningcss-linux-arm64-gnu "1.33.0" - lightningcss-linux-arm64-musl "1.33.0" - lightningcss-linux-x64-gnu "1.33.0" - lightningcss-linux-x64-musl "1.33.0" - lightningcss-win32-arm64-msvc "1.33.0" - lightningcss-win32-x64-msvc "1.33.0" - magic-string@^0.30.21: version "0.30.21" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.21.tgz#56763ec09a0fa8091df27879fd94d19078c00d91" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz" integrity sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== dependencies: "@jridgewell/sourcemap-codec" "^1.5.5" math-intrinsics@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== mime-db@1.52.0: version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.35: version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" ms@^2.1.3: version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== nanoid@^3.3.17: version "3.3.18" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.18.tgz#f66a2de1199ffde0fcf21c8a5f13106b1c081913" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz" integrity sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w== picocolors@^1.0.0, picocolors@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.3.1: version "2.3.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz" integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== -picomatch@^4.0.4, picomatch@^4.0.5: +"picomatch@^3 || ^4", picomatch@^4.0.4, picomatch@^4.0.5: version "4.0.5" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.5.tgz#51ea57a17d86f605f81039595fbc40ed06a55fab" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz" integrity sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A== postcss@^8.5.25: version "8.5.26" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.26.tgz#6e75135780c7e10df3433bf2266c552d35c8c620" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz" integrity sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ== dependencies: nanoid "^3.3.17" @@ -727,12 +459,12 @@ postcss@^8.5.25: proxy-from-env@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz" integrity sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA== rolldown@~1.2.1: version "1.2.4" - resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.2.4.tgz#a70655fdd305b829bbc0fc598b3dd1765b4a87dc" + resolved "https://registry.npmjs.org/rolldown/-/rolldown-1.2.4.tgz" integrity sha512-rSr7irW0K7QRWzjdJXqZowkcRdDtjRduh43rBltnVKd0VFq839l1lJoDvGJb6gl7+4rTTCrPWu+YfujUL8Ug7w== dependencies: "@oxc-project/types" "=0.144.0" @@ -755,24 +487,24 @@ rolldown@~1.2.1: rxjs@7.8.2: version "7.8.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz" integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== dependencies: tslib "^2.1.0" shell-quote@1.9.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.9.0.tgz#e108b1a136586d5964edb3300016d4bedba0fe57" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.9.0.tgz" integrity sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA== source-map-js@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== string-width@^7.0.0, string-width@^7.2.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" + resolved "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz" integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== dependencies: emoji-regex "^10.3.0" @@ -781,29 +513,29 @@ string-width@^7.0.0, string-width@^7.2.0: strip-ansi@^7.1.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.2.0.tgz#d22a269522836a627af8d04b5c3fd2c7fa3e32e3" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz" integrity sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w== dependencies: ansi-regex "^6.2.2" supports-color@10.2.2: version "10.2.2" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-10.2.2.tgz#466c2978cc5cd0052d542a0b576461c2b802ebb4" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz" integrity sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g== -tailwindcss@4.3.3, tailwindcss@^4.3: +tailwindcss@^4.3, tailwindcss@4.3.3: version "4.3.3" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-4.3.3.tgz#c006861611c213c1877893ab5b23daa16be2bb55" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.3.tgz" integrity sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ== tapable@^2.3.3: version "2.3.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.3.tgz#5da7c9992c46038221267985ab28421a8879f160" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz" integrity sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A== tinyglobby@^0.2.12, tinyglobby@^0.2.17: version "0.2.17" - resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.17.tgz#562a9a6c9eb2b3b123d39719f9af5bb44fcd7631" + resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz" integrity sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g== dependencies: fdir "^6.5.0" @@ -811,25 +543,25 @@ tinyglobby@^0.2.12, tinyglobby@^0.2.17: tree-kill@1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -tslib@^2.1.0, tslib@^2.4.0, tslib@^2.8.1: +tslib@^2.1.0: version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== vite-plugin-full-reload@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/vite-plugin-full-reload/-/vite-plugin-full-reload-1.2.0.tgz#bc4bfdc842abb4d24309ca802be8b955fce1c0c6" + resolved "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.2.0.tgz" integrity sha512-kz18NW79x0IHbxRSHm0jttP4zoO9P9gXh+n6UTwlNKnviTTEpOlum6oS9SmecrTtSr+muHEn5TUuC75UovQzcA== dependencies: picocolors "^1.0.0" picomatch "^2.3.1" -vite@^8.0: +"vite@^5.2.0 || ^6 || ^7 || ^8", vite@^8.0, vite@^8.0.0: version "8.2.1" - resolved "https://registry.yarnpkg.com/vite/-/vite-8.2.1.tgz#6fc8d8bb843bd52353091fac978e194d4de5b31d" + resolved "https://registry.npmjs.org/vite/-/vite-8.2.1.tgz" integrity sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw== dependencies: lightningcss "^1.33.0" @@ -842,7 +574,7 @@ vite@^8.0: wrap-ansi@^9.0.0: version "9.0.2" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.2.tgz#956832dea9494306e6d209eb871643bb873d7c98" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz" integrity sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww== dependencies: ansi-styles "^6.2.1" @@ -851,17 +583,17 @@ wrap-ansi@^9.0.0: y18n@^5.0.5: version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yargs-parser@^22.0.0: version "22.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-22.0.0.tgz#87b82094051b0567717346ecd00fd14804b357c8" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz" integrity sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw== yargs@18.0.0: version "18.0.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-18.0.0.tgz#6c84259806273a746b09f579087b68a3c2d25bd1" + resolved "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz" integrity sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg== dependencies: cliui "^9.0.1" From 765cd7b28c0c468acd41181d74ec5e2019e282e9 Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Mon, 24 Aug 2026 10:51:30 +0200 Subject: [PATCH 36/86] chore: gitignore Playwright/testrunner scratch artifacts auth.json (contains session cookies), error-report.md, playwright-report/, test-results/, and testrunner/ are local dev/test artifacts and should never be committed. --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 525976bfe..1009069fb 100644 --- a/.gitignore +++ b/.gitignore @@ -136,3 +136,8 @@ summary-feature-parity.md plan-2026-07-19.md storage/dompdf_log untouched.json +auth.json +error-report.md +/playwright-report/ +/test-results/ +/testrunner/ From a24ca6f3cfca8ed0651a3d72c3f485eb74319482 Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Mon, 24 Aug 2026 11:18:37 +0200 Subject: [PATCH 37/86] fix(invoices): import DateHelpers in InvoiceForm to prevent 500 on edit --- .../Resources/Invoices/Schemas/InvoiceForm.php | 1 + .../Invoices/Tests/Feature/InvoicesTest.php | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Modules/Invoices/Filament/Company/Resources/Invoices/Schemas/InvoiceForm.php b/Modules/Invoices/Filament/Company/Resources/Invoices/Schemas/InvoiceForm.php index 846461926..c0e3f90d7 100644 --- a/Modules/Invoices/Filament/Company/Resources/Invoices/Schemas/InvoiceForm.php +++ b/Modules/Invoices/Filament/Company/Resources/Invoices/Schemas/InvoiceForm.php @@ -21,6 +21,7 @@ use Modules\Core\Filament\Company\Actions\InsertNoteTemplateAction; use Modules\Core\Models\Setting; use Modules\Core\Services\ReportTemplateStorage; +use Modules\Core\Support\DateHelpers; use Modules\Invoices\Enums\InvoiceStatus; use Modules\Invoices\Models\Invoice; use Modules\Invoices\Services\InvoiceService; diff --git a/Modules/Invoices/Tests/Feature/InvoicesTest.php b/Modules/Invoices/Tests/Feature/InvoicesTest.php index 500e6b59d..6012754cd 100644 --- a/Modules/Invoices/Tests/Feature/InvoicesTest.php +++ b/Modules/Invoices/Tests/Feature/InvoicesTest.php @@ -10,6 +10,7 @@ use Livewire\Livewire; use Modules\Clients\Enums\CommunicationType; use Modules\Clients\Models\Relation; +use Modules\Core\Enums\MailType; use Modules\Core\Enums\NumberingType; use Modules\Core\Enums\Permission; use Modules\Core\Models\Company; @@ -586,14 +587,27 @@ public function it_updates_invoice_and_updates_total(): void 'invoice_tax_total' => 20, 'invoice_total' => 120, ]); + $invoice->mailQueue()->create([ + 'mailable_type' => Invoice::class, + 'type' => MailType::REMINDER, + 'from' => 'billing@example.com', + 'to' => 'customer@example.com', + 'cc' => '', + 'bcc' => '', + 'subject' => 'Reminder', + 'body' => 'Reminder body', + 'attach_pdf' => true, + 'is_sent' => true, + 'sent_at' => now(), + ]); - /* Act — load the edit page and verify it renders without errors */ + /* Act */ $component = Livewire::actingAs($this->user) ->test(EditInvoice::class, ['record' => $invoice->id]); + /* Assert */ $component->assertSuccessful(); - /* Assert — invoice exists in DB with correct initial totals */ $this->assertDatabaseHas('invoices', [ 'id' => $invoice->id, 'invoice_item_subtotal' => 100, From 32c6b373d138b761d451a9b4d8a8da0e0548640a Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Mon, 24 Aug 2026 11:19:18 +0200 Subject: [PATCH 38/86] chore: remove dead report-builder view duplicate and stray debug screenshots --- .gitignore | 4 + debug-looks-ok.png | Bin 49358 -> 0 bytes for-now-ok.png | Bin 52804 -> 0 bytes getting-there.png | Bin 38216 -> 0 bytes report-builder-001.png | Bin 83560 -> 0 bytes report-builder-002.png | Bin 111200 -> 0 bytes ...t-builder-iframe-preview-content.blade.php | 592 ------------------ screenshot_problem_icon_heroicon.png | Bin 61605 -> 0 bytes screenshot_report_builder.png | Bin 86222 -> 0 bytes screenshot_something_wrong.png | Bin 566143 -> 0 bytes what-should-this-have-looked-like.png | Bin 39053 -> 0 bytes 11 files changed, 4 insertions(+), 592 deletions(-) delete mode 100644 debug-looks-ok.png delete mode 100644 for-now-ok.png delete mode 100644 getting-there.png delete mode 100644 report-builder-001.png delete mode 100644 report-builder-002.png delete mode 100644 resources/views/filament/components/report-builder-iframe-preview-content.blade.php delete mode 100644 screenshot_problem_icon_heroicon.png delete mode 100644 screenshot_report_builder.png delete mode 100644 screenshot_something_wrong.png delete mode 100644 what-should-this-have-looked-like.png diff --git a/.gitignore b/.gitignore index 1009069fb..458dacb26 100644 --- a/.gitignore +++ b/.gitignore @@ -141,3 +141,7 @@ error-report.md /playwright-report/ /test-results/ /testrunner/ +/screenshot_*.png +/screenshot*.png +/debug-*.png +/report-builder-*.png diff --git a/debug-looks-ok.png b/debug-looks-ok.png deleted file mode 100644 index de1c3d37cc2bd9684a6300ee51d018cd83346399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49358 zcmZs?Wmr_-_dYy;fJlibNDB&xbayBsAf+PRlF~4wG)jqx)KEhUNOug~ISgG6T|+Z~ zbp6lh=lfj07tf2ixHz-toPG9Q>t6S|*ViAe!PY-G1h0JfXx3kN;8h>X~q(`a$ z=Dp0_=}C|Y!CeJ~7x&7!W6rLxMdtV5X4*5Mh?a|wCKiY@gm6qpce|Q&+M#H7Ur%3| zD6uVahJ}+e?%cG>q=G^9AeMp0e1%bnOJ6|_{`8fv309&j_dbG9>7y#W+%a32w~}8rz*wu)PWU*&(c6gPOP1tNz+W5;|~B8a$Bj+#=HKGJ-j_ z#0x?vmwkF+G>98dlCf=c^2Vj-43ww-@Gx;OD(a4T$t9)U@frLytQa?)5_ag<@@9VC z^MaxOBW`GK=3pf^kBA>AOjELoF%9>T$qJ{kwEOMUKEH~~y^>+&sgnV=x%n$>7VmxM zPZLdD;)9pTYYn(i_ui*sUw!+L4tAuz9Asov2}bNl;de+Eb;YCz3)rnq=;eq?nS6L0#3f-1FbSZHXdw>RsZwKkNh`x_LVOSPS; z4h4mAa)2t9f$ahvFv~CkxtA|rGHI?}+p!X@&A>+K;8=h983I=E>=QWXZsAD8v!a!O z5ieCYUbaHFT=2ocLF%^zr$tXZ6?pKW#Y6_TM9{2|Ya#D9z@R6ebRfN5)7sq+Ue2!C zL(JJ^S(%ua?(M_dL=VS^w>b!fKfAA)tz+(oP_XwLcfNQOn5DX;ij@M)RN)pO@zTu8 z6!A5o*S}VtVSdS28-}(DPrX-zbsFzMAvqkn#X(tIw6wt|d#E7{a{z%cr>|aWbYadsx~tVl&8rkzvLuLS)qgX);}i41ZP3gacs% zq-(X@AayraFD6^Pe-l|L|4dakq-=nO>B#5)8}|bDIGJ!dv!fioaksT`UBde7UCjO7 zX9Pg$PQzs)zt}woD+m9Zj)J+4rd1^S?pq@kIaJ2%rmE+qRh<6cb=I|lAV`|3vD6|L z1-e$BrT?AOd!gMVQSuHQ%~D3DiR2gOEg%1=Dn6k=G8|M#_K{4u*h%Z?B&JwkZm?py zet%5ISm((f>K7+tM9yN=p*!pAx4pXMmwltYlSr?w%D4R+*xpCKCgFtCwG;m#tF*1* zZ?5x`nKl34vXGy_{lRJj`A%)m+Lr{}XEhU@ZoTp#h=Oq-3dIvFx&XA0|t z@89L9K9Y}LO9x~YTn~ro0=Dk|+Z+*^-2U<2DHEN__d7qcVAOB^-Ff(hxB-qWjh~I= zQFcL@U2`=jFfXz&ZHOo%)7>#q8bUotP=rc-y#}aOh;J;h`VOpqq^p=T9ouRl24h3D`znkQ@(7Pbq zn0K38c4-sR|Fg(1gtr_R0}R${|Fg3-hz<@hnJTKF|HVH`d0FuSTcqZB8y#5O_`liw zBDdGN*Jfb!pW(a{O%xTT!B6=t?ymgrH(%}y!d-R6Q7$dIknDff^$wR0%-EVtGZJL6 zlWA?b_;zP!X6{Y5r(KapyU+y2NY0*AX;V0KvZCL-yOX@U)RwD8<1TB0B;IUWv&(#% zPBT7-P#TZBvx2c{CJ(!0C0#v{lA^eNujAe5bi|GYu}fXB#1h0bE01mII9Lo9jBzig zhU$SGV%Np?T)B0YwlA@I?G-L>$%j%VC#a>KUywtq@tYU2*on40bNl78x-rD%4lJ4t7yMzPk z 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 diff --git a/getting-there.png b/getting-there.png deleted file mode 100644 index 73a4eb396405cae44ce76f535eabd7c79eb955d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38216 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 JiXIrf`d?#?APWEh diff --git a/report-builder-001.png b/report-builder-001.png deleted file mode 100644 index 8653e7a3591e40a93f74b301286f6ae38d585c0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83560 zcmd4&byQr-7B`AE5Fofagx~>!yA#|=fZ*=#?gaPX4hin=PH?vbcXwzUnugmsd!LBy=#o_)xFlLS+k~8&6@MK!apiVq976?0ssIMX(=%!000&U0KAfX4F|cR zEKJJ`IU(3fX*dA@sC~abP)YQtM8BVQ7FTz+wllLZGO$($uyAv+=cD|3fZRa-*9{E- z3lF<3LWL0II@0g!PDYLD42R^sGoIRQjq0yYE!UVUS~G;w6F*W zh!-JZB@40+O5`?n!yI(A9&BqLDWjBa^^;0ASwsl0;~54$xL*`c+TZ zv8b?-?9yUC`adkkMgNPGT3xvuU(;%BkOmtfxmvX2jyetz=jpeaVT_ieD2>A?YiM>% zy??kDGY$$yGOgR|Tqe&@w3v&6HXVPr(Jy4HKe^T$S2h_=-3XhTE4T8p*|nS9)j<;2 zgWjU~r*S2w8PP_lmeab;du?XE+K0?2FG^okRqE(y`MB|vf@3_LQAtv5lx|=I9V)3H z;q>;CrpxlUdWGt3;@P$_IJhjyxl)cAOSg)vR^uP4I}wRV7D6We=XdaQvqZ=t7_k%; zE$5tsgjxeSnnl&s_I;PlqEE5qEqMN<;A=GutBF;TGTY7B9M7=ALQ}!3u4fj<8xOTl z8uF2ONgpQP(i|UAsO2=QKkub1U~Y+yPMp2DJ>%S38 zo3mfW!Jlv2+3I}o_9kW+XW)PNLAuxoULC6ZBVx70Wm^r*MfNW}`rLUvlfPyC^0-H5g0HwhTM7GFPX;cB4e!f$B^hHe06UvXlk;!?A~y#*u%{0 z`3d|!JMB+IpJ1|DNkBb#EdGauxO?>1mpM;cW*(QoN!_m)527IwjW3%8YH32}goW~H zaymXRljUHN(9sy+xSwZyFw)+qRx{Fd@N+Cwv&Dm9=k48_yy-v%=8;B|Q?Gc3D0Zlm;j?~cZPQs+*J zLiRETe+{0W*xn}95_L6&+fAamKlbu+zu!jN0=nN{z~t=E>-k0z*}XFb@wHue`mB7c z{aRURtEVpC@INHk zefs18?f-JW`$A1YktI|KLW;C&NA+J9cwr^t>=b5_(_88! zlWP#T+|IPOwzfoeosi*R92^|RviMS9;8De{QB(QazNRlZRrRr+#odegUf1bu-sxpx zJfN-lF$K>eGHZ>=rNvLq=XgRx)XlfPiqf6QQy0dX0rjra^$h@oMm%tOdy!@5leBEt z7M#B$R*p+wXDYX^^>Q7H&6G*H^!!!2WzqYkP0#3Tg}hvqet1~=X?z67`?O5&hd#6Y zRcP|%E|X6TZNgPIz@nt2yz@>W+xuyHNFHj#6)ohA28$(DJ0Ku0Q#mkL!kW^C<)YqJpQ9Qvr+Ou}> z+|<=*tlG?$IjsKXm+t4`i3v&y3KIXU^RvB%d9I5SKY_`NjHa2>6Vw}0V&Z4yf6MU8 za7&y#KrWp$P{2`WR%8kp;Rp4+pKJJZk^>6hIX-?14b0`eLgJHi_mt_?dUoO z-1%M4dOy&=M9m*lF>;1@I8|*{`K|VDe8Vg2AIV%~V2?p6Z&4Zqjaq)iIletw>;dO?aE6y2<+9ZToQ z;<#If=_b{EqIkJD9DGjWanrInuA&K z*VOvAEYn6zk1|?Sn`Xg znHe6e@?{z)gFR>{K-44v<6$8XCgq;3k5GX+(j8IXn#bFcYWH&{5~2 zuo~)W(d-xw8;i{?nwr@Ni ze*2#OxDSAs$CID^!?A2t`v6zx?JJ1?t5+mnq!?&cKZBBO&h2YE0}^gfti7*n0Fc?# zI3HeSi@$kK@C~x9mz2VUeOBJVfjOYn%hSW}+&3FswH`W$GCY~{syoBZ#^k(H6!7G* z>M00HQw+L6j;ab8b%vJIbTf!jYzi&&*t91n2nz%y@} z+cZq5&zKb|;CT~F-o&N5Pu1tQ6&Y*T-QC3xP8j;U|LdDsbN;A)^=HrJ)0L5>Mw(i5rOe5U<{2VZ~Z8S)4ZevBkz>ySx9GS-EMUDRYF4Q=G z`C(27OaXDlll;rii!Jd*K<_!(5slGrIexhF^DITVX$( z$rm@U$NmFNqX1Uhvt|UuSNQl6GSuF~=6VeDsX`{hQ4O?N9uw|4QecOf4tF0PC{TzK?iK0Q^}sN7rv?=!ZXjW|VL zeMo-|4t8i&DBEppE+T@w=&fN3N_219_+F3w8L5w74}nxg$N z1J~x&gNP5a5?IWp-|@r)C=mfQ_rLtC#ak4WaaO(;@J5)%0TX^ZB18 z5Tj+Lz7e+cThJ8<+`M}B2@3pmwu02kYuiDA0vJkN*YOid(7&!NR5Ub})$YuCMhW8n z-Y1?+AIVJz+uB<8?d;4(cKAD=3MPZIx9>n6XKqZv$)V+-S|FIF8)?r99CRB?a(^8 zpO;I{{9>73dek~p=s<8M^%Rc1fwl-d^ZGs*ib~qQ_zUHg%%u0WmSP=nyy@`Bam%%h zN7Fa+{Ao0HL8q1LI+Ki}!NnV_rRa2U@kyHzFN;LyX>wqk9~_voaR*wwp5yertkYB0 z@xnacc*_u@>I-`EyLvj;3t#yOPbZ{1eCK!1rZC5`0d#-IRJ9X~rx$&48}JNHc^Q^v zdO?u1B3kSDprA5;d5z{b00NSl-eO;XWXxxvUKd|m&yp%H)VufZ ziKhk6Hh&>r{E6syWNHm&V?Ku2G2=56MvtYk1m54fM@bl&vv;nao6Y1)@9gYM&Cd4L z7!68{$+tqDo!WLX8OdNh&Y>XsLq@EUQ$WC{-i^1#bdJ5Yt}czk3b&@FCRL6)N`e9| zknB2V+8i^_jn>qzuwm*=&J*On!&#|Fi#K_FL`92_*$fx^^^iIsQt8oKk-O zeQx#g+bMP8JPWt^H_OgWm1)DF$*bM%Jawsw8S>WF$UZ*c%yKLJmmZ4tj#C}fH@t)o z^>wamG>tg_=8A;h`MN#mdb_}p_s>dC{(s*L$&hva(bdqa0`z}xM7}76G5u-F`hoV} z<4*gAz4b3W%YFRcJ=Oo`Js2GwBO`U~X~b1g$}?7AkN@PpSvSZ3Y-DzFBO4`**a-p6 z;M--2IXJPK+gr&-9S2B&b*$?bc>Z!x)V!KK^y?3Q|e9+_Tenm8?VJEiZ6 zw(s%){~8fBcGGe%#7&f+o`*PkDboJ2gJV#oT_dWA0d1>euUgjS$$D!#nr7B8nlIM=i4SjZuQ#ahI*}=w4i4Uim z3(2$eGfrVyMA|c8N)4qNz-^IX%pHBWCy1t2q8{%{<_X@rT;(pk6?bj1RyZ-+ZHGsl-0)Xlq%{<#w|LY6PYT56{E|MB#zo(* zlg3&)zp@m$0=PBRRxRaNVk6XPFyTpk)hdp}>pz zc*Vz+{yun2qt@Hx=~=JCm=xNUu(2=Xm`VvX>g5|QEDQVJ+JJ!Z&!3wI+a?+7l}WH( z?3W4n61MR_i}l#hSHs3?O@41s$vhxhG!v;dMCfAZ!H)cexZT!D_LuLcd|4+g4rRcK zT_hx0WFJYpj+5P%iy2S5hDbvK>lwJCyX~wya>#H0(((HfH?GDMh>*Y$e4lAp_+CrY zcA$@ck&!nL!AYAsd{$M--3Y;9TL8pAXwI+H>pvJdx%;i6JTW`+zM$n}ZqZ8rSU-KW znHi={gCV;=%Sc3jvg}dRa$1WsELJ1oD2}JxL{`ErMZxv87ZBxkTB{>+u5w85FGgA8 z9(+=4t8+55d+vKSXVR_-SlQMm1V+uoIY(g~sR#Gu9<}N4u9`M8CAa*}`4pk-FQz_q z-akm*FEV9^A2=jkwBg(H0-*=q5zTR1Z6JoT1lPAvId^uXWry=dJbnSPPHBdYBH@>- zC$NS$zM8|w!uy)!<{xncjLN>9(YxW5EF)iLGMaW8%1Vpn;jSglNm%2gp)|(8BWYf; zi()cV`a~spJGVjPyZ6cg_D#Z7-|>QYf1ys?_+R`x2Fu7sm<+djpGZ68Q^CQxHoD#b zkLFl4`34gLhx(ZzgQ4)#BG%Mxx{+GYjFUai6nXj%csXA8PQSipS6!*UK0>)%P5NoG zPE71$P42nWfju#T{OVy^Sz2LHPEoeHiYg)Ta6UdgPE@WO$EbQtPEnbFA<5*rEf6e` zg!~}jlC5EkGxk=H47XRGv@%A9c+hQj4Ff3omM*w&_)2 z@nyZ7P2gV-X28UcXi1U zV6VPkgjmUAu*PzXlw`CRvWW;egW+X$F}GL+^$pxK8~r5znF`~|WHpuED+<(So`T92 zJF7zSI8bNe4Pl^wtNp|!4%#N0)!|!hcDn&RKKu=x;X{@!Sp6UUU&eA|GbUw!#$+JvU0r8U&pkV$nW(L9>_%Fxkomg%qfO1s zjO;NiSDn2T>Khd{;sCR;g|h+FStPZf@CNz}5i6O<1l!+7^aSw;ChSTABy6Z0K*j5qpm+>pjRU>1*`BWlV8ZG8I3QtT9LpizpwRhpijI6#A zdg&o^w2&!`_btXr<>VABPr_-;;zj5}B|-O@ZbL>OwpmbemV&@?yJ* zUz6g##0igsGD}RHgY}95%u(ePX5n=PeF1jWF^@KrQ`oIe=ID0DX@sK0;q#T$6i@jP z3S@$IEVHavCCd+<2j0BPSCjE>e6xGF`UI__fVXtX2Z_+R%7{`5>r(xoU9p{KgYv%d z*3gpK6N82}Ik6&~xCGv`fKDVe(xKGW)Wfv7>IZ^ybxfoo%|y|aXS|Y9ml++sK$;?S zHenT1&bIKFkWD0QgtQ(2>9@N0m^W`nVmj^_9ZxV!YIBvtCZ)*)%}`4Qb@#B23Un(1=vNym3{kmAFb*%mm-xETE8q#g55GDi6JoM|gTkU|-ItFSmmnCJ zh;>}Tt>UyakNuZfA(_2TzBx_3f{z)kvnWR9O-!R=8!(Pv*FI-T&w~uWLMDFi}ps79|0ydM}}) zI%usTPm)p#QwbW)o3UM;1*O0vL_L1L{9Bs~$?2I~EpEkI9_s6QVZR)l*{SK6S|hz` z%=ufF`rD8jn5b}A$`A$+h~)ZqAv`=5B_vdrU*NR4Ll0@_7Ka~mOny;itFqft0?6leT?Wq#9@ ziKfoxWN>QK7mU%hfKK7Gf^N+0=V_s;&KTZDpNAd~Xt_S@N&{61oYRKTL-S&Tji0nU z`c%Av7eibJ(8}Mk1p&$0wRrEpnQ76&n0Y-@B{G{Rs6%QUTLkt7^#dUj0T6HP%X@0)DSTFJ&M zw!rr(57=D)QVm$&ciiGwWQOl58VKUqnY78bcH=3er5{E@y66y)zrIB=Y&5~ZvVjax zPD5IE|0=VXuiq--KLPm=tjqbO2LDyj3}jZz8&s|F@#Bacqu={gAt_?;+%X!dz*DE%j&*d#&cBr9?iYNo=CE{h(hC_t^8xsE~0RWMEsm-;0xK2Ldeqog@EyozzjjN68d^0#8 zjo+s!9MAXRO@S?zc+>hw-Y59`Xgfwyf|XunBHpyl6J9}A8%zfYrmTh}{-)0GTzEk- z-$SA&(06WCza!J+rjxB<7kTVeANsPa^NVo?13Uu8uOuKV@{9p%zKUWMTiW5B=y_;2 zV#*1IodN8F3TS4w3S%;~q_0{GQ7o$ybZiwfiX-*CQ(N zxhpE?d_z@Szh+IOO@6H+X?#XU@lh!C%1v8yN*&}ByXrFvrsO~t_GaG;pw`uE3azLx zjj(NviNz_x+&?Sm?2ima^7B@p9hn%HRVvo)3TXIT^S;Xj_hE55k+vzU)(UTgX_eF>op~$emOCRUIaCV4nD0grTZejL} zGLc_o!l=~#*XKxN-(PzzU8q~@xe?IFHqA_L_nXrjDghnix5-UYW9i8Stlk}-1vgrb9z$M z#WZDTqk(2l&!>g-UZ^ahB{h>DuG)^xt=&F2lRe0)#S^3GlMDKxve2Ny@rAI(ebvL~ zjOdEZrXYe8f_g>Y1KA)c(E73JxXb-TeXJWk-TvuQSh+r&3WKAc`slXf{mHK;<_LKS zGxOyU@^1?3E&7Pc>>nWos-)EKcV|}l9X$vvNJB#es23fl1uCa&;#EX)wEc1juvayd ziaD}Qy$cN&l25oBx%(HqrKQC8QMCCwP3hWR8w+Wyd-0gZeXLYm^*L|~<=gk)Tf4)& z0;B7X=U;)eq~E{$p`_-S&PVZk>l`O72Ei2kg#{23+Yw1kvny&Si_PPRnYt{~8eORA z3L%jW*myRN4xF11j8WlhcJr7%lyub^OO4j$7aZzx5G>n1e&}I}QNqgV&C5xhJZc?3 z=@GN84@H>-2ZPTjRad*BVi~Nq)qLta-j4Ug`ql&^=4HhSIKz;(Rc4Xi1@J5l#?3d@ zmALwQlsuGMdYJ7tA|zI;;~%ylit9z))c; zvMFoE$qchEfHmpYte~~n@W%Ew4c)<9egQG}&?DJ=F);eo z*=nxxy8}NwJ0IF)_!IW8vT7Q^jtjvAd1;hx0_)&@KIbLss{_$1kLt>BF4lb~Hzll> z=SY}DgZ+R|T;-o^*OW{q%Z`W5J(?H#8rNTf=QVR_JDq6tniI*M z^=TwaH+xKwJl?0vw;SK8L+@ zob&f{)R_SxrQv984iQ;d`f-Mem8b7z=3<>ZDNzqCaTOa*Gp^?F6CbJz;H-9FQcsL^ zU(nM;M+e^JiWn3nE%b?ny#}r}EJH(z0F&WY7phA$p~u5o32fn!C|)RTRM93J?oR;5 z$FioW#5Bch0d#mxC8zL0>tZ+mwul6+`B{u?oSgmXnY92&Sc|tWt1nY)gn|^ej0Ows z4aljBN(gld?_yL}pc+bz=OA7)r0P8A#U3ZtwL?6%maaC6c&EQ*6}Bo5o+4({@3_yOnd?~{c6mF7XPQ~lD>1Fw1hkfx3+_KNO1RnO5XIl zQ>sHzs-8&$3hG6P%+vQ1UHQYv)MzQKz=o587J+7PfTJbnXC)*2&bIFTCX7~B_C9?Y z!E)lbDiRUrOBheOO|z}X1e(!>oAZqmCY}r3ezLcSruk@0Mg(hveFa!Xl)1@&XE?RZD|9-( zOIwE~lRhjPYVv{9d4+N)eg)W*>L0dy>k5eLcsqHLDSG?TNl)vJxSnoCQ)68vQ|T+@ zjOFEwz(l3y$+1(4L+SEbS2u7yM2XJQkxGs-<2 z_tZ11t(NaI>?tr!fm|`BwU4cGGRM@)D^6e3c#CQYnTwXIn>cIRej!~eX-*G|j>Zq$ zGVQO1h~VN4gWk z@3ry9!zm4|P3marwR`RC_CfiQs0OKj;7o*IG7XAAQS3m7aD?(KtFW~$dyNHWye8q| z61sZ@*aWrp@(Y+L9BNJHj@qOp?R|Rk@KIOJc&)tFz32(;T9IA36LxJC(J`NCNZ8o9 z5^ov$OGT3#B=<8tw5QDLeE-_6qeGzfp>)$?RaR7kmPCiKJ7|~~w~?Sied|Xuh4@b? zc>B9oFi&L9sE;6o;FE!3^Y_oyHm#W$2D+qYzIfl~RT zpa58=%f?EMY%GKO2@Vxm=DHhw7J;WuX6#y_y-I$3Fc?lK_nD|G&p)bXB=r&fP^rgQ zzNgdW1%Ej)05c>}z&zD$oN`Nnz2Hl@iqLa3gdNwk#F?cUvO zorQCogHMs&$*Av9xHJqWE}tT)=}zVi?7uN>tz3P{K}(hT6~SUnw3Zzc_GqV|Ex-uf z#F6PISY@@Nc=|1Jv)7QY6DhwgGiD9exDTe!aCGboBa!s5==uky)te-Ds5+{r6?;q# zg5g!71;qftISf4S5b-D6=12Ufl{mrki%yQgm}adW^M>f5Q^_!Xg1>4jJGthkCq|&> z^p71N$dZ-qYfFE}$n;}+k%(@bRmI82yw8_XQIz%q}0MzM(dlwxAey?T7G@$ zZifSA4nh2pAdqIJGitNP?p>SvJb@%IT3Nc(s%Q2n-}-|0EZZvAQ<4Ebbp(dXROFYS zCHYH-H%9d5OY`zZ16@KHdW-u$?M`NbTe}6(`LPm!JA@RYwAm+3oDAMPT1L4avr3AA zcK#tSHY+-;8Ow&>uVYd9v!=NpAB)$jqZ@GET<%ZogcN(mNW$IsAaDF!Mm@JOeH@cs zh*h0UV-Mf5WJWikT^(8QXI*Y$TArSS^tPIW>Rl#$3=9?DT_B4RF|YUD_ZO4#&l3G}mP#q> zZ$>DixermOwshNV@zAvw8zO6MNI%|^TN-z`%X%Y9{P>}gm$gv+=~8eKkbN;rz<_Y(n zwhskI>MpRTEj&Bn^g5GYYOtL{ZWKvZsyZJ7@4?G5jDojE#vbmc|AKRF?=z~`D%i~J znSgb8g!-od9ko3fnX|1}@c3}|+cg%hogZ9M=0t_+L;*GDqK4rSf@L}1kb2L*<#lF7 z5d`qiyeCkuaajr@^|Z<+T*`n3x%RaLM5l&b4P$btxRG`TyNzjBwYv*!uFtCH{&1^g zv3^GE7Q#q!+E18p*?KqDP{i;eqmCL}v%sM?uTl(UR` zTh3Cic6CxH*Xgw^Vr#zC-^O=$v6O}6u~j4TUJ&gD9<_QFAptnUg+6YBw%U`|lYT#G zYn3|@SkCF@1TO)l6iEB+a&h938-D*^Rl+{K_kP4FX=78mi` z^E2_M4F@db+gh*DY+>^ijnT@GMSlL4=!RoYGHdnpq9bOj^{$v$pDolkeX@3<99;}I z{*$5>uq!@U3GxkZVu<*pTRFqCh$xQb^xPrKp!GUl^9Cz>&FS=!@Ei}j1293zkK(6a zVs=8iL;Y8pI>n1)OH%2c5!CFX-f|y1GExwTPo1P(>*XXT5Y*nD?$h*sZy>w3eF|`| zaQWlW_)X`jsqY)uvp4WW&-~69)ZfY~gSWXR_TY0AHWnL-7H`pWLKS4+DDrcrQ08SE z`FP#md}7l1?Bz}c=FNV3GG6h4VQ(HpW)3tU)vtKuT2FZ1UTMSsxAj%2bQUOSk zAvMAC0kqcCg-dAj(qZQpEhz{R6N@biYl{fEUz z5*{+6C#T4ZN*MR~Pfm=SMjf6=k6xZ{e)dfqtkz|6+-zsS74MbgG0`c~kW>l6&%Rh%!;u-BAiCY_M8}iUuv$5QFT8*bg$ z?1U`k!C_At{U7mdL1Wbqh>QgRkB**5fd#I)MezbY?tL9a5ARlcL^rI;hy=NiIh7)0 z4&JYdS0Rl-l%Rmnb}_dq7Hf54LF%cMaj^>*8|*@tri`lenV>w}4{YfO!*=?mD!jGH zZE7Cg!2zIZt-Oc1TAKnzif_{|$H+*|dvDr-lEI^@il>hLSGqFNc6E;8WI?Z&!VNDW z8GCS=5Z)rZCZDPwk`KDEfbpIT(DA+%w%_b#d_&|ZN0ae;#s{te6sjIF#mbRbpc^eVFoSVbE@2v+tHV ztCR4eQbO+5w=?4QS+bQoC#Uz{1%R24_&94aox*amvj>ovU@doqnoW1!fy?5G_DD1@ zh2)aQ#olV`h!|c;w61K}tjL0{y=S%nfzdz3NvV1k18C^dnyY81*9vuGU`l5>;W-2XsH19Jx3)utimIAmQo3S4gu*C& z*(_@Cf6916UNIXkWNQ54a7f!b-TIat&7Za+h@fe#pv%s`cp*_3+#uBfZ()%+ns}n# zEjIQOO*wH|tcxpoL2UU#>iC(JSMx{cP3(B81Di4)>aW$D5A8sY7`5mXyUsbp))iPv z_^Nk(*uJUcUKD5g0-%pVW>l*kQQ1Xr3;o+oV0TbGStO#72Yhr)>Kg**JvjGs@a%R! zJk~|RaBM`ovf>KKE%_sr*BF?jYID<%9)wPF0D&_;xx{XBncXc$)p4Guk~KJuZ06Ml z(MU}4PT@Dnv(p+P+N}CvRJ`?mAp5y_cRG$Q;;2fP!&$il7dW;z3+he8|PfeHiPbnLKqN3NgReX#M z5a@urKIs;!dtMBDR^faTTEQg&caKVZZkNx|K6%(o=fEBe?g@{8q@{xo(8lKF)s-%5 z3igd;CrJo~KuZq9JpSi~e? z$!XgGZ*|;W^)QqiFs&~X{{F1n_lzfSgr_j|B7Ki~tj0*2+aX1{>HIDD`)OJ=R77l>p`@<{M~n~_LmF_ zbJ>p~F;zbB9D{)gjnMi(i0x>oCn7NL-pn6#_*rltmR1qz$XI@hzn#0dJNV&YE^t#} zfMqKb)Ft#1kie>&h93TL>X zRLEAeRA6MO;T)5|%kD(=Opl$`boshAEq!5eJ>B3(!U2wyo*eG8Br(hK6uMtgcwDBl z5YUwgWy6m_o%{4MQPyml_%+>P&@%eRxn)t&=3Du3&P&+{N%?Ls)yGlpnu@IY!$_&| z5oGK2RdKuR59wC9Lz<1L_d};%N9HTf{Hw~iasQN+o2s(1lUX%mNb~Ok;WuG6O4h}l z24rStw=P^r^Ew?*AQ_dt3gUHDdCMN{_!HM$BSV-fo+$-8C!XKN25Z1=(-P(}=IT4dh-v8tn})zA3IcJ}=(6ZiBb)t<$>A~RFQ#%eurw_X-c z3ZV^stQfbPJhK_-87HK$CMrYDKuBpEf=03V<#l*~e=Homb4&-(5ee-qUR-)M0XMEM z9wg3Mb@8%z(2fPabI~RVj>t7Q+eKeO2eWX>LlDhdrS2FK|+(T}TbJUlKyk zdE}EM$lNyvE%4KJDoySv_?{q&`l&OLP54)}d%sVdaz?f)WQQ?7mMz{YzyN^;iJG`F zHoSO%n^u~iVutp@nM%XHEUW4x!Ho%o&M7%;iRknsjmkXA>}l)a;}@LU6*(-QTL|9x zyZ;qCV-V2f4fk<0`4Hy)ctRLlT^C&}To>bv{pdVOQ{5NE2>m`~4T3oG7Gw(Le1aD| ze?S7d*@BVW)?M%b!NI{4b6H@ir({*mChJ&h+`ma;v~1nC>+&AQCa_wV?$EXLc@j6o z$>&{jTS^bpM_4B#Y&Z(~X59=yfs}>j5FGi z`d=ue53!LkA(y{VN`D}MLl(|WKWDT%wLUz*+B|bp@^k0YktZd-aOKGQ_I%;G0xlKh z|D-)JXg9T;+v3f&%0TLk*Yn^!x9j|0#1#Z{8B^+md|jWAsUxK{;rwf;>(vTa;JT4( zYSI2F3VMSqrWD)^%A_<=q+z7;5}8x)B7_i}+(%0Mb!7go>i|mdU0==u+-UKmlZJ8G z>w4>*jbkDTt-m3XJJ3hAB?WB-$*qBQ+joKMZa_;zz0;_|cTt~k;dFfB$|j`LW)WJ` z70^wh`?(GV_DP~n$nmBiGDnucf)myEjgl4r*KjqO6AjjWjqH=~GxeOhiyHHA{f4N4 z+V3fdm{@=P{|){4FA0Z*{htF}{=cPLKj>OHt=>#4B=U?uNY@>@JaoVI_fDyeM~v}# zUq(Z`sVlSt1#HEb{%iLb7;z3n5#M&bSqs0i-l?*lI^g4fJMS~Kq))#Xz>aUTM;HcD zxBJ{6r(S+{WccjDskB$|mcBQnYyCsjD55QZo&}aGLG7z_qQTdmxsIPFLPNrjr(?9W zQ^yUPJdgY|869!w!vEN%)=x!ZR;P z;H#0t6;0^Wu*OB^#l4T!-nak>Wo)oR3Hp96$Q?!3|IEnQHAx@o){QG^R_OJVn4~hE zg@e9KwNbbX*>OnhS6F@MJU*yQVMP)h9iMyX^FJdNs}wfV!FuW8xRc-vhP*4XRz}k; zM8yO%f!eO)RkC#H6?3*Ar+lhQJZ^J+qaHpvhJ13JI=o=r^Q=Rne)1qj1Z9MXU=bd` z;KFDBdtG|)is|f#X)R?^s^e#eWZv7dhUn6!Z@IcknXFf&q~MH zsaHnowQvLc`~#M3el~*+c<|~co7y^+|owr;9(d=^;fL##WpTzrr0j!4>Aq4zNwsR8A*EcWq@3&l$=;>-V@RBw5~;F0rM>fNQvIC@rn|CubA?hX2fW1|u)P;G@0(Q6Nwvef;uK#J#JMUhTH^ z{9Mz@u2(Mye4`srDIM?prL>}ginyfEQVl2W=tv)wYNZ@ zQcB%0M=n^&#EBX zSy0v*t;|X~S!zfK3R3?4Tuj8sMy*jHgpk$hr*&=~nYsew=ZucqjC? z{J>y;&Et4O&!vI%;Svt_)1(t~mcpT!ygbV0&@`BpOpr1Al4Q5%vZjGco!b=|`1i0& z2v{cs@QR7bpsOK;&H=g#V~EXexRi(K5Rscn4ra0o8?YGr@{PFvd!|5>pUrW zs@;3=SY0P;{^Zky8-#g2;~~Fyv^s4wd7zdc3JgQT##)!*Ht-m!Lk2;0EVfUo}f`{vIUT&rOb^S0= zfwFI~ro$T^!UMK7msh)jvorSer_-<)TSA-ppFaT=Y(sYl6@M$?Cvw?*CC>rl)3;uo zc}$L1_W*&`9NBk;X9R#vsi1bZxw!aDImh{(fg)lhW_!ExO#(nD1vVCWfz>4$>6(_Z zavjr{o%}yyl?Jh+UJzY(T;x)J@P%+5bl*&Eg=)HAnPtti{z1f>n9uE$f1}8tZ(<(y z;d?4NM7`dc+7QRMgz>Q^i2g4YpmKIYJ^F+v`wv|}kf9;!>kA_GR}X3H52)Rpi!XXb z-jX~?d~OaBmX_79-4i-VeXhJz>bB&ZjaZP&u%q2IIW2ze1pk$l5?iLvo(9OZz%L0h z)_91;RU!8hy_xfBhVl)B*vM}Vot;&x#pUH~s-680ii<^KM#5uao=5JybJ_Y*{_@9s zQz>Z$YV0HQ_oN&4^9}4oLifvLqCiOdamdI|RvNCp27u=U-nzNnPl2&+T3|wtrxdZj z{_V^pDiFhk81$!3Bgq7G9&D_-^MESJRwN;a#X;O<*EBpflA^$hwXN4c@Ns8bA7o|o zv|%T_>ism(m~y^x!Zr#0788M#^+ZT}dioP(R`Ss8B}tDe7N6VacxO%WB)+_iv2Gy( z{6Ay1W~xFu75$D*LT*5~KMB$4$9J!O3K&D`+8tdFI3g@A`;=~{G9udi%WjEvF3X&l zTU(2@HdgvKJ;A*g6M|Rof5csM9)DQn_|CX6S%tQbHaLLxEWu5@cIWZ!jEyTyEaoIK zB!uAhBNt*({fW~LJ*SHFbWIr{CJHja0Eqg1@?1I(Q(n_Ri+cZU`<5XgI!B?GF5qwW z&9;(W5_e7r!AGv=MM16czIz(hi;dBjBzhgP9UnGnNU=!qnwYxRb-FUTHo4C`_F{W@ z;&q<%Xowf(xobgR^IT913Ja5GYFWS8!uvT*3Vr%V+cOTX>_0B;xyR=0xI^~OH_e02 zCASG_5J|1+|K>vp$>bk@{QvGZ4#|6|zvsPSI*RQTeQ91{kB15U!&H`k%)|5H!4D}p zA0|IPA5L~KYTNm5%}ZN;|6|Snzx~b)46d3zZhs?}#a|;`k)IzGKclp!)fKlc&{i+4 z_+Q8N&T6|Mt8gSClDT`Ob+d%&C85|l`1xWJl=HEMYvBcPdf0ov{npxZAFK3Bhs085 za!+uPjnOH*p8eEl&Qg}2%)$>nE;TqlUYVG;eUlq$FPck~<>xb0aV2+(J5Rdyi~f?S z*XL+TN=kDF@Bgb>*xYTN;}vJj<)0#a#ZSf*q~5wD+BbL8g%mmow;!(+*kGPa7eEi| z>Y)DYK=}K|Hgnf7KV~W_lX7>H&#T8XFM~fpG=w{U&u*43OKv;~`8uSR^RccXAY~qk z8j5KZ(Ur7o?ql}cyPufiIN}*xH8yTqhKfQdXTxNcUF8L)W~r$`mV!geGEZ)v@#vM` zSFA5e8B-m(<3 z0r#_|Z`LEiD19T(igHALW^Ht`=ma?o41XbK(y$!<^7@=J_97b)%M7R*~#6^eAj9k#L}i3k6APJlPc|P}Q zWHvJ7OddD&pEJ_tzQ=Lh@%wR$YIYerY#^w9_hGf8^_G$itTKlSnD$zDUTd>Ppgv?F z>wH?~D_?GaU!s{Un_tXS1tLVR6BT7^HZ>X%t|~5zKey$4Y-nPrDRSHXxzOlB=Br{h zaW);?m{V@HeM=bcnJIHW+qBp$kPfLLQx&49v?aZSku;zS-TnG3*WpJ_QAyBRbvsrk zyBhuXf?9G@{21jnpESk77%)5Id3h=z-hO2f7IVrw1Jn|bhJKsgVMAWew~L+YhW$x{ zRA0>x2%BW_y*04I!1bgYY9kSqth7;WF1mb?$W&`n65wo#_WAP--?>%k!e=aT(7SJE z_0&t5j)>Dq(Ps@EnNp54A}XRTuzX*j1ci}H&IsHZJY>DPY*wF-Mqrel) z*%nc}gj5|mGRgT1_P$60BOy^?zT&+4|03+I1EOf#zF`yrMZzEi1Vp-(mKLPDyGyz| z4Z39MMtbS)knZkWx_jx`cf19!>$#urdtd$U>;VwFO%*{)3Bmx zjoKEwpuh|Z6<1I{cl^lozA0f;{TJ7ADL-<1)g z@`y_wDOwNkP>niEw(X;1E{G}Sl61jndE;e0a z`%}+qQ3*`-wsA$h=B$5~^(Bwz2=)%?hbo&!;qNhwE&fj&T!R%gL4AaKUmm4Yd<{KvwC;DV-_Wd03T;3cO6zcB)04v3ZC0BsA`eT7 z%_`ZQqu;np6l{cYPqN|)`#Om8{YA7$lkN*AegZ+y*zL89Ao zrTt`2NJ@HH(5#XoLeCuvkbq+whQzNyvW>LHRLNj>j=}YYI_*314oWu!_VidrnpkV7 z2>{UJcxB2PHu2h}!jwOr#eCz(aQNbgqTKwT>4ekIdl(a1!}C55c3g^%NcdiR#2+i( zJ;%GJvAMz>)6$$;V{?&1c`PRNW^v|Q>?LfAK%w}=`-%GL?j!cr%)$Mr>J{HF*d-!t zo@}hBTOxdX$nJvlsn4`W-db$U1b?4=x$deEe^kik6X;%Fn&8FScV$aF@ z3aUQ0F~*|qk=mq`S@ zCHmTW1mf!L+r*ha?0aaU#9x29bYE6ZV2Hm~Vo+f#LVxMO6;vrS+lldF0~&m*dpBhI zOOaCI#aSh#_b0dhK~-zNe5Y9yWo6s-N|R8c)S?eeY#3g~NWV=SHtBf!mY)y7#F|VftDW}ZFe`p za{M>b$)ll{)YTZ77@&CcO&(FmghdUvchK>(L&|XF)6w8`U+5GcqFY4ItOEY4+vSE< zR!zEltS$#4!_8axLmJU9fDNduaNaV?MxkXHL0%&x^=r4Ib~P!SEa99ksQW}qWoXIb zygLvDzws z)^qsD&Tmzmm7FBLo5aPN8!BP{Y5Lh%1uci80L6R>^CYKkVPi!Qp{Bp`pNJ=JB{j=nUDBL*M3e-3szK1i;Kf;)*3G|+Mn0nt~%73W_{kRKTL>i ztLK8mPD0l5bc#eAh4DJb4XbckvfU4FQ>pBGb#6ttM~k|R5!zdixfYb$Llhg<$nYbn z<(QKz926Hu-@GuLwJ18WjKyi@+^(+Ig7fBurDi+NJwCkobMZE_k;^TG?9&4Vcp%Ts zz?go)!NeFNVL8I~MfS67lI!u0*AEZSU56P<3FQ*u#z^W`>PceoY^Sa8QzCTB;sg>AK&AN{5P_JVsuAlMNXS z4C&OSo5mA=5X|G(nbbQm2n7){Do6cUPrHP&+3HR9>1jAxz4Q={!^WS|OuR_V%uTBG z?S-aC%Et?4M|3eC_du^N9ZW_!ct1EdCijTNH#hm*UBpci9Y2`FcW6x9Sg^(BCd!q) zPLXTM21-f69+H&Nh|#3jkLQHy#aa^Ff#mD&TrZ-uh3@WgJCIdEf7oRfrP;ZSXiC+O z-N+Mq&x81zLZp6Ov6gLDMQJOkn{9X8#53UssPGP%bw*zIcPBZc(cJA07G!s;~22`T5|RCTR~7Q&T=I;3&|2b+qw%*f3;`=c(7|w#ora zfnn{m&F4Vq3sJ*;KohsMwFTkYyBGDIA66oWAw6$tb6mALbUix?_ec1YI{XU6=#O`m zzc{2p9P{4#v53sCwKnmFeH>B2-sMX89*Xm~QR#AG&L1j4-1W83T}_w^C2Hd@f)*Wl zq|&lkBFnzNYR)yZ=^!>0#yy0S6LR=QFFGY3`Dr$}w3E3#%v~^74fy2z4yF0^iqxS7u(^lKv1#vB=krv zv&`dBruhbYroevOmR?sx5C%A<>M@@JHPPV07~4I>7o;PaExQvan~&@ky|E8Q<(>*lNEmDk zQpd8Gn^<)sNPc;?rk{Y}}uRJbshX&tm z{S-stqDatJ&#Fb2;oEDug1&yk>m%E$lMWoXR-impnLzS@`_&R*F&Nt}Wx(C} zL`W_6rXJ0%miTO;$yI{jL+njV4Y&0E@4Uz8|1t5Q{aqHwZ=Wu=WH1>$!NA5YwcCWw z+76^IfY$ss1y#i#Y;!;G`_X8@_Sye-@}Jl$=n@M12Z#$F zX4Ag4bpKuk9e8`X%z2dKHT`hBuAB##o;Jr7pOWh9WPht$RnSB#-QrQu{$ZgEwewGH zh-~&;@6)qTgWk#FplZkW@g{Fh^O%PF37hzB*A7~_qMu=7@*hnZN34y7!cW)uR6g~} zwn!IPg$jOr}e%uo?cYvVSXJXSYrE`$be6xP%6|nzI&&({*ZPW6qL7F3&r@((x z5)w(6(4wG}K8F1QCkFb;QB(etj5(`I@{?!$g8R1FG!!|I{KoyA%);&RfliWA#%Ga& zhV&FJ>z49lXC%akZ-RR@QO}SA9t1coMw;C2&Nmg=Tuk(@7Sd4Yj;KAY(%VsP7guS` zrJgAEuzhaLMW4#Z%V*io@idz*g|*re)d?v=GDbLTXD$ebBPy9*xxdGh z<@Gs^)Wd#YO*VPDGa)P0G@3l#5o2ObH#<7L=j6gtJvw{8s?$AV_!|lPwSgoOYc~(UMX9kbU9*Y$K}4yQ4O%tjhq_}Yt*E(oG3s6$C_YlXKeY@+4<6lx68R6AGz+*b zhgEnKd>4V`Q=(5!yF3JM&4=|p91*_z6O~wSqvz42*mZ~+iaUpp%1GZdF^b2jAQFFF zC(KSQV^rd*`B59Lo9(npw5MDelFp;vJ({&vtS3Yo8G$HeoVqhWJ!L&2P0(7Aw4sRK;7mu=C<;A;1CVUI7H>w?gY(eRke3kwHF~+&#v!!N zLsQU5c(8Pn=4|bWl+7uOO2N^&{(t~~=74C6`7((7X~*X4Vtt>`4WY&1*J};2O$USq zd_%gK+%aNDt?D*}xUCI0(4l8mQ=sa>5-509Rv^iXD)uJKrIYa^K0}Vn?Q0{WR?0pv4__OZyIuqY|_92OJFv$ zESj9IyKWviuC=o&a%+{9137Po4m`ToO_JI$o6WN+1qDnR)?uH1e15YTMGUjo+SlhZ zuXsFO0~p(cC4E*j<1=p%?M^>9b~svYii@eBvoJX1EGkOXrdEO2BeZie5p~$oLywf= zdbTIwqQ#M~aknm`oMO?pi$xBztU*&@Xl>8_l7|xDNt670&Czi!vFCT6B`KHo`TyFs zQ%1WTox{7nK!-P&+=F<$4)_iTccm=QF)9Xwt27VR>A>nq zyq1xb3)-ew#XIT*iRR9Cwqn?fG#H%g@lTaJMY7$IY8--5D@Kt=M@OF(+%hP07sO#M zIc|bFFRIK3K>_g-J&?5FT7V6uhwWR z+&Jm0nBIJ|7GsqzGC_9d-<+-b43A*hzfi{`u~1@3{u={4Dtk#AW!gQ@PcKJuJXAA@ z&kMj7>s-9RIZ;qj>J7V(c-8PWPB?Q>Q070~N4?iZ_^7M&L0JPf6zEy+Y&2Om&CuyS zq@S1BE%|5hGqom%eRQ#*TfQ1Fyz()X1W5_shvl{`CpikN0vnxZOdbF{ z-;$+Bg(fVx2~DoDu0uc5ID$J1SQgsKXwzjOh}iQheXKV25ieN}m1SNboxbbpE%Q}+ zu%5tbmAh{jd{z;Sr)V02Z1_rVV4@zg(=QjT z&+$OD#Jb#17QQszEkxpHzTFuaeDD%=DK~xnK_fkwdCbciBOn~|^pyA_s ztAAh6XgU$N1W!$L!O_qWN=n)cG1(WPeJ(Z-)%)AExcnbEBw5Pm_PM4MxOgb@kjK0h zHwo8t8ZS2OH4#ZkGx7@e@Ad(uubDdd!R&$CzLVA(?OqIsK;&n%KmN@lD1Y;aUC^x4 z^5@&5XdY;E<8|y%nkAezz=m;nZYzFuuleb8ra`O9)o7Hs*h4v75w1F<02xDbekSJk zgvGA)Zy96rRcAjzQ;`n8^Ffm_=lKFtL5&F;u~3Ni?ldb7`>|+}i^<1>2zdM6H&;#0 z*A|O>9%ov>_csc}gl8x6R;smv4Eiqxw;KfqYS-QyXpi`D9bP(fTHBk=eUwLZ?2qrw z$ULBJmr3@&mt0>7uNRQ6*H~?xPsS$T*iJ^}evg7h>*52ji3M=h8dCq`fW@U+o2v7A z*Nd*!hi_$!QMzJVgKv(U8XI_4qHTraKg3-;(TlO3ASHRQczv-Vt|G9n#noY7ju0W( z_Cl>bVRJ+j=XNgX+O$#V0>Kg5vl=O3Iq?aFONjHAyHe)E=Pa~IeEp?u35-h*GDCI{ zwIWKuRQ^>wMvOl1}lRQ|VrX2^hu(|km0-UT{ z+?sjF^KwXf{}O`*8nu3*p%BN{goFdYHk>dZ27yfKUjHp%v+q|>ALp6$gXdn;Z#C;Y zY3N_H{K&=24;0l~sS0$unm1d+ZnfE5>8Sb%!9DVl5Zfa&B2{O1CLneVF&y%=e6v>1 zaj|+Noc8pWGjS%g74A(Aqj6V!S0G{YBvHn7vW#PC2+E$@Q5K4`9`L-Fy01co)d8$; z=c;t(-7d={3;-3>*~l9I{$lW|z`NJaH%822u_hZ~7E})kU@TnscNHvhV<|Jj4=*(; z`MJ4!g88oiaXOuXKs$*Ufpddj@WCrs@8{TGYJN%&TrDhs_3Zq@5u(V!TPMjn%7AykA##crvnA$GmN~nz%mod7cCFMc-Zll^<6@(XFo)a61aXWH{fOvHP!nhP z+SX9bSbkYz8Qlx`;rB(l0(6ygz;`m!NkAY_)ycT^%31@T^`Q|UrMXHCxd=Ejz@6-h z9#&{d8exiB!us0%db7?VS7bfeblT7kggPsja(hsH_yQg^vpGDdcBb@@FICN5RN9mSBv*c24Jfyw_E=lIr20WkmnCh*Qu z%Xk}B|MnN?8?Qm@$uRzKRcq__022Y!g{->zZ2E-!_letOqG2+LHAf}hm{)JN*Py?; zOk9k?VAVc2BiIZ@i04kv(K+F9f}=;NT?)M{gX3H1Q$4!rVb_?9hdr=(A($KG z88={8ZRds z)i2#06x_!~6lVsj_593d0=@>rqfqI-bhz&Yz;_`X$&}#wEZhia&fd5aHfqId1Bhw) zYmM4W85vAOH2lP@^mN%e15<#g!dx zDTH$)#2x&F;~q9P_d65MOwj&^ad|)W|28!5UuUOr{f1Dk3eZ3Ezj?$LoLLbyIa#Hx zlK<&1&HJZn4ML++zajm3ioY?<%rYrUEe$*>wd%45fGCE)_3M^0qkYYsoW}24^k0A` zB+1XTM&Bj%{y~mUs)if6<86P}=)dS`$jH5EOS~k0J)U6@BJ{6gk5)+F0U-Mv9}^RB zEwjP-q`-V!fpRG?%nRQ&vP-w@V05*+OFRmT2<;qQwjS?TAvFrB_fY#I)C-|Zt_Lqzy`o!zRmJhB?DC7 zgKIsEjQO5C#O7<%MghRl^7u&aAGh#peamsbxCg`g;cK|Y349vobjA_-iW8Yvy8p2H49xIdTYpbUMj6K-Tc;OPu3{XuJbhkmkf*I{j zmj@B@6o}AQslj;Pqg;&Hsw=7S8q3oZkM+cI*T)r)$i*_ckl}SM^gCCUY@Yi1&AyK< zuGjNIR_w2f7HWLe^^#})SByU%P7Gu0b`8Az(H5~IGJ9jI)3eCA znBZDM*yAq9WsYZAl-XVbT5Pz}`wV1|oLCn}9$bV&)S&IKw`d1Ol%9G@(#v46~_&_NvlM*@}flqdN`M5mjfU zy72Jmbl$CyW6=Fgea~$(UcKdFdq`l_ZH}2wFwC+a#}>YRW+D;Kwu@FByVOgqM96j* zrYWMnKX2Etf>jWx`ipjIO5Ih802{*owM_6V*J&GHw}I#Trxd6o(g>+1Y6kPk1agAX z;g0Unkrs*35@Q)5vyVl!Bg0Od*`9L6x7L2%=4X4aHJj2V)Z5C_2=#0`NIu7RcUnjP z@U&!UDd}LStYY++DJmW+XMsU!gZAqDlGP*o%Fpt@guip(UP?UI0KK53q|E5?@_bU^ z<#Q`?Z0~o633|k|-;U?#i_6LIMYYx!XO5;c<%OLKMQGgK1)hgSy<04(#_-|$o_6(H zS#02`@|~Vxg%78}t8q{N8rPIl=Hz;+8QWb2bBcebBP-aeJN`I^YlEyitMKvs3GfK4 z=#c|ywFNJvd5`>Q*?@p8hpzw7jBNc?Y6ErVci)oqr7PUH?eO|TP))PpCTo1oOdEPC zr`O=0xhmpv%=hGOyH~|%c|7)?2qoIRe$L5c^ynGC`Y0~D&;wLrGb+vH)#-g}g?1_` zBp;{Ufee&Q4afX%Nl3gX#^C2i$@Dq3ty&X5wCvIBBuM{bfx;mxLlvL9PiKZ>MGhQ& ztr>{?ZCN6+sAoy;r~sxW*C(7`|s9Mva%=s#&a6cho?41CsC1c5!mG_O=b3cg|FH8AZsBw6a;`B2{UuK$nK!+ z0lHQjb)n4Z#$&?QN z>)6p4@7G)2vecIcab)HZfi5*H@TI%f$QU<>^RD@yqtBh%QmFL~P}Au=mR7MUg1+#F zd;f{z{Lw8f<8y8r;8v8si^LViMo`_&C!??h3=T0OdA+{_=7a1|;JcU=;JPwIq zeqJMED_jPGK&yM>EhFjiT3zYFjo|)){@~8DMzQEjjvd1I6VnpJW5`*}d!em+hgP;$ zsZaa7sQOuQTl!{;pV5#~U>c*0>CmD$_u zyy!>eevNj>QsLvl(%eoLLK zzegIbaxk0EOG!;w9dAFz3TIyrn2-vNQc)rVsQj133HSEms?gr?=IVA=*g+nn>9l=+Z)Fg$gl?`bemB`r zYpP(HJ+Rsx59&nMLhA!APK59*z%w$C)>22?-O{F|hZc>7AB!fBRgq@5S6*BjT}KiC*WD#C z`eSr@%Zv`J*OQj?Z0sA-?VUJ2?(^=fxiYG=o3Qd3c=8&*2^hDS0hy(|K7 zc7P_aE_c)Wbf7PzuHKuc66$H-*9aWoTYpb9F3`-5F5x&1^c6H+;XUZgPY#Dl17CyVbWl_TF&p zP{)EKyf$MRXp>WRdoOKEa(FYZ{V`v$=R)moyE8k{suW)D_hviUW^c2}xc-F)(lJ_{ zKKVG}&JKtwiAOP9F35!wK<744_r{V)-H(4+wG(NkI6Gk#$!CaO2!8@amYOLB$+1=GMgkh-^wk% zQ5J(Kl@ZRf%Rr!spb~Awum^4nf>(sN;{-wyK0y`?MAqBMv0q4j<3UhEdR}k~lD-PD z+r`EE%Xtlo+|>Ves5z#&~+3T)iyPYC5cU+A{WMp(^%Y$wBVbzHB$#mGmL7cLC%T^x$Ta z+mrL9BI!#ivBwqLm<(r8Er1hqQ(u0uo~M(4yPf*~Z1t$k$@yxq2}el@#;}~i1=Qb! zmRdVHedBAdy}4S}&3{Q+KgL6~=%{MQ-2DXrp~=m#m_IHLBx9fcT+W;W1`}Nyp#BjG zp2qj*81sMe>&(9)+(q(m({H7qa%aiCVW*-3tm(hex>>{q4_g_sxgGy2asEru{QLEx z`-o33lDkujT%W z2I=FpHS~;0w>UV7mkg_$BKlDS23CALC6?7e79vmVwt2opSFACXTOzs4*W-F!8@q2< zd7wG3I`1=c*5_iSQtE&wAb@Hd&O@H$u;b6>s>(T|N?ky%Y;n_VV^@itc?F)lX5Z`cYV zy=dTync6aM}R?*U)fj;bwFAhD5&iU}Sx@gT`TG%Bu zFf*+A$Tsgo9C4yA++^OKtfmtMq|D5bSxIpN*)ptdZJ!fg(KS%}22MbFr1q%a@V$+e z^a%1KJe4DmNa#adX1jR_v zMGc*={a!|WIRd>#G2Dsk`fj9GWqXOQZYTOZAhi22sioo32DzX5&7ZE4fGPPgoB*OV z!j5;)q%R}_R21{bBA8EOPOa0<&V}DcOFh*zCBrj0YwQaTzV}h=j{GGv2Y%5EyPgme z<1{b6+vLF&Q5<@K1@m~)Gj0UBNkgf?!r~LeQmG&A!kr8~&%eN6nN}gBo8|SeBLfoo zk9p$o<8#^-Y@a8E-9I50-(u@2KULZF+`h!^H;oqPKQ`<3WDc2%PvN(Ep!0YqNUG84 znY-&TDKYJ*%Qltc-J#Il=QowZ@5>x^Rog=eI{*h_53kTx_Hf#dQb13TDc;&t4K}@wcPu zZA7_}w-j`(g&1%M@1T&N{HulKJn|)UF1G0FhADl|r^Ahj4=$=#3g}7BA}1)N#L4Sr zrtw8Zi0a8gXR(hcXRG4I;w4FmxjwnUL}+@bwOd?)-Z$NG;1Y;5xFO3SVlgZ?8JHox z`9$$Z?delWde8U?XnezR=Kk3m*E7>@=c`EdBPH79lYFA#kp^hwz5(QfyW3!IBo~}K zSg2<79QG+wW&vjwXeeS*HzSEd=@e>p_(gj@*-dB)!F*-i4Q*vNqW#{#nT4y_aI87IWxSFNWKGn=fsY+bxZsEjepML!Z6xNvT-9<}%N66IQZ zcpN@543Z!}t4KQD@gxp>3iCYO<6_UboQJ`vV~H3a*?dz^q(H=Y{D`!|E90TB@?|N- z*fS}G;ne2mpX974w?4kT5v_iWsUiA}f`BSRAcCdcHCH%$Fy|3^%EONlaB)OL{woaC zz2b%-2w`=M*+UYdFd|Mu(_#jwhv#WhBFaIBDYx_fGYO3fMM?uPW|n3t9e=Q@Yf9Ut zVk)z_N=<J~wL53CZ zOa}U%(E_bm`{LmmA1ifGl9G@2xkL`but;kMB}j>9O#kltAZHd`U&tLnW$XYNX@ z<$uPReVAdneS<8LqcG3vuxjBVT)N&n^lh7EyB_}vsF^S@zYaeOW}+z8k!>{il!}Nb z%I+Z?vY``DDJ+}!;-xO>fX-?yB2~ko&@&DO&Bb8Cw@m8Gl>PQ!pjXDjqb_>IS=5jY{fj2jV&~lQ}gT1SZmGZ*{ znMAUOFNyK-hKy>18<>G1Nlvm~a%$HhBV&#@zAqEuDOLq{RmLx;j7*+vN_Y~Zg*O_C zRkEyoUGgFaujVRs3j|%nR^ClvgjIg3Y8W`kdV=3Rsk~>n8JmO!BL8x@V|UN_{pKt?KT< zx9KG7;Q+^ZuCU}g>4Uy@Q?FPlW5^UsR?>G(lx3Q#gR+w8IWE+BR>ZHfvy~O(IY<-P z*+cz{yELUg(>P8G5jLc0Nyfev!R2(a$|WH3Ab++5|7RJwq#V7^fkk6RI(4Yk`0#IKfRg{3c1ayB9Wefq^2U96~|imL>|87jDNJ zL)~3n#zP2_f_~_CAJXWxsH7%dt`6tBjP?<@oE~%F2drdH$9LNq?v4TX*%xhY(m``tL-lf!xc!JS_!YN2ba;;;>i#@s&#Pj6NsWEO-jd6;#mzpkgMy% zs^^s-{u#-opkB&&r|ROesyC+!(vVgcDbkLK|B_ur>=u_in2BY2al{Vws!Mj&g~ZgZ zuKiXwGm7)j%j1QG`ebLR+Gg6G!ak2@y7!ZIGWM3`6DkUdPiR8b#oh#OfGvW;31#jq z;5;qen0u7j^JgqXSfc(6>jf2RhMz7v*FaT^%|?|X-(0@(r9AniOo~;PwsZZCl(v7= zXC*Y^MRGyRiSJ3HTz8p+O+u9BWymQ+E4z$iqjB(i-DM;TUM%0i`F%!2B;hP+1YROo^pA0EQgI~n9?N6;ollv zbd&Mj#gTev0()I4FS^;SFyn-JVML^9`Bi~khGbkJ(tLN6t^60wD>gwn!q){81R^qq z`*!Zf0-%z8k>UElcB;+I{Q>#&VYfcW>nzL}M&_wyd1bqbVe$gd+Md#;ry(`7b%UaK zqRFdTJq2a)geBkp(SYhgeUfF;hzK>0~8nWtr|g7Kv0;34EF^MsB*6NIUWK z#*Oht!{pMls=WcN=2#`-QcvJodz>ytqxeFq#OLz52_;iPiu4J63m1mfcD<`_QPFF?xm9a#(RJF`0VHo8lK>Mvwca@cD$EgwW2VsFtr3HVzW0s zoQyuAFp?y@ScU0wR&5**A~`&&^?h?rr6uB6J$6YKZ$gtrg>pGTmE(j;!u>ENlTIx+ zq9g+sZ!xQ=RX(5V4W@-g#<4-{^s4a*6`b35h*WrH#g!xXe5ZOLo?Iri@e-SW;P>3@ zs!vmDm3YzR!*;#Z$Mb5Qyz7hTgmG^N%2Lsb1Q2||VX zRYSM7+{p*`4>Dahx~3PZDr&ZWu)ONCd|n@Qm2D(nC0)^c?<@W8N6P}TZ&A{WI zJ(HZ+Un6QRRS-DY`ROBHxqe1>xChm_RUq4Muafid@SKF;WSSarW`quqb?$6jaMng9 zu_=n3;o@yr7#p8av9W!+I$Jk6Tq1P=nq{^ijg3j3w+OV#MMW1WJXZdfG3jl8MO%44TJVZ0ii+CP!! z6T!ng>bW}9FC!Cc`K&#Y|5y6oWz*^t1BQ8*iCMiY}Sze2>TVY>(YE^Y(5>_#~N%vr!Mr?P$xcqqHeiYnYROu+3US`Y|bC_PJ1LxlI#^KoylfeZ*U;@y%0G z=eUU5slcA(JLdW2FuhaHz~$rVRM$wH(ofZGgvObA{%egfxf}kBRQw+0W!Fz>3i&@0gsel;RULdfJCli#36n`%*rBULrti?F_)F65`9{H&eVeYP*{O@g^M$UQJ% z7YnQKSxz-85eOYhFj5o)(YVj%RC6k>YVBAk!xSuej-KY=Y1mQwR= z`n%=VzWEP_sejN5e&B((PTeKHRbnR4sGd^(e6z+x)}ckVR6kM<0YadtW5?6hp@NB9 zD!reV3}!PbK*pfQ?;4-pt&cp4Po^k4dAdkrK3ygft;x|=mXIMfAFJoFvk6UR>Fl#DJ3ZoLf*`;Q`a5*ImUs@dod%Q z{&2OmbMwSP%Yw|?x8j?nK9t6?pua#qPUXI(FkMceMo6ocyMqH|W?5=nL6I7T$8)6I z%~cTfd@E^PdGj4;JMT3t-RulYQ!U^6FlB}27n0q?+bK|`Oo*xeA4hRPqEk)Mq7IBw9t#4_#k;UEd+-{-pd zp-vZnTD>8mXJCIYfSlzsNN9K{`s6D3V!F;GUXccp@?;g$hE1Ic z{6ih4nbs(-p2zGNmw6Q629}p~#+z6Ue%J7Ldf{v&9gNx%>r!+!e_7ft`T1&skG%!! zWxgY1_A||$nq&*rU|eKZP*B3_p*^Q$8_ZemfCdLEnz6)>7kYxnpk#o?R8cAXE$i0o zpJLH)p0Fi`lmrc>nUWbp^GGkhzlSEiz{JcAFv&`n6I%cOBPYwH%y+=O!3Usdr(vn_ zwpuS)gC;;|=aND;h&9EtHcQsd6 zcFZu(;RU~+-%V!F+XoGwP6SZJY0g2CYCETTkIvbM{}Pc6M2A}7OPof15aqia;NTj* z{GAdUp}=2l>lOMhMgwNW8q~Y!ca`}2_U_7|3nm7JE=`*6V`Sv8j&0_s0m{U+(M=DT1A@)(IdtRYfWh4b9UP2_w)dc7 zFv&ai{>0$UDgK@XK&O`N?nX+Hi}8n)p07EP{C)c~xhD^g3cO2~8N+|Z)+_|Z21*x_ zDN_GTUmtaYw6azeq7Z=x%m4S zt>#pOfjZjVl-J)IE@-h`uTV1{-2{90Q&3SE&wpt=aO`1vtCMYUqflavbH9umUTFKR zz^`;>Wu&IQ0FIlRo&9ORurAx#*wJ{u;pcSizLz!S{f7ag!S`H(*p6f~xc4OA1y8GQ z7%z4^-e`#&C6xT030r+EnKBcVY$#Ufv*5|h%bQRe^BUQ-^7CXbH0vIwjxUKbS_u_? zm7~OhqjYz&yaSa6Jy+xir+`NzGAv@hAYa4OYB|hA44YkI(8jD&mhIQGT;(R4UH6aZ+|?48?FNZq@01F;I5aVRsnVYX9!(6$U2>r64KJ$I(B7XG zTv>&76CbTsgFIjc(Tj9gb?148lZM#{oUfzJI0oW`B zU=ugIfMdeS9Mm?c?6yMAO`-remCALdE`>60a10_bc5*&Ruk$B&nF z{hOU!n!=Ent83MgC!lztb3bRdKBAHb z+{DV(Ntqm(qH@{&{tXbVsfY|E7K8E}zzx%6%@ns(xPt<(rvm)iJgO`+0>4E}Ny!cn z_cFlDqey_fIl3{F7MIMLZ!8C8OZ3T#I=n!xwg~!q@`b8d(BvG>IGIE0Vt%T|B}E{4 zMf6Z9RKChM9?epUgSs=lpCzaGZO6&78ON_ zZlDVLkK@cDxjp~`eteR3!?AI?0AlgBbKe9=F?Vx>Q!Sm@{cU3YHbD1lEMr_@H#=9E zgAGK#EbAFzcK-_wK}RP?rSau9Q;_4hTIEyXHY%{g<}b1Bh{he~`XlP-mF}@=fqYAK zyzAxKljb<%5+C7O*cnk`QLyFSuI2LNjqCX4;PSv$v%_dfD+a(ZRWSp=n z0&bT|0?6WLZuEXlUw${ijk~-1*OV!4wXF$Vy*ngmoYb;m-owmi-a=z6<^3>(ASSiX zS@ygzX>52+?!zT6B&G3Fgj|ggd4!fRJ*COS-}!AmuX~(V=8;Oi&`#aA;N4o zhza4l1Rmw=QUqHo5G z$K_H6n6g2ulGZnnr;Qpe(hAt4PI5-1|EUg28ubU8wo`C!JP!OhG>ru=({IJF}_*#gXwstt?u#dDaTA zk$*UcMMQ$z|6%T}!{XSQcTord5-frR2oQpM0>Le~yL)hgyIX<>4H_JRd$8aP1PiW% z!{F}jbDF(@?ERhdo!`CB{paS%^JLO9-MxCPRaI}jRb3^2K<8F_^$qxb)CJZG*HG`) zBEj_A16yHz!ql?}I8XV89qAbVs9_^kGMa7Lap4 zWbxq20!&U%UmuN9qz97>VXrt?Jd@b|V2im`>#deJVSr-8Xx7-9pu|aKlkK6&#q$BP zLX9_~&x(-7kuw9n*w?s=CX;2-j}#+{NAN@4&WX4@?ScuknAHQ_|K7L-!=o(MvZiD; zi*(ajXD8+g4Rcgh7WWU`_~Zki^Mf-PDMq&O2R)%D8f;pw>N~~b>0f-Rkpgo1Ar|f; zDGIGr_D2ix)&|L)JNU&@!tzWU%DB!@gu+MBGz&&+qcQgJ(KV8ovDvG0d&EraYiO<4 zddU{8#alUEFlM>_Ebe>$2_|=@ z6Qx`7C>18vqBMSA&Cg2FH@8wN$r`BC+7kIur6L`w8jmDg&lysHw1Vy~ z$9V>oQs85`>t%YyZ860<$#W9vFZejcRzu8eq07|zy5B#8%h7qXp{H#{Q$0^UUUQ(q zhk^Jhv#xAV!xxzvnBCy-cd1=TOq1IX%4K=ED-hVx$d5bCM%yLL6{yx$D_;Z z-O%^&H$qfy+QiDpBGYmP5s%ONw-H48d=&$v|m z`7Qx0NeR%mdS_9$V7I=MvTN*CDS9FE4TV@lMp|y}vf`)m6a70(braFL*Hm=Ie=A&^ zu0|YtiWW#My)qEy8r=K-TyG=lHF0wY>8+-M=|{t_DcLH+p?5G&>@}|>*(hQ=!Mh8p z!ldG}m!pFKperay+IhX=fSIJj;-Rl!Wl>9d7QAtHjrWu681t2xOFb54l@_DGwU|#H z?cS<~!G4_s&<&cz%r=dm%dsTp3^v88%4FSIH(xkvsEu)@T|zQ3Q<%)V1S5}@~* zW$!fLU(QS}0H(tqz`5dy-`Kk#qj7$nz%oE`R?HAmET{S64QoxgA3l z%<#YCD;1VLp`Z>D%jqYT>JW$uYvf;uUg$*^b`*MMCc8sHzsjvrw&KlQkq$c_;#M-X zWYeV6tDdxDZGq}SV1dZtunKoa1$yxS_66FDE-pTM#Smu8E19FCEzf)1xWWcdzNqWz z>v_0(*^_ooiM=!K)wplna&ADKSw-m{n8v_z+Jfff(Y9LU$n_pQuFd$X5S%OGv$H)@ z#@mPOPd_`Oqn1eU5cojy-%qqJvjp{Jr60A_j}VAw+nkpogXJMmqNoAlz@7DnTv z-tl5d_xEjgPiB(Ad`}ZGeepzMFbY=g(kriZPWo-)`xBmpYs3X(}#Ry4c!dM4;?3-(}hS$_lxo zd7;L(T6C=PI}Du2J440AZ>zOK&I9t3IQ16_@EpONsatkD@b`RjXE?Z`K=(c>j2qm& zH2yb}^$#x?rcwA_g~QCI-+SgTyR!E(@ZVs=f4@8f9x~wGxaBNo_Q(O791y`nvo_qV zX~)JYl-v1$v1?TIJq4n|HCxIZV)3j}$k?<)Gwz5OI5-sHmvkzP!U6 zFcS-aJ9^_Jc8z$hImrgb&{;g%CjGdOuiA6v8x+GbdN&{MFMyV=DQ`F%*fKl~rI>bhhg_?R?3oW1Uy35K20x_%^!_=??AIN*u(=!T1=!PPu zGETznc)bYa{Q2*kVLes3=HN?Um^Mv5r`PU?)P|>Fn7CN4p)P>uq@8CBC8sJp#Eo^R zU+uuPR{ex_X}fV+PIu&pCweJbr0~Ee-u*Mw$1kqAV?_GK?pB(&_Hmyyyl4j(4|L0DRWg+rQ|MMR|H3hEv~}@UP>>LwLi`-Y+!kC=i#q%8{yw1M{EE=+rQMj zI(G1cB?KG`5kqQFpBDQj_X1CoZQsz^&M#O*~0@#(pkYvflj+DU6WJ{i5h4 zK?jv+NZDG_QYM2iYBCaPqbQ%JbY=`M?-a^=}EXarr8x=rc~s)fKb<_ zWo%+=-Z7fIRh8h9AYI&Rx|Y#bAY5;@qcZLtRIaYFfFmH;>`LdzsNYy6XW~sdGW;};A~L9QAtb1HFQ?w1L(3c$ zXOfe4k~#4w(Q{#m<(Q^uz@sl^o04sE_vP`q4sB6iu<*-PDB393E)_;DvgPTyqM0-X zD4^y$cB(Ihk5Y?*+4s({;I)pBTc5nipRwgzsvfs-ye_`egsI+_9`Wxg_+9fLf5)Bi zx_SVsMxU$0eO-oQTJ8veZT>o(=Gc*n^~Qr8U!y~p@V*L>R0D`Y*)TP0`p2_Vg&ommCU zMzePl?Nzj7Npq*PVIc4C*~b5FMcCc+)XNQ-6EHD`m6h@Z4I@Q?&`{eQQt~>8sw|R{ z$`(fx&IBmblIg8SdwqN$51n}1(JfrpBZ}4*fiC@dY@i4G%^$A=FcW%_yrO+YNicF^ zhki_jqouFEf9G0(qN-}OwP@w*mYt07*;lmgW}n)$xH|7Z9?aoWtzu!tXf#Dd_F<4` z72juX1+BR^bQ{cO_&X2t!Qac-7?})*72EEJt5kogvm$|dS9SdgwctVv{s72hrF=#7 zwy@|9eTJWZ4+aK?D=HE68PYg1^5~@j4|co!?-5&`;Jg;KVK*fag>Mh5G^4J0yZckkHNWj_35VY@ zA54|qmHTUr~j2X6GXoEHSPR|Ii(&Q}iG++mp(nrNQk!o>-DA z{lgdhC*8e4;RUAq9$TOKcaF^35o^;t|LV?PmQ5k6PXVdtzEcH*gn11g>Jmt|j zmFW>r$OMclCT8^Ncrepn{PGc(4BjT~3>&sqb~3M-J#6TK9%7zk;k4 z$f_6zgt`rxjEhp`QyBmwGxi&a4Aj>Nl7JV1$xQo zIJw!10BXT+wjp!ULe=ul9e{C*0_(C-Hd+p1EV4|GRen5%#wC6DCl3K&pFkq{G8?cf(T9YnwfjL|#G~r%YXQFx^)6_VY7`jyMb20x zptG|}-S@Xrkl=vqKu;J)vq?qgnjLNz{&U>t-@oM;gISZdYR(DXG|*cD!X!H z&dP?CBETlm!&Z@s*=5TY%O6!}QQHNC1u1Dr6f&0#s5m_|bcoWZShb8*rkS&cGR5g} zUS)TUyK(2vCCc&tNSS=mTiO1}TN@Z7vnP*S^T|}p()tu4swCrPrk^ZpD=DPI+0WLQ zQw!5m8E|Ia`1<<23majZeDbUp@!m1$hn1`ymR^!@C(bU@5q7uE|<^dzXTGmNJW8=5QAL?kl%Ih1jD3y|D6RYZmD0y5|hB> zdvSN#>?Yu*0#1ZdLha6-p?yEPZgsydT#9a&PxT(NimIw+mJFNUJ5Z^z7Td9H&#fZ9 zy+{C#U*1!vFtd2~Kl=aXW!=+?FoYPKyHuz_teQR>#i>E)hv`1z7@J0$NuSu%lr@|K zAB5P$fv)#(8LLvHoX7$M55%iJ#dN;QU%Br~0UmB3?pX_BZWJwJGwT zfZhuV4pTzQEEQxe%^X6`cN!FW1KI6|)&|i2>;fs+udx*0*QwoIGUSj}vxA!93}V!g zss;EF4`Zu)sU!2EJy%Wfi}#fK1^M5xPEc7EDkqC&)96^>Pif}#Q~ObNugMnI=$&tF zh#e8Ks+72s6q87=>ENG^5OrvO`pR!7s6c;&^d@(CEOtU$W!jClo|s;#ic}?ypYH2L zms|BO`k~pN^WO?9e+ zFNf#kJT=`6f=n-pQiS|4SBLl&k!p+s5Cjh+)+Hh?s?glsB|_We&yLo!yU^*PLpQT2E=^F^dxkYa_lM;4c&z1;iq=g;XBpGFHim=^g@Z<^Xd|g>iVJMSw~?ap;M_!QqSpoNHJkNL9!J;c4YRz@GqpCCygWbr zs;$_Nw?UdK6{@Gr^6>OZqEw)TGH;i0%lIX=g3V#TIogY?uRqxpu{_iHAD$X5**OZ{ z$$R++v|0i0^al!>N(Gh&p&gim(w_+Y^QIN4PEA0^+mK>+;UK&3RT^ML#r;E6`40=4 zIz2=>=hs+2LguP7@^G^s@PEd&B*04z5T{p!dM!KD4&!N2zoJoyi5FwbjG+g|lS*8< zun4ulUSVL#WQtV|kH8)&D(3B=7tDmLJPF3l3F5yZbzY+4E?D>!Ybqk(MdAq$kC;Pa zS$w?7@!In6eJg@Uk7FB?M=MSV`d!N9M8`r-IJIGb2Zk1PF$k0hAy5!Zk_S600(D)G zT8BqPZ8n^=zOLuz+yBrHKp-diy-+BhRMtSGz+#2%R%l6&SCB6>oU3%5N6l3LXF=It zwQHAm5Uu`Bz+0G%xv!<~>fC1?(_G_>D^@%v2>l&H<1pYD?ee;>99dr2=O5Vb))L_| zdt%_JgBcMw6f7sE&&#f>4D!JKNCyCZ4!cS;p7wH6E* zf2sN2Iy#M*APhG*{FfKh4*fRcy3vQrG3TOJJ!JNFz~!VTR5tFiJ~A`u8r2&VGd?}JDGJwf$P^ya@iG5<|T|49eI&g-Jbqp;LW z%5c#`4qqgX1c9jXHQIzKiSC6%2oc1tPXkL{z4~26FZUm?nixo71*}H)pK#Q_M`G`k zDD`VMO|9ni>+(u_(3fZccKp0P0Ghw77SGS`0HCj`_1QgWdh3#HwAYh><4DzFNlC@P zS2@j~=z4-L1H67A2E3RNcD?QSX#duH9kO0~cmTB~BE|u)rXS9!PK#~2A}{|W={*SW z4|Cu7UdVoZrdD=N*%N;N!+V?H>qXFt+b?e6SkaJA!2+E15Z?bc?$g_lT8$mqb%Q%% zJYkaQYjACU6(>km=h&c^%*} z?$W>X*pJ3J)5Mx*2^sj>02-&glgiaPI{fURj5Wi`&9=MirykUhwpjjoZRPz+5`eKn ziW>}R0DgmSRO+SCUG@}=7urorMBu2PVC&sxf_X0ogo@ha%7CD02&qVEu;?iAsQJ)l z`_B#oGcB)PU@CED$pQ42^E&`b^L8XvRv`pjVqLNHioknMdg4G3zI2>UPN>bcP094r zo|vSkj68x0Ntr^!0z9poOM+PNMlWTMg_B{0u5xexfpdhJqw%yS$GeNlIG3RP=bEKN9_i^R;(wtj-_N@p&Ht*0?rHPj|(=r1AQ6&!sCL`slCw@;rpFmRn9O4UTY)F`_fdI z6YXeL`?PvTDtO8@hGi9gr#bCbTDA2(?QOX0q(DVR9zgW&z2z$xdK9Gfl;52qd_j5D$%8yDI4Q0#jV@>z?SQ-r4>L(8b`ON#PRuA&w%0)*A)?)3pFSctaD+tQ#EFzfp=a?@WUqje43i&} zploGH&T4td`kj8Jg{e=W-?`;#>f*}G1H*r}S24IY-Rsmy+7cYf-r~6g)@J!=*Sr0s zYy9Wc)?Md}2q{WI!GsORg<>syy`yy|$*Dlk7jpyx&6x$Bgs(*RMxOtI1U$cn>Fg3S zfrF|9pXgQ;M;aJxistv&<_A^&AVrgDi!m1^OPow9Pf{O~gO?GT+b}pH@^Dt&;y%$= z#W@rwzuZ=1_OmcjabR-igTEC1IL+s!@VM_v-^SaTJ$!^q>~LzJTl*dEqsV7e85_#! zQI>Jq9B8ZFd_Xnx$7uut{H+D_h4>BfbswoQ`K5@T2ll7$Bylo4e3U&jmn8Aanu2=9 zrt{%xfACY!6aOWN#LMFQT54-gUw?fBi22f>I7r-L+v@e#vd`jZwAIm{9kUqLJ1Ou| zXyDix^_OYRF{Y$d^ANADv6$=e$ZEBvpJy77a6HIG7-ezO%yxJ1JkKsR0M`2a#J5z~ zQ`)JYP2YdClnE!(6GE|xq6PmHq0?zQ+GO8IlXo0_2)eFuE$|U%r@kR3*A_`sh;HG$ z>G98cLZXFz*o*^)y`hVNY!0(xx=b3j(9K6?RKCU_Gj@L@3U?l%z4Nt8WAo34pB7%= zOz@U+_+PqK7z*Rx6_bnz?Hwyw_%xw;22)+F%xp#|6cGY7;vSeZIyjB~;s2(iP`tV< zHEO@}!FJLCMxRgWd6ME(!;c3-h{ZfAb(~4E$VzXx7$q*F&m?H4#Fopvzty@uj*fo( zd^q`&3o9l)mdqIxZ5A90Rr7h$p-sP>+f?Rk)=KiKDIeMBIaD(kip!bM8WxhqpoNeE z6IHU`1l*_cGjFu@b0GcN+R1f|p>x~iTYIq>U+FjDogA<2PyUGyCN%6i0#RJFO2r}-bq$~6hpXdIsC*9~xy}d6BYnU6 z`aD-tlTOdho-kF-vulNmQQg@X;BwBTA16mzmD>(L^Y_{>7`Bcw- zA&4rVHLHO25MN}yD@Dg1s$23RU%7o9g7XJv>c6Yhy<5}2>M!7V#j)o zqdD%8U8yM>u^sN8Zw){GRpaHp&M7b+_wA%p_lv{jh$ievFlnTsG-vbAElb4M+e%nK zODLctAEZ*+Qb?QYbA!9f=;(59Lx}k##8Bs2di+Yq*&BR2I+8VGeEWbD;3B#5*O{_T z5E%$}y=vVm&-iYqDd*lIZu4EKpu#A`$)9wz2f^OyNP8E@YdurrmGE8uc5Aai)ponB zG~G~2JS}J1vDvt2rd`&TGpW+q1aDiRND?v*S&xJAPS(q9vSJ(6X z?yCZsV6vCDwXYp21-P^TbdS@@rUCO@?ay-Bx|W-g?&#+(1%Om1n7zKsRM_Vb^GOCJVmcY)FS-r>eFp07XCU_aH}zU%|eIc>~QZ zaG8&rHMkQfv9qQpWIrsXg9_A7UZax*BfesBWR=gFdaC05?iY&Y51$R!jJGCD&$EtD zkEIiLz2ayt_TB>>cjC8l+SXoL0e61keiZPbdZ6lF_M(@TLJV61G`4F@31Eh@A-|Hj zT*s3rxpOJkYbmGWeFRHjWtIn4Z8%2Z2^@*h)XHxiHl2X70=QMLDZ1fV z`W8P|8d^`AXOi&C`t{Z&5o%QVZrNX@Inuwbv3ejbozhaz@`MC^OujBE&Q>cO0w-;4 zo)@(*gZmM@QEjBfMoiD)zoSv*r5@Kiy@4J=I4bhZRtVC8-%R{I;v_k_xtm8-i=N_fP6_k%x2nMFujeyF zz87yvYJIYoVk)_w$s@ z&w^@}P`FLi>WG4w)b))=hun3VxzAe`vJ@xOw!8;>I8}B*0W&QY=|@9^T47_>n)=S;gZg6ntD zMds(fpvfy)wKmscdcF0<4vF}(2xa7-a;3#{aKj4175BZVhV6hx6b3!YxA#dEl*mM6 z&{|Z^KER&zsyC%}vIYu7d|@T=tpApc(6?NI8R_+~m@ZK?0=6kT=kfm=9I`HwUHFrz zUJub>hYpz;Edr2k0EZATWN6pBpaLMIM5npteAI-kwDfyR{xOVySZ}R;(9??{#3q}v zE5ik~1{SjyF!e4+Cd0Pm_f=W-4wicifMvtLG`CO)6L@Vl_9OKB_nu&Uj%48C5ec;|KC1mkc|`4y%{Dz66WoI&*1+Yjrc5!Kmu;ik7fA;z9@J$qtw;+n`%Hc06(Dr$H~@ELUoyCz9-21ViGX)xxBYCogpvMh2jpbd1p%I(F{Xq!hZ#T z4Y+W?PKqOH14-+5AcIM|%wc}#`bS~`U0jGsT$~Z0>LXi&uFD#Jt_K=9U3M^`D&3AD zA|uOWMCua2DrhlIfGfoaSU#q_kOmil^po4m4ZD=@hzP-OLQxLk$oR*l* z-+c@7%wf8-tflJ!aLJ2QbUTzaxG7&vOY4m`7pg#-?_G$V1ypgqK@99m+P~K$IskiB zcF}B;>}1oU)9ijXlc)gdaf^D>Xj%9?P^^?a3%-kdSl0j4)(D~m8X_=(yMog$^SC5D zf`tO-|Ai)+sf(Ga)NThLr9|s!Q4?Ch{J!f&uB`&%B*CMNC#3n}WRBO1kafpp!bbxpymW@)AgBg<&40 zl>#DnBWO5`7M2Ry4Q{H_DdM1Sub_46PHvlMMHizLB;NJtIV-5*->?$8pQMrU*csE2u8=K`@Kn2GQB7fEy2gJA8M9fZTg8X`$g_KMT% zYpn1b%XXn8U&C8Mojj@p}P#IqTBGT^U-A5hy+xpwz2zIT5 zPx1zd5aui;bmxMJ^vM=lxV^eh8J4%qtcq2O2lU#eCAhJl6UNGT2t~0Jr8EwH>Ekvu z9W6+@>rj-D71-+VEHDxNy~j2G;r6uuO#MZ83iQK=rLXlT-F6LmI^7uH4_jwf~-12yop+FI%!YaHyr>mP0i zpWhr&1CD6e76QTdS1_Uiyb7E}aV5UUMTC;&O$YPEAkowPG&_Vr`r6NQt-evC!_(AO znwK5f<8qgrjF#$x7bTIad-)%OtJuSGO{v!s(Gt0%J`yj`RJmXP1({MJLgV_Ge*xG? zj*~jD!`>D->uWaS6#)r-!pPBKn#YR|l6(V!_>T zEKBO@Cayc&J<~gUE7p+#$sF-#K|*jk41B&B{$2`O#DSKJnZu4a(O0;EMEGN;x@`Ox z;F*o^QP`(sxT11(Sp~;fAnJ^&JaT=`br{V@MMng!qLx>`ccYc3IYDY zk6IsrQQO~W#RjGfH&|!v3=~Cr@H@0IOD^EJE6X+~b-M$gbHuxTSJiFr*tzhW+xc&y za?j;9-W5@c2u;7d^#4o>z#KNV6~r!Ka;--36p5Ag4vy+FqzL#RXS-Rm7%qD*8L1}s zp>Z`Xf}E|Z(b;htt+!|<&+F_UcJq_EoJ>y4VTIowk~rDVb$g>VN?vb&{5j?J1c!(E z)!EXgiVAId?$a85vdPGWxQi4~!#-7^4$YH;(t#N#)pL*f2-x+aBcPFJJfa{ZyC!g;Ma z#da>0`ty=ukljWnGDroJ=C&&md!V~(|B{>9O?$F_zr#@cvHDsEh3>D5%V^|)BL|dx z)@$~&M+BVI!@-@11Xt3pA{mbnC)b0bqA^LeDiB%S>}Cqpea2F_AH^hWvEYsF*XuOH ztb+5E)06)yrf8>|;ZQOM@@y|U#(z{fEi5@1nrQF94A4^(r z9>_jDaP{{<@Eq^i08I;ta>8c}oRnIARq~uBxZa(F?2p9uE~NBvghW6r<_g2)eU7(? zr|Nm2b~89f)TWuIR>IFfm#nX+QSCOkguP<#l^Q_@1o*|)${vFiZ)7C^B0Z*Owu*%#~Fa*6&za1}2nGgG$@C-^)Yl7xE}ud;Yo%^Iuuf?4IMXV@s(Suo@2!iHrjwJi)W zeaEYELSs13hhvqonwA(P6+LX1wjjnw?&Tqs^Qvx+tD~ZDa=8d6JRh__=Yh`1nr#MW z`&tW}k37f02RmyT=Va<9Nj*QPOCKrj%!9Fi?p>@3x^bOaesv1dZa6WZtGi4{#F=R3 z08yo`URh{NTv4>011|hpl{x_8^OcJq$7H7K-Y_s3F$O$76C({M_FKJd*`o+UU_uXx z*JX&>kKue+%Pv&Qp()ds&Yom2NwwguI!i|c?JWdfLPcJs_6a=jM+jR`*#ul-o9Y0g z)7EsD=s<3R=a|tZ^4?rK{^`0ijt|VbV_jwD`qilO5j44pM@#nPQc62*^rLUVg<{0! zjM2eS8LlS+%tY2+wDC0ebubG17InG{;pWWM+ra($y50GmPZ(fxKD%@Atx`WIRxUu{ zUwy;`scLIoG~lvti$3sox}mo+BIEzs{c52+p56Xw?_5Tb%b>f zJveelRlC5evv{R=q6pHi-}Z+`yaXG){0_xtI2AKyv8?xGhOEuN^5G=9u4N`(>EKw_ zAMq48Lpl94pT68e&x7&`5?`d+9#@`bYh^Q0WmDln)iaKF(%qGqp_f}_+!wVs9EnLZ z+7Sp1_%Mh~7d<98kd;)vW6x}aj}gP4BTn`a({nKl3`5C1aRv)c;uzgYhg@Y(U&5y@ z>s{}{+HJe-79A?IS~!ftY#Jz!x7%?Z1Pc+J>ZA;idD9tf&OPxIk>S867tGs6gg5eF zN(cghlUhb->kd3W4Qu7e6EzHHaL6=`1rW_P0w!E|r(~Yh`4Q{UX&Ice)|DnaAU*Y(W=K zlp`VN!fdX>9*^PypC|g#B&4$dd2Vtr*PN~RdS5dy;sTKTYmJG_y``t$F5ji@myrrPwJAgAIJqy)pGn8Un6nQ$T6ue$b0qaRy6h~+`exc)kYUsx z6L>Daoet zFM1{Tt{a`ed!tqO?J}N5ym=bBXas_-2lIN(*-Z@|q@vc<& zDuDmwzmnQCs`($CUZ#QM^?EyFC~0Xa+5uh$doFl*_{ZN~-#wKrhrTrlO37QVm#L4P zzzHznQd{oF{Yxh$9X9M2cAbg+pa8rDd`DWwL&c3jW|i<;gfB|#eb0A`(nj4kMaor8 z420B_ckhYZ1CL<=^U3lw{)-`FY$SMq$2F0oJXQeew_eAfuilfra_IKPp15GJq8mmr z3eavcBh#oq&0RPz0^Bt6c;VhDH~H?6_Vh8_r4seCVl!)yfzBO^D=ImUaw#v|b*6QH z$$!%H|MB@Bo^gsc$#Wu>lTM)u6*FwWI02!`koCd2KOTChH!9x9vp@k{cgZ*#I3T1& z`aJMqY^4d8rOGcjWj}8Nrhl~Q)~l{=rlgwa4#ufuIsXDc=AbPTmv9I`kB*BwxwSrz zDFjYpK}of>>iKF{_Zcxp;x#T3^MiA#r8s-W>QvrdkKW;I6%Jb%|1UGma7Lw@F&_S# z_!U_mZSsHScnw)WK|z4zxeicG1Yj_(AEn#>(y%&^pc`Wj+SsNb6*WTWX-FXqs|tiq z+R>TV?zr3?Cz<=i=&av(AaSnxt;2EpS0kerm%1v0DOzT1aE7M?neFx$+rEO))wg=g zqsK^an00o2b}TfZLU8B-z-xfJ(q`TN?>Bx}e()3}x>N)~_!s`IGp)wv}; zlW8-VO^QD(^dXDlv3ebU%7m$Jm;Sy&J<2%0E*q>ql5A>O7aT#JVko|M&|PPa34r{+ zDas}5o?u!Ht1IL0s6}C*YqGg6|3MrP&?Zt12DY3Q+)4^Wuxek5K(#!enxA7RP0!H#ExXS5uOzL$1{Ia3nnbON@0EQ14ijgHQM%QmOn8JC z=X{gQ6a^y9S%nJkCUiW%xhBp3DWH%1#&TvVtEY+QRdw`HD;EyacVSKAnK)hu;rs8Y z;bSS08Q^JZ+UG=E<*|b&&HA2Y4wmlcUI)K}qh(?~lRQNL!nlC9z>p=C+?~Nj?OgGJ znlyy(kOaOjW&rA^{^GRbpdbitGxPB3MXR)w(cogoRH+#kJ?8c+RX87$VoG;Hm*e83 zVM6Xo9xnC=wc;XnT>hJH-bY=#r^_4wZi8#M=85#vtysyG8p7AZ9&OE28yGA1YJ$BN z2on}Vsi@{3+3wgw%q3>>+-7nDhfRJ+q16~gtAF3wkY6D+HpI!u(j;7AdY+yJ*dQ93{L9VqiQj=NPAOWe_eF9ihP+d}b$fq$|j zsz3cj52xoCGcp=ZX=x|CT{xay^2gfdotb7_(|+Sm$R&@vx&ES~^UL$%3AmTs>^md0 ze4EmQKEva-*BtH5{35#O5`yO%G&`O>=++*CdOo8bB{T`)_*&8Thp;=>EsC0i3T5 z*&S=m6m%P4g}YZ9Cf|Pooh8z)K9(cz?6&Ong=*Ao?VX*@4FM{2L4|Hr`CTi zFZ=Ik={*UZL1uju5nXaCzQ3fXN!tBF{Kw}Bcw_*z-2BbxBL~7a7By@B07H~O@4hAu zbgT;(AsH((l1{e=P(KmCf(upjk#dHscG0JQ*u*!JKu93x!*veY&b}&mOjG#ico^f) zf(8Qymw0UrXLC%pd!mBAKVA4qTWEcZYT5ROmEMz$(VhgBSYV^waQaq9usVL+KSDd! zI4H=I7Jmv?8F;|%&6fH_z)vy$4A+;3y9`y{eeV%f3tf8FDQ92NAg_9S!@V6DMEKym zbA5)*$@QrgVrG}w@ai7}a9^U9t+C%|J6q9y|N1M;Y%rtL3Q(MH1q8iVYg{K5iQWZ* zJO@@Eqc#X@lXM{4?LR(Vjq&41hiFRdFON%XVVn3YQe?Q=J+3i{3}ktnNM_GYeLd{!)$i4`-mW&s+j5~(=)!`KMX_qKY-fvcd(cF@a(z{jP z26mG~aWj0XMUFp@^p_912Wxm%zKpffz6WpH2H+6~R{Ja8Dq^W6#; ze}cD_+qh53aD_HQztN0fqbkBW{e~YRd2+epbZ$Dq*zDYCr^r!6mEAKr#x5BF=`W zI@8cf>h*74;6S(JI>}J}Gp_hIGglGwrAT?VaY6Ps>*)c?6?mxsZAVrD`H#agZ7CVA ze?Qm?uv)VX7t04h+MLp11lsA+DYjKt$Eq+A0Dfa*V|%}KdC4C(1k1;TbG#sUD9w9z zfUJr^_^UqxKZ=B?P&ld+-?w7Ho|^&)-Ww!N|D>3wjqgVB6T zpxt^@Q+A3+XQXt|>*s;*khV;lFPmRlr~@6Mw%s8_M}B`p@EmO(Qy1&#mHVw} zlQUW~%=IM$vewI%f+g`(1S$`ycqp|RwbeN#{gh70Xj zeBiA>9BM+k#Ti$nHyH?H)e#)Z(IwaaPKXk@c6kd0h`yj(4i1*;$)2-ZT$BIm)4zg| z6LS)UW8!^RiO7if=c9b_#Dj&@^q0DdKWP589cv`V_iosGyg?3!4=3BDAJV^yko*G5 zX5iKHyuu19aXG>T9xP9rMXznkpD^3D{1@D}3a3XKm26KQ!8nodzPF2wm^DoRUNqX#hO%6DJ zs~B|OMk^xJTZP6@q`0rp{Ku=mXG=6f4dH%B|E;sFNyJstXSG7WD`vibYO*}hOcC+E zM=@YAz~ckLl0aBYq4vJHxt%d!-39?au(WjWkGVtWB9FQkd8UDetBYJQrO|rRp`7eU z%`Tj@q3}Q7ivJakWW7fp|Isq`zE{~WO>c{(rW#N%@cudewzYHR4&|mscw#-(AE|@c!x3mwzc}0gzgGBKqIglC!PPsNxw-_`VU(x@Cyc1Ax1*=5%7cm^$3BC zyVCfyE3SV!{>mZ$K^AhzOHDs-O|0EZf!EJ$Y>Uklf?6Gb{TDC9v?g+Inb%mye&|f| zesTwZo|iY^#s1MIZ)1QsIhBJ&-a(QaO-*2d=VLp_F$6ZSyKu-KFGI!zMnSt zPXK<-1`r}li3&}>IYoCr;>cSzcf_TP$f@H;mEH8O2sB1sx@YfqU%>^&wh$3ZjPECW ztN!`AN{sf8Hg@N|fr7wpD+N#?3?L~afc530#JImJwB|dpW%`zZVnr#I|PP-3!{b^JKbSc?_PR*XZ@OqLn|~QC zb#1?cto`4oT~2GXKteBH;+p~QBCeofd&!&N)Aj`4mwcCz844F1V)=u!6(bW@_Md+? z+>1QaP1^v0-q(PRS1Jzu3dAG;3kw54G9Z)Z^85sGw2G{r?PFtTTC>X7FB@7~Z4qb{QJ1nW#cD^d>0cipuOHpV$uJ!5fpk$R~xEMqw<{cno^rjmJ}37o&O`T*4WL; z{G6qD%({07#pTq( zV%nL@5u0p%C%v!lUd>8*!4W&6(RUmSk-ekK>~y*&M|Wzlj!uS~&Gp1@JC|E^17CG- zDM;-{%3(>+Jt`inORXu+;&F7*9mVkjx$lTdu+sl8+TH@Hsd_D!=cbxbC&i{Ysi~+-7v-eu}z3w@$dChCi`OAR+ixS`;4dWr8VU%7< z05Lw#&=#=k3@5!>k=BTc>xw?*tGm0NhWhAStd|b$6})yY54eH>5F3Nq6>X%2rwI(E zJMvP!ptar+q#|$@^klq4eF_7CO24<7472IVapWyfP$3N?_fI{=bAa3Hsi}U7;Bs!d z@5RwK1oy8NniJKq!*O?PKL(^`_k)KK!^5A$_5D2(B3GW-VTfadK$ z#BLYu>Zt2nA4`BMSv-o;zPJ3eL8cDHPv3!Fi^*XzYkiV!>>t?749@E?BqO0)T5zSs zQ^Kc=5K}-8Flg1gGe5MzDZxWvL)7|e&28P(9MbwXf%f`*$$mVtvTiF9{rW@4#75Sp z*MQ%LVj#Iq|Gxp(H>AVBzcS4}UKKx+d&&m&ka{??IvBpcH z*!x<75nG3)RAB39flPtN#}5`+AMW!pBepof9sH2AYHo5a8PVUM@81m5|H6L$Wfy_$ z3LupCHLSug-NqlwQ~*e-2lzN9^dIrG7mLG>i!7br`#eIevv_w4$lG=os!Yd5yNmzJ zb~fWHT%W;7M&1E)=y-X1t`@E@c*tJqKSxRw|3dW`=aGD?ncg@;kYj;w(D4{t!4emC zZcw!{UC@LGo$thl@91gtsS{bAN^_+v3V!xxC=A}pFjVL!FEih~KtyDD(R(8Lyp3MR zAWzVxxj49Y?fSOgQ})Xe+e!SQhxI=fmia-(!@p^!`8^qhg8KOZVcn|K4c}phKZ?iM z^w)c3@mQZ+7u3LEZrlP5EIkUcZE|Vx#4RDpNh_8=R|!O zTUoqfdh&ambrf%Be8Ps{fc;y;{6dI>!7}W+9OvUg0cTgZ|~J0z9lBoT(FfC|2Tfr zrZ3Oa6kp?y#Fm?i3=YXGU8T!r4L=7XNLfJ}!LiKIqv-}jt*MQzF->)Jh{VZl4o9-V zn8h$Pm)#V78m#r))}G$sG5epo3zKWv_8h6^ApxCM>mJ5}h!8cr6TgXwt7?tN#in-b4V-@Yh2!lBs?QxvKWVJwJnADm!D6#vh=V@LSYFclx zKOwo0$s&1-^Z}ogyrD7k*Glq0h5Qe@zaIec{-76kO%v&G%j|h%*~EgAcYK5rf#Mc2 zsC%V!Oj-2ehP2bAc{sW04Yi*V&Uol96>iNYyuJu$PRhBFTcj2qT8}-N`~&O~k~Q~k zCpe;~&V*1cwFf$@b^~LrQ>!h|{jB*1$|1M3yAyQjKed^1t<@5t#$sa>l4tzJUcG)< zgw{`Hsv0g599C&cxO(CjUTSfKTgi1rrr=cdr>bVmq81ZmUHLs*vAOqquB0`&kzbIX zH$VRQ`YXz}bV|D^NL`SS*{7oT!EDW|C4jAvdvEpx^WbapT+*tznAqd$KaY9;YfVe~m_(Y~!a1SY z>OC<@>9oRzm$eqnOy3q^(^Tl|T)scwXuNrOqUFW(r)-OijpOvxV(JhMA3t6wLtbxO z-Iw+Z39y4UVs^}VmZ-};w4IOCfrT?O@^U{Q^Rmqtyhc^wzvEWBtOwbg98I?F)SSya ziOnp@FUbLhA_zuC1uDnE)n5w->%7q}(VTUdD88jr`&}eP#%4dfWz?3Y(t7Nr|EU=P z15>>eAQ1jC?c?JUkzc;x(H(GvjZVWV$H4!QsGcR;a7t~Y;XlJbJ&@B@FAobflqQ+Q zK%Mh)A2wlC8%fDW!#N|lH(OWmBcmf+WY1u9+B-vq^vgQ6II+?#-P~5sTknd0@@=T` zYgQywZ<}W3WMPJiP^*52PfGT+*4D5*5$v>0z%1UGjEDw7b9XUc?Y8QtoX=444*CabdI!vYw55MpZm{L z$xQ|WBZD7Lr>vvmBisTstA&qEO<5rI_ic z8yMkY_8Cs#BguY$z>3K6Ci@UYiknuP%3dAKeKoc=*;6$&z6sbSwv61y+wN#Nvc{Nm-ZroQAnPz-!)?_|IYSmTa+%Y20_issNx0%^ z@*JpY#-h_6NJrz>u@vt{JvE{0{Pp)?1aBN2COF}e|H$M~M`Gae&A{AK$5@>!!^rkC>PNsI5tA}d&QX4hZS%jzDzLOcG$nQ#t zwv=ESXV+FHu$slC&viZ%pr#cit0lwek1PBBr1!MXTI;jSbi7U)eFGmoH9_Jj!@Sb(5^Rm-K zxpLeki9T7r1RL14)q3dQpC`q33{m!^u5oz{A3QE+Dd$`+-=+&>{~^b7oV0w?)h+sY ze)ZWgPITGTIcc{$IoMsss;gx&?iFMK3Gb?fkQdahc6Zb20Pl1`j7j`#AcD`Ur-3S( z&y9MzE8K8dMoU9-hU04S2p+<7dR^$Qg8_P95j^SBax4m(Ih-jzf!e=>N$}5O3Uf2l2N&WbbAv-k{?Dww&ujPBrSrI^WMog{EHSE=C50NI z=sPr-eqPLWBm@wdd|6&3d(o`Nx-92dr7XThRCKf$C)Qn$t(h4?iVb_$^TnqiFiOWbehA^P=%IKt7C?^qO9qLDZNj!NHt6@-_eM)L>u0rJ)fo}(zSMWQa>kWo zx5NPT;B{gzN@qYCC8?7g`9mQNG+_OaS`W7nQ1GNzY&W=bVg3+asNYT{OLK5E9F_ED zq@7pwVm%FT5m*T6)+_=7eeWQye7EjI!jK43PTE_`jpmwQ)gpXK+taa{%e4=P4)FrX zo3ZTCy|ET+wE=f+)=l-FL{nT62jb8&K)V^Wrme;e7hn{7`81-<+Y378m!vLc^NaZI z>*Prti4EnYA(tS}sJ;`1=UoNBSYGkRBlSaEEPK6^wmj}cYM0NV_Aik5_FaOVAW&8RT+)uKi0eQ*M@2%WZMwnC$os51#przA|;cWK4ZDyPq|xC+_+n0 zHo7^IZu>y_>g!4G+U;V*90^h9#|Tll@RuDWB{yNBu2whmfb&R%B-@h@BXly8Qh&DJ zTX7v&xVUb+q3GAK-udcMN#BCNneQIn*}{*v#v!aQQVd46s)v8A_)$=|oSE5~ODi`! zJDaJ`TE^+NCa3YK;pItGt)mKbqPYZB@CF9Y4UE;-eZ%6*?(RN;O@89U2~0D+2Ifnz zEiaby)0utTgA>QXg6-}OW8yAba?dShOHz-fpvZE^zUF=RK7E$uGtViH8I-wLmLPTb zq;_$A@KQ62iabVl7NksbE8@{uG}MbLwEC2jCfsa`@wgoCr+juY>0Q+1KbI^gJW+XW zDQmp23(_@fYZv98sZIwB)HL<)*m*zgI^C5GKd{QQA4&A+r*s714i=*s3`yF;6#?bf zLvf1vBeH_(mL0WdV)Zz`ugTxubrB0!y5kJ5Y)z;>eIYh;iIii5@pOMM-0N|(ix)HD zV$Vv$uHA=TvON~24M;g9k@-?B#KZT5r}bxYBP!jyj(lmpx{Jz;t!L0?v8DM`oyX*W zX7sj@>rTy7G(ttk)?RA*8ryVkcL!fMtuwr=w@lY@oKkE?ddnrVo!8ltc|aXBQ{#d0hWF7=+PuO-?zaWtMlQivv>oF zqL-jn=Gca+FUoAMuNe$79hVE;7nbJFaZau>IBYanLn|nnI~Mo%TW49o295zzBPyFL zkXvOs$TfyU>ay^JjJ8gP+TDal>>wy{y)sKu^LPEg$9VhsvHeL z$pX7p8=_v_a{^(hgJnKa*H>6W6=xufk>Yh(qJgN;YXd4$4A23M?+7B{U+ z_`i2(IyVF+1hNgm442YP0k;kL&{0P*XuhR` z%zDH&LntKq2h;7HW>C2%8Niz+Ic;e}sxUW}O>t3@03JIiLyNjVD_4SEI| zK30T5MLsXueHRkX8B&hmH4u%hZVh(gpM(@5U2@!f1~=noOJWRNc~~`Hlf~W^QU(~F zFXvOnqTiZu3x@A~LtKruAHl}8`QeQ|=QRLNk!;T^P<#1KlGSzaApXS>x^g{JE{8D(Ciyu7j63nJDB?TyLJBdj5>d{?&HLTuYunyln2QRmvfG z^0&)PKi7Rq*xHSFW$g*~nHF4lP`;H)z?(nim@c$~4% z(TH1s4&Mf3tqIf4Hjr%Hxx1|oAp<~nXh_Tf8@dBj?~>^1erlJmZW8yFE*`%Rde^}h zdq?vfKs%kRmvS_3~Ey8X=M@nsa9lwZTW@h#w zt3*sfYHmF@DKj&3eqj?AuCPg;9>hsG1r(NyoB_c{ChWQEB74l`oLeVaeB8;S5?Ow8h-`0ephCF=_aw4c zr2ghj@+{g?@h0-91arxWva%n$0>1W2=fnnH=AEs5n%O`Mnzt~mh>=Lc0XN&9@ZzqOiaKr z>&(T;>-ND0X$v&x4(mi+G?WY*iAm6170(ZIGc)R24?fG$*%5ZWBHPM=g{DB8=MSni zYn@q!Q_ah-UUIB6r5TOJ=foe|QR>et+VG#*x)@KyMzfmUptR(et3;*5PT(zBFMLe| z&7KF}9rbrD{pe=6E5Qu4q#&4`%Y1h+TacG$`K%5Affu3Hpj11GJK`z!KNiY*e!gD1;8AnF zoJsM>U7M6TNh5PLjPcJ-oT83avI?5?flBg~$CwiAHP5pY(Y_k{=glif_GeS2RgV{{ zRfhf4cOPbdFWCEaQ0=&zV#aw-#>qSv4j@o_%0Vhn^kV##2wg^%nT7>I?4atTtlfNq zgWeYb#3BK5G~0ZrIc~1#WvHSfjf&|w|1bCk$UN*Xm*7I zQt;^%or+ei-Cq!Ovp!y4g-&bOrZ`0FCto@d5|U3QH~Y;h>;!z&Pq{Djy>X?r<*4rs zN9vt%XW~k9udhYwolwl9Dz+DzB7M;&=-6l~3_W=l#RVMn}r3LVuPZ zQdU-XUYJype-|ZIAe6dn#3N=hpO6`}H&CTZTGq$@G0%U;uE!Ue|Fs3Iw$eD8hvqFD zVSa_l=#w2_GiS*vt)$-?qAQ<5IVyRai3@r!GDOIAk$zXJ`FK;L?>AARC7d|WxP_Ug zueeR1La=lYGp~vL=JzI6CTCU$jPhk*D-%jy8ZR4v8<~mFP<*58NNz5m)e|5YcRaiU zIubU;SB{Apt2C87o+xOe$f{cJm29y>8T9GtmyaA(sMg}G#wMzFNb@Y{bcz~77#PpD z!JI;#?6k?)^8pW0L&c{P#uto-z%8()))t`Sa7vhb&( zL}asIcvz7)PG)Acp8j$G-JJ<`RlH`m65RgRRPOOn8^@?Wy-p75H$FwBG)P z$Lyf^*x_nH;j8n4Yfcr z)6jula+iCkz?w&b|H3y!zvlWN9Xm9`r_%fvqpMp1F;6&e%Sf7o%;~s>3zsvyZeLQ~ zE94PMe=(=))kkb2R)9^V(yC`rThO=e2lu*ufQRe#zOP~u4^qEBng8dE?Srx8R`cBa zUOYB24t?4h`-trGR61NDjectdGu zZ^rsRXJhVPQz@DRUThdcK(c+%WhCSZzlB*=p%<5s0!prs$HpcwiWc5#dfq&`y1)A| zA>ajh#l>+S)IOnENx9pFkbh?S!z9`5ivrZQ!sM!NoDHhMZzWXAh-WQp?Ue z@i5{Tv)E`5$2p@x@5XbOB3H!zz&j^7%?RF_tsq?mDGp@L-USrv!|s}k9(p%gWaA;-$Qh{nZa)?<2)o!5^8SuPEoMBm5oOD`~{m^6UW4#Jiez~>pH zPwBsO)E6_@oAZN*QIG(h#j8#*kBQSg zw%CSJd_VSduq!AiRhEW`+c?UzFKdovPvN=Hdp-WVz!nCPnam#+o=8-TH0fA6n&=$` zx`xP~uoaXNCEuS0OSzw^6oZ+fc6@W2$<-9e!Z>kY!CJB&>@LZs3R;UOfpEmN8!QexkBZ))Ef=BGtio_ZQLP96b`y)VH2Z z8#lsn@WOwysk0W2XO@~I!v-a3yav{zA!Ufkb2~v}VQ6P6AgT#-We+WF7LhNo$SaB7 z(r4$bN-;yG&J7hYE$Z;*v919`-?)qa;vS!l@K*y;y*x#dxpk?Vm6bu?EFy9z{h^ZV z;hOxlVY2rq479n;*=Z>k2BVDQ6jk0!3y)7c1qo75lV%?osEEEV@=Rz*4DQ~CmHW1e zwr+or*~OUwuXfAn?8U_ZNsYDXF~yxg2=4E{Ptv*5MaFbX4qg-fKJaXmIcEZiJ^A@M zt~`jD6am!KM|K7M??gn{*OldUCWl>BR6ed$?fS0solV@-C2^R@l_EbVYR>ACk}%)Z z9ulSMRt^+n;etAoxCY^S6*6%C#iB%XmN;`T8>{L&Wm-OHVXmjn>UZZ&OBx?~h5Qe4 z;R=AOM>4Bk*)0289i3N1PR>TJros{tnIIxzI3S9-F+TC!ccJPSGOykD*Z?1}~8+g`jEZwFcR;erh z;^ySPe1`mlN#D{;{G2b zjE3L(OUh(rGLr8F6q%lM7~9|4{0@FFe+%%3A|Y^EKTx8Ii#SJJz2>`$)NG0lzdK@e z4g*WdTiPtANGykF%jlUb7XRESP06CgIhpD|KQwc-Np6z9_o6?otLa;sSAukT#+;w_ zZl>)XzkB6Ip<48;Bh+4hD2;?emO$ES7jL~_0&_q^d_guPZIZ|pIq+ku8FW+^4%Abb z?)7R>5k=cYF|BQ`l-WTspUfv(wX1H#v{1QANdBxVgy?!L=MM@lS0k~)7_5p9dTsOSt`&a*scVM_E_J+5tVf2=mxAg=$V>RaRG zbr5d#?;LyPEfq%KQ=n|R*;>K78OhT>Jat#wdZ{fqfZ5FopGd(+j^VbRp5kC9ZSKl0 zBwETl>?a9Nf*{0!CF*4K`(9jI1Cy%lx;4&FzJ5T9d^6ULGn;A_|3HkOzg_p(+JAVy(hP>JNjpJ|A8hj2^aUq)D#7P;+-DjbzChuK=sX&kr_tAIK zitpWAN3_ttEb!jb!vn2!JR0|jHQhCI-lccxP;R+Gd;s&p0jg}^H$}SrHPdafJ(PX6SUFidPWO`B{Bm*yV_)e=EX)l zKl4=eMgP5{H2td)Hhi&dLG2B@(U{2-rDH>6fiiNe#?Dbf_~QZ+L)huHvqGJX+=5!$ zHyr-j6ZQcaRwe1BpDMNLQ0jloo-J<;s1pWG|Gcznzq=aa_uQ`4B^P$oUf75_H)3%c zqY?=LC2`==8Ljgt&NANjl^yZ=1p)fvPo4n>qIH6!++o5(MWz8vImnPxSeX!%Z)jcI)+b}$yu@A>kK|et6+4%OZagWMqemGE z(QpzIT^V_Mx^D+jV$apcXrtm%KrjEu1{|Pxsvy%!D#~!Zv*OR$xTM6z+tuRdU2jiS z@p#Tua2Px&r)J(LPHrz!l9DDK=TnvLZt>F6zCD_8Y&|A+H^0*uAY`RdgMVn;cdcQ2 zWZXK!;2BlLeZhGz#XBnlK%ZgT$9ms&A^>RuZ){v5`Xkqs<({+gv=~S-23$(=yjEp( z?F9?0hbR35ZbSpHDav-$e%asw&&DH55JFLyhOtLx4R_!-w>{iX%IPM%HEx6yln+W zj&LWtlMqXnTznPz0o{Est6Wj|;}%&QbpjCh{1FPRh=1}y)%%6EypU{hG zY=1hGrorq446$g4{y{V_^*lNWo(*N$%j6VO!?PVT6P4sm4Tp%`a)%%udp&lXwmmmj zyXeqq35N~vU-*1AA*l5;%3%J_gz&M%jL+rKyzI`}l@D8g+MoX&Dc05QlAS0q`#Q>g_(h%r7$w)rH<5>o8U9Yau&4 z=O~pz`3qJKFSX(x0$%Eu^>P8ezr0#5UW(*Xxa;(oIIoNDb&F%ReglW?C!9$XB}wzz zh(VMR`&eAFeI{sJIP>(!?9laq@Z1eaof0n2QMY>qKA#yDX{W$IA`(u8ow+v}%Blm< z1UyK0QhIsZQ9ZZ{is{MZ$1T^l?M=61bE{iw4ZhB*f;CM

+d5Ni7%?53^5Xeez%qxXM2S#t@$^+0^j^z-DSsu2^cNdk{jLQGTU#cmU(kw+ zi?ZBina3w)QSK6E!xFE(M9m)>gPCAwyK7RGz=_wx_N%T9)xIhu{yJ7IDAgDryElyo(mv5D85Qc{(8~l@@*H#r6Uo zLNM5a0ZppkXhk+#QHjt3rVMV*RhXa24j=Cab@9FHQfSE6>_%!P?hy3*d^Ml=h1m)Z zZn9YfT;{5=!1t)ocp;N%?Y!|*6CV%r9mhJ*{t~ps?esDu%qNIZMPY^^@mzE;d-fv$ zx*3|6YXhf|FQthEU%tqF-?FAHwYfL1IjXuyaIec8flj??r2GO->O~v)`tMfdSU{jZ z-4_?%xfipLcipU5!ZV3B0C_!f_9RX4Q0z5T+}%7*l=G>al_!^ogb}a=e)oaXo?u4@ z80h-ryRJ#YurTeBq={twn>(;180|VErDqZ{TZy~Kh~HHxQAq(O*5TfUitX6M&Ga1)iAWtKAY-|I3o*JBdHL1sr<-FV_Mn zKeTZkk;wVQt^TDH-4-x*X3+5Gg@<0mC_Y!JZ%h@@Cx8*C1i)Q|z4$s?&p+tyQ2tPd z+H;oS>)n( zfB&A{K=b4WH}_yqkX(b4W@$s$g9`T^kw*THRJadvcWDKngYt9`xNGL#>nG%9SI0(= zRqDL!7XnC5wyLVu;~E<3`-WG08kKHH0QG5Lkoo8y(;&t+KU7(b2|1pg0?cTQS6r!} zEW+0d{IrUPg1Z^gBmAp;*N2ke|E!gNkn8WEGg{0xeA{G0y$@o5Tp1bJQ>*dF%x~X* z5wg;j^us&!W8+=2sn+)-lQb6af?typ7#WcOW;Zi48{H~KO1Y4G>S}`XPaZQefr^?b z;tA}HQ9*hG-9G=nHPiYadc!+$AA$ZS7MxABYyMkQGhdusX%mS7T4Lu9$QA*eIpc#h z(0IaRb1WsYFU`>Oi+W{_Q!Bj#sMn47NwD5oUp(*S6q&ylW$jWy5OJdqdIi#lbq?nII^Sq4^YLhLLYsn{U3*`Ihuu8i zH<3-IeA&lT#;wt_Uv4@Kr65NNB6H;-ES>ANuFl?178T>;38Iysw^%ochDfUF^Q~zuBO;s)9`qj(44P!AW9{cgL{S|JK`B zd&xn%HA_G>Xnahs=)zM*!f|8th|C#Fm)e;wso}DpzsJSpe3V+C%z& zcPaI?ktq@h(vUI+c-PtuhXt*<(x$;fU4v#1zBt~B6ja=W!A607aaLAet64MS@Qvex zwUeLbl8Cpf@Dxo~p#qdPat~=~7gco$d3nJpO(iVSB1<@=1+~G?EN&ygDTN?M9EZkF zkCq~dMS)6}3rwdPD^6=}IT=<6T1+&Bw8borpxFD0pnCPHQCq25Oj1rAl6Crb&y zKF-3>8V)37)-Uv^*1f%o%Xx*r zU=QlJ@n}Fog{_n%Cp1%6mw8OE9$)t?S?N2;4#9*Dq0i%Fg zLs6==K)=@33NG)~-&TGFgP%{ADu-wknt$OdrT}}esu_W7*8E>q`p4;{wy6RqNuYxs z;MU_=Hm7xVcVifJ7W|oRXq+gWRo+;%BHs-$hEL0eK9YE6vxtYIiiSYo_K$V$@_!=@ zcd}0?cp1>a%l14xfP@fQ>2M?3R=Nplf8^aL^%u@~V+I%+T$a7q$=rSC;fV!{Ag`0B zvUgPQWiWR(*KRlveRkpIIv~mqe>1L^J+JTv-S3%eKdY5YLrNec4<<+zLxyXw?MkPt zF8;quwHX3k3>%UkDMYnLM?cExJTN(2LITK_h%$X^a>`91c(kVHwE!Wfmo4M@x%C61 z4)Eh&{;!oBA!)2P#}=)IX(b#*-yT&7AAdSpRoF*Ubo1Ri^q|RNq}cN*^^;Azh155# z%uDyhm@_#qBV=?wjq?8XN{rrTLx@ z-G$Gh0OSSWsMhi^gNH{53@{)T9wDQM02fGl>vBYigm>|pK~~cfEjZB)TivtZ-Zq;G z;PYNUYMc*-l_#7R&KFrDq(@_H6m_A_wcI%3uRhWD8VJ1|r>x`CiHD9JrO~5MZVV4jw(v5(wub);~kTl^?~hf_a0_A`*-Fx!>DH7P0@{9}Yx1?oL!#&0pEn zoxabXIvjGrQ4yROk9sG^8PpS~{ypjax8yicZ*HwGEPls@X$GfTZ;$%iHl!dZ+lt04 zO_Z!23c`Dn`VH^oBsvQ%R2J2}Y!)-|+Kq6S=m>l|nKy1-&`a2foejw!--qZUM~Wt=|0hh0l__ zic1(Pr)a5IH!*j20^Ft2(Wd@}EO9P`2rE?M^^i5z_PqDb;Y)IufBmG@qb_i&^MQF= z(O_O~?h^2?$8oZGf^;HL1Q1&iPt-<4 zo}#_7J;F$!nS6C{c?d)PdBDlzz;)XH7k>wSKu@fu&myGwNVQTxIyJh_Q8AX&=u##Y3sKgpxQu z@{K9ty8vqobqxta-p-x5m$CGN2m~&sZ(h6^@^k($%zI<BC;|DZ`u)xq2yGqJ8-6Ij*c&T|&1I!JavDWjW+bK#w;1dtKIlx;$|Sx%<~-j;;Vxv|_(CbUh># zszy|2sxsPzyU8dCi>ihD`}=>)F7_ECU{DU7CsX{+jTDWg-3qh9h2Ct-y0_C;LFeTW zZ9f%HV={SCGk|}OcNJ*KDanV2bi5Z;*jRs%b5T?O%MB?f`GA(ik|rNe?0;J6TgR6i zC*R9qilqu|k1Zb>y^!Ze6R%;@>y96jM>A-*={p;bay4uyDO{aQMSAFgs5Kx?(B?J8 z*$&+pD)eB%1&(&4fzkMGGs5=HDDk7(E_Yn5XZB7Gl;()CkP_e z=pGn*whvZ(eKrZR1CbLASfgRMs_%}z6Xd!?i$Tx)xmnhw-*=}=9dXdFbCo(UgzQMT zd91YdWs}X4oJT#37sby7L;JU^0z;lGs);XO?bd<~A>)j@non8AOon|=P!hTrFIl#; zq>IVm;+05D_2z)PRrXFin?=c-*m7lzk|swiPm~0HVqDjrV$G=W++)3EX>TzJQ4`eX z)G;%gl#vi2Sm(K@_IkheT2D1%fdayoZ?oJ{T-@NFAn>=(%dS`!Gm@LphcW>U1TC4+ zRegk9{_+AEE%kAR<)HrIO+#;xS;{@%e6k>%sr^Kma0e=v5fnTlkN+*wEUZwh@!!lC zBA}+uIVI@w?GOxn6mzq(40(PW#d*-Ai4gHjFT#u+^!TY*=c^H~WlDX!) zQ#%?$7F12@O!Me5&DlI;D5uh&#yronKrS&dZBc*JCqK!*u zW_gL$i=#E%lBKM2A|)dGCrx*!epn$ygSqawrLL31+;7;}=(i2Do;*zxHG)SOhjd#D zd<-f4fO$pAS0N_rbL+m7rXH>2Z4$zOuH&5KZ>2gy3M0gf&*%C`m4e7qi_%F-GFV?e3s^DvQHi%P^9+5G)+m#hI#^vWUInTNFx^`-!p>!GO2Fhm-NCxT zopd0s=dU3Fv$Om6cA1F2mjLD`@pGqd1W$cE6$bE?cTmt|ThT;dW)w&L=fZNmeRXxB z{T<}(88#8mRsN;5Vb}A0`4tk9>&+*iWYucRl?fl%cEgtYZFcZ_od1sB6uGzEvC8zp z{#6(pF1?ZZVsma=wa{3iyE}m!ULa1nD*k8a4!0!W(^tDG9+BOJmcEg zdby3od!KeTR%0cAdrlnAVz*`jjGz``CE&wYB1s7bxy--A?M}PcetVUS*@onF?;AdjbWx0+8^nVoK*Z{i zvUJpQoMcq`o!{#k2tE=@I6M$D6+d)73(#oX_5R<*Iu8#aK2A6Yiy>Lbd~%|>EYgyC zdhX|Z*<8F*&r}1i75Hm1|Eh=_q>rFl)hg3wMk2qMu=h(P_8c2s_$&!sz`$~{w-|dJ zJ`WW^Vi)WnLZ%ZEqg?tS*`Lm#$-qVw8BY`jw6CuMMZ3Tjkp6nsbH-lakWSb?vX>Nr zLg%K4iE`@0OCIah8?ypS615cDEff;FRl2IJibzZdw0!H3G|AU!Z`f={il(~v&D+T8 zHCBAs*d^$pS{PPD=;5HBelR!Rl?A_}^u%k%4>&U{2)(i8dh^q$bAITxvZOK0bC@xe z$)PfBc2kSACPj+HugD81*0BlVIEi08CS}TlaG1H>k^Br%`(*!Wv4Qh#^@tH`1T3cj z4-0z#R^{mn45jjh+UOpaknuWUI`tGZ*259sx4x-J2k;rL7sKA^)WMhQD8h7FP6+P1 z<~p)2im6O8L-y>!*U(A|$JNkY>1NLJp@OI%gDv}!2vb&O=I)k{O@o~dI_;a^<1_s3 z_`n^m37!p?C6sk^o^;C0asZnCCD;gBicJR2Gg{Ntf$9jT z$Z^ot7PP;;x5ZHVRceJ~nSGRaP1v_?IyW0PETDJuueTjBMnD~!sw7D` zgWYShOrFFr{y0$fu(g$BMq35d9rww%f4jVU%6Yqz6SLV;{9k&!OK6);hN12;z63DJ zoC4v{+(=tf_N|B0bKAdjep$dP()02n1jY|gYR2F*vmG-9udxU|WZUc}JuqWc3U&$@ zDDW4SDuTBQAFpZuO8Q|NFKKiB4GjMyNYhrcP(sWS5JQV|^d}GaqsPyD6fyFl0W4*t z1OEe-KuhbJplq}vu9h=1^{wlVBfJU_&;cRV<^*q%L1*vg*^WSNj$mdO3dHzHFNj3T zp&=oMB0}~l19&V(;C&mBb$E`A{VoaV{T@olp8V(@tQ2>v+y)wH^lYh5esG1iK7lM)l7;p`>OL_BdFloljFy7T}bxXr9X=@ zeB5q#k-D2fNI&WIrVn>bfA9t_M|d|{<0>B7v4=|$zK$bHHA4|bE6z0f&bvV&O$oWA ztpgeHzte`@>5b>Ggf5|2e`RXK@A>kzoJ@CL^4gpSIb?Unb#4&L$l8k2PBS^-esihO zg_*Z!GlIqkRYs>W= zg#F^8zDc^vA{zek>_*6Huvfor1G&?)86h6{92c*bHH$G_AFDo}_S;QZOm|BLQ{XRw z-aG)GisuBOKz74&`Pg=%$UWADmzV+UA1v04mCyd{S*4=(9ZppS^C$B0XYV51-i4?Q zqW96`Lkn$vQIdI&VPn!K^S;EEPK`HOOs<=e_zvx*K;X&#tmD(}7dUxFCjn59^85uo-0g)=fi?(o4^FcGZWH~Sb(!}O_Ux2>BB=Ql7L(5h#=E<`~0`agKc0f+Z; zO#uq9xk!$vK_VG|{RQ0b^Eqy+sn(4im}CFUlbs$xpdSEOT5$TwN;j-nsECi*13vO< z)H}Q;7%4AFmuv`0hhIfFu~HqnHYfPsW`X&gjDkx}~D5LQQ9 z0v=Rv4*g+bLLRKr6DDdT_g+C%Pysg~f4MO$I5&weyh_kV)>)3(66ww7f%;YxVlUQI zlO8>lMY(U~>zA)#8R@Ak)-6rV)tH(?M1xc-*bx)FY9bME##%prm`|3J%!{x4th|Wy zJa-KjZK7;-Pr=M+z<^7YA z$+(fMuur5yP`pETAyIqZOBLf`v__R<#IqnUL#FI|)Q(?pD7CPc^ptDBZN|3dm zy67(miOZd*4e6Aq#^!C2UX}SV|&gzaVrB40A0l+Q%jy^CRX}WOW^|yz^V@bd3V+7)oqjH`pb!}Mp zwnUgvTi=w5cXMc|k&!hhhnULsyH?Nao@-c`YfT+uO>Uf_#mTByx^tvlkN4QT`>!Z? z#P!G3oR`OpOMZQQ^?#k4$&Z9)f?u6Nwo|5|8w8EUK)oA9l089t2lr+N0=jXa%bU``>*Xd-d2DD z>d6jd`Nf1xjKBT&OekyaYyA+{K+mSIhw?0E>kb5kYFGgVS(80(t-sN$U4tw%N*o7Z zpuGm!(zQgNrCIkoVl6Go#jba@^%y}4KN#|fc`Y#imtMRIbiLuwx^V$X>KWTsZB9-q zGPiUc4yQJhdhKyRskf*BxtY`BC<9j305zyOOLFIK0WPQixhUGBJ#)YqgZO*v4oKdK zTIlX2KWd=PzG^270HNs;e}Czypai9vmDG5(xlU`1)kwaubM`7Oy`E#nMjsOMYsX9u zRXY#yKXf+}*n{GJ0iofZ8fRn48@kc-VeBiR&M3Wg%4QA})YvUky{e*7J-LKyE9kWU z7%LWeB-`#YrDRqjp@iG)QpUZ`7d3q&V%B2P_n8Pw7AtHyokd>4f(>6(n^D10Wh@&r5RR2({hkwev5~AV8FXboh z1(E!15XD5dt(d;a#@(^Tcwxn>a`HIM*uGNZ#lCB$s!|g?{SipI3MfO0L{^fYb<=MO zK?jD@-f_}`4SiA8@)Z8ffY^@LF9Cd3(8>qMH3txVZ4NngA$oBTd=;i8D zY~*t(&ff@8HT!R|Kj8fbc0%u4mz3O#AUd0(ztA2U`- zQ?(&J$DAKSYPNJb7=o|Utk=i|Va+`T$|cYa0^`yd#b7;0Lo^we5UQ;Ml*UC^*V)#-Drz)Kppm(eGcp z4zr9#OP}#>@e95!PU_}MZ4^od)!GrVoe5v^RAw(yXBNwTpLi|!x;r?>`*peemf!tv zd*H`Ma1ahmclfNtBjOlYsLLS%E(^VQG&{>;U$J4SMOzATs$B{d!R>eV!&_vA#$pJs z;phSK<0FfAzeK-2;G{6vR@#&NYBpYG_NdOG-u_%s+kVg0;BeN@y^Qp~g5y5`cJ*SH zU1jwoW-o+o4V?Tgm)W`|kgO=)OBptWym?{qsXbRJe)x65mS}D-U3$G#rV5E*v5mgu zjT`cAtoKrdp<00(Av^&P(dFl+K>Hdky+EPmfdNG?cvo2d=mRM>=_A5#CBZK6C(d5v zh}L|eq4(!HDNeT4zv}AC`UJuh_=)3Sx1|R78 z%gR^|BM#bt*5YB^x$9o?NR*vyC3eHp&1JaCIhxcI_@U(`{>SLcPYPovgfrj%#kd55 zK)b}ZBP$AwPU(8NZ1pvZXQJQZB$#@NM0o!^TPfm|UHgzbx$e{_=Q+<#gdv4awQO4q zLAl2n-t-=IYnlEiuxxQ(T&E_1jGm%X;MhrQbf4*cN0i*cAnQhp(gt8-bzuu-@7@B| z{@z4UHYXWKxLNu@x)`O-=wP^UkAt1G1<2# z+q3c&tDJgb-!E=Ya#PKeNyEuyPsCqws^^|;f2b>FXIn`cTMZ@ie?ASVd~DfuP$Efm z850Fx*C(#^N$(+xp<@Bds5&a?-0|a@2T{SHmhvB}27)4%gNP>~F5gZYdswZzmDrf5 zL!<(I1%3Gw#US9=;e1$rXEjH!!rr)5jNg^fm$h}0z|@-U1s6E~Obgb;_N3`M?gO5_ zaJ1p?_$y#4PNk*wT_|u{o`%sgF>KX%*^7I9@7$OKIX5in%^!*4Sde~L!^bC>nyQ4! zIp~Oq?otD2{1QQIp3Wx`Z@1nx#<8s@vCku;l0^ztg!-6}1B*U` zk8Ml2a|?@>s`SI3q;6mox+|rfb*{lR(QX5G%^*7PdaUfK!vb_%z*b}>pU;MogZBnsYm`P|H0EwPkf-?>++93a zy8;tQjR3J;N`0Mje@y4oAGW@)Q0N1MM^cPuC-=+QS5|`*`S{$=z+pyakWq8B?4CZ$7XwMQ}{ojhv!oNgl;lCB3 z6eEDNOa4j5M%n-}24pXHGmoWfgCPtOkfn$`isCzWlbNbdXR^Hncd(L-P$Xa-bKM1G z|4t+8KHRmArJn@Wy|)*?%k8m_C8E2_xVVJX`K1RPs)U?iFgq;OPX79D*FwbnJS^j4w-HjtmDZ)^CflEx~|1{riA`W{iha z_VUYru*4moWgxR%yMGFhI$%!D)!SXbz#;Th9wRNgzL%6p#Jk|`L8)WR#0M|-XnQ+= zs{sCy7$E!rqR8hW6WjoDxdPw93EV7h+zp6>za++|5EstZ&9>r}_VsskW}}NvKFj`& zJtaDme7%6ZoPk$5Oz_K?Ds_bG#mXSMD)?O<<9@8*L0|8EyFqeNTk5(94*mkLL>!AT zzbVU||N9@3+k^)!SCMoDA}f&*)~Bcr=}Bg{C4V|2F(MuzZ(ZID7)RQ3nnvw+ThDZ=L_u&K>8RE=-f%oImuwo;G1Y7l_g&f0jv5?(6~|;g+?fM4E7(-<8!=)w zIw@%Rh4@yay!Db*r}h+~>VY@6Sf&aZ8%mz%fm>fDQuO#7QSJ60Uvc+dwA~iSo3=(` zwfF72J;UAqWQSi0>b;Lg)>n%T&#f%U? zvH5G7LrL}8R?T2%)z-^aOEfmO192JBh=tJG(L!bXWb)vrXBPGv@V>C!aIWK_gM|9+ z&(4RrWgi27WyEl)*Pb6v z;;`xp{<6+gZbI{yPK-IDQX9cop0L`wz+Y*>tnX_4;YGapa>G=N>reN^oZvNCWqV+o z(IAk#`@QQ@rJY<`$vt*)fH17A8qOiSkhOIbZY*hxPKLp|C8tyBg5slSbGd`^8w~Xn z5$LqIUNcA`qa`=ZFB>t#Y}ccrS}&9Cdn($pSE+A`YH?}lPoSvF(iAID4`&1?E@jQ% z3h~#CMl*=PY10ExM5*0*=JQ!3rRL`O!-_ffC+99>VBR`YPXucdwCsDoF-nX;o}vZr zdhy_Qb548_m>B>ji8%K+mYAS20OSI|Lvk}>OHW1?DiHjos#WcMY2*oF`}y^J{28o0 z^I{<%A(pR1M(kL9czPVb_=Iixi2Dv++58;(!2KTFx}a3Uy1Qh0ik|h{lg-&_p%QfV zW7}4I$N_U>9k}U6X1_CM)Jff=Ra10yjK*rWZs@az9qgs}3*WA1E5PD5of%#7f2f2B zUP{sU*sWV+*J*E1?@#E5bbZ~}bR^zDfGZ;L_tqK4Lr;`Yx7;{|9hS=8c{GQ(SCsl$ zHtLzC4Fm2G*RCI<@E=B38*P6+oM$Q)yvR65YwK!6^v?`Yr&gp};;v$i5y%wG1q$6_ zKuF%Yl679`Y;e;B<|;lpjb@oLZIc1Ghx1oVZ~0?duH-u%;bo7kB|zL0;oSfU}e0Ef>A_^bM$t1 zt5se^3{k;j&4w~IK*lh5r=Y`}hDVPU3L)H^4E>&$2HUrDRyB21sZsCvo%LHSa+e+K zHJ|)jT=W0&q;!<>oKnR){`7HN3OY1H)TP4QVEI2zquOf{T(Re*3F<4F1vKdWb z)2U~;B*2Dom>4#o%6wirDvsT}l_{2rbRjQijCf$HKAi$vnV7*R937D1MCYiX)q#S( z%;8g8$kB@B!S@q+9Yt=3t>%dqpGVdasMhcX*9(x3>$HVk7axs$R?vDI6L8q{Vn>#CyxMpBr zU~f}iDYTg?+D0;uopb`d7fD8rtzt2K9W_%L%_N8m7I&u_KdrH(WJr_sH^*spqgie= z3Ofavwbj4h3W86E@l-KU!dbJ3(@3Q&v~~edJ*MB_YQaYRMA)hDDd#2;=etJc)a05H zB+WtRnW)VbR6p$@@D-=fB9Uw63WuJOGkUhL5{p!Z6P>iHo%I9mTMhlQ8@?lmK(TVc zlrL{->fwe{x-z7*oLlC|EwZTfSN$e4Uk)(%iWP;CB*dE4C~2JnInv*5-ayc99Ie;w z0bN3tJ(r`MfW0wf5-X$f2aLhfw8sxG68WT)6|Oeie+iRod7}TC5{jQmQ(gs*jx+l_ zf9v@*Ryn}5zj-w)h3xjMvINW{_FFMoU%6Ny1Jgqp@it@!(w7$PZ0=yZ3->71=1M7 hJ`=AkziCRNF{RC1lhF9k0ipw5YPX@c%5GXb{1;gzp`ic( diff --git a/report-builder-002.png b/report-builder-002.png deleted file mode 100644 index c7bb3b52ef55227cf1ec029d2b7c1d84b4c91e9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111200 zcmZ6S2RK|$_xN?ugCL@8L=Dl2PNIt*y?27>y{z5|K}0Vhh#oDv)q9EPb@k5bi{0hF z@9+D*-z5M0JlyBmxpVKFGiT1snfaV(H5EAm+$XpwC@2I9^3rcnP%y7iP%sQ0U?G25 zeBJQ`dBbs**K1r(I0C<@ZAHNA}wm;Kx|p+E=%nnO7n z=UC9fCohSHie`zM(El4p4szAn9bAoNke~A)`icnEO7-`ovrq-X~p%;tmG`d z(KodjeX6N$CE29?Q!4NGuhIG_%sZAaA3P-46_@nw|H}XKeo3A+%4WCDB#!N zcGbMbsCz_$gz4gN73#^+{b|Dsy_z(+z%#cT?=u|~_%ayIXs>O8`HClfGeP{aI4+|9 zWOM5j)P5@P!g%VVFCoe#-_3$Rdw0jHD99b83jJho98MV?j_H4p8K{^e;M522mRqy{}S5{m7?m7=hYxf3u|l-z)~DonKlHErBN&#|1!lWQH6%b|Bk~#}ThZ zX?F^U{F6ZN^Kmx>_RMJ}#gFqg$o+$$$h+MQ_{y@^$@WSp{73?>dY3zXFW|W1j{Y$~ zSz&S$a=&KK+5~yEUyZ6=soN*eew8wHH3a7lK>V%)VxuZn6?l6G;(7RFGgJU9Z>tbAc5EDQHOFZa4nvVk$X-4C$wjth zh0=O;OH~5&$+?jE&>BbTS(&UO{l9CoZM|ddhYmd%JjF zU!QfH2qE>4E~w&{fcfc?SyQyJG8eSK$TiIqPThxJ8yYz4rT+IOY3a>3S0?u-#@ZZC zXusAP&+C8u_>6qTl&6givzVAz?KUd4(9GC9G?|$faLbP1AcNo8m7OdPp7G*BZRAs2 z*p?{%?XE;+W*EiCML$Y$uP}R(QT4XuhE&#!^0ykA;Il%jyp-A zOga8sFg3|cw`#EGyWja&p{jW<{9hl|Wq!A9MamZ@DS9_tfig8SQxkyj9U2-M7#{9E z^4xH3dKlk8f1ooRTPaD@NXN5 zeIN_9P%c%`OHl#>0=KJ~+*q^6e0+Q-JsRWZ+wC)l%c)W4`ULp&%lZ9JQ%>1d{}k^B zvh&BKauIl*?bQN)vsuVnYNR-f0`56`cW9IvN4ihtnVO@CDX|ysr6G3xrzB-6S%<6l zh_hKek4s$f##8iiz51l^%lb!;HhG1FdebXuuK=Q5ikzUaPAR!sNWh?8aC=*GW$j5- zZ8yh`P6y|+f3NdCl8IM#GxX@AR@NNtfpiMUcGo#Z>Jgkz0$ zwUquL2k{`Cwm-yufmy3FcOn9yh6#%L_mUsu=2<*To5|Ib0V$*YSrE@%q2*aIBZ?I? zUDQw8$47P&`){qNO>$nN&Ro60+;)e{wZ9shB$Y)CE?IBr!?#~EvH@_g*RcI7$g?Cx zo=_m~CE%_7aR!!BQ`z6|BY6s;;u0LGWIbS?ooqcna4;nu2sI+ODnGp|$&Q?QXSL0T%p+b;E(JYcMYbe(xt>MO|FR)Q>%M0#Mf@KZa)kZ(_*MV16+)hB z^2y%H-F~hpd|G;LehiksstQG{@$C+pW-t_3#CagdCzaL*SN^c?XQ_#1rWw}4n*yU# zAuUWyiFb%=MXLYLHqgt&5^5Wde@gSp0z4%pEGwYi{&D9fmnOIS z9kCYIKv@W|yW=~^c)?5ce{wO%J<<_S(_U1vUFI>wz29^j<%(rZjG$tjO@T8l5g$Z_xIm8iUjjd#pDotW^qlk?3b8%Jcp9{k9 z|FETVRjo<>DZZ-yu<}h88AeF#p3|btH=xPYr>xbmn<9+XoTl-H zv=pxIIV{Htw+GMFwHLF*{O1e1fb#V_!Sh;hy9xT#+_Icos^fef@Iv{w=Xpn4%hK@6 zPng4p$(|u4$DT#&l+euBvaDA?8d}&dtrzYePovW{Hqo*U(nhj8%vJ_nM)btr%q;b< z>%#&uUQSuG)`frZ`d@1XwpLwRo>v%r7JDI-_iewT>>H=$zb)EQ({G5Y4CPEzVyN*l z(w_g)z87b8ft)3B=|EerKXayUY|vSUNWU1FG8Or<(efZ+YbH2gaY$gowVSmSWt-)T z4xrFa&@ZXt_N8_kC|xKuotw0WSxV`OHV^7emAH3^Loq%7{HLPq#E(~KAM4X9M?35mllhdhD#apP z;%VVT{)fi2*K=+2-RG%meMfA?-yCUT1y)pn%8ofvsab1GRb29ezZT!M2cU<$H%;~#xgQkLh@&8!SCJ(RA4KC^y9DmjzQjvnEzdFA<#_wgt z2<_+CP09Gt@R24%*Hf?1VXn7FR~l>W^;Qj#^n#Fk`#>lo3L&lVP~iPi@l8Jj!DZhk zY9<>U7oUV;n1j+Tnd`ydqouO7PY~C7@ob|>9|)Xah{E?IRz`^+GO>LKnqAmn)f*0p zK+oFsX4aa;DO$+ge&=^}O*R6Gxh4CsDU_S55YOY{`6z}$ZMUHm!%&9(#e1Q_#I|gP zN$3bMq|@SzLm|x5b^RuLzWW~^c1EkEr{D3x{z(Zd``4Nt)>~?P)w9hjZ7jJJ1;S^k zT`_&E;t0Qkw~Gcp0E2UENw9M3CroK$NA6@GjY#{9?U5ib4ip5Rjx4FHv^*ab7zKZn z@JyS=a&-Pf`6U1>|pPpz7)xask0asmsmQtyL+($rVby zhd#9nAK`J8*Kf%A*o(h4qFDGQ?Vcz|_Iq*jWnEH)6=x;M%&MvDs0IYkIYRlO2hEtU zo%@*}4d^R>S?k+o&iX-?Zk&R9-b=L5AmZ}#cS z50A*PovCn0Cb%@dyp&|VBB5;nckA`<5vzQ7Vb*!3^=Z><@@9zpY}S!US4)z|Kdw@Y zlO*Sj1VK=lIUQz6ZY9PVBEhYc4L8Sk|K&=uZ{S(!XEjrI9^;e=+(GL6zOT{hEkE4;5uaNgm-YL?W6blt>9 zQw1LR+K~%rJYwk?<*QCi&JwH6ELljXsp}L6^+8?VFP2$?mhe&$PmI4Fxd&wwjy}Rf z+ic43>1!5Ryuw8Q3xYC}pkh7i!Y~Ws$s>31d;D(7qagSwwAS1wrQR%Jclk;Xv4J9f zb};)^4=nAXfRiK2RbW;$_QUOJ3N?Z^fYzq&Ear#ny1*C&r~KS?&zIFMEnVA77D+fd1sy%Kwb7v;PI#k1BJC@ZrceC!C(23U4ir`0kn!N1?>$xw zk3q#_$FrD_PwWJ5e>me9RY`QOQUhUa9~x@Q8%3AFD+aFuMp>VfrmD3|C~Dy82eDhBCnwSF)4yv(n(y|>z*2vc9#09u{xSW!j#Yof>@T8lr~q}Ycr;zl)#`+o zy5X2+Whdi!Q&2@s7-f@WzPGL z?Nh~xMGBS;?cBJ}eZase%N)%+*O(`crncV`D`#_5vQ?d+@bi~TgTJPgy|Y!xQM_?a zQU%sHo$||Xg;ZMSWoP(<@x^g^}I%@JbEyNxG zR+5;=%c}~U?>FjlX|2jzlD&<1eNb|Q(X<>R{C-h@VnRI|iMU*o)?7L?WTu;2zLgEx zwQX@0f2+*OZ`RVJ_RG+40J`NGywn*K&UpDgZ{SW74<#a@b={Zs^Q?xp-^cjb2Hq!_ zEP0lrVtg-kcM`j|2tJxDOB!9e4ylTDM@wbz09F23Y&LmkeY{?iYbfqorJChK8d(n; ztm6B9AODAvr$PoR`vmZFxzcp%gkUxWXfQf_wO5=&rC3J*aJ?JZWUz>jOo-_^MWu`eb#Z#-e! zHJQ-uRi5P=^BJL@sXjlS0y%CxFYcJt=w%jfN#sA`JTJ77gzQ62T$g3rrcKQGn4%Jhh!q*4TC=rW2>^G^pWTUk+&(#*aDF7tGk%0RH2Xe-@)&(^ z4}&9tN@rrEW9sdz!O{_DiPtZd6dAU=O|-*j(Hqe|RkVMIPBh_qJle{+ImU|A{I#@xpc3v<_u)(*5Ygky*D-TLCY$2ZT5o5xPG{+Zfc z)t6gr871He%O%eD2DzY68korSMTUoH6GEPK7v!ZeEX3Bef$reHkyvo?hI?l=^ROS|kzAi)wGTJ96%Z{|LJF3I@CflZS zDgPO_pg_gSZK5LRNnr*3i$!mmTyK--;guNl#j0n!yudoqlh;qYB!(quSU1~Mm%ECB zv;AEZ0qkCZQ7~DPt+GWPj#q{ZRfmuf+6=eDR#CF0X1ak|RlQtI7QN+>%Pp=6!jJvG z2xiY#BkW2=ab$gky$^LFDfPVY0=0liAm8%P?`5B0;`NDr0y!J~iPp3WtsjLYdSq|C zZ*^dE;;ZgS-!|F_wl>KgoqOf7ZuZ}MhDCeS0{rgdJ}xRB@l$zU|G<4C#w~nBvxzt$h#Y$_4N5;N?0M)iI;V1e`qsindu1En=U)Yq}8@udWQ~ zn!{K|$7wZ$Z@8)CusSwXXT{t6IFt87&2%(Uu&BsgE{L8wc%j_4yBn>hBi08J$0G_5 zgi$Z|Q#AC=^Bve6nj0CmG#ZvX1y?RLNC6{lLv{?;+PiUXB<`yHc60_HxN3%A$sC-` z6!jn8LM4YB3xg-~7{?3spF}$ST4N_gesEc0A07`WzgYZ^3qq}2Cuc45a@{UJNBOb& z&<5&M*kT{`mF-pD79lzNk8TZBF)f0vFy>hetH`#Gru$R8b%0|A$J+rDcf8oDALxs% zzNMM_l%j&LByFB2=I`?obl-nE8EkXEbj;t1(3*i-sBqOlT$&?mA^g|{S(usP{UL{^ zd+J?sxrJU_YyLc&>(3p(l=2vLXH(m6jT|50Conr>>gzT-l3IoHmhC)$|HU^rIYgDG zm6`tACI4jO-pe8XAZGc?{HLM)St3P@eZrKK)aJs!6zi&zll>yTePdyu6z}WUn}-OI zVhg%`O=M)hEWwlVVN{+fx69w&XVE}Z;8QP-e%BfkThtUWYB4tDqQ*24<3Bhyecf~^ z*7!#M+Y7L=)5N0Cy(e*{kxY9s3$xS(s6Bk;3(Iw;Z7Z??a1_UwCpw9N`*~vA$(ieY z+j0B%3VjKpayx?@>yOmx)>X(k39L2eK*L3_-GD6xNei3~WwT+#3qAA5&30e3LN4LC zLFaLnl-LReuu;>eXF4JU3Ili?bYP#OLE{KtS-L=Wevdt83GTYgDyPNj^r z3)_kF&JfVWbKobw`qiTaV2-NhKT*&??{{R_(|N)mCn8mH#N5zuHgu-+G!rc_t0Lhp z15y3<_hagqv%OGkSFH7`;&)d~7X-ulm zU6sXH3Wg41`o@!5qIHBhcMT@Bz`8U8i64pB0%6yk(dsWbN}od9xfKz_-zxGasLZS! zvJg&L2lZPy*QFytc?~%bYjKKEU0JXM!n2cUguo}pzRwv2|y!^N!)Ld z#bn7dBS*r~6qpyfgHBM+w!0Cnp(T1Us4qF*+98n8XS?K08tCCiT9H7@jKQ@$N-C1- z40IDPK@2La$5yUEwtWvxEDh^iw$z^-Y(qd$R{CHW|Eo^>Yi}LEI9Ao#@h|baJwNPs zg)!K)t-+sNc2scmO#;#Z4c*Otj%%FbDCOa8v&X@kErt=8Gjw1%59@QQ^&PRMVUOtzR# z%?!GU?W{xWe;#jtiG(MM{lixbZ=?PAz0Y$)UrxuvMw zAwye5c8_upiw4c&F5b&uYF0AgD>1(CI^kOOYR|Fvfe~vX)Hg&JSn|v=|JTBEy>jZqa<+PjE0D3YL-xw9?CD30Lf5SQ zp2v)z=ie0D2rP?HF4i(c)j6&0p0I`tYpWX@IciOzKNdd=wYM!dmYi5Iakkdh^8U1@ zEwY3iLzaB3c?>Qib;~J zgQh$fBh_WpWn&9AS2=`L-RA)cwOx1ZG4A7VujLc&h_@A$Buef-xTovrmR}C<{OD^@ zB{8U*X@0m?#;mqx&9_<5$b=XS-87|IV`3u#8Ms+%}{;X5na9RYmz%3i}N}O)_ z@4hIucL;I4Jwy8Wby@zX77-SJX) zEzoi1{R^flU*cSZCi?2L@r|P5DRhR%Lcoj}mmp$e5$++NqM{x(&cpq={^$oC5B*g7 zbpgleLmb!FJ2x^c}l)MU-0_4g=65jQl^|rqL-9jv5{z?j8Kh#Zn&}& zgRAqHlwP#4I&R_1OJj)b_QGd#-#4L~^+#5L0sLMR*Lt1@vImbF&!SX!G`50&QjhYD z-ON?;W;ve)TV`#@jq5@I!rjL?(@W|`(heSU^hbX0vN0Z1!+IDp-(n}$0q zQ^o?b+12CiSxnVIjFm3e$!ISYtU1bl*JKFwkeve|vz25MdV#A)mhv;}%qikb+^^G8Nm zRycg5CLrd`$Wdz53Ll4`*E=nHl?8uYT(dlkc^d9cb^LZ*KUdcM!4~NSq zR>la}$b&p*5YL)+a{RRG{peuhA*9{%8K5w;_J1sZ@cHbCJ72xIVB=&iEv2o6w>dk% z3<@Sj2;Nibytx3%6+*F0K~BM!8|&O}*ekd(S&*p0T@~0A7pNGp+ja%U-@o zlTr%gmxpUqoH^mQj7!ygeaEP~(e6Ln9Jz_SV{vGNm260|TD@IOKPAe?F$ereo|VJX z^FolkX~BvjivJ}Hr17fqoID+}CHx+ST}dPf6Bn+%Z}Z0)otCw&tggclYf=4m-d}bz zDf2z>fVPY6Gs;82W2?2fMPwuWsXMBdFpIW)(MlpRd~5jRKLVeJ=R_upaD7vkyZWajO32xcp(?Psxl zsww&sl>TK>DS6B-1+a7TMf5YjmRg5ihw@SW+jX&mM^ofHzetNKS7hX1bG=6N9a=*) zP(zu{F9P1?izuWi4K5}??$d%D-|U}mPhr%`9a$0;Nj3F%YV53yo3sDmr^ZQK0no*BM5% z?xXKs5njJ;&kX8*os1l+LfBdRWn_Qum*zh$XcnhTcsTA)Xo6CO_pC(Z(JK3ZJl4j< zJl+qcV(_y%Al1kNQX@Y~C4~9haMgpL5pM!VRc+V3!CmHiLWYfr zxDNiHDwMR-y|9sbk{8jseZVB6th-V2h%v7`QFh*!qn1}rOL(j7#XoHa93}nB6Ha-h z;&O!sPBLJ63#KNPC)#h*5G^w-Jtl|U#vi8Ns(p~yfb2@Y-#^L@l>LZV|Fy{PtRfb_ z#H~BI8Vh5RVcS2CWzhC*!Wzc|)9Dcr+>>h?#G9szk%!&OQd2J)W*SdsUeIxo40QFBHFW>cz-u}oDA>;-l6@gcrp zV_vO|iT^!rd4Y_yzSh(QIRWqDrzBg_9lVj7Zb>O0w2-4`m=c=Nt%fb(D?R`Q2e1Qn z7Y7fjj@C*N42LPi!EpkV#jp-kW2$f&hP1frCPXLExn2wQeS)$0@ZP3)4h!hB1j3Lv zyz((k9_kL;eC2gTvEL^%#7COTv+_HAF#c_khZ(G+TXJAF|HPdu>@RZ8PAP( zTjH18gT3)NYC2q*rU09IhtR;vW4XtkwaAH-mrv?R-^7A}FZlyMpYn?O)unUJn0pp9pb6y7oh7tj3{k}n)l(c?DagmOoaER~I zm$c>wRatm^pPgq>`l~=OPX0w{05R8`eouytIB%-!t{okX{g{brCn5>KjHgTOk<6u4 z8?m_t((idBRo{<2rDt4mNt5$5=s&rV&-(eU%hzb-sTbIdjC4^&y~PJr&X{@&Jrf~% ziO6mZ;C4IPd<+v=_rJPYoVy^lZwp~I#^)B|X;0aT9=-NZy>`M*%L0SNq&oh~a!Yy) z`pQ#&whSAw0N2LU=g6|Hb^TXJH@r3@P7>6xrjn7tcJ$CIqk4u}@cc7?!fm6tzgX}9|KGPseJeaUl3o$tv`!}sf=(XY*rILP*#qFzM~%E-fw zH5RRseqA{SBMO^lIaGm_TPhsu@&sogndZf`cRv=P*QshPFN{h65Q(8Q;DaQamR~y& z#Cfe&==3dKJjCIx$WGuKYh)3a>G$SCybe|(4FxhB99gUxNIIXsUQk^Sy9NgWE@w(X z9}f!-3U$)5!n!0;0KvUwr$mR0Nfpk_T{=26%=rA7;rgPNN1 z%UMwQey?LN@8ne94revV*kIpXxp9BE4(TOF`0l?)udqF<`DWrRBF zD8!%a#j=LzWkg(_dkEv zN0n2t!vcn@$f{p9(NY~++&)sZOhE6E^}eGR9~IXLathe+-uK+CcktimKe%d&H#_iZ zuAqXI!^G-2Ep}v*^L9oBuI;XTl;BxaZdXDvm*OM0lr3k1rxm1U=yQrkMYreO)Tn_T z9*hZyCA-D*Qy64)LFB$i#KbD^wBW^q#_Et+s^@!w@y_@pZGM#cGxAn+rWoIJ?@d@} zX_$_m7jP9Ay~%fCUVBgrcF++bgTT;PD-}NSE%CA~Ze)k45G6((tsmCN`h77HxQRX9 zERDd3{^}>I#dXSorQ(UYV=J+dM$Kq#&iQ%2V0}R%pNqt7zo%+f)GcRNPZo!)>^R@~ zNymq>yqNs_3ut=QV5m94H=pOSU}F4(bT$lvgN zQ@?op-ZjQhV#^yg0%aHS4skAz=7HHs1)R&-mh3ZHL&sG|sl*27FluLI2AuNEEJ!aW zaSU_PzxePh4b9WZ$F*mlbG}~Rd|hNWt0%T&q&2m4@-QWlO!~YjQ-I?ROkUR(4UFMouKrq=b)-FR~yI#BjCV;<=m4>ti^^BNay2P~`U=mQiA0 ztFy1-HBk%GdVBPX0C`HX8t2R})SRjTTeQ~lM(^p5EO*h-Zgf)N@qZ^GMf`ML4qAB> zR?KtNQqzri_(dSsg3E2}Mp~6*fB1TMKqCnBjr!ie8sgZx^#P-l3P*Ex9RDC$DlDG* zDWUX&38N*aKi(_jpe|PX0G^EboXzaVR`2dT4??25HC_dD;6ir-;4EwC;}f~nkAquS z(O9xxdONmST|P?Db8sjZGP*ck96nTi zDHA=%tmWCLS{|Fz)=~j$T|RemXU@hJ;hiCM-ng=ffZ;r|F-`fok@Y!e3CW>^a~*dth6 z{IAQKx6%#;!ODlOC33aeI3YifXEQ8Isca!+^OQ*Ht2zNm5tc5g3LKo`hha5sg$khU z*&(pSU&5|R%XE-Y+0O0z0Y3v*XXa%wMO{N1qmoOGrJfL8i9$b?*RJlI%s(#QwjTmD zr=}83R=ZQ8NHPyC>JCuQi-l{+`;=on-xspACt)fNKWF9WkXIt15mwmk;fRRfx$Al? zF;L>L{OLt=L`<{q8Q%XL(lSR5)S$m?4Xu@`gR=rZ#O07$-9zbd6cYtH_yEN(1%;|GlBLApL{eM-TA zkI@YrE7(t0+LG@w7Qa=#U=Z?*J5F}f(PO@CaD#6VvSw&&=xc>bfI57~1|E_k94;D; zvSC7_I9*PTg~ir1{Ffg#DRjYL&3oe8g)5#M7rLFJoWR6MRk!zF!}qO_$J?4~&}IcD zrsxmu+)GWFYN|6`(G8eKQ)hjp_NXf<*uC*xJvWS%V+?bIO$S)<3=1Z{e|t zy6RJU%Y;j6i)S#ZtYi9%+k!YwLq!iDsZ21*+1XQK0$%>PvHAEme4=rWJnJ_RUT)?F z6kA9wsMFNNhf^{lS83(;oCx0dUWNh~VCNlJA9R??|5mg7!-{tt4P z=#|MmD_NIBI%0Vxv0%fStbm_t_t|YCB>;|}O2wPb)?4QJ%}F=7-8MtJg|@{G@ar|m z1%jT-UDa;KIIWdZlD)HDcigmecfJR3LlhC&5bcQn7qW>Q--x7L>nVx#*wU$FnQo}w zM~rHFfP|zW!x9DeOW_y)Sn#tm!lot1%60^A6KF@A4wb%M{{aL2s@pZ^fP zb=LBKFxcwPnLxU9Zz$T`?2r457DzK*(DwFrdE3s+%nVkC>0G<1IX2>>Dl9fJAZUco-&^m4!9s4Om(qoAfF}~sOk;LJRf6$t# zq7C&3zw*)>L!JW01muZ)AM&Jbp)lxQ!f!jJI(QOkO>YNs>CH6?+yN`E8zB|lU}y02 zW+KSbmxU{RP3v#O113*d5DqPmsk{$V0fu%FX7wA~%5T|y%L$4(C4v|HiKlc(cnpba73IKFU%$7@ivB_?>l<&PCV2Ru9>V-m=#A|W5ALwNTTL;{-Ii(U-0$iVcUnLGU;)`SO)UoY4CLhr8X_m8q#u3P7EFzQ7|ld#UO#s5b$7ugn-UC~Wv^c#E3(klLqY(A&df~hRG57Y8?I<6(F{Y6O|nj@95 zo~bOo_#0jYKtV^|?XOI7O`gLYYWZ%{68+kJ&bZ_YE}L z<>0gL-;inXTd=;ytmA|QXRE!i7F^%*H@+{;(C`=;9eQ%!G3@OF**3BNR>YI!kqFU` zga~CN{O%s5zNyfEtyfx_A$88kyWAC6oCZk#YHOZhYPzZtSMoQ(`c?m8E(MM?W8Sit z1IJn!O#WM4jM`yN%dX_p{D*b{_96;vyTpGnt4%#UN|>-pO$e~eBSB*s!oB_*ME#G< z(Y9z2!NFvQa8_;xKo)-OkM%1P%Uv*=IiKG86VFZ&&!gJJJtP4$D` z7tmjY)aGP|ixu8nZ-LO--v)^!EC%@_%p&0*?Z%UbZj@iK`~DAT{ZB*UmfgTe(vx%& z1D!q_y4XN=VuH3(2(8@*D*q2)`@ca`n^qJZtkvmcdby~&&`{9<)+D;4Y%SCE?Kk@5 zbLdcz7~Zg~s(}NssTG13Sb`leD0E>(S9q1QHIMM#pSav zqmsKzp9oe$)C;`T-elsQSMFJUzzq1(#`fwaWAw#098;C>w5Z#sSgZ7)J@O|RA>K%+ z8yoto>HcZrzKGuRy45q{rvVqmS$nFMAhh4)aysWBAGpVH+@hixFJiK^zjPHzbq;E& z9w`UDB0vc^J7d~KZ&e1E2ZKIra2_&l+gh%DXdtG(#nc#nss1P+env-_J9hS$yA-`b z$6{T2^SX+PC@A?k{Xob8q#o_A#)FR|c!eh6VLTR#0aX1-s;ArgM<-o#2cXsWx_|KK z1FhEjYwa4HPW>=Xq5%6PK4noPUAdC(HFCE8g9aZT-eF~=?2MfG6r+ydyJq>O&Sy+lz|^KhwG%Uf*g z#dQbZJ4y#Zr7m|I+J;eBcQQkT&L16dp1u}#%fz(G6Q}u;NLveZumQ~#S-rnTK*w^O z@3TmxWg`{BpugIWY^Z@-GPf!a#;L&1gDwD>&b<1MukW6rq51`QKX%fh51?3OEpDvo z@%>u;u-coVtqKuW!0GU%tSzNIzH;jPEBUK`rz+yan^BH=0epI`Y6!-i$_NCRSF)p8 z1o^b)zjp6WVjq~evQAWeF>`4u8at{aU*tE7jGp<>Eb;6hIHfA{Z(+}~%pNl+lXf3>Lu#Y~ z$^am;i(=oC`;%PIXzKm;fu@eu88R^38a4qw4muV13eC=Yump6E^1qAd|7(z| zi!R>2ehO?30VU|R8%CeendAdEhX7UqAZYjh_oN`ZPu38y<)GbTv2Nii=>PM{(QQ$c zlTKj5OJ2VdDlG3T5ltPPnw#xR6mOTsc*@wl(m%cBCW-5llMT(2V&v@hI#3q#{y+Oy z*_phKp?|%VgRz@SzNqvn+gZY>*C|7f44#01E1-x6+_#N!ae-K`fySJe;h3LNQ`S9O z(zCKga(-+1na(%qXRjHaSh$)ey?gPwO@vujy}j0q{hPhlzDvw4s>o{Ks)cqQ#9wUo zamO~%N>423Q5yG^vARCVs>b~#QIplV@)XAd>)%-_iEINOG97IsF*<`OQvHqPmO z`QPqz#ULpfgLK0}NhwZ4TU$jTFYRPk_o{AqXz&{WOacpw$#d6@TLh4f`Vmz(?07?!pte0O2qf}FI12BS+3>HhV|>CA5w-wZ-wD356= z=}0~lUEKi1hu$b^EY8Emt&U2kvxJuw^lWho84IPK5y#ijSh!fw7YmDUvTPE~Onq9)sQAVkI7>C(O=0<3nZS7sJZ>0+8=IDs!$bn~;^h1E`4bNb?I3M?BTvifW{_r- zlWyDfQ4vhgXuCoj9`VOanGV+GFd@{f&`0rw!Fat$>$;sm61gP<)eZPPhyaPicVX>! zcbb9_%|)ch23j{e4~}@*9p8yM1%W&-?T~Ve`Jk>El21*2&-W2ZeD^4~Dxv+Zy#bz6 zLqb9Wu?tG-CyseGLihZm;-bw%=}}?~fnV;)#BarD*3y@#3I~A-O^ob1=LsG&^U}Rb1z$5!vL-dm$l6SGlL&knH<4AbP zTi}62Q7yrzM=%!lt3QXNWxI11qQGG$4QKBV};)BGt^Pi1&7O^1kBE-of)RvMq|%K;>I`2g`DY-8DMyJNcKtI+t*i^>|$Ji zNgD)Y9`IT?2_-v2XGm7~bHN0$N?&W=K%Z?3lpO#>E2(Si^H_`-_A&QS(&A`n>vvuE zT$f9zEao&INq2Dxq$F8;$JPv@JO?h+6lDZz$Gj-$q-=-S_GU&0WePm$7@D2GQ=!gs zwxBoG;V?qxO_LU1{#SMt!3{`LF?;VH67JzK--7Zu_i;hvH!eT#i1qbneSOR|k-@Rx zjr%trOBV%{m3Z5B9qmAWrp$HZNAzj(!)^?BTMbE~Wyh&LiQr+IylaF!#!283CF$F6 zv4NQT3MY#3#r7YG+rVfN`rTG$MF9-TlS5F2s)hq+*6Znfxqtn}b{kTA0f7NmCod?3 zIcKRIL_Ehj{24^geslx-k&+8_!yEL=y;xn35jy+A*bt`F?0o~1Lv1lneu*oGAh)WB zr~eLF9#sr`I~MlmW(?Fh#9T07`_y_Zatj;`fs#f`*F=Ip|4JeupTbCwk=_+tPH%&; z(>RD==_0Oq2@=BerhYzn#rH&LCp-vm>$I_?^qZwOLspx8#A!5lDJv@_6?9~`iIaSC zZ`cCtsmFF)R0_=|7eg*=?*gxm#kfk(mY~;OjKTQto_1o8Fl#fj@}TNV9)usFMd~)E zDDsDuK2*efB>l4{@fW(ZUk`=~@$#F{DZJEm)Ftf>@-M86EQbUkZ`2aMJcv%k4`X;E z&oCCIFmq!us>Fn+CSA?|7k3!Q*a6OteBCn{7rklwpUketB5xh|FK7s{kKp3Z{3gXg zfXHrCUF`N-f0LK&0hn^-9;&XX91QMpI|CDTLqq_kFBYPagsF?3xmn{oJ2e2qm~jZ6 z1VDEj2MKSHzF*3XZ-d=MkMH2!i<%-v=mPH3fe(m>MzGn8i);3I{Y}mdgI}SiY1s)m;$^?fZ@=W?#L4H+v&+8y24z4CI9~Twe7pqP7vAyF^+)yOu2)s!HfIZ(;HCF z&i&aZ7qMcJ2YhOJT9~@Y_uz{=ZT7jJ0^Ho+i=b4>r1XNlP7dmS1Uj4LB2*vTbI0Xw z8se^QbOfnB+|-^@S41l~`+_kh9~57P(fgv{cdPwTMS9cF!j%7(Te)n|NtaCd&uA>G zARpk1KKefvAVghMmaC|Lf6pL+Zt8HBuH}FIfxPd~qAS@)faW`!6Tt=L*?*L{ay$T3 z+M`)(V1dkZM-j+Rlm1o|vSPmJLy*Gx9+3Zci1>Bdt);3aRa!;O2oc_P(Pq!5Z0`zw zvdHXCsX*{MKDMnF%?Vske8w!V;Ig0y<_-O3Dw%+q*2x62eVMzd^Oua&<{3;8$nV2f zk#KRI(NBy&a&!lTdY?X?nEW(GIx$D|^6pQ4N^fSF|9aF0Ambhc%p)l!T$AYEOSFNe zPW+cQIK7v;TNVK_e`eTbC6_lMoUa1}lK~wjPOIkz3H*P!r)RE}I0Bbar=rTqu$h_? ztUsI5G{83+)!xqENfcImW8v!#k?ky}T*C~CiD6}BW%CJy8s`L>DcAD<>!*otwuQf5 zGSz!h__0zQDZWS9b0sN7=BEqXU5_8I(VB3>$ASHDnR z9HPz=dB>%La+PIdw7iY}b!cC;qM~pNc<*s1&^>Eo~ zZs{ItWc+S0ew<2mWhvDyB6yMb2M#O(fT#{4E(+#;=HDXYCGr*vDTpWMUh#Q+qL~|C<1C13xn^x<5_u=M z@@f?iP>pkW$i~5Z7rDo9jaFwXI?w_Gt>)KNelYB7F@1U3B;qtp6Pz(`~zvPGX5u(7U^dN~R zrJ{$=q2UnbTQrX2g-|?;#fPMBS>xgha(js^95?Dcez0=VHWI?qt6+;BBY(0~=KA2i zci$vNf)Us_qeoN@!Y)<`$ivNLf6K2)Ilgph6V8VgSD*aHpcljgKHWVr+c<#_ElART zlIHA6*oI2HohV{=S9xRE!#*#nejNwY``rP(rB#*rccpyIv=Y)cJ95_-rYLcO&Bg(A zDJ`)=hD5TFd;wXXM-qSia6dX@gvE$WW&Hf%CamLyTiKOx1!HZ zo4!)_>(t>Sg?9$AfYn%4AIJvhQ>MfVfYFdlq?kYX;d+3cx@-z*ys!A0d<)=Y!x8}V zJgPM=QxvAGR5@fpHGd*>cIQW3<27$VLw&!~awt6Wz#(~WVuOdH^d@WoDqE~FvvO79 z-nRQV2P*z$EbiIyI-hW_j2^+=E}`K}1+RMUp*18CMPXTZ4d%}5m(b&!SW8-sHFcnh z(r%zFPJ~r7Ju86!Bs3ZJ<#_;?>hdb5FAxutXw*Yj!``d*Jm&OZv6ycxpMn=x&5^DX`ulO7aP!E1s$Ki22Eqb|LAFsKg+Wrvx zQq81W-Omls5g0ap5OQ;Ond|mdJREOP(xS%?kDH?rWkZ+JgXtB0JvP)}6rnQF!_>6< z_KssQR9!|35ZDu*S~NL4KR}U^>-=gI0m(6YsI)-z@`}C>8mdH^f7tsG=?acBxWY4C zWnE^&o@;7qP6$1pXjlHj6k-&vQH@&a3jZHzZygn7_q~l%f(U|0qcBQ}g0x7hbR#J( z-3%!W5|RSa-QC?Vv@}RJL)XwX3-+xkV=WiB)_u=??sN9p`?{{Z z&z{o8NO@_z)x(*f3vZ3x-EiCOPJz9pssMb!(&f|stO-g!vE>eoIV`slHcG-k93iFg z_J$tN*(k_Bi}hm;vt*q1Pf@GRfxPbO7S(w_XZ_Y|G=K<5*}ekX!JO0*R=Y3qVcx*~ zBR)e@JO3BlQy;u)96>MmYcs9KfP0+FWlS43@K+5l3z#2?Y6a9P$L$$UV*y5gB#W7A zCa&u5fj5}g%s6H5zk$-+Zq?*MOC%9Wa!2A1j83522gXn=xBY=XVT4&Ry%y7}U*-Dk z@!N+VKVAwhipyq&H%1ybKrVz82gTA;JL!ny9Ub?I8iPv(TpyX5W{;X^JakIB5{ARh zf=ka1W_xWjP5Bl3mt0MO;7gU={v%~A(P6E zdGX=<8(C@P@Edtcm3)D1z3KOE#OC1n#k00E+sjVq+XZFR^jt#*w~p}L%ge<;Hnbfu5R673Djg!xoD&RByYbd6y1j6v0q;VA|o@{z%C{6oQEW0tYXWGsPb1 zl#^7NenEb5rs+6|+aC`jA_77; z7C8VpCR>kBfNG5QEn?esKNiTVC!Q+&%A;%nFx9gBiH(8o3^K)HAV-BNNoCel2F`AP zC5#(*Bu4!#L;Mby6q_*V-kVV&pZ@RMO73)v;jm= z79`t>s@h#4d)S@ zTf(V1_GP?o_wtQdM(<<|EXdDaEyY&q7}(+x$0SrM)8CzZ9l3_euR1Gel(yXwqct=o zD;k{}t+j*!M{(={xx4?=6mp?uPwB8J|QfEE&f*xV*dqKacLa13M3#|xPLG#K?I4!oooK{ zU&LXDzhrj9f#Er6xs?>fz9;Bwl@q`3@4>or<9gH-mQBf%Uq1(KMJ(l^$fLBqPwTlT zKNr%v(9X*{yeZbeKETPC0sT=ex4ysVY#XKbk0+~<(#(4I?CYWPSF!PGmYN4wURJc? zm>jpY!4;)ns-jMoGFm@P5lQxbrXmueA@T@TvcoUr?UbRSWjl6~8WkN0~wuNT`@TM4(chK&gF znd?TXK6_nC6E<@(0fX#Im-tY-Qp18>&PaE%O$;MjnLo{I;TQY(7l z%1SvBDO!Asw*BV&^;R&?$&TICo^G2@P2T;rAloPon(!d>4rZ_4rUXmv77`Qip@{AbiXNNew zX}Vn*Zxj&s>fLqc(zsrvekUO8E06o#u4diM&U3vQ=Tj?WigY{++w+My?mIqrR5#`q zC%g)S!Lv9oK(17xMW@^LdR=qag^Y*+>ZwEMEa~s*5D}3JpM8W-^c9LMi}xw!9MgL3 zFQ8l*Yi5S~G=r@|z*x~u z^vv&uHcg=C)T(>qX~9FCrAy24^R^Fo-%9g<*@mu1yiBX09;y4^F4kMiHt#ggNpAQV z|7PI|(3&GF6HWhze~E}_JgBN5==6(m6CAt4lzMmihe5MC4>YSb>D(m0&RCo}@A?mY z_cG=1glD=Ngy!~P1r)J8k-0&4~H-^xsQP+wA{EG zTw0B`b1EL8i`NNt5B9uKG6F+ef{l9Da3oWN{DoprhWS2SwIUCZ9=_z-9ziu0rfC`| zV$;X{uP4M!LyRW!`Sy(HWgB~Rc!NHbCPnr*9tyRUnM5y#%Na>5$^107-a0m*iRU)B zFFD%gtup9pLq|+Qa=PWM675bUu9zpK!(5o-RK~f=J9+vu*^Eh#f8_Q}OeH2m0d~b@ z?cf%ur#6anRqugVZu?fuUYT^}+N%cs=<**z_{AMcQ=@in8!cq#yZ^@m%vD-GA+!spkUxgsdnO{%QtOV~25 zJV6yLQt>W_7(YkK*1_UB(oDbJ6!?=eY}w5p^;vGeNoDi!XXVNB?*UQ{TNzNTyn|;S z4Zy+b9TR$3AfskQhaR)}wSzxvVX zm+VC~hm&0Q^!VoQG7rAY?|K}XO!g<>HvUrmjRPW74SK@r$hda#nsrz#rkcCXb~yGm zK?yUQiU!g%=h$BXBcEul|o~TgNBflrdG6-WVA@n)aT-pFS3I5b|&I8omu)8k~zfQZ;?sHWxt8 z>e+$uQ>Z-n1~ssWGiD-{#@TS?Lu%quc-UwKt!}K8ku9r!zB?bE^w(`p#Vmnl^;N8E z=cNTv72zkzatvnN0)t98q>8Mx1mbX7eQ$PoHZB4dX5Ar6%Pvb+HuPMI>*qAUzP73_ z#NDXrmc&JM4P-B^ZHrgXTzp!+@t=7+F^o}~la@~G=xolBe-W1D)ON!5wjc%^T{9nCDlc3te zM@fpl-$XDs1=`mw23}Z5WKH9v=-WaYljkBUm!rKd4>qUYTP>0sI-q1K^=+dX9U`LU z)*TiqPznss?zhBhGb#L>lRdwNqxue#__tTD(e*GY39?Oq5lAikf}P&|3^ z{43sU==zn>>x3$j3Uenx#(CAM^GdxzICj0_=_gJbf>Qj`-s^6DRT=WWK}G}HTO(qg z`7i8M0XGRKh3bN@!ZV}!r-Wt$9J8>LFdnVZn}|^*kTYI9`7A0s_gcj#NW%oUYUvgc(`8f zJmZo21+!=Op;lngF`h_&P}Xwq0a2!C|}vextF`P8{qo(l#>N7zB?^0 z9LwCr!;^{&=mzsbH$FZ~6Su3*#SKG=uF!8c-W*bwyUpU7n7S$`^lp)kReS@N=l2Q$ zTvL$@Oyoo{@p59!`NXOkI3uSO#13LN(e% zYBr{F%K8>6RobJg=RVY)Vmtz&?YN%f3L^4;hIV3xijDN)qQHhem=R`lN#^G-1brOA zFI){Dtu(;NY?jx4<>f@Hr7-0PeOo7bv8X6=EIvO|3s)%Dkv-NWsqnn*JNOMlB4XPh z0)f+RkILyUg_W+E<(Z}*%B{6E?hgq*`(dwXU_g^HFFJk@rO$OqLx(>^S5!i_FEJ* zD%GKWgLZ#~&O6FS;;)s)49H|1aKD9g z8V|n;qEUA=G#p5nC5V5mi4iUfWa~9gTSA-jO4>?xtP47`d#kIwk4;U><1|C#Ay{WdYq`u9SCZO7=`7Ru+XLE!xifLU_p}J;n<5Er zzo845x^}51roEJ3s|f$&_5ht;cDQIv5!q%r_;eq(8@^^bANE>%bx(Ti0R|eX`+3j) zhAPdb;n3A^3gOP^qHILTvF=~=SpD)-RpM{F-@8*}++9v&H+}i+=X-Z^OkZOreVDej z-Bu|*$LK@L8Zc42aQkFSpWFPjveeUoM&S|mZCtshR-Cd(%}4mgwym5+I%JC1z=b;H zN4qYo1us%4OE-a9GjN^~5B(u8Cc@V&X*pe0G1sY7s%2X8j8r5GG2Jr^A^VzE3o=?& z0g=owqy|RTq>oPr9Lj=&^XzV7u&YC)pW81`^Ap_Mj+^Wjsd&_QvVE4_LqFR-$j!_Q zPQV{VEjIQFKUmDqucm;T|4A?O&MLHgdECPNu7>4XM2NkuZ5L=GdR0lgi%`CaEU>jJ z^i@Nkqz9>uVHfYk_m@Vyp-Kr?3!mXu)FpDxKCSkO)WpOwE5@zbTiH?5zhSuusNgc= z+aA+W{|Q04>lA)SGezg%-j{QEO_2q(Q7qBzxf3Ar1{_@JJZ!^>Y6%Hx?%Qk&DFxp=aneOV66 z{F|Y2wTHY9{XrU&YRHBXNC9{Ar>y4Qc@%}M#TyjvjqjBu*A^{}7d-6nv=&@u6DfAc zZS9y2$-j?@Alb{i0WN>iPH9-B@~t!tb_TzA6D^xhXOuE3Efl!G$uu^cDdy* z=m;8UfS*5`R)ht48GzT+)2}>OX8;6$=-*q~2Ra5vFP=8gqaeo-P4epoX zWuW^@=UDlj`lF_1o`*$@zy5qv+RB@oM;9EF+*_8P?}LAVra&~fak#(}LAAJu6h$lf z>i>{mYHDz3zi`@DGkr2lWMfS6`(&8$^kn|+)2UBCencK3|7HjMV?rVbIv+}panAPg z#H-Jr!r54n1)wk8|IqKiK=<44o8BLg$`p|6MwsyCj!_3D=T;c>9L-sj{q>L4c+eE3 zvI_W@gS6yp4f^EI4~lOZUnN6a>eEBZ%e=hw%Z3bg4&ekAx<3x1y}k85vGK?MBHP=3 z;!l7;Q@SGzM2try@%iX=Rwf9z;Z>Q8=v^K?6$^XX9!3d_Nb%qph-Iz;+htx@+nKOz z!Zrq65UsJN6VaZu{-hQz$4-Qw>iP6@MVuRPjB)f?mAkVwNUPpy{ZuBn{#fI?TG@y*;(!?{cb6-P>P{S zBWX*gnQptqX#P^STU1YhEDSG)m%=B;>~E^#@qHk|i1Hs3FoRE#tf?+aR}mPO{L;Mx z;16X&px*t5bjo5q1Zu6`4fZelVCuZLuTE_}dpHs08MUwhE<)+6zyOycV}@mu+d}sf zog+I~U;rao0%n?8W$Wvpu(EabnmxQtd4NP@D<+Wq?d}`l|2){%ZTeGsu-cZKfn=w1 z>a9@A(Z`=5SybyAyl{*Dgy08nPP2-SZqjpqQ9*ua|MxW8BAYC)uB~;3udS`|eAy#I zk=yEin=*VfC)s_WpAJW15mfX6q-T7O10=Q$bg{3;273I(M4XxV0KG<%l230;1lqR; z_leNqYVtHdjqqps1?#tA zi9cU2$ar3H$+@>mZuGQgf$$C*_k+NhsMMp&t!dG0L#T`>^a~biRu0F2?zqJn6 z>91cHnz&xZOHCB?d5DwF+!PHt}gCaG9kRxx& z(#jTdn^Dkj3ELXdR(|MLFRdiG&*LLb5{9C`L)Mal_ff(AGd|YD!tFskeXgF-3HQd4 zCIE%ZKjV&47BOC7Yd`>9;0Vgjrj3k@tcM>25fNK;Km>a8KRPLVy3D?b-Mns^X+E^` z2S-yd(Xz81V$(w{<}II`(>=Yc_p8B|{e11$$8-(HTyk#(!BT&GZLxU}fWLg>%pot6 z+IHD@>f&;091IqEXJyBG@ad~EyKDA`^k{Z3ii2eUP4q}9|}R@|E-NRZw;Naw16~={W5Bk1g--47Y+bqJ%c9XXRFb}kZoukZds{E*dW4p ze}iLFM$-5OtV)Ad;`nbZz}%nQ%$Uzj_3gu_MexEX-G{u@PBxb|2_7pLNC&}TBG)eY zyD?i)X^ZCMhelI05yO)3#>L71sITT1Ter0(&H-^v4g%u+ zB4Kw^=qFs8gN&b%qR&jlT8Xh^-gw{7&@!aw)%;Gum53BKdWQvj6S-Kp<{3_8Ic0Y= z0aEcR*B(U`0N3KXCRO$W={u3bbNFBnD0WVzpbg>zY;Um-u2@X=H0OC$fGNmzc8N{IV^c9PvZIyBPIEWvbX^=M|09 z1DrHm?sKO-XGnGwf*PDGX<(xPu9iJ`;_q#icsGW)KS`X4I~1`o6yhHM`q4vu9fb)5 z{>bsvTSSC}xHM!#gb%jN9_(RLRuDJ9S?@wEp`}I%Gf3}yV00BoV$-8B(^@#4A>JxJoV4O{-am(gx{l}K*oJj z7U@?6NUZ!$*tf-f7+DMGqYhV<2AjU=17zNrVIJWBjCx6)%?#pioqYnQyU2v!Eu2|0 z{};7($f}spX{a)Vr(jPJwdx75<62|_iZ=!Ct^sYn5w~9s7n?7oXHfx=OjW5B=H1kP zC$&bvv*kyB(a9*VvILqu!V0zp&Q4KT=(WM^>YG`(q+8y%}z3bKRql{*x2j zvK&O+fYiBg%afuz9$|}FeE!YE^z^a%(8s@Sv!&!+HJwl8^=k3hNj6DT%@R6cA^3oG z;Q!(dtr^y28y%e}Yyg{2PCd1%@Jb;tB5QBuFXz4T*W*lD=a#)2#&~oY?QgF~D?O*D zkY35jDp5AzKlp_#xmhAn~uR=l1i=vnw}wS=;B#NF+A< z$5l|5%>A`bk(+DC9O)m>S4*dl>KM<0@19iRwNc^a(@XGD|#H z%CMy59-^%?P_r`V8s*(6|L?7CCw3tywHZ2qOkVmN;$Zn2Gp`~b!M!)4j4;Syj}h1l zFNt%9s(Hz`SpD=d-S~vby&~+}R9Z^`i5YGIkdHA$_y1sQ!Bh6#kx7Gr; zTtDNOjo-HUr7FN-s4w|)Do+pCm_9-p$T=q3xlun%8$0`egIBl%(Jb^^?YBfKG0$?4 zG!wa`D?uG5`T51!;!x|AI~0y%()t}01W_9n8dCKlu_jOv?oWcm41wb=Y$)Hp$&Zz2 zIyE{%5dmHl(vgHt%`Q33tS3 zCfmyfb~$=xZn5}e9{9Ab=e3d60hu*iC~0S=h?MdwbnRk0=lj6WM(s|wmJ{^8B8^Vj zW{Oi#i{Aa9cL8Y+bE{1FV!W5_XAg>8^oYAt}R5S!pqJ7Qk@H$3Um}@uTDxs?bB=cf%5h0nu+;hs7!`)`PUB_PvZ@+ zQ2+8B_fCDmTsg*=-P=YJJ}#7vdDycfj?%yrlt)fxFU7$uwNrvx-2g$qF20{pbM_eF zOixj}#@Jl>C^NkknB<0@G|wH``#04o@cn9kQl`wF9e1w9(1QQ9H|6|D3NpnL;p?AhsMVEG>l+iJbGHNu?#6(i= z^dTCj=rM-)c~VgFayaTMSB8mZB+XpqjygcQFLu87@UG;*3{Dbt)=H>1__~XMIph)h zp49clB`k{w#%?>9f(1p&$X|VTx9s|~xAhjiP||8?Ai(w(^>D>AQM6PZw_co|?wG z9GaZ!4mhu;fG0-@FxhKn3> za43cZnHP_B%Hoh(@|+IB*!<1uZiLzO(k(0gw71vkIMXh7NDj-=L*+_Xh1p&q;Nd5W zTVNYgs*WcXhPlgmh1ta3#mVYd^=lWHb9(Ib)>ev*bLs8A3Xyz*bdL%5T5Ecm3Op@O zzIi0A3kxwy#J_8zicrKG^z_*R=C7C<3Dh`p*%(rW-_{7-8z8YiGi9z(M$=Jcni*{7 z8QAfv_Mg)bQsMdv9zW9>_c?@*(C}y|VTx0OQ#dQ=FH7E1MdjN>fi0)j!;$rmm`}K^ z%)VIkTGbhHyYa71ZHE65DCE?dKuYR0&YzT?qsTsAeSTd3`m|zc&DRiX@-WWl73ooO zJ@-%1M!uBqJ*h?t?n<+2s$nc#4Fxu_%$l|9e%J^|*{w@e55v~hMxR0Pz%QrewsC`c z?t0J)0%3W-EV|;kmrR$zSJ=WaA7pm}tLMnBs)k+1vsVXaZqWgpW=%=Ov}xa?3fb*~ zo2#?yy_NO}zxZB7f1LCm9sV=R>y0JNxVey_G>G4HBq6y7`DcBNV|e?HM|mP5gWhWp zS)TWcXXlLmR1Gmr5v(Hw3qbuH@~FY7zQtzHDo-gq9vsTcrwQvLPUxx^?i_67GS?*` z$P*jJADhv8j2hNQhCbiaAHMOuJxhd9gMG{}87>~aN@Q@hV&;-Pdg6wFePk^GAZunj zZ3Pa!%HtLR&K=>x6#}Ap@fWvhu8#Zmh8F-!mNd5iO-p;)o-XW$6@aga)$2+8Hx`hi z7$HPLAS4FayX+S@DVxrbe#zx1_@RQEA?kmX*J36gs@elgaVhJiUjzs_T$H{a90ZTx zv3!w}%C_I4MREOd_%rach`gu~T}o7>bLP>`k; zt8OB@gJs~#%IZ6Gqrfj8c=IWk5DC{lDj(nUocs~}0+aDGanYl4B|Xr6#Wd{!&kAR0 zevgZQ0JfAsFbf~zn!JmPy&87ud?j~W1bnd`8XvLHSFF;&!^Y2ysd(&zpO+^tybo72 z*CjRcmKmpg`L+bWYdFnX9GLoTCZ-It7fhk2=_+iar>{T=*rK(Qj|v)$zT(CM5dTiz%hI{^m(;XMFyi*wkcHwIFucJV`j^Cv9ochxN>-r6LmBR=ozgQ z&~EISMJlcLIXRb$gsfT8PG!b%^7w_U*|O!DCFjF}ysa!whI~eh``~nbInF`6AQ)Wy!mN;Ef87 z_T955{=_4`F|7cX%L7To;hj@80zrG9<{FV0W1y2GJfP z!Ie)s#u~{`+D%gxl)$VXDg;!sbnh$+j7mi8tiCrzSHj;TB-HI4y?CsQ{%)+{Qx)us zjdVqlP`(>n&j@=JgKgHuKw-xuWKF18>oHKhQ)8h=@&6-7{0|aDQB|C%+>ift8>)yu zDHeKxEeClbg7Ar5gr1VO0JyRE!X}GkC)cX`XivObqKHizc&V zaoO0+V`|0zk=F^Z#%nQ<)Q5NwjOF`+=4~C2?gFFL;*MT0Y!Fs!l@Faho;4BQM<#%} zx*fX+{$+h6{R=>kKkf%lT$=VA%I5J0p6_uAI8ZuSCa~%<< za*Q~bMwQJ#0?oXp{Sa_?p(yT`jTH@#zz**VQ5fiLiX75^nX8^6IU7=|`AY?Ji~x2% z*sMTQbhsA(1Q86ba?3)H(eU43mu-Y?X;9ci>967YI{o)}wI%J`tNS*acCJ{ba zOg4p=B}?H{T2d?J)f$B{O&bh4hksaW*oqH*qT9LS@CKfUWJt)k=QF-j4Fpd9O$r&O zbYiPsu-k&o_qbI)gnIs|CdxJn+UacGI_UAx1DvEKNs66QV=@><@*TJ$PfYnUoBAZQ$uKz+?kEK*zKyg&QT*~xQP#ssf%1RDzhjHID z?#FP7MWNp9gM+;&u@72kJH8KI6q;XHqe#dhA~(iQ7_X=+cQclEzZec5qX?=ljD`8J zK}uZHFiHV2(udNICF<>1l>p6AOL5gSEB)Ksy3(6sMrZyvg znLKvMa*Y~;e*D7J_qLMKfL0 zbvNWiD)GowtBXyzmfW>{RD5Hf=t`|hee4FSvzDL-zd=%}$ut`M@Jo98W4S4#%V*@O zV2=O0U^Yn<_SPnJI18$q%kF6XTGYexa6jAKl36;>wDU8`V*G&5?J)9BJCcV(Mx!|0 zGR^q+m4(aP-^gi-AB4ILYV!Fdb1}HE2z;%Jt13A}i(t_9gAxI3dk5tH(kt^BEt7e+sY zo(%ZSw&v(EwAF=l&|#^DTWXz9j$;X>t!6G>N*OXEY$2B!&EADE)HmU?PPFAHG#55!MUjYC}? z+%n@Uv9doDgjTkeqB}po=vhk;@^~hRplIIsp1oDIG4Lvd?U|XnCfQNH zO6|!e=!oE-!e}LLuDvk(*RSHQFrKf>M~WMdAPx1fP0b~L z$N!gyRb_8dlJq%%q4Kj(brrA;t2W4W+R=A=yafM18LJdhxjoJtg&TLigc=yc(1L6p zGyRaBV^-X37NpclDo$bmKn|qLu-@{KfjIOzXeVc#uiBsok6t!W;>*R*N^h!C@P79@ zD5}o21-9xFP%wAuyqs36g_*_tgI`u>&ac4^+@02x!<5qVcJQt=+vRU6L~c6tz@Jih z*Yp46QM9a+bOs%r!k=-iA`+dJ=q~)9)1py&zKI`B-B-q37SB3-b{+$^(X@UY^+s!W zk!I}^e42T0_UOJ++CrGyne$jMJ;&aZ)`6x|bQj*cjz{!c6GxXNoefrlgilS=Fh0tO z$?XMfd29J^$bF8eLk}7)=Ux@4rF4wkiYzmFXX671G~EvH^S`4nM#M6pw7+qV?-Z;^ zO%y)(DqI}ja$i18%dQM%I>!2l=wo$LG*Z4QkaJiG-uB~DRJ6Gl%%}m$a5#KZyMO36 zzwr!oC^JPISH5*qQk)bq=^*U4o&j6OXEIvab9{>0=G}>kTux=RL&Ksx7@sx5Q=a`4 zkZ-(|OUI5kht#XSDqe z3uu{-F^Ak`l1)2$sT%b^e4YoronsIcIqizvJzJaAF&5~apFf^J)lTm6(2}vG{PiE| z{;XfrygGne`Wjhum(-MR{wBdI7&(8$iOX2%xHRth)=KQHqJI#FnL65h{8f?ov3o^m zv#!VF^QL253bsHRc=!(<>Hx!ME@%7?uwo;p8B&s4X<2POsnjD{&LO$%K%bCIw=u~> zzF3tUO7b^u1U!@X4C%>f4c9A8fn5mWNOB&&@Fmd6XZywOa@&TkvY~cIN7R7VF#mu{ z-i7)ioL-8H+u0`QQGUPM%`H?4ll`fk&r?|Z&f{0q!6i4mI`@c^?gcMGeRLlldjSG1HKRkIB{Q!D@)9iIL1Q|nw7voE6#8<{7`qH zVaX%Ft7$3@cO06BUxR**A&b~?=CYp4JmGE4+@B7XlU9;h{}|)>G-t3(lLN-K#-gAP z(}}5(@|64-Ng+LOwsKoC*34t?u$Gy3UM4$VQ>Wc_Fr7= z2gY)FBSc1j^)2>TkMYZP1gh^jRrsmKHpaO1Y#o{EFbm%mzTK@BA@a+skw4pW{Bfp| zl2x&O%qL6Q%6~3NcwXqHr514p&Dg3v8gZK6G+s0o0>LJY)tz)R z<1F@_8akGuv+em@SuB+2$y{UYw7p-J;t2F?87$O?_;>|}IQlHz*m$;_A5lLX7#Ih% zzJguhkGsT3J5JhjnFp%p>`QxQsSH?5kR{~DDw;u+brS8w;~k?Hj@iaxmksT1~H_889%?tBqE2>>y9IU=P%D zK8Sx4*(&ntupmNrUfJFvHFnrd;WSkvrv;zC&;+!Yezi-&^@dBLh6NHqN^fzzE0hlc zeGDy(RW8kovl@$pPn+6#_)*S#*SifVo9s5o*-&DsjE3K`g>JS7H4vzT1#kT8Fu~Hh{nN1zE~v> z5(xYH8l-r5)XX*qEn=eVV>X9x8pg)Ply!7US6Az}ybwOibJwupaG)HudA=Q>S7|C& zwDG1v5&C-g$NIVh7bk2z)e}E1F){ZfSPFV#=C*boci!@<^at%jfZ#%no4eb^UIgvr zL|s2;$&c0{P9rig)(QL`455DpmF&~ev8D3qviXgrv&!ifi-PU({DCxYk8UAXYqO5U z0^}>@fpkXrFou`&FL|urcllpm_s9t?V99miozL&F3h^&+?+J8%_5u9!v2um=msUe5 zaQlsQtx0QvYgoPQnzEMG(^{Nl`f=r?V&N~cO<%zeV4W=N_b*ZZzG>O8e_$Xc?RJI@ z)vJDWRexhkXj2DME`cit*dKgZg6}VrU=06}_VwRq@V4(PVF?0rPvi9DkCTjN2--7* zodhH$vHKBaLG2}k1%;&_M}H3eo_`dZpEFrk!@VFq3|~)^LNIG~U^jGW@}QQGoWtDD zI>F7?jr^bCqa>U83$y?MwUCKZXabR0kR2Eo1jQ zu9S*1ZYq1rWjkKI%|br*2`a|W9F-Rl$D}Ix?j+aHyu-=ZY!nC_r$ZiBvGTU+Z`w9K zhmSweV4Z6T8YeKdQgLu7rg#Eb)Z9kR%rYQ0wQ^)}a#8gM_Wv-9JC&$(g{B}$+)1%V zEvthXgVs&fQ|RNr$MMVKJ4n`o1e6&eT~)ogV%g#Xk=Qs$O)n0PQ&A=<+xvD;BkI)O z*l?54@m%l*5zJeX9GlU-1uE9AQ#C(ubkR7KD^X-g$f5K4l(~aGZF(@lZ^W;baUC>Y zZF#}O{F3RTb_eGMkm=XP;bQ56rrK_3qO)whb%)G-SOg z|HDX2Lg7v;Mb6eiVup{Wi|bm8CGicvCO4Sl{VaZfPQgjRyd(Symw8qz-3&EtRVg?c z7r>VPZ!G|~Q35A0&fH5Od!cx~#_-BPEhb#;xPZL>DVwzPra&IoY4DjpFg90yXuQAR zRm}1GRC;${P%7x0g1O!?mi<;Sog8RA=`-r+dXQ*Ioc&s=t|0IKk)6n0T{f0ig0Gt!5iU7o9$VMJ(D$U7A(`cwdXRQbaBBbfYO6~AtWsX^ zSGA#b0r78A7qE3Wt32UP3EsV!y2cN@PKn0aq@I+#Wo}p<+wYT8JrdfZ98-#QAAGx} zl619$bxKJ+Aa>iIQO~>wT>!Y_{cXBurc`BD4Y8}ao4a;HlfvPXFV_<3`cJaWb#v9= zOE1T2@pCfkUasFrvw<0KwA?3kT(r`Ra6Xp+*Z!8yzYeq*$ZyL>u{R{J7A6PX&CO{6qlL=9h@Tu?kgi{n+USWu}g|$bQ{EA zHXEL-{5C%SZJT_WS#e2}u0QFmBB@SFnU!(viRuFV;jU%Q1tjl#veBID+dWLl6RYu6 zVCclRY5wf~AnCJygXtG^beiL>gk@^R;mQ{Vj{OpKWdguNW0^CvjWZmsn?CeJPq5Tb zzGg9YkpF6xU5#Cxa)WKc$-%2%Q}3Ea(9-$XhL+zqMv@nA*{1R-UH{~+%uAY8qJPQA z_FiR@>*ZYiEGXZAg{XKchQqiqu2tdI{a8Mc6=sKwMbgr;qp!R)Av&1<_?=K~Uf4YE z*u=UHW?01kGi23h;9Tf64r8XD!&M zafO!zsa*K?E1R?|4sQ$j|9dKiR zUYr?0?{Q_;;)Wye4(W-TKi*8P18sqhw*JL1k5_~El*JZ@bML)GnpFP231wT9KO(~1 zl6K*+0O__jg1$SjIH3<$gU*@wmz*k*gX}s?`S;SC?S(^uj-}F4AMq+) zoHKdMCFxX#$bB=^EM5j*Ow#o?-FWS#>~RRvk)N!G+T7$e*91%}2*^y$^A!=RR^t;)5D@cXgRhmp*3Js+Sny zuafh{!k=0T7s`O0l49JhuWRMluD!McTZfD}c|jX>5NmcNS8Egk$3>FCwz{jE;B4@) z)&k6?^>*WG5n!$CYB)2u?V@qs#!XBo89cWB&FfbRso#DUj=4~a7t^b4lYha=TjC`q z=1Wa)J2=r!hVI~G^{nkn7wgzBi@eHlhdRhoN#lYGr#Q3qF(%>|rjI|tK(&LCSLb4~ z&GcGzA{JDsrO|TDI{$yeSGJeQ;H*jBD=sb-Qf-F{-2bxZ^m0bURqOXE#_kEJohw3NlE10&Y~W|0yPE{wp`f2@=8F>Ch8gpdkc* z&n0skdeHDvHc}Tr!lbD4J_M9hryxZBS~B!%y3@&YJf6J2UuGf`PH{HhG-a-40hb57 z-nHO1?<$Kp%>#>o3E^NO7$z5P0`?7M+HB! z_N5d}*_W0y(yEna6k8)5KJ3BiYtK~Ltb89@0Q+vBoMGXy&BN(=*=l~?*+DcK^Y8q&NIC@n!GF6O_ zhs+&rnO`kTbMF0wa86M)#jS#hc)%r7w@C>_fDv~Et~hXJ5lBE&C`cn`wqY95a|@>L z4x=n;fjp=#S*P1*=(ve5183(9#6f~K!cB*}*%S>MOB-C8YnM`r09#Ahc~?4Fkk^!j z7S^fRkxlko0#0G7u{|%ID+VWWYEJj?m!x?JsR@CcLZX=%FJ_>pi>8t{H?9_*uU8Nz z>!}O)hf8&MGc}&40k;YN__Mq|(jUAsGiVn*o$&u5LVG$YY@feWIa5w0xh?rHl*+4u z(QGcbX|IxRm?jUxKjqZ>p53YAQuHd@KF@5*abqZ0 z+PLe4?8Zc^Vm&(C#_g!nMGpb3bLQlHpH3E!m5$8Btj>qM+9~t`COO_<-E&<=m%L%A zD|Iq+-m)EPI^}{9=k(#kK~@7ZC}JaXPZ1^!udQQ<2(xzE$)&=XMz0iKC9}9#G@0j0 zjS7#cwCum1lu+Ctv0_enPDcs%EL@{ii7Q-BKUKG#lTpgZ@aW`qoHpOY|8gu%dE5Fg zpXk|8vg#I$Q6@4Q9i#5{Fv+2J&helsQ%2&0fLAq#``VF}+1}*+636}AP4Dit_D5dC z^~N3GLHV3p645r6)Uu=VURATR$&<=4SH3=%(19r*_X(=x;wl>ZtJxOdoSp2d_aDXN ze@GZZP?sz$$a8qQ2CdF{QM-#lrb@;ew(v&xW~+!vNsDO2!%P<&Yow&5El9UD-{0Ee z%{^2-n;8+8e`w7W8_RfcavVHrVJ<;l_Aynl#4?JVZf991#*3Euc0+MrF&E^uCgD+j ziYA+ooI_@%*r{f`JuGSDYFM%!w+Ff*e5+B|0*EOz9DQ2C7(O1nZ0+U)4(~`b(euvI?Ft_cz73!g zG3r00(B`H4eD$R!&AGw{fBJQ%(N|FIEFwwU>4jo5mQ6;!H69~*@`AVFw7|cBORoB9 zWsGaM{1QP`wXp#x_nXNzWy@0AW7%7|=99mW%7mp+_WX1zvPzJ?RC(zPr{+ABy2TbO zMXc@BL{E#TbH`S1wAx3eem*ChcqV0hFJj5?y~UN5mL5mk0L*49d!l2%#M0jLy+N{Q zU#z{&Ef$>ClJV;#Rnv{^ZyM**Nwg{!<46bCtXGI0axm%j15I%V444SH zoy!!G*U2ZgD2+i2z1r$@>OGVnm%DY;xc;Gw1Jrc%!9%bM++30{!}cj;A4*(po81^& zB}}o*XVXE;M%S+}x!zo{Bg`-~Im`N{6i zk6%xnDiF7tN&SVaoZRmNNiY7^5cm)(QR5M@iJ5AM+Nl=YzddI9lO~6gI>+pSzLuvy z6=b~1@Ti#Vfz?s5vAL5)Y39&{k4WJF$>@HJ4V_+mm1};pC+Zra z0UwV{PA>JQPfPYSS25-xnB zu8;zO3k-G9>sFtbwAEwt!%e!W?9C*<(IkJ~h9A7;2l3vMFI?e_<5%<5xt9-pe?yYD z8Og~-NVS8?UFXxK`%GyKz_Z-i1?K$)o>%q}Lb_p&{B9C~R6Vsb3Dt6-Ux|8&z?3-J zzj)?t5b{+WZ*M{t2O^96Q>&}1IGqlLUcUBhTEs{HI!>%d#_mf9pYm=Zp_%EFZ^Qow zJ29~8cfF8Q)LX%6H%|?VjsrYf=ponR+E0pf1X&-QeN|v-N*|%;cIo-s4xQh~Q~RBb9GGe`yu8z+C{AeN&b{wQ*Zh!0s568&s`-bkvcE@; z(nw^X2&PyDa>(}KK}(D*Mp$wGg-a-Bs>7o>+pxxI=v=~_6W)xYori@FxV+Od>Nosr zQA@8;86B-SFgkmL{Pm!^wlS`WA9)q;r|BQW$TT%U^0E`&qS3z?=Uv%`1<(JX?7icu zeE;}ym6B2_DI+UnWzVc*%g!!BLRQGmIOiy$6w1szHs@F+d!3M#y|+X5&NvQdIN#g* zjrZsK`2F#H{Cd;_-R}FouGjS%&)4(yI@iVRf`X`PhkLoCkzFJ`yIp$ch%f*aF43O5 z;oH^0E8|zZw*EuLrGTr{;#JLx%_v^T>~;4jGD&$ggO+yks&G+09P&U~a^Okv#}Z|R zO95G&kLDAyRl0iMbb?ZZZ$9F!Isxfv3_k07?+!sr3Mols4nk0r_}NbAPbNQc;1ZyKHkS| zR>m8qG16%XjJ61**-vQu1bwuOO*$JKfl#3rb2jQlisc~?_wYi;b6&a*!1*AY%wsFX z+9SdNpcyP_hFloF&N#`WwE>@zvY{!wdbq|#b(H(5tE)fSgK7;7f`0ef=-+c_Z0_`Z zVP?6Xb^NfN&fZFt-$=&a$sjI{5pQmvd|$>8s%=$L;|2r6K~fIPZ9G;sj8;YgbZ8ll zI~fAWtKj&(-8$BWtGmfu5McE`bJWCgJT){7i;TQsU}%`3x&s^Fb$96rPi8H#T6D&o zypCj=;sfx}tx$`|q?UT}!yXZ23w-`d=Iu*HPi6oZYqjX~4+mi_NmBntksuJ4IJ@1O6gFIs{O$K$v*h%n5ZJzhNL2) z{_0^51IL2L_Ax9XQD_dUe%RFHq7eyjjAqp{>ARDtTEqjvYJ&or18?ax3z-VFD;w?F zElWPW8@*}{Bje0XD)5(R-rs(s2y<18)kw$+uz9&?Clh3)kZRXk@g-`-(zH>1w>EHbb04rk=o8rFh7P34KyFogD>OAuCZkS;ME4D2gKXRo4n zKhu}a4XLe+_oOywb7qO>_jSjrA!{~OY_5DB_@*2&QEK2a7;IiOlicDtn_Q$eyR+NE z)56WWMMrQBwcssH^uVRN%~x%PC1pxMrF3S=_6NTqRi>hAO(blq+1lu3%)N_Ja+*Vm zhFMK%=85S~sIZaXjzVi2f~8}&X1_s@`-y<22cqNR906Z03i!tPMSgt~lLTC3_&>nd zq@{BREvU0c&OUlb2jOLNu9Vl`Io-)!)AHA(1~=W#RZ2A ztYy`5PW-yL(88*?{c>SLirKn0&(b0^#NzJ;MqNEI0(k4ay?V3&SUUcj`zq9+x6Ey%r zMg3MUgUjoxgBGTK0IZU6+m6j%t*JquNQZCQu8V`pYGA@%QfUZ(3b3)C&>%CSyvFDC4UAK&DU=#INT0ZUWt(7Kedr_O=@E-zF{tO^O-2MjxVmwjQ%9IqNOA z%yU11hB!kjbp@je2S2r%)xQEIA+zN}bqtu)9Aem@WSB$MP1|{HDIR%js*0{vu}BFL zOeZ($$el|lgb*4#u}zW+hx~z}1^mjb2{YvihrlQ1ub#T~X;Q$Jj!FlBbzah5HI>1o z6@oc>${PrKR0NJcL=-i4C;FYqR*Rzn>e0PHb-nl$h(~Sg6vkL)Sg&B4Fo>|3N)R1O~}yF|La8yg)y1CyW2PZ1bRnV6=)> zKA(W!KUcMrk+}Oawt0GW`s0k|X8C9oUYi=37-Div*^un7CDFlVcUH43%ux_{sV4uV zU#+giTbUmbT(If_So3^llEYF0WkH+keAL<;3BBzG>n!ucQ>U(Wllpp zi3dw|$Fpxt*OL~!5q@h+D1rZBoYXb-BQ0Bgv>wxMR zbW>sJ@?ZVOM%9`eVHm-GF^u3bhN%(j|FFm2W{~LK;7kMXcCNrSlmGmYbD8-E!5p3- zn3A&J!)^n$6Z22b;j#%o4_>`&J;e^G!$4pXJuqFfO>5NbrMg4^-kT@*`mJp#Lz%8@ zbkeCj*gSD^G&1iQR_KE@t5aIOF`2R;(O*w52k`w8(NdOpQ#Zi3L`jK%V14^oOuz;E zKY|pEkiNrmjU;=>y^|W2+zkf2jFx!e(_*4dZ?ygJU(*;F05ttyDCC53RLYXkWxn=# z(@xIGt3a#V5{NIt^_zEoID%=1B&klIm9MA^O4eaZe7Rreq|`GXwo-Ht`q3|MRXFJp zDw@kS6!bFj6j9g4a|r2$g#pOK(8{V7z$hE@8}*DwXHQ6c=YJ5gW)eYuGTL1|j|~jt z4fg2{0Sa0n>jXeAu3{9ExFDz4S3((sLO#wjF6s-uQdCtQ z(A^=T6)yxpwn&+J;B#uc5!RTU#Cs=cB}q~!kRiP7#{sCL#21a&yG;Vq4YJhQl#0T6 ztpcs4C08e7l>VbJLxF_PbJPZP^l-$tzdk@ZvR*e=(Z}E2pB^8-t)e~%g+3}Tn&3m? z?(X_#=W`LJuUBW=hv0$DQrk|^PJlj;NI65LQ;*WeZXG@|eW-*%5h^k-$Dw5f2hz~T z8gtlhIW2QLYU%s>NBbwnIZQPs&JoALOeCR*8-y#|MbS6tjh1acs*8%cq(Ow9M$(~+ zLNpdw4)Dp$acHHHO`-Q2=LW9nIN^GxOBk*G zXiI_m6Bm(V0|e+v4G!G`C(}&g0nEq2e}lcY>UlMtO1D1h*98K)#e1oMb@{j1VL%}= z)c`H7qt`ZBS@m6s&To~D_d`_rz0M(>bR&DOjeDa0Ho+T7B1W^tMTS_Ab8iGJPq$%L zwRA2gzN%I}6l+&dSZfcc6ti?D}wfT=Y=P%7u>D0(-lg7K5v5`(=L(G5&9{1XhfovQc z@i(Sf5H(0lO{tk^f!^+Ck3nR4=cRQJXU{pFavm-qAQ$1oQXbbm{fJCtb|ES$t8w#u zFH$VGRzB#W%8RgY5Fg>GE*;aeF(P1H*qM>qg+&@&_icWY^mjYG6OnwXRj`WenbrsF#JXUz;tu#6LDWC1^NwKTJ+5Pa{R7e z9NaA#Wx%H`6CPf%O0d3Vsk8Ll8qdP*u_50^ zomQ9X>2>aLan;uz*Z4_Dx~?f21-O`StebS=g0E8?UctF4?L~i>!6f$_<#Jctojv(a zFm!-0y9A=h3oU)MU!;Ki5P_hhCOG~;XbUyLqN7vupwaGqtH%H&CR};TfPBHOOJv7 zm~5Yv;~XiU1>>HXEe4oXr*o`@o997^kPY_Z`)UJ<=5v8`nd`xWvD$Zx%-1fq9tYd= z(%EZ7?uM0>FQWCE1G~99XP|m|&m#(!?42Cl`Hu&@bpDh)aLdl_)%Pfj<+v-PSKwsk z_#3s1qBPtI`kKAt86TR9K&PNewfL;i zZ~EZXKufT4HW$Zu`PEU;n_E*|lXO7u26%kSOl)4Sw%onkuTs@cvM(P^Z$XJ``?u&# zLXz4dOmXECV`?^Q=SDJrjD14A1*hP;J%neVT-M}C8CQ3BGW*eU08q|QQ_1QG<25*H z9GPcKo45ODbU4#3NvyG?18q3gLphHHBu8mO6B_YR-#to)SJiYNi#s7n0Cm`Y34cYZ z`YQUb9|Ga93oMCm*P~pzlU@K3V%y(wKUzgkbXb+uVQqpZK}ST?ueeK+rwM%h__?Wx zAK!m^WDsq9E`#j%@SL%kqSY`xw(J~OKbwL!((-XF9-z_sRr;3|z5FB_1q_CJa`7#Y zA`}R1+tkv;)koDk4-q|9NV!Fd_u;((OEefEUtvXuD%KE}`BbD7 zxHtAekn*1;ijYMas=pzE6pFk+(vNa8K%=h=-7P%PkthnShtlT6 zwj@kZdj35noJe}!kx~wevd5>T)8>Ki4e_Stlu^(7p7ljr+jg)e6&p8{Mmjv13y;@xov|C-+38((=2+0Cm!C)!b{uNt)&>9`L z@A1F^qKe`PwT$Juw2;;hGfL#I|KX|BU!x&PBWy_hPF6qIX|N%wqN{d6Me7e+@rP*r zN1g$5p$R6$aj5|=u)m&ZZ6QwnG#<#sQBk0ieN*-bxI4v{PegXxCgH{7LZ&ICi_FH~ z&y&3wDoe4IKVksC0k{#F1f+tL*M^tHNwP>HOEx554Lp2#cPm5-O&`oNt)s3Ec%%+p zz&V+`>IRQ}cP|G>ppyNmYBsgY5HJi-$Oe~V^CTg${mha9PIdWOtN_l5Kvg0B<-1BO zXOW)Y5Go&Uo21pT6#$(>70BrnT;QqKn(h#?G29^?_sJLbRK)EmL8}9xySW|D0*D=w zJOh;8=m?|gxD#RijJHPbw0^dq#|Ec~`MIIu|HNtf9JN^$=V($)VHD&!e-$ARy}@CL zQWUseEgD79In&$lWmGo;``+)km64=po+fxL8!RDN^YB?PPZ zcV_5_)fKYVqZ&^Jy6c}krkNMhaxs{&7j6%1reI8lH2s%En`oEON2RG(??3n1t3ymS z#W)y3(Hivduks&4r6&PnWTw?!2Mf{_x&{l!GhsWbuFAZeAV{Un7U)edoBjBSl4E zxPaHrwJzz8g-Mx08N=WI$XTx0`D5Lh(JBjfC^)oe``h}rHjmOfMx7RA z?ArlZ2d@`xD`#_hHc(6AlGN8-+>s6yXN0a26syY^^{oF`gXbICLP5Lf4vqc0OZTrN zM%v4S-$|_-WAzDM$>>^nZ22&oR;+UKsSP9jUk-NmrM7v>RiL4-s@yj$16Grc0e!jY{=Exn{W+X5 z=B^ep+#nV)pL>&vzUXKD-GecVxM zJw`J0xIHURP_ba66LrQlGc!lfm;yohz!Duel7SPolxTUc6pz zPKyYzQ&|0-;pm$~^%jO^8G&Al5Y>>Ca7IzU?ZsBa`Gv>ofw!|&;TbvH!tMbBUP_%d z^afScdQNl$hkXQP$!p04X()WvV7*0|JQH|=jdpWMZrxkN`nRZqlXK)<8?9N5$nb}O z*$#7mY4QSzprYJ5VXB=sdJH2enJiXrqQ6<=J8_2JYt1F`;j&{m-YfC1Ya=5Vbv5)q znvAoZm+gDA?k8fcS*VgATgqr};F!lIy4+JuKR|5Q+w8hrP)`pL0cw4$XUokx_Pw|fOZuWJ-z_nA5^(io(?s|)x45O$hC_6>9G zKpDXpB`CRB?2cZ>-ZrFv<#Nn_koZQ5n?s+Vs{dS4>-#&?Xja`)ZrjbMrl)1*SbgdB z;efeq@Qam4Hglcc^xp}lo8x`&7Mh?sIXaY70N(;1PVHROwA=DR1 zC&tZ!xD>f6DEaCWq{qMRyRS) zHn!QqBhBw5>h~xP`kQ1x2(pHM+V0Ouj7Zy~(6A^tH$V)xyLj%Vz}q*7kuv_vlWYP%uSrU4-n4K`SgWDgTpu z@Ey!p#mM8@1F!FXmHK*7QS6?FtIMrF&zu9+cy0$a$|UlusTp2a*Hw#u;GX;($1c1M zCy4bUmIQ4~7S}JFgYw`xPEyjIJew3~9b4O?V=SBD9ch}nf}2tl7+)NG6mzI{&b4Tm z2ZqY|9Y_{9QzPtT;rcgKGzOZ~Bm1=Zfuc6ev@IB&7y2oI~`%6V_lDKMVzI zb)jy^m@mCNJSX<*r<^k7omU;m!FV?>lLT2Vpz$9g8N3$CSPFVNY`?~GI*`?v8X_b_ ze^wT0F+K%0j`V1&*eaZi!rd2@%;O z)i|^arq>DrMhfHyh_XWSb7T}AE-*Knh!!d?9cw0_^D$#Zj+q&b3C0858(VxAw4ev| zEgh1hmph3x(bIcd2$UQF$TslSZ=*jvx%vo`0)6xBY9@bIaX^ug3UZ>(9*!=zTwM7* zbAJqbDr*BI2Ouz}wJFR2VO;^}%7EU4n1)PP`d92%JQl^(FdT{nC5r#f`xR90Annga zvlOywS5W>+a-Tg93b>y0tWf=81&HxKh1mZWFbyc=m7ef^D&$-)YIUb(>w>Kb*#RDFJ{N0)-4}}NFW~mr zfrJ`4OV&h{&brx6nB6vVSU{`o zBIM%G?qjBcK(BGbU2C2ATm~tPXoAI%2-MIs3cz`kkcI=EfAN!_?GrA$D4?3MQilm-X{G2c3Hir@89*z|fO7 zb;GNMAf(RBXi4`ba0Wt*HN*bOj%bLO&QE%q$tb|n?2kwc4h_S%r{$Ykn&E$*Wv#A+ zANWI#-hP0un_g8La#S~3vUpC0N&fEFjRU+@eUWN$-HQ+u)E5-=N^*xi&pfAULH|H| z+vJU09s*RL>;JUo&+PL+PZ=1Rj6&v}ehX`VG)qpps#`W@J@2$yvg_RCf!j)YiRxVZ zac@RA1jb)9oPgCq-{YB0VnIl}e&mVfNOAUF!|k&+H8o#oB)q_tlO!#UPf4L2lKbNi zL9{UB6IrNxP8Fu{{MiCTA^eNA)*)<#Ad`@n*g}qJ%)zjq#@L_nUiaPtXCCJK?tZ+! zqbxyHkB@&HmcoXYGouZrpfz%e09O=d^q(Ov=>i=BwjWLd2Z{ex;3&jI24J^UnGvS^ zm1XOnM1^_>L&L$PUOe?__#^rI;KM7ebtx94eK13@X^HC(wq>BkS$~<~C`mgt84?(k zzL#>uTSI((i}r1#?fQ>*zG=@q?S`Ak4^NQp&&493-}-vWN}|#9=KTj|_!NNf^O7h% zA-_rLUT?-PH?~m1n^1q?p)^NKz7Gv-IH{>36`7~1b`TP-?!&9)+6zDO*w`M2DcI-dm z5d6Wt7HuD#xN+Sr4j1z*A4GNNpp3WD#BxY3m>J*-!EKi?Knu$1_fs5~dV4j|Bm72$ zf2#K$Q!Mss-zYg@Uiafozi<@_+WR`Dd3Oghi))!yp1B95cS~9{>eo2Pj3Itn!qWek zme`tR{i&1G+o}t|mN4`{Wu^1$6+?Ky0R!AzkE(U5LH5x%(+<@ZSM%Dy1HdsZ36wQO zW-(gzm_GjHm+VSSoEv!efo(`Uo_x`M|H-+Vqc0vF(t*EWtVF*aiA3$vK5JIOjdjHC z`Ay?Fl4Mc;k_#&6FD>o{unklOxb(Ut?(H|s-ZFDoSW%CZUj!#Me@FEG_lSX8T%~sg zrYI?Mdm&sI-OON{-O9d0hB22+M{BHH+o$Mo|4g&2kX?4d#Y~I^bhg_sZrblaN%YbD41Z*LG&-?hk0*;rrX)`^KIm*TJvuibv^ zz2wo&;6iKB!9QMjpj)o`X2l!5krseW5jC+*#O*>i#eR#_sLP5gZ-MFO<1!mzOOp{- zHBv~!YM#Bnz;wSi$Lq!TQ^V{85qRC4)!?3#s)fduefOTs(4smcJpYqCH($)0z5cr2 zCZZv^Sk=dKmq4_`eG!AZgsMcy8VAzL8twb_r^*kN68c5`|6Y%&!F^BYxTp*hH3&>+ z%?|(xsVs&+)ce&URZ=aM`s;e&9L_q=YuHyr!s&B51^k`GnSFoSV9~lw|7gQb*3o4A zp4Dj`u-3T$Ol@_oI>BmIR05n?*JqSX^#5Z>lqC!jYrd!t5WA-)n^m7o`4EXo&=zF`0Dd#at=D5S?3-y ztmigTHuzH(^Z2s)rSF_@yXH$D>>?vyC`9fMr<39}gH7Q^H)J<&y;zXws+9Ndfh@*t zp6Pif@bJ~IFRFc6WuaK>ipdfyGBmqc2AL&mDb)VLbgPbM)(iogdx7Jn^*C&bH1)F) z9bF_9uJg*;%Pw~Q+wW6`v|r7A@ql-~F2aDAdl&mXvd9xwayzeL&fM7ik&z}^g(?Ze zBx1LhrR_TRUvkxdQN6L2pUy&Rmvxvdp8g7H%Xgp*%i5oedlHw=jTpt=gKc=9ZG2vU z&%*MS(QH81&IT~Qzqc0{UoR^;l(%GLGN}6<9Oly3mjhz=VWV1-nOI@H z9{B*y)JLa+mey6)8Mmy~{;TotJS1O=4iA4>@{@*bmVS&)xCQZ$XJzu=hhCu^oSAs)Ycv7 zpWc!(1#SH+rsgj1G6G^Hr}9VI0$3DjN4B|LHdcP8$`gOtnz%nm-|Bwpu--)8=vTZ> zTu;5lYX{ozTc(nl0Bv(H5zgm?%kuagq&8vq zX0|MNyUk<&S;5GGH(;OL_%%(#KM!#|`XSv#azb*RfHCd!{b-<l|l z=p-2!C{v=wUptQ{EqQV0+htwD2rB%)@{43+P&j+`qQcv`0f=Mq8_*z<>3g8X@wH4v zbw?Tnn#l|Da@Uk*AO^kXbTy#Qe)1pdP+uAw#{)R5Dy+nCSLp%re;%pVAi%~Z+!tca z3bJ%VFbPb@{X1l~<RgGxNN&XLOB+zt#`Q$K!_N2}W4P6@DAgw#HZ=FkpXk$pAK z@mnIVQtL8M!u!C?3DY`)|2^s2jlQ8$rqZoUJ;IXMV7-fS#J}&z)LvzZSk=*R}9vi#HZZF<)M?bQ5w@n?w6f;^5 zd&)wQkqV+vJO?=*NV2iRpC>C1^@vj{Eh}Y{Dh(ds2!{W}=%!#2#frBS8qjfl`=0;} zg}QaRx5?mbggIXlv*4?=ziKLtIbdhT%ZztAesu4wxg*nZm+TOED68?kmEF2yIeBUi z9eD6nQ;&Glu&|KI7bkF_7wve~)R>B;JX%xdUSw8yUytfaY|W#$nB5i35%g$fUcgVQ z2A>Q^GC7Gk)p6>&M_Xs-lpaUVM4y6Hf1$^qR>*agddTOl-EotBeFE<16pyc7J=Asc z?uH58iZ5Y{>Axq$6#A(43=I7A^DG@TT_L@6sk&dZi2lll?6m?#(`(m)SS)G4nU9)vvr?O(Tr3BUU@rM&#%MBFQP)+RvyC596oq%17*2uIMx0A`;GV0X|) z^K*v=qLd{JHK!^f>)gf% z;hYE|c>J{${!f`^Z)L0Q>03f*f`J5dQgT0zxINPmLbAJI_KVg^yZyxE*wmP!nBPn8 z_w&juzXWMcQI3(}YyED22m5(0oY)f=yu?FcPj4)gn&(Fx>0CroXR>XqAR)wttysKN zRlX_^BzZ^T;ofFW_I}2AKKWtCDsHAxN5O1DoqC zqkLKe4mUGJX{X6ZgGhsduD#GibF>^_B6UztvAiO0`N1Twxc6H&YFK+UN+~c zV4}Wxd}Dc0A=?+zhKkYQzb-k2R`p$K6K-gUP`5X{l!BPC`IoSgpz4;PN0k`?=_!NK z2bwZ4`XSic6s`PZ(8nyz#X}yAT!#<3ZU(Yp-TZUKro*}-%aRMpC?+q19Tmmvld!KH zlo2K!lU9zoxqPX^x`WaZizeLNwQ;nDsCg;Mfk&^0wC>;e77f45Qw;J*oVd~4nbLm# z+|C=ilp6b68Wz0IC)ViWUGENTjwpC`-#C1=C9<(9p8U=@EQ?cDwdPWlShReRu0Jt& znF4ep*Rc3mqDjD+os#!9Uh2pCsa6OQ(QGH?~6rz5d=}tf>@A2y%h{`OefeEvR1c zw@~+G5||GJmVsFs^UYM-7A?>*f1i=9^WM2|=^pQkc{u+LKdLhRSL^5m`0(LIHRX2b z%Im+TKVDnfl1JS}wU+ST5}Zzwyp`n5$Ipg!pNY)!=R4T@5Er{$Ys$kZjT5_-BJ~v> z5v%*E>9McOE=^97`OmR&;ReFQnNP&}=fUD62kdv^9;+PYeym{jroFAjm$AW=?Y3wb z^%y4y&8D7eDepE@)`I=mZzHgOHf=bF3r~OEWu0yO^Bd2`d@SRuzIXauK7XqHS7+#a zwQ9ml4?P8d{U`7R?eV@&w4P3zeCcu^jwikSWw9%$2oImVO4OZ44BchxgEduKrE50F zf|JaTjzfM;`D5|@ZWmw&l&{`G`L}WUkrr($%@UXCanE^4$wZzJ-`lq@d%nytAW zvB7~r*xi4>J&_%X&M!Kb`<#$Ro}D}r@wQ;~35w)VTU8vQ?+nz_P=pDVi+F4KZVp)& zT3R_Q0C`2F=+?fkYqPBo5X&o#ZKS28mU+}u6ckCt;kxrjO-^>weYkgVSb@eXE(|BV0REf?1boC?gzTI8gS?T?oR<4NH%1Z&_XGS>Lsel;&wG=8mE4NYiAHTd6t~;VJ?r!2=mRcBzPeZB=&g)#0dGFvuVwbptDo9s7c1|Tw z{p_a~mHP1{Sy{HW&YQ|_ONp2l>V@&`1Y1Sc12(by^Hs&_2*>t{c`TWa#O(wz{>6lM zq5@pFgX+9IzPX9>7@<5)Se32ILa`@3a2}Y*&c+i3fMG@}*%oeSbyC?3970)rHkJuZ zxX=5YX3`Qb_`Fe447rPy?|#5>;3OiWa9s6%-e`{aSh=~}d4IA+?B-@(HKu!3l zl{`ktN+0IUkG3CAQt}&rgltsul`Es|v}Z3>d)kbbos$~#{PjL69t1V7@`LuKOL-+u zTL3=!ldXS8uz7Pabn@5kCWv8h|4tD8%a6*Pe4%U$Q?H&P*IXVxzO=%$FCBcimtb7; zd*Z?5+I-;Ncxm2#^ZphI#T^L&NAFEBmnjOlPBOp!@4=r!Qw&C6{fC#1t*Ni>*X-uC z2;?~>DmmYq%=uRDnu6ulpH>SR`-Un*pMi(eA^4XV4dNJ)-5w_q!=| zOc5=#f`8`n^A4|?o3##X+VVqa$cN0O!b(Tmv2$6zuhZ|tl9-u0B%XrlikLXPV$% zr;=z2%((`EDwh+Oy8LYrKtJ-9m^B;E8|U9m+B@5~nQxG!^RuN(rU*P4r7F36P_O94 z{;#kZn&}d~dI6x*)O7v`_9U2^*u5N!shv1OI!Ai#h6)I;R%eCqcQ(ZJu~y_or`(;Z4|qv`eYlCJ`2t_ zx5w*GVsRf!CU2{b_EygD+g+CGZy{F?(-bebV!!rt0x)FTLbd}yd+l{fCz1kdHe7ql z{G?w|?kfdGm~!OZrvT{EXL(IYm%EA~6zVQriGHF*&i-NVK0=xS2fgfhtWJ@;Tdm}0 z74*P3-Bwfr^~O05F5vk#!o*s$Z!mk{2@|FJE%`osK9GZ->VYS+PmT^*^WtN`X}%N4 z@I%&?q4~Ud4_%v^r;-I1M7n6)=`PVxDm!QU zwD0!D)qxIDZv`mY$kXA3p*cdXA4s%`iQwb4I*o$u)IF#_Q4_tKqk9t)=w25Uiuq|I z%gI}MS1ovEu=GaPdOmE&OWwU0*^jS&hyNVqI(Y_O2;uiTnV)1PUuES0{f4&*+Ow2l zJ4ZMjFAGE~#_~bctc?)Mhh3t>Q?KM|u}7Y~vsC=stKRP7@?*V+pDT7J{_XvKSlB2a z`B)qc6QJlvrXL*IHG^yc(L5EI1wB4&55dsw@;}`bKEm9~=e&<~N3E}ggDs(tlI2M^ zmDXm69!t8u^=FUC0=CAz~8zIEDuSNbJjx++$r-{SCoL37}X?h=!BMan&}8L+AOQUwY0Jma-&2 zUYMx?2RAwn$GUdQXwV8iC)Ll^bRuTHoV+0HvlsJeGmg?M)oU{Osrzcx+zS~>2=v0i z2e0mt9IC>{4F^RX&-PZzIM4}IK|WVdHrR9M&r)C8p<*A54vT_Zv~{t`01HQzQJvn zc13gDb_2%uBjpP(Ouz7JCs$F&%($^}WGk=b#G2!Nx&H7E!Aj6Zb5r#Fq~^YiZ1;BR z49>H3Jh4JJ>>}-66j^0zR^-aW*-HsV?)`X&u7eeF|M`LQ{;($#6;*YF@zSVn@~Fbu zF>*oXdU{H;?lrPM6kk0UcDgnxr4T+DY4105G#C5~^`E>Rd>nei^H*M~qay8Gtbp_0 zQ$Cunlmma~w0=Au6H3Mry9Marf9ko0w;wC+`K>&AXZcXO7|L|k?d?*}B=dW2-}Ld% ze88-okY}L30e@hGJ`NR<_tz&XqZnm;Gnp_;y@AP6-e<3UWKg_+OJj3g_fVku>QqCZ zxN#(j-7(DFrp0uAT6NQqAohL1TXtE;8r>4`-EeyPdPQ>RoQt&d$59*L=NnxhOFE29 z?FYOu-(vG8a!3G6l=Gi1K{;m@c5vCZx)zBSpYj$|^`jYNpe6ciGhFVH zio1P-Q2DA&Pd1Kf7O$bID`+d!&+}}A8snxx*~;X3{q`K+YV0{L8y+CUP z%(-N&(Dos!!e@((8MaZm%GvRziZ^lOc?D7MB6-vnL{83eiINf^B^~ zLA3i-8@n(UH+On&?)#7Yb%wm_%IS$88j+W4X{2ys zd`vOJ8$t=(qs66>s!)l*Wnn(sts>){1|F^TA~pLi^O28Erte*NXUp1c1qj>kq>YT4 zvBqVOP>ZA&7SBZs_}h_-5I-Q4pcgoxG-=i&&wS? zyr_F4Yoc4h6x>S+)fO6vD0xRP>%$y-QZ-zO<1n95p?~J2i8LbzV+7U5ruQwg>w9Aw z-}Z=8nr)))mBg2JY_MO!Sx=3Jetr88KWylV(iwJb*TM*u(T?~s4fBT7$H%c5*6Ovn z#_=uSDpB*z9DBX>#QOgGub+#!Z#+5M`DkY~(WfLk@_fXn7gI7CxdjC|DGtnC;PN=v zcDx_0nW-um{5C=IA%206@eTkSH`XL_veCp7_^|IYxnHM00*Q9QxYyK%Fr;Vd z0dV-$Y{tFSZ@bsx)ymS3;y6l^d>1B0;^6jadc!ahrwVK93I-?R=^l*~@Qjxk+PJJ` z10Hi{v3uMq00|uFcZ;_wP}DI+9W|VmQBe_86|Car^24S7|H0Gw_uSykY~Iu7Sbgyy zi?nBTi1z_L{Tj2qeS5s1<+&gL$U=edSl8Kq7!2{bS_keK`lS3SJ{kjaR9j`DprTG(4}5`W=@YAT`RG0LB?o$msaF;kHM zj0+>N%n!B$;@E*=gY^~Y_$AWQU*0W$_1uD~^cpjTJv(B~{xU{i9_o?&KP;NU+4sO+ z+nOMTr5v`^{VONqSCfp+ytmI1z|2gcAF@`agZ-Z?nL%x_gooGW@oX7HkyExV1iohp zm;4cq@lK8!ZKuk1@Ok?w(ChRzhGqcSadNJu)aGlar+$;_ZLg z0!g0-QUmL73@Ri$M8ww99nHlJT|DKz8;!aO!$HJ>Fy@Qt0wC;_$Oz#vpMW`1BH;ONV)z`&bpa^RRQs{QaVw(V zu^oCKfB}6In&m#hP`kR9^pWS=xDEw6_75V<5>oEG=k_UUWWNhhR~P%o`TS^mNDXHrWt5E~JP5Qhse|4;=MjIjDnYVJme7^q zBqls3!y&S2OEd+5$wSgOf2_&zs8%W@eRZm@KJ}%jQ@r@L>@moUA4o_tzySeC9j`$8 z0MlBCn}KF?VD;sR<#i8OaC)Z_zkaE4fE3EzqcgY@6lCcE;+Vxw0!x*iyR_sLvYsNl zQ1XfA#JBdTau5E{`KpNtoMWkur@{kjfYSpgM43~=4aox%Hv8q#^`Spo-T;sI<+b#b zvl%wg+F(~{%=>T7P!#|{wOlvTcWvT_*rYJ!PDL-QiV=&0VMR6;_l^gZJe44-^Br&- zUXEE=x>*MR7^2%=&7cYfoW7DEbfsrY#IDC7pn|!D5SMahBJdE}wbKes zOssZl4PLphY9+yI6(CCP`&934QfB(j?{0kbD9-6*~ zanHTUO#ofg3t4BBBRk21;hjJp4CLO80FA}P&uo)3jSYc4(rxzd`3olc0%xc&0i&%xrn(WVU6i>Ip;R#Zc}mK06I#( zKUn&eisd1R*+q-yR#vKk+9!&`vZi09*0pb-YQlXMF(C}DQ+Av|5_3?9s<)02rh0Ptic6N~~Dld{QqNU0nP5uZ1J(Uj25_MwI*L{zo3!Yq%vypc4sF{^;CY<%XJi{rVQ_po=1Q<4(&#OVNBA zCSf=c%{RTY>+VM@1!g(VJFL%WHqy;b%~8N@~+gk`9Em zTwad3Tx3%-6w7b+tE2(9zgHP`FjTslYTQg_5In$A-3xuo+$!-@JYj>fvFDV5zzXQe z;Na)H-b`LaO%}yEAQ0)xSOkJ}G6IpaHcHpUAoZ1sMzeDztA}{ULA)U2>hz@N%a@1T zE%OE>N2KJK@sO%t5$IP~kzx_NpX-6^4RQVy(z$*aZ-#f3avHm_0|oPKu|=*M(~EGX z@t9H_17YXKyC#1Aj3fuqzit@h=ZBjA!K~)m(U3F=UMefJ1)q~+Uo}Vkaen~IVk>_; z7}E>O`}6L~z$dL*?aWjQ^1)S?>g98=ucRjk?SaW_2I9&-%VC4qmh>|XC6MZgNAIt zcw^b8_94juTdx1*L!a0DuWN(xR3ZIHQ-+u03Sbx&O%gKn%7+`ll)P^Wpy}L#@%4hQ z({88-U&%IhezKj+!jxN>pN@-f1NG}R()3Y^z3^91Zn$84(~%gSA?(9G3$EW1~G}o*-)BO80dSg-WL-wyQt(xlmXbr zNh#`tRiEvlCj+%~i}ix;mAI*8Ihk(Wq}p-Inhz+@FD#F9Iu081MZ(RXWG}JW3u>PJ zKJ3Hgc+4!Rdyz$REWPtA&<~hf;GABUc6G|4>8+}Y@Ma48z|fGsj_9?;y7Bf3o5R{q zg#{UPvhrFCpL6Z}3ZAregE0pKKq~?+9;VIpKwj>l$5-di6gz4%T}v~RbspGXYfHq> znE!vQWiI5!5%hZmWV2lQ*}#FU`qf&0VXn=?oV+psrRPNwvbM4b{}-T+sXKcO|33ig zfC>n49VnSx17kZFA>aNf6*I-edOzL)As3Tt3g;F}`jYy?titI#TB$3_B)KHi%A-W`Cfsqv2>;QK;upKW^v^1B?sx%3Zb+t-qlN~TISzCT^`ih{QW zvmh2uSfNdV8t@GezNm^fd=u`T7CrzjxY0Tu_C&dBbDj0l?H`G9M;_|TiEgIiw@^EJ zsG={E&HW|9ac_u1!B*Q|TYH-+^9P~N?@@GCq;6bELCyN@&aKCpFC?dbNpkn~cFQ2H zcZ`!1RKH%NoPT*yd)gux&4#Hp_Q@*zS`;RgayB)KeHN{6vTDD-dz%K7P9mH8Y~CIE zC;1FfspxmyXpirm*>3K8<;x5yet5&f$J^}T-G{ci#0yBs>_cstoy&KU$6FU{e{(|f z_-%J_*9_$Wox+Y30J#n|kI@T$4W>$gpd@C)|HIdJz*E`3|C5ywLLpgCGBOh(duflzt``q{Eb6xN2 z{eEB9Jw$+y-}xOgd=2mK0tK1iADK)$)4M$sK^q?YaP#Z7WS-y#)Zzf&NuqA$uDhbLj@4`aQ3qbvoS(7$xO!7_FnZN!PL5o95asO~F{)p+ zyVmuc%aw~h(@z=C$Tzcx<`vpfMb) zxO(?o1?y`nMWwb=lpEjN_fKdcgu0ewPV4()Yh^u<>-$6ix0hLCt zoYmcGj3*O>$a1zNdG}$7VZB;;^{|bp-n}0Jv-y*9)mh$ExXn_p*k;fT zcU?;*aFD~%_YV@=A(*_m(zIR(zOLKAa8!4$7u@vMC-Bn9Rt8wmNc_#_NG{i|w$_1R z*=X)^Ntj4wGvT|2*+%a1rdWPhr~k?m?Bw(g%_$lV{QQOhWRl=TSg*!Caf-6DBQ%sn zH(7jx<1PJDE+JV!eh`_a?X^iavhc+U_DxT0zGw_VZMwihw-Mh{;v$?2YP2kizGbjPc_T=aOAw((nw(&3nCB^#W91eGnmpB)8r zwBv8Ph{cnx3|q99!EN7Wyk%%}3&~A6f!dqCKk3CEpdi}2ZMor0eO8r%`_ox^SvdaL zBGz1Am`8YDQ|X?#s^mIuA6>5Y9shUldds}}E%7fxsE4N^qJq-FNj_D!16kikD$EIs z9zqW+x@f9ZpmT<}+zLUAd;gDogZ$Wlsprb$X6YV7>b(Mrvg{A=D1R25|@D(Vbb_ z*#^dU8&tZ3qEh*ST$wkpYzT4Wr61?uE3l~jtAR@|imt8A8_}uhYT4V{3smJ@hC6JT z#vny4plll0H4$msJy(+`t%2fNen`M_vTcWXbz}U2zNdX4^_&ZcItmI&I+p*`2h8h& z4UcxSs_dVOK~XN3NrNayR4Si5j+NS`njzx#`ln{&>7>N=-&se$ZBp{{H;WSNL&CPHYPcO{+yI-&GK2?U=RbP*2 zmiI)2{94?1+Z>$x3-6(Z99VdkN@GOI*0K4T^l5YhzFhE5$*)&@qdQ|jVdelZ^FeK| zC*s}T5(w!0RO{=58jdP(97fK(NC8;Mg*p=k*CUem7pkVV)jBYX%4n(JTd@_Kmjx2& zflei$LevAMn(5oqkX@R%nfj0E`od9$6JuM-)qqVRYCUGj-2M%t7b6u&G+9$v_=Hx# zJMv|@LRs!B8OX3roPmT*gg5Ktd+?KOgM&zepLt&c*{*F=GnX>`OO2h&ZfHn(#n&zk z=QHbyA&0AvMMHVCdsbq!SNFE9d6oJ@2Au5|Nobq9{S3t%5mk&ntDgxGS?12GzvY;0 zQqH^p9SK+?L{H7a(V170;Wr!NjGK-zW{xsJ*jS7LH33n4Tq@KaB+JPx`#IpK%g_D4cdUaK(8HL#F)N+ zT8&yXk3PI#S>gL^TYy5|$?u(z=b+t-+PNkOKt^(%k$LOJvGMWu0Bsp4ITW>zw_g4u zGDN(fY1#!E*EuKF@kNjeVD9L#czl9gi@1y0Shhh7 zKGu({4-Mf|ThY@lT8#ux9-yi<#yGavnPS_lSc zin}|IE_S$?ZEw7tzYN$+FwmxONqRx^*&0KaZLJvf-e@%?KDoBKg0@JRk|iUjUz3o;V z9fA1HjQ=x_nt-~WW;Qj;590WXzsOX7`ufzvc0KjQbj`a!D88GW@&1TfwBnJ4>7R!y z81a^A9rykDgxYD}T^E45x!$L$g?rPmxXbz)b4_dj)7+(aQ-bW>Se!uCMnJj~PK-7( zZ+>-bG}2gFRJ+G~!A#6~V$jT{cK`kks62dfgL8vvV;=L8&*Q=Y^Mb%}r@k>%Z)L7~ zZSuj!ChhPreo$}~)B_`2H601loh%We$ZEm7xTZ$kKWXO&VmyJY9|d*(l^(v>sQ_uo z&w_RV4&d)iz8+}p?(+D5=vh}|BNksyNv7iwQriE>6_2k8qfP}*fcZbw6@Y(wQank& zzY6t`QUzkLzUzqSdgZs`I!@HOcidchr&yo4#{|r0ccE*`!1qybh;p8_B}Y=oTzQkP z=`S4G?)X3swLSUL#}w^>M@)G$p|ajRS9H5iXoD1 z8cuuCsA}85o%4)32nKvE09{~O{SE|7hLiw`rq7LhzLxnPT(TTMNh?sBMKvPK`5U<4 zY0RJoJNT3O1BXrO9_c{Zbrl(O2hOPJ!7sOcf7nfJfrsnU^;IYjSF^SM0Rc*bTml8F zO3YEp~Q&fnx9l{mP*lR&m>}u9^yo`)~omo^I5< zFMW_4xh0q~_yuw>HzXu-=KTTO-BC&X5nyH5USM|LxQZEurR>b23wT>F6@bV|hg9&! z!#A<~7iPGvhz<5bFTJmqi`J=Y-3qf@{Pgq|zw0GH$T?MNL`Uq0hxeuO@iH# zkyBd=paH3lH2~l=sjQmPN&*0BLL)7#gq^5JGI*;{#W_G*_@-92bc)2QcWIUmwe9+LmcbWGy&`qoerRPF8%3~A#s<^LD*zEU`}1BpTkgo zAinZPGaX3>z~SMsv7zzt@tr!L&OO~K+oM=cL{@?`RGTN+iQk%bB02rzB~HPnum*{t zSGv)Sxe-qbg19bU%3O4tVl89hAh-Z|lM#vc1anGDC6n*JEPXq&c(gm0&Z8+{+?QfK zQ3oqJas{-`EP!VL;8c%?+f$iE@B!UDGBI@(_8{%urLN@eyzVAG&CJl`uZ6c9GZw(7 zU@DWw4h@&gf2&k{r7_eDR~NKC2T3ACgr?OeXtE@=hY41Df2F+L`4PlXuo^@;aV44= z-Ps8~j~rGwnZraHXP`bp_@&92zRGqrEHNeVqlfKmpd(`Pt@f z)OsRFWr|*IwagAC$(?@uC%CqUA&zQTy~=@-eDsR(sDY`D??CUcN<+9c*ROYk_EIj= z<*aW3U-3CN|9B#3RmjKT>e$@#4i#-d3(Y%Ab05%9wbeM@C+dVET6|{5Ff~mKVx6zy zE#Kpy2Y+@Ss?P{F`TE{AwV3-IO8ceBi+n_SfojS5XLcd~C-B>-7#)jFIe^ z!1Ez8PaET%C4U=6iTL{ZnT}!S^smKG3G`A2y|9hE4$z(8*u$XR8}YU0HNl5kbn&jR zi3R^$mr?uU=##V|J;izQ{->aR&(F41ynbI<_D$_L2W-wQ zL~BYXUlE`2(ezZ!UU%#Z6{f#A^pbZb+SA?q(rl37$Io~hBJ9)agOg+|_M=hC8K|9f zi|Kn*a@B-_`gg-}Y(c{rAFgFT#N=gjCH;YpyPda391Bv&vv_Yg+BL$=!LV-~Yje1A z3Pz_(WBT_<-T|x61c=+R!(+{>!7Oan9 z$9vYGqkW~sNncfXUNHPBz*94lUnhu!yrG3)I%wV+>988$kn+o1z>C9@7tGDY(1sOm`Ac@o`-bsU$zj%76%xY=7nTii!vf zSFs<_)*8SRex^GRarJ#7oUMEtWbfaCH&sPFM;0Pz^qZ5|dFP1M!*@|BluwkjQQYUua?X3=#DXs#c9ymrb@7MDj3stL zU5AANjy{Ab7amRm>X0^%!``B4FpBxt z>kho^52vy|4}axD^qZt~FtF)-263-5N2u3$ULd|mdm|EKArzj4cV=B2hlIXpOxiWkD+ymO;_Bcynh2wEu3-PU${SX3lxt6?JR{||vORzAe7 zy)nrA;OY$675ke)F5Ik>fxr@HzaDbetZVov8~oM}1k|I5!&P-d>>maCjofQO$6ehF zhKE8SSKw5Fal^iq`BN46IomKO10WnWmWW)|l2_k_O~odmQm@2VAh|QxmTwj? zShP+mU~d36+2zbm41gT<9%`6k@(V6%{mBR*PY6S>4O?bx1zSOF;U<8-323U{XX5b( zTNGa&eEdk5-Q_cT|NptsZi`Uj9i$tc-2 zqGYKf3ud4U8zkolkYoKh%~vjXmJ){Tx0HT0|HApIbxC*%Rs1%z`3f?YUyOMnt+r7! zV=0X+C;Sf$dV2TQ_x=|vu*{PG$Mqo0yLXX7%sbU1u#e}U1vq@XA_O2-xCI1$UvyDz zEmN{FuIvKVzHP1xhYE9*Zfj(~Bh3T#_Vt_%!m`%=@Y^qkhLX1C)l_z?M~)cIP@INF z2j$0+THwkOs%NlP^&V6+S6QDmuK`Fb#^n?1$4(Or_mUbVESC#$Zdp-!@R9HlK3MUx z9CfS$k=#^EeJAStLKBX+%uTq=cjX-AfsgbOyi(`_zMMDYQQ8A)(%7xK{+tkXD~sXj z>1T_@=DI_TFlKq#0|$dLs;MwexF*Rq(!S`QP136M-{uM|aoIa=I)glJKY`zm)yXp} z>i;5*uljVQsH!5ezy10ohwX!CPKjnvUrOg2FG23whP3g%9(YP32gk|phSht!_Uh`S z{y|M5xw=kNu2$^obKtrZF3naoFXl`ZY{LoVKZMZm6y4J5(D0j@IZaVf(dUur>GjiB z2xVmz>5k>;*4*`QP-DA*w)woB-9W7WTEHdU%UYyxO~&pV+SX?P+)lox+IEGOHvD>o4Dwa3==u!V zqG8$*tby&+vXr%hS);iCZr7kvhr?PX*x~$Ke49#vM&5lw2(pBGk7_U)#mwG(!B+hO zj!-wiTmr1JBUTtJYSpc7X8Sg$^Ne(~$4O?gPE40{9wf;ngO!Gc8dzkxxo~zec*{9o z>ZN^$mnydoNrbntvEdYMuIzB&p8opDKFz4cvyBl6AH)ig$VyrjS37ixzFO_8qvx#{ zj=V;kMlsmQU`J0os36KNTJ3y>-ExCAjOr2cg4rpG8RT0PK*2 zg_)IJpJ4Od5B1tF9QGrM|HKSl6Vdm%b&oROt9x9z+jAm8BOi7UvrMX9lX#*`SeS?? zSDs}`x98l4?k4F}U=Oz6u|sVzO98Cs7bc^IH?>Y306Q(>+`@1-i^8xaspxgc-EU`}S>d+8JumlR)LLnmU)&&>#hmu~nv1e}!ioOYdm1uO_h@ zYUOi~bcf;6lD0$ND(C*e*w<6mVn;X4SW)JtR}10=`dC9o!uCeIlrI}S#LFf(kPqA6 zHth&)lsf7CE`=Jx-6rDDlK%Y|FrP%)PP_jk8e&ACy2UYtRy{st@7de-Z(T9#Dooru zEa$xfpX2h>VcK}Yj9zB}U-El4&MJQH=aJMjY_dm|rPS3u0DLd`g;F=iy*|vGq}X!Jj4{ixx_{2?8%>l)xtU zNL*K>)2y-KCVl(q)=4}4uK7xA^9Okg;Z;9~*=+ikDs%QQj=b@WCX|z`PH5yjv2gi@T01vpwS=Z;^l&`4vv@p6IWjV` zzm^qo*LA}x(F&7i(VS%sqCCoSXg+*|3(v-SP=O@8?!(b*H*egqHj$R)2Q^}>c2164 z(V1rauDoMq#S(4S@ZOx`Dfh$vL>|SFy}2=$*+{q|g-mrQ#^-$BfVP;o%#Rz^`bEoMuueL!?*h`hfjscKP-6s%7@tTrg zuKSGWS&5wum(^b^_vHb*PWY$BPrgNrhzTrdr)o<$&`6?JP7Z`x0>y5>#D3U8hlSjek$s((HQaZ2(9z{WR+X+&1gPK zS*9BZTgxn6d4+}9z-o2(jL0@jYF*9k?KIF5{M?u*u%3_c$eP)5KCj8GxPSmv16ba7 zh2~3&i&fnZm3LKT>oRk*Qn{>KXTme)&Ulh2x0b93nJPV|wWr>9va{?#g4R)>;uUsZ zDM9Cd{AN)cu2^JzKVQbfdajhuMxtGzyRHlYI_X|+fDvIv<*ZQ%rdwodOLr|6XpxTeR+N?nvK8=y z+HTy7?l}H#gUQ!EJpMRpWX3c>&ig(UVgm{GxCXR+#95I7W`DQiZ6Pj5oDRtu9D%oTo+zg z(zU+#rCten>4EQrx?msP9Um=$rP`=2QkBLS4dMEG4EOllsIr>L8sVACP08SyqBle3 z0pWTnh!T;tj5Y<&&L^gyCF6&1bj((P{X@sS+(GIhXG z&Zg%d9<0mKdCOORb(wQBe9drflkKwb0+@4)syz23OY}SgN7Y5u1aK+ZS0%rM5-?Yv zpO(_b!_0i&%a?!8vWj2!dsahL(^-5*+!-j{T*%cs8G__$4~qRuRhzsO8ymPPptPF^ zIC77O>%XsgQIDTTZSN)IW^)?`4qZ;PNb8d3X!Mq&TMk?Y^u*=ETlg$qC-_Y$R$9fSG`2QBwn$a>(9Jb>%Z8 zupye=g$_rFvSq|mCC!<;`(NC0wKld~)bFdeBkC}ePF4%MWcg=8uVjAbWpvHK)KKC$ zm1W_ds*>53In_pB)~4z}85lp_=$NfiBHh34eQ6d1WVaS1kMRg*bvQ5b-4qNA43G!> zr>8VMTU*Ij=(pG`9DR>d^k7(8t*n6=NnyLR(EWA4^Pa%s`rV=0y?(Mj#PplDP4~lw za(m~SH-j0YsDe7__w#@03naO*r#HCa-=^h!?)iUZUp~B`msC!l7r^jX(R|hb=H#6f zr}OhT{!zP{mR?^$%X8fq_fX)5M9`vYQ;atj<5`TvuNdZgV{%KDpWH~rapBVd-SXJp zQ7|2zC{*zE%=hOa4SoS2!R)K^B@qsbMzkqDdJ?xfAkh*Xmx5lC#b3ESaJf=+{cu>t zpOCO3kR882Eo~B7yo!IpTLl7H*K;K?H{k(Hgl*DTY*ycWV|d5|_z92?eZC!5-T!FX zd}78as=dDl-!Wat2nywUCu7Pb{GH)0bgqQ9abF6uii z5AjL7n!_^W*?cdMBoT;f&(iOH5QO?BdA?Lu#IG=u$*aph77E?)^n16KnU%?fT|D3N z+p-1*%mA>AU7u_QBCkdGOYP?V^;gHRqM|HwE5A)U$UCc|NaP~(^oVefm34^3Viifv zYfHa&&~#5vlCH*_-VgpU(2tmaCrL>fh1MT|p?@cx1Ld`=?+?FJ26oinyOs}v!=_f zT_-SFsuh8M0{TXKc#_kl%{Ac7zdPCvcw4*N+=W%253b0GtZ^!%Gcb48+oVx{V1cd4?ueL}T zl?edG3d3B>#U?Lu^~`esyT``H0@A}h09*7VxxU=t8LX$FhV6F9$vk3&h_tb)9n_!4 znC&=^p_x;xREP9uwkhDZa%xu|57>c15i@66bj@@_u@5@p~P zDK@pN+nqDpzocXTCV2(Uy zpEVZq?Y>Bm=0IMfJ6>0|vQpn+hv5O)kwdR)Nx+>z9WEnBw?QJ;;Z5y#q{|RMjK=dt z?W6+Z$Nzqxe0obNc_0<6>m{mN!7k5yi{sKZ*PLNPN`xWdS;#c;C9!#u$;m0_v(X-~ z2Q!k?qiLPp(A=WNkdc#*?1YIS&s5Z07;P(<2;T#<-F6F&pnCR2od#!(5ikdTfA8pL zIZpAwY%-ZTM-{c>dS#%l!6<93c2@ZrxZwj2}uvj@*G;3zP0-e$SS5N ze8)Ui5>#S2#RtFoxwlTYdB!fJrSN;Gu49faK@+B){;y&lGdacaaeM{ zcWeT)54QczyZ{SIV!{ z&{M3m`SRtko3^gVIcWekTs>qhlT zi1cut@pucO2}H@wbDsBiyYc`~Q&t4Rf|o4`U(5jQ{P}nJ9aImOU*k?D^*c(dXO5LV zr#CoU%?7vCn^Tf_%HWRtFBbv{o3 z*#cZ_f|oNXv6kDuV`dqm>Vf+D*$%Sw~*4t>j&=J@~aM@I?8_?T={DVmAJ{QiJFMM zkR&-=Z#xRAeRT(M0Jw&UneyGawiuON%u$|iH{2~BnKsX5$d$ArHjh&v572mkco-1B zEI$!+(`We6ahLSjP0p@}2_eZm{nk<=c{dA@(ukxh+Kq(Pd_62iUaS)B%^)&VL zGsz10Ts_A2gjqCF40rNZs8l$H@{VcAv5L)P|IgXS);fql&=BMg&ynZ0;cSmj1|dcP z$8-%v^%n^E6VHdMojqTf`babakDe(P!`Y03V-_UC!%mbE^38?%JQg{&$evg9Gj@ zqi5j#me3U8`?_6%#?Et(a)%B=h&B34Q(#O}@62y(zO`bWUXP(%xTDqlAoRd-h=IN^ z*QAZrs`vb64f6u^0e-)#qG4SisCX^N8^P`nJ+s}(>LHGzuzS}H=Msh;h-!7vR~Ys^T< z{N>;(_cIuruO0Ld6W*=(Ad<6q&E2oLyn*aE)rT_21m8xd1Npc)yNPuC$Xkn^xmynB zCH_$<%AU{oC3!`WQCs_6R+FBk_l4*=dYwwNcmS@MoM)yiC~oEYWR-ToTvOVM1BYW2 zgg#1*H(zX}+|hgWJd(r;QQUI`EBsJ1ETWDNrPH3Y+c9q^1&{QDu<>Qgsp+nbUEu|jQTi03$}oLrp_@vP-VE>QgfRF zd)+Q?5%|};$J3CU3{=%I$A1>moHPBAerq6?$`=JQ>;Hkjw7NPpJ)Pnm{LjM4Pkw7{ zeJkhI)pp{)`s9|Fak<0)7BA=fNV(?^1)00^U`d) zr92+4(oTHC<=@>*3emu z4~kqXr?*ITBs&D7cvmpT+O>iIWI`or6^1e}MlvQY?(;KFrAnJl=|v3f=@_!kBT3zp zMXayTJc;pclP}Lsv)F2?_v0OQ;AX&t=4zKYn_Oy};V>;QZbT1JK39*xXxqb5_3XL~ zqN=V3h=_`Qcb{v@*1h2r(F6hVW2hJW&@aO@05sFcsx4dO}ja^p6{O< zys;3~*-OWXToPz5@jEi|1kwuk7L@Lg_6m$?j{t%2w3%&?aM$@KYYw+oR#$#b2S{Z! z@R3Oe4N&UYtTxWOuYiY1t*8W?4Q`l~^!N9V+1Biu_4iL5)gCJ`k#8;5ZlPP52I&bW z_81JNZ7_uH{xxU<#sk2~0MR2+X=>LC)9A(saSVm=?oUFzO)(p`#HVKA*Ene?ZVItE zOTtf%pGloi8$wL45s<_PWxT=bd=r&qrYvE6;$Uc0`8NI`wro&?avXBv24#M(@iW~p zug_ricI#8+_XaqxsvJl&wxX&k>RDs8pa=ywS}&_=JL0&SYV>Hn3Xb z)hk8e*f%P^(xTmQ`?>T5h#~S3U`-mk`eG<^56YQKaSqs{hoZo5?GDv|BW0D8c4pk( zzOv#mebQ#+%;+Dq))qE1&};+=M#8z;bQUv|@3jLuv@~y~nMo2^1crFESdJfwr%N6*GCuoU@lDIABj^M7#$5cD zBT##ss5{-OFL?_9ShjMfA{Ax1uyT^b|i=r?u;{N)V?ob zlVP>^)sXd|gBFz-m-eiR^=kjuzM_cAXp$h;PI_PUJFChWOws zFpGZ*mRDU`A-Yn!Vc}zUfKS2C+#V?4okG0f`G;5GUXu&;wb=56=I_B13M{>=#WKlM z%m+kZ%o?9+-I85gmDb&Qr<)e~4u36nQ_Y)>$tbsWiyg4yUbdmTJMJF&b>u_-^0gc7 zU`D>rs@(`e9@SIH^f0DNeBN&j-2Xzp^56;}1p@S=Gj5swu>9wt$2=8u|3|3siUIcV zjuF0^k2wQtT^*T6SaJkodj$zo2G+4j1c7(wDe!9Nl~Qp=l`3YJKSbz`&m_<9A|IIx zS{jc~37Q{kzMS@1VpGMMNFUlugjvmD2-NiNhom7ff@#v(ksVW z^NwqS-uZCJ#AmB&%!&2MMp+f?9{3k;^}QnDu7$oDlg$*~+ORq23hO@(xJonSiGJ#r zhg){P=YU;6Ov(MlYLOEO-)tU9|M{!9QIcKjd8C?2ro*=mE88&e!d4MGByxS8iVew1 zt#(L~C<7+I+TO{o@F6tAun&}k4jyP6=SxNCK`=KUs1^m!ZD2|bmgx}S)WkPQp!+>D zt9N-Y&dELqCVh|X8-1vSqMIObjKh@(XB340_289={l-P&N6l|+y;72ki(U^>8Ls9C za@Al0YWco_L(|6~F}vsmHK{%S2#tf>sgsQl-p&K|hAWA+Ls=1@^?Mp_)7F^x<@gAB zo34(E7VxexP zRILy&GwaNeI#@j9LBk?Ed>(hm1I$4_xuOgdUGOj*2USiKwxiG#NbB1tNVC8yPkBDk z^CG05K}bQom%X0!q_-|AXD$b{F^M1T%sJUx2T6I^GxB+@KA3+mn@njvvz5$R8I>OGZkY@`fAehX%|nW2kSFe!(j z#c7vqdj{Wa=Z2HydU5v`(xB!YVy#q!-mDLjZ&V*bptcl_`{sRz?~98E4*?nNmb5Wp zYqzqv$3~IVLD!}fV)x4QVYCHLikI}gKwR7e4t%$o3%ZI7=~$8p9(J{b-Ah~A-?TGc zU#dmVWvzZj@9^#L{O+u+I`r!8#%1Y6rUzxxcAnDvj=(w;r>{z=ut`mRP- zlJz#N6jlGK#98?u4x5*qf#GrpuGuaE_b~raI<*-$${JCk_!CD~0TR}Miqla=p@KU-+WeR|A%ikygzq>+!p6JTs}yar0X2#&8eh5ZJI zWUZwmjk^%>2m4g?gQaDQ^0Iydu?j-STd>d-&(Ve}Q)sB;%u_8+1&7h4yEp5sF140; zrM(QpBc)80@*iNG{;}t0G0|BM0l?7k%Zil-en||PO9w+OW`LsRt^QH)B5GiLh=zov zWj`>KUE(c6XWbhlqueF3Dol1kDIRyq&qN%tk=LL5_oc)_BOqXn9jmC>dps);Gd_8} zg?^k*q$b>7V#f2+uN`&&T* z?%-)0*6J>dS{i?9CAx%8IXxLVh=7*IybtB(&n{(a3lQbid6_O+b@vU0DKZxnPZaV> z6xb0V6D^CU&_kJ9%8w^Hst2{O-D7lc;}9Yq*fGZ3lC5-`gN$tAd38VlvW-vonsjR_ zWbR6jAdXB8`{n^{*_>5l@6~kT4eeqM)Yy~bJ0F*BXcgtG`9+Q)#Pa3Vk;I!#*JBQC|oB(f8m$%pt{5b z%=<84dTtl~mKfsxjc^o42P+<(Z0GOA+CS}wRwq03wWc~qEbz(K>7P7zooL=~izj1L z$2*dYwYC%Y8*37Z!`$I?Sol!#8Qp#JD{~nzan_4RA;tSf;7#dNYgK)y3KvUzN3l=n zOGz)Wr*fAJ>)uD3OFfxbEtwx4r1_fSB*g@Fc)(hJtaD@W5XlU^Cgu~9qs`jcY}g#I zSW+Luvw{Rr_KYmg>a3HP#cjy1iq1gC1MTbg)&ulvEjeyF9wR6qJFjK-?5RFK5V|pz z>M;F+Sjv@A!Pi_Sh`@c1+^FSh3UdD;3$ACtXNR6w5&#p>{MPhUz4r^UB`_${_-Iv)~F_ zZ);em`b*!#m~L=$|K7P80RZ)70oxol5TqU^Nkl{>iB9njX<*Bco~fl`Hi1ZWvIelX zD1=Ki-rCvaT)`Z4+>}_(o?e#Lk|_*TV!hcKFVOrK{5iZ|w{7c|n(0X8H^eTjGZnCJ zc&6O#YV%RpS^B9LZ7(~3BDRC+s*CFOm!I^I)90*nM{UpzVp&fHsB*n7qW8#nB zfl!Ufa}b!;X&IJ=#iWl919hn-FKcniquxQw#R=w#kwY?aaz@Fw!}sM6%LXmyvPA2t zjn$-aN%(-eFN3JIIbOE0OR%b=bR#VL10I zS!Wg2OSH@LSiag|q_!Jj2V&w@8;dc$Co=JFiw?lh94m#cr^<{#NfZzepo$MR`Rnt9 zkDFR9oSd9oiF3{%QaU61qe+gLjVh-OqP<|cRT4H?mLogdk#36#Abzq1y7}(K9YitL zDmmE!;{%V&n_^ohj|0P!lNf++RG7%eYphInOs)b9bNB2kG4J5HcghR=)n`&SMjk7ep0xO=)kO zoI6^Wxt~3P^YHSU8F%81irE+gWfFlhacLcRjI%AelkV0rtEzBpj}(hb1G%xR5~=9= zJXpJ-%7&-&jqo8%_DHlt!&_X1)qO?&MM=5a%#>tmkG-v}>GsqnKnSw|1>~Czui0&K z3TY)R7&uO7sF&)TVfCu@sPpx9bCc2*W>onZ!7Q5e^QYwoA57Bt2_Qywqst!IFe0OtNo5Xe_1Z50YWmVYql^I*d> zGvvRhP{D8Bpid}|GJ9I%^M(l)+pY0|TIE5l`!?eV^+!#?-#q?wVr(2qKo?dBui~Vn zoYP|huJA$)ydXJZLt&eqKP`EfcXA`HUNnDbj781ri+uvj|6OSrn!l<3Mf{A>MAFMD zGK}oze(?SD5O*qMoS!l;X{!srn%7%kcJzZ`^`Q$hu?Bq<^ICNW(@s?5>VJ(3)u11| zx|ExHa?e`M%M0}2q774no`&dzot=GMpA{J2TXx<*5;g3c(Gn#? zXTv%NL67!-w=#&iD15eId5j8M{jdnnt#J;ocP28s>9mGD>NS8~rC{mKR{xOse$SRs zB$$f%RZM*WTyCcV92o9;q0)O_qcA>MBVeGZXffvA^Bq)(D?saUy<$rTm$qX~MU8Q> zBf{8Wk?9S@j^YMg>QuF#`Uf%f!!9O~Ku_R0M9Dq&RR57~)br^sDiYrQt)Z$Z_KPX; zXP-keLp`G(^9OPqmn`@B@o>-8!K_~egZwZ(-z|aXO`q#1jjs;%8p_sokN6pX&j&lA zmA&~x=J>LA4SmM2(d|89f4=3^6=Th9hdzh8R?_NE_f zXyPGz)5-xWDIv^Aa7#)C`n-#JZQl0gs>x8#6h&tMuT3hG8AV>n?m}uRl2?cfMl$UX zWRD)II(xe`E;El-Q)EF{EuqNi*K*BZ!sNGBl=zcYUYqvnH6ZTvU;PB!2IUC_E-we_ zUh=Mkd~VWqO-4OO|85lVn6xF8u$K4g`|+^Ho^LM_*L>v|e7 zv%jmToUg0$~8!*xWB4bprOyoq47+hmF zF|yDYbosL15eI~!5fATNnc8U6O}?RYg{hY$(B=!jV8l{#x228RV8d%#)ApM`OG}w8 zzku83NRyLws_aCv+9Pr+i&Br@Fc9rX=xX7@#HenxnUGYM`%6uZHTPNb_lv=QFQgFKUTK2JrFA6A+)_6 zIaU_F46zM-FROQp*ZRKWJW2b#g6)@Dc06x-66D8Aq|+OtzUd6gd~~EGQO9*j#;`=W z);j2XwNu@r2wDSTHLJZ;b`Ds){{>e(&b`DTmkVPkUOA z#6I&sf`QT?O0eKhP_T#7V|IulHQ~8OC~CO!<43>+`;HBG_L%w!Yasf(*(ho_2Y9** z!xO!Yl^l7DqQdyOkxB_jCAMFgvcGx#d`1u9*jaRsKI<5as*AyU;5L+FYB5uj3^Kn+ zrJF{SHH^rJzZw;fDp-5d=^*_PvaYKfzTbFw=isckHffn?nG6@ z`ofET8+aK#Zj%}?QrA(V+j6%lWtzEvmLi8um$i}+ZQJz5RU<3Uti8r$!W zXm)m!1m+_J=YMOW>_AhnqU4)9o|z6HV65`t!GoRi4ue^Hd|;sZx-fS7YyOeU#Uq6@ zel=m!Zm0UW%kL9{HdH0ZVe4vhG{~;$pI6eGw05yH8j4G1IqvkgS3{WseHAs z`xA8W2O(?i89)m=9rR9&ru#&{f93`FN3HPUJ@vQS9XC=+a-JOeu^mn*Fr%5zPeW7X3gJUE?unyM9WV6M@f&j$s5^)u2f6VCi`{Svk>dHd1@?g515ff%sjS6yzPMWXNl z_(w3yKT?Vp;WSns^6O18Y9Kzbf1O;>;lLK|wEufcbh}vSQ2W6jDxil} z=EfN80t!j08ycztzOWT9PehZ1g$v+cV|VA_Z|SU_dECZK?*u0^-e*pMkI>~$54oA6 zpRItsNQas~&&Nsf*6iPN&a>^7UN=yD_UDgY-)dGCm&QQN$7VF*YLn+o^zL>?ziPGu zZ1FSZ=t;fF_}vlvv&G4=?FZOvmIoAAbAiD*fPsCKk^t)rZDc!q{ev!#@k(Vk5L@2u*r95Xxs0)tWhViAa2BiW`8oyrSvi`lUf@7ur*3* zJ?xb&2(AYK-G(sH15X8 zShJcO$FubKfP<)1SK|a#&AB5BYa_mupqMKYvnFo?zM78Yt#+8yzIpxma;=~REc%!p zm@`zmdGUug2W-$+A8dW4EqAt$*&=j#-QVIcA6=_2Vv8S!N{6QCSR5XO)}~%M7z1N3 zlXGc1ENZj9*chhF|uq#`wW42!t^gmmT+~vmDVzKS)AMnR7g8rEf^EXg=G0%|c+_ z437cJW;8^C}&ll#`% zV-vD|QRq9thwrzCm*{La(NdO$MP~dzl5{t;S`O$Ub>(cQIG*Z) z+YBNM+H&C2%F4aBrjMukA|}`YSOOT`Goj!2+wQzgq6(!fGWd1Ko7oRWgorw9HEj_A zUV4J=E{Qc>cgIIe&-HsI-wzm6II9P+(%`K-v9N8-M4;d;=euJvUs(WQV;+nH9H5WQ zmKT6kelp$>4p@U#NRzaN531wS-mJL3%izsR;qKg$J?9AXvsD?-eYH<~6XbXq?aCbVflIi|-qgi%jWGNqo)FqhMgq3v z%YO+n>z2(hBkI;J%2=smlzJX-{4=*N_YZW+%f?oj+I@#$dw-{H-2wD~()e7(-hScs z7@F!1hSW2oU0v;$1zh7GY`H!d0nYm+^9!|8R1KQ{hqgC?hWdZshbdV?DvHSVNrY_K zvQDK)w(L8}zVACTk}VNYcBbq*k$o$&FJqT1lYO7TU@&GpZ=YWc-|zE3|MP#&^E`7- zr<2UgdwIQI_jO6eUM6~x57Gs|V*co^ zp-7OskmIQh_&!rP*>RVy=J=Ioq#4(-q>Yjc8Xj%wjRqY9tcMiiu_rSMd|>)6#YGJW zu-wdAZ6(mnoWCkT`Ttf4P8S*b0!7G+^vSV5822Xb+3AS67mUpV5qxP8)Y+~gcH7fC zzGxyETqoK~o8h+;9b#=7>GX)64R(&dSiV-}3ruNIExi#7hm~(ojCVr z)6KN!;^TuEz*Q+>d-=YZQ&&S0Bi&eghEYGNSo2p;U7S7s@#TV(`D0O!V*zJ!!#04> zX+`4YnDRhjUoH$f^^G|g!#H%>vc%@j`j7zNWzuH11m^y#OMG4Z{zBNDWs+w8 z@=o3#tPrceiz;)P`(LTMKPL}QmsBRxr;4ITv+lUb1ztXaU*+uRj5W852j9;GJYTxO z6dQSX*L0W0lrcJgq4WAxrIq$q;Jw}DtN0)W7=;oyuUbE1VO(EgI+qT{_2WMQ5M1!D z=dQep4(Ll>YvYsskHl9QutjSxy0aXWjXBk7eY=E9vzS;AnR?_C1Va3Z0t*3Ac>P2H z_lIEE)$@M%V8-YI4GrDLy~jmGMQl}HvkM$*qb_&c0y0*zKtM`=cpBo z_0)Rnu^uufs>df!ZUbTi;JiAehO-tf=*AwdSmTyGBuAKeCjP3#^TxP3U^#i6PE9#B zHa4GFKp@YWZd8Y1yW3++@-x(4FA)cfD_6NvQL zcjPs`Pe!-*6ML{bSF?=|B&K7jGNj@Xf2l+vmM%OL--!yu0T1clOC95pUhiiNsLFpj ze4|pWrWz1B7P-ytyv4JG8W^C?vodHl#vPHu>k;xc6D}%~>Q8QBJ|-uKIJ3=#6qL_&PO zD|LklXs#>G+M;2ZE2D3{ZPwilT)9(d*R!kI*^#^<0uG0L-Z|!mgRa_m7YHSFQmIDrH+MXK9h=Jit`qc>8(zPBv>5NzS)h(BP09-2}SeT!E*IeedR zSLI45X1oZKs0*=dhWt|G4lOyqDb?;nuS80N?y!E2~K*W z@4te{bx2CH!{g`ru$6k(8)*C|htq=#8NFDpt$eMv^15)11lrr{In|n?8_U_L@;n9F z2*q(W^An|W;sA5Zs7L+*{DL#5nNZzlppo(<3=}o{2LO)+Cm&qY)wf-((ChrA6uQU} zj!S7B9gPnLh}gH;jHQukObFjgv^N`R@m*+z1Y8M1m2Z444LTOcFU<$Kwt4sr+bMC| zaNZE*OzLC4|B8x2g&C0hH3zPRctV#4<-~`6U9y(l`xzzUY#G?Xgesu zMmS5@OYELoG}Kk79G`u$ZDdOzkEDSf)cfx4?lqwv-7%QOvZJ;M@8uv_`q9e%;Yre7 z_smO;?|qdCa%YOQtDNrICPJoeDb`?Qiw%ThjqfGeB0ywMw~mUoba10;K+uQYluGsm zyIrD;tSFWC|76dT=d8We4+~NIaS@Tc%NFTxX@Nj(9$O-D83p-BzhjW-!%HoNLDuBw zy~ezK8Gv?@NC21IsQZs6%IR$mFzV50s zQ=&b+v|Cdg!zj`HN-J$b=N0AAl6GYp2T^VM7ytCZG(QmNfm849P{xS#{O`v0YM4wDAFztK+f9dEaa znELj_Q$e?6X@&+pV(##QDpWIKGQk)hzk?L){=s>_y*7rqZp)&B$F$>UhWT`?LnzYX z5d0l~k2&oBu zXi*H}rbzvpLT8r8JjYnYdzOwKz)pnzXM%x}%SXw?E^KZLhw)Hs>guUO zP>j!e7E;nqMZ{9}J}MS7{^rz{MSk_kqcZiw@n>ndX&l`8BlsqhOmYpOD@EiF;fK1R zCO_wRs5*!a$AOUo5$8^AW@roF^(kK@4{eJdQK7khDJ!E~uyJyYlJp$uxpUj@QV%bi z0pB-tgeRG5U!>YWlE1&k0j1Q7bNZ_!;^N}>$8jEhHDhZRTkg!mI#Mdg&3q2X$WEXL>+DsILoFT^&w*j^Q##pWuDUSs13^lu8hJ3DP&jw!!cqukr$CWx zgdCjrESJHap;5@qCH8=P7SkESkLIW|`x~3()%dO|EyprWh4LH2VvAxf%HVH1XUioV zE{jT=*FE_ctZ!q9;{auX@AA$h9}Qr6vH9sOozC;ia5Yf>z<6ipUe!uhR1=!agf1oz zZuwyG+f?dtEt%FjGgOz_o_vZ2HCVHW!t(I7~* zLmZw?;?+4%e$h&J5?Q6Eue{T#Vrh2ksF+{UekdAm6Tti217Uo>ELhZErc&)rfB`dP z@Anjc`O>M2*}QqpvrK@HZu9xVs)TM69|DJsy@nV}zwv5|i2=g^S;q zq3ZmKGSl}>!7oMWxovaFt#33}w{}65KPdfN+h6jo`7VtB$xk@bBbG4b%ga{~Btf6? zu_Bd&EZgB{Tj0RfF8X&?E+X=PSqORf$R$O;7OR<;NMk~sl3}bpd?dI>B z>ekv5Hr3int+al;dsm)-XV}i5H3Satii0ud_$|N^HB>uO6bSXa5>U`#+tswKVQ6 z4HEVDe0T32$Eo4833))?3EOp4Et$_eCJnk=BNyyyd6h89!hXAJlsyLJ5oJ{8IHJDT zYhJ@lbXEIKy?k~osnmUJZL#^y=jr5w5t;a{eOghMdRIDBWl_5OfXh3ugK&WZJuzc{ zJw)mwWo)&x9hqHjKt7kpF*{ns?Rv8vkIH3!mX6RPRd*GQ32LHO_}jXZvsu6q?>c5k zK8_pJaKNrDiS1jEK^tkR-LBs5g>63S^lRjwcV6sE>D_q}dP7}0D(2w;n!RgLkVCci zXx!7O`#9IcN}lYAIVw^8Iq;M68uM1wVm)Vs7D zIS~#yrgcuPKJ2MM5wrJjTkaeib?qcumhXQf3u%}T!Wk=?uMD$`OnQ*GHdVjZ=HvXl z&klUHQZ{)rzmvNU^n8R1CRhy1KgxA+;OY`864Ju^DnY$HkYL-9Vme zmp)G;T!X81x&huDe0(^>AdsFAR~eha#R8)j=8|8n8jljLhk(F10%*fl+y1t$t@HpH z(bOXx0x5Moc^dU2Pd*kHD=MF*c2mrSh=q31lWJQ%kA|9E@x?$o-@<67Yb@E;>j1#V zN5+%vo-ry4pT}knbttcccKWO2*<!wcXO#Rx z;ojlVB1t3+}5|x9$jp*YhRJc zX>Q}E;&048L-ht|L{+4MxczjnC$K>hMygjsCbd?*Jo0N7HshZR$Z<+NxcQs4#rfWpk z0nqWfA{2aUjy4xYR`wbERNLYu2t%@tk8^_0vW#veDz?SLHM!jL`%*nctE&@coy&Ea zyan~OJ_vked8qmj+_V|FGe9jGhj# z$S~5o!(r#=nPme2KVaGLZLOEX<^yq-P=EF+D9~n+rKXtdK@F_d35VolKnU_6>&-$mYbp zl}$tmHg20Neq_o{XJ>4B<_{E=2Ij$4OgKBV^y7zk9K)6>%k^=#a$@nlqR~ybPbhF$ z5q!HE{2>fYm5E#9G9Cr_c?#FceP80A_dqwF`z6^+&hYcrT=9+z5@VWW?(Ib>R@OnH zbD|f1sb#honXj1zh>JAYRl{>Gs0KhOQG#Sy-xp=Xjv}{{+xWOv#u3d5j~s zD0grDLGN}&y?GJzAK7*%#^$=0*4tsszsp6Z>5QdqdyfZhq!uc;l_COqgg}qKgHJ&e z+b;XV2M?n27FlT#mgYJ8_$QDpkCv?Ea-fw9h@xegn|1sP&Q9|*&6RI>S{cK^#>S%0 z`vGJidg>6IX~f3n8s@O)P1lQz)rA?E<0}>N4N6t=Sg-2S+J$_BMs(f^S=gmtkz78_ zJ>TmR9dK#zztt?-@S~uwhjop+<$Y+x`G?UAi&4$kbz*!CfY*RAHI?Q%Wh7q#^v+%S zXL6R70AeP0jl~RPf-k!PM+M!~|7*Ot66jurwI`;cZw|W>yv4J79(Zqx9Yg{E=H_*K z<-L-GgsdhOQbgy@`f$#yUX=MYxRGc%RjV>gwNs>*hIsU-!)>Fz1#73Ia#FGSv%k`; z)V(S_Ojb-deg}y?@W8Q<;-40_ysAzmHwd(u;s;*k&)dq!~`Aa;*Lz} z&H&GX`A0`AtFy2Vh*&XS(V>=8^Y;%ktaVt0`ld!CY1p}==;g;#1T3U3-yzZ7c7H+p zN}w%DcNWSFx8Qk(m2>7xxZsQuY~gtp7PgBR){8qR;|$Kz+yuzO zCMUskS3?eDJUjh*L(Wt?cmFXopwVN0o|c;md4Z7lTbf>a z7?_vrA(&JCDm(De#R;k}4u%rsW4Fis+GXDf#$`=h-z=ybjWsgpY>px7f7IKiX}6Cp zvO73(?$XAk$Y1-|Q$zFV<5FWqN@x_NrOlJuuDnVFy*CZ2Qa1P&AlLf0V?#NcF#L-7 zX6?OMl4Cl3*=vJen{->Wo2I|@2zTGXusChgO=xMVy7m%}(iWy4t#nuWDv8Y<-?Yjz zZ|RDxfBw8}PSr zwBT9a7#tgTcix4|=Eche5ddJ{zUk-62mtJNf^T9LE%%i>{g~*t@4H$uWt-1ah)D5A z#gL?blU5ahioLN}gcW~Y$PlcqD-23c=j`F^DD?N@)z|8o?QgcBH!Vq~yGJ8_4}Acj z>uG(Nt@tW|#ZdAD+>}Llae>)ds_16(m*vA4Z&yyBKw2d^-c!0lwcQJgS};pb5g4!N ze4B_G(A&EytvtJsRVcNS1~UFst@y8B*n`Xc*JQs-n{n))I{TrD%ipxM-63_fQxx1e zUo?DFnwS{d=5oW-TKX%aEbRA>Ej>K~qmqS@cMSU-0pbJ~`8XGUbjxKl7$ZzJ_)LCI zx`em)zQiu-J_!7Lp@QZbLF$0Qb;B2mqP^aO{RLI26EQ?{D$7#lxPR0BrA;yAB&xv%f)=gFa7g$>e-c z`(dId8@K)C6{Y0hABb%vn)Xi_^--i9&iq!>;R@k(?U5Me>2HB+dU>!QV0_HZ-A0U4 zaTA2jtoc}ovPs@)?po_+w`}+cyv`39t9|zAQ)&o2GgsnkN(qxyR<0ed;6Nn?6+FQ7Z;TO|P`H(rO% z+aFD=7+NE)$^E*|f?W&TkE(5MKhqKX!7+CoVl`@#X{tB6B-gz~QzKw{~U z95+c*MM|8u+Ir(DE#^ELy2S)<46dzU@NyyE92F2LkyP{@kLWQHjLbCL$x zFaGQv5i0hM=8%pLsRS_i__JG-e)E03lZK^16)F?okHHijZtEn8NojY6V9Lm)MGRSS z4cLbUjbADO*1#e;vx6J=+fc`%#s5wwt`uct~$pPuCuf69Yy%hXa zhO(!A1d(Z%y=;{_NhE-O(liADH&BMkKiPW7;pMNd$<-T`HCqaYDd}R#x-hP;CTh*C z9nC*MyhrkgGxC2K#G51rp8TA{%Dw{g?!f%q@g@Muw-W2`qwjz8iPYd4u@`NcF7fl@ zMNfVBgaC7F9n+MBu6dNqkqH{t9j7HO`C?546%vXUB6(^W;#ywm& ziGSu}de0T`5WP6(#_wG{ z@F@SSro@p-Xs^mtOH9#(Rmnt4NX|(P(7Ce_`q*9S;0 zn73f1`F#6%$9>YG5rFv&-Bklu?2h6S2;A8TZfYRq{0!i`Z_7o_lfdEEjQ?1w42K#@ zINx)uNJV6h|9QaM_CpTeU%3@-Z7m^B6Ak^9t17S7i`-f$AN5Nw zUz&*AMas}@QZ0Y^i)UkS^N+%6eeNkq0mJ6Tr&!KNxTo1zUOaG1=OuiY9Sc$)k0n1i zk7sUUd}5=c`6lT*9Q{o5|>O8$WLP-*>X34uj4OoOG%j|K$l@y zYRa?cstL@s1pGDt`uhVKs6CvuMe~WZqg06o*@@~QygQ2V%qx(-2vtxKKCIG9yYmwk zg2A6Xo4Hqq!||XeOrry*5OL9`_E>3K>geHR{KBtw0*HKKW1;9*=OdqCGTyzrq}(|5 zP#Z0^m+0xM@RxpKX`B=#dg#{gP?^m^z3Pda@%$SC z1}}8=Vaeq*?1wCa4sh7@#M<%aAc@w~P6)PL-iOg3D^ZFYms1YMsPTCV+b$O?A)z5) zlvpDZSiUQ14{_$PZ^4b?^#^K-v&4-xrULQ11BZvWPuvt4K50EdkjnI&4Zh+m^WhD* zONR>hr7G?i5@GJKAd>d8CUP}(;^$75T1ab&SSrAwd@V|u6}*6CHtvaqA+miYPJZXz zICG@&CW%KSQo)jkw03vfO@cSw{wLh0 zNlU5wU4K(nPk%n8^uj=%EDYyyI}!QV-Hi3u-#Sh0^fjNf>Jnn1S>giOi%0(ER zu-nuR1WCqtEHMfzlLZw=^Cn$LX^L2`ac5M;S4#b^-Zw%VM#V3;K=IqXAJuOd5ey?g zZ%-TEp5GicQ|^t_36lOMMKv#|Wl(qZ>Id7kF1o5@9KU0MJhB<>7wkG7_ju z)9!eVErcTYoe&Mp;Lgs~uBNH3BG0%jn^r}KM6qN?ArieWXNqexd`qN`VL$J+KSwX-?%YGO``eOaMG;>e4;Yx z5wnlahl0;XXCri^-l!a1g9zVKno=LY>Vwr33?~wLxLYHhs_h@Dt_~8k|HMU_@|!(7 z;%Zz!B^G^0=ky#lLs zO0X(mja-KT9)EQrF3Y<|;w!}T5_0O>CILjI3T^$rHXV=F9AEV8FFy|WQN0zxbk4D9 z{M@ZrnsaP#Z=?}SKOGR?zSqVc@R$r0*E?Glc!U|m(3&-45krTnZE(SP{No$b_Z`4xl)j)Ixv656qZUVYBoV$WN(aq9iVs$aimyQhd~C~x#IIL_NTPQL{xz7T+bp8>$joW3Q8K+?D^H=VJ1 zt2Wdw47o~W_9N`2-Y?~INT%SZf1xpg+0_ejHsT&JrvhtZvaYXk=LjAp6$4EE`|Cpq zbUTQax~?#;N0h7u(#90cP?6q?La9R1@H?$rT((l(n;Rl(s^1ikD9{Z+(M6CbqqtG2sg1P^^vt21m~W4B;YQ%yf<&3Ft8v5W=0Y;RzVorLXeT9#lk6h5f#s$4VB)Q}x{Xa0e0mNr+Vn{qQ$wGXOG z(UNw?G&>bAh;^_8j_j3R2LveEOEqKn-H{&vyu2h5$5!RW%#sA-ThNX zAinl?D5vh}Zkgk8M9~(-s63K%eYEKCN``i!`OJMQtiO~J^W8V4e7ct^WUKRJBT{ z##Rt3U{A|F5oLMW2rzhKeF{T^hC__~YC_HKbpkgJ5Dd)f=Lq9D>+8`ktRC__nacMD zlKeMwa1Jf4NKh}uZ`TRm9p~^2fsRuxlCF%BDtl}#Bdt-{*^ZX zi&vhV@15g9rdmlujuXiFz>PiIR##s%Nd>%2@V3B4p2P9QclV-U&r7!`*#fddWJ8pB zv%*@w`h5zDGCWt(=BTC9>~*PheQz$J#4o`+D>N_n%crK2t`XqG2*<;j!m3XFbp~~x zW~m`Lzk#y;;A0hzr@*PB@Hf(pyULKKra}6nLqn;Wu${3C_DW>5a8Osyg>SyzA@RcVWIP8+!;K zVntyUp&Djk6v@MH-e>@lfJ zq+&KJ@ZP3AJ#5|=0D#lSO!VVKYK9a?RCXHl((0qFo-sG`Uqq2*_l-A6 z3yl9Y0VFo-MhgyM4tUS%UNqCw`~#wk9YWVF;xn@PW&WB&1D7s++@B?aeLn-?AFw_a zhA+mS%xQq{Om$`P2d%Hvj<>kixuXaM)bURTZ6V>qZ@(YX3Yvi>qo~Km z|B+?|D26fbZeMo8TnNU;2DV)_)(3P-8=*mN?h?1|LopI~7<4Xt$szlYJY%l=P`!g@ zBQ&w(VKj6ylx1uZuNGoU<&$Z%;Y|JD^PL{ES* zRouY#+I3=%q;WJTt{fG=_14G6&yI5;bFLe?TE^!%HyTf?=DfV#BxlJfkp=ao?{^RH zKh6F7-V$m1*8~9%g5MWQX}sJWTvZHMAZO@4~UHGYY%Ym8@C)%qSci2ZPE8W?OF zr@Hs>_q;%5QGWW&;f)ApiIjX{o) z_RUrH$RbNLn*N^a_W%DN8L)p%6pf$FiFfK=AHORu6mkK|tk4OFKqMQ2^c|qR=^Q3U za<=2H`}bk?x;E9va{bprF3TFfX33ui#MA3hK@Uz#(5aC?%=u~!1$1wvo=7yXXKyXI zI$il!j*-5d7WXUODoG+_Hn45-T5vqgf5|yIG|)6>spjKHvq<&⋘4|t~<&?PRpVM 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 - @if (empty($blocks)) -

- @else -
- @foreach ($blocks as $block) -
-
- - - - - -
-
- {{-- Decode the base64-encoded preview HTML from the brick --}} - @php - $decodedHtml = ''; - if (isset($block['preview']) && is_string($block['preview'])) { - $decodedHtml = base64_decode($block['preview']); - } elseif (isset($block['html']) && is_string($block['html'])) { - $decodedHtml = $block['html']; - } - @endphp - {!! $decodedHtml !!} -
-
-
- @endforeach - @endif -
- - diff --git a/screenshot_problem_icon_heroicon.png b/screenshot_problem_icon_heroicon.png deleted file mode 100644 index cd35d133b914b2406b3748ac294846b698791314..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61605 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 diff --git a/screenshot_report_builder.png b/screenshot_report_builder.png deleted file mode 100644 index c454b6d2ead6e06423e60030cb4570d80754f945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86222 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 UY|e&poHRB$DJ98#3F8m{2RO9^yZ`_I diff --git a/screenshot_something_wrong.png b/screenshot_something_wrong.png deleted file mode 100644 index ea1a3a5d8655c4d550ae4448707e40a30c5d7e7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566143 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%0A+y;XoJu4fP1A?2dd)y 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%0A3leR6puzmqgit`j2U?m{X=j?Qo4vcp=NZC9O_k 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

mo5@vpPd8|BHB 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%0DXqCJLM>l#hL@2EEwq% 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 diff --git a/what-should-this-have-looked-like.png b/what-should-this-have-looked-like.png deleted file mode 100644 index e306dcba9bc93647fc778b99d6893261c7a3741c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39053 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 From 41a8a9accf14f1b8af0830e0409546327e73a561 Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Mon, 24 Aug 2026 11:19:51 +0200 Subject: [PATCH 39/86] docs: add report-builder guardrail notes to CLAUDE.md --- CLAUDE.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 1eaacdfe7..7c1d9aea3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -322,3 +322,14 @@ No DTO layer — services accept arrays and return Eloquent models. - Never write `*/` inside a PHP docblock (e.g. glob patterns like `Header*/Detail*`) — it terminates the comment and causes a parse error. - When running a test suite in the background, redirect FULL output to a file — never pipe through `tail`/`head`, it destroys the failure details and forces a rerun. + +--- + +## Report Builder Guardrails + +- **Blade directive gotcha**: Blade directives (`@if`/`@endif`/etc.) inside Mason brick preview/render templates (`resources/views/mason/bricks/*/preview.blade.php`) must not be immediately preceded by a word character — Blade's directive-matching regex requires a non-word boundary before `@`. Always wrap literal values in `{{ }}` rather than concatenating raw text directly next to a directive, or the directive silently fails to compile and leaves e.g. an `@if` unclosed, causing a parse error. +- **`toPreviewHtml()` vs `toHtml()` convention**: In `Modules/Core/Mason/ReportBrickAction.php` and `Modules/Core/Mason/ReportIframeRenderer.php`, preview-context rendering must always call `toPreviewHtml()`, never `toHtml()` — `toHtml()` needs real entity data and is for print/export output only; using it in a preview context renders fine on load but turns into a near-empty box the moment the brick is inserted or reconfigured. +- **Mandatory regression tests for report-builder changes**: Any change touching `Modules/Core/Mason/`, `Modules/Core/Filament/Pages/Reports/`, `Modules/Core/Filament/Admin/Pages/ReportTemplates.php`, or `resources/views/mason/bricks/**` must be run against, at minimum: + `php artisan test --filter=AdminReportBuilderTest --filter=CompanyReportBuilderTest --filter=MasonDocumentConverterTest --filter=MasonBricksTest` + run against a real MySQL/MariaDB connection. +- **Known non-report-builder issues, do not chase them here**: `UserProfileTest`'s tenant test fails only at full-suite scale (passes in isolation) — a pre-existing order-dependent flake, unrelated to the report builder. Ctrl+Z triggering undo on all 5 Mason iframe editors simultaneously when focus is outside the iframes is an `awcodes/mason` vendor limitation, not something patchable from application code. From 11f5dfc3d57a3d4c2b5c274fb4a528bd2724b28b Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Mon, 24 Aug 2026 11:22:22 +0200 Subject: [PATCH 40/86] test(mason): add preview modal regression test and deduplicate width key --- .../Pages/Reports/BaseReportBuilderPage.php | 4 +-- .../Tests/Feature/AdminReportBuilderTest.php | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php b/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php index 20b8f4f10..5a302c341 100644 --- a/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php +++ b/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php @@ -240,8 +240,8 @@ protected function renderPreviewHtml(): string $config = $entry['config']; // Preserve width for preview rendering - if (!isset($config['_width'])) { - $config['_width'] = $entry['width'] ?? 'full'; + if (!isset($config[MasonDocumentConverter::WIDTH_KEY])) { + $config[MasonDocumentConverter::WIDTH_KEY] = $entry['width'] ?? 'full'; } $bandHtml .= (string) $brickClass::toPreviewHtml($config); diff --git a/Modules/Core/Tests/Feature/AdminReportBuilderTest.php b/Modules/Core/Tests/Feature/AdminReportBuilderTest.php index 288cd1262..d0257b0cf 100644 --- a/Modules/Core/Tests/Feature/AdminReportBuilderTest.php +++ b/Modules/Core/Tests/Feature/AdminReportBuilderTest.php @@ -7,6 +7,7 @@ use Livewire\Livewire; use Modules\Core\Enums\ReportTemplateType; use Modules\Core\Filament\Admin\Pages\ReportBuilder; +use Modules\Core\Mason\Bricks\HeaderCompanyBrick; use Modules\Core\Mason\Bricks\SpacerBrick; use Modules\Core\Filament\Admin\Pages\ReportTemplates; use Modules\Core\Services\ReportTemplateStorage; @@ -166,6 +167,32 @@ public function it_previews_an_inserted_brick_with_the_builder_rendering(): void ); } + #[Test] + public function it_previews_template_via_modal_action_using_builder_rendering(): void + { + /* Arrange */ + $component = Livewire::actingAs($this->superAdmin()) + ->test(ReportBuilder::class, ['scope' => 'system', 'type' => 'invoice', 'slug' => 'default']); + + /* Act */ + $component->mountAction('preview'); + + /* Assert */ + $action = $component->instance()->previewAction(); + $modalContent = (string) $action->getModalContent(); + + $headerCompanyConfig = $component->get('data.bands')['header'][0]['attrs']['config'] ?? []; + + $this->assertStringContainsString( + (string) HeaderCompanyBrick::toPreviewHtml($headerCompanyConfig), + $modalContent, + ); + $this->assertStringNotContainsString( + (string) HeaderCompanyBrick::toHtml($headerCompanyConfig), + $modalContent, + ); + } + #[Test] public function it_moves_a_brick_to_an_allowed_band(): void { From 457c8a18485bcd426eebca932d1cfc30a59c7e0d Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Mon, 24 Aug 2026 12:23:08 +0200 Subject: [PATCH 41/86] fix(mason): stop canvas from double-applying brick width --- .../Pages/Reports/BaseReportBuilderPage.php | 12 ++++- .../Tests/Feature/AdminReportBuilderTest.php | 49 +++++++++++++++++++ Modules/Core/Tests/Unit/MasonBricksTest.php | 39 +++++++++++++++ .../detail-customer-aging/preview.blade.php | 39 ++++++--------- .../bricks/detail-expense/preview.blade.php | 11 ----- .../detail-invoice-product/preview.blade.php | 11 ----- .../detail-invoice-project/preview.blade.php | 11 ----- .../bricks/detail-items/preview.blade.php | 11 ----- .../detail-quote-product/preview.blade.php | 11 ----- .../detail-quote-project/preview.blade.php | 11 ----- .../bricks/detail-tasks/preview.blade.php | 11 ----- .../bricks/footer-notes/preview.blade.php | 11 ----- .../bricks/footer-summary/preview.blade.php | 6 ++- .../bricks/footer-terms/preview.blade.php | 11 ----- .../bricks/footer-totals/preview.blade.php | 11 ----- .../bricks/header-client/preview.blade.php | 11 ----- .../bricks/header-company/preview.blade.php | 11 ----- .../header-invoice-meta/preview.blade.php | 11 ----- .../bricks/header-project/preview.blade.php | 11 ----- .../header-quote-meta/preview.blade.php | 11 ----- .../mason/bricks/spacer/preview.blade.php | 11 ----- 21 files changed, 117 insertions(+), 204 deletions(-) diff --git a/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php b/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php index 5a302c341..abdcbe1a5 100644 --- a/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php +++ b/Modules/Core/Filament/Pages/Reports/BaseReportBuilderPage.php @@ -14,6 +14,7 @@ use Filament\Schemas\Schema; use Illuminate\Support\HtmlString; use Modules\Core\Enums\ReportBand; +use Modules\Core\Enums\ReportBlockWidth; use Modules\Core\Enums\ReportTemplateType; use Modules\Core\Mason\MasonDocumentConverter; use Modules\Core\Mason\ReportBrickAction; @@ -244,7 +245,16 @@ protected function renderPreviewHtml(): string $config[MasonDocumentConverter::WIDTH_KEY] = $entry['width'] ?? 'full'; } - $bandHtml .= (string) $brickClass::toPreviewHtml($config); + $width = ReportBlockWidth::tryFrom((string) ($config[MasonDocumentConverter::WIDTH_KEY] ?? '')) ?? ReportBlockWidth::FULL; + $percent = match ($width) { + ReportBlockWidth::ONE_THIRD => '33.33%', + ReportBlockWidth::HALF => '50%', + ReportBlockWidth::TWO_THIRDS => '66.66%', + ReportBlockWidth::FULL => '100%', + }; + + $previewHtml = (string) $brickClass::toPreviewHtml($config); + $bandHtml .= '

'; } if ($bandHtml) { diff --git a/Modules/Core/Tests/Feature/AdminReportBuilderTest.php b/Modules/Core/Tests/Feature/AdminReportBuilderTest.php index d0257b0cf..d78be68fb 100644 --- a/Modules/Core/Tests/Feature/AdminReportBuilderTest.php +++ b/Modules/Core/Tests/Feature/AdminReportBuilderTest.php @@ -12,6 +12,7 @@ use Modules\Core\Filament\Admin\Pages\ReportTemplates; use Modules\Core\Services\ReportTemplateStorage; use Modules\Core\Tests\AbstractAdminPanelTestCase; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Test; class AdminReportBuilderTest extends AbstractAdminPanelTestCase @@ -193,6 +194,54 @@ public function it_previews_template_via_modal_action_using_builder_rendering(): ); } + public static function bandWidthsProvider(): array + { + return [ + 'half and half' => [ + [ + ['brick' => 'header_company', 'width' => 'half', 'config' => []], + ['brick' => 'header_client', 'width' => 'half', 'config' => []], + ], + ['flex: 0 0 50%', 'flex: 0 0 50%'], + ], + 'one third and two thirds' => [ + [ + ['brick' => 'header_company', 'width' => 'one_third', 'config' => []], + ['brick' => 'header_client', 'width' => 'two_thirds', 'config' => []], + ], + ['flex: 0 0 33.33%', 'flex: 0 0 66.66%'], + ], + ]; + } + + #[Test] + #[DataProvider('bandWidthsProvider')] + public function it_renders_preview_modal_with_correct_flex_width_wrappers(array $bandEntries, array $expectedFlexStyles): void + { + /* Arrange */ + $this->storage->save( + 'system', + 'custom-layout', + ['name' => 'Custom Layout', 'type' => 'invoice'], + ['header' => $bandEntries], + ReportTemplateType::INVOICE, + ); + + $component = Livewire::actingAs($this->superAdmin()) + ->test(ReportBuilder::class, ['scope' => 'system', 'type' => 'invoice', 'slug' => 'custom-layout']); + + /* Act */ + $component->mountAction('preview'); + + /* Assert */ + $action = $component->instance()->previewAction(); + $modalContent = (string) $action->getModalContent(); + + foreach ($expectedFlexStyles as $style) { + $this->assertStringContainsString($style, $modalContent); + } + } + #[Test] public function it_moves_a_brick_to_an_allowed_band(): void { diff --git a/Modules/Core/Tests/Unit/MasonBricksTest.php b/Modules/Core/Tests/Unit/MasonBricksTest.php index 916940c8d..477b162ac 100644 --- a/Modules/Core/Tests/Unit/MasonBricksTest.php +++ b/Modules/Core/Tests/Unit/MasonBricksTest.php @@ -2,13 +2,16 @@ namespace Modules\Core\Tests\Unit; +use Modules\Core\Enums\ReportBlockWidth; use Modules\Core\Mason\Bricks\DetailItemsBrick; use Modules\Core\Mason\Bricks\FooterNotesBrick; use Modules\Core\Mason\Bricks\FooterTotalsBrick; use Modules\Core\Mason\Bricks\HeaderClientBrick; use Modules\Core\Mason\Bricks\HeaderCompanyBrick; use Modules\Core\Mason\Bricks\HeaderInvoiceMetaBrick; +use Modules\Core\Mason\ReportBricksCollection; use Modules\Core\Tests\AbstractTestCase; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Test; class MasonBricksTest extends AbstractTestCase @@ -285,4 +288,40 @@ public function it_all_bricks_return_icons(): void $this->assertNotNull($icon); } } + + public static function widthProvider(): array + { + return [ + 'one_third' => [ReportBlockWidth::ONE_THIRD->value], + 'half' => [ReportBlockWidth::HALF->value], + 'two_thirds' => [ReportBlockWidth::TWO_THIRDS->value], + 'full' => [ReportBlockWidth::FULL->value], + ]; + } + + #[Test] + #[DataProvider('widthProvider')] + public function it_does_not_self_apply_inline_width_percentage_in_preview_templates(string $width): void + { + /* Arrange & Act & Assert */ + $fractionalPercentages = ['33.33%', '50%', '66.66%']; + + foreach (ReportBricksCollection::all() as $brickClass) { + $html = (string) $brickClass::toPreviewHtml(['_width' => $width]); + + foreach ($fractionalPercentages as $percent) { + $this->assertStringNotContainsString( + "width: {$percent}", + $html, + "Brick [{$brickClass}] should not self-apply width [{$percent}] in preview HTML.", + ); + } + + $this->assertStringNotContainsString( + 'display: inline-block; vertical-align: top;', + $html, + "Brick [{$brickClass}] should not contain outer inline-block width wrapper.", + ); + } + } } diff --git a/resources/views/mason/bricks/detail-customer-aging/preview.blade.php b/resources/views/mason/bricks/detail-customer-aging/preview.blade.php index bfab8b7d1..6cf4867b6 100644 --- a/resources/views/mason/bricks/detail-customer-aging/preview.blade.php +++ b/resources/views/mason/bricks/detail-customer-aging/preview.blade.php @@ -2,29 +2,18 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
-
- - - @if($config['show_invoice_number'] ?? true)@endif - @if($config['show_invoice_date'] ?? true)@endif - @if($config['show_due_date'] ?? true)@endif - @if($config['show_current'] ?? true)@endif - @if($config['show_30_days'] ?? true)@endif - @if($config['show_60_days'] ?? true)@endif - @if($config['show_90_days'] ?? true)@endif - @if($config['show_over_90_days'] ?? true)@endif - @if($config['show_total_due'] ?? true)@endif - -
{{ trans('ip.invoice') }}{{ trans('ip.date') }}{{ trans('ip.due_date') }}{{ trans('ip.current') }}{{ trans('ip.days_30') }}{{ trans('ip.days_60') }}{{ trans('ip.days_90') }}{{ trans('ip.over_90') }}{{ trans('ip.total_due') }}
-
+
+ + + @if($config['show_invoice_number'] ?? true)@endif + @if($config['show_invoice_date'] ?? true)@endif + @if($config['show_due_date'] ?? true)@endif + @if($config['show_current'] ?? true)@endif + @if($config['show_30_days'] ?? true)@endif + @if($config['show_60_days'] ?? true)@endif + @if($config['show_90_days'] ?? true)@endif + @if($config['show_over_90_days'] ?? true)@endif + @if($config['show_total_due'] ?? true)@endif + +
{{ trans('ip.invoice') }}{{ trans('ip.date') }}{{ trans('ip.due_date') }}{{ trans('ip.current') }}{{ trans('ip.days_30') }}{{ trans('ip.days_60') }}{{ trans('ip.days_90') }}{{ trans('ip.over_90') }}{{ trans('ip.total_due') }}
diff --git a/resources/views/mason/bricks/detail-expense/preview.blade.php b/resources/views/mason/bricks/detail-expense/preview.blade.php index 204d4c69a..ef4a39e15 100644 --- a/resources/views/mason/bricks/detail-expense/preview.blade.php +++ b/resources/views/mason/bricks/detail-expense/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
@@ -25,4 +15,3 @@
-
diff --git a/resources/views/mason/bricks/detail-invoice-product/preview.blade.php b/resources/views/mason/bricks/detail-invoice-product/preview.blade.php index 910aa9b69..c4425ce95 100644 --- a/resources/views/mason/bricks/detail-invoice-product/preview.blade.php +++ b/resources/views/mason/bricks/detail-invoice-product/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
@@ -25,4 +15,3 @@
-
diff --git a/resources/views/mason/bricks/detail-invoice-project/preview.blade.php b/resources/views/mason/bricks/detail-invoice-project/preview.blade.php index f54617be7..103c5daf3 100644 --- a/resources/views/mason/bricks/detail-invoice-project/preview.blade.php +++ b/resources/views/mason/bricks/detail-invoice-project/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
@@ -24,4 +14,3 @@
-
diff --git a/resources/views/mason/bricks/detail-items/preview.blade.php b/resources/views/mason/bricks/detail-items/preview.blade.php index c52b2d62b..8411608fb 100644 --- a/resources/views/mason/bricks/detail-items/preview.blade.php +++ b/resources/views/mason/bricks/detail-items/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.line_items') }} @@ -22,4 +12,3 @@
-
diff --git a/resources/views/mason/bricks/detail-quote-product/preview.blade.php b/resources/views/mason/bricks/detail-quote-product/preview.blade.php index 910aa9b69..c4425ce95 100644 --- a/resources/views/mason/bricks/detail-quote-product/preview.blade.php +++ b/resources/views/mason/bricks/detail-quote-product/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
@@ -25,4 +15,3 @@
-
diff --git a/resources/views/mason/bricks/detail-quote-project/preview.blade.php b/resources/views/mason/bricks/detail-quote-project/preview.blade.php index f54617be7..103c5daf3 100644 --- a/resources/views/mason/bricks/detail-quote-project/preview.blade.php +++ b/resources/views/mason/bricks/detail-quote-project/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
@@ -24,4 +14,3 @@
-
diff --git a/resources/views/mason/bricks/detail-tasks/preview.blade.php b/resources/views/mason/bricks/detail-tasks/preview.blade.php index 06e316a60..b0a52b9c6 100644 --- a/resources/views/mason/bricks/detail-tasks/preview.blade.php +++ b/resources/views/mason/bricks/detail-tasks/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.tasks_table') }} @@ -25,4 +15,3 @@
-
diff --git a/resources/views/mason/bricks/footer-notes/preview.blade.php b/resources/views/mason/bricks/footer-notes/preview.blade.php index 9837dbf8b..4504b9677 100644 --- a/resources/views/mason/bricks/footer-notes/preview.blade.php +++ b/resources/views/mason/bricks/footer-notes/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.footer') }} @if(!empty($config['footer_content'])) @@ -20,4 +10,3 @@
{{ trans('ip.footer_placeholder') }}
@endif
-
diff --git a/resources/views/mason/bricks/footer-summary/preview.blade.php b/resources/views/mason/bricks/footer-summary/preview.blade.php index ee154be59..62e08aaae 100644 --- a/resources/views/mason/bricks/footer-summary/preview.blade.php +++ b/resources/views/mason/bricks/footer-summary/preview.blade.php @@ -1,3 +1,7 @@ +@props([ + 'config' => [] +]) +
{{ trans('ip.summary') }}
@@ -7,6 +11,4 @@

{{ trans('ip.summary_placeholder') }}

@endif
- -
diff --git a/resources/views/mason/bricks/footer-terms/preview.blade.php b/resources/views/mason/bricks/footer-terms/preview.blade.php index 78256f711..b73abf8b3 100644 --- a/resources/views/mason/bricks/footer-terms/preview.blade.php +++ b/resources/views/mason/bricks/footer-terms/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.terms_conditions') }} @if(!empty($config['terms_content'])) @@ -20,4 +10,3 @@
{{ trans('ip.terms_placeholder') }}
@endif
-
diff --git a/resources/views/mason/bricks/footer-totals/preview.blade.php b/resources/views/mason/bricks/footer-totals/preview.blade.php index 3d2ce7632..913a049b3 100644 --- a/resources/views/mason/bricks/footer-totals/preview.blade.php +++ b/resources/views/mason/bricks/footer-totals/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.totals') }} @@ -47,4 +37,3 @@ @endif
-
diff --git a/resources/views/mason/bricks/header-client/preview.blade.php b/resources/views/mason/bricks/header-client/preview.blade.php index 5313e84c5..99a9991d9 100644 --- a/resources/views/mason/bricks/header-client/preview.blade.php +++ b/resources/views/mason/bricks/header-client/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.bill_to') }}
{{ trans('ip.client_name') }} @@ -19,4 +9,3 @@ @if($config['show_phone'] ?? true)
{{ trans('ip.phone') }}@endif @if($config['show_email'] ?? true)
{{ trans('ip.email') }}@endif
-
diff --git a/resources/views/mason/bricks/header-company/preview.blade.php b/resources/views/mason/bricks/header-company/preview.blade.php index 84aae8a0d..5d8fc0c1a 100644 --- a/resources/views/mason/bricks/header-company/preview.blade.php +++ b/resources/views/mason/bricks/header-company/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.company_name') }} @if($config['show_address'] ?? true)
{{ trans('ip.company_address') }}@endif @@ -19,4 +9,3 @@ @if($config['show_email'] ?? true)
{{ trans('ip.email') }}@endif @if($config['show_vat_id'] ?? true)
{{ trans('ip.vat_id') }}@endif
-
diff --git a/resources/views/mason/bricks/header-invoice-meta/preview.blade.php b/resources/views/mason/bricks/header-invoice-meta/preview.blade.php index 697375318..059535620 100644 --- a/resources/views/mason/bricks/header-invoice-meta/preview.blade.php +++ b/resources/views/mason/bricks/header-invoice-meta/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.invoice_metadata') }} @@ -41,4 +31,3 @@ @endif
-
diff --git a/resources/views/mason/bricks/header-project/preview.blade.php b/resources/views/mason/bricks/header-project/preview.blade.php index 3480951fa..1e16c3465 100644 --- a/resources/views/mason/bricks/header-project/preview.blade.php +++ b/resources/views/mason/bricks/header-project/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.project_header') }} @if($config['show_project_number'] ?? true)
{{ trans('ip.project_number') }}: {{ 'PROJECT-001' }}@endif @@ -20,4 +10,3 @@ @if($config['show_end_date'] ?? true)
{{ trans('ip.end_date') }}: {{ now()->addDays(30)->format('Y-m-d') }}@endif @if($config['show_status'] ?? true)
{{ trans('ip.status') }}: {{ trans('ip.in_progress') }}@endif
-
diff --git a/resources/views/mason/bricks/header-quote-meta/preview.blade.php b/resources/views/mason/bricks/header-quote-meta/preview.blade.php index c55411c35..a1f42aafa 100644 --- a/resources/views/mason/bricks/header-quote-meta/preview.blade.php +++ b/resources/views/mason/bricks/header-quote-meta/preview.blade.php @@ -2,16 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.quote_metadata') }} @if($config['show_quote_number'] ?? true)
{{ trans('ip.quote_number') }}: {{ 'QUO-001' }}@endif @@ -19,4 +9,3 @@ @if($config['show_expires_at'] ?? true)
{{ trans('ip.expires_at') }}: {{ now()->addDays(30)->format('Y-m-d') }}@endif @if($config['show_status'] ?? true)
{{ trans('ip.status') }}: {{ trans('ip.draft') }}@endif
-
diff --git a/resources/views/mason/bricks/spacer/preview.blade.php b/resources/views/mason/bricks/spacer/preview.blade.php index e07872ec5..9ed0d6e5d 100644 --- a/resources/views/mason/bricks/spacer/preview.blade.php +++ b/resources/views/mason/bricks/spacer/preview.blade.php @@ -2,17 +2,6 @@ 'config' => [] ]) -@php -$widthValue = match($config['_width'] ?? 'full') { - 'one_third' => '33.33%', - 'half' => '50%', - 'two_thirds' => '66.66%', - default => '100%' -}; -@endphp - -
{{ trans('ip.spacer') }} — {{ (int) ($config['height'] ?? 20) }}px
-
From c3cf2aa423dae60f56061aa2aab149e29936a803 Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Mon, 24 Aug 2026 19:29:16 +0200 Subject: [PATCH 42/86] chore: add Docker setup guide and gitignore scratch/testrunner artifacts Documents the docker compose cli/web/db/mailcatcher setup and test-suite workflow, and ignores Playwright testrunner output plus stray local report/plan scratch files that had been accumulating in the repo root. --- .github/DOCKER.md | 116 ++++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 16 +++---- 2 files changed, 123 insertions(+), 9 deletions(-) create mode 100644 .github/DOCKER.md diff --git a/.github/DOCKER.md b/.github/DOCKER.md new file mode 100644 index 000000000..aa80503cf --- /dev/null +++ b/.github/DOCKER.md @@ -0,0 +1,116 @@ +# Docker Setup for InvoicePlane V2 + +This guide explains how to run InvoicePlane V2 using Docker — both the web +stack and the standalone CLI image for running tests and artisan commands. + +--- + +## Prerequisites + +- Docker installed (https://www.docker.com/) +- Docker Compose v2+ + +--- + +## Quick Start + +```bash +git clone https://github.com/InvoicePlane/InvoicePlane-v2.git +cd InvoicePlane-v2 + +cp .env.example .env + +# Install dependencies and bootstrap the app through the CLI container — +# no PHP required on the host: +docker compose run --rm cli composer install +docker compose run --rm cli php artisan key:generate +docker compose up -d +docker compose run --rm cli php artisan migrate --seed +``` + +Visit: http://localhost:8080 (override the port with `APP_PORT` in `.env`). + +--- + +## Services + +| Service | Image | Purpose | +|---|---|---| +| `web` | `docker-resources/apache` (httpd 2.4 alpine) | Serves `public/`, proxies PHP to `app` | +| `app` | `docker-resources/php-fpm` (PHP 8.4 fpm alpine) | Laravel application (FPM) | +| `cli` | `docker-resources/php-cli` (PHP 8.4 cli alpine) | One-off runner for tests / artisan / composer — profile `tools`, never auto-started | +| `db` | `mariadb` | Database (port 3306) | +| `mailcatcher` | `sj26/mailcatcher` | Catches outgoing mail — UI on port 1080 | + +Both PHP images ship the full extension set the app needs: `intl`, `gd`, +`pdo_mysql`, `bcmath`, `zip`, `exif`, `soap`, `redis`. The CLI image also has +Composer and a 1G memory limit for the test suite. + +--- + +## Running the test suite + +```bash +docker compose run --rm cli php artisan test --exclude-group failing,troubleshooting +``` + +Use `php artisan test`, not `vendor/bin/phpunit` directly — the two have been observed to behave +differently for this app: a raw `vendor/bin/phpunit` run silently drops some submitted field +values in Livewire form tests. `artisan test` is the proven-reliable path and is what CI uses, so +standardize on it. + +**Known issue (see [#689](https://github.com/InvoicePlane/InvoicePlane-v2/issues/689)):** a +freshly-`docker compose build`'t `cli` image has, at least once, reproduced this same +field-dropping bug at scale (100+ false failures) even under `artisan test`, for reasons not yet +isolated — despite extension/ini parity with a known-good image. Before trusting a full local run +from a rebuilt `cli` image, sanity-check it against a small, known test first, e.g.: +```bash +docker compose run --rm cli php artisan test --filter=ContactsTest +``` +All 11 assertions should pass. If any fail with "field is required" errors on data you know you +supplied, don't trust the rest of that run — see the linked issue. + +`APP_ENV=testing` is the `cli` service default, and it always connects to +the compose stack's real `db` service (MariaDB) for tests — the `cli` +service injects `DB_CONNECTION=mysql`/`DB_HOST=db`/etc. itself, so nothing +in `.env.testing` needs editing. This intentionally does not fall back to +SQLite: SQLite's lenient identifier quoting has masked real bugs before that +only surfaced against MariaDB in CI. + +### File ownership on Linux + +The CLI image creates its user with uid/gid `1000`. If your host user +differs, rebuild with your ids so files written into the mounted repo +(vendor/, storage/, compiled views) stay owned by you: + +```bash +docker compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g) cli +``` + +--- + +## Useful Commands + +| Action | Command | +|---|---| +| Start services | `docker compose up -d` | +| Stop services | `docker compose down` | +| View logs | `docker compose logs -f` | +| Run artisan | `docker compose run --rm cli php artisan ` | +| Run composer | `docker compose run --rm cli composer ` | +| Rebuild containers | `docker compose build --no-cache` | + +--- + +## Troubleshooting + +- **Port already in use**: set `APP_PORT` in `.env` (web) or adjust ports in `docker-compose.yml` +- **Permission issues**: rebuild the `cli` image with your `UID`/`GID` (see above) +- **Missing .env config**: re-run `cp .env.example .env` and adjust +- **Tests fail with `could not find driver` or missing `intl`**: you are running on host PHP — use the `cli` container instead + +--- + +## What's Next? + +Visit CHECKLIST.md if contributing diff --git a/.gitignore b/.gitignore index 458dacb26..b4ee81840 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,12 @@ package-lock.json *.ufm.json *.afm.json +# Playwright / testrunner +/testrunner/ +/test-results/ +/playwright-report/ +auth.json + # PHPStan /phpstan.json /phpstan-report.md @@ -90,6 +96,7 @@ batch-implementation-status.md conflicts.md fetch-issues.sh fruiit.md +error-report.md gh-commands.sh gh-comments/ issues-full.json @@ -136,12 +143,3 @@ summary-feature-parity.md plan-2026-07-19.md storage/dompdf_log untouched.json -auth.json -error-report.md -/playwright-report/ -/test-results/ -/testrunner/ -/screenshot_*.png -/screenshot*.png -/debug-*.png -/report-builder-*.png From c9607cf8e130d655ef1522298d63acdb076e20f7 Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Mon, 24 Aug 2026 19:54:48 +0200 Subject: [PATCH 43/86] fix(reports): register ReportBuilder/ReportTemplates pages in company panel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CompanyPanelProvider discovers pages from app/Filament/Company/Pages (unused in this modular app), so company-panel pages must be registered explicitly in ->pages([...]). An earlier merge from upstream/develop (which had deleted the report builder entirely at the time) stripped these two entries back out, leaving them dangling once this branch reintroduced real ReportBuilder/ReportTemplates classes under Modules/Core/Filament/Company/Pages — no routes existed for either page, so company users had no way to reach the report builder at all. Verified against real MariaDB: all 9 CompanyReportBuilderTest cases now pass (previously failing with route-not-found), alongside AdminReportBuilderTest, MasonDocumentConverterTest, and MasonBricksTest (48/48, 436 assertions). --- Modules/Core/Providers/CompanyPanelProvider.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Modules/Core/Providers/CompanyPanelProvider.php b/Modules/Core/Providers/CompanyPanelProvider.php index 506e88438..96890c0dc 100644 --- a/Modules/Core/Providers/CompanyPanelProvider.php +++ b/Modules/Core/Providers/CompanyPanelProvider.php @@ -28,6 +28,8 @@ use Modules\Core\Filament\Company\Pages\CompanySettings; use Modules\Core\Filament\Company\Pages\Dashboard; use Modules\Core\Filament\Company\Pages\MyCompanies; +use Modules\Core\Filament\Company\Pages\ReportBuilder; +use Modules\Core\Filament\Company\Pages\ReportTemplates; use Modules\Core\Filament\Company\Resources\CompanyUsers\CompanyUserResource; use Modules\Core\Filament\Company\Resources\EmailTemplates\EmailTemplateResource; use Modules\Core\Filament\Company\Resources\NoteTemplates\NoteTemplateResource; @@ -186,6 +188,8 @@ public function panel(Panel $panel): Panel EditProfile::class, MyCompanies::class, CompanySettings::class, + ReportTemplates::class, + ReportBuilder::class, ]) ->widgets([ RecentQuotesWidget::class, From d3af803a378ee259fd5af02cb5f7764244a46be7 Mon Sep 17 00:00:00 2001 From: Niels Drost Date: Tue, 25 Aug 2026 09:30:55 +0200 Subject: [PATCH 44/86] chore(e2e): bring in Playwright harness from ci/e2e-playwright-tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Steal the existing, CI-wired Playwright base (package.json script/dep, root config, and Modules/Core/Tests/E2E shared infra) from origin/ci/e2e-playwright-tests verbatim instead of building a new one — we need it to add regression coverage for the report-builder Mason bugs and it already exists on that branch, unmerged. Copied as-is: playwright.config.js and every Modules/Core/Tests/E2E/*.js helper (config, test wrapper, global-setup, tenant-path, error-capture, error-summary-reporter, list-assertions, required-field-helpers, auth-helpers). package.json gains only the @playwright/test devDependency and "e2e" script, matching that branch's diff. Deliberately left out that branch's own per-module spec files (admin-*, auth, company-users, navigation-smoke, required-fields) — unrelated in-progress work on that branch, out of scope here. --- .github/workflows/e2e-tests.yml | 113 +++++ Modules/Core/Tests/E2E/auth-helpers.js | 39 ++ Modules/Core/Tests/E2E/config.js | 20 + Modules/Core/Tests/E2E/error-capture.js | 67 +++ .../Core/Tests/E2E/error-summary-reporter.js | 51 +++ Modules/Core/Tests/E2E/global-setup.js | 34 ++ Modules/Core/Tests/E2E/list-assertions.js | 37 ++ .../Core/Tests/E2E/required-field-helpers.js | 422 ++++++++++++++++++ Modules/Core/Tests/E2E/tenant-path.js | 16 + Modules/Core/Tests/E2E/test.js | 39 ++ package.json | 4 +- playwright.config.js | 46 ++ 12 files changed, 887 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/e2e-tests.yml create mode 100644 Modules/Core/Tests/E2E/auth-helpers.js create mode 100644 Modules/Core/Tests/E2E/config.js create mode 100644 Modules/Core/Tests/E2E/error-capture.js create mode 100644 Modules/Core/Tests/E2E/error-summary-reporter.js create mode 100644 Modules/Core/Tests/E2E/global-setup.js create mode 100644 Modules/Core/Tests/E2E/list-assertions.js create mode 100644 Modules/Core/Tests/E2E/required-field-helpers.js create mode 100644 Modules/Core/Tests/E2E/tenant-path.js create mode 100644 Modules/Core/Tests/E2E/test.js create mode 100644 playwright.config.js diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml new file mode 100644 index 000000000..0f1e522be --- /dev/null +++ b/.github/workflows/e2e-tests.yml @@ -0,0 +1,113 @@ +name: E2E Tests + +on: + push: + branches: [develop] + pull_request: + branches: [develop] + +permissions: + contents: read + +jobs: + e2e: + timeout-minutes: 60 + runs-on: ubuntu-latest + + services: + db: + image: mariadb:10.8 + env: + MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: "yes" + MARIADB_DATABASE: invoiceplane_test + options: >- + --health-cmd="healthcheck.sh --connect --innodb_initialized" + --health-interval=10s + --health-timeout=5s + --health-retries=3 + ports: + - 3306:3306 + + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup PHP + uses: shivammathur/setup-php-action@v2 + with: + php-version: '8.4' + extensions: mbstring,pdo,pdo_mysql + tools: composer + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '22' + cache: 'yarn' + + - name: Cache Composer packages + uses: actions/cache@v4 + with: + path: vendor + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-composer- + + - name: Install PHP dependencies + run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + + - name: Install npm dependencies + run: yarn install --frozen-lockfile + + - name: Setup environment + run: | + cp .env.example .env + php artisan key:generate + + - name: Run migrations and seeders + run: php artisan migrate --seed + env: + DB_HOST: 127.0.0.1 + DB_PORT: 3306 + DB_DATABASE: invoiceplane_test + DB_USERNAME: root + DB_PASSWORD: '' + + - name: Start application server + run: | + php artisan serve --host=127.0.0.1 --port=8000 & + sleep 5 + env: + DB_HOST: 127.0.0.1 + DB_PORT: 3306 + DB_DATABASE: invoiceplane_test + DB_USERNAME: root + DB_PASSWORD: '' + + - name: Install Playwright browsers + run: npx playwright install chromium + + - name: Run E2E tests + run: npm run e2e + env: + APP_URL: http://127.0.0.1:8000 + # Defaults match the account DatabaseSeeder always creates and + # attaches to the `ivplv2` company; override via secrets if a + # dedicated E2E account is introduced later. + E2E_EMAIL: ${{ secrets.E2E_EMAIL || 'admin@invoiceplane.com' }} + E2E_PASSWORD: ${{ secrets.E2E_PASSWORD || 'password' }} + E2E_TENANT: ${{ secrets.E2E_TENANT || 'ivplv2' }} + DB_HOST: 127.0.0.1 + DB_PORT: 3306 + DB_DATABASE: invoiceplane_test + DB_USERNAME: root + DB_PASSWORD: '' + + - name: Upload Playwright Report + uses: actions/upload-artifact@v4 + if: always() + with: + name: playwright-report + path: playwright-report/ + retention-days: 30 diff --git a/Modules/Core/Tests/E2E/auth-helpers.js b/Modules/Core/Tests/E2E/auth-helpers.js new file mode 100644 index 000000000..38a6e1c6f --- /dev/null +++ b/Modules/Core/Tests/E2E/auth-helpers.js @@ -0,0 +1,39 @@ +/** + * Global authentication helpers for E2E tests. + * + * Every test starts with a pre-authenticated session restored from + * global-setup.js's storageState — no per-test login is needed. Reach for + * these helpers only when a test specifically exercises the auth flow + * itself (e.g. login/logout behavior). + */ + +import { E2E_EMAIL, E2E_PASSWORD } from './config.js'; +import { tenantPath } from './tenant-path.js'; + +export async function login(page, email = E2E_EMAIL, password = E2E_PASSWORD) { + await page.goto('/login'); + // Filament v5 form inputs bind via wire:model, not a native `name` + // attribute — `[name="email"]` never matches anything real. + await page.fill('input[type="email"]', email); + await page.fill('input[type="password"]', password); + await page.click('[type="submit"]'); + await page.waitForURL(new RegExp(tenantPath('/dashboard'))); +} + +export async function logout(page) { + await page.click('[aria-label="User menu"]'); + // The dropdown item is a plain

g0Hy!rk(Curgyn=wes+TlH77)tEa3 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