From 6087bd0ea89b7778312fe0e3ec31eb1dd7b1f183 Mon Sep 17 00:00:00 2001 From: vahid-ahmadi Date: Thu, 13 Aug 2026 14:33:29 +0100 Subject: [PATCH] Cut the validation pages, rebuild the charts that could not fail, and give define-uk a paper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Seven parallel reviews over the model validation pages, the paper landings, the chart generator and the one model without a working paper. **Text.** Every model validation page is shorter: svar 2981 -> 1892 words (-36%), frb-us 1527 -> 945 (-38%), obr 1827 -> 1347 (-26%), define -23%, pe -24%, us-hank -16%. The pattern everywhere was one caveat stated five or six times — on frb-us, "the tracking residual is an identity, not evidence" appeared in the opening paragraph, the metric note, a figcaption, both cells of one table and a row of another. Each now lives in full in exactly one place with pointers to it. Correction narratives came out; git holds the history and a reader wants the current state. **A sentence that was flatly wrong.** svar/validation opened its evidence section with "the one-year global-shock shares land within about a point of the paper's benchmarks". CPI is 8pp short, and the corrected table sat directly beneath it. **The retracted HMRC claim, four more times.** "Within the range of the ready reckoner" survived in the obr-macro paper's own abstract and conclusion — contradicting its own comparison table — in the registry entry served over MCP, in a figure-generator docstring, and on the catalog page. £6.46bn is 6.4% *below* £6.9bn. A sweep now finds zero instances in any .html, .tex or .py. **Two gates that are one gate.** The obr page presented anchored GDP (0.15%) and anchored consumption (0.25%) as independent CI checks. The GDP error *equals* the consumption error in £m in all twelve quarters, max discrepancy 3.35e-06: every other demand-identity term is exogenous or pinned. Stated once, at the point of claim. **Charts.** 11 of 14 rebuilt. The flagged win-rate chart drew its count label six pixels above the wins stack — inside the grey "does not beat it" segment — and every column was the same height because the stack always totalled 8, so height encoded nothing. It is a count chart now with the ceiling as a reference line. `hank-targets` tabulated eight rows of which six were calibration inputs held fixed through the solve: eight passes no implementation could fail. It now shows the seven solved parameters against Table B.III, *including* the vphi row that misses by 17.3%. `frbus-residuals` painted the tracking identity — the row the page calls not evidence — in the accent colour, so it read as the headline. `svar-coverage`'s mean line concealed CPI energy at 29% coverage and its axis floor hid it. Two charts used colour to encode what position already encoded. **A CSS bug that silenced every warning in every chart.** `.vchart .vc-warn` set `color`, which SVG text does not read, so `.vchart text { fill: var(--paper-dim) }` won and every warning line rendered as muted grey at the browser default size. The HTML cells sharing that selector were always fine, which is why it survived. **define-uk has a working paper**, 28 pages — it was the only model without one. Its Table 1 splits the gates under a header reading "cannot fail as evidence of agreement", and argues each at the point of claim: the ±0.31pp growth gate was set after the run and clears by 0.01pp; the FMM bands are ours and cannot discriminate; the emissions gate was set at the observed divergence. It also found that the GPI anchor compares a policy *input* ("invest an additional 1% of GDP") against a GDP *response* (+0.92%), that one of the thirteen gap records is our own modelling choice rather than a manual defect, and that the two SSRN papers the report conflated are different papers. The five existing paper landings now emit an identical structure — the spread in length fell from 161–393 words to 321–339 — and both "Corrected August 2026" changelogs are gone. The us-hank landscape report is inside the site chrome instead of being a standalone A4 sheet with its own palette, which is what made it feel like leaving the site. 96 pages, 1341 site tests, 276 integration tests, every drift gate clean. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 2 +- define/code/index.html | 2 +- define/index.html | 13 +- define/methodology/index.html | 14 +- define/validation/index.html | 187 ++--- economy/topics/growth/index.html | 2 +- economy/topics/inflation/index.html | 2 +- frb-us/validation/index.html | 214 +++-- .../src/policyengine_macro/capabilities.py | 62 +- integration/tests/test_site_contract.py | 7 + models/index.html | 4 +- obr/index.html | 4 +- obr/validation/index.html | 266 +++--- olg/validation/index.html | 83 +- papers/boe-svar/index.html | 11 +- papers/define-uk/index.html | 148 ++++ papers/define-uk/main.pdf | Bin 0 -> 213723 bytes papers/define-uk/main.tex | 52 ++ papers/define-uk/references.bib | 184 +++++ papers/define-uk/sections/appendix.tex | 104 +++ papers/define-uk/sections/calibration.tex | 51 ++ papers/define-uk/sections/implementation.tex | 37 + papers/define-uk/sections/intro.tex | 22 + papers/define-uk/sections/limitations.tex | 26 + papers/define-uk/sections/literature.tex | 28 + papers/define-uk/sections/model.tex | 70 ++ papers/define-uk/sections/references.tex | 1 + .../define-uk/sections/reimplementation.tex | 88 ++ papers/define-uk/sections/source.tex | 37 + papers/define-uk/sections/validation.tex | 104 +++ papers/frb-us/index.html | 5 +- papers/obr-macro/figures/fig_reform.py | 2 +- papers/obr-macro/index.html | 9 +- papers/obr-macro/main.pdf | Bin 355056 -> 355178 bytes papers/obr-macro/main.tex | 2 +- papers/obr-macro/sections/conclusion.tex | 2 +- papers/pe-microsim/index.html | 11 +- papers/pe-microsim/main.pdf | Bin 181219 -> 181865 bytes papers/pe-microsim/sections/limitations.tex | 2 +- papers/pe-microsim/sections/validation.tex | 2 +- papers/psl-og/index.html | 7 +- pe/validation/index.html | 78 +- reports/fetch_hank_counts.py | 7 +- reports/us-hank-open-source.html | 121 --- reports/us-hank-open-source/index.html | 143 ++++ site_contract.py | 2 +- site_nav.py | 17 +- sitemap.xml | 1 + style.css | 8 +- svar/validation/index.html | 760 ++++++++---------- us-hank/validation/index.html | 165 ++-- validation/figures/chart_data.json | 18 +- validation/figures/make_charts.py | 569 +++++++++---- 53 files changed, 2400 insertions(+), 1356 deletions(-) create mode 100644 papers/define-uk/index.html create mode 100644 papers/define-uk/main.pdf create mode 100644 papers/define-uk/main.tex create mode 100644 papers/define-uk/references.bib create mode 100644 papers/define-uk/sections/appendix.tex create mode 100644 papers/define-uk/sections/calibration.tex create mode 100644 papers/define-uk/sections/implementation.tex create mode 100644 papers/define-uk/sections/intro.tex create mode 100644 papers/define-uk/sections/limitations.tex create mode 100644 papers/define-uk/sections/literature.tex create mode 100644 papers/define-uk/sections/model.tex create mode 100644 papers/define-uk/sections/references.tex create mode 100644 papers/define-uk/sections/reimplementation.tex create mode 100644 papers/define-uk/sections/source.tex create mode 100644 papers/define-uk/sections/validation.tex delete mode 100644 reports/us-hank-open-source.html create mode 100644 reports/us-hank-open-source/index.html diff --git a/README.md b/README.md index 2efe296b..132a036e 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,7 @@ python3 -m http.server 8000 # then open http://localhost:8000/ | `forecasts/` | the forecast track record, plus the data store (`#data`) and the release notes index (`#notes`) | | `forecasts/us/` | why there is no US track record yet | | `papers//` | the four working-paper pages: `obr-macro`, `boe-svar`, `frb-us`, `psl-og` (`papers/us-hank/` holds figures only, and `papers/*.pdf` are served directly) | -| `reports/` | replication reports — `define-uk-replication/` and `us-hank-open-source.html` | +| `reports/` | replication reports — `define-uk-replication/` and `us-hank-open-source/` | | `notes/releases/` | index of the generated per-vintage release notes, plus `notes/-/` note pages | | `connect/` | connect it or code it — MCP / CLI setup and the Python API | | `contact/` | who to contact | diff --git a/define/code/index.html b/define/code/index.html index 4042971b..a661dffd 100644 --- a/define/code/index.html +++ b/define/code/index.html @@ -72,7 +72,7 @@

Methodology Validation Code - Paper + Paper diff --git a/define/index.html b/define/index.html index 91b5f270..d30d2a17 100644 --- a/define/index.html +++ b/define/index.html @@ -91,7 +91,7 @@

Connected to the microsimulation — experimentally, deltas in, incidence ou Methodology Validation Code - Paper + Paper @@ -135,7 +135,7 @@

Validated to the ceiling the publications allow. Deltas only.

Two things do not pass. The baseline emissions path runs below the - published table — −3.4% in 2025, widening to −23% by 2040 + published table — −3.5% in 2025, widening to −23.3% by 2040 — pinned at the observed ratios and raised with the authors. And the baseline sits far from official outturns: 2025 growth 4.66% against an ONS 1.31%, 2024 emissions 401.5 MtCO2e against a DESNZ 371 — a gap @@ -146,10 +146,11 @@

Validated to the ceiling the publications allow. Deltas only.

Two more things to know before quoting a number

The multiplier runs high. Our cumulative - green-public-investment multiplier is 1.78, against IMF - green-spending estimates of 1.1–1.5 and an OBR capital - multiplier of ≈1.0 — the demand-led closure, labelled wherever - a delta is served. The upstream table's own multiplier columns are + green-public-investment multiplier is 1.78. It is not comparable to the + short-horizon published multipliers it used to sit beside: ours is + cumulative to 2040, its denominator is endogenous and biases the + ratio up, and a demand-led closure implies above 1 anyway. Labelled + wherever a delta is served. The upstream table's own multiplier columns are unusable, and never quoted.

diff --git a/define/methodology/index.html b/define/methodology/index.html index 5774294c..b5647d5a 100644 --- a/define/methodology/index.html +++ b/define/methodology/index.html @@ -80,7 +80,7 @@

Methodology Validation Code - Paper + Paper @@ -232,7 +232,7 @@

What version 1.1 added

DEFINE-UK 1.78 (our computation) - IMF green spending 1.1–1.5 + short-horizon published multipliers (not comparable) OBR capital spending ≈ 1.0 @@ -243,12 +243,12 @@

What version 1.1 added

The closure

DEFINE-UK is closed demand-led: output adjusts to aggregate demand rather than being pinned to a supply-side potential path. That is the standard post-Keynesian SFC closure, and it has a direct, observable consequence — fiscal expansions are not crowded out by an assumed return to potential, so fiscal multipliers come out larger than in supply-constrained models like the OBR emulator.

Measured, not asserted

-

We measure this rather than assert it: our own computation of the model's cumulative green-public-investment multiplier is 1.78, against IMF green-spending estimates of 1.1–1.5 and an OBR capital-spending impact multiplier of ≈1.0. Above the official range, but explicably so given the closure — and every surface that quotes a DEFINE-UK delta carries the demand-led caveat. The full comparison is on the validation page.

+

We measure this rather than assert it: our own computation of the model's cumulative green-public-investment multiplier is 1.78. It is not comparable to the short-horizon published multipliers it used to be set against: ours is cumulative to 2040, its denominator is endogenous and biases the ratio up, and a demand-led closure implies above 1 anyway. Every surface that quotes a DEFINE-UK delta carries the caveat. The full comparison is on the validation page.

closure and multipliers
closure
demand-led: \(Y\) adjusts to aggregate demand, not a potential path
our computation
cumulative green-public-investment multiplier 1.78
-
comparators
IMF green spending 1.1–1.5 · OBR capital-spending impact ≈ 1.0
+
comparators
not comparable to short-horizon published multipliers: ours is cumulative to 2040, its denominator is endogenous and biases the ratio up, and a demand-led closure implies above 1 anyway
@@ -308,7 +308,7 @@

Verifying the switches

numerical oracle only clean-room Python reimplementation: the manual is the specification - upstream source never read to write equations · 5 milestones · milestone 1 passed with 27 identity tests + upstream source never read to write equations · 5 milestones · milestone 1 passed with 44 identity tests of 62 collected
click to expand
@@ -317,7 +317,7 @@

The constraint

Deltas only, local only

pe-macro define-scenarios and pe-macro define-scenario return annualised scenario-minus-baseline delta paths only, framed with mandatory caveats — never levels, because the baseline's calibration gap to ONS/DESNZ/OBR actuals is computed and material. The hosted MCP tools return run instructions instead of results, because the unlicensed upstream is never hosted. score_reform will not accept this model.

The clean-room path to hosting

-

The path to hosting is a clean-room Python reimplementation of the published Model Manual — the same adapted-model approach as the OBR emulator. The protocol: the manual is the specification, and the upstream run is a numerical oracle only — its outputs are compared against ours, but its source code is never read to write equations, and every equation must carry a reference to the manual section and equation number it implements. Five milestones run from the accounting core to the full policy scenarios; milestone 1 — the §2.2 transactions and balance-sheet matrices on the §5 initial values — passed with 27 identity tests, including one documented inconsistency in the manual itself (Table 6 omits a dividend term of Eq. 383 from the interbank-lending row, which the tests pin exactly rather than paper over).

+

The path to hosting is a clean-room Python reimplementation of the published Model Manual — the same adapted-model approach as the OBR emulator. The protocol: the manual is the specification, and the upstream run is a numerical oracle only — its outputs are compared against ours, but its source code is never read to write equations, and every equation must carry a reference to the manual section and equation number it implements. Five milestones run from the accounting core to the full policy scenarios; milestone 1 — the §2.2 transactions and balance-sheet matrices on the §5 initial values — passed with 44 identity tests of 62 collected, including one documented inconsistency in the manual itself (Table 6 omits a dividend term of Eq. 383 from the interbank-lending row, which the tests pin exactly rather than paper over).

adapter architecture
pinned commit
runtime fetch at 846081a; executed unmodified, in R; nothing vendored or hosted
@@ -357,7 +357,7 @@

The clean-room path to hosting

closure and multipliers
closure
demand-led: \(Y\) adjusts to aggregate demand, not a potential path
our computation
cumulative green-public-investment multiplier 1.78
-
comparators
IMF green spending 1.1–1.5 · OBR capital-spending impact ≈ 1.0
+
comparators
not comparable to short-horizon published multipliers: ours is cumulative to 2040, its denominator is endogenous and biases the ratio up, and a demand-led closure implies above 1 anyway
@@ -82,19 +82,19 @@

The replication gates, check by check.

- Everything below is recorded in the adapter repository's - VALIDATION.md - and enforced by tests against the cached pinned run (upstream commit - 846081a), so drift fails loudly rather than silently. + Every row below is enforced by tests against the cached pinned run + (upstream commit 846081a) and recorded in the adapter's + VALIDATION.md, + so drift fails loudly.

- + - + @@ -102,14 +102,14 @@

The replication gates, check by check.

- + - + @@ -117,22 +117,21 @@

The replication gates, check by check.

- + - + - +
DEFINE-UK replication gates against the manual and the papers
what is checkedtolerancestatus
Manual Table 4, macro block — real GDP growth, unemployment, population 16+, labour force at 2025/2030/2040, S1 baselineManual Table 4, macro block — growth, unemployment, population 16+, labour force, S1 baseline population and labour force ±0.01m; growth ±0.31pp; unemployment ±0.2ppPASS (2026-08-04) — growth exact at 2030/2040, −0.30pp at 2025 against a ±0.31pp gate: passing by 0.01pp is not the same as matchingPASS (2026-08-04) — but 2025 growth misses by −0.30pp, clearing by 0.01pp on a gate set after the run
Manual Table 4, total emissions, S1 baseline DIVERGENCE — pinned; see below
Scenario design — each cached scenario toggles exactly the policy switches its published description claimsScenario design — each cached scenario toggles exactly its published policy switches exact flag set per scenario; HOUSING_SUB_RATE=0.4 pinned PASS (2026-08-05, 10 tests)
FMM-2023 anchors — green public investment GDP peak; baseline 2030 emissions wide (pre-1.0 vintage): GDP peak 0.7–1.3%; emissions 330–352 MtCO2ePASS — peak +0.92% vs published ≈+1%; 342.8 vs “just under 350”. The tests assert membership of the wide bands, not these two figuresPASS — peak +0.92% vs ≈+1%; 342.8 vs “just under 350”. Regression pins, not agreement tests: a band reaching 352 cannot test “just under 350”
Published numeric scenario results for v1.1 CLOSED at the achievable ceiling — none exist; see below
Clean-room reimplementation, milestone 1 — §2.2 transactions and balance-sheet matrices on the §5 initial valuesClean-room reimplementation, milestone 1 — §2.2 matrices on the §5 initial values manual's 4-significant-figure printing precisionPASS (2026-08-04, 62 tests, 44 of them Table 1/2 row and column identities)PASS (2026-08-04) — 62 tests, 44 of them Table 1/2 row and column identities; 13 defects in the manual pinned as machine-readable MANUAL_GAPS records
Calibration vs external observations (ONS/DESNZ/OBR) computed and regression-tested, not tolerance-gatedCOMPUTED — gaps are material; see the table belowCOMPUTED — gaps are material; see below
This adapter runs the authors' unmodified code at a pinned commit. - DEFINE-UK's design belongs to George, Dafermos, Nikolaidi and - co-authors; nothing here is produced or endorsed by them, and no - result should be presented as theirs. + DEFINE-UK belongs to George, Dafermos, Nikolaidi and co-authors; + nothing here is produced or endorsed by them, and no result is theirs.
@@ -144,15 +143,12 @@

The baseline against official numbers, computed not prose.

- Since 2026-08-05 this comparison is an artifact, not a paragraph: - define_uk.validation.baseline_calibration() recomputes - every row from the cached pinned run against pinned external - observations, the result is committed as - validation/baseline_vs_external.csv, - and the test suite fails on any drift between the committed table and - a recomputation. Values use the annual-mean convention, so 2025 - growth reads 4.66% where Table 4 prints 4.96% — the same - −0.30pp anchoring gap recorded under the Table 4 gate. + Every row is recomputed from the cached pinned run against pinned + external observations and committed as + baseline_vs_external.csv; + the suite fails on any drift. The annual-mean convention puts 2025 + growth at 4.66% where Table 4 prints 4.96% — the same + −0.30pp anchoring gap as the Table 4 gate above.

@@ -203,24 +199,18 @@

The baseline against official numbers, computed not prose.

DEFINE-UK baseline (cached pinned run) against external observations, from validation/baseline_vs_external.csv

- external sources, row by row: ONS quarterly national accounts - (uk_gdp_cvm vintage 2026-07-26; 2025 calendar-year mean over 2024) - and OBR March 2026 EFO near-term 1–2%; OBR long-run growth - assumption ≈1.5–1.8%; ONS MGSX (vintage 2026-07-26; 2025 - annual mean, matching the model column's annual-mean convention); - ONS 16+ population estimate; ONS labour force - ≈34–35m; DESNZ UK territorial greenhouse gas emissions, - 2024 provisional (2023 final: 384); UK NDC of 68% below 1990 by 2030 - — the manual itself notes the current-policies baseline falls short - by design. + external sources: ONS national accounts and MGSX (2026-07-26 + vintages), ONS population and labour-force estimates, DESNZ 2024 + provisional territorial emissions, OBR March 2026 EFO, and the UK + NDC — attributed row by row in the committed CSV.

- The implication drives the product: near-term baseline levels are not - competitive with the OBR emulator or the - BoE SVAR and must never be presented as - forecasts. The manual says the baseline “should not be seen as - a prediction”; we take that literally. The defensible outputs - are scenario deltas, with the demand-led caveat stated. + So the levels are not forecasts and are never served as such: the + manual says the baseline “should not be seen as a + prediction”, and near-term levels are not competitive with the + OBR emulator or the BoE SVAR. + Only scenario deltas are defensible, carrying the demand-led + caveat.

@@ -232,34 +222,25 @@

The fiscal multiplier, stated honestly.

- Our own computation of the model's cumulative - green-public-investment multiplier — cumulative ΔGDP over cumulative - ΔSPEND_GVT, nominal, over the full simulation — is - 1.78. It is not comparable to the published - green-spending multipliers it sat beside here — an IMF range of - 1.1–1.5 and the OBR's ≈1.0 capital-spending impact - multiplier. Three things all push the same way. Ours is a - cumulative ratio to 2040 set against short-horizon - multipliers. Its denominator SPEND_GVT is - endogenous: government investment is only 12.8% of it, and - social benefits fall when unemployment does, so a scenario that cuts - unemployment shrinks the denominator and biases the ratio up. And the - closure is demand-led with Kaldor–Verdoorn productivity and real - GDP not held to a supply ceiling, so a ratio above 1 over fifteen - years is what the model implies rather than a finding. The clean - comparison — cumulative ΔGDP over cumulative ΔGCF_GVTG — has not been - computed; until it is, treat 1.78 as upper-leaning. The caveats travel - with every served delta (GPI_MULTIPLIER_CAVEATS, gated by - test). + The model's cumulative green-public-investment multiplier, on our own + computation — nominal cumulative ΔGDP over ΔSPEND_GVT to 2040 — is + 1.78. It is not comparable to the IMF's + 1.1–1.5 or the OBR's ≈1.0, and three things push the same + way: those are short-horizon multipliers where ours is cumulative to + 2040; the denominator is endogenous (government investment is 12.8% of + SPEND_GVT, and social benefits fall as unemployment does, + shrinking it); and a demand-led closure with Kaldor–Verdoorn + productivity implies a ratio above 1 anyway. The clean impulse-based + version has not been computed, so treat 1.78 as upper-leaning. The + caveats travel with every served delta + (GPI_MULTIPLIER_CAVEATS, gated by test).

- The upstream repository's own Multiplier_Summary.csv is - documented unusable: its multiplier columns are - identical across all eight scenarios, and its ΔG figure matches the - cumulative delta of no variable in the scenario file. It is never - quoted; a previously circulated ≈2.4 derived from it should not - be either. Our computation supersedes it and is pinned in the test - suite. + Upstream's own Multiplier_Summary.csv is + unusable and never quoted: its multiplier columns are + identical across all eight scenarios and its ΔG matches the cumulative + delta of no variable in the scenario file. The ≈2.4 derived from + it should not be quoted either.

@@ -272,22 +253,13 @@

The emissions path diverges from the published table.

The one open divergence: the pinned upstream code runs - below the manual's published Table 4 emissions, and the - gap widens with horizon. + below the manual's published Table 4 emissions by + −3.5% in 2025, −10.2% in 2030 and −23.3% in 2040.

-
- - - - - - - -
S1 baseline total emissions: pinned run vs manual Table 4, MtCO2e/yr
yearpinned runpublished tablegap
2025393407−3.4%
2030343382−10%
2040249324−23%
define-uk: S1 baseline total emissions — pinned run vs manual Table 4 (MtCO2e/yr) -Grouped bar chart of S1 baseline total UK emissions in MtCO2e per year, the cached pinned run of upstream commit 846081a against the manual's published Table 4. 2025: pinned run 393, published table 407, a gap of -3.4 per cent; 2030: pinned run 343, published table 382, a gap of -10.2 per cent; 2040: pinned run 249, published table 324, a gap of -23.1 per cent. The pinned code runs below the published table and the gap widens with horizon; the divergence is gated at the observed ratios so any further drift fails loudly. Data from validation/figures/data/define_emissions_divergence.csv. +Grouped bar chart of S1 baseline total UK emissions in MtCO2e per year, the cached pinned run of upstream commit 846081a against the manual's published Table 4. 2025: pinned run 393, published table 407, a gated ratio of 0.965, a gap of -3.5 per cent; 2030: pinned run 343, published table 382, a gated ratio of 0.898, a gap of -10.2 per cent; 2040: pinned run 249, published table 324, a gated ratio of 0.767, a gap of -23.3 per cent. The pinned code runs below the published table and the gap widens with horizon; what is gated is the ratio of the two, pinned to plus or minus 0.02, so any further drift fails loudly. Bar heights are the levels in validation/figures/data/define_emissions_divergence.csv, rounded to whole MtCO2e; the percentages are the gated ratios themselves, which is why they differ slightly from the ratio of the rounded bars. 0 @@ -304,33 +276,31 @@

The emissions path diverges from the published table.

407 published -2025 (-3%) +2025 (-3.5%) 343 pinned run 382 published -2030 (-10%) +2030 (-10.2%) 249 pinned run 324 published -2040 (-23%) +2040 (-23.3%) -
S1 baseline total emissions at the manual's benchmark years: the cached pinned run (upstream commit 846081a) against the published Table 4. The gap widens from −3.4% in 2025 to −23% in 2040 and is gated at the observed ratios. Source: validation/figures/data/define_emissions_divergence.csv, from the adapter repository's VALIDATION.md.
+
S1 baseline total emissions: the cached pinned run (upstream 846081a) against the published Table 4. What is gated is the ratio of the two — 0.965 / 0.898 / 0.767, pinned to ±0.02 in the adapter's validation/reference_outputs.json, which is where the percentages above come from; the bar labels round the published levels. Source: validation/figures/data/define_emissions_divergence.csv.

- This is not an extraction error: the components + Not an extraction error: the components (EMIS_NELEC + EMIS_ELEC) sum - exactly to the total, and the baseline is identical across scenario - folders — so it is a vintage or calibration gap between the published - table and commit 846081a. The divergence is gated at the - observed ratios so any further drift fails loudly, and it has been - raised with the authors on the upstream issue tracker - (DEFINE-model/DEFINE_UK_1.1#1). + exactly to the total and the baseline is identical across scenario + folders, so it is a vintage or calibration gap between the published + table and commit 846081a — raised with the authors as + DEFINE_UK_1.1#1.

@@ -342,35 +312,20 @@

No numeric v1.1 scenario results are published. That is the ceiling.

- The explicit statement. An exhaustive search - established that no machine-readable numeric scenario results are - published for DEFINE-UK v1.1: the manual's results stop at the - baseline (Table 4) plus scenario design parameters, and - the accompanying papers are paywalled with figure-only results. A - full published-figure replication of the scenarios is therefore not - possible today, and every scenario delta this adapter serves carries - that status. + No machine-readable numeric scenario results are published for + DEFINE-UK v1.1: the manual stops at the baseline plus scenario + design parameters, and the accompanying papers are paywalled + with figure-only results. A published-figure replication of the + scenarios is not possible today, and every delta this adapter serves + carries that status.

- What is verifiable is verified, at three levels. The design gate - pins that each scenario toggles exactly its published policy - switches. The oracle gates pin the delta paths against the cached - pinned run — deltas finite, baselines identical across scenario - blocks, sign sanity, eleven pinned delta points. And the two figures - the paper's open 2023 conference vintage states in text both anchor, - within deliberately wide vintage tolerances: green public investment - peaks at +0.92% of GDP against a published - ≈+1%, and the 2030 current-policies baseline emits - 342.8 MtCO2e/yr against “just under - 350”. -

-

- The upgrade path is equally explicit: the gate reopens if the - authors publish scenario tables, or if the paywalled papers become - accessible. Until then the status label stands — experimental; - partial replication; scenario deltas only, never levels — and the - score a reform workflow does not accept - this model. + So what is gated is design and self-consistency — the switch sets, and + the delta paths against the cached pinned run — plus the two coarse + FMM-2023 anchors above. The gate reopens if the authors publish + scenario tables or the papers become accessible. Until then: + experimental, partial replication, deltas only, and + score a reform does not accept this model.

diff --git a/economy/topics/growth/index.html b/economy/topics/growth/index.html index 49c82b37..b596f0d4 100644 --- a/economy/topics/growth/index.html +++ b/economy/topics/growth/index.html @@ -148,7 +148,7 @@

The model view, and the same breath its limits.

Predictive validation: weak. - No demonstrated skill against a random walk WITH DRIFT on any variable at any horizon once the 64 variable-by-horizon tests are adjusted together: minimum Benjamini-Hochberg q = 0.36, and 0.40 under the published specification. A driftless walk on a trending log level is too weak a benchmark, so the strong-looking CPI result (0.63 at h=1) becomes 0.83 at h=1 and 1.03 at h=8 against drift. Bank Rate comes closest (0.79 at h=1, unadjusted p=0.018 -- the smallest of the 64) but does not survive the adjustment. UK GDP is not distinguishable from drift at any horizon (p=0.33-0.43). Two caveats on figures quoted elsewhere: the ex-Covid ratio of 0.77 and the p=0.38-0.67 range are against the weaker no-change benchmark, not drift. Separately, the rolling evaluation had estimated without the six Covid dummies that every published forecast carries; under the published specification UK GDP goes 1.06 to 0.99 at h=1 and 1.12 to 0.95 at h=8 -- level with naive rather than worse, still not better. The frozen-edge run gives 0.32pp RMSE from a single origin, on the 2024Q2 real-time vintage. + No demonstrated skill against a random walk WITH DRIFT on any variable at any horizon. The grid runs 64 variable-by-horizon tests; adjusted together, the smallest Benjamini-Hochberg q is 0.36. Bank Rate comes closest (0.79 at h=1) and does not survive. The model looks strong against a driftless walk, but that benchmark forfeits the trend on a trending log level and is too weak to learn from. Under the published specification UK GDP is level with naive rather than worse -- an improvement, not a win. Benchmarks, horizons and the multiplicity table are on the validation page. Read the validation page →

diff --git a/economy/topics/inflation/index.html b/economy/topics/inflation/index.html index ede1b525..2fd47119 100644 --- a/economy/topics/inflation/index.html +++ b/economy/topics/inflation/index.html @@ -137,7 +137,7 @@

The model view, and the same breath its limits.

Predictive validation: weak. - No demonstrated skill against a random walk WITH DRIFT on any variable at any horizon once the 64 variable-by-horizon tests are adjusted together: minimum Benjamini-Hochberg q = 0.36, and 0.40 under the published specification. A driftless walk on a trending log level is too weak a benchmark, so the strong-looking CPI result (0.63 at h=1) becomes 0.83 at h=1 and 1.03 at h=8 against drift. Bank Rate comes closest (0.79 at h=1, unadjusted p=0.018 -- the smallest of the 64) but does not survive the adjustment. UK GDP is not distinguishable from drift at any horizon (p=0.33-0.43). Two caveats on figures quoted elsewhere: the ex-Covid ratio of 0.77 and the p=0.38-0.67 range are against the weaker no-change benchmark, not drift. Separately, the rolling evaluation had estimated without the six Covid dummies that every published forecast carries; under the published specification UK GDP goes 1.06 to 0.99 at h=1 and 1.12 to 0.95 at h=8 -- level with naive rather than worse, still not better. The frozen-edge run gives 0.32pp RMSE from a single origin, on the 2024Q2 real-time vintage. + No demonstrated skill against a random walk WITH DRIFT on any variable at any horizon. The grid runs 64 variable-by-horizon tests; adjusted together, the smallest Benjamini-Hochberg q is 0.36. Bank Rate comes closest (0.79 at h=1) and does not survive. The model looks strong against a driftless walk, but that benchmark forfeits the trend on a trending log level and is too weak to learn from. Under the published specification UK GDP is level with naive rather than worse -- an improvement, not a win. Benchmarks, horizons and the multiplicity table are on the validation page. Read the validation page →

diff --git a/frb-us/validation/index.html b/frb-us/validation/index.html index f6d8a226..9902d654 100644 --- a/frb-us/validation/index.html +++ b/frb-us/validation/index.html @@ -81,38 +81,33 @@

The baseline agreement is an identity; the shocks are the evidence.

- This is a replication with a published anchor — the - sharpest-tested member of the suite, because for once the ground truth - is exact rather than statistical. Three invariants carry the weight, - all enforced in continuous integration, including four like-for-like - scenarios gated against vendor-generated references. One of the three - carries no weight of its own: the tracking invariant is an identity - init_trac constructs, so the evidence is the agreement - with the Board's shocked paths, where the add-factors are - held fixed and the solver has real work to do. + Shocked paths match the Fed's own pyfrbus to + 6.0×10−9, inside the gap between the Board's own + two releases. The baseline tracking residual is not evidence: + init_trac makes that solve an algebraic identity + (table below).

- Machine precision is a claim about fidelity to the Fed's - baseline, not about the baseline being right: against realized - 2026 outturns, the April 2026 LONGBASE tracks GDP growth, - unemployment, and the funds rate within ~0.3pp but misses - core PCE inflation by −1.7pp (2.7% baseline vs 4.4% - annualized outturn, 2026Q1) — recorded by a weekly + Fidelity to the Fed's baseline is not the baseline being right. Against + 2026 outturns the April 2026 LONGBASE tracks GDP growth, unemployment + and the funds rate within ~0.3pp but misses core PCE inflation + by −1.7pp (2.7% vs a 4.4% annualized outturn, 2026Q1) — + a weekly outturn - backtest that reports rather than gates, since the baseline is - the Board's, not ours. + backtest that reports rather than gates, because the baseline is + the Board's.

tracking invariant 5.6e−17 - vs LONGBASE, all 284 endos × 20 quarters; CI gate 1e−8. An identity init_trac guarantees — round-off, not evidence + an identity, not evidence — see the table
shock vs pyfrbus 1.0.0 6.0e−9 - the committed reference; CI gate 1e−6 + 100bp shock, 284 endos × 20 quarters; the pinned reference, CI gate 1e−6
shock vs pyfrbus 1.1.1 @@ -127,115 +122,97 @@

The baseline agreement is an identity; the shocks are the evidence.

- The last figure frames the other three. The Board's two releases ship - a byte-identical model.xml and LONGBASE and - differ only in how the Newton routine reuses its LU factorisation — - yet they disagree with each other by - 1.3×10−8, as much as this - implementation disagrees with either. Agreement therefore sits at the - reference implementation's own numerical noise, not at a tolerance - anyone chose. All three residuals concentrate in the same near-zero - expectational-gap series (wpsn, zgap05). + The last tile frames the other three. The Board's two releases ship a + byte-identical model.xml and LONGBASE, differing + only in how Newton reuses its LU factorisation, yet disagree by + 1.3×10−8 — as much as this implementation + disagrees with either. Agreement sits at the reference's own numerical + noise, not at a chosen tolerance; all three residuals concentrate in + the same near-zero expectational-gap series (wpsn, + zgap05).

- + frb-us: residuals against the Fed’s pyfrbus, log scale -Horizontal bar chart on a base-10 logarithmic axis of maximum absolute residuals; shorter is closer. ours vs LONGBASE (identity — not evidence): 5.6e-17; pyfrbus 1.1.1 vs LONGBASE: 1.1e-08; ours vs pyfrbus 1.0.0 (shock): 6.0e-09; ours vs pyfrbus 1.1.1 (shock): 1.4e-08; pyfrbus 1.1.1 vs 1.0.0 — the Fed’s own two releases: 1.3e-08. The framing comparison is the last row: the Federal Reserve's own two pyfrbus releases disagree with each other by as much as this implementation disagrees with either, so our agreement sits at the scale of the reference implementation's own numerical noise rather than at a chosen tolerance. +Horizontal bar chart on a base-10 logarithmic axis of maximum absolute residuals; shorter is closer. The rows fall into three kinds. ours vs LONGBASE — tracking identity, not evidence: 5.6e-17 (tracking identity); pyfrbus 1.1.1 vs LONGBASE — tracking identity: 1.1e-08 (tracking identity); ours vs pyfrbus 1.0.0 (shock): 6.0e-09 (ours vs the Fed); ours vs pyfrbus 1.1.1 (shock): 1.4e-08 (ours vs the Fed); pyfrbus 1.1.1 vs 1.0.0 — the Fed’s own releases: 1.3e-08 (the Fed vs itself). The two tracking rows are an identity — init_trac defines the add-factors as minus the residuals at the input data, so re-solving reproduces the input for any input at all — and are shown for completeness, not as evidence. The framing comparison is the last row: the Federal Reserve's own two pyfrbus releases disagree with each other by as much as this implementation disagrees with either, so our agreement sits at the scale of the reference implementation's own numerical noise rather than at a chosen tolerance. 1e-18 - -1e-16 - -1e-14 - -1e-12 - -1e-10 - -1e-8 -ours vs LONGBASE (identity — not evidence) - -5.6e-17 -pyfrbus 1.1.1 vs LONGBASE - -1.1e-08 + +1e-16 + +1e-14 + +1e-12 + +1e-10 + +1e-8 +ours vs LONGBASE — tracking identity, not evidence + +5.6e-17 +pyfrbus 1.1.1 vs LONGBASE — tracking identity + +1.1e-08 ours vs pyfrbus 1.0.0 (shock) - -6.0e-09 + +6.0e-09 ours vs pyfrbus 1.1.1 (shock) - -1.4e-08 -pyfrbus 1.1.1 vs 1.0.0 — the Fed’s own two releases - -1.3e-08 + +1.4e-08 +pyfrbus 1.1.1 vs 1.0.0 — the Fed’s own releases + +1.3e-08 +ours vs the Fed’s pyfrbus, under shock +the Fed’s two releases vs each other +tracking identity — round-off, not fidelity -
Maximum absolute residuals, log scale — lower is closer. The bottom bar is the framing one: the Fed's own two releases disagree by as much as we disagree with either, so the three shock rows sit at the reference implementation's own noise floor. The top two bars are the tracking identity and are
not a ranking: after init_trac the solve reproduces its input by construction, so 5.6×10−17 against pyfrbus 1.1.1's 1.1×10−8 compares two implementations' round-off, not their fidelity to the Fed's economics. Source: papers/frb-us validation tables. +
Maximum absolute residuals, log scale — lower is closer. The top two bars are the tracking identity and are not a ranking: they compare two implementations' round-off, not their fidelity to the Fed's economics. Source: papers/frb-us validation tables.
-
+
- - + + - - - - - - - + +
Validation results against the Federal Reserve Board's own artefacts
testwhat it checksresult
Tracking invariantAfter init_trac, solving the baseline must reproduce LONGBASE for all 284 endogenous variables over 2026Q1–2030Q4. This is an identity, not a comparison: init_trac sets each equation's add-factor to minus that equation's residual at the input data, so the solve is algebraically the identity on whatever it was tracked to, and Newton is warm-started from the row it is about to reproduce.Max absolute error 5.6e−17 — floating-point round-off, against a 1e−8 gate. It measures re-evaluation noise, not agreement with the Fed's data or economics: the model repository's test_tracking_invariant_holds_for_arbitrary_data shows the identical gate passes on a scrambled baseline with every accounting identity destroyed. Read the cross-validation row below, not this one, as evidence.Re-solving the baseline reproduces LONGBASE, 284 endogenous variables over 2026Q1–2030Q4.5.6e−17 against a 1e−8 gate — but an identity, not a comparison. init_trac sets each add-factor to minus that equation's residual at the input data, so the solve reproduces whatever it was tracked to, for any input: the model repository's test_tracking_invariant_holds_for_arbitrary_data passes at 6.7e−9 on a scrambled baseline with every accounting identity destroyed. Read the row below, not this one, as evidence.
Cross-validationAn identical 100bp rffintay_aerr shock run in both implementations, compared across all 284 variables and all 20 quarters.6.0e−9 against pyfrbus 1.0.0 and 1.4e−8 against 1.1.1 — where the two Board releases differ from each other by 1.3e−8.
Simulation propertiesA 100bp tightening must move the right things in the right direction by the right order of magnitude.rff +1.000pp on impact, GDP trough −0.55%, unemployment peak +0.26pp, core inflation trough −0.034pp — consistent with the Board's documented VAR-expectations properties.The same 100bp rffintay_aerr shock run in both implementations, all 284 variables × 20 quarters.6.0e−9 against pyfrbus 1.0.0 and 1.4e−8 against 1.1.1, where the two Board releases differ from each other by 1.3e−8.

- Multipliers. Government-purchases and personal-tax - shocks of 1% of GDP land inside the published ranges they are compared - against, with one exception recorded below: the year-two - purchases multiplier under a pegged funds rate is - 0.90, below the 1.1–1.2 cross-model accommodation - range, and matches only the Board's looser “roughly - one” characterisation. The comparisons are also not horizon-matched - throughout — the year-one tax figure (0.22) is set beside a benchmark - the source describes as a two-year multiplier, and Ramey's survey range - pools empirical estimates across horizons and monetary regimes rather - than fixing one. Read the last three rows as plausibility bands, not as - a test the model passed. + Multipliers. Read these as plausibility bands, not as + a test passed: the comparisons are not horizon-matched throughout, and + Ramey's survey range pools estimates across horizons and monetary + regimes.

- + - - - - - - + + +
frb-us against the Fed's pyfrbus and published multiplier rangesfrb-us fiscal multipliers (1% of GDP, sustained) against published ranges
QuantityOursPublishedReading
Tracking invariant, max abs. error5.6×10−17CI gate <10−8; pyfrbus 1.1.1 gives 1.1×10−8an identity, not accuracy — passes on scrambled data
Shock responses vs pyfrbus 1.0.06.0×10−9at the reference's noise floor
Shock responses vs pyfrbus 1.1.11.4×10−81.1.1 vs 1.0.0: 1.3×10−8the Fed's releases differ as much as we do
Gov. purchases multiplier, yr 1, inertial Taylor rule0.720.7–1.0 (Coenen et al. 2012); Ramey (JEP 2019): "a surprisingly narrow range of 0.6 to 1"inside range
Gov. purchases multiplier, yr 2, fixed funds rate0.90"roughly one" pegged; 1.1–1.2 with accommodationmatches the Board's characterisation
Personal tax cut multiplier, yrs 1–20.22 → 0.320.2–0.4; CBO central ≈0.3inside both ranges
Gov. purchases, yr 1, inertial Taylor rule0.720.7–1.0 (Coenen et al. 2012); Ramey (JEP 2019): "a surprisingly narrow range of 0.6 to 1"inside range
Gov. purchases, yr 2, pegged funds rate0.90"roughly one" pegged; 1.1–1.2 with accommodationbelow the accommodation range
Personal tax cut, yrs 1–20.22 → 0.320.2–0.4; CBO central ≈0.3; yr-1 benchmark is a two-year figureinside range, horizons unmatched

- Uncertainty engine. The implementation now supports - seeded stochastic simulations that jointly resample the official - stochastic-equation residual vector, preserving contemporaneous - dependence and reporting failed replications. Model and LONGBASE - packages are also verified against separate SHA-256 provenance gates. - Published probability results still require a reviewed simulation - design; model-consistent expectations remain unavailable. + Uncertainty engine. Seeded stochastic simulation + jointly resamples the official residual vector, preserving + contemporaneous dependence; model and LONGBASE packages carry SHA-256 + provenance gates. Published probability results still need a reviewed + simulation design, and model-consistent expectations remain + unavailable.

- The committed reference stays pinned to pyfrbus 1.0.0 so the gate has a - fixed anchor; the 1.1.1 comparison is a recorded cross-check. CI goes - beyond re-checking a committed CSV: a dedicated job re-runs the Board's - pyfrbus from source in a throwaway environment and gates against that - freshly generated solution, and a weekly scheduled run repeats the suite - across Python 3.10–3.12 so dependency drift surfaces without a pull - request. Full tables in + CI does not just re-check a committed CSV: a dedicated job re-runs the + Board's pyfrbus from source and gates against that fresh solution, and a + weekly run repeats the suite across Python 3.10–3.12. The multiplier + comparisons are refreshed manually. Full tables in VALIDATION.md and the working paper.

@@ -245,15 +222,6 @@

The baseline agreement is an identity; the shocks are the evidence.

maintained, or endorsed by the Federal Reserve, and its results should not be presented as official Federal Reserve estimates.

-

- How to read the evidence on this page. The tracking - invariant, the pyfrbus cross-validation, and the monetary-shock - sign/magnitude bands are gated — CI on the model - repository fails if they break. The fiscal-multiplier comparisons - against published ranges were computed for the paper - and are refreshed manually. Both are real evidence; only the first - kind is continuously enforced. -

@@ -264,28 +232,26 @@

Run the same 100bp shock, read it against the Board.

- One command reproduces the validation experiment — a 100 basis-point - funds-rate tightening under the inertial Taylor rule: + One command reproduces a 100bp funds-rate tightening under the + inertial Taylor rule:

pe-macro frbus-shock --var rffintay_aerr --shock 1.0
- + - - - - - + + + + +
ResponseOursPublished Fed referenceReading
ResponseOursPublished Fed reference
Funds rate, on impact+1.000pp+1.00pp by designexact
Real GDP, trough−0.55%consistent with the Board's documented VAR-expectations propertiesright sign, size and timing
Output gap, trough−0.50pp~−0.4pp (2014 FEDS Note, read off charts)approximate — vintage and shock-design differences
Unemployment, peak+0.26ppconsistent with the documented propertiesright sign and order
Core inflation, trough−0.034ppconsistent with the documented propertiesright sign and order
Funds rate, on impact+1.000pp+1.00pp by design — exact
Real GDP, trough−0.55%right sign, size and timing vs the Board's documented VAR-expectations properties
Unemployment, peak+0.26ppright sign and order, same source
Core inflation, trough−0.034ppright sign and order, same source
Output gap, trough−0.50pp~−0.4pp, read off 2014 FEDS Note charts — approximate by nature (limits)

The exact cross-check is numerical, not chart-reading: the same shock - run in the Board's own pyfrbus matches to - 6.0×10−9 (see the invariants above). The FEDS - Note comparison is approximate by nature — its values are read off - 2014-vintage charts. + in the Board's own pyfrbus matches to + 6.0×10−9.

@@ -301,27 +267,27 @@

Known limitations.

VAR expectations only - The model-consistent-expectations (MCE) equation variants are not implemented — Frbus(path, mce=...) raises NotImplementedError — so anything that turns on agents anticipating announced future policy, forward guidance most obviously, is out of scope. + Model-consistent expectations are not implemented (mce= raises NotImplementedError), so forward guidance is out of scope. No mcontrol - The reference implementation's trajectory-targeting routine is out of scope. Stochastic simulation is implemented — stochsim_bands() produces seeded residual-bootstrap percentile bands — but the hosted frbus_shock path returns a single deterministic projection, so bands are not available over MCP. + Trajectory targeting is out of scope. stochsim_bands() does produce seeded bootstrap bands, but the hosted frbus_shock returns a single deterministic path. Hosted, but only as raw shocks - The hosted tools and their pe-macro mirrors expose one lever, one shock size, a policy rule and a headline set of responses — not the full 284-variable model. Anything beyond that (the Board's demo scripts, exogenize, arbitrary variable sets) means installing the package and using its Python API. + One lever, one shock size, a policy rule and a headline set of responses — not the full 284-variable model. Anything more means installing the package. No PolicyEngine reform bridge - Reforms enter as shocks to model variables, not as statute. There is no equivalent of the OBR emulator's static-costing bridge from a PolicyEngine reform dict — score_reform refuses model="frbus" outright and points at frbus_shock — so US reform scoring stops at pe-microsim's static answer. Hosting did not change this. + Reforms enter as shocks, not statute: score_reform refuses model="frbus", so US reform scoring stops at pe-microsim's static answer. Approximate published comparisons - The 100bp funds-rate responses in the Board's 2014 FEDS Note are read off charts, so those comparisons are approximate by nature: our output-gap trough of −0.50pp against the Note's roughly −0.4pp reflects vintage and shock-design differences, not a claimed match. + The 2014 FEDS Note responses are read off charts. Our −0.50pp output-gap trough against its ~−0.4pp reflects vintage and shock-design differences, not a claimed match. Vintage - The April 2026 model.xml and LONGBASE as published by the Board. Later Board vintages have not been adopted. + The Board's April 2026 model.xml and LONGBASE. Later vintages not adopted. diff --git a/integration/src/policyengine_macro/capabilities.py b/integration/src/policyengine_macro/capabilities.py index 31ec7b8d..74f3a0cd 100644 --- a/integration/src/policyengine_macro/capabilities.py +++ b/integration/src/policyengine_macro/capabilities.py @@ -247,23 +247,15 @@ def _quality(level: str, evidence: str, next_gate: str) -> dict: "predictive_validation": _quality( "weak", "No demonstrated skill against a random walk WITH DRIFT on any " - "variable at any horizon once the 64 variable-by-horizon tests " - "are adjusted together: minimum Benjamini-Hochberg q = 0.36, and " - "0.40 under the published specification. A driftless walk on a " - "trending log level is too weak a benchmark, so the strong-looking " - "CPI result (0.63 at h=1) becomes 0.83 at h=1 and 1.03 at h=8 " - "against drift. Bank Rate comes closest (0.79 at h=1, unadjusted " - "p=0.018 -- the smallest of the 64) but does not survive the " - "adjustment. UK GDP is not distinguishable from drift at any " - "horizon (p=0.33-0.43). Two caveats on figures quoted elsewhere: " - "the ex-Covid ratio of 0.77 and the p=0.38-0.67 range are against " - "the weaker no-change benchmark, not drift. Separately, the " - "rolling evaluation had estimated without the six Covid dummies " - "that every published forecast carries; under the published " - "specification UK GDP goes 1.06 to 0.99 at h=1 and 1.12 to 0.95 " - "at h=8 -- level with naive rather than worse, still not better. " - "The frozen-edge run gives 0.32pp RMSE from a single origin, on the " - "2024Q2 real-time vintage.", + "variable at any horizon. The grid runs 64 variable-by-horizon " + "tests; adjusted together, the smallest Benjamini-Hochberg q is " + "0.36. Bank Rate comes closest (0.79 at h=1) and does not " + "survive. The model looks strong against a driftless walk, but " + "that benchmark forfeits the trend on a trending log level and " + "is too weak to learn from. Under the published specification " + "UK GDP is level with naive rather than worse -- an " + "improvement, not a win. Benchmarks, horizons and the " + "multiplicity table are on the validation page.", "Score the predictive densities rather than point forecasts, " "report rolling interval coverage, and re-run once the estimation " "sample extends past the Covid dummies.", @@ -271,14 +263,11 @@ def _quality(level: str, evidence: str, next_gate: str) -> dict: "identification_robustness": _quality( "moderate", "On the paper's own definition -- the posterior mean of the " - "per-draw group share of TOTAL forecast-error variance, four " - "quarters ahead -- UK GDP replicates (37.4% against ~40%) and UK " - "CPI falls about 8pp short (42.3% against ~50%). The earlier " - "match on both came from summing per-shock medians and " - "renormalising them to 100%, which inflated the identified shares " - "by about a third. The 68% posterior band is roughly +/-14pp, " - "wider than the shortfall, and proxy world data and undisclosed " - "source settings matter.", + "per-draw group share of TOTAL four-quarter-ahead variance -- UK " + "GDP replicates (37.4% against ~40%) and UK CPI falls about 8pp " + "short (42.3% against ~50%). The 68% band is roughly +/-14pp, " + "wider than the shortfall, so the data do not resolve it. Proxy " + "world aggregates remain a candidate explanation.", "Show conclusions across lag, prior, proxy-data and weighting grids " "with effective-sample-size diagnostics.", ), @@ -422,12 +411,15 @@ def _quality(level: str, evidence: str, next_gate: str) -> dict: ), "policy_counterfactual_validity": _quality( "moderate", - "The static costing of a 1p basic-rate rise gives £6.46bn in 2026 " - "rising to £7.38bn by 2030, against HMRC's published ready " - "reckoner at £6.9bn and £8.2bn — within range, and the gap is " - "reported rather than tuned away. That is one reform, one " - "country, one tax, against another estimate on a different data " - "basis, so it is a benchmark and not a validation.", + "The static costing of a 1p basic-rate rise gives £6.46bn in " + "2026-27, which is 6.4% BELOW HMRC's published ready reckoner at " + "£6.9bn -- not within its range, and the gap is reported rather " + "than tuned away. The reckoner stops at 2028-29, so the £7.38bn " + "this suite scores for 2030 has no year-matched counterpart. " + "HMRC's income-tax reckoner is post-behavioural on administrative " + "data and ours is static and survey-based, so this is one reform, " + "one country, one tax, on a different basis: a benchmark and not " + "a validation.", "Benchmark a US reform and a distributional result against an " "independent published costing.", ), @@ -561,11 +553,9 @@ def _quality(level: str, evidence: str, next_gate: str) -> dict: "§2.2 accounting and §3.2, §3.3.1 and §3.3.2 — 118 equations, " "Eqs. (21)-(138) contiguous — and surfaced defects in the manual " "itself, thirteen of them pinned as machine-readable gap records " - "rather than absorbed into a tolerance. An audit of the wider " - "write-up re-characterised four findings as first-period jumps " - "(Table 5 describes those parameters as historical means, never " - "claimed to fit the manual's own initial period) and withdrew one " - "claim outright.", + "rather than absorbed into a tolerance. Four apparent " + "contradictions proved to be historical-mean calibration and are " + "recorded as such in the replication report.", "Complete §3.3 and the oracle comparison, closing milestone 2.", ), "predictive_validation": _quality( diff --git a/integration/tests/test_site_contract.py b/integration/tests/test_site_contract.py index a1eae02d..88e669d6 100644 --- a/integration/tests/test_site_contract.py +++ b/integration/tests/test_site_contract.py @@ -135,6 +135,12 @@ def test_paper_landings_publish_the_page_count_of_the_pdf_they_link(): at all, obr-macro 36 -> 40 (the refreshed scorecard, the lever scorecard and the anchored-fit dependency) and boe-svar 30 -> 33 (the corrected FEVD statistic and the multiplicity result). + + define-uk joined at 28 pages, filling the one gap in the suite: it was the + only model without a working paper. Its /models card has been repointed + from /reports/define-uk-replication to /papers/define-uk, so every paper + is linked from the hub again and the exemption that recorded the gap is + gone. """ expected = { "obr-macro": 40, @@ -142,6 +148,7 @@ def test_paper_landings_publish_the_page_count_of_the_pdf_they_link(): "frb-us": 38, "psl-og": 34, "pe-microsim": 25, + "define-uk": 28, } # The /papers listing was retired; each landing carries its own # "slug · … · N pages" line, and /models links every paper landing. diff --git a/models/index.html b/models/index.html index f6d1248a..fcc8ec83 100644 --- a/models/index.html +++ b/models/index.html @@ -71,7 +71,7 @@

Choose the model that fits the quest
Worked example: 1p on the basic rate — £6.46bn (2026) → £7.38bn (2030), GDP −0.02% on impact building to −0.06%
-
Static costing sits within HMRC's published ready-reckoner range
+
Static costing runs below HMRC's ready reckoner at every matched year — −6.4% in 2026–27; a benchmark, not a validation
Hosted — MCP tools or one CLI command

The score_reform MCP tool and the pe-macro score CLI take the same flat reform dict and a scoring model: microsim (static costing), obr (with macro feedback), og (long-run steady state; local-only), or og+microsim (dynamic).

@@ -350,7 +350,7 @@

Read the source literature and replication notes.

frb-usworking paper

Parsing and solving the Fed's FRB/US model, and matching pyfrbus on shocked paths at its own noise floor.

read →
psl-ogworking paper

The OG-UK calibration, tax-function estimation, and the limits of a model with no ground truth.

read →
us-hankfeasibility note

The open US HANK landscape, and why the Auclert et al. (2021) toolkit was the foundation to build on. Not a replication write-up — that gate is on the us-hank validation page.

read →
-
define-ukreplication report

The authors' unmodified code at a pinned commit, the Table 4 gate, thirteen pinned manual defects, and why only deltas are served.

read →
+
define-ukworking paper

The authors' unmodified code at a pinned commit, the Table 4 gate, thirteen pinned manual defects, and why only deltas are served.

read →
diff --git a/obr/index.html b/obr/index.html index 6061c1f7..69d11226 100644 --- a/obr/index.html +++ b/obr/index.html @@ -81,7 +81,7 @@

Microsimulation supplies the direct cost; this model returns the feedback.
Connection. Static-costing bridge, both hosted: PolicyEngine computes the direct Exchequer effect of a statutory reform; score_reform injects it through the declared HHDI_ADDFACTOR point and this model returns the economy-wide second round.
-
Worked example. 1p on the basic rate from April 2026: direct yield £6.46bn in 2026; GDP −0.020% on impact, deepening to −0.058% by 2027Q4 (full walkthrough → score a reform).
+
Worked example. 1p on the basic rate from April 2026: direct yield £6.46bn in 2026; GDP −0.020% on impact, deepening to −0.057% by 2027Q4 (full walkthrough → score a reform).
Validation. Anchored to the March 2026 EFO (0.15% GDP MAPE) — but anchored accuracy is a by-construction invariant, not a forecast claim: free-running, the same equations miss GDP by 4.48%. Checked against HMRC’s ready reckoner (£6.46bn vs £6.9bn).
Results. Run it from any connected client; every score carries its assumptions and data vintage.
@@ -168,7 +168,7 @@

Second-round effects on a static costing.

Worked example — 1p on the basic rate of income tax from April 2026: direct yield £6.46bn in 2026, £7.38bn by 2030; GDP falls 0.020% (−£0.14bn) on impact in - 2026Q1, deepening to 0.058% (−£0.40bn) by 2027Q4 on the + 2026Q1, deepening to 0.057% (−£0.40bn) by 2027Q4 on the March 2026 baseline. Full walkthrough → /score.

diff --git a/obr/validation/index.html b/obr/validation/index.html index 104f106b..db3e13b3 100644 --- a/obr/validation/index.html +++ b/obr/validation/index.html @@ -82,20 +82,20 @@

Excellent anchored. Weak free-running. Both published.

- Three configurations, three very different levels of trust — errors - are MAPE (mean absolute percentage error) against the published EFO path. + Three configurations, three levels of trust. Errors are MAPE (mean + absolute percentage error) against the published EFO path.

anchored — real GDP 0.15% MAPE - vs published EFO; CI fails at 1% + by construction, not skill; CI fails at 1%
anchored — consumption 0.25% MAPE - vs published EFO; CI fails at 1% + not a second test — same £m error as GDP
held-add-factor forecast @@ -105,7 +105,7 @@

Excellent anchored. Weak free-running. Both published.

free-running 4.48% MAPE - real GDP; 4 of 11 computed in band — report-only + real GDP; 6 of 11 computed in band — report-only
@@ -115,17 +115,17 @@

Excellent anchored. Weak free-running. Both published.

Anchored - Add-factors on, matched to the March 2026 EFO. The configuration every reform score uses. - GDP 0.15% MAPE, consumption 0.25% over 2025Q1–2027Q4; horizon extends to 2031Q1, where GDP is reproduced to 0.29% (anchored unemployment unreliable beyond 2027Q4). Hard-gated in CI, with finiteness, a 0.5%-of-GDP expenditure-identity check, and structural sign invariants. + Add-factors matched to the March 2026 EFO. Every reform score uses it. + GDP 0.15% MAPE, consumption 0.25%, 2025Q1–2027Q4. GDP holds to 0.29% out to 2031Q1; anchored unemployment is unreliable beyond 2027Q4. CI hard-gates the tolerance, finiteness, the expenditure identity to 0.5% of GDP, and sign invariants. Held add-factors - Add-factors fitted 2024Q1–2025Q4, held flat, projected to 2027Q4. Scored over 2026Q1–2027Q4 on the March 2026 baseline (caveats in the notes below). - GDP 0.37%, consumption 0.33%; 6 of 8 computed variables within band. (The working paper reports GDP 2.2% and consumption 3.6% for the same 2026Q1–2027Q4 window — the difference is the EFO vintage it was anchored to, November 2025 against March 2026 here, not the window.) + Fitted 2024Q1–2025Q4, held flat to 2027Q4, scored over 2026Q1–2027Q4. Initialised at the EFO values it is scored against, and its fitting window contains OBR-forecast quarters — so it partly encodes “agree with the OBR”. + GDP 0.37%, consumption 0.33%; 6 of 8 computed in band. The working paper’s 2.2% / 3.6% is the same window on the November 2025 vintage. Free-running - De-seeded, add-factors off. The raw structural dynamics with no OBR judgement. + De-seeded, add-factors off — raw structural dynamics, no OBR judgement. Weak, and reported as such. GDP 4.48%, consumption 7.49%, household income 6.27%, business investment 15.73%, company profits 63.29%. The model contracts while the EFO grows. @@ -133,27 +133,13 @@

Excellent anchored. Weak free-running. Both published.

in band rates within 1.0pp · net balances within 1.5% of GDP · levels within 10% MAPE.

-

note anchored accuracy is a by-construction invariant, not a forecast claim: add-factors absorb the tracking error; CI hard-fails if it slips.

-

caveat the held-add-factor forecast is initialised at the EFO values it is scored against.

-

caveat its add-factor base window includes OBR-forecast (not outturn) quarters, so held add-factors partly encode "agree with the OBR".

-

more full scorecards in the working paper; the charts below regenerate from its committed data.

+

gated CI enforces the anchored tolerance and the multiplier band; the HMRC comparison and the outturn backtest are computed for the working paper and refreshed by hand.

An independent implementation built from the OBR's published model - code and forecast data — not produced, maintained, or endorsed by the - Office for Budget Responsibility. Its results should not be presented - as official OBR estimates. -

-

- How to read the evidence below. Two kinds of check - appear on this page: gated — enforced by CI on the - model repository, so a regression cannot merge without failing a - build (the anchored-vs-EFO tolerance, the multiplier plausibility - band) — and computed for the paper — run once for - the working paper's figures and refreshed manually (the HMRC - ready-reckoner comparison, the ONS outturn backtest). Both are real - evidence; only the first is continuously enforced. + code and forecast data. Not produced, maintained or endorsed by the + Office for Budget Responsibility, and not official OBR estimates.

@@ -165,10 +151,10 @@

Against the OBR's own forecast, and HMRC's reckoner.

- The chart below shows the anchored tracking error quarter by quarter - (headline MAPEs are in the strip and table above); because anchoring - is by construction, the independent HMRC costing further down is the - stronger test. + Anchored GDP and consumption are one test, not two: + the deviation is identical in £m in all twelve quarters, because + every other term in the demand identity is exogenous or pinned. The + independent test is the HMRC costing below.

@@ -219,15 +205,17 @@

Against the OBR's own forecast, and HMRC's reckoner.

-
Current March 2026 EFO baseline. CI hard-fails at ±1.00% — off the top and bottom of this frame. MAPE: 0.15% for GDP and 0.25% for consumption over 2025Q1–2027Q4. Computed from papers/obr-macro/figures/fig_anchored_data.csv, regenerated from the March 2026 detailed forecast tables on 21 July 2026.
+
Current March 2026 EFO baseline. Quarterly deviation from the published EFO; CI hard-fails at ±1.00%, off the top and bottom of this frame. Computed from papers/obr-macro/figures/fig_anchored_data.csv, regenerated from the March 2026 detailed forecast tables on 21 July 2026.

- The independent check: a 1pp basic-rate rise from April 2026, costed - through the PolicyEngine static-costing bridge and set against HMRC's - ready reckoner. Ours sits inside the £6–8bn range of recent - vintages; the gap widens by 2028–29, where HMRC's figures embed - administrative-data fiscal drag that survey microdata capture less - fully. + A 1pp basic-rate rise from April 2026, costed through the PolicyEngine + static-costing bridge: £6.46bn against HMRC's £6.9bn, + −6.4%. Every PolicyEngine year is below every HMRC + year, and the gap widens where HMRC's administrative data carry fiscal + drag that survey microdata capture less fully. HMRC's reckoner stops + at 2028–29, so the 2030 row is set against that same figure + carried forward. A benchmark, not a validation — + caveats in full.

@@ -260,7 +248,7 @@

Against the OBR's own forecast, and HMRC's reckoner.

HMRC basic rate +1pp, 2028–29 -
£bn/yr. 2028–29 emulator figure interpolated between scored endpoints (£6.46bn 2026, £7.38bn 2030). PolicyEngine's static costing of a 1pp basic-rate rise against HMRC's Direct effects of illustrative tax changes (June 2025 vintage). Source: obr-macro working paper, comparison table panel B.
+
£bn/yr, against HMRC's Direct effects of illustrative tax changes (June 2025 vintage). The 2028–29 emulator bar is interpolated between the scored endpoints £6.46bn (2026) and £7.38bn (2030). Source: obr-macro working paper, comparison table panel B.
@@ -280,87 +268,65 @@

Against the OBR's own forecast, and HMRC's reckoner.

- + How much of the OBR emulator scorecard the model actually computes -Two stacked bars. Of 21 headline variables in the OBR emulator calibration scorecard, 11 are actually computed by the model and 10 are passthrough, held at the OBR published value and therefore scoring zero error trivially. Of the 11 computed, 5 are fair, 1 is an identity, 3 are poor, 2 are off. 6 of the 11, or 55 per cent, land within band, and one of those is a trivial accounting identity, so only 5 non-trivial computed variables are in band. The worst are company profits 63.29 per cent and the current account 3.60 per cent of GDP. +Two stacked bars. Of 21 headline variables in the OBR emulator calibration scorecard, 11 are actually computed by the model and 10 are passthrough, held at the OBR published value and therefore scoring zero error trivially. Of the 11 computed, 5 are fair, 1 is an identity, 3 are poor, 2 are off. 6 of the 11, or 55 per cent, land within band, but one of those is an accounting identity that closes over passthrough inputs, so 5 of the 10 non-trivial computed variables are in band. The worst are company profits 63.29 per cent and the current account 3.60 per cent of GDP. 21 headline scorecard variables - - -11 computed -10 passthrough — held at the OBR value - - -of which, the 11 the model computes - -fair 5 - -identity 1 - -poor 3 - -off 2 -Only 5 of 11 non-trivial variables are in band. -A fourth pass is an identity over passthrough inputs. -bands: rates ±1.0pp · net balances ±1.5% of GDP · levels ≤10% MAPE + + +11 computed +10 passthrough — held at the OBR value + + +of which, the 11 the model computes + +fair 5 + + +identity 1 + +poor 3 + + +off 2 +Only 5 of the 10 non-trivial computed variables are in band. +One of the 6 in-band passes is an accounting identity over passthrough inputs. +bands: rates ±1.0pp · net balances ±1.5% of GDP · levels ≤10% MAPE -
Raw calibration against the March 2026 EFO. Two “off” variables depend on unpublished OBR constants and are regression-gated rather than tuned. Source:
docs/calibration_scorecard.md in the obr-macroeconomic-model repository. +
Raw calibration against the March 2026 EFO. The two “off” variables depend on unpublished OBR constants and are regression-gated, not tuned. Source: docs/calibration_scorecard.md in the obr-macroeconomic-model repository.

- The spending multiplier is ~1.0 by construction, against the + The spending multiplier is 1.0 by construction, against the OBR's own published 0.6 for day-to-day public services and welfare spending. - Under the demand closure a spending - shock lands directly in the GDP identity and the behavioural second - round is largely inactive, so a £5bn injection returns almost - exactly £5bn of GDP — roughly a - two-thirds overstatement of the impact multiplier, - applying to every spending-side figure this page reports. It is the - single most important number for anyone reading a policy score off - this model. -

-

- Why, and what it biases → obr-macro overview. + Under the demand closure a spending shock lands straight in the GDP + identity with the behavioural second round inactive, so £5bn in + returns £5bn of GDP — a two-thirds overstatement + of every spending-side figure on this page.

The honest scorecard, outturns, and the March 2026 re-anchoring

- The honest scorecard. The free-running row is the one - that matters for anyone tempted to read the 0.15% as forecasting skill. - The same equations that track the EFO to 0.15% when anchored miss it - by 4.48% free-running — precisely the gap the OBR's - own add-factor judgement closes in the official process, and the - reason reform deltas are always scored against the anchored baseline - rather than the raw one. The free-running score is de-seeded, with - passthrough variables excluded, and is published report-only. - Across the full scorecard 6 of the 11 computed headline - variables land within band (real GDP, consumption, both - household-income lines, the trade balance, and the trivial employment - identity); of the full 21-line scorecard, 10 lines are passthroughs - held at the OBR value. The - worst line is company profits at 63.29% MAPE on the - March baseline, which - traces to a single unpublished constant in households' operating - surplus OSHH — the paper documents and regression-gates - it rather than re-tuning it, since tuning it would be fitting to the - answer. Other lines that moved on re-anchoring, reported rather than - smoothed: the free-running current account widened from 2.76 to - 3.60% of GDP and is now over band; RPI improved from - 2.03pp to 1.71pp; business investment stands at - 15.73%; the two household-income lines stand at - 6.27% and 6.03%. Every figure in this paragraph moved when the - OSHH ONS anchor landed upstream, and this page had gone - on publishing the pre-anchor ones — which understated the model's - accuracy on every line. + The honest scorecard. The 4.48% free-running miss is + the gap the OBR's own add-factor judgement closes — which is why + reform deltas are scored against the anchored baseline and never the + raw one. Company profits, the worst line, trace to a single + unpublished constant in households' operating surplus + OSHH: documented and regression-gated rather than + re-tuned, since tuning it would be fitting to the answer. Two lines + not in the chart above — real household income 6.03%, RPI 1.71pp — + and every figure here is the March 2026 vintage after the upstream + OSHH ONS anchor.

obr-macro: real GDP level, anchored vs free-running vs the March 2026 EFO (£bn/qtr) Line chart of quarterly real GDP levels in billions of pounds, 2025Q1 to 2027Q4. The published March 2026 EFO path rises from 703.4 to 728.6. The anchored emulator is visually indistinguishable from it, running from 703.8 to 730.6 (mean absolute deviation 0.15 per cent, recomputed here from the plotted series). The free-running emulator, de-seeded and with no add-factors, contracts from 694.4 to 675.8 — a gap that widens to 53 billion pounds, 4.48 per cent mean absolute deviation over the horizon. Free-running and EFO paths from papers/obr-macro/figures/fig_free_running_data.csv; anchored path from papers/obr-macro/figures/fig_anchored_data.csv. Coordinates: value v in billions maps to y = 292 - (v - 660) * 2.95 on a 660 to 740 axis; quarter i of 12 maps to x = 58 + i * 60.545. - + anchored (0.15% MAD) - + free-running (4.48% MAD) -EFO Mar 2026 +EFO Mar 2026 660 @@ -379,26 +345,22 @@

Against the OBR's own forecast, and HMRC's reckoner.

2027Q1 2027Q4 -
Current March 2026 EFO baseline. Real GDP, £bn/qtr, 2025Q1–2027Q4. The anchored path (0.15% MAPE) sits on top of the EFO; the same equations free-running — de-seeded, no add-factors — contract away from it (4.48% MAPE). Computed from papers/obr-macro/figures/fig_free_running_data.csv and fig_anchored_data.csv, regenerated on 12 August 2026.
+
Current March 2026 EFO baseline. Real GDP, £bn/qtr. The anchored path sits on top of the EFO; the same equations free-running — de-seeded, no add-factors — contract away from it. Computed from papers/obr-macro/figures/fig_free_running_data.csv and fig_anchored_data.csv, regenerated on 12 August 2026.

Forecast versus outturn. Comparing one forecast - vintage with another tests agreement, not accuracy. Against ONS - outturns published since anchoring, quarter-on-quarter real GDP - growth ran 0.1% in 2025Q2, 0.2% in Q3, 0.2% in Q4 and 0.6% in - 2026Q1. The emulator's path (0.15, 0.14, 0.25, 0.37) tracks the three - 2025 quarters to within 0.06 percentage points, but — like the - November EFO it inherits (0.28, 0.20, 0.27, 0.39) — misses the strong - 2026Q1 outturn by roughly a quarter of a point. Two caveats govern - the reading: this is primarily a test of the OBR's November vintage, - the emulator's own contribution being the 0.02–0.13 point gap - between the two model rows; and ONS quarterly estimates are - themselves revised, so the outturn is a moving target. + vintage with another tests agreement, not accuracy. The emulator + tracks the three 2025 outturns to within 0.06pp and — like the + November EFO it inherits — misses the strong 2026Q1 outturn by + roughly a quarter point. It is mostly a test of that November + vintage: the emulator's own contribution is the 0.02–0.13pp gap + between the two model rows. ONS quarterly estimates are themselves + revised.

obr-macro: quarterly real GDP growth — emulator vs EFO Nov 2025 vs ONS outturn (% q/q) -Grouped bar chart, percentage quarter-on-quarter real GDP growth for the four quarters with ONS outturns since anchoring. 2025Q2: emulator 0.15, EFO 0.28, ONS 0.1; 2025Q3: emulator 0.14, EFO 0.20, ONS 0.2; 2025Q4: emulator 0.25, EFO 0.27, ONS 0.2; 2026Q1: emulator 0.37, EFO 0.39, ONS 0.6. The emulator tracks the three 2025 outturns to within 0.06 points; both the emulator and the November EFO it inherits miss the strong 0.6 per cent 2026Q1 outturn by roughly a quarter of a point. Data from papers/obr-macro/figures/fig_outturn_data.csv. Coordinates: value v maps to y = 258 - v * 331.4 on a 0 to 0.7 axis. +Grouped bar chart, percentage quarter-on-quarter real GDP growth for the four quarters with ONS outturns since anchoring. 2025Q2: emulator 0.15, EFO 0.28, ONS 0.10; 2025Q3: emulator 0.14, EFO 0.20, ONS 0.20; 2025Q4: emulator 0.25, EFO 0.27, ONS 0.20; 2026Q1: emulator 0.37, EFO 0.39, ONS 0.60. The emulator tracks the three 2025 outturns to within 0.06 points; both the emulator and the November EFO it inherits miss the strong 0.6 per cent 2026Q1 outturn by roughly a quarter of a point. Data from papers/obr-macro/figures/fig_outturn_data.csv. Coordinates: value v maps to y = 258 - v * 331.4 on a 0 to 0.7 axis. emulator EFO Nov 2025 ONS outturn @@ -412,64 +374,56 @@

Against the OBR's own forecast, and HMRC's reckoner.

0.6 0.15 +emul. 0.28 +EFO 0.10 -2025Q2 +ONS +2025Q2 0.14 +emul. 0.20 +EFO 0.20 -2025Q3 +ONS +2025Q3 0.25 +emul. 0.27 +EFO 0.20 -2025Q4 +ONS +2025Q4 0.37 +emul. 0.39 +EFO 0.60 -2026Q1 +ONS +2026Q1 -
November 2025 EFO vintage — the working paper's study; the live baseline is anchored to the March 2026 EFO. % q/q real GDP growth. The emulator tracks the three 2025 outturns to within 0.06pp; both model rows miss the strong 2026Q1 outturn (0.6%) by roughly a quarter point. Computed from papers/obr-macro/figures/fig_outturn_data.csv; the table below carries the exact values.
+
November 2025 EFO vintage — the working paper's study; the live baseline is anchored to the March 2026 EFO. % q/q real GDP growth, each bar labelled. Computed from papers/obr-macro/figures/fig_outturn_data.csv.
-
- - - - - - - - - -
Quarterly real GDP growth: emulator, EFO vintage, and ONS outturn
Real GDP, % q/qEmulatorEFO Nov 2025ONS outturn
2025Q20.150.280.1
2025Q30.140.200.2
2025Q40.250.270.2
2026Q10.370.390.6
-

- Vintage: re-anchored to the March 2026 EFO. The - hosted emulator has been re-anchored from the November 2025 EFO to - the OBR's March 2026 forecast, and the headline numbers on this page - are computed on that baseline: anchored GDP 0.15% MAPE, consumption - 0.25% over 2025Q1–2027Q4, with the anchored horizon extended to - 2031Q1 (GDP reproduced to 0.29% at 2031Q1; anchored unemployment is - unreliable beyond 2027Q4, drifting to 0.9% against the EFO's 4.1% by - 2031Q1). The headline and free-running charts use March 2026. Only - the outturn backtest above retains November 2025, because changing its - forecast vintage would erase the historical forecast being tested. The - working paper opens with a dated current-vintage note. Reform - effects are differences between structurally - identical runs and are insensitive to modest baseline drift, which is - why the re-anchoring leaves the £6.46bn/£7.38bn static costing - untouched and moves the second-round GDP effect only from - −0.057% to −0.058% by 2027Q4. + Vintage. Re-anchored from the November 2025 EFO to + March 2026, and every headline on this page is computed on that + baseline. Only the outturn backtest above retains November 2025, + because changing its forecast vintage would erase the historical + forecast being tested. Reform effects are differences between + structurally identical runs, so the re-anchoring leaves the + £6.46bn/£7.38bn static costing untouched and moves the 2027Q4 + second-round GDP effect by 0.001pp, to −0.057%.

Known limitations.

Two household-income equations never fire - The listing's only bare log() left-hand sides — log(HHTFA) and log(NDIVHH) — never execute: inputs MAJGDP and CORP are absent from the databank. The profits → dividends → household-income channel is inert: a 5pp corporation-tax rise moves FYCPR by −£1,780m; ΔNDIVHH is exactly zero. A parser fix landed, numerically inert; reviving the channel needs a CORP series — a calibration decision not yet made. All published figures have these channels inert. + The listing's only bare log() left-hand sides — log(HHTFA) and log(NDIVHH) — never execute: their inputs MAJGDP and CORP are absent from the databank. The profits → dividends → household-income channel is inert: a 5pp corporation-tax rise moves FYCPR by −£1,780m and NDIVHH by exactly zero. Reviving it needs a CORP series. Every published figure has the channel inert. + + + Impact multiplier 1.0 by construction + 1.0 vs the OBR's published 0.6 — the warning above explains why and what it biases. - Impact multiplier ~1 by construction - ~1.0 vs the OBR's published 0.6 — the warning above explains why and what it biases. + Government investment does not transmit + CGIPS moves business investment by exactly zero in all twelve quarters and leaves a wrong-signed GDP residue, against the OBR's published 1.0. Capital spending should not be scored on this model. - Corporation-tax closure is specialised - The investment closure runs the published TCPRO → cost-of-capital → investment chain via obr_shock: business-investment equation reconstructed from the OBR's commented, truncated line; level anchored with held add-factors; MSGVA, PIF, PIRHH frozen to a shared tracking path against uncalibrated feedback. CI hard-gates the expected sign and a £50bn-per-quarter bound. A controlled scenario closure, not a calibrated supply block. + Corporation-tax closure never converges + The published TCPRO → cost-of-capital → investment chain, with the business-investment equation reconstructed from the OBR's truncated line and MSGVA, PIF, PIRHH frozen against uncalibrated feedback. The deviation compounds ~25% a quarter with no steady state: the 12-quarter horizon is where the magnitude still looks plausible, not where it settles. CI gates the sign and a £50bn-per-quarter bound — a controlled scenario closure, not a calibrated supply block. Passthrough channels @@ -511,7 +469,7 @@

Known limitations.

Vintage - October 2025 equation listing, March 2026 EFO, current-vintage ONS series. Where the ONS has revised history the identities don't close exactly; that slack lands in the add-factors. The working paper remains a November 2025 EFO vintage study. + October 2025 equation listing, March 2026 EFO, current-vintage ONS series. Where the ONS has revised history the identities don't close exactly; that slack lands in the add-factors. No behavioural micro diff --git a/olg/validation/index.html b/olg/validation/index.html index 61fb8e50..225f1861 100644 --- a/olg/validation/index.html +++ b/olg/validation/index.html @@ -81,12 +81,12 @@

Two UK overlapping-generations models, side by side.

- This page compares OG-UK — the UK calibration of + OG-UK — the UK calibration of OG-Core, maintained by the - Policy Simulation Library — with the - OBR UK OLG model described in + Policy Simulation Library — against the + OBR UK OLG model of OBR Working Paper No. 22 - (Brzezinski, Hantzsche & Watson, April 2025) — the closest available + (Brzezinski, Hantzsche & Watson, April 2025), the closest available external check for a model of this kind.

@@ -110,9 +110,6 @@

Two UK overlapping-generations models, side by side.

Production technology.

-

- How each model represents firms. -

@@ -146,9 +143,9 @@

Household heterogeneity.

- + - +
OG-UKOBR UK OLG
Precautionary savingsNot a primary channelYes — driven by earnings uncertainty
Utility functionCRRA on consumption; elliptical labour disutilityCobb-Douglas over consumption and leisure (non-separable)
Labour disutilityElliptical function — always interior solutionsImplicit in Cobb-Douglas composite — corner solutions possible
Risk aversion parameterσ on consumption onlyσ₂ = 2 on consumption-leisure composite
Risk aversion parameterσ = 1.5 on consumption onlyσ₂ = 2 on consumption-leisure composite
Consumption aggregationStone-Geary Cobb-Douglas (subsistence levels, I goods)Single consumption good
Discount factorβj varies by ability typeβ = 0.99 (uniform)
Discount factorβ = 0.965, fixed and uniform (per-type βj supported, not used here)β = 0.99, calibrated to the WAS asset profile
@@ -160,9 +157,6 @@

Household heterogeneity.

Bequest motive.

-

- How each model handles wealth transfer across generations at death. -

@@ -180,7 +174,6 @@

Bequest motive.

Tax system.

-

How each model represents the UK tax system.

OG-UK — estimated tax functions
@@ -229,9 +222,6 @@

Government & fiscal policy.

Open economy.

-

- How foreign capital enters each model, and where the interest rate comes from. -

OG-UKOBR UK OLG
@@ -283,9 +273,8 @@

Solution method & calibration.

- Source: OBR Working Paper No. 22, "A new UK - overlapping generations model" (April 2025); OG-Core documentation and OG-UK - calibration code. + Sources: OBR Working Paper + No. 22; OG-Core documentation and OG-UK calibration code.

@@ -297,10 +286,9 @@

No ground truth. Calibration targets instead.

- No published replication target exists. The table - compares calibration targets with official UK aggregates. Imposed - matches are anchors; structural counterfactuals remain conditional on - the model's auditable assumptions and code. + No published replication target exists for this model + class. The table compares calibration inputs with official UK + aggregates. Nothing in it is a model output.
OG-UKOBR UK OLG
@@ -308,7 +296,7 @@

No ground truth. Calibration targets instead.

- + @@ -317,38 +305,37 @@

No ground truth. Calibration targets instead.

QuantityOfficial UK valueSourceModel treatmentDeviation
Government debt-to-GDP94.9% (June 2026)ONS · HF6X, vintage 2026-07-26imposed via closure target+0.1pp vs latest ONS (target 95.0%)
Household saving ratio8.9% (2026Q1, down from 9.6%)ONS quarterly sector accountsnot targeted — β is fixed, not estimatedno model-produced value to compare
Household saving ratio8.9% (2026Q1, down from 9.6%)ONS quarterly sector accountsnot targeted — β = 0.965 fixed, not estimatedno model-produced value to compare
Potential growth≈1.1% / yrOBR EFOimposed, gy = 0.011≈0
Depreciation / capital≈6–7% (CFC / net stock)ONS capital stocks bulletinimposed, δ = 0.065within range
Labour share of income≈0.59–0.60, rising in 2024ONS labour-share series / Blue Book 2025imposed, γ = 0.35 (OG-Core default)≈5pp — the capital share is not yet re-anchored to ONS factor shares

- A zero deviation on an imposed quantity is not independent evidence. + An imposed target cannot disagree, so a zero + deviation above is an anchor, not evidence. Only the emergent row is + a check.

The nearest external benchmark is OBR - Working Paper 22, Table 5.1 — the long-run effect of a 1pp - basic-rate rise: GDP/person −0.1%, labour supply −0.2%, - productivity +0.1%. The OG-UK side of that comparison is open - validation work: WP 22's figures are the target a future run will - be judged against, not a match claimed today. + Working Paper 22, Table 5.1 — a 1pp basic-rate rise in the long + run: GDP/person −0.1%, labour supply −0.2%, productivity + +0.1%. Those are the figures a future OG-UK run will be judged + against, not a match claimed today.

What would count as over-identifying evidence, and the dating and structural caveats

- The genuinely over-identifying checks are the ones the - steady state must deliver: the capital–output ratio and - the interest rate consistent with the calibrated (γ, δ, β) triple. - These emerge in an economically sensible range in the deployed - configuration, but no systematic published reconciliation of - achieved-versus-target moments exists for OG-UK 0.3.2, and - the working paper declines to manufacture one. Producing that - reconciliation from logged solves is the single most valuable next - step for this member. + The genuinely over-identifying checks are the ones the steady state + must deliver: the capital–output ratio and the interest + rate implied by the calibrated (γ, δ, β) triple. Both emerge in an + economically sensible range, but no systematic published + reconciliation of achieved-versus-target moments exists for + OG-UK 0.3.2. Producing one from logged solves is the most valuable + next step for this member.

- Two dating caveats: the official column reports figures current at - mid-2026 while the deployed calibration was frozen against slightly - earlier vintages, and the saving ratio is volatile quarter to - quarter, so β is matched to a smoothed level rather than the latest - print. Two structural caveats carried over from OG-Core: the ability - types and lifetime earnings profiles are still the US tax-microdata - estimates, and UK re-estimation is an open task. + Two dating caveats: the official column reports mid-2026 figures + while the deployed calibration was frozen against slightly earlier + vintages, and the saving ratio is volatile quarter to quarter, so the + fixed β was set against a smoothed level rather than the latest + print. Two structural caveats from OG-Core: the ability types and + lifetime earnings profiles are still the US tax-microdata estimates, + and UK re-estimation is open.

Experimental limitations.

Version pin - The integration installs oguk from GitHub (0.3.2), which pins policyengine-uk==2.88.0. Versions ≥ 2.89 renamed the microdata dataset keys (enhanced_frs_2023_24_<year>populace_uk_*), so mixing them fails with a KeyError at calibration time; the adapter traps this and raises an actionable error. Lifting the pin is roadmap work — until it lands the OLG member scores against a slightly older statute vintage than the microsimulation member. A declared inconsistency, not a hidden one. + oguk 0.3.2 pins policyengine-uk==2.88.0. Versions ≥ 2.89 renamed the microdata dataset keys, so mixing them fails with a KeyError at calibration time; the adapter traps it and raises an actionable error. Until the pin lifts, the OLG member scores against an older statute vintage than the microsimulation member — a declared inconsistency, not a hidden one. Gated data @@ -382,7 +369,7 @@

Experimental limitations.

Steady-state-only in the CLI - Because the CLI exposes steady-state solves only (Code, step 7), the model cannot yet speak to fiscal-year profiles through the suite — the long-run destination is available through it, the path there is not. + The CLI exposes steady-state solves only (Code, step 7): the long-run destination is reachable through the suite, the path there is not. Ability profiles not UK-estimated diff --git a/papers/boe-svar/index.html b/papers/boe-svar/index.html index 070007d7..85e46579 100644 --- a/papers/boe-svar/index.html +++ b/papers/boe-svar/index.html @@ -22,6 +22,7 @@ @@ -72,7 +73,7 @@

-
+
boe-svar · UK · hosted · 33 pages @@ -84,15 +85,13 @@

An open replication of the Bank of England structural VA

-

Current forecast: data through 2026Q1, outlook from 2026Q2–2029Q2. The PDF keeps the frozen 2024Q2 evaluation separately: 0.32pp RMSE for GDP and CPI, with 14/14 outturns inside the 68% bands — though the 49-origin rolling evaluation finds the bands under-cover on average, so this single-origin result overstates calibration.

- -

Corrected August 2026, and the PDF now reflects it. The headline replication statistic was the wrong quantity: computed the way Brignone & Piffer (2025) define it — posterior mean of the per-draw group share of total four-quarter-ahead variance — the one-year global share is 37.4% for UK GDP against the paper's ~40% (a match) and 42.3% for UK CPI against ~50% (about 8pp short). The previously published 42.1% / 49.5% came from summing per-shock posterior medians and renormalising them to 100%. On forecasting: across 49 rolling origins, nothing beats a random walk with drift on any variable at any horizon once the 64 tests are adjusted together (Benjamini–Hochberg minimum q = 0.36).

+

On the statistic Brignone & Piffer (2025) actually define — posterior mean of the per-draw group share of total four-quarter-ahead variance — the identified global shocks explain 37.4% of UK GDP forecast-error variance against the paper's ~40%, and 42.3% of UK CPI against ~50%, a gap narrower than the 68% band of about ±14pp. Forecasting is the weaker half: from the frozen 2024Q2 edge the RMSE is 0.32pp for both GDP and CPI, but 14 of 14 outturns inside the 68% band is over-dispersion at that origin rather than a pass, and across 49 rolling origins nothing beats a random walk with drift once the 64 tests are adjusted together (Benjamini–Hochberg minimum q = 0.36). Current forecast: data through 2026Q1, outlook 2026Q2–2029Q2. Validation →

- +

Your browser can’t display PDFs inline. The paper is 33 @@ -119,7 +118,7 @@

An open replication of the Bank of England structural VA  ·  All papers →

-

Cite this work

+

Cite this work

Ahmadi, Vahid (2026). “An open replication of the Bank of England structural VAR.” PolicyEngine Macro working paper. https://policyengine-macro.vercel.app/papers/boe-svar

@techreport{policyengine2026boesvar,
   title       = {An open replication of the Bank of England structural VAR},
diff --git a/papers/define-uk/index.html b/papers/define-uk/index.html
new file mode 100644
index 00000000..1cdfd107
--- /dev/null
+++ b/papers/define-uk/index.html
@@ -0,0 +1,148 @@
+
+
+
+
+
+DEFINE-UK ecological SFC replication — PolicyEngine Macro
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

model 07 — ecological stock-flow consistent · define-uk · UK · experimental

+

+ Climate policy meets the UK financial system. +

+

+ Who bears a climate-policy scenario — through balance sheets, not an + output gap. The replication record, and the ceiling the publications + impose on it. +

+
+
+ + + +
+
+
+ define-uk · UK · experimental · 28 pages +

DEFINE-UK: running and gating an unlicensed ecological stock-flow consistent model

+
+ +
+ +

One gate passes, one diverges, two close at a ceiling. The manual's Table 4 macro block replicates — population and labour force exact to 0.01m, growth matching to 0.06pp at 2030 and 2040 — but the 2025 growth miss of −0.30pp clears a ±0.31pp gate set after the run, so that year is a pass of the tolerance and not a match, and the paper labels it that way at the point of claim. Baseline emissions diverge and are pinned rather than tolerated: 393 vs 407 MtCO2e/yr in 2025, 343 vs 382 in 2030, 249 vs 324 by 2040 (−3.5% / −10.2% / −23.3%, computed from the pinned ratios).

+ +

No numeric v1.1 scenario results are published, so the two scenario targets are closed at the achievable ceiling, not passed: what is gated is scenario design plus two coarse anchors from a pre-1.0 conference version, and the emissions anchor admits 330–352 for a published claim of “just under 350”. The upstream is unlicensed — fetched at pinned commit 846081a at runtime, never vendored or hosted — and the baseline sits far from outturns (2025 growth 4.66% against an ONS 1.31%), so the adapter serves deltas, never levels. The 1.78 green-investment multiplier is ours and is not comparable to any published multiplier. In parallel, a clean-room Python reimplementation is 118 contiguous equations into its second milestone, with thirteen manual defects pinned as machine-readable gap records.

+ + +
+ +
+

+ Your browser can’t display PDFs inline. The paper is 28 + pages — open or download it instead. +

+ Open the PDF +
+
+
+ + +
+ 28 pages · pdf +

+ Inline PDF viewing is unreliable on mobile browsers, so it’s disabled + here. Open the paper in your device’s PDF reader instead. +

+ Open the PDF +
+ +

+ Source & reproduction: papers/define-uk/ on GitHub +  ·  Replication report → +  ·  All papers → +

+ +

Cite this work

+

Ahmadi, Vahid (2026). “DEFINE-UK: running and gating an unlicensed ecological stock-flow consistent model.” PolicyEngine Macro working paper. https://policyengine-macro.vercel.app/papers/define-uk

+
@techreport{policyengine2026defineuk,
+  title       = {DEFINE-UK: running and gating an unlicensed ecological stock-flow consistent model},
+  author      = {Ahmadi, Vahid},
+  year        = {2026},
+  institution = {PolicyEngine},
+  url         = {https://policyengine-macro.vercel.app/papers/define-uk},
+  note        = {PolicyEngine Macro working paper}
+}
+

No DOI is assigned. For an exact version stamp, cite the git commit of the artifact you used from github.com/PolicyEngine/macro. The model design belongs to its authors (George and Dafermos, SOAS); the replication and the clean-room implementation are ours, and are not endorsed by them.

+
+
+ + + + + diff --git a/papers/define-uk/main.pdf b/papers/define-uk/main.pdf new file mode 100644 index 0000000000000000000000000000000000000000..952215afce5ed73746695f4820beb297b74ea548 GIT binary patch literal 213723 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

rTlZ;wLx?=J!)N8H(_O9dH~f$Pq9K(L#28&cuP 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 muZU4^o!{\raggedright\arraybackslash}p{0.16\textwidth}>{\raggedright\arraybackslash}p{0.53\textwidth}@{}} +\caption{Dated run record} \label{tab:runrecord} \\ +\toprule +Date & Basis & Result \\ +\midrule +\endfirsthead +\toprule +Date & Basis & Result \\ +\midrule +\endhead +\bottomrule +\endfoot +2026-08-01 & \texttt{846081a}, R 4.3.0 & Full upstream notebook renders end to end, unmodified, with an \texttt{rstudioapi} shim the only accommodation. 151 output files. \textbf{Execution is not validation}: no comparison against published figures yet, so every target remains pending. \\ +\addlinespace +2026-08-04 & \texttt{846081a}, cached run & Table~4 replication run. Macro block passes (population and labour force exact to 0.01\,m; growth exact at 2030/2040, $-0.30$\,pp at 2025; unemployment within 0.2\,pp; 2025--40 means and standard deviations match). Emissions diverge as target 1b records. \\ +\addlinespace +2026-08-04 & clean-room, manual only & \textbf{Milestone 1 PASS.} \S2.2 matrices and \S5 Tables~5--6 transcribed in full; every Table~1/2 row and column identity holds on the \S5 initial values at the manual's four-significant-figure printing precision. The rest-of-world lending inconsistency pinned exactly. \\ +\addlinespace +2026-08-04 & \texttt{846081a}, cached run & Scenario surface gated against the pinned oracle: all 22 scenario files across four blocks registered, annualised delta paths only with mandatory caveats, 11 pinned delta points, sign and ordering structure pinned. \\ +\addlinespace +2026-08-05 & \texttt{846081a}, cached run & \textbf{Targets 2 and 3 closed at the achievable ceiling}; scenario-design gate added with the two FMM 2023 anchors; external comparator table computed and committed; the 1.78 multiplier computed, replacing the unusable upstream multiplier table; published sources catalogued. \\ +\addlinespace +2026-08-11 & clean-room, manual only & \S3.2, \S3.3.1 and \S3.3.2 landed: 118 contiguous equations, Eqs.~(21)--(138). \S3.3.3 and the oracle gate outstanding, so \textbf{milestone 2 is not passed}. \\ +\addlinespace +2026-08-12 & audit, manual + committed artifacts & All 661 transcribed \S5 values re-checked against the manual page each source comment names; every pinned discrepancy recomputed independently of the sector modules. All arithmetic reproduced. Four findings re-characterised as first-period jumps, one claim withdrawn outright, five discrepancies unified into one deflator finding, one new gap found. Suite: 236 passed, 59 skipped. \\ +\end{longtable} diff --git a/papers/define-uk/sections/calibration.tex b/papers/define-uk/sections/calibration.tex new file mode 100644 index 00000000..248883e3 --- /dev/null +++ b/papers/define-uk/sections/calibration.tex @@ -0,0 +1,51 @@ +\section{External calibration and the multiplier} +\label{sec:calibration} + +Replication against a publication and calibration against the world are different questions, and a model can pass the first while failing the second badly. DEFINE-UK does. This section reports the second, and then reports the one number from the model that has circulated most widely --- a cumulative green-investment multiplier of 1.78 --- with the reasons it cannot be read against anybody else's multiplier. + +\subsection{The baseline against outturns} + +Since 5 August 2026 this comparison is an artifact rather than a paragraph. A function in the adapter recomputes every row from the cached pinned run against vintage-exact external observations; the result is committed as \texttt{validation/baseline\_vs\_external.csv}; and a test fails on any drift between the committed table and a recomputation. Table~\ref{tab:calibration} reproduces it. + +\begin{table}[t] +\centering +\caption{DEFINE-UK baseline against external observations} +\label{tab:calibration} +\footnotesize +\begin{tabularx}{\textwidth}{@{}>{\raggedright\arraybackslash}Xrrl>{\raggedright\arraybackslash}X@{}} +\toprule +Quantity & Model & External & Units & Verdict \\ +\midrule +Real GDP growth, 2025 & 4.66 & 1.31 & \% y/y & far above outturn; never a forecast \\ +Real GDP growth, mean 2025--40 & 2.4 & 1.65 & \% y/y & high vs official long-run \\ +Unemployment, 2025 & 4.39 & 4.88 & \% & below outturn \\ +Population 16+, 2025 & 55.66 & 56.0 & millions & consistent \\ +Labour force, 2025 & 35.97 & 34.5 & millions & slightly high \\ +Emissions, 2024 & 401.5 & 371.0 & MtCO$_2$e/yr & above the actuals it should start from \\ +Emissions, 2030 vs NDC & 342.8 & 260.0 & MtCO$_2$e/yr & short of the NDC by design \\ +\bottomrule +\end{tabularx} +\par\smallskip +\parbox{0.97\textwidth}{\footnotesize \emph{Notes:} Model column from the cached pinned run at commit \texttt{846081a}, annual-mean convention --- which is why 2025 growth reads 4.66 where the manual's Table~4 prints 4.96, the same anchoring gap recorded under target 1a (Section~\ref{sec:target1a}). Sources: ONS quarterly national accounts, vintage 26 July 2026 \citep{ons2026gdp}; ONS series MGSX, same vintage, 2025 quarterly path 4.6/4.7/5.0/5.2 giving an annual mean of 4.88 \citep{ons2026lms}; ONS 16+ population and labour force; DESNZ UK territorial greenhouse gas emissions, 2024 provisional, with 2023 final at 384 \citep{desnz2025ghg}; OBR March 2026 long-run growth assumption \citep{obr2026efo}; and the UK NDC of 68 per cent below 1990 by 2030. The final row is not a failure: the manual states that its current-policies baseline falls short of the NDC by design.} +\end{table} + +The 2025 growth gap is the one to keep in view: 4.66 per cent against an ONS outturn of 1.31, a gap of well over three percentage points on the single most familiar macroeconomic quantity there is. Unemployment sits about half a point below the outturn, the labour force about a million and a half high, and 2024 emissions some 30 MtCO$_2$e above the DESNZ actuals the model should be starting from. None of this is presented as a defect of the model as its authors intend it to be used --- the manual is explicit that the baseline is not a forecast --- but it is decisive for how the adapter may serve it. It is the measured basis for Section~\ref{sec:deltas}'s deltas-only rule. + +\subsection{The 1.78 multiplier, and why it is not comparable to any published one} +\label{sec:multiplier} + +The model's cumulative green-public-investment multiplier is \textbf{1.78} by \emph{our own} computation: cumulative $\Delta$GDP of 209.9 over cumulative $\Delta$SPEND\_GVT of 118.2, nominal, over the full simulation, on the green-public-investment-plus-green-bonds scenario against its baseline. The arithmetic reproduces ($209.9/118.2 = 1.7758$) and the number is pinned in the test suite to $\pm0.01$ with its cumulants pinned to $\pm0.5$. + +Two labels must travel with it. The first is that \textbf{the number is ours, not the authors'}: no published DEFINE-UK multiplier corresponds to it, and it is a quantity this replication defined and computed, not one it reproduced. The second is that \textbf{it is not like-for-like against any published multiplier}, on three separate grounds, all of which push in the same direction. + +\paragraph{Horizon.} Ours is a cumulative ratio over the whole simulation to 2040. Published green-spending multipliers, and the OBR's capital-spending impact multiplier of roughly 1.0, are short-horizon figures --- impact or first-few-year. A long-horizon cumulative ratio is \emph{expected} to sit above them, so setting 1.78 beside a short-horizon number and reading a disagreement is a units error dressed as a finding. + +\paragraph{Denominator.} SPEND\_GVT is total government spending excluding wages. The manual's Table~6 components imply it is other government consumption plus social benefits plus government gross capital formation ($58.03 + 82.8 + 20.76 = 161.59$ against a tabulated 161.6), of which government investment --- the actual policy lever --- is only \textbf{12.8 per cent}. The denominator is therefore an endogenous aggregate rather than the policy impulse, and it moves the wrong way for the ratio: the scenario cuts unemployment, social benefits fall, the denominator shrinks, and the measured multiplier is \textbf{biased up}. The clean comparison --- cumulative $\Delta$GDP over cumulative $\Delta\mathrm{GCF\_GVTG}$, the actual impulse --- \textbf{has never been computed}. Until it is, 1.78 should be read as upper-leaning, and that is stated wherever the number is served. + +\paragraph{Closure.} As Section~\ref{sec:model} sets out, the model is demand-led with Kaldor--Verdoorn productivity (Eq.~(31)) and real GDP not held to a supply ceiling (Eq.~(38)). A multiplier above one over fifteen years is what this closure \emph{implies}. It is not a symptom of an implementation error, and it is not a finding about the world; it is a property of the model one has chosen to run. That is why the number is labelled rather than corrected. + +These three caveats are not editorial: they are carried in code as a constant and gated hermetically by a test that fails if the number is served without them. + +\paragraph{A withdrawn comparator.} Earlier versions of this project's surfaces set 1.78 beside ``IMF green-spending multipliers of 1.1--1.5'', attributed to a 2021 IMF publication. That publication could not be located in either repository or anywhere else, and the attribution has been \textbf{withdrawn rather than repaired}, on the principle that an unidentifiable citation is worse than none. The only IMF reference this project actually holds is \citet{batini2014}, which is a different paper reporting a different quantity: first-year multipliers of 0--1 for advanced economies. No published multiplier is quoted alongside 1.78 in this paper, because none of them measures the same object. + +\paragraph{The upstream multiplier table is unusable.} The upstream run also produces its own \texttt{tables/Multiplier\_Summary.csv}, and it is documented unusable rather than quietly ignored. Its impact, four-quarter and eight-quarter multiplier columns are \emph{identical across all eight scenarios} ($-32.22$, $-0.88$, $2.6$), which no correct scenario-specific multiplier can be; and its cumulative government-spending figure of 104.22 matches the cumulative delta of \emph{no} variable in the scenario file. One column does reconcile --- its cumulative GDP delta of 250.76 is the cumulative quarterly real-GDP delta of the green-public-investment scenario, 250.6 by our own sum --- which is what makes the failure of the others diagnostic rather than ambiguous. Neither the table nor the multiplier of roughly 2.4 once derived from it is quoted anywhere. diff --git a/papers/define-uk/sections/implementation.tex b/papers/define-uk/sections/implementation.tex new file mode 100644 index 00000000..64932003 --- /dev/null +++ b/papers/define-uk/sections/implementation.tex @@ -0,0 +1,37 @@ +\section{The adapter: how the model is run, and what it serves} +\label{sec:implementation} + +\subsection{Code architecture} + +The adapter is a small Python package, \texttt{define\_uk} (src layout), at \url{https://github.com/PolicyEngine/define-uk-model}. It has two halves that never touch: a harness that runs the authors' R code, and a clean-room reimplementation that must not read it. + +\begin{itemize} +\item \texttt{upstream.py} --- clones the upstream repository into a local cache at run time at the pinned commit \texttt{846081a580a6033159d5c421632ad8f0b30d0ded}, and nothing else. Bumping the pin is an explicit, reviewed change, because the validation targets are tied to that revision. +\item \texttt{runner.py} --- renders the upstream R Markdown notebook in place, unmodified. +\item \texttt{scenarios.py} --- the curated scenario surface over the \emph{cached} outputs of that run. It never runs R; if no cached run exists it raises with instructions to produce one. +\item \texttt{validation.py} --- the computed comparators: the baseline-versus-external calibration table, the green-public-investment multiplier, and the caveats that travel with it. +\item \texttt{model/} --- the clean-room reimplementation (Section~\ref{sec:reimplementation}): an equation registry that requires a manual reference on every equation, a Gauss--Seidel per-period solver, one module per manual \S3 section, the \S5 parameter and initial-value tables, and the \S2.2 accounting matrices. +\end{itemize} + +\subsection{The scenario surface} + +The pinned run produces 22 scenario files across four blocks: government investment, housing regulation, power-sector regulation and mixed packages. The power-sector block is run under five expectation regimes --- mutual trust, poor credibility, false confidence, no forward guidance, and unexpected enforcement --- of which mutual trust is treated as canonical and the others carry an explicit variant suffix. Each of the 22 is registered, and each is checked against the policy switches its published description claims (Section~\ref{sec:targets23}). + +The surface returns \emph{annualised scenario-minus-baseline delta paths only}. The convention is fixed and tested: scenario minus baseline, annual mean of quarterly levels, calendar-anchored 1987Q1--2040Q4. Eleven delta points across four scenarios and three variables are pinned to relative tolerance $10^{-6}$ against the cached run, and the sign and ordering structure --- deltas finite, baselines identical across block folders, emissions falling in every scenario by 2035, the mixed package dominating --- is pinned exactly. + +\subsection{Deltas, never levels} +\label{sec:deltas} + +The decision to serve deltas and never levels is the single most consequential design choice in the adapter, and it is a direct reading of two facts established in Sections~\ref{sec:model} and \ref{sec:calibration}: the manual's own statement that its baseline ``should also not be seen as a prediction or forecast'', and the measured distance between the baseline and UK outturns --- 2025 real GDP growth of 4.66 per cent against an ONS 1.31, unemployment below the outturn, emissions above the DESNZ actuals they should start from. + +Enforcing that is not left to documentation. Every scenario result carries a result type of ``scenario deltas'' and a mandatory caveat list, held in code and gated by tests: that the exercise is experimental and gated at the ceiling described in Section~\ref{sec:targets23}; that baseline levels are not validated against outturns and must never be presented as forecasts; that the closure is demand-led, so multipliers sit above mainstream estimates; and that the pinned commit's baseline emissions path diverges from the manual's published table. Near-term DEFINE-UK levels are not competitive with the suite's OBR emulator \citep{ahmadi2026obr} or its Bank of England SVAR \citep{ahmadi2026boesvar}, and are never presented as forecasts. + +\subsection{Integration} + +Within PolicyEngine Macro the model is exposed through the \texttt{pe-macro} command-line interface --- \texttt{define-scenarios} to list the registry, \texttt{define-scenario} to produce delta paths --- marked local-only and experimental, for the licence reason of Section~\ref{sec:licence}. A further command bridges a scenario's household income deltas into PolicyEngine's UK microsimulation as a pre-tax earnings overlay, the same economic-assumptions pattern the suite uses for its other macro members, so that a climate-policy scenario can be read household by household through the tax and benefit system. Only numbers travel across that bridge; the unlicensed upstream code does not. The suite's reform-scoring entry point continues to refuse this model. + +\subsection{What continuous integration can and cannot check} + +Because the upstream is unlicensed, continuous integration never fetches or runs it, so the oracle comparisons skip there and run only where a cached pinned run exists. This would be a serious weakness if the gate were left at that, so the gate is split. + +Every pinned reference number the oracle tests compare against lives in one committed artifact, \texttt{validation/reference\_outputs.json}, rather than in test code --- so that a local run and a CI run gate identical numbers, and no tolerance or reference can drift silently inside a test. The \emph{hermetic} half of the suite runs everywhere, on every pull request, without R or any upstream fetch: it checks that the reference artifact is well-formed and internally consistent (for instance, that the committed multiplier reproduces from its committed cumulants), that it is pinned to the same commit the code is, that the committed calibration table keeps its exact schema, pinned external observations, gap arithmetic and headline divergences, that the scenario registry matches, and that the repository's own documentation still names the pinned commit. Changing any reference number requires editing the artifact deliberately, with a dated run-record entry --- never editing a test. diff --git a/papers/define-uk/sections/intro.tex b/papers/define-uk/sections/intro.tex new file mode 100644 index 00000000..bd9a6d60 --- /dev/null +++ b/papers/define-uk/sections/intro.tex @@ -0,0 +1,22 @@ +\section{Introduction} +\label{sec:intro} + +Climate policy is a macrofinancial event. A fossil-fuel ban writes down capital that somebody owns and somebody else has lent against; a retrofit subsidy is a fiscal flow that lands on households with a particular distribution of housing stock; a decarbonisation path that misses its target does so through investment decisions taken under credit rationing. Most macroeconomic models cannot say any of this, because their accounting stops short of balance sheets or their environmental block is a reduced-form elasticity bolted onto a supply-side core. Ecological stock-flow consistent (E-SFC) models are built for exactly this joint question, and DEFINE-UK is the United Kingdom's. + +DEFINE-UK is documented in the \emph{DEFINE-UK Model Manual, Version 1.1} \citep{georgedafermos2026manual}, released April 2026 alongside version~1.0. It is a closed monetary accounting system covering households, non-financial corporations, the power-generation sector, monetary and non-monetary financial institutions, government and the rest of the world, with a non-sectoral production module, coupled to an energy and emissions block, and it carries two UK-specific structures --- a housing stock tracked by energy efficiency and a power sector with separate fossil and non-fossil capital --- through which climate policy reaches the financial system rather than merely the output gap. Version~1.1 added regulatory policies that directly depreciate affected capital (stranded assets as an explicit balance-sheet event), limited forward-looking behaviour towards policy announcements, direct government ownership of non-fossil power capital, and a green sovereign bond. + +Within PolicyEngine Macro \citep{policyengine}, an open suite of macroeconomic models for the UK and US, DEFINE-UK occupies a role no other member can fill: it is the only model in the suite that answers \emph{who bears a climate-policy scenario}. It is also the suite's most constrained member, and this paper is as much a record of those constraints as of what was reproduced. + +\paragraph{What this paper is.} The suite's standard is that a model earns its place by replication: run the published code or reimplement the published equations, then compare against the published results at recorded tolerances, and report the comparison with numbers rather than adjectives --- the same bar applied to the Bank of England SVAR \citep{ahmadi2026boesvar} and the OBR macroeconometric emulator \citep{ahmadi2026obr}. This paper applies that standard to DEFINE-UK and records, target by target, where it passes, where it diverges, and where the publications themselves impose a ceiling on what can be checked at all. + +\paragraph{Three constraints shape everything that follows.} The first is legal. The upstream repository is public but carries \textbf{no licence}, which means its code cannot be vendored, redistributed or hosted. The adapter therefore fetches it at pinned commit \texttt{846081a} at runtime and executes it as published, in R, unmodified --- and DEFINE-UK is the only member of the suite that is local-only, never hosted. The second is evidential. No machine-readable numeric scenario results are published for version~1.1: the manual's own results stop at the baseline table plus scenario \emph{design} parameters, and both companion papers are access-restricted. There is, in short, nothing to replicate on the scenario side, and Section~\ref{sec:validation} says so rather than manufacturing a comparison. The third is calibrational. The published baseline sits far from UK outturns --- 2025 real GDP growth of 4.66 per cent against an ONS 1.31 --- and the manual states plainly that its baseline ``should also not be seen as a prediction or forecast''. Taking that literally is what makes the adapter serve annualised scenario-minus-baseline \emph{deltas, never levels}. + +\paragraph{Contribution.} The contribution is threefold, and none of it is a forecast. + +First, \emph{a replication with its ceiling stated}. Section~\ref{sec:validation} reports four published-target gates. The manual's Table~4 macro block passes. Its emissions path diverges, and is pinned at the observed ratios so that further drift fails loudly rather than being absorbed. The two scenario targets are closed at the achievable ceiling and are explicitly not passes. Throughout, checks that cannot fail are separated from checks that can, at the point of claim: the 2025 growth pass clears a tolerance set after the run by 0.01\,pp, and the two conference-vintage anchors are bands we chose to fit a verbal quantity, one of which admits values that contradict the sentence it is named for. + +Second, \emph{a calibration and a multiplier reported with their non-comparabilities attached}. Section~\ref{sec:calibration} gives the baseline against ONS, DESNZ and OBR figures as a computed, regression-tested artifact rather than prose, and reports a cumulative green-public-investment multiplier of 1.78 that is ours, not the authors', and that is not like-for-like against any published multiplier on horizon, denominator or closure. A previously quoted IMF comparator is recorded as withdrawn. + +Third, \emph{a clean-room reimplementation in progress}. Because the upstream cannot be hosted, the route to a hostable DEFINE-UK is a from-scratch Python implementation of the published equations, with the upstream used strictly as a numerical output oracle and never read to write equations. Section~\ref{sec:reimplementation} reports milestone~1 passed and milestone~2 in progress --- 118 contiguous equations, Eqs.~(21)--(138) --- and treats the reimplementation as an instrument in its own right: reading the manual closely enough to run it has surfaced thirteen defects, which are carried as machine-readable gap records rather than papered over, and an audit of those records re-characterised four of them and withdrew one claim outright. + +\paragraph{Road map.} Section~\ref{sec:literature} places the model in the SFC, ecological-macroeconomics and climate-finance literatures. Section~\ref{sec:model} sets out the model as the manual specifies it. Section~\ref{sec:source} identifies the source publications, the licence position, and the replication scope. Section~\ref{sec:implementation} describes the adapter and what it serves. Section~\ref{sec:validation} is the replication record. Section~\ref{sec:calibration} covers external calibration and the multiplier. Section~\ref{sec:reimplementation} covers the clean-room track. Section~\ref{sec:limitations} concludes with limitations. The appendix reproduces the published baseline table, the full gap-record inventory, and the dated run record. diff --git a/papers/define-uk/sections/limitations.tex b/papers/define-uk/sections/limitations.tex new file mode 100644 index 00000000..5df53343 --- /dev/null +++ b/papers/define-uk/sections/limitations.tex @@ -0,0 +1,26 @@ +\section{Limitations and conclusion} +\label{sec:limitations} + +Six limitations should frame any use of this model, and each is disclosed in the codebase as well as here. + +\paragraph{No scenario result has been replicated.} This is the limitation that matters most, because scenarios are what the model is for. No machine-readable numeric scenario results are published for version~1.1, so targets 2 and 3 are closed at the achievable ceiling rather than passed (Section~\ref{sec:targets23}). What is gated is scenario \emph{design} --- the exact policy-switch set each cached scenario toggles --- plus two coarse anchors from a pre-1.0 conference version that are regression pins, not agreement tests, one of which admits values contradicting the sentence it is named for. Nothing in this paper establishes that DEFINE-UK's scenario \emph{outputs} reproduce anything published. The condition for lifting this is specific: the authors publish scenario tables, or either SSRN paper becomes accessible. + +\paragraph{The baseline is not a forecast, and its levels are far from outturns.} 2025 real GDP growth of 4.66 per cent against an ONS 1.31; unemployment below the outturn; 2024 emissions some 30 MtCO$_2$e above the DESNZ actuals. The manual itself says the baseline ``should also not be seen as a prediction or forecast''. The adapter therefore serves deltas and never levels, and no DEFINE-UK number appears in any of the suite's forecast surfaces. Users who want UK levels should use the suite's OBR emulator or its Bank of England SVAR. + +\paragraph{One published match is a tolerance, not an agreement.} Target 1a passes, and the 0.06\,pp matches at 2030 and 2040 are real. The 2025 growth pass is not: it clears a $\pm0.31$\,pp gate set after the run by 0.01\,pp, on an annualisation convention Table~4 does not state precisely enough to resolve. It is reported as a pass of the gate and not as a match. + +\paragraph{The emissions path diverges, and the cause is not established.} The pinned commit runs 3.5 per cent below the published table in 2025 and 23.3 per cent below by 2040. Two checks rule out extraction error on this side, which leaves a vintage or calibration gap between the published table and this commit --- but which vintage produced Table~4 is not known here, and the question is with the authors. Anyone using the adapter's emissions deltas should know that the level path they are differenced from is not the published one. + +\paragraph{The multiplier is ours and is not comparable.} 1.78 is a quantity this replication defined, on a horizon, a denominator and a closure that all bias it upward relative to any published short-horizon, impulse-based multiplier (Section~\ref{sec:multiplier}). The clean number --- cumulative $\Delta$GDP over cumulative $\Delta\mathrm{GCF\_GVTG}$ --- has never been computed, and computing it is the obvious next piece of work. A previously quoted IMF comparator has been withdrawn as unlocatable. + +\paragraph{The reimplementation is early, and the model is local-only until it is not.} Milestone~1 is passed and milestone~2 is in progress with 118 of the manual's equations transcribed and its oracle gate unrun; \S3.3.3, the seven sectoral sections, the ecosystem block and the scenarios remain. Until it is complete, DEFINE-UK cannot be hosted at all, because the upstream is unlicensed. Two operational caveats attach: the full-notebook runtime and the upstream's R dependency set are untested in continuous integration, and the oracle half of the validation suite runs only where a cached pinned run exists. + +\paragraph{Not an official product.} This is an independent open-source replication and reimplementation, built from the published manual and papers. It is not produced by, endorsed by, or speaking for the DEFINE team; where this work and the publications disagree, the publications are ground truth and the disagreement is recorded as such. The model design belongs to its authors; the implementation is ours. + +\subsection*{Conclusion} + +The useful thing about DEFINE-UK for a replication programme is that it fails in an instructive way. The code runs, unmodified, at a pinned commit. One published table's macro block reproduces, two of its rows to 0.06\,pp. Another row of the same table diverges by 23 per cent at the horizon. And the results that would matter most --- what happens to output, emissions, employment and balance sheets under a fossil-fuel ban or a green investment programme --- cannot be checked at all, not because the model is wrong but because the numbers were never published. + +That combination is common and it is usually reported as a pass. The alternative this paper argues for is a record with three separations held throughout: between checks that can fail and checks that cannot, at the point of claim rather than in a footnote; between a number we computed and a number somebody published; and between a ceiling imposed by the publications and a limitation of the replication, with the lifting condition named in each case. Applied here, that record supports a narrow set of claims --- a baseline macro block reproduced, an emissions divergence pinned, scenario design verified, deltas served with mandatory caveats, and a clean-room reimplementation 118 equations into its second milestone --- and refuses a much larger set that the same underlying work could have been made to look like. + +Thirteen defects in a published manual, four of them re-characterised and one claim withdrawn on audit, is the other half of the return. Reimplementing published equations is expensive, and its usual justification is licensing. The justification on display here is different: it is the only reading of a model close enough to find out that a section as published cannot be simulated forward, that a price identity is off by a factor of three because an equation is missing from the document, and that one table's capital block is deflated at the wrong price. None of that was visible from running the code. diff --git a/papers/define-uk/sections/literature.tex b/papers/define-uk/sections/literature.tex new file mode 100644 index 00000000..f52c641f --- /dev/null +++ b/papers/define-uk/sections/literature.tex @@ -0,0 +1,28 @@ +\section{Related literature} +\label{sec:literature} + +DEFINE-UK sits at the junction of three literatures: stock-flow consistent macroeconomic modelling, ecological macroeconomics, and the climate-and-financial-stability agenda. A fourth --- the practice of replication itself --- is what this paper contributes to. + +\subsection{Stock-flow consistent modelling} + +The stock-flow consistent (SFC) tradition descends from \citet{godley2007}, whose organising insight is that accounting comes before theory: every monetary flow leaves one sector's account and enters another's, and every flow accumulates into a stock, so that a transactions matrix sums to zero in every row and a balance-sheet matrix sums to zero in every instrument row. Nothing appears from nowhere and nothing leaks out. The discipline is unusually strong for a macroeconomic modelling framework, because it converts a large class of specification errors into arithmetic failures that a matrix will not close over. + +Two surveys map the field the model belongs to. \citet{caverzasi2015} trace the post-Keynesian SFC programme from its Cambridge origins through the empirical and open-economy extensions, and note the characteristic methodological trade: SFC models buy accounting completeness at the cost of large parameter sets calibrated rather than estimated, which makes their published tables --- initial values, parameter provenance --- an unusually large part of what a reader must be able to check. \citet{nikiforos2017} survey the same literature with emphasis on how such models are closed, and on the recurring result that a demand-led closure delivers larger fiscal multipliers than a supply-constrained one, because output is not returned to a potential path by assumption. Section~\ref{sec:calibration} shows that this is not an abstract point for DEFINE-UK: it is one of the three reasons its green-investment multiplier cannot be read against short-horizon published figures. + +The empirical relevance of these surveys to the present paper is direct. In an SFC model calibrated rather than estimated, the published parameter and initial-value tables \emph{are} the specification. Section~\ref{sec:reimplementation} is in large part a report on what happens when one takes that seriously enough to transcribe those tables in full and demand that the printed equations reproduce the printed values. + +\subsection{Ecological macroeconomics and the DEFINE framework} + +The specific model replicated here belongs to the DEFINE family. \citet{dafermos2017} introduced the stock-flow-fund framework that DEFINE implements: a synthesis of Godley--Lavoie monetary accounting with the material flow-fund accounting of ecological economics, so that the same model tracks money and matter under separate but coupled consistency conditions. \citet{dafermos2018} extended it to the climate--finance channel, showing how physical damages and transition dynamics feed through firm leverage and bank balance sheets to credit availability, and how monetary policy interacts with that loop --- the mechanism DEFINE-UK's credit-rationing and default blocks inherit. + +DEFINE-UK \citep{georgedafermos2026manual} is the United Kingdom calibration and extension of that framework. Its distinguishing content relative to the generic case is the pair of UK-specific structural blocks described in Section~\ref{sec:model}: a housing block that tracks the dwelling stock by energy efficiency, so that retrofit policy operates through the stock rather than through an assumed elasticity, and a power-generation sector with separate fossil and non-fossil capital, an investment trigger tied to capacity utilisation, and --- new in version~1.1 --- regulatory instruments that directly depreciate fossil capital. + +\subsection{Climate policy, stranded assets and financial stability} + +The reason to want balance sheets in a climate model is the transition-risk agenda that \citet{carney2015} named: the losses from a rapid, credible decarbonisation fall not on the emitting capital alone but on the claims written against it, held by institutions whose solvency and lending behaviour then feed back into the real economy. \citet{battiston2017} made that concrete with a network stress test showing how climate-policy shocks propagate from exposed sectors through equity and credit holdings to the wider financial system. DEFINE-UK's version~1.1 regulation instruments are an in-model implementation of that mechanism: a regulatory scenario writes down power-sector capital, and the resulting change in leverage, illiquidity and credit rationing is a modelled consequence rather than an add-on. Whether it does so \emph{correctly} is not something this paper can establish for the scenarios, for reasons Section~\ref{sec:validation} sets out. + +\subsection{Replication as a research output} + +Finally, this paper belongs to the replication literature, in the sense \citet{dewald1986} established: that published results should be reproducible from published materials, and that the systematic attempt to do so is itself a finding. Their project's central lesson --- that the binding constraint is usually the completeness of what was published, not the willingness of the replicator --- describes this exercise closely. Here the constraint is threefold and unusually explicit: the code is unlicensed, the scenario results are unpublished, and the manual's parameter tables and equations do not everywhere agree with each other. Each is recorded as a ceiling with a stated route to lifting it, rather than routed around. + +Within the PolicyEngine Macro suite the same standard has been applied to a central bank's structural VAR \citep{ahmadi2026boesvar} and to the OBR's macroeconometric model \citep{ahmadi2026obr}. The methodological point those papers share with this one is the separation, at the point of claim, between checks that can fail and checks that cannot. A tolerance chosen after seeing the deviation it admits, an identity that holds by construction, a band fitted to a verbal quantity --- these are worth reporting, but they are not evidence of agreement, and a replication that presents them as such is overstating its result. Section~\ref{sec:validation} labels each one where it appears. diff --git a/papers/define-uk/sections/model.tex b/papers/define-uk/sections/model.tex new file mode 100644 index 00000000..678b501f --- /dev/null +++ b/papers/define-uk/sections/model.tex @@ -0,0 +1,70 @@ +\section{The model} +\label{sec:model} + +This section describes DEFINE-UK as the manual specifies it \citep{georgedafermos2026manual}. It is a description of the authors' model, not of an implementation choice of ours; where the manual's own text and tables disagree, Section~\ref{sec:reimplementation} reports the disagreement rather than resolving it here. + +\subsection{Accounting before theory} +\label{sec:accounting} + +DEFINE (Dynamic Ecosystem FINance-Economy) is the stock-flow-fund framework of \citet{dafermos2017}; DEFINE-UK is its United Kingdom application, with the accounting structure derived directly from UK national accounts (ONS Blue Book and UK Economic Accounts) rather than assumed. Two matrices carry the discipline. + +The \emph{transactions flow matrix} (manual \S2.2, Table~1) records every monetary flow in the model with a sign convention in which $+$ is an inflow and $-$ an outflow to the sector in whose column it sits. Two families of identity follow: +\begin{align} +\sum_{s} T_{f,s} &= 0 && \text{for every flow row } f, \label{eq:trow}\\ +\sum_{f} T_{f,s} &= \mathrm{LEND}_s && \text{for every sector column } s, \label{eq:tcol} +\end{align} +that is, each flow leaves one sector and enters another, and each sector's column sums to its net lending position. + +The \emph{balance-sheet matrix} (\S2.2, Table~2) mirrors it for stocks, with $+$ an asset and $-$ a liability: +\begin{align} +\sum_{s} B_{i,s} &= 0 && \text{for every instrument row } i, \label{eq:brow}\\ +\sum_{i} B_{i,s} &= \mathrm{FNW}_s, \qquad \sum_{s} \mathrm{FNW}_s = 0, \label{eq:bcol} +\end{align} +so one sector's asset is another's liability, financial columns sum to sector financial net worth, and financial net worth sums to zero across the economy. Adding real assets to a sector's financial column gives its total net worth. + +Because the matrices are derived from national accounts rather than written down abstractly, they cannot close on model-determined flows alone. Following the treatment the manual attributes to Zezza and Zezza, two residual constructs absorb the difference: a \emph{residual transaction} in the flow matrix, capturing the net position of flows the model does not represent, and a \emph{residual financial instrument} $\mathrm{RES}_s = \mathrm{FNW}_s - \mathrm{FNWM}_s$ in the balance sheet, capturing the net asset position of stocks it excludes. These are part of the specification, not a plug added by this replication, and they are transcribed as such. + +\subsection{Sectors} + +The model has seven institutional sectors --- non-financial corporations (NFC), the power sector (PS), households (HH), monetary financial institutions (MFI), non-monetary financial institutions (NMFI), government (GVT) and the rest of the world (RoW) --- plus a \emph{production module} that is not a sector. The production module is where GDP expenditure (consumption, gross capital formation, exports less imports) flows in and GDP income (wages, gross operating surplus, indirect taxes) flows out; it holds no assets or liabilities, so its column in the transactions matrix sums to exactly zero rather than to a net-lending position. The split between the power sector and the production module follows the NACE classification: electricity generation (D35) is the power sector and all other productive activity, public and private, sits in the production module, with input--output intermediate consumption running between them in both directions. + +The rest of the world is recorded in \emph{net} terms for property income and financial stocks (\S3.4.6): net interest and net dividends in the flow matrix, and a net interest-bearing position in the balance sheet. This matters for transcription --- it is the only reading of the manual's own initialisation that is consistent with its tabulated MFI financial assets and liabilities --- and it is where one of the pinned manual defects lives (Section~\ref{sec:reimplementation}). + +\subsection{The macro block and the closure} + +The manual's \S3.2 sets out the high-level macroeconomic variables --- GDP by expenditure and income, deflators, employment, the labour force and unemployment, productivity --- in 23 equations, Eqs.~(21)--(43). Two of its properties do most of the work in interpreting every result in this paper. + +First, the closure is \textbf{demand-led}. Output adjusts to aggregate demand; real GDP is not held to a supply ceiling. Second, productivity growth is \textbf{Kaldor--Verdoorn} (Eq.~(31)): a demand impulse raises productivity growth, and does so persistently, in the tradition \citet{kaldor1966} set out for exactly the UK growth question. Together these mean that a sustained fiscal impulse in DEFINE-UK raises output without being returned to potential by assumption, and raises the productivity path as it goes. That is a deliberate feature of the post-Keynesian closure, and it is also the reason the model's fiscal multipliers are not comparable, without adjustment, to those of supply-constrained models such as the OBR emulator \citep{ahmadi2026obr}; Section~\ref{sec:calibration} makes that argument with the arithmetic attached. + +\subsection{Production, power, and the two UK-specific blocks} + +Production (\S3.3) divides into the domestic production module (\S3.3.1, Eqs.~(44)--(70)), the power generation sector (\S3.3.2, Eqs.~(71)--(138)) and input--output calculations (\S3.3.3). The production module carries a Leontief gross-output block, mark-up pricing over lagged unit costs, a wage-share and wage-rate distribution block, direct-energy prices and costs, and the productive capital aggregates. + +The power sector is where the model's climate-policy content concentrates. It carries separate fossil and non-fossil generation capital, a fossil/non-fossil cost split, marginal-cost electricity pricing, a utilisation and forward-looking-expectation block that drives investment, credit-rationed capital formation, and a full financial account running through to leverage, illiquidity and credit rationing. Government renewable investment is triggered when non-fossil capacity falls short of a utilisation threshold relative to electricity demand. Version~1.1's regulatory policies enter here: a ban or regulation directly depreciates fossil capital, which is a balance-sheet event for whoever holds the claims against it --- the transmission channel of \citet{carney2015} and \citet{battiston2017} implemented inside the accounting rather than bolted onto it. + +The second UK-specific block is housing: the dwelling stock is tracked by energy efficiency, so retrofit subsidies and regulation change household energy demand and emissions through the composition of the stock rather than through a reduced-form elasticity. + +\subsection{The ecosystem block} + +The ecological side (\S3.1) covers energy, emissions, and ecological efficiency and technology. Emissions decompose into electricity and non-electricity components, +\begin{equation} +\mathrm{EMIS} = \mathrm{EMIS}_{\mathrm{ELEC}} + \mathrm{EMIS}_{\mathrm{NELEC}}, +\label{eq:emis} +\end{equation} +an identity that turns out to be diagnostically useful: in the pinned run the two components sum exactly to the total, which is one of the two checks that rule out an extraction error on our side in the emissions divergence of Section~\ref{sec:validation}. + +\subsection{Rates of return and financial behaviour} + +Interest rates (\S3.4.7) run off a simple Taylor rule for the Bank Rate in logs, which enforces the zero lower bound; asset rates adjust towards a long-run mark-down on the base rate subject to a floor, and liability rates towards a mark-up over the corresponding asset rate plus a risk premium that depends on the sector's liability depreciation rate and on the MFI sector's own financial-liabilities-to-assets ratio. Default rates and credit rationing then feed investment. This is the \citet{dafermos2018} climate--finance loop in UK form: a policy shock that impairs capital raises leverage, tightens credit, and reduces investment, with the tightening depending on the state of the banking sector. + +\subsection{Calibration and the status of the baseline} + +The manual estimates its key behavioural equations econometrically on UK data and calibrates the remainder, with \S5's Tables~5 and 6 giving parameters and initial values respectively. The baseline is calibrated against external projections --- OBR macroeconomic forecasts to 2030 with growth rates extended thereafter, NESO current-policy emission pathways, and NGFS scenario data (\S4.1). + +Two statements from the manual govern how any of its baseline numbers may be used, and both are quoted here because the rest of this paper depends on them. First, on the emissions path: the manual itself notes that the baseline reduction ``falls significantly short'' of the UK's 2035 NDC target --- by design, since it is a current-policies baseline. Second, and more consequentially, on the baseline as a whole: + +\begin{quote} +\emph{``The baseline of the model should also not be seen as a prediction or forecast''} \citep[\S4.1]{georgedafermos2026manual}. +\end{quote} + +\noindent Section~\ref{sec:implementation} takes that literally. It is the reason the adapter serves deltas and never levels, and the reason no DEFINE-UK number appears anywhere in PolicyEngine Macro's forecast surfaces. diff --git a/papers/define-uk/sections/references.tex b/papers/define-uk/sections/references.tex new file mode 100644 index 00000000..e2f49dbe --- /dev/null +++ b/papers/define-uk/sections/references.tex @@ -0,0 +1 @@ +\bibliography{references} diff --git a/papers/define-uk/sections/reimplementation.tex b/papers/define-uk/sections/reimplementation.tex new file mode 100644 index 00000000..83381504 --- /dev/null +++ b/papers/define-uk/sections/reimplementation.tex @@ -0,0 +1,88 @@ +\section{The clean-room reimplementation} +\label{sec:reimplementation} + +The upstream code cannot be hosted, so the route to a hostable DEFINE-UK is to implement the published equations from scratch --- the same play the suite ran for the OBR macroeconometric model \citep{ahmadi2026obr}. This section reports where that stands, and treats it as more than an engineering task: reading a manual closely enough to run it is itself a form of validation, and it has produced findings the R source could not. + +\subsection{Protocol} + +The specification sources are the manual \citep{georgedafermos2026manual}, the companion papers, and \citet{dafermos2017} for framework-level derivations the manual references. Three rules make the exercise clean-room rather than a translation. + +\begin{enumerate} +\item \textbf{The upstream repository is an output oracle only.} Its numerical outputs are compared against ours in the oracle tests. Its source code is never read to write an equation here. +\item \textbf{Every equation carries its provenance.} Each registered equation declares a \texttt{manual\_ref} of the form ``\S3.3.2 eq.\ (84)'', validated by a regular expression at construction time, and an equation without one does not merge. Two registrations citing the same reference are rejected, because a copy-pasted provenance would make an equation \emph{look} transcribed while implementing something else --- a failure the per-section contiguity checks cannot see on their own, since a duplicate shows up there only as a hole somewhere else. +\item \textbf{Data come from official sources}, not from the upstream repository's input spreadsheets --- again a licence consequence, and incidentally a stronger test. +\end{enumerate} + +The architecture is an equation registry, a Gauss--Seidel per-period solver that iterates all registered equations to convergence, one module per manual \S3 section, the \S5 parameter and initial-value tables, and the \S2.2 accounting matrices. Stock-flow norms are asserted each period, not assumed. + +\subsection{Milestone 1: PASS} + +Milestone~1 (4 August 2026) transcribes the \S2.2 transactions and balance-sheet matrices and the full \S5 parameter and initial-value tables, and requires that every Table~1 and Table~2 row and column identity hold on the \S5 initial values within the manual's own four-significant-figure printing precision. + +It passes. The accounting test module collects \textbf{62} tests, of which \textbf{44} are the Table~1/2 row and column identities themselves: 20 transactions rows, 6 transactions columns, 7 balance-sheet rows and 11 balance-sheet columns. The remaining 18 are the residual-instrument and model-financial-net-worth definitions, the economy-wide closure $\sum_s \mathrm{FNW}_s = 0$, and the two tests that pin the one manual inconsistency this milestone found. + +That inconsistency is worth stating because it is the template for everything in Section~\ref{sec:gaps}. Table~6's rest-of-world lending entry omits the net-dividends term of Eq.~(383), so the MFI and RoW transaction columns miss lending by $\mp$5.44. This is not an inference: the manual itself tabulates overall lending at 5.44 where, by its own account, it ``should equal 0''. Rather than adjust a value or widen a tolerance until the matrix closed, the discrepancy is pinned exactly, so the implementation reproduces the manual including its defect and a future correction upstream fails the test rather than passing silently. + +\subsection{Milestone 2: IN PROGRESS, not passed} + +Milestone~2 covers the high-level macro and production blocks (\S3.2--3.3), gated on the baseline GDP path against the oracle. Three of its four sections have landed: + +\begin{center} +\begin{tabular}{@{}llrl@{}} +\toprule +Manual section & Content & Equations & Range \\ +\midrule +\S3.2 & High-level macroeconomic variables & 23 & (21)--(43) \\ +\S3.3.1 & Domestic production module & 27 & (44)--(70) \\ +\S3.3.2 & Power generation sector & 68 & (71)--(138) \\ +\midrule +\multicolumn{2}{@{}l}{Total} & \textbf{118} & \textbf{(21)--(138)}, contiguous \\ +\bottomrule +\end{tabular} +\end{center} + +\noindent Each section solves as a system under its own test module, and contiguity is checked structurally rather than asserted: the equation numbers parsed out of the provenance strings must form an unbroken range, so a skipped equation fails a test rather than going unnoticed. + +\textbf{Milestone 2 is not passed.} \S3.3.3, the input--output calculations, is not implemented, and the oracle baseline comparison --- the milestone's actual gate --- has not been run. Reporting 118 contiguous equations as a milestone pass would be reporting effort as evidence. What can be said is narrower and true: three of four sections are transcribed and internally consistent against the manual's own initial values, at the precision those values are printed to, with every disagreement enumerated below rather than absorbed. + +\subsection{Thirteen gap records} +\label{sec:gaps} + +Where the manual is incomplete, silent, or inconsistent with itself, the implementation does not patch, tune or tolerate. It implements what is printed and records the gap as a machine-readable entry, pinned by a test that fails if the situation changes --- including if the DEFINE team later publishes a value. There are \textbf{thirteen} such records: one in \S3.2, two in \S3.3.1 and ten in \S3.3.2. Appendix~\ref{app:gaps} lists them all. Three general observations matter more than the individual entries. + +\paragraph{They are not all the same kind of thing, and one is not a manual defect at all.} The thirteen cover missing parameters, symbols the body uses and the tables never define, variables the tables carry and the body never uses, a printed inequality that contradicts the prose above it, and quantities Table~6 simply omits. One of them --- the expected capital path over the planning horizon of Eq.~(89) --- records \emph{our} modelling choice rather than a defect: the manual never says what capital stock the sector expects to hold at $t+\tau$ and the model carries no forecast of it, so real capital and electricity demand are held at current values across the horizon. It is recorded in the same place as the others precisely so that a choice of ours is not mistaken for a reading of theirs. It is inert whenever the baseline credibility switch is zero. + +\paragraph{Some of them have consequences, and the consequences are stated.} \S3.3.2 as published \emph{cannot be simulated forward}: six parameters it uses are absent from Table~5, and two variables --- the fossil and non-fossil capital profit rates of Eq.~(99) --- are never defined anywhere in the manual. At the defaults this is not cosmetic. Credit rationing degenerates to a constant, the green/fossil investment split degenerates to 50:50 against the 69:31 that Table~6 implies, and desired power-sector investment turns negative: held at its own initial values the section returns power-sector capital formation of $-0.021$ against a tabulated $+2.15$. The 50:50 default is visibly wrong and is pinned as such rather than tuned to fit, because tuning it would replace a documented hole with an undocumented guess. This is the single largest gap in the section, since that split is what steers investment green. + +\paragraph{Where the manual could have been guessed, it was not.} Table~5 reuses non-financial-corporation parameter values for the power sector in at least nine places, so reusing them once more for Eq.~(138)'s credit-rationing slopes would have been a defensible inference --- but it would have been \emph{our} inference rather than the manual's instruction, and it does not reproduce Table~6 in any case. It was not done. Similarly, Eq.~(96)'s missing intercept can be backed out as roughly 0.0210 if Table~6 is read as a steady state; that value is recorded and \emph{not used}, because the equation's two lagged terms make the steady-state reading an assumption rather than a measurement. + +\subsection{The largest disagreements} + +Beyond the gaps, a number of printed identities disagree with Table~6 by one to three orders of magnitude more than its printing noise. All are implemented as printed and pinned individually. Four deserve statement here. + +\paragraph{Eq.~(84): a factor of 3.04.} The electricity price rule, a fixed mark-up over marginal cost, gives 0.9725 against a tabulated 0.3198, implying a mark-up of $-0.267$ --- electricity sold below marginal cost. Both sides are independently corroborated: marginal cost by Eqs.~(82) and (83) to $4.5\times10^{-5}$, and the price by Eq.~(74) to $3.7\times10^{-4}$. So the manual's two chains meet at a contradiction. The most economical account is not a wrong number but a \emph{missing equation}: \S5 calibrates an electricity-price long-run formation rule --- a switch time and a long-run price --- that \S3 never prints, and Eq.~(84) is the only price equation printed, with no long-run term and no switch. Nothing is implemented for the unprinted rule, because there is nothing printed to implement. + +\paragraph{One deflator, counted once.} Eq.~(27) gives real gross capital formation of 111.88 against a tabulated 112.30 --- 0.37 per cent, roughly ten times the rounding noise --- and Eq.~(25) reproduces the tabulated real GDP only using 112.30. This is emphatically \emph{one} finding and not five: gross capital formation, its NFC, household and government components, and the two capital stocks all show nominal-to-real ratios of 1.0309--1.0312 where the equations prescribe a production deflator of 1.035, and the same 0.4 per cent reappears in \S3.3.2's Eqs.~(104), (105), (132) and (133). Table~6's entire capital block is deflated at 1.031 --- most plausibly a national-accounts investment deflator where the equations want the production deflator. Counting it once matters: reported as five independent discrepancies it would look like a section riddled with errors rather than one systematic property of one table's capital rows. + +\paragraph{Eq.~(107): a model-wide sign problem, not a power-sector one.} Eq.~(107) has a determinate-sign right-hand side and Table~6 tabulates the opposite. This qualification belongs with the finding wherever it is quoted: \textbf{it is not a power-sector defect}. The manual prints the same rule for three other sectors --- Eqs.~(177), (231) and (284) --- every coefficient is positive, and Table~6 tabulates all four transfers negative, with magnitudes out by factors of 1.7 to 4.6 as well. Whatever is wrong is wrong in the interest-bearing asset transfer rule, or in Table~6's sign convention for it, \emph{model-wide}; \S3.3.2 is simply where it is met first. Confirming that requires \S3.4.1, \S3.4.3 and \S3.4.4, which are not implemented yet, so the claim is scoped accordingly. + +\paragraph{A normalisation that propagates.} Eq.~(61) gives a fuel price of 0.6788 against a tabulated 1, where Table~5 says of the relevant parameter that ``at the initial condition fuel price is normalised to equal 1''. A third witness supports the normalisation: Table~6 tabulates the power sector's nominal and real fuel intermediate consumption at the same value, which is only possible at a fuel price of 1. The gap does not contaminate any \S3.3.2 identity, because the affected quantity is tabulated. In a \emph{simulation} it cuts that input 32 per cent and carries essentially undiluted into marginal cost and the electricity price --- and it does not cancel Eq.~(84): $3.04 \times 0.68$ still leaves the price at 2.07 times Table~6's. + +\subsection{The audit, and what it withdrew} +\label{sec:audit} + +On 12 August 2026 the pinned findings were audited against the manual PDF and recomputed independently of the sector modules: all 661 transcribed \S5 values were re-checked against the page each source comment names, and every pinned discrepancy was reproduced. The arithmetic held. The interpretations did not entirely, and the corrections are recorded here because a replication that only ever adds findings is not being audited. + +\paragraph{Four findings re-characterised.} Eqs.~(51), (59), (94) and (111) had been reading as the manual contradicting itself. They are not. Table~5 describes each of the parameters concerned as a \emph{historical mean} --- ``calibrated so the long-run mark-up at initial utilisation equals the mean of'' two sample windows, ``calculated using the mean over past data'', ``set as the mean of past implied values'', ``taken as the mean of past data''. A parameter described that way never claimed to reproduce the manual's own initial period. These are therefore \textbf{first-period jumps} that a run started from Table~6 will take in its first quarter, not defects. They still matter --- one of them moves a price that steers green investment, by 60 per cent --- and they are still pinned. They are simply not evidence that the manual disagrees with itself, and the distinction turns on the manual's own stated provenance for each parameter, which is why Table~5's remarks are treated as part of the specification. + +\paragraph{One claim withdrawn outright.} An earlier version of the reimplementation notes claimed of Eq.~(51) that ``the equation is the corroborated one'', because Eqs.~(49) and (50) imply a value close to it. That inference does not hold and is withdrawn: Eq.~(49) reads \emph{lagged} unit costs, and the corroborating value is what it gives only if unit costs were flat into the initial period. Honouring the lag, the tabulated mark-up implies $+0.91$ per cent quarterly unit-cost growth and the equation's implies $-0.12$ per cent --- deflation --- and the manual's own initial period is growing and inflating, which favours the tabulated value if anything. On the evidence a single-period snapshot provides, neither side is the outlier, and the finding now says so. + +\paragraph{One finding unified.} Eqs.~(27), (104), (105), (132) and (133) were counted as five and are now counted as one: the single deflator finding above. + +\paragraph{One new gap found.} The unprinted electricity-price rule described above was identified by the audit, and is the likeliest account of Eq.~(84). + +Two of the findings have been filed publicly on the authors' own tracker --- the emissions vintage divergence of Section~\ref{sec:target1b}, and \S3.3.2's missing parameters and undefined variables together with Eqs.~(84) and (61) --- so that the record here and the record there stay in step. Both were re-verified in the audit. + +\subsection{Attribution} + +The suite's standard adapted-model stance applies. The \textbf{model design belongs to its authors}; the \textbf{implementation is ours}. Every surface that presents results names DEFINE-UK and its authors, links the manual and papers, and states that this is an independent Python implementation of the published equations --- not the authors' code, and not endorsed by them. The implementation is AGPL-3.0, which is what makes hosting possible without any upstream licence. diff --git a/papers/define-uk/sections/source.tex b/papers/define-uk/sections/source.tex new file mode 100644 index 00000000..bdabedf3 --- /dev/null +++ b/papers/define-uk/sections/source.tex @@ -0,0 +1,37 @@ +\section{The source publications, the licence, and replication scope} +\label{sec:source} + +\subsection{What is published} + +Four documents and one repository make up the published record of DEFINE-UK, and they differ sharply in what they let a replicator check. + +\paragraph{The manual.} \emph{DEFINE-UK Model Manual, Version 1.1} \citep{georgedafermos2026manual}, by Adam George and Yannis Dafermos of SOAS University of London, April 2026. This is the specification: the full equation listing by sector (\S3), the calibration approach (\S4) and the parameter and initial-value tables (\S5). It is also the only source of published \emph{numeric results}, and those stop at the baseline: Table~4 (p.~50) gives fifteen baseline quantities at 2025, 2030 and 2040 with 2025--40 means and standard deviations, and Table~5 embeds the design parameters of the model's scenarios. Table~6 (pp.~63--82) gives initial values for the endogenous variables, which is a large replication surface for a single period but is not a scenario result. + +\paragraph{The two companion papers.} Both are access-restricted. \emph{Green Fiscal Policy in the UK: A Scenario Analysis} \citep{georgedafermos2026scenario} is the version~1.0 paper (SSRN abstract 6541398); its scenario set, per the abstract, is carbon pricing, green power-sector subsidies and green housing subsidies --- a set that predates version~1.1's regulation instruments in any case. \emph{Evaluating climate policy mixes in the UK: an E-SFC approach} \citep{georgedafermos2026mixes} is the version~1.1 paper (SSRN abstract 6588778) and is likewise not obtainable. An exhaustive search, catalogued in the adapter's \texttt{validation/published\_targets.json}, found no open mirror of either on RePEc, SOAS pages or author pages. + +\paragraph{The conference version.} One open document survives: \emph{Green fiscal policy in an empirical UK E-SFC model} \citep{georgedafermos2023fmm}, the October 2023 FMM conference paper, marked by its authors ``preliminary and incomplete''. Its results are figure-based and it predates DEFINE-UK 1.0, so it can support qualitative or coarse checks and nothing finer. Section~\ref{sec:validation} uses exactly two numbers from it and is explicit about what they can and cannot establish. + +\paragraph{The repository.} \url{https://github.com/DEFINE-model/DEFINE_UK_1.1}: the authors' R implementation, public, and carrying \textbf{no licence file}. + +\subsection{The licence position and what follows from it} +\label{sec:licence} + +Absent a licence, the default position is that no reproduction, redistribution or hosting right has been granted. This is treated as binding rather than as an oversight to be assumed away, and three consequences follow, each of which shapes the rest of this paper. + +First, \emph{nothing upstream is vendored}. The adapter contains no upstream code and no upstream data. It fetches the repository at pinned commit \texttt{846081a} at runtime, on the machine of whoever is running it, and executes it there. + +Second, \emph{nothing upstream is hosted}. DEFINE-UK is the only member of the PolicyEngine Macro suite that is local-only. Hosted tooling returns run instructions, never results computed from the upstream code, and continuous integration never fetches or runs it --- which is why the oracle comparisons of Section~\ref{sec:validation} run only where a cached pinned run exists, with a hermetic subset of the gate running everywhere. + +Third, \emph{the route to a hostable model is reimplementation}. Section~\ref{sec:reimplementation} describes the clean-room Python implementation of the published equations that exists for this reason, and its attribution stance: the model design belongs to its authors; the implementation is ours, AGPL-3.0, and independent. + +\subsection{Replication scope} + +The exercise has two tracks, held to the same standard applied to two different references. + +The \textbf{oracle track} runs the authors' unmodified R code at the pinned commit and compares its outputs against the published figures --- the manual's Table~4 for the baseline, and the scenario design parameters of Table~5 plus the two FMM 2023 anchors for the scenarios. The run is calendar-anchored on the population path: 1987Q1--2040Q4, with 2025 at $t=153$. + +The \textbf{clean-room track} reimplements the published equations in Python from the manual, with the upstream repository used strictly as a numerical \emph{output oracle} whose source is never read to write an equation. Its milestone gates compare the reimplementation against the manual's own tables first and against the oracle second. + +\paragraph{What is out of scope.} No attempt is made to re-estimate the manual's econometrically estimated behavioural equations from source data, or to reconstruct the authors' input spreadsheets. Where the reimplementation needs data it takes it from official sources rather than from the upstream repository's \texttt{input/} directory --- again a consequence of the licence, and incidentally a stronger test. + +\paragraph{Execution is not validation.} On 1 August 2026 the full upstream notebook rendered end to end through the adapter's runner, on R~4.3.0 under macOS, with the upstream unmodified and an \texttt{rstudioapi} shim the only accommodation, producing 151 output files: figures and tables for all four scenario blocks plus a multiplier summary. That established that the pinned code executes. It established nothing whatever about whether its outputs mean anything, and the record says so at that date. The adapter's validation gate is explicit on the point: nothing built on the repository may present model output as meaningful except by naming the target it rests on. Section~\ref{sec:validation} is the record of what that gate has since established --- including where the answer is ``nothing further can be established from what is published''. diff --git a/papers/define-uk/sections/validation.tex b/papers/define-uk/sections/validation.tex new file mode 100644 index 00000000..d5e4ef46 --- /dev/null +++ b/papers/define-uk/sections/validation.tex @@ -0,0 +1,104 @@ +\section{The replication record} +\label{sec:validation} + +Four published-target gates were attempted against the pinned upstream run. One passes, one diverges and is pinned, and two are closed at the ceiling the publications allow rather than passed. This section reports each with its tolerance, its arithmetic, and --- where the check could not have come out any other way --- a statement to that effect at the point of claim rather than in a footnote. + +Table~\ref{tab:gates} is the summary. Every gate in it is enforced by a test in the adapter repository against the cached pinned run, so drift fails loudly rather than silently. + +\begin{table}[t] +\centering +\caption{DEFINE-UK replication gates} +\label{tab:gates} +\footnotesize +\begin{tabularx}{\textwidth}{@{}>{\raggedright\arraybackslash}Xll@{}} +\toprule +Gate & Verdict & Enforced by \\ +\midrule +\multicolumn{3}{@{}l}{\emph{Cannot fail as evidence of agreement --- pins and post-hoc tolerances, reported as such}} \\ +2025 real GDP growth within $\pm0.31$\,pp & clears by 0.01\,pp & tolerance set after the run \\ +FMM 2023 anchor: GPI GDP peak in $[0.7, 1.3]$\,\% & in band ($+0.92$) & band chosen by us, $\pm30$\,\% \\ +FMM 2023 anchor: 2030 baseline emissions in $[330, 352]$ & in band (342.8) & band admits values it is named against \\ +Emissions ratios within $\pm0.02$ of 0.965/0.898/0.767 & holds & pin at the \emph{observed} divergence \\ +11 scenario delta points, rel.\ $10^{-6}$ & holds & pin of the cached run against itself \\ +Reference artifact well-formed and self-consistent & holds & hermetic artifact check \\ +\addlinespace +\multicolumn{3}{@{}l}{\emph{Can fail --- comparisons against a publication}} \\ +Manual Table~4 macro block, S1 baseline & \textbf{PASS} & \texttt{test\_replication\_baseline.py} \\ +\quad population 16+ and labour force, $\pm0.01$\,m & exact & \\ +\quad real GDP growth at 2030 and 2040 & match to 0.06\,pp & \\ +\quad unemployment, $\pm0.2$\,pp & within tolerance & \\ +Manual Table~4 total emissions, S1 baseline & \textbf{DIVERGENCE} & \texttt{test\_replication\_baseline.py} \\ +Scenario policy-switch sets vs published descriptions & exact & \texttt{test\_scenario\_design.py} \\ +Published numeric v1.1 scenario results & \textbf{CEILING} --- none exist & \texttt{published\_targets.json} \\ +Baseline vs ONS/DESNZ/OBR outturns & \textbf{COMPUTED} --- gaps material & \texttt{test\_validation.py} \\ +Clean-room milestone 1 (\S2.2 matrices on \S5 values) & \textbf{PASS} & \texttt{test\_accounting.py} \\ +Clean-room milestone 2 (\S3.2--3.3) & \textbf{IN PROGRESS} & \texttt{test\_macro.py} \\ +\bottomrule +\end{tabularx} +\par\smallskip +\parbox{0.97\textwidth}{\footnotesize \emph{Notes:} The first block is separated because none of those six checks can produce evidence that this replication agrees with a publication. The growth tolerance was set after the deviation it admits was known; the two anchor bands were chosen by us to fit a verbal quantity and were never published as tolerances; the emissions gate is set \emph{at} the observed divergence, so it detects further drift and asserts no agreement; the delta-point and artifact checks compare the cached run and the committed artifacts against themselves. All verdicts are against upstream commit \texttt{846081a}, dated 4--5 August 2026 for the oracle gates and 11 August 2026 for milestone~2.} +\end{table} + +\subsection{Target 1a: the baseline macro block --- PASS, with one year that proves nothing} +\label{sec:target1a} + +The manual's Table~4 publishes fifteen baseline quantities at 2025, 2030 and 2040. Four of them --- real GDP growth, unemployment, population aged 16 and over, and the labour force --- form the macro block, and it is the one published target this replication passes. Tolerances were population and labour force $\pm0.01$\,m, growth $\pm0.31$\,pp, and unemployment $\pm0.2$\,pp. + +Population and labour force reproduce exactly to 0.01\,m at all three dates. Unemployment is within 0.2\,pp at all three. Real GDP growth matches to \textbf{0.06\,pp} at 2030 and 2040. The 2025--40 means and standard deviations of growth and unemployment reproduce the table at its printing precision. The run is calendar-anchored on the population path, 1987Q1--2040Q4, with 2025 at $t=153$. + +\paragraph{The 2025 growth gate is not independent of the deviation it admits.} At 2025 the run gives 4.66 per cent against Table~4's 4.96 --- a miss of $-0.30$\,pp against a $\pm0.31$\,pp gate. The gate was set \emph{after} the run, and the only year that uses any of it clears by 0.01\,pp. As a test of agreement in 2025 it is doing no work: any tolerance chosen once the deviation is known will admit that deviation. What it is doing is stopping that year drifting further, which is worth having and is not the same claim. \textbf{The informative part of this gate is the pair of 0.06\,pp matches at 2030 and 2040}, which were not fitted to anything. + +The recorded reason for the 2025 gap is a convention we could not resolve. Table~4's note says only that ``all quarterly values are annualised''; it does not say which annualisation, and the readings differ by more than the gap. The adapter's own comparator table uses the annual-mean convention, which is what gives 4.66. This is recorded as an unresolved convention mismatch, not as a demonstrated agreement --- and it is the reason the tolerance exists at that width rather than a tighter one. + +\subsection{Target 1b: the emissions path --- DIVERGENCE, pinned} +\label{sec:target1b} + +The pinned code runs \emph{below} the published Table~4 emissions, and the gap widens monotonically with the horizon: + +\begin{center} +\begin{tabular}{@{}lrrr@{}} +\toprule +& 2025 & 2030 & 2040 \\ +\midrule +Pinned run (MtCO$_2$e/yr) & 393 & 343 & 249 \\ +Manual Table~4 (MtCO$_2$e/yr) & 407 & 382 & 324 \\ +Pinned ratio, run/table & 0.965 & 0.898 & 0.767 \\ +Deviation & $-3.5\%$ & $-10.2\%$ & $-23.3\%$ \\ +\bottomrule +\end{tabular} +\end{center} + +\noindent The percentages are computed from the pinned ratios themselves --- 0.965, 0.898 and 0.767, held in the committed reference artifact --- and not from the rounded levels printed in the first two rows, which would give slightly different figures. + +Two checks rule out an extraction error on this side. First, the components satisfy the model's own identity \eqref{eq:emis}: $\mathrm{EMIS}_{\mathrm{NELEC}} + \mathrm{EMIS}_{\mathrm{ELEC}}$ sums exactly to $\mathrm{EMIS}$ in the run outputs. Second, the baseline is identical across every scenario folder, so no scenario contamination is involved. What remains is a vintage or calibration gap between the published table and commit \texttt{846081a}: the table was produced by some code vintage, and it is not this one. + +The divergence has been raised with the upstream authors on their own issue tracker, so that the record here and the record there stay in step. Meanwhile the tests gate at the \emph{observed} ratios, within $\pm0.02$, rather than at agreement. That is a deliberate and limited claim, and it belongs in the first block of Table~\ref{tab:gates}: a gate set at the divergence cannot fail on account of the divergence. It can and will fail if the gap moves, which is the only thing it is for. + +\subsection{Targets 2 and 3: closed at the achievable ceiling, not passed} +\label{sec:targets23} + +The two scenario targets are the ones a reader of a climate-policy model most wants replicated, and they are the ones that cannot be. An exhaustive search, catalogued with locators in the adapter's \texttt{validation/published\_targets.json}, established that \textbf{no machine-readable numeric scenario results are published for version~1.1}. The manual's results stop at Table~4's baseline plus the scenario \emph{design} parameters embedded in Table~5; both companion papers \citep{georgedafermos2026scenario, georgedafermos2026mixes} are access-restricted with no open mirror; and the version~1.0 paper's scenario set --- carbon pricing and subsidies --- predates version~1.1's regulation instruments in any case. + +There is therefore no scenario replication in this paper, and none is manufactured. What is verifiable has been verified, and it is design rather than results. + +\paragraph{Scenario design, pinned exactly.} Each cached scenario is checked to toggle \emph{exactly} the policy switches its published description claims --- no more and no fewer. The fossil-fuel-ban scenarios toggle the ban flag with its capacity and investment ban timings; the power subsidy toggles its subsidy switch alone; green public investment toggles government investment, green bonds and green power exactly; and the housing-subsidy variant pins the published 40 per cent subsidy rate. This is a real check against a published description, and it can fail --- but it constrains the scenario's \emph{inputs}, not its outputs. + +\paragraph{Two anchors, and what they are worth.} Two coarse numeric statements survive in the open FMM 2023 conference version \citep{georgedafermos2023fmm}, and both are used, at wide tolerances, because that document is a pre-1.0 vintage marked preliminary by its authors. The current-policies baseline is described as emitting ``just under 350 MtCO$_2$e'' in 2030; the cached run gives \textbf{342.8}, inside a band of 330--352. And the green-public-investment scenario is described in terms of ``1\% of GDP''; the cached run's real GDP delta peaks at \textbf{$+0.92$} per cent, inside a band of 0.7--1.3. + +\textbf{Both should be read as regression pins, not as agreement tests}, and there are three separate reasons, each of which would be sufficient on its own. + +First, \emph{the bands are ours}. Neither was published as a tolerance. Both were chosen by us to fit a verbal quantity after the run was in hand, which puts them in the same category as the 2025 growth gate of Section~\ref{sec:target1a}. + +Second, \emph{they cannot discriminate}. The GDP band is $\pm30$ per cent around ``around 1 per cent''. The emissions band runs to 352, which is \emph{above} the 350 that the phrase ``just under'' is supposed to bound --- so a run at 351 would pass a gate named for a statement it violates. A test that a value contradicting the claim would pass is not testing the claim. + +Third, and specific to the GPI anchor, \emph{the two sides may not be the same quantity}. The transcription of the FMM text held in \texttt{published\_targets.json} records the green-public-investment scenario as one in which ``government invests an additional 1\% of GDP in green projects by 2030'' --- that is, 1 per cent of GDP is the size of the policy \emph{input}. The gate compares it against the peak of the model's real GDP \emph{response}. Those are different objects that happen to sit near each other numerically, and this replication has not been able to obtain the conference paper's figures to establish whether a comparable published GDP-response reading exists. On the reading in the record, the anchor is not like-for-like at all; on the more generous reading it is like-for-like inside a $\pm30$ per cent band. Neither reading supports quoting $+0.92$ against $\approx1$ as a replication result, so it is not quoted as one anywhere. + +What the two anchors do establish is worth stating plainly, because it is not nothing: the cached run has not moved since they were recorded. + +\paragraph{The upgrade path.} This ceiling is not permanent and its lifting conditions are specific. If the authors publish scenario tables, or either SSRN paper becomes accessible, the published-figure gate reopens and targets 2 and 3 can be attempted as replications rather than closed as design checks. Until then, the honest verdict is the one in the adapter's own record: \emph{closed at the achievable ceiling}, which is not a pass. + +\subsection{What the whole record does and does not license} + +The adapter's validation file carries a status header, and for a period after target 1a passed that header still read ``NOT VALIDATED. No published DEFINE-UK result has been reproduced'' --- which put it in contradiction with every page that cited it as the record. The correction belongs in this paper because this paper cites that file as the record. It now reads \textbf{PARTIALLY VALIDATED} and breaks the claim down target by target: 1a pass, 1b divergence pinned, targets 2 and 3 closed at the achievable ceiling rather than passed, reimplementation milestone~1 pass and milestone~2 outstanding. + +Nothing in that licenses presenting DEFINE-UK scenario output as a validated result. The operative rule, held in the repository and applied throughout this paper, is that a claim about this model must name the target it rests on. diff --git a/papers/frb-us/index.html b/papers/frb-us/index.html index eef0ffbe..9b2315fe 100644 --- a/papers/frb-us/index.html +++ b/papers/frb-us/index.html @@ -22,6 +22,7 @@ @@ -84,7 +85,7 @@

An open Python implementation of frb-us

5*9!?^+?rQS5#>RQ42oHXg=8ch8#6Ec^d87-h`JU~BXCMmyPZ=oZ%wwJ;Zq6VL3A60G?)01ZQ zk9B8#caQlJcbNjxxUmrO@j+0Ma0+SikfRerfr;4MHO__T5y)rrm4ec+h5i^AR1aU4 zwFdL!lHb+kr{{D+0M1b`#a#-&ppD4KDk;Q$P_C)*GecG;XQnm$fX9`Is84MY$Fo@%EgbV;1F@D6))Vx8jf zlmvTpk(S7`KH)I6a!;jTOM!aLpdQm0U|;AT1Qwc1IW^ zF(&oGiLKbCqerNpvBGMB0}ah-ebs)VgcBbfaV@5^FYg9*f5sLP6Tkla@G<|UOr`87~ywaso8f!RO(ZHYgeurFy zO2r3>UUwyu-P^|XX*`sz`2gwrv4;&(&nKPCD9eGIVKrFk<4{@=;^Kf-jM5<5()u7S z)6{4Q6KT-3Z~0UZZh3p4X%`3CTH<_W7r?zQ{!n&NHowXk~y{^El3)Re3qkxq@|+ z!I?$@Ja(3W)2pB%xy9`WGzFfFw<>GBY5>i-kr-R#94N&jDNQF7wrY#8ZA6F6s_)1lBC_~EB~aFXl1j{gnQI_ zL-j-bkM+h3Q}^7Ezk^()*`i#RGOcm%kxBIu5gejq+e+!Ji1{Sd&qV-VOwOW`%*APA z7G93Tg9ZzTO-36<+D!bZQ)GD0+53+VBh>TtF6I2Vg)4mlnR99d%t+#+?|r9TO#LEd zCo8R((*d%QkDh?iZr8L2fM)?15z@e?qZ*-NE^JN6FLXYQ0O+vNxkaR6U_#tE_%*z0 zto6A~_ByTy?9jawVb)3e#gysRh9hUMGkj+1u7CYB<}A4#lfC0 z(0F5sm?)<8=@sgH30GC};2nB3f6r(`ZE@@Goi<-B4T0y!y5u&<{RQA3cI=N#!*rxP zeIP)V%U3T<{Osg$_PegM@w8w`ouwWX;OifqL~5=w7Loixt#J=|kptMiy5@{1{?m~J z`KqvFRlTY36mFL2u@HkdUyZ{{dqveiaOxFa;pgyXwwr*(Z%t*cHsnhihp^Io0|Ho{ z#3{YebetQ~3qM#n{?kmGGsU60WwA2U*@ygc{OD!e)%}vF^={Y^9scnsmil2jxeLth zaAkXlKPG%+1MZy`h2IP)$2vu&b-M=oc@hI_*xM4wxeoR-(3*X@xLYsmC8ibk?Zl91 z0wq4$7QLLexUmSKg|?ikuPP`6gZ`9777}h2I4OGHohoiztpw4q4Vg-#qysRc!@5 z-ta$=`E+#r=aQHsOg`ZO1m7j~q1A~)tq-Y?%taAEn!DRQ4{pmm1GEh%7HbyHJa)dG zF+j@BXW|&3WAHXwOUqcosdlSiiiLTDIDD3ZG-{6gW30wUT5jCh%%<1u{+@w6!#xW} ztP6$EykWZ;zy8th5NehvvdJ6(V4bK9ZNM{2dzY2@U5$5kiKZ}>B;edfad9%^ZS`k; zZGXMuacnEtir8<#uErjpuJ=>_xsN--d7OM$cU&`3#4sZ+4G89$?BsJTQSD<-!!60b zIDBvABHt^nHU|1>>|eVu=HFD;L|U~y_~w7^rkXKeg|xYKeqM8``ih`+#9(9$I}zHQ zXXgBn-?I-V-_(leMGeTeDM_Yq$@XtOviE`AuJV;K7W%{O z__a_*f)L66o}s)k$<~;fvivOt@S+tC@SJ!@!L`V?tx%Wxe7eYI(hfPhgDy!sGA1 zbK7L_;&%p18Fx!#Tw>%M`f=SG;tB8JuTzfuFmov?e(Ed4aSG2{PO!^w;X1`(Nll=~ zZnQah;^NZGm}LfR%o=YXv4dYfLa2G3uWit<9+Ruwz=&1wUe1pm5-=%Wbke@|9d* zD2FWCy9PKbZ>0m!;E&?gB1x|nRCT%YPnnEe*D~9FeuUlAST&YgC^9D7E`M#9Ti`3_qr5#_+5AinL#wYSuyFkNDD8;diCq->u)m{ zw%?^{EQ%w~(=_g(%HuEeoUczG{2q4m4kew~^e~Ie+%cM`n%}#VXlR$a&kKlA6W`!q zuNd9N$#su+Lmoe8wl6V5btG%2O%0XG-zTLaY-oR&6g%Y6wyc$(Y>22H<=me{0Ke@9 zq(UhNyLlKOnKhjH#KI!|hr*^h~bs8JZ)F1zq{ARB9YcsKtGV#~pT#?6dVdauJ zQDHh-ff~(wr6#<)5_}Kmnsfs@0bo{8{Y<>DH`Qpp^dvtsoej-^;TZeSz74|S4krAu zTDbC31q61?O>@?X3>Iv)rioRvg)(g@Cz82A_SA)~ekr?X=GR6R1#Mf<%2utEdkG?v z{Y|)H9<=P$VokTRE`m*0G!)U6o$-aoQETJbeCgYI9Ql%q z2+7_N3pN@RG?|bh3j5;os%9+(Y#41Asw;7E3*!fuBAAj;rkRU{E1eO#Psy)hM5z(= z90G}YT4)Xn7&Eo1Wg}+NsP8;j8f1t&eudKbMn;d*tRM(P*z*C+h%Ao02b>D63R?`! zAbvzVA+#VJ7T0SCwppep%|oUg_S0<9?a=V?$rq8FmE?OowOfdsg?xGUlNoyGZy0x& z8Fs6z*)Ix)*HpwE(Bkayg+=ZHs_SB=)Z(`G)O;$i6O2$`hj4*)Ls%0*+; zxv%=x5Mh5vU8w@ZI7>xOA+u53A*=ZfRY~WKq6Ja9C??qeoCxM7Fk6~ADmfY%oi(UO z*z0C08c(b#;LT_h<+2Pic9}}zGt&7w$9d?fd>pz*L8lZ!qZ+yq$U?gEeG$jzbP?j~ z(!xh3lkfEBIfJTMnt{8>(>Q}ujT2;L&I^#@=foXmBK)DQp!ht8YmhNrUu-e(pF3n0 z(o(E%%nW?y7Ll+ud#77ejAYB|DFTMdMMX$UrAC3t_P~07L!&eh6Po}&x~MQt?-YAW z$XNh;aTMrs+?k<{_JG0pOQSKy%kme;lGQ^U_H50=B;+24rfjvAERS^f{evilAH5^7 zwp`2fHKzos>%MOL;~()rv-&fd0feRZg55=r9MJ)%qmc;>ZotZ8X|)Pr2tH7uq$4)_ zM2P2RyR2fFDCUZ#2N$u0%9$uIc?tDkR|eL!=SlS<*G%StvUKB3Jt%1A&3L|U{NMS4 z;GB*BPZFQkb9gJEeX=9=C9#oP>brr>R_bffl zjsB729HK`Y$0Cn>Q>lHCbxOlhJ@GIeF#9(bTqVayp83~0$cZV>nqVC{cRsDnX18i1z2M&SxcFAplWzvBuL0iJ_-aJP zD5M5-oIawE8DQG`GD>raBu23cXQ@@ggi%Y_)lPpX=fx?}z(_#h&jVS%DhIy7PCUs9Q zU>H8n&xg?QjFW<~7ryXhw|W1|LG+f?Lcqvhy+z(UCrg|P!Z{3TAlo**xilNZFI8yn z8N}&oBNi1GK^HC1RWr%)(6{S`W=W-O8*{U^5tx1~XSpO*JLH&f?7E`~7jidzav8wxHXp6TI;Ghi!;AWJu3?`16EY9B#*`9sM|%DZ2)r!I%`ty!h5%tXVx~Q z_AJ@iAR`kX#b;h&XFl0XmA72wS@u+9;7}UC$;V`cy>p`!Dk@ZHnzSEcGLADuj6d49 z;J89E3Y_HwPeA?ZXnuMtpMOtNfl=*FsWdi6I13I{r4tVX?Th8FdAggdSXZ*TNM2D> zVQWcu8H`c)ZccN+pcB(<4c8v)!3th-nXUs6mq4W%tQjy=75ZK#8@@`+txE{ zTN@dMr|BRih!&eZjkeUvJDSHnl-)?dGpUP}=DvfO)F%f`AH`W!e25ATpkF z5Q5i}PH>1YZm{hS6#f!{)<=apY`+gc)zA#DulC*{ ze;^$?MPisPb5lDdhz=A`%IlF!((lTiJ%4ru%66+-%WO|m^@X`lEl)wy3j$ub)${3{ z8}gxVYSpLy+{2bWvt)nP15OG|68fHnn1l|j(8F)(Ia3aZUElFtxwM^G#>#P{zZ?# zC7(S~QQgBF)@kXyQpt@q_WQYJPV>`!7CrI%K-x!g=2CjUdtBmwYRY?>gMT?Qf8hS* z9z3DvZ|48~ema5Ir{D9*qtn8bBt<7_g>Qa&a4J+2M( z^V#cB(r#6vz~+clBgD<|Pj zkj`Q3{rPYxWI=i_S+ zmwu}6!~Ne^0N_teiSzY3s+%?6X+5#hKR~k!yoKw zABMUREpUq1pN5J_aQ+x~2+ZSH#)kOQU;bO9hN#o9L7J z@9pmlVn%k>!!!~JaYOH?45*fC{@mC-f~mR4s9Jt^r@8*kWEn?#&d^XS(1Y*nQVOk_ z_E@oC6z~-$UnpVQDfuqg^yH89ug*bT7E(+#+%kIKUV|cS^Ph^nL#%CbOtz2O?>S1? z;_Y1+mFgmrunIfueDRRFvT5A~s%%u=sa|zaW7Zv$+wnR6lr^^U(e67VFPCerE{0kN zXEvTJN1}WIb8`N%(zzp^S|6jQ_pi(&aaURcKN)(>(Jq~TzXq-m6`WU)()&RN?FX&_dS=k zIV;%?Edm<^Xwcs0)A>_UA}rQ1r7k zkr5^WK86+3B&>JVszdD)qBtl06wb;SnDxsN1hXDGwm!$1e`{)~dZw z*Dg+8F>vT~4+5+;B@6Q^T%yb(zD3OnA>a(KTsmAD5zB7~Zn&SgA67eG>kmG5{%Mt9 z@E|N&Ta!74jnx$Gu-P{Z0gWp6#mn*^{D!+)2|2L7yfVt{DZ2rRp|BEe6;TGu603zW z(C9;DCB4Y&CJl!JjzCG_;rWnpg=}~bJL72M9UT3cr>CU3nAx6UhZ8h)?8H#9*+PtPpekY0?iNN_q#&+=4?TFLFv3E z=cWmQ?lBYxt1nRh{KQp;*i{S9g}jtw2Zk=CXc>`>^1boyUAjTEWOQt-qKn=Ne;#oHja(#$?G##3+bB?@&eMfQs_sGqBC?_^p@ECf=SX7EQV zCSO9-q8>l(o^yP$JZ{iJTO^qhz!BcqKHqXqoi>OOCC>n3({iPjH3kU`li^byA%`e2 z0^r?rclg^W^ORk%3xkf`E=efw*}&Y)VjVQnSWnDIg?O?;%}IgA3HbYc9l95`8uWsb zk)N@S0}WR_Ag>7wZMNy@n|T;3oz`x%uu^8Tv%yw65H|#r7WDHLT^9lA9~q?}6JZI0 zJj5t6fA+k`Z8|Yelj^6~6E)9{_M?bnG#{$q7U`;oYg`7V6f#fmhhnWQ2wa(!DrdTl z`@#y$|IpWmHSu&w#wTN7XNd~Err~G%TuxNy0mS#**l1|Oz1KnQT#JC3${fqqH!QGA z<V;s01sK+cxMC$vXGb9&xJ zNTjCWqdO$KH$n*{P^k>@mT<9|C_&J?0d6V| zOsWmqI|UH-%wkv=_tBWZ&%YMtH~bmK{#lK%UzBr`8Vwo{tP19`O~EjRHLukI zJXCTvrSG9(X0eTM(k%lUz^fCxwM5ja%o1hkqYPq{9n9=R7`idChm*vH?U%$Lb1%h( zBX;(7MYArrw&1X+iKDiPs83`pHT4Vwlv&R(Eq$Pzb4M6_WL8En3&S=<65#>6ML<@U zb;F2r8H@5~yA)LF-NKzBCOf zf)3;e1qt=L(^<+-Ii}`iQ&E>9?XvX&SInXHa)3&!O!=b7$2Mr+23luxvO^t0#U5O^ zKWw1wL`r88C7|6Mb@An*wHL(VX3P(uc|H(qW^?!azBbxQE0X0g&H?bi$jwep1qru6=URIy%`1ROBw7R&Jau_HvZGn+ItBuzolU z=r-ACpwlOqUPo!HKlg|_*P}AK20*pEf4tM{nJC4d$RfR0dR7s+T{!O4onKgFWTpF) z+k2`FvSl>c15+CGkt9Mq5eiVLwq;N04xP0bX4X#a!P-|qvg=&x$Z}M%Q;J_I1ws`6 zDlx`~jtO650DO>n!=dnPyn$*Hki;-IM6~IXNIXgq?`C(n?j<1((t=V znCY1XG_Q$|8(M0l@nGHBQ<1|qb-J8pFyf6R-tcA?gUNNyiqxEY#dQ zd#Cgzq>O-~&+mv@by08W#b@gKWS#w1cy5x_YYG(`IB=Q&U8^>1H7BoVhRL$!oP)}$ zKm&Jsu{>F8P_z!DTYv@@kx>pB5eYQ=vU`H~nJ&wrqPs>(yHt@4;q1}UIGrR(JlAY4 z0D@dJIioa7@#@IyPe=uTK~9=#D0OeLs`(J$>(&s3rk^07WkT3!_Z1@0pF224Y%#uy z9;iuMJb#~{*!m8?kwf&NP1Z(bW``vNFb}+`D?iDm%dIoualY643k^X&WI7G+@zTvU zqmCft>P&gO1t|Qpag0DHmVU?jR?xw(^K7Sg{AF~F2y>j%9l=D(ryQN-3^A&BAHHIrVP1Y18D~d*tGDs?IZWPn|>dMK8bPd&$D69<`rf)%};; zQr}eb%GwY+kTCtiC1hd35qdPV6tu{-oTIS^rLG%LZL-3Jqi(|Mhp4jH8xpe=(>);N zL9)s8l}kyEwz2&Mvy+$Qa3+H=hEk9L=E5LT{ZW429qh|af5cD^-s2`YD4$%lH%rRl z3@(qTYO{%b)fN`?+>hbUr2NfBQ#_pU)L!EzHaz&$sqC@aqi%2EL~#z>cv`wcR+p3* zcp|6cy=AuGo3-_McJC{T8nw9skn3Mg{R#*tvw-Us{sNM(HqNZEeNH0qsCoN3yMwepH6`=h4W+86TmI0SaP))Oo_VEvU88?VaE+hKI1bxG=L7+!e$wZgdlzFOpj; z0QwDe^}7R=E_qAa<1CJDrP?82SOg~DX2d?shvX^btv~x-S5&QaYU-8AHt8o~BY%Yo zhD>ZH$-UguWXlqN)Xwq0Vi;Ll^Zs2p&x?f+(u27Tkb2QBPkvOcxN9+(`Qc;D(&Whq z3sB*X8q#jsjLYk6X_Aj*5k3L8n&kx;z_Q~k)E*xsh(~hZQ`)TZauNX5B+)=e#h5m^ zg;wlu!eJ2B4kLY*3h+Uy{fQG155C94*;vJ@!HZ9W1V^i)LDpRwRhI+flUiw0DYwyL zygf?+I3GBpHys^I$6MQ6M5HJY@y*=quq9S=uRTD+5p8$mCB8YrdZPDi_(!Fpp{Py4 zNNbIj8!AD*FVJhmRSk`KD&d$z)^!Ukl`I%cmFUFq^|H<_gm{eOLQ6P4$eh^9hQN`B zyj#b`MLG6rVtouN{AEz3ujW)_vz#idu!hen!Az>VA4aY3v2|3b0PC6bxoN7uOgsQ3 z_ZvJRQW^l1CWZ61rU9$9{!Vx1H>J*l#0X-g1Tv8HL+RqZA&8$SE&v5Tp}|tpax5k= z;rpEQSm+_`vbz|~qZQ8Y8d{=r`S4yu1|u8iK{%7BOd`{}%;jjtol>*)+%yH+A}TW( zS)Bm&lS>5w?{yYb97Y;l`BHb@ZhgRr;Ors6CZ(o89}qy^B^*_S!o=~$LBZfwRnCX> zJ;;9BOw<#&H`r|bQOONNi#>iK;X}ac!A~$k*OC<_xtTK=oTjV?2AG0!tM$-BrSa z*O5rnov-Z4*E-9;MrrEj5i7w{<3}35MFF(jo2XHz)-OW4?LyQ0vd+NInm*{6ea$SV zd#6>rO8SF*P&|-u%hJ1b4u91m9rYXcNT9NNor>I6m2%CyslcOEoQT?#*vKkEvs9p! zgBC`v+sR^!D*q?X1UxVy-qoFY{JeU(q>%C4^h7p(4;`@-Mb+55UWYE1W4K3+>Wjp^ zj5E9LLg47JnI3~P>i%Qr;O0z z0p<9RQqIvTKJT-MpQNl566w)bmX=|e&!^Cb?=mqHnJ$G;iy{tYAX&Ui!0dBi62l@g zax!B@9t6T6mtas1zjk^_+SN9qMh9II1q9ey-!5lGvJ7q#WA$y{rst4|G;3lv{MqU8oVTd?7lolc`nM`+)|2`%#NhSxk zWxM6rUF*iSsHN$JOAsfb2lv6}BR1q#G_j~(A~|StMY|CL+Y?!xl26S~O;{Rh#T<&o z7l6v(uwRjf(b$g&>(ee{1axWl!{yzoRT#`9`23*6f=DhKTo9;_Wpz-enG zp(P3hgX)gn2xSkEEi?@{iIFHEW5;`P55kV3hv6;rcJO1O#nEP2Z{ThzKbih13;(9< zD^i0K4Nu0aVmDPQXH>DXI>G$%e7pLq4 zPMyqw!(a97{{5cX^W}o*2q!}a0+dVOI2%plDq4}Z$b>b67P$jkG-@PCFAYeczr*f` zqH)B-1#rN`OAeaMWNC*gouMhl2p{1LOgW%h@od2}uHga;KmA>#WQGvMiq)a>>Elgi zOUu_INZ>-OUva?=WLd=J2n!hM@SGO^w2qEKYj`=eny<19*m%JUjN}Zf9UBIH+qCgR z2SUxR8v!twuq1BYOMb^PnECILZT=VU)L$yBn*Eh3gBy!MBPyAM?B$pm^XVo611m#X z{QY{%ACN%mo+Uurj0Wacx@F$!2uiylicO15GX>l)z5PYDa^3`U*t`hNyE!BQPtq1- zQ)m=vClFeuHgXNGD>%|TULT7}bM{1|RrX8r)Z(uggbyWmlY~+DG6my&v)A&9qx}pD zj2nzHL1*!ceFU!R7lO|_HZoZ#Zc`y6vjiU(e9l#yZQiO%y03r$kio8n7p3Xs;%K@C zRA%DMDYRs+;mi4tC#uLK z&_g<)sHG@K0Z!`5*g2XAVsqO%C=@2vWT3t3O#Hd@SZgD{Pm*d4Ux_Y-Ag2heZ3}{k zB)h`QLj$^;V0==_+$Ka5+E13~b+aLiVqxqKs)2gpHQy2czT@dPq4rzXSi;(qHb>ze z|7Hb({RUi88y=JM?xG)p~Q|N#D zH&ASBV>Xk7Hy0Epy5bK`@(#grdpr6_6pyYn8Twp9r|fwwlR2FxNVhLV93afhZ~|lB zD1>^SY-9MEng(klM&muQVz@ur+D;ig3?VTA_>QO)3&h)t)c`|XW}xYOrykkmn+6Y3 zYF7rVZ1i5EnVTaB3!E=m?w`k0rfrH5J&NUjgt-da3@b1=0vdNNEKN=FXhz*8r#H1} zDWN3uA0`;ld$2<$_AxbYyF) zFUy3r6B$AxBk$X&IyZ-mY`hAlKlJWWW2}^Q~S|^on&9= zG4B$V2gUF*@7hGLzJJ-@EZFJt+dhqn&bQN1cY}BRBs46LleTr=x0-}eJ{>(qc8sgi z2c0l~(@V+cDxqN!*&^5*@}MHkzG~2RX&^1b8+K!B3)j0w2`+-zyL5e#b;cgBXhZJe z%9B=fMu+KxACwS6w&0F>CT7v*kOL6O6Wztp zy7^jg214DRm-6Kf&TSZ))4iz$dNooZT$`h}OAaw%j7B? zkGEXj@!B3r8MmvR!-7|u8zBl-`P%WhxKI|5GeSpUH!tKnkUVGkIlkC6+B=T)q8zua zWK(Pe^t#s&=4iXP+We#CkCCNqQV@z;UbFKV1o?dkgri2<$%D?<*ca1cm$pr=y7h`$W-J5=G$%M;dvA0ksTe+IElJe+ z7O%DNKyrAyBF%~Vr3ufO+%>Vdg9XI$xah(RKUKt;)t$z=0N_S^=&nBLwdJIoc(2&#r z>?DFcN$!*$y`&4BL_LyLcdW`D56~J_ZYvrw*}ED^WxN*z6{URq{PCBn^5T4v+1ch~c)?!Rlfp zaU<8HUb%QNIO&f1*ru53trDb&MoFO-UDd8W^Fo=Galf6EXpC>fxUi%zgjLgFFI}zV zF}K`FD0=W{SEl_;%SMWs{0C-l6t1~q%{nQqJd_k(-E^mr%{Wl4-%AyS}HVd_+`nys)ZK!fW2@>S0%D?5h{6 zyNr;bJM4E4_^)$D-{V^w=)3nV=7Fit_B;q@^+>D4>efS0J!fTS>)A)rNm7emI0*e+ zNbsfEAecvZbdGf>JY8d@PR z0T-~_p|dWnj;I!;y0XaJF~BUVF)m@}^^~*P&tftM(u0td22p@h=thbFtB6Y|8U~6= zfj=GfbtC@^-1idY_n-C{oc~RnftiKn|HSl5w7KI*I$&qNsmY!P(zzl$v11@%-r)Y2 z88d$d-dx;7;jI7i*Na3Vy_DbT)y0hHRHz`0oQX$%zvi)jmp=Z!X#2P2FC|R=?(+TS zjQP&}`qupV+WY-Jp4^=24`!)}D@l&Ly`KD_!6{63wz=W{PlCZ--|n}Y;=~!R*QXo% z<|#>DD#Pms+?3=P(Mwgz?+}M#?nf=JXwfY%FQCsQ(+uQa!zTm2+3FokeQxg0*-Fk# zk(758AAz1l>OX{?emj$_DLHbuU7dRlQ{Qw5b&c_Dx8DZfUp1E&>KQYwNe&b%LDkKv zciL&|6rZVb`|N^_6uZ4yYCm3MoQ#NQ84 zR1MsN8~nc3-!FUBW#__jJ=|H5Jrvc2ObMmNG%3MqBT=+e_E=Sf561mjsC&a^m4#t( zdaIde8vRUaD0K5Q2aiN2;w45rIzbuemk%wsX0dYWTePcK1yn3^6k&rAF~NXin+#AT z3s*#}n0iN5Q0hYRkn7NS815UBaqa?^7KW_WF{+SK-w@-Cz4IZGde>ELvRxs=#tHe` z$mm&OcaE^vLLI`>2~H9ZoLBXc z&MMaXsExNvMwTmEvZcg-p^uj}nbTnCZHe_mloTxkLzz-DBm*m~5aQsaE=*fo@H~+ao*rLMM>{2=1r9NyI#OT&Fc@yz zO$@(h`ptMb(r8PFfpMC2Byg=<&#J=+Wpp!-Xm=*lhAqkkv_huY#RR6Lv_YM+mW5}eq)P1_?GOVWELYQr`T$GV#napVxH9<#sc}hQiq94?`ffQi zJkd`q$l<*FgzpE{W&f&^y@`nYyT^*5y=8Ro80NSfbPd-Wh-|+?EKq(5Y>yY!v_prr z^tN)kWiI)Qf~-UR4u6?9KGd0cP+X8s4K0x4o$HptL>IZcmjdf*dV#}*RvF9>hFfTYHVa=625;!Nww)9Xoe=DHX7V!#T z+p<}<`$#y8B`V)Tva3C$AzML+J0|nU1vB)XCXa)RuJ=Z71~yRt8duv(QE4U;Bpq+D z^u?I(ebhC33f?vE5vy!$?A$d)rQZ;p1wxZ%ODiK%KtP+AbDE>crmi}ju)byn(?mK<&~xvf z+KpGlISubtf_Lz7wVzeJxl)7^NIrB>WH_?bmByqlz2OahREYZxTOZrD=W54@nj1fi z-bB_Gas6ZVuQW`%AAjeGqQ;V}y45iP8O8?JY(1NWPK|`C;31M4n0Z~7qvsUYmR*r)cDJGxuxlN?J8WMma`{c^Q{X<#M_>-cb z?f>vXns?zei`(3EC4>te{lFXtF!^P@6aK3wsuis0N}hxkA5UJVBl7Zs#uZ9nn4hIE z2H`M?xn2{iuIPvkSE;622!sUs9mr{1~)O|JLha)F}|<&pgH$f3<=qz=qf2u1=DvdG^m{ zmanW4R<^7>$8l_a(p4T`hr8|C)E1W>mVr^Db%Le7^|T5}67z~ z!PGgL5O~U=kcVS4%j8?0DX+1u(9s9e>|uBQ+&@uS2?R zGg3NzmWc-wa894f@PUsx!9>6rk0H|n=hd^(FOmmIY3(n>y3qbU1kqB2v<}?wN!9r{ zTF@;14m|H?=ooLLvn1Jpd*h$x5{A+vP1S*B19Sice{_@2ZLBHrD%Ot}Md5TdC;+2- zTK#)ni6+i1w&5e|>jW$t%M|2$uc#{$VOM^r8Q^Izd^Lvi)LgT$jW_Es>+tWwFS5vJ zH14V`#hRkoV7b^XKt^~E~+CsF@B_q3io4fUi^j0j9!5o=aa_1eai zRJTbDeKwEx+SPDt-CMWuDrmC+m0W}_by zmR#B__QoU?eK*VrjkdtBeU>l~9;QH(k;&>7BM1ehK%fjQpzXC7tpU?6!!8*Sf9v1n@aAm~E=r$k?I@ltH)s1hE;i zmWA_idNRxiDUFee?C05QQ-^&99O;0y@M+EATvKj^H}6{z zj=xznO|Wu4n}2i73w+KYUC*M%6@w1&0pu9Q6t|-DBxd+9trbnYVjW1QKlSh0dQiY! z@1$D|&C%jXfb_qQX>s9S$KolyL+66u1*B6z-}Zt9h|%ZKW@Z@L+Q-Z7k_m%|IN=3k zSMmX(JPOn`6yL3bA7awu>q#S;mOp3H2T3!hyr}Vgy@yCO17O5GwaRx=jb$|9H0O{~ zod;vUbm3F|2S9e2XL(u6y~-+C?#YoI)~NnTQq!7Q77FuM_$?{p_Sj(x4L01_CWLN${;N<_-*sgO%0{-5H35D7`CX&#kw0ylRCU_wM`#F>KChIP0T~}eQ542& zO_-U%ki~HPMFm~sO&}@(6z@_ZA^?B8Kcmdg1&s=qONTp`V0E0%tS&y3{%oY(rf%_p z7A9!%ytpX?#yJMiniP25%6kMcDtPLl4(=%o>pnn<%U_y*X+f!o4PmOz2U@Cg4!Pv2 zlYHt5kpBI3I8)%#egf;Mrs1B&z*4>0=z4Z;&lhQHm`1e%)(y+i`{^GXP3wf7n!ZO; zu!fY7JcdhRzI!f@73q_}MEd<)H{YbY(Y7Wd?)})p>%E7_(ns^(rCfN zGO_&sHR~1~&N!1c#DDV}S96fZp$|q3q>TpjKeziIBkuHFHEKtL-`{?cD}x7j-kx|8 zLxv@re+KyKqpG8ulRk7G#S=fDh*KmNKF9C7#~Xgr>$ArvP(NR^zNugF?yqm?-}k;e zdcP0P_k%I-h0AfOs$@ES{4{rrlI*_j3ulYGnm+HI-=|6y38@Y7cg8#W*@o%e$^@RdJzTmENb$XcMf3y>oi(2X4@-3~hb>oNp0cOB5zM3nw=oC+r@-CMDum`U#2^ap!T7F8=B&)>gmeR@BSDerq6 zxZ-kK$+0-yaMX2E6UL!?Y(0IbRJA$uH_tp){80G5R9>5{XIZiz;RC1x?n|%tbl5t} zyXO>lF@lJiX3)qruI@D0S7olxI`B%TZy&-%yFGmw!C%$hfd`)IF+*+|-Me)w!=_Q} zl8b=sQgeg0k6$p?(W z%KrQWL=w|YRrbLd??4{HM93;YzL$Hl?O58IsFm-hKrTCjxDB;Al^E^tDv6UM zE35AZ;>eL)XXVXovMo0UiR`V_ejwNa+rIWc07>K*&f?9Zmr?1SDO+pW#&Aq$%iNC1 z70Ea@#Ht#$CxxL=u?e&DsogHUf%#2RJ?|#u!olW!4G01EJ0*$713b@Lc8PE-Y$caO z$hnHY5ewER7hxlqadeC>W~>_D)!uBdmDo#$&d| zkkKZ&o6%Mq)50A7-Hjz($QXo0Ox2|ptOr_e+MQE}#jRXC*9pjbR^KEogK9}3nTq`A ztK|xLFD%MZ9uAVSFqu3s!L7969YG6ZZELf6lH8l7XWqE1l%ZT$CHCV{dM1knVhIOb z%kYaOV$)6y8EckJMs1L*&fEw(%s+dhS$Ag<)gH}m4d*vJ&i{a~Ue?mvt*;llYnZ1W zB6C|$2XZQp;m5eqJV&}&iaCW9WoIq}X%LbU<1;kNEemV>8;}$O;f%Umy8E~ny@u@1 z3M&aqax^o4LOZ99bg#^|E9rfsInF;H%4+Gxxx@Y*s%utPQD#eB%vmMoRd-C)PS&kBO5ZXE#qdhWNyaR1&CY6 z+9b+S7YTXFiydk!`pzGV3cCo^NWRu)0o zm{(Y!n$cD(V)?M|#+`2pt3QC@$jkwllYy`n5G*29H_{VrVuZJ*j35;IBkMk7`!EVL zw{@=Ujk`2x!T0?ZQBs~=C~0I;Q^I+=YU)^jIu0!2w<#Mgmo`pNX%eNNy8pNC5ygoA zW~`zDKs1d=PKAX!y6Nkn`-$Z$j@)`fc*98GPwI+SdxdODUc8|edIFj5?8Q)s$st`S z;Y7t>W20nuf;B|PVA^D43gF&^RSaYpVh+2dd7rU_! z#J)y#oYrrnX|+FosfWE|=f+_i`;@rmXfJ7;$H!9MMlCz0!QH;J{UaIE6fE%!QVHSH z8!&j$-Adt2>W`jAw6zk^2n;a22i+*%i5`@EQOTE1@ehqta6k8otkkc;DQws#2qP)~ zLfqE|#jkrHL(H8Apmi`$+3mKib+Loa=AI08n_nbAZ05)B z7Ad*{%TZ8)mh&-z{p>;TjGk_+VtHH0Z)#WAb4^12SSe-d;CsHVsNcm>`7u<4f?%3C zU&!}B(3(UZT)X=mh9rN0LI=2x^PgN~xqFhA8Ka!oWoPZe_2Y?p0L|`g$~F*1nSvSY zy7;`>XciGF$))F^c0-HdhOp(du`;UngHLbXdp|*PCG?sz>hgioJu*vyv1XBIZ?;~< z@~E-GlF0LI^4<=LCxi7*RT*4X1v3+^nP=ZIPNrv=;P3xb3f|OTLBXye_n0VP)FYk0 ziN-G!Gf|rwyK?cz0N_vD69i zBJ0qek2E*>S819eYx9c52J!@XXk(FIF($J!VV{?d(bCK~7;ifyA7LHr*^v*J$_c?A z0q||W^>Fezz*oXk$&-*b6U~^J`LY$9!qZ` zGxgb6+}fc0KgQ0nM-XsZvt`>|=(26wwr$(CZQHhO+qP|2P0u8g+?$*a=SRHQc-Gou z2LlN|VHT&`rt2qjmvpPB(c$ag`xeje<8UWuu)PFxBs8zgk=3SUx4OSdlA*%M7FtnW%6pLJ1@( zVOyHpl&rYf*0+|@*B%3R>Yt}=nYDRv!{O^yIV_I^U^_fM^Ve4Q8-l(J`LxQ8d6Ap( zh$rG2Upp@RO2;9+IuQXeeb6tEF=s}?!q%NV+^%(wNQ2kRfjU6Y{rNil!Ct{`h8(=( zACSE@RhQ46_-#8&_4WF8XfWVXB4gmE9Kdn+MHMN5@`s<5i1s;`-&?4G$BG@stHZiv z#Y!RDJ8uNOd*nCC>9#rnJh*7_`dO*}p6C4u;?e(k|~DEkbIK6Q^qh zT!blSrg*GBhhlgwwFO2}7Ks{xr&}6gF^MY1qAC1a2(J|1$d(1sv z0UmYTT;`$A2sT54MG-|6cMTNJHQCeX(`k8f2uTRGfSFvV*BZ()z0&ivOR?~?!Q=}6+IV#(3xca8X!qh+AP6uIcJVb*P1Rvn1^QgGDmQa|+kbG- z@*RBva-kTJb(QW6bM9tM+F;>iOqk+q8n1?xYbYGkj;jE~Wv)?T^a)a$+U~Wsy~H;Q zL|l%woToG3l|PJa@?r>6+yGc7uDB4jb!B!27bDyr$^F)jv_i*w3@l1H z%Ox)vgs)7o^~yFjwZU<_UznUZE57YnUCw{ z+cnC<;~Cy$2}Q*Wo)`I;@>! z?HIf|Z`BKsi_fDG)jo;4khWV&E5O6(2DgPev4Nn9uEc@P%qvb5tpuuCFo>g-Pr!Nv zQ{KnpPF;Q8ln?f~gFmF>mQB)Hd%E#Iw>CMEb{st8A+B%>;+ogvT?{!6vx31V0{uu< z#@r==)y52g>&Z&S!3=W9H5l)YSpR7*%s@|Gvjlfq19LnxSFBr%L`JrjOZwnYDGAr0 zv}G8mRK#x@CowAw|Jn)Mrk`7mUV=$HATua3vFsGwt~-!-{R0$%NzHBc*$aTp1Aaf$$B@OMH-|Owj0aCbb9RKO{6iwx1g) z<74)3OTHG@2?3q2P^!vw49v%$jsXctJ5o{9h1~(n^&HhsNM{u0COg_9>O&?1IUS{f zbsJ!&FA|Z#AT^)Ele#545k9mMw&NFgoKV^m(~YqaPEf(b#g{z>!%H6yu*R!=*ZgDm zEIWzOB-?Edj>dKK?HXn*>X5(=F{Uue~CB@lnjfdb((6bJ`vpuo@jXL3JxR{Tv>ivNLh z-_K}PLLFg0V4ao$85kNrokM`E8snaejdLN8$)>Kj<}bYrkdX@Wz%!jZ>OGg?g7D|T za!2V2k&tMmrO{Vg0`ojGEj1^SngwSnIujp7kq6XzG&WC}Fo*E|#y%{XrTg?cYn}Ws zLHa0vuz#FMUM_+W$n(<%MPRoSGTLE23N%t@k)xrDW+h_TV-(c+hCl{cRG7dNLb)Jt z3AeV=bz6YXy9o;L#$RjMd%=ua7~Fos^oh;==>qPEh+%S?3) zSOl;&DGjPgXx=ga$bkqth|Vyk`PNFN+oq1l(oc4UAALUa~3Gd*yZZ;FOm($2hon(TgBAvvSe)A zv)SUEJt6hNxmlAQQkffwtQ^0I#Yb~yDe#jqS*$$@-HZC`Fs}Ks1k9bOc~Ek_1w)NY zMM8e+HubO(Y%DrRaq$n-M66OfgYw7H{DG>f0HN5YX0yTL2x?1NQh%PrIzM z&3^^>%ul3l(JWMZEqJrTb;r0_^0z{Vx1OqVB++@;Su|U5h-?%`n7Ekxd-bZUy|f&( z&#sIj3*9JVH^=tK3jP*bm{UL~UlL`VJDz+mnoT&LKU!8&H7_E4FFc>O#BnqWe-$8X zRdY(=G#RwLM*R7tOhl9b;>UA zm&=rk8c1&5awmYHRWsl`)G^F8wKmLkEBCN)fSShBm^4sTsIFZzXm9&cf$7sx0n`!r z^F!P$+(?ift|!FaR=MFtR<*0-WLBA*_fawYVB86&P%wtwe3ijhq`9%D2QgIJ?Ne&t z=Ahj-dg3NihWjBi8RAmcEg_*u$sM=jpoMk5faf;X+2OjJ*Ocet1yDj{53^z3DxCg+ zG2x8!z-?yt;A-wdvWXwpAmg(4EaRawK;r4$hozSN5F4HG7$M?67ajGN3Oj*M(pJh}>owtb78Oph|V|rqw6V}Xd zH)Mqe(s?@?J~+#QvC(R_bp;I3(jtHSWoQIDWQHkJrG5R1H1kq#-FQ0S)V_96SH2pfWN&rg8*~}UhQ0z-i%YKBVzxj7P!qL4 zqsvsb+3ccur{M}>g}j|Uu@JFNI?qVltdk=r1z(1(y|YhhyIG}x+I(qo@#3@dRVHI_ zpqAK27azBL+h*}8&-NZ&ZmdhnGCu1W6yj+CeN=V`6;fq5Mk#^9+@sUAaav|8k=1j- z6L7K;PIhN|krjVl*FB)%RnvWNmcT>aD6tve3Yliw=YWgQp4vb|bu0*$ydHDHj+oz; zy^Sn`e)a%*Nvp}p7^<1xgcE=Dhdo%jL4ndM_G!t1vfyMrDN&>-80AxC&Dm@zMq0+Z zj^A}2#>x>**r>!||}4X4INy<8)RURe@j` zB5U$t5@Hv6?~FY(E4F-FdW?dbdYf_E%6jhKyVTev8qLCN1cR85_fT zs%$xopjvo^v9W8|glc4e_;)gk$*l9O<74xxp)DEHQD03N)BsOyrN+!zj1VW=Lue1e zvNOhWn-=(fAcr6XM>oOXk(hlxxOgv~C(vm}Bl>N%wj$7SGd(|jf z^tHZ4Un2uxN?~T7l9YkyG3t|d9sM94o3^jCC=my^BXuNBpOL4jD8iF;vL(J0XS6fu zwn6cGeZghK4?`b>i#GiWoY^d6wef`h+26EDTkoWX3BctN|0k;l}0t>zz=J_ASAF}GqNWEV6-CV%uODEtwpmUz2G zHUhb3ex>6|TU_njzmRJ)jyq=D&g{5J7l&A6Gq{DPY66+Z3kF`ebY(9wi9B*H_o~Sh zUUyegvCkGb4zMlP9Cec}Zo;0hWXt^%{p;DWNMhD&RyZG8B}xJT+@U`Etg^gf)ORbq z@qy^eYJ>C~ZXU3G`|p`xh!01S4ij`YNEtMn9I>FFq6v1}Cm%s?ozCNp z6h5mTaMYwlZmI+Auq(WU%f%qeaUb6Thz+EcfH^`jb)eDtfVH|`+N(Z z=lgTroThEKc?Fv3n#b8}i13d#sg#fIi{IHPw+_Qy@dh9^xBvuHqd!ILHE6z~b9R7R zSH60Fz{!L{(y{-qspGJQcq|n= zV$UPx1-#RNcf5u(pMl5$mAYA!GO&mq?Kcoj|KgFy%C6w zUdJ;l7<4HkcGy^VLWmB`A6IAi@gn9~R;=x1D!4Q-6{SG`6)kA%$p5l4vP z24!h_c}#|xVeawLCxjW%PL##npZMPD;({MvvJ0lT-Z% zb&3FFM6l}0aqmw*ILh%itPsUTNh<q6!bHm(Zd?qChpptF_B?;-HYkRbYv(y-r5z9{B|FnzElCNKY~uLI?cY z#jY^+RN4@&Ud*%G&Gu2`5hjX6|K@yS3qG;l9Wzo_5(b@uN=zIiL6Irxt*-wbg%Drj z6X=c-98w*^N2$x!tYBJP8juGWXMvFhIwW-XnfQ{Xab)AdLvZypsRoLmP6DkAIG^!g z&R~jRt)6yzbwbUwZ9afBKGuPnX~Q&*dIRo*`hBf;Nar)z)NL@X<>P^*%dxcd;nz&i-E{KWp@DpT z=*hK#ED;BiuNHGaG}R{T*m0?YlZ$VG>%ra!<7hfuJjdKcrnfaFAGGl;1jW3rKI(zY z(K}uf$kZE^eZ=ALIuvy#w3H`m42K{6N7sI5Vr4A;NfBUX41!y-V)&=5;}j z7@*w_4#94hg!t*x2IF%(rjb(KDozLo_PP~rPL)^P3T7R+NuV4xI5_^jq?tBNRkNzv z(9RKjEs#cWp;wRr{#>_8RA`|^pj-<@M=8I<8nG>6o}&wd=+>SE^;J&$OZbbp0oeR( zgtpk)Mz9-(_B~~F1utBpwhcWl_9Rz{;gLyDPr8Kr{gh8rWmpq z?5sz-b|B9g>h}uBr}IzZes&&uoC^hFmVW(9y!-QF`Fq;C&QrbH#IL26P?>+-g)eo+ zd1O-{%Mv}|zAj&jPyC_Z!=up1slr%NmxI%y<8;K$(>|P3XL{W!lXjIL@F32W z=yXZ3R`rq6Z-pvp3oy8mYlHz1UeYwW0#;jOXSDY)5_ z=@y7$*}p0IU9m&rB}sGUvnFT;k~6B7*rB21_zIWq)p)zGk-z2p`mSxrg*jieYg!=t z`Ul1DD4Zj7K@|By!7 zY%UFs?C=ioc~#6+noMlzMMCzBP~l?MT5lalWFZg0S{Pd2%G>}ekh41}@vbX1&vJ27 zU-Iz2K4oPElEntL$Q;(F#)3>Jv4Hf&8;i9pf781EE!Z-Bs9GE`+EOD)o*Tcy+*NSS z1)M0}ap4GPt+^!pA}eiR!|w%UG_6r_Z#ha?Ine0LJJjhWM|gf#ec-=<5#?dovk90M#m{pvxw$Xx zdmB+o+={J?(%-wODo`uo^uQKKwVi`Y*z(@({zfg)_1AxxL2d2hXPtk0U1J_qHm5^| zLyasmw1_Y}la}ZtdtHgV<6E+nwI$8%qFkPLh6`YDq}H}9*a_V!vb1yS`iq4vyau55z*tT=3&f1dMuy-Ct7XF&&&ypw&0-<9qQ`1uOjcDhZF!aiy^4;LaM@&%W^K%Fu zb{YA$Ca9)w5W|~?LBZ}*gjGs8)@aoca{w{Ki;$RBfQfq&_t7itu+7kOC4eFq@C3(B`VQ&npBeXwmN37x_53mV_!H!@VxsqT+59 zUZhZ|Shc*Oo=qQ-kA>6l&z-a|!Z(-rM;CqT#1DctV=AqR^G)v)KXfb;%xWu>dT-}y zO~{z@fMF7%=FF}A{X8hYGCLhJ=hV3j{PZr;VnM{04leA`-8)*W%j!7*yLFA_yMTKG?PQ}+q{G1K)a-awBs&{fY7mHU0q-Tn;IA#~$ z(|-?E5fOj|TWTHl^$h&pct>gRW@n!qfW6_0mOoxFHA$-$+obb~SO zmTlWd@bBp0vu*Bg+xPyX8XqdNmB#fycyA%X^1uy1z;(fgTeO|IqyKp95XB|Ny%Or; z8_CtiCP*lxl!pk{rR&^I=-{PrP6fGH#)EKd9E~(Ozc&8UtuSu?q4wr8cZJYYXgUKdL2~y#-no)XN=MbCoVeUGyroJkG06!8Hk`qasst zdw!HRShcO!$pcJ>*dLs>$lbP)hN$5fie@(aq$Ljix$HD8>%+nrkGsY)l*rEBsaUt}-KuujO4!>nO7N|dGz?U;R<+Y^t!wER24v_}`HcquZ;ZNe zQ8$t}lBpG|+q_)#=MAhufxndkA+hKz3l;)agIe?SoNggVVWI=ehzN2~4|38-hCoin z9SUGv092knuyv;QtNJ(Dv@L@w!0%9cXJ`yPqnoiX4E`lju1GH!XGbu&uSec1`uAQq z4Ok{ilSMM2aoh{)fE|+kU_R zM3TTXlaBK@Gk&rlShrJPgy#DT4+#uoYiGj=eC=NAWVEY7sks_SFURKGWWPh5P{mZe z(fPM<_Gk$h&vhRU3F6jx*h9+EdjJYl!0w0}NEril-B>>Q3W3JI8$5zBmsUv z#3&lFg>nY7GMU+XxXPPW+$$s`MwVC7(nXkufWRcekuaIWx;ruGYr@qlB@LKQ45F=^ zII-(kNmwPd+OW6hOWXGZ@NNg{8iZrcnX70y z2Y9lk4BwK8wJB~Zr7Qt5*6L0^55kdC`W@uo(M#fmC_+r+QqdZ3)b6Lc5f}EHqO1?B zKdhF_>%Hy;l86Y!ZJAg?QOxPAn3=%Z6WY;4fB8_Erol-XO9>ZtG|VnRqVV~zMrDOJ zb^b_{bLq?JcM}8G7R|7+LQvgZsMbqRMl;bc(ev%q@n~qe%Kg1giVp=g_K9;TEogkN z+^wEry2a9KXI1fIX7Gl2tYw>o4u>VFYf?I*-54MGf zZgc1qQTX@z4*$^wpJLq@ZF!{9jk^8Vru!g>PRp|fF5)zPJ0R-r!cnpD>eRMT)#K_I zTwJn=Mya8B9Z7A?TrQ^cC68yKwj@+Sp)cWc9w*4u6N*Fa9P(TQ$Q)G)KJX~@DI&Dj z>~bL$sKK38SMeZR1`9E|+KLa2y`Nug~9cLX1aiX%m9NG#irP zs4q9$i2fYX_^0p}YW8LE60)&qYBl*uizq}RnV6n*%ZSvS*ZJ$%vaG1Jw3oez*4MaT ziyAD@@%iRB*naC7P;l1T!gMyNE-6nof!cgaJ@-|2st8taLj#)8( z$rn0RszgB1%NS?fvE};VYj|oKn*(xaY>T2tJEZBkKoKyUv!`{6ftHPeF2!`nN9^*# zA^!kJq@Wq*OV6j=p~Ns_7ytU9sUey2KK>}DO1sJONeF9~p|Kqc9Zzwt!;?ng(A#Zy z*-&TbPe!HY92>!GxjH~!W|tq`KUqp(8Gg$<#_!@osGa7^s%n&J@_U==pZA9e&hxEq zW|mJvNkH8(6u0uzqBB1X0yX9IT!p~vRcW5&J)+U*uEZi-^1$|cnA;zl^jso+kuIxx zXrg3=JbiM+QaE2CIV%*H%<8Pli3-%3QWooUia-{|iJ-6&x2&bNt+H+xyg?tQ*jbHIOb3Yg?xxGTkkdvnY_SQtu$KqFR4d$) zE{ydSL(kV0w2sStpCQSb%eDg**E^Ixf>Z+77%{9nMLmUmUG}`So>%Jo<|zyLPn0jI za)yUw5-2}SN<3#xg8g0>#IGDlH(tnGETMoc*A6hC>DVAnJ&T=HjO|vfxQjygIoU@s z+rct?-n7O#s>i-8>xV4}v?k1#+nMd)gZFDYrVbt}o5^jg=(Pz4wIls5uk`aSt6Jzw zxHrg=C1dpDg0%}0hua9=C0c=L7NuwhYYNuvr~4K|FVjmg*pR;v8AR8Z1*KJI`&C&U z4uO}Ms@_dBt1pk*o?FO$PJI;zij{@E_~>O%KO(~mwTVo0(7&xsTq}9Im~gdgc6v7? zw@HU1!UFJW?bC_t%c^5vs~z|=lXj* z_AKX2$ho<^9DjcSx=C>ea>(XcRet%KJ1<9dFWYrLBQ-qmFqQOpEqMQR%JR^fURK=x zf$_~r-pcGkfWxa)|6*L}Yn#G-swad@cJH!(R=Gj#(uErg8r>CPMOKh%=EKiCX4~M| z4H9JHm5gdiJ*M;-_86A}Q%-K53-&Ta9PiEFFa|(hMFAs@INw_H^zX-(Qr2-hWNs23 zECJdW)hm=e@2Yl56**?1iHnn>d24Vf6LAvwbti+`%yW+t}=e?)|Gs$CQi`WubbxJ}e$;YQ!}R8QvCC=X*2*zJ^}tIH#Lj^T58#l<)z zJuB4Rm&`Hx8^UKk9(EpjI5ox7 zv=&Ck!VLotd6+RAtp;p(!>};a=);9-`F>6J0sv_jcl?Jkf|>5WS-)anV_^MX>sS8- zltitt{{)mv_R)G2NY650ju3GmW7A_hD?C!tw*Sz6UK6|U#1Tl!#TPg0+J?wjfjRP$ zD8fEo5}jWyXTtlx9*}h)*(*uEnmazj^}2VbxX-7li?h8xT0c*(b!N>Z$x2a^qn8EM z8p$Dhsif5h8BLIEKJQOeNwKtucZ$8_pd#d0$qaW7MpA#B{R(Yqd40c5A6jD_7v`%* zFmGdu_8Aiv-VWobd^T7=HYv8yd|PR34H=LrY$G<+4f;;3Sq&ygKQ@n((RK8PTHTAm zO%jgpHXB9&`qz$mCDrh4L#Zs(v>AA)dTCZFnTw7Buzy}3YL7)Z$kIS(54-v6_xU+t z=`8K~i#((rDb&fW%t}>oyBfyCQ6Ha)KTanobI@wOlX&I{E>-HrpM-_g(7#}uz8dTZ z3G9UB*QlWAXc6ui-OvF4ZmXLX;>N(4FOzdLa(ZB)iHiP>5uM%R$KE%BuiE!`nlkz! zmm)Em3Nr^Eo(W$}ou{$`fmrs>m;FAacPRJMU9R@B6+PFh8bIvK)Q0!alXMx1iF( zIG1y`wXDrA?5XWOOg1>MSuAjUKj4sJw(iy|AKpP{)qrqWdVTNjZ0{dwjEu7lARBRpILC>E1A-+SHC6`vl^fj@&%T5CPThi8lA#56?lSu#+fm;_Oy&$GK^t`I*7{?>qoSa$l`* zo$C!^_gKRw{55(Y%|4?}bn#%OQAgV(HJp(k=qs3TrYs3+9gDMw5mQbPLN|p&11@xB z49c7GoaD7*d@sxb*-bSV3^z3?}A|$L#Q5WTV$lP}x5focDDwQKi+;8@${I! zTx|2vFvily{CV`uNM`zd5hueo)#%SXLnP>MNsYM|6G0G>D&eutOt1xo`lP{O_)3|j z2c@#)cvqMwa|j*U>i;9tnMA6NvBsRT+pCH8qE|a=b2Nt%^O*<#LraS0VyBQ)t6rt6 zJY)JI@#)gttR28y-S3jWFXi0Dwu-yoGTI7szKzHlDYF1O){^3y*s?;+uH6wFmupQ^ zjJDY@FA11;=M=zZEAOwec^lG}*tA=#;h)Wdo~@f5QNcFi*fiDKYwR~xl4@J_l^mhq>P^0?yG|wD-5&7p`K!9eR^8P|c8gAH z7*4=OGg2DH2ssfh=$CUjt|BCfN@~4jc%fLP1&^+)YMH}-Tj0~7_{8PiFd-3br@@}M(Y{Q>A*xaIa;N>60>4PIHsss$I_aAJ7sS5u zivvAncth#9tJfm(;caEs!0u@y!G3NspB)aV!^Bbnd+Wt|UDd3JhQ3jJv&%&OKLYeDViJZ`-~OFJ7`^9$TF!@NkMJHe z_tfCt=NTe`O`auHTUfHLR`-J$1F}-2s{BB3XbgVOcEeY$dvXGOlacfnwIv6X$QEM~ zw(G)K&2=-As|GY4*Kh0(n3t2Gs|^2s7fbOs%W5}@u`5wS?^JenN-avq_sn}2=k~_l zZu!n(S|2s?jFft&u*>Fe4a>L7+zF*6a~6PN=ZWFTdij#Cd)my;3i4J;K-cs$9Qm$@ z`94E|nR!K)Y$$XuVi~dapYD0#amA{xLUQP}OU})}C?`8&z_OxYZTCrjTB(3ioB*Rg z*035IOxL#}#GJ*CHk&P_*_=EfsIWT+6lS8GjloDV#)-{RoW4>_b;^Hio*(Hph%a_u z>8f2KDr;PS>UmWwU=KSYm(S%^@6B$&7Hl7F_SB`^-5-w2(}VuZw=XN!aqzrVfVd)8 zTlhpMtwy$zctsp)B7cauyo8fnQibt#-5Snoc&-_`+>S3~+h^d5-rY2i>1-cqUe}%0 zI!rn0R*2?^4nAr+4xwV#`coe0`GWG9nOoX$3;7KW7BC#pCb(SA%*lLl)qE*?%rf1O@Gb_xkzs01SV`HD* zjeKqi!yu`?)qIs~r#P z6}DkK*vMXu@_wO5O5OY?^&QK97ieH%VEmsy>S;}OTch^>#~RQApC*oE#iOL#)9zc} zNc;o$5iOGF7U+D?Ym25XjP|aByI{7GZrRld=D@3TWg{OVu5q%Z&txT;ofy%gZQW2$MaEu3cV@r@L8{nFYosP z8N^GH5?ud?AIcTwP+6B_T$s;~!pq5GFPESPrYWUsh!)SN+^k8!KZ*px>Wk7%73NRi<2!rl+m`EW57o9!?ga zb)V+?>Q71ylyGibk-g=S6DL%@xKUtGr4nHU7Ukr$Epm2q+Xg^aS;wKR$3 zqYg3ImXmHwvfrs%ByU1eXwc=rw2l7Qp!a?cX+#TkFf^Vp1^Hq;{Fx?yBH*sMVeK4= z+i@4_s?4=%J>m{o*cs<>SBGH5!Nie05%My9iQsD!={Ct}9Av2eeW+x+ASt?QNJzPt z5t1LsxiyGDx;{|50b~FtiCp$5LsCyTA3q+f!qmQ@qO!@sXF*TvxHA3>$rTX(UNvVLD#5m$2GA^>7x3_hZB;T zsRpIF%)52}mgc9Ki*i~j(UGrzvTeUpMY|E)+puz_Hr^g5@5DD*J!0hdi;Ts*@C)1b zeDJXvP>4W1n|td5z-|=2i?#QdIT!t>2Tz~2jPumD>Bl`n z(+Ybg>Jk;!%^+s=pkw_V8xKMOVlm2-}c9@9TM%TY;4}Z`dUflJ$@%{O{)L*lb zQrJ0>13_ZqsRMiK1L6LrIks<$Tb>B8H}8#uZ<~8$$2{WA@$nl0L>yPh5$r6rX<vngB(==d#90l^5*846`EXlUj;yjFiS1x3s6=8rx-|boV?!Di@7v6AI$C2K$dcQ zrRY8x2_13vH7apYb|})q7`L@$Bah5xpC1(HRmXSyZlR4HfdOXf>tywZirgpRsUz_m zJmUUyOi__-++l(3P+v~cxs@w{yghB>qR#o*Ub7?F_LxUgc5K7n!=k%lA$}B6Fbdxx znkXdza|lEUH>4{#ZU|*#!vI61W~WOlzCD3S=cH72Hk%Uh85?&^?EQ~%LHug*&n3|6 zel;7AZ^Q2HqDPN-x-w+3mTK1V#o*b$x@fmXRbdhvS(r4N=T^6K&d@T(rPBI}@$*KE zB2$GupaXUZ?#by&5_QSn(+1#S;3h+wQJ|ILELYZ?7oPD7bB94Gg?#<>Je!swjmAPS zfBtSVlCdEjuJzDe0~*81y94L*LEOm+oS|&9t|gcy*Uy)JTY$R{a*|GpyhC7|)>_u1 zn!Acn0*!U7>WH_&kVHV#a4mxa#F)8rlFp6~V)biicB9McfxPeF5a&;G24gf({-wn7 z7Cv{= zybAC=Goz_E(rQsXuFaKN_dWg9ht7z>!EBt2n6nJvm$HtCb@-P!$_UVSa`Q~L#eeS-jg?=m3;pGPnpYYrDTTexl8wry*=d)l^b+qP}n z__b|o+O}=ZoBQQU-o1JEz1)9JDyfrHQdzZYpSAa1OZZp^wVEUI0GBEC@8yK%zv{mU zw@*)G2nIFBx|s}pIxRgt{R0tfr8P73BPhebmK+hOBhyO-SPPtT_~5!2K9?d9i55eJ zg5;UEInb0!YO>28OVYEH8-<@oKDj$$e02L>$~KsV(6XbcV-JtZ*Otf7 z74IVY!l=h*@805HgS*wE@!r`LHcb<|R>@r1MTFPF*dGxAB4GObs389# z)Q1v8VnMSM;{>4EKfAm=N{Zzn~452%jE7kpt2t`c;M72Y&Zpp|JR zNf~GGI^0=-T7Uq7*mJs0%xh|nwJ4k{Oz{zqD1eX*|l>P;A952 zjzbm=^Uv)b=hs1Td z^9?i2;^d5}CZM%&m1fLMQV|R6Ab06zeuy9qjCy!=-O|4YZ2S;t&WwU$L7~$+yr~F&3eiseQ5iHKmzanTd&Xh>s z5dC>Z<&Q6ze8(mbua02an+$e>Acq~$Ea4uC8sG@uKn>69CqE8E z(=v=;t@ex}7+YDPS65L^As)6{$4FH3``O$SE|qvGpTK3v9lt%HQ+kH(jI7f_vOaH7 zDD@OSdEdb4sN^^26>Da?tQj_Jd$F!99&6LbT~oJlEtbdIInuQ;2^h8Q z(#IjFxIsk2UW)V}!XZSf#6sl#y*RFdvuXAE_0by|0ric?QDFiLOXtbP817A7p(NOsaIn}*N<1W+2Q#LCqSETMLMYW zu!%XnGQEs--oxezG_2)wKg2h#gpGM)B3I=~DR0`LzEC(s-lCY1TfD#Hp7Dx3;hS3L zYiQteYUUETwjFrN7;@9QIfakbkjA`T!Hw1Uwq`6BkC$&_C*^Ogi$t_c0_6wKYlV)| z`K4G?SW>TXmHzLvdF7ot{NL1XIR9rx>nu$FwSJ@XuMO<~Q?{e%h6Rkg4q@3C^t0^A z+?fJ`vvF%tXcdn7?2}Z*G1g7oZ#_->Q4n~SL^1TAzpB>ScI_T07XLn+EYD1}k9_T3 zZ`Pl$GoJ72-|aF^_4$7|eeVDAPd17si9)i|-?3Y<85BFWV?0krm0sISKi$0*X}`l! z`JnBCE^I-ffGS+Rj9z)Kj5|MXTlM#Qzr3E)FAFK&b-6Hd51COX`|wZ|NcQ?Yr}FVS z4O-Gi0?)ALZ21bv83y%hq!3(qU6C)?swPrx6`|lxNpytT{X= zHk^{4X)&G;GgoBd0lXAkd906aTq!fa9|+T^VObf0aOzfKlQ;#M1DY2}_q}W2=1RJw z0CLcSuV;oq=4$zOQ7~6(*pJ84-|tQF`Lx{Rz&2S0-e#@bAF5JN^!K$LN9z+uM$s@w zu_#*`X2*mWz#>Z?Wb;LAyDU}tVN`2p^XBx~(h>4F<3@6KHmz5)Gji;W;hRr zU45Cw;VVh5wrRY9-_yFA)Q!Ye8Nk+Wwg_QX#&TS;Ja?z!Z4+BAyO}GNd_;GkHOWaB zxVg{BP~mhK&8D5Ac$Vq2r=QI&(b>dWQP)9*`AocFHvgwNC`>#}$`r#*+&RrwA&XgA zGh7P_WUuYc*Sj%$vH{Qh2TNbw@>+ArfyvXcvLOTD_c}& zl0X)|U{om0io+n#1;C0Mfm|UiM)tszc7UWBoecNWx0@RsP4Vpy1DpEyko*&LqYx2x zu-1_I)*&R;hn$zHz+J?sUSwqYXdx=7m-xhyuw7nKxA483loXj9fA24Vuc^^AtHmKV zlGyk%nputE-tJgNUYE06Kpt3XCLJ_04>vM42sipgA1U9ol_H!4@S;_w3r{>2rP-hK z1Q2h)SZKxW`9YO$5S)RBlUtjB7MuUMGKtQ9Ly5Y;8sW-(_eNbW%6*`NpFw$|;jb+E zE^rIG7&HYG1PESRG%B|<-%6zvY62^_xSk!Bomak&0A05 zKw;l47xc?ZQpyHM)7q#|zYoldAI4S!lqo^Z9uh60 zQu$w2q>3!d!?@Pnu#4oSKL9hS%;ST+M#-s|s`bElXI`r#;?03K=v3OQXtdn^YMN+u%aB?;2jfJCWn4U!I z^I6jkejZCrG7c{UZu*s5M_AuZ4t@V>O{G08R2{dFy8S@QCw@qqkcagQX;g$_w~ zB>XMO6#w+R)P>MXA^opL+(C*^FG(y#7hPTKk>7JZp0*tI9b&EkBNPdj1&#Yeu=?}OJ zpdy#TWVIlBQ(b+6w1c<=h*S$$J&Hj_VtghCd*lzQ@_;&ZR*-iDbT!xQ$!`XtQ;@uB z{8B_rIygEI7C1er7%yWp9;Y13z}t)vZc3iUGLCZ*&lF!kU({Ph-#$}Smt?In@mVC4 z#$d#AwU0Q7;jEK3tTDSns%B3d@2gtK$y$%YEU8eUbx!&NK-DPj+pH~ER{@5&kiUUK z3JK7Fo^4Q8bQM>vjcM*~@Rzc2F>zLuU>Ye~|9F79vtC(3iVjdPCbYw>LS{UOGa!jc zA=SMimc+35@=JGU!DgvAOfl|chkKkTubL0K_C%u6OXwrVS$MG)3+}N(CQ~GX}cufB>p)yU#{>kcOG{+9}6DEo}NV5Mq#tN5m7sg3g!~QuV8p^Mulb*zl=wFk!rBcaONY{H4i1r{vc|efEZEbk+uOohG^jr-ko} z_fUnSqo8^;76>A9TkpzAM%r#I2#NThtW=KQGLT~E5A*%P){V+nDKN(KQIIi54mf*i zymy!O3uMAxj;@-dgH*U)mdaMZ2b3Mk7ZW!}gCeVLYbI9StnS!Uh8s~^Izq_H#|F;Q z@JC5Q7O9}RF)*0Az%)B9E3Z%4tx)0qdcO+R<(#sbo-n!;4XA9%cz^`EM*Z0vXy+a0 z5_OO%I?t~))rQUj<6>zW7eMD(cC0iQOw_j{;I}16OtAs+nA7M3=G}h>=C_3ZAt_q~ z`G#`kN!4C`wUYfI%^i8o?dD3Pl!Ck6Wu*<%qD>t(R<8ZX44&48Tzk!I^T3Y_P$U%_6D zY8PaPwj5X?YO{6-AKe#yuMy36-~y`Gpw3$R)1z$ulSouojAfMGvAd-?2~xyEHNm)2 zgSv|=FxGku+yPEZ(!EMcE6Wx7XS9kzindzoet|~pGUP~rskHKDNcY!wR66MO8Pula zVVSdT;UGiTqXwA*g#9n<2qAs#^Q~m78>rYz5%aTt^l+A_WAF!0OSSqxF;MqASP;M? zH!4%fpygFY@M})vQZX!iS=`4@aevWip}?zDRJbN@it;SgetT)X2hK2t4ST<$ukm$Q zrs%`m%f*F#eNR5@n6vefio(+N;d$hk0vJnbjOjO*(2r&0Nk?es$`1CanWN8Pie<=h z@C4YM#WK8&)s<$B{LMo~y*yJ6BlDd2Qa{Fv*!V|Nm`02*=NYT>KJwQ45UTDbw(<13 z^(fSmpg>>Lu;?0S7B?DH`?Ed4yX`=ofy!2zF9hV5W&Dd9jl_ZQzI%?@q@Rl2J-8IG zxxhD`6-v)7X8_H~xd>wX{rj*AHy(V3M;n(6)fK%ZMpDiQf@}-=)JyypU%*v?;`t`Q z7HT8r7_~1QsfV4Z#nZs+%;kO^0qRrZvzR^~YW>-L>UgrFQk?}mqY z2ese3X8VA`^|M((5UMcfJKpl`cJKuvXZn#!@|iVByg+Y_xTd|OdwYy_A1sQ4Qos~W0t!Hmvnv6 zwsw8s(&TBiO1LYPgh1x9gi);VO6W_2Npp;m@|}8LkM(7!nToWNTfXNn&jJFJFlo~T z%GI^KwB<+}i}Lto^$x%ft8BU0J!4zPoXE(b3(!~#-(W`nL4eUP9) zT(>yKgsCa0)r5ZNZ1dM}iq;bICNooY!Go#!Vv^5XfnbOS0nERy$^)R{@GN2IXZ~|1 z6^bbD2Cp^aR`3O)?%kcWjWQ>n$a!f2>krL>K?^}XPg1cIEtQ9URzF3?piQMBP+C;g z%%rOR@QK%nSWmgMlypwrP2+xY$z~ws1f!0jXy+Vxk3+WT(GVi7qu+6$hcRc=P{LC` z;ZqaP_^OhP>5f*=f{gxZoAU#bu)aW{nt`hM0g7~~qrQUGX4U?hhRQ+zX=Bf+sb|rA z@{s%T+B;iHk)mQ_kBCEqGs$>3Sa>=jwZO$UhC4Jt&u5`%5A7U&%{*)dW-(|e17i@N zhN(Z=Pz^*;?`NCE4Yq7*^;^QTTL)C$T`q!m`duWlwbX41jSwl%8lGg~xM=G}q-p84 z!{hAf3I~Y69wp7{wo~$ptmYErUZ{T&g;1{I1+biS$$y)p;H#HSc2UA9QBP(SWTShq|7A7V}2}>tu z7b0dZHm-k{HZG=4j1o46E~a9p#`Y$rj54Nn<}MaQ?95DD|G9j=tgCImHHz+cTfb-g zl(3%3?Mxq3&;gJLCW%O|ErLeYpJe6=mQ~aVu?YDN!n5uO#O_&BxKxD7e?_F9_-*m4Nri!%23wx~pR6;MigN$9AWWMzzJd_X8bz?P}yZ!pFvrvJqsE z53sXy92)22E)cVeO_!{J6;(U7#&X5rf_WHk?cqQJtM5taRpBVH-=R{Z-k~ZGe}O5{-A&mAw`!Fe?SnIh!|vh1UZ$GT1mts68s zgIy4zDB}uiBnM`l9$4(*F!4%Q6Tv$`6oa4&fZ%Ac*hSbMM41uA$j1Vc&l;U7a!0mjNcNI>fw;sZK>SkS%6rLl7hwQf+2c>z_c)dMb%3u(vkR@*m`IAMZ~lgB zd4DAT&;+eP%twUWzvFNrbFz74;lL$v+_hpQK)wNT0QbJm6DK}h^V&Tm$>C7NPc4tP z?3|MGo=r)g!3UZLK_4<3iM-zysKV`#3QQRcBIlBsD5*6tQxI?q7MFyYpA^*OIbhbG zJr8=1ac7Y!dK$r>0T(l<8EqPGgfDy47J2xnn~o|D)cdSMF|_<*QZ5@oIs$Mwl-=bmvJ0gKT0nfk^wUN;AR1&>?)Ji%p!k#{p&S^Yt&MFVV%I>Dd-E~oQMZh+)kNdE zG2N8vG%&60L^(G_@0cPJ8yVp#MX=xRjtcm{r6zxjJbzu}7MqYg6Es^>6Ee?y#ik^= z)0>ve`Y%>{CS*jQm{rhXR1%DucJp^_5Hiv9G^Gc?yrpA z&7M`g-0^~+E~BK$=(%>iByEZ3;c);A#6K1jWy z^^PV7$BBR!dVkL4X>p{HGgn~Y=jG6OPWhtZumqHTLPW7Eoa3wuEWk>USUe~p$gH7l z`|tA}=L9iscwWGRW4SU3wnQvH(Z_yU#R69c6{u$!(T$vBsVa$uDbF+E9JjrY<_rjp zt|5`xm+JqJwl@d=txTeUqdiRyi9w2yf^Nox4eShjBS%U=0LedKvTxbH7>iJ2M!6|6 zn{9-Cwa0@?dZq{w+v8%@-ch8E*0X}I1Bu`NHaxUX z0GQ@Dy;bYet_@$uc#F?!q;x>%XaYs410!HzbIQZwk}{{O2$ofsE~hr=)B5S`{4nT$b?EeZtGmQA<&C|Iw5NEM*PuayKX0_?KbFgkVY z*44XX$1nzx?+AKgyJzDm!8Yq^Vs+LqX2Ido z&tHzNw*%IX_-hm{#=i`?uwO;WhIJe0w0~)C?s3n6eOj4w&wyAO&zhcMxDX+3fp>f{ z*j?s_DTM{oL#E@I-^1P)xdsu!|H#ZO!z4d?nZyBRSlGj0%!^*(+)fRAk}JGioKmY} zt1iGS0b0)JJOoyfloR6QH(o?|`E*qp^ZnRJ`Q_J9LaRw* z*gs{*)85QMpDHZ35nni<^LgB)K_JzP!MHDQ8V6@nr-~FJy3sAQM5*MEvx9Q(G#)kNbLNMuX0EU&8KxyfX=>VYx zH<)V)*QKG@M#)^}tuEUM!@gJ!HC5(@&3gH)_T9sNhZS~uytRCW){C&`D1y~13is`X zIc4~5W7Ie5fLnL{4H0m72!kidrA$zU#4LNSy*d@l=N9)7Xy-(^)yk4{w?9kXW>;4O zM}(QiQcR7k&pEW4+h(0HWg&3MtxIFElAPexX1xiT0SZRuD~o^9&-c^$+Mez*$6;$$ z@do;ScVrR>jEj1VG|f_Bi6!QpJp8Yza+o!@Fn(3t^hfVG=z@FeJ!NA;Fk%u4x^ zSsr=t!V+QCcHJLE00xrp`;SgKVaoy6EwFSW>Y3m@27+nu-VLYI7q?Nmi)vjKIFCBA($&|aDviSTBRnWio$~N zj~mwU%7VT1VU-azoFc#wC$8o6+%T%7_2zKU-S~xnW4qxAJBA+!m?aA`$g!%VtN+$k zO}UlnskH4h_W1r(TK$x*ywuI9*E@VT57*b)A&eH~ut}L0SG$sj-VxT%D3_R77<_0D z+FxxZ>yC&(Dta*N^hlF;a8hC>B)KFB5>jk&6?`!fSP4((&sO8sG!zj~*3Cu$&?4kD zIL&8HI1M07>16@)o3JEfHB^D(o><(ULR+6T{9W4xfKH)tDF?BybpcG5&l?4sh8l-t z$E@AnyZjq-1L0>*^r^JmNSfe+Oivb4#PdmgDxyab(fTSa9|za0?-)*~tTEG;jK6vA zX0wz6n5e(Bp=E;6f!n~s97*mz&60kd;#)Y}wmFdsC#k#pLNAkF5A zDGmX3y)$0)eHl`|fCn=VjPL2r! zjb*2~+7B8+a(k1haWTMI%OKg1!l5zZ6drVEuII^FS9~XW6dI(m*L3zXYx-( zomN6nGFK~>D-jG@R_GD@LA;zyEVpyl=elrs+DbferJ>#-x%J)rUVrr)jb|w*VMrW# zVY8F_Uq~Z#$n@u~dwNr#_B`jm;Y%o+v$Htby+IXQmrV z@6h}{RIuI5lWq^s>vh!U-N|_$F)Y{CnVBue_Hch1rMZRAo4ayI`H{t1+sM%YWoU0S zRSsh4VzeWB(J3!rQzPRxox%mNkhwD*(A>9~f|HHVx(LAPS zF2Q58vsh<-a>WDZeW59{dX27msRcR_KD@3$6R4AT89schRQKbs(P66jda)L?MeGr% z>t^Q;>fe$!q$N+HL__Bx9RoWSG|C^U8{R6k(c$w6)sWXfx!k7umV=I4caMY_SDt1` zAU`}_rZ}4ahjv3J4gdY*>wBIbd&8(2ZUW0gnu3FpcJ~<+G435}t@MLqB+uz(^-g8c zlgj+GbES|nSG>VadU01*CthyWuo@WAnfg~Kg^d=0SWYT`?OZD)7b25M@(e;dmLi|J zGsxL#_2rZx&~BgS=LyCfI9C?mnVNw`R^7$!+r&WgjzHJT9-_H-9VzF=83p9r8>Rfu z^+b5(R5KnWk^kdEly#q154QL&$Xw=4L6;KjwRzC2w0l~*TR;Dky;D5!4|AahJh?n7 zc7ulp{U4JP!*MxfDA`LTDNCD3{yQZs5pNr?FFRQc%VsUw6)&&(sCf0kq4%6tR>8%} z)IP<}B~tupRByr~bf30f4f}e1pNHp@$~izaEZx~$v_CzgTJbMFSzIPJ zd#18jLHigLf(<(??67k`^H@j0u)Vo<^B94EhY?MDne(x#yrC0@L)H5Al3Sd|>So`8 zrA=f1(7?%V!YVNX`n|j{JoqRxM3`l=+mXHe%g0MhJ~Qn6G|{vv_RO1$S2)jq=EU{L zWt7(^Qye3K0r#AIV^2UWRb7_5z>>xm%Ts*zUEv%*qh`)f8&nw`<(npOc29tr<&PMF zrgi*~f5rt}DEXW~tNHgPSHO1;P=PbcKDUI+CoWGkgoD+l#VOi=2|$;dP3j{t5M=IT zm-4}3Bo`NyHUlE+ZY=o*LAJz}%MEXV6S+{T^@cVABrz=x`KbQ99p zCC*Nl*u*Y@%S&-%e(TMb*$^@1Uyub+s4QRLHCmi$JeHB^^|o>6V6fld1n?$vz%co# zUiG4TAd15mby~CIZi8Bq#%)eVgm&gi8Y?(F$+6w>|hUWSi^$gllaP zrOL4(o}2)W()DmHdx*>@t=jM*vpq^i;d;8K+4QqCS#9f4&|+RsoA#g6t-)VVVO9Rc z|C3c@W#jzcv+Vy@UXhcF?f=0m{u^{>{?EK(s@7E95deAnl(xmioH)4#QmX$Bk!*ah znk)>{jRgv#Ar}bnSMXHw0z*9Vf;YOusCwKhhewsH>(`%hrpQogNK}gW$2)pNtC_9XPHyzMJRU=!2QAq4c!wl?-4=b)BfP2u$S;38DAS{SEllP7**aHS^o1L=JY?CLhDVDL4h{ z1{HR94Nk`_R5|LDuxPl8Xd!>!BocW8On{b*LXQJ%KrqE3xhJN?8f1XXLqJVR29p`U!={ z9m1zo;L!Gofa1x#E0fFn9q>RuKoJL!`@13x!iCz&0%Q}JP9y$sD^f3lp-M*4Dir_? zVz;SKu_dJ?$4V%&*|9|p2cCNbCv1UN4C=a@m-bh%4$U89>!6E8Hx1zm9d_Kov!z1? z358;&ktCg(1VO2(V$fIIsFFHO0#6Z`u~`2?GC|0ostCf%DT)G?3UV4pMyE^+9-*T6 zm4y5?QNaes#7+G>{u)dIUD&K{o(ij6_}Z;A?R_8rX(RWH+Jy-Nu@U=OcW{M$R;G{Mocu~C>#kz zR*zs+0*zaT>3u{kaEP-t7`)$R#zOq*a6DA}(-s{r;3kG?%v4w59@>+Oy?a)`P*ErP zG{QpoAPxP1kO7b&S#~f4JWvj+uj+yKG9!g`)Yw3jcNq7i)>})s-@wbb`}{PhS75 zOLm^egKY@T7s?4PpU;AicAwXR*_jp(<@rlj4-wO*>nH^^xIa%H41i;w!qjf{1^#}v z-I{Vs`?TRvtd!f#@hy^Mqg?xdvZ=YNBQ=I6B5b;Nl!G>SY`79>r6#g(S` zIZ7A2q2VJGyetw9ipJc9s@KAs6ZEKO0HqCeb4h^H1Ru%iR1#k`gLO0k^kd$7jm^(+ z4`3i~qx12pUX7uDPe^tu#f(_~a}KUwwRN$qc8h+x##-&_HBf)i=B4e|`rVv6fV!#3 z_@?S@GZ}2&f@s|P`lnOXeY>iwZh59_Ar}C^)&~#OA{w zSRRFxk8tM|lQy94umLZORp!&lZ~e3qv7NbC%Qj#;GNY&jlLeK!P&?}n@u z;@&3Nz}Q6xk(9cqfRIrNhbEFb9#ZJLh|?#a^OUyqw)2#EmRm=-^-(1NQa8FJG`mOR z|HE~g>X^tN>G@>$Tu5;=f11JHaqh$?z#o1JW0-a{zYEp1Wx#anK(duAU?Le0MI`K1 zAyicIAe?eZYuIGx`t@VxX|B=m&>2$0Z6G@y1;oAr9u^l9%=NEAhXK#nqcsyrIpgmoD=*m|d;HC*(c_p5kY?CWzQxc(<-b&S?Jh`hfCw#to8F5R`AG3etF1}|$ zaSK)-AO7@83{^V$#fB-@dp+F>{yaTWx@Eb}ADvP!Ja0T@6|f^dk1NMNdj*WU$!ZB+ z4z18GS_g){0l&FFTQjubCa=^w*S|I&rzgC2iPTSXiqzX{Do=|IiN7H}0I9PIzTT z_&azy!jDXjc)DGr+a}*<%A;GY-g~8&2g2h=3*VU%qn4HB4rNpE3S{$~oFR7&Br7IX z_c!~j+Gqo@n$Doz5rG-DmOS-r2lDEydv!ZkTq@-+-POj&G9Ji|#Bjb z9d8Ai5y;Y>CeI4nVJ{HT$^8i5!7UstoPIqFCB<-|=?Z)w*(Sm~SCoC}FusZ6Up zXk&OMEDRWPEa6;ehiY4UNh^#5ZuiVLXf>GS9dMZ147S8!(J2-Lb)%`Tvo23QrykM* zr;Qo(Ci1Tzt>aV|&*NKF2=sHGBPSb3_hcAnarGDp-s2*fV^xmt*_V2SjdP}A%Fl^b zY4!2OqtRi--v?RRD6OTM5tvows=o5V(fTbLEw;bI{e1O&Enw9TwC9e)w!^df=C{(0 zL)&Y+q6>y_#s2y3{iz#vypJ-LY=mECJ|OdGmKxbin~%nysTnSO%a}>VdR^lFRG`z# z#=jzyTN~ihQ~H8w^*f#0vFp7TFs{5c3%fqYY2~cGMfD<2^IqLaG2fhH81}Q)w(4^P zXlpad;$$;yaV~yxR3n?0`pVl9d)^St2-jdn?^UVV(Ub&9dA8?l-&N7;sJQj99YD1& zoe8Lxi^dgr4U*@aj=XwKx6vQ=YL}wo9XPKoX!*ZjLAdI3-@|vzor)~IU@ZuxDL7kD zuVGH_i#sD&rj4a|9H3_?cEtE?-!0J{SNV}_ppzkh!mEBh zgU}{1MtdtFdYIVo8!g%A@a96Z%`qd41T8lrj4aspayL>+#a>5~3?bXePgg3zy&^Xo z(&M%5>P1ysJI7t%&KcV7YKEwH6XTaO`K{!mK5_fkxU3KbzXZyhwj-!g5{~r<`Co6C<{3l;gfijW~_` z3Hi|cc{Q|IxMV#nZE@@uIeJKfOk?RQrpd83psaqJntmsi#Bt~*>6vm(oCe<{7K=(3C5pOoVGspXWB%6&@azr zEbfa8S6%wo7RdK9#ktaULr1W~8P4R?jxbbyU4tu*f-b(s5Zcyhe`Q)>bxG?ESYXM_ z6QO%uQWjfb|2tC+J{ed3QT*`u;KENYpTtKGVhduakY>mLDm9&`mXS*7~ zZ*M_CLWoE?I~p7`3{38d0u$L4bz->$1B&i~g2Gv_ggP9wl;lki8QJr{ZJg{$Ok^J+ zL51=tzJt;K*1!0<9A_EAd10ED-u^Q;)?_XW@a7c17y0m*^Ge?vX4Hqj!z$``bq_N#^+M7mWG})C7 z1ThVCVU0G$O@SwRSvkxKsfdsHzkU>n0#`(VbKjHOoQ{g=tx2TAf@+Ttzbr~oFd+Fg z;~Ylhsv;DSlHy_CvtOsh92?C~qMxDeZ!wZwV%AoxmJ>{oh4|7Z3|rhae4%_tC{I5DAhjy^HFDyI{4*xg@ZKtd>h0wxoeWN;TG^JhsWTJ@>EyDy}-z>6S?cn5= zh!h)5i|_ck_KGsl{OdAtp8Y$=ou_HC>9fgEto4Q6X>}^$YO~?xkbc9XB8R_KX&Ee8 z-B~F?{8vABN{ej)8=&ds?PWC@oXKw zDpt*^fNn@vRrPi$BQ0mj^#pjegV&0cs>~dZgYCENHdzRM+_E|M^k#9or8gGE!iMt6 zgb+^{TZ^GN9I|;xL^P+ujiuN5d1^ZtO+@fPL@U~24Rj#^Bk_6BK zMV<}RzKnAbnz>ffo=kDV!H6^lP2!@qD0vOi1$7U5g*Ndyj5%k;*wa7+PaXUPwJ(#) z2#jK>hSLEZhU(W!X2B8X{%;4hV71qgBl1nlwCKP=|Bm*Fa9js&akSslA9%dS{ug|F_3eR3xg z_FC?Jbsu&4#b39A8+JsP{~eb8M+zn!O#j7^RX1hR>QD$tZ1)@8Yq|+cJ3UjX9}AD$ z2!2A(=oA#q@(O)8Dd9T&>s#763T!2zKQp?s>d%E|@3zh63CfH=qHgPB`q_NT^WNOH zYlY9#NxUp?baI7VRW#LCy_~6F_UWAI-)6pdi{8J@fA1fjzR%xFc~fn>+kNlHF1@+8 zdT*lFBw7U>y#6kHQX$)OcEvxA5?cog{$7z2TaiFNinx%A6LSiYqx?leF5f9P5$#|yzOg?ZDY-Lmj^Hm> z!Wi&+y7HkW(1*$CNk>pNQApsHUC*lJ`K47z`B-Vh5*v|tz$Bg|o+HeS#u5{aHdzR_ zA%p>=iXxluI!>~Xu5x6UU}+>vYMV8ZU)>wo)ss1DQNDs`@B?p_lj7Y zrJ3~Kq4PhneE*L~$HMWSc|6^e8LLAkw9r>S7<%3ml&PlDf60fV5tK~1=n|dT`Tw7M zM0bC$@q}YoN$xGp_2k$2VT|~7xnEOZ`1|S;UQx}~T6g!naO!J2Hl?qKvmncA$Cupc zyDuZrN2Oc6DZ8rC{anY5tsdOJPHFF|%8klr|1^8@^rkCCkLEEyeG6zLCcJJAee-PC z-Ol!C)RGWm*ef4hp4}c8Za-0eTHAR)$3E9~MT8qWLeYnBGWl%Gb}9}l=7l?;*tzbm zT`DZEsNWbBtMd7FXrwNs|5{-e{Ae9*S?c(y_~O&CE8BO>ndDPImJCh;^M#fyjBk<1 z2O*B4Adb=s1_YLk3h_?=7A8LlOcB$E5OI?gaeIba#HtjAAeEZKn(+LM#5%tea5k9X z0$j>m(?*mt;PghsH}T29fJH~mW<=n#s zc_QOboaI$MaiMgS;$Be(qAT;7yDaN48yo2Y+&cV>WDP8hp+Q<93WO^&nFr2Q*FLu> z|BQ{A-O1*-vQfMBN0;gAHp*-OTpMGgsYWgxy9G7_i~W^P>1p`cC4QCtjy$5MN9|xT zYac>wvp(X+JmO=`-6x_l9r^5khbgZA$={QWZWL0ZweuW?mpALFc*Stza#}A zb0vw3XO#_4{N6oU-arHlx}}}L)~Vxo~Kap}p;JljRMMjJW)&HGP@g7V<{G5%rhu`Qp`{&4<-&C}xKrMeA~ z@Yc0T{4{Ru%P%))JR{r6pMTEI;>!^&Tb4}h3y|ZRH>A2{+jYNpv)Z~k-!cE0-2O@R z+S1e~vy_gTlm9QH1;`?(a^v6zPu4BDLL$$}bjB*OtRl)!Rp zfT@wd%S0nS@_C+g$VsfO}%sC^XB#+zK6P~o>JXL(?lQqc=y2oBMs`DgFd0X`UdiUz# z{m`2AP7sT`WBK;H)+y>TNV-hfLKYqOB2PKws$pfbGOpe7bv9e2l&{#<>9iuQwKT}_ z>u?+Q*KHQn7w=8(ue2}T)84JHc+dME;zE6MueSB)m<25=4c33CKAK>b%Km8-g0%HyO@70Skp)87~hhO?DQxeiwlZF62m8Q1XM{aPEpD;nEDaN52WwQ^`yXm zpCJ`9D8~28pF&F9d4v`Rl{dy4mKmeEiC2m?bqy2>lLM8XrdrhK;3JzAARCncH&Qnp zPuW8<61bys51^RvKhh0N#F}3Q6{trQa2yG@=V0S>$pt0!uknXYO%60O*FTU_M4APc zcb7P1t|v8I>>E37GlmrjUQrAYI4|DIdq{saGiMc;%ajB?NQzqzHpefHTK?+0ax>nO z5&GB}h0#&bRa>tdx3ZoX58HcOtvsrc*0Sm30obLZ(f)XZO9+1d{6D{mue|4DhqS7Lib3}bESDTAM%Ytwan^MNw zIJ6RBWpeF)M~3x9Q~axxW_ELNDBv(o?F8X|X924vwqZFeL=vMb9&S(Sp4+XPs$VOvTE#jH#05O} z#2bT6zIIiP-RfmD>m+l7dAUHYq=kO=AKFC-N-fav2%6#p*fglRjL)0yHugLNz3w?x z{V9+P|9>DA9rb_ys}HfwlWJF0yA<3f$n5^h^DO@99n#HH6K}5(w zQi1!Mf{y@}(Gm%C2~!KM{-#|mHjpF;V2OWVFoVix=1NEO>t^vWWo?lYz;JGvt`ZW| zB&%3kFBY6L3l@`FYkHc@a&Y*hJ`cv4uL2z?+Gn=xbZrOY7>7$%Z zhd>D*&0?mCGvJ3 z`dJnr!ta#xyL9TN1CsM~Dc=W{)paIo$`*7TEU;;2*`=xb)zKLpGn{5CTJPZJkE)le9)6@Pnm7OA~u|MO30enEYi3nxrWF@i7chl(Tyo zq>{_Xs04Ii-|_fdb1+_%pu&C~ws(nM@br6Xch!XH`o!}P&-iAF>eY9RfH030_3^XO zr9wIYWaD6BKE~k<1;lx=k!_S96JNjf>cK0$nhctReDAU=M#lODlrTkx(L8h~gjJ-- z7(xWW2A>fw%vKG-a@Xm*Ue(Hgn&l23CTllMmP{iFikK(#&0oOFI|UhVZ_6IGV@p1V zh!pK)O9N$W>ouewTC@9*Kh?;`*&n`Ezv1WCK*-Qh{Rde>y~8bRn(F=qCJ*hs&p_2r z7#*G?XXh*L9^$Ni(O*f2-7{GD)wj>(Z;WPB9yv1F=%_DB$GQY!{#`C)J^mcD8yA3! zeBK8K=9lW1>S$!M4LU`SW57GL(?RkK4|b=+94;{0>Wkx;1u(Oiat}tg>m~|qQRU(G z+XO}gJI`<xtPk8q{v4dLN#5jwTt5q=+=0yp;}FB z?EZ8k{t>ap`1jryt(b0WKRW2ZOV>~=PH7~3zETMUg|rI9ASXpL=faTVXpvw*?z{6t zqOu_DE*-Bk-T@iI`cf&@>AhK)lE9FLjA__`?F-~7$~6u_1sTV}f@kE75*sS+-hLl3PEY3x~|p#vd2bI^ejgc@!2ETWbUmD(PjWqz(RHzqtc z)ExZ^xBhOABN-zft?d%!d)I;0Je0?tHJ+F8$=d0E2s^jVo-VVbl-!CdZ?e@a#rZ=A zB~vFHBIXa?0T#Ny@F)Kmix`>yKE%^g)l3O_v7w?Mr-Vriaka$^QBfE%f(>B`&zFo~ z;5%6Q&acq1yl@8aB>|xI_G4pf5i@m+AXESprW+w5^Ep$*UFHzeI}&Z-N|MPVhD>wW z)&)+ORNTjP$ItZo6QzvX^IOkX5BDVhn#MvR#Npui(l?;QiWGEs^u2BCv@7WT7BrAV zE-*VL;tpB_S5Eop(95MxS$V|C#$hqF&AJF6o8^IOLl;I{qJ6xWDZ(13lY_v){J^GG zSw{!wEW|2mdPa5*28#K9=AUh0L5+=zL`mcq7aLz)ncKtDIrtDXKKRA*+t>KTd-xMZ z`wde^S94Nms+&b~b3$3NJmRvl&QKw;cB_e4>=tiCNq0wcWJ%dq@mG82+j=y&4aC1& zs9-|ioWF;!S=mA_p=Ko~Vq~5nHc?Y?vHJ*dX$nN-lPFyD8Y=)iKot`^@jF=%#s3b@ zB^N#U>c=9^6OqTdXFb7|kYQK6RN!I`EPG1E5N%dKDjJT*yoX>;c!|IH-Bxrw_v#ey zUsISUE+R=l{CGyP%q+cuxRn|0VP_yk0T<`( zNrY~YtJ|b(Ml_V<3q$3lI&ORW0{BH4D9WzN9w?@g6nACfKX+%)7VvPHcI~BSj}<>~ z_06ri)cG}yu^(}D@LxLp?2^;16t%{pK zw05_Qx5tZceQ{kEgSr@!5k^yQZxj5b6GJ-q8 zSSjJuV9>~Y@`&Z37|$H_#6J9m&33R$-4*WGQ3`lXfkmiFHnfVY@*rh+WortI)=ma78O*0Ce8uPdjbU8ySH=m7c-k(jP-!glb1HH@;tjI|%$dHC zNQ`uGJLDglH&2D(cRl5JD{ z@6Wsfe6Q(NV|su1HO~zA@U~{z6tViAtW6wI=M%S_(o?3Nh!l;CALgE|wujZO=}kUU z+6{h_Kqz~ceTU`KH*BCOV^}KFV#Kfx=v-_yuh`V|xz5&6XV053#_@Kl51N`0zU+5_ zj|NiLn7X5pLu9DsM$jPTBYs`Etev<;Z5t2n2p6!f^HbJX*#3@j zaV(qRPUV%n<9iEa__U=HnPsTO1j_<$5tqH!?WfdW-j#cDuek3S2n(Lm1rU+v6K#zG z%RWNl4a2EN@DrCOP}oKnue~JRhX=owG3%QDy5(p0;Nz1U8^A%=I>HruSrAMW4JCt@ znyuc6+zV4kQl;cXGR{U)Xvj{MrV+DgPDsBnlM|q$v^-&&)ZkV*EQz|R&a9~XSyV1TSU4Nr!yK(^VHZ`A*~pT9(PcY)EH{UP zj_?bYA17zL?&XapUHz+E>6|XdNf$XTE0>=JQEUSwy}7SsXE@?m_h|Y-GNw$S#1wdh#vN%rmA>~W8Z1`p@fd)$YHts` zgGd(f+@0StwA?4EpUTzNV8H{MDj7Mm!7L-^*XODm4{fC}5q>kb=qWl{4kLma7mCUz zn>#4&c_24qC!|+PC8`5XNmpFdr>NsjSB}-nz~k;PuTg$=^p$<)*6OU5#1RvWTc%jz zxE>UvuZmzDb$`E$?#(g9c;J(aS-ceEvqXtMyn*}$I9}oL78Ayr_^lP$+Y3Ac(a<|v zyY68M1V?=>9l_pOS|}&ElFk(S9Rb9Zr1e zsMWL`LYnDVN`a{*%N^zhXg%Prk2AIfKO#?xW0rldecDNbGkZ3o_pT1aQo(fenq!s_o=+HK5~=Vk;F3%$6vL;UjM<_(Q;OW- z5gQSYY5O!3(cP2M_f!(R%BhA0UYP?LgS!Uvu1|<^+-#^$|FvKz;t=qZ`**s_FLvO1 zxMvkc>|*<%ay>>c`44a3^MVZRrjF1_qpYR3T4a+mrc0XwM}aByUT))Zo4bHgnJX5E%+9S3O=Na6anrBNXij zfUThkNHHqa)@PipnAbT>8+Ree0M3>--mzM^wI`L_uo!s=*?9d;w#pDNTDpL25*=;a ze_nXnm0di0CXZr)=U312ku-&oJkz5uE$+iM{F2sYZ&F==wWLmFgWMN4rhVikaf2^W ztBs9Rt8GCT>M`0A0f&>eAFLHJ%At8P^_7;7_Z58hvuoGo?OccHqn~TNqE+Ili6i;0@(Ir| zLeG%)GzV%W7fw_Fi|Us!{L1%@@6Sfv0J^W3*5{N!o)vstEoW8LyXkoNmI^A3w1*kIi$Jiy?J9kj(VQ96VI<5Q14u+03uxN zmWp-&$kCDtK=~1XkT@gO#HLIm8S?x$PwyI>h43@^+KRmJx-ZALNh|Xli!N!(8AG}d#(_w1A0vd;@4JyL z9IMNw<+e;I)EAp>5nSz;}k?Q5QHP-CRc3rOEYcDe-f7v4*jl2>%3? zA*`=QbzP{>4XMIZ&z4wM0)`Ybf~cO3zQxBiw}{K^3PF+uTm3C}AXvn0D9J>iaDIW< z?nKK3sHTag7{(2@PDoomeB+}wW4er2FV?4_X*IaMk9tGv>~4lMb?&dm36|d zY`>;-NDH(?23)#dB7fU6JWj_~Pw>OLnyK%J*sh5^)sOe;!Xi9u751Z#-9}ykaXm-i z71R15N7oiD=DkKSjjySJZT$-DH`R$S(j0K(H8N%*^w|K!N2B3P8|vf9!?Ib`Gt<|h z-FCpdYa63mY|!rk zdhy0xp#+3Qd!3ERfw2upyb<_R2P_HJ&oqRV?mwmCoCj@uns>RXtcILIOf0}xFS#zY ztWw9g4~^wu2H&ns&O zLcbGy^K4%Ds^G||-`6{If~OQh>+ocRcBia(Skh$-8pdLpnyB!T*&em$(!-LtY3N@M zIoS`LWxO^oUpxE^1n>iQT^<4-7i?S&1||E6i7}H7WYdwc_qd{72Q0szQH5tj)Xotl zqE<2b&kd1mcjk)M(nF*1a{DYP;Z$!HN^ga68EPg+8f`VvjT$~2jhNruLZKZVq9Ic% zlSmr{Xp#<7X3?s(==a|Q#QMIyp~TkDGe{e`rU)n~6vT~|jQ)H(5FCaza?O`AiQPjP zcI22JA(n&&?cJ#{KiAJM(7%5RKorcEp;@Mx9bs}yQL5oDo)T|}R~{vjeWLZML8dHK zX68r{QOJ!SVS>!0WQWoSsq9(M;i#sUIMLe6tb(p7!fatDgIFd|f^q@;U}10{18F}p286lWIqS^=KH9(RS21%CM2N0e zq5B~)C6h-Fh>|T8|BMOK*r25b?+WkE2F)ASi)mv^5ZWq-?wgNT%eZIggXqcLPOy9R5mq&X>TU{V$y=Y!|cb#Czqiap7{ z8myyl@wksdwZ(93`2cog)a;e6)yo49rl9RThh+aKP4;=1ZGZyf2wN<8ZqJnFs&$q* z0FMITJhi?Ov9M34O#+R>pdX-a{zi}kl2kg~l%SEdYi_-x5$B|%_zMzf_ZGK3JQ2%6 z)Rhkwp4^scO4m76OXi~adIM_}pimglFaSIJ0Q~9LTCBO%M=C!>iDI5QH7+po06BV_ ztd9^TyMX!a$-J>=cFQNP>(}I{iBI|A2x7Io%6!f<4wemT*RF(Rx(ex7PG3UEvyYvXQV+Co!x?U z2HWi*geL@pd+2Nx8yK%u>)pzfn>puP@%;Qb34!NlWg89ZnYW>5C3m?$B=}l((yN?J z`j{T=ZQqGI4i#Xv^}FobL;=U_K?!y1^AvL+r`gdB?s40IBuOI?O+;?nzWV^^M6<&dc}i#=3riIH zM$c(U#EobugV&ggAf~)Fi|?Q34ATL9;!J~RV7$x5u!{;ZaxIqj=((G_d5fppt@~=*vK%O(xnqU9X1zK0E-(N?xv%Eg0;P6m5EpN$B03d z$iQo=?U7R`HgVCUV!<0R8_NduhdeF*W1<1I$_t&jiZ=QOpSl0rlbumisdu!H{&g0X zenQu!TSk(;E&!P`IQ=6LEjt3zJux@+w~3l#?1!KXxZ3;sgO?>v>Fo3Uv76Zq+7#Ow zc+xx}viruuItN&~Iwu>vFM#1;`6iZWK(Bl&4lcoiIL7c20__Y4xoqonAY;;Zgbnr5T5b9hFU{1aJ^LzJ9G$kRtb?!b4JtS5Bpuev$DJD9tl~^8j?PYp z4sUe2yOdd5p1+-JxG5)%HWmgC!$!bJ+DT@bU`0x>m_q?FZDjX;5=SeXgfR zi`=^^Af&G?IDwBOGip1si}gfx`g4?q9fQP{##uKxpw zF3qv*PXYW#>J=0H-vbz@73M4VWtMnHIjk{)=!^ovk0$|Ny@(ZFEKsD}laF+o?$qJF ztU{wi=b9Mf#2sG}&pask9`Ih?T9PflhM{bM(Nb6;rg^+UHhM3#u0$C3T)tA%c(y0^ zkYyyfkA)9>(jKJF^{w$25Hu)ev)QNOm@zbY#3 zitZ%ohvn&ogw1UutyY}%oEFuDxLybHWQVt$q&adV%Am-Eu$i*z>{JrUvBLWB3fnAF zm^2G_wQ$LY2^^Qdmd(6uv5B)YYcr?J)<7VlAmZLL9$Z~OA)G+Ep+I^k$ocm7Ukon3 z9%v2ld))(l-wEJNboCPwa(*c<;Hl`vW@D52ngFVQ{qw8I*M&1yA${>}BMM2oG|b9O_c_1CTn~#%IH%G$1fGFGt2ut)9b_4<2cgD-T4&}HYv)!$1rvK+2osHn+m`%{{EPvS`$H!R3;kbY+y8*sOn>TaSv*a@$ulV9|J(H^v+dCrVjnZM1hNzQmOgbIJc1xZf#Ni(Xwh5?zwkq_UJ ziK@!>h+$Eq9W`CVR56YFBpAuaje2`8kC<}W?MGI<{u*PDxXt%odktvB_Z1jw5k-k} z2n%wFPNqSZ$9POrGXSFO;HCMn`T3`N{1*%DKTcnm8UKdc|CPQtJl@=2In6jdI7ZMh zeG5rO8}%TM*3)`)06m3M3&gb#=iN*3BBT3+H;FOQ)!jn_j?sL>ixvJR#xMi`K_Y_> z%95>TUlM0hK}It^E=@H&Hc2U7PUhpFzz_yyk4X9dmfG;E$00c&``*SeDoRqIFj+E4 zNI;g|-H(or-Xl7M-QR@GoHIEhk1$FyAp0tWDTa+GC?c=@QlWezJ}98z^T-FwNxyY~ zl8{sgL-x2;R0zBIg`*3p8~jb-JRBQ(EIgdbRmbb+)%(g@<-ru~@_0Be)n^&v`}=#8 zvx9-EiF2!AZ~R5GJuhty_uIy(dY{VP*0xEa>iU7on?`%uZWQ(E<0CH?sr2#r=|$4n z#pQ`v#?9+N6kZ4}q~+#vOQ&kR=G*yXwg32?JND^jm?emo7W<6{Lz$$Zmm^oK-g8r$ zeBeG(H1$iy<10$`Hu*^CMdz}^=n4~*chEO!@5u*)ov5TZ5+La;yyf-P^+kqz*%ev- z5M0is4oOGe(u^6`s%QE6@*(2+!`%gSfb-|^S5NBFu}h+c*o%sa$c2i?i_nWeT**&k zvA2}_Lk9y-XANhxK0%ND+hs#9)d`c${`xTYTOu4Byn}>Y{o=8&jOs%U_#0339KfHx zv%gSB|KWE2H}_<;$m+iVhz;J6Kq z*^qpVbd0}~*l*&yGDEhp_3?`D*(y`%Mc}{^5zj^M8%iR)NtBg}%PvdlsD{9Anr^V{ z$Q*4cu%Ufy2vvYzxIBFofp>hIJ{LZFMi}O$JPrU&Z)CLBr zP%=_AdpoRw%gC?{$x*YDWscFqjLAeDq{)S5?m?l(Y4KaRz{-K8w019T80ROlYy4`J z702gCuueNy@ISFEE~QiUC3C8g+$JaCzxubmU$T%JZ_@6MdoBa+=~ z1Z^Y|_&uhaF1|R%P(6Dp^ql%UK!IZJW@f|QB_*I^>P97$8c#5pZVqG(UBhrdIH}3f zJP}r~uw{HO{>oy84)4>_px0P1EnvF)HsL_dH z@@QV7*+Vu}Gc!i=bR1MVKQ$+IRH3M`wuV8m7`mA&Y-G9wI+Y7fAb9xE#Mn%dAinuczffRD)%5wt% zW|(97^)DDAM%lh^QR4@36Gsl=jHIX&t)v4Bj5}0BHv@hQX#`Cn}u-7ZEl_4e}BhW z@t9?ERIt2yP9wA3N z3J-$QoV2Fe^1{LGRXI7kz74<&{6nX9eR*VM`GutPyA<&3COj5Ql$16lL_##i(~?5M zM&B>RNyR>Zm|;jq7@niJcd8N3hI;G8W#_0K7F6?`3HN!R+9?_6GCDW#HeH6qNVx(zCTF-!;A9Ak84661T@ZGhX*Fjra!LU%{ZqWFCK$O zHf-{_CxWb5%TO6%)f>~n8`~I6@m@67r1R!(=_nT9kamM6DBe{yN3~n0S*q1^(-&26 zN-rv-%hsuNfxBu2jzVEqe7{08a7&t3FsJ@7RI3l!0GcGfrct*~<2zzh-kCLsN~;?eXkQkJ@AL zCoK63eeoY~ne}fEzLxyxm(38q?UnK&xunFUU<3f4m`DsOwgG^rYYD1eDcoo)y0a3O zDG0}MGSb9p@ie<=A^{l+ILl3+nPv)Vn0aEhHF0Ji_sk{mOHH}4kZ4@&WR@P0mz`l1Jb{M`GRD#?Fj5F(&OZ+-ySzL z57qvcmd0FUv1-1Ttxz+c*v(pgn1`t44jbi&oFY5ka1UKj8I^-?>}RWFd*10X>pYPp zQXaIR1A5z|i;dm3o!)i-ZrEre`)((f#&BPvlzt)85_~Z+Y^E4%DcWkq*u$`N2I8 zNXP(do=GALO#}^-c=tT0+el?DuMF*(3y}Nb z2nKfiAp31{kwcFRJ-tHs!UEgsb>1#-p2%Rf=akSLZGH5Szq7}KE$y!-AHp%pDFk)enL zC^{4e%n_Ie;tDG&l%%&veI{1igxzDtQN?J+)5JN6S9|B^!XR>yMA3E$KCbr%T}b#V zcqI6dCd!|y9`p9q+W;d1js)btq!VcXTl&mTGy{!JR=ia_F{1yv)bfifdMvr62`A7e z%1Z}TSSt`s)Jy(_kM74ir(^lLINm}y1!T~wjskzvza0~HrRx7x0)s-3_*{n`SrtC8 z);qS!z*>PYZr-0SicSE%tn$4nd~b`57XuuEMikHnXV&Nf1tl6vrg;nOjI2gIUp1%s zu+<_l^C8c9+RWy>5u|$B)SrzX1w^> zbyWp4AZ$yRrdxiQuXN+__0%v$GpUN6SxPCCh9Iw3G1#3$CL&9*6N(0cCRR?Hdq$Cw| zaaeY68}TQFMOc~xmc)>+{%!;t!=8ujPq; zR+Qxa?kLKlaef4$+Xlrw9s!L}Cr#7sEXPpqrn4KHU{(GTMS| zFC#n#`^yGqNbIusv)f0kLa%Ia;}~?FW3q*i(0Vxg;ri!+;1;je;KOX7sJh9^_$X+_ ze$+`9u;}e2vT?Lo3lOjc3~E|&vt?t)m=Anwf%G$w%x_;f5#bOKw0~>;9#ra8R$S0= zg3;7>T#{njgA^!)8fzL1M+vmw>@c<21y}W}7jF00ZQf+$1r&S~cQ`L@{FdDtp>y$V z8h=yB#bhTuGbxD~KHPFdDxvFmfyC-Q6@!I=7osI!ADrYy4^t+)>nlB+DwBy5>!tlF zr9KT_jj8Xb1jSCa-&(iHpQ11v|n*1IQr{ML=1Ij8^(N&(D)RA&twRH-+1(&4UDWabuNd_>9A8zj8A{AcB^6r(9>^TNAU+c~H+~-V7HB%PwNJ{CGf2%xYATL)J#?aSA}pv*#D|%BuwF5yc^OUp2Ky zA2=uZMT35TU%%Hl=w%C%DAo3q6c4M{eocYa8<$%oKzdn*MRyr;UuHUmB_mq`Fe3nc zg>OI`DnMMutIi&#DXT0sGY}KuK80!eXe*?kyK3RI1;xeFTETe2^12!Q1gbG1ME}!+ z^^e#*hX2H!NWh)=Fwx@$_BpC9bGuNT|C0V~CBc66I3w_|l@ph8>`r?rt-_*g@blN% zS-B-WUuDD%+w!ucKP;G)*aV;1_Xl!ic1Y2h8?v<^bcCA6+vD^5+YYXV%}KaL$qZiK z9xp*n)S#}1=HeA2NH&&&Mmc0)yjOLQ!YwqmHnP=it+k9cfy(i3K^Dse(wv-+VT7sQ z;%zhcZpLHlAW2Dy-1I<+K=QFdTMmFDULFToL>5PJx1EU$*mo@^7cyr~$giD*l!E1L z#P`qMPw>|X^TR~yx>twO9b>+vA9xfS$3I2wFP@Ws{LC{k{jC}7zqpfoh%0Ajn7J?M zC$jDv#L~gXZIYhalLOBwoLL|)LpZNtiq{bRznByEqyC$$An`;WpY2+_V2?pK0v+&Q zVvcy-O>)6L0WmRobtSW1T|Xwfx`x<0vuns0x$}hh3Dp$4r)Fj}MZ1T(x)i$US?kFd z+397wS*wW%nOUoWhlb_BCuAq2sEd`Rs)otP$*X1-X=!N}CC8{2MrkD)XXoU}CaH$y zz$K_!;FGXC^c{Do2bzh~5pEPv-AV|Bg;oFMmaz9YM?q33@T7l0seWZ+pe z(w}dXYiG#i33(nh>Wo2nCTHJ-J*MxuT(V5WO8sP9^%~9@F*BAXH5Z?)8VX%XSdsY= zIeJo&3Uh2SpOjZ0F}eRF|L}W`SJ=+Yn>}OF4;?nm#ym-boHdES5l}_ZZ)JxE(E-Lp z+$+oYgmD_03YvPLL1IC=wyn0%fLrs}RqHjLd03|I>=^OTjaX;kT7)|!WmyH;j1w%V zG%&TGx=buFmzc6{9;NzgyOLo{(Wj>~yWwKN3-!MGMPJEU0}!eD@I4>R5z3yA!jw$h zp|1!0&kdZP-%=!Yd-w-H5;%A5zn$}mPT?T?g-ZfT@Y$q#fW`Z69plHq$y)nu9Sfi> zJq6YQ{KPU-raMRc6&*|{|7)GSrc|(O&%oK5D@T!5dT4OmyV}u03T}aIKVNEhFCF~)Jql|*Vdy6qMWVh$ts#yoYe`-8X2Jo-I ziu02P<(9DVmwvuiCrsC!hz7z8|Co4MyFARC5zKVK)R+I7JQrI+@4qbAA}Y~{PLGO9 zdOJZ|cK7j(P{+pq4`E~cpHNU=i1XJz*#Ck)N4W4ih`Z^3Lm%)L^u0sH>J`7RC;cC~ zH}{?X^JFj4Xjj*j8oW@)E?5jLFyC*CXx%a-eO*1nJ+kr>COWzWMmjqC3ECp65vfTs z`6;mlCAzvgrbT%=2D&OG+c9bC5h8b#*o5J;Affxx1!;DX(U^}wDwg6fics#{LJQqGc zN=!H3wxH3FT~@??)&`ZAw6&J~)PB@-&CXr0+ElfA^|IyJh3l{yLk z0D+=xq1^Yb{Om}yl6lOXskykpXx>cove6B)_~_VvEZM|_4}5C0&IT=F!_H|wH=45V|J3{ z9aS~({^bPV_0*>{t*ZZOX-3b*d3zl1y~qhN>_{17jiS|7Imkyxz3Q0jGuO<<1Xg8} zE!797e(=NN2lvn&y;x3*h#=BdVZO=xj?lK+&e6V^S$pE)(X1W1g~H}Uvt1+ZZ~Hjf zw(-RYDEvf{llazFTfs_e?$;Y4OU;wARJcJ{Sk${vFv={x>kl=VKz9$ZGYa2m(gOvDD^b;1pTI56lRpASAyiSX`J1>P!83g1qX7FNb0gu5J4jf9y}_4)E(<4yjpU4uO$n9)p~ zva+DDKSlR{#0@Yq{w-^eR{SDwRna?=5?47@`HJria2v6U1oiS;@brZSk{!LW!>N&k zVjxlACDhE!z7LrcQD1&TAVCIRkq7-bQn>I$AB5?^!Ma|+Mw$Xj=quSrhc*$gJ7nF+ zJDSGDF1rzT%jLRp8w;Ez8%;#MhJuFO?5V1&^wTmqE$H`FiQ1}EG3hHqcZWbtrCSwr zl-8Jc0-l&TKv16|F6#%+X2dA_Rrn+E6Os67c+mb0tC9V4Dw(uXCJQ&SG%1XjHn|oy zDk=t%7GYA5IN>~nm0JyiBu4pMe({_HwkSjXrA6$latoJPS0Gacjk~99Rkv<5`8+#A z1dHSD2wpM1RuV~s@_tcWa|v>>KwN&@gzOrXT6>$VLYrUJh3^v~{ zso-vtZUoh8AIJErU|?FN@>OE*ovw{}gk1GYVJw{p_atp`PYP4Bg|ncVgV5KaUO|GI z@;X3LiGmH3c+k(+j41tHKsL?_-3G%e{jku57vynDMH>5T*SS)i+&6cF8yP74P9?GBEsbwi!$U`HU+r6Pj?p^D9mkr0?~ckQt;8 zUWlgkVT>sJKvhiE(JuK0H1&gDnn&a`dNYAPSv?e(pKu8bs%QVkC8>B~V}5Qn!D7-- zN;j|<#i~>Dbq8@uah)F$f@-sgMh|Tx(3zH;1{CVZR7I#+@w6!nd~Y%GfV=(V$`K#2 zUsgyaM^z9Eaq1W z7k}x9lvJ&uS{*7>JOK4eYh7*`VCZp=I@?5g9?qQ=WDgW;;edE})rr`SZB%hD0O>K3 zx<;akR<`9X(5b@WGakKHHSY=P7KA?343Q3xAcXt@-% zlJer5V+POW1IpJl9HU}HnsZZW{RRayDIau~Mplz2q@rppke2$|oWWw7iHUh+;!$rH z5w5-aLnJ0#*8nMfh1hScx3dan$h1ckj;ZNpZ1lQm3X9O1uas1=<| zns=HN@v1wZm8JIpP{7j;gk2pFU_n+(hT&hIv9rx~X~KVVTaP^IPWuFz;`G|=?ih$T zm|lSR?M0Mo>^TKft^I2}ISG062(RKL59uefvc+*_06+_OrE(tqL2)BANd!Kt$bKi3nCPM|r>lR@8;fbV%&SL*ZAkM|B zcSR9RHBQk6fcV`i*!!k#Q@$_(8l+u}AfwH-@y?WIb$x(_8aJ|7rmP}}+tgu$fS-Rx zzxa*_=aQ8O8<8uIC<;c?e!XB`ALjiw#o`$xT8KXlj(MN5zG~N5s5sg~8YTQ&_LcsZGTHvWpF1yPNDzdEWyl;;Nk_d(`tMd>0~rVWK08SMrA*Q>x?Wyy z5XEaHtKh`anh1sAfad4-E>p?i-LX+f*I@ld{7BYEL24w*VQz%Uf{$GVvuZhrSzvbe zY;jV407MMJo-Rkl=QVaRTU_4lyVK1k1LwPGhnUzXx8;zW-4$H&DMvzfm8IW%M z@fwEoWf~wKB}+O_^p9cFpqaAcCLo`w^Up1j@KyhK9d#Dr4aU6?yY|?KHcRbH()et6 zWV(SBk^`5&6z|_zJHX!{EPxV;A9x)utM)vBd(kt zpsv4ckN5X=UkTve`^Br{n+ei?Dt-OFO5brff-I@ff-0YaLVqH@+vx+=jLtWkCt>iTI_>}bI!mYF)u`#J>KLGdk$bb(?O$ri~ zC`^|OA&v(JB(s=D96;=FG4>@}a!hWYbvA-9H2xHbZ8Y_M3i;9p2i?>};QGZ)^8ECb$m^ z;bdOI34dFl^j-VYY5vb@*8gwV1eb7RMgb%svN{AlJv!29i*!EsnV8>kv;-gd*RTn& z=R6!#h~Jad-mBH;bwiNLkz*e!?PO+#(v%j$iysBR)kql{W_C&Q<>)ZSoku0zHM3gG z9xB-MuiUPy*4~-CPOlxMd&X+v^Z6*FyZDCyrNus%+dS|NFlcJ7osn}WHOFemYT?VT z;x8Ou4ckPH-noVUi@A4-v9;^gMN6}68?$WNwr$(CZQHhO+qPY^Y}c9V?CfNHJ6~4* zv#(Av?t3!&o7Vc%9<=r6Vhe?8uEt?{>gM7un89F<1VYCuwiO5L;qac4KXMQX$y|vj z?2F;*NwTCZVk>21vyDu*^t8NB|2(3WX`Nq%4I? z!nfiK__BX*6&)>SeRP(&oG8{P==E>?kbneUxD^P@c{l+P*L?C*o~eWaE-58Rph}k z8wO;OVwmZz021Yf7pKw{_-oGxxQ4=}Ej6#6an4*N_HO`jQLCqa`LCG%uYfB3zt<_} zM<<8pm%0A}s!YHTYb`$yar(@k?NR>|P}TVhRQLZEQ00izOZxv6PzBN+t&8#xkB=Ar zBMP=#TX#eJfzb=~9i{)>zV8`+c1gS~nTqPHI{9;KP)Tz^L#4IAt(o)xqDx|{UX;@R zb3Vqq>T~@C<@UelWBr>(v;TG@{~5ew`e$gP9RL4fod3qCDJ!FI*a?UsAV4ZFiV(Q_ z)uUOEucgp~`RG~|Vtd?rxO6jO$|^9Aiim@a4_oXM1nN-e+b=X8gX6#|#4`aCv~PCE zy^TSOS1>Z}S_z54>XyDg+-qdlzHNS~l(K_g9u8R3gRif!j=H2{$3$N+|DCsp)l}{r zT>^Cm&f)aDuE(O76=UkT)^5<5n;PP>75vT1QU`5k;yBRQGeQ@gT=FZ*``d48Bm*Qq zJwL*tYEFBn5)QU)6*_b%XMWFc?TB{0u*I^$d0;J4et_fv-mY&fYle}3ZeS%r=89ul zb5UmTes4PdOW-97)Bg>4Wc%mWOdM}%C8>`-y4&dDEN4>IZnYhcPt&+kXACuHF}xNQ zJf&?ts-fvx!fh#^?M!dF&4`rQZk#%EqF`E0MlfW|kQ%L5PyCv9z>p9OPjnOi63No@ zneg*){PS^|AEy;V7NJ0+*{G1)Y!mYry*aRvZi;JHZGE&dC}ac_sYygc#w{_Bi{OUB zza!wBq?XYI8V+RP23QTK5tWi>5xo-A_$@s!w$-EhT}Fh*wG* zr=+V#lJCk57-6{)TC&{c%S|0Qypg2r&Q56=9lb3uMUU9Dl44G+2+b&@@lg8LXSxwK z<}^2;VrllBwIk+?)2FGETxOw%#4x6&+*JjSpFpZfLI@;DMJCMswV#+V!AkSdlQ96v zi^W8p;W)DyBq(uf46xkU28nTF3}_27oU>f3!T|8dZVka4d4<4+fpykn)s^bva6Fem z*A*;dI&lTu%t6uaO{at51lG!a?4xqgT53AD7+QlC4O*nxa2`zHfEsRC@FMoaKazMz_6|1xrs=R#IGyU%Wp?GClg{Min#o$ci0}lCdjPJQE<@QlRkOYm)TpQr4L0@ecJN zkU;+0UGaQ9pV#|x^5=Ai)DG4L;%e)Zm7fq`@Ah7f|jk)oH%`*1l|r)EFgGb>SV;Lg{ZsKw20tw^tjwZyq=6D`7M! zJx(i-?oFeK){IDOO#!$@ccN|eDP|ToWTe@fV&?6 z1UM(Gf2&~s5n^Cu{HOLkVfw$^A)_}u!ZF$@1tlyl{6RG}_*R?3n_yyxYbbx+As%O& zwI%{^SaPq%C%lPo;E^3w$9m$ghDm1q2|jVz{^HzG01m;M_eef2*UyBeFQ2 zjc1UmUvWAIw;o>`anJ>J#V;3|ZA*X5y~7fUNfzMGYPX@|kt%^Do&Z6ovVu35@vx6q zyd43KUFT+dtT&_eZc$y^(|3v@L_P$cfrkI~{%sv6A=<=OF_*%&Ay-7L5HS?jbvh$| zz|9-yB8JX*_a;F!HQIx1O(-fJj9fUact92%M@J%zBd8sLLO+#bApAgxtq%kJP^>0+ z;XKtm|6*x=)&N$^3=d~`Qr~8553Fm#DCTyRsNx~tegiioT~7ON_wp~8L{MBv#MZ{? zzp@1B{--QKW_I>}JeQKy!L$@lcX$vIkl+iC(TA|PN!jcHV>Dg2+cdW{R0Hrc@%6(d zl9IbXjBJg<@#VF`D}}L_RsP_4Peb9qU9C2>*_4SUkcC!@Q_2=-Ksn27teUUHXS|FT^d^tKn5%NM4 zQb_5PWbu=!=iBk?bFeU=;6TLP%{@9jKRhfF8WKE8A?E%blY8skv&*3))FH=1FpNY6 z3$aKk^n?7=oea%`YjDpRQ z5XIML;SztoMlA2hqwbIV(XfJdnU9jM1sQV`rc87m7n!UD5px8lbhl)5@re9kImD8X z1tfEFhKO{jiTuuzl?5zwY=$g#9;(8PBF|qr5PfryhD3GIiXw%C^qYcD5-*C_FZq5Y za1@DPc}$9c4IyC#c_nBRS>iA?&IIuL3?b=;lA)XpiEfl%VYp86uI!t~Xq|U1?av0D zz8|zhlS7`wun8&}A~*3R;=V3+c4_BwmuzEq9;%@=iXA#G5oasKnnJCo4JZtSm+~*+ z+tS;%Phl7K57|nm`7_2+yd-J#Pg=_lU0w}c65lJv?URc-cQs9xA~(3*mY#U^`0K_- zptOy3G%8Cw7Y4X8hXXF@Z4An-f|DW_3x^8sS;p>(9Vq8a>D`QkjB-p^r3vUR*`m=_ zgVIHn$J0(tyc7$!>%YeI#>|1yRLfGd`g9HujIr$l?bN6S z#mz^;K=W(o+Yv7N(1fPs_xYl`IDQQ~LN&;_R|5&0moD-S+DO(JzN&Q#GbOwxgq0r<8He9Gd*AM@-X16k26xT{$7sNsx0EbTfTMs#Wp4y z6%F+^x9WD8%Xj786PTzBU(3rPP^}IEoX_b6<9)eNsGtAYX|HPE3Iq$vblKypb?0=c z%@xupCD+};<){cjNlf>>b9m#<1>2J}d!Ol#!^Q<-pvaK?E6aXm@@;Aq^y*DlSE_7o$VC%>-q^8eax_w>W!mGtutN|r-Ot&D7*VkNSX`I zor!U8s3$R*1l0q7YUe`cINb~8NT>Im@IJ&di<9DEy0lkBJ^)H%^O)SIAe(k%Lt%S4 z;}B`eRC(se!POct+z?hhEi?h(yg%z4KCtM4yQD_sT&1uRK$ad0+XjR`5!$dgnR}&9 zZrY6X-~E7x;|8oCgRwc20XlP(H(4||=gu75x#{V3)C&1Koy9%xeB*Z?X*1d(-KP5F zCHA>DT>5lTTfhrkGA0lrbO2p?erJHtb%E0XNBWBt1HOPRfMZxyQjU-8Jfz>-?i!2A%{jC?eiyT`w;qLp zpg!K>Rb3X4=9dbgMbb+JzJ`to)S|uauqhgB}rzuy@tkfMRtfY~8T^W?1l@tVa z;m<|Axe5oY&MVLV!Rl7uvYj)l8v62eL-WYx(J|&4tIbOv%=Z<>tceqWU3)K&@$4yDSBN1mKilpX6`pNAm-xx+LiG*G) zY3@r9ahpBs3VmffBlnp2{9BHL8)NW0Ccm0|ArbVXZj@3iB=60NzGls$2x<9OQTQ<2t zft2c169C%#zNHas_rDF^VwGuTOB-tw;2xA>!@Xq>l!>}Xbv2)DL0sy zqaNcWWMuL2*>q3cv&8|>licVQ}9 zL(ACE1sI=~p1WbnqKq%gIvUSzjeTU7#|xVyaLU-?1=GpcvkhsQt+hY&7Z6?UE(#); zy9k&UgcK1Y^MKqzkJG3veJOj#?iUJ)Ob5FtH4PP9!NeTQl_@F(14?K_cFTZn$=UG zk@LA0Az0o+2JTOLRMJ@%Su}_^(7lkY9DewB6SBJSKD7O z$cfW}0Pj26OqwTHNoYb0v&uPidjpcGPEvYUDVye2k%w&8vC+`;_MiE+ymj!ctLlI=2OvIx{cuOE49 znnPNNQ17FUo!L=9%}qQ^L;`-7I6c&87b`DgKjTs8Ms|(bN%1g)YID0lYkR-KyVoA~ z?<{EJqPKx}I!sLwU1Hju^bJFmMS+DMoiqobtel5cojDdGJ%D4u_j3Sw>_W_HP3_3Z z_?~_sTr->vrt9Bj;pRww1Nf%MS{?fYCVgDPvK+whGs(Gb(p=ZB$n4t<=FUt~4eFmL z%F{Qk_n*=!ej~TKFEBtYL!5o}FUy=A8;m@IWM7GI0D}@TSK>xN19nBU-9v9Cel&OS zk*qudool%L`J@lzqx!)FWlOw^Dy~iQFms`&MGl#tQvb|ZUU6h8>oI9Orm)a+)op4a zIqZ;lRrg^ti|w@)tINIFnF9{Zj0R(0fAEz?Q|%8#U-Fq8#^$G;T$9h3I>fBwgRDYA zOGZB8HJNTwAcf70f{yQss3~70y*YSl8b;WK9}HX_`m`g4)B{c$gP(DoB2xIV75i%K z;_ndIxdiQhoD|)Q%^VJy%6fzrUI-=2AdJlDCFrU?*VG)k{cZGY9gJ&|W@!zdoIFS; zJOIOx&@xg`Ma09yNyu4_EE^=JYWFR!rKY81m#kK@i5$t&kePxnh)iG8M&sxyq7fo9 zdg$&JrzSTa^*tMIRN@j8T5i*}kuLR1TSrSpK@noRE|rpz*_N{(^;cpNwxnCZRX~U2 z3RHrIWcQ&o`JtzD6cQ%#?=ztB{s$=)j6MJNwe8F`M9xl;b3tK*&xj!r8cPOIU8W%@4M4zV;sw|m>6gN@!lR40&O*V$cl zy(Av@x}KGVFW;vR4W_*&r)_aATQy%kp0tz=BGMw5DvaYQB+X8NfW|9#(HQFQX2HkW z8w;{?5s?W`>h)ARk3Z2l@u)4DJqV0uuR-yh|BM(=Hx9*k%*vjT2_&yX-}DAWke1epP?Rk_X{$C3_& zv9$SNgWS23roo-D&Y~|lzOlFgX9iaXMc6TaUp|af&?;j*l3a5;g~KJlC;pk*p4481 zp?p*Q_}JmiMzj5F0APNIo%|qg3JDnKefq5m?Vby5$~#(eM+(bEE;|9-reAN%tc$(f z<*!U1{ri+#&4jEMv-K}Cl`G8mA807F*i~@|GqrRPRYtYwSz}6|(b#IUc(-C)E>gai z0iN7AfQ0&&gLr-EgEGPQ_F;1#>@NI!cDe9N6{y#8)AJIHo-M=ziv2gxe3UAbV@+rc z(`e&$v0(Mt@RIl)wBja(u)%f@rTUx&lB|^#L?0UtlCXCvm{RayDOf`dZV9^$z;i47 zEBkHB561!x*k${=`*&H!ZeZYI-yo63x41A!y>A!9vD;cF1@&u*gIrC3v;^8LJ}u4` z`+q$aVourWiwB<(N-{L^&fFYIIHz~$jXacwf-H8V<|pen{6s&s%8f}eHN1%KIl(=) zJwg0JJMDY^j4Cs#Letb<`tRrO34J z+OyyG%L$PVv>lM%#OedLo zb1pRsu?>dn=t&sEhIj(bij(&Z4UmxS1qA^K?;htHve%?>PM+ExUl~J(<{1dc(sQln z4oUoZ{gA-YZ5cAwsO}E0_UFva1kI)coZj11)uK= z30+(@Mc62K@_k_nb-i|(f%$ZrT5@5~BER@0`bHG@+BQRyK#0S?0p3Dn>K>B=9nPq? zm|b{0T!H^)^JjdmUn^#nmptvAS}9AK7~$OH)+;0BgPVm}>=;+EIrt2ge%*4q-5Y6f zfbBDgoutY3J-wmj9nmKeyNV)x%*Jvh=k^a{&2Iz!a$DabwR}p5Fa&t-z0emyGPX$Ui zJ_SKGXQT>u{)P~;KyqTFp9K*;Bd}Gh%{vVV4)yV)S#_vG15LXFP%9{Tx~|;bW-RVE zD%u+KB(ixawAtctI7v~i!~ucLdg1oVA+dDYvO_y-0N#QXK)aub?iVK#XgtOf_6g<2 zY7>RY^>Gok_Z;~(W%zN&gQSA9)lq4$yIj9<)NOg+HdsPQmg*hVH8{Yq67qVV8NhP> z=^Xy9<{cuFkrJ-Jh^*-_FLNCPaw-3_{3i~p#Nfo_MteFFYT}uR95$5o-9hR?$=R)K z<6)TL4EFHm^Wj&#$sRabzH6nr6R1ZZ++!0VCPPqM{ZyJ#uJ!oB(pBO-3#z9CIG;00 z;C8C2Mz5-0;XQ}T@In4VC@rgP<@Tb2_Y|@QPR1Y(=TeH|G!Hj}^T^RLqn9!l>|p)D z5pq$aq7}l(e8We$3IEyAq;jfejL{teM$oaV1+z9-r<^3R=Mh5H3YGv_>VQThIZ*#1#IL zTY@ot4s}pOZ==RFKNTE~h311FPZasqs(`+&!?UIXix;@K)R?^DgI<@&y)Sj}8b5Q23mFhSOdWrQ=_L&v;I2*MaejtgeSSNj%OZIlv7H4U zg^D__vX_Wn(|dEwz9w)?O&uj9FdVd!FUT#;SZ6`^1pY1r??$=Yfs`X+{Z56KnykVD ze}-2p<@c_}!&m3s&pgUfqk2W|d(RFYMx2@VDIXaJWOruf3@EcSbWw3}Ng<%*tvzc= zOe8;5yMqoN7r{_F)Lzb@DKw-Nq-CT;i!vtp^I7e`k|`~B**8#}`4 zt6NX62LuSP#|Q5CF9$IHiyq)V}%jfX4~Ls3)GP`w(GlmRpjB&v)W7UEvAdH_VYh)!RKhH9~&~u zg1BHnDoi&)EEI86g)3AQXF+17zdN3M@pgB=`P%vDPA&CIk`T+6J6m)yog*f(@D{KF zHFrVIwBompKqsyN)Q}p&M^FtD3VSswL$6LsXwFYY5haG>xrFv`J?_JSifjHAl;0EbF0SwJ~#a zb)LQ%{j7Q=gkVhwDc(7*F@^pkas@2RVNFSoBG`~8hl~tHEFeBd6Bbe;U_4+15jYUA zM4qn^EMotgh^mN=i6co7H^FCh8@MZOG?HCL82`{7SEd>OOT zn!2Qm+z@Oj4a>_{LEm9iRMpTK8%}&?r05oJVm~;x3osBMK$2Hh@d!Z zoj&p<#w#{-;b5!3CqSy-UUXc=Qh>;-LUHA3k#wat$(W7)ticG^X{Q0*4c>fx_C zr!so`K^5SJt72QL8*e*zhYB>o5V)2s#@^uPSqE1;^TAF8dhyyLoH4vyL=`Aa&Qb0( zo9#QE(;)O^QZ>@2f#qLzP*hb51j`1cQe&{I<*oL2XletN%E+JkAK}1lN}vzN?uO@O zMeZab8pH%IhCy+`l8fEgIY3Zh4M0o{u+SKdbZ<&D8YKLtL0_$$q~2(^j^2r%o&jQRAkvq4dIcraq74& z$z2+InIxxj?fdDy__`U|0zL)=hI8|l)ni4(V?zv!+1qDptzbfPvts+zyLeQb9m26! zV@Pj4yI@bQdZ|LNdBMpCMR&WX2QRp@r_Y)QPL{L-$Q5al4(G$>LtC@74_RPxx|>L;#yu%G@a9(Qf` z`Vf?ZiEt-#+Y~07#+G=pp+;j$!K8RP3UoYk-=r3U1G8h2Ql^e7B*@hMqXEXG*LjVh z$h_8=9ktp?d7144vqNXFHU(zsU9FdL0fvzV%(8YlN$HAP#iGo-_Tqr8rW+Uw3lj(T z#WL>O%0)LNzvWoXca}URaZtz5)D-$~ii}&O#NOGCD%7Rflha*)b3(BT6BAn*eGn;??;zft`E z+uHe`wh0zC=6@WT?E#^Mw7T;QA_baUzz|){=s}|K0;!?7snP9hzD=P~9TA4#5QH<( zBd8{rfRq6L>0gKoK!0JLvD37FCo8N-z1~+1marS z2CY=d6%GlW+eg@hVG+<@VqAjWM0jixEq{L#25+5!32zN@;i*fzjBBdDACfPVI>ZVH zixJ`xd%@M6)Q*5e$7O!}#Kfzpev1wG#>Rn4auXKwB%I0NnFkR~=u)iLS&qt#d#IZw z4UzY0Vq%gfv$2U0#VeE#@lsG+W)DXe7W@q`MDU69exr|%3>*a&rfHdSRQuUq$%d85 z+|g`x9_1JJp(M)*;;?+WEahl7d7TraWX}08^i$CR#L1BNmMBiLEix;#X#{U!jC7N*$&! zv`Ed8m`qIir)Nob+FGx-ou(o4)br>^c*UW#bpP|nQdOxR3lSuSO_)}GMhALFn)(2J zw&g57j^bmyxJI_%kI*``{3%(zgJg_xNL0}nFG^_1$o1YV2%=^%nLfx9J|rbv!|9?> zlCFw)mOgB6gfo7{pfVjN$XT?DV>+k>g3f$skOZ?76}Ji?3SJX?W(pKTGJ(W-RRPYK zB$Eh^pf0Q_*C>*YluWY63q8i;eiR>49*nNUM+u3jyWs6$fVa38v?pqJPwBamxC^(! z@`j3hnsP1;xQk8DJb!lQ2~&0~DH~NAr5dPackPTi?zj?#)Gurw_qso4@tAzo@fXnx zG9`Oh+q>#rcWr4FYHeIwo~@#mH^YsobBNq^hc>0@dZZV0>C$2w=CM^^@{{n%LpY-S z21dLefGwKm9lSh%d9z|&_{!*FIunyl#-iUlQn*}{MX+E?Phzz6VFD^I^O2Vd(QJ@C zH>aS_Z|%h(44&P8;6fYkCCbW+=4~1fPm)ypT1Ij%Xi9$U?8Hzsaa9g_Q(CZQBI)5~ z8KGvlj-aVm20P^=+5k>SODIsxE&Om8Z;xI~7;Fz>-{l!A__283_Guc{!&I@>p`%F} zgUCZeBv8l48Pwtu%2i5>fK!t#&zrK0{M>irH+S8c@)R`HV{hvP(ed(;Jc>(x@dp=e?LdBK`Y6k?4AolZ#D7 z$It5~)R6LGFe@oDW^BwH`l^6iMv&;A?06bP88zpFey_kj2^d8ejcM3{scRC#*%Y)9 zSBap)~G0?P8(h;9@G^>}V(| z6fFn9w|Omp@Rci7G@LztQhDE1{~1GFgLx5TeAzYmxX#^&Z+$eq_}GVjWToE-J}nq_ z14d8BRwL|4NxYbhQHtxSSaRie!e>^?{h@p+gh;=ofA-vWu9dEU!KU|Ode)w6~T%A{4GwGCdeigm7J+uMyaaZiM5tT9ZY&L^)v>An+sXV>3 zxF21nhD|j9HE6gqjD^v~$JBwK0GoKL30=J3%zD3Qx~X^LRXoWj2&^4KCi#}oveS|$1*T1q7*u54^l-Y3v&JmF@N z>*?$YjKIsNn)!FwCYJMD(`1)J$*I z1v?wHaGP!sVUC%j*L1^$vl6QDF(7kuURc!z(xl);lgC|;O_Ws5JPB$=mZ}Jo`d+ih zONDKh)oxWCXlu{sO-2?wUq17`CimoaKU3GtX=W8%l^q8l?P2$aUd`VJ)pqx^gBp2{ zTo^gC9n(Ng9E;q<|DjmD5t1rWFyt!f^km?!muh^QRR7Vpmm z$Wm3qr&V)Iw5%#o(cFHr{YXfJ1R?s9^mV)g{5(hsW^ zn*$PIW~0bI$O#5m!>`vAMImhn$Af*(>W*Ip|B9SIZXd=yvF{@=b!fUmV+wp6N;8v?#4m z{ZhD6^+um8>#`D4YcT5Q2w3rz@6|h^P(zYXKnYh*D2b*+FxvM1{W)p0Q52)GF=>WpgSjKVS3Jpag%=`|7!&?`5pC=T_erR+LEY;)*LlAO zO1GlZdtJVCx1zq6>#dxGMC6FBlu@)20m^0vT}VCO+7@rVI)J;QO7JTWSwRCffG7DM zSXA5m)(Ie2M3}IP{y03qyx|vo)fL3J)49F9=LZ4Di?kGtX?aT-CRQtvA)db;Bt<0L ze`@&gCWU#U>~m?26$COIVn`@nf%{gOFJehnu5CCd$^$=edogDS4Y^@de{v(|59?m&PxNgFJX&}$^rh492 zwYu#JG7QYzL0K?|=V@^FF!bjv2u8|~Q^}>SS9)8B=lx=>G&kki6^QM77IY(@)a>CG zKY~TG2)9||E0E2XU(;ckJX{^*{r!Gi;{Hl;#kOQ6Rjk<&Ttr_$|aQZdZ!QuVj94`-UAzg z4zZSFWF27U&y*ALJ1!qd<|AHb3WSVO;fGhHXp&v!yYdK?II$=pGu9eJ)S{!3N%M5x zsMgyW3=RE3^2lYEtx+!{FpkP8F&0dG4YU%O*>StFlP$C*P;rnlf_<#_N!4i2DR4@v(ijV%2>A>q-?X-EALMlMkpF>PQoKjM-(n1QThSkk}< zROJEt1I>Vaoo(svrV7WzFp?wRL~=TyLpYf(77cnXT1Q8$nyN8?{3kNvk!k{~Wu+{b z(9{>n;!{)^j}B^k zHMF?y0#A5p)otb`DgTo9uealJKHBh<2D#(%lXdthl;U$1STq>$r5QtGObDvAJoo~0 z1|8IZhx)m_-;QJp#^UA9{El%8YbK`Zx9EtY@j!x7Gf7H6C6IJM1Xo#wL9|3PN6g8` zPOmHRZYMNRtId(WTuyEw)tKUtuRVp0ok&8IY+~1|tzm(eT(dc<+x=`JC}N}Fq?2vfj-A1#`4s1!kim7j33b|i=M`S&E?Ug^ z)`gn;cMh4DpP;R5*&t#6u714G=ds)>nrm3D$><$gK&@Yzn#ML(*A`64LB$tQG$91) zjnd7DhR6|-ac=29;WIC z16;Rn=u+f&lYKAT$17LF{Z4&p&|xEZEH8=FKV$M(0l`w3J6%7`wW1|FEtoW&mX^Wr zLi!mn``olmvqvS4gF|^X`=p+88TQC4Y{f2a?R?IjW54H`&Ww_H)BP3G>uIhFAD0?C zQ3-G_X05x)ezFnFTJOht%#4lqz(lTc`{$SCBYJ71vxT$-eIH{S8-TTNq`4Eaw9wR@ zjhsT&{F%9T3jwu#tfU8MA5+TMt%#N6VOggeVa7Mb7-fL4uN#rV{VZ2x(*Yi0yctvm zz;zqV8%K`#p|c{363VzbQU4ZMZA429HLsN0TmxPpIRll{fpdyhH^({&;*~mW&ji+j=Y=njz(@Pg=3@cGH|0wh3 ze5d&My$xsq+(z@7(NMgyi_OdzwELbJ!>=dmrg<|$TN%PfZSryUe_i$XT|8Z}6`L8^ zC~sReV9Qb=82&-=X#|+ncN7+p*3U*YyNBzeIN^L`7Ik@Z=R3d3`J)tH`;nG7ok{F6|5Q89^0&4yxl z0+czIDILIgI``$cq6NJ1yXR|uE{nsjA8`Lfq4h9#A=lgMnngn~ayRLM-y(*jF^wE6 z`I4qEfm^UxY8vF5Gl=xXie`I!FTA#w#Z)=e)EL`yZZ^w5EX>wWGTFp8Ghpc*K-HuB zK?BSxSeO((^Vh`ET-+4VKolG54GEIIhJ6l6X&-=7dxw`|=X8vtZjsjj<9#oW+rY>55-g6wa@8sk;8^ckpec#cyEDQeB!!Kn%>l1v-=S zZFxZyiL^BErHV%I7~?h0L$?trF5NjeF1y(k<`1 zt+_v>3Vil08nnJ9r$_Rfj?5Voka??UsDGYVbhNoC2z9r!1JTxZmw(RY0W-`jSiUj` zfv>{ktY&%|9$Fp!@3pFT0C>XIuj|2#jLTj>c8H*w?eCDqq z!LMPT9#e`1uwP0U^!_^yikei^tAW=7<_PMslXK}}U(Y6$Ed?$22S%u#O=XR$far{t zxcO7|Svxp;pa_TvcXepuhqr zkBI#(x-Nkqwi)4-mKYWLXmcLQ6XU9yRO!W@UsOP zA4x;+M1CZ^=rd6Gf>DgPw(B6P_}(n}@W*1ChE6m*L&yZsSGnp)!PqIt1aY-hb^qLpWUO-p%k4OI!T z8jy6e)|?W3;ydWhV&u{}KW9ALO3W_F!m>p=i$gG5fb?|GVUDz8zSSF566QAg!CUt< zyRuT|^+CIJWlDim6)&s;1~QS@jrQFbO184p+xL`I@}w{GtW@-6`k55h`mO&EA>$o* zxesa&=0Go=fyFSEYlei-5=F}B)&s#HPFvl)v%Sh_V|~$7<~v&i=~R1A5uh1nvqr07 z>B-JS+}ZJ*AO-Sr7x-AO?ym9OaO$O-a@WK7ih>KUx6i#Wxp6*>(@p=&-3T}-$mUZHEY^SnNWMe*!IwI24SCD`7Z^~@MdRpbXl2#Ml*}F^9MqHgx8ZfH*h(jH!K5YUvi-DKMsHZIzEjN$1Qdgk3oH)}wG``J4x;4AQ{P-vhn+Uhh7(-8K!L z1+3wDzZJbz_{bws55NY91Z_+p6b;52>uxd59y%1MhpjWrU1Vzq()L%U14>CppHYzk z0@L^O%C?7R@ywv%6#0^W2M^cAy6q=x1<1)mJ2p8v@>(@r!jJ_k%+m8_ktq_RHoTFe z;0bVO#-K%Y&Bn?$MXmC8ybZ0nJ-^)HsS23W|IG%@0Z)ADcw{IcV(nEMEqH0?di)OK zPpeoQpG;%W_JOdi!*Z=I>dya$w!O96Nec`~9K}X13;0OStE-1`t$-XnG;e2+Ool++ z&srZdqvxwEj0R(JMtyl@8)PEcfU*#zx*nHjQ*DT(&x(x*ve0(PkFj9`p%mF}i*+^Z zf?5i>KYWL5Fb<|FxFgh8s7YaM)*20@|3Gi%8lfIQ?xtzZVr|NcYyJM^MBLlbwP;W# zEbRcqlOXzry_Ha63u{WxHz{2mO)Y(5ezKx+$R0hNwz54+))Fn;rcj(%I!6xK&V|8N zt?sT$M(h6;$8waiVoBxVe&bhO=%RkvTO@CLW$HVum?HMus7I$#Y4NpX%f#;rnhOk$ z?Cp-6y*vc6qo7Qv5^Ocph6Y|mm|vMBJ3bw|+=qmMGCkr@Zrw<}*R3~vF(W4J*Ya+` zgl+XtTtJRg%R?G1rZRE3yi*E?A^{j;RUb>4QkpuXqmz?%W66lYLC+W6yF2J}YFW`S zl}1D^r0F%3dTUI$7*#+OL1{}}Jj-yB$f!s$h^NylEc6o(`QKH9L)4YL+bVi3ZM5ht zjx1cstz9RY!7l1Erq&AwTX#e~H<5B+r0|&cjt=){4D3=Mub%PPwR`fP`Zm&(n4|dd z;I2_>5R8k;6;2%aakQ|Haz^~Ji?<+&duQ+!$4~qW9lw1NJP2;NUNc8InYr@oTwUXc z8+|O5A6yqRn;bn={g}6PhqCoNda1qVMq9M!VYTy8QNvsNSC2URs?wgu{iXWe8${`? zF3jCpb98NJOH{Gy3X(o|8DP<{GLbZ^xW0*EA22q z=u`P|ih1jt_>o42E?73|f(iXXp`c_Yn`amuzc3=(;4?EgHLw z5`)jd$jvTWNE+N2khOAhe#2{>bFZ6Lh5T9oet13$v~nmMbUehM zJ%du0$jyf`r>tH)UIr}87f?+plu;rzdR-@~4osh6YMCCiMKPoo!}Mk}q%(_fSj$SF z$eC);r1*OD{Qn7H^A(dH$X{hqc5xIqb<=UKfArs`*Joaf3w+Josd!CT+ zZ7pW!2$O0mp_hF@uf6=F`&3m9 z?)>vnOZYyM@-E2QxrX~Bi`l@?tMJhmV^d4j611@LDbL-|=<>}We~bDqeaz6t ze;$DV^?o@{H!Twi^|js84Ja6hVvp>N;_U>qHa6~M>1Q*a>+29ZxA*hSS9>gma@7B8 z5bgaccIUDE%mYoj`;W)`DM@o;q|nSkEsJkQ3k=l-!gaYTr&B`Dn)k`)xD9VAWZnW9 ze$k+z!N6dpVbsWl#o?E9D-K$XR(oIL(kS|vLbK=KSC{q~%4sX?djQ^6kT(MNLiQuc zi*=@J2ObwLoWqjGH(=5R!!o)ej*a_LK%}jg@6AZ`$CY^Kpt}uyW9#=`ypPA*5?`>b z6?9l-7)>;l&eB7J=hb%$&qfumnldoOp(Wy|Eu7{3&d`>|PyarnnEGtazi}zX zDXQO^SB4esFB0)p__Z1!BvG5>jW}@Dq#2}I*=7rBJRaR7q&H2~)#92PdDF~hj*stJ zn`qx~xEe0W|Hi-lH@D^gkaPKuB!&Ot-{9+LdtR+{cZO_rb#e6h07%HF`~8r_{J~)X zF8_cR{o6_ZO%(F~m5gI!`ad)q9$;$7s~bO5lb3pe##)7pCZLv4-6M$65#0s&6sR6I z*5yEw>MdE@#V;Lo$Y>x!b&=hY22ms_W%GF@YKTaVCfr*eUX6Jpo`=&f+dsL->TWYr zIS)O(tzSE?Dt_sihCu#(7SkG?dwi>T<%%R5?jDjrT7y!RlWqE2p?S1}^ys6IY?h2R zZE;xoF(Z#C*H@N1#(~c;{|{y7)FTSeX6v?X+q-Sswr$(qZS1yf+qP}nwte~}bCPe8 znTzuSDpePiRO(%8J!>GT2I2dc={W!XaAVp4=E(LQz59dR(s@I%(0|xnzyQr8?f=vV zrY}?rUq`;m2SOyU!w0W|J1%q;k&frX>A|dlu;66<)7kGoAM+&L$e%j zKT~UObyKS^A^tj&P|5cG8loiz8v3U7;5Wbx%&jxP!&6BrfR}BsjL4h4Jb`=3rb!14 z7g4KwaB+=^a&5umkl*CeT2j&^CoDX=IhH_7vYikx&`Iuf_Yx!rciKkjU4Q0;oU&HE z!R|0MJ|wlWMwf+xh-+|#ievg)i?(-;jlg?GH`}eFj*f$NisgUD$IJ?Y{WofG*x;ZJ za#h$Gi4`*=LS~@YC`Z4cc5M~Mn)aFU8M7HcD~zV!x^`$4$(phmMk~6iSJj}Rj%8KT z8n+p5!+*`-c~x{0a3jcOxLIGT&L)-VIH1kYHkIr6uZN*-D*SQeo58m_09qKRL7zGV zT12qHo;nCwA5k3zHCANbZwU!Co>cENqx{(5q zV61_u2^mud-6y{}xiy=fr7uLwu$9PiKC>aNf(=8%%BZfGm*2dX%T50_-Fxd3$HGcY zjtF0kuSxO(_08kX`p-B(4j?$VBCrm)Zi{21C81Ybi^M^$&;H*2Mqmn@@6+G!z-q#3 zAzvI$Q}e!A{4(})&?_;${2tt9)73n9VvLZse#6*Y!O!(Muc)zWce-SOtv& zOEFwb9xvw!bN1tYG27a{`BWH~*}2}UFeD5eaBM?}jn_&r%1EGp?7FeVlMw|6DD|(* zXl-s^C=EkCC4rXa0CyE=NKl*n>>+0rP3PK8Av_R#y@Uw3V#p3n+QbP;f1e40APE{} z^a6O8u|S*##fburZ^>-OC=1)wfvJ7n)y-7=fZO%jiph~%OJ(oM=)DYuQl-zy`C|Ke zuY|G9?`%yqxp5*}=A4pk^f1-&v~;vIb+dAoYlWs*mvP1_N@6mfQ-?hfwNRu`t$=9I z-a~9$i^b12$qmrC;I4U;hhtf<&seHMPa__Jcj|wQQVeC;wW})@6C00NgA-!l_3|9^Pd_Ug{YOJZrbHsJ76>CxoR0p6VXX-dB?OKVSj=F4aI#w zVZx6)tYgBBc2hvGNQZ#K=o*w->UH=|!;7Kag%vUmT(F+st|(C&8kP*{ifm$$krB?$ zPWTgaWw%wP_N=`@XOk6YqbPvSI}MMOC&n(R-uabE%}}+jikqAYsH1d|0v+-N?9V~b z>!r*yAr6Mx2>u8_8B0)sMM>9X2ZB6uHkz=tt>A&c- zzSYHMz0U^9qzP)LT)E9`u9=LLl8Lqj5?*>YMXDua1G7E&Dm3F-uj*}AoqF1{x#b3d@kq{ z$FRBRN`efp-=Gh{TR0%z#LM4^%8sPfj-$3Pd#Rd9p7sJ@HdBYEOX6OxIx4xW+2Lm4$hYX|LsUwO9E*_h?p|+ zSHzl#rP%<=BB5X&>Ceh3aHW&FdADw*$ZRntsSy#6 zdBlWDG8cW_kxsnYJCIut9`Hnzg{I8yURF(5bK`|o?H7*2QoB5As)gv z(?hN&!#6I{9DbVxHD1%muPgV;d`O{`o$AoF*JGdT3~+{(teuF~?MXMXCOrn{A{S4N zi|44IEs|`=JafI7$s>Hq;9WfuR)FbhL~+1R=ZPziT*534C4MqydI4{d*@Ru_>**&UT3R2@$PKpj0YQD6*A|u7O z#+)fI*y*oz3bscA`sdXcUPROThA?+^0*feIWW19M%@bY(@0EQ9)HKN5s|l9wvfoOaPc2yj2M1 zW6~qK)`r%BcN=C?Iu;GJ{yt>U6YKfsUO}Lkh&YMV%YYwn9!1)5ak&(g*&?LvX0&{D zy4d^(K>jehPJ)0mT0|@iBUUlBXwI~lX~<)Wyt^po%x%!PVMrGXUThqEHKcNGL`JB36m^<^A#bZ`W68{|AwHn%+QS)c zl-4j0b}l~KVXctNu_DOT3{DwMO;A2f-2$}45B7D1ATN=mP#cC#RXbk&2Jwj6$;m{V z#KzubN%B-;BH8D-@?lY|9+J!G)4S9kNKOdF2>aq@UzWzV8Bw!;yQgW#`k&p7;>4ou zI>7Rr0WE*l_f_CoKMz!-WuwuM{wux(nFh{6UJ(hVIGeIJ_b;FYP@^TJ?ta3nbr-vDySb~oZPkv zJgHqE`ih_va+ww(D7boS$m`X4nH2g1&LsxQ&ooafX(znR48*;D8N#xF)*YsD``_B2 zA9tPC5ErOlFi42JVfH?Y;CiQ)bd$uFN9Q}`_tPK8sUnL`Ma$3E0)a1GC@j$`}Fom1jCOjg7RjHZxW@-LC;WHoiz^s{(FIm~E zQvzH?jy)^P4GPI?z2a(EU+_g1fJ`sH>|kq%x8S4n86rY|D%4{eA(Rg2!-3Z~*bpQ*KQCf$U)f0v|7A z{Qk|4Hq?i|3)M=&_2K@}a-Ih!hS?kW=us(NlBU{fP0DoSM%-1 zac&r3rekVPTHec);Dm%!#t)BRvi}oB_H8$I=0zn@I;NrL>b*5LFR*=7?_tqJvfD}? zDc*{sW--s$r2M|*)V4M`^vo&~ydHqgMF9x1ux-V1?yh^us8Y@RHzGogIh+SaV_zFY zfVF!k2UOGic{xW9Aw_ndEu>{_M1HRB-h9DDI&x*HEYZa~_P{$$Cvfm5JzJTYrCnTct`R1@%dGTtp^RKi5 z)g?hjp2UT1TB{$@VbaS4?cu@Y(nt-gl@4^IrNMklzgquGAs(|H3Y0QK88y^3XDCqH zLTfY~DcQI>l?!teFLWs~YEp%=h;@-*RYY<7_&2aUsjz6eW)kfInKKV&d}@KJ$y_i&#lNFy z1eV=d=wfn?o9P4#c7W)+ zeqfCfq?D%q+xMB3>n%vLw4zOB726&93A$hbxi@tPtvUA&M77|=oG>$R+g+y-QaVsd zpNc(qCR|pkLa?E71aBsb2X}sVXfQo~^xOV5FuNn_Zdd)t(#F20%c(bw(%+Ii#s3z@b8bO60xvx@}3-@&a zQ20$l-sj)dzEvZU1J!}ucr<*kuIEkQHRtjc_ElL3I;?6GU9Zm-wE0iK=YaY2*r42q zZw#;T>_iW1(2ZQ}m_0Axhv4PL$z^HZ2H?)cJ=v`gOy#9T7N>|kCr0}pc;S+2j~E#qrBHvT)XT0`r8@Ai3vu8A(7tIKO}B0;-DA# za&>6tI#L)ch^o&$F!s0rR1C_Q>>{(Dy81 z_Q3a?jvlI%Y3UWyt_FsG2X3~3ns+jkmo13<-aW=#4~|GQ2@@tzxzv#cIng{(#l&(@ zG`IU{y8y;RBqTsZ0r5o>OiuW|fMX5PT+9=p{a&4cx-BaLg}|JpOFXk0S?%_^KN)z_ zT>w{)hjj$^Y=vg^mMSR&e8u}?kOZjm^P7j8+A^NHtOFKNjNDA2H$tTy zI^NDm7x>g~EnTU!_}OyA)(`tr3V)z?wO`MU0wNBsB1P#lZC1o?wDn)fj%Fga5@NFJ zM(%oKd0zd6Gjz4*T25(CTRFRy%1%0adcS54oC}pLALWov0=O;esYoS;*hjU2bxyAg zI_QEMjKRUY@PFXo0uIW025XRUW?o<`V4~7ETqc9^`^WfZ56$NFCU$3CUDOJZ zVgl22TW_hA7|q?g;bhqj*+zaD1(5DZdk6T9x~`k*kdx@=(B0_vY_S?4oE5o zaJpBL2lPb>BpatO9C|sBjY`D^94ezW2p=OOi`vOp{19f#wBkBhSPcx<=gF1ZX7@;Z z{S$tf6@z*I%%UI<+#dE=P*F1JTHng<34f3lM;Nl{ZHe1DfCW;OukiP(AQx)(YROK# z%C}42EHjA<%AnOn<3*1$iA6Y$q!Q?soiKO2;OF>4NS~N9$160jgPNU)PI-~Af;#|< zxBx!aw(eAG9b}rFRJL7xNy_MXzD-b$#XZcn!c!0)})Ju zn%Cy*yNEP0)DVDXjI%aq&7Rj5+ma*5goh_uzL4lJFj0vGC)6^47&^9A3k`>a55Jj|I`g{ZW!zz^wR%!T!7jw2 z+Oi#Lim3$5{Ew3Z9-v%nU#}fhRw-Z*M3hiYGWid+CC^r`ES836b?pl!Ty(C+^{>xiKr<@=96bgm%nM4gK?mUe}h^CI}usJiolBVfi`;UKlK*(U< zOpoCX9Py9qzp^9jRn8-qP&T1)m?|uKjdN}p*JKg;)E-a7gmlAkpJEA|20&J}ob%NomsxAWAj>t4!S%aUq$HQ5P{lYxdg0%2kX zD3POC!!dYj4e zGW6B@C6bYgdWVP){?WB=*^|5bLK4tG-_H`*>|}uX*U8L;OtsYPj0%(8m>TO_nC0Rs!pg0Tuf6K0%Wa*`=pdU>WYJYQ4* zC0Hxj_<74815fd@F|}JRc7AV8YvMYJ*##?5cjbP5U>pm6VwpmF(Nu93^4WKzw%{NF z*quC1#Pc5^!-b{wiWE;#Yqd8p8)eeVuL;mD09j9%-%nFO%Mj3A77Lr0D!rTKw6{lO zJJZ+VD+9DO`s-Q#1~UCLL2kG$4`o_<=_bPYB$(}kN>CZKGUeX5GN(vV zxnzE!MsCm=UHd}krxCNYMr^}Ge|!V4wNbi2OQ44!3;{P!T0N zVyPgybndBdirHl5;}+Es<&Q#&zmk30)!cL5A-;`v*Eq?YpJfM~QC66Zh;Ms}l=2}; zID|wtuf_a^yR;Z^Pts1u&fWB#HZY!lIg}6enUtgvi_<&$T z(ZY66kl_9N^N~cg;2fV7Z?Wb8;GAE8i#5IsfHz;J8%yCN%o;&3Ey zq07Y&$iW2C95QAx7OV0Zdv#DHiQ^1E1(Yy-rIBwo?>y)D-FF@;b4o;n9La& zf^LJcO+4!iBTxb18E6z}prRv6msA};QZ!{A7d@`UOF>PQt*`|w`m_+w?G@TwO6Tt$ z>q(`BrqJJ`0J(dWmeB;%iOo)!a4W{|&EQBP{os6E&_%snyC@@^oHeec@zkoSS!Mr1*F@@p#`448vjfY>26$g zdbwRF`f$`T=gqifhlCLU6DV_tn>F7FOe7H}%_C2HwpBbc44}Z2FD9i|lAl(`qwwgK zOb}RV^mo*aj)UT+F9k0-HZ&2W%^;kBo{Y#2pAV7tKXS*)abMWkoCsX+I+^nh=A)}Z zeFu)2nJvEcw`BBq_yWrC6`5*f?(&k@h;pENwK-D|5+IJb%K&R1Hz#L)hh-H;&LC!j ziKD&`(d&cXgVXuCewSS^hJ-|I{b0>?xyk->MuMmuub4(<5(_aUW_arVr^#aNOu4(- zIA=YmFeVCetgqA9WN@s0QNR1UMgWW%yJ%10?l0HyEDvz(al+PM*lJ#M6=jiQ z0Af*v75fkB!<3kNb0dMQC@J|3i~>VpzS%DgJYVtJ@CQeIvxAOVv^#1Q0Sl3gxEW1M zOu_`x5i{~Q7pf5nZ&=A=kFgZW=l!oOcoQHVPi-=ip0Sirq{eBmZ~vU>epe7vz^ioJ zM!z695NGeq-NTgG!i5Y1k($mKPwqh`tg6Y&D6n6YNnklU>pw|F$_1n}2Js;!d0g5V zmEsbmrK#M@9m6+!%-cPtkycuPRZs5%68AOB^v*amK*<6PAwL)ihxg$H3)QcogHse&~kTZk8^nQ`EA z>T-3k{M70wA`3a1;RaV9XtM?T@=_~v^nRrx{v^R6Q-7!sCl($a5Kr4!S^0@4B*%ih zDvOovvAF5c0MRay+1{rir+aA!`Rwc73JX|)Tqv*FL`H9s67N!h>mUonLre5O`E zr@qGN(OF1ra+Q&F1&>;Nz$s&cr(g*t3&4^K;Aej=Jh-l>b5xf8MVK02HeeZ# zDFP%eTZr)2n^2a!ZNc?T+=f|yTN;V*tyO^BeGRZnrYDd(3Vd5uEI26CP#CIOkxGEu z4m~U~duzwbKut+enB$;05p+bscL~xYDQT!<+SXc&d28Co3}yjiPxD$_PPnU?pzo)= z>}5wgLlkFH(%wknsDoI;xmP@rCvj{~A(4cynmKCEONvjo;sjoET9u_3bfpvbQ=q)3GIxcM(4qm?kfXbjEb_4WautilTo6T;i+~a|^rrqV@{z&WJQAHNL7CAu8eo)Q6 zezW?^3_E0>nCc4=Iong>r(w!wBStR+U7k?l?jKz3Ql=-7=l%0lteetTlC*z&aVmhh z)Y2vA4c+bTf5&dp7>kNZB+TgeyKE{lpIMTZm6_}pc7MKwiW_>oDE+NGWnB-hBWHr~ z?L8K}lhBV%O&KktL}C5ObY{X#cl^R`z}hf*^kg(1e!S~R z(W5@$vFvagExXS=rjHny{VpA+AIQdtA=tw0RmAgwLN)QQyh2IZI?UKhNA#h+Zu9k}I8|?w;)ndAVBlpyi4e5c!bm zcc%VoUbnkOWl3#>vx_EW=Z)t|B%Kw!k4Dfhs2)s9d%X^*wfJqfIN6y4OF_XcvR+w~ z9K(}|y;5`*45Y2bml8?zH5LeEK3z|VQ9AD0+Bj*DDj{igE2XTSu^aoX>e7jw>z%QX z_%bqB&yer%LUs#QtH0JzcbM$?<*#)yAkWzLeJ7h6kC5XD%ML!W?qF=Tpr3Ax%zjAX zXK5PM>m-X7@a(kIbgN{PjV)R>VWyq=e0;%&@UThz4=xPW{~%}l?|zT}UX=O&&>WwB zJ3moB-#QKGxuLP0`9M@6c9hJ8|_!zj^ZmhEDv zj{XN$Ar=x`{sk1^-D0a6YNJ{MbE`Ze3@R*I224C)*k2$TrBnk06|FcDED};WW@g;G z46suQ;O8P;>c?Nm$w|S_W49EMblzr=H+LS~mjNVL0JKlz#sU_ufu~KazS=_*Mo$6$Vw(Dn+owMimWK zLR2O}l^K$+Q|3lFGIxay|A zBPzD;P+$~skmVcV`;sMnsovc0QTgC{5|fxWKJsPuTywp{lk2{F`Ij7g3fEctC^uq% z`}ny{+CJ?fKiCIOM@KwpFTasNcKOM|&w)7*y2HF(Hz5M4t+w(p2nGk#WujpJ)qEz<5?zIe&c31Lu8KzKA_0bit?#rFa=%fqcam{Y(?Y8<{bYT^A6_ zJRi3ZzUkP8hRzqh*kd znMDnE6I-u(;`rg28QaY$ONUH8YpJirxGlKQAA7ABi zJKPeq6A**6!*235QG7;*Ce%M5yl6zGQ)q>w{&2vQ0^Nij2&|V9gX(6!-|%RFGR5IW z5U+GRW@bluE9a9myWef*38?(TOWH%?8_NA7qaz0N60Rlbrdp3VeZ*EC4jM&{s@Mhr z>o#RvIVkIn9*-_)pjNX^OPKc~*r(e(SoCOi$Z{&a0W&$v)e{T~WO^53+Pd`-B0rIS z^a=bk#rCew8@u*^u^-*e~xRZZuIPSuIgzy$-(w9Y^bl2fQGA8(5%s`m1Yp z9Kvs#&N+}Q=;4;H$to0pLt1KJZg>HQonUiB$o{mw8nNgk{}QQHvfb#u+B;0?`d6(h zF3b}Kj#0sEo!Q^pd@O6iuR`pcF7)-4d&+|>jm){t@&44glYlG5H`8y{3}eH5V$tqm z=+GtjPzr}ao_~D*=ltDO^mr%o@aNcp9lK*+VHN!Y=q<=v9f90;&Y+;Oy zQrBT0u60VwKeLM4PL0$)SNBHdjlikJK^= zm`<>g6uwqv_8EYK_*CPGl$>t_1x6VvAph3jkTj+vh>AHDhy)SMg;$zWNFy2qrBc_= zbO7ZEoE7zYORoxdh7B0y9X0M7#LZ9(1byj7Xjt$Tyd}wl7@=B&OP9Hg_>6-n)S)&$ z_L!hSbdw=Cb5N>dgO{mpz(K$CZJ25>v9EkXJoAkgG53c?xF@ES&PdPSUl^r?Qt#d( z0K;$+_F9OzAX=KwZ>xK0)7$ClFr*A5ki!pr)t;Bk(Swq?^8P^|4v-9AKwYyL4pjNL zT))_GV|ASUgAEVChyN+xu=+}D-s zAFBFoD(i5E;U0~h@44yCQG;?TynJ?U&{)e&0BlVN_P7gT-*z51-WP0^GKOlmp39T2 z?+4q+*YTaoR#%dePC{~wrtki86+EYw>jS+zm=DE0|D|VrngGZO7GimoG$z!62nO|d zN3rD19~umopHC!WMZTO|p-qNZ!Yx99L7YV#Gd#5JevYi&PPB4?Dt}6rn|<95h&w;R z6<;dBRt?bzswbYuB&iz-o$iFCzpdrV!tBXTF647CbdML|B$3#B7Ih7JIF=}s(gDW>S)#tlavpyiS^poDd49kPeY5#G2<(&cf=Tc=T z?8IJaFMqL+>g8bfJNnqMO{L16nZDZ({*|MPNF^7r#3Dq)pRt zzb328kqk}W1M^wk4X!2px2lGP03hfRZtc-*slNzX4)_8*(bT@@yq5ufC;d=lluZ!= zF}JKT`(#g|tmF_1DPLF0@Z?gcqC2BZ$Esm`LyB0mCMg+9NEu;#`X^j=U z{*u#8BlL1^xfu|;+g6wB^X1RjB3pnK~Yz+*bH_ zE{8$g(SZgfb~>oUFQh4uUK8c@kx{Pi(mv^`L)~b28rkxCdb%1D2eEbIQRd$y**w_1 zkUG5H7&_fv=u~!Z4CeGr_oUV)vjm(P1(=^0659<9WO#O{tH#l52_KmL(%wm zgMWEXY&nnMLO#}>3$K896A{Tav?(R*HfZqO&EDx9YO@wt-WnGngeG2;{u1-jHvA^D z=~TBCWKTbT?XOxP`FM{xU5`E;6DJL36}lGS7hL>>!l9>3?S>kq1xDwrW8J-F;SQ;? zSze;L$_s+2&HW{*#Mv6hn74_A?Gmkul&}!N%rtx$3_QweKuQCd(_G z=K6y`kCx|3;I|<~gJz0SGSx2DE4r~ix{iVm!qw5ZNU-gKW8xU-q-ZgJUnJ#P6yrru zeWkKdUbWU=I+!5rpOdVe$Gnq;K)Qhfa|_@BwC`}*XR=eHBIpU`Wt77!TAzR{Ftp<2p)+NR!sAF4d6e{Go_ zJpw&BwGVF6e;*2I;cHnt+Rnn=iLysvi5vGI6t~qwmL0YS{9*!}lj`b&y|?wzaK2U7nL6VRbn7bE z&ZxcRn4vKF3OVfI%WqDJr)}viSi4xp&B+h5 z16DYwpZ=xMfE$3+HcYREP(9+yA0D z1(R~Ien8}g{G7ai;rpZA#Co~tuR6$QQ%0tT#>XI(QirI4&N~K9h2MO?`H%X_jW+uN zB?OiPRp>R_bWLnF;#E6^+g+(1$;M-Db!oQr%M}!YL}M7|Uyp9!gzB_2S8PSrER2pg z@;Xow#*H~2VQ>$kc^XEELaV_7>;=GaE)ch8E&menOR5A+joRI9c)uj3yp_GqP^kdm z!9eJ{;d(-@HvQl{(&7naBH#ea0v62uTT3<#R*R$`gmDXdgthQ9Sf!VFuBT(Lab1L7 zIerGlV|9934l@77pcGuJFos8HkMdic7=pQ|hCJtPEC>vo5wh~=a*#3g+e-kpJr940k%P;l2zNVRE)-;DS(Y;>I9 zH(7HC6(K#;)6@DKhw}|cM*6q`#Hy?J(A#<9%8@O#leb_@|RBl z?Qc_?DJRQ{!Kji>q$BXw2YiIeU8jFwrN76d5`*uxH)Q)IqL=7@)i-#U(8b{vF10EyQrI znVe0v*^Fb@=)5p5ATjbqBT!!@HDMIsL;$_6|@Kn}QnXEDQoCvD+J+h$huM4zJ2meYe`^YQPN7Jh0ts_fw|(S$tx~q;}D} zM~*i{9#a09et?CYQL*kJXch&*n}xJM+3^TbjR2)X+>d@}x8quIc!w?XSlo~L!KdhQ z-FCZ>A{S661&f~)_^6^yGhT(b>r=5K$A;l*{u;IY7-s?vwSxS?<~2DB`oXF^1TnIF zH3Oirxb^C&<5Ia*eb^obTmFRTq?hw|n%Pkw^L@5l^bpkFvB(UMiyl~P_v1xWh1RA zr-WK%3Ma-eM0oR5`bdh2Y3>=l?zfWq$gDs|g}b7Hu0$w0Q@Epz3?o#(bw~(pND_9o zCXHmA>XbZ1)(uwK5MP8DFD|1&Cv1uV6D@e2Oj(3^s$@BL9`%q=~i+!=~&Dw)K0xD1c@YCpvy zq-P@Z&Y)@~tE{SO?tTim86sQ-?O_2uk^SRcVnoX)^htD11>QeU!%wQ8Vtr)KZ1tLc z+g$&Pvc}vhl^5ty+CRgen?wu}#x1noK{5dsA;J$8OVmkL zA45WJuk5>fG&Ttx4y6@ByL3AXF(AT?qw3BOf_Nbsy|@M%&-@C-MzOdvr2Vmfn}*Fp z)`Y2T*4TI2d_mvZG<7D0pe=A4(gy+7@F@+n=6!TF%N2C_nN*H#c3o;a-Rd8@yS=dE zH&Q~``DCy2@VB8NqT%0XcCrwt%;rk*OG_cft^Z0>K#s26DD&zS{iz$m!%?XOg&->T zh9s^cLMZR}0(94%=U{qf*F~^Tu!{>W)ia6jBb?sGZ+z(Z8Yhj-$+nj}h68BZ-{&k*xiChF zl-@dodE$PxD00acKu&f-R}!gBB(BpvTA1PWYv+6%>X>F`>H6mUT=wpE0N=Ek>3oCX zr?My77I&|N>36n6TBnmqQE|gbeDl6eHB4Vsz=nu#o#I7EZ z??*tzsSi_!^sN*}DSq2N!++3Y;w&g2`;J##39^I+ElVH)W*&r{MgM_-O5Q=L2js)D$adkGDMOqs4 zhmKJN74nu<+}T1`_M3FNZ>YJO{8bZu!@MoBY7VQLkXyVb4qAQDDC9hvNT$Hw%(bQ$ zZ(j60kJMdF>UN>BZ^wX>`t9-JhaM8s*hIpEgX_GtJu|ycP_i{_6^k3=7#j*(3k^o~iXoG5RGGQ%fUveIO0Y8oGEi21^ZqoxLKqB8q@ zm; z@M#wMeW8fd<4q6wgH@Mp(lK;C>-}GrAlhAshK7<3cr;LmEji%hoB=kYPZVLXJ0YIG z*z8^SUvr+js23TzaCbwbeWwQmB3vPN5XRcRFAG09PzLwLrzKDag+Wwt*4_T{j_aq_ zziG)!4VFKsqm5~ohBCnG3UsFp5K4{iklRcMUIPyAT5+R3Sv%&9aYpdg>H1p@BQVBp z6XrN(E-lN)+i$gEY~uvcgq}&SC27G$prz}^BjpVffBqezL4@_BOe4Yg1Jdd1GO$=~ zNEH(y7L_w9F$BT}6|?*ZERb#q<*zJU7zrLv?KNLS6+7qAmlQXOG|`o_vQsl}?r)m`*+>iwdb;Pb;zqU z;ga5NIf_ta%TPTobdo(NU2B2bUKgJ-!_NQm0wm>0={TsURTim>GU(DxLc_5lTPVIg zTdTc|{hcd^G=XKYS?0qM_@Ob^VqcLJKDok^9VXNVVm7+%KUit)MV_Ki2(L)qj~dT8 z-&=P{e!iwFM4C4LM!Vlg=6N$=-6xliDDk550iQrMEPcrVSfa{*AJz~Ka{g#NcvIg= z%wvGf%wg4=bMM#fXUJ*Yu&J69FW!c)-ww)9{R~4q{2gwOPS{SVo$`Lc?UQ;F!cIXR z;orr@4f=o}*5$dpv%;9ZK9NUbTI5)uIVehd~F+0p?{ z%ut$d8LnV1p6v?%)N+xR+`QNS{z2q)9US;{ zp!=@r4}P1(C-(FZgJ2GQ0ccsf7asSVpp9lItePC(XM~~9`cvBiEkq>G9r|(5=bQQ_ z#jgJ_f#{jkC?4LztNM9gx^L(rM7FQtr>Oko=_^+5>J?ALLf%XrJVUycU_3`6Z=Ote zmM$WQMm4py0z@OnN3u4tLe6v)OYW23S^qYmb|Y8rhJHzP(6qX2WFnoflT0g>V&LPa z2vu(=>%%3P`E}ceBGP5yk;1bnp+rqX6BMN)G6eO_vXNx)+!gC%cgG_CxNXLW z8MVeS{Q3EHa&8*-d~P@qltkH zl>7RB$x7XyzB4`HcHP|_!~T%$81_J90A~P@Z2!|H|B+Sx|5lS28UGvgy-E|(9r>s| z8-Wb%v`jE+9W#wG3}T#&f+{RPJQ%W0E8=7Qs8(#b+_{Wc%47UDk~8=g0Tv#dqg}6v+6~U6=qt zTDQeFlA4XhHh2XvL99N$6!IXRDD=Qt7bU^#z2gj^9fi#ZOk|zXn62QKut&cvF9udE8mW zD;3qp3zm`aa?sKEPIbOMJ?yiMO1>7vziQNXz9v3a9%lY?*AV?|e$2WX3O>84l(6*F zHSql0Y`eP)K0CY95D|HkI-a4Un$9FoFq@v)ouSOkVRBX6`y6#~%2{hQ*w}QbP$RQm zO{cFB*Fec3Oc*ICLMN4SggW^`*}eJMCP+9TJ0bW)pFVJecjUVVU<6N#oD@1Hh9`oK z8yY1ZMKY$mC#lEL_{$w!DU1|r7OOJaFp6bNQxB&RV=dZDpcQ8`DtqW*Ocx(SLQE-+ zMkL@Et1TRINDLZ=Ln(+7hBXJ#jp+U7aG=+Z=N~r?h zkvWbfN)?(;R}q7y!6H8SE^@E%o$yIvz-iDaQ;!xB6XkJEi|bbNN%QsC0@;hqSf*ik zmeU7KOU9tq(8+b}X87is{R)#?R*V-=2k-~5ZI{=#^4_8!BIEwJxc1}*0f<}ZDi3J@ z)7}o`z|3+uFj(%ofQM$K@NXUv%!XAoxPn?VEBvrJ+B@~pIG%I@tE6E~5>Rvwl{ddF z%L39x5x12I;M@mHKUV@d%L3jYN!HJV=8h~gK(J_ZghoILs!4*AM&9zvpU@LLwLAMu zneF;MkTc#3D}6}29m3ZCrhuWHfQyadb;5)YJLn~>3rv4;-Fk@3utKvaD?3UyHd5~gA7V&MXiB&R_?4r6@9`3HF9enIU_0um zl|+V>>z+0g`B4N1&CBVI89&gqKTxXAUOUD#Q5W7Sx0N5eTiiq+Hqd-|g1~^)3VB}v9A%dA!nL+FP!|)Lt-NZuec)H{ zJ6@H*e_>lBV{ykQONosxp`1eAx!)OD)&3hj$hRxd!L_Hgtx{V=GD&7f5-(@i*p}XK z$NZE zdqwXM3UGQ`^n)TD5|ULTbGf37>;501$3Cy{%`D?dcn~4?akp=xqY51vlFraB?*!+K z$^S#yJ2hz%Ztc3=UAE0G+h&(-+qSE^Y}+>9vTfVOTej`hdmqg&_FOyS`vLjnLB`08 zyzVisVKFQ3;bV0-WirqJ?GR%yFrPaHKEsz;8S_xl=^+_auTe=xRFaSy-H;zEbQ2#3 z^m>sna3=*d%te>)WI$Cx#I57Bf@^_1Hnd%Rv#N#r6n0*#8fRZ0hw~t*#io!x2csh} zs&PW3@B6UAxwrBc0ig&Ech@YZ(G8$S$_`{}oIv>rCyOpn#QA*c1qh)cu`$&G`^M%2 zmKET+xEc~j|Ixxkkp~i|7clWsEVT*@Sm>Ai=+&nr=d><5FZDNq5rJdTxg_HcW=d*i z{`ee8%OMDo@~DW^4Ls`3Eq=q^!uj;xHgKa}qd#*`F6S5QUV)-(s}sWdv?_Iao;*Ot z=c#{@GdhqBz`td=VvLia5Wbnqufd|{tEJZy94>PwLrWbDaf)n`!5tdzfG4u*12TTg& z+EGt`y~v;Ub3_4De~vPif=SgKvb#&#+VVrgUYj{UmwrEOTN!FVff&XPX$TyMQ&=bx zB?jTJd}w-oXz~>NshUD3#G#CpiPms89S_?JR@JGdp`x|OWW&q7U!`Waaz@d9_=)-z zA(|72{y_HdvTIk;cdFOvQr419QweMOX5W%6_v;RFGvdl=tqbDTFSaI}2hKx%cb$-% zm#D3iMOvFYWarLaebv z8akcCR?d=&VuY2mH&u?!{Uf?bJ+GiUk3}pyWnJs<;f9-@M@x=;AD$QIX00_&_tsnW zwKzo9tb3YQ-7C3Nw2}GiN4kzjCti0Wc-#i&yeS%iF`?v3tskQ;2+VZK{J!3Q^ zG0^_Q;$pz2Z)?WXH`+x^Q-Rf4O52%B!3OYJ6xVIul@TE zd+rLTu!b)4(h-$c?Cq076j=lsV@sywgoME&py;LguxrcxWB<4r%Gee!Qa0k}Q;4y#DS3Pt12?b7v=Qm9_UCvVRtPW}}00e>wPd)eu7${)47 z)K17;;jT+pIo>D5zfQy2Q0yDH1_pl3YMf!!<0V;H(&3V z90Ker(B_WJ@Q!Vnf1b{WlnZ}4f5oND`&pTKj2bRQCG)`>T)Ffop0pc zB?dEUT*x`$XF-)r+t=LQoicwlc$|=+L^_zVM5Us-wzJCV_NleDylV?+L>bxDZCvqE zsKa9Z1yf8$W71nTqKcpLj1TL&^d6?Kx5Nn^DbbD2@)X6ugTFrLbz9QNCTT%}E}7U$ zVf$0B+s@qg$`s=DY2@(p$Ft~*()G%1TViYI-`}L^5?$f;Q7IRP1%xsy?W1n_sL@y+ z@))p@2$0=e)ImBcy)2o2=|oYEEcw#uH1E&r#%-n&AGg$(&gCsZLp#u2 z9luR%h<%(@ovsU8WeJ#3SJ^Ar))!_%xjf0|D|8&N&ucnHZmlauGxi>q{np3b2$?T% zBGxN3an-LJ29a%<5vfP%|MkVdZgbEtN4d2z^Y93#*j1QBW(2%ooI#6;KKc7nm^t@I zor&{Aa+x5BFtxxy80QdFtQ#h+Y>_Yi+kce+G82o z5f0;p7UNUV#QnW}H7ID8egLM%1$-?@naaS?{yr^DIf1+~2N_J&fK?L?l-<^twk5tw z#7de?)88qvCpP)CsW^8uaqtNN7nt5Adv+6D%#7;syLk_Q+ z(=F

-

An identical 100bp funds-rate shock matches the Fed's own pyfrbus to 6.0e-9 (vs 1.0.0) and 1.4e-8 (vs 1.1.1) across all 284 variables and 20 quarters — the same scale at which the Fed's two releases disagree with each other (1.3e-8). The paper also retires its former headline: the 5.6e-17 tracking residual against LONGBASE is an add-factor identity, not evidence, and the same gate passes on randomly rescaled data.

+

An identical 100bp funds-rate shock matches the Fed's own pyfrbus to 6.0e-9 (vs 1.0.0) and 1.4e-8 (vs 1.1.1) across all 284 variables and 20 quarters — the scale at which the Fed's own two releases disagree with each other (1.3e-8). That comparison is the evidence, not the 5.6e-17 tracking residual against LONGBASE, which is an add-factor identity: the same gate passes on randomly rescaled data. On the fiscal side the government-purchases multiplier is 0.72 in year one and 0.64 in year two under the inertial Taylor rule, and 0.77 and 0.90 with the funds rate pegged — the pegged year-two figure sits below the 1.1–1.2 cross-model range for two years of accommodation. Validation →

@@ -92,8 +95,8 @@

Exact rules, estimated aggregates: the PolicyEngine tax&

- Your browser can’t display PDFs inline. Open or download the paper - instead. + Your browser can’t display PDFs inline. The paper is 25 + pages — open or download it instead.

Open the PDF
@@ -116,7 +119,7 @@

Exact rules, estimated aggregates: the PolicyEngine tax&  ·  All papers →

-

Cite this work

+

Cite this work

Ahmadi, Vahid (2026). “Exact rules, estimated aggregates: the PolicyEngine tax–benefit microsimulation in an open model suite.” PolicyEngine Macro working paper. https://policyengine-macro.vercel.app/papers/pe-microsim

@techreport{policyengine2026pemicrosim,
   title       = {Exact rules, estimated aggregates: the PolicyEngine tax-benefit microsimulation in an open model suite},
diff --git a/papers/pe-microsim/main.pdf b/papers/pe-microsim/main.pdf
index bc456309c54321dd5657db7e361a03e94008656c..812a1be04b3e460ebdd54d077a5ee95f670e3432 100644
GIT binary patch
delta 65058
zcmY(JQ;#N!7DRj6wr$(CZQHi>P209@+qP}n)3)w;y+2{6l3mHFbrc435e-xSE&AY{8v~rD?m*txG3Blv8)I0v^N#9tL-oxw997S5Qb$;3EA6Ku#DZ
zjFgahU9V$yU)a-+Y;w$w0r;oGdM8K!!VC-x}NLPL0$X9>h{<=F=?n?NBLvDH2SAUZEE`R0$*vbkY9t+lg(&QX2
zW(p>Ggz?+IF6-<}f=3uEthG=nJ#I;SULR}zE0-u;ec@?z1KL&#nwqhJA8-{NWi}bZ
zPDeu1-U`G7+~0qiQcVGCf(P?D2k`&2AwD0;cV-7xfrSKkYU-DLjryDo^#}RCas%8n
z27L=I{qS$EL&>o`4Z-sd(8^-i%{F+s7`7ZmyR0AYcxe@8Q8Ey*et0AIHj0RQXf-7Z
zcw(ng+dAz{>8-Cy%M^tu0o`a;J;Di*d66??kx(C0jw1}lAp^1!J4i5#7B_m@mv0a;lU*&NB}`!*TER3bV~mYnkDW)A&wF;wqC{Y@H0RK
z^NuZZwZU5#5IS8N^rG>VsJ*>?GTf~F{(DBky`aLiOUO>3<&5bK?4j2`PvtKvkIy?7f|~8Cc*50$qYT0V5riDk?#4+4u!sb{0k+fEQ=Dl1n0fJHoY30oz=Tan
z-Rfm^JRzC&4ziC+AC&x_EXNJNjPJr$NMJ~b48;`KQk!-3;OukV)c%E@ABQRI=i7yz
zAUdU>jb^3fV-3visT5TZUYC=xr>?&(CVe0CZo#nXms$S~9;$%H^@76|i|j}^yPF2F
zsQvTU0D~;%@tM-~*WUFigT8vl^8~^yFAZ|3p&N;bFgrNH%w0=MkQIuTuPP$lDN7WW
zQ?@DKRiVI%pEvY=lFEqHP*8|fDGP>}sEGUs@CPBPu_3gXP-$ijAAcBx|Ck7wm9g2g
z{|K8J+p5m?o3rH!B4k*x)bH&9(_w~KJ~hyv0(jq_CvfHc`3?--nnN_WxtMfPgk5c6
z6-l~y$zXCqGLCV&kbOA&r_|)}t|g*MnllP#l!98uSvo$i5jD*eeX`Tncoi>E)y?MxCbygJ&HG1Prhx((a7@*k(&@6v+aLL$*bnQQNH67dM41jI?Xt!#=(Y`-
z!%mEJJn|o%&eo5+9I-=ADK;?@NAZnH=%$@PDE7zf&8G5V)W50c
z7pI%!<5XV9M8IW*2o>sIRk_dUo+Of-It%$-#^*LsrHuH(z`7EN8
zSqB|g&0JD*u8Yn4r7<_z#x5$ejCPh_8(6;pBEb9vM$E^7a?xmtn9NSu?Ijx$)iJcS^HqnC8
zUbo5zU5aODMIAW}<8|M2YH)+hKJOo%wdXKyhz=P>@MvE>r>IW8&MF8sUs8AXo5-=I=ypT!@R7O2prXV;
zpi_svB7f#pUb0_vK&>q?cf5%8Bm0`D=ZovQwY?K_+bk8zK;}P=P5SU`+sS5o>O*o%
zwJK8+z5`y88{KPoYn@{z@=+Z`LCa5RX%exe{U@ZvHs~;5pJqYl!a*vq-3cPjI^p>+
z1CMv@SP*9%4R6iVBrbSgn%{^pwJ@$H@YZZo+QhnNTnRB-z^0KWu)i^dV7;pP@?_Tj
z4E=^~>TA)$pkbKiOS7kFYoYr2X?=o=SeB8xT|Rzbb8|;ysa$_@adwkQ3(aSI
zV_E^E!jw1%9NatzFmuF5Q_9}P$`zK~pyQkhYeGneB@Cepy6kJiUfB)9^ermI3X+g2
z-)DD6jiR&L*regzh?RDNG$%z0aFySnVd6^t{jWnFfZh|A+OGM@w8fK*c0us*VYjwF
z-T_OU%Hp^A-fULoAY-Lf-z#SIhrSwB@EadzfwHLPYE|2D2cH}W4IXdk7W{%%+CXrS
z2sM3qg2lS$Ajx2!Y&7b8uy)PJKB-9CuPQi0iIU52{0JP3&xY+Z9slyad35-d%BXTo
zzG9dSfN}N2!^#3xhHv{;>3Rc&rWhcV@VtNF#u{_qEPLvlP3F>^LDN14Wbfi@uW!BY
zwFZ^iA{UCy>i3YRjElcIUwtOKX{yvaYrTm@(aB~GW;L{l&1E(rocwRe&pLK1nZior
zb2y`r?F>`C_3)-M>YTJuDT!pV1nz2p!e?_5fRt)$l)++AR`#+y4C<2>Qnk9>wqq<{
zk=H8m0NG35pOQqs)H0wR)-jN(u8%|J{hC|kPA2cQ=DB`gdbhDJ?O}b<=CY1#OoyMx
zvO{tCCV9E&^X3=Yq~`Bqb1UT-MlCQ*6cS0VKW07{ODOH#k~_2^x8L;24E##8vAt0P
zII2acXvj^~E16Ld$C}Un2=DJPKx4NlaklrTZYx?S7O02ew~{v-JW$59WXkZ$>XzU)
z@vR#erjAR;%kT>DuxZ>1EPa;8quOOt5n9^Q7DBn0rduQa%z6n~DPtQ$ZK1}=Z@U*5
zM^YHs0A
z$VbWRrrL~oiimx-o^J9@T)|oi*co`@8KcVE!+IRD`T00^tKR~{1CA3`jqQdWM+6n`
z8CP#E<4wvaJZwi9(C$6WRVF2Tt3cHBc@D9P&ncD^dmFJ5zc)*Sm89E)pbB*W1il%y
zyg3|EO9cePbjZ)kNl}E_6+82=^l%UJ?%m3M^c}ZxZtfk%wu2#Uk)Xa%;4f*04_
i9%!bI^GgT`I?3AG3ExfF@dDuj;sd&Z!G?Aufo*`K{%T}l;5cwhnWkRSk*fqgKbbMN3q>h9>j+>Z8h*~Sd3Ji*#hYfexIRtT((v4 zM~|@H^~6y90k7$1HIc6XN8%-GBWIPMXgl_&{dAB7e{gN6ZKO|r~@ zJM`c)3b9{^;nFrlyY$FgcQ5Hr(0;b5=J7PGvdpZcE{omam8n>gx_!v*c9KiGmQ2oo z3TV_4_De>rJ13L8LdZG+1O43Mq>6vT-V%W}d7ggWlK^+ob)${l*kPF&^sDUdF~(vZ z>D%s#ip>I*8Qot1$}hnwzaI9j<5w2Ci&bT9XNaW!bv-eP&SZtEC-WoNd@iblW_eHY zoTc9)t*^hQ{Q#Nlkkncq_uW>tU*8rLR|L26xMhp}g88&{?X|HSZ%&qiI_JH5`9dMY z%Z5$jiFnbx3x>@xY#h-X|5EuJ4XVy=D*7ukMPJ7K@)#`O6}#F{vFj%zq6^keyEo9@ z{!~C#C?Z5;cP$w*#cloMvRCf;8>4i8r_1;61a&Iy{s=_P7t-}Wu+t+j z;B)C0D25Wa#H2}6^GyeblZpNRKm<-#ENKVbtA=YkMw3mm5FDV-y@;vanc35{-EPoZ z7dC4Z0he!zW%P|RslBWN9_-A}?V9y<8Q}>EJA|O|#uN9lII#5Sz;D%m7_S;K79t0X zJXEXYDWTsdRWmA{G*T~|5}+MvW#GtWrjJd0TWs^Mq|}H#m&j(8CBlX-$#a-@G4Lw} zMkG79xz%Nm)fE7Kwg)=6WzLF>mIBh*|H18z;sXt54wh;~^q59_rFA$XB8O1iq4nqf zaM_OJrIj2!o>XSB6Fa=>+5k@?0Toq?tm&mGD|ZE5mblyQFAm&omjpB4rFCg66-Hen z!b}0FGZi?4jtkAHC_#-(nV+d0$b!VFsLFK?NKjeF?>d0#%=}A`$Ec;^R}TMK*dV`rhF-cU78U-1Ax9)a{;MukSAeVBs>Hx)PB-j{pPkSJ{$5 z1JF;RnFRjf`@1Dag~1Od+4rnb(qBw2L_d@W} zFhgUk8?5N%PueSHs)4?M>vhtx9d~KPCiWQD^2mbOM$$XVQ4osuA8D1IAlH4!!xMH4O!m$IpbX&M+#SJ^xUKBMV{-Femv*^R* zog<`?c;10C{PuAAom;}{){@_6wj4a%!ccpFo^*S@)lC^N0CpP#AH!a#FQ--p0Z4G3 zayEgiWcTWY(M%_xOIoRBD<{iiRxUAyA=S-_IioJKW5e6c6S9qYF1*@e+sb|2jqh^~ z&Cqq_XXeTB!cpi;Qj*AP(uYl z@bTuc?7_mPw?A!p>OP#!Ak)V4ItatlNo?3`8-%Tk_e|Vlo;`&*n0OD61SOJBxS!GWVmZ=n&AKK6U-_(KWa71n~ePR1hn9 zf-d_egiBLj3rbVsARL~fKS&~N`0?6X!0hENtM_6`{Ns0L1JGsQ14%7*{s!uwHA6Ua zw5$UW-9-<)I)zWjz!UJpexKc?q5(GAb1~Y;x2l+@ug!mQP%|Dn0S*jBn00yK*;*HJa;FKjcD|?T3yd4|6gmL8Q)_TX zGerQ#U#bU{#wSnW;)q7M%moTLJx%^c(T_0-Ap~mp zQakh-5@A=Os*%k`POt~jyAC%qX}*x@chqn$*#3m}k;7?Rg?rWrQ8aB23+acfQP7j5 zpUqqtB=mgcr^K^S&YprL=IPm5TqZVC0SOvJ-tQxYV=I#<^r`ch z)Pk~VP?V$&xC3K#RF6uTHe<*IZdWzNMX7SF5Fl%y7Kb?$n? zOGN0{hBCDb05Gm#@P{lhE0)sBXjW&PsH4g$R81b2{{)XqKL=~~OfTI#lh&lRrQZltMNJd$ zD&n-Hm8V70FGHj8FS>uh%O2>ARcsEjv*TcfUkb86;H39pRcFB$^>0NH&%d*OdJI?? znvquF_8VYBAR`<{PW$z}V!u%Q!KP`8pVqdfv$3S?gMMWO^b zV*_F`lcCs|lYX?}${r=W(?mdukW%MfiS>hm^WH1)R>w!rd8JjRC(x8Mo-Xz*U$?PA;##DY z9;IqEeO0mOp;4=+aJyR|MmI<#M7qEykjRR6&~~!kHih|moS#Pc({_9d+B$pe+|M@0 zatheSWb9autZewz5s&}rfjmN!w(t&7nWhWp0^krd)73bEL%#_*nVcp#mg(CW+sVSM zO-vTQaBzb19llLV^i1?NKeeY8+Hn~*!uq~W;%?@Cm;b(vIyi4u;YvY!iaybi3qtIG zJIJo88R^ScM^-bKxDu$EAxU|oFG;sH8X`3rZ0|M?pC{|5LB7V_u4DQfuY9_-N4(Wl z17|Z+n6Id-uofjM=r&jYCN{c* z9)p2c`wRPWnthWA(F5gi%}%Uw!|E+D^GnxsXkO9IteJIw2tIXQ{TM(d)wM6kX+G+wO+*i<327J;X5ECfj1xW)C<5J}O>(WcO^~>0-pNJ6HC+ z3cK+}7qmI=AE3wk$o$XjKeJl9(EU?~5J2)hY+W7}6?F*d_<6iuCM@n?Id@F?Y%-ab zWKAeZmO;|%et444&yBJcjqctj0Mo#H2@uuu8a*X8Ga^uDhNJWl^;55-`}pX)V2+`2 zOJyjDq3z(9&>fwNrRu(zFc0{2&1nx@4$AFp3aFRSheUw}+kTNvT7Q*QoKi=!p3M_= zt2@5=)T9=?Gz!jT=)0v+M!r^emoKz`0Os=*Dt0BQ zQHymHhGN9-frAF3425ZJ79%+S(p@q^ggASGQQ}B$4L=UiXhG}BQhCB|m1Lps#tze} z0Eb7*(l}Bm39q2cbwGH2D)nf$eQ82;C3-7NR?Ja*#UmmNPryirB>!(xl~=Bo;Mli{30{P{$ zN@vOzbk1jKjhRh^GJZT@TIW_9#xmPY@c)LbgbWj|T^nBgk^dDNPLhMF?Fo7`V>Vy3 zMef}?!@4VL{}iMkr-zMqrxWSgggV+4AwZB;>aEZppoKY6)gkXzuYBM|Td>(az?SSq zehmhHX-3;T=Kd{L095`vl$v$!!4Ac9z7-OiQw-u}nkW}BLr4_jNX+ny?_|Vu7udkI zR(aD^n^y$|muSvlbBC?8zK-OoD;pz5O;{4o9|&lcw~Rz@bFZ0VhQ!IjZmUv=(g-TL zajQYN^|#$BtR>bPZDM~^S1u4foshj~G2_|dw~HKCM66GlDBwlB`4i$FD8rMhsIxj^=; zJD;{7ry(_Z0f+kOi0~*P^H=!{V3cPEg>ztHOtnKZOd{XUDbGav2QhRfRZD+yhn=iJ zY@uw(eiyM}{7<)4a0|?pm?wADBd{i6ze=a`vAo$()p;)$K)E=}s&E3;M3|Khltrfb zWGHXk9}kgA8cS4U2HXq%qoLG?x2Ji z!@vQB*cxOov%={pUVW9uS9*JsbQVa2`ULo(Xz3JOvZUdDT-1GZ7^*2s3inJNyC62! z>~vesDB%Nj+>KKtHAb?q>z&$4qfx1eD(+|&0367} zWzNi&t!hcflEb!5uj!IzAUarKt5BnuPUH0+6q7;!c~&W!cxFm_`^swNcULENPhk^(Z`0gWDN!DzNzD#}2_H%=&LGu;8AA*7H1@|_W zr7Ih={#@f{z~8?O_dSf2cmo$B}sek85Ev6GWGZkREx*CVb zg0NK1eKU|gdNTDU5pModxy|&35DxCACg?|GSNBkzFv^!J{bNm`P4y-#FMCSvLcxrcGP-@Twr|0PvlZ45lwI z=QwEhm-k>b1s$;8Tb5G>Qx=Op;ilpeKFO}>A}QTM+s&B@^6*18lW^6(Cl{x~usPk? zbiBgyuge+z-P*t1&*hLk8ah|YlL4B0Mdb9MB~@&@5#J{z=)gk3ItmieEBU>1`Z&&jsP<3ws3^(8U3 z)BVZwLj5z>UCx+X4Av_kIG5IMe*n{R59|{%MFnSFEvm2;c?zj+1#oJ4U5L6~v7;~A zLm4C0UoH(3j}|=Q>t-M84O8`jneotwi=1M_NF&P3AwH@aD(cc_@Xtw4{HP%!B<>{a zGbs6_r9`#AA?ptOI3_yj>k4^#dAfA@bx+TW4+|uPRT_)-s745Tm5y?VrXngo6r1Qt zm28GkDt*tyJhQ2%25^O#XIxR3mG$H0o4n)4S)H&YXF7THT>kD(GS*Fpr9f**q4kG* zqYPHNV$dV{CC$9)XD;1$dAxC>pO8=|nXkH9W$Vc;WPj~zE>)hJO`mF+njOjYRD+jB zh1t&%7>SgNs9I9W94L~e1RprFJke4x{G*0fDkcK5Mz`on0n9&vCOzrkps_zA5HPFC zA0f%sGFS1wpB#l+}-h^lC;9zjv|MT0QNU6MBJwCq$9zP5=r8#P&!(ssJp{?^v z)B?56VQ#Anl>)i_%wf!v=dF`Jjb@^pi5&c{{KeitKHRLh@$bn0L2!49;QbKxyux9D zqG2Yo*;AHCW&g_nG^*hv-!Mg}Sp`BpDftub#KPws`ZhKEs&v)T9;_R96O+*wxvZfL zP&k6*oL3H$9nw+Hu~8&LAuK>1Xxvt6ms^N6v|2$3loo>C31lj1>p-y@8p3GhcE=IC z*0<+cw2;1%>gsN$`nKdhoV2J+#E%c0KcqPxtxh+)&&jA0ntf)FT49Z?l~^POl57E3 z5Z}p)a5x}X$^-c%+vCCB`qup9gGJSBF)^k_lSpdS(8tnl9U@g9JCT4Jyu8%D6u)OE zp*r_Fc@G-@xLI9hHrHU~)yj~gA}Yke!Efu=-DukXXVWYssagdTduiSb=2330d_r38yNV%hpk zmH!F*))5@54(8a@YJ`SMigpK{Hz9L%h>)-PftHha2_%k>%CFSJ!4XCTECvQ*Y-GU>YWcS;p>sy z&%#4^!iA;6pHmsFyv&myUk4k1+dAUqGzeN{QT!DUZk$&UKxP?M@Wyhoxa;E+PU50_ zh(h?D?E|#Xmp$?AO(l0i2nWzO9nakfiiL~)G<=+~tP#IIPQCv{yB zyOr^YIF0t8_HtH6a;i}wgVFa$bS3sS3Nz0JMggQA8&-IeC%+E~UYvyu`%*FoXc*Zo zr}OMVT7TlpHm>Wt7Rr)IP~vniv^ z4Oe4Bw;%nZHsp?FH+U&{!UQH}l}rlzdzD8}SNbPl;C$z`V@Dx0nG-9FYggQFFBKF0 zG5}RF){E|9YkE6hJthmpyKK$mFH^>9u*}tRt`>BO!;b2tLWmy53tzK}=~2l>!8%cu zf~dd7y!Q=n_!oOD?Wjqb+$ZmP6~1zYQAPL~hK3 z)eYS^#_#!N!E_A<1ZI+HB)P7pQ}gI$NaAT9rP6`|z@WLTFiMVOLl2&UE}DWYO6ocwhK<0-S!qb<}8l)S{K zAssRTGM6m0)!H*|+0$(QSW-i0X#l_(wKq($B~>Z^?v$aWXn0oqq04G67pFslC0L}f zbJg#^fVje2suw3&6hwGl_sbrB?BJs^dgXH2m3z$%2FD5gl`!L^+tdEG>mQ2EU~JTk zE>c`QJ7UVQv`Vxy7Nvem9=8XMfDO2)zTbyaODJug`A%*%AFI%P5D>3zssi$f`!sN% zZFWhflGdZ|)*1=~TOO$k*C&`77j+FNk6%1n)PALVv3BO$QPnr#oz?!3ES+a8(=mIn zWl9Re(6s@sHAT#$iHBI4{v=I2=-yY?JxMS3f~kh|bcgJWw=JPytJXE&n)(K6h#;D8 zcSsbEkvbZ7({75{${LOu8Ukz+jV^2qFd;}#rjROjJzNX@>zhQwXPSHWPZf!=|Fzk_ znm>q@_XLPB2WsSTtB}@TFmuE1J$r1g$Cmvz!-X~Gvs0mV1Y(!%uBF$*lw%j}md3r| zR6%U@wBy4P1J~nvK$fuyK|cfv-Ku}yuY3I zu-q50QEDvm_FHbmeLh64H|ic8ApuQpO?>-FlUY*4tsAZ;MgjC-YI-jLT1vCW zYWea)_{q9y3!kfTaRLEP7iHRrm(<>U3n6nmS}&f2?|1?*YR|$~VFle>>yad1y|`{C z;}h|O@owvZ&Ee^8<)s|<$2N^?$w%lA5@0CVU+igFzreUR|G;hdGeI>Nil$a8{91Lb z7uXg1Qrpt4e>0+k7YD@uHiKw#wHtvNjDtzYE@xX%0U(pMYbwywxDmzfGCvYT=xeLU z_euA0Fp&V`_1XjbJEy;ez0^`>Z-as{@Gx^OJ}&P?@LAcmr@Mg^+9{S*UDfgrx{M>BD= zv37P@hnL!2(jcZHvpHn%46SGi6@xOfvbR(6=f=;&4D7SV+U_*19UzO0nF2RFrduGe6Bq^Vt5&A*pH3%058cQfJycoEcy9OaE&(U zTaf?OM)Sdx@{h2Z6ZLm+0Vc{|vg<*Pu`=LJqmK5$S{@^{)CAyvm4K8Ib4EVo&Rhs- zlbB!_wsF66?WJu3vuuk00WShv>VWKs1HU9fq2lf{=+|$Xp^RbPKC;l&VV1y`y^513 zhHCj^gfZ7?hWY2VJQhj;r_+cydGA`|jO12MOt13=Q68OYK`%ogl_7yV(~KlY$p?_N z-aOA^{rU7%It3CE53u1&egX@_> z?mHU$)c3kI_zZQHvNP;Ulx?I{!Su9VmKDl?F3QUcA%$%1ruSxqDt{#HS&33tCi-96$xFhMjl?cd}APgD7g%L?`d*GuOcoee;9>0HyQpSurIsH2T4#4NP zSE;SpAm{v-jvl|ui-6xJxzb3~rW5cX<}f*42jE`0^w?NVrW6#w;|KXcuTBj*6|{Bq z1zKtroC49>*;+7NvOkTxSUQMN`!?~nJ#8_(`Sdrh-xVlxbG3l1wlAaj~S8$d6_(Tda0 zUbtTml0;x2#i`xTf7s$4=lbHmcYI$2G-ex45Z)BrdC1|Wps*AkOY(qGT(oi}@R#6Rg9ZovH9-PDaT;i1gwe2DVZQcV-< zk-U0Zq$KYa$7&CFX%#6Hb4^;_)VD;C1nmC`?ET=!-HTMtoCA5vdvQd7kjbWMAM7ql z`l^#ls8|apY7VEKx5HE?{FE)NW?bCC)Y3|$|5&diM;aq23l%r@AX0rwh;RzP zaSjGgi4c#)QAOX^g!&VJRU!n<^31>78)+ZpJdYy-hF5JlIn`y9185!sxoK~Jiw zWv)+O+C@FWd8s`jr6Xc$s&(^3OeJXJx#c}}ElpJ!>I{{lL#this$udX8sOu{i5Y^< z%?SYO>jzzUAw>qTC6`9gm0)YHlQV-{_gium!K`JTvNs6bWl4RfYe5(bhb9cP5v;=Z za8oPCC$!c{nzLxv#X++40eRIXe+)}DEwB+H1plf@>`9)s!_>QqiNlYrHdvjJQ~KYp zj-N+>jb~-@#-Uh5{nJnur+qT!66c82VnvkV6Tu=ik@$5_5q=lJ?+|9wK0{y}nGeQ4ne7^18#9J(A)`14q>m{PyR7!U2z- z@IX675JXN;cjUM5Mm!-vqPfvOv(in3P{asSqdu4C8E>IlDVygtM`wt-J`r#_Uk|I5 zc4sU|2XSf3aTHTuXRY?4DfOQLS%MmTa86KXf!#Wy_$=AfD_FTkyg?-)qM%S0CJRY8 z+|%8L@_3SSmkk~J^j?jBxFp#kt}PJxGXk6V9eQuq8RuH6wGfEc-|!Nhb=W87vFZQb)uF zW&Eg(Er3F+cq209yP8X;-1v85jeIV-2`-eFXX`YaonjPRjpm+;BhrjtVU4h-XT z$h4i>-~C*hKV{zwC=HbAZV`kUCf34B7i=JlpPV zFg-_Jb$RW|eF9zg$doJr1Ewy`Qz{^w-rdZpUdh}Sn*Cyhrp9FpV-CL2bETk;WFGh5V0=7NOq{{x#0!EMcLfT*oFIfcJ{+$-L2CVY0{XqbuLw79g($ zUH9y>coxrGS*fZ@O34!m$vH~3pwgw8f-!I%pVCLD#RAThlMqZQA~cYFIcw%HXqcZN z_kDO5C(;tB?*(;BQBpO`M;$P;<>#UNaj!g-;f zor~GYf9+-O|C;0JJA#F#ne=C)P4?^OiQ;9<8ZARD=Lw60Nt6Mr<8uka*swavp3USt z*#S7P9PKX9?bo%bItH|>Mu%ndh7T@evrj!ob3p>2X^t4(uYQP5?j=6UEs?ZNAdN+76CWqFFpQZ_%1${Y z;#VAYzV$Ss>+=m>jjom5dQZuRmQg#`>qqA^T5&~f5`3{g&uA`43HOLv)f7^KBRug=0{`th}dOdX0Ih`iV^4#}kmgGJzNPvN?h*cM{o&k1q zIp9==7nmMYThI$n{;1B7lfI9g4$PCF%}kn;k*r$V)?c|qzd991x{lSFBfr{!OMGcH!}m8Gxxm4w1;^PR);MWZ$wZ!lT!Gqgg<(C-$zz7=|E z&i6K6a-*VMLoEcdeYPR!EW=YSBmwaAhFWsmplCil*X8*;7aeZoFE=j?Y}A?^=P6?p zK0=9}^C?rR3zWQ@Ln&o`Xu{^XiwTr!KCwJaxsup4Q$bF7En$}t>gA&vGykb~R9`q@9az-aKrIZFL?~^pU8ehwRN<@ioBnHROB1$!6DYPLiVxOswo5{lPz6n+ z|C**|1eQwlvo`s$u8oH%^k0&3VMtUsx=oANM?-6}#I7xMHj!yT)>c}vK!gyEM6;Z} z^tCrom@grqFBEu3`v?Kb8ekChWWo@Wt=%DA>!b#%zg34{Qd*dJ0Cq2^xpJW{y+*5& zb0eQ)=9MWlpOi$v4@=HznJW#aLe19w^%*b^c3TL6AQ{Jjgtv=X%b`LdNG`J5^oa#( z^cp=p?bpiu{qjGm&ap8QXic{1*tTukw$-t1TW@T;W81cE+vwQ#?Kv|a&ixn9+O?{7 zXB#mrRxlf@*;L%-;!5j#gkO~J$mq5|ce>x25rtjxe7!+jQj>H(()esyg6BihW1TO-56>yT z$1)1Q?n|=7!(+GZ3h*o}X#>p}+au2?Wgve^1I&jwD%qo*>q21igbOtuWzA0qEUCiZ zvgQZo7c5l@No`q3M&RsYm7v!XNdOSc9)$0*V2sRh!93{NjKe^08@2jH3^MCnR#>X&-u$d4{hQi3vLB z-~VcE+LDDPIl=>mQ3;ugEd3k86&?rCb71&Bbhoeq`(;oe1^622efCADDpIS;C;owQ z8{x6)0@gf}0@>~8P8g~rSX~2EhrA6sZUR)z;W}z?37-@QZbU^ZYU|4z8bR}?i0DL2 zCySwoKB(nVwhJo}bQ?lfXMIGiywLkQ$ehj$;A1Cg2y5F{U&$R?+vp?T{ADgY4xqvZ_>Xxbo z>9gl6fM-;u(!|?ln0)5*`oHt~tF%*@h{`ng*qC1+OXVrDqBoft;nnRJ1&;N^%`nH;V_-9->bn_{bRk7_>|WY)>--)M=gw*Quh+6`f!=EWSAO>D-^G*J z-EYT_4-W2#mJ`nF^|q$rU2(LLY9YqOL&eqiAZPbmvJ>S;W2XE1 z+^=~g9!s;ur?(x1qa1%+S7 zNHrZj){|3}&TBn>dMsl+^^((B{l0m7Q|1;VPNO65l{M^YNL9p-FgvYCA;_b9GZE%- z^jk;@c{Q}$xC{z7BW+&Ayq11vMjp(u0JTHMsW$8*TqhVVH8%+81k2yxtlOkZz4Yu0 z3y&aoRX3&R_6vR&gJv}Qn_&-`cT62KpkF{M`D^`IHyWs!+a)TGXM&B8M``M($vd*o z8~9}*5V$U1@I5v6*~?r>>;y*85MKPOnQ!|+1l9VDBr~Vep=*~%LR#}^d1Mx0fZ{ny zDPIQeJQ~k~M|d;F0M|DQjDAv=6zjpviL#oUD`*PrBYqSzd9$3w`FysX^*gI67ns0vk)ykC}1_JgQr~NcJtL3?B)g`bOFd3;A7KSti z|9TxmPViN4HW%okFE@Vz50>&v0SNZXxhG`JP;*F(&EmOtglgGpT5-@JF{%`Oj{LF4 z3CN?tC5b3>_J-MEOy^TZuaoCz)GFyHX&gxdGY`86e|a?97yld#g7l;ETAlPf>=NtE z8&0yf`OL9k#Rjh#Q#{XK{!?lniHG#SdT_)Q8Icy6NQB5{8`XY7ZLGUI0Arn;G@)c7 zm?F-uDo-Z_O*w`2MoF?Q?cp}9e;C`<2i6DG_`AW`>~=$%1@8@RT8M#Tq5PKho^*3X ziLz0CXZRU*`1oy`bD&tIY(}%Q<7;dlj-oGY5N3DAxKo)pBI`oeqq3y4UPaL7JauK~ zMWcq0x0)|oZ~BKVN5fwu0SXDQkP(<ZL6zd?xE;>NMDuvklns6<_OF&0)I^HUNw{!je5tnt`d`T1R!c`5QCb6S?yRR ze|JH){ubd3C}ga4Fq1X?XGpI`g1s=x)--PvU&HoG`{ISx;J|9}AwI)1rhBU5J6W=Xh=a!eIv2bTEX(`299>4fG-)v4#84yg$XX|Mz#6oC{7=KV-2B_>C;iz}+O> z+8pwAsz+Fc%jyZM(t;C9kTmf0E}^}(WrajWxS&w%ok>xlCjj^A+G&!l@rf;H_4Sot zKTHKeR%jYsm6+7S!hqxA)NC*}SF187szs&Ts9cspl(;pnr#B+8L;BT_>7J7D&Ay;! zD^uI)g(~@6FdD65RJ#GA%OX&sV+9fisqtV1QbLJ%qh#n8yB%i_@2zDxlwJre*#rJ1 zKFX*mHd1DPEnu;YTFwo@Lcwr)OxvkIe1^lxUr7qS)e=sK@)O?KxXObbOKS`+2l1EF z#F(gCJw6>sjIRj-))nVSjUfdUSIFQF+Xgw-FC90|M%~H|6=axtBdkk~i|4A@S!KIK z9@kb_*nu*pw}k!D#C;ZdmE&F}%M)Hz@H73*HZl_0dVqiI8E2aj7u(2CmAo3+0_-dE zr8%rndQzj^q>BDSJh9EQ9Gl+M3s>#Ufj(X1V)&0GF3xlogb7xwa({q-1QwDXeoj4v z`a)S#sk{8N2{P*gWQ@6p-*oV|vQ3s)6JuTmGQWKk?abJlB#>~AbEJK#sY6-7IEt+< zQ(bT(4S-$ed!ex}o!*=*Op~VI0F?3a(tji?fYC%)=@Jzsfoa2W|8M-06sQ@eOoq%o zR@`j)uK{eA8gn7HfyB)NH`G!NqLbEsY+>?D`Qgs0W!c8On0N~*KoO44D;p17(gFr< zoRndpO2Bz^Mt>0#yrM=35aY!!U#14TYu+wKb)LO?t$^bPn4I0PHQ5Ak3uNldjhUo1n#1 z2|$E30ZD>es{uhoSY20C{9>z4;^^JrNcpAf4QLcd@6D@`j7ut$iN7?3Y$R`K#3$`M z#ABepc9@nqK4qRkWWn-rb(YL}KU668BPaKjx88-a(q&%i+%F+e7|gNzo>~(~s&5F> zr*FIdk)#Nl>8>bMRo#Is1jgEiD*3c3+$3`AWx590JYK- zbASkXLA!skdn~5Dt3Obzw6(0PJ&d+PWyiRNwK$Hz%5J2m4(*;$v{<*Ot6$BBaz3%T zEP-oZ=i@+417=R050<$=FL9<`f8L^>>XHZ*n4sC+@IBEx)SRlTSbxtlegl!Z7~t|p znlOd2{pQyp@K88(Q`J_A>~NVLKZ&KImRR85GZYgpY5?~L>qRXZ-@kvH7r|DGR2?B-6t1NsaTJS*@#3GXT z`3SVTyda^I2L-KksiF3~EZ9w>pUda)8OdlUv_WO&NJ%GDOCl8ykv**Zq9DTDuNHWr zl38hdz~ULX#19gJ9hJe+PE<);!{`M2)Us058y7^gVWR0#&^XZ0ohVag4{*I9ztkDd zJ}nl!1{2jlh47bedHynvyCYUI@sUbp2K7s~PnKy4OS6;Nqye(VNB|5rLc9--X=~Q` z*AgKno6C!7$9bI#4Rx+KJ3Ue|nkinXy+J+-T|!a4dSNWW*931o5eWaK!8 zvy&W3K?;+yCr(r!D)MykI6$f_e%vadd}0dkP|e8N+erSrPTaVGwTe+qJZ0gi**Fi0 zM)TU80sx{uJMD@AQ|Wb9t^_b(AL`u-GL(W^9wk+e zm|w@5ke0zvOm!_CGgsHPFBWQX7N&%kaBQQ15n3~}hVQ0waFx4jik4=ph;lQ-Iu$fv zX_=x^R6j4|hVoAP1K`;o36A~T*W(WqfCWFK@Z}u9Wi(-4)I-ahaeL;bPByPQ8vj{# zIn>$Fi8Z`#ms)ZzBnanwYX`Cvb>9;yV0AUwn#FG8GniAOW3)I;PUuHfSA(z3_9+G# z5o<2b`f30xUigP5ORBC`1A*D!z7&-$_S5A_ zUE(uBLDDG(9M_33YT!PIahn|oV{`U2G>^9u2;t8xN5CUu8Tro$>>i`p$ntL=-Ht-t zCXNjYy)|Cg4+#M`4=CUo*xK{GtV&#DEUErVufigNrv+MJ^<^MTQJ(H$h*@?KIs2Gu zWdh!~&^_8G)ZI6y-sQNdJF1o#LtsWP{x4J`J2g7;D773`*4PnBHG>NrT`ad=8{RXi z7G!Xn6Tl%}zdy}XCkT#Ilh^rvJ4omtW4Mn!6gz6%+~DM2C{N78Mh#}ikMv(ptOpy$ zEotOrx6FLo*6Bg5&W?HUGmceG9FY2PEI>4e#e4j)V{bB#s2z&&6;U+TQINxM zl~Y{(O5l+f9c=Z}5;kk0P(WJmteomMt6gSprapt7El4Z(in!@yy!YfNF&)P>hpbMLHd)O$j0W1i(;GCC`e)e{*IT7V`a6)J9DJw!^BtQ-84|ap zJD|)cA{}-KY;+at1V8&5+)9Kz8{e#0^HWR&*%7{jy;L3ST}!WtBD?oVgsww}p@BhX zsKRz*sLZ7Xy|r49a1cmblZK71GXKNS6F(Q)tgU4) zwhTYpexJ|^%jot$pAiDzFKM6opC9GlAIApE`aRpd|N%;b^u2fX)eIW zoaLfl>-Y23TWzQEil3iFvFi7!{+qSlakes%!2SEf;Q8mk5yt+XAAaWWu0D;=3*>LO zk5W1yqt`86&7Ucp!b+Z}xCY>#102ApeNCUwd{P-8m5c#AFeoO>nZ0^eUV;Tr#< zwZ%pkpqb0wNwYsLXZs9xWXPr218(BIyrZ3*l$)5wmee!mH?;o+dfC^S!h7(qG;5%W zOvz`Vz{S@wu?C@BPz6ex9`a09YiJ{ecl|+%Ri<2Ugf;<<6L3Qv1*qQc+LSxCnDgKz zu!ig>rwGenl8kxClp8UrzcWl&ca>k`|R-3yM}ocURPu zlvKic*4YO`lpz?bueYNGOBC{LMo?5x?~hQYUxg{O^py>P=3Lu?X{583Us)+_%*G7vxnH%r840ZEB?45+$%P9+?CCh-;Rnxx+l$+W16+179mwXfNWwUsxa&B! zJMBXiKr0!I04w9-x?$Fc`tgE2csa@7X%O@~P{x?b4_avF1ZSl-irQoH<7hQ&bcg9< zl;D8j5;Hd&>hdCUps6^D?ZVY3L3l1ddszD-B5-hW5w*=grEjyAbwhaPG4U;A6)(qL%l;g;3)K8HvHiAk3mBTaA!Wbf9{bF!|z6N z-w-rT03C}vjr~%{agu%a!?8I53ZVM>n{3@W4N47O6KejzD?3~?mAf5-S7iB(;)=nh zB44SEuLTOl`T-4;n_Q(F%!7x~j)2YsKEi>qh|l~bPd1KiUS)l*h_}wyz>;oW;)OjDT0DhrOIDli z)A6J)AV2{nB|4rGsPg$kst(@!-^|L+zg4j`0j^?G0jq$gH{D5q_K}dR$o-4nSzLJo#V_fJ!Aw$L9tnuQMj8Fw|v7!z%%;& zR7S=WFn5@QK;d@X?j3=u?zwyX400|1oRyYtas5{FSk$Qb^=N=eMbi}%z|1wAIGZ7> zxswvv1c%Mzd>vvQ|HA?+7S%bGI+WMjm$iV~JUIvr4N}#2*rd3awJi`9^iOG@_vl`s zkPSxBr&ekKRTfm)A%SfBJRv*=0I54DGf>VZ%2Um+8 z|K^axNwY7A`mFl09JiVVDX#W|1>$iZy6OznMz@~hYKUJy@6#Z57w0LHrzCur zwlS#nHGmQRj=H8b+wK*21B{3$%S#XlYxX`@PBSVXw$H>w! zn&od%-BC2&x#!orN=FI}fY4tPcbH2YC0*0Sd=rwdZsGj+b;9doZ^}Mh_z34Qa z225!eLk`A){JBqe{BpYF;x+ZS0Y<4eLSrN{5&w;9OsD>w&m~rE&g%#!{j zE4_1KA$0;hYcSCx!fkt^s=Z^CP&$Pzog1FfTqx|kHe}2qacs0G{LL?W$-~Kpzn7E_ z>9%goMIDSF)d0Eb0e9p%n_oV8JC?_mzNN^^`A=^rLK%(#K)$*E9>{*qTtDQWsR+K& zfpXvVhO_DS&r-qaCgwlBSgi`q?bLeeQPX?ztv{$XWWH!^x;eJQP%}2ELm1$}*eN5Y za!#n>NC*xc?%WbiREf&aXI0$5hx{mkq8%+XH%29-0Vla~SS=74dclUqh=tgT^|;1& zHf>jOO2K;pq**4=J<$slEZ5UekfkAU4WVhws_frCg`*R?Ln1hYRzx6$5RK6e*Fbf&@M zD0n^sRG`(KtK2D^T7`4Dx^bPUNM#hXJy*uJKr!gE)Fva^*hoJ9fO~IDotqPRboD(p zFUOjN8bP0>cLc|&S4}|cXfZn(m~nL()279hrIYMF4z9ap6t<|FjI@yr&(O*gB4M?C zk2D5YqcC=3;x^RU@JQpP``<j*5XPzIgeG+ArQ!ccC`ka>!QaL*4 zr>?f#DKPC69_i)K(_9cy5!nznDoPBMpwPE39C)~U6M*x@4M5LBf=-xH|rw;j^3?>GPU>J?m{#DzEv=cYT0Y{Tu ze*m6QaLkDv1@RVLpL0IG3V**qsl^GUt4xWb9Y;n0olHFNgM{HO!f; zXRw|RFgVT#`$-NWpQiGkew?*h$H;dk{jn_FR%UwdLxat9BZeuA0OPWXpb00v8ZSQ^ zEcm`eOp(R6xV>zwp|_!jA$w;@Uf*LJit}?w3*0Q-oiKu_vY|qM61xY zAU&f3CR(HbW(8wauvkke!$+-Wa5cJIf35C)G?p_~Ca-tDdqyhQXqe)GW|KA?+dvu< z_{N}^}jhQTW8XawjFN!gys{Z=JX5bpP?fOK1Sca4W=pES!`{nU@QKBkIFrK_S?~|_T=lykO zXX{;%>{Rl}%P(6+(y08dLgmdM050(_4Vdbl37PHhdwB1hX|R#?wcB)03GDtgofmKB zYt&;Pi8p2OP`Q9Q>O)>$0Yk7PG-+8&20t)`dTx82bjR+ghFuMpC z?FD>xOKMnC8T~e~M!0DpnkU|F(5PY+HXT{*b=oDj%li_aH^B|atR+SO&kZG(z6tf1 zEa|qw_4C*U+hC8#l6M#CbRk6(?pE(BZ>?LUjuC(B2hH7|+jD?H;CJ0`Rf?PWQ=1iI zeA)?L@c`p3GQJ*>?^GGX@Iw}QI}!~*3El*fP#ycC%{4Y3?Ay)vAz=B0?~OBO&kYyq zbkf>cCklPMyLP#TAQOYN4zj@McF%m+x24zO%Jw!*wNpq4gxP05vZ5VBM+-Jt5g*xX zYq(9Lv;OEX)y-vHZ;aWfa^Wd{=i1M*UZ&$kJ=ZHAA#m8s=;*ij2;nU>_w=J1G|14#Bcx>I~$VBDKCyRBl3=@(g@$wm1zn+nRVlq2oR~5MkLGDc`Z8D# zDo6C{Za(pTs5iu}txIItZ&H_B?1JEO-+6Ow)cIVg+71A zF|g-r$vOlFty7IVNLvceIyy*&5qcu1u0Y=ZSD!JN5#~#7G0rYgSFpqK?@oE9%Ze~e zz(M)@i}kKWJd>|vO(q~8YVSez?$3&4_j}ie3B6-?#c~OWteGbA05RJYL{3%!!E4H2s+w%2+y;2_!;G<7n!?m2bjPw+ZlPjZqUo8!+CM zAYRQw${d`!XQS`dIzQZHW403B;T{ERn>xStYkBS=)^+`RI5{8#>IIX8$ePFA{2*Us z$?=~wY)@&!_zV`{#OKL zJLT|nv5k0#l?d#nM18seY+Iyt&@*E;C>9wFqpXAu`^S!zf5%lq)8D~=wgi#FP8FKm zeXo?Y^I9J3*Al>BP`)&CXe5?rZ0S;L(UU#nj8hTLESUOMwby|(yYRZe5FXks9Pir2 z!4rD$^>WpC1-jbJ$rHVF05`C|&YB3q*O2=O1M}-@{kPyT5_R$ZL5tmRrkUAZXgK1I zHdN~bN-V|&ZbR>2FAx!?9fu(SV!|o(omB6KgH2G7rzs#Bl(OuF=O`K&BOc+@<`Sjq zDbTl~Ktfo=kRof74h!)Z5~cTe@ADFqY2p--uBx9zkSS*xlaM~0C^jJE0tM%UH+-sw z_4Bc_sgYy^J$~MXurTA8@eq@RODb0nXcA27oWxsS(e6p*t}MxSTI0{4c_tK%JB0e- zc7u`gSSkRRr_x`fQWIb3FCugp(rn8W1ARJTPCRyW-TXO~jZRaw-0>|+%+Yu>hJ!%F z0HroCP%d$#aBb;4aK8oSPq3{@FJD3>b~`IsKWsE}YDl+ZyVCp@^o*@bpAoWa=!3(M zsUpgDPFgqHan*v#h?5E=IJP!pMokNiqfldi1PowSo-m|Sx^#y3UJ!%$Bz4iGRBlEA zt^P)MIt}M%BP_IDS>T)+PjklYDIHq1b9y>dvuB+U1Jlemzt_+!n8Xg`_ z!5mOoc?gbuq|R=Al(w>$wWn!UTiB9DElTq}z>gwBWRxt~he6Z@Jg$S8-%j@1#9LQwhlPUoRl;aC~P{wKBfDem2&mip6PIoSV-R#4(A*QE7Ab)71d5 z>>z)i;WNA^5qDMrs0THHi;~|8PP)4R=_^Nrx4`dCPDo3L?HkO=$Yx2(u(A}l&oN+Ip*V`?l_M~s?nb1xo7*4 zMcNhN95XG_)^~ z2yC7WsYYWMyYLDyoFZHtNp@q5D}eG#*IW)>;X+RR3(VXSqOqZ@XF|nq?l3?lAym&_ zPJpbi#M~$(D!x4lwS|+lF(Tp^R^m+6t_TSwJP<-$4AT08i%;w-r&jWd!S(X?`2iEj zaIg^GdJ5GHo{J;tMvnn~2BjeJ2Yl*e1_c|0VzN^U2E{>o`+TvU1?Jrp>7(K7I|kuC z)=af1&&Z-*5c&q!mNa5H%O^n1MwVQ8uqT+~sz1W-mwZHY$oet7Cmd={cEIAvaZ!_K z8eM~b3xu5`tlx0IEudix3Mwh1==Flm2;)ygV7jeq(XC1KK;=kNpQzU;O7I&nZ%5u1m{@!yvHL^KS3rcD4&#Jumb*A`%a%uBFA;|f;spo>^1r zpMpd?!<6p%dwZ^s1@QRZZj>Nidw#5}e1;!nA@93lza=fob~XTNEsaN6DZ}pDt` z{Y+bnEe@)Kf&wVSK_=@0C&EpLL}ooc5&pH7^b;BhXi;jf4JM~=cKN8nV?q@A zl8UMy!jJoDpR)p>UutR`5ppd53QekUw4D3v6-qv$gqCdg5VVZ3)UHB7rwHrE%jl0! zHEFnT>3dyQQTT;Q7d#sB%f8TaU+*Zu6XSfZNCx7sGKjR^2OhY>5`6_<6ceb;e9meP zkL{<+j_M|zvGoI2HLsO-=7hKc;UK<*ir2HqZVQ%{(zsy`viU-%<$OW_4%wJ- z%Y*I4j5!_eP){3)6qW0m^%F;rN@tM#T=En^u9?bemh{FmD$yd_jyRbf!GNW9V zC87k4Ls{T&L3YRqx?3o~_Iu<@MM5{PA)GQN>&jzs@qF>ch}r&dzmev(YcTNR#ke6P zRF5yF{Fcz2XMG@Rr5#*BudHf{O+n!PGaNHdjX)gW4o9A$8%rwzd6)q8(n_f3sOBCD8U4D$4!-1I)NeVhL_##N z-pGzuO8212*}5-&%`hR~}i7*NgOs(J}!f$I<<3 zjiVai?ke8{!vS)F<~~=l{tq%y4WJH@HENGmNVKd2F-4x;=bJ&M@?@ z*UjUsUuhSL{Kli-Ic=Wr?}36JEuqdN^b%444-20yhht8n(h@^3x!}9fG$ho;ORPOz zK8xO^1v!mFHfOBGeBK)C+LI<6cpK)6JH3&iz3XhnD!v*mk?*`DUw#Sn-uZJ)Fw8WCfrKF{mqb(G}VHLfCKDZy{G$ zDG?YoJz+JX0>fFChBr+0I@_&v8jN?8I~zt2w!SK_of?6MU70ty~YCtfg%LnGa$@oKMTh&EN}AhVG0}-g5^6ni9cC;&ohl z9uGq}n+^8KD4*=T4e14a-9fq;Deh41yn6!;n=REYR}~&=>hwmhY*%Zr0oiV6UihY_ zt%dRZDRQGO zJHGL!NbJldz4bUTh(d1RNcwv2v=1(nx6#~h1ZX7n+W#SD)L$I`0cI}t|E~->tiuyW z+79>6?&a=+>7b49!j6H0T?5ZrUz>8PYv%J!0QvZVNEJ;eP_4+h9{klaXi!q|SoHe( zI;Z#TJdcs`vzlf=FH}mG@HLZ8TLG**SB%vQVkTOWG z4$I-Aooa^9Dy}K^y7Muuorm_g?r7_Fv-FDuAQ2>}aEo}s!kV~!CzoHozFBeMrAn}` zzx$mrds|`X%#OuPQZhS=Cb<2M1tw#E1n-SgAo-^3_A9_`s`_5#);I16*6rPDbN@i) z%gy}#&@sc!A%%($Je}2+DAD$l{~4#P za%LV3&%8B;!{DU-nf`(_Mv=@A7w(_k+&dAFim%)AkukJ?yrNe%07Qe)pW6Q*kMj_d zjEM!An=qPLl=$~hH>@RcVQ_?mZslI)X*X? z)H9cq+&W6zvOC)V4O;*nxP3ESrIn~cu+WqZokxOf_&aN#~aC97RcA7CPe`!%}}P?h}xWeaTpRSVcw_b>B>OfQ;*qg4Lrl>s;u0HDMl33 z4C;&#$+0LR*Rl0DimXX*bKS5yrPM(m`M$AFpgygQaoo)um?ivFWKX4*-0An-bL4Fx zg&75nkYZD-2r%^L{vezofQ(woYP4+(q0F60eK!WzQIK^p{Czxp=*sN|eSo+4SFN&u zLGa+!-qYX&n~TXDw=iRLZjBX$(n{5;0AcA&06XtbCy+cuce}-J zgT$V=y}wLZ#6pzl@__)idTp3chWz|cnnSjss_?^#EhtlU9d_1d$9Numi?lV2Q9=YZ zkwn$G&&F>&y6i)iLtB2YTs&Ihuf0%g%X?}ZzPXoX>9y<+hru3BwqJoS!WhvX_(c4e4JILDBFkMO~kqn zMx5EHp^dKiQ1^wNa#rMG-)f>0qnkE&Yr=ZjyU_}H2y-DP07YW?5QW+VwTN*23kc%a zRnROd0T_>%nWQd3CabcI&gs6yNDL_jA(z|u#td9I0BYwIjbY0R)rW^xolL?^E+^4W zVA7z}8H4n}b#&+b@JA_YCi^}uE0>C{6xk99s^gb#?tsN71ha-qn)Eq%7Z z44#pNQ?)$iKr|THVh<2C=HznHmo3#o(M<;Bk_7YFZM>dU$<8}-JN(O zg`9+k03FbOGdX3VUk%3(x>D5E(gKsH1D|yqjj?NIZ z>d9~!@AUQD2d`loCUI9FTLH&g=?rh{`C>j&K%$!ufmmqpW5~Z)9!aD;%qlaqC~r`C zI`}oU01~2lWrtQ(0@HurII?GYlALX0uYL+NjPg;KA_dm{c8<|EUWL`&sJcSFApFe% zDX*@ch^ywigzu=;>LVv6pD`%gr?AcxgQkgbP~m6l@M}w}quzAOrYV{ARf@;z@2J@; zATPi9V{qJ}j!JRv=#k>*fg7kE3q&cHkkqmAyC#!03$s|+R&Fbhd5a8VKLBr{DD}r^bXNUZtQtJ1R#SVxf{lnhn!UgR!J0p zGrbUE=`b>Am%0frhTp7t0eV`SCpf5SXSO4uGGGRe=$|S_+9wk6i@};yLmw0g;JHN! z!JCG4T|;H4Y~%L8T`{y#hA(@FVu?j_j}Gs|22-=Sl{i5UP$x02n48@i(YKmgs_l<; zs|zu(U5$gSs5)#4>wP*0a$3RUZc6CF_`+$*K*W|+zfG|-ce)=CikV8-!>jwlrJBlO8orcRf_wFcFeqNFGtf|N13QO znxH4<2$X*(vyZY;@6g9A=+$oVP`{1)E(C9DZ0@@olt1N&I@b3+VCT^a$l-Hi+md5c zOqW~|tzt@ra(uwLEP`+Nlp&nV?kBd@l~gc58e-7^HKe4MQ8;ckl);21AjA`iP*3_a zyKlM%GB>}+ehB?#JIxhrD!B3W&MGc(dWBn7ePS`Co?pF@#zMg3cw4|e=#83n(I5B9wQSSUlI*d^nzR%j~6}V zLJ#!<4qDSfG`-CDsrHw9BGhgnesPZ|IjkW)As@um~|UZBj5d4AaqtGuH@|IjwrsROBm= z#}Q}9PXUS86plKX)mX(fq*eq2L#M-t^3uxwH@&^4I+-$$nNK#ZdxqxRlAQYqxg#k+ zXl*p|;$*+mNG#A9z~`gR5)T&t%28S3l*UOlO>HE#;@pq5*85ysW%Tn>j_7j}oBm_7 zCHwf96}|WJ4Zi@@uxd$@-lz^ld)LZtOLL0x@^G|}R4~li6+d&&i$C&Qo?abFrm} zQ5q*oKunDW@cQeM3J}J!PM1b3%Q#nA*^X~PkIz3+fy0%fVw<BavI*8kQ{vD&`Fw(beXwm01Y zyu-2nfC)c$)NPa^>%SOj%BzmDrIDMxJM{~?`Zs;^l{phMFNF7!XwhF| z%y(Wo9ZV=0-Q#Vr#tJ^J(0-YW-~F9)CqE6H?P}LHvyI-qYInp@6mm|j^941L&2rUe z1$8t50A>biGukOl4BS61imsH;^G_6;meio8@^a>yg%8HgV|sC@-0Wo2at7(&98}Uk>EJpF_PwfpoA8c-a~oQ z#w9>WIuneNc(_uo!i-Yyn~8_Q_&1Qp!sNEYn@;`0ds${g^p0_r)7z=__RCF2xu=fB zx_LJ1SwG3u=&)efxSOe!sm<<=SW0vVs84l&2Cgev#HWtZ1(_kcKgWL*2kv>|Yg#}i z2b_}GpJR6HA8$F$=jCv=;g9h+1Yh@U)(J2+<3E`)Wr;XPRYzO0Vakag&L>T`dSRodROf*%0G69dV+e8+V zLVdfFNc+*d9JcwnBI_qxch#Kiom?f@?A&e5)xVg%x&KHbNbCLP)2-4}Ys|=E5Xiwe z!N|>uNvoU&M8Q?Uq!GjccBAiJ5F|HmUSI2und|{IoA!+49$xf-&MS(HxJvE%-=2Z@ zpqoiw1ue%E8CR`jiQ_6VfKv7lyL=UklCh@1?H%3;j1q{N=QMT)`zvC^VrFHZIgWkI zO@~_Ml1gI|f(317`Kx@V#B0&|rqNo>*5Mt&!&FVcezdzW3tiePm94F?=DNb)X)>$E z>N9}fr}1V>rK`*>&25XSpXuM14&j+?i>Uzx&HXyZ({2W1eoNm;43G1cYfT9dIn%=y zJH7~^lIGq6nT^|y>9s6$!7*X9Xz%QnCZQHnj|>yf!eGgsJ!B-7mlng2z!O_P2mLdQ zmey22nH+mB?a8j+UILR$$LEFm+XDbXf}~bPD?4Cvd7bPJ?yHR`!zQ_ETwFSboz#qZ zYat4;-69UFjRt%D?6VV`->=)$V6Biz3G@@ZP%Ov(&DeJnMHlYs$ zpKkEZd}L*2_(hz5cIA&ro&P05?iF3rB{kfY6$|>DF;%MJqdt|9On+FOk~+|&TdaTq zdd19vRq(#PxKdfnppwnIBx)_P5~^!KWM$nnE)(>G6wD8*+Ic3wX~H^j)rZv=Wi}rI zn9Y(3V=$e-l{gQ-80-fP8U(9ZCWWyS76;J=bA0TEKKnLLl(p<|wY_Ugfp*0;YpFH5 zNckuFo*+@QzxsqrjANIZ8dfFCZJL?@V_x;5CT9`FTS7@Li9~jZsJkioTUd?lZ;wmh z%`z+=j9QGLwBC(WJXZX{A`Q9@DBUZX6SnV8MqqOW7k2QHx~W)AY(;vzt!V#`s&nkl z1X{CgY}>YN+erl#+qUt>HY&Dlt76->Z6{sl-20*XPwX+)v)5d6xn$@FOcOf_XonMn z6u(mw9PxX(2>x0IHl3nfFAB!Wo13yE0(63U&O~S^BfJ?oH`bPa1wbMv`RDI(T~S&V zR$y8Rbie4gmZi)1$y!~NnIH^*j#HaDct0xI(rUW!3ZA znI!N|d9uh@y~R60cjLU!fUpcF>AYW^SBf+CmmP*5*9&q+TZ5JpxX@rZMue8X2HI*? zJ+(C(U-_@Blq%dCHNfI*QcR4V8Z-4Ed)X7`mX8~&+^n49%+wo#UGG-Fnv${q%ue(9 z?uts^Ax0OwO@2n@zyJoV(#D^gfZSNl5N#^X;&~dJlxdbs#Pyo0;53{1M~ZA#Rh6W;ytDx0X8h$p5_W+uW+lZUB5!aJdv(o%2q=C{(nE z@n`Ovu_pe7aH$0SFwoX>Mn;Xk`cGX4p`@tM=SXc~amlmB6Dy}Y2TmnjplHACC~+ER zw2KJ+*|EcFQr*7c7JT5vwc@C$DVJV8^UJm0{7~y+jojb8a#!b=jWu($D!4a-hE|X~ z>u%r&7bMV~IDqPVYFZWoIim(2iGl!wiIdB!NtIF2MkCa zrv(umom=cdo)5;7Ed%Zg&71pbNMjrw_Ltxi>FOxu2fJ+XutlGV8kG+g(7BtJb3f=* z)Pw?7)-+1O)z-n@o|6*8)JKcodPHb`rl|>{MEf*XSb$TqoNYcYbx=oHb0jcIqFxKq zFYKnw8KP-AA6>KpW|fzHAQqq(k`~$-ffp-NuX$|udOTO!B;2X{!D-OAz#9GSYJ!#p zlw<YA*cAlnGZojX2G)+NAqLDoy4-v!J(E0~LdfdOGBOIg0=yWVe2HAvU^*Ow*rXRv&ynT8PpJzOO7Bp~i$Sg^oy9&7 z093wG;+@_ul0eyDI*22^gXtO9*fKft7x51$tGMbr`e|vhpPh^|@YklKIcKG}N(tWj z7+^E_a=CJn%6=%zhK2*1m3w2gw(zin>jY@aQqr~+>rVotYcHp^X3@AbqQLeeS)Hwr zuAeIpoGn}OjWJS{n^zAAvbX4$5EZ{yO_lzJ{vBDye)fQ9N`13+4G1t#n?$MDJP6!UFmc1RFy>>mg0n-PB# zP8^R?qIxyKVcWA|NIkqufvUCi{LssLB2%Zu+$4wBgrOX+PLsoB z+%U_FIa){U>=jWilwBmQ+rJmBz|adV&a3%GG;oXDCHq~6sd_*t(Amyt$4s5G_W)FS z;~>&JR7_#psK}1QsqKJGhO3JX5BFNd7~f$A0fC9+G0f7-5i)r?gT7%?*SQ;It!)lW z1Q6a*Nza79St5t~TwAqf!)C!uSFe65bs%^f1s!v-PBgtp_C@*ZojKc>uNQ~6EW_Bv z@x;_RZHFKMOn|0lh?NcVkmzlqCE(m4J{BlSfUYY~y7r4|+^5cz$FD!kCrt{klZ2d*Lf0A9P${~Sae|0R?WZ0!x1aGco!rQ;<3$xe; z$0A&-6UzJJAzcH|#z)cT5{Y|wW<23#(rP9`17cZ3^*%$tUSnxz?yzb!n{o>+Lxc zC_T2LoxT3K`WRlmXNKv70g%_ST<~zzil@DI7iyG~GnSx5mkZ_QYVdh18km${ZRjlP z)+laZD`emi^Cyzndnys}Nd9_!+>!gcgzeAn9KZ@lpys(m$tW-mRYw+w8#0R>Bm2NyimcaG7!54p6=?)e`m!}Jx3c6|_(>1jiLXssoru0uqSSyQu zY3xeq=~eX%LY=Iluxqwdxot7!>Ewm(7>NZ;x1y1IEIL(ODfL^6lQRFIIe1e?xM6FY zo~W9ams(|CVSj4uFaYZFqN{;9->}3v$%>-};+{wELBS+~b*Z6M2ZxAYYOzgv34yrD zzAzj|yStL4#np^vGjH9bK)K>^`JOw?T*zHmC`2XwibK=`0qGqcP{Y_NZ4U<1VH(+a z>4S%NEs;hFsiRmjL0{N(Zp||VtI?_zKCY7sfouekG%4LUXh-arF>UAywWKJ2>SWQj?1Ln^SMH&<7AGY&@Y z3-y)!P98M}Ab{x=%TmZdkl%u0KAIXDj@WyT3XB|EtV}?JS>*WC^i&;(rA*3#vYdXK zi)lCPD70MR$-NJs??V7lf$6(@!Og!tjaGu$pNyL#uxyKEHTgB*!x&9@t1l9J`A=UI z{Wgg7SNXK^XC8bh%}dBk^>06oczR8H)e5xSo+P~F9RTwp74iiGwr#M$?IQQ}@*kGv zy-%0r7GJY1MU+U8Z>P2^7Kaa*J1UjS^I~2RKZlqN5u^)00#P4LnZtj|j?+p8ulTxI zn&XEIc>+4qVi;;<6f+5~73)qSSYFlDNAs$3J<{)4e_s zf_@y5Z4EM7m9E()m9KazKuZ6K)XjbI{g>cHd+5^=KHK5MmxT1J($?=+Rl~Oi>#fgU zK}?kY`t~fTN>7Mf_yo+Yzj~Q4tzu5K8~_L#;EP-iO0+Eu0w$PR#4iY=_M zq)oKtM#+nj@e7Vi-_PvJ$yk7VP-c*c94$=7SW8Ssipeq&9p0}uvMn7GX*^exV(AYA zs;KR#e;ZeZC{AP)vs^3e2ZQpN3j(R+5?3@EY!uLL7sJpeMFl$@MHRGPQFnP9f2<`_ z>;MBt=ZS;NS!ksy<9@#zB)-^ys;?+o1F;Sx0YyI4^3sXpAka8hOoL!$F*Uu*nln_s z9-HfW6YAD~>#j z%=1TX%O7RJBzg>SsGQ7Y+Am>Rt2N|M;{dwInYEgs-oHolb86`iW1%h^4Y3?cHOn_4 z_@)gbYih6<2Rs)FTJiK`@QgJMHaIhI(<0C`ck7mAMw6IXda3uV?B5kQ@#k>BvUEVj zObuV$`wlKPSe5_yEdm}fyF%W$6n!(z_2yTGxnb{e)n@Ue!#R0eD)^lPG9k7{BL5S>WF?>37j9FwS#~#E*y5NX`NfQ9yM~Y7eGBy86#AvBJg1{6>ZefUkrGGYX z>-Opy^;gJaG5a&1&?xXk@Okn!-S~cjxYl)&w;v;N0Wp~qW@k#v2H1mGa+w0E9%=n= z-+D}ypVrh%hP9fB_3zHEAH5O3%3S@ke{JuVe?eIAhh6`_L0FkVP!AIm<6_~Q(Y}R_ zqeei_kMGBmokH9Aa{}wb4j`vxZ%_PT{Q)c4eUNa=M6te+N&6HPRL-NZ?qWfTxJkly zhg!W|)7LuGq^6sWS1X4Q7l#Iry zpsg{yT`XKjIh;DG%$j8i25bp2kb2)$t%q4G04x@XXvx2y4(y-E z=NsP9mfutLjWqE2BWBuQH%~)2ho8b_%Q6QgJXh@gMDnFfgi@`Sfw<_sm>K<5EYx?1 zb`EMdzuObvtjjUG#b`?fG%@SJ)*3sg?$~x(Ok2IOw_$~!#ea6?J=o~) zc7Z&;y0MY_|2cjT0|Y#C1Z=A=KhnQ7uv8=2#aSLp@(~C77Pr`Tjog}Y*|D0nf$?FvQ1$!UqXD1kGX z3~(`B#6z)Ht+y$edY9-yJ|3#yI^iO}ey!j>=0dA`=Fy2lbUyn)G#jjBL~fbyc8@JP3J)6K& z8b_mxSecz?0K#{&r;t_9Q^6#g{9^6l2g~m-gaLI8caCZl$nF+Ji3i=NsDXF^VEZqw zi~_#h4dZ0fBF3OTYiN2(yjSV`xu33VJ6-0Kn?Y)oX#)vOl79WyvdzXmHM0ELzdR!7 zwuR7XGmcVCWvR100L(|z>VXplc%Jl)?$ZJevJ|% z4uN#~xr}RA`ewlAt@&!bh=2ZBeVV9ruO5h0;r4lnzCPdzu{Om_ ze~*FE(xQi4G>ZPY;)`F8o-+dBwI-*hB(=VW8W@%FzSOQWJp|P`ajSO&9f5SKXku8# zA&fKD2Y_$47H$`TooGH;GWzRXUCGY0NVM?DU};c;whYkQIhG|md@eBqTtm|{o;Vz@HPZad6zy(HAN?FL7jdE9kvv@W&n|CSb2n&lEq z3QPwDw=aN!AG})y2*r4)Gt;?OdPE8wr_UI@smigDC2a{N2l!0xmAn$XZ&XPks|?fd z0ZfJ~*~f*wSuXRefEBE}uSL6>f`)8hOAN5K9$Y%~j^gJn&jXHiLy)=A%;YY{!utus+Ru}C0MlHA6=UD;Gjq=n zkdzA+iX&|<_|)({4tq`U&T^m$(FCU4F{rs4$}(ftv|BNIgXk_Tv3U3!Xk044ph2+H zp6JsTNVGO?Oj;=Nt%04KL^Wzr=0XYNt_;BfFh7euy+^rDPf_jf5U}t~IFe<=0nccL za5PHxe%j&E5r*MBgb;^U)*F{qR!BX>s3ZVX!Z@j4{%DONL`j=Yrl8VB-)Cq6MjaXo z`=Lx!HjbTW-uqr!1No%J1}#%x$##FFt|8uO3liCe;?55tn3zG^VWS zhxzQSu9y7&4YNq^uJ&AoBBnh?!8{3rKR$0GwO=zoO7wsAY&3kN+~lh<;!`F5cz8PZ z(GMrP9yxrH1Gg!-A^r+U0v%}>(0mh)m9xBCd+U!~G+xA|OD9?*c)b+w0px+tuq`JH zbJBiil88GcqbgPw>JsmTT3@1_?WyM6CqZ?+fI)fd00)FK&}-!6vfj9G9Z8TE zdTQ@bdzm&QbK8~3SsT|j=;evp^3@2>lG+wb*g^?JWVursHjNM98SCa>5e$$*(wYWcQD?b zc*dty)!OhM3B^Z*%k6)E6Umw$ZSx4vx+Ut;@srfdp#Uo*i{tQ#0ciIairy5&#p;Ic z@iMjgJ=OT)82f}Wc95}jY|zCVZ8ZodY<3%tAMDYhV?8`Z)25om5ilYYD|A~(WmTQC zoWpzW;od;~OhRnQ3s1C||F-PD6?|^kl8Y&$2(uJJeIZ%7=DL6fi0M#XHyi5G@Fq7O zL^do8PN?K&1jx{AlSQOH> zxi*5~6gg`M9wVW6p(7c#LImp}$Kzj<346L(;QYc#&=@93uB;agx|G{r)kJydS~wA> zkL_Ndn7%6HKVB(jVD+~_fwy&*CZ-ZS^#Zw)(ra1}SR4zD1dRReb$&wT>M5Wp^pV5p&J+QD-&#RCgBRxl&v(JT(j6wQlfh6NahXiz7S&Gt-nnsG~3EInl zQUeF?STNb~0f6{6j>h+rJhh2G*#Ebr zO;pOv{aayd>f9ERAj*mK8VCb~MXc^(b^Dj#1H9&sKU~0mWF011PHJoMl=hd@h zD|p4jTL(FfuO^>$h=AP;U6*CZUNVOFWIL$Y($QLBoJ_G+m6Ys?1xOID7e!R{dHig$ zbXeE-rMxhK?xcqz+76nWoYO)CGC9wK_aJ7n-RT?5Q3skevW=-_j7CwPX&=N_5lOK%Yb_%6!BVEYkS%@upR4$^Dz!K9rBHd^@uDTqSAiS*R$V zTgWuvp@Nn|{PCcr7Fgp)&J;Kk#VSHa3m_*3$i)uSE?^{=-<*X_!7(m7KtqUY8rk7m zw*@hy<6Q3CiWyDxme*yR4I1C(CsU%o`Dc{O4-vjv;L6|NtIFLR*@Rg6=k`%0b9I<4 zU>@apKIH9w4pw{}R^U?BmQIo8A4N{D8||3bPlaOn^NK*QMZ(|tv5E`(y+UhKB^A3 zb@)QU-s_jm>R@ct%*NDNcrT}S${TM95567+Vf!xBAE(uaVN9qEr6>eigzkio>qbP< zcJ%M{D~zQ+T*Y3To|XNKdv5t30FDWvW_=Rk=~Q;X+sAlC@gPLQNcJ0b&q>1`*|DKL zPc`Y$CNCG)lmZjW`=Xw3B?~4d6#Deu8=gP<`hDr1U*6*@P=C?bPJA#h)cbyr)v}cu zYeLXqJ|^27K=t}%o~RT{)pQ<>-95(D*F%4B^d}4VA-8-1{iycd;Vc_&0@$K07(t9G zivT_M>li04R8p()bs<;+5k--2`pJSKo1fG4p^YpcT=dLYO`%}aEUILpich&b@Xz@y zI+mB(*ve9UXKCn}Mcj0VnQ3arfP$=}pj=jKVx3Z%DTAO+#U?fIny+i-G_neR)WEMh z{t?brJ33aXD-+3k<=^VrH^MmqbeD3cgo2^@Z#~Ra zsELbhBlK#MK^uRxi;W{?m)<$~(9{hYG}R>r%Knv#zlEIw?*l_0iF0%Q_MMK%D9Cyz zZD>^$yRqYM+{Tf1AU6Nf=~;oZ7NCxG!7YjRT{C zvatQXdNVUS*Z=-4t=681rTzaruG!os{W7N%(q4E&fCMtRxjYq^XEBIB*~ zh}zjwTAll|s5s!da-A9ttLWp6@`VU#@9?Leu+&`c7UPhrThXSm8Qa-*$ME-SW|??h zOS1zZ(|#PM`nIRA0#8slQ-J=SHz7+C2U9U2Nt@bsKgVCHTaKk~fD3*mXcS`XcZp2( zK+GSAUcO9F|`kVQ7Po2+BH_z{<2m6B2_2iROtP0ev>Y~;byDW|3ZY%2ux^Qs<>xE015NzO{=ClaD9LV&vBusXl zzCSaYS-G;yWi9{S0^oa^*xZkV)t7;zV!Sj>e`tiJ7r^SEfSI4cZn+9E#Cp4id}Hp- zdQZafQCy70IF5^Lt(2WW4CH~}IU~9WmB2kZ^dGl4>52@hj&`m(p$UCOzuzCMDewmN zb?Ow-9ojftA*<_bpwI$kJt!kf{%Bbet8PEJ;98{kN-Jnt07R2hB8ZQbSCK$@(fT-m zLf#8a)W6Jdvf0IZk(@4xnpBxsu8USx^r;`wK7uf~A5*F~kDaSB9mEb0-Zntw^`v>Q zbnC>tDOgV5g#DPB3>2!>GI-aNK#{~8c7{c|8|3f8f%yv{VfTwm6z?0MgQLj&U=+#; z!N81xF~wNn0U@(k#K=^GP*gB%Tr1M(i|Y1NW4;~v^W)|m3Ja3TyVAchgL7c{-ggZMqb=7cp~7<6g7J7ZVmR&jch&G^*B3^Faw&ws;4 z3IB*dnI*r+lWj`piR*{vV+PB-Tei%@su4Ufx^KlY1Hi2t$an{muIMGUIwrz<+9uMv zb8IpDQ%<1B>j*D$Hs=UlXN1wDD#(71e(Qa-XK`H{)3W6EXyJdVUiRQ72Tn!3tZiIh zDvH3v%^{`!*^PYA_J4vxn@~Z9(%R2?3jj-ISE@ZeEAS;GNN$>sx#4o-Ze+7v=63NU zqon1n10X6V)zL!f=h1j<3k>`obJHL0vCmp=LqUHINqj6DXmi5mQXT~@XMhZm&F9VT z$A~f78UWagq)EwES%Bj+p*NQJp079V^3myEi=C$rt5jY&XM& zxUZpcO9RFScG3t-zwSm0Uteo4-WGA_Q!#780EiFpD-G*#AZ#9ur(G^)i(Bcz!v8I9 zN>-Lz$MH99LyST;#t%L9uP>n5P4m(Le!K5du6H_~0hwCKjp^=3$Vg7l}JK*-peM$ZEW5VBMncmh(e<`v9Zi}7l=$8_F zd|o?bc~tG*8}OQ%A+1zRcYrv)X7e-WVXs&k^#+@^`E>HbU_K|s;%^(Y1E(>^J?}ecaB+%1;AJRc`ZK_*kO6v}-M*!y11mq~rOOeF35fM_KmN2O!%t z9cTR<#k%<}TxJhsnLaeO?%-g*;t7ZVGgZT;Y9QVD_DQ=f1r2wzV+B!Cz$8|D%lWT< zAs_7ZWA>}jdTmA*%stB7>^xE%F78l~Jl!uY@^2izvR=SC&pTP7hU_(H-q?-T{faGT z@(`O$Qt}nWHuaw4ZC~=Vq_lf|7l3mW_cPLFTtu$DWnP{;WzbF9R-AEdOk)6Fo}dMh zA)WD?#CYE}IRj|FkFRQL%*QT1`yZdC_?pYhN^tRn})D=ZET5peq<^VF)| zr`d0mRIT^dQv_d!z3b9k*VS1lt6$3I5}c0IcwO=i+S8FHIY)`ytPRI-@tO!0X`?v) zsO`6iQ@gw4I4&phWH?FUC5(NZ-A;^tQ;Y@pR-38>i%FqOlPOI0rKd1ooR8eTLoIk= z=7njq>)##P+{(6`RF%MEGC*fl)2!Z$6;Ei(;^O$eE{q$dXRw-ILT&)RPmGwBIkG;2MY+DyGTHqU#G{&lLYy?` zY?AF+M9yq`y52dRb}+6a+#iP`gWXKa&=Xv3;RoN*Q-oHiR?1d1N%? zLfPVL@i#zNVl8zbwrSPWi+Qi&ZBHS2Nk$ypdNBEVvUaj9^qjJj!&9bX>FZFcR${?W z9=A*Pmq4&N0YNF{*mS9aPk|s1a|T536(2K3wCp!eA}~+U4j?kV$VKc*@UhlbS3ZsN zSWi_~sT?Y9SG8!>;Yasr`ji%8QNNM0s>VZ?p4z+$e#fkIZ(WidGKI#Mh(1ZB0(mCg zR3imf9V%c!9^vb`MF}FZz)>%>dE3G_=YU0X^5U-r6rnjx~|RP``j?a zgv+i7DG5*bh{Z$h);-9oS##rS z9|Wr4Cer^heGXKJNz9pd68#traKdmK7bM&%;-Zay20$YOo<|g$^pXjx9RzDHy#;O} z|75_QR#H4q4RjleR+N(`t_>BQ%b29LGLz^pA=~@>Inw{n5yrNEE!oL7E=rBk-(Fs? zamX+>^2V;4d>y{!RLxEoRu|fV8BTltNcJdvk&mUPsLn|`=0<{Fm~fb%?ts`b20yhz zpfGS1a3H^_UTs~@j5m3!+K0TKxhNGEqU7Jo;iWvz2uTm84jzu0(VPM8=TEugDFr6 zpmCgVmQhT%PkJhA2_%m*XFu7XErf8D5(jIVY1ZzcQ`=cy#H0($QXGsGO&Q}?<@O|B zb!e!uF`2B&N8cPZ#Nsn+;g8T}Z3<3|N$A*Ybu3%qF8;mB#3gUSZ_T6XySy|A6ZV4OM2RzWCT*pcsO+3?*zn zRR~>orU zOO5wa3)l3g`qvzd;}@qIk6!t61kqyPf&2y5F_cSL3*~BtPPpSk4E`I(v>7)BAf3>; zZ!6~Jp_#&W0Idsw=dUYPw7VZDF#8Ku{`4I4t@wmz(2>CW=MS}<-c&j&LRV$_>{qF| z26N1X#Kjj*BQBeR&O1iB;*^~`C9yq7W=HjHbQAv;Ud{{Ek|5n=$Glh+vHrF)hb#?u z@^ty#Ur*N2ou5ZR13qgt7*jiwRCYpOL=bkCRN+BjasVec$Nvr^TiX9v%m12G)&l}M z4X7GkLvc~D>cF^?y3;Rr&CJy!&_^To05>#=Ln|&XlUJ6e7i4s1p;HtWcS})K+J1VA zBzJ&j4~?!!l6k9_B{597_R&xM8isaC&V%3|22P!kIm1(BcEVN^Sw;2aQ@;`l z`jMk9PsG6x^)iokqA=Uih@}DGhRqTj0Ie#>e18w?!XKUQ7M~dwVRmi@3TZLeqo6_X zXf&P-tVp3<6+;+lrWMv#_9Q7dPj>-obW#M(Y(h2YZVIbraOA(@LV*)rj3JIx1>}ap z7--#TJ(W$E^m$FF(~^bfAh9OSQ>eNo>3MWj^%QM-7{k!T)vASb=cfQ)O%29C2-Np# z+x7cQ`;_Y)W<4>+lyZ~A^>9Q*qJKsG5dHnk;c##x@bOKU*i;Bm`}<97KeApng@V6f z{yY2vL2c~4vwU^s%<1jGxn-a^OV46fI0-q_6;fE0cgmUyvL z9VBrQtx7&rlt_3aW-0(zTSJP+5}ly7Z@_#?^$wr8L{%mb+ZAx_P%NW3GNxX0>xFbM zC2B$4yk!hWvA8Nq^-U`<0_+WFEJ-B-o+sHISi1Tbk9Q|LjGg>flp0(4C!m}Jg09mQ z5r2@eaD5ch%rT{i$|8DP@gaZ~)Vw`AL+c?2_XSoFYRatENDP4&HB*j!D&&Bv^x z89_%pX}TWWuMe??(*>gDKyQ;fR4d)Tr@-OT=q;^Bt?-TTSdx+zdT>J1t#yq3!~M1k zq!I67xkw4`PGw@!KK<$muP(+dv3-Ayn^;1`(P7!`TID%r(U>R1&S#i5MW8>$}YxYayw*G3eNFw`P=|!+s zkY)9C^#b@1b67DwG!8s2-ACfw*`WXIh}>a-6OerStr5OUsMHfD64dHYV@^(Vfu) z1NT8bdCSKEhi3}Wjj3=U4{4yU{Ay>40D~tdIa7WMUWy=t?NhaqzB;2o!WFRk>s*^9 ztm-#UoNwy>>kl&XrT2n|#Xr=Zn6UGbL+?8B2=730okWe+0fZC-?u%eCft z83dpMVNY`n8Pzsd=os*RrTJU${ylsh0IC7wSfks8N06>ZP{p#vy%Yy0htSz<*W|TT z7@zwLX)%}KdXRY5QFxxvT?Mva4phGt`t`1M#AxB7mCuMYPVpIcm^9@GL;a(J@)TwrxKf(ovwtSQ!@MvmS>= zBo>o93XB#dfn>T2dks0Y;LYLI0b42ay&tZUZ?_$saIPS>y4R}-dsw)-F!a-63#qEZ0!F*H^mCcZ^w}k>^K)?}p6x zl^Hcm^6<1Jck6X3TdnfpPdv5YL`o*~uNm-@XpxABUiygfavIZ2szRG46pJ9Rta++e z#g4a*3=P5@3<$*bzm1QjrsOjnAWmITsEd?*J#(xTRY^ckZKAE)~5e2oF(ay-uek=x>?*Opox5>ls zhjSu?n65O{@mWlHb!v0qH&1J;P=+;k7-XuaN4C#avt{6w@2tPsa>pCv1ueUVPsUJr zTz1w^XYGJKoL?fMlYR*+9mcXkRs1VRpH8HS!R>9JuVM_JwX#pqz4^!3Ls;DixqD^W z(K67l6gDRcZPBm4`8DGmZ3DuE#N*_^H$b}Joe$t$d8GGJd;QdVzbjps41N9uE>*e8 z=HF;=R^wtLB!Mn5H2;{C!^S9X>vp%f{_JM0&KA<2vYnZWC0Z7XKeL=9Dcdm-6V=1z z!*R_0H1q=!JIRhUVB+4WXstp*_K(Pc1GajU>0KxKCbZps@>e1ep8(yXNnHa4=p*7# zc(+T^c_lsQ+Qm?=*F;KG`GnkT%Fb?sM8tO0VS}#X!#^#bE|pX^ijT#Hg;f#~giac4 zXTfENRuC=YBEJX3I&myBHk|Iy@z6S#Ym=PFP|5NAmijZG@a7C}0&Dsj+Nai6KqbE@ zqZ1#a6#7v<&iGFM-N)Z*pHNc5+42^3TRT1trYAzz$)^_Yh-T?|LeieJ+IFLd;dB>-+e_~Aa0%WIAaKv^Q{fb%gHWPH8ylvJkM8;om(*>K;yAPLQPY{N9`lb3BO}EmL4t*DejTv zZt1UuEsML&uCvSWZmd=UhZez@RIr*hLJ8*?mcw_emvFawwl7`3w(k&IQjc2Nw>GCn zGWB*P?Y~3+8Tc5=Q^Z1&c@qI{C8He2J3T3nsNn*Q53xy`_g!2#7px7{3e$PkWml)O z9m72;ncS$47GdJnqkQLeR00ZH7aVJ5aa7yp)qhvI4h4M?d$4A0!PwgeIX;nmf{-Ch z2l~A{iR3Ho^bqNRUzp`9RoZ0Jd(OSbsx!1)$Fnugq5$1b4#C1G%FQnmpw9&LR*+X_ z0ZV%d1~OODlhX9jZoleJJoz_#=-qx_nB@&nrP%L347NjSmR4%PwOmnaoB6S<4_2?J zjuSJg@eumy>l{ylQhW$w<3bE3+@6o4%FQM-oi(`(acQT}jI=>PHE(wk`@s<}KuhoS zO?O!Z`~e_Go%|U5+&W59AzT#kz=J~jY-%$9?53|j@U^ldPSMPK985cj5xi%yOq^!F zq8G-O!SaLEfth7z>u^I0I@tK!jKoUD;p>RHc$9s<^L1`V><+`=`!Lx@?&5-^#oA=D z^Tyx|7eGi@+YPK`#L1B40W1Uk`VXuLvW0H1^br+xydWo|e11BAKz1jk1phnS`Nss9 z62Qj&f0-sNS$k_vgzXpgSHxFU#B*>gO*kfcrcP`Vbr)oPPF+{#haXH*aMW)}W$7Ug zPv73)0V?oor=`1D22Fswr|+km%D7c=pcgZ6uQ^KXz5S0<^V|s~(gP%=fCE}C3BJJH zBki&Nard-bHt6O@mx%80U1vKh;a8#Z!{rOhf?atwgK|Mrz4SyOA0Qc}otx^TuEaS^ za&L$w(|wzH{D9CGLdK4OQC+Dcc359`DT^+NI} zPtOnVrQUL;wlN^gvSeX{fi~UqLNCOmRxO4cGB5WFCq|9iQ65T5z?M%*nMKiv$GdX8 zP2Jq`LMDWH#6Y5Pzb0Y4w5NX}MfJVR?jEVe&0bYR@CZ6xwIcg6LOX_W<v_jA}9dOE1Bio?bYGjt#;idZ`y@ov)b{ z&h2a-R_^rqOEr)-DcX@kEg>nVP~;(RY)6!U)lxBzC7qCQg>I%=2?f0-?I%O&h4TpY zV9T)ERlvUK8nJNjeJ#5wbE+&M)Lr6^qUka(<4?;M6$OCcGqB{Jaaez9Arxwa+CjTf z2foI7XUv32-?vTro{PEJ5z?y4xy3~Osg~C6)@OXK0DDb@F(|0eF=Iw+QUDP#r0^nz> z|I^Co#Q|6!@UWjhIyY)bQ2g8Cs!PIKb>+|WTYz7@<%r-EGO$o=j*z11vy=F z%tNXq_@3+|(78ctNvq+BWWBz!v)MiUH0Kt^cMjm7am(|D3_}e7a~O7J>pn^>q9QVd zuJ6l+P?{3JY0jdq&jXf%JU)Bgb_SB~Wc@ab6c&FBhArEH5zaB|0I?>2A58f;t`=yD z%n8UFHi^HKEGG$&V=FI$$O$QME&*HG!|*h$pc-UlH-BOu=cS`tRGJeLMJ~}QmOAj3 zfCgMfkExFFm>jsSg%wd_+*W|$4}sJUpCt&>E;{M)-<`+UX9UN@eS{?!ThBWwu(7<4 za<{zJT4W0`q_#t@m5J#+59ZJRGF`?CMeu3>3b2G3052)wDg`SrR;yzfTR<(P$Hm!V zV&yYmPK`v=baJ z?W}D;RVLw%O02@$EYj@$K|o?XYgZSIigB$&YW@6MGdgQ zTB$3KG;p52Ng6M(1(miN+Z0=HNDXfR@;8eh?+_=xl`%Q2Z(6(*Mq}-uc~faxnx}?l za@ttDFJIwRC%;a%KgHb~2`yVOKK_fXLjXKmVM@t@pG>)QO72qxy%;Qx+wOZ3UU}H? zt2HMHZrxO;8F+1~W|f=C^=!l9h6d2jftjl&i>iTJY3rc6j=qxfVRc{6bW!EBb-+we z<7@dbv}1C2P(X_aTerIm&S6fbC(mDBCy$(Lh!ny8VFm4z1}b=}XeeKAJ$>dZL*p#o z9bBTzZ;82-FTQgs`wakL!gl4Vq(78k7L21g;>gqZmRy})@v?Jib} z=%9Fl$)kgS)6(iQ;nqE|WzmdqRaA94ZrF~^60ZHY=8=e&A^d*uyjz^C;& zlxX*FO%;wzUP&%ZbxbFO*eSD!6xUx66R~kL% z*oFw4@MF5!4mo?*5X2g3>jO-=z0U8BG-XGlsMo}w)ky4H`o!BZa3mzD)CmK@fDHAofOMoK;pAWZVBYM5I)6|tvE z2PlfST4Okvi3)$EHX51XL3dhNhXQd5FAm9%s8E;jaB4whwRbfwssSv%fF3y-XZGH{ z4Olxv6a@aBW55Ww!j@<`BnP(Vmr}YQeGaFhTv(dxHj)>?cty6dx5Uk*#*d})lb?NV zf?D*G(_Udb>4_Mg+K4f{hsQR2 zgg_pSf7d?N^#sCdW^;5OEeH`tJ(f3lx9!Fl#>lrAP}489VaP#>>&_*sS2fkfmQ zzsr8B(~Z4GX7;fhuu_KaIcyKLaS68{z0v8wE@fE@%X+9=90H07cGTD$vi^AI(5|-W zn2d>jGMH-=6EJiJo;o5gj0Lf-8P!kx*001gzt4$Mz)Hg9r2;9Fk5POs*+s?X5FF|R z-pa|sL!95H0SEB%Zh-Z6UWMir$@_S*IKZ}Y54c!EldVbpiI&#(p1ZN?0#h3I;fMu(1zQl?g zPTg#TR3YpWjQpEzue?j`+i07AB`|1yzFZIAhsqJ9Si5wX;AkPG?tZXBzz(3_nhbkv zdt6P`Sr52Wj(fEoCD%5w@ylaQn%&|io^oW&aZ1mzFJ^uBaJS(i;IrAVV6WDhH4LfF5WH&DwYGy| zm|HJC2DQ0cAy6qQ8~Ul`Pjfed`GVv>OqJqu)U%u2nm9Sa=? z)bcW|&HxmC2|aF?j>Vwm@39T^0qhLla$^vdK_znaUp~*)eYj0y00bgIuXLoYeHlN)^|aw#FtL* zZ0@0H^kDq#E`{=wv{1jGAlN_-p7RB6Sj(Tkff|pc-J3mzf|?5n>-RNqf}bTcNOj4=P?w{YSb+gu(an^WBHg%nh=!vxv&lyqGUMs!!)VP-17+ zzsRLU0?dw!_u>Xq;B{K-4x8ZTcP=NVJw+J%sO-O1Cu~Lxv+l0#wqGA_KVUp7^GWf?sp!vUp zc)~b((;l@NXDmvsfgfbhJJdpI{yL6C&^JM*39q0ghaabr&{7!jQlG*`4T0ZaD1SE- z19;*gVWeRpA=w}>XMqx4$#C)z=-H$okp2Q0Nzvy@69L(CIdDYP2?Lb5(hvr&``}N6 zOq%fQ405TMkP@O9*rXt-T>aIvV$h(KfF84ybZ$qW9UhV~h>@`bAkSqdZFcD+|DblM z70IAL1I=WkU_w^l5gQGz_MIyr#|4c% zr2nlnOpao~si!Lu1p|r6yt$CkqYFwgSRCt*)~JwgN}bdC#p?@^+aU=kDe4LHWtk!P zk$__upVAQ0e8nrBgv`XB=n-?rzP|o-96yvNgU6H19hDxX^8ko`t7*}N&Z0YsacvNn z?}DDuq#*j##>*z4fO~=yatWl=ayO)mK_amAVhdBc_>&WIb<)4(rF#W*LB})fH6j6o zCz41bX2hMqR$+tDeSqMIiz7bKBx9i*2J-Tbh}S^wT&SV650xKn?zY6>sII7u55;Lt z$`XQg3cOIp%3{z|sy-s}+6{Gad}58HKYffxTT*@jBTuq_th7PiaOl{nJh6(; zmG3LJ$xmRI5~a4R(S3`O3$}iN2Rg@p=Y$2!BzUnv-~d(Wf=7S9uM8;ydNdh&y1I3%F$D#>bRNz-D>rs9^sBG+=x_X5>Z+bo zhk6VUVe&!?qIfM;VzPsgjXr?;nTCtGFb zL?dI5#%EoZ#t+=-aA4;vG!{|J5E+y=14PAsDuA))mD1;7W9ceGu+H57ePCZ3E4Bxi ze224)cQTW>EKTdx3`S~RJFgRKu`g>x?CY@V~PpNVbEltXyn#l13$ zF!drAa|iHnwO@Kfcrg@}`7m*`@-?IWH4}x;BZ0FVaqM1dyySVozG31o`+&C{?+RvO}s9BbE{(e9HTtfe!!rn3}u4V}vWpH;3 z9yGXX1_BZ&2zw^wVO>Jeq|I0L9>|GW|LiP0bdQ- zt%#E?S}KfKs%0iqT7kGDkO;xohN%iUHBm__EK`za*w(UeQ*M4M3~T~?N!&#vIpp7e z+UMOT@L;_Ddv#{)WjDFep|#mi^un#%hM0QFx=8`)N+^SV(y}QVtzndviU8H;&<-_`w zIbJ(OfOB}~iP9Nd%NoQuNdBRk2S=FrVH1(nq=`4c3OS2EBwZPC>!;((fv})Y5yJ z4-X{`W&9y@VJufr+@)zioM|9BvpoJBG?{<~RwxBJXP^w}LG#x*JGs%H#$ZD+zIMUQ zU%ODYh=K$*yNgLDC(6LE4|$3@L0Rtw^2m$-gJ6-Ljl+VOi|`$2H29Acnbuj%V;WB*<6dD zmxJjA&^|~v%fJArn_KhELv3knn%8Xvnq)340sj$*SJ+d# zgXHg6VHq({Qx_zumicfGCaBVWJBu&BV0Lp`P$h`t2bzZr)#OPH!jH zLN$>*#-cYgAY+LQM^-|*1e_%1fhIW*$L*$DAU1N|g_}?4F{nq#2LWQW)&&zTo3-8z z9WS>>uiG7$Sz`0siR*A+Sj=E&dX6s(mN^8?#yo$Rh!^DpiZKG7I}X&ai(-y{P3I)F zibF$YoJj>JzVer|v}(P!c4THarp1x44aD)&K49>Fs4j#XVLKGyyimO+)Y)8@P|G7U z2SL4F*+0f3``s*aiznN>K>7X*z{DC&u9)lX6(e#D$1TytCa3xsElz-gC6?O=(6WXR8xy8b0jtc=bOkE-hd6j`o#asmu$onu9`4~^$88yIJm9<8)3YrEL6||) zi>c7XWMuc!7%W)6rtw_7-bsNpK-CAtk9F4Qb;b2VOdl$wCYU>YTiSKkH$IRFCK&UookPE;!lQfuDfCI@FO{1a+4wya;))*dkUMw?h zVHd(}t-LmXuHfJ^ARxE(HFU;YgcPl*Vo(@MM2HglVT2vXT6yNabF9W#_va0mb$=W= z#QhtQ~e$JezenZ;U`e5C~?=%k4J& zu^cIH(9?5)xP>gAl#zEo@UL4k+TOhl+{YMUT_!%j=n*i!M{lPN09x7&jxut}f`RTU z(0cIBXMNB5wv}>5B$D9#zPRAsYstx%R zLG`B-JAZ0y$&pe=*2oYEe~zH1g*#mPR&5p{{JDn1L@ z$FsFcko~k=(i9#R!0u~cfO2j0f?3i>8UU9wrP)(ro{EwZFG46{gmp!Ned{QC{Z|5W z&TH;dLsi`8M@`{ASHAD7^q6VLMs5Pf9EP=pO?#FwUGvHL^v=$@BY8GZDkgZ1D30|9 zL|=Xucw>G#N&F?u{K8n%G{dIHEmyfSD#p-YP2N3vjB zG~qFI7Oj2GUmt2Qih)={AM6EH^N-~WaIctKe+;Uo32uyWx!ma-Tp-&B{)TWG}woxH1j$DrV!Dsc`gJM4vF!zt>=ppF^rQ>s!2`*9mjBEnqX6mBnH$>8R)aF zphj1P2F#?l4bDBbiACtZ6#(g8g>=)MC|)yt9DcRS5(mL7fc2d?A>rMlNk^Nl9o_}b zNN19&ADl{O444if`cNT{B4uZmbTJ67s{uu#QAILnQx8pr=;3ppw-+nCS2kT8SW^JZvmb#f9u2Hy*D*tq8uVw^~Q9 zuJ#ELO&62Dv$v34cJ@Q{49m?>GCoHC`LTm^0AqBua_80TzwIu!?^?LuA`||sn8|am zih&&64w=26olCG1mh&_eJ1WZ#(_1^;qFID09-M}N?2`fzo#rEx{Csb>G7nZhORi~y zd1RY@6YA|B*Lw4se4lk;1h3!+Oaqv1VG{}o0={TDx;+`Yb$7LO+KztI6!>t2%rJndBi0s28CSX%%bl6oz)--kRX>Kz4iTj|Z@A@k3W)0yvDXkb+q4Em&67 z1(~j#-)yQ8cC#!~Gu1+j1E*>N*$zb$6A2ct628S&@zy3s>XNf1}%yT=Rgb(Zq+HZ;O z+1Zx_*26k(e>zHkJat|KCKk{wd8D@^JqS10>Qn|R7*a_KmWq0`TY6h z==A}JE74*%Y{n6b30^a+_gIB@%J6y|uVdf}-_Z{dwR!mHgO$_XwtTLPzBG>(`m+6w zc4r9g>u65XDM22hGc?7S3PE;+#hix=Sz>8xg@&3s@g25i{Vg|3yd@$cuQQQVX)J<% z{MI_SAsXVNQLztzn!5Tztm0q6`7}d&ChfyhLsDJ=7Xz`7=^9_|!% zaWjG=+pO-CTo{oyMxj9Bl{RT3R1SX0w97Vm&QHP2a?1hi|xl7_eT}1_>6? z-d}nk|9KC}Hc1%c^9`2Gv3SS{UwvWOX>p^zG^OSPvP}c?Wo#c8f0nU^g|pfZxoxic zU>xuKXxI8(v%>G0l)rUYFnLR?7$S9G`tsI>qmftZ`Lm?R--o@xNDaed{1kqNE;`?H z+GufVzd3!SzjbW}iU(byzgp>I21wup=q!a-aZQya$yi+Td!NA(l(5(!`%`G~=^Y`$ zrK#)fvB5!uAos0Bs9Pu3@6NchgMBjhrT$^+I`hwNPRQuiRw5_<#~AQk%y4nsLJPT` z3$q1N9AORK!m{pPPW*yxZ-k~-dqPY(D*a4i)9r_J&!Gk@$U?|6g+dF9B(x9k{bp8 z$0f23x5&?DP*(^_j7uxAEi}8EJFDRxp-W#?>q0C~9GXw0(RX5pP`2x8M`<&){Wc>}Op0bOB4OvzW@ZkuPUx^ywcIASb1DLF)@r5?>nBO6~8{tf4f_XOQ z!a7s;|cviS=TfPPWqUQOgOas7?8Vz6)W7wR*(f zy>50t;W)WTzF4qby`dfwtq2s%uYNl%b~x$7v|K;jaWN~w5ZgLcB$vLmFTuF+PQSZU z&vw65c*CWCtrV=W&&3UjoO1|j@(&lNT{y=?!2e6S{GJ(4j0mJjN}H1CA@W1eP;YuT z5^8NC>52tuR~9iDBZ%He6sHUoCrR2gOyQOigV)kwp=52~(}@R8p&)I@(`n(2z=6kf5-Ic^bT)CjUP26{o7LZx&YH(2xM*!3j@8?yq!I%ksqt5tey7X z-m)Utej9@I?xTTj_&PrqHwOOf3JOza&TGE zXNlivCS3e@dAgObcX~>wJ#cRyj)=D@*|vke#?%MT`Sgz7QNhnP2xbccXhL)HgQJ1~ zUqH$IQG!hFZh~FjuF2cD@SKYw!b73qh6pyR2~INZ6n8CcfxbQS7%7xLjSOWUVk_u$ zcY0*ZcgRLMfSUX8nIh5tn(Ht^<5A# z!!4LH;NFgYPXN9+evVexQo7eZs$ZqR19_$EPLLYD4M0%bKV8htRjcJqS**KWXV zL^$d?CFh4`Wm==nI!X}}Dh8~tv@?;=@CCT|v_Tr*IVxe)G-*-AS8a!V5KV3zUsN1f+DJQn<)+^c1#l+Ve)KG!6KqMsa4 z{fJ(b!y%taLy3F7o&}^Bx*fx!RqVd<5R(E5xP3DQDfTFibvv*5t{aP zQJ8CUA*Zp4rOo0}LgV7wB8G|MV@dp|2Qp2Ycxfv4T-D0|;ev~cpm>17&H}acimcK9 zCSltPK>JBuL_PK(Lc1B>FKpykAA(aKOhZ!83)eCOI8&_L3V;U}u8IU;ukKPr5d`q% z;q;_@Mq)=X;13C&iZH*_V$)bm4q-hrGHFa04OS{4g}@iMTk7lZfcwNAEKW%!R>k2$vyY%N<-x^8QIk zM-}P94uSE+ysT{v&ND4Y!)T^X2n~l7g!zU}ANg}kFj5s+8e6e1h5C|D97Pp?gvSZ> zp6#pjL|h9=eG?Beg>l@ZB=F!9)~E=@r)x@TSL~r43QsQ?IwbrAz$SJo;U*>qmQUmg9|=^4n1w11_dzCzCjFQ?nI9G|2UE#&#E(VhLqcMBs`P6Q z*&X%=74k2UeG(jLDeuR4l68I=lG{fVjOOepK=Ji}hF#*A5F#@>5oo!v8*0sPkHJX9 zD;W-%A#{NJx~TpoUOlt#eMWxUhc3{=U*T7z&G;m}0`lI=m;GG-r%T=%iL!LE>rZZ! zahT0gie4emsiQnx_Z)rY8 zTl#_Jc%C@o)9K0ROBiL_U)vx<86K)~gC0ZlY;(?qg_}(EhgRa$X9q$VyzI{mW{qzXm>$B@9?Ou`&o|aG&&cG{tU0ktq zg$q9@V9`oa9oOT?2uidfu$r^ok-}*+##_S11%ptJLKERS5!tYjLBF&ZYi*D|RK(pz2CC5{h(R6bhLV_iVkDQc`P=;^9 z(jtAk1C(BoOIxPR$l_r&>5Rf&y)oeejR{V^c*7QyqMe?Uj&FzwvE*L$G(hIGry$Au z(+U3TwxZp|%I_7pRCb4zZ(l}2?K355EADQ8EcL>JTw*SJ(xqD`&ju-0%6hLq#x1$I z_5YBC8`n}MLOkJsx>Ox1J>y?$qsj&R4{o4G#~$A7#BtA&VhScb&Ig@*|5gJJ}$ zn^!SfRoA;aydQ|J-|j9-FobyCOLB#I!WNBaDQUFofw1#x$>k{UQNOAp0w|Y`SiR`NUMA zD_>nN#P0Oro0Z=_@wZ;p&u8^W=Zm}T@nDcrxbf(h*5DEwye@_o!o4;IM(C*PyOe48 z#r~bjMOQyv5$x+k)#jS7Q!^c-ZG_W|CKXK<2$NG2P)J=ktjV!&4`(~qC4=Q4uj>xY z_y3z1xgQVC?TFRXL8dj&U-qC%s}svc1y=O_8ny|*b;0M&Ei%+f6*oL9`u$z8%fm~w zcx(-(>fS3JoNOJni2uEv-4wMIanpB4!AWCQ`ju*CA!cX62M6)4V9H-hvR)_8KGcG_ z<1^heiGrFy)uDJnqK$Vt<)MO~x#)PJV>PSpR9fArm<>aG6)4c7zTbG-M&aB%dQ%5> zT(taW`58;1Iuno7_ha$zEP&n5KY=KSs)rl4oP$_FdN|CPmhp5iLSPIRSn*q14VAaj z(OBW6WRKlS&qcy|u(5hnuFYZNr>aBAk_v@%OOc|UdMIm+>FOJPiXZ&Csht{6D^zB7 z23mRq^xXkOJ|G>r0&9jJ(#7hJCPgh>%7>=jYA+kqYA4)i2NG`wbaCR)Q%DL6b@j2qE`ud(n^NQ%=Y02K|mLX3I{CoSBAmg{f z2NMsA4-IxEb}@bpx4A>V3NrPG*GlaM%dcwtW^Uba>d*R~_z)Fpk4f3WU*S!Vj5ll} z3i>w87(pPQ^@-bYN($OK51--uPrBF=DpD`0;i%hKm#Mo?v6RFCD?hZ4PS263WSZQR z27fAgN~V&SJN|mL9cf-AJZU47TGimUBV6H)ISb}no1tdh8Bgq@2vMgW8}^$CNhqZh zw>vg>J;vWGT|-=PH>oH+3*-a!+Ebi=@>EgwSEUDCor(xJsO_YuoD&B(EN`srblQFL za@zPL7#_ZtHc>}exvR$jOOr!X>+zA!P1FamYq>QuaXh7!ezxoLjcO763U0neWq1oxw|7PfzVYwMP8dxr;4Tko#wEc|4N6JFou4K_^EiotH;W#$Lg z)NvVTM{b4~Vr9+PD5O*Ck;BY1oY&#LB)9v=PT%hHd~3vc4wCPT)A{6~hDJK|Mvf)3 z%~R7**3#RMoxm#5FYDktbZlv)lZD{8K}#>6@5%`SMb!`9aXgWRC*~vh=j*-tdz1d2+b0aA=8w0ZnHOjliKh zCCn|{vcKlDYt>iD$I8@_w~564 zdW*w(eV4r|ySa}`w|3{Pkd9@jE}MYr{_cm^9BA=hM?d=ynT4mH0_{otC~qxh15J2A3t@F)~z+N!NG_8wGrYcZ`Vw)@&K*qrqo!no5XN?4xc9 z%aR*C{z@$^5%m8QSEL&W(PXU$iSLEuNT?i(uJe{EsLO`Tc`FHpU_i4|wbQwCnN)DZ z6<`aAQbm#~KGYTd66F^8wMHGcyg(T*wEWYb6_`h*AGb&M;uWk`N)a0R8VobfYnF-) zsrY>76KKb)rIh)wrjcd63yaLEih&}!XgzLt)$p6vQ0v@K9%z_EFpf3>Ee~N8tg<_E zEHet>psrs2rpM`hGbEj++IHI#x zGIKo!;4+QelVF3XmMHV#*?mUlywbgt!3(w*XlPDZ7??xDj9GdcYz@fQ7AgIXS~1k6MlwEIVQ;!BA|XRJ0iJ)jAfNo|$q! zN~~#Dxr+a5G+&wQ_5eFwNfgLAXrt1;<-Edcm17eEV1&IF)91Ngyp^Y6b8WCLiS!A$u86tLU? zfEfJN48Q;-h}eX%VTPVR;<>D-IsI4#TF zvz5c0KQ}(~yd5zrB0tOZb7lf(0h(^kxv`2Uf!ZlcR27$Agyyxg(~ekg3Z&hx#38BG z#-YO>ckMAX+>`5S=8eo*L(a%~l%AtGy{`VuDikk8;@j+g`#}^1$+JOqi|Sip><02a z#u1pnz3`uKSr=DlGb6iyY7WNM$XxtfV3jEVC%AU-eT1?T736V52*WIv>wjru#(s*; zZ`a2y_zsOQfQcp&DT0E> z&+_HDEQ~6-=y=z@Mo+8`I--{s4fQ$Q37VM!r-(t8HZ{FN?q|$vGM9Q;q1NW!AMT*% zMCMn#`N|WUIey7f_m8SrG%Ww+3oDjyMh`npjNOOIgMyt7tg3%&r$92EMhSIfS*~G$#DGnP6!8vJz99t1#`;jjy@v88m$Wr!8hu&^# z0lE^1K$gz2o$&|z@(ujzvX()>nga$yIlxnK2||46OjV0y^Iu7k{v#_235NB>pH$?~WXpdV8fZ zJ$3c|_#(}cHhH3IJ{dKPLWj^F?9KZABFFFW63B^mfM}g51Ku1f*S)@f2_FSRuE~Es|B(YN zkrsowN5?;VNmVtz#Oz;{c~2SberqqVlqVOv>e+^Lcj*rBD-{M}0Ya4zjv^c$T;)f7 zhBh>8^dwP4Ctyil{y zxcirz=oPH(tVJtQ88KMxp3(G~oMyrC#Q^eu9R|d#2p|LiD^CHqAPdES9|+*{Y5+>| zm?tr$unHgx08_L8(7-xV0D1^j4WJPL3~mL`L0+2y)Bx~x`@1)iZULwOz$u;YzNo7e zzzq$K?0&Bjb^v?<0PaLA8c16wURn7+5I=?35f0DS-ML&#$fKne!zI|x95yn8M- z0C@Z-fE)6@J4s>Qcj-S{6#^Im+ycP#=41V(CZdBy4aN7c?rkWB%Ru8*xDc z-);L>8pvxLS1|5b*j10!4hk6BLzx(fe)cD*;?h35IMHieeZfiPen z+kg5b0?XJ!bAXv$|HH-(f!IR3BY-3S`Tpg@) zE%rZsJQJbYP{8ro?|eE{(2QWq?00RHtNy3WXf|{h#(&1f1BHuK(#qMzm4cs*5A2i< zAOW#){eQ0dPUzUEt;k}(_=7^b>{NAhC;ryCF{%Sa`~IXtA<6i@^!6gR{9dfIORDYm zSDO0SOf5IiwpotGP9?`FC|II&?~2h}FJKh8$+N|z@|z}yPV^!~E)qhfgu7mdhkR~F znXU+%BV&U7$FrcQ$0ynH2Ba28vuxAI!M;o_`Zy5c&rml?D_S^@e=f0I6bww|JI4vN zST7KEWlIy-B8k1?*y_t`=T(-<7k+ZK(=GV$%T3-$BMe1iP7DqI?29lw9Jfaco4|}_ ztl@W-T3l@~{`cRZC^B;4-?e9{Vuh6DJ_Ub9hAt}%bNv)2MU>syiw&wnrKcvd0!w>W z$4VD9U`EW#Y9}=_B?{?65g@T~)v6Qm*#xDV&<4VZ;JV@~lVDJ9NwaFB#ZC(a!tT#V z)D5s5{K2NG6Q9H>ly)kHs+%?y++o5@i8MpS1h9^=V~A_f%vc*bP{{0rrGCM7@y4LA z+vZD|QJ$3%#b>^S4gjHZikKQ9FA1zJwn# z>0w10(V_pv3eBsb;IWnh)(5QzGxsI?8&ZQ~V5br34ed@3WI;i>S!eyVA%c1zpn8}E z-NH2D$!eL`=NgfpTriPS@7whUoA#m7+9-o!!e zGVve3-VKuVwc$%g!Jw_f0Cs*-26HM54KY1a$Ps8%u(oiIn=wOS(T zqUIX+2!=&72!saR|Yo`U4+u4R`y-9iOs65lG*Zi9PwhK1I&zVTv=F-lE^GxL>w%h8^ny! zB%D~C^V^dvd5M+uNp4x{l}6%wPiR|vfypv=r)E#~9A_H_X2}G?e>V_3UK}98$=&+3 z8;=I82B4w9;7iLI-ZA}?7dbW~!ai>QlvhPl5>j%irx^mY~#9(XC8a;(*7fYMYu2SJ`L-Rz6!uvK-WWNYBkxL*6HvE zleG;2mWu~||GgyYpwFFAQ(QjJ+;3~_M_dsWHrZB88|^H67XKpK-GngE(_+iYT!;1;&|g;pCyVaIBWY>Qz_T$w%5( zw0WWV`w{S-TgYYFHZ*KurpjIYW>5^{^nFdId_@%6OVwXV5$33(PZ(y94vE((8Qwu8 zZ9#OvOVVgP7DUea3b*i>$gzjt9;NJrXF)~cl()*#Qqmz#zglgyq^MH4#bH;Q%7b0W z)4N^uh-r}uNRIi6_mgl?M(3W53c{~0Pzz1k1mPh*tRR*|_ zfl)~lq>)Fxo#ql$E%j{SFc?LS2;q@R`anJt;%UN^7Kt#Ja)D^r7uAV%?4Go3_zccC zKg7COJemu$N)is<_OL&kFFi2 zs1ks0uPbupj0fUdF$o4S2U(u5a{RIZA{Ge5w&}DNkQbLcMwh>A7)UKv3q6PMN z3yMqeDwF#$ReejbEAhGLK0?1(QuZ4k3mzgykD}Y*iJ*K<$!@JkinL;8qnXIb999`A z@N>jg90X%1LU+%X_L>^J5XDLv!n3(9FtTQKwkpGP@U zoX6dnvBsrpF7mUG^#S?2Sf>6FfoJ$MGA+lVpsCMX%bDnA=v)ZM^#Lr8T<&_hpFNAw zgZT)4kv?M#?F7DYuD-ZTf7Zm=P!RYHN@aDHD+Y_zn(UMpvG8R#UEDiZM@4Xn%(DHYI^HnTJg)xZo+$v1U z9DzqIjlH%>6x*a35iOCiGNH~m-=#=plzJOl9Jguca+99sNGZ{T1px z_6wN8$?mCaHtE7ZRL-D>p78?&75+zh4JkHr<8eM3s&XAVL7_9ybf-{V#9adO<6{~R z%cu2Q4jykaU&Noq_eUy$ur{{p>ls&`L3nmCd0{cI4XSd9Db2(0SA*OcXOVy72-)f` z!-Ky%g^NPR3P$t^@DsODeDztJ7|MwYXCWKn5=SI`5Y^_d+8>APK9nl^z2Xl-QU(qAO;*RMN%AyAlmZkm7J>paPN+$qS6)L*Bor4jL z6qvpjL>Ur|R&_XV&(e$w0`FL3EodsU^NH!|kby#@9cx>%FkRjuM(MLx5 z2`3W`)0D8jTmTF7r9;sa{XoKQXRG zuw#JB!=wM?yS39D=tw=yn>ABk0p8G!-HA%zkUiH?MK z0J4W;lVBT}Ig;Fcc;~Sdw5an0#fwpzNTEmPjAzD6@7@~;i1EcIwI*To7#{KP^3^bH z<_@>Q0h&8=tEyV-u}}VZ(ZUA(@9&kH+XL&>aQfN4PDIUa1hgSn3Y>VC+33sg8K}+% z@m49f(vs0haB%#v0djc&-hKbNDUL0>dUH!j?cf1zJ%!t+B)CX~pM3|Y>Bv|!U-0LC z;=CX#5nVE>f(E~rZR;o(%lPXwFRC}E-P!U#G@8eSCiE z51(5L5+IhiL-Qp49mW@3TG&%W>^35a=URr~IZ80~sV(`LCI#M0EK z<04V*JP6qzz1vz@V-1JXqf8(+jIO3_d6Ge@wqFnZO5go{$BxOBsi6(U&gu4Za+uGd z>m>2mD@Y^7DyY7PNKet#EmIsK;%l>Bx!0D{v_CQ28SlU{nKyCi$+dnES5#3}tDx`EJv2-elHzw7yKbd(%!T9i+E++Gd(1bic%ArUW$6KO21xIgAFZt^3<)>9t=@-OIdFVL`(UIdlE#X42N!~| z0rC?N5F9eKaD%$;2Goj}vV9(E3kw{P8Fh-ZB-24n0$f8_0KD-8o0X-ApS=_CywqyUB@@Y`R%xa5$K2(HP*0AZj1$FvSLAeO*$34af=ty| zN)$4k+eCanjs%7H#6`4VH z-B2gGtbt-x!Q*=8 zAX~!1rml$h7Euje|4vs<+j79e&E-d2s4PAWf`l_jz|Ntm z54?gqlOg*bGuQVFoK8s;hcQlle81Q_rT2LDvX=dk7vYrzSsGxUmo zM0vd0bMz5T+2P(SizO9FTi!;Ysb9EhqAc06?+PK_H(NcUg~^*g*E6t4?l=UI;s-FX zoH|hu)J7uPRzqca$o*OeJ$pUhIU*DofXW$lZ`*3?3<7zCRg|0e#6M0mkt``|m{fh* zp&9d3I9JJ?1;afBAFkEjC#>I?3&X!u254Go*|@}4aNN75`uHOi&_A4x^bVdq`Uu#R z8s#kgT8iQ3mX_tLc{(lccUFUU1_~?F=U6i@)C<`+$7EJW0(*%;S$F-DlYgU=du$t! zv)5AQj+Sw75~dlY45qIU!+)S=vx?nEK=2nDc|sl`XM31KtO@hv9mt&n=Lc(tnG5Ir zy8d{=kh(lN;we412V|P;_GRn<(O=o^_~=?Fi1^={go5g0^1MxV0;pK2HvdjZoySL9 za3em&^4FBR=nH#*^jn>F}=JoNl~z+rn< z(c;y-q$|Na!;0bOjn^q#jU6w5vWU0PAmsVSRHA+u#=vOo!L`LF2?41cnS3K{=Sg7q zAaB;@>5j)=>wRU>)I|Hj?MBH3PQJmYy`E+K?+_Q<+5#Paqxk0}7YJni>g8z0 zs;O#b&MG6W1LXVX!);>3$H&9T#>ZvOVZ_bDWz4~4Zo+2D$;r+y^#9ueOw$ETfy~MJ zO^2O=lY&F)vWl)UCLDn{ z01tOikDZtL9!^CKO9UV>;5P!t-Ka~cJ8PanlsWQa=reccfy8Zn`jLd${bNqIgV1&6 z8~;@6{`x-fZJ)?wd<7DR6^}H4u0N*0?8Sx-8ptOM?Pnv}apa5Z!{USAaU!AJ^pqcv zNedcDi&AqG_+cb4=@^5=E?JbOdvD;e{KSH<^rGAYx@#Ws+62EnfmuX#_+ ze20m_u9mqOXD+|HdL!qSHQ{BN9Htfq-dGB?PjT@>yWzK!u--*dA49}2W2KW&qebF= zP#wnIAmT}QqH$le+tka_HO&omE5SZw6HnHwzSH5?^D$3 zPMMs@Lt_oxqXQ<%6(p zG+qs-G4@ZdTsYfbw%CR7R30ZsaJ_+%6s9BZ>!*y9l8V1j2-RiS&Mmtw{ADLh-*2KB zhv%tF-Kf2vYuI(lpGv9n9)VYIMwO&okZR4)jFR1#tQp+oNpyUHnj^OIXEM4-XnLNd zR$HghVy8g*j)b&Ryi@S8Uiwu8RAsQmTc`I&?dq%iAXiq{T)IoDZ7#*%lf};~A$Qe+ z58CjeuCr{vVRruSloQ7JO}ig@I}4KpVi86*e*vQT{eNdDt>SFU zk713CuzlyBrO@aQ7(ddCVPTAKzN4xeHZ~(PlbdiV9J03v{SNfe-1pn^4F*U78KgJ~ z$*u#TxDSdqp0lp_kZ+kJZUY4&&BMPp-?QZWJAusqOdz5iYZIw6qkaEr3(WmC%WAC8 z1qJ?&5R=FXC&s2qqu&+gJG_x*6kRQ9yb-^~rc>nrL*-DiXB3O6(k3@BcE1*Vs_>MP z;F4qcv*qW0yGErpKkU;vqp2{#{`+Z=JCqN(-LPj!^8$DNskG81|K}U2^O;uC@y=^U zMPL>=#{O{O8?oOE#){$R#2u`&xA{@mg>v|XBVj$8QC*t~-QzAtLGsdL58PI^jVj%) zvQ&!13V?m_t4Eb9c5CvE1{rm`kZIGfP<5h0bN+yD8iTy=x___4pLgMLOfB4WQw z=aF57F`rV{ZW<`PyRSVVDDfKi3pkJ|$9<3e$SUU&!@DuJszYKmOTrk3Q^YTyRm+_r z<$X;&v9&#*KL^y#YT?QF8^LM7sC}*Jz%sY`Eh|+bgU;vLBjazRnsT*QIqzFJzi3t; z(ZpQG;~FbDz2ac|xzJo@jm;UW;+odPhxO;0J;3%aUhA9y9Cjp5cH(^_be0~VZj78` iI-dgl&@%=-$Acrdtsj~cm5+^spBI^iMnXvv`Tqco^p)NK delta 64547 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 diff --git a/papers/pe-microsim/sections/limitations.tex b/papers/pe-microsim/sections/limitations.tex index de61592b..1d7ecd96 100644 --- a/papers/pe-microsim/sections/limitations.tex +++ b/papers/pe-microsim/sections/limitations.tex @@ -14,7 +14,7 @@ \section{Limitations} \item \textbf{One external benchmark, one country, one tax.} The ready-reckoner comparison of Section~\ref{sec:reckoner} is the only committed check against an outside number. It is UK-only; there is no committed US benchmark. It is aggregate-only; there is no committed check of the decile impacts or the winner and loser counts against any published distributional analysis. And it is measured against another estimate produced on administrative data with embedded behavioural elasticities, so the deviation is a distance between two estimates rather than an error. -\item \textbf{The benchmark's own numbers have thin provenance.} Table~\ref{tab:reckoner}'s 2028--29 figure of \pounds 6.92bn is a linear interpolation between the two endpoints, not an independently scored year, and its $-15.6$ per cent deviation inherits that construction. The 2030 row is not year-matched: the June 2025 reckoner stops at 2028--29. And the \pounds 7.38bn endpoint itself has no scored-run artifact anywhere in the project---the pair survives as prose and as \texttt{np.linspace(6.46, 7.38, 5)} in a plotting script---while the \pounds 6.46bn figure's only executable check is skipped without a microdata token and passes anything between \pounds 4bn and \pounds 9bn. Section~\ref{sec:reckonerprov} sets this out. Producing and committing a scored 2030 run, and tightening that gate to something the costing could fail, is the second-most valuable piece of outstanding work after quantifying the interval. +\item \textbf{The benchmark's own numbers have thin provenance.} Table~\ref{tab:reckoner}'s 2028--29 figure of \pounds 6.92bn is a linear interpolation between the two endpoints, not an independently scored year, and its $-15.6$ per cent deviation inherits that construction. The 2030 row is not year-matched: the June 2025 reckoner stops at 2028--29. And the \pounds 7.38bn endpoint itself has no scored-run artifact anywhere in the project---the pair survives as prose and as \texttt{np.linspace(6.46, 7.38, 5)} in a plotting script---while the \pounds 6.46bn figure's only executable check is skipped without a microdata token. That check passed anything between \pounds 4bn and \pounds 9bn until August 2026 and now pins $\pm 5$ per cent of \pounds 6.46bn, so the 2026 endpoint is at last gated against something it could fail---when it is run. Section~\ref{sec:reckonerprov} sets this out. Producing and committing a scored 2030 run remains the second-most valuable piece of outstanding work after quantifying the interval. \item \textbf{Data vintage lag and intra-suite statute divergence.} UK population runs use \texttt{enhanced\_frs\_2023\_24} while upstream publishes a newer FRS vintage this integration has not adopted; and this integration tracks the latest country model while the OLG member is pinned to \texttt{policyengine-uk==2.88.0}, so two members of the same suite can disagree about baseline statute. diff --git a/papers/pe-microsim/sections/validation.tex b/papers/pe-microsim/sections/validation.tex index 4a9e6dbf..88235fe7 100644 --- a/papers/pe-microsim/sections/validation.tex +++ b/papers/pe-microsim/sections/validation.tex @@ -51,7 +51,7 @@ \subsection{What stands behind the two endpoints} The provenance of the pair is weaker than a table of four significant figures suggests, and saying so is part of the benchmark. -The \pounds 6.46bn 2026 figure is the one the pipeline can in principle produce: \texttt{integration/tests/test\_population.py} scores exactly this reform through \texttt{pe\_population\_impact} for 2026 and asserts the result. But that test is skipped unless a Hugging Face token for the gated microdata is present, its assertion band is $4.0 < x < 9.0$ \pounds bn---wide enough to admit both HMRC figures and most of the plausible range besides---and it writes no artifact. It is a smoke test against gross error, not a check that reproduces 6.46. +The \pounds 6.46bn 2026 figure is the one the pipeline can in principle produce: \texttt{integration/tests/test\_population.py} scores exactly this reform through \texttt{pe\_population\_impact} for 2026 and asserts the result. That test is still skipped unless a Hugging Face token for the gated microdata is present, and it writes no artifact, so it does not run in ordinary CI. Its assertion band was $4.0 < x < 9.0$ \pounds bn---wide enough to admit both HMRC figures and most of the plausible range besides, so it could not have distinguished this costing from the benchmark it is compared against. It now pins $\pm 5$ per cent of \pounds 6.46bn and names the surfaces that must move with it, which makes it a check on the published number rather than a smoke test against gross error---but only when it is run. The \pounds 7.38bn 2030 endpoint has no scored run behind it anywhere in this project. In the repository the pair exists in exactly two forms: as prose, and as the endpoints of \texttt{np.linspace(6.46, 7.38, 5)} in the sister paper's plotting script \citep{ahmadi2026obr}, from which the interpolated middle row is read off. The OBR emulator's own repository freezes both as named constants and says so in terms---the microsimulation is not runnable there, so the number is carried, not computed. No committed file in this project records a 2030 score, and no environment used to prepare this paper could reproduce one: the \texttt{policyengine} package is not installed and the microdata is gated. A reader should treat 6.46 as a figure with a runnable but loosely gated check behind it, and 7.38 as a figure with none. diff --git a/papers/psl-og/index.html b/papers/psl-og/index.html index 0c07f7e9..72077eb5 100644 --- a/papers/psl-og/index.html +++ b/papers/psl-og/index.html @@ -85,11 +85,13 @@

An overlapping-generations model for PolicyEngine reform

+

Every quantity in the calibration table except the capital–output ratio is a calibration input, so a small deviation on it is arithmetic, not evidence: depreciation (δ = 0.065), potential growth (1.1%/yr) and the 95% debt-to-GDP target are imposed and cannot disagree with the official aggregates, and the discount factor β = 0.965 is fixed, not estimated (estimate_beta=False), so the model publishes no achieved saving ratio to compare against the ONS 8.9%. The one substantive gap is the labour share: the retained OG-Core γ = 0.35 implies 65% against an ONS labour share near 59.5%. The genuinely over-identifying checks — the capital–output ratio and the steady-state interest rate — have no published reconciliation yet. Validation →

+
- +

Your browser can’t display PDFs inline. The paper is 34 @@ -113,7 +115,7 @@

An overlapping-generations model for PolicyEngine reform

Source & reproduction: papers/psl-og/ on GitHub -  ·  All papers → +  ·  All papers →

Cite this work

@@ -126,6 +128,7 @@

Cite this work

url = {https://policyengine-macro.vercel.app/papers/psl-og}, note = {PolicyEngine Macro working paper} }
+

The underlying model is the Policy Simulation Library’s OG-Core, deployed through its OG-UK calibration; please also credit OG-Core as the source model. No DOI is assigned. For an exact version stamp, cite the git commit of the artifact you used from github.com/PolicyEngine/macro.

diff --git a/pe/validation/index.html b/pe/validation/index.html index b82b01a3..3ca4c2cb 100644 --- a/pe/validation/index.html +++ b/pe/validation/index.html @@ -81,44 +81,34 @@

Checked rule by rule, not against a forecast.

- There is no forecast error to report, because the model is not - forecasting — it applies published rules, checkable by hand. For - the £50,000 UK earner on the code page: - £50,000 − £12,570 personal allowance = £37,430 of basic-rate income; - at 20% that is £7,486 of income tax, at 8% - £2,994 of National Insurance, leaving - £39,520 net. Raising the basic rate 5pp adds 5% of - £37,430 = £1,872. Every figure in the code sample - is deterministic arithmetic from the implemented rules — which - verifies those rules, not that every area of legislation has - complete test coverage. + No forecast error to report: the model applies published rules, and + the worked £50,000 case on the code page can be + checked with a pencil. That verifies the implemented rules — not that + every area of legislation is covered by a test.

- What is not exact is anything resting on survey microdata — - population aggregates inherit sampling error, imputation and ageing - assumptions from the enhanced FRS and the CPS, so a headline - budgetary cost is an estimate in a way a household calculation is - not. For the UK 1p basic-rate case, the - OBR emulator working paper compares - static costings against official sources: £6.46bn in 2026 rising to - £7.38bn by 2030. Every one of those years is - below HMRC's June 2025 figures at every year that can - be matched (£6.9bn for 2026–27, £8.2bn for 2028–29) — - −6.4% in the first year, widening to −10.0% by the end of - our window. Nor is the comparison like-for-like: HMRC's reckoner runs - to 2028–29, so our 2030 figure has no year-matched counterpart, - and HMRC publishes post-behavioural estimates built on administrative - Survey of Personal Incomes data against our static, survey-based one. - It is a benchmark, not a validation. No interval is published with - either of our figures, because the pipeline does not produce one. - Suite-wide evidence: validation. + Population costings are a different kind of number: survey-weighted + estimates (limits), published without an + interval because the pipeline produces none. The one external + comparison is a 1p rise in the UK basic rate, scored at + £6.46bn in 2026 against HMRC's June 2025 ready + reckoner of £6.9bn for 2026–27 — + −6.4%. HMRC's + estimate is post-behavioural on administrative SPI data where ours is + static and survey-based, so this is a benchmark, not a validation. + Our second published figure, £7.38bn in 2030, has no counterpart at + all: the reckoner stops at 2028–29. Both endpoints have thin + provenance — no scored run is committed for either, and the only + executable check pins 2026 within ±5% of £6.46bn and is skipped + without microdata access. Full account: + the paper.

- household calculation - deterministic - implemented rules applied, not estimated + 1p on the UK basic rate, 2026 + −6.4%vs HMRC + benchmark, not validation — different bases
countries @@ -145,37 +135,31 @@

Scope and vintage.

Static, no general equilibrium - Reforms are modelled statically, with optional post-hoc behavioural responses; prices, wages and output do not move. + Prices, wages and output do not move; behavioural responses are optional and post-hoc. UK data vintage - UK population runs use enhanced_frs_2023_24. Upstream now publishes an FRS 2024-25 vintage, which this integration has not adopted. + enhanced_frs_2023_24; upstream's FRS 2024-25 vintage is not adopted here. Survey-based aggregates - Population estimates inherit sampling, imputation and ageing error. HMRC's costings use administrative Survey of Personal Incomes data and embed taxable-income elasticities, so differences of a few hundred million on a broad-based rate change are expected. + Population estimates carry sampling, imputation and ageing error, and no interval is computed for them. HMRC's costings use administrative Survey of Personal Incomes data and embed taxable-income elasticities, so a few hundred million of difference on a broad-based rate change is expected. Gated UK microdata - A HUGGING_FACE_TOKEN with access is required locally. Household calculations are unaffected. + Population runs need a HUGGING_FACE_TOKEN with access. Household calculations are unaffected. Statute-vintage divergence with OLG - This package tracks the latest release; the OLG member is pinned to policyengine-uk==2.88.0, so the two can disagree on baseline statute — a declared inconsistency. - - - Two countries - UK and US only. + This package tracks the latest release; the OLG member is pinned to policyengine-uk==2.88.0, so baseline statute can disagree — a declared inconsistency.

- full write-up: the pe-microsim working - paper sets out the exactness boundary, the validation posture and - the ready-reckoner benchmark in full. Where this member feeds the macro - members, the bridges are documented in the - OBR and - OLG papers. + bridges into the macro members: + OBR, + OLG. Suite-wide evidence: + validation.

diff --git a/reports/fetch_hank_counts.py b/reports/fetch_hank_counts.py index 93c32e50..a6249bd7 100644 --- a/reports/fetch_hank_counts.py +++ b/reports/fetch_hank_counts.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""Refresh the citation and star counts in reports/us-hank-open-source.html. +"""Refresh the citation and star counts in reports/us-hank-open-source/. The report said its counts "use canonical OpenAlex records" and the GitHub API, but nothing recorded when they were taken and no script existed to @@ -31,7 +31,7 @@ import urllib.request from pathlib import Path -PAGE = Path(__file__).resolve().parent / "us-hank-open-source.html" +PAGE = Path(__file__).resolve().parent / "us-hank-open-source" / "index.html" # label -> (OpenAlex work id, GitHub repo or None, substring that identifies # the row in the page). The row marker is the paper title rather than the @@ -118,7 +118,8 @@ def published() -> dict[str, int]: # A checker that silently skips a row it cannot find is the same # failure this script exists to prevent. raise SystemExit( - f"cannot find the {label} row in {PAGE.name} via " + f"cannot find the {label} row in " + f"{PAGE.parent.name}/{PAGE.name} via " f"{row_marker!r}; the table changed and this script must be " "updated with it" ) diff --git a/reports/us-hank-open-source.html b/reports/us-hank-open-source.html deleted file mode 100644 index 8f10e0ab..00000000 --- a/reports/us-hank-open-source.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Open US HANK models — code, data, reach - - - - - - - - - - - - - - -← PolicyEngine Macro - -
-
-
-
PolicyEngine Macro · feasibility note · us-hank model
-

Open US HANK models

-

Public code, data, citations, repository activity and analytical coverage. Citation counts use canonical OpenAlex records; stars and last-push dates use the GitHub API. Both are a snapshot, retrieved 12 August 2026 and reproducible with reports/fetch_hank_counts.py; they move continuously, so read them as orders of magnitude rather than as figures. Nothing in this table was run. Every coverage claim is read off the paper and the repository's own documentation, so this is a survey of what is published, not a comparison of what the models do.

-
-
SURVEY AS OF 21 JUL 2026
COUNTS AS OF 12 AUG 2026
A4 · ONE-PAGE EDITION
-
- -

Best complete candidate: Bayer–Born–Lütticke provides the clearest combination of a US-calibrated model, public data, estimation machinery, replication targets and an explicit GPL-3.0 licence — on the published record; none of it has been executed here. Two qualifications belong with the verdict rather than under it. The replication repository is frozen: the authors' own copy was last pushed in October 2022, against a paper published in 2024, and their maintained line has since moved to a general toolbox (BASEtoolbox.jl) rather than this model. And Sequence-Space Jacobian is the only candidate whose repository is still actively pushed — it is the strongest Python foundation, though not itself a fully estimated institutional US model.

- -
- - - - - - - - - - -
Model / resourceYearCitationsStarsCode and dataCoverage
Bayer–Born–Lütticke
Shocks, Frictions, and Inequality in US Business Cycles
20244670
(fork: 4)
Both available
Julia · GPL-3.0
last push Oct 2022
US business cycles; income and wealth inequality; one-/two-asset households; portfolio choice; fiscal and monetary shocks; Bayesian estimation. Aggregate quarterly data approximately 1954Q3–2019Q4.
FRBNY Estimating HANK
Central-bank estimation and forecast evaluation
2023105Code + BBL data
Julia · no licence declared
last push Jun 2024
Recursive Bayesian estimation and pseudo-out-of-sample forecasts; output, consumption, investment, wages, hours, inflation, policy/shadow rates and inequality; comparison with Smets–Wouters.
Kaplan–Moll–Violante
Monetary Policy According to HANK
20181,377N/ABoth available
Fortran · ICPSR; licence unclear
US monetary transmission; liquid and illiquid assets; hand-to-mouth households; earnings risk; wealth and MPC distributions; aggregate consumption responses. Scientific replication rather than forecasting.
Sequence-Space Jacobian
One- and two-asset HANK examples
2021248353Python framework + example inputs
MIT; no full US dataset
last push Feb 2025
Steady states, Jacobians, likelihoods, impulse responses and perfect-foresight transitions. Broad modelling framework, not a specific official US empirical model.
Fed Board HANK Comes of Age
Monetary policy with heterogeneous overlapping generations
2024/250*N/ADownloadable materials
No maintained official GitHub repo; licence unclear
US life cycle: age, labour supply, wealth, retirement, MPCs, monetary transmission, asset repricing, consumption and welfare by age.
-
- -

Source links

- - -
* OpenAlex reports zero citations on the revised DOI record; citations to earlier versions may be split or delayed.“N/A” means no official GitHub repository—not zero popularity. BBL stars are the authors' own repository (70); this report previously counted FRBNY-DSGE/HANK_BusinessCycleAndInequality, which is a fork of it and holds 4 — fetch_hank_counts.py still points at the fork and needs the same correction.
-
- - diff --git a/reports/us-hank-open-source/index.html b/reports/us-hank-open-source/index.html new file mode 100644 index 00000000..d1fec2f5 --- /dev/null +++ b/reports/us-hank-open-source/index.html @@ -0,0 +1,143 @@ + + + + + +Open US HANK models — code, data, reach — PolicyEngine Macro + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

feasibility note — us-hank · survey 21 July 2026 · counts 12 August 2026

+

+ Open US HANK models: code, data, reach. +

+

+ Which published US HANK models ship code and data anyone can run, how + far each is cited and maintained, and what its own documentation says + it covers. +

+
+
+ + + +
+
+ 01 — the field +

Five models, on the published record.

+
+
+

Best complete candidate: Bayer–Born–Lütticke provides the clearest combination of a US-calibrated model, public data, estimation machinery, replication targets and an explicit GPL-3.0 licence — on the published record; none of it has been executed here. Two qualifications belong with the verdict rather than under it. The replication repository is frozen: the authors' own copy was last pushed in October 2022, against a paper published in 2024, and their maintained line has since moved to a general toolbox (BASEtoolbox.jl) rather than this model. And Sequence-Space Jacobian is the only candidate whose repository is still actively pushed — it is the strongest Python foundation, though not itself a fully estimated institutional US model.

+ +

+ Nothing in this table was run. Every coverage claim is + read off the paper and the repository's own documentation, so this is a + survey of what is published, not a comparison of what the models do. +

+ +
+ + + + + + + + + +
Citation counts use canonical OpenAlex records; stars and last-push dates use the GitHub API. Both are a snapshot, retrieved 12 August 2026 and reproducible with reports/fetch_hank_counts.py; they move continuously, so read them as orders of magnitude rather than as figures.
Model / resourceYearCitationsStarsCode and dataCoverage
Bayer–Born–Lütticke
Shocks, Frictions, and Inequality in US Business Cycles
20244670
(fork: 4)
Both available
Julia · GPL-3.0
last push Oct 2022
US business cycles; income and wealth inequality; one-/two-asset households; portfolio choice; fiscal and monetary shocks; Bayesian estimation. Aggregate quarterly data approximately 1954Q3–2019Q4.
FRBNY Estimating HANK
Central-bank estimation and forecast evaluation
2023105Code + BBL data
Julia · no licence declared
last push Jun 2024
Recursive Bayesian estimation and pseudo-out-of-sample forecasts; output, consumption, investment, wages, hours, inflation, policy/shadow rates and inequality; comparison with Smets–Wouters.
Kaplan–Moll–Violante
Monetary Policy According to HANK
20181,377N/ABoth available
Fortran · ICPSR; licence unclear
US monetary transmission; liquid and illiquid assets; hand-to-mouth households; earnings risk; wealth and MPC distributions; aggregate consumption responses. Scientific replication rather than forecasting.
Sequence-Space Jacobian
One- and two-asset HANK examples
2021248353Python framework + example inputs
MIT; no full US dataset
last push Feb 2025
Steady states, Jacobians, likelihoods, impulse responses and perfect-foresight transitions. Broad modelling framework, not a specific official US empirical model.
Fed Board HANK Comes of Age
Monetary policy with heterogeneous overlapping generations
2024/250*N/ADownloadable materials
No maintained official GitHub repo; licence unclear
US life cycle: age, labour supply, wealth, retirement, MPCs, monetary transmission, asset repricing, consumption and welfare by age.
+ +

+ * OpenAlex reports zero citations on the revised DOI record; citations + to earlier versions may be split or delayed. “N/A” means no + official GitHub repository — not zero popularity. BBL stars are the + authors' own repository; the parenthesised figure is the + FRBNY-DSGE fork of it. +

+
+
+ +
+
+ 02 — sources +

Where each row comes from.

+
+
+ +
+
+
+ + + + + diff --git a/site_contract.py b/site_contract.py index 909325d6..e4081aa2 100644 --- a/site_contract.py +++ b/site_contract.py @@ -29,7 +29,7 @@ "frb-us": ("frb-us", "papers/frb-us"), "us-hank": ("us-hank",), "psl-og": ("olg", "papers/psl-og"), - "define-uk": ("define",), + "define-uk": ("define", "papers/define-uk"), } # /docs is a permanent redirect to /models#compare in vercel.json; the model # inventory lives on the pages below. diff --git a/site_nav.py b/site_nav.py index ed0814a2..d343c01f 100644 --- a/site_nav.py +++ b/site_nav.py @@ -82,7 +82,9 @@ "/papers/boe-svar": "boe-svar", "/papers/frb-us": "frb-us", "/papers/psl-og": "psl-og", + "/papers/define-uk": "define-uk", "/reports/define-uk-replication": "define-uk", + "/reports/us-hank-open-source": "Open models", "/forecasts": "Forecasts", "/forecasts/us": "United States", "/notes/releases": "Releases", @@ -105,7 +107,11 @@ "/papers/boe-svar": "/models", "/papers/frb-us": "/models", "/papers/psl-og": "/models", + "/papers/define-uk": "/models", "/reports/define-uk-replication": "/models", + # The open-models survey is one of the five us-hank tabs, so its pathway + # runs through the model rather than straight to /models. + "/reports/us-hank-open-source": "/us-hank", # /notes was folded into /forecasts#notes; the surviving note pages hang # off Forecasts so no crumb links to the retired /notes page. "/notes/releases": "/forecasts", @@ -239,11 +245,12 @@ def header(path: Path) -> str: # Standalone documents allowed to ship without the global nav header. -# Anything else without