From f63bd1770e92b4baf22a242a0b0346c53b3630ef Mon Sep 17 00:00:00 2001 From: nialloleary Date: Wed, 7 Oct 2026 21:42:34 +0100 Subject: [PATCH] Add Qwen3.8 and DeepSeek V4 Pro runs, a Modal repeat, and two grader fixes - Results: six models on all 11 tasks; all scores now re-judged (PROVISIONAL.json removed). Qwen local, DeepSeek on Modal, plus a Qwen repeat on Modal in results/repeats/ with a local-vs-Modal timing comparison (scripts/compare_jobs.py). - Grader fixes found in DeepSeek's runs: the lint gate allows documented pipette settings (tip_racks, starting_tip, flow_rate.*, ...), and mixing a source well before drawing from it is no longer flagged as contamination. - colony-PCR-hard: instead of no plate check, a composition check the paper supports (every well gets all inputs, equal volumes, 10-25 uL). Adversarial suite: 0 holes. - Cost: non-Claude models priced from tokens at OpenRouter prices (prices.json); Claude Code's figure kept as claude_code_cost_usd. - README, preprint, report, figures and leaderboard updated. Co-Authored-By: Claude Opus 5.5 --- README.md | 135 +++--- docs/preprint/figures/grader_validation.png | Bin 381588 -> 388255 bytes docs/preprint/figures/run_means_cost.png | Bin 187307 -> 210226 bytes docs/preprint/figures/run_rewards.png | Bin 224286 -> 264786 bytes docs/preprint/figures/run_where_lost.png | Bin 176236 -> 243815 bytes docs/preprint/make_run_figures.py | 67 +-- docs/preprint/preprint.html | 288 +++++++----- eval/protocol_lint.py | 14 +- eval/spec_check.py | 62 ++- manuscript/main.md | 140 +++--- results/adversarial.json | 25 +- .../repeats/2026-10-07-qwen-modal/README.md | 39 ++ .../repeats/2026-10-07-qwen-modal/prices.json | 7 + .../a1-a12-100ul/grader.json | 137 ++++++ .../a1-a12-100ul/protocol.py | 32 ++ .../a1-a12-100ul/reward.json | 1 + .../qwen3.8-2.4t-a95b/a1-a12-100ul/trial.json | 29 ++ .../ampure-bead-cleanup/grader.json | 168 +++++++ .../ampure-bead-cleanup/protocol.py | 138 ++++++ .../ampure-bead-cleanup/reward.json | 1 + .../ampure-bead-cleanup/trial.json | 31 ++ .../colony-pcr-screening-hard/grader.json | 157 +++++++ .../colony-pcr-screening-hard/protocol.py | 166 +++++++ .../colony-pcr-screening-hard/reward.json | 1 + .../colony-pcr-screening-hard/trial.json | 30 ++ .../colony-pcr-screening/grader.json | 160 +++++++ .../colony-pcr-screening/protocol.py | 101 ++++ .../colony-pcr-screening/reward.json | 1 + .../colony-pcr-screening/trial.json | 30 ++ .../grader.json | 157 +++++++ .../protocol.py | 140 ++++++ .../reward.json | 1 + .../trial.json | 30 ++ .../grader.json | 155 +++++++ .../protocol.py | 51 +++ .../reward.json | 1 + .../trial.json | 30 ++ .../golden-gate-assembly-hard/grader.json | 233 ++++++++++ .../golden-gate-assembly-hard/protocol.py | 409 +++++++++++++++++ .../golden-gate-assembly-hard/reward.json | 1 + .../golden-gate-assembly-hard/trial.json | 31 ++ .../golden-gate-assembly/grader.json | 236 ++++++++++ .../golden-gate-assembly/protocol.py | 269 +++++++++++ .../golden-gate-assembly/reward.json | 1 + .../golden-gate-assembly/trial.json | 31 ++ .../opentrons-rna-extraction-hard/grader.json | 234 ++++++++++ .../opentrons-rna-extraction-hard/protocol.py | 396 ++++++++++++++++ .../opentrons-rna-extraction-hard/reward.json | 1 + .../opentrons-rna-extraction-hard/trial.json | 32 ++ .../opentrons-rna-extraction/grader.json | 239 ++++++++++ .../opentrons-rna-extraction/protocol.py | 228 +++++++++ .../opentrons-rna-extraction/reward.json | 1 + .../opentrons-rna-extraction/trial.json | 32 ++ .../split-200ul-two-wells/grader.json | 137 ++++++ .../split-200ul-two-wells/protocol.py | 34 ++ .../split-200ul-two-wells/reward.json | 1 + .../split-200ul-two-wells/trial.json | 29 ++ .../2026-10-07-openrouter/PROVISIONAL.json | 8 - results/runs/2026-10-07-openrouter/README.md | 32 +- results/runs/2026-10-07-openrouter/REPORT.md | 220 +++++---- .../claude-fable-5.1/a1-a12-100ul/trial.json | 3 +- .../ampure-bead-cleanup/trial.json | 3 +- .../colony-pcr-screening-hard/grader.json | 11 +- .../colony-pcr-screening-hard/reward.json | 2 +- .../colony-pcr-screening-hard/trial.json | 7 +- .../colony-pcr-screening/trial.json | 3 +- .../trial.json | 3 +- .../trial.json | 3 +- .../golden-gate-assembly-hard/trial.json | 3 +- .../golden-gate-assembly/trial.json | 3 +- .../opentrons-rna-extraction-hard/trial.json | 3 +- .../opentrons-rna-extraction/trial.json | 3 +- .../split-200ul-two-wells/trial.json | 3 +- .../claude-opus-5.5/a1-a12-100ul/trial.json | 3 +- .../ampure-bead-cleanup/trial.json | 3 +- .../colony-pcr-screening-hard/grader.json | 11 +- .../colony-pcr-screening-hard/reward.json | 2 +- .../colony-pcr-screening-hard/trial.json | 7 +- .../colony-pcr-screening/trial.json | 3 +- .../trial.json | 3 +- .../trial.json | 3 +- .../golden-gate-assembly-hard/trial.json | 3 +- .../golden-gate-assembly/trial.json | 3 +- .../opentrons-rna-extraction-hard/trial.json | 3 +- .../opentrons-rna-extraction/trial.json | 3 +- .../split-200ul-two-wells/trial.json | 3 +- .../claude-sonnet-5.5/a1-a12-100ul/trial.json | 3 +- .../ampure-bead-cleanup/trial.json | 3 +- .../colony-pcr-screening-hard/grader.json | 39 +- .../colony-pcr-screening-hard/reward.json | 2 +- .../colony-pcr-screening-hard/trial.json | 7 +- .../colony-pcr-screening/trial.json | 3 +- .../grader.json | 31 +- .../trial.json | 3 +- .../trial.json | 3 +- .../golden-gate-assembly-hard/trial.json | 3 +- .../golden-gate-assembly/trial.json | 3 +- .../opentrons-rna-extraction-hard/grader.json | 48 +- .../opentrons-rna-extraction-hard/reward.json | 2 +- .../opentrons-rna-extraction-hard/trial.json | 11 +- .../opentrons-rna-extraction/trial.json | 3 +- .../split-200ul-two-wells/trial.json | 3 +- .../a1-a12-100ul/grader.json | 137 ++++++ .../a1-a12-100ul/protocol.py | 32 ++ .../a1-a12-100ul/reward.json | 1 + .../a1-a12-100ul/trial.json | 35 ++ .../ampure-bead-cleanup/grader.json | 170 +++++++ .../ampure-bead-cleanup/protocol.py | 108 +++++ .../ampure-bead-cleanup/reward.json | 1 + .../ampure-bead-cleanup/trial.json | 31 ++ .../colony-pcr-screening-hard/grader.json | 162 +++++++ .../colony-pcr-screening-hard/protocol.py | 115 +++++ .../colony-pcr-screening-hard/reward.json | 1 + .../colony-pcr-screening-hard/trial.json | 46 ++ .../colony-pcr-screening/grader.json | 160 +++++++ .../colony-pcr-screening/protocol.py | 68 +++ .../colony-pcr-screening/reward.json | 1 + .../colony-pcr-screening/trial.json | 30 ++ .../grader.json | 155 +++++++ .../protocol.py | 132 ++++++ .../reward.json | 1 + .../trial.json | 30 ++ .../grader.json | 155 +++++++ .../protocol.py | 36 ++ .../reward.json | 1 + .../trial.json | 30 ++ .../golden-gate-assembly-hard/grader.json | 235 ++++++++++ .../golden-gate-assembly-hard/protocol.py | 230 ++++++++++ .../golden-gate-assembly-hard/reward.json | 1 + .../golden-gate-assembly-hard/trial.json | 31 ++ .../golden-gate-assembly/grader.json | 233 ++++++++++ .../golden-gate-assembly/protocol.py | 208 +++++++++ .../golden-gate-assembly/reward.json | 1 + .../golden-gate-assembly/trial.json | 31 ++ .../opentrons-rna-extraction-hard/grader.json | 234 ++++++++++ .../opentrons-rna-extraction-hard/protocol.py | 257 +++++++++++ .../opentrons-rna-extraction-hard/reward.json | 1 + .../opentrons-rna-extraction-hard/trial.json | 32 ++ .../opentrons-rna-extraction/grader.json | 241 ++++++++++ .../opentrons-rna-extraction/protocol.py | 203 ++++++++ .../opentrons-rna-extraction/reward.json | 1 + .../opentrons-rna-extraction/trial.json | 32 ++ .../split-200ul-two-wells/grader.json | 137 ++++++ .../split-200ul-two-wells/protocol.py | 28 ++ .../split-200ul-two-wells/reward.json | 1 + .../split-200ul-two-wells/trial.json | 29 ++ .../gpt-6.1-sol/a1-a12-100ul/trial.json | 6 +- .../ampure-bead-cleanup/trial.json | 6 +- .../colony-pcr-screening-hard/grader.json | 27 +- .../colony-pcr-screening-hard/reward.json | 2 +- .../colony-pcr-screening-hard/trial.json | 26 +- .../colony-pcr-screening/trial.json | 6 +- .../trial.json | 6 +- .../trial.json | 6 +- .../golden-gate-assembly-hard/trial.json | 6 +- .../golden-gate-assembly/trial.json | 6 +- .../opentrons-rna-extraction-hard/grader.json | 44 +- .../opentrons-rna-extraction-hard/reward.json | 2 +- .../opentrons-rna-extraction-hard/trial.json | 32 +- .../opentrons-rna-extraction/trial.json | 6 +- .../split-200ul-two-wells/trial.json | 6 +- .../runs/2026-10-07-openrouter/prices.json | 109 +++++ .../a1-a12-100ul/grader.json | 137 ++++++ .../a1-a12-100ul/protocol.py | 40 ++ .../a1-a12-100ul/reward.json | 1 + .../qwen3.8-2.4t-a95b/a1-a12-100ul/trial.json | 29 ++ .../ampure-bead-cleanup/grader.json | 168 +++++++ .../ampure-bead-cleanup/protocol.py | 102 +++++ .../ampure-bead-cleanup/reward.json | 1 + .../ampure-bead-cleanup/trial.json | 31 ++ .../colony-pcr-screening-hard/grader.json | 162 +++++++ .../colony-pcr-screening-hard/protocol.py | 172 +++++++ .../colony-pcr-screening-hard/reward.json | 1 + .../colony-pcr-screening-hard/trial.json | 30 ++ .../colony-pcr-screening/grader.json | 160 +++++++ .../colony-pcr-screening/protocol.py | 91 ++++ .../colony-pcr-screening/reward.json | 1 + .../colony-pcr-screening/trial.json | 30 ++ .../grader.json | 155 +++++++ .../protocol.py | 137 ++++++ .../reward.json | 1 + .../trial.json | 30 ++ .../grader.json | 155 +++++++ .../protocol.py | 54 +++ .../reward.json | 1 + .../trial.json | 30 ++ .../golden-gate-assembly-hard/grader.json | 235 ++++++++++ .../golden-gate-assembly-hard/protocol.py | 329 +++++++++++++ .../golden-gate-assembly-hard/reward.json | 1 + .../golden-gate-assembly-hard/trial.json | 31 ++ .../golden-gate-assembly/grader.json | 235 ++++++++++ .../golden-gate-assembly/protocol.py | 222 +++++++++ .../golden-gate-assembly/reward.json | 1 + .../golden-gate-assembly/trial.json | 31 ++ .../opentrons-rna-extraction-hard/grader.json | 234 ++++++++++ .../opentrons-rna-extraction-hard/protocol.py | 432 ++++++++++++++++++ .../opentrons-rna-extraction-hard/reward.json | 1 + .../opentrons-rna-extraction-hard/trial.json | 32 ++ .../opentrons-rna-extraction/grader.json | 241 ++++++++++ .../opentrons-rna-extraction/protocol.py | 157 +++++++ .../opentrons-rna-extraction/reward.json | 1 + .../opentrons-rna-extraction/trial.json | 32 ++ .../split-200ul-two-wells/grader.json | 137 ++++++ .../split-200ul-two-wells/protocol.py | 34 ++ .../split-200ul-two-wells/reward.json | 1 + .../split-200ul-two-wells/trial.json | 29 ++ scripts/benchmark_report.py | 1 + scripts/build_site.py | 4 +- scripts/compare_jobs.py | 84 ++++ scripts/export_run.py | 25 +- scripts/harbor_adversarial.py | 10 +- scripts/make_harbor.py | 3 +- scripts/regrade_jobs.py | 9 + tasks/a1-a12-100ul/tests/grade.py | 2 +- tasks/a1-a12-100ul/tests/protocol_lint.py | 14 +- tasks/a1-a12-100ul/tests/spec_check.py | 62 ++- tasks/ampure-bead-cleanup/tests/grade.py | 2 +- .../tests/protocol_lint.py | 14 +- tasks/ampure-bead-cleanup/tests/spec_check.py | 62 ++- tasks/colony-pcr-screening-hard/task.toml | 6 +- .../tests/checks.json | 2 +- .../colony-pcr-screening-hard/tests/grade.py | 2 +- .../tests/protocol_lint.py | 14 +- .../tests/spec_check.py | 62 ++- tasks/colony-pcr-screening/tests/grade.py | 2 +- .../tests/protocol_lint.py | 14 +- .../colony-pcr-screening/tests/spec_check.py | 62 ++- .../tests/grade.py | 2 +- .../tests/protocol_lint.py | 14 +- .../tests/spec_check.py | 62 ++- .../tests/grade.py | 2 +- .../tests/protocol_lint.py | 14 +- .../tests/spec_check.py | 62 ++- .../golden-gate-assembly-hard/tests/grade.py | 2 +- .../tests/protocol_lint.py | 14 +- .../tests/spec_check.py | 62 ++- tasks/golden-gate-assembly/tests/grade.py | 2 +- .../tests/protocol_lint.py | 14 +- .../golden-gate-assembly/tests/spec_check.py | 62 ++- tasks/split-200ul-two-wells/tests/grade.py | 2 +- .../tests/protocol_lint.py | 14 +- .../split-200ul-two-wells/tests/spec_check.py | 62 ++- tests/test_benchmark_regressions.py | 29 ++ tests/test_hard_tasks.py | 4 +- tests/test_spec_check.py | 40 ++ 245 files changed, 14035 insertions(+), 746 deletions(-) create mode 100644 results/repeats/2026-10-07-qwen-modal/README.md create mode 100644 results/repeats/2026-10-07-qwen-modal/prices.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/trial.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/trial.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/trial.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/trial.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/trial.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/trial.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/trial.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/trial.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/trial.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/trial.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/grader.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/protocol.py create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/reward.json create mode 100644 results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/trial.json delete mode 100644 results/runs/2026-10-07-openrouter/PROVISIONAL.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/trial.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/trial.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/trial.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/trial.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/trial.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/trial.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/trial.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/trial.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/trial.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/trial.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/grader.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/reward.json create mode 100644 results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/trial.json create mode 100644 results/runs/2026-10-07-openrouter/prices.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/trial.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/trial.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/trial.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/trial.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/trial.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/trial.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/trial.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/trial.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/trial.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/trial.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/grader.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/protocol.py create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/reward.json create mode 100644 results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/trial.json create mode 100644 scripts/compare_jobs.py diff --git a/README.md b/README.md index aab88c7..240b152 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ E. O'Leary · M. Alshehri · L. Legon --- -> **Abstract.** Frontier language models write Opentrons OT-2 Python that runs in the simulator, but wet-lab correctness depends on tacit knowledge the simulator does not check: which cells must not be pipette-mixed, how much eluate to leave behind with the beads, how much liquid a reservoir well can hold. **Text2WetLab** is a set of 11 [Harbor](https://github.com/laude-institute/harbor) tasks at two levels: *easy* tasks give the exact steps; *paper-only* ("hard") tasks give only a goal, a fixed deck and the source paper. A layered verifier scores each protocol with a lint gate, 10 reward-hacking traps, the Opentrons simulator, deterministic checks against a ground-truth protocol IR, and a pass/fail LLM rubric (majority of three judge calls) in which three core items carry 75% of the reward. We validate the verifier with every reference solution (11/11 pass) and 152 broken or cheating protocols of 18 kinds (none scores above 0.47), fix six grader faults that the model runs exposed, and audit the paper-only tasks so that every quantity they grade is in the paper or the brief, which found and fixed two more. Running the same Claude Code agent with four models through OpenRouter, and scoring only the tasks a model answered (a safety refusal is the provider's policy, not a protocol), Claude Opus 5.5 scores 1.000 on the 8 tasks every model answered, Fable 5.1 0.969, GPT-6.1 Sol 0.898 and Sonnet 5.5 0.842; Opus and Fable refused 5 molecular-cloning prompts between them, which are reported but not scored. No model failed the simulator or a trap, and the only physical-safety failure is one reservoir overdraw. Easy tasks are nearly solved; the paper-only tasks separate the models, and the commonest failure is inventing steps and quantities the paper does not support. Five of the 44 scores are provisional until a re-judge with the audited verifier (§6). +> **Abstract.** Frontier language models write Opentrons OT-2 Python that runs in the simulator, but wet-lab correctness depends on tacit knowledge the simulator does not check: which cells must not be pipette-mixed, how much eluate to leave behind with the beads, how much liquid a reservoir well can hold. **Text2WetLab** is a set of 11 [Harbor](https://github.com/laude-institute/harbor) tasks at two levels: *easy* tasks give the exact steps; *paper-only* ("hard") tasks give only a goal, a fixed deck and the source paper. A layered verifier scores each protocol with a lint gate, 10 reward-hacking traps, the Opentrons simulator, deterministic checks against a ground-truth protocol IR, and a pass/fail LLM rubric (majority of three judge calls) in which three core items carry 75% of the reward. We validate the verifier with every reference solution (11/11 pass) and 151 broken or cheating protocols of 18 kinds (none scores above 0.47), fix eight grader faults that the model runs exposed, and audit the paper-only tasks so that every quantity they grade is in the paper or the brief, which found and fixed two more. Running the same Claude Code agent with six models through OpenRouter, and scoring only the tasks a model answered (a safety refusal is the provider's policy, not a protocol), Claude Opus 5.5 scores 1.000 on the 8 tasks every model answered, Fable 5.1 0.969, GPT-6.1 Sol 0.938, Sonnet 5.5 0.881, Qwen3.8-2.4T-A95B 0.832 and DeepSeek V4 Pro 0.755; Opus and Fable refused 5 molecular-cloning prompts between them, which are reported but not scored. No model failed the simulator or a trap. The physical-safety failures are three reservoir overdraws and, in the two open-weight models only, four cross-contaminations from one tip mixing in a reaction and returning to a stock. Easy tasks are nearly solved; the paper-only tasks separate the models, and the commonest failure is inventing steps and quantities the paper does not support. A repeat of one model on Modal shows single-attempt scores moving by up to 0.70 on a task and 0.08 in the mean. --- @@ -185,13 +185,13 @@ A benchmark is only as good as its ground truth, so we tested the verifier from

Matrix of reference controls and attacks per task, with the reward each received

-

Figure 5 | Grader validation. Deterministic reward (judge off) for the reference solution at three API levels (left of the line, must be 1) and 152 attacks on 9 tasks (right, must be below 1). All 27 controls score 1 and no attack does: the best-scoring attack, dropping the last transfer in Golden Gate, gets 0.47. n/a: the edit does not apply to the task, or leaves the simulated run and labware unchanged (one tip per one-well transfer() call on ecoli-hard is already a fresh tip each time). Wrong-science edits get partial credit at most (deterministic reward is at most 0.5 when any check fails); every attack on the grader scores 0. Data: results/adversarial.json.

+

Figure 5 | Grader validation. Deterministic reward (judge off) for the reference solution at three API levels (left of the line, must be 1) and 151 attacks on 9 tasks (right, must be below 1). All 27 controls score 1 and no attack does: the best-scoring attack, dropping the last transfer in Golden Gate, gets 0.47. Outlined: halving every volume on colony-PCR-hard gives 9 + 0.5 + 0.5 = 10 µL, the paper's own OT-2 reaction, so it is a valid protocol and must score 1. n/a: the edit does not apply to the task, or leaves the simulated run and labware unchanged (one tip per one-well transfer() call on ecoli-hard is already a fresh tip each time). Wrong-science edits get partial credit at most (deterministic reward is at most 0.5 when any check fails); every attack on the grader scores 0. Data: results/adversarial.json.

-**What the model runs taught the verifier.** Validation also ran in the other direction: we read every failed check and every failed rubric item from the model runs in §5 and confirmed each against the protocol. That found six faults. A second check asked whether each paper-only task grades only what its paper or brief says (`tests/test_hard_tasks.py`), and found two more. All eight are fixed, each with a regression test (`tests/test_benchmark_regressions.py`, `tests/test_spec_check.py`, `tests/test_hard_tasks.py`): +**What the model runs taught the verifier.** Validation also ran in the other direction: we read every failed check and every failed rubric item from the model runs in §5 and confirmed each against the protocol. That found eight faults, two of them in the open-weight models' runs. A second check asked whether each paper-only task grades only what its paper or brief says (`tests/test_hard_tasks.py`), and found two more. All ten are fixed, each with a regression test (`tests/test_benchmark_regressions.py`, `tests/test_spec_check.py`, `tests/test_hard_tasks.py`):
-**Table 4.** Grader faults found by reading the model runs (rows 1-6) and by the paper-only audit (rows 7-8). +**Table 4.** Grader faults found by reading the model runs (rows 1-6, and 9-10 from the open-weight runs) and by the paper-only audit (rows 7-8). | Fault | Found in | Fix | |---|---|---| @@ -202,7 +202,9 @@ A benchmark is only as good as its ground truth, so we tested the verifier from | One judge call is noisy: identical colony-PCR recipes passed for one model and failed for two | Sonnet, Opus, Fable, colony-hard | Three judge calls per protocol, majority per item; the rubric says the primer volume is the agent's to choose, as the deck gives no primer concentration | | End-state details were cut to 160 characters, hiding the measured volumes | Every colony-hard report | Full expected and measured values recorded | | RNA-hard's rubric required about 80 µL recovered; the paper says only "After 90 sec collect the supernatant", and the 80 µL is in the authors' code | Sonnet and GPT marked down for recovering the whole 100 µL | Hard rubric accepts any full recovery (70–100 µL); the 80 µL check runs on the easy task only | -| Colony-PCR-hard's end-state check used the easy task's 20 µL reaction; the paper's OT-2 reaction is 10 µL and the deck gives no primer concentration | Every model "failed" it, and the judge saw that as evidence | `not_from_paper = ["pcr_plate"]`: the reaction volume is judged by the rubric only; deck, tip and contamination checks stay | +| Colony-PCR-hard's end-state check used the easy task's 20 µL reaction; the paper's OT-2 reaction is 10 µL and the deck gives no primer concentration | Every model "failed" it, and the judge saw that as evidence | `not_from_paper = { pcr_plate = [10, 25] }`: no exact volumes; instead every well must get master mix, its primers and its colony, all wells alike, 10–25 µL (the paper's OT-2 reaction up to a standard Q5 reaction) | +| The lint gate refused any assignment to an attribute, including Opentrons' documented `pipette.tip_racks = [...]` | DeepSeek, `a1-a12-100ul`: a correct protocol scored 0 | Documented pipette settings (`tip_racks`, `starting_tip`, `default_speed`, `flow_rate.*`, `well_bottom_clearance.*`) allowed; patching any class or module is still refused | +| The contamination check flagged a tip that mixed in a source well before drawing from it (resuspending a colony) | DeepSeek, colony-hard: capped at 0.30, really 1.00 | Only mixing in a destination makes a tip carry that well's contents |
@@ -215,11 +217,11 @@ to follow from quoted facts by arithmetic the test spells out. After the two fix | `ecoli-heat-shock-transformation-hard` | Its own IR, from the APEX paper | Paper text (4 °C 30 min, 42 °C 30 s, 37 °C 1 h) and a figure caption (1 µL DNA, 10 µL cells, 50 µL SOC) | | `golden-gate-assembly-hard` | The easy task's IR | Paper ("25 µL volumes … 0.1 µM primers and 0.5 ng … template"), the brief's design table and stock concentrations, and the manufacturer's standard recipe: 2.5 µL primers, 19 µL master mix, 106/40/4/2 µL for 8 reactions, 7 µL water to 20 µL | | `opentrons-rna-extraction-hard` | The easy task's run-log checks, minus the 80 µL | Paper (40/250/250 µL, 2 × 500 µL 70% ethanol, 4 min, 100 µL, 30 s, 90 s) and the brief (4 °C plate) | -| `colony-pcr-screening-hard` | The easy task's IR, without the PCR-plate volumes | Deck, tip and contamination checks only; the reaction is judged against the paper's 10 µL or the master mix maker's 20-25 µL | +| `colony-pcr-screening-hard` | The easy task's IR, without the exact PCR-plate volumes | Paper ("9 μL of this master mix" + 1 µL colony = 10 µL) for the lower bound of a 10–25 µL reaction with all three inputs in every well; deck, tip and contamination checks as usual | Whether the level is *harder* is a weaker claim. Its briefs list no steps and few volumes (RNA-hard names 2, the easy -brief 10), so the agent must extract the procedure; but each model has only 2-4 paper-only trials, and five of them -are provisional. We call it paper-only rather than hard for that reason. +brief 10), so the agent must extract the procedure, and every model but Fable scores lower on it than on the easy +tasks; but each model has only 2-4 paper-only trials, one attempt each. We call it paper-only rather than hard for that reason. ## 4. Experimental setup @@ -230,13 +232,14 @@ are provisional. We call it paper-only rather than hard for that reason. | | | |---|---| | Tasks | all 11 (7 easy, 4 hard) | -| Trials | 44: 4 models × 11 tasks, one attempt each (pass@1) | +| Trials | 66: 6 models × 11 tasks, one attempt each (pass@1); plus an 11-task repeat of Qwen on Modal | | Agent | Claude Code 2.1.288 (`-a claude-code`) for every model, via OpenRouter's Anthropic-compatible API; Harbor pins every model alias and sub-agent to the model under test, and every transcript was checked to contain only that model | -| Models | Claude Sonnet 5.5, Opus 5.5 and Fable 5.1 (Anthropic); GPT-6.1 Sol (OpenAI) | +| Models | Claude Sonnet 5.5, Opus 5.5 and Fable 5.1 (Anthropic); GPT-6.1 Sol (OpenAI); Qwen3.8-2.4T-A95B (Alibaba, open weights); DeepSeek V4 Pro (DeepSeek, open weights) | | Judge | Claude Sonnet 5.5 via OpenRouter, three calls per protocol, majority per item | | Rubric | 3 core items at 75%, task items at 25% (§3.2) | -| Sandbox | Harbor 0.23.0, Docker (Colima), 2 CPUs, 2.5 GB | -| Verifier | The Claude trials were regraded from their saved protocols with the final verifier (`scripts/regrade_jobs.py --judge --all`, no agent rerun); the GPT trials were graded by it directly | +| Sandbox | Harbor 0.23.0, Docker (Colima), 2 CPUs, 2.5 GB, two trials at a time; DeepSeek on Modal (`-e modal`), all 11 at once | +| Verifier | Every trial is graded by the final verifier: earlier trials were regraded from their saved protocols (`scripts/regrade_jobs.py --judge --all`, no agent rerun) | +| Cost | Agent tokens at OpenRouter prices (`prices.json`); Claude Code's own figure prices every model as Claude, so it is kept only as `claude_code_cost_usd` | @@ -252,78 +255,106 @@ The agent gets the instruction, `/data` and a shell, and must leave `/app/protoc
-**Table 6.** Summary. Refused tasks are not scored; the first row is the headline. Agent cost is for every trial run. † Includes provisional scores (§6). +**Table 6.** Summary. Refused tasks are not scored; the first row is the headline. Agent cost is for every trial run. -| | Sonnet 5.5 | Opus 5.5 | Fable 5.1 | GPT-6.1 Sol | -|---|:---:|:---:|:---:|:---:| -| **Mean over the 8 tasks all models answered** | 0.842 | **1.000** | 0.969 | 0.898 | -| Mean over all tasks the model answered | 0.863 (11) | **0.972** (9) | 0.969 (8) | 0.881 (11) | -| Easy tasks, answered | 0.900 (7) | **1.000** (6) | 0.958 (6) | **1.000** (7) | -| Paper-only tasks, answered | 0.797 (4)† | 0.917 (3) | **1.000** (2) | 0.672 (4)† | -| `fidelity_to_paper` passed (hard) | 1/4 | 2/3 | 2/2 | 0/4 | -| Refused, not scored | 0 | 2 | 3 | 0 | -| Simulator failures, traps, lint violations | 0 | 0 | 0 | 0 | -| Agent cost (USD) | **1.25** | 3.52 | 6.21 | 4.82 | +| | Sonnet 5.5 | Opus 5.5 | Fable 5.1 | GPT-6.1 Sol | Qwen3.8-2.4T | DeepSeek V4 Pro | +|---|:---:|:---:|:---:|:---:|:---:|:---:| +| **Mean over the 8 tasks all models answered** | 0.881 | **1.000** | 0.969 | 0.938 | 0.832 | 0.755 | +| Mean over all tasks the model answered | 0.891 (11) | **0.972** (9) | 0.969 (8) | 0.909 (11) | 0.728 (11) | 0.735 (11) | +| Easy tasks, answered | 0.900 (7) | **1.000** (6) | 0.958 (6) | **1.000** (7) | 0.800 (7) | 0.800 (7) | +| Paper-only tasks, answered | 0.875 (4) | 0.917 (3) | **1.000** (2) | 0.750 (4) | 0.601 (4) | 0.622 (4) | +| `fidelity_to_paper` passed (hard) | 2/4 | 2/3 | 2/2 | 1/4 | 0/4 | 2/4 | +| Refused, not scored | 0 | 2 | 3 | 0 | 0 | 0 | +| Critical failures (reward capped at 0.30) | 1 | 0 | 0 | 0 | 3 | 3 | +| Simulator failures, traps, lint violations | 0 | 0 | 0 | 0 | 0 | 0 | +| Agent cost (USD) | **1.25** | 3.52 | 6.21 | 1.49 | 2.83 | 2.53 |
-Six of the seven easy tasks are saturated: every model that answered them scored 1.0. The models separate on RNA extraction and on the hard tasks, where 8 of 13 answered trials failed `fidelity_to_paper` (§5.4). GPT-6.1 Sol is perfect on the easy tasks and weakest on the hard ones (0.672), where it adds steps of its own; Fable is perfect on the two hard tasks it answered but refused the other two. With one attempt per cell, single-task differences of 0.25 (one core item) are within run-to-run noise. +Four of the seven easy tasks are saturated: every model scored 1.0 on them. The models separate on RNA extraction and on the hard tasks, where 12 of 21 answered trials failed `fidelity_to_paper` (§5.4). GPT-6.1 Sol is perfect on the easy tasks and weaker on the hard ones (0.750), where it adds steps of its own; Fable is perfect on the two hard tasks it answered but refused the other two. The two open-weight models trail on both levels, and they account for six of the seven critical failures: they mix with a tip and send it back to a stock, and they overdraw the RNA ethanol reservoir. With one attempt per cell, single-task differences of 0.25 (one core item) are within run-to-run noise (§5.5). ### 5.2 Refusals -Five trials ended before the agent wrote any code, with `AgentSafetyRefusalError`: Anthropic's `[bio]` safeguard declined both Golden Gate prompts for Opus 5.5 and Fable 5.1, and the paper-only E. coli transformation prompt for Fable 5.1. Sonnet 5.5 and GPT-6.1 Sol answered all 11. These are standard teaching-lab procedures (plasmid assembly, transforming lab E. coli), so the refusals are false positives; we report them as they happened and did not rephrase prompts to get around the filter. **A refused task is not scored.** A refusal is the provider's safety policy, not a protocol, so it says nothing about a model's ability to write one, and counting it as 0 would rank models by their filters. Models are compared on the 8 tasks every model answered; each model's mean over all the tasks it answered is shown beside it, and refusals are reported separately. +Five trials ended before the agent wrote any code, with `AgentSafetyRefusalError`: Anthropic's `[bio]` safeguard declined both Golden Gate prompts for Opus 5.5 and Fable 5.1, and the paper-only E. coli transformation prompt for Fable 5.1. Sonnet 5.5, GPT-6.1 Sol, Qwen and DeepSeek answered all 11. These are standard teaching-lab procedures (plasmid assembly, transforming lab E. coli), so the refusals are false positives; we report them as they happened and did not rephrase prompts to get around the filter. **A refused task is not scored.** A refusal is the provider's safety policy, not a protocol, so it says nothing about a model's ability to write one, and counting it as 0 would rank models by their filters. Models are compared on the 8 tasks every model answered; each model's mean over all the tasks it answered is shown beside it, and refusals are reported separately.

Mean reward over the tasks all models answered, all tasks answered, easy and paper-only; cost against reward

-

Figure 7 | Scores without refusals. a, Mean reward over the 8 tasks all four models answered (the headline), over every task each model answered, and over the easy and paper-only tasks it answered. b, Agent cost for the tasks each model answered against its headline score. Refused trials cost almost nothing, so Fable's $6.21 is for 8 tasks.

+

Figure 7 | Scores without refusals. a, Mean reward over the 8 tasks all six models answered (the headline), over every task each model answered, and over the easy and paper-only tasks it answered. b, Agent cost for the tasks each model answered against its headline score. Refused trials cost almost nothing, so Fable's $6.21 is for 8 tasks.

-On the 8 tasks all four answered, Opus scores 1.000 and Fable 0.969, ahead of GPT-6.1 Sol (0.898) and Sonnet (0.842). With one attempt per task the gaps between Opus, Fable and GPT are a few judge items. Sonnet is the cheapest by far ($1.25 for 11 tasks), and Sonnet and GPT are the only models that answered every task, which matters to a lab that needs all of its protocols automated even though it is not part of the score. +On the 8 tasks all six answered, Opus scores 1.000 and Fable 0.969, ahead of GPT-6.1 Sol (0.938), Sonnet (0.881), Qwen (0.832) and DeepSeek (0.755). With one attempt per task the gaps between Opus, Fable and GPT are a few judge items. Sonnet and GPT are the cheapest ($1.25 and $1.49 for 11 tasks). Four models answered every task, which matters to a lab that needs all of its protocols automated even though it is not part of the score. ### 5.3 Per risk: where points were and were not lost

Deterministic checks passed per risk, and failed rubric items per item

-

Figure 8 | Deterministic layers against the judge. a, Share of deterministic checks passed, per risk and model, over all answered trials. End-state misses are the colony-PCR-hard plate (all models) and GPT's Golden-Gate-hard plate (§5.4); the RNA miss is Sonnet's reservoir overdraw. b, Every rubric item the judge failed, by item and model: 14 failures in 39 judged trials. tips_and_contamination passed in all 39.

+

Figure 8 | Deterministic layers against the judge. a, Deterministic checks passed / run, per risk and model, over all answered trials (red: at least one failed). End-state misses are GPT's and Qwen's Golden-Gate-hard plates; the contamination misses are Qwen's and DeepSeek's shared tips; the RNA misses are reservoir overdraws (§5.4). b, Every rubric item the judge failed, by item and model: 28 failures in 61 judged trials.

**Table 7.** Deterministic checks passed / run, per risk. Each check compares the simulated run with the task's ground truth. -| Risk | Sonnet 5.5 | Opus 5.5 | Fable 5.1 | GPT-6.1 Sol | -|---|:---:|:---:|:---:|:---:| -| Protocol runs in the simulator | 9/9 | 7/7 | 6/6 | 9/9 | -| End-state volumes match the IR | 43/44 | 13/14 | 11/12 | 42/44 | -| Right labware, label and slot | all pass | all pass | all pass | all pass | -| Never pipettes without a tip | 9/9 | 7/7 | 6/6 | 9/9 | -| Never overdispenses | 9/9 | 7/7 | 6/6 | 9/9 | -| Never aspirates from an empty well | 9/9 | 7/7 | 6/6 | 9/9 | -| Drops its tip at the end | 9/9 | 7/7 | 6/6 | 9/9 | -| No cross-contamination | 9/9 | 7/7 | 6/6 | 9/9 | -| No reservoir column overdrawn (RNA) | 1/2 | 2/2 | 2/2 | 2/2 | -| Other RNA run-log checks (16 per trial) | 32/32 | 32/32 | 32/32 | 32/32 | -| Traps tripped / lint violations | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | +| Risk | Sonnet 5.5 | Opus 5.5 | Fable 5.1 | GPT-6.1 Sol | Qwen3.8-2.4T | DeepSeek V4 Pro | +|---|:---:|:---:|:---:|:---:|:---:|:---:| +| Protocol runs in the simulator | 9/9 | 7/7 | 6/6 | 9/9 | 9/9 | 9/9 | +| End-state volumes match the IR (or the paper's range) | 44/44 | 14/14 | 12/12 | 43/44 | 42/44 | 44/44 | +| Right labware, label and slot | all pass | all pass | all pass | all pass | all pass | all pass | +| Never pipettes without a tip | 9/9 | 7/7 | 6/6 | 9/9 | 9/9 | 9/9 | +| Never overdispenses | 9/9 | 7/7 | 6/6 | 9/9 | 9/9 | 9/9 | +| Never aspirates from an empty well | 9/9 | 7/7 | 6/6 | 9/9 | 9/9 | 9/9 | +| Drops its tip at the end | 9/9 | 7/7 | 6/6 | 9/9 | 9/9 | 9/9 | +| No cross-contamination | 9/9 | 7/7 | 6/6 | 9/9 | 7/9 | 7/9 | +| No reservoir column overdrawn (RNA) | 1/2 | 2/2 | 2/2 | 2/2 | 1/2 | 1/2 | +| Other RNA run-log checks | 32/32 | 32/32 | 32/32 | 32/32 | 33/33 | 33/33 | +| Traps tripped / lint violations | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 |
-The mechanical layers are close to solved: no model crashed the simulator or tried to game the grader, and the only physical-safety failure is Sonnet's reservoir overdraw. The signal is in the judge, and mostly in one item, `fidelity_to_paper`. +The mechanical layers are close to solved for the closed models: no model crashed the simulator or tried to game the grader, and their only physical-safety failure is Sonnet's reservoir overdraw. The open-weight models add the benchmark's only contamination failures. Beyond those, the signal is in the judge, and mostly in one item, `fidelity_to_paper`. ### 5.4 Error analysis -Every failed check and rubric item, with each judge vote and its evidence, is in [`REPORT.md`](results/runs/2026-10-07-openrouter/REPORT.md). They fall into five kinds: +Every failed check and rubric item, with each judge vote and its evidence, is in [`REPORT.md`](results/runs/2026-10-07-openrouter/REPORT.md). They fall into these kinds: -- **Inventing steps the paper does not describe** (all four models). On ecoli-hard, Sonnet, Opus and GPT all pipette-mix the competent cells after adding DNA, which the paper does not do and which harms fragile cells; Opus and GPT also mix after the SOC and choose their own lid temperatures. GPT adds a manual transfer of all 96 colony-PCR reactions to a second plate, with pauses (colony-hard, 0.50), and a 1 µL water "QC aliquot" step that leaves each Golden Gate well 1 µL over the paper's volume (golden-gate-hard). Sonnet and Fable add bead-slurry mixes in RNA extraction. -- **Not errors: recovering the whole eluate on RNA-hard, and a 10 µL colony PCR.** Sonnet, Opus and GPT recover all 100 µL on RNA-hard, and every model builds the paper's 10 µL colony-PCR reaction (5 µL master mix, 4 µL primer pair, 1 µL colony). Both follow the paper. Before the audit (Table 4, rows 7-8) the grader held them to the authors' 80 µL and the easy task's 20 µL; the affected scores are provisional (§6). On the easy RNA task, whose brief says 80 µL, over-recovering *is* an error. -- **Overdrawing a reservoir** (Sonnet, RNA easy, 0.30). Sonnet assigns six sample columns to four ethanol wells by `etoh[i % 4]`, so wells A9 and A10 each feed two columns: 8 × 500 µL × 2 columns × 2 washes = 16 mL from a 15 mL well. The new reservoir check fails it, which caps the reward at 0.30; the judge independently failed `robot_practice`. +- **Inventing steps the paper does not describe** (every model). On ecoli-hard, Sonnet, Opus and GPT all pipette-mix the competent cells after adding DNA, which the paper does not do and which harms fragile cells; Opus and GPT also mix after the SOC and choose their own lid temperatures. GPT adds a manual transfer of all 96 colony-PCR reactions to a second plate, with pauses (colony-hard, 0.50), and a 1 µL water "QC aliquot" step that leaves each Golden Gate well 1 µL over the paper's volume (golden-gate-hard). Sonnet and Fable add bead-slurry mixes in RNA extraction. Qwen fails `fidelity_to_paper` on all four paper-only tasks. +- **Not errors: recovering the whole eluate on RNA-hard, and a 10 µL colony PCR.** Sonnet, Opus and GPT recover all 100 µL on RNA-hard, and every model builds the paper's 10 µL colony-PCR reaction (5 µL master mix, 4 µL primer pair, 1 µL colony). Both follow the paper. Before the audit (Table 4, rows 7-8) the grader held them to the authors' 80 µL and the easy task's 20 µL; every affected trial has been re-judged. On the easy RNA task, whose brief says 80 µL, over-recovering *is* an error. +- **Overdrawing a reservoir** (Sonnet, Qwen and DeepSeek, RNA easy, 0.30 each). Sonnet assigns six sample columns to four ethanol wells by `etoh[i % 4]`, so wells A9 and A10 each feed two columns: 8 × 500 µL × 2 columns × 2 washes = 16 mL from a 15 mL well. DeepSeek's plan is the same and Qwen's overdraws one well the same way. The reservoir check fails it, which caps the reward at 0.30; the judge independently failed `robot_practice`. +- **One tip from the reaction back to the stock** (Qwen, both Golden Gate tasks; DeepSeek, AMPure and Golden-Gate-hard; 0.30 each). `transfer(..., new_tip='once', mix_after=(5, 15))` mixes in each reaction well and then returns the same tip to the enzyme-mix or bead stock for the next well, carrying every reaction into the stock. The contamination check and the judge's `tips_and_contamination` both fail it. No closed model did this. - **Wrong metadata** (Fable, RNA easy). Fable credits the RNA paper to the wrong authors, failing `fidelity_to_task`. +### 5.5 Local Docker or Modal, and how much one attempt moves + +We ran Qwen a second time on Modal (`-e modal -n 11`, every task at once) with the same agent, tasks and grader. +Times are from Harbor's `result.json` (`scripts/compare_jobs.py`); rewards are as graded at run time. + +
+ +**Table 8.** The same 11 tasks on two backends. + +| | Qwen, local Docker (2 at a time) | Qwen, Modal (11 at a time) | DeepSeek, Modal (11 at a time) | +|---|:---:|:---:|:---:| +| Wall clock, 11 tasks | 54.7 min | 31.9 min | 12.0 min | +| Median trial | 4.4 min | 7.8 min | 4.7 min | +| Median sandbox setup | 7 s | 1.5 min | 1.5 min | +| Median agent time | 3.0 min | 4.9 min | 1.8 min | +| Agent cost | $2.83 | $3.61 | $2.53 | +| Mean reward, 11 tasks | 0.728 | 0.805 | - | + +
+ +Modal is 1.7× faster for Qwen, and would be faster still without a single slow trial: run in parallel, the wall clock +is the slowest task (a 28-minute agent session on RNA extraction), and each sandbox spends about 1.5 minutes building +its image where local Docker reuses a cached one. The scores show the noise of one attempt: the mean moved by 0.08, and +four tasks changed by 0.08 to 0.70 with nothing changed but the run. Details: +[`results/repeats/2026-10-07-qwen-modal`](results/repeats/2026-10-07-qwen-modal/). + ## 6. Discussion and limitations -- **The paper is the hard part.** Easy tasks are nearly saturated; the paper-only tasks separate models, and the dominant failure there is inventing steps or quantities the paper does not support. GPT-6.1 Sol, perfect on easy tasks, fails `fidelity_to_paper` on all four paper-only ones (two provisional). The paper-only level is the one to grow, and every new task has to pass the audit first. -- **Refusals are not scored, but they are not free.** Two of four models refused standard molecular-cloning protocols. We exclude refused tasks from every score (§5.2), which makes the headline a comparison on 8 tasks, not 11; every new model can only shrink that set, so we also report each model's mean over all the tasks it answered, and its refusals. -- **Judge noise is real and now measured.** Three calls per protocol disagreed on 7 items across the run (each vote is in the grader record), and a single call had scored identical colony-PCR recipes differently. The majority vote absorbs this, but all signal still comes from one judge, a Claude model that also judges a non-Claude model; a second judge from another provider would show whether that matters. -- **Ground truth comes from the easy task.** Three of the four paper-only tasks reuse their easy task's ground truth. That is only fair where the paper fixes the same quantities; the audit now enforces it, and it is why colony-PCR-hard no longer grades its reaction volume deterministically. -- **Provisional scores.** Five scores, listed with reasons in [`PROVISIONAL.json`](results/runs/2026-10-07-openrouter/PROVISIONAL.json), were judged before the audit or with fewer than three votes: Sonnet and GPT on RNA-hard and colony-PCR-hard, and Sonnet on ecoli-hard (one vote). They are marked † on the leaderboard. The OpenRouter key ran out of credit before they could be re-judged; `python scripts/regrade_jobs.py --judge --all` does it for about $2. -- **Scope.** One robot (OT-2), one simulator, one agent harness, four models, one attempt per cell. Repeated attempts (`-k 3`) and non-Opentrons instruments (Hamilton, plate readers, imagers) are next. +- **The paper is the hard part.** Easy tasks are nearly saturated; the paper-only tasks separate models, and the dominant failure there is inventing steps or quantities the paper does not support. GPT-6.1 Sol, perfect on easy tasks, fails `fidelity_to_paper` on three of the four paper-only ones, and Qwen on all four. The paper-only level is the one to grow, and every new task has to pass the audit first. +- **Refusals are not scored, but they are not free.** Two of six models refused standard molecular-cloning protocols. We exclude refused tasks from every score (§5.2), which makes the headline a comparison on 8 tasks, not 11; every new model can only shrink that set, so we also report each model's mean over all the tasks it answered, and its refusals. +- **Judge noise is real and now measured.** Three calls per protocol disagreed on 9 of 380 items across the run (each vote is in the grader record), and a single call had scored identical colony-PCR recipes differently. The majority vote absorbs this, but all signal still comes from one judge, a Claude model that also judges a non-Claude model; a second judge from another provider would show whether that matters. +- **Ground truth comes from the easy task.** Three of the four paper-only tasks reuse their easy task's ground truth. That is only fair where the paper fixes the same quantities; the audit now enforces it, and it is why colony-PCR-hard checks its reaction's composition and the paper's volume range instead of the easy task's exact volumes. +- **One attempt is noisy.** Qwen, run a second time on Modal with everything else the same, moved from 0.728 to 0.805 over the 11 tasks, and four tasks changed score (RNA extraction 0.30 → 1.00, heat-shock-hard 0.75 → 0.30, Golden-Gate-hard 0.30 → 0.75). Gaps of under about 0.1 between models are not meaningful at pass@1 ([`results/repeats/`](results/repeats/2026-10-07-qwen-modal/)). +- **Scope.** One robot (OT-2), one simulator, one agent harness, six models, one attempt per cell. Repeated attempts (`-k 3`) and non-Opentrons instruments (Hamilton, plate readers, imagers) are next. ## 7. Reproducing diff --git a/docs/preprint/figures/grader_validation.png b/docs/preprint/figures/grader_validation.png index dfb58c03c89ef732f23fa466c895dd784d637353..ef01d49fde5b22b620cbec170aeaaaeb3048aa43 100644 GIT binary patch literal 388255 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

WC7Xj-4P>AixsLM`VGfZ_=kl@)rw!Kp zd5*Xr?1`tOT+|@{5(#kS8}7~Le&`p@=^l`B#|RnVE^5jx&R2A17V3HBWKz*t75IiW z6zAt@JTC6X$^-nsfcVoXgfGQ9B|iRlN9gCxVdw(4J@OWnmPY&WDq0x+# zgq0X4xzOBMN;VYXVm0Xp{!)NEXe!l|J(o#MOF6y|*~kNDy#x?VSvc~5iRKRMeD(yv z=rCZ}<*r8ob4Rn4xK`Q0-`HVuJs8}E(D)t@<7am=mz(xW@-+ueWfv{!owa8Ttaa?9 z5y=H?2=k?7-+?vz*Ns4;Wd%Y#C+pmOXF|7iF_$F)HOh=&Jh^xo3?zg2XwVv=;q~}` zD&zhs|3DocW9(pzNP$I2DKibFXeJ0w8c!o=m{( z&Cp^snPB_(uVIW0k@|<`&zhsryp{NK%RZ=n?3=nizqdokA>6=Bp`9={+43B6;bvGs zi=R#GZZmLL_^LzK18hWA4>*2dxrQs>uN-RV{|7!UgM9NaoNTr==@^_WVk|-eM!(*E zC3;5*gvRU0P%p51OFpgqcnX|B5w02BZYr{#D9f+l@1}Ro?@t5vG09R49g<9R1e}*^ zXR5!hAMuTXNFmRcUxYuB7d!gsURc$fEfjb6Gqn-SKXDSR7joZurcSfrvbI5YCS`(& z4?z%|H8fpJJq(se!A;c zeyxrN%JTkncnllgN@#dIzfvgS0l_b&5CJpbQ@Pc$ai0_d_C5D!0x%`%2n^1dL%(ce z^Uos%g&nYf=@dsL9%-l9P$JlQ`~G4w2>y3cQJyWEn)h*9@Y94nfJcRhAyE@pA0Sg` zDKQxrzBT#YAMl@S0WYYNnW8Qe%eocRK%C54y!NZRX(O6^Yaw>E<21EZUUd-b7e+C6 zL~(3abHV%!rm~GuHhU~MVsTY8{?fp19@;sPwgaJo;vC&bXqXUHJIjZu9HoLxvG*;@ zwT}a-<%dp+h$*Lz`OZWkyDVRkNwDSPxG`HEbmGjz>rYxJzA#G=y6!8QY|SCT5=ie4 z@VV}4$BUh=u{PY=gnn&+bG@;9GN3W9>;eZ)+ti-+H)9n36)`ReG%ugy_QsT5_;{ua z$#!>^E(Dxo9#)GRF7qj$$X<$nSKQ5s1ahPsvF!7YoaJ8`vhF-GQra~)x0%(rEs}S7 zQjTw5wHS>DidfLNhMle}Su494__(OUhvWB>;pXF?L6afr{w=(z1xuHyp;#GK+;~^@ z>sqX6RJ0_vp{j8IRrf?;@dY8NR{Jhb-84JBu2E`^vnR|C73;5zSRVW)r}nU2x?#H9L+>X-o5f1k|neauQ%9@bLN*(_nd+!<5;(`| z5D*X$8!Ant6N-YNCLlsU5&|kJDj+sMx`@;eLQQB%M5IU+DS-qMl_n%1LP!FHknhgg z``z!^)7-xJx&e-`An)2{G_dV}9uX$b9;8(OeqG-R5}ye zcyXxnKt9n3tmKH~oZ{=LRgH;Pir!__O&4L(Id%g&&~u=yNW3_YG8VG5VlNHRU2Hc! zO@cbLT)UO``!6)P98%+TKzSWh&ZegQqEldEw(1xVHcQmfdifO;v}uYr;HmqJw+Xr|O z30CX=NBE3PxFVpGOup~hmE);=>ioG6fENj{~Dvb;6CyL-()J9oSo6r0emT|22*l2#&h)+l)hBecI zE6zC{-!@&sHBHF|Io$<@lbuH*V(XR3syi*FNF&{4liukz3=ck(gtf9CyTi z=ZrZ`ZfHrNG9XfL$hFtbeO;i&HQ{{>9jHRCarX547tt{FIr^pkI!cN;DQB41O%SZX zp2d1EXx#QOzTG0XmRZ7ewW{)6NIdyQ&7E=}vB%|X=!Xd(v&_e)}4$7LUJ9 znLRC^T~ZwFp|Z678$b>N9XeaV@bQu{R)JjTTHcZ}OVv9hT#D2?dpI`lo&|rtLt=fB6}2*ycHJNoejJ%4pA!WbSN?;gKSI&uJe$70-;sSj zfRW+Un@<9as-34OZ;DO6hRl@glR~I8nJK=b>i$@kkCCt_XeaZzCNww29kXs$MGm+b z?Q(w=hR^+^LL&!H>F$F4?k2V+t4_#C|3(AC9(@VAQTnokjbtswbPXv6#Q(K!F?M<1 z`X=PJf4}~MX>}PK$`NbP7iAs;#!F9^a-65~ugUEp*I&#%dXTrQk3MhXUiVyDy4Xhr z(E3Y$Roi$Mt=X|PNYsb8OsQ_2sz1M)yWyiOr?~gc@17FZ9+}q<*BsliJ@re7c_wJA zJX&G_0t$?XG0`7nW4i@aj#7W@*q3(?M$y(i^W+!kKqfdx%38Z#r~N8z+*AR}g%1Ea z)S4*EhC9H1r3#iidWF5e=X0%t?+J(r9@{3;pKvvK775L`(2KBTTh9K`HdUJ~jC-IO z{lOn2^Lx?y#hqeA>u2=Kc=Am^93n^(fwNC{ZFiZJt5%S|@Ll(wDK7>bXU%^ubRUtw zFsi@z0Il)?og}|6xBTUr8>5PYIl->ba4d%UF^9+jB$zUAE*$fF|NOF~Bn64O6+P^a zi%^WDXW%dA@FJi-%lg0{hf%HbNSA6=T>Uo*%O6~Rbf-v$E^Tpt*)P`M=aYj!SK=NN zA(V)7ZK~GoS@O$appDvuU=Mr@kdBhO^}D)DPZ1@pIGpAC;7p6{3{a?*%0=vro%Y$F zh zw|&(~`~MRFU711eHr3actN-dp){z4ZBY-EpA_! zbm8G>)#&W)ht_FmzO@!A+sok0McApk9mr>NKBEWfps8pI9!3siF{Lh^tO5O9D<7%JQ?p?RWdKdi`rdk7>ax z{qNE9{Y&&`cI=wiuV{pi-P?@6T58lBByebS%Bp=U$VdK zmt*h8%hK)8Iv*1eHDLA+k$>qUua8d=#m7#&NUaa)sFTU^S@qamM+6Aq)+X__a+p8! zMvX(Y@Fztm+Y@>fOgU2u5UO?Dchm;(b|?F z`Vq6Y{ytq=Ey`cP=i1csW&~-WKN)N;ePiuy!xCayzbS$&tAWAn!7O2C7&dw4vu%1k z<;yWPHD{q7{mKZ9z`g?O%#JV(HMyKV%+L-h~jEIr&h`AZ*135ky@ZoJ6swSJ6-_Bs&v&qcKA zm}GcTNgGI%6^E!-e6s?#55hz|W-GLSe1)>p)!PO7u9fv`!_I_`W$ZWcpw?mse$9_N+1MPpOm?SKXM|lbO%Q|H4*ietxLCF6P1R4Ha(E*^GA_drvo$eAfgQ z&hN(;$R7`hl%N&X-h&dRwY0%Qv61$2krp4+4+42z(Hf0YBUzdz)!TJ0n+P>uDn6vj zlw9&BBOE;M-ujJ+9k5P`1qE7$FkOCNqo###-txeO%Y7&1HjCUW5E%b!Cgoj!pi5NJ zss~hGl^m3IO^SVRS3ACNK+P`0v2AQ7^{O_NcWhwQ|X|cSz~j zbfC6&d*@bcDK>vMYDLy~rT=V$LBSDfl?(K-4^8b<6>MQ1Hysj>m}wH~DOxcixbYH_ zAO7yFN1*HWh{6WnwoS$4^YaRy@~_IN;ob=jV$%TA{enrtZnXLx6&LLJ%I7{Ab&U7A5y zzzq6g3l=zg*;`L6K6tY>+L`ewJ=&SWW}5>Kgckm-an*kmO!_UZ2A9lx$KZhp&j(DwmO{*M{e9Or}Xc5R?bQIX^`#Km@M8 zq30UBBTk|1PaG5bVDXKstCV^pr+w%+m1r=4Hhxvovtht`Uq3K@yVI^NVOh!qJluS_ zH|STY-W7&iq$^^C;R=0rmm$Zb=J`9RRFIDpoq7EWoej@H-oDvY^Jyk0WKlM9Jl_!! zd%1StVKPT#WPGdjFAYqc%=TX^@n#1wlTe=fnr!s3FIl2H2al!m8SnvF#DI{YyHR#wXWNO)LXc9yfmBLmm!0w zPy9;jME)*X~^MO%A4kbx@3 zd&%noRpi_m3UEIZ0s;1Qyye;V^Q@s>!0a9v7W?yifN=b!Y+U6jAjOW*VyGC@cy0E) zb_nz|Y%9n9X$g8ZRU-FS1kOn{4b(fp{N}G>z%hAo);m4uu{LM`b_Ywg6(Flev*Y4& zor00`zitvnLLoE3zzn8J!r9JcN?*tsl0BfTdZvL20HxP2Zvth`->+{jpf?L!oExtZ zONvhkIk@80VY9ptBKUT>1#q)t1JzP1H@$qTF{sahnc)po2y>uQg2WGtRloBeO~VsD^c{OdPrwg$B*db>x=N=vR~)#_@X zWPpR~ZRZY~X%KG#fy6D;!O{K_R~l()TJ=HI%K?CmBp!8y)P`{^OC{}|yZ>@aJ)5cu z!52$>p(MVO$OHiO-E6e*&LZ{H zmrcNo#}>EsyFb8x_~76f3l9J_MmaD*%*28!TGQ=iI(XUQ{`mVwty=Yw0q`!MYWIL0 z01x+&Q~9kcq_Y7so%^?0C!aksR3BaeoMjF$R!vB%KUfC%S6d(b51z1>d*1E*-~4C| z^#9`u`+wkRdU^Jr_wceiD9^hE!@$(Zrd<7>4@&ZOOG{#n^zX0#*;04=X1@mTb5lQ; z<-7-tRdw=_+TU~Rh~M~QHN13O8RwgvP|ZLv@~SBq&fHm&JXLh}>2>>DKlr3St8TuT z)NalqbTpCLyU>IH_SN<;U#=|a@5cia)OkvCM>?+4wSEu}8)@@0w>cauN1)na^xYM- zP-XDp4w9L}_|+W*FT{xOd9BF=op~Dku1S}P_Yo->Q1cnYRP55-2@eKTo$o4nJHm%d zs5lo_+hIsHMGnz_%V9;^iwy%8^K5Z45q(9!j32*1CzA#PhiW+6i;0i!u`BH=eNHkc zgJDzg=;V~az?4{Ya)!{dfvTtXM?zjsdintpPT3K~O;Wq!y7x2A(OP`PaYr%nrj}6M zHSzcinNy%}YlirotBwxpf~vPA4>>iDxh0bd61@L;P2kPTgM1UUNci>dw;Ftg-}oQ% zV-Vi{`=I#O9a{4r`)F{4{>R@MEQtU64&na{XX~1`U{wY?O(~U;#u^p6F&a=U?-vG^ z1<maWlL~`S2UWM?Cm9QUr|^(eArn`|r?1^h8$3A*8!xg0 z`e{A?p86DE+Z%)rtRvbGk-y6jOnc$ab{xCC;XJH)J_R4yh{QPOKC6P$n!EIbAsC0i zqj=X;=PG0sk0U0@if6skjHB-FQ1-AVSSlJUe3xRy^;+S<(VU0e@dFqLr3`Q~?&~Zi zkU>!dwa+u(?LSImgp-KYCg zwf$44`_J!>+iOgp=*WZ$EB(EJDKBef>TjF$K?(4vdn30eMXQUo4_NEA8f}zQuQa|S z4yeN(0J>QXcr%-MgD z`uXbh>(L!g`hDFieJ0Gmendi=*{aI+#g0V|N8xtrkdE4rqMN*;q{?T&m^9^9_Y#yf zk1le2`txG(t)MmUG`~P&Y%9DFX0%jU$aSL1lOH`TnfPQRIf=6vG zsajkTr_#<^C!yFnxS^v(bL|CZxMBFm~KszK1`6?Is+hnaH z&U^2{??#K zC0cV}o#<^(7k$U-4r(+$o(PZZ>X_1*Nno&|Nr8jX4sL0t3}&cxKiq-)FLm69y=5XC%L^omgy-O@)0rb)IbE^*-Q5 z%`e?nmp<87k}Tt_OJ>xJlMs}aEYQ3q#A?(W_oqNsHyVrQb3_Zh2|CcZLy(#~xpE&s z_Ad*P=_-W&&vpKN1wm9S0d&|JNee%<6bvRbAhjWdlqm>syd$9ggC zR;r_U{;9`?at(iP0?xw}U-DKG&f?c)-(U}5ovA#EE0o9Nz_^oQ&u-%H^7uV^Z5yd2 zHu-qhF!;(Q&kvRaNbRJIf7YG3^`Qe!`QbwzE%8}53{gfuq@@^0+K7GBB+{)J{vig) zbe$*L>+YsJx|(!+O8TkNo!|G}zBcJHHdT3}h+~LzZlU3F!k-nJi-8Gmp&Rre)SD#C zTuVe(al3fM5DF7J6ktJ|6DtJrDgdTP-B`_uq=@(no}0@@z7VZK zR)JMyrcw1}+fk&T$qWG0`gJ%3#SQx*|H`b$-2G?Utc9b#rNc z_rQ2<8hoUdXJ2^zVqGpRUg8lwxP)M`a}w4LrGeYOe%sNZe#)?q)Y|#%faFX6Smm1A zL?9s6n#@U&__*Sf@WE5BRDV=cZAi3EKSI3WJ+MgeE+8wNjHa{voTee>~+ zAvf`1;xI#cl{Vl>Kbq5sg#MRnohn!Tkf3r$xKFzwjlmd^Aq*e|!F4Ygwu8L`8 zw9=bW;LO9ihWE?zMVlM3f_5CONiNHKM_aPhtn9RZzE>4;LzGI6@TTaHP3(U3lQ-3NH(6ICq3Kr&_|5v8bns z4RPDHPW||D6cr9#0d+T3D8=Z?@N=THgKl{HOsz075Xnd|UhF8TozwIm9*j~!9qI;n z0Sjv+swXGtEv-XMf61&-{8%?b{m35)3p5b2V&OkOeBqDT5Z4WM?Hg@=KFf!4cdCJt z;zWg6w?TLFGA|kHPAEA`8;!m%MZ5tIUmo&izi8alj>bZn1EHULOlea`({HpVt5tX_ zMGY^J1WGi6`)-lbTQnT&u2xO+=OI#9Kb}0D%Tv(7>#(V`88~eSJyKHDv{7!*ltY3} zhLW0hml7w9*jW3Kj6q%Hb0hnLuv+5u?L~QoPe& z37uaz#}~8RP}DE^nWNC#_6ied!`l4Y@GUcoa&EH^s@mTu!=;3RS?aZO&V+y|+4RWo z4W`5)9I!wxKupiOqgNGz5Ipg}gy5K8TUMR5^&cq4w<=54RoE|z{R>{pKhS;E(n=@Z(joo zdQhd+fy;>m?qYb0#E4NIWlY9D=FKtd1G<0R1#Y_hMnR)Zd1fmIq=fZRi76AQ7>#ZL z5|A?PNTH)ZRsztIE-&+K(QBhdML@W_;x}%A3SPd(?~9Fu^i#M@0C~b3%%fpp~13Io65Xn zPXKp`3K%a~fI-=p?9tltK}yzH!>1Gd|`%X$^{OuxpF)Wb01 zwc8-@wR~-eu8+dl<9v^%2f2|b;OY8j1TJI=1m%Zg;nSak!rj1tgnR5ubtfH_6G1V3 zls6lvpgUkz+glLyyQ1m+ZGpaQoYCm~Yc8>5_3!))d@!99v8O+Uy3Lo-;NM~-@D zhC658V87VdWlT$BTl=gv+Y53y^?&AY7e@BgNX!VwHoDkPlze%8bO+NYxwRV3G)(0h*hoBS@O!K!LTV#zzdueej$}Haj~8f;K)D-RRA?>eh|6`%vbI?-#ocZBEv3 z50DtK%xFd}L>7p^P#L!ux(~QN{c%Id=VKxlZ&K zyL$7@+YBk2etjp4Ky@)Ds)K!bU!Rp#&*mDizkT%Icz*htZtI@jJQ!vpE9~-G)s?`Z zgWuF;#dQ;EuIYmMG@Wor9rE>rnv|>61=EpzBFTszRrjJUwWY8z4f3Gw`NxA_IVA4V zbDe|OW@k5zRYl%u+YTAUtR?C^t6B&Uqh|{O7Qe+BE{}G5%{+SD6 z?!F>#UiD(47D4UD%Z`IcXbI0dMCh1Qm!PRvqkQ*w?L*z zuq_ch**~7z7Gd#G$o$zOpFm8S%Hx8NyhG@z=2^I09L z%v+cgEdsmF9=oiC(H_htC2F|SfelP2$*e+j1na!Ssk2ujBqsLH8hGu zICX$iXwWX&uLe0qxY-!_Gu`YUpi(~z?@Cm0`UcqZw?$%U^wjA=l2xyN2zj3opC~McG zK;>f|SV%TUH(%~_u1bd=D6=ha>}gBX2;_wgH3Eqi4}ePyg)^ZOzpt(<(&d_G|RYl^?0Dqq|!yBj7-Lv1b2mHbeem=Cp`o_Yw zj1HXcll|7+r)*Qd8hN!q3r=OYm4+Vbe1QD+CEpP^&ql2MqX>Tdl)qo=ho{@vLQV`4 z`gJ+73K-W6TAS`2Jx(|fWCHV}Z3xr|^6j4^?=}XDkJ;b-@)G+7c3EKR!#JqE-KRX8E8hfi+)Y;~Hz;MjTSy%Lp7*)HLfKH`w2N$HDoM5P$J-}RAN2X% zyF9di`O+SJU0A#7^22a0exwCsy58tbs&)}d+?7SXCz~bnX4V(1)gX4AymnD|hBJ5a z^{i1wmtLXUNED-gL6H7>QM?R1Hs#;yl5bGjfzfU_6x|Pb0e%o(w*s7cw5NrB0|hrn z;qSw`_UkRv+Y9iK)GlsLi3@e4h|y2Tlq*UNP&Aee;CU-1-|E07mXb^BN3 zTUA&a%T}xotcQ*4Wkb~jhr&&+frBZj#hoq3HEbjgg?9F`_Qp4A`gUh%H|i9-PZ~xE z`;!MhMNNz^4u1%W8agUs;9qywd@W%iP5VrS293ayq4X8n5a*!a9%8Tb=Ghn7`abwxx!>U|l^0aQgqUuJ*Nq5J7z$A*zzQW`N=!$KAgap9&bhT+M>20Aft? zNFm@bb#)u_<}12NoqX>J6dmsVL}&o zO%9VKp#Ajcgn|7}#~jHw(G4?*^x!KwH&TH+Q?tCzl194^*ekGBihH;X)!!KjoLuuN z9riT`bgs0&I|`=Ta90d}e~g9+o^*o5i&%@!O2M6X9L=*x?o4)cvM=JWVr0Qu|9F-AQUrFyjc(BUw-@ zYH&HO6!(B`BKM_0errOlN$76zq>u1d1_9Irajn<(0^9s?2R4f`($nb7qBlR=uI9H* zywtcv?x7j%HD(F&5;50$)T`%e--w>Wz@bNMPsTbE@X?#}7sw42ooNuTc37Y>SFTs# zZLoIW`Ci?wI!No+>MxxIOKGk<;51_5@M1ElZ66lMO z8GI{%D#FIw>?(6V43T09M(RwTD9eri4u(k*se8u(c|5_8+Pg6{H2y-L=hFNXAISNf z1v3K2ic`Clv!;0^j@j=s&|Nij2G)53-ui65+n7tVX1|(#Zf%jjBh|>lsorBqk7elh z+h)||Koam4DS|Hv=q{B$^Bs_ju>on)9>6*1ij&3#ITf2L#Vq2*SU3tjdWq6Uyo~Qm z`$-FHS{Vua6rSuwX+JQV5uD9^evdt0y+NnAWLb{FNgkkZqw9~6VdDN1?K*JM4IbLZx0hO-uI(Rc2Gj$Rn z`?$ajgJ;{4?~ia7xb`LI9t~4M;lq8K^yYTe@rq($Ki?W-#Y~N%vix-4e!qdM4H{n} zL1;;yb{BG@&XUTba+>4etuJsOP9E+r{3~?D$IC``xi`4(!aNOx&Ck;Vh5r5iw%y59 zZepA>HdU^a2<1jqV>t(zRW26da25xg*I6VtWu4iuR5YyCvx^5QoJj$J)$ zabNCw*|(@(+G3$&+0Upfp6200Ub}(uhx4&xA?-<6Yes&TsU2e-Q|qe)m+o%vR! z4h4Oji%txJpY*-nY-7`kAqNkOr*GLyaQNjvqE3E;-A&oE=Av5*zjdMaZjrRhKlEwW3HP6k?sMa0SH?$LtAxYX}_u2u4ANsoA(?28)I zjb=Ztn<2b9%-vM^kq?rI#Zv{@f^D0Jz9%pQD~!sE{;1zI4p^5(@tUjSA1X9{D@DGE zuVWGovD`val;G7lzWPYK zi0_}JQBWB$vOI3ruL?>-KQLpbV*O~#+TW^wUC}}>6GS%`+1Tru`r5@cI^+qT@Z?Grn8=P=+G^#g0QCSi7Y)%s@PUE`> zjjY=NRigh~hGW@`1=u0n6*bWEzdo?BC-K;#`=loeO`r=2w+6jm=>Je`0mh}3A}#S=jk5-}k9&Cb!Xy}cO6};;7W!0gOJ?}b^^iKRcnUwXQ&x9SI@x8bmYETr zA*oq&TlRLy%46-kkJe3P#uQuB@gKQOm?$R9t-$??Oa(@I?+; zv|vNj;9Ra*J#+ZWq{}V2u$nJdcb0RqS4!gRVGCM$mUxgYTwPf5P?(mP!niEnkzVN- zJn2c~;=*Hhc7X|e>8Ec#0CRy_K!O7UhKh4-$2Y9faLxNuWcVe(Y&|nA*omB}(_s!n zxrqab76q^K*DlFwZUevl;y=m>7eL-Po3wzMw#A*ygALsY6)KK!|M2kdLxWKmtZDxe zo~EW~w#A1NE`2v2*a+JUKp3J0&xA3{hTiPPo09Ui{ms<9dci}e-8!_+mcJhoNWKC_ zPgTv8k6Sb3ki<(ozbnpK7i@CxKyh0xr(}a9A4(_pV}NN!-u+Z1jA_G~Fz7SFeX@>gk{d4p{;HwN+f6 zv3Q{|ayh6vd3O-SRl%8tN1?PlrXq@M3(IA9ePsX?HT_+p>0eG&;;>!|9c14zj##)i zz_kquy!Dq042-x zo@>M#4aWSbqgi(w@+4DK!8U-5t0ZFYL#2f=S z2HqkK&m-IA%WA3h71zKSfY8$n%FHo?Qo}%lUF`0ud;e3!oFV0#x^OTy`2hjnga7id z=sy0#hMd=q6k4yc7O!x?q)qf&gZ_R%8S>50Am6Er67sL}qld|ANBKfU@s-b-K)F%{ zax4qBK747ufRkqAnI{Mw$(TL@CH|Em6Wfo4w1C7B+MBn?sRL*{^;<4&jb|vea8sJL zY#(irJoQGLsWSphMu5~OZc6Kpm|mzZRL>|$PQ8C+_g9HNN`(9pX@)`T!k7L`(_xdj zZP4a8CpsB0IJ5&;j;eM=mD&NrpLd&UMJ$}avA_5AS`y@MO5Hkl$HTlazAr^PI1fSk zz9!8$Fw?H^decm`z|G+2ubiR7S2RO@d-Gc}Mqu0t3p}KK1j{6DM(sxCq!>Y8b*Ag| ztJoIZf(s133eXt)k`7T_h_9gIfFx(u?0yC{W8?kR%L=zOI~9I|vc55Esq4Kn<+PPs zfe{wFC6LTtu^$j#wJTa8h4ILfu2Y)n!6slm7&bpwWQu4-2vu)#|6~?=LfU`t?eF)& z^fdS!(VJ$!wqs%BkK@N#z5=(jrKIbrTk{haaD zznKhI2D(AKpPh&kbXne@uor~AZF%<_Gube*qm7_O0Z{tCl99iKsW#ptmXp~4oB!gbXqp;WNb~^Qg`<$h+}|QRX7leGsJe& zIMj4KE)2l-cxK6BwCRrD29e7ThXn@>ecX@TKn?!RBHq7Ma{PK@jCebLWmz%yGHJ`&_E#>h&BsrUz!r^0!A1kD~Us$ zvT65=gg(a_k4LUZdN}@jR#dT5>`wkCe_Xh5%a@Z&$yux)w7|IsKF^IuUFw#SW`Yh| zER0gN@IU1UAWdy{#bS!F)5(@_<*4WKKSUUc!f6@EzLTKXdfu6)Go}7X{3S=Au3;f6X{<7os*o)(uIImMS0|qE zgFN$+4;XqM{))0y9mS&S>kdW^mS#mr;d!a7{>S(?AtwKh`m{&A)dIsDJ5#i1p#20v zapNiMA2CX$OkAC$(f=pvSA%f0Z4EI8CuojWAR?-{&uMp}s}jR!iZCT*B_k`zIyMiI zRh(1=99ae3&k)N>D}aINSy`wRFx$s1ay))`>Vkn%q|bHA=9P2z zNfqARWmap^KhoJB1ge2|qjZO>?gt+6K9szMd43YelF@$L3Gr)=A;7@OOtNJ8D>HYi z4c;kyp%mF|1ch~yKoF}zOf`tTRxO|lTX(9vjEMjkL}rcy#VwnsyL6htUEWBWxes9D zG7t@Q3z;zsaf$}bLIM=CJhVC2rw1;ToTLs((l~(vVq1RGWY%~l0fK+wYmjk9FyHG| z%2$__cjV~O_c0N^3klN2i z$VoL02fcav#(0~<29b7@H^P&{Il$>Px}{eXo$@?~kU;H6e?p$6>NR}QS_{Uf@V z0JC7MG{SlcdvDUo#-jOH(d?xAqMJMD*Yemjh7cv@vx{Byymnt+3z}<{p~6buN+hP+ zfWB|~^1&!k=Oqyyp7*QK7iFpNPt^J8KbQmmD3-FVf4fI6K5`9XYln&uuEiW$;Lw9d z8;gO!Gjz6Z@%}gphtV)pd!WK!fGlQ_tXP?Hgbk7zoPlR-d2Vq z?fRkm2eQd%lpV&+(5eM~{0FCSmgBvxEbc+u$vleGszdgV=Efy+x%n$AzeY{?tvOZ` zI_a3+>0CN)NEJt#5{X+6ZtBjUZY<1akv4oznh6^TjFv&aG`ME9I!AXn1QV}7P^+LG zPIh_m4RO&8m@Yg|cJ*OX5ur|#{`DQC{nH_=h;TX1a_^02z;r9NGx<{dgq(XwrhuTo zwT^x#1|)!=g=Ec(=-&-TL&ebvNO2%NLKlpUb-hZF6Z=vtpDNzHf#Pu7x_NkAI?Eq0 zH|AEze*G$SgqHLCehLFAHs%a#5n-^)8la<7HU&mocNtI!KuBr8=)I9FL(?R{skb=u zOn;#7%0|yFPU_q~8^sic?ghr++QwQ8m!zkC<4NpGB4ir!{fm~ zQ_KJH@jjj58c^S(;!ybN#rRL-*Ddj7+ywS_!x?5MJkvt!&cZd&lg)FOs4izJN>gF7 zX*w0?%~YLrY^+>X8Qsc=CG8VKJucqEi$xGwdmyBcr-|w|1L`$=uTZmlAkRpyDTZN@NhoKh6wYT-2EmxCb-uwI?0NPa^rHn}q=i zm8iKPxt(_xpX^0MvrYuCc5#%d(+;BWfF#^hWIv+AYzbpTdP*&knTZ<4OTW)cyu@M4 z)j{?m21zN=4#4mrE<~9IPb(iqHjq`kU3$m8gtIMM=nPFb_0PKHXG~ZFS*k#zW?^|d zP7Mr`kMX)#J2%aQPZST)#Z_XG_=joT%40~q*a7R@WN9>YTE{K*-QVzItII#2fG^{j z4B1sLf-<8>$!KBcU%=)00fNj_3Pg_B?mF>1I?g3fGMjA#O;Mz8Z+vh0Rkfs^O0A;l zzF?4u5;?44-;_br3f}j14p2EP)2I9!HlCk%2^U@Xl~d<;zM02M22{u&)b4fF%tD13~hLnOe-I6C$3@#h?xNrEh-3B z<0Q`5>*s`ut~1)X%xCqW+PNhdM%RrX1R|aAIa`CNHxvYB9 zw|Cx071@3X5`!!Rr#cN*+L38TPc)ZlROA8Gxo|_ zrLq{M$YDU|z6H{#cJ>$}j6q}ruYoJPqEA4vHtUx1!OlM{6mIV#MHPX>lbGfn?NoEZ>Wb)o{x8~0;A-o^KaG&xziO^&uWS#z-Ity zGJ9AY#+-cu*b0Yrpr0I39IOK|223Cts{b;u0?AW`km^SkTea+?D3{i+K-Wp|rQ@#k z#{~5@c;<^5E$_i)J=%jlBLG98R~qiUZAY@k37}C7m&zAVIjicH^JuKZd?dAR{U~d~ ztb3ME>@tvs#k8G@*^7Gbigcyii&Q)Zj&(f1g^>xMlyw3#@6geK&kbizE6nj6bik-f zNTtt9!CzHG7OHi>eTA1AQ#@lpf5!x)!Uh{+PH4Ga14jQat1~O5uD#<&Af-35UGL8B zp#Mn*n0w_8ReYlL_!6_EoX<|tRvvj^imP7Us&TUQ$rdv8hhhTv0Y?`$_!c7f73N@N zJk-nNURnanS_`nrB+DAK3cs8OHc7WuOUtYNa(ZsO^0~mIJ2v?^KIEk(ljzmyhx&bA z3G_VSpl|M4LZpMi);?3kS6=7wTlVI#vlhAVp>Mf>@odKsJkKgsW8MT<8ayA#+gcm< z{-U^DNy*PP%sQv39BQ`l_r}$$o+QjzpoR4wIMP6i(ZX-fw3D6yD=cScR`gmT*bAf2 z@xTx7b9>SK`S-_3U=|z$$wPi2Da~cb6<}l5T;x#~Co`b=8S(}TGGFrdEnSigtD1C= z7y`TxHQj5FjCditF2NOz@TOrpl~}2#a)Oyd`FpEYr09f5kqq_omDj|3?!X?tNHP4D zDf13*9Ng}BTb#;)z9PF`qX=>q@%K+vonI9i?5wDrV{~SSx*z`OMvcLp^AEpEl2`a( zb%WnP$Yw9l6MLo@H1^W183vXzULcl{4UMmLA-a)Q)bY1wJs?D{DhEc1bCq8}KAD8` ziciG{i1an8WeRmg9CEPOt@?(^RSMMfl>ZW*O@?wOhQELFNz$MtnHYTV7+2xLKP z-h-cj@g899);cVfTV~W+Cu1T@Y%C2s6@KSC*%AUqJa(wqR!a1mt4Hp1)l7zucV9Kq zYS&f9-2hbz$AcQY*SuFA^odY_Xsw4GL}`kDW>#G?=?aRg{A};nG)jJ z%CbK!;03X(<@{#7uO;j|x!Qi)iKLjZoPQ6uf3M5?g*HbfR}}qRf_96996qzveFb&E zB;{fGO`?#8HV9L>4egtuvZLHCeGH)lFwn#s{)-Ye8Yt4jNP#~euGa~iap7=uP*t71 z_p_cr->8z+(%u(XTlKPP;uaS3hn3Z>?@|OQo`;{wmGv_T(720Uj>MZ71WT_;h?-UD ziZ<5_`8f?2s#g&#K4*jDD3oWH9G(D%DpA`KG4-hJCe$fhKn9inT`G(wC18vrLXTly zmpA)m9Uy{H^ltnmBaJ~&VZ#^acI0`W!JfS%wf!Y29w%XE3a+)3@?BFjq4lh5mjkJ$ zgcZ&aPWGQ2;QX%w&7Hf7FD{n=uy!jCkzpghPw_gA-X*PX>fcxFtKFgar(2z6#+qW~ zPefy2zQR)7Q2eB&J&-s)GPx|n%K|eM2EZ(~p|7j`zP(QbLe&BRVU2#{2vY1xUwP{A z1&p{fbO3BD3EW3)0X!&JXHlY?JsSXA{+x4j*K{v$78vo~!&h`GLi^>#vSYN0k;s}! z&-x+*nKP&St71k(3tYN(c+(uzevGktd&lor5de`j1v5#Brl;cNb-P3m_!0R*IgL&g zOib+bEOMV7aFO^a`(Z%)8ZU^K<||A-{^dI@B<%B+7*qmihlNM)>s!gyF`sdtivLF* zDZyS-0QS0;=)LNN^e5H(9HQ>Wwl`{?Y$|&a>VADv7`M9@KDe1d`evB7T+w;4)}J6QLFA&-%5`ZV%ZB-ts_a8_54m-ZgLCbY218S zq|GLwx|H(m`0rI6IVKU)V`nF<*V=(QaGfZB><{P#oU1|9Z~1Ro(_Q9Oe{MIw`C!C< z;92Gum;1w0M&}`UV8qLt{-V0q+^P%SBz4!kIKkOz(Cx(fX%9y~KJ{Y%%jn&Grq^;+ zcuzu1Mpj)`ca_4}BaWUuhqSqEsP!6pAsDp0(-t;`cw;?hSs@<*AN7^ zt=GO<^Cq{27)G0I$?}nNjd;p#1^7T45jF!xBx zI2fC%Js|3$v6s0Tl}T7#RL(~ucB5v7n%g_x^^Acj z?llg-X9mk&gQjOApa=($#r!ncJ*PjSaGG%z>)T5<{Y&K_`Ctf4kz3WeMuI?Tb?ejU zQxsjl+p|9u4Z?@s0J%ARc=EhSwZRDPf`Vc@EL=iH_ZFU$GA|Knu+aBq)`Q2BDRpBM7my ze6EP->(K$2(4+GZ(0&+ojsz2D>Z4+}E2kou#2a9MkzmJ#o&y(;ACn%TduIigNKO!0 zrR7KQdyTsQI`0MiQp@JXRUKa+v0!~azo{ye&6f??4X3i835F{lfaybv4#1xvcvzvp z;0?5nO-IpAw(OCR*UP?i9(8*9>M#~uNx0m#50?ic*9Axn>;L<8R&&P}>p#F~1Qj{9DAoAWygE7CXly zyC^%=-hLsOd9vy{K1a5@u^dk0u z(9Ny;kDTZ~a-zT2$G(045`g||<@`S+CsJ1GdjNFN-!5X1xmf#)&kU#h2(`Hp?z9Ya zGX8IM-?QXnP%!(;Y}8|P3q{*PojiZ>4tQNBZk62hdt)l@qzKZagkJ@WrvLTY*Kj%EU!VNf2mjYaa4&wE zsO9HS-K1ldH{lUGgA9CrOa`QuwwaOTpa^vl+VTEBf8bDCq?tn#{=!fg7+*A@#;OakD=rX|K+BeXEdQ27EBfCu zQYQ4@WTXoCv;7s{r#jlkByrQ2;I~{et$YE`e%Jt8z zs`hEfQ;&uxFfId|x>+`nfyp@Yf@;b{$g>&uu zbsi%EV*V58%mpzy{w(iXr@ZDPg4@;9OqNwxlwUo>I$N_V^0%G=qLj%(0c_;5fAY zuZ?M^eao?~6$2{vMLwX>)MjbGJ46egM8fJ$X>vKre70N`b!^rX#%oKoCwW}-rYD~^Ex((4$VQHuN-39F>HaOA<&k?t3Kwi^t496dO*DV>e$M33Wvs0mE!ugfG zmd2fal)`O@gChMqAJDTyayq_0FVL!kawM%*V8Xd+=4-}PpuzM zEBDy^M$M^j$)zk-8v~)bEr*sF3V8?GL;hJDyx<8-eA(CeUH!7fAy40j(qpw?^Bst! zFQIQlMdK01?|3P-##d$v=}FW-G| zNS#=M;c~qZ`X7_j-FEQ|UDsThRB^(8wdq^IT4%if3 zSWhcN@`~#yV66>HGBhm#?YWz7>xa4AKgE1i)Eu1#?{C}DMWM0k$Rj;mUyNhn9TG)} zJZZ16JS#j&&S8ANX;1Wmn+Y_%jxd-zHQYQLT*5O%ixkI6rna9gVKNK#jmoO2gT9Ah z6WVd)l>mwh>b08dwB?7&Fq#gXWV7{|`I}DRa{$o{hXJa>|Hs~YhBdWzU89z51BGn? zM4EtzbZOE-LFpYrFCrk)rAv(!l-@%}rH9@^2bJD?4G`%y^bnE|^4;vGyw85l`Ejo6 zoFC`Au5bMT7A0Y=d(C^!F~=AaTMzPzM1rG2F5N9Iy=l9VDIhq066knF(FQo7mSUh) zK=Sf|5>sL7>2j&fy1Z_?b{I^oc`<4~QUY9b{Fif?j=0JQ89=AKauK;#*3 zDR$T^A_qFfvxrkwtqNaVn>4}wYaFks_-KA8H0%zh?o?mQ_qOn5?;X#XN`0`H)#@qQ ztMK&;)+(gU{hxZJFD}#-D|jJ{?|3gy(zt!7L~d2)nEG^H06YU=&*K;2b{;w=hv*h*Rj;Aw9X8~V=%O}ONwI#O{$%4l`ik(c~YC1Qd(#-wrc zvLWlPiJH{n&i%17 zn@a?#xco>{3B@TWP?*a(l^g<9o?SbGZzkw&cLmVmk}*D8Y@iua>d{yqat&|wRliEk zNAtcr8;?PQPh}jBahtu$Bxo!koMwCopvi28Jjg}K8^bngjhd>=)iCQUSO2A304iyK zTSnAX(wvE;MmWr-NVsy?Y=nz3zt0XIeKb*R@geKHbsHJ_rf|WTC%&tpwPQsVV7WC` z$31A%wM+c2yUTJoTUlq6Rn}VXAJp^h-F2^2T_il7>*bP);F3r7fE2E@J$?7YY4Cd@ z2E88)0jeniDa|**L-gQo-C~)&!(xZlp+hljGo@UEeSk$xHQ`|=T`Av6s&Dp;8x~zt z%n>v2?h>L3Y>@r&eC8G!(wLM6e3u)CiSfq`Y~L9m1O>|OD-y>gq;vhJa#8Z4rrm5~ z0EZclL4OcD=Ps<2ogHogYUGUzB^(3ThIh`!sU;M@0i@sIgfsUlE-xj$r97Qx+%s`? zZSv)0+0xv99YU2u@aWPOj*h?%%o<|py^Oe~S+f1-VNIm=ENyd{PGJeYb zCe#h@vKv=1Ml3dt!Fy*t7nO1htGfHjccEbjFEjt2>Z1FS`I@ELTfW&uI@R*-qA*hb ztp8gPNP`PK^b>{n1NX<@V#{p6hS?AoCVB=#d71M;F8B4Pt)J%4m^|qEv*q1`yWo2^ zwrd~DkOJhSm6XVVsESYb9p9t+_ZQb3W0I$*V-9BBwznGEnrJ*3#12+YMssE>=2+%u!E`hEmgUrpXXD1qFPj zZx8#A!u4au9FZM28R|OLhI5uS)&ws*7*9?n+@>90HRIn0~0y14eAPZ(P1EBnh#0SFq{$>2iRC8pY-;Go3yk>|(DGo5c8S&-IUK zMW~9bqvh^&$L)nCC)^&S%%)#jN@~4#{NUAFd0>GRHC1V^n9fevSa@y@71U`9^Jk@l zQ7fq>pQKXQ=U?|)?n~tOxzwGw1>{cQw>Y#7q=}nc{>R?ENtmHbB{{vX48QCD{T6xg z7Y&1MKtZMCS)gfV!x7n@Sc3S_xtpN4dtCIfk|8q3p2D;>tps5?+2C8;(vmVd+-y$! zg3O*SudC6yQQAbKy}i8~k4Y}G7K@r1vhK!cfP+@rK@m=XXpX$uvm0LKamB1d^fFQn z%B*VEGIfVa5L)dNju_37uAwZhGC$n&H26psr!)tjB*~$y1QE@uK;iAb_|SAlC3OVo zZQ=@)B}#oT;x#S{fkm;{wvM^%5=7J;S1=su;u^Sd&5IpTmXj5k2IUT=jT6R@wk?sC z5>ixbd3i{^kk9)xJ(`^DsWSdaV%rbTFJ;*CXFBe5lZg7}1M{2n+^n;=ZNWc-qj_-m zyt$BH|KT>0{rdIm*@Q#1@E^{xE0-E0*K4FCB{S6s2p=Edvi8W2hNM>Ij2eq8V-hN0 z@WQ|gj2nzJu)t{C%EB?D&lD(~?+70p00XIlik64}Tn!1Qt06{#awEzpR=WS%qfeDF zK0d#@=U2=hYdD+2{Cqv`3q9TT@*&`_kM+G&iN6z`b&KQ1y?)6V_E94Ih1-fc`rx3< znrm@uhV+u3&o={qnZzsNR}A=3(cA@&2fy}-Y}W zhq5xCetGedY54my9T!)D&@EY{wewf`Jk6}yqa~4#FSS8c659A!_KOsq<)aeQGKZ30 z7*(gELDdsd0Z{JUdhqJ9apnkIZR1{qxpPwA?ga6A>GaG@Z{Nn&%cD9Sb@pE(dhvYF z0K<}3T4l(Qwc+8^?W0ml@wXWjPBxbn5_J$JVmfTj6BPdE+n=I-xD1NCt|zK^?7nQK zcI=UsH+`j7U`0z#fCb_vn<~-+OgHp;wN2?0_CyVOCf!^QR(H8gr4zh<|6s0pv;FG_ z0vqm;wKzY|-J2{tHcan}U`i2rZE|pp{wDbI&ro;m`K2XJ?FPvupj@MUd zI%2sQgCg1xr$AyzoeMhzN!7g)?b!Vx^vabhqcYtvK6^5m#0+@)#~=k|g9%!_!qm%R z4B1e<+~;DkptEy*cjq0t{}L2KRY#(ht;|#(gFkX%4Q*&GjlgpCvH$B{sFH-IHRR8tT!%T zW?Cxq`SZxu_Lg?jQOG7$)vY-*%jd?QYW0taISz((+AqGd+=C_8#Xc}qPpU*e$ojxF zb!2)hk}A#c9lXO=-bDP-k>caWZ=cG`D;wlm$jIjz6~bpJA?R99%pF@)sT|z93eX&( zdiiE*mx`WC*^Rstz{-xUU08{!4L~PV`@Tuw%r$n!?O8Xw&H8dXeE4fs|0B94i#V?m zRf;9OTZQ#`Ln7*YmZDGAJhy>blje_jEn<2WJV8+*hCG3xEFC)zn$f_bO{NK*Sq zq&E$(No+T)IMbJ&TlDBeI!rv!5Eu^XHKiUm>2kjOitbC3Vh4jPZiUsFm*-uuf16ilx3(u8MEZ&!J&Ri%86cGcF&S20ETy6eK+sN=w6#O7qovSpEZ6K}G}9r=`8&9xIO)fl*Jr%%=C zQ=kw8+%$Q3R$hExJevF9Q>*$(`Q>?}@pw^u4N6_b6ZKO{!Ww7Zq>|@KwOFXp7=3)9 zCqm$TkBW~fSD|G>KtN+H9wDyZ%dbkXlkoBq**!Su7;q`c&ArWGR{tuVn~8g&{xszM zwKz`qwU8f=c0P-_-B%qeFyv8)ppQyOxb6Q~Ouxuver+vJgB}d!(*#MjqvtHG;MLTF zJEQi>m^;Gv#KnyOX2L=^+=?To=~Lkq5#cb(1PYj8AeZF78d0!0Q>PHmN79#-RacrG z&Bs>;)9^9(CRIhkA^C~^h3PMe53Y>gaDSE*&LE*;W%V&292iM#jB9_p3MtKgk<}&s zfZZ4iJvpv)nz;|5I%6Lk z9zIlDC{432m?M43&NTjkne4jAs|R3yYmaVa#->R-D4$}%q}4AWAt47FB9Ea?BW{J} zP3kNeENsluPh3~}c(RmX@d(GMHERJZgK6ynlN51OU+|vBY&|v1qs6`%<5jH~#j>~M z%am}^=!@l@L^$TBZH-md1yFb}f5aPGJ#CSL2An;kxQ4IXz~?B4Q*FDh9FE99KHaox zvd2#G$T_Yg5@sbUQl+XrrEHNkIfPW58?PklzJ_1V9CuP`a)a}I!{68a)D-|=rfvgd zX<@nVN`G4i7I4XPKIH4dZdh;W50FcF$U31Og_hl7xX#;vr;LSHZhXnN=aq^jZo5Ha z1(|cK)|ki-_+w%1syztoZf=doMtq~SRa1+gms2?sQM%B+2Je$0imI3$qwe}|wvP8} zFrBaQ-p{^8b~RRMTP<2SjtjYy`eRBuQPPk%MTEY1YchwDYeF8R5C7QHe`d&GkkY<3 z1=6rQd28Fzy!^=@hj|MMnMxanLltTYyNCNRi?H zUGc~})YP1GA_e1+%%E$&kn{8n$ZL3;rwy4e`5~p9g_-e`&EZ zrtGNr*-)ji*V%G6#67f&6)Fp6YOy8jJJ~L~E_=&#tOw#shuG?Tdb9%nPZLscbE zcg!Bn1f!IGqtTZxlfEvEq5TpbJhb7wJO4~ztMH0;{Tr9^OA!GHxKwV_+Iyobm|vgB zT~`O5;OqxkXmNPD7v$v2B$lQVar2#Sz5>6!+{BV4&J1Cx}iK~tdk z>wydfjYLUYgKoMl#w_DIi$`P~l(dp*N?4S`z;Cv+ZHHKt_;%~Qm6Os-^;2DUSNyz2 zQce~3SV~p8d5>F2NGIL=%$c4V59ees%YBOGWU<3yf}~c{D|@I|%NH-08iH`0wnrw5 z49~78j8*${DIv2~_3y_WNOWTR`cBMe3DAUDufC%O))Geise3>7W)zwCd{y*Y(%B1)o$$NfMOoC9~+>VY;Mdu z^e3fyS^b=@!DDI6{It3*T(ZHwkShC+<;}dcPKA5kb9oYBQ7DZPI_TYsp`zt|?`1}ld!VEp$H4bE~^B$JZgOtbT z{c=|(9Bz+VjQ#lWYpC3YkHfS!^iGfo!WqdaXcLelaocVAnERW>w=%mWGTVugs0v%8 zIvEvbrUbFh6Fp>M0wJpNz{u?4IdsN0?el);k=b);xTEi5Hbicjn={q;2&?N;pE%B) zV{j!}&zjVD?8i$^VmV5)Qh}pNU#i5xm&7);BxNw;9j3WwdkH|4Bg0@? z7>vEv69xeJ;Gm$K6bWBFR8G9wg%o!6H^#I6&Sj!v)_!ibd>a#QnA=DCrQ=wGC{@5E z%d*I5t9@TXrj*~019_GEfDw=Lr{FjTJz6s@8n0Y(F@b&Dg)={HEGUJyJl&^RVrzKC z&B{z~6_&{^#%-!;Tbqt3=Td5}Z$t2}9HI$WsSasjhxXe7s`ZvNGuj9)k|6rS-1iKm zZNN%wi!Z7!1!TR!aL?+Um2K;>gFM&$wrjh)-R#@`!a8I$Y5`|GK@D)wdxNTiR%}>02z;tB0Kz3^YQlfi=+nJNAJy!*{E6hdlTtHAViQoJAlgg@RqAD8VYdcyS z2B3!5Iq=;4UsIf~kahhroy*R^*Fze207k~GqN*Hc?D$IxIWO1M)^-^$u;23yh1=2p z`R84*`Xl)*XGeZIVHoov#YG<)5Z`4BIE5tb4n(i0YwXX`&*r9XI4ma6OQ>U!zsmlKGIMYDdBw!{7xCZ0HBM?l)La>x1*w>$`;dG%e?pR6BB@c#cF@B zon;1KJ|_H{vYXv?Zps+1iGsmkvD^@4Xdo(8NGm9$&>DybvP(R7=h+s~SGHHb*@cY| z-r(Zqe2jQ9i~=AR>g9sMX?+5G4cq16zpC)65q?B9&?fRM^PvAzQxWQ!4KR4=A0?h> zJMZ;8n-)D?0|~*?us$@uxta2+;tHTTskrWDhw==PDFK> zS84g3)Nzw)oe>eUp)?iFS>ieD3Ezfok-B|R60mzD%czEMCg}%E5zuC#TmI-kwZ*v7 zm=+Q9lOUhQdg(^(EIo$FTBl0-*{1d`6#{B0)&UuRh}{fK^zYJ;!RZE7j(TAThJsmo zXhORM5T>x8#VcUDmZ)fNx8<%WVf!UiR(Ga{arc~`6(!{DVhD$hRbPRjc=h(e2A3tf zYUFaE(cryD^8b_Yk1vJLEap?*?^@3a!EB%X6w>keN(@`IGA1aX?|vZ?R2r+D3(6yI9Jb`xd_bA{d%72yKBK+5C)tj>PJoEZ;6u@TYgu#G6J|g~FBnY>`>E_a= z!Uh+rK$3aivMpS&_hx$J^Ie=SRRXh|`6Fahu1=Lx*?>*emQ;_l0$Lo)_!BidzGJTm++Viiz&oja_Gr$hNTL)!)Tr6Zr`3 z4Rq!8VwKmQ$U4>C?_t`v1C@8y{d4;bhe|xP!E%h}jgVm;vpPP`9cRQ3ae<6R39~^; z$vgKuc!~7#2#2<2V9$cvv0t-i2UO1U!vcXHQ*Ib{ZLZLqd0TOW!>^~)@R=#^yR;F) zA`}k0lG!6{(^bL*qQ4>b_dBDl<))60x1d2oc6FIpw$w|L?GqGh(3PuLU+<;+NA~QY zB+|r~7=?%5^JQ3ihl+;Ru!SSa?_{s7j;XsP4<+etfP4UbcSgtH(%83f{i7qiyc1<#gRE-ck9dH#e*=%V7X6_+Tt8RuOa`}W~j$Sqs?CH83q z;~qhV^ygR~3n&C>{(?h(@H?6`n51n?=>=7$nwn(llimpsVNC*5V|sg34>vO&z_zJK z?>*S07!&oHczJovB3`AsGFp*HDv)~`R72(WZ0lUSdv*&bg{`iBM zms_SkEyuZE64^h$@cw=9G?U%_mT5=?m)7@83jL%7w7<;VZ@=P{iX)XdooDN5@64K9 z5HhMzt&>#(CQk0cR@VJ#GqrXlg}FO$_@8M*K$C8@Z6-I$0>Ozr1b5%<7AVSq*WB>1 z9iu&uGw?~|DRO=WT$Mf1mA|mA02TwB7*S{J zmzKJ&k0?o*A{@l7T;)z#_H`Q0PHla={Xu&JjE^Gv7@6Mv^VTh^-O}|Je=I!v!=~?} zb?!B=7IH>PELcOZc^(^H+lw!zM@37sdi+i+AC2eFnTdjn?yr&}$gfFcK&i=uKBh!A zjC}fjft-3^n3*{qxn*aPVp9EF)X*UJPe&U{G8CaN3)?_`P1tYc)>L2PiMjmKr=4L! zoN~0ta8I`%j;5~?PLz<=#mFkBPC`at_q20PXKKsSwTT5K+)0G>P=RBP&Js%kIFNiNQDbcvrlm0#SI)(h4igh8I2HWO$6nsnXNpGEqeK)D$mSJKvd;Iup zLxT#|Ksn)?M$YT2!;J`!_3zV}?X}thvpK__%$sw}X_M$}C-cq;CuC%3sw$g@hj5IF~=hLmV#FG*u_={>XJUo2h%guHV zjJ2_*g@+sSWQIb-`naC5aqh)5-NZ6$Ya-qQf3I)Xvi)Enrz^(aCtG5hQs%_r(S%W> z-#Q${0V#M*${YY?VnO3E{6k_I@V)BkwfJ3Ft-u`(Ta z$$;bPwS9Az^Tkr0({H2>Y~@i^4F#5Nb2}B1hY8GoLRZ4)8m5$AN;d(slN{x^U;*Dg zz8ln@@_i{+V81@;IFo>ShJ}D-8X1n`nqkU2H<@o2r(D|$FkQP{{$vqHVRSo0o%N4T z1vhW$8uxF*+hmDFIlw9OnHKoHRF_u=7hF&3zs(Cc!Wyzw>3QtqiG}A!EoF{n?Svna zpaNO__ru~k1TBWJP`RbGcYKNdp;Px6r^^8p!WDP2d&$ZKxSd;}X8p??yY>9*+eB|D zYWsSkABDN=<(17HWhz8ppXN1DtXucqtZ~EJY)#kL-jRS85chun#LI?Iq)K!f$K1DG zJ)$p&_#ZeiepKZoIxprbD+iYGp<){Cv2q|8BM;8MksH5c!(m)nrkZN)eQV)--8KKm z&gL?m8*&gEV@*Ol)%)(wS^rB1yU_vthr$HW1%3e=8+H!!qENN?3zXR}TA!!-Yp#Te z0HBpk`IgGQDDY>a+M*ehL(Ko94RhKX_%~do#qeohKvT?n@8eVXr;56|nNOd}E2_G? z2g;2^4^n)j62H^7-ngbD-m;qI9>~^vm2@tU49daAK<3f6nZ5|~b{q0zv>ed?68&4{-v!(#zH&}0fziZ@dNBg)w(^oC_iI^gGdmgAZ4WCKm0(-cM!K>Vpl(l}NrypBd zTi2AAmO<-lQV6}V0h_}*a+DD7ZV0Z4cXZh2M|v4ieH->U0f-LAWcQWqe+Hi6`(X!4 zlvD+{Wh9f;FQlcm)XQbca<%3!2#3MgI6HPQlb18(1h1g}DJ6c1OE1TcuF`x5jV)Kb zMCgj;h*MJu&K!|82I8-!adT4SrzW20cO<$=HR5?saCdc36sC1arZ9H-fYythKO|ku@nzQ|xK0Tq%jpH(I zOI>W&=$8(zdF*W*}Q?FRJ^SNroh+2B78=P$Tr`j4BH)qQAHGtB+dwKiPnhwq5da0M86!ujP!}7DZ-{T04{ zTa)KO4neEFQS&6N{WzTRpj!f+Fl~gxniV$xx;He97?K8jw5e%ulUE=WUyUj`%lrxI ziI`#fwLzlG%(l86s_}f8clRTy8Mt-1gOPS-%YWhA3TbZ@K9Yri5rwL2sBK!>-KmE- zV$~|Ysrruk%b9AB(#3}onGrr)jt0`KT%zrg= zx;g+l>4*l>t8C7GrSm_>OadTO_^@$>4!3?xOusboDFyvR@pY|YeWO5C6mSgGrmj(yS~zLtFFg>)Y3C0%%vu+z-RyI)gXH#H7p z=*8T+vdCAK!k+YZHKqpMJn1Sl7O@^Yo)o~$R2^(X?8jq_t|bq|Qm%HUHDsv-spGSG z-zviO&_>#bly7#p%quso*JM;wv3c;RnEUmtU}nNt6Lt&9Zs-zvmQOMV$|&Xf6fcDd zEgEsm4EH$RMQ-nP4Ztv1y)dVVN?(zwt+VuE?utI{>zU4$VAQ7FhSPB1HP^i(7yoI; zgQMM#mF2Ym%;yG0O8An;i-geTeMyIgWduF$6S*R@#(UBMxJ*QpHXjh&d-&n9@HXSw9eeAF~RjvLRL zDq)3mWfA+Yrf6=-HOX_lCZc@B5%k}ndPUmL%-&c;-YU`Ln3^@IPdI$|O@5^xwSDl$ z+gr;0wvd#VTT)Yat4QaL`FXHBlZ3n9#Fb_?=k%pnR&$E;#KXn&J>q1bQ_Y{*89arn z^qoNNcM3|jhLDEdt;`jNM~Zu_zpQty`@GnhJT8E;6*q+%f z(3F^8pJ&mLPUP-CqO69o;0Dx3*ah+c7?@z+ z)fxg@1o9|6zxUpo&K#Zl>>K%a3H}egzaOj<3tCd7*jZ7xxtulp%=cEXF&!PRYFwIM zGr!IX{wXkD2`l&2V)EwKy6(ESY9YnoHM-Nl9|-qyp2^I?q9?M?i>%S^wY|Ag1hy+0 zK2tq2T0t%8WFd7~4Mx~_ny>b>lw^xYQ&UPvc>KorRf3Q;r*5>?wp!_6oo@w$gpX>G z34g_8>eJ?D3-ar-nGrI?r@&|9KDfb3TMFmdr`4EYC5I zl?7BXzb!sAym+_)+givU&1H5DrL(CVS8)BGnkK-c!EdqxYWQ8X#tQ3b+9Xe^kB_`7 zm%g5~-{Ib_oGS0@m87etj8F6CFtFQm%bEp87@H*DP+;*zsdj4#9h3$+i z%{|R_EzpGI!q6dN-@bkCBQtt?R&OO!2LC$xjW0@uDSWg2?;sF`jp7(#pl9UoFf5f{NPXxw$!U#RB)u3B&bq=bax)E$>>2tXRBndq+x{?)g{ny^e>sy@6=NEfGa&vQE z=`a=AjdlsRcaSnIKKM*FBq%;feSCbl!M9kqZL_9zMHj;hVODnW@`_pRP3kDo4^-6D zyt~oYmrMErJ(ku0n^zXMVXeuf$8xe)sow9e^s@t(m8hQ|(z-`VFIlPU9?{l#^GQNa zOhOy8R*Yo#IQt!I-9d+`tGnME$}AyL4EuQWM(MIx);5=ReP)IK_aOJp-Aqx5x&f0% znqZ<0&T(*iZ<0N|YY%!2C1^QO`~2top$sn#@2yWOt*vYrJkxHQVxE3enjZ=6Rpz+y z2sGYes&BgBrJ2l`Y>`E&SN&WxYiTN2H&P_MwMn`e`?t@}*>-N5`OwhaR2*rh1_f?s9uCqZqmq6!6Qs^ma1--!@W`u~FJ%4eHY_=om z_x7}y;L>n^V=O3#J8IlYvriMftY&T9R|t)pZ4qNMO8E;M?Gfp*f;PX@NGcm+d2G#Q z-ddb`SNpbFpOXEPG;xX&JVo8z_;cbS<5|E+7?gofnSpVvkgwij1xy0Be)Oz&)dOd{ zXixN%v7ajFv@)vea%gAf9^r9pb*ScMxpYyb{2S$E9vjQ5=nfDajlvnFIFlba$C@?7 zQ2Hhf0q1R2K*S$7J6oLXPaJ^!j4`Tl{p7wn!O=S|d@(c*G>45na1pbF6b{~^cnvc6 z-9v<<@ivLM(?$()j}t%%-~!72mAZ7jdlxTv2DH^;kxGFtyF-6Hd4k74Di0fcJ-b0i zs}+ev&SS0H!_lsw29(l}=NvXVR?{WbmUAmYRuNwcaM2Ev5D>>WudsYOgwv-_yIaOi4WzJBX) zvz$H=a#nky7!a?`!M{{abX~Ig$8<2N zVwhW)Z2AVC^^ROt{!(?bwZC7VCiShq4vlhtGUuaj;W?sW5=v)D$0nkVE296V8UWzn z$=F?xQ;=944ZQLE0mKreC7mggpy6iM4DGPkMRU9=oQMI@AVj?>fG8 zUq7xkYl3TIHOd2GZ3q|1k=$ra%CWwjEH z_NfH}F||uyu;ueYhayS8%%N0F&P;iby6~;Ha8K>gsPRH$F3{0YqW&%AyH)UpFfAiG zvb4*-xDX*d;D`r~T3ts~D1PJ@NPpGy6UkC)jG;5CF{API6VnF|E!%`>#rCe1&lSo9 zkkkNqCO-#ArBmm|OJE)j*FKS>WGw1!hvgY6G}ZuqvNxB-btC1=?0U_RjIrHiXFc$c1Oq| z_dJsGBVnuV<`Qm%AM%now9$QctPYm?LkUNe`KdQkOD|t{hmZzf+92M_v0NkbN z1h4ap^%rmxZqIUG6Y#mMOJxRuB(C(PW)y$cgZkoa_vc1}qS!SUPh0w5g2SWP8MomY z4{~oRtn{UhzH_G%&>Puk6kTM?=Yvj`VKrXgyVuffldd*6ye^nE#kF+yB8I*zVbEE5 z+-W9DzgQZN1+!( zUIh$-&DjRyOH5(9nEA|R%e;~$6+X)0IB)FcWFaa0SH>y2YX7`W^Z8fcbE_wvj?X(j zYR2NTWmA+sEGq+|jMb`2ae_Yu6$|k03IX-J!ms|6sH(Oweu&zmq7T7woJyp#{oUPs z4GDQmknXQzOHCx+n3+1y_2g*RL@6mL>xrH5%vXcoU+}<*F9S%06nFBIYtQL6^tU{1 zepsYDTR#gJ2~pYw1}^!0P4EXJS=~4H+L;2M7ix9gb(sNI_Z1FsgA%8HgE=OhjQe|B z&8@AY5a2e-2J)-y_WPz3m=j&$Wi>jH`}q{STM+=mg6>HLoKR(+`Wd`QX z0LZ|)v-HC9CZ?uLtHPVs3^wsTs1FyL9;Evne>(~71RB_Mp#S^a0tn-tg|-rz|7P`cR|4!tUPQ z4bYkU5*!?zknn1EPg@SN*t^vV!vp?No_3biU^=u5ASsIus-YCF@FgB|X@jJyR~*1q zp;EMoY%2VYu-+*Z3m6>?jQ{!0Y>2qXi%tO-AkYNSS(wN2Kz`(Hhf%Da=cuIoc@U4pk>JLSL zMb6L7F?$yr7-DvIVqF$y<4;@tNy7Q=Y+e}Y5pm74RuG=rC(ZIcle*R$m#k0M|A@_c z16C#yjC@w3U=)3B#|q)814_Q3y#0mw?QK4V2*yE_n6RUgQ~&hd$s(ooC_Jvrf+#NL zGJkablo9nG$B*k$p4hFKy2*w=&lG5UVjm_;hVSH(_1@3=71Q>^)@a{o!R0(&h6^N0 zvA@ZvtbTn|>fF+Kr-><6>b1$orpNje0-rns6FvK;G-1OH52izJT@NeEEGrdkK4HXC zV9!MPIdRrw%m;&e_WtQ1HvIuh$)sPtV?`lj4>15J&0$^ zLP3om$dDveK&HQ&qg`Q8>Oh#SNb!?p;bSY-r66btcc=w0S_M2kH`Ny~=oF6fw5te; zl~reqZE0C#P5lu7lHy=z>3tg8)Q~G#=*`=XD+#Ye+Mgk%k{qi97XhH)4~@M)5iwnp zlJ&wurX2gMJuR+9q9VD$)x|a5PkI^2ySZstlWJupG(n?pW5cm%(}-TBn-DqFp}&b< zuAXS}6T&I5wNDjHR)+LTzJH&GY{;>nr}!WD@vl$c8vX(1aQyxFA^#WG`)?=ThJp0? zZ)d<4bS`D1H_tydYD{`0w>8_qCFc5i=JHPN`b1uN1t4r`)KynoVdww$TaOVSy}4^# zU0YkW{7xYS=olOS_VPcVv{{aSI|F|G|M?pNyXoIv4t()Q_W8eNpa1(?4j+L(+J7Ar zmjN61zmAgY=aBz(>dbT2|2J3c|GYs!V*daC6;wy~yZ|@eSBv=}?8vtiX<6L$N3~IX z@eN0ts#jGC<>-_YQ#OV06vJA{4$)C*+ZhGqB;QmYKZq?M2wx#&U-PJvNlLEFi->7c zZfsR*YU({37WB*Floal&)R35%#hxd~Nv=`p_yLg;=gl0^`%}FxrBK|fEz7dPa`WRR zcaw_Lh3{y3ntueMIMy70D?lmp1#x%N?DFZ7d_1;yaG;8*s;(AI`p@TuD?{>c`|Ih? z{(rx;MJLz4fLGmY)fv`MIaoqYHry`xD*K!_anI`OB;l0=;aMFBonF$9WVi0^k%r8~ z#Oi{pG|rY|9i?fx#+_$6_pD{x7G2z;?VkDd%>H%p(1Q*V2#@f(LJ2Q^y&E?{uw(`O zuiakD6A3RCaXqKm?3vBDy8M`1y&$&AzId@j4erIXNlIqPCxoT(N;R^UXmgZqTP$gk zn(1)HzgD5p`G;4ZOOuzw2EChvLfxdu-{Wr7u#z8<%o_XRufP@|O*Ix?@6J_6bDsLh z*RU}#5>akmfy|in@Yh=v$H?rrIiA=|vC^>P-6LM0 z-fpKX1Z)Ee#jF3umgAKbqf4M84c- zadSd7vKi~~M)@N}I$I~oqlY_{$ZnBEcX`}VUNX9NPoXd6Q6kNl*Phj9?i1fU&=*pj zzj@*9~hO9@bHYaj+InRm2ZjD+7J*+m0zJQrG)*o6dy>yyE^N^pFV~ zKsVxgH^#xxuZ?@0^PymHr~Wbdtw_7d4ds~l!q(0&Is%4k`w{oMznv#oANw)|Lw~-{ z+md0TpB2J5r%bzv#Xi(mfL3hunSG+2rO$+07cEbct$Z5AVZP zi$?}_13+OkUThlU(M^hKkU(^`?w0~}C+D+ZSS-HRNICJhGWCjamEV_RVW?+qzs&N7 zJiPB!B(lV%9P}CV`aUWs&ZD1prlT}~z@7~~g`lRPu}S)&K2z-?hiwOrtIR7eEL$fh z4d0VpQU(JgGM!S5CL7);o?rO~nJqRU;X${4K|GlGq@=4GDtS0zdE-yb$9EnT@Bt}c zJiS;hze6#vc_Rz-q{hH=dy<`o*X))T5Ef~Dudc91DyKU?TbAwsBaa zduzaczT<=oo$a0%uW;XkGV+M-i?;nSzl(btLg!ohKPxBXeC~2jD&Mv$UK4cf6W67w z!fC}9p?mYcXnPazNWO`;IP@e(Ex)s{WU6%Er#z@<(jXWC&l1kb-riQjV461v2oHe5#|~zo;$==u z91a5jFoHXX!Da;z#rGaKZFmNz#L-nTEcn9S5D=<_SJB*N58F2bzSQO9T=jRW7jhmK z8}$cQ8P1g=^HDSII?`yo;TtIdE7#>#Mg7*=pc5VPQlG4}&hUHanQ8J_%Kq@= zVy|&GVBNO%N?|_n=-dyDXKU)$zzQ#O8}kL=$Uiqgx9Po&b7VF78YE?b81%*A$*)i6 zt*2l*nGTaf5!0T1QAjnh*S{mLG76Zmux9kkqB33N5(Sq0I~|v+>sa5!BDb3SW`9J1 z53?e#7ZK!?5s^gs~nTeWoXgHQ@7$6~ie z)n@Ntvzw{!b^K>JeTLw6a_mhjh`%NU05{{cy`!6x4T?Wl?TNLO0ycg9K0c>-8UQ%K z*^(b(If|7mTYEm2pd306X*N3FE%wF98U3*me;rNqFrW+1h^#6e4S&t+x%bB>$n7$ZeQKQbmSls5 zpkGV=ta3TyqQ zwBf*E3eQx7U9cq_q?VR#_M2neQ{{Uzy$OAQV$ae}frdS6I_7rKFYdTxDgU{yE@#9s z`uKZK+9=JBK(8=WcF=DjB#W?<^B24GB8O{NA8*gjWVvME zzjs~9C&iHm5KRx6L?4__qvM7iKZ?*|+w3?YUb5~O7+)MKG>#T=X2hY$iCL<;+z7Ty z$o8y%4sG+~y*nCGtHkU~aIfm$Fz2-pg(--KI`<2K=z-f+ud@5MWOdYB7$OW z^>h!!gv(x|$DAx`9JqHzw^|?eqrMdP6K~dmy%#jKD2L=$`~{ZW*6>f+JL5t^%*&e5 zfb`TS)O^JoqU3#)nK!?<`J%R|70h=B{$$Y^1kWxencm1lsq|4uxu67}!1m%CvCO50 zS#rOpJ0sJ-I3Sx~_sEVpY|1lAgy0o-ln+~qNNrf+Oh`WU zP+fod4MxVisxN;a%EvEltBti+ojZ5V>X6Tk?W^Y7wMGQsocyM_*wuE8&bm#1_>>^n z!rmFsox`LtC=&vEz}s}PoBZa@baCX-n{oEVxNm&j(M_Z%rp9y*zN`53NiCh7o!I~) z#FSZrlf^{;ZEr50Oj1GfRL%7C;zmu={ru(WueNTsgNTN!=yCnN)|QSQTk{T;;)w5w z1*^w3ZhKRa?_8IL*uGqr$sk;!otvNM1k)SU_xany>Elt$y;S2SHH#U1Hj3}w5>Pe< z<6my(Se?8_9UR<@@QTLHHpoQ375|AUuw`8v%}ECfv@@2&yrZIc!ls8e=x_@-TKGy5 z>Lsyzio^b=EH8B_LRW}CBW!==h1Hb8wqj~qZ*u-Byyj0hM->SYmp4we+Kq3v z9T~K(2TdBq6lvSr!X-+{ z;n7Wxe>!+mg3)b0g&YOMp@AoRLj&)!M^7zI^7MMF$DRtHTl`kMPY8NviMSM@SC#S;oyvM~rwa4Ty zswD1Z=UiL-Z2!J?o_0wn12&vq!c&&|dM{C=1_(&6LFqlxJCWXdPe?eEb=KbJ{hx6@ zp1sG|W4vD+D&lzZFrWF{^S-a^cO81N4G~B#g(>vN1$TP29d1>Cmrz~L(Xf9QZ+$cg zDx9v;XHvULKr(pg?nya*1~e8K$H^+@d_9!FR1VSxLCNpXfP;wKH_)HRRmV!>a+39Q zR)gKrM7>|AAtZO6nr$2(iyG9<`2rWO`5ye-9Rhl=&k* zAg*=2(U*8Qi!zNHfzojUJMwPl+V{-o3!J(>j+qq}D-AV-$w}vxcgg$(Fl_*I@LF7% z_V(VW3BSpN_-WV8#&zcm<-d5?`4A4ho4o4B)Zn|@SUhsz>iVLJ<15VKwBDln54VBo zQCff7eu}r z_!^KWA8h}!0R>9>&h1gw;I;?&JVH!X7dbW`7&=+V?C;g@?!E%YjBSQf>y8p`s9fT? z9P50g(N;pA*z2m_85Y*OxDiVIJ_be;MbM_+;4!LPvwaf!0zh-X8;lzm3V^FU>N@pg zYtuu}GymzY-y|1qIlk|-U+8KZ>{>3rMWp7z_%bA~yFUoNReQLJ+o;VOhyA9qF7f#h zd2vGKre^t+9v9}v=6b5QK~e54Jjj9;#wP;Nt5U!vVh3YH0gdx|BynYl=|0JIcE}&| z`Hcju5FEd#n%^DPEdgIICej+$S5VR>L(hV@MhkDRNeiBzU#F{>Z+r{>3a~}2Te^`&tkH7U#QExyjx+uo|Ctl zAuT-(kTYobJuL;S{$D$!k$0-5grq05-!|CHCZ}``E6qi5d%74R0AB z7FX@LRL9*P{Gcc%zF`VCPU6w?7<(FcS-lSbE4?0p$d$MFvSv{nzH0 zwH3;vaduYl);AH;of$19{EJ>n)c(ctq#tH@#uss_R2F@*UjSdWYsssWR{Cx zj9mwtLlQs|We}$y#Si;~rpAYm)ZYUwF$HJc-DDH6HBP;fy7Vc~dH`&nnnrh+b9v#Qkgxxar4cEbKJS4I8JugjU>` zL=R}^P29x=AH?Rr67QZnddgtGdF*`thi$8DMp{~l{7Df{_C}pu{e7lWyOQO&)={@ zm2T7&)D=K+!!vUuO0!10gWE_hlaSVxfKewc<42pB5DTvui2dHo`t`K#XQk=NXlb(k-vK&1WWhwZyH< z%AnG*@PqsZ6uy)O{g zTx@tYoJ^Ax)74`#?z(2bL%bDo*pYBcUg`BLjKjDtR%qk*5a(WF{DgRy*~_^KHIj;l z55L<6JKVf+BhPwwfQJZA?>(~2v zy7j?>C=>Rc&Y;lM^)0}f0RRLxpqS~1<4R!F;}v0;E<9)M0hSJ^PA30GC3%Inw<{Rb zT9v0e4k62d7*i2Aj0%jajn&e{ITH9x`Y~D4E`fiAXWEs|Q#-XbJkibg{$1A6h#kF$ zIzGv&@1qmMsRE7MP}49Pa?%tsZj+afO5o+EzpArU1ZZ*R=BNT_rJ5RO+9VVi->Ecq ztcihsx8lizHUzZHloj+%BVP|rij^L?ewS07Keu!AHdnH8atavSJ${z=`zV-V%@VU| z0@e{Tcxqw+;zlW5((AmR0E$Pgj+lU3(Lj3_3&KB@+E@Or_B|=_qavOVvYrQp_E#z1 zDn(FGj|!vNizZDqMIR{uQ+JfZR87l%qCIFjC0m0>s>FVYQp{tsV6p~o3nV9&PREaOAy?ipxiBh=ZW{}Iq@<7szX5%sZq!nuJyvi~R4minvdS`6+$>Qi{6;jg|?Fdas;pXK0Imd%%>0#nvH@fK|JTz(R-@u9kF7`6F;l@)!E0iH8(y zHaIUJo7q_)?4Q;*BXT^}Py7;7q^tiW@oeXorODU8#e>cgzId%0EOdijZJzvv=D_oZ zH3<}g?Mqq^1-;FV*k^zd;xW*d$l92w=mgR9^Zl$%e_P4T zSogM1OZm(nVQD%`34djth+(>2)+cJg50R*>CjxX?F)9Ry(6I$6@BLhEgWU*nzqh%R zb=I*@5N8NLLs5qiay`a1D?WMmg1pAgcT4Fa@K&@px8EvyE~+UVu7Zu~&$9 zx2LTeIAco13oKUJSoiu& ze};LjE%Lw}+B~}z8Bzq&w?6^}Kge}lNr|etZxU3;m)dY2?Wg^;jAjbqYlz0p%ZRz1 zCVuwa@fWb`$7gp=(7ZNZXu38x-~NjbJ;4=WT<>f^ihPAQKRJmVeZjl??{e(yml@06 z7{>Nm&Yvw2UNLoSEiNjPdq<~SkyD{(V_ zAUDZ%m6-Y2bB2QfM|58e>92D0AvD~oc!vGCW76QR3Ov1q`2$>M_lVi^dwe!E&t*4ZuQ?^>zN@vGq6 z+{+Qs(_((+wHzX&>OaVUF#xE#=|?t<6mf30^i3)?3>HS#)@OV%4qg4L5%((Hu2e8l zTK~MjLe_=6-eDJ*E1V8;qN2s!)>c>1$P!F;_`L-HrSE^%55${MRMMyVRFK5MPjhVx z8G$`rUpUB{TkafURf>%T z&I4r-95S@9?0nk%_QZ0U-sGAm=n!dUJBZnimBgjzc5@B1X?@*f4 zjHYoE3e{g=KxPspiGZTXbrOWdeT3zv0h>gxSeF`&@XSa-1s8H^=G}@BAFOr#WC}J2 zy!Q1ws=~-8F@l3&JGo`SecrnXI1q+4=xSv|vsQWnYTRpPzof z*ch0OGANB7%-4fnA|q7{xJ0s#Jx3c3pmEO;3Ozt~7y+5q0iKTUTN2Lm#h^p%RAX3y zBS(e?Fo?SYh~BU#rL5(lwaS?ikX>?8&*H1hxUsi`}1R8=Q6v@x@VxKSO z%+r))xh|=_4sLX8H{=UH(+8y+i!ht!p@S*A(Fk{pC7FNxRLV&Ehn2m4a#L$7Q;RR^ z=t}~`F2n-v!2af~8*KJ>_+lf?Lo9mrm^yx3_OWQjLz5aqhEr*h^m1(PacCk_fsae0 zQH^l`n-nNf+5XMMXyGL4R;Fx%DVW11?TwlT2hMQt38}BBWz6{T`nF5A#vHGd$Gz1S zI5^Hc+cWitWpd-19^?`1>#;Boh^1c#Hac?VkE5DOJeDXs78YBP zZg2POD z%P|m1>4OVG)X{|X0d-f;5zq>ki=fSEDp3SDcexOqh7+q`%DUdvleEwDC&4Rz)R_bz zbast2bTig=18#>D7XL2-mYD{7cLe-S^#RQ-8taGG>5S)MAIcwTf2lk=`$Sv6R^xlC zfW>lGhcF;3Qpf!H^UBNZn5(9wZ`VH|>CyxvW4d>`|CtHfxqa=0DFC!xASLj!i4( z9W8G`pN2Gr2P~47pJM$FoH?4H49tM#EHXs{$UvP5RPlfQTo*VYcpNCIQt!eoNAo+< zWq9)W3#Lk~omTn;z4Y(rD%{A^|B><86IO+?*gyEZf^&;TrDSd?QV15r%NAl{*PuFB z-3_CR7uU{Dc;b(pv@;bnfX(3BXMg)tls0iLLNM!f7MLy#`%*qUfWLeOKcLke`V*r` zJ-oMcG-76VkUjzw<@I>U(T?nH$+I8k@|J)q=3V3Y_CT6_HFQcYh>Ub4jCXKJN9QH! zg+FGwu!?ABmXKH!R7Crp4jxj>#2UzzlAYqVj*=Nce5T{He%Q2d#FW$ZZe+ToqpqFa zEu+%69FOmS)kv{oeIKjop7N`^7Z@?u3ZvpzDUuD~rWWby#7j6UavRs>A$2(j*5rX2 zA{K#8nkXpRit}8p}_b@|LtMFY;5W7VxmSz z<0ON)TWk=SUz|o!14oX`bBpl=XvgTzoWs7__WeQrmJVol2XqiVPYWtq|ZWXcq+1~JOe{LmfQN+o6-W3ylUDRu8j@#PW4;t0FzQJp+ zI!ycx&VZS`#%G76RBlfk$~QFebVZ-jSjy>yDnui)KqvK3B&B>U6PQfeB09_MugxyH zpZQW3G_iKba?&@sa<>xQI@EqI{3rICj+jh)bvck~UG=-$BfIfwCK z%K`|hxX{PbHe&4JABc=jUJOVmFmtcw37)SJnbwQRuwWNHPFFx581U z$5m{M=Umskm&e)D6w+WNJ|pCWnz`>O2cDa{y507l&-jw-aq=WVT)F}uo<5gRPeC%R zj5tk93l$WaZ@A*~~@J#wXg~`!CKMGKjC*Qoq2~*?w=a zTpcg>L4rGUshu;m0Qri7UWmouH;(AD9s7%qvM)m8+xkgEcPY+=MaM`dS^Y+~u-$M$ zb)Jm(?x3RAT`K(P-qKkH)m`M#Ht!Ycx zd$VShZV7@Fg?na32_|)0h4}qLWnNPOdOjs_@g)8NlT3vhUhu(tR`U0j$Lmwd)?SIS zmG2{1bxqtYzKEmy@M9NuCpz6qUX5`k@%x~=Pwex!jnQ%d&GjR#eOnOsBjA~={*=4T z7Aox~;~iwqgzI|h`Mw_wEIk7|Ct)-LYa_H3L16p;jy(JvfsFwZ%#~tyG_dA%lWJK` z%0u-wy;x1CWymIcehqr2C|HnogX9u9 zNzUL&D%Vl3eWNg3eBm`6q2|MfD_V~e2O_xqFMvUY;)`e6ur&Dgj&Rx3Q2yJFl1m({ z8$|=|hXMZ(b$)#Z(%8wO+Sp7?8=%3A53|Bj$|~H_)6;L0cU%EF?J^2*%|wp*cIHAu zTF&~!?`pRJl=o^eGKL)Kjf&#GUBEa13^BH-F_2iJl+_u0zYNJ(&{#oh7B=#7#>#~{ zKKyj=UhsM?9AB}?!d^J+KrZeyT5O6%^y7TibVxLY*7TKu+r-s!t_&EFJ6vC5M$y9# zTbbGERKrVzljSs&dIfZ;?0%w}sli0HRXe+|6UhK*OK?v-oH zT7Q2iA5Gd2Ls_4}dtHG;TH4foeH4|WGjurHLJ{EZqCGlw_jtP6B?RT^Sh%E+XB(4! z2O*QTzP%@?eMM8IM*4Gz7ZFH*$0|J{(shUWE?*`y@}(@7vF_Qrdf`t4Yi{vOX8+3X zVj(7)J9kh3;`AtywJT^a-3hAaE%Jz6*`FZRGo*#AGlLNOPfDXbogfnD-FGzxv9BZb zHL?i)4~gAxot@)fXHgJhM-$ssFk#*JgIdf%4b$+1bAvjE1}fUNU1{!o^%l=mY`Th1 z)Ce9`xCMb@azf*?V6>BsIG)vdbBgKZqo4bg+ddn5)pl`0A=HIBweiF}-d4S)i6$c8 zYsH_>Xrg9WRhsbWqTZvo(Hw>u7Q%eY-3GON>euh=s~??N`})3b zZcQH8rH~6rG3KhEYGG7PN0}SOB_Pf)_&DjB8A_%`| z5tY#THfRVCIcPA_>dK|Tca1G8fcATV@6O(Hlb&h8%7hlL2aV4UJa`4diB--Uu>wG5mY7 zI6KR_ncT{+GI!P$+tv~ZzfL1;{P^At+AK2l>=E~XGNbHFsm0sx&aO}k=>}M}U>n|f zdKqkva-~T?cvX|{a&9d4!tSEA2u;G$A;?#$W#W;nI-GiO^*-cgYSg_tLj?n`^G6=1 zE0i{mdg*GKKAAw7_?XDz0adfaXGAS8DU+_$aJtZle5i%)iCr}3ZQ{uiqT`#7%y&Zp z0Hf2aR*KX1r>b~)LxO|)E6?4(?*kg1xJ}`uk=1(r@AXxfeh=CtFjo>XbF{HJ=)*n9-^bXM z+l5Iy{AF1U;HL_no|z8QB|Wp|6^;{*oZ}ilUY~Fqi?d{nziPCXvB0;Mi$4lDh< zo_fQt;k`%UQ;{RBx3lP@m1%pg>Cv~v#y{*4wAX8HbM%t%4nGIQILx$ElP$te$KM|m z;ar!Y46JHLa?+|{HM!4q<|t8`CfVI(lA&wg>T3_wi|VG6P?1!7#>S~xK*Jm%+H21I1gLZ4$lg7W~9da0!DI~+JeI-kn{*^V}zJ2@AIq+kl zOK<_7{c07Q$AVlg>-q0-zx%*D(NDu`1-%cht)Dmwo5l}vEFwj8emU^dnUqD7V}wvlIh10;%s_O`+#w-BAC>B5A7d==Bed+)lSEBig)+94HJ{&$0=h<|LDwTM(pG;rHGY{jcsVnMARv_ zAUf(OOT44?$b#d7rF$ld$QDx=nW(8P%a@85mqZ^jE}mf0 z1h0_XMv&A0=~`Z*yYMbH`H8(ljps6c%R0&AS?SVg29?kw9wU85u}c*?XynYLw(u^R zuIfj75C0gW-+R~K;_;57)iIvNs2)7zEwd%(L!bI5M2 zUi54QHub}t-GUITnzyNkj}o*dIv_>qjHL;eZWM=8hn@X4gN+zF?r!Q~tsfN>=DxAb z+YP?|v#1muV^m50oicNOVm(Q`tWd}y>d=O-T@=jIl;KR$aBD!v@>m`=3a;DH4Q?D) zI#JR&z{vP`bfj+>bxSXT$!vkX!?L-M&2%UsmV0!#(6rR_`EznSgJNEo%MiaxmQ}dj zxvcx$79bXr3njhRN8gTB^=&iE{g+wnV2hk;ictRm84WQnaDpSP z;mtGR@t%{^REF2BFZN@fR)>%uD=RD0iM@?p!{AiNVckg4#x*uIlyzaEYlF2HPZ7j zb8F1Aq@8XfExI;H$({uoZZqF3XG*U zm&h4&y%UdOgjPfq@DGuFe@OBcW%hw)5lIB6%akolqNjP`c5?ZuH6M{b+= z_e8JN_KQix%}1Xay#1MUNW4c*>tAMn_EPjesw13cX-x0}A=OG)t@GHR<7#b`_N%^V z&H4bd=1hoRGBX$PR2DHW(&KXy-JOg}Kb3OICf1vV9Y#aGzR6w+f+172>qMS6&r?Z9 zEpTl@g;3)Q6I*_<&_%w%29M1_Q%R}90re0ss2?#%aww+=o%hB~bG54Z)>O^v3dH|R z#>)4J)YwOuygGkk>P$dUUWppp5Yc!<&_nBU*z>caxGOX|LH2r(4xv zCNcS#{OH{h;`=AY-|fHn+9R#;s}toPuH+Xs97fz5KONjL-#xrn)X~BcMDjW#WB!1K z6bw&jnn5gym-7YuBdS#ppee9ChQ=N4WL|qsMtZa*sG3j|>Fp{pnl3)GhQPk0x13)y zchli}=(e+w=>ZYadA&AJE1~+@98oW*D<_H7!#2vq98vfYRwM|e%3C>E4nc$8owBp+ zu|(X`P7~?;#!Miqcz>~~V0zQ>LC!x!YuwS|hJ^A?zh&XJBT)jBP$-6!;S{t>LwB9O zMnTE!7GxgahoqF+evZgNe(wp}OdIafT>VYhP<#lDEEMx~9Ot0$>5$06{>o#54?Kiqx3!)N2|>9Jxx zBD(BR(sla=(ZQD&0h7g~##I>d{z?hszpog}Nk5Z1SH-`mXxV`JQ578iWV` zr8TV#h54n`zoadjuCG~H(a9g~JlBV(h-^W>mI1gVt<>-v$?P{XPi;rvy=G4OHTv^H zbJLuk&5_+Cp|>S)d$$vojCSQ9*o`TMIOzbv=~#=s^9Ogzoh0Bo!L&; zRSzO9bK9*x{g~C(xd{qeBGA1ggpW*Y<032T&FV8HN*RVh9;l$wJ5 zrQ}vUpWC)+c@XkZJgrzy9eYdLM4J!+M8#x2yWB+mp4N=K-DpmXJ|M?>lN8t8%9hs- zG(LfJBAXOr{(mAr1f>D$fO>QuLOtf^^NV0i`;gxnlZ5=H;FettnVwbO9#oErb*k9w9%Ul^R{w{M)xe~(zeZ=n;uer>$z!>jw?;ll%SARL-+QkPb8 z-vOG|poMxW_O6d+MM?l?C5d%<=ZW`RYsfcOWmiuXGKm%5k4wmW8`D~LaCyAaCx;QP zrbw5GDd2o!r-;eHckq>3bt1FQ+JkktfC1pG7k3*NJT|{otb-d>9^7+MkG^y<$flAs zle24U-0HZOb-Kc|mep->pTG%lFA2pR_D}nzbPFonF!hhMd(*<=((BXv*x&DYdMUQA zywv&;>+NRW^^T}sDh^u*kvKqj_08$)`&2n=kc={atRYozImIbf;;&wVIcUv{Xc1{J z%iROu>@JX$vw-n}bW~8-FN}TZX@Pu=oIf~>6UdRy{Eq}3CwKt?Jnl-h#ya&Wb`-;Srm+2s#ilNMo_eJ zG|R(w(wJii{dG?(pE`iH3DAbWw&6TSBSh?5~Zm2(5o6`XP%aGC$4j^V^J4 z0inxz97Db#U~bK~oORGZdm{^tJQM~NH?s79Jiwu~a@11fIPOY21T?+QiwXB6fX7MbyaAZqkBCs)`QehR0nSC;;;8=dDHuqp1Z?~Ss}w{s;F=fm zwAiy847wydR!aqakGpD;p>N)h&FoE8+}i1s@WXW}UdTx&4MxX|cH0tkvw{BpIwG%SThU_EvPovPNWnWrn|HJkKHGh6dXes5T}*38r&yYhu1F|6Y9r-$Ny zV401>ZYh;9j)ahp>eBw_|753g?ctVR7AD{wL21=pk<)`g71n3Wn0tM&k#b zhQM%LAk0@#1f*cQ6OCg6Crtpl(fI_I!Q!SRDJeO>!^Rr!h?xEPdrha1${wvl~=P`=9VjZ0B6U z-{jpcbHU8-Z1!i@<}zQGCkuc{i}P$d^QY^O?@mhJzGn1Sk7)IOGjft@yjgIb#3v5# z->%o95xOfgWy@j8c5=e6bIrf?v}LzR57CLER-Rvt>vGG~7Xvcv|ne$#)_yy!48Yi=1w9cIKWxz~0>5AYK z-T@lwepKN}V?w($r~lDF1hi`qlhaiP^&9%`p9`m!wd|xDEaEDP@Re0c;FT4$ya~Vy zhFMB+mQyw5HA*e0G>J?ry0|Eh_0jBnMlRW~+fNAfa^cClBT)ao);C(qsjWot6R-melZoKry@JV%QNUD>MAo*~dE=V=>mS4R<0>|(ch(^t9UQ{1 zm@Jd7*$(H`YS-u)NccZBD~-??^2DAV8=Xguya);DEI;;qd$b*UDJU#dSsWIZ8LqZThjW-bIag(6>9b4OUZ-T){-;IC zN9p~!1}+^@4|7DVo#&-3)BtaHcaBPMf2Z+x@tbO|x!}z;Y97N6@K)~q-NaAM8>ZN= zZ~E}?K+OfNc6sbwv=Qw>Lc>#J!xOtPT`aGOC|_UHObraaw;+Pox1a|T8l6(VhXWp6 z6MS9}`}t-nw~HB{clXo@Qk~GpPvz83p9Y8f$TzBoEO(yRSs~n_Iv9@?bh=e(Ebm`ubJP=@7nNH8p^_dUt&6X?--yOaYpY=ka)Y zIbSyRRcTT`eu`?F=WntJAVyg6H^~QyCx`=xs+-2&ZtDi&tBJ}?G2GnMQc|TpJB+mS zEu>$|?Xk~DJ>v{Y{UUdN{Sv27(F8;D0{tJxfR?VyZIJcqfF6Xu_p!%VVTcBt+69jS z0`e}?alSZRpwV)(G|Mv2>7|vNA6O1YK-xjl7ufn2&P8?{CfO>;lcB%4AZJ3#>iL)#b8M=No(3Sumj$6t z&~9veZaLFP(qCvqRT?1ye8kEL+)-6k`I;!-6N_i|_L3nF>8or;P=TlW0};4dF#i?g z(G@%+;+@?7T%dJf2`w&qsA+&@V7>+b7oJyX=5EI1z@7gMIDyF3FN9hXA zO^DAawvs00*zDZI{e}M~_xaVw^>r;|>IpiavIv1TP&Q?P!UNsTjm)<2N>1%Uv+@y* znf2FM%kraI3sASfxog+24~mH1`BxXL98`8r!wcWdL1u=HqH>q~4Zf_KUbt}h4W#2_ z+YJHyuYld)y%Hy^X|>N0isOC(607FD1Y?NTWl#A_^5}WV(#xTAJe8-ZIy+#zEo(R} zzd0zk4}O#EjRKo%XVs7ImO!hBb2?9vYWtEVSeJUfQRl;I4{=K%nxr#L!UG`9UTcjn}L;9;=w z*v}QQoNJ}Pm52Y683{51`J~UfUHh{PN*6oC^)HiB2=knQvSp zTonwxW ziCTs4E#Gp3_W>tC8l(eR*FYXTFqS_312=glS@k@~!C3RZQaUaaQ-J>E;}z_g7=sYe zV@&fJ#6@nJ5u&EIt3j=TGOf?xy2Z8X#79Ys1Un4^@1G3?S_#&d<~K+q#8^wbn9B1a1 zjVh>!_8&)a7C00*o*vJcWcfs-3)?%{+x`9;g<7uP9wE7T&qq!AgdO%&^g5Xui8<=wXf zq_s@T{9(-v=HUB1og-6!h2 zskJL#?f)T@BNWn8uIpo@g^-534Xv=AofdM1Kxd%Ft|*kRKFNgRDerKZ zi#Sfccpn&OdCsKkO`Bj97Y7N)fS=&jasUR{3P3g`P+ov+Jo*^r)Q&QdaAVy9sDIYl zSNDNpNwd@ne3+BB9SMAh9#EX;{yfd}z$V0T#jkNru&dFJ(9k?05=mUkch1v(fOtA- z@vVyorj_+S(Ohc)1am*GWTA5<#d*W(b@)HSWG*y z_Uzr#e$VmP8+YBICMmatx60ahItUHz2|dSZ#)Y|{i%7$=>qhxrLqV5m4~j8SeVA+k z;>I;+ynBYI1S@twpNtGZ9J6!k>+1`Nr;2=k+ko^iG%ciPm5>)YD+f+6{Hi`ns%Y;2 zSU-Pq!P!kA=K6-T!pjMIYisMBot>WTIh|rbf8wbyoPye+ciBESvZy9&2?+WGR4X0& zluDuvtvQ-1Djc1t%T(zq%5_+Gx`Tf)&6j>N-FgP`QOqm$wF<;h?b6c{95~~L1FowY zT@N;zI{|^P%uD9xEj?4J;_mCIi%TH2vnShb6)1zcey{xpmFXSGPo%h@TMRM+&!u|l zyoP0od9R;rLp_%NTr?=PDyM8p;4(5*is!UEd@JFx83~&J?U-@5)zvW0|NML!Pl3Xe zu|Hj^b^)YzunGuh&d#EeiNxkxCI&e_r3xp?hG+!A*;Rhp+y3+Z=DQlmh1YURH0zyRKS=3{FT>N;A>c3v{&xe5kz9yMz zjH*@{Kynr%=_ZTLTng0h2QBs(DS#bl0qAMhI`;uc6p)B1bXHuzME{v=sKNnw#6Wou z;%B@5UstMd4nCsFGr?2#XW9y$=ey4XMk)Y(^QWM?z@hjbUt1YKv#UbMiYwl|yWq8X zLbJa=1tf8u3tbN)q}Ui489|M@`43s^e_ZT4d75h+7uv6QczD3Ou5%71gZT=#7thc5 z!4?X@7Pe&lkK1*u-X1mepV-jz|0sgPDb1gEcDH&mo;Qh#KO&3`i)~i)j*TfgvjJI-yqa2kgUcpL z&3R22Q0@Sgt-lWQX)ATAbD_IpQ)6=2t4jP+*e#Hp8RbKF#%f5E5Edl=mRK6RlTW*DPfB{8`TFM~2?OJjnwx7_x66ff+^P8@fPA=rb1ha1V2Nc-bCfAYt~7b!P{1-h zBVk=+oSK^Xj%q?&{zb!P-$X;E(<`ivM4RmSAA0+kD*uBncYdp5j&anTn=R+t{RKvV zxMT2I(RJthi+lU1#Fv8ke|!)SG8y%=VyY9Ilw0uH`uNt3W^NNki^-k|51wfNyHhj0 zSfC~`KW`ysg8|oHEo#819SKXDb6f-8xkEW2?h`B6x9g!6RPMyu?|9hB5e}$$8xv(| zQ=LhHu(a^B)u2nXS&~}{v5j3jd$kgnKL?rs4F3ajI)rrHHftcH- zl{+6L;PGocW z2hXuO_bhr~9N>l4-FMt%)U0zgupP_@KVCeltU?h@Mb$yJal&GatFv=7Ka+|j+&a*# za8I$%7bUPbqEPKkpoG1$1~R~hMk9ssiMdy+V-g<`F9v89s=@O#OTV;uy~fCO(QK(J z992skcxpmu9QXt{4FM>e8Q`#Ejz8E(w{caTbMb)tnH6-(Y%fXNq@iK&isuGOyhBhq zCbUdVnSdTPPvJyG)Vt>wZ81IvNN%GVmBY=khY5Vp8|v!nphHzwW;3J-B4%SPw=O)7$uspGBrp5?RbVjUCrvC(|z^*)uz?*AGA=vM4=!AwSLmgGAY(Ki zW5_Bw|Drp5-IQMPf<8q%T&_y|6)r*xV_u8HBdjHPIEUSRk z`ioBy5$bMOQYJsnhw^m~)FDGD2R5X_g{I61RXQ%3p46{rR-G0rJL`M9-GB7V)ra-bSlsInFRXe( z2{l(&%9h^)lFNabQ~vvZ{Km?>y=sayYR$CrdHA^TxD-H38{k_QJ{zm0+RjFbe3>iy zeMkIJtd5})htF2M$j5aG&P$>9n@HNHeI7pI6eWhfyYyZqiuwF&WkJuCIeg9#F8v?A zxW0@Q4%iA|R|itl$!V7uA547%KD{mCA>kC`MP@m9%pu^u{}|*=i--OG%R#@=6z4l6 z|J-T%^WiASfXiCTnaZ?3aZ4VCY;pB!Ov`Zs`e;Tz2R5Q zpBLI^c(;oAo){xE!7AhU#M1J{c%q94K!+^9f+dK6P! zq~f2e3xH=hy=oXF;X(KfD<7^;F>U;y74(mCwp8vKfkwo*+77UFoHAQUxNpYu`RotD z?ha*kVB6)H{O;F#`?a=M7Jd9F9QiSxn`k8LG@Y9hLe9XOr&(QkdXbA(#J$Y8fsti; zIw?yYQ)HU5FqywZgF`Fyz3#7oNqD8Hq=?Ic{q_+fqpju7rVV8v%yXRp_m0r`$};EA-7HqmHY^tZXznmGfy2^0GYYKZ9$T z*xmkh`2?wDRQ+Z#mPI+;cvZ-OEl4>&zP8e-Yns8x5+7XdJiGnuWOc4$cM750EajH0 z(BQv0cnuEC*3`+H$kh3~74wiPF0()th8ZML2t^=@>L#+YJiV=AU6y*goJtp0?KBX6 z#JFx8EIXE$+NJpRum=cUSeedBp)Af)OEVm=z&~}K?`A%yqd^u=nU^qWF?lf!ca~y% z`@hYF^u3>!f}CkOu@B^^^A!U8sl!;QqJqLl?h~IM^is~+eyRLg#>OVE$$jUB@)rE} zx1S|F_RUR|^yBVbI$9R_y)GMgW9oW62T({2T$}|1y5B0g1y>HRt3v|r%~$IS=A7q% zM|Gs8{0g>;nIkPN%Q8i{CZhs(f-AST+}fNfu_bt~?DokE*iTEE03WWP`|0hZ13Z&= z&6{tRfXmZdD!RGPoP8g2`Erp`2vu$SY{S{#4F!FCLNc=_evJwSr)}I)Cb^y*c|r3&#rj4SOVU@I28M-oG^%9FN=8;RMmV}0``O}q{-K|*?=Oy<<^7La^8CK+QZF*x= z$9akG_8h({XK|Lr9$#V&HTh-$OlhfuJ~>}96{4O49o56VMZV};?CKq)8xmb5tb43( zb|qIT9*DBM7%$&q8F`Odi_!;;RbCK^6$f&M+xsoKES7quN?gYvyT={3POMfxWTuLB?>S&%dJR{W9AS)zk3~C(%8K1nte=*tJX`8Yn)){!0X^#d2 zp-5L-TFn|Pg|7ZMuwqMTTC$o&bUwSA3M;SC@**{rejyAa#&*J~zZUS~_RX8zOBlq+ zfI31zNa&R+kw~1~@?R)7YH!{8d#hV|x8@o-`Jg}4m|YYrB(-K0n}P0~P3cwa&v`x4 zV=5|E$BHdG=)1T z{$Kvn2713uxA7RwN?YZf-rbChmv4SQVQ_bLb&duIP(^3TMb@Nl#xDY8ifoE=v-hhd zwLX5o{0wGP{%Tk~xY)hKLcpSbUqOfRUWGSwxX75z9C!4aMj1%psQUBdp`|p6x!1=R z@`qIRPujvb9b$6szNZ26@hGTYGH>1kUw>o_(^mP$qY)HIM{eIOiw>-R$#V4X(LQrG zeF>S?&jR+FTL32PK49LHEE1!}BaXd=Mt|_Vh}9+J49EL$ZWZu&>uu zeVh$E+{gq!CjhcIIG@so7_=Xo5zqfjMP6bhTedpBLPI^C(~^5Cp} zzaMqRz%c5I+t%gxT%giK6@oUX*Nq@xG6Q{3ce8^f2bU~6maw7rh#$WvkMtTiQ!%vG zG)HM}&Dn$KbIgIx)C$(y1$#1oaF`CYIOcU;_+5?DE8z88~+>WL3E zoXu|6t=N2G6hZYcKaMMg`=T%kE>C6=)m6Scw1mCkCu@ue~rQ&w^H|gOJOIhGY9~h1CtnUl@7j zbC;7`F2geYAHp_CUz|g}wyAwbG*51PDxE0zjq*7?cr`idx;-lccCE((7I-z?YHOYZ z{si9KFEx>L;AB=}EL-+m*-?t}_oSN~Ic4GZsn>+&j*koMEcpSgxJ<-=)jd1rOXYUQ zfNA^k^ywY1x^~K$NB))Mf(5!Lq{NYnLdR?Pkz`cc?6%<)&{i%>LnQBv5+?gQUQ* zz0x|uz49D2^C@g)B!d*K;XMxTqJ}S((ckrg%`_zA6PNmuqDrd5^cr2#ki5{+;0dPn z{1Ll{laP4#VpqY~PL?=+rcsaW(rxGn zH@Tz8{Pf`)%VYd#(D%V+(bM9>@~$T`t2<#F81{*_^XPw?3DkXkNMyPgBOa3F*#UG-N05 zwhde9GADlIIE7k3A%Y=Q4u|)tSACtQlYvMv+$Y7+S4kV7-`YlixUW|LiMVmilN@=x z_Y{(Av>%a{9EpAou79wrTvQb)%zpykqa35VEiV{X3=Y|D+O`+!8DoF*FE^9efwxNz zeQL7y4PW=Djzgo=tEZ0T$I#eybDFDHinC_n*v{zoh*oxgO^rUnJtd?eeP;eM`NFzn zZW+S30%GrzrCOI%SCPR!NbL50p#a;2IFm1lejQ`sw$e$hLSWar_7@@B#WrrNAu*$F zPWb6YF{t(;L&1A`)9(sG=%XR(G9^p{$>J9O#APWasw%~V_&7B``J59k`H|}VX*$E? z*jdo|SrcWZ*WsIK+* z`5nag+Z#(@i9>}B#=b<#EMoZU$MN&eC^ICr-c*8+j|iJtGj8t$?@fQ=8x5MF0$x3 z_HWbmiBi*QNWNBrg~GL*a2l-Za{ee8B}}-yk6pVU(+aEmi+sP^_#g8p`ggxSyF5=s z%abN#+YAeA3Cm^ieCUfU{<$?#rC1~<66Yk;fRLb69Pj1(Q|D@Dys}$u|t_v;f56*N`#Xj>y&C85JPI2TZ59;>BLg)1X4d~Ep+6zp0RC6|RJ zqc{Gi9W8~~wR<2EsUgnChiZ_xI1o;m4!g6V9s4)8&>N#~cD^q*z!CWyV}Lqm(VfbA z|L_eUza~lK>;g^=XLxvIeu*rknZ#Z4v>Rc3kyWzL~>G^X}#nCO1OzES^g=j(AI}-P%;U`>^$L78cBn6W{ri_iV zt<-kE^U~G(_3b4n@BDoW?y*(1)Zy67GK+2|wN%MSKZ>5{#Xypd&tT|m5D==7387{; zC`A;l-P#m&#xx)!z_L_RTdP!M>kB|4A|ie%b_N~Nj zP5Cu;r`}b$jfA!!M+}bfH$#VtlM!*rBu^J=2^{z*#`CtFOHff5izSFS|Cv&R63 z46+kd{lYj8vT5h2ylh{2>Zf_Rhq?c*h9RV@^7WP?-4@)rTHo(`gAbUc|Dw$H#J#r2 zr#QUZ!?KgZoD&v5eQJu|@i)&s58oVfXsIpagsio$U0>zBJ6?4Y5n-3f(bksvrs+(y zWP6wK2`QsQFkehW3*e;v>$qu9^IkFH$Ai>eWm%{-(uwtj(@LngD1Fq; z$mn4KM@f(8C`<;-Z_~%?%*(&bkVJ=4OJu#eEkph_A9mdwc-WjUf2cd-xa%uy9H@Lp z4KHJ2dy~cT)f&b?TH}QZG4<)(q@dH<9#gF|t}2v4fG5xLzT3ilbKqsWMZ)0c3#R>} zqmiLNQpPBNAp`zUSSHAY(x+>HI_B3Bz;M~d@h6*ZOPOV>5yt%UX zxGQD?h_q2ahjm3o1)?C=d2d<3UFb|8$K@SF+5Q%-Di1C9k3*@>DDHY9DlsU5{aXn< zejf~nJU5~{uU-vUW!^sxg#A522TOe4TwW%}pLN)cfaG{;@weapq#V@)y5bAioRHy? z%i3S21b(Zs6nk6~K^@|$?NoI%TSw2|x1Euk)z9o?mznf5v-L$LD!NOORp^^QIpO2|}Lr(1N! z>^$8vLfC0n{eug7`SGfg*j5~J-0SzxStqlL6a`eZ(|~vapLwXux%JOs`|&@)eyxdt z$dBiUsmv^hcRjL!e12gv_qV-&SKgj_k5kKgu4Qy7^MUc=Ny4fjmpf` z{!)D|V_A-G77wPXdWQru@H-Gnwfw)lQM0jol8H1ke6N2D^GWt`Hjw5{@;u!`oR|wH zNy!e*|36)Yi@A75yUozK_+Y;m4?o(~i(+iw)q_0ajcxjj4pyR%b`9zP`Nb~gW*eO$ zAFcrG3&=8gV&)%W?hJX5ys}K?RLS148u#6lt;t#$5(d#HOhEltvz8)SX?E1Zk<}d& zsb6c@Sk{x@0FZuD==TvDy9h{aFvBhP3p~8c6ek1(WrM}BZOt+VtGo{dt%vW9{nI=` zFXjgE#jneQ+VYLD)!clu_Ua)>&^+kw3s@cVtS`D`0lxIx#lvwR5MJ4<&hY#e_742G zDEVJXGq>#@MR92yWXpdNl!4UHOf=2B5QE3<`U5e#C%ZviD2Z(`&Y|$n_x(nz69UWC z@1)XgE7+q=kkM>mAi>VUqD`PMJQvGkD#s2C$oA1SxlE!UrIQ`jg5GnMNKqYa4O-dI)7Ge_BNQh+$b zn&~=MWl+$wnBG#mgpUH<(Gx@3*)PbpLDrBXI1uo&s--kIUEn1q%FILP#7m5L#RTcx z1Bj>r#gt3~>C>t}{x{Ui=d||5ty^osTBhxHk< z)lK;)*4uqoVNN}oY@YX;ZQ|svR%+I`t#+j}$?jBP&Yb=9Z(Attj-{$%o677UCc4js z99Qpd-(A#0Yu29a>I6=wmmQ%~H;nZD!Ms^!Wv;1g8^>g+;9{5>0Wrgq*qYNY14qjNDJlCPxQ~ zl{pYy4z`dd-uU7GXL*EEvHT<@B~>!<911dmR%MiWbd*>f>Ej=={%|9xnZWF5P}XU; zmpae_4{S6Gc>iXhuNX2e9EcapJJ+snAMp$m$;C-MuR3 zEfFZ<KC#K=gY(}Ml`)n)@vUdYUAmrip z`e0UKrt(|=L>QbD%BOR)0{W!(U8xDb`2mZF$KH#I)w~xKgnJ}ZPdgqQK%1a~bkT$b zh@Uq3qlKo#ngGP9#iRecI6j`xgDr+I5lA^z)$(6pmw;aIiqNF^?kwx!$~n{Sa6T`i zPru}7G+o>~2XN$&IGAyt+u;06rUd9oe!U}yW<+rLO0)gBIs?>MnSAD5_$vZZx^IjY zK5Q??ie$aFetkSI^Voj`YTF8z3-qD3a5@Kw_(30?U_`lJDk}(Ie=3Hu87%!ET4LnDjbm+OUbK4F0Wl!|m1L4>iW#pyp*p<)yMozF!>A8%S_wRr2)veju_>h1dq zlulzYVNIg9pK=4zajl&ifDd_NzA72K{|T6BYjf-qTu4G zV^E1h!L^LO6iIRd0{L|br%#Z=`<^I-Y<+~eS!$ozYW7jtPHL7$j=D3uR-HcC8S960 z?P{ky6`Dbq8YQfB~r=y0Bzl~7wIZW>8T-tt)Fg8K6t?QfO z9P5G6-pZS_$E{3p_Xr;>mXeJy$_;v)jhAfEn~2zxmllE%0bSvvu(}gH`eV)5L1?SJ z>4<&nNDq{fKs4#o?>T6`laZ}_atEYBf^dzwlp@7$Yl*gdT zR-SoUNsQ{1Qe?$>4f+ z#%VQy)Xbc7n8h$BNZQwMB}&P|8jLDk(uQqDMI$eQh2QH@w)6d2>IB(^CR43(ulpn9 zpQyI(TTWeeAzy)cL!PPr{=}&4nPircr75`a#z$qjT5>1Df4Tj>JKje7@+Qs2xqDWM z)_i~UTv2}h973rR7$XMLl>9C@MTrW2hip%}f5iaJec`p0>ulU3|B#J!PCU$I zZSQ2?wC=zWg*58iyO+VLdGc*@-@Nnq4cqm{uah2vk!B?D`YQmZ@=*{2`REM5Ad!3z z@SlmgeZQ@%!T~uXbCMfok}T@5`Lw)_%mP16>s%<@Foq|HQ@HS0863IX_oM(_zWY!raI~!HKG?*1qb};9+G}szaXOQD7A&Vvb z>T^XC6p-~QDbHTQZo}9t!EKp!eHKW#NA2p|wrS|sU}>27=3Cvl1B)*HRL=NgRI01C zp560&t^A@XUIUMJx{Y{nC%8Pg>aGX(xMny1+J-&Vm9qqXISgsD+qfu;} zDLtGaM;s4Or%KV;J?MtI=k*FNKA^aC%Cvb=(QIm6eNsI!eWCE_+qhe@dQ+k;8#Cq~2QW%9RzCJ97bG8itc~>r0gyI<|GTjUcpAV;EJtR;)jo zk&LF}m*W^i(5{Qr9#F=hgtx&vVNkY?s2DJ0mhFlebU>R~jr|OmuA_c*!IdQcmiFsM zngD!YP=;Ag8S3aFB$l05CdY@-ZYlA$faPZJ(N5mbnv$J56meQbGIA!kX*p5lTlgj5 zhVl<8o~_n=&&@)!>_v%EKFQuEa*FLWTZ>a#8{=9ni+atsNMmcuSJ$irt+kum!dUW+ zv<#+=Tg#TqERPuy@IBRKJE)7Lv59i@nq7$mKAyMpl7r&1NjfR;svudNyfToO?#Yyp z!{~*>a77*wgE7_3Tcc?RPTJP1lxmvl?uR~Me0fX%cQnp}vqo7C{NmVcS84~&AeYanJrdzW`&`ErQ=Vc4xFh^~} z8ja9xJZNG|Roo;MllKaziM8F2JHMPq?JLC3ZXs=|B|k5(;T!7)t3>0Z--_`8bME3q z@nS;)_fyQ+0>>VP>kQ=YaWODMo3Ws)mAXdTfVZRE=LJd>=r2?1+21JanBmx?{F8Js}Da_Z;+~7I2ep2&}6>djp+-?nQ$G>Z(TitEHdj z3H;{fZKQLZfM&e}KrCgJefF1!MBf6f!bxDTJ9Jg>YHmB?yHz!^J6&%{@U6Ab=r{eQ+*|!{hS&PI4{(XR)p!Ck%hTP`8wIa%!zV?Q`8C6ri$CYlhhPZv8aP zaC-(Zw==CrV1iFXJr9?oIY7vI34(BOccxyRCrOIeccLsI<-X5ifXW4imi~)YY!sMl zGEJ0QMxZ4@Uiv`OTj=u1)sbiuF67@AH#>~7q9m^T?Xj3f1#5dYB@vJkO$o8F<$xNz z{`#QHx6w7AB*(laKSImQC?<65}Gc9Na=gONXs^1t#OHX*5! z_$koHj*io58cQr@+@rkQ?y7CnOfUjc&YViZqvM^~k(<1d+XFJQ4r*(&lSy<& zNkyT~ddK}wgBj07ryTKr*c130P)W~y`d#?m_NAG!nr5&0`wq)~KpeQ)62@~eC-CDs zpckA@=wFi8rnJEBc{#&-W6^h_b=*8GyA965kvs4}h05y9c8>yMvjXL~5v0CAy8S_XR!mBR*_tt7J_3t5GPNrf%Ai1FrhYgspp3RxF(Lz&rHp@#9W-S(@X8z z2^G*A&CX|Rg7(Hr1k>LUPmj#enNeBBpesSm+WV8^6nwWE$!Q7;DY&2Nqmw4u z<2sp&2vqiI4Nl5p5|(l$4x9omq=LOXu;S`cGN^N zyK2|lo*wY~t!r3KrClcX}BH??wJZiJLUmb<0SX08Cw67dl?957wofopzIo78FWPO5u;xLP5$=7acx9Gu1}W znwpDuq2qZeeKRCOCO^cLyvns|#I1UFI;hfQtMH$5*U4U?|1-R^8l(z0;zJKh9k zp9I6a9VN_fdK{3Td7?g*z(3s^Z?k#r{{XPl3UZX=**VvT-C45mkbw`{t|cxZkdW=*pZYME3atg{cUo*)D=xm) zfy3+!3?W2aq?`Y&0Po1tQ6^qUU@kZddWk-J1|gw;2C*%Hc*|#f$}Q%<5lC1e_Jx!d zz5o!|hkdo#h}L^x>SFZxHCA^n^rKG(_x!v^rKxVINfy;yH}I?gw=g2d0nqF}*RJGR zZ%_+($>C13U(*5;A)A-(%?@UgcG_6P6T1q}?#CfWxmN&UCw%^T#q7Yxv0s=g{C--T z&v~JqaN?(qwmxMQ2-PG_a}A5jEXWsPyU+G|pxSL)Ds=z&4h07~{oEwar;w-UP3lzc zaL_ulJjv!dpuer{dD+rDv!&Zy1Z|SX$`s9ayW@GNF*i+}PJ>a%zO8d>w($K8$jvP# zBcDf1!k<{wKK?$KVN}lShFv!;JaG~H8w_Y(s-RM7!%kYC0Fj~0nVi_Q*&9GUvD}R* zG@HT-Mh#BL!i;ckm`9zkCo7Vz0IhXo*?TeAs%@l4Txe&ub@BV4?Brw(ryO70f(31I zMc$C&VkE%PX%zI;lg-A>CJ^KJ?j4&4$3J1PiTx2AOT@fvKuQ=TZxJrQWJN!TQj`8f zOxX=9GW@(!avg-YMOJa^c6@~6SnTRt_#G#oC7ez|v~?mM`! z8Nh{&+-rojA1@u8I%CrVf~0yPeND3!CbfG5ZxI*_rPlu4d|8UbeBLuP3tScqKMbE`%XSIINvMi04ixTYYGTybE$~*r7I=JQE?5_N4HNTFFWeu4>$#P;B zuO~mQ3inOst~7Y@;=@jL>r(K(xQzuy-SDQR`ktr_U}CO0?P)RDH%D_yK$BoPO6 zKb_zt_2_0xEWKD&B8OgnSIxbfHw~iq7u#AyFaD*v`qjjDD{oPw;+-P^F_L>>TRImn zBQ!%Q-78Mn$>6?nVRSsgi#2r(?y0__4+>}Hp?rY!9)>^tbb4rZT9$>~<a5hw_$1n7&>8dNdQRVn@k`Pj^p&Oz0vN|QNfw_M-^I$S8CPx zz57;UM6|%fyUgD6)T@TK^GsA9 ze~^4^y0hTvI(V@$Vsi;@9PBiDh(eN*kc`4jU6Z&uTo+8|QX1#`{2V_z0}ms*(XpcH z`*bb5{Xw>4=8v$RiH6yy9Emh9Gi|wADc{oeCW|oBPgTVNd!9nV!Ls>T4EuoG<5vq$ zzDX6|xN)N^Jh|S~r#Gb$_d1sQa5cjyKBkRijXiO+Am#ykviYx?;w;*HuU__SyL7l%xZ*M}KAlHjP*n=G1^Gl8n$!rsEz%!L>77sv}6K4BlHAhN|uO4uEM4|ZTn!k$1c{y(8Ke8&qy^#3v^uORYp*= zmqXlwH@#bjZrl71{(;sC^A=OK%0;55>Mq4sO`ij^JRA>e%M9v??d1K=MnE^i=5;bv zkan05&#Xm}2JvmreVUY%fqb&Wj8AnODuqJQh#yYD4+5gO`AXZof#&NVHo)3vHQ9^b zb%Xu(-tkzI9XW;2WP@i05=QP^ZWiPd1xtP=?uYj&D5f7$WOI!IQ-HPkAGzYqoOVx` z?oE!9ZPN?BOXP_4u1E!RJDpFTOi*MqRPSJt8{>)u7Q*)0#iXwg91p>_)h}%Nq3Q() zya8tr18Q-TdfBtY!PZ3w4RWw$Fe9@^Pe^W_x~a$V|CRQqL^fEmA_olGd6bgHFR3;H61a}kc>cd`GMZSjaxT1aCazs z<#mtA$|PkQa+xGkDG?`dke;X<={L%I(^z$L zm9E4{;Bmx=u^l67i{H16OEFq#$G18v=Y#QZvZY#T*Y7#Mfz*lI;p3f8bH0N^>jGX% zv!DFAB`==lLd$=gp${FL1fD_SxD1$j5@i{))~a=!(Ty1ypCN@NxxYeNV0lXB@FZ3G z;>4p(2Y#Oz<9f=0E}#Mia`PjXFx|>WVQ!V)WA+oJ@IYUEdbO`g^f29%F=@@Tk1!ED z!RB)pAa3eQ5R0g3t^RF-nLuz-d3xd)3$HrDELpl{l)+Oac(%Y@`D z45S=RIXE9RTDB2s)VzO5VM(SA=XcelBo6y7qzURF+TuB9pjxE!Jm^fg-)=ULWR&GI z@&mg-;mpiGgR*=c0g3cYmIbq4wT(vsip^Niy*hHI>4G)4w~G-W!n1OJVF25D=_Ktu zs`!2ByS`d*fV7F@9voUmj6Qs4z3iJzXj^PhZwRvv*G<-dzE2TwPf6iXZ^+GDe8ivl zQ|>A|q~rsgq!YxVFM$od!w6GS{gXFme3~3#2WS8r=jlUx~PgHt&YXdHF167xMcqKqLV7 zoT)SMxV80bNrNkAd{;k%!O`pFmWX$q4Rgy)=iX6*@;sg>XY^aR?S_yYyDGaz$BbCD z`QB>s@-Uwas%33yKnA;No%+n+mYUUYU7;+V;TISh(OY2uyrv^N{XIeZ5_V*%aau9g z?-5uTi>4Mx;PH6_oxo$yDLt`ELF@ZqcGWS)e5(teJcYg(xk!FswCYr>hD^DqD#+y7!BVeyp?Q zdb~Zsj00Ke?bh<4wDQ_wK_f*5GK1Mi{X-I{4c;8p@dib_zh5t>=t?p^J* z5{*SNw`V$BFlFCKKxmo2s)aS_JZKozH!!-P35^Z?@|7y8(Y3o|;A_afC!(3oks<0p z!Z42T%NW8yp5jj`n_jhT90|STpi#fIE}T8T-{JIt{Erqs<=OhCw$W76z!@xJV?4Jv z*O^YnL$=^7kwg0KFxb+7hGu2e`PZ+egQfkD=;4*z<-4(|sj0|H`}3j{)KHFUXHayz zIhYqYt*6g_$U)eG?%xg2{qw0ntry+IXODl{2Pe>Fp!^VhD`^orf4&C5s+!}yotKw9BeE7RTPRi1s1ZS+s z#>SqbX+Zgv!mYvD@-n+~8i`~vza@AwJ?+>!j^KEwbI))f|48mgH9AhCE{Z91H&!IX zhwptRNv7d*XC+BED$lI<$7|RmNi74*sw!>3A2+o{CYi@-W6dYm96q&2FeFGiZ@lt( zB_{0f)Ib||oMdF)nTl%1>LQffK>qLb;;x+Yz)t`2oaHWmXMX1cs?)=GMiv`PQWTe` zlZY$2B=5jD`gpQ?Dojs%zW8&bC|id#kx{m#fn90>eo?j)XG?&$;RN^@ z^a`5osJ7R1lT-ECXVqr~blcWvf5oT(9T_bgSF;5;)xsvs>df11|7G z#~a!!Uj{N3eSGnsZf0r1KG}{gtgLXDwi87c&3Gxic=7X@?X<2Dn7q#z^d^aLj(sBX zR}H4%=1O(J_gf!c{d~zt&NB@>Lf6w96&yFc99u%~GiUc#62`YJm*bmNaCsnMBo^GB zU6adx-EAYBmkjcSM2VcteFZkk-jpcXd1fdA@k=5gG)=^i3{-sN52)U5jMd7D@K(SV z{jw#SYCbydZpIht_Y6xpJGw@L0^P4p)ImVL z!=aZQQ{ix&QZ(4$+ia1iQCPHehd142>qJrFTEpP_B8f(Wb|g!R-YfJ(j)B=!RWiuz zQcQU2h&YqPsR3tw;&cNw2b*frpw7!!&L2)KAv=B|Uc=flV~?@i;rMc+DoVe;Zc*oziU+|N*wB3km=BAGjfH$Kx(JU2?fBJ!CFi3BP^>LKjfPKs39D&qe7 z)vI{EfFJkkHzt0gDAr1<_}~6|s2DE^51kVzexz5mm2Fk2+Af>?r@?39sSn|mE4R~% z)(mUjR)x|CsB0DD)kwR|>3%3D_ah*s4Ma5KdS_>bTT+i4^ST=1dub6j4DO)Es%swb z-mi6ll>3_QAMD2(Arqbi9&e8_X}D@?WU8>oT93v8+2yxT!^psxo3oHrHPkreTxsX~ zrdPIQuf`)_;=mQ=V96V!Gp82qN7)x&(w~Sew~UbhL~3x-&eQ(f|IP#yaj9J2FX}^S z1YcI!&E*9SY6;6itu)z=2+*6YB@;p~!gP;Uf1mQ(qp85$v-ZTOHr+ukt2-|8>gQVu zvpxe6Q^55J;8-0zL)j{^$zpCDz^QW7^F(d70d!V*4pbZ6$+mZ2o*C3*)0NV5;weLV z+wx5J+ZHw2UU=9R+&hpr8_9=8>Y#dJ_)H(K-*JL|@9CHj$*Qm&fOs99g+@0kuIYa{ zR~GDwqzl8ji^5M$9#FYT<{y9E*T~gYJU#T2Quqs4kSix4lwe|Ic*otTc^a8!)CrRArDx)`-^GF6fxcsNI%)dmMm44FAa0J=IV1=@4(hwJ!IK+ z>8?`mtlk|r_Y#-K*dC0)j1+ok0)F2w0YMr665)>hx*Fi@I0wJTxN*}Ue#RRki&b&k z9o5kli2Bmw=;|6->+BbK`#v(xKO}DBllBIMl~C!@p6%8WMYE&TDEU$*hp zU`pP5#iuHv#|r;MR9I!HOgPmcFm1$}tz*LZ?3uddamLza%2Or221y@5e!5UX_8m$d zlL1Us1%UB%rTgDOyTljGu*!!gS)}GjV}ZUdo;#7)Zwg>=j^G=^d9LJ3A(XrwpzF8{ zz*r0G>(qxhyP5Rn8ic6k%0E{zCr<$Mhs&T$8|FFL=p7HRRovhX%Kt(@O7l=HMLh12 zY_Q@K>7>q<;MU8?-?HdBYyFkegI2on*$T(c4A;7~=)^r<%;mdEh6NgbRd=S~)<03& zU0hzy;uU>E$+$HK8hg^8Snar)i}U*mblL7oMZ<0d)jK=YdVDswP}`C6eLQ1nFgmpQ z$&e_XV5)j|0Y2l_XBcWmN}EN3_5t3?X{58fYO*-Dv2pdKF2ia04-+^`M0sImsYW)1 zzD=JJH*4YKa=A{?6Pnb|@QLwWg|@XBsa#xdDr!`)o<$6zxWQV1%aN(#_B_*s)5-vO z+BX-TKyiM%&EGpHDjw3&UA!&Qb*J*Ffd81?B|px}2Tk+zRfKk&gk{n5)XmLRwnY@5 z4;v-7apPi@!;dWyr;g!W;_eX%*A0(z)jA?-71aHq{ox2v_c*OxB<=30LL$$Ksa{Fa zV3tzHT*!(NFi|?qpWOr&*vOr}<(_zXjaL(6ACGds9VJf%96p%U@p&!P_k%g!YEA$t zo*sHFW7uv|WA2RC@Y}Bs-B^9_BT~GcQA!8j1_^t<rKNZBpxWp`9jHA$SiN%+%IpHG=tTmiD!aF2NOf9sun8!rqw zJ$Gl~oUng%=&?}T$wv8i0eLsfv7I)DurRfx?N5d#b?79Lnv8=zSyRc)Rb^1XRHJX! z2C$$EZ4gcch_VLfRgzk#(=w1S0Mf2f)L$0^YmM@BCqkSw?E^UVQKSb85Y|e9s&`W##7osF#m97t-eYYXj8pO zYggStg~-KuwH85qEV#FnR{ls**g4ohApBYahSlJDygn67_~VJSJgaFNCEGm+ZQsef z82zh@)0~9C>bWcQDiKQ1D#`b6Q7Jq?Q<~}3$@CX`BB4xS)EM5Aa9&Tsn%|EUxs;88 zj_~@rTv(zm8r->He!NsY=NsGKpI8P2E5KH*nrXc&*8~DjKHWTQjT85^{pSP`9WB+H z#AGLR@a5KG{k{B$F`*#Pc-RJ!^rAm@l0O=+~9PzK3u>G}g#b zWFE0bPWxttgeWJWG!ZJ)KUxAj%@2l!S;Bs^_V`HxZ}6b7a%a+r+T2@euqVN6Qw#ZH zO?bj%zP<5FTgc+VczFo=>cEePF|z&@cPPGIJQ@41og=zSGH>Dj#w}d>!B@y&RmxhB z)L+3NWV5{J-NG|0%E)Xs)vsfwp7)wCLKJ}d{WdZAZ zi~^~Zi+64npTu)K(XD>GgWX!{SJ4N{oZ8?z`257fF#;aN zwma8J7)4pmaYv(eSbpoVqWe}e^ny+``oT{_%XN*8x2HI-6QDF`ncq8@QVxGwvImKu(pgQVx1vTHeK%)~@dZ z%;uv7M&>~75+&JyI1Zx~R%wo{tIdk?J->Asu>zf(ih_KowJe_HH#xaWKWtd*DrU-BL*-fs_yj*j-_tvmyHIq|7LXbm=bql#tAps^AH(7=lX zcKgmh2~ulHQ`U{H&dx)2`J;e;KtxGc@oqwCXSS9Z&mNlxKlEIzUVFO{_Q1yU@ zc$ELNLLHo`E)Qv5GjGz4VCtZZIbE6B1v$)=UA^>Tpvr!D`=5XMBl3QgI*b;8w?hnW z9s2S^>pbwKASQi)GXDsR00C0ps`zq&V28nKx+cgz-XR-a=oiPIMQT-({mHWUCD$b(+7qb#Rb1i$0&=bcN-tm}hqQV&S}+c$CLO4Ux`YFk;+FWRM@ z88N5LQEr0~ZJ4N=tM~et2Z*mMO2@4Y$j~!reVnX8tRnVY#|xiIB!iP_FXH!YPg3&t zTF^x3T@8N|Q|I|JPx$V_28~U}asB$-T1ggQmUz&=s?2miC2)X2-O!L5{FqJ7o8ZPtcSc}DOVfaQpdR;YXgt!D69PKFYwfgb`e*x1UA% zsTCPCX6Hc3UCEydfzDE}I2aNqX*>_AcDD#YA#2@;8$C65q&yx1(RdhI7^ z6OG~=P_In&*!lZEvashgvF) zoZ!c8M;8^Qb^h;jQZwF?3Jj8bp(fX+?mKb6(M1_dY?&rZao;02{u1`>`sRVlKasA? z9N*!geMxr8v4iS_=6s>!YM0FI{uvo&B#g=Y96+uS<~y@l?WZ{Rt7^av6LR?^*_5&M zUr(yajVhAi;AO)OmPn$S1Tb9YCO>}*%_?w|B!2tm_DWS%mDiwC+n>hh@%Z;|#~uk? zQ$SDG%K5I|^YF1m;kCbUBsT4GH|2*~-}g`a0K>6q8!L|7i?U5=2!h|EEi`4{7fI;S zPQDQyRHyy0DtKkoBkZIgF_=)c9X&n%8&izMB1EyEszSTqeNI`u!|Cb_dJ2o1nwmhx zuOpER8W*0>IBg-hjcea76-|17iWj*gC3PO1tDG0^CzCoC$7?g${o6HPa!KQ9Sp)0r z0SFOx&2q@vnc6L>xZ=v!r039Ce1X$}pk;!8 z`>!0R0OTtD6h7+UgkCe=KPLTlxrU~CdUzbj9~38OW<5D=r065bdUQ01U|CMI;iVlJaV`(N+-@;3k``@)4?Bl9jJW9lotXX`_j z{ldRefbKyh5MaXp?XOhp{_Tg@yZ`e7ul)b$6QnCR`VGG0s`Q^~O8YLB)$Ll# z`>OXAP5rIJ5@qWfQ|wm%ewPMX-IUzJ&nKGO_wSEAAX!-YB{)&F5oANiu2)qs(VikY z7hO#!O$JZ7TOG>2+kQfoDl)aQ@Zbg{ZL8O63JV3`lWwS2Klw#zU&#{LUqX;+ba4ltHjyVY^|(tkbK-lDX#OnoPe zi{+}dGYgpY!UK9rX3Fi$OZ3Hple2ROru9i)Ou|hRZ)vJwPk6YtA0>;i&8^>)%z6m2ZD?IO#6W@iCg@AZUNE5GfQr z(N1E7WQs@;S4MkEpVef)|JE>T)gvi4HNi8vePkUzV9Yy@0R#Ee43g+wfV1U=#hOVg+_qW~?hF=v*1sieKKW zjZj4ON=i9bB-&;C>w`qS6T`i#pC~r#q-Qa}{!x^my<7o)ZL0ZKUYBNMJF3nofkf_vGDYn4x1kW?JZ7H`gURCt}`oi-{Fo&yO zo!|zwO_92ouTl|6GQyc>K?L1+L})S@FS#@IPD9<*N4o&6c$Awvh6YTI%|sBS}Ly zPL-KfZ8p-ieW&F6w!-2VXQ@afo_GhTxj1HIAikt=?l7<8V87fvCljGRTU zNSu%7XJV7^(%8D@g8m0EsEz#8s#Ny#eiNwE%6yw2i+CPXOgFl#Y1G#P=H|^TrR8AY zcvqkuPqP^-QhdKh+!@sh)5r?;r2U#%>et7kQ|l50DL$-51?mUk)sHb27P>rZVN}euIO|#nRlCtZhe~;mW=|-_;P{eYlIqZ3P0B{jV2RFbl zK7Ya_EYsRLq2sjF@fZxn;#@%Q;%JNM>dtH>)Na7MTDdFELobyZOu%!4~7b6nL5Q7z1!!1OQ`#r!=fBjogL_ttdKu|zhT3TvQQ92}s4rytLp$Ak-ItNf-#)w{{zo=ZGQq6Ih@yZz2i7uhiEi_Chp}VstnW!x6i?=ZrWg?9EJ5W zB^R9?4`BvdS6O1ulv!JTh(4X6KM`E z4v2%P#z^KZlu+H+2*;)Ffeq#{mL4V-^|=X!-~a@TulwifKp13K(N6ScxGuAkBM}E({gNa zcIfSip8f#H|J1*;VZprt+Onkg@gj;qe7nc>)UvEc#9!4aI=}lYyC8j1Ux?1gXP64 zCOeSCp&9jGeu=e*n#e|9v+jv~@G+uxW%X)RfUhDDOD`|@rSaw5laesTQqMy!ZIn$= z%0-E!^frjbGKgp>0ECrx93{hfYx?|GclQQjnY#Fp7qxIg(DfXw4%R12^?|jWYiC3k zs0bX~vklZ(k65bLOX6lguIP2^(2ScJKwnT6}&}65|8M-&UFCOEearX`Y zm&7R7dNJeN`UuuUA#29QM(sVssSl?f2aqoT{-<~J&kk8Iy#2weI9K9=E}~ul-F7W+ zd0uBCPfXPj04ZZNIdL2BopV2xoj(`XEO+}^`n@kFbMK!t>W^|W+IsA=6i2gUucZk5 zJ~8_CJ7qg8MT6{X{zxuMc({_|+L+OJ#epF>s@Gm;CS};s@l^=nT`R+0-DnYgJtUqZ{^DA|D*o(O9$$Xj2^r)s3D?c~>5*L9X=&=Z z4y4m1i$5XRyHDdmO-(OufprKTK4EZ73_yO7&{sRpeh#G+c^grQ~R)5OP^yCOA97*sHsu$}DHjp3Hci`lj^6apv<|X(@x4pT)7#`JKbL zMaQ)vN_VuawD#E{a&80BF;VUd?jCM%wlnX(O_N(hb%oagy1xm=in%)iG=&eh0h?yg z^_90_uij%C^XO?LToinKPEO1f*T!Ey09lQ3nevzYgZ@Nhk-!r+?r2Vs22I=it8)u@qbT%|&E%LG@WkdG+&qClwUU(xE`_Os03b z;lsyh(X*b_HtkuJS%K}-28m&e;87g|ysj(HZbUP`;Iq_{pdRU2$FjtDr##9{+al1H zh`%}|5q&@KPA5>YWB_e_G|ym2s;51$G`ELg=l=Y8%8BtQX#Oeln4&i&u0}#>bZ~f0 zFmk%NO@8MlGF^iuLbf-2s{>5;7ZQ0S7fvPOzY(7=^%%Zg6SRC;&Xm^T^PAVd(v$cR zOXVX$0r3&kZuZIcR%=8gj)-z*=o1TW_52tYvi#AkjcB)(>3$RDwN)?o-F9vX9~Mg9 z3?cF90&ND%nbeTUdUrK&U*q1rIODvvOwK*u4uCCwLyDWUU@bSuJn`A2} z4<+ zF%0;_YmNH4wa%xi1ie9TGwsNTe5y_tko2Hdz!$9E7O z>IH&@iB9(_iT?#9&ET^D`y4l9i*2e7CMbSj6o~S;bi#>@H$+`Jg2^uB;8HD>U=vAt zXZ2cBxL%zLlz@G>d-B7_66K0~cZ=Q>9{);sxj6y|Mp;4K663K?*%$`HcB|6GCk{Q0 z3@$+>JIF8(eAlwdO==4R?`x!Z9p!2Q3zkf?~3+y|~vr0rt<+1I6~r z;&2dbG~VE8AN`x<^}*Hz^C!*Qi1(0-G-be$jP4Y#+@lnhMV`G)-7Lgvyzw}j%$+}( z=C+Em00sh>Ok2o~x^X%Gd5;(U$Qo=K>3;>0SO(W?SxecvItukz{aIHQY&cGVK5`Z{^+ z^M>b#%f=*eCn`8?sA}ng0;R@lyspZ$H%jvIa)zuQ&~zR{%@p9hs|E*Y)L|uk)oI zG*rKw`6Tk7L=oJMMldB_$2%(Q6NVW;k>5ed*h_nvGV94$8LP>fcGt*b=g?aT`W+c#n5iP_u;I9|V1eBS3qK z>u0N!KSXNQ+u)Bkz|!@ItJ8dsJEEER{AI6k84g|crm)zjbqg6!kC<(DaAe9Op4EK; zxK~D#RwY7OW9JxL{Y0KgmfPD_zTC?MGO17a(t_Cm-m3i^KnBf%W1~B|CCX@?g>N8)EJtNAAe@GJ)dEn;cx?wVw0ySqa@9`C3;6BK0gm#sdS+)F!pWi+ zP^h8~6^*p9LJv_ev#vN&TI6qYBu*0g6*xF1L5?I2GL2x1%chLJ0!-k|afO(D|AE$X z87ENev%U#_5Pc1VQ`8bCX27sZL1OXtY%;tn?+s ziSto{g^gF;%5&+A!{$V;`1{R^jvm;GIj~IhenZGfzQeSN!Ii!Iwl-SOLd_DD@ZX|aEFl*7bE|YPozZJBZh9j3dA$goC8Cyt<+Ha&GXy%7LYzMx)FC?(#-(P`|A#d#faMPGLD<}VXQ(pKwBs9sxeO0bcP%H<-ee&48{K$%fT62^^4K)UjJB=9 zp3435#>na@8K>&=*5w>F+ciA$VP-2`>35=*pnMbuW_pd8Y}pu{voqsq2pOv$Kyd<( zU?T`5X>Wvk;)KJ|{ex;3x^+?n1q_{0eAz=eDtxUU_oEo3_uxNX`O}|^F*3duwA13g zdNqm&`gE-lSRL8l1d~^;%=oS#*oWJF~ZNFP+E! z^e0*cKkh_6k#Y51`qh8CW@QR4gQ0ZhmUFn}*oZh_ec_#5W7HKyzfP1+ke+$sfZGX) zemFbgsR0Pt9xkq0`Z63KPaEys0MvL21TnR+O9cZ>d)YnqEsjM+L)4Wk^&~}pnqYTM z=1JyhZ{Iwxd6te$dNuccDz$vbep*U3Bh+BAqy2IYzviCl^G}NuOikvuZMJ4=ppD39 zswq-8TUo=Elm^PC+HeH99Eg<>L-u)&@0VP03qN#e3WPC37GpGUa5thV{C~=A`iPp<#1m2^Uw<+}94Z zq{qn%AWgJZCoQk~yf>H(l>7%G6*n=0yO>_$uC1bUa7vmUO@uwxg37h@IIB~O>Pte_#YT-8JN!G-o5z9^}WKZ%Ul*fg-wGN z@tC!i_$WqEO5#}%i?v-TbPsAmX&*h%qUzQsTCYERVe;;ez|RB0kN+z3YaNBXF(R3nz{6>lnkY&>?c0v0jty?W1Kn7Z1xC{jEj$70E`m=9fSLEY3$O?HCyll15 zpazD=rEE@R7cZ3ljjUq{r;Tp_KyKjfob>r%*y{umU_lv>7tID`%Lit-0kg}-hT5HQ zs-JSOYIXd(!|q&qIbRw*gpCFA`LdO}3TAwU2S|SzR=j8OCv5S8 zse0wmmAR}>a)D|%N;fsNwpRHYKTR~SZ-We>P}9ymV_(Y+Gn=6OPExF!f;xfwMZLu0 zPkhNrHg0=+_pJsLH`Hj+30hqn-*mZf9v8q)kpGBA)8sKpp6r1si#EJ$SccfPfQ>$<^XA$|9pJ}iim_m3 zHAwS&z^TL0f##b#O+IDo8jHq0xN?ODnxir~KNj#%dgF^u^35P=C_20l4>d8G!s8yA z;^N>GLpW@mNaJ~S6r~5T&v{=CNQe4}8bF?_eYFcpTT_rP!Njqb_50YNc9NuyY3h_j z)(^eXeNXeD5I>{V#hF<^3YSJ!eMaxm+{g9tzkS7P*&7pOFWH8@ba%+Om^-2ynA+}8 z$8usdWZT1@P)?+W041_`sx6Tt@RNcf$pqfBS(xbD;*_c3%M5&&Kq`n(&mELW*RXAA z<4&AxaME?Loqp0rvN2l4Em{$^>O?ME8(JC|6!oFiHoneN4OK{ z6x#ySwah!_(EHnx`_(l~s5KLIe8T#i@7e29<+?M=T}VSfPN89a0NY=KQlnH-zkUC1 zJ$Jt=hd{;yN5nc4Mq^ha>fm|Y9KNCNoMsiG0#r`t>>4j|7A2ll>N7PujIK z6v`JiPuO6iNpOV?cu?x+J%>2u;Z>DNWFI)pIdMHGmP%e$S?;wO%{37*Obd^ssCMsAscqCdYshMZF;r#C2 zC>(ucd0?pJ``Yp2=8962UWbizKOaLX@4)$9)PG;NPKS2&C|K@bHTsAe0I;s(O6VpO zwM$>)rFSjsQ>y-N0{IJv+Gx2$Wr=uFCb`xlD$oYTA-$7WM~eyGc-jnRh4Esm3^T## zcE=lY$N2X5yxwy7OpQG;u-h)H)2)ipR z)fWDI0>eH`nS0D{T>-c8RN+Bb(EKrY?m%lITPonY6QNCc^4qon&?fVFE0{@3U!r1Ajw_pr^nFv(##Qd z`GWaU&SKg|Bo}t%JR9Kg^N`M~2Lr{sY#VubtYHs%6aw`)Yl?<;`Z7#fsdnBB6?5OwGAtOWJbYp~wstOq zo+-jo@GgWXFZ^wsDs!H;$u+1-UEn4?#CLRq0WdP}%C3@#^Tzrd+tkTz!AB?1;hI3@ zWV&O*H)Ero$_wiqCIiLTK#@Ih*w7PJ1JvgX8O!Q-_eVg00fXlwsRx~E-%I%4Z>Nl- z*!9vXZada!80{d3=PIxrh+u0Q^gBfm z0~qnE<~lCQ{IG($7XsdBna42OEus*w$IWg#2Kv`G69w{DKl7%Crli#Ny#QTJIJ+3ambou8dodGOywax|)9lTT#DMP)wv?=E)%3*EkRw+Jl5Q9zOoPiuPq zW*Zar-18ATFFi8LPaCQB?<7K(ug#tOej|37dB6iM2c*tYrPXM-`lQqbMI4*H4gm`K zR2NDM3%^@0c%yt+<~kT^2kkk*?4CvfT>;4&o64fXYM@G$F!%yTHNaFc}AHd@Eq zgUmVeQF40jAHU3G=k-xU)BKAzk?^J*MfK1fhs-B}YmFETDk#9}0XO^B--p8DhCU?N zqxCg4T{M)Eo^$12=;tb50YGup#;<(_^} zt>H|u>EAy_wRsMzr{)vt!oYI2&;g#h&?5S;VhzqsTF}oR4Lk;PTAIvC4_N?JCqnRS zHlNG0@)ISm>36*vFX5hJ^&d)5#cH3+PbZgobL#+GxwrRiIDfC64Y0nV`Dti8PM~?K zXArE=KZEw3D270Fpb<5!EX1qA38jFQ9Q!PrFka-jNIL;-MO7y+YRJPZ2qwmCHQkuP zD~qz9$+|55iE3zEyT9>K#*48+AKB$Z{ZR9hF|@GOII}aF+t9lsfoGn**m~*r1w4*q zq|qjk*}0)}VbM&7D^bXHfI{-AeyxiT{wFvbUbq8)Fj^)czIE*M^&&kRcX75pH1{}IcQ5Gmyg2(hd))D`adaf7Y18iq-1)hBrA0Q)d4}C!TvSR7 zlP<|IY*hyk%4~YR92Yvc#RJ2mULte*4q@Z9-jyVi%^oxmwdC2B`PVjzuxU?vh|RIgf;2>UV|T>qw;CltQK+; zCN%VA3c3CUY!KDDKri$g6_l&2Fq@en;!iC70kqsiIyBNJj&hMYw%V_) z{^}}NfVW{;)!4{56_{Nwa^9Lj-RM| zFx>P)e629AsIVtO>Otk4%WFD1I>+sw_(YfZUp#dW#Zt~iaAZbF(Hw}L4ZSy#nQu_~ z_1u4g+y0(Z>Hlhb9$@)s(RB{~XAO$hp>>7u{Jh%fJNpi%DV=)67=VrxbLK zq@i*;*|TTV+?2k9pqk@#9{T|9K|7JHRtepyk~dcGmJ!Y(IMp;d z5ykI3CTA{#y-vH;sVCKvn;`I0ES&^Ho_<|832RT%cEe;NT$fqlF-r`K4=12+N5`s1 zR>QEanQyu@qP&and?DIp?X*tI?Vvt2JwJgBRA@VeaGe5}PvYnJ&COhx|F~X_V~}p1 zx=0h%-Mim?Tl2zV&rc85konh+fiE;GRR#QoEIhjPYIa`}MK^K`LjVc6Z;(w)*z4Dd z4B{IIx=hD7y|@I`>{+>S4cN%&^~Ny$*F%p-<>~|=$*!VQz#@Zws@8|x!Yn@lTyVoz z`iMEwxkH9=((Ip>3(O zVc?=520BdP@+)vKD24az(50r#ba8?X6!C! zi7opKWt>6lE&c2(SH6Te7)nAP28WfhDGuG&l$q#T+2YIU_&I(#NcL1Mdpok1AUrZy zVC}VMQH&blc2Bgx$fy(WmE&*(2%p|j1jt5q?85)9mrv-!e9#r#F9Iqb-7Z z5Pnvm-EBXre)k1+`ptSOK(C{7#A@V_3~D*@ztS3=JKo)E3?tNNnEHM%1QTAMRjb|_ zLB#~n@Oz~wl4KFt(Oy#T#}BvX9~vFE))W#I7bv28T)-MzIWHl6=SbxY;zWq7%a}r| zht?&i_=13d$0LXM&AoTNrXR2jyCWZs7R$e1;k-5%=s7Rn$h3Bjpkf^nJyLfEdeh-TdCn@kdD`riY6p zX%%QW;OPJSHe)iElVi+lzrqM1I+)@7Pg(cH4GgBu?}%h8CMtd7x6H~OK5^Q~FnVq( z59*~t%{Z;LZWTnN6oCH$8s_^x8OZ5b7o)ID@d&ZNbsgZq=)MsQYPeiq@mrQ^^2M4w zrF(}edR>C_&^HoRTDmF}u-8d<$X-W090`A}=Qs3b{7dJtzFJFJBHcsIjb$ zmS>Y#FLP_X^+rk0xEU zr)XjcHtjIv`nmlF81tQ$Lfzaw6Q?xQhpXc`_0x!!aLtKbK!6+&T4!o)&kcMxVqjIR z$iZKxaoAs-TN};Yb!>HVy5~b6+crkxx;YK-hc;SAhnW}2{1wTZAW8P0>`hhamGl-= zArVo?UpQr>a&X2Qa6(l`n@Dn~9iiP&m6ufscuv7oQfl}o>d@g03`#Cr3Ayqy&m$~Z z6op+rIx!EcoL`)uXYls+#-&hDr>V2x50P=^@l}BgjPoP~;5Q)Ywaj2k&tt1&tFEz| z@)@X>Rg;ygv>FcI=BW%-|ELOWCn0XI>^CdUu__~eBrwv|KRDl**o-7O0hfE1b#4WS^l%woq|B&iF%&_mi+k zEZenub>SJosUpdlqm_OYxtXINOK2bd08= z?gekV4tcMEs>EYrm=nPmvG{YeE#kIq+cQj@D<7lQiR;D_3uPJ#fTgz_EDfnx>yyWfQPs1~al03RP#j8H0$X<+U|7!-GxE zZrv*L_e-xcUVW$JGmo?${k*Vab_sr?zx@m~4h&k#7CmQ<2HQI<7Y$O&mdS6iFz7AAk5v2-7M zc7BcFoFv*H?(dd73~~rQY;ME$;(3A(IIwK(i(h#>?!91y{3od4;1ZsjW1GCq_YjK; zhbtuF?x{f5bB*n-RRPsw-FIU$P+MrK5gAI4{2{FraOXN1Zcy2f!!tJ@5 zD#)NZtOT`CW;G~qOJX4!`k+|jxI7~1l{bqRBI7M3o_#rUkXwUcfYL@Z&JI)Y!pCufN-o+NPbR`LwXS!{Z zs+PQ^>p-wqkto;J)X09)3h47dnAzn1GptejuE9G61ZinQ?80*Q6lepXKS;s4p_e{xN4JbBwp9? zV@fo`dslF0{NpU(3hr&EgVSA%e6#$BUQL=f4iU1n+O$RCD9qC01hL)wVNi>%sDm`Idnp{W;796EGQg)C@I;HxwyH3zPa<-us zdtgv+hJK#;jCK>^G?!p0!e?tC0EB`-_XdXa=L9CVhprnmFl!b84~zRwNn!b$R3Up@ zHWQ;ok>1?g9O=e32nhqAvXi~lZgPgV=X)i(Riu`7QEwARFSECXpBgXDJ&*g6vFx)L z?Cf@^f9n=W+-HBHu3wgezY?E(h_=P5zwQb}AlyeY1^;HYaJvF5k6t9^D^4bz4|2@`#2lh}u z?n>G>-b_6Kc{qK4!?4@|_caL4=I={|QpwyV5me`VTVFrtDv+(o%uPM5HgvUDlh~$> zCF!9WLfc|_h2l6#PT6iPm1&W(8ja0 z0}E3J=E$n|J;f)GN@<-A&5Q(q6}&f`qXP9lw+%01tKFFqP~A!v=_l_?65icw5aH1) zv@#?APAo#|J(=_N_V68~Uqln^a9SKr=k$x{Vi@H#*h-u=M;gQY`$4pf9M|zltv_Q;IU5`1jYjYzOI45{MS&Q9vS^3iv6@7IA|6a@a*%S#*b*0n?t`I&li_j?fVRDNtI+MBe@3V^N25w zoIa%h{m^$BI37v`#&4f8={UE*`c>4mal8pt`_W^nHq4`zxh=)^#=ob$Fx(*5*u5cH z_wVS;K+SI8iN(F#$>B6~{Mste2REpe%4>mX?5`Fbdjf@K;e4a)v-5q<#?ViGz>b;d z9oN^lmwxld3u!*hnQ!;E*`@*`3Me=#G(HTFc1^EzBDz2(t3;XgG6^We?@>@_Ztwkm zy2@u73-~)=_(dk{vYvyR?JzO}kO>YYROY%xBW@4aUNMo86fe8Ke}96r(KaGjb(J9J zdroi!Dl_iiX{Ac;GaD&oWlH|{UvNp`;1R+}K(Zb`3@CjY6aC7e%;c~uoPxNsPW2qM z;DJb(k#^w3{E8i#p&Zd^jUz0*cI9pqRY2J*|1yxiMRM$Na+_8CDH`(B)ESJ2D8)^M|(8w99qPLkZ;;?Q16h}Z5ct-{ql=g=mhgeWmM)D*AdMby z;eLrfWuZiqpRKPqmEqLuoz-R+aJ?(9B_O5&c|c1AzFKq#Mp`ben8Oog8;xwF;kL_F zmG3?YQ#{>UOXw)r%IZ8IwpPT3rkk9dkhr-6fkb41HhgieMIN;K4?9x2xm6Lx0@kBl z$`Y4Z+1BdCX}&fkoNONpxf(Uv6pZtx^TQ=s54Wa3sQB;E^w>-gfE`f=+f1U8WgJr1 z`ZLs_20XCLUwKu6R?HNr1SXxYdPQ9LI%i7Ct0H_N0tt4BewqA|`W3-u`WK{Bc}$Fs zYC_g0$LT{hS7w{b;8+cDar3#?KPP0@H$()?CXZN8M2jtYy?4-tjiYe!bnWt`PLK?< z?_8c0_B&kgY8OynpQz1#l?q#1{R>hh;#WeR=%C(Pd7RBKD6C50`G zV^*Z<>_wk(;h4a^=ylFP^j8}y*0=iY?@1bEkatt*+Cu*B=v2JtV2}!rZ#X4s z_X|?XY>S^#q>#NH=-0k%xHp1ikd`JmpCbGxT?b@*dsn`neocV726E1U@6mKGhc3&6 z`*3qAW*Sa_{ruph1{k<*{JS%BbITA=6tWr80wQp-t(pDX679vGy`|QOp3%{3#8p$1 zlNZm_kj=V-xyVjlK*Y18rm!%k;>OZnWt!^WcTTsmv8w>*FAGZhmNpjoia&FpgNnAH zL_Aedor(Q;#RqIdGax|~7KdDLUYYS4le+5KYMH7{WKgD-RYTb?5gG)522hH*%Nx;)jGkIKW4Wd ziM;q$)u-*0nosi0K*VU^rc`OBo3DC*h?;ol97Zx z9Mdqed*jcZ6-Gn4Yz@uFyZ`{z{A_snVx*GzNvG?)bo+KQL5A9HZFJoWqYe<~__>&% zV-{YwxEjNP1CiedJ=YN%kSbF3tIqwihhxM!H!RsI%o>oLh`aPXQLn#*l zp%tWNs+@~KQ*Hk=K`Q)-Rc9&49&qWmo_#0@rXp6NmR6x?%8x4k>|2#cHq}xXJtT@C=+Hrub zerYrlC;8ZgeVEaVda~HXM!eyimp2G)S(v&rHmw~(SU?Q$i5_r)7dx!mwc1MPK{4mynuN<233XVB|{!Trp=? zJm=u~ZGkkRPqx?&1Ye-nL_@ik_`WFcO-BsnKn)E!QV-sQKZdZy7e5Sc%l!!!x%{Pb zNq@{5Fj<)eIt@xV6%`2fPLpm_P5+c5SL%5{(?^lSD&BaeepYr;_R;p{zsrlvJaZw- z$rl#}^$KxZr_wH)lbmmYA4+}0`22|k_GL-sDxlBnM1&kaq$H&Um#N944*p-Az1)eG z6T>Y6t?Z^I^N7_qWS@yBZZ}i4EFsCd%-WQiZ++UFl86Vv%)#~}6o@XRWC&UDp}5mY zMWbf&ZRK9g;)Cc&w0LfO!`fsI2#X~70@66dkN;fTmAolkNSYkm)s7J@Z_JHcnGa6} zIaKJyh#IFolSDz=SS65@m|w{GLlui)8rjZ)oaLmGSYwa(_7O|nx}CVJIRgGHWh8TR zKv*dGf$TbrpLMh{L$BCo_H+ei-!|$_dF_gU^4g1|&+g@>eUVXRCT(`&p{QC)oMa*o0IIPYzjwBhGL?| zS(({jdQ9%0SP}2E&sRZYW>x1*fM1=9Kp+1G<*XZ%&0vQ~0AbvkTQSdFn#9iGJkbA^ zNfBdLRqjfMr91&8UQ~Bt)mIv|)6;!y1E(*+KADgZhLUw#QF7+bK9OYi<*p_ruMLRN zsnjrhoN6Zpz6IjtwNsfzIkISH$jk#ualW#Zx3HI%KIQ$4Y$7r?8$N{fea~@P5$Cs> zW*Wv+o9ZfEP$-p>0zf*m>!R#N2E{$Sm~sa*creFrUz$PhX+!Z;eY$Xp$FQ%<%zpn_ zh^xGzRxOnsGzXV}%ef~I=|=fnXmbJC^IcsdcC3zZfoAdUVN_woJhnd6kU+xrCi$Jw zx5D?{J#3{sn4OKW;C*lOF{Sar+0$GL0`A#%1VQaa3dE#zycW<^O%Do?j8C4t4W|*M zt7^8x621j#@uU)H3JQiFwVj&zOexb44-wZ3yewq?+9)XK4pfT~=nwtxCDh33hBpA9 z&T)3#QeS^eJS=db$FT3gU8$cre+miJ*i#Iqvyc`$J@keoH0R)xM1FpO$~h7cSe_eM zSdO54lOQhYMK|=~sunn9d<1;Pg+<{CJxE}TV+aDC^Ki>rZI<17hWzH%IC3J{oBRlnEFc&|$ z6U{QqaOaoH`m;18q&J=G)@0O~KVjRkUgi1YXFvZY>s4zxeEa!I{kzS|`)0?mRV_R9 zwdZl$t^*eB?+%2!btKHwqtYrL*9uCJ1z`Wjj0!@3aDNxhV@X< z=JhH4conb~x0Lg}T4w!+y_Qnq2xkV+dOIGq^K7H%xRp~N!|6;w{Fo3DZIe*@(FF*z z2l7WPYTvepJ^C@X^5+Ren^*n^-m$QdRr7yIU}63J*;5ix5u&Jg-@x#8fE@<$VInTM zCotBeq-YQFd)I*6#FrnDoTFQna(1>G0lYb~Kzx{7^wv6@P>f6ODBjQSItafSS7@fq z{i7E~RcQ+H)_{)J_N&lV#KU})-3)42J+&I-Iz<&t+w_%0oo&S<_de7DzgqI%DiB-@ zCtE?hlY|)twiFOg6Ts$C; zH!2vxWl`Fa1Z)Vg9EKgn#eteJ;&n)%A{O4_w>cXKDUeF8-S#eWHK(;4`|Wrt`b;Js z(!g)K?btQU3C(-%lkHKc!(sd=Q)vlsZ#8Ek`9Tcc*V$03VK(5`JwLUhn+`LRK?XxPH9xZ4!w7H9Q?Q(5<3!P|3 z74Y3XL?g-|-EPX&v@P5gN7Ndxv#0{ZS3Stdib+S(@tXu(rY7%v;8qLR%ozJD0_l}5lZq5gF96!hi@nMZu- zIBRWdXt9QHF5sy0T8|Vvo*vj9FM>04R|_21AES}D*3HZ zpZ7UI=NM1AbLKK=G2_t`oI|O?7R#}uj~}N==Cxj#A=nU+2_lUuR#llD`s90~Yej_t zr=^VJ(&o4Y9vN<-F;O6xniAokNB=8-CJyWR?P#%!|?Oz zJgbUq3+4ur$r?{-ytDJgaXv}11)yAN)v7#!{@Z5J0$qKazNl+Em}D*hdCCd=8^3Mb zAN0&WFWm-|al~W4)|+;Gz_k@y8~Xpk06pOWr3M2?8jXueZ(VsY4Rk3BKmB(dR|i^T znwLNwtnf|1o(@QQcuuL<{s>v_sN?caZN^FriuCK)z-bo}-<+FcBV$vK1)8}vqZ?qQ zm>GDR5~nJO^|?Hk29uV;{H7Z>sAx2engFC$CWg72^Z~s$bv%3va&8Jz_sllF36PSz z0IfOOkyg1mXYQ$zxIU|E_u8=I@eb2qS*T2d^dcK{zs%?8Zz@S7JIt;j`477A!z?|o z!@wwT1mb}*J{!QxF?$!ScWVKYFjpl#Yp7@!b)j4MZ(&=Vg~!`z|oye4~*tDlLL_LY-n5q z;b8!%(<1-eb!Q*fjTW@6eNUDG)zzzYQ(@9+866#67n=cD?F3P@65a)uTOe6Au+tE6 zBJ!3j$A0>DRNx(&U{5Po*<_Kh=c1x4C%j7SIO))t*$5g?-d12QRBUrcd^PXs)&Y8; zwnWi`r*Hf6u-`H<{B&4E8r!I0or|J!{;0;*y?DO@p>2KCwmw&!mw~aDMg6*~-K)6L z%0?Cgsef=}Lw^sO4<78o;>PvQe*cG#(tUwZ3R5B-J}#GDTpeVQwi z-Ndt(pre^ZSvypa4Js$i8ryP)pZ*WR%%B%l=eLzOF6B%aHqOupoGV=j1@&!l3639qTE!(#H^&Pu>M$=D_j z%ThsxtmXcO8Lg)_$OK!}^#V$tuC*=$eE)f!CARhiap`a^Luq_Y&U<~~a!_&aadfv% z*K_d7fnF+J`;vo_IV@iv+N3c>YNB86oXBk2pgNG<``wPpGFd^d~&QNln zCMQOk*%WU5gUR{tvsXgEttm(O-|znW#$EgWr9k~JRpp<<@P9c~<-dtdgeMsflwDms zZJ;z;4|pIN38-@I3JiAKg(RF6+;JEFK^zT3cpMaGpD2;&#n|TSB^giO0R*G}gLj0( zG66&ryUH@bcKQS}bB_|q++W;n1Tny~v?b3%Kp;yakD<5BJqWsm5y1eX2Bg%-574f5qD%Y!aqh*BFd~(4 z-GC=wf_3%2f4up5z2T4}f1N}}N9U>M`LV>ZpI;oarDY8BkF90*S6tmI8{&t|hm)su zTUW1GY_IRBk;1o8=@!?>{jM)Xc8FiYp|FIxCpP+R>UJHXcF>|;1|sZ2hwF3DrhllE zPU#zZ_cxYm-`7c(Zxrb(#sa{D`H2`EOdGh29}A0jLtJ>7mF%W2XhZsC7xzBIJVD}_ z(}skG#E4#|ZzLfC6BCcfp3S)I5$he++4;C7O)l^avM%;)GMk-`FX`PojgMG@Fwekx zLN2PYX&ZVJw#&8eMMq!P)f5$sPiA~~{g`e62;5h$xa|Qa?~uQ4cnY!BpTyA}0l$jm z-Lxs1Zj_qQ1~A(sYm5|(bKrg(p@|-We!HR&lqWw%$-i=Inn`RebaT4fc$r~KoxuVRha`HbvA^3Rv$tAu)O84s0?i#iOZrX0RLL)Yb;@n~M z4W@=`q6gORQWWGODW$!skN5w*x%2)Hc)+p$2@iPxf4~E>{0|QXrT+mBnEXHB0Y(1@ zexb|%z%N|?-yaa5mHzh?1P8a||DH2AxxU|u`;8)08^<%%D!t0~kI2S9>=A~H`&STd z#|FO?Hd|V{9#s3GtH0bgu&>JUWyfX;G>a?5tVXy7hax%H5H-8}QvLoheh5S(0#$vJqm$$8?7cFFL5-mBaPlaQ zxvec0;b3 zXh~uKiCPZmUNTiP@8)W!e>3ftgOg}Jprz#oF1EXdhK3DWc*~@<_QeHywOUmCmTbdT zBZ8+%Gu~$gJ#Co{#dlR}g88k7TLXaYdZ{;=y$z&9_{SRp+ze4xZ6y8AX0xu=Fw*|a;*Dbv!@80`&|w+{{+_STz1$HtzIml&1%Nx$v{ z0V6GKZPIHaxlBKPv}hYBZLah`8!v+e{%T34aCH^BMMxM6;N7x6@bDjtTbF#^y-@@L z2(cjZ42UM)8UAx8)cc*^-H-`usdwBx(8t4YF~&=49GCbOA1yh>LkYO=jk(Z4LzZHz zbjYIFg*NYwxj2fttViF0Jf^qk@ymAm-P@}vMMBG{m?-GjUjL((QsR<1hS`TsvnZqf zZmv!x+s>+A|H%SDQdgz*sOi{W9^S1j{~h$@Irq2;n83#rDZ9k|06{q*2a8%T;@Q^G zcFc~!WyE6BCtp??wb_|FCujy`820C!(<>YXXqKUM?SAteLJ}^z`)v_(uP7)g92W_N zX(?EG(SOs@E%411kihL>JI#pS0Oz=YqBuW~e|$&u+tT9bV(uoGmMhq*%}Ynb0sWb5 zyxmm64HUOQ^^^2K;ut{m$#nY-9QG+|<7y`jmylEbuYTag(n7r}@;V)Nt9j4tre9{` z?rzckkQK_ch+pk$Hxox`s2HUyWUm9i^ib3#9qYNiM@*v#0K`$$m@0V;YU8GjD3FS5 zwr6wvO?YR-wLrN7VG<-8cYpE&5)SG~K8r2ETJ#qk;FTyF0d9 zvpRC(7BE)B`h`9yCJBAe-y`NF_+Z8Zf8|AFI zhTbW3Dk@Pp4~+Zb@aSW4Q6*Nxo`M|*7C^}fux8ze*N3bw6*o_O;4EbK=pfJ6t*Ph!@gh^VY;!PCSAE0a|tKVFr0Wy4` zvvfV>4_T)Jym$X=ft_SMdyP3eR;CptBFR`_vLIrVZJZ^)Je0_e)rcw zvKEV*o@kV{31%mDY2o|X3tycnYQK;2wJrXuzh8*EC|AsD+j$7A{lq0#Eq~=|aG1<0 zv_Nh>0_!rq-w@s%noz{Fd-Nn3Xl0E!mSsj(b&yzZ{hvQ0*UyVWr$%8qiJ)ECJ7mee zgvIdkY=)IB0iz<%o8N?y8ODr1ysnM|tp)!-3$zPNq8#kONc;{J)uZ-)H~(VsgL1e7 z3bs8%AM>b*MUAGctbiNRQ0<1<%@O)2??8oeIdxs~aKC%?(R}w9;!^{5nEV;W?i!nEjMd)rz(uRzi@j_ghf>QF!$AuE4!z)rV0uQUc=@{ zNnCj2uVY9^s0h1sa6}AwFU4x~W18*hdcEY6NlNbqKw9BBEn*e<^d{%Zm+hwWing}2 zIAoshqii`+=ik$hSw{sr$`6#ApmCS!8_kKHHXU`a^Y|{ZfcAbs&)Vp^TURxtXqn?V z%QNTsd$a>OKYoGKFr_$V64j{v&AqI~krfi!I(oq~UYl{ad!@sjNY{mBRVsnk#iVvg zPfS$&56_fu-n#Wv{7k!+B?rmwgn2vPrLh3oq%FDiMs0ytkN5q8qC+Dy$iH-{qg9ds z<*=*pZs*e5)xdiU3VK6xJ1oT#rSO>-+f5}nUBlY#f~<>1|<@mTNhRcz^V4(;f2L zG0Wrr&n!bp?GW|#-TA|Lio?q|oWA31-6M0k@aUGa6Roil6HevxQ{Aa*C-vdUn|@cv zZ+k6Q1JqAeMk%VU{uYg(tXOO~tSVsKk#m<#0B=r)EFjbZ0F3qHEEoj39g=Q5sBe zkS%>9kDbD@W z-nN*zqG?MWt1F_5`jhh7bv1l4JS|pQlS@x$uB&bBiWS>_1A;y4h zm{7cF6>Vu192#VPa*C7kEBla5j|~vjuTgY=(e^u#{sJm+c78$-_J*0|L8KN+HR8 z+IM^$Dvf@=ZAc_?u<9zL+ka4Ucl*T41#q1Bf@_AQAY&#Ki>9pldBwLLh$pi33*@m; zogE!-S6U2a1p~V}QOlkc^@ki2?KYTga_ z0|%Ri4Fz2&X*m{RJ9hG-(fAb;A47HesTTRHpXw|=CvAfOQl?$Mm{1#2ze+7OMR^Uj zz(L+q6(OA3vO*o1`_9|D2LxTj1=Wy~|0>n5YRJft1Ooek36BVBeg%p#9hc=kR%kdC z7pU+?C~dh8gW;|e|D1|Olz+eOANyqM>r}8qy?!79WIYym*7{CrE~Tlg{&?wUT36oE zcw{9hj~rkKLmG*(Sve|3ClJPw%^j;WU76or+A8;wT63JKXJ4RfXFS#?#c}NFu(NfE zBC?+eYF4MiVrMJZMrG3{Llf+XT59mbNYuUze?Fq&H92By9a2e_TDw7iz|c% zFs%#P#{$|}NHF0scO=|wfr9ogejN(|mK-VJ!uy&p4(M-;j%I3GJ`u{mZ)u*K5-Yb} z-{L8Dt@Oymah@{o;kG@f=q>ItVNDRydAXU;z(_ z;pwCS=;JRnkx8l?R1x32xqCWpYUpPSTK>(?6}=kmbgPgWfg>XO>%A8ZdVpdQNV60B z0xGB*GYDn$xXp-4Bhfv+<1~?olpevjjy24e;ruqqf;XYxJ-RDDDbj+(%{`6dowYo! zF9Ig_(xd<4PP)U5Iqmr{JL@eu{9yl-^7d_jdioJ7s-AH#3JpdITujVs+bzYDm6&NM zKu|AiOYc5yIM_4@$xl9bcCZdSzpTMgG^5!BFo}mW>un)g7br&YQ|($VE2tK@UVsEe z6-rLMdfRm0U+3v6K!6TX%>MU7&FC7O7f4$Yc=yIHzttQsGako*l!&+3VzHsazV__b zJI!tPB<&!Bao^!_h*QZJD(YD1FJzoJd!Pg5TahiRP`I7e-=8EV7R}opeHjPK3K3qD z(FK!RV9Zo?+4yR9s3bHy=;NSU16w+CIdWNYJJf}YlZtu(!t33aEQKSACb_l=N)%At z`pQS|-vOmWh=`9)C^=`W&EAc5Xp+~S_u3#KN1>505IjcFivGxQy93nw%I>LqyFJ{p zq1U>TdFNa1y2P%$CZQDB>O+sh zq3+<`$S*gN`cnnE>s?vdbBk=J`&0PG1K&=V1b1qg^i{svf?`PRi^44Ae6fL~*p^>7 zepU@wJjwDMvYrJDD{_A;eZzV#Up@c9gxXZ8Y#4dfq1dRu(ikH{==XzF>bl4<%3CP4 zR~o&?aiE44P?dZaxN`d4!%Nt8w{ByqQe%GM^*-E)Ij8cIc1g^dta_Ia{`!D5$OyWK zLMjBK`)dRQ-M}WX2&nnpkq(f8zaEo35U8$;pb>g?Kd|)YRj{{&T@nNt8h~J-@+|ZV zk;8b2u6j=*r*%>bF^;<<{L2@meW9;AdZAg7AHfYL!!N$N8pOL7!3Hi+UhT5K_5R&i z?t-0#((hwmJKdE_!5V?UqDRs?SY*Z&!IA>5Wfnlsj$hP{%j*Z>9k3`X_Q{>YvjG3e zpQU;&mo5!3pUiegzSm|OxOV+;{rHPQ>)xE6?KK#3bc?fJX9%*_*GN&$#HFU!-X&(ZR7>HXDSAKmA0aK!ufBQ3z( zfx3U~{VA=8n*u#rlai9)+BMkJ7m+t59~z2uOGYRafZsg#ow0>Q4rv&Scwp2n;%95? z5|m)i-CcIy)yc_;cC8txkJ>t+Np%x?`iICXUhr|(YnP0^M-8_`fBC~ZuRCFy;a3=y zZB0m4pjTgcBH{zjIH=S#G6yV3e6!5kr@g<_zzdof)u}c{`Ich0YMOGQ1yw%tjZMC@VS8t-?nDK$UOqr-QGz9z4}wP0SitghZ4 zt{@j8{f~0tw1~1OHhk+x+kyX1OdZa|xlqkQ#^_xk)$kTkaj9Py!%7kh>czRZ+YKkhYk#w!TMs*MME3HOp<13eX6qkA+nzXiEu^QQOUG-n@ zgHWpI%k=&n@Ep?c3(kv_v^0~%Ba`V$%e(YYDa|Htk_)`g3{WUu`uv&hSL?fuw6K_U z+f`(mFq8V$^c`(rOo2fR$&|m20MTJA2s!?0QuZl`HsRv(Hw@;_iGs5mEL86Eht88# z*0o?^tuDobE8UC+B*AXPJ7%m1%i9p{P-8OrnzmNP{owq>Jg@Ne7b4{%oZo%2;nKD5 z-@iU%*mpxWmnjvEIbhczL5~+kXO?<(yZ$s-Rf8}gzp_##U6!7a?THpA=*A?%5ELX# zhGWGxj>EymWoO3KFAuiSp4;2a#oMjOv}c@@`*>XwzkaLr{#FhYVN#gwxgW5Z$3?6x zAlKOvz%CdE8a>R0@HJ0x*L$IsA(mOzrz`E5aD$80eQo5ny850&bTX96=CrTB3vScv z&ep`UI~hN_$tsR2B?2jv2zeJv9zPDXHc>A^ zY8~4tz0R6DdRyF^MAC|6XX~?41&4*3UMk#`l#TCA{P?g7Y6;h4oubxQoBp$c%eXnM z1F0;HD*Rs9P^k0+d|wA#Ik&|Dgjm$~Wk*8exs2r=@H^U1>5Np29R(nVJFk;|rsJcY zAQdk+MeE+Usd%slOrvYR4S>OaC`-22BGcZT0|O19Sj9!vd-h!&U}we`pByaUyc=+K zPC3VoS2pBnaWL)N(9x9>aqCD4isI^kjb|yXf4{YU^8h@{OD>2&=&9=_(?8rs5%5+ENwOP(z zu*u}H9X9WD7~Y{V8rtwFxH?C?e9q~*@}Tso->(k@0b%+1`C|KSo;E1>sq}dSn^3{e zbePCj&caL6Nv0}sb#)W>qWY8f^0&&Hj>b?8cf!OIPq&N_i>Xe{JfbrBgE+Jw!$p&* z+HqzKTXo@L1a#6^aqdTtK&~?imcO@xiw%Fd$Llb4Z{}u=45Z2Hc+*p>Bs?a@(!OZF zhhn{se{gUR#Jv60l)+|<5a0i0wiymzHwB;t`YI~}U$Lh3l)<)}3)oXFb@wEY`q`DE z-r2k3Lx>ul%EK6!0Thd)!F9Q{-@!Z9Ygcai_|xed!WEO0oACQfRo&3Fk33{4{H}Sv zPk&4MnSBRsyTx_P@Y32S;fh1yiP!>**ItRg$i{jXGJHhB)dBQ(D%31x z;6+mkO-T>f@Gq*YPPzE)MiX^S6}^6d(TR=aw4{f+5} z!xPnd=e^G}E5u}z9$Sg10Z!Cur}ipkDbA}9^!Z2yoo1EXQ?3Mr?qsRZ9AutUzY3~D zptin>Y-KzBZUn5>bpeNcf2$#h6p@weD=1sZmk@ftKd+xc{0uiG6Il%fj*cyR^KjhC z32fM^V8zER^~4qbDSzN@JzQ3>Q71M;{4${>)|PfMmt)S!v@05zO$-O2Eg{${hpD zEevTW(S8uEcvhJKME8{+Zd0%!>!)2=OLC@d2mGx7n-X*QxeWbb3HnBMqRg4RWC z0vJ}_T|ikapybcZjhQ*NOy%~e>4PLd%w-|UBPV{x{o|U|3eSvd#_r$H(Y?+N1wERp z-LUM5r4W{V*!cT#flsCD4<&bzzu+ui@6iblo-~osudBrlG2LkNu*=- zL%$buCRUV;u^SdIjC~4*#@ucVUV}-lJ$$~MguloNyqc1jQ)@gb2B<c>Y%iX~I- zj8C2_^yuE`24{=o>B~9np0hLAXdab*8K7ttoHJWat!TMD*K=^4@xhKr_HM<@I6~zM zISm;gW?rk&FTCIIjh^KyB@J#DvWXTd4FUakY@rsja#RL#&1b*XePcusuqUx14R$!L z$vU$pQfKuHK8-w;)5q-|OB_%txJd`bIG^V+15_10ouO&ilE`ITjBXW*uSyvQ>Q3cI zn#m=jK4JY9vviZrd1Pnul^d5X<&1x9eUj?+d2ZmxsgRg2ii#fjxH_G^#(1cc#_!}B z*^yWBqS@4dtR(m3GEc;V88#a|RF@u!aZnY#8|cW*u;_Ls&{>Ebm=*s1+1}RXbFS>r zLKvA7d7Cp$P*>e^^QgG49tHnGys^HPz|Q0K^V-ouEgE}nH(ta7RZH)&wqwo&3lCmm z$`B`aEB>&~HI~7ei%I~~dvCNZwbn<4O{a+UsEJ5n?)zibS!wYxr(X(G`#%itQ2Xf! zlR;v$NFFmql!DuwT<3M};F^=(t;AsGSa!DL6oPI%K3&OSdDEDz{7^ zoyWb>_h53R+aC$)8y*6jw*2zP%k)f$pVf+SdAo~oGZ%TM-V!5XgygJj=_0}&H^lh4 zVOK6_QJUHiM-)80@mNig_NQ@$Z!&guPz!VnEQc-6TXE>*D*>R|NLu5!{Q@n6Zasy$ z9NBi|k*tqnRth4#_m(5_ewilo;L5i6Ge%yft1Cmi=sN(0&AmVebKGM$RB5@}L%BKS z`Kwj*6u*uXF@nK1nz1hQsodsGyz62DfB&Q{x9s_H*8&d+sFQ1a-%A%I`t3|mk3gOL(GIs={1@t`Xs=lv0X zU0~D?^t3+^gc1wlzn;u)iHTBi!)Rua_Ok{C2JXJzPU^dU6Y{3iC4tS`8!#I0+`jGT zt>XTe;;ibq`Z3|PF2mE=XFhkzz4sr8yw8`BmFp=@7maNSCgNtdRpw>dW#GoN*tfnO$daI#9Ho6a>6dCP}m0b8m?m5_n9 zS@$T1`xkCg?bq#gP&?(`u%m9p!G;aGn4)@a zy48f@gx?T7?ldjaNc799^tti<9q042T{)ND{W{xJ4yof8T6VA(vIm+7P|SIStd)^1x}WG7!>-y9=!8;VRmJkd@ykHqP(7**5vL=h!-Jq~r;yuIUk?TIH5QojFn-6l8E90Eom&lYu6bvtim1_Y!CF|QkP6C%U=Twd1fe-$@uxKC^K8s(>@VG*@b_V&##OUbw)^aO~nn<_J zss0UfxXJhsDi3Z{#!=C^5>sP&{2T3HL;FY7<$b<3X6V8pR)ySC)TCNiZfa?rl;GW{ z2p>j(^42>bzXbJT2%pQw4+3*$__$%Awfx2i3Cn$Fpl$>_@n5*P+c7#&N-E2`ZyXQ5 zLkZTdY5z6S*(o{-*E)8rsBrd9fxDJEaMi%WLdEP-NN-%MszBTn7te0-Xk7T3^Qo@{ zxA8V&%LGNhIH@*gM7kmQ?RaR3UHd62$)x;Mb6cCtx<9tp58o4KjKG8y*^QQRzIgE> zykzrAB+adaf*Y;vyAi3iZ$UvzqW%0hxzyNl4jr)mn*4M&!1TPkJ-Um`%g=j(@ZkLzs>LZ-|o?FucBYUCe7gG{i(DR5z)jH~n zb=JCdzrF|n2i=@*S7ggWac>ER&8eCs@BMXU43A~ojFQ?VQlUhb?Ze!k&QDitMcu=B zm^*fZWHe$v!?h@v@puDz)ho##!F3GuSpS{=N7vId;FM+>QU`((lZVc`Moluf**QN{ucUN3owt$mnkItBx1w^Nt>Y4t-)@Ixh-4wM-?p z+5r4q`t`5tM^^xq5n@o=Y+662K$2Pri!+Gj`;yKlW)o&vCKU-J02O$HQ^dh`@1K`S zWQcI>FU~vjvfkd?8RENZ?A*$rV}f-BeL9vGFJ!SU>{@yDuols#-U*%c1kSM?LWjvp zeP;EPH$)%Ciy`3<|;!`^6JksYyu|0Q+=<($@#`RF~cdL-NAS zupsDa!3DExxzi{pC8ueN_5{-^?*{GeR}__TPe96UnkXeZ!eg`IkY?1eqglBSObU3P z=oEjM#kDvueBPL@m$x0~32>e*o%!t157Zimln1?wASVsP5b!|uL|hnEz%T1iv#C_s zFFd-kbU=%+z?F(Olv!=f8v@k*yShh=J)Y^Vn%UFo!mbANPW+yi>tP=6HrF72m%Y+O zSU+aLpnk&Ls|0V=*1;tNw^paxBo{#o$fZHB*XO>tEnq`5g2k((@yMbX_P{R1iB`eO zET8N)ofWU|Z3XYXi(28NAbi%~eA?hvY$t@|cUcqEL}Z$c=((ajS)yo1hl8$iLTjIQ z0K>7{Cpw{T$E&d4u}7y!Uhf9|z2!U&%eaQGU%#^M9hoM99B5WeMuma2o8z578r(Nu zA9x`=X6S#^Gj={rmr7>rRP)%HV%S902pl&WBS;){vt*tX5!{XO`nQl|{`a))&GfnH z>|B92abM0?JK`8!LDxBJq2*^0JgOn$p65gYPEOL6T*}&(^PomGOpp2*q*ZpfxE*l5 z)>)_5YRCInM8p8x=xz6fkD40$&WzHrZX=a~EX>SuS&tc(HYT5hgonlh_6MfOo7ab` z@a^wjZd?L=z=;WTLYF0GbUk7_ldVq&G?n>n$6`AoQuRs<9KtNqVlH|B?=(U9OM*H} z~cA?3^3>NE~17605S@~3P zpNz)CpH-|Gd)xDtd1kDJ)lUO7?q$` zP;EO4-gqw2uO8!#`sPPF`KFdYDX}~E9*3yr~NC#bhJ_P>zWM5!L)5I>;I;9FoG-3xBPk(uwyk-psolZ!qB$i)o< z)wg&HO676Xhx{&*;7E0t4!0*%ULWuGLGvoj`X&}tvgCeFBe?WXJe1;QET9%)Fc-oH z1a6vMLqX%kZ;kBEbq%^%Wo3T|%UX8}n*$e@M71)`3-VZ7G;iA>76 zj6Oz?#_jXKOzvoIQcsHpw0 zvzVi;>3Rmx=N$4|d`O&~Mis_iz;+mLF0M}47)47w>~|xl-hD00I`tyrjc%ahS3^0SkW z4@xHUg_OfTf(?~x&;MMpIr$`{xxFJz^&!9qY=m<=r@anQ${hmeRPn(Db z{J8)htpnBS>clTZ>K)kXM;u#(OPGE8jM+F+;V#rJtUScyLrZc!sg4d0yN1JashcDr)j`=n=E9O77l%?7^)|vA4>-}D6_AKlq}H79~fE}ZvErNR@dac z&nAvtK=S&>Hm?%}>A7T;9@Wu<or|fnX_{3>^p7DJHa;)6gB1Kx>$9tC_9xmbj)&8Hi!?{&Ept!d;u0hM;QONtHxS z(_D7`qPsdBM5~6ioAH1C+z_9skT$d#%E|n=LZR4nZX!8Z?i@xs(z3Jc1N0j1tPnQ6 zJ9oHNk-hA?w(K(?5qYYH z`#1gfkA&a-xdcRTeL~Ljbw&tp2yCp#Y3IsrmTZ{f5fS-CW54te1lQW0=gRe`;ICl( zd~g@Dt)+l-1Usi;&1)~oPr@zdY)N8E6tvKj$st_+-5QqERJbH)ppSX z0c=s?2?LmAB%GKKEXja;$(G)iH#%$IzW3#`ilsf5dIE~*RJJzvlS5}9jJn57oLvLs zcn**U7L!A{E+95#veCx8vNMc=lg+XxG0svssq3gt$Pay-o5YLZKHO$CZ7#<8S0wr3 zPH*W~c{E9o>g20&(#B39JX>faT(l+2fL?Vd+eh$1Sop3~mrTF$UHyjSUu+=2E+!}} z5uhR-x$IBzPd0j`wsky^qw~+*4%4i(xCvCoAX)Bz>kM1a1?L@(TweW1D7_!zN=~7y zzW>TyQ;K#&CxLy09140-Rfk689_eB>SPYB=L+Zz_tH9P?GkdmtbJ<*x1SQoxdiUcM5itrKgHozVl6I^NwxyxhO!x(ad zY`oWOsb^{TCvj7|j{V=$zJRyQ89rwO!{^X|%-W5~Dnr8XBu+y%z^IRbK}be#($+_c z*c!WHy_Z&z+2>NCBEvi$ZSVyB&6hb{r%1Mix87p~q2Y6L);w6z%a_g_a+Q-}lUq)o z(38+GXJ!Ul%-|PUzI{->mlVT5sNA2@jdP!SHv`>*9p_vKx$5fnDp%3D-E>Yvb(sJ| zKeF+(;%zaKIV$PqUCB7pfMaR3bdhW)IkrnUqq42tEm0>CH@cYETF)0pu4A`Ahr|ph zzbPi0{qmcsj_?$*f%Lc}4~Lt9BGm3LdOgutgd26_pzx52H zySDQ>nRKV4UfR#Sn5bdteuX%3P-ywOdJK8vcY141PN?i7A?fPz`gm#bmANrK+o^cq zs|Lq_e`gd8PedES{q%vKvT863BJ~Q&aqV$6vL((mPd(u%;DoJW(Av@=7C8X)DvDL` z^u;C5>#N(669A03qWSIl<))T5H16#*?iq&%>7pWEXnnTQBBKU6K;P=()B;uE!t*WHY&EU5MGc? zNvB``#{EsLfSr0M{XIZ7Du9s=hlDP{%Y0t}MZ$+bLCtW{WIAt@Qji5o?y8JgAm<)^YBw>M zT?uBz;+xy_ukc>Lm25G})>`ff)VoUjjkUnsZBgbf3)ee9!5v0%u&TfA-?!M=2c6QG zzC1SSq9Yv^K@rK>_6=91_$QD2@QrNJ*8_^rp?|*rLQz@%J%@Xz>FC(a?zRHJMJ8K& zp&)2d=lr~gJHLAonWwZhjVoFZNvSHfORg{x?}5q>3`Ium@_6KV+#n(vB5zz+K=uM} zy<38V9h6#g0t`kH1EEMx;vJ((2?7X(8W(&yEPx zIilCaHIR*eZ>2xBH8`s0$H!o%ogpULEHgOvr~<=n6vr}=zuCZ3Ld zS4DW>f`5WEI=K|IA%XQse;P;#Q)-oqpnI(rqm33sk3o9Kqc-Sl41|!4hn1v)kRpBd z(G?2pK};<^pdeqG4RPkoXgx>&*TZeUH+rQ(LqbYM65QOwb|VLG)KU*NbFCbtA4OK* zxK-)PK>`PAWns6iois27D4Z;#KWWMh;Gi7)?CvIjRIBy2^wVw*Ek8`lZr%EoJ+RbcdG^{w2*hT9_Sx0(e@dR;l7CI;5EeEy`7v^F>G+>-QW|6Q zL0iolsCg=#7p{vN^D72tYGilpqRJ$D_t(cQ2Y&_)HF_!U?CdD+c$2GS@U9?_%j~8n z_>A+_#CHxd9s#-zNE=bI0rL!?xcIT*TkvZ#(I-%kzwu=P+vhod;|R{g(@{I!{U#z8 zWIC^5gV>Hm<)u%s2YX1#y`^ohfMowfgZoIG+h6~Dd22i;#IaFO?Jzz&|0{9J5hob< zfxrQERPlEUSB#&n+_dF|^uG`eX1?_27Vc^7zue4NNr#4as9vu*~nb-WIreJM_(~!>{YyXf|o5>3H43Pn{*}**^ z0Za0|6*ILr$3E-6v1^e6rPi)4z*f&aiG2EJe=lyuTXNb3@}qjhWO%NkQ?E@ev^j90 z=8cp8@e|FgoaRZX(rK?8osZSf-Vc6*f|q!b*mwr(H2f$K#F`9oHBRGGgH?fU|2cl0 z7(e}#_)(1u>$e1q!{xoGL{SGL6~pFv zJ<_&R0Xyw0fJu>SfxJm3nH|tFy5iTcDwz8!%K_ZcX?iY zKb~J-XYmg@T?BdMcgU#6lyOo1~a_)y_E%vA15tL_znG|x6cENZ;s|i zmrd9C8v{v0X^{^bEYud-T$cAWss{q=LOHdtgNT<=%=hp#Yyf*qRuK}m!bZu(xQhBXRlEJ9Gm>^Yw@UmHz;Gza zywFYn9p%-(7C-N==a@9%8(>v2M3nSG<)(nP&9&WvgO@55e~$NB==aCqQB$6)PckzJ zFEnK?hkqUc8_oE>Nan0A0T;48V>kesb%rh)-_v|7q-Wp%Pgikdu{TNGy9HaRl7THe zI|qX{u;_b}rKT}vMIJRv4T-mtYfQvp;3UB&?-X#ETca{YJUc*l+_LSh^h2M~9`Z`Z z%?GR+kM&$uy0az62ht=;pnx_jZoGf;gIM!FUV-nU!eZqm7bp{@1TM~izLY}tYn`CO zY&b;J3hq&fEC`8Q>D*;8+%&Oft`Z~};P=72=A~|gjv#}R6TQuNX_MRPME7d~B%b7f z63`dzuFzMxxzDw=g;hGCO@flNoB}T+kxuKlI$^Z-w(NOD?CuU^Y zD>?~wK=Z()E;gtN8wZ^j?=|6$(2}*CoCe$~t9fU5VlRjo>yBgD=M3;Kb2~SNMG*QP zR&ba$YoDEZ#>jjM&evnnZZ{%#+}dr6)2zrk{TyBM@7_f6fG?JWTA=H|!4QxYiADO( z&yML8yeDDC4)vv$GFGL!QS&P?Ren}tp}iASwJbFo%qnRdfKNEKoiAY+Nhki=+o;A6 z<*~U~(MgwNCQZ1$*_Vjo{Ez2Q$RH7zqi4xk0IZB81PE2z!a`!1>?l}&L!Mu`a+RL# zy*JqQL&C!^Ambsy!NG@z_wGnawgjh;LAR078#zv_)9_Z*5&Q7p0*DH?IUQ-7>Er05Xb8uxOh1qLXJm z6p-+u0uN0}Ax6fw)U(guzdtmNnVmI=6lK<+beufJJ@kW7bhEZJr?`mfz7buKMb!JF z3d4Bm-FDv(-xOygg(nGh*2w2rgDDSn_ zTlA->x-9cZDxn9vTwT@&(p8`=IjU-8o~&~#4hI#yD+ApQQv)`Zo}NjUoc0{#!E~)< z-6KPcMbL3C851t%TBqFp5H76ScD9sVAJy#%Z0C|&7bf+84B;1Eb9O@k!JQpd!)A;m zIY<({RL(EeG7#~*%r0xj2n1k_x4(FJ@zu;z{TKG}u;&qWkIOe3ZrCFLF{%{A%>Di0 zM2nm8HMsHJ|7JCJHJ(fZ!nV;t-v3x_7av5i{g03Q(xv|~x`UIvY5((={E*1aBVjw)7h#Ql5Zk zrGGcPeH@3M&HJDzw^)4yZ9Qte{x8K+4B7j0hu8w?@@o@po7f0!VswDs2rA1qw> zKqHO%A0Ej6|5P&*G+m_;r@k0Rea}`8s>$Y>cEQ?zzk+T|EPIr*nFg3KU^Nigp&ylR zR##f}Tm4P_@Ll+u`oWbHymWa$TkrUQc4~lXX27a`27G|$oa)!N^sJip@Exz;^1S%w z#(s~L@aYm?6Il7d48rL5eDQw)M66O>P3Uy~e%yzMt%LK$>u7hi?vJO+N$mnF4HH{* zO%9QM_g3Wo6BZ(ob@hKOf`9+f_1FJw-v6_C|GgOg?{5MB!+H5XabBFO#;L)3@w-H* zmybfxU+R>JHuY~pusRxPOoJ&M2(F6!?C2Tt?GJ{s^6PjugR&{ol5(2)~~mkoJ<#~mXF++Vw6?Vjd$UvX7=F_67W-3m1CRhP`5FFJ$}CuFNn!PJef&EOF%Xl)^N2iG zdvez!fRjglqu$kJZ;W#XhqH#ZDjKPLNt!{y73@{2E&3B7S3ZO)<*xBF>28S?HVd%L zhi{;3q=Ei1ELh%yRkQJvHcUrL4494Ly*m9sPEND~%Co0CE`Q%G@QMlW5J6aVs&9mK zcLUa=Jn1HiGe43x0Z>mA{L8LrHoNfO|CTc;Q}Grq%ZuuWZndovQ-{K5*vhJ4zX ztlymc19PD=&@f zjqG37^4lJm@yW%A-lg&cVwuSX_h10>w=}Tnfz>v zc1hR80M9K(pFRd3Qky*)Ps~2vXWnt{+If~_KnyxBfLRx~R*&mNewmbc8G3DI-;QN* zlJMyhp)2=qWv1eBtNs)$pQ9%L7E!!<2WgTf(?@+rwO8m;S{}>3x5EC|x1pUMdgBv3 zuahQ4vyIxH8CYb1VZ_DD-G)LLW^7DF$Zo$HFExq5K>Z(wE%&SK7$>oNI%1}ZYQ^@3 ziemdYmuxDCcUG2$Z-2B{SR-ep>)ph#iu<%YRu@0#$vjcvahjFn@tDrPLl2FfuV9X# z?)f?>?Os31dA_2D-?rEAs=UI>iaS=v*G+-=!0Ba~jq(*#@;xz{ zKXZRgHd-2ncKQ+@b$thhb_BeH$6O~mbgyD%G0d64qO~U%{Kux>zJZYwC+1g8@Z@-@ z!AaD~J}Rn^Ye6Ty;jf8-Prp_L(PvLg{r5|Z>SG%pMzIMD9#xR?xOK^Y3P}G2W>9Vc zzH?bj4YYB)SZur?dX=5K`A>1{GFjq(K~sQ(C3XkQn9%;IOtp?o+^?4B<{lv>$E9ce zR#c5&UK>NEf6DI}3B-TObn5C}K$QOG(f3G@ zaKLIvuwS*o{a|9lggwfaK zqdqI*GPqao(!weghnXXC6k;CwEu8@)`C?nQ*6#G4-{K0iIU$ArrjRhTd+fsa4*hC5 zoGFlrU12?=EEjJQ?CBUk9E?+H{?N>(YP%pDGzez$i|fezo?=sfwP7h?*R>o{ivk!< z9alMxWHmr2UEG@KoOKeDD*u zR^u6xzBwM<%wxncw`8nf%WuyHV(SuHk3D;1P7#(1p#e;5*qc5U4R8QzxvIr_60^|2Vhh-r${bhN4y%2_jo)9oU|Xhmpf38_kOR%uOWM;y>=B& znK|2dO(lfAI8;2GP#j=pmgwm%$*|CZe*qhVnOBWJcD*pOIz>GqXRlnPRoOIeJRYiY zVRUObYk?IQ=lRMCgT30rX{MOn3VCP?`vetv^ie|5|MKseBHg9*S@9)o$bv|;anTC~ zR)ee@#xzN8lwfHb@y(sxe(Sr7^Fh}z#{-uLPlL{BFLWjsbA20bZf+ZpNwCsyr1PH5;|b7WnuyGI74-Ao6HzSWM{OdE+!i!ZMJICXh*PB)1# zFKRqJ(c(D@PHwCcCngczj)Um3kr_MvB_RtT2j*$OT*<1B$GkMAj1S zuX+_OHEn5O3AOnBByhB>{l!YdBEh9I>tCAM{QR*U++H)=@haHyb7bUYyGl8!vF-9& zowpL|T%YZptZ(PMI}Lf-8uT7!+f+kzDD1ifUq@e#ab92n6H(-^Fe%6b2Ov7I!2OBd z6!qv1yh^xK=0&^+#!I^>ZgdDjbmeYZ;ZLWs6@1Ux)yzENydp>m$9S1(5~OHs4cYt5 zoTaBdjB+Wx77diGk8l2?%qv~r^puDOhbad0`}dupZ~nA1PA@wJMxQ95eUIa0WMzA; z<2r@Cbz-go$F%e->i4P_n43`Y-hH?14pp9eBOtgq^3PZ9v zJuhDxHaZlzm6K3?jz6MK-Z{D^Oy!|>cDC>1wZ^2TG!;g)P5MAgGg$iSl@q{fXo-$x z+SV=B4%`$xZsMloX6`8fj2MK^=Jif(V>;2*t20*ZAC$Y>$^!0fOW}g~C4FB(eg8}; z$G&^?qJ!i}!QZ%UT3h1@Ls`((&%>nR4=?8ApnR%0q}^C4%g2<%@uk#HT^g&`CMK~H zqwGmb!*d@k_J?FEZFi(>rW%??oTh$a54R;%#?3Zqgk5@m??4r2I{IUS>Vt6s%5Vog z_Nss*4Z8I)t&=NPcu%*Fxk-}558~AK-GYdg7Qui`T}RPpjNa9<>z9Uidw&XJ3+BFgddwA> zB}Z^_77SI*mQy*hZ!C<3<5kiDFQ{Snpw!sMV!3Z}s3_?u6w~D^dCoI@Z_Iytrgm{u z*E^MN{oG&D>ofv~RUjB{IeQ`EZqNPWMtnifLP#r0k@vA?&0{lV-;D6Gkj{$j z(b6QIAV(uv>{E^L7aussP;GLpm~p2v8)dhm9xCV>We-;qwNLK?|L)x}k4I~tP7gLe zhYilYYjOe%nLC=9X#j@dAYKBC-kP*4Xe3DeT40jbWly)b$D-L+4rnIi{2IF7_Nr8_5$KE zJw2U^B$QT7sPJ^;3;$|f?a_UOcFn`pGs#mSVpt$#KcfX+VJyBWjZOR@edeD~~^M)#F*rO9Ze-Gff) z{c6~kI?qml)JBSA_QzsIx=5gwqsjClM7SQqInsEQ)dd}fCBRSYP7sa4(o5(Nkqd;U zRa=~ycGH=PIYl-HY+y3Fe@-b47}YPPzhJ;(&$p&yHdDt?`%Xt?hLsjUMor$Tgxip} zd^UQ9Uidj{?j0! zD`hpGgNld5xL*HgeLLU{9Sg9!9pRfD(+w_uzYD6%aELjh&%uWGxeUSWIhub3*`@V+ z6syPIzQ4CHb7*gEHSP$fVs6Iay=}E`3K0TZRM-VD_WfPM^5ZNOQ}Uz@3csDiY-{4e zy3-Z}>(pkj`zI@-A0ZRetW%Chfim()3e5`JeFHxzr=fsf>|mN2Eh;2Ge~yudg(|(X zrZ;IZU&Cp=X9`JnqJqv37I}2k%d*{@OT3b6g2>Nt`KTiR)%{ZaW=77t1#eJk_;N7I z#(>XEK0I)9m!n68v?3^IYj~K%Fq!_RQ4pM%kZMXJy-nTr7(a?{mOEvh-!z=qSVxIZ z4r@mo_k}!79gy78lICDv`y>a_?)te>ti2^H@hV0&-n3!J|Bt=*3Tvus+ji|df`El0 zQWcR74=5mAM0%4FklsN$0-+~}2r5W#(nSc6P(nvqq5{&Sm(U{}LWy(;Z4KV{{r>NN z);iX4tc`zfec1{jOfqNYoMVjpzOM6<+a-#c06V(PJ3XY`t~g~{&7;WOR||tz!MU{T z0}>lxvGQJCl_r|AmsQB9ZVQ|%x_;AY_m#+_I(ScoJ;&X2Yer}8k3zA=bk}>Ye4sO%+B^GzhxebuvnN&d*tQ*aZC%*2> z<)je?rl4yTE@?@?jk8JdCDPwpED*>1*!{V|w|BD{;og8Onh80 zci%80uC`e)t6qMA%)xUds%^28k`orWY16|aD9Y1z&=XHvb-+l9wpwKJxHDvdLD zy>~i?1b8KJXIxLf8sg05ffTVZin+w*Shl_>(zF_$lk<>~c$#_a{$>ACF8{t$cO5n; zDW_g6B0sst3qCKO*3G`|G+w3~-tua@_wH3$80jvLb8@n$P+vK$lkP)=G-qa}AL1!O zRVS=8%+#db8-fyh`6WLhS=1bQ@^i<@W8G{>9{ZYYpa(L99%zkTTJ}hck2Zb33U_wTvH{S$~1N5lMel@2B&{DY#jO zZ^-1J6~@4A1SG1?+XGZj{&wJk;V8x>ZFRiHz;&v@!9NO(&U)n5XVTC>{s~4+OOSyQ z5-we)jRoi%&VbcF+45&h9OizwyLqMasD}<#?&2$-d|5ZOjaOl)ZPn+mc*naNd%APe zx`4?y7e0{WFH!pb0M@tE_E#-@^7>0YCg0P5o7F!1rIy$nqpHJ0I%@K(+=A=tt{yAH zF2|;Ozn4_om^KzE@dk3kJUb6Y&HerycF>Fn=$aXvOjfu=G`D8NPh|S-yuA6{_Ad|n zg%ev4^sv1_qlVH)-Umu-%hUegkL;y$Z7H2I3O9cqKU)iSS>JDT5%}ut2V%7HN&=UKjhX9JiR-|3IEi zjGjHqb$Bo0^ybaAXeC8O+m68Rbs7;TF_TWGiAMaa$*KG-YI`%P@1=Po;3Rb|AOB@o zdu&Af$Lo8R)RF z!H7e5CQM(PBP4dlJ@j#P7#e+^ZK$2iATroEv*LE}+3)1dl>bW?<|CQ3z^?(1f7c8A z{hX{Cv_8@o%>&d}h$lt+`$kj)OcOp>9_QzMR-%6V{p-WU#w1CHuGArqGs2@+EgFqJ zi_8-+YhV)sr?JIJ;PO;XJ_xmBI-Wg~|JtzX2>C(R0FAVBxHwEzhX6g;oR0?(2g09f z^0)5*X6Ae30>4qOiKrgR#E)Tbp4wjm8yeH-T5}xc!ufZ*w{EU)>BpmAn|rya328!( z&rW4l5D41o<`UQi0yhnDdd6gePsW%TEHLms4}lL4rP|*8tnDu={H19J7Xsp_toPdP6}66+uZVuGeF89Q)+V%te%ndBqLM$7@->~ zQA$RKB^2tLFKjLW%aPoEV~-lN?^D&eMgS&3(J|ig)I2)wiq;GJbtZKL>a!hLLEXcW zhwJ7%v9YnBQgjZiTNEr9eV?U2hMNGCO}^H-iNt!H5p?Mw%G8*ghO0p9DU-D0*Ug7) zY=0}vC+7ksA!mR$F%D2YK>;v)Zeu&)N9ZxasEQCL=Ju0U4W&wMsTAE2+pxpgoLrzwxRTWBx%yNlY!@>DF_^? zcAez0&-tPrpne~as2+h`)HYUeRIoC zm1<|h7Mzxg`A~C@;2PQGL88vk=fMEeMh^v$qsIxj7_q1!6aXrS&snBNN5spXd_sam zxy?k*`a5AB70+BE&J40z^n%(?$EsaUpJS=d{lR-}Sbf3tr1g+aP_M8Z`+<+UM|CZQ z_d2y_Zar78!-zbRCsr-JYxe*ZtPNfx9mgtyRfXT%wYQUnCB-C(pd(U50yUD0wotE+ z^9=~pWhdKRPi!KSpGVl&b#7_z-A41gogZLvjYNsDAC?^nS}ZfL z7;@6dpLrT-)870Ty%O!t2k4e2gE9S~Qm0`Q2gr8%oB31{MoKuUe;He{>9skh!mXR9 z9xnRW_isG|c7FXL-*U^Kp^e)J&B;0)M8~mpI8SaP{8-|uwEL4NW(xLF7wZEGnuOFH zMk82vD&n+bgFWmx*3PAf)oHByRR+^Uy>YjqVq2aF?_9@xXI=U3h#=+`b@ZxehR=i# z_eLC&+>>xz7bsDxf$e?;KoKbfF2M@;zL8ck^0^8*8J)@vCI~F#paLEX+^?#&s$rP# z*~bBMe@+@bR-YF%jMvwHJSEX{o2Ouc8%@+#PHf@w=1(AMdgpmWK1vHGqk~>!3?D8o z5_dusRpZGpE1GYa`}Yb@Og|sG@{jq@3A(w7`-rNZEeH)j8aHdcMqI(4hnrKSW!^_> zC*wEcnW8IqO&6!9OM2dcn4M5~M#N5QV_f=x!6EmhYUb#FnODEFZ<^ZAKOE>>IVoF+ z_>jCRW3J5n?`zim6+j%spfTwW0BcrjV`L8>#H%GW3Q2wB@Id|w^`LA3(1-O`I#kf~ zNC)f|fpoAOs<){*R7q99i|xN1s4pcgJs^V4&d%Ok6B~e@!%Z9(9{8^x&<|{z@f?u` zv}D_c`O~^&N;E$;0K5EmdhR)7;-JG@he3!CB1+D*Kw*{SK122Ek0nUh%Yj!eX51k#+awV$3Z6-nq zrC#*dHnWffrV-(p_>KMsXqrtl+PG2m3TCeaZtO)UQsj;{pQcxjSu~Ak0anZ{@t24;C*S)FHxPq zp0wZYYdd-8AYfQ9 z@6_JYGhTDjUpe@~ly?^Hv^;H(;PC#x^k^$uaCx0rK~H()-7I3XjP+0*>|@ z0V5@QJ|uP)VHq(83*leUZy$-CN^~+nx9xu?cJ2l74-qf6vZ`t82{Bw4@3wEpSJ?hE z2#X*Yc?X(wgz1TbFwtqHO!4CUv`SY&H)3Dj)+~<(aP$DR5&}~?U z@JQ8o%gd}4m#HDJUOCHIV4R`V+9MYzPTG+gGoOpdp3&1Dp!wi*4EX z0Ki?5$Yo%@Rjl;{LFa!Km1ol6tBo}PfGCY2S3TQwAYAT1>T&`T)?w%8?@hT+L&@pz zPSdg!bFHjcdH^s4Spg*_iXfnsW3zweBNnBkfZL@Yx)8kx|_8KAyztqRR zeKm8?d8|^K`UdhTUN!dfy-k9X+tM;viFU4=O73hw?AgBA6JSttIhoJ4#x{eF;o$J2 z-dDrRe?ZP3`I0vTGC`ccWLY9`B9|N<3q}eVYrq zGL(FDu&JgFj)H033u42`4vvZ2sHotm!XlVS7Ow7QOw03j$-T-b$e`E=S*XZwSpEWV zQDZo>Dov)1F1HMM7laKt4HlHq2;Sf`tgz|ZLY=Gw4EJ)(R}z*yEnlRv7-bW5xQ44E zAF8WzLTt?@@tT(yV~1(N4YC8zopbJdUZ$}QaSgFP+L`AvwLIJ~kWKom!!RCXBDBKD zeAG>xya+7gJl>dJ}l;9AxS>N4icJtK5^ zqQL`?p;GEUsqU~TJ>6URo49f;o3!8}IdWW8TGS9aD|E0P$>TmxNTi7dYs@FC)ZFGW z2Tnup9ix590vl$3HGWR`v6~`3D7283uN9vndpk-cvG9eVqDD$4VWTK@=Z>;#k5t@s zdQK&(bzEXCHuI6@LJvvf0bEl4i1q8Yt5ioN4|j>bA5pDN-MtkS$Y#&}0{|uEW$s9d zD}*}JUg4)RQH`e2ZqVz%1e1qjHm08+%b>=HNjrrIxGw1mRicgVtmLm+lUgs8ydVjq zr0y)IF$~b$rmTtszGJKwhNKexUatZ^OM?$_%ni4U$0Q_Yz2tqhXk|0y_7G72&y%1f z+{^a&O+5^nUhx|!;D2lHH{_Zx>VSs8rC^tD3N3)T`Qg^jDmdE;1BPhSm|B($S~()AI8Hhrz+dLT*ajR$Jp<=^ugV3?wXFDmF2PKFp2S z{A=SrG)gr%Kr+^_w1XzP0$_uef-_{t4v(e^e!_RDV4(dCV+gw{$zRT=cf@?XX0 zN%)q$nFSYF+3gYi@%C(x9qpB)7#YWJ03ai;us$M~+8g)cgk{!aGo}NWZTH4n${qSx zb+Wy0IrPsTTx-M)snOfwQWgB`G}AaaoZ?^{kCR`2V*}Pm)BM)CijAx#8NzN?8o&~1 zkE%j;x|Y6m7Ymab4dy&%6jC1TOCNZ23s3H~C9T0(5A=Dm(0SxcdWThvkVHlP#Y#A? zFUzB(cgYP82lEp`gEcUsP0|byjX+6zlX({f@Y@CZ2J=)UQ5jbNzR0+(QEb zd;OrxggXACKED~4HQ7$`Qo&y-kE}}7kLS{Yms z3%>@lLS*2fw%^*W>L3+2wXY@oI4?)C)7aXLZWoJ}jRmW}a{CoK5ZdYyl)$tyJ`s68 zx*~d6O0>v?$NVEB_oB7+_CdCQw0X?bF^N+$I=A44A!@M5dZ*E2aU(%A+9%!|djh~L zQzd(Hlau1!c6eglA+2)p-pWfddyAq=Y5w(-LFs*e{V)7`VkN4YBv4UF{N!~Sf2_9n z1kdJ)D1P+dT>e%okjw9DpP>}Fe_(-mD0=(U;`I>fZcz7${LNdG)3{9OER7q(qVT^9 zOJ9OO_w7?i;`C6V0m9Gh441l0QA6ZKrxrgb`q2*vmS5got6D(UdUC9rT_z-(t;h5I z<&>M$q9(Wp5bbWd!3LgswzRYzFp#OC`?hE3LyB3Cw40GPnY?@p! zIx(7zDhcqHhG{=S3Jmz0K4fXq0lELNl*lgvqPf|ttAhXRs@Wz+eEb-*fWcijCX6n0~Ssl_Er&v0R!P4Q(`Kilfqf5+24Km_vs{&cBIWh7s6o!w7*X@7% z%95JH<3!E$Nw~Qd_sND@8Sz!EA5-PcUrLqo#Xvz(5!JyUube zX>-;*qMzn#cbikJD3a3Qgv~lO7^wN}SY?4c^w-g`Sc-^K9%jUp*}fyGO9QxTfuH)} zO=Y{U-aDwkllH&-4qI3xiq>XVIGZ?OcQ3YTs_MQNPq%ZCY^xB&=H>giOy2K{y&;ZfUxU)Ps~!iPwY76k&goKKhueOoNM5^w-OHl5LnzpiADS39|FoKx&huRW8coRvwgUfq~k+SN%F zb;*-o1I6$dU~ox;X#(2>0uV|ziP$j5kW;nR>-TnF3_Ha3VYMLcVq?HoN_Ct{(TYPG z;I~ZxC0R6}Q98-EemCje^uNqGY-r&pZ?+T`x{)kSRhlG;nx0J$0Q%-ubFu^@c;r)~b51weU( zJhyo5jK}ES%jq_PO^sFvk!1d6dmXyMhAX*E)m(hs>2Lc32r>w1I!L(M#xL`~TReA5 z#8!PSUrJ7V6IyKWGQ{a`vj(5TVHc&I4tDDuY*1$%$LV`5%OD{5nUlBXgrE(bQl#c! zjaU}wLV_OB)SR4dlUB^frxv!7)SMYvxj%L`(b@^1_oUlg+!`{waPi`qqxYF&-X>5* z|0Qzy%Ko^ES&S$zy^Su;y=gg)HP)LDl1Nk>{7Z8h?Opu(Qpu)9b0v-9VVYYA4-gVdj8#G zKz;$xy)6oyK?aw_%$G+3xklO^&*4Jk zf53L;EA@hcfJ2V(_t)YvHKZZ$4vNOnFG~ulBm6_ZlVq6`&wnBV)qY~}JccDxzc`CE z=+P4cX_S6r7=Qy*7Mz$~Zfxwj68VtiA5fG7WEnMMhC({@rY{0BL$mF4y0r*fMPtgB zs}p;BFFF7&zq?-|Y6x(oG9*4tuGG@Unet_$G?BKSpPMqC`%|i#EPy0NGl`@2>VKK0 z=f3%TxXXaLcZJOO1Re^jT6ZYWe5tZjU3K#Y9nZhjm6YErr4Gn*eWwy5u6oS8o_^XB zBeD0c=-rk!`$%Px{cX74kHvx9sL+Tzkmvhz8`l0~c=hX4%kiJC3)YLGZ$+<)&n2F3 z;x{u%+mK@%$Ncmn+cH9v0CK5~VLXC>~nY6YD^;t8HESkWYqF zMn+CEiwZXoh!Yhw1@hV6D6Zi6xp6gonjkz-u6WMFUj!nn_= z&uN4XMB^PSK>(sdR_(Kf!MbgH?(LQLSea^peg94q=$?Bv2Z3kGK(e-$M;9rV5Bi;u zVTx`b(rq%8k#t2~CgZ`-%8PZzbQ#Mf#{Gk{^IX)v$o;nW>emDw2e>)Br}4Pw_f2Qd zC>l87Z3C|U-AOmEDdtPyBk%G{pio3u$%|s(;id0NCO{e6Vm>7G0Ff(89#Oj7KKX)7 zn6|5>G4S@qy*?KNoNaNY^}8J)HRR!8gLD9K?_dchj$1^4P7uo(iDam!6VQxuZ%;Bt z{TH@~me+3oNLPX1XKjjC#8Iz;zLOoPX@nU&DZ#YXx4Q!XUeD$eBK6CGgV;eyuyx1b|)vL4|dc_*)R@cH+j z*ZrHq^e8W$lS;SKVC>|aeXx9MZ|lU2OFFaR68!4`x`5A$%;EHhq&_P) zP)LrfIwG;qYNwWyYCZ1sm>88QVAvk$PTnoIhWDf8V~d@h26-4v5y5Liyh&=HE9YM) zXI-sr%x#GIg2DRD))kpoKfhD6Y_sdPl5~=DD63i)AaBVl!YDcrytcMt&>p(K6^DJ& z;kd`U0AvzVm{7#ClugkzpWLI8G;yb>l4cMDV+SZTuHg!gK-V7BoyRJLB6{WY{&@Dc z-6f3};_S_1aEC$Z+~`mk^GMJW`g$(o-4lBokXOPe@EZ#~Od6dv22t~0KCHeZaI&jg zuC?P&AA}ZtWJ}gdA*a=#Rij=X=Lgsok;4Xv8XX}3Qd|EiW!9%O(yr@HXI_`FEdc9! z5VjeZz5RPv#kaO$pu-1BK7$cj-(;xPC;72~$F-So*thG;+k+4P!|VzQzThEx&m`$Y zy4A`eV3siNkJm*Gy#}@8!9oKiAYU$_knGBo2FtjmW11fE!2N>Nakty^6@H$(g3JnQ zv(c=BKuFoCU&LpPJ<{_4tq zjVPw|VuPh|{FHaQOlp6p1>5s=@Pkh^V@;AZaaWUJa9yB-V~yWulI?@9B;I$1EX-r_R@iR z`8QuhGh*Ak9mOcWbASpmoZB(qC__q<#1KaZDsl0kSq0sPgK1m)g>gpFBHSLB(Z!^T zBblz8^L-2e6!EIGyi4)#vouqAM4a>z`w>JkZoT=`X?9s5$`weX5g{j&?fA#8s|W$77qJNDeQVOF?!R7_+?zvG?OOlsYCses7OYg)LnCp1NEen zdS%r_e$GaJY=SfE(Vy?n86=(GX9^f&-VB0)I*@vn1Y$KT7PR~&l%mr6k*&w7BlA24 z$)9I9IF9Co4qkOUzAC_YFSsSn;OBVltKz_imTxolgI9#_?#Z$L9Mjb|oz{TsY=;z!v@)yj_ zyD)&L#a+1E z7=L;0Bty*D?&MF^Nl=I#f4nr+xZ`*pLjBWYg?CDaL4Pa5k4_406u-z2LO<~o&do|P&V*dUhI3Uph& zsWJ>ETK_{ogRW12TYPlZW8|R^2w^i066N8s7WV&j=_++}@9AQFw_h(9A%P8!K3DVG z9n-G{9KER&^j)%?4p0Z$IE@Hil`x_ngij}a+XoQ1WWPE`BJMujn(wqv)gOw4AZ9Ct z4Qd~=o59v1^|GuRbbjftAU5XvAg9lg%&1vP(QE&KrUR@B|)%8sG<;8)wRN=S_cmBc%a(7d%Lz zE&7z4VDxS%sxnS8F@l06*SmSV(uGs@ng>0$R9mlZJ+?uTQAlYm^-J&1B8z<87g~nI)Fe$eeo7_I^BO zZ~&!REq!5Jn=_gafPQ)s$E#&_M$8*ZPkA{1JNVeY&MZVxl)_o|a7L}%b%*EbWQ|sy zMk=Tl^~9rwoZcIJf8(**b_0-0#XIR}>S>01(8vtWh` z-TOw~u136WUQX;oD`K(fwI1zd^4aBX_1RWML9sKN&7QEA!jc{9(|4P~0`H@-2bmyF zS9PU2T5UzYD;Lo0>d2Qj=L@%6eiD9@V!pHX(|K3>FJsFc+wVyihkX&dQVsESnG8qd zQEUbs?-uIe3;pV;W>{a`mp>bXzwS-mzG-!EPYBAyD7zt{IiEoxMiu7YtTxkgI1y7X1ZQbc({&l)YW9BKGP=EXLC#f zSA7jb^}{Oa(?g#yOqK|9{SHk}LzwlVX+UGHJW`2jHJ()_i;I`8J3huyI z(9qDYpKx{AbM=oLbCJFgln}>P+UR;<11j&UHb>qx5N{nkS;pBYb%HUObBea=5WC7UT>pH1fXxEk6`3oO3G}I>MGR6gr4{uM=ACA1`o(i>I%QUu zQ#NM34*tw$pQYy+etoG@-ZHbe$jknYx}Q_-H|b`#!t&vfj05`fU#;5o&)_>v*HVNn z(|?^hm846-P4ID!6QG;G`sf+?;i06n3@Ze|qZg-zN#ih&V&=2VKD60FA>zCm?$O4e zb?Sq+mt~(FMbM~iknGKav^?g1aeKl^M%@{a2`!#*wO!vt2}&<6DV)5XpFFA3amYj_ zOF}y=`Zg~heFIJF<#rZ9!}7Q4x5ZRdlX=?jdB===dMVBtps7V1t2V^z=;l3DV6HnW z6M7S#CcVDj`mAf?SDJw=XAoQv)<+uRHSqdsWXfi#0z7c@%lY*y5yv?>IrC#fPI1!p z@AgRt%fMX-xgONBKIzXwu7eo0i+X$K0s{CZ9){KxBL@nQ+@-~joTpTO!gfN`nI)h8 z(8`FRjac9efDb#5=BgA{ZyKEj>*2aDIkq`d`}m}6gPd8t49$6l}+}N!) z^SZE0nK)G|c5j|UtG3NAg1T8FR9eh)DLPF?9s_1?pc_?KI9F(_!&5*ay}qkc@HeP5 zZV9e(J`6h4o+8RV2T75MiM+U_G;I)eJ|A*IY}1{r8-bZwjP?cKp#Vguk?rclLOf^y zAGb1S#-TkKua>99#J>0?NBz7zJ1h3brVf_+tlj-c{=sdDIrfe1?ZKhSAt80BnkuA% zRnqQuPT6AyC}tm*g-rxw>kxe`=+(;O<5&*;4-kv<#bV~KmICi_{Kq$Z=_vPZJ~s*`>F7of|#I*EQCJM+{> zJ@i9*B&!+2I#mUg_?(Q7U_9p<_RKElfcm{)ZM>eZSVxvDw&4V1RngHs09-_`dXqXY zm4=1};Uj+oQ>Dm3Jig%7t-_vB%-Tu0p!wao?4Wm~j{pOTZ5E^1#Vasq{rybJBcJo9W>;= ztnJXxGH5g;yNVpp3yipwA0QK}lh2tMQ%6ZD9~E%8pX+b~@F2}plX*F5dGyOk4ZyI~ z*4m_`iWfU<-{nu^P~G7N?Py4Y(_o4GbIFV4i@&%h%>p&F7E62c1-0`U)Q=oW(j~l~ zMXiqW)6dM_KV!A*^7GB3^ytk`pF|MR7bYkDu>vkxtK5gxZb?gR4?PZt`P&UXe@;M~ z$cIl9@_qc(mj|VA7|YFeo~)J!G@!gfzxmEZ?z^-dYD1{R_(-eEhuY`0Acn@=`uF^v zoQ%qZtqBz$T?}#FG|G*XP)r`%NCgSiD{0z?RLle0Q>Zv^AZ6R`VxqmE#m`5zr5CfB zl1w??8gjndXopedgN_5*>b73dv+yhkTGt#-3i!Y@g*Av`l41kI(q_;u2C}GF)geda z^Tf(E`tPEk(0n)AXBq67TYP-JW+yOXY?t9s5MGtg&7^3?rfMVE-M51U_DhU3>gALL zzoF5|EbE6nJ&mQ++Glt(Pz&u}8G@JFkK28S(pk(XU*eg9I1b+}$Y?)H4{pH1laCMO zZF{DU>*~D0EhyJ_!%C+{lOJYsdDq~J7sEg`1mu4A8K+gRae;M>@>W11T2G{<=PW23 znpPQevEFBiLa@ZNwy37-CZba{v}5RgTIg0%sWh$Lzsx5aE%vrsdBrzxFxcLP7Foz4 zO$+O$c7LbqF@j8~M}U2udsgCO_P*(Sdh1G>Cwz*QWTsqo@VGIEyojZ|*~x{o$v zHw>!KQK_}yN0MP~X%>1AX{?5C5(mX3rd7X-0?N!s2H72F{MAs3t93uz-bH2nlJV*L z5_&TLEfHNyWeK9WK;%i#Qt7TB&_%(_g@Qh7Kxwe2>x=`Z<5l(Mq0M)oUrKE|hlTCC zvm{;?@~mL~%&6IA6;d^vfB+tSJleK!c(b)A1^5kFV1*{N;iHSl=ar~8OtiEd7z~_> z^2ZpeQNSEylWJDspZLgmmF>0@5z+oE-^X8n0QeR14LRiN}LQndOnlNzD} zk_$gRq`kzFz^TPD;Qd*^q_kzl6v`|z28?S|-3G|GO^ZyAbrYa)u`BrW1@#nk24zjL z`7ZUl5~al`&0>=>6E}Jm7MA|6uV$}xod&h9y3jL8Qz*Ynt08tQc3K;H3vlr*guU(a z7LbRD6;2O*lrOrwm54Mm$M@%0H7<~nQt7mIRB(q)btRJlGTZkYam!`z{NZwLZVvH3 ze>3(!urHbD-x~7i-=47I=v*@P_g&}|+%c|17^c6jdyUat2M_3Wlj-@LSu^T(O52Ig>A4aM^?)kDHxu|WJCnKq>*Lgcxju!+cqy4X z->v#Lq}P~Cds>QCd5AJfyWIIQ?BSxNU|gy9uOg4gG4M}#UwnS;we*B_9Ma@WxPtrf zpY_ziAw5Xa`emQSN>F2-(&PbDM#bnm*-eS6T}D+1?~FQ!Oan+&UJQDg92rV+8fy;E zybDS{>bvP%i#?qqLOFAT$avE4uN**-^B|PsuyeBB$M)!JnZ!t8Uc3%%6Q@RMK}hLY zfJb{yuNfR38h<(YaMw=-_*pozf@BoV($ma>j%m-}cH(}U&&qKc8Jj6@!&sDeAJRsN z=nVB_SQ?Jc5DP){?6O9f~NkF=2-oX zL^PY9v^0l+fF@Ae78Rc71>bQj{CEmp;MWDr1=pA!zX+pd2KvUHK2HWkUEGRYt&|Ws<|~=gGO3) ze~}@9mSmFM`1C1{s=IqB5I32eo{m*Hm4mqThuBWFR8gk~TPLZ7r|6_sAoWPN!LFE= zc`L!DZ34(%)BvBld9q6b$UN9N)Dk_~%Bx%O$$~*}KhP^bi+U{fa#4ftMI~ zBY#lqYVQrGWVI8q$2=>;#eLcHxt1m(>2BlIYjex%(zby8sE_AmV|)HU{nLF-Fbz^UqAR-LK>& zKEys<$Kj&HX*>k!LHo+nbAUc%pX`$I!RECpAP@NO$M3#p;CQ~`aXyBhp7#JER&n_1 zCzG$favt-)xIy9ambtn4aeA&?pHyb19bO4?vbH-oaF%f30YuTvgAJf54~I|x2!);- zO5LP=IyZ!y>K!;aId7L0574m8%JAuysXY`;>q=IDA8kTELM@`czW(GCV6mYu#GHot z=z_Ay+htCFM4a`a=k_r_Eq69=W8`~3Nye}Y$kkjySai}E;^UK>376)wb7}yzIgxjFnqP~&|F|g6M#f@&>x^-4?X)H0tzLLjc4d8-T zd32fyp=1m&m|byBwXYc%A9EoqqIs5lPILBAt>p@2>+D$0_5 z6m^@jK~3PxFAr7y18*e-7ixk5yR(0TZDx@-kZ>>?&$s>e>gv#vz z0~AxZ&te2$zdqL-OPRt42@IOnZq= zqax+I?yVq(wb0W#>_T@eXvVg~hbtW(a^GNDE%gJ=xBq^;{`CZ0A=-vOoDJ^Iu|TRK zd`k2KFxc#naYB-wySs{CxswFY%2q?oNs9x(+_m5Ro=VaVuI6-p)~sza9U{u8yOx zdE`r(qBW8E`IB!KE|A|Fdh?T*A}-GD^Sa}e&%$XyX26S)Mr*glU2pq^3?II?um7K4 z&-Duc?e@>dx2J!dQ8oYhptx(n_|I3)o%{de2AjX@2wppP&VrY4`1peow`+higdc5X zhZFg{>P$E9?Us}w4@?GM-D59Ivd(4juzGfgODbPg`e`%Hvp2Iqlur+rXsf!HkipNh zV1b!Xl@M1JBJ1eV7pH${?rpNNx@WYwy2Pe%fT>jBVCu^91VYXvMlo{Qr4u%y-of0q zDWOf=z9QVSxLynmB{a;k46K(xC(Or0yTuP%{CtQRo`K+pj&8WN_ijXag;qk^F^@^J zs8tyGBv^}tRr&nu2K2nt#Kffhm|t8x#p-|iQrWU%$^S8gpZ)It{FnT{4k60{Dfbzt zNyV<~w~r(l&CPasnFly+@9GGTda+Ic0a2Zk#_l~tu?LrtIskEKlo-=q=jApy<^KbF zI+XzRju8-<)F_dJ3F!Bi=z3STAqzr$lSNEj4>f;wBswLe74t05u~7!9Co|(D4jYG= zqdz7Vf}?ZaUWp93;6O^RPe|ng=q#=!)2A%70wyog!;>G?3Ovv7G+A*@@)RONS}ruq z8rfrUbvgEriOvV zAFG!;v&4VhLt3m=&<_+fGXC9^lW-vPHX&o}%fxzDx$gHd+|`k4L-6ei)oWgM;xw-{ z`+OMEz&rgC{^lWV5o}Gu);^+yR><6y=f$DNoq4;$aPd!qk|ogHfMW2+2IyB)qhG#= z2b!ZS))>WZ|F$Xw`(fjqK|Z{YUSS#~p6&zArF|oxHS^jZRoxH7J%Su+{$D@$SK|d^ zum9~d`1ezv(EqtxfFn`*KR3v;^WlHSgnwTZ|L2FnSEYj#XM{xIhRJZ%cSZs;tbQs{ znYF(xtJ%8()s!itt;%KCRIK7l3Y|<@%_MO+Ud{0TFSP3)IA9ip8D}At52Y zB)zyh(Bs?!>oODS{v9XW{l~xGKU2y~s^m3ju2MHd4wNDj_|`hkSHJoF`?@#_%{?SH zQU~S5?J)8g;~Nm5O((kK-0X0bN^g(js!q9{0}@h$(ffmZxv}`g;>`I~VyYGoGK@TW zEZGIj>+UO2ug8P_4Yx_|dtZYhzAD0@O5c~LTA96>(8pIF2R@$>Z2pjAErgsihByu) z&y2?0F|byCfSgA&N#9|c=G1Bjxo5c_>(d@N^gjm*peD<5xoOTfAc?@DHX-#MVsZiz zWzPOe&{&{#(b=T&X`CmL(bxY#IbwH^l3Z2&m$Co1!q6je zul@JW(my0P;m|4v9`m^l1BxIwN`>lEq?)pF!Z8_D$HCUCnHQA>dPPh8l#Hmut}nw= zB6Dxx7Z0CJeuE?O@;ZV++zbzo5nk6HQt){Ns;Q~@uXof1+uk^%B3jsIuIniR@MJt% z?B~r=7o~8z8-BzSa-G_u9H!_xb$}>D>Q8CsQEkMjIh=ww%>HQ7>iD`5Z`+dz8yyz; zQ^-kd6f+~>3at}i^6NVBw`{xj?dPAW=X%}#qg?%Z?e9}q`Tmwl4U}tqhgl%>uhO!D z(5;1zXirSi_olGL+oi>KhV#{#1e0}iJp&sxP3v!zx}4|vGb!uhx#O#lFrkt4Nz7O$QlYNnSd#CzwAJUvnkF)jdRbuDH z=ikmNV>NE<@tlq9GBQ(_D;~CKw{1K*I0|X^n0vB&7#F6I*4b&zsa%y>wRK#}^%zt= zVih9j!kw1;H-DE-Gx_t@19Se-_Pl-hHV#xgJQlvMxvtyVH0$=XAG5POWbpkImwvw@ zUn^;cH+dx>>0?L2R!nPVfHsMW!ER&kT*wZiXnO+k;r)9v&Ux}*F5EcWUFN>U`4Q-$ z)Lwmc{`P%Ra;`8sZ^>e<$aV-d3){r@%_17?L!Enc7e|ZQXXiH&=_^-UBz)K{>d!T| zw6wqdpbIjyB0+#br20xAjJI>&XDSZRI_a8A*yul8rJt`id}wprf$)FgqL?`)BfQyy zLwNRJ9%R*@^l+5>uJ6^d%!+2z-z+sf2RGfX|8+D+@gX|8XWK_fNeL`@3mOg<3Uz)7 z?R~f7dXWs=)=1VsKI|#xS%1H9R>*uuVj|8wKm~ZMl*>lgNR+Ge(2Iv&$0X>%OsCs? zJuxV5a8NB}xc2MUwu&C9yFJo}mo8p(xeg6^17g#-fA=_*M9_WG~lKw^_)!vJR?^ylf z1i*uAX&F_xLe1c~Hd&^kKpxT1Ta|vzRgq3UK=&u&y*eWS5mIGoen-zMj{2RS+Vl^b zr79?=Rz^}bwG0oSoh@}w)A6UOBEo4ocqELx*C#+!$d$G~H=;WQw}P(A%C5J#^r2ZJ zhrW+3`0AHrU##`K1z-J~es!0AvETKc4X*n3P^|3Up_}bGHGbaV@F7TrwO9i=Valg+ zAziKpjrzrb6Kc6>LJPK|jea3!B|16PdZ1UN6L%9@z4n&k)#gfi&wYu_j}4^tkIrOk zJ)yFlKCD=Da)w$`oFf1Dvd6VuS-$+Hr#5T-3KGip9k{K{1SF#mh%dUh*=F6NY-E($ zJuy_R!MpK?OVHACy4(kUeiZOiulfDHVYt~UI0N|}FYltDv`b9vI}K1J`$7x#N?0f! zS84A@a2!2*e~FCLIei>3ANr0pCK`KeNDy&Ock5C3PA&mADM27qV6w7QjfqGP-<1Q- zxj!=U3%w{2rbI*<*nmBa14@o|Mz^Sez0~e*j$G66VI7nn_tn3o z9s~!s+O}i`wU^DxZ61E{o0*w$UYk7D8m}a2rO2FU9PE*x+|x7nx{PXYxZ)U4b7yAZ zkrXXXo>ii5=adylAeTuLmfl-U(IrXbUpd-Ya>Ka(Hjb|gMj%BK$ik!r@-;Jtv4w`l zjzcJJdV%K7>NQCYsiOob5MsF5vdF4d<7&!>k!=%y5ir7>!M>48prO=@#` zB+aS(;e83=r+Jag9E;Xp=7L)@yLXRDf6tQax2l<2css>YZd`oDPuvH>(H-DLl5v zFu#+)qK^!c+Cf1wTieP`L;>N?_-}A+u~Kul$P~8DB*vLp9=$&aKt{JBG1U!XtrjNy z4ty8vZ{E1Utvi)vv1Y1p1&l*f=f|H2h`Jsb-(zQQ#^Lr#E{M#|3buvMcW#%b-iv?j z()md?sDz~$Qf9@m+&?cvaZEoFQsp$<))KLygN7g1Q;l?^iNQxPC(`}ZriTFn76B{6 z{5P4H?gMH*r-fulCY%G|cwnW2D9Wist@GKMe1%nzQH3h7xUL8wBIsl5rZoG1)x3R7 zDqxX=R1$CM;5t88xJYiS=OXKbxeJ-UP zKlhmVZ&&<6WRTi(i_gyh$|S&hJ!WgsYV&B~H=F#TJE#QOZ2R7^qUcY8@sEUxqjQ$7KGib%kH@IAvt za_ic)(O1}eEERv6_u2e}^I}UiXi?pq#>u|-Y3ca6bLg`ca~0jl#@*h&`CZbjy{8j* z8*SjTWkMr$dM+sAa@m9Pq56BBd*+NGRpxgd%3YzvinM{Kna3$YmLFHgNYO<{*0GiK z==#c+0fi-{ON&IW(&{^ZZ7t+F^jGy1S7YBsYzS{u(QiKq_w&RgWL_jw`@h(Guc#*f zece|@K&AOdQ4s+fAYDLuQxU0x^iEKkKmaMBlPD-kkxq~<(mR55NJNxglwK1BLVysW zbOK4vk2UAod(XQ)#yRJ1dEu}^^5!ky@;skMK5lI)EJ2l>ogFu)HL|4~aVCuHF^C7@ zJaJx>1}x>Klu9PRlI3pT%zPZSGV%xUL)&p&vt zMCp(A=D%);NxN+UC@y?p%v`-nrKW~bexK(quc$O5_3v3*`Ztd;UgijVSQrCW52K6g zjjMImE@QRvz1>iY1NHTeg=QcbY{E?P4!?NhcB&k;Ra-FrJW*7w*NTiAkP++-Lp+&iTy5^dFCh8+m0jbC%Tf3MBW2HxV>pg=U%X-2LMWdOy_~{tJ`;Oh)KC+%M!YuU zD<({IZ9ZG>uHhP}&{Ld^!~OJg%tz^ah1C%s82iRRXX=f_Rd?5n(!%OeE(~P!a#f)} zrkcpeAZT~X)&z8;nH9zQP}%$(rK9mqHsra#Pqek(rg~xmA68mxCp@WY6Gy>%6whS$r~jrpx1N$dBq*~v4^%H1n#zwCF8~` z^3}4C?C3BKPENtU7sUWKs1Ek)e7Od_tf-Y7M7#lA6=C1v@I+-nPd3p?lx#~SjF-<{)zZ=m+Fyt(bUHI`nhjs| zT7gS-ka%@WyU{eNTMFe>_o^eB(5~+KDf6n#r!(!ijE}VeeSn(sGZAHTD?zLJm=GDai1VVWS6y5tVqQj7tNgnp z+n#ya5&E{M=uQ87DoO%SAH!)XY4VR|=jMPB*c0CHm0ZkqUgW>VxX{Un7dI`c7w#8o zKoeK`^QyTgsBH-qvvBM=PvYEtp3J7_(pFRMYeVy? z|Kw^&Dz~<7A|-C^HD1dwBQ~FOJb!cSpYj@ra2A>QPSd;9&sC2RtEB?VQJX}}Bj3x8A zw~z;OKsfHO?JuwWRbxsJOxI(x`$osR_B=qb%ato%T!weN$OQ}vTg?smh?}nUwPj?l1{}mTF{JP3MLJG+H-i-!|LB5##8AgOHSt4sagYt({DGr z2R3?oXJ&MoeI@#1bZ2Ub|E?skAF%E-e#Eu8h{DNck)oq&|J^_>8IJ?UTvM1p~91 z6dQeX;&6Ro^w`enCMISjkAA9gv#(&%OmY7kI2`5(GU&Vy15Ujednl4k$^Mqfn!*SP z)o%@P!~7+znb&C^`g@$m8+u4CsuzydCm-+z+@8S#GS#w%M_4#B-lakT#wRFYz`8yo z{0To4ty5xXh^=}Vuz%a6oX=YOQGz8r0=j8ZnvuPuKwRaBRCGRNDs0xSIMVzlV~UM% z2l{jeG3xQ$ZLa5B*Y}nhPt=;CB$JYp+?&g?t{)h0r5U!5s2!D6#l_FS1fu`i=fp-I z{FXj;Rl46JuLfTL{@{HaaTe&9*%wWl} zSqk8_6_SL<>YwE1&f{>R>+5N?y+DQ0(@uB5$Is7i6z})xsh(k#t&Pji8k0iFZ*$Sg zh%)Mu)!ZQ^zhmH7T@3ymS?P}JxS@EknIyAquQt6eSYT?22Rk(BeU;p9E_}p%{7vB< z=wnEZTIrRsx=Jn9nXlgS9@+jTr8xMY;6#;;ET@uXg`bU?&Fvghu3~2%GeKwE*AI>I-6bckTHwmPzzq{i!;qPj{eLwdoychu)TRT7SK2=3Cgd zy-8h=fAEHt`;DpHY>}r=v!CNAVALxIV5ueAUbuBri2R5QfR!dnoa2x3tXsXZ6_Ouj zTNt8@T?g)y85!Vji)W=86S;)mKBWJXtrBX96o>GG5aI6g&)=_`+kJq;L(%s4q~)G2?JiX%t->A2dkrxYEjzogqDhhWk;GYfHHOXJlmP@|DHM9t{4XzGTB!Sn zp0r}%*;6oT97;{gJ8^%+QHhkuer_@3bFN2qAW>-F9=_9juVblVu|VQnfuYGN1N~3r z$C|H8ciwBxL4-aRnCmAY-4}^$PAkXl&v^`VE_PoIW)ELIxi z6^>TAzh@JVqiNkFa?Qp znw;o9rKPQxm?*{vtA09=Ugr_Km0w!^`t|Eo$|Jx`VF#0d{f#3z-?_P~X(PeL)^oGI z0^#i3+@cz+yorrWUd`JSFDdu!_W|E=$Wx`GVtDOihZ;BF;rn)5OwF-kJ}?&k7@dkq`7!5 z6e>1>EnmKCovUGkN83!Vc76>Px3af6=)?0L|Gq!Jz9a@`xg7PTi)i+~!F}d>t^l)< zyx;PqK}cxXQX_>*Irv5^&b2SL+U1$YIil_(T7VW+^!V}P?1#QL8hX7%>$Kr` zS>k7+JsHJ2&JhAceV9Xv8AKaMHNRCE+{hXrEdTEC7E;pP0XmI1<=YQXS+wZEuPlA1 zna(7?pbNe!!*A*5ZY%!tpQ3`s+S*omoRJ_tuq-<<`8lBlWaX}0fz&#<$YvENF8IWw z#W1aYX?=Scg98JiBRjVOSTgFmz1mzC_Vx)=K~0}CGVXX_gg{w4lXs%lq}mVgVe)~Y zN8$P7)2yuH?(bZy4M1YfC`bXe;w+YVe>6rKD{Yt#J2HB;_z_3@9;M$&DI7?T1f~M7 zxupS`=JUt#C%IMizWAvK8&$UYu1^Vcx%;_KIWSMIPgXd`&hTIwtis~xwS5;k_nqfl zBjchuc584B(`)k0vrjmI7Cz|e1572XQo-(E{`<+O4sFYNQsx2~INiEG^5U0q;7$>( zAHiupT<~+my>0P_!5jqHfD!Io5N2_(&2?3cH{gfE**!uPx)hnU7coxP{*HrC3#9aDYy?(VJWkUhBnjb=&YhXY7%X5d8ENJvF zJD5s8_cuWg7I8%>;OdCqPXmLRr~8s^YpbhHl6D6kvD;aVBfF`3j^fn)B3_4)!go$Z zttQ7uhLmZlpe3+Isj8w?^OS?Ol0koKxU)9pzR?=!);}}9U}O*$7Tbr<2^BIhn35_C z2nqs;51yLaB3aHBCC7eyqV~0S()S=o$?uCLMcF@%rj|@3x}MfNef?Vs8UNhC7Vc;q zJ5#o)2HR?COiuoNV?#iveZ{C~OTxJ8R@v;}W(!5hDPMtG^49V~QdX=_Kt1TRSM6Nk|6 zWyZsdt9SgRiX6yRXhz;7OBP9eqd=l%y4TdTIBb=RO9&xmz$g=N>& z7Zp3461u9maMgc|-?G`)MR4`8v1Oe{R*C3CdXEOzF-t~h*)jDoF@MF=r=I&CvT?_k zc%pMt-NrVP)aC!$Ch%n%K0U3T~2QDs0IU^mfh3ecpruCU_!}sGyZ(>R$0jjOsSgoY~>~tmE?ld5;K(d?o*D4zf@rYV&Uiq7))WlBC_ABNV&@SM@V-^it97t4BPq}afpqL+ z&e|<~qDh};T4rkF(ai#Geu;S+vE3^pMT?YOft6#u*VK3#iCnE|yoloPuN*0kjq1_J z`4x+M*jHt=+^}m!dTAoz>%5r+f~f6b#v!@yg#Cp`kbR*8b~C=!C1hS9wQaCJ80BWj z!(Mi)e*$rQl)bfn@-z#}k;hH5jl5m(;4i!P4m5vlwn>dNlc;(@2iSu=4wS7*Tfct& z>TsxNkMl;BkZKIm5{eMFO;iq_7fR^thT62O#Pmm<88pk{0VRH-n9ceK!pKO#JfABDvJ0Op8K>D~x>Zy^QuG@nl`I;3j!_#wEn5WEV(f;wLsY4;o8E zwideLMsl<`L@H{6FDBksxTJJv>s6+5uqpV4%}Sg7J{y?)NQGjvM;8e=VufNoD{z7f z=)GEI-bfPAPaJYaxX5fqHGkT(n?B#x)_Z6Cqq?w{_<~rER*(0eU+}E$eZY6$7+;ok zJbV=y1ljoLQoCe`=};T|{%v`;vUj{kSL5hlfyn^rhH}U7+~cXw*kI3(Dmx9q*;pc8 zB5$(MT=|*00SS^7t->L!{VrX48w&_f!T>PSF?l<;#&4p;$}BTVUaP<968D3u6WFn1 zF9;K!b6@C=Jy)bsCT`!AAl&`F=HcP*6Kvj6 z-FVlnQ_^AiyFcFW30||+%Q}S|d2(%Ih7Hn7#-aOKY7xmoV{VQIdIQ7*=}^kMj5LV^ zn#b(kZhh}{WgS7N#@3W(nhHGT%BC|aN7g@8R zx>^-+8}C=5H1 z&FyUvzciG%OULKaV6AZB_)N7t5S`yp6DVHZQVqzi+Yc@~f?? zbsBKBudeSMFALK!IqUgQ=(ca?7TZmkomSTSCR0H(b%c0)sL9KcmG)_&z3pw;ht5ow zmEni)L*(q64?pegUV*p~kOQ4}%{fkydxi5P9dYo*pIyEY)9(Uwx^fNmL3W#^ld4c*;bkCrXkbuGGF*L03sh z8P>V9xac5%;ZiZ(uMs+&$wLTCH#vs%cLH*8c^5O)*r;=ZS(N% zzrv(~GQ%|IoK&HHl10wo;1;Kh2Fr<+sl3$wtb-&mE6`sW;l=nHOuEEuCMxG{s-9$E zSoYb~``6=lYoauTTnDNOk+`@JNuv)4fRhc8+`IuM=~Og17COFW>cof}KBwOc4hd3} zGxi_QV+)7o!-G1ReTEs&%3rW2+q#{eq{JO=cEuUCJ<(Z_ncoLBwT_@x4T;1N)TF+9 zQ1Di5(89w`8E8O$#APyHCVvQ#c0*>jISmbRpM+Y)Lq?F~1drV%G;YEF;mViKY*@Iu zlelF?_&?l|nMM;n`*4$&&$SJ@*60coRE=#+9k;cI)>3Bb^jI*j-5+!7>%h~5u|wH> zKoIb)2TY;mf-<+bH$JH6M9(%gW72Ds^1i-4<9zv6f<$z^Hr1d>nGnR$jOC5_Z}!^j!o_Lo8v@11nYkPyxgT&dM8<~;j^tJ1dV`X;^~`P~OSQTw@g zt<6)H{Keq|4CgAnbwi+ygm?@mdn0f1StkQC-PvmQ-L7o3sINqXD&ub4Gb`)dR;iNF78hE?V}h+14l z?RUD7!~QI=sV>K~H$8IBJCfHR#jQ$H=jQslt?V)5ob|PaQx07yWxdW=PIo_t_+I$o zLL8P00>+jTuwM=jSLKvwhfLm*O4f{+N^_KMkS|Hl5#SSdf>On75{t6o{8nd+=841` zp$9u7?Mp)MjU3UHK(TIK+iH9P8y|1iW?g0~nzpy@kW`fyhC%E*QU~zgFh5oByPpQ5 z4+9YQWW$|P>fNRE$I^L}4nYW9FDmrF7wN`vJ4@mh*&`o`c^HMU{{;mIkc4b;Qx> z?sJ~eaA}5!vLUl^JNF|U54ovyVHitWc5g!*1CF)EOAHBoMfpnsj}wzvEZA)%nHAL9 z(^c(14`%a}s`cIre#Xv}ukEhJJ4{-g!|m7GZIc}vV zjV3!#YUQw17xEY`6cyS^rv055ts9(@59Z=HgDI&#CmH(H{Irs{CJoaVC>$6%e=u)U zQUk8K)*c$8Ks*C&3Bc&lA;>1SB~=DrsV6sUpMZVBVFjd*M77kqIzR9M>Nw97&AN_=9*!(tkb4JyDRpR z=89Qy`sz(26}8Tp=!*-ELj!kz&K5(fSMml;?DB!$*B3-Q#3L&t^$(Cg>)oxuw)LJk z8<)y;tEekX{#>{eYiJA9rd=GeebPUXrP7lckq-`KfDCtbu;Z|71 z9YY`@qX&2*PHwh z!Vjc0xyTu}YKZA-IEJMc5mmO5TF30Ll;QHcs(OcVhPu64VwDfLQg7&8c5?O>$6r&A zy5y~#869=!V0JP8K~sp-hn5g}&!~aniRM}ZFdW!_UQyeeWhK)i)xogx!j0pPSh3*!>sB=@_(u z`|4ZKQ}w9MuZic*IgTc=^|i`Fy3rF=I_PU14(m}cc?P#K=A9%gh-u0>P>Zda16z2) zVp`IZ{bua##}r|ZmegcRFjjQbjmd?7sT(AlQmN6c)WuWWmSRM}=!18A_)5NUIuZ^nu(q-XV8 zk?!JHOT)I8zfrXhde)34iueVzyPtG~8dFS{7$e%rqw;|W{f?_EJyI%(g`$?}b2|?2 zuN~_hiN43NuTF32Y15z$ya@3ckdP7R3-#aEUvD?Zz>Y~5PqfrjWwJ6Q*wH$iXd0Sd zDqxtDP1Crq#4_88QZQgLXXTbrl`;SZuuLV#_b+=VQr)to-RBx@`P=?RS+^khvzm7k zCpysr1==l^hfUR))ju8s1+37!>Ce*pHbDR$%{@xQ`qF1%_QX1%t(y_$K~r8A)PjV%LP*?Gpl)mS=&%sUh# z%d4L>K%fmze3#{aB->&`esOb*wCMLniuH!GP+##IjljrA`JyUVIKy_|-%O*Bqs~X# zqh49KbZwpRG${UCLWU!LVL>!Dwm~+7O(YyVBh=@uxpl*`oJ~}7f@kT z+Yk^e6`msc0W7pmO-4M5jFGd49^3x&ryF(v48m#5$6_NTVmb}p;W;+r+wu(~*6yqf z4GipW;w9HK)<^E|8~0}i@)2mp$KUCsQWFSn96}DKLSh;NTWhq3&WE%d%`CnHpRC77 zn})vqQLmFKSQ@?nLcQ5JV5VSs3KHIb2WkIo`QMid7?)^a;S@()j_?-g(r@$6ooFF^q z%2im03K2B%qtx13`pYQm3=KXa0KrO1+1MRwn?=i@f?eBjGJ0^ z88kFX$ZUa#+O=sPTx$d|< zn)_l1eDxLKK4Vwksv^tdfqGYPM&`*A0USuQ4{Fl6IBi(I((yNMyJ^8H581!xR0&3c zLnE8By~zncKtHv!YpGoQb>P9rd;*AyC#OW9gwTbe-+oHq+b=e@xXo1oiXWtGqGwW~ zDot16lS5>#ctfct2lpNWq0FK-Vo>QaXP{|nT*(XK;^KLW7LPpJrGsI=e{X;VE?#tY z`Po{sHrZr_6r&hrU)q1$Ba`UZM;+}0c6Ld{8%k#`{JWvi?j49AwmOwR_w(!d3md%{ zY-_9Ih-#aI9&O5GV)uIX4qF{q28F=pfm)(4=FNoZPnXwH7I1s)mK$=)TeN#a+ka=x z0@SEkCmHtodXfZSHxh)@IM%>=DHRkt)rWf>{{D4C`=RBYU2`b(QJX(rG2NXmjpzXc zJsAJ;*6zm>(6NOf)l{8#m!%ieoM{4pgE`QEx7uu+tH>Nw_PMvXl0yWyw3ay5$yhm` zhxgU=HS1g>Vl%)45ojteZhJRW7Si2VADzp_@54|jA|}0ySaFC@;BYa*y!J&sji0fQJ2Zl#!9s~RE;mDLE+aybP1`Oi-Z6gu`81FL1oOC zpqcg1(;{`x^O`a;GQM?n^(mg?@AG6rAcqS)$GYyTb>K#ZP{Vyf!S8yP>HCf%(H~^0 z6r^S}cnGMZcskyJY;Ce7CMMq;a~(rY2&TEmYv1ts#2@`tyl=T3?s8%N*BbYq!1o{J0CC`?Kd# ze+_P}PCZh|-cQRfut_>fJa51bBA;?jL;csMZ=l5vZNzt%F)6X3Of#+P;#zNIM_Ckn z34E2Ds|=f{G*Ox@U>Pa+_xV)&HCKi*_Eup-`P@=z*XmZK<56l-6D-&DUiS$kvB2o0 z?|yV-TxCG^@60qA1zUjJ;=?}+O5ApnjRtfJWMI4Rv9cFf{&1PYc)CKk*2-dd<j+dN5QFGoQEif08t3>?o@>FRiJ~Ho-SeEFt~`=^06lTg$_t`>SNLMI zIKG>S7R*0F28z&YPksw*d(+^+KuQ1K!wVycj$4K)oTT9bV?kRb{N3gJ{0B)0e-!84 zP+TuZXn3a8T`yPHC@*>O_6bhfoAln_el!i!0-ebWoy7z%qoHnVP0xlCd8-X#LCb%^MZINH{KAOxv@zZt2EM3 zH9or)dG4C`;iSarGYVoaUmjPGvpjwJbb`MC>IU!7;Ts{IPe)5J>$j;W%A4L7)KK3ae!jjjB9Kqo`hUy9vN2h=k-si6 zF-_KKjf?FWitlpD_g+6f=G+msrQhJq@vSM@4TYv6##%|}q`QcY^ILEhE}YeuodtbW z;S5=iqU6<*jQkHE_QwD}tlQ7;7!xqfA&s${uxz%^S26Ds!0noF+_HCwBWjxi4>(7$qhqUT-mxAh$!wTFqp%aP-FcK|?INDg{IG_&Z;-c1ATUz<*YEHk ztCY3_Tm!bCUqsWfGKAVxgsUAw4|5;31!2X3vUrRxIV|kH!x+R328n5D$%whUeckcN z6Ey8G>m=i46wUQOT9N@;RCu!w+1p@g0^!^b*eTDi&UVh>ERo8~ zQ3-u$8|ofIjfMXBqR-|r)#z2Lck`pt?Jc;=Wc(s~{i}aZWadT^v-=dxxS zP#$eJb1VAwVL}>1kNg1?6n;8BsWWV{hx+P{$N{FKBpp@bUuDyALQN-4O8W(uAbnOKKDdyJ z%cRiO&C$%DOR&M-F>=Ea?NL!~;rtgO3o}N_vOt15nUZ#R$cR)&p5B_OP9}iDMs-Om} zb$j`z&IOV80zlrC(#4Co&s(;&;$b3S4G%$XsKF6D1AGUDIcdJ79g?!E2h+3uCyyNq z%&l=kP{y1kcZiYR>%bg>GgDit^R28bfGt29JRDv%U$mCLTC=7gsEPG++Y4sHw# zZ90$_wQAto5ccPbZ{ZH3`4&E$yO;w*zCPW1jltXLpW}DY=>oM_gq8E7nQEoY-8{ou zxLP2*KiII&bPh_$zOr2p#K^Z0Vuu!bZ(c8JjN?oDXZUoa0=^D2ur8O)m=)?B04X^<|NS${;~gmWBX85+N^=WF8|;8jg8yqKj^XfipN|Y1 zW$xD2+N<^0#!0!7d4g~@M?coT5g5(FJ0b|2lTSb9@of+D2`-r*EqL zNIFK=Wk30bneLd#OnM%9XeN=k$%g6MehwyYTQA%Tg3&MMjawW0vsElWLUT6=i>Og9 zQU}RatBqO;lU&H{;pic4z!X~St3r(&H}FAGBu2=<)X^;MMvKvzai8~RT+Ctmom8_fbX6^LM@^}5m$TmA@Ln7*HR4li2zvP8;94^eOgFPSK@W?Vih1GZh z?+;!5ODW>j22)InHV1=3qE1tD&jKx2+Nv|yyc5XKqky>6qH&oGbWc2-bPcKAn)4J^%UYgggd75^WRqK+D+DjJvcA@|B7F7!Z)=!dhF!PEAE00{f{jonF{>*pjs?p^=>3HG{ zGv~*8Pb|{yZvHfX79`wiBovpAg3wLXe2-VR>xy-6Vt|q`bt8vvW4lRc8s>xIG2_SO zIgs!x;g=B<*vs_~Wy?ke&9f6GYi+H=ae2T+JoU@K5g$wRZyOqy8wcafr9p}oNk2sh zHT=n5AW2r)efskl_dTN`y>Wz5mfHSyNH8TvNa&c2BfDAJ_W^^0phc%IZ+p*tj2$7a zPFJ)XQV*_c>FUPQG42p1j5+g6{AzcIicuA}iZ=%)8cNqEb@lWT+k$tObq`}X3vWxO zRA{?Lw_5n$(K>NmtS><-RnEchCXviyQQZ+gKnt0lW4nL9U7jPguum`L8q}(b)!lIf zTjoHh&uXr{At9(`ovE{2!lvl=3|K9Xmsl6&`d+fTv}abbM089p`B`0XUU2^E*yT%- zV(*Qr)HO;h8zKWtq?zwNpe~P>r4E)?G&bW!Pp*`Fswl)Zy#dN6-7Oi^btNk^e~2#b5}lpyk;%HB>i+H|&$Pfj4YuCz zjdFtXk00~~8UG;Y(z`nM4=ZnsNep}L*?Ze{U5JcTI$A;He{KQEZlk)Yy!6h?@%I#F zmXV?}d~%Dg^7CyIhYPf|f!w{oeP(=q`I#zRIniQMh8Sbib70&&##6}P$#xkYoc2e_ zgW>ppUCcta&FD?>59-*Qp*MJZX_UahSJ?8j{oqSu7+(Q*y|Z58W_k>)QklFQAwo_H zH@7cKBfWV7*)SE}K2EJM#+@E1pQyjGZP?ET7z3nz^2gX%GD6w|qwRc6z5Vg-8*$X1 za^~RYZ=sl)N5G=Il4d>&40v7(3<^?Kol|%1Knj^FF@GyZmi8^i{VTkLab>uMe&^zvz8hCHXulYs#Q=J=GQdmTS|HjqUlyQ zjB%yK=#qZj`mgNx48he)n2EYF5lFo;!ei9=>E7Enx*laa>Y=GuNpOtQDe~*kCU0Vd zE@jhH1~D0D?<`JWTnoP}GPaG`j=2KUsEW%}CNGXOguabn zZfRq-<`6a+XIso+9~9f@&p78jrzagX;Wlfny8i0S`nt+;yJC>ohH9-@j*2qhuBVQ< zHdvA6PkdQJm`(XZI5Q6RpY?)?QsYG6zHwseKqhYo51Mjt(dY_D?^tr5AuyKf(^s&d z5HITd7gUKayL5A`qzU^g8t^}*<`$}Up{2@b_Zd_0LLbxJ9A?yV*d7(m+r%Nx`*qFnD7z@?bYK4_vgNBbc?cO7y^Y`6XMU= zwvgXn>C;p~(?JdCH2siX6LI*H`7|5bMKiOJyymRTOozp8fvuX}Ri%}=)81?5cJ;&~ zX9P(n(8W+~jw5`h1#2Hgc>&lO0=ix!Rw{*N=?TK08T`upCpSx0sM)um4 zWBdLk_#MNxm{yb%FOJ%? zb{^LB-&+31{sKNG>VmXGqGW2x#N{ppRScxXFCsQuU?(RZU_G-B+}|Zg!^P>d-xk|2Zwy< zOtbolLkeympN#}W_9Flx7>W?C5%=R&tgl*9(c^g$H$+we^J*fbNDSuUu*M1V2+;l%6LV~gNF~ga}Z)6ee)J4Wr<)| z=I35w{weVgsH@p|E(n1tH)sZ|%6ocK5b2>62kV4Vh<#7u_ZkG&b{|X2PEmjnwCRV= zD11-?1`EclLdIzH4w(yhyn;&YgN4O87E9}mjO~IS|L~%8Yp2BZvIF|O7WYl`-Yzyj zsBSf_cc8CNCzbf=%U$l1mW5D@&`h9Ce?JxrgSV=3JP29-b?-D2Qwk8kth}&OMKc%{ z>RJdIH^yhG`s=Z2Yd(@b`E(Z)yH)!B4MPo`UVY+qu49Q$zh^p-Fv=VKBl@dDPl3)4 z7!mr|14JH!oy3FF&VhuAPr&WB9ZNF<6QZMLu5+WpxTJ)kJ)`8RR!QyE z(Gp>_DA@#9R2(KMvpTnh==_GV+ZI1{<;0Uvl+O2*iSsFxCMOU_*cTQEA~5pl0>^GF zfC({SJn0SChsK5r@d9xVm6vI0XlyFlS@_@sD$0P{EhlsLkfq_fhPkE^~&)(Rx-4tl|BFUS#^YlZkFV}80J68 zf0O(t>YpSTAImwjVZvDsO1qmvLfX!Dq6_O{M={s{letP9%u+2vG&f#?%ND>xRnrvQ zBffp_)PAm6&3a4BSTi4Z8%j)Sk&R6)_(pM1<0k?|m!L^$@)W27UCMZ$JbA+IweYEjf8T$-1s^v) zAS^lUG=brfA#H18XYj9bU~n*3gUNw26K)Jtnl2#JD)ZFo1V9khdTRJlB|=4o1NNne z%-j3xnp#27_GLh0yteMxy9~u});;@a=!E!N2Q*rMk@IoTcl{av2O7|D6MN%!i)u{E zKFt5arY!OsyjuTjdSbRQsUKO@VW!XY^@py6=Y!QH{XXYF9MP$NPqVUY!{2w5L`l%# z8F_gi#1x?G`|0&IPM>q5bx z8kPf4_X1UD2}>{#@#Wv$+hZb=);-n@i#(LQyd**dV&QJ()JkKzd;j|y0KfWW3(y_V z-Xp6QKmSAVvb)+G%VlALV;!UQ*V@~Int&Fe3FVho<5&Qjs%dD`w^=8o+I%_#Lp^W?w4#W0hmb&~_Gl#StFMCc_CupjD>fXKkZ25H7fU5F{AKC8p zVKM~2KNrF?=GB@+Itx=8{cy%-!zcbfF6U#DXTUjUWIR4*P=(4*HR)U`$_X4?s~4tO z=hn&z10cI#b?7(I!z^=;)2Fh^*c#Xc*xFP#q z{2tU`ut~`GmB24i)2CZIgP?yW6FjwlepIh$Bha*xFH#AE+3%98P?=dPo<~5yE*`{J*Mt8& zBGsZmy}e{yVfqNfU>Ejh9MrDOwP*n5tV35Uaq7f%t9n;aHr2zo0YRqK)2OhG6O!J~ zpT{3P$-(Wg@8y3oAfFv6!Aq{L$!f$UBqyIgy3g-{L}}3XL|qgYJE|HlOS`VFO;@vk z7gq-I4sby9sS|QY58g@AG$3JYx)HI&24=E1V@8sNXVMR5r8gX_C) z$KyZ$E!6yp8|gp)2>fog?0=w?M+fEqdjQ%0fIW|n>;FCG@`}jzSMVR|KceE20+Q$J zyG+M6gq-|r=z0g83_Nz7rsU6y0{r|%!5@@+n34^NqRiUx#s`{!9z2Q{+1Kbup%!37v-t95^zVF}pX0VA#NrL|;>UD#&)$xfBYx`9w|N~c zrC?OAw7qvC&b{E|Dd>;8mcItQ_+Ql5Gvg?|FZBaL){SqcV98lW zpTIes6Z%#Qcq72b^p5Lf-1J94a!s=-3ahKKLH~>QX*hX!vm78kd!>5^P308;;&YV& zAU+pbYi%-pcA^jZf;V}R+yFIH#pCG1{9mZi|3P;C`vm>Jzij{K@o{v>{^#-WUnkE0 zyVK@>Av=4KzVS{bQ98>_W$f%euREX`s{!&_I7xL!vuCB&x@{iBxpw#E$9?Ki^5+w` zk853#RRrDsEdWNlDIuYiX_Hx?M@$EeGp8Hr!p0HI^R#N9cBM5+1V~9iVQAy!?L7}j zEeIOLES8%svAFn>pt0t+vitNUHZ6tc4bfi;0TMC_@kJsMeOCOt&iT~UvC^niGy4Df zaV7^iW@vsykBBny7Hjwy8P315 zYOXj?*b7!%n<0>0{0NEJ&D<53%jvP&1ywV_Og;86T z^*{~tk+ zcYjGlD)W{NeTw1;&9{_>9KGQe{}%53OQT?Z!9N&$)P74ntm_-kS|m5NJIzm9ATZM{ z;Yvc*nhw)H&KP!#Xz@_V`B#)+k@n64A+u4vYZ{@8-qUDcw`>G>gfu0`2%wxWkUd#o zbT1DCrzV_Uz$OZr0QUv&lj&@*5~c`B-MsxLpb&jg*c70s*J;sWArTdiWMliB%;4q)z9c=*ZTb$&sCqvb@g0bQW;Y{qc$6S^`YZ$A^O z{59YTOam3>+1RXIXsdcYh28RHEJM2Bt@!7zpo=sN&8DZ3wgD6$YDQ`Z-e|^ z;%Eai*=*tzx|a*E10o~Xu@_Of9dG)4#M{2v-C<%V6t(!1cSzmz_x^i->42T2ZL;{= z8IpVu#CCgs)+R%?S0L&CVedVon(W%OT@ZywrPvS=0Z{?z0@AynbdcT&NE2z&JBTPK zNR!@`-b3#Y5$U~#5Fqppp@q-_-^}x@wZ~fPefR#c{_Qco{1YJ~x$k+;d6n}z&W@!M z3Gov*aYE#k5A^}KzsLnyQT<7r06G{2B8Phy+qy*w;wT{EBx6}xkK6Kmhs-xKjv9@L zc>sYauh?I7Jr1;XA2Q+8YVqP&WP0;AEf3(ba%?TIiX59wuUp!hn zndS; z$TR!`dkAnU@#@(M^2L*`SuZ|cyK-{h{rBB&f-4>4105G1Ws&tgJLB8nz@K7TdGmQ` zS}ILgm*y~A-&6M3qqgRb+D&Zf@hf->kVGUTIGR6HY5S#nmT&$ivkP@WiyYb6`d6TZy-Fs+ z^7E%@`I|O~)6Oqby+)7b7{}ax6E02f@N45Gpx9>L6R`D~hyaG$Q`9SSu}-UoRGI`R zr9PL3Tn~+Z$`F>!KPL63gNTT6ZvN%5Y5xO6gLjROhu#Yau3mJa8iwD{6lvs<1gSxWTSpcK-pam)};UgUo3N3uZT!to-GSf9c~oCE-I zih=;h3_Gs8H$%gvFgaE@Kl@s9ozI^2WvKAFvr4LWVf;B033fA5)z9#WMR)AL!BpOt z5n)|}D{eJwqhp&Fd3tat!AzGwjccHH{5qG5i%Se}&Cv7KiENvygLQhNRpCAFwCjMn zeC@CVpjQ+Or>-2Ek5f5`K9vzq<_k>hvEB6B_vdP60&9L82C%6r1Ee0u!xo5|iyxmp zr^l>ZU<;J|97MaW+meET%24p6`~xX@DtOtJsMHe-_I5&H_dXJ6K6Gh+IG8fdA{#*$ z_2Z#*pf}Xm_YVRgggV@q4InBvX)y#9_krq?_jA98%e8DgH_M`gh>HvQlhXZ8q^j+Z zNi5gR>p?c%d0SPSajZbAX4PgYY^r8=joh|5r@W9v1HV{cqK zX-w%&Rsxp;g9X>ty892gPb(sLuZ#{rO68bf5=Q+pGTo#3^j#hF%2n&P>MO8 zA5pc~#-e(LT7#F85fv7rt3!AFm@haKmoMG|w%`#W9_*RMqgxdUngGP{_P2r4!7pRI zgOLZ;GbNeN-%dUn*_RF^qaKnK#Yn6T7ROW05Z(dH`7y)!$6k*WW!fU6Y%gU`^oYZs zksev729Z`AR|*@-M^qUYTrY-FFm-*3fISnE%kbLr+B+nvDB7blk({2Lxr2x2?e5OQ ze-KvGOx%lA^PW72z&K6US6TGK)4u{T+&K=^^mr^cWdQKvonDhyYEdmTnsgP_(e3@s z1;%A;Njgr)WBx-a?I3*jOnvF(pn|LG>uu9|n8X6WmlnIFkzM30bO^r?2Rs+VvH4y)NV4F6x41AdO`fJOaRtKd*o7(-edkMTT zwkzd4C9qu4srFPr5uMk~id3RrXUshHkb|{nUmdT0>?hu4F^r>JjHO$0o#k(tJY?YK zSK+tkd7dD#f3N_UeUyBZOE#ItKzX_&AUJV=qrNtCLPq1N4Y633)c|PFkoo~S-15`4 z!RF#~0K$wnPqL&L2lZU~lUyLz@)7dR0bo6V*Wp0<@F|kSvchoHf8L#b?H!#3N^5p_ zkFOWD6A%QS+paQepwi#=N>*C*xRL)1dyN92-PV%%2BsX-5((KQUGdZjdW{0^HISQQId?vJ&xwpRa*&=WsD za|V;vz_rKG)2#R2+F)J9xo;O5wt+TVq!?qWH*bmXs?$p*-&=L&0@%>lYcrGHaB!3hin{{22S8QMcdv7Nk($51phO9l+ z_dN{8YC_I^Z`!f&15F(1mI*j!zfbU(kB0UD9V>!GR#e6O#}a6y`fL%c)20nP*j z@HVOb9zU0Ad1ONK!KhHbDv6XD#B6so`SDYt$7>z*E~Q_(&(CHSS$KA*v5UJ=s-3(8 z;>_uO{03=$CwfhGKqcCnAg&DT98y>x$&!53~C45FQ_;gk_}3pvYZGE%=U0(Zff*v&ABuqolr4nsfQ0n!Kw1bDLLvf zJwI{8$tj7`GrO$a?esna%w8Zxo^zo`wVgs7J4+y%-Xx`Yc+^(%sfRa~c941yXhLaC zost0;>I)Rg@E#O;kY&K)4L8y^rgefv+ky9tkjU^aAo$RiTmyVx=Cldi6r9RIu(-4q z`6(!9eX|F%4(An__B^pEsHW95MjmcuTcwL9(s?H0><0Q%PpnXcL|K~o>P$7%?=Nue zh&|A1U))c-aDSO{Eq=l|XhGvX-_5O1GFHgRe;d<=`0c)Ghwb=`x)G$d(kw{wV~ z=`10!`VIueDqK?Kezz(s1rRM?xhG~nQyG63*1J!s zMPh&-^92n~ZKyG$qoZT_E}Cq(K^3yV&$>~Sw5PqhZ}YHKRy1bo;<>}j3t|d7*6UQ~ zkGi_#%k8)BgHCv)k1rWPHM$2z7RbY+zvE-!=)BC|AD3+eRIHq$$!iXrZPyfQPI5%H zO+|n!LrU?c*GX(ld#s|aU3z502LkCE&~8Z$kikVG1%-sIwHyWK)f&^GLv zlWW>1*z^;XgF**!$sFtGSGVZ=6fRu?oE%Z?^A@2y`ks44*Hg;xqOv*)9?jOlrqkSOAVRR++}5)$VEUA+sSSPDnj zrSOox@3tAFbaLlB(Z&_)bL@A(5~AmhAbn1otsm`)!^aB>2c`jm@X7Plg#Lu>xh2MC zzIRsL6J$L5U#9k9Qk?5O`&o3LmO|)ZqG}s>Y-J_Lq3=DUdNc6Vxl3KWLdDmS z(>fuaBn}K?9X=3uk-J1hlx>My1CgG+N%}wA*|ob-;soz$ zG?$KmQqBtj#s~GQ-`Tk#0kmTMgWb}v031+TyQBHdf4n9p<1tTqmaT&pFSkY966-b+ zV>T-VU35@*{na#kK;7zs(XzMv#FwiO+bwJ&vRB0LgLpi)(5nwx1S8w_4aoF+VB zoa%mPP%C%S8lK%Cx<9GQg6{gDstDe}TXWpT)!&o*JcE7awBZROC77k%pkz{%0y>PWp;VQZjC#QL(x#navcfsz-cXc=P+(ODS-F{_s( zUlBft!uxgnQ;GPS&AYhXn>gY$|L3ZhQEvC|Y}So5x-|7RxIo9N&!E@cRFpHNPIfIQ z>Q~3oCPEHG4sjquRRqJQSzZ{Cfk2hJWkdSz&kPW;fE-UMaBgYo2QG;vznTv=; z&c^{QrVo!khj#urRVFDY#MYX&3NL7Gig_jUv*rlP3fS@Z_-XPNdSR64Wycr_%5S9r zR|u^y;d z#Koj9sx>&e zQtzX=2XJO)#;)JT`xvKUsl zwUwd~AP6!9Ero_UMc_-2{eJGntp}@IyN+e$7PxnKLx$cH$0!e-k~edJ)(y5wH(GHY zIf~1hGnu)Xh1$vk2a(@X*g@TB#J7m#5G_Dm>bt%uKOF(D)T>bP)gdH2KbcX(bWFKJ zbn-Rp%KelnXMLA@sl`N~^%tb%Q{p@vmz>Av>o%>2zOJSR<0+w1f6PvO388gY( zs{140ugM=wFth2L=f?vOV;UIfDTrlbnf)P!9W z0aTZXkJ#ALF(9;LNi&^9xPU)=W-s9Py8(~`H?P1h4wFHNa9lTz8jsN&->>bpBPCE3$l$xMij zCcP&pN0FzROYAA&Fk@J4JHrm5E2TKA*RLZ>+`T@6x99JB5(O!}-u#w`q$9=HiXL`z9L>(!rFBZcezT7MD(mzL6Jcujr|X z?iU7+$_xiBYF>++(L9ZTT28q1-xIFzbIZR>M=QN-?3mHTW3fqf9Ju_DOK6(O(Tm*F)7G>tNLv`RV974*=vH&&OwL zdr)1Fjgr~McmJNM(BazM+v7j)L$tlDpK?#{O&8E%?p4QBe#54Rz%JBim6G_rMs!aU zZ*z@FwtV~QJX+0K26SUpn1`*Sic^ru7Y5zMnE1DfWjEI_HXX@Z(aVG6mfrti0f0|Q zLhJuYN#t4oI;j}2TqA(+g&2g5YPZDT3x%bnuffPzNp43H5KA@+uk%^MO9By(^LcPN zBv(M;QdYH9EAO?bkSD7lxTFe7N|inbL!_x%M{~jSO&hn=2xp~(L``~s6(4G?jTJ_u z%`5Ka>+Xgd8-xj8Y+)JOiQ7{0f}&j3sN?R8spXbGVqqoHu-6=4a9Qb39ifiiU*NOt z+KSNw5}dGrK30MWO_Pf5yOAnSI(f66KbaAz!{kvY=ImI~4Ic zj8|baifhB!7?kEt<+_X!Pzi4$8+6(M>c?uPS>p<(xj!{D3e3)Sf$~4Dp*zp0LYt%M zfy-F}NHV%-#2Oe^j~o*ZW=`wN`p26!2nagYQT`5#yFcy`4^4OOAC_j(2;>Izg&u73 zy_AdO z!fY|5>ipM4^$k#&4$AA~-J3fan)iR7-puT|Tvaw)KjNEMoezvJj34l-i8iq*gu2o4 z7Hh~WZ2P~>GE`KIMvLQKTUASx+B7`3c0KL#iv$hY>Oufp0Y!(A{Bsu9w7heM*aYSU zvAphAUMC0E`GCVq-rt`m-4T9b8d4yThj`6r&t-?!2i$Ar*S^U$)8ug-E5FMBbp=ZD z7qqSh(>IUAQj9&_nOVeU`*=nuAs-04yv_meLWfhFJ4(J#+pgErQyYNRCNN&c3T4#4b5&$j@iG=>XuUZNQA*kb)l)W)RZz8cNFw-Y6v`*#z?VFf>J)?>QbO}6mVw!xnimiMWPb7D{3 z`r+lE5ZDAu?>*Cc!u!2>qvx9@Sq`c_`&;j~DL!t9Xw-^+U@(|VfJAH0*g*^54^#Ri4lx42%U2_#)byl>c8OEr`i zk~9_qy2Wi-3oD=wT8Yn0zY7Xc*B|+x?2RVEfjW8vWn^RoMs*GJo(z{v zd-<1 zP05{BR^c{hcKx|&3*EF&)5*yTh+G5Cu7Ue~<%(TPDT-Vod|%Yb4nJ+BxaWJai%_i? ztgx`N)vWbagoKC3P3*5^gQJCsXhVzo0?Y#+ZzF}ufm+%EzzuKt@febP5O5fJp%CxZ z*U=QrxQVQg4LaOlmhd|*CLiA(tAVoPHn=`kUC%Spz7i(Rn-xJm&bh2Ck&iF88M71Xj`1ynPJ0I9xHZ$ka*PDI6=x zj5q7QZy6$Uo@xIcJq1~()*~Wvm59#Q)6jZ|Z6P9Yq2B~5X$xGv>n)E8`hr(sN$O2r z7@sNcsjVuN*p+O>AU|=dbyxne!<3|sYOBv~&ybR^0AG+x!TvML&1WMtzj)IbId=H# z9Ond}=3N9mZd;Q*!1s}NdNXM_$4(^QxG4yMp`)W4&a~pvYqrfNADybQ`Fpa1Q}LAr z^!#8X(dlTA!Hj>K%Gd{SFS5k2!Lv8!1@%f|f9rw#n%>~v0^erhH5qM0_L%q89c(;+ zV_WpR*xK64tf+$O;o?(7sY{50cr71Gxa|Bm&+pDL&1_G+|AM~=k{b^)nZ*{8;1v%; zdjB(dPcYR|-(rJFf@Rq?9P)z@EEsf7*utPgTb6@0EYl6x$SND{joIxg8+d2rPl_)b zzPSVhk+C&3@ta`yG$VsFFuC{ZSMJ_4wU(afz_&!2xzU9-)_5jOM#dWey4kJ(l{;uW znR~w1k-%72}4Ho}QjPJ2xqoye=D5 z+s1D27aP!Z=cqz zo?av414Zac+r$NK9lc$kq|HV}pO6cB?%}JfFKw6p-g*kO`3!Tz=_%rXnNY8akmo4s z89{fAf(3a-Sf2iv4)AVxA{%j%Jk2C{^r^W+-N%F#YVW}z zcNgpXJ`e`>64x37P9{G3K~z}P>^dxoi7v**%gWo`4tq=;p)*-kX?WoddeiL|!N~)C z5%AJrGn??_hK4lZBhcPzCs=YJBn;|)4@?)OiL|D@@Dn*gUI%&HrFvJGQ-ocI6UKxy z^GMTStXiZkq;+a~P|f!h-QSAKWeW+mMLaL!d>~f5O0?9D%St6Ji@B<)^;N!q)*7x& z^rO*t2nfo7U^}q)p8go+#$+ z0E8$eB!7=i(XhnWk6K_eXkf|}6`N#P2MWu0n@J<_2=O;w+DVjb=fe`+hty=8}rO}+4flB{fogLw0w-?I8QZx|5jb^_mzNoA*%K2 z-i2`*H2HS8-3cHQ2IWG|$9(sYF)@pG79@QEVDepow-$7qR32;c*v)pj0Cca)ZZmh6 z2H%S`j%>czl$I`av(`!6?Hf=p)}9s>g94uhJWd&)l)s9)syFghs##S!jyd5fl!Peq zR}DBISlSw3-bJ6=s?wRO(Y^sfPYMZ!fo5@j)d9BU#V4Rff_Ja8HLUt=`|EIs$a~4K z@@HzZV<`V|J-YTY03id(==FL?6=2mdZA`a&%lbwnianRXuzgMw{2A}?KG51RRirAu z&7VCUrVWiAatP;1ba``}9#kC@B0keT%c83@EnL+G_!fAbMjTYvn#aVTN)c*QGvuL4 zgg;6DYrS~9_)alFq!c)REyi=x6#=v>+vm70bAfq*=@EFiIi+2e_jQk z3Xn%DkM!8v+YcAGUI#nf>U3dp35j8omll(fj|6g)`<$@De7g~Xaf;`p-S_b)?%5d0 z%{})#+ELTnQ9NwF$lE^?#|x$M&`JqK zL<(A#2lmtGis7_Jh2gZ5)EoP^nN)^STc}gRLgG{{smogdo5jG#7wt31!7e=pA2YF~ zl+!5oa;=~>SnDD@Kemeg^XJd%60cQ%r$jP;SB`QJ0l~|@H`yiWwPG~mC9!;k+H11< z`rGn1_SP#Bc`*Y(J$1Xtj_~R()na;8;laY}Hf`c~YH0X(tx&4!oWba7?OWPJi&TXb!#Np?U{kpKMNHf@&RAOYj>%u2@{sKjbFVA z_feO4^ytx_i`AP~uaOTU{09JW-cGY^0VxFO0Z5Xpiw^-zkd7}Q(0K- za}Z8pF__FE1dHlwgDzv*JMK|DcwCU z7`y&KFnM>{(e@ogolOKc5pa_fab?aN{sm1Vz5n*F?hkhNaLa||R%mgt374J7VDpJU z>Hh?|#Bo4aT3UiO-wlZGf70ABzvg8yH$Ttr(0E?nC}Lgk07DUJ>`UA;$Up>k5htg; zMeAeNIW%Z?JtZe62Lg+s@fo9p8#f(ak#vA^-=9q-Gp$0c+YSy6U%!2e0k~IOXD1x4 z6LQxzW_I?W*gb=)T-S}6)CFG}re<9A6Go=>r7aTj#U6GDb89Q(j-_5Ki-9&t;7Sf? zG`r*cFBI`qt5I&~`qD{Qviw3^4bOJLhXEU40g#~Km^$&|O8jz`Qr+G>{LlLVplf)U z=D$z-x1H#`#}85N(gv3ecbH~@zB2G8?keG+!ROIl1{etvv4h%|s1<)&@XYLuY^pvH z9312n^KMaR(Sr|i`W_E6BI*#&oHOE8vkeD?vVkjrdgG@GW4hgg3-b<%4Mx`aZ;cWs z7Gm!+q$=X(*R@|+H9#7C%APPYuG>zT<@U1=QcGWi;xll{x3qU$3{n0b+Ic2UG`aI_ z*`SOeysHT;m5Ovt6Zjr2d}sj$w4Rbw5k{UzFPIPTpxEoHv}XbpIt8CDn)q8T=(W8AjVbqu?<;BE>c9@WxW62?>CDxG3p`N-1j;2KN318a z1wtsV2IHoB#n9!%=yxsuX-WE@^++(1Bbjz|bhIi9y4x7^&!5cZEoYuiN2R7oixTI$ z?7k<5yokB1a)RR{&E8$iK)QgEDl~=-QcC-~Rd(w9PWJvvA0Id=J|LyA6mcYU_i{vD zIcJ8efgv`0TMJM%)_X0Mh1X+tcHS?P=K^T6cNj7@CPwpN2R~FZZW&)TAIRV?6?*ni z<5`6|V6vx18E(Nqy%m%{n;wY!=t6DAgil>U($dn}mqv0`maHKlHMclpkKxeSE}4O4 z&&1cn*Es4~tZc&_K1^)5Un3yM$;*E#asIa8Tlx-u3YrVzb8MG`0S5NmF5MC41_YAIzTsDME_*`VQZO{e4l=C^@)oH<^s z-&v$LvahN7q9tFeFvv&5s=D#;L^pLz(e;*9)^(#7a#q6`c~18YzA&!Km2y1TpQ1J5zQ2#kO|1hN9*XFnQcm#K?PXoD#pJmd7o z9j|zL0q^Ex=ABZ|AO}!BU^pGSamXR!!Vds2)2Aq|mk&ZZ<9TP|vp$8E1AR|oHP`&? zLtkQwXe(nHX%Q{LAND4vDi0_IyZB>bL;c4hrp_wg1ag}+;Dhxc_v?$9SIrh@(`d`B zke1-7u6f1bX*aK#uZ7n37Gw{s53pld)>J}q74Wk=8!E)b*jU4}*ODt7=6N9vU{{TLmmLs(y(`ze@Kx3uxqX z`)Dr>xD+*h=9&%K%89sRS@rsZVi~2C#E@-_QSpNh9<3ne+PnDmPJN-<)*tlSP?Qjv2sgK^sI0)ObkM=7UwRBj@_rFlDLG}Y$a!jw%fopT@M`rqV)1oYUtVSf<6bd< z3LvBHLX*vNdVbOqQEr1ZM$|di^uL8}Ylw-7W!WW<4>x+=wn0DYeT^6d(_t*&82v6S zd&YSFqA_i&8(tIQvN8D*xE#(+Ao8rz=vY8fHdJxz)2Eb3uv<(=L14y4fI1SIw)fyl zCaBsAmFN&{(fe+4FQB(XTm~bi^1cm#lxvhi12m#t=Lx0~OQst(s-H7Li9#mb*Pm3a zk4CXJ=UA~hyE!rtAb%^=)ywD71r;rdYZX}P>j0~EMBsdp&H7*E>5NnF(C|Aj0&};WJh)G>~U0$o$buO(?Y0a|h_tM3>dUIJ6{<7KncJ zFe`5mjTXt9)83MA%oYxs6x%{(hU+v)@-=efs@!i{{)fRCUer$YkEs2FtxCF3c5b73 zfmShRSn_jj@4&2b!opdFF%~G#^~7>O0HJ+QkmJh7$ikwg4dqu#&b?%YthR9&$>#B& z892#(_v`^~d;$r`;rf-f);@EKWo(E)80j;@QYXHr1O`k^C zJhIB2$X)VEh&aZaGCVbve?FgNGxUDmWQ_wC?t|~{&Qq=kQPJMX2EvJK`H`IIL+6=$ zBK#c~BkzMj3SAXo7`y~*DH9E`N7w7D#`;4+O6Mmm!1A~@~ZhLsS5_T8I_UP zlioTZ`}@ZPPdzXjV?z`ZRI!4EiYwtKfSmH*f@AiGxh{foYeadh^-P3D5R zi3YzW5Pbm=_}_C3-`m5`MW*UkbabG`(p>bS9+G!C&a~)rzk!}L^dikqY7k5dT0gz#sx^T=paqryw)(w-+snn?MRU8hBS~sz?`1K*cUF^FA4Bw>rFRx!| zk)||~{7XIFozfIykM@^w>_DBjH)#WvoA$zFDOf;Kclm)khsvigs7; z>(mvpPMwh?E^+g~W^0K0?r)M$Vk7h9v6D89Nj>V&5R2g$V zN@~5fX-ghCo(>NrA-@+t=Er4xW{{SqGnAWAX*)J~)X+_L)?Engs;xl{x2ywg?`t>o z3{Xu8^XICh#k2-ftl4S(*a+onW(S#UqA@S%Ty%gx1?F#{(#;YTbrXLS$?Y%qxh`-0 z`E*&xG^y^SSCmvT!%xo~c6{oiWo+5(MYx>&jV*;1CtrmeJ%J%lQ6Ts|z4G$mh z$b5NyKcEi?dcK2mwkw7udTAa2-%3r=icqC0Kp(j0f4F_Axx0Rg=*Xg(^w>r>Ln-#S9ye_je( z?26XeTk2tUXu?&Wiv&~9jt;!e_>+6J+QY3~?DLoZ`C9e-{lV^0d43BO8Q)v?^Rv49 zrQT=3^aqbEe?7Y-jC5ap0?K%y`vQ9PF4SGg0_jTW+*)iW?M3UMA(NnE9X(((egcp6 zvC}#<`pytY9Gv;4RE6p7;Cpw3j>eE-jm`_ zzH7rTaiuXrig(EjU-H=*e4j_HE^V_wVY@*-*ew;$gVmqfBm9l$CmZS@IV7tlBfEN6 z)?=Jo`qy#B%OR~l3?&!+m#$pz3g1E=xHkLHw_h`kV6iGOU)cH`t3LqDV^~P>@`TJc&Xw&J&V3Lj{fde90}=nkf3yarH|;D_I6)F!_MOtS=8myL_H5+6jDXI z$2AwkAH$m(y%hJCITnw07o5;DMxI+^@F%WG&+!Uz`KWm#Tr;o+Q5ebTTk5;;-cM|w z)f3xDm~%%0bGqY&2#JFMdf$VxK6Ihlg0p-wQ*rYv*OfnVvFk)@h#qO8FaCmVn)cK6 zj1m6cMHk4I1fJ(-R~GvOiv8*3+tMzKfJYz|1R`;~bnbgR7i^}Fxlg%(l8;j=H}AS- zl#L4$_o5%FR7nUBQi{f?si&bR=i z=5FDO`o|NeuDdFR`m8{8~t7MXu}4Fu|>;)wtCX5)WitO;&7sF(cftNb>x?d|{h zRsQ}r;wn+~*MIwVn~SdAxK^11rylHF@Nk~mZQsty_jK-}jv9}J zJNjdrcJ-$gTB`zVz@K?c*Kry<4{-H!L3)Ll(p^hJH+EO3I<}A7%Dnv?H`7!f)U3b@ zIi1MQyCp8p_9H4#m;ZTOgtYe-yUcvIhB9Rz5dZf_E8|J~t*ig`Ih6VTco038(*4hm zJB%*`|LyZQ)bow<|7|1tzbos1wX*(yu#Jh;_?>Q*O*MLsARGeEN#ePTzMo>z`|h&% z~0AS?k-4lf}ErcCG;N)NbS*oY~jXU0C0d+yb$p)R!-;F^78iX z2AalHoc1d9*&)&a0QjC7r)`%5|K0O#V*(&@jRfT=9^F8&{ij&&WnJYl-;u2IJ-sU% z&`H>zCiGZ3nDo|#pYPK87~5IuKgVv@a?Z-JYSOh)659 z8nCy5QF^`dc0+#$bBjIx7pJ*d%JFe9*h*(NWzW(HW@B%*g^TB%<`1QWXDWUdICm?6 z5Tsh}O=H|&?vIipI_&}VmZOFz;8_cXl7Z=6R*AFsN{vmT=Ael5AYi3PSXj(IM>#p; zYO>Wp+RgMC<8o7+uoa9kgNhCvFH^Drgiif_*Y8lwaHT^YG*D5X;|J0KlTtcIDedXw zOF{UY!NcelBlka%#E_!h$w9sorknCA`F)m!jsTf+y)e;AmfquDLA+r3KMraG|0Sc*x;sI@4oSXZ35)8B)6XVmB*LVr zKphx*hgEZev?%ep^~cNM_kaoy<$h@J*oy%en9GTZd39%ezFt&s0BWM?JUq`N0egLW z6f1kcqgP{JEc5D<(5c<)2k#?fR#F}L`@P%4zs8`Or@K(8q4SfoZO)53rW|`8kFSYI z;5FGL8z2&IRT-0!|MpK*aiHE4$(?!ZwZE)9KZ4XCBJZjSqoK(rIeICo9vGK*~;j;{`{m0?}YQ=9QTG+^!tW%m5W&~0Gu%#@AIhnq_01Yt$6pU_wWz?(_7q)89ZWu)?Jd6c_!(yG@z%Ed`n$v1IJDYx^n|Z><~(iFF%H^Twiu9G8~<(Ds+`Tn|4Q03e*_)`-vQI zEe=2=fB$}*{X2T&2DW!KP*!4pHp(!4$oJZy7_lh6|8jsz)3OzJE7iD@kKuKL{D|eP8_(2-tvY`|z|eR#DJ_qjWnW6m zY4-IO9jQ)BY@%d`(=gS>#;GdI-b|DC6TNct;bH^u04j%cut6Ii;VBP4W?uvEv0%Tg zmOzO4Xr3g{ET#Y^IQk5ClQHT$n56;7AqE310A(gC59yflJ4%Ryw+dSC=6*t z(}Avt41a?$m|p6U#qDX4em})K(m#KHW(15n?G-Tqw~wXf%~^xjyKFJBs5kbYl0)af zwcbD3fOgS1$Urg8$6kqGLaHC(@b%UjM<{Rlu;{+0J(e5c+V9%5HvrD(g-rn|u&53m z)w^R$=w7FadAF}`fK&)Lsn#pbJ$jjPIMbN~fzXSsN@g$jCG#hd9M?Io+@w(D>Pq0g z?Qg+3zmo1hPLz+|7JPhh2c@jy5%dyq$Qt{uizZAQ0Oco<=x~yDaR7kG=v~;(xPgOw z!y#=pu&C?zv$->X@c?-q%j+LMTs8-_*&dVAh`%7(?ZN^NB-Q!0xhw?)y9^Y|!*Bo872hmyMJrC0&@2i1=XS31d-PplopW z22_^0DRQGlPYQU=V2V0wR2`H{j7#5ttw7yn1PwhZi=~hy;qdlz-dl4(Tl@&9UgO@h zh3>nrJ^JSmHz&z^I0{XNYKx7^!`Yy#uZo1OdM{BPpY7`p*DD*4l{2j9S6Eir&-^UD zeaZ6Cqu;${tw-R2lq!H9rL-=Z{}s85USR_x0ny#DgH;f4cfnjRSJ6mXy~Vd)uCv@EKV=6G%$??*xg(gxD8mj zC5F`zyAv{2_rZ{Y^-sp+(*k;ZR?WQ9>Z%UW&xW@ru^G;xySBWQ)*~wG0!P2Wm7EXW z4f#eI@8G^&dLm4o_bQw;E~U3<5*60;~n9;|C<5;5T3G;(xQ;rR&Ys zJ5qdY3J6cZnHfd4>J|D?PZ#F8J*Cxr?v+SPFpwZ5D?%5&kxugi*`Q|o`|h2BjhSiX z@|7>!;V=7J|6?-I;1V;`uqkH!Hl3M(J=G*8af$ zPO5sRIQiUqDR@CbuBjfw=$a4QxX@5`90nqE%*LATU|VQs8O zT3jx5k_8=MYtZ=iC%b;-uXP)bW`??Y$AuiyL*M@T+kjFm@3uK%?*~3-rK6ILc2?vC-*%^|pRw`!__1%nI}>sw>fhQShIk6J@^1Oqbg=fv2Q3s`+trx8XfF zF&B9X#nHjx_YFAI=4WJQUfD8&Q0Q*|jC!_LeY(ZfjQ~PiX5pzm>xn$Kqw@wM@Op0! zoMCMH#4S~$yop2pu4)M-@-~tSlGt5{sK*Dgzdxu^RlYeE;ISDe-5+RAq`3aMwppyf zy=!$ys{Z1${fDI5qKRMF4waq$Yx&fgZh(B83HTKhwfNf6n zuc(%OpAD|h!4&jz@%^+*5fbNvt*{}{RCv>;c6oiI??*qZJ+Zxp9wiHe;b1%>SwC1gx@O(fc=#~ zE%>(diDI1SxM^1sUt#5&6A2Wn|RFTlA*_I)d^0Hw^ng;gaO|H6Dhex9pYc1w8HWB zwn5pv)o_W}3Tyu-o3~(erQ8pvkJ}HX_j>})kvQ1-iNWpu_f6Cw4(3d4aES#rnS#5t z8oeg>A3QoaIq51fLiHSOA$wu6%yBt6;_A4_=c8l9!b5$L@XjJSU;^onEci zzkXO0@=v;w@B8sdtED)zbGm#Xk{U_)_VNG2PzLE);k#xYs!@1oi8E z`+a4N*Zc;BJC_^tdns@*c|3z{qS3kDEP@)p5SN6;!SGgP-sOJy8>S{LBnp(nR88Srwq`noF#` zJ_$n2Z}bAMu!&^4tzqO>7xbrI&Lyp{jT<%OXV7rgHyDUtH=X~qTkg2vB_GXH{OPmo zdJ=jxKl(ctDptSJ8lBnl*t?Q>5FD0U+gUR2$CjPjm#*(_}FpxHV>#ndqQi$O% zyUsy^z8lp=Spg>ewzcDVY8nQI`r3Ja2zS4&X;^?D!%_sOYZvT@QIR&1*=m~Fkh*#6 zs#6fUhXm)w6DNP)pOd`CK?XZ{_f;>SI9aM`N{lZw-SGOYsP|t!hfLO9v=yCw3b`(o zc?na>#&p@i1G~NO%Uv-JpWUH+DwNoMlhg4i-6k@lGdJCQjrnt{87do*24pc>=PyzT z1~@Bkz5Kj9UW{BPbW*YzFB(6V@9ls1*AudP-0FoHkqgs}p3+m^b!!!5vFT3B-4+;Z zg2SVL{RVV%7^dPcR$97e>MKc$9=w)H(OPUeZ})QIYa(U@IE;V>xncK#nAe{({m<7Z zvo%&qPJEuM2)S<;eG2~k?iVTfJ-aKXZ+yXBC&@Qna3&vfUhLocKP;V9KviwGh3Sw6 zLApz%ySqa`0Ridm?(XhZx)kY@?v_Sj)7>E;-RI?e|DE1&0ei1C=a|nJW0Bp=rpV2O zjhr6QIVGiB@_@6cqo+rlQxh!|iQQz#z?r$u=N7{5K5pZzv;vkI%jxwy2JkhN8r~7LSo&A|kO%Za$Hf==bO|)()1WFnKTpk9O{YcXE!u_&FYvYo&PQZuBCJ8VVkY! zr*W`J)ii~mXt#NQCx4S@YdZ#^Am{9AuCS~8-Szcv2=6DbHFweu84F?YvdcQ{`Ynhh z5QhudzG&=64w&$!ztUpQy;a7rGu?AQ8c{xLP+@{@o9Q`iTqMqGma`vm{lE?G0z2VU z-qz+7{r!`@b2(-?8rUEE4Qvs6x`l$^RZ~fE>k!dTArlDof`hcS#S;t)>6OdnK@G88 zba083UwV)b^qQTTsh)A@qr(uQ0{xYz_q^%8D!8TO2tD(l9xOb zbP`-50)O|4s?QBpIPWxxm@p7A2n`UdH&0Y=`;cCVo^IH8KJJ9Lzi%?bEPq__KCw1+ zQ5cw0%;cXJ%9SZ>wwRLqo1#k z>w!sGX_1M(rbwgBjP~`TquWQ|*e>fFgxufVj#RHh?-0YufnWr9Yw?DuW}E-%31zVZ zI{IL__%WmK*3xt&NB3He6*8os7r?j51Ae|y&mH=%d$q|KWwXz1ZQUyNd_d8H-xF++ zbtCBxDaWjbpRcbC9y9sw!sX-jU9(<{dES&IB|C!-1mVUT&U*8~?ymmr9YNsA7V&>4 z7kSFL2#Gw!TClZFl&B;p{KI89F!Kt8fxnzU`bNNG7b7VZ=Bz`EO5_HZrr%N{J7Yw~ z@#?p)unF;&X@>%S*`mA|H=isC4*ogi_XaT(y!%tcU>{#3F@C$xjdqFdD{|j(AsfL~ zwqH18K1rFM<~uKTQFc`;9i~mUHh%Z3x0+WBLnA4l`NKpphj1-lXjE5|7?8FPsnU0z z_J`K`mC2GD5+*IH9zDBbF?C z7bKr7XEmW_Of+5(z=XCMPX3;-5v5(`+yF%@Yka@?;!qIsJ&XStp zaa;Hz#L?(ajGEPX1Y2-Oagi}dzniJoPPBj8RBUp)E-1b|vy^+ht0|P>op4DqRvxI7 zjk%}MzCqtRp#!Scw8(e)%RmIE(acU+%EAFFYgJyC2xR8*YL7EYv{|Xf><|Vx3TOmK zHZ-nWI647!o%w_bR3;9^KDU{xm)gH5f+O!Wx#|<3I$TU-Z06O{U>h=L`D-&J9-%xrB2=y z^tlnmiFsL90K4TtGY7ISf^a79N-gSH zkSlCX;+%xUE(~=uNbG^gojh&#HFTdNdk^k)5s<+>77&qF3b-(5vYRILu8>K&hoGQD zzXs)tFCy2D@F#~;dX8=kDNjbj_mRw+QzU|g5QjOOUcGbR4!qC`r#?76Re8zmEZ4=! zmQ;%|+W0IGb#=^30wxLsD?!o+Avm8e z9l1s0Ba}Z6NJ{Pbaqy8<=7MX1oWA*R7R~Icas1X@gLRUSH@f9)d1!N7R|i4fJ#jK` zcJP1Fot()-6Whl2KJ&BhhwLq|-bCK<*-)Yp@ayo<#q`P)Qo{0S0P6dKqcm%AfqJgd zzKU7A<~FLPr<;m9-bTHQ;{NvHchbf=wFQyZGA!Z+#L8oikzTDNp-487awT`r=%Q|- zbnnpH{luw+7!@*GZ~4(=uDYAwZU9<%jfo$v7}aA^v6xKm{`b}7 zyP^%Df0vj0CMNVTo}iDVeD5#J8YJEXco$*)@!oy!!hOwo$ssKAn$a$dh zB>oBLb_}w-EjWVvoPn;yvuHV_LdCiI`pb)wVj;R$4SJn_vBy%nuW-E#77|gwlk4E?fvpzN5%3r zi5`PmjPRQtAE*7K{^{QptsdUZBV$B7)G~3zEuG?5f##{Ec|tHds?={gUWVT$JI5Sg zA35N=1*79Ou(YxSKQWZzs##mi|$H14v#9_8i8@i>tX zXaN!}In2}i2El0gGkaB45Y#*$a|fxKS}|x&|~A+O~SqBJIQC8gI1RkaL81${?CEF z({c4FU3rJZ;cXWw%i_`Y2FCzAF2pNQdKbj`o zPNtH3cMV=1+}5zK&A)Ithj~64K9iA+bZD0bD)Y*S1~>q9+x00zh~0&XSFJhfZ?@7G zLDg5U=`nY;6ORz(e1X{{?AGhg5Y~qZZ8RmPMpwMNWn{s&B9EGlg+QotVwWp87Z7)N z6*&VPcC-oJk^IktKJcO1;D9H8e?_t>$g;iA#buz!3yu+$V^H4oH<}Gr#Vemwvk9&h zjtULN!uV)9!kkIU5Aj&^N_LT@Kj}CzQX3gPUID(yDm`NBZIZ%l`8;Pc1{*p)ON=p? zlZ*H0a%D|Snlx+%e6hW=Wi734aJQ8_x@W9$7J-YeY z2F}y?$;c&+ZqRF+Y_n4C<*f7k%YF4PCyxs%m-TE~TsA*li#8e`SrEGlSF2{t#>T3D z9%$N@e0ucx|AOISd3CfX7-F}V>=|%4UA#A9h_lb2<(vM$L|&nta&{HdkNK=fjpYO3Jz?3 zU9W7iK%g-l*c^MBc;7K@cERF8Ko~;-;wOZ9-GK(P2V#b`!XSj8f}yjW@oXl2miu2j ztANi=9CPI;eWttHm1TgQBdoIE_SMOM5YRh|51i2U9D3-IM>2HV{ixNTNUKRS%|D zx!YNND*zHE=?QsfYzC5}xMQ$zBu-2Nw;gB1WZEk*mwJ)!L_DEZOzIEO$QYN$4eKyo#8|-scx(bKw|M8L5^7MO!F$3HLc|fUI#R7No zJ4}mCuvIDvzXJz~3#V%Xm6Tvba1I8+jz6*y!qAB-!~58RPtVHx9%q|KRTE!_-@FiL zGuHt3qw+i-dp0Id2_DT9kO79*(sOY*NyC_dxJ-+4EsK#5_n<@KN- z>4DFY!v29UpljB=4keHV&T1l4;4?}bIn-e9Z-wda69&8PN^Fj{r#=;EDv?h>=O7$% z+c_fObH9pN>LgnhdrM2*Mb1mqz3BOGD|vF#0L@Hd3i&87adW?U?4h~VYWo!jJ(?8V zl8_*m0cS_RI{f+W!4oHT$+Fi~lFzNM%bEb4PA2`IAR}gkQGv-B5RSJO7x&Y_c1^Iv zDqem*_NBGSZ2rbs*_xLbob-SfWZvlb`NtM{eAxPB7lv>EUyRs?xf*zXX z&d^zl`LICC^)yjaK?)y5{_k3m5;D2rGdd^B=XOzY+hEkMU?H`0!;LfK`f~d9YH|G? z3k}CZ5i!6!DZWk5=w_rb-P>)vqxfa}QSC?8RfoP=iJb_)M+$-~-)<=j>%l zekmP;-98%?aN4R?FZfV6pj71Pe3+-NMiUi<`g=?p&JqqjT>k2)1|xC!$st#AO$Y`H zZI5y4$HzBlYSAq8u&EgLH+PO1S#XfWp+x8x9QWM1L~_2u8zZwDkJm-o`WHyK`=@1& zm?1$9y}z65H!WiPyVYz=8yH#_HD?Sk$b_la4JmfovBkn?%KVut7W?RZoIr*u7LTIc-Q!Z`Ete=69c> z#NEoUuFTaZLu(m$z??a%Go4_5emqxxF}Uco-MIJ$gcKs_j!&vTEq7j+hNfS-YB}4Y{k}X5?9zw8#deJE_wuEWs!)!dG~C0!R?+N>@9BW|1Jz zS1tSGd!*gh0S)5ur0qqTj*Iu{TiPni*Y#LkzE|~G0^aXig$LX_Z5AtoLEi2v^2yaU zr(=%?sE}{(7|)`K-g<5dXbX&!6VXlE6nQX+Ly5s>lNWy2qbkdlVP$3DEu2FsEsRG; z-sPW=dnqr4?kz+~He~#jUPX_BH<}EnX9Z2oBDa-D&k5I)?Qav(If()o{|W6$_}n-S zH-Y5(#vIVy3%o@PdTnt2tLQ=fl%;gfEQo=R4?Yds+MBdWh3{A~j;i!A@Y#}ZagR_l zp}>j6eJW}-QUfZY;PO@|33_EjD4k+|z|pT-K+eV1zp+T3EJ zz4bOhVShdo)_T4+fe4t7u?6{KaIKD@#Lj?RoCIP~GR2hVUSFRcG4VNT$D_euUY{(! zyJ1$t62JHQOe*X{?&sH`9a{l(I>J9nau|Vl#s!pHgJkiU`tP(#>s?M(sAhFwcX7X_7ggDqulv3Y9>*r`(ag4;d@Q$FNMW@6NaPVLHcA#DzFH;pt!ygc~eRgluJmheJKf7{*6cx$m zs;B9-3vxCi@4BR!OCXKPq?%FpY>lRlAV1TXurgSE{`c>%tvbna)2_61$gumWZ&|iG zIMIIT+M+(969ofNN*`uOgh9PQ1^L%rR1YEoeDY-4xJE74z$82dIyl7Gl#UKzr>O#L zQzP~Ai!XjFZI;QvGQGF+u9Ug@G2571gUv0UqFY1V8z;yl0xM8VBNKiuMvCXowOU9lkCc8=UV}u0WQr}$w=j5Fm=>a z5>TDKLAhqwH_iOkV0I4jixfjS=T4g?2eJctNrmoK> zV|A!5@|re&=;DIE>y^(1y!gX&|~BnnqA2}2%?e|`~H32moS0t>H#(ke?j zmP*x$&PgN4Ia!q5m7=Ocf_uQoW_77LBC4u3E8)bvlMX^RXAaS;4ri>p3~cGFrkj3v zPDqINw|P33mktetKn0)?%^p7D;zkUyC1B!_ls|UF5OZmR$CH6xv?d+-B*M8owMbqo zN}l#PP%L;Qnb!b?b~mrVx)+Hf^6Q^{hhHuCDQB?V3h-hv?E_jVL&0jrY9D^ z3T+>*>d>Zab@wMbJV~$!S+jwwBnUh&N%{*wEN;7{u6)PZs?H~Q0X#AvCpQCR5<z@gZs(QnMQjN1nX9)qkMd}w_)wxR~hCAbKj+>iUFWz zQO!MjptmB7I_pNcNR#q{jPL1>d}Ydvc|}-ZYd+Zl-U-AAWCCuAf`aXw(YZ&P>%oY3 z_Z>dBNf*b5RKOkkXDzZ1fiaco^LsPJTq_NtoVr&dA_CSk|&+-_-I%{>b=@%}j?+zz5aw4Uw=v3O8Lo*O%7v_dunSFyMRUYfbAAk|{+I5s5thUS6He+|ti~0xS>> zqo6zvhx_rJUar<&z4K`oG@3>omsvn?d>2+P;3BQRq8d{-1N2Dx?iRz~!ATT^_e63I~<1RboL)wW&c{BPOg8zmXYOq)|Fo>Pfq3GuN z@EsV_QYt=kTUSei_!N>$x3^et{s1gP)h*~VC~0^NcRYk3s4 zUNiD9#E{QFIkv|;KsQde z6gYo;)?j>=-u;5KSEAk;*Z#yo9|qu}e25y5K4^>w6l?rMK&0{?YWDKW1QQfzvxz^{ zkki-3zZ3|1JIew624fi|s+Iobt{v-SsJ*<^G0(td%U4~39r_FPF z>qoLSfyd%3lhJ4e@yvl#1y^A%@5-N3ii=+<_~PV-N3f*i4~} zGMXUuU=N4gEzfF3BsOn)G_st6CQqId|5ZNQgxJ4Ua30aUH$0i2^+UM`k?h!%symCCccs!a`{O_#pV3E@70N0$Hf#Hp@b_ZN2(s^7-|H)OSe? zGl<$X!ry?;(Td`gAdz>ox0M)X4B8HtN~;D5f<-HN%*U<>(c_{J^iKnx@mN{0*0Zvw zzPs5b(}RsH*BV(zss0%`;^575F9nZSYk*G+MTybjBEdFmK~L zqeK?4y=hMbL`b|{;xlG;v~w~B1_8u#of8inL4Uk1|D^zxj{0CXQ7q<_UIud^O+rO5 zmb_QV!9s;KU0n-zkbxDXk_wm}r^tKy7TP?MwFqXhxd{k)EPuJ}z7Oc4HF0>us3seR zN|3Xcd${zYeW~616M+1_;WEG7Hwa#=oi3{&M{Ok4y^zA0d#_9gL0f_LLk&vjf%xRT1H|KKOF?Li^e-)wYI)6FC&~B`u(+>h+C?l z9H`9@dCrnb5}cqGM<^rYNR|@2q`6xL8Z_#LJi_w@uCg)t_e~;R9#?5ue7PERJQrtY zX`s~li~oR7EwEQjgZ$!l_atM3@@luP?vJCpf0ml-whvA9wPICQ+B|98|F-?RBdR*Q zA$eX$)E%VabDulKQcQBdbiu&~7Qwj1Q7va2!9JcOG<>iD1#8z<6{vo5{JsY~Od z4B3jDIQfM@s$k<-TX4a2gA!vWPyS3yCn%`avD_>XtfwNzVwONp-t-1qMP%UPBQbP@ ztk0k@Ed(JB2a{D10KMeP-WPvfb)-#_{P2I?gR7;GfTi|-dblG*4gm_w1y|_e5F9}Foh*p>u081B=iXb;;TbC zJuL_xrT?}aKOV4Bd#>ixs|CM}F&gz2W@3m@`l&EgBKUsAd~x0of)%G+D3ZhBQke@d z5~5E?74}6yY&Y(?<>jv3_?>%A-2;rpjm+7?;j)8L#)=}jWB^9UD?Xa7zIvDubwBT(vMOPL_BwAed8Mfb1 zFa0H)v3`*-5wvi7RxPy-0Y>J|98^f3j|k05Kgyd6helvQoGwcbpRZh+ z28P;;I#t_w_HHBy9t@77L%fpX=83~x#LucZR6uFbhWB+l*utZdm1dTeq^Oj-SPo}U z6h7SDe7aqqQ{_7^(xo3joH>+%i<=hNB#nfu`d?QpHG9iUe^+2J9ZCHy-?@cv(Hkv4 zpCBxO@K*KVqY$fP?J5A;E;&lOK#8CR(1(lFkD&tzcw;2Xc0``e!!>xtqzd{po(qaX zyN=?|chgITkc671-@_SGHejReJd~JOS^yBjwv(l?suNAU=XY$4FEOE3GMsi{Jv%*Y}HF>?AKB&}|F-4vaBD9A(4yhSLA0sP!dX zxSfw?@jM|j!}i0)~I$c)USO#viA=pweNA44S$ zN`h9WQW6}RMBrYsjWM}7E!_}N_FORGyeQ=VQq|O<X*0NkW@$SlU>sQQ( zznE->Xm2>gV65$YmH;(-l8Aq9GMr@jhB4>53H?8;NhrA8``Thg-X?+yU%)>w$jcy5 zjwOh_`bR+LV!dS{0__zU>yS-w+%PM8WkNd$hLjY7`tj)*<>~3T4=JrNcKG_%f7NdHLc?Cdmsvw7bz6spP;(n;!T-7?+MS#1 z_Q+%UWW+!~`I(r=$Kv~&x?=9f6HK32G*ZF36{WMvF$U`Z3BApG$0mEV!+wORqR7ol zF76<9)2Pa68;|>8E@DWh!d0LFr`kX-H0!`CbuXr12}3~I)dE;SC_plmn-v{ZRlOSt zhIX)rV&KB^<3+<1e9u2VNdBfiyF)-H>8aU74(REO$Pv-&^iz6=v`)_6(JSl3IQn=N zbH8(F`ZX_-Pb5i))lbOVDt#JlP`&N`j>4O8r(^5NDDMNaONzzma>gogAcx zeqWq>Gg-J$4)ga4f0vq@e>!6y*+OHJf;UJj(jO7h@cmB zk_GUR7O=`=S6kziS2Y98_MB$R%-xlQ%XGh2A~fY2Z4=pd{J5WcaT!<#hqO^D3v}zW zJB6B~xnR&YEAD=p*gB!A;pgZwJ;Pg-C+uyAO z*uuVI_q{k9T$sTp5qFp!tRoxLY;mcn98^^-0F7+gygk@Eaelt{d!UtK(Yl)Z6@%}o z*g*(n1rNf=fW%?2C>+BsOJe0cY~S z0G@qFBzDdFSu~vFHTM2&ML3@uSuKfs(Mlw+_2jIHvM7K{0|!s?`^xUPqUc0%qPF6d7s!` z4`Ks+A{dJ=JIC9097L&E7?8N`v5NGcJ1{me6JLZBz+_g!G>wgd7{65Q+_6C;JR=|O zaCJmLAnX%Cx-bYolWjinrMOC!K&WQMn%>cNG!ZT^pbnVV2RwbrImj}rsx8)G(3Zl$ z)@G5QG^HFhyqgP&xpc)haDNYubydfx#t7C_lcc($F$RS77wta#Nk92w zsvh~~SCjftT!V2lOEaqa+E(+eXt<|hOH=1uq!Rw*1wJ+eaWs?07=i_Dcu2MIQX3YS zTk0@U|JbV6P(T8_0lM6=;M*e$C1qr1Z?BBjL$OOJK>GnBT($j;dOB8{8C>{=AFtmM zenm_;xt(YiVTZZeq{SB=|HRR+LdqhW6MIqp2FFFt|3G()tm2UO+tuF_z*zMg9X8Um z{!Hl+8iPnz41nvd7B0cEo>BS;fR?|VII~F7pE}zZs>RRq_Y`C(&IQV%yS7c({k(J7kWcUavAP9sV zS@pY=qb&&)KoHojKVag+H|HL8Cp@mVL5bx~wufhqk=L2(Gfj1slxx*l@?hfg_?5eL z7QAt`4d|ow>7?)t+cT$|ulm4|*Nc9of(?7E0+))8ffSPpB@q|MMi2DEj+I9H+~(&j zOtnZUqlJWgX#Q1-`(9$$86P&8i{nKWjcRU29aepj!)CEDZS5HIKSQESl-OiCjl7Lq zCbAQDa926{loX`>v{1+Bd217zT(kKd%LGDhu7@*qTJ0;S^(=Rh1d1GnJ-peAqrOSR zVsYP(z1&Y`A+d!0l@4)e&YMu3rX#aSK$R8h%i!?-Hf{>c1nU3;R5pYq#-&fZI0cr@ zey^PE(Jvpt=VqVF98Rc0ul>W_#o4Sm2_Htzrx)fC>J=OpL3bVkwMs~s)Q}9wY)62N z2mBnabxs32D-Bw`hV;xYK%vo6$skz6xD3A6rKWU>skeo6qiRZgVg#xhpMyc?%mmdC z(fMRXpzX!Ux)v_6;0K6>EP3?AAlWXD{zMMPN7yCoUL-Y6{*Hum*tv&$jC!l@F(y%K zd5KSBj)Cg{E5oON}1xN$uHT61)>dwgtMImo8x z>(ge^8+KXqqzebrcrq!6fJSQdvs%Uo#M=tj9+k~KKM(o+`c#rP!J;FP5u7FL$}qb? z{;jH0@7rp;)zzFo?O<0H_F>%x0lRFo)09|Y8rW;-UsS-ei_?fo?Z~eBm;R-?-~YbS z42p}T1Lo?*)dS>s{&2<8hVDC8>oNZ_aDV1*RZ*GlKEXG4sootH9;t(4b;@27d>JMu zKp@i}=J?1^U%YV^65t~h(hh(kL7JqYq@}(!T#jo9a3QnaE2HO?{9~EDu4J&7m8d z1GqTeo>=u&iE3d3Y@q5M`~;&;bZ|Ioa;0u-rv9KHZ9W{b6IzwPf3Xrm7}a@#E~f$D zcwvD>X47UEbOeFO06z&!CXao}Ky0Q%@=_qT{X$9izd5+;iwka8h|}&c6-7Q4yY&vL zR;RF6uM4PgcG}uAeC)89uNC-bn}k-97uzdBEd(Zl?guaM%_#zk4>m5rHzHU-D3{uL zT_3N~>9)Ehn+z9VkPL%1)GVnx4E&;03`hSyM06r7j|@6{VIkQLx64wEJZNI{`^$6l z%if}^qEZs{Vs85tYG5*(5mEliDaNx`soVZdjyXWG2*^l>nzovq;}3K#Zio4}Elle< zQBVdpf49f8W#k2a#3{!as9-}dW$KTGkrX8;|E3J%fX*ztvlT?FAvd5K+b+jc3T+Wiic!+@O47b3t~#!R7Fz&0IW@K` z1;u{=>Xy8+AH5IA0(RG5)M$i~Jb3QzEJ8zr#PHDJoexg>VdyBV!6>oK&*5agjK%|! zLtv2Sa&(^VJFE477Ir+G`uL&ajV|FD7-=%?>`^sfrtSQ3}=pMiEFI3;hqKb?MrT49u zFwPi5UIeFqTW>iw=U=P- zk2L;|;6Inw`pSCG;NOppm8&)Ja#!Id`-AcR$)8+LS?#98ASa!<@;J^lB0qsIO({y* zVyU3D(S2qDAzr!tM~L#{W2|L<}ukYq*AdO5RJFns-gtJ1rM zp&}9bV4g@ohHIQ}DLST-})Np@s#_`Teb@~TL^G7h; zybZZu1D_^p`wk2)O`^;tTm}vH&NoD^_~Ag*_?l{**miLP(Z3|*`Qa(g;jv+y(06*?H#Qo7pf(O&Zvb)<`u>>K+`>pWH%B|btmY(wVu~C;lIBiTD$?~4GcfiJ1e4uzUkFf<&)r&ztNs1jemv8 zOSy*~ohxRhAu&zs`WbVYzJc4ZrkvpO`C3!n*X2D%!4Byf=1tS?H9r z62RTnf{VqNIqF#{kMa&AEpZ@Cp|cM17#uGzE=usb{$&7(c{6GANPoDK1{r-%yAjzv zPFc|ofHBm~<#hDP7gWerW{;^fjA8HOgAxPTnhhEg;L#$K4VCZl_3;`BiA=VoHJf}k z1Cn?Wh3}naVfoG5v@W0wd;n zIx0uu*06(K7l&1Mw~d3d6a1q>Di+AznV_L=>XCJXS~&~R@X6!eZE1r4^}n-!2Nm7j zs7OCWvLF=A_8{|j2a@z%mIC1WoV)1()>yg%i5?*hc@=*XOvsw_D)pKvEq@m)sC6T~ zer37*t>T53su~6x^WhV1GxPr}SunKyr++z2;tIqU0m!rs(f6M@h}?P!TuTOm=mE5p zPjq^<1Ke25Zz~nvB2a4_M#_5SbY1PKsdyDCPeTPGW2yeNsq`1Q146W7y`+RVT&0rQ zAJH|nZ2rq4)3R9`{XI#6pZ32Q#?pwY7V_67#VY)Q&Y*4XE-ud@44j$Vwtt|qTHXKd z<%=+UCC_Ve`BIB|(}1H^cCu7l1{^6;82l}d(OA3B0yrYtVIfY?8UGI16vEH7s>v+;~?RgUcgHs()vMD}~;ahb-CSBu63 zSgeY{4OkJnWo{&B(vp-T#o!gYcva!mgdr18nkw?_quov5u(x%1NC#RH()NFUv*;qi z87JNZMr>`z*APPOPCvc6pC%(|N>4YN%6zW>LTr|r^agP!ntH?0<$A+n%l$|}j5_iX?zg!dO?&65-$y_;$HomfqZ7r-GTuDgf=BD~-^@`zf}( zIl6u>59IJ>-aQgQivSIEJAl%U^Py&(6gqwSlMLrxjteYia{cnTa%V;~Ajj>Gb`4SF zc_z2rt$L#1HY`D4{+XZtuM};xSBQxvtWjuGYKi}@{!RWI1;${9q5IOio`>sK2+))-45*o1)L-3&9Ec*t`=O6jsi?>G9Owa{3@gK zHNB>6o1nL)dOnE6u!144jE9%R_ z9yZM|-k_p|Tf45E`uZh_bSE?;*yov={`I+pi*OJ~ei%{~(Vd07#BPEO^d)nrV#Blx z-*81PPQiX2j%p6kf>gvUjQ( ziaM#}Ff_UTQl6Jx2oS#O&c+q5&+jsfLp}-pFs=2| z=En*LSW>HoO%aX?QHgma1r+mSp=VteLc4zJdR;iwfnfiJz)cFi{p(f#WUou2J;LKy z$Z7)5ichakY@b`(zyr>;T=`TuBHY0_+O^`y1ekci@6_L(o%auDq~opH4BTRYJ2A>y z@!3>z9$gU?i~OXY>S$c(5~EU$I8mQr{LTOAo(1jaZr%7jeLxxaylDE~*St2nzNiA&(s;4HHA2aaFO(Iwi3D*(f3O zafOlFQmGJ$gm1Wj{qXnSW)pv2caSKYH?FGUNgCM@8QMM`FFam#|Ano!I_dDgkiqsp zlTUSu`?cD*6vDhIP&OeTP)!+72x*d!_X8mrVk(trGu93z@jrE6jAf;JC0*fYT51hj z;(xddjfn#LShhvQd{!CsMX&- zHm-6Gp!+VcG7JDh+&;PW~wGCtt+;TKtNy!AF zN-;HVM*aK(1RHWT1c?6Wo=RDi7c#u6>U1{;$~iiTT8#8 zF~&G%|wZ;7tLCY{~a+{`y>ocgi`f{fGEeh5dLKa=rat4t%9l3T(@GG=TV>%)t& zKi=ODgZb4u9Le}^kU4?yBp;mE^4?yAK_hTL$wgx4S|yS5$pGkts~aA&4%|a~T3uJR zpIv>XXkgS2jKv3K)S6`aRY%s|){0Ok8|u$%I3kaJEP$PRWi4gk64dAG`lqBz6ZbR_ z42hn*+3rQY;d3+I#^Me{*hmvud=-&6U)W9EhVBb*uJg_k695Wl&GUwOxj+FUxHcO_ z7qJ?h=k?nUYA+Yh8E?nf_WQrB?A{tK;h5!%!gqU{n$H6Z4c7H2vIB}=G@Awk!8)k+ zQoVdG-(_CD{d9MKqPZHq<>AuX4%Vx`xw;)bT7$3E8=`UF4S1IXONn%j%W7&y;2}uD zV9z4V{Z@>Dx#1Lg5xC4M!d-W{HxYE=S~YUGf)lzv%9s)1gux&{{xJo8nB{yc9)hk*~iNr`@E zAc8q8dNF2O>>)N&oiT0fx?Z$Zk?bo;E<3o^L}O6BDjQtmSTWC^@(covwqASyYawZK z0eL*-$PS(T`G|aorK&yVsbzf!yYt zv}8@w!*2ZZo);lxWqTx@6B*{%D_3gXX`6~Oj)y<9Q*E9l9oLUwotI%W?aLcy;Y z0wO@#-7X#sdU*L9H)PP#x}BN60Xky1FB0d%wNN^?0w!Si2~#klOB@br5FXxJI_}jh zxg?b%s@y-}cA>GjPg`HBdCX$w!2$-7ZTAR3FT0+|YMY~k-@_TNzx#Wj2~M!@4?F(~ zpzZ>Q%-2JKBOxkJRO=8B)H8U;lYrFe&@Je@3|LHrH36j3+(J=|9V*!r(SEP;V->7+ z#V@svPfH+l|L~SHD%@p%K?xi@CIF4;A)?N3P7vk{RgOGa(?83nt9YZQ)*jv?6}9l# zKHd3Wo{yI$iO5qh-@256tIsPu#-bVdwLV}>GNUTZ?K8hR`f^90&bd*lC{YP7_D!=5 zAr5sq<|Is?n|(1p$y$QD(|*-Ydkihra-)=1;p#_a?63Do0ajB5ra`Om60ysz?)yTo zky*C{&EMzF#*(V(^?qZ(CR3>xk@d;oa&CDEK`VPVd7kf$!DDN0u@7$5+HWULM;`Cl zJ*Oor;vx*#FujxoqhKv`Ps<*vGr8srP}hJyK5Ce9VbB_qz1VXa0DHCrt*rE4Av@1Ym3{@|~s_ zE(!3z*uz3>Grj}(X-20gv~R5Z^+c^5`7VQ2Y05kSSp3F_(doLs@bRPOExIUX6y~7> zHu%@yheKb_gMznxQrhtVaM-rO`%HO{xM17~H;L>HE`7_NfF3g~DbnPAk^_FT2#Y^0 z-vZ=m3rMBJgl_`R2-%EM)TL}+LyOf!hD0ITt+dItB2gMvziw@8YWwsgr-(27!U&(+lj+_AJF@TVLvJiXFstS*QJpEj5ZTP#Mp=Tmob`Nd@k@R}#agttrBMtKk*QtFhA6vvi9Y!sq2Hrs-Oxy*=vfGVn zGO@y&7-}wJ>`kuHqH~8iM?lc!eF5v0?z@yeo8zd1E3rapD_26;fj3O_WY2eVsBPeq z8G3Odk|1Y_{uAtb6^exCp5c7Pz_Bd!8c;NL<#=Psv`Uk%V#V^gmf{3_q%G3qb3efC z>T7~!lgD}x;CBllv_VBte*Yq8fX8E23xi*<-Am#2pAQ0U@!l)3j}7n8J-qKNXpWlJ z=DC3`Jr9mUw+(`x{~}t$(}4x}t=uZnJmTL(-iyJd-vLq8Ad13_wLRFt4j-3*8Qfx~ zMW|F!C(29J%d~{5PRn~Z-m$^Rpz`cyfo?j(ysG3iJ~!|fe+v@WZW}<{(hxABnNIxG z-GP9DHsgvMTY`kxd$!q~Cer5rW9dBnv3}n^oRPgn_Q=X6d#{L$C}i(sZ!)sCkd(}9 zC3|ONC428JA$ufyKj;1ZJ^z81`@TP)>pIW(`#5g?2rEYIPFFTChtVt2B=nohPBMyL zaIjD1*aqr9d4(&;v?gQK{zU4E@zw6!#1)YyX|>9O8Hh`Gd~7?VC<~K&&Q!D!ec=QQ z4vV2h)1ug2Iz-?%ARsGcC4FiBPRf{w^T^o4S9hdYqO6~NS@$C9;BvAkOQ()oru$1V zsb$7Cl0$J0;GQD^qU7ij?iDIwzV=4GRhrM77&P)`*sBH4zVut5BeO_GKAEGrvSR6vbD!D9h;Z}0Q#=MMAVnHoHNSzhfe zjQ2}6gJlsmYTQ?QNfAZ{`D1S$KSA(7QP6N6j}2b_>*XHFb48cXQMg!`(jxDgR_DFX z_CQ5Vx5`VtOmB_LkV&^6!uQ=>xB2E@fsH9BO$Nrf3s!>J$CuIq+LOYUbU=tsoo2}(mZ(0C?;~v z7Z=#YnUkS6B`v?r;F&I}l5p>_z!jDMr~G$)NC#avKP|%Jq*iSh`6Jb!@LxdtH^3%! zeFh)BqsiC17mg5B*^X-ihUQlWP$H|^WMbR=Ge~Qg6%#)J*Zr0CcMO&Sj~S)yW^3f( z`)SJOiH6>3)f>&$qM)@3J09g23IP%RL8QJbjo;H1Biwitgr0AKi{cO8uXp9<_lgUG zKAu+PqD6BVRw%;x)}AkriA(qn%>&QOCQF_Vwz52e@y^bR_=*mDQ(xbZe{j?^L2 z#KGt>uC)q$-QXIowJ2z^V^r*oYdv3YpB;3U)jApnC+_OvMAsL$-Ba@Ba(eZh&U2HU zM3|G~#h}n3S&tVaRQODu03?q@qE{~aA$T1&C7I$S?U|^qpc%R`)Kt9isP_Xad*gE5 zWc*dVONnmd)Atv!nk+r(gq{+U{2S7QLAK|SuGep``W6>8&MA<-V2HztR)f!tC;&Qi zoym+>qfZiFz&N(T@z;XRCj*|fqF;;H)>CB~*~I4Szhvay@K4f32b08K)O#@1gw(N! zE_95$-)e1<3&UIEsZD~{TNm(5Rsc?VI7s#jU@nj0>hKu2cSl7eu3!=p+H^mCk<+1P z_{o6we-*U!mMq_IFauvCtBT%$1s;mI8Je=Zyh0buL6xE|BBxd(BaGZeKdZij z3!L@s+jgi-9w-A}zI`#Mb&?UnFN>5eK~H^!k>5(+RQ@hJmJqmCh!rYOXSu00b013M z6hwD~U}@06*a)`$spyO>PcHAj+FckvQ$lo>WO>-vMeugt)jppA*q{8y71{c=4E3y)3Sum$_4VNPe>9(_sJ^X7be~x|KjLAyV6+w`{70=455a z;wa60!{)i!&>}pLlw!jN2ocQUNorA#c!*5&M3awNjQ5bl^FCw7#KfFzF;<3FPdsp; zstYC|n@gs$OqZ`vXWHg%Z@N&J_$8UlbYs^LHBG_##eI|#B~5a(c8xXJzq@Zc-}bVX zHf1A`3IDA|H2Ukmn4vb9UJWh22}2NkwT)bFiFXcJ!%I}el7PPC)6=}(uKH@*z6%R8 zI$JItUNO+Pi`4aW1=(qp z!W%OPcA*CrKQgxS)#>3zq0EyNZv?xV;ZbZ^a-W0r1F>VxDAE`Sbn;N2wFL=^Il&j3 z(K_wPU4A@Y9^PH5MV3RlU@)xj;8F~5)kB??^1CebK*z)&>&|*Ct1#JqN_VSD?qWR% zC5d6FjwA!nC!2bId&b%SZL*hcF1!H#gxQXJysxRz+eR+^z)1uXU`q-mUZ~k_?BT-e z16ssWPSH=FJK$+K;#ub$E@!pxkKf< z*Cs*y@>RskTXQT8?ynH!TOFoX$Lln{)M`n>x+9-eI|E(l=C%YKbXc0jJ?YM*2DnvI z1V<~8^@lb*C;G@mOVIADwl*HVH*5DQeLe8M@9TXu6}L6O`oY9=IM~G8ycGbn;McJ} zxNuesRT+aS$peDm2qQKOik-Qy!P?Ezg$=*kP?&sTsrIk?fbH7e_#A(pE=Ab7Kzoh( z0&vwIQDZ1r0d`P%E?O@G@PoU1gG;*M{d9I%NOWUE}* zMl~8h>^}elL09WJaEi*9pS*?@=;cw}t!AiMuJ(}^Yeq&TprM|t0c##&s+KfFlf}=C zQ-mD5A7b1MvmN;M_8X9-hA#CMzMt{03t38cq)Rj~S-8ca+2W81Pg%BeyHKIdFf1-S zg^qHbZY8OOJoFAz9I zm2jdlW@jzkuYVk8jt4fO^)Ck(N#mb>wB;8V{^VkBGZxPrfru{eJ+zHb^Bh~#2&Bk5~cZpKus=D5wXXP zS*lZR01WezQss|qoG`(Q|0L$o1=G+YTg8CCyYnpC&m-ZYr1a#QgSXTtF-Q87JnAHM zF%P>B+nz)!jx7SyS>|iP*ye_f-trABzt8zK&x@XO_8@Rfr~N-@glS-K^T~ zZ_Pg9GOqt=od4#Bz+~sQjB)pf3pTum5K867rxA~X?OX3pxJtonk9txeCWS|5_BI_I z=PEq}Fev$_{z5AeoyE=O3ry#cd8;QX^-Bh!y?Eq&` zK>U|kPdrm0qI=6eM;Ukv!}8)vDZ!!QMpS~|tqKys8aR`EX?56)jQj?dm*=T6HW(cW zp>1$xvsQ1)gTbqRIY*@5>Sh9S;&=DH_yUL?+*o8$?Hy zqu(dh8r!e?_Le)idI#rXC_nAxo!d(9k2k81ulS0l5gFv0jy80Bek;m(pXfE3?kCXR#AfiiKiR-H3CWPoJocT_%6vDZ?_Q>tksefCq&Dp$sreZyC?!n9M+u;;k2`AS|CbFseI+6FD-wr^su*4KhU zv7mz#IK<0kSytoR5ygcv^<1I6C~0Wi=AlVkNo&j&`N{CYg0u19N{WstB9Lo@HD!TN zLONh%HnPubFFD=4$IvD~P#_nsHuGXXejkFbisd+57rLOs=KZ!TTk9OvC z_x#%D>`yDV_o@D86_M0Q*7TU}c&0UhZMx>0>xL@3VNC?!yLH-G#yzwv!U@pD*6yJp z1$lA4zX`BNJ`OLC6k{$UJSXH*ere*Kf8U4woa`kR_6nbU zOGh9Bme*woF2&&5c;H=m8&eg*wT=6*y$9#b3a?SL;&e;QLB68#Qlq+Te+3u*-8aR0 z)#Y9h5nk(vN%g9_YSgwP1YT#1$Zf?@2fhHAt_YJbEl?n+c(Y$PX(g@Q zOTF*bC;k7B+OVD?8fo%<)E!43JbrTTKHL5K>hJra{GO`7)NLi?mCE639oQ)%Ks<%C z$J-lRdtV+i!K}Ah40V+%CrBaHXKbIBE#6EuqWX7Z!>jiBdDXp7>lGntDjyEZZicgb z^>N)O`8>X(bu(5;g%y~9|qGSgzb*ShiN`2JLY;3Z8Nlko z)2v;qNZ4rfEYEE1!OIq}xsI4Edyj_|-)Xa51WS0g4bft-#!yN7lvz~MEtwg9&-@_| zS$5kQQ4$k}u`Png6D=_L@ZK)4w(_hiSL>Nim)}a|x_&wSw?51;-{y7_v1{2Fv3YOOAYk=XuQ+TDGNmv*uqLJX$%m`-$l2X~Y)gb~t|0hJ@m8_{@qc&5^}Mf6 z>%U4%wdho~ChV(KxtZIi=pMO~GgxtcMo4X-+f!vovq(VLDx`DkoiAM+4;!28T`p&t zq1RG3fp7)N0Y=G5HMbDWp8VkC&G-Xz-jbdJvb-2Tm?YW4l}T> z`X#fMgyVC(J)u2?k>0ZEDXaC@S@HE^i{F7QFGQLoD;O#=ZXUqt;#q+ZFFx%X67GR4SAxDhLW^?WS?xNvjqJ;#$zSoC z!J7Ymhtn$MJx(Z|@WQYIDMJEt*uwYyD!n_aEMOP-icYzn`S3Vg?!Fso3;l;;!9N)P zJ^@S=k4yi=$2&ipGJHw z&fy*^bs18bsU*jaZ`v&qcPHoJcHFl_qM**ehPu4<;Si5jGIyMv_lZH(Y2m{woT%7C zINl8QAlMX-I9x8NTn|3S)DOO>lZvU#{09|0BD(rKJw52Ig4}Xc<$+vQB%sKZHy*qY zd5t$QIQYDw`26&=(bm((xTkRn z6aSz>m-mZ1+}+yh%yLl=uS<83=<_5=OE7=ZeqW``ZNse4;rV@|zh`UJx$dbombcxN zF$OXMx4f3o3b)7&afsgEdHnz825)N2OTVL?}grF*f4$E#%v&29Pp61M@jo0;5(3u8@QA{#@G~MUnoVGrX-pF#e z$5i;7oGk7BF1G*1YRztYady@NXR};%g=*W$ggLK&Rwg)X<2mz%!`ehU-<)bwbx!L5 z`fo+4qd8DnEzEQw8;XN!$WRNnYUAPC{=j1B3ot@`<5%q#sXg2#lg%lt^RUeC_YZkt z1H6EjX{q``)O`5(-1aQwuEF<(tv)#PO+N(%>;A@QqWK?-becw>@pH^ni1Vs_68(y< zqfmW^ieD{_Uw6STHKB&uckrP*eU)B`L7q*vADT=gh8jO!Bw!5aVU{y>_9=cJCl!c? z95<_5!ulp_-R~bkm$8I1k&`|jSL+*8@Mv*y6#lY`)Yuq#KFrq|Nn)aMpc}4nPxYY4 zHN`~IgbUA5@H^P#+uq|A8Hgh3eKFCuff)CY^I5)5`xS2Saeuj^2j+Z-gBU5WB}*79 zex5;ckOtS=s`Ykn@3~W@@{(>shOln<9`yO%)wJoTr60O`qCW?i-_(uVS2r$ge0T}C zzr5CVgo*j~=9)MWIkUw2+6gzfL?@yd^IOOYXxs~)EK3Z<>Q@NRTa5T^S;4$Y3pJs4 zo8wY%wG5C?`k;2&l?B3sz@gdM&dUbKNA>_Gl)P*w04u`tBYhlCc_>SC%R|QRnPyBP zcLnym*kCd|Qb0*0I+*o7e!r6J1j??M+S*@o|NI_)Hc0BUtKHbK zwmOMO83XMfvSU#>>$_GW&DN7O2_^l6Ze6ir1G6Z>0NB!Tzc09(=eZCXqM+mMDB~m< zbZB}V)GmJDOsAQbL6Eadd#q|RQN(nY+lT;MV&1er&su2xuUY-C_rsZgUYfqXKEOXK zy*_(#24x+78EA}S#a=$~v^M3&RtgN@vhYl2f@vhWw=c9!x2DQ9>feHmfQ_8w&W|8^ zydX2Nbv8Uj2aLB76^{cH=xG?!vbKIfkf2Y(W;@jv0?6Pl(?i&jAe|ka`{d@(C~9*P zipt{!8v(Tmk?%jdWQ>NEqlv;|s*zv4JohF*Mmvy4L7Cs;ni+Na+^YN-z`_>8*|$@C z>$fiUR>r!CDWplBe`J#oqtc<%p+v9ueSO8R(;Z+p%BEFly~u@3@Qzd5zf~Oepqv^v z$1npGAVa6bYHXBnQ&}!FlN+?W{$5v~6@?2kLX_eey9Cx}+C3jx3sYTd{mKG<%J`ej z_LmwpK8~f5EGqREzYccTowf;AQ^HRb=^9aB(&)wN>rkKx3ee|w{2ECNV}$oG5gulH z0uJ->Hasexdr8Zq@p-v`zA6vO>+&nxi1A@U_HeGX#XK1d_$>z*DCP5)b}7%lK2;Uk zC?gMvX)tVPn(T?hk#yrQcv+}j5_d#7(Y86)Y?@-=!rZGpSkW2l6npEd|N2bB6pqiPgk3 zbI}E8q`jCKV|Ce?(P~^Ecs<-C_ed$Br#`h4w(_>&aqtW4`d;VS_pvW&60!IVuC60x zd7Shjytd*`kM3=AAFq>-S#oGlxA{_izkQ7Lef5vMH38f1N3?$?k3=RmVRD)6s*Y+% zN7p&R-8?rrIBnVGO8Son2w1;&P&%tQ2l za{<%uB=2$JI|C8d?q4^ToCszm@6Tj{AY7;wFsyN>-Q_M_Sgnrq!Y<(BHmXtwvLqV} z3e3uCh;zNA64JRBw_7l#Is_uj9_ys$RK9spCa6=w5MNmv|14MKEM1olds44>#=Y>(w^WU#NR?rSB;AQqnLj!*A7=Ode0?!;k9! z$qITUMu&O5Mzyl8 zZzRHjo22;^{7{R$;={`!A})(5TJ&wcUx@1e?tz~m>fn% zl1~rcKXKbGrw_nqXqmO@R)}>!d+Np`7_`EPAMUJ9!p}BD^}I?+j>$e}>sHBly2G%& zkMj^jZ97|CamO=xxFa!|%vlFWGg_TaU(|?XZ^o5nM!c&~%!K z;^EaA&}d|LvWP=VrP%T9ZbAfMWkQnlt8C`AZN^UL(q1m6{4`}Cy8f&3F!O$pg0b(P zgon@7ST4xLm>+inZ+*;ruyT7bFw?$I1Ceh~#YsOWT+ za(!VGj=-~m4D^`j+UrdrY(5Cs_duEm_36MyGdv~yF<}QX*0umMNgJkN7#6S7V6OBg zK7p2Fh3FhNz$p%nwo3J%zhkmk0(#Ix`+j>hL&+WQ4kR!v7A^y|d9CHg9 zRX3VeN}K&H@+v>ZTr6fQsqgCxU8ZEy*rRGRsf+AQ=N54FIkG(ed=1bx?3n<{d zd2M2UHS5^C;k^ih*QISWlZ~GD7C)%cGKB9Ggqq=FPkzcUzR?NHQapy+QDBi_rCvtx zRPRqeT^O79@3k(F$G?~4)Qw+5Qww4|&Uy6K>ej|PhH&?oZ)WX6E|;hH|6t0bEJPXV zQ+5*>;9In;o7O4vx8adSAxtE=5YgqHgwo7zg(QD7yCLT8$CZ?HM40HeQ;m6C{SnHRn))00yB9 zS-ypo>5@e}PYPraLr8YcUm&q5L_Ip$ zvqiJLdtY50_V+x&)kuQ^3@B3Noc^rViv&{`6TrDjgxx~t_b@oVbHSe4wnEt~>nYYW zZMr`q-ywY;@2ljsaI=RnVepES^NOt<_|j2^MhX6c8YLaKhhX_yJUP zfHwS5tw*z%Da^vRoOPRWlue;nt(C+GW9j_=5|-4h@qtpB zgjibnL}OxVmBY9}FmJSpJ?aOr{)lTc)f}u1z&nKVX>NoOas1UMaWC19x0J+%`b3#* zltjJR_uBgRD?bS63xZ4O9i*162wnlT+Kzbw0Iyi-;XY5u`Iw)Qa;0%2EUu7uS^#04;sqjOh7m}9v%JZZJv1S zgR!KbPIcvz^v!OzULFywmX|H_53(s;zxVP^0S1|5pPc}0BBhXn)rn%h&ORSrOfX%G z6Ie$74TyDH47Jb;4%!mf{Q~6i{?6>6!GWoN`$Qe`#Im@MQ!LzMtgByOVB-$2Y~DV| zncQ}e@JU|7`ba8?X({(gM*EIC4Flc9^_368+lp90wVoiDF>~IB(MMN`VKO|DIv%_X zofnq}DWbo4j_)~hg_zja`Z3h|5Q*GfWyv3i7NDGPfWq={skt!+ebQSfddr*$DJQZP zMm{$0R5e+1LcbXF_Y*SCNlN=u$2zh3CXpi^p%l0mN)L#bRdVV9%CgDnDqUBABJ=26 zoV8%hBIscwx(${wG($Nf9^l~N_vD97B)%A2VOizS@Q3Jr0(I`Ee(PPz8tBqGulx9u zr-}ILNtw%-+4Z&GmLbo_c%jK9Q@96nb=Kw8Oia7;aHbM&+bf2?{UQU|RPcsCkHsHs>}9J1p* zeaSf}IbC&5#pFBpdDVEc9?%f!nn~`#2tH4%)oCcy0d<88Bik4ZnlxD1OCoyDC=w1mF0`QA zkJu@vMxnlK*`Jc-if14MPx@-_^qu)ieHwAk%!4kMKTCKXt-d3@vyXy6X8yao+&@XoA8Hu81c(#uM=SZ;r7R|BJ$xb2IaKlq#bJ>DZA$61ED8qMXbWtFCoAzQud>4_@G_2En5y zhr_U9io*;jL{g8rUk$?R!V|5=e$t4&_uf$YdY2kcZYY}Bj(v3?xNEduMf7t*4Q< zlX*iHIxv5N$G$FK8Esb|t`9$hiS*H6Z=yc~f=e#9z`}&HeA0f`*hXH1@gu@TY}|R? zubqe)Em5M8Hd)^F#x|C9GTa`xDavcGr|mD+%k1-+8y|ot?`ds>J0Xhl{d&z( za5vMfwYrCtx18hIiuQ48F0vqe&q~f07T3&N)}uRb_bGE`5MIgyYrovE$u)!ofs50v5*d1&dj67^BCS7 zz?eXz`iDm*th2@=91tXjjvw(Yv4Q6Cy93_~=z`b5WmK!$TQd^}Hzuy&Ndb;&dfj$m z-Uy7bP#$#gl34XQ&(z6@ZDu~G{4*z6-Wr_GF;o8RWw9T=qP8p@)iiogA(BiOqWcXu zj^ufIx9wQ!QC`-Jh=O>l_UMOX%gLnA+udOTWMOG=*OQu5RCJ)Hk*xXfNdaxP&7aB^ zdXiOPoDdhh%WHHzihGEHXMk59=P427xt-otzDVK~E~ z=w-%XCNU6;Pw`YJL6K?736ia%XnZky#`kidD-3sQ`AS!OwCr1u?7gWkf?{|5@!Z$k-j?soqxrTDl zUfsp|-z=cI|G<9c&J`b#yqCkGLDI8hkTzC9$J2LbF)KJ_2o<14Zuk^a#)V5c3~$4~ z+!b@H$0%CnX(po~xDT#Cp~+1$Zd3HR*Un>onSgYRh(hA0-+HXz@HAeiKYm1IoAcyg=MBU~{tW%)W}&QpGK{@UA_I z2cmr!tPc;%mVbm|FU@}W24{N(NO$B=Vq=`bdsGu&G0wX0*hXovi@E&=?f9Y1cnR^^ ziDd5{?F|iksfguvEC}*~hnBF@JwKMqRo}M66P6^o)GM^r@Y>kP~BQ9gsE;5#D&3A1> zz5Xvx`CO!=pmZHCNIJPIV!b9jsT4t~Hu;K2E!GW(>$ZKDco3!7yb8QL!=8G*>JBmJ z_BSMn`^&t8m-2fFKr+cyo%PU*{IHGQ%7wwz<{li7j39t7au*2X*i@GPj$vbo3=~lc zMl(hfJO(s))?_*{ftqQclkY^BENLHwHbhrTgLIgr-84h(4(oW7SJ5-;Vn z;5LqJ`t@|=4ITzApax01pDQO?{Z)RQ;KTQ#FL$sRG=^Qfh7E@lZJmXsjclcjHsAeJ zjeL%@KDko(zrC@4eXRQeFN@f8;rGO-VX4v_et9WTBI5kMobKjhJzd~lB&S$`-$x?k z@S1{drdl7r@aF@@*@fm;PlB-slVT*uIL-d{KbUTCe47h7Zj?okmfYW^F%rrS+$W`8i~dP!$ay@#%YSdd z_fRs*9eI@nA#^yuxUhDA3hRVHq=6m1Y8!?GHs96g8`KJoxff&k!zs0I1jN(L*V97Z z0xqBjv|7(;q++=igH7x~W`p4QU(*=k#5==b*5dr|>na73);H(fV24jCX&y8NkNo_u z!8>Y;#^{orIh`qUCEy%-B0CwTMzH>4I^X$OCFn!7-px(dtGZ>$phRJrHKHqKE{dGJ z3H|@yPe6Om6z{tV5FKsI&puPjh;nErdDb1D$1hgB{(izn_?p}RZH0Vn)T zG#b4X*tJVKwOF8P52gw|nw{!oDksmgV%VCMT{ORYiTWSsAS ze=U}^(PX^WDdM#h;-_YJTfmMKAd7RCzgjlj+GJGr<1;Lx-io0i52_;D zC!-iEyzfoZB3qiF*_x*j7`VbEQsN;ElsP2%3PE%R)3W6<;jSiMpME@N#hGYw#wdvg zeG>037gr~giTiM#mm2UECfu7^?T85xv(^}qE{_0Ldy2n;87k;0Gx^O2ADDk$U;GS5 zNF|tmKL9afaTkIkWdR(8dM?H_nOkU4VK@}xV+F$UR*GftlA;?Pf4y%f{z|ZZ3xjUs zM{mP7=Iy5=(s_288~w@bUy{`=+-S-^fMFSt+uTLPcu<9iI1*7&Wg~&ia4aupb-gSmT|kp6dQkYcR!! zC&wC)4v_fph?z&w;qvOjM%hkZtM>Y0(w~@0OtUCW!uGRKu+-Jz`)RC?R4Cz1f7fV- zi_3^})U$qg=Z8uQS2;0v$_9*Hp1D>pMQdQ9kXXdD`RaS@PL&|3V_1s&>=tQHhJohb zZDkK1QzPd3?tU+~UORU9sg?fQGsW*atf}8VAS(VE?|$p~;>+-(pr399Vj#P8T|*YX z{PfgwE6loPd)mF^9f4-_KZx~Alp3>FS`G~LyP?u7{UR6gyGM+?gOQLV_G-5P>0r4d zc6g1dz>6IHd=`@3kZoq({B?dXxV|U^9Dtbl1wMJX2dKODzg{=0AUsbe5b1oC6v!|3 z%3+f2{on(Suggl&S-J0pj3sgHQlJT-?Jw&z1L39kws7@?US$-HXd4@h^Y+@y{mu+g zHJwgVY7_R_CjD1J9xl$NR<9&YFLjEe9WiCd;pFN*bKy;HSnoMpupGi?X=XuP%;z%6>CYoer>;_!8YgM^J~DD@~eF56Inu9;6uao7W2kh45|{-eEVIvy8)y|FSjin5m^esD5(+!!bV(0536pkvF*~q6VEH zH?GLKWjMFxKE2mamf4GHvX?^LONCA%SMGlV`+x&m9hOXDq7rr?p;xTu-7KrW=rz8T zW&k$nriqlT)_vZPnE+y7q3EyT12*Cq!lUzh#$3vto`7D-tHp5N$U`S1AJXNsAz2&2vY6964bcvPSo2YaE7gGnwAp?fwlk zy5hp(eg_plY*IExSP+e38F#E28#iB5{FOPj$8_6Yk}u8;isf+3v9-?6N=P?yOgCZ^M3K<-+ zhaO6!(k_wb&)R8MR^NEN6yiMN+rB>Kvc8A} zBRS(H*`OOVy!>0OpD}MwtBM0vyUIw4IY2PGAZb@b*PY7s{VWG{;_2?9=8kZW(w zl}B<-vqRX${4Q&?{^%63s~-^rw%Ywp<#!_R2h^C7tp@oRX^s=p_tXb@J|8N7X-p&e4YfY*7>>N7MrZkn71gXeEJc$bMr4;dVeG(r@|G~?@hC0 zBE(xW)5|l}h381HkskAUX)wrX;Gci`2H!<;`%(7At>fpgqRul!gR*AE;^59qqq0;Y zTYEu5Y|xq}s7!Gu6e=v+A7^ya-kixnDCzT{@Eslu3^F!^&27SdM(J4s^k@v)aidUYJvFMHn(OL~ZLB!lAU4%2JA%{kK00fjlC6^+&w)Fr4_0K7OCqLZ< zXqpm{Z)0yJOZVCG_P)27eL0Z!ad+My2sL#-@9p_>oE+jxMN-|cs&AoJwb+~ z?-37~I_A`uZ;9Gj<+oEYK<{P4{t{OC#SuZk1~b+%Io=q34i}VS?EYHhjO&ZF(UzY# zJ_r3e{%_^Cdq{fS4{j}ob7%q@;|VHSY&_fvBElPgI=oF{j};%h+}_VV%5S^@*CzGGiTKCzn4O>iAYGYnlIcoMr;ecQ02)fUs;9j zf|>OqT{GrE<^$D_9LfE-+M3o|AZ~p9`Zc-AvNR-c1Pi6eTUGPzJg?_QYbG&o|1h0< zeQ`Y6|H>grOl`jYsNW}#*W=k|mB((gN{l#$|Ed+!>*ww^qBJTcTmGKo_{-Frr_ z$HP#^Cpl$dd_4aAJjFhd8o%{1oXCpUdKXjVLTh>xmmK~5R{ome_B{$vg~b}xUx#iY z{(*0Y z9h7$n*AkU5sJnqT(*3bNb?K@JU&=eB3nBF^4A^sQ(*3+l9!Qe2(cQQlWw^Y~%QS@?Q%Bg}oD@T(V6LoFL zt+4CtLzQvy1(PT5iJawN3O)Nrf8xE99AfB$G`QQVLkR-CQCarK)HwU|!?Q4CWlp`S zk$Yk=O&zPGWB83oT8(seiVgdi1Fj0^R{Pr@vX5+qn!x~bFnNxQdf|67|IIRgu8gLhok2{!sm{D#H${k7?WlFdioWh8b&( z6_l{sy~>OpJ>|sep`WHO)a9Xx(2c-UdT?Ld3cG%hxu%d#!uWqqId1AIVqE;UBOglw zv=3o~9|!i3emO$@aDypLA!yuOJ9UMy@u{Z#G&DWLf8%jj+GHtF-QKFGX%WKpm=a`& z_Vr!72uJwrt{x3u=XflQ8QNVl24v1Xfg#ECOvj4SsDyNF&mYV?M_ZFbm&r$46YFdD z0*^EE+{7+ouBM|nMdPbzo3AJAFHWp&XK^xU7T}wJhzLMTKA2aejFls={t0E zn;kLh(i+~^rmulId7#>ROZfa`D8_DMq+Qhbq5eMr&sbvrNgA?7_n}YvGFCX*a(TWx z-%wS-RG_CP>U;iSuHOBbap(9(G$^d!4DW0Xw}scgv`%(v@SE2|q)o@?_7k3GXuIOU zHbb(>FNLnngrc*B=A*GOttwWV0nvD+hUy?_1+bNVlF&u>ly_VaPBO+9y)#gV4fnCQ zf`Nj%Q@%z2Ilqo2WJ`%?XbMjBU3^7cRzAQmKIxzbG_74_rol&b)|mb?5lJlt#Ln@Gh(}uU z>e>{b{rZ09{0M#1b+O&_Z>~ibxKx3wBC$+41k?qeX7$2zcp^YsYx!*);!It6y*N`I z7G;7_?55WdXSdCsI$fFi#)KFYA=$Od;ZTy&F>#1~GvO%T-5RSaY+Dc$nP9)+5kPo@ zjGiW;fo)M?wJ+UT`=9s8{D+aoaLQS7NtU4wn(+6FFv?(iUSf7_Xz?%!d}W6JR=OD& zkb}uE{+KbVQkA09@&FLqwQ~L2FPb-ih?@h-0fpbR;@#X2Zt7Y)f8Vv$Tbm~b1Qk4h z2Ij|t@dABcDLu{XPx;RNhlhtBp)>l^OCl^9Z)7qni_qCJ8;^0txmaky7!&LjNlf1j98sqX2F{mZ1W_nn{fc78T5 zpP6UT^I@;Oeu5xBuwO^KIa=<9o5JsFU>1(1t8YI4`B6ow#r{(0`HV0R*Rz_mmEP1R zos^%X0K1hv$rW!3eB2%jwYvdy?UBSC8{$6$)(ny#{9%N_{=d!)f159Hh`H9F45Ok6 z&BKB4D0Mg6<-_q^`+zA5efI^s_G<9 zh7L6n$bq2VRm>keHxx*GVJhM(&+_xVExg`i(N6Vx(j~$XWVg;kaPq9yBft_%^9}zs z&`RA4N#h|+f=NS7v39bU9#x5=nIQ1`aJX|u3m{f*RLo+}rxgep8Qy8XzupuYvcS+E z#%?@43Y?p74^qI!7JxhwC^ zH?r$iSiT@S!jAnaI3w;p`&OFAZJ#@F<<(=Cg+Pd{gIlMgN>c9 z$@3UQ@=U}Q9t=a632Ew_cS!u+?c3{q^^?BwTU{ks;D-zmUOurbyM7y}{d|;{oo*N@*2iZhU*<_pD>L1l)i;tu$9S@*!@2p+jo*Ir z4(_JF3M|3rB)*diFW)1W3XA&SOx+cLcS?ke}z zCDC&qA zmdA=V(SW03YUGa2K|e@r9eyY}K^ZF@{)!rc|{6%bN+sy~Ht z%mP%#l1bw}wZIQmaS@TXs$ljIe! zLYtRj8B)dUt_yfckEK9%!9X^vMm=jQq$SrU>!w4iv+KiLm7$=-!owqtxBZI+rk|fL z^e|<9*CFQiC}?;Sm3rQF|10kq3G0-ZEFbE!F^GE~Dqdb3jSJd-Oqhm`w2yRS#k*|C zZoZ(-uOrZd z{w5j#spA~xeT3JWBRJS!WEOZGQ;95HL~{V!<_N;yUlf?bA+b^%Joq9wr3 zvYN|o@plVmAn!-N>ob-}4E*=lchhSaI!)huN_lsc9v8N=q?cNaZsJhA(Fh46szHiI^`r0VNoonM!gf+7(*?u^IZNE zq)5xe?%=@}^|{_}cHb}@QHNT`85dwRtE&AFrW{gh0Dkk+s&y9eOczr!zG&(W0-jDg zSXIH`H4QTjFYH#esT?{qhh(fV)Xa&Bw;mu%KxpwuCBa0$#;O35tNl%492N=thPM;k zDOZ1evl&+q3ynLN1H)K6%M%A9f3POf1*09mO|WQ$32(CKi;5&zw|#kBsC9@zFKbX?F_67g=U^zdafXXrQ&-|6NyJ?5v5~trI|R9kub_j| zx|D0EDP94b+xmHn;!Fs5Zq{kYuv*88^)oJ5@xs=$P8 zG~WH6RTI@ZVn4MoRwUy5ug?+62QqP7mF?+K!-Xdao5{%e=O-s1u6<@z=$a#{0fDKV zQ-_UTvH_*TG>)LO`v_Likj|I%xPb`I9ur zcWuYb)KeuE%gg{{6JCmdBP;MLN4fS=&Dwl- zN7~=iClm9tsRsqgGQLU|k383E$6@YI#O-0C zdKnBnzl2rP67eu!q(i%+$a}-8d9IloxabLRkxDj}JHmG3kX}PpwlV}${0FVn$EeZu zbw}Qx&seW~@=HibMQ7MrF@^%$+uFnieAWU{E?!*L@~*n#w<1F~^+7{W+*KCa0x;~% zeH#(_P@lKy6i$T1yM_69-#zzb4`|+;sp@!!K>9tcZS}{0yb(#?0&V60z?Owdyc$28 zhs?Y-KPc53p}0xP3P@BLGf%p&beSR&eY*?3dYCl;Ylj%S=1?p-N9bA_C#~;gIS!3@ zv=SE=TBHRCk3K+HHI=jfWOtqcQiQ8iU_j^o`ZTZL{jZH)*r92P3l&giS4fE7kP~D&=my&bdHY3{*dojWsv8*MKlAR<@>}KK z;d;tAe1mq}UM4kBWA9VAC||*?@1sv9l-AfWht4n=AaQ3qPa2-!?y-R_3jhz=Hanu4 zf;b^_CFSy6A_|9up>UCI;MQ3D_{kd2q5HtF!5r5S`}nC&^|Ui&BUuo4IjFuUc|O#H z-T?KQ(<;{WHAzRyzx^59njNAKb~C3!3Yo8OP=fyr@zsHYM7@o?eO2ik z*kq%rNcu?2xOM@iyRsFR9vQ#fB1`#whm#Qh{*HcLc>zvz8oz8!UkwO}VhC$F^$ zk4Btsx#J$jPWst}BfxNJcsiaBW15F#$df!oEo;1*n2i^5G-BP~_)>JbCEa{|4q(yw zY9Rjj09Pn$96y!c{up;?nfg>GN(>ngmPf3lfXueQ;IPLK;{5b) z!B}u@@Y86B%JK;S{@ulsRrlgI|EvP(+=1%A;39)M1Iqz0L|9|5 zo?*-=xa;T-q)X(SOhIl}aolD+&*znpSd;$a$3E)a_Dh~#e-{JMP;jV(Lu^sdA>b+# ziqTbO7dW6sIEc<@z7*g&dGbqFD@dMw)or7Qy)}Dlqy_2v|Clr+3vySuwP zr9m1cr8@+qyO9*61*A(s8tLwC5TsE$rThJI&UyaNyRY`ezSzoQtvSaW<1_BEYQuUg z;aoYrW-oKQIj|=wbt;y9-Vx8q#lfYmPvwZDCf2#gO33wm7qeL_1Fkka=Qd-U2A6tM99UB!rDTWKn z3|D~7ONVAi)A&{$+IP1K>Pg=i3b76y1LgAx+crHs9I=o0y^Wc#+2h0cL?X}%E6_;c z&Sl^zvxWVYfUn3b1uovd3fQ>LZ~um<*9!nB5BNJZzjVi?kQBhoZV{6RM=|qA=oiBy zGgL1xcWk-3<1Z`?nrB4XqrWe z?Pri;88dMtMWpE@_)$MakEljI>=0{AlQrPtv0bPLEm#$%3r;LjQr7iKHY#cJ z@o{!sr+ir)LXF@E_2KPdj|;R)UZ;YwjBhXA5NCb{@j)ht|9b}vjE}Fc?+cc_yj?)6 zcoZ9#^!ox)cKk`lb32eUBw^&?!Hrp#DtBy`)#Z3uugt`emh1NF(p)kE))W;LoJkvy z=jEoiU)ZT8ZIfPKI8>;(Lcw}xz^;*Fa$v-#EX61-yyaL+FZzD z*ZBpdejG>T4gRtfjgw^u{toes*0Ahn3Du4sQ(QdgRzHvczM`)#BDdeckA{m0L3=^~ z54RdkPu;EV^H1J^|5OcxjlI<$wa00sLVgM&g~Zp2<`k^7w7UJVQFTiQG&|DNi;)18 z_tRW29ieZ0d%XIqs9ePsM$EnGD2&M3@iG!Dz;NGhoP*NirII5K)`nG!0JH^LiRY&! z_V{d$7hfX?fu+Aeuht`2IRCIvaq<_qV&CHN4+>!(-p}bM*O|i^NgGZmn+NDOyXn1M z@W9lzmP@hPT8yBq11PTj94x<=0C8=c*!p^-|NST7G~Rh~!~mLs?u>FzC$%Qf==CH7 z-u~QfzYuwJ$)PoYLD}FD6}?0qiAycJ)rV~}p$G9TZGPAfaOo|6{iV?LKgQUi);~ju zBbOu#e1q_B8ql7V8F)U3(r(DfhL1#1{APfkxaH&ZgKldyZ^Y}FUzPT^XF0vFuT$OKfU<DD%} zzuR#n(|P6$Y&FsoYMz~7M75tJp11ouEX$x$fH~6*Ik)VIaJSNgLvE&&688PH`^WG@ z1(-XA!6eN`gtRi~yaLKjNz0%;eZ*Ei_FL zpzhMXhBtQ*W!@?1z6ki6nT*>*c;8RY?pyn~oiGc$H%x;^BepXm66%1(5H9T}Eosb+ zL`-ziAT6^RTl)W|f{8aQ4BDgZenNMrwD5}M0H-9nj+>n_tsupN{M$>+LMc1DCL*G6eS1H3}-$=|i zJqn{SLfySg?;KyTIWP2kXX);ItLzBvy#Q0dR==EW5g-IfmrcERr7d*}^m%}@<}E1u z=|Z+=e?O7E!VSulYtP|e`~km>0UVXg=DzHVa$KK`fH}y`bs~F0S;+^S8s>c&x4&Qc z8EI}(-R2oAs9L!@0XR)K(l??#DRom~Lyhp& z1Q90dib*AU?rHse2YXW^hr81N1Y6Q}okrFy>$bP7k!1h*G^9}9Ko)_`R1IeZ)p>$U zOch4|98 z`$UAZYB`dsBq3oe)*COx)Sr*1t`VJx-aic7UqhJ!Ik)vR^621)@^KNHgNafBi>MTJ zURAghKUB7;8al{+H`6Iq5!8q^VDd)|)Zw`9TqDr@`zCIK6uZ^k)&Jz>Kzu%dC z(!UsTw-M!dA(=|Eeo)1X1I!aXP)-f)YH5`p)&dPy$%_2L# z%&w)N`iIjX$sfFSzW~|kZL16&;|CSQtS*1IKc!QNLdtHO@aRvUFG4P14A>=dfEZ8# zt+CS5q6kiQjR@Pceae2!LfP6OY{nI>x9-b097e5_d}eOa&EDq`0c1vjUy;66pdtmn zK;&}KfYPH5D36w-=?dNtH`TRkt0-(>^K54Lcib}dm6EekzKXxUd!;8+DtCgYz)KCx z%MMTeAg|^wF|+$KO7aoxSHlTZuz$g`i|$`}F$=!p?v6n`b2r#;YOKb-E8^hfcsP+kCOc zvf+-WVhn(C27#IXC3O9`1o*=iH&s;n?*`)B0NsMR;kX@Gy+GdLf4%N zs{thK?=KpfQqdn##0$T96E(w+d|>88wio5F9?LNO=&9iH($e?yRE2d^=>B5Q9$p4I zg!}I9Dit){of90H>`X}ffH7$EiPObXYX@bNvt?_N7_TrV=W8tOe|#sy!Oj$aIHmd6 zYF$Gv602PQeeOp98{(26z=!eL&l^5xvFd$znIp%HS6;5g6(WON>_&~bj)z!-pvXw$ z#~;}WH1n_>G61$0SUr(7tLu1{ER%6?;~@c^<*Y`n2?wtTQqP|kMNm#l#}DIj-h0|B z1aGqUt>g*fE^HomZM|2ZJVuA}{Leqv`Ht5eEzdh*8%9?2IJQH}M8mgYYUJItrX{ym ztM~pptvmiP_(kjMocPyfx#V#hK&VZOi78k;*TjU&2fru#Lh8)G2CvK^r0y~X&POP7 z;7{xCe~>z6s5S(GQL7UifJdWJ$)c{l%vuj~ErR;3+^FrJnpg=Xt>fcU6JjW4kVPkr zu&r*0tt5<$t}ZPI2uS&(J!XTrhs%jvl^-ZiA4q$CEgJKeldy9R@+iz;t)ohIbKG)r z!&hi5^y~LN+CSu_)BQPR;ebQNz}4?>GI;@EU|IBXIv$Uz>V0%cE*gkI=Yx0E3}}7Y zo6HN%>d#lcBTrpj$r~G~dTm$b$+G|Ix8($i4+z?8{ z5K6y9%I~BfM~0F%o0wve9&XRKr-A=&uzx;##mxQNn=<|sR*gh6^8z7Z#E%+?^=Emf zAf}NJ8k$7(WG{{}Il8-4FG65ML({znLP!sHz?-xO%)1tj<^v(#UH^iDkm4A5e{k*w z^@~^J0lsY&qGNJ>oUkO7-<^r31TAeAfN_m8!Q0sV(5uZr2>{4Xb7)Q(ZU6gAfop?D z2e0d6Ha3IiWB@iF9_x;XBc7U&5KyL;v7f5J6R3BN4=+UvUrJb)w2K_PlX`1+EbrL1{9XN48Km2}VjRq76N<#8$HR{2$9N;NNOsULl>hv&(=l7D zB67*Mtme8sI<$x7%;)`h$9ED~4yv2#l?QZn$_?zUrDR7h#stkhhpqlvhf-;Lyn`=Q<>?(y=snEh6IU3@|- zc{a#`WiSjx>oI`#43&Z_nv~2z&jhwa1GUTK(P^z&*5m3EH=}9Zx=*h+6zpO(m&V26 zB2TmHJwF5iLH+gX*78g_5KIeie-=l1^W&{b*|Xw?8Wh#&G+j&+Jm_`A@+jyHIGrEM z#Kj@&yB^+67vy_{4cyEs8Ci6--jjH~4s6YlT7jcvL#kH`S_t_5wblGvLVLMUec}P* zjpXC>(o$-`V78cw1fW>)=+}RMT<*=p`yv@Xo#$v9YYOpEfu^&I364uTR?N@BzkW|v znbPz+40L}HvxomG>>o|c=P()=czP<8==zlkuy2cNEJrl8E#MgNTK(@Mz*%rFCh&n~ z5sr}RvFXF#Xdm(gJ{kq23)9cKv2|r&qB;M<3A)Bv1@Y>jnaIHmw6z+Smq#?dQR>g< z@GJ8A-r4%<^fX_EMBtPX726YcCM~Z=uJqG&h-L5rw)F|%M%K8z16G*5&S3xYD0Q2u ze7sCz#BIn91eGe!1BM6I5+gJo+^|m{vD_VPs418F-S^gad--fP&ZS9zLZmR^q;3k$ zCCNy?>gA$wp?3b^&-iE)LdbIE?HzBr5x22T5W*PvO!-9KRfo%A6ao^E-)v_v-hTv; z>U^$(Hket>^> z*@se)FC94x?iX|E^#HJRDqP?lW#hOk0GSCTRA*p7@ZkGsa8jg9VEeBy>d(<%RSfc7 z5lhA?&nIZ9!|8I~$PKt~YZ_#!S9ihr9!gv}Hp9}0uv9q9)dQc-iW$_V@eh!(a1BqN zPb8iPVC{M$;tQiwn2WYro?DwdPmH4X$T71`SAbz(3AjtQ`w^b9@rP45CIa!9G?V@O zVF$-orQ+Q1#j{gbQj^-gqJ0H5Y<(v)co(m7e*|sgE!T^9?DtkzHJh|aWw&|{S+{Zs z2{#Qc72*66F+qe`n3-Wv)6{F}?Pt%pxOcxw`_O@dbC7$`hY<47~b z^ywFm$P^fc<~`js-ZzkIfGm-V(lwx2AJ0nQjCy$JpD9#4^Gn5KjR7NZO(P7cxLZPB zo`O}F4W>18j>H znRFDo`vUsZ%h5R9;0cTw7<}6bF;QCz*=3e!y2EXjco}Vut5X2nO^mVWSqsq$5mTE;YF4HyV#pb^L zav{sjSY^)ryr05yad^u!oXJor7*NCmxG1?GTRd5|P`UfjL88h_QAaS;>=w9rOZ6}J z{nDkN5w*H8C$j_tviekR&y{6L=hp$?f6x?6QKTx38Svdc@jLX&3b~xsi&7qb<>ksok%-6*f(q6;5%*6LEb0kn6Q$0u zn#dl~NY*_8)|ViPtaN;;}x-)zE75%P2R&G#x1G#PEe zSRucg1X`j(nwb)nqOT$iwOemT-u_66gw5o$SAD+OMB)3gKKf=V$t8RW3A6$MW6NXW{mtr;GIS58GYQ1_ zk%jBZP(k8trBNR>5meqNNX?e2uK37xG-#EuAEJi)8Viwm`XUNA7k8Q@vI7LYxHq>Q_|vXCNy69S6r&RwiYQ?A_h;ijBUh2ebJ3}P{a$yMnU_EkFQ&@h8VMwLWN zg&sF-q^GQEcR!$S^EwL&fqA^O2V7GXEp4Fy^88GYhWPi99n9{k++OtQsq`uV+t%0- zBfyy3yAyO;r7ry8hEorXC?g-Ih@0|x;J)h}AqnDAP#%0_Iw$B`H1uAzH@SiKhdpF5 zoprq$B@&-VV}7Hb+7}WuqPHC+EE1Kd79eB9_G_S7~>>X`KsjwWC+mIht$1xV=|V ze|L(w*57~h=^h5^MsZBAV~{GTbi+4@D~Y;{Qd5(!v3#n9)g+h3)oN$!k{1pZD^N7%;}!9Im}1| zs{T%5me^~ek+`kut^Nc5%J>OFa(*~fRd(%rhN$mqYR(kBM9{wS;dhrLlO|<(a+ylb zmgDJ6IB&{z70K!VwokzQU^P_OZMW3(s*0R1@dahnx z@CQ}?C#K-0*Ac)rV2gn8@r=l6svD9uOZ~|{RZF@n0QMf8*GIaiJMP#LHP}ELUh4Bc zj43)CG@(+@Bi{WR0|Q@`)ecHO=3Kd`jSij?oR50Ad64XP;IaE_O7~7G!o+C37|r@u zz5Uy=@n4t*1xAS(oll^P!|)ZRyeYhB|GD12?CrO+Lm@gU9|b(unE<%XZtmM)oG z&d0j7K6q$^oRJW|ke|5`wqB}|WO7_|>V0iwB3cXYSN@XQnNpfU`NJ1xLKBkKy`M?- zxjtsufkFv!weHU}3VV0GXh1tDmIF{Tzn0C@tKcIB18d;!tZ?GER zx$t~sPK6#yful1>*_#YO z4?-K>$%lLmD4zEtHAOU-YPnzF7;qrV6plxS-z0+z^NkCGdIttRur|K}0L8(jrB5IJ zOvcL$JQHAk{nRZ4*VRA&_Qop#KPcUsE}wvU(x~lT696YQNiU?ezFWsv98Q*tAO`nS zKS@AOu4f247H1K?hFU{NV=V@1$sUsBdaQM02k#%SJshr=f&bE)YWW|RE;Og}_QsxL zbOSq~Y2QD~tWM2(efNK-r%M0ad9fK{DF!x)cq^Q9R$9GrRAS>TUGfX-bQt zXc6Ek)_=yy@N{u|op19kF2$N*MZg^U0>_^D^+Gb-mGgwMLb?p#E^M{grZB$|ibID- z0J|n8A6$ph5iuWUWHncE8H;AmwYRVL>CP0_S&avNn3+bwGl_rRtDI5toE)X` zFC!%Xd&A21w^b&2ymVJzd}FW z(?)x4<{XIHr-SvSj-GSW57s5oXjN+ z?{l+@MF#Fo6NLzEqynC5ZFk&unWZ9I_MGK7b-x4G@1&yH4)Dtz=hh_JBYe2$w?X!> z?zuC-=lqT@Go#*ag?@-LoRTrp#Ng$*59^@A%pU(D76X*Cf@aX`YiGS9DI0^wbN&1N zH*^=A;ZMqkH@^EI9f(0e(<&fkp?R`5rczhvHl;?;`BPNPCxP`Bw@ zqG5yUW|CnqScEohNO&R@^$H3P9X^kr5xcu60M`W)yvO`>^fW%ps>7BO?#WK6&~K(a zat~lNZZ9e=MZ_=b^2UIX?Q$bjw)v)>M@=xA)M7O`xIbTyV{8rbIz>7Avw5HgWdADx zrq&v$anlpVfq{N)VIe5i7-)<){DSjszTW*(o;fo`BQMAXx4>lB1Xu*BBWWB(GbPw0 zdX4a~Fd=&bn|F%hA$zC)K9m41&F9cioVjlXYA5!Q5wbJ~KKZ~InUU567uh7 zB|5Cbbav`p=QEsx!Zv_Mt5K?{P}-u{LFt7OuwM;{KqspRa0F!-qRF2@{x15{rw?C@51yLS+BD+9rc2-r6fcRn>+D7wV zQei^T^r7xVf(z5X(=WMbzog+2Ag9@I-{d1q8i}RnosH0u;!L_2eI%X&aBdEUiY$F0C1J@*z{xRZ|)el?m82! zZEP?XhTOVxr+25!`;t{TqY?kNh0{WcF&7QnK7`A53VqoAqbSQOfl8)|{ndfGNv|9? ztl9lQiY#D{5t8Qy*WKCVYF!p6|CuBo#ZrvZmVyLlOw}H_U?5f*yRC>s3+Y;{$R#BM z{DRo8U!!dF0=C=Di48T?W<9_N?Sp5U42xV2(AYOSz_sZMB&>gPJ1(k37i!@@vlX-K zf-==(usTTya`~Irhce^=3h0P)luN5W9a)~q(0{YDzpr7nf(aM$^dz{40TK_wD5 zbj3ty5fsrhF+s#*HcT&8Rh+cv-{<~N$jA5oU#->2qidX?ah(mc$Ry(gTVqL{h6X^0 z7L3Ic&6Iqo34`gi2fa(CY4CpoP`Ef{ibD1zx$xd^55$wbF)q{nhOHN0!>6y{f4VM? zatu`c()LsudDY=BEDY~DJie~B`}a(UNjyuE>tny30LLAh{#e`ZGh*4^pe3gSoEM27 z0|=}Untd+6PgQn(L6h|?&olAKLxrd0M9fofbjI>9n2Gb9YkT`q7j0IAWcP(}x4)p) z%d2n3=S7)w)_?mt_ru@e1AjJJ!31#CM!g_9Da&rbiaXxl@6DkxYO&F1QqxCn?3eTP zErqp&8hZx7e@$RT+BJTDAOJnFDIlIYc&#p|n0FQ*Mi8!uv*qQabzdT!^^2yE!mIyi zrRAe6emsTPrZ3gzUbXeNcP;2S1aKp;JuF~4Gw0I!0Bh=Omd$O+&7jDbOU~oh%SfJ$ zIoeaE!!a~A_r<8yOA7ciSUr~7dLGZOe8>iB_4OsIB3Q&@iz~#$b?RXW{QKu;h#kt`YL%Y z`tFD-advikl_ATJTPa6uCfMB`W-yvZ?+e%r){k)PqBJ|7!GK#vB9K*vVdsLS@_eje zr81Lg5%*S>v2mzyISoau+{}j3oZ9l2fSTb66X|NRI*f-j~p{>n45%%-xf^M}L(O5QLl7u|h z+=xA@fIk|z7I6s)EzN))+M5&S5ZPq!54jo=U_hG-$EBo4-juZ!wv%^rqdof79=Bo% zBvs|hdlxhj5fSGZ!X7rQ;&BCyKWypff~=s1RZI_yc$t&3=KA#FEeZ8}L4>Q8CP6tx z?_EDUYuLq3_wD%uKw*J$S>wJSLij#s6(ZNzue?m3GD#vLZ`2KdPj0~Xwd_TvW;4PS zkMmWZGtpIXv*hl<`fjD7lS_?0y$57Ai@0D{a0^!u?{lEEZX5*=`dg3bSHe3 z{VQ~H2?Z@C7c|xGJsMuW|9ZO`wSj0ZtrD`=$$4M#PGt8sW+z#~7}{>Ov3k`RD~#9F zwClU8{|A#nhtXdy7hCZZq(?4lWI|?yF*l$0Lv5_7{DaI*6`T`;Z|iS?=U5C*0IFa0e{-zRlyu zCnL+tAcsOMiol@wrgIRYKrx<1y*-}|vf<84u!&V}Qo?%Y+ic#LiaJ4Y))a;cp2xq& zcSIrSgt`X5BW)w)z+EuG%q;(+f=&8N6rMK0!ZH@P8K%p>@OVk&AJDVd)Os8&{3rmI zj_N@jB0Kp&=n(ZDzTY*LJixLp%hBX8n2@Jk833!tjv_+Rna&_e%{x~M4KLItA7At; z9NGS~0@AYz9g#>~U^ch#8GU2dWMqNn&U1H*$aS>>+$)4)^x}&<;oz*dL5aP(;X@(q zwrj-t7x>^u@V{|$vRhP8!fu06M@K~^m9DSp% z37onk9R#|sJwr8ECzEuOM_$hGf1JI+Aoe* z3@+Ux->;uqI69U^^G|YqE`Az-HPr&C1LpbuLMK3fiVfhH|88(izQ4vb^n=taHhAb{ zauTr(ejsU}pFulZVj}Kf!4@!c_t!SAEMAwRt-DRtEq;uwGavX=c;h5p2ffg`DO`PV zeY{ps*^aG4%+};~2J@_!3r1Lf3Am!@1A+=$TpYObT#-YQU&}!){F~>P6yJk(^gieJ zX@At@jj6S~4@Rk^o}d4uS){C`s|&{m94~m&G{M~~W8ufkQ%;1iz2y0&pQsp?IW`ou zK);xW99D_0V{n0>ep~LCWD`>B2UacftU`G%Vd~@tY(fpK^qaLr;Hxs zTEv<*>oioo&gqbYnAu2*fScfFbooWF!bIx+e*I@WX;-`H(O(!vQp;<97VgP!owAJ9 z%yHQuMJg>z=!4x|fP^)rWRFQ0Snrpr%|&8(fcbL_wu#WAtC?|OHl0hHcX%l^Gqzvy z6@GSFvzeo1E{xd`3c+w4#Eq~Kkcij)w`YU_#j zPqhHr!xTUD+(U^&{0tm&{C2uj>Ew}OXb3UtBqSmpqB(2H!G?`}FL#cq z0*ZYLoGtU)b`*_dFc2Asg@>QIjsd-P{a36TK{?)j9@M(-<5Wn{>RoF5Ie9(>LDIqe(dE@k$Y$^}!1yD3*R>Xwy*=!-#G%6vZ$YF5!fc(J z#=vKCj6RxgofDp|%zxm24Nx{gQTqiYb6=!#{-M>KUtGUu)w}s(eX_0~yS9*pW^Y~^ zYAX4vcWGNBzF-w~iv^N3;4-$+8WF52o!z09&o5erQoOU_8=3}qcZJOJZ&A@A&`9#0 z$Q~)XM3)1dn5_jV<9r$S)1t?vni%+P|M6fvGf87{8u|SD6GgPzWU@zF?}h#Hb&;x) zq^9ZKoi2(otU6dM!vLAp90_?T{8y-mO;{Kxr#oS1;)f;$2N_dU8s^MeKUsemwM7T) z{ThmW<_n})m-~j>t$`{V>#g*0O!Nc=X_yM4N*^Js`wo*Uno+kAxv#IUMysmPK2Q|1 zXBYWMV^Vd9OT^_!ocAax24xPS5)fIkF4^p`i2bP`+3MrZR|+w4rugB> z@XTQskOkbZx#341kbU1@xH?*qmUz^bSHsi-cR*&t!pPN*Ji&Ef5sD;ZgPaH5FAr+) zvx>_UkjJ6RkO_+{YOMu4HhnIAeq8&&4H1Vshe<;fWaZGW3rgiM7!J7ywG~s~h;~b4 z#rSJ5g@pi(ShUySL}wD=dg6G+S2Jb!4HGwaEDi#tvotCz>A@M_U&A1O3~E-Y{^uQu zXF9GOEBH7Q5F%35$lx+3j=@m-Dm)Z&pVt#{AO=e!aQj8V*{P4{6}k+9WI{-bZ*odUIP}v3l^pVcu>Um1ga5E`PYYU|MaV z#6lWZ(-jeX(I6gYsq=92r#phyosItTRJcHXJ!HvxI{9*`)+zbjb!zmeOj}d|@`kZV{ zG9R$gTu)jZXF=zp-hf&qF4$rkM90mY1=JNqFwvN3P+ze=-~3Zv>IkGTPE*MYP{_r6 zt!(JPd$dxUxqz_80{o)|u|(X{1p^p+0ITQcxZ#JO@vWqUWMKMWzQZ}NuU2g`6(|E* zl0h6NM=`ieuiEY}wzRb)f1VM;Q@^b+91oExr_iJhd_M9NlO}{5YH)_J*z}xj4KPxR zCNDs?VF70#?@;K&WMxNtF3v!_D;cUuI>bteFj74TE&IW5-8a90 zx+%|VquV=sl)|Biqp<7GX|B{;tDDN3``{>}Mmok$S+vcf_;_Vef?;K zkR9GEX;|543oh!!p8HweI~4UfzEzN@k_bDX8n+az1ew=Zi2;3; zY~IfkVG7Kdz^wsv_ULd;UF)nlu4S|Ii~K`*@Cz)v7I2Oxg2)nj{&u-J7#^yF;?9?BkVtN=*D|3_(RQ2GQwI*EOIJRM!2ad z*8VDd+@Pg$T0%=EN{cU2Dq6NFxZoz0Wg@h6hk%XiObq{8Ig0~sgw|=*@6c@x6vWM$ z;<6h%|CYni<2+iYSoVAOj?@-ZzWOX6$y@+waKDowC@5fXa${fY-_5<35$`2%)n&<) zlM${DysyQCD*3z2Scsv-gM}tj_=ai67O{X*I}`<%I9At5@U~e{<>miPT7ewz?hYXPEYNeu7NmY2q)AT$`K50Y zT#alccv*j|+A(K3{p$eg;X$~9FI^8Y6*BGxVyMMj=Kk8IxX0fVJfwyTa^sw}_eg+C zh8rCB^K`2zgdmuF_(AtOb>FlsqDBY7Pwu8Y;s6*tzzq0~lXIoalY&^#rs{49)QRx< zm4tAeQ7unZ=a33J$RzeMAJSF-Y^3P^Mq~|}uC^}vURO=(Xo)jQ^~P-+KE$J6FPr?m z+tY(k+rkTS>sVq^r?ZJ9-=zEpl>%?*7w8gdJ+wzH_K9v|1b8vPbWvaVV!9hrhe7Ah z$_8o#f}Q~Yrj#}OOJ|kR%h}IRfRNqQ!-WT|3b&+faFf8YIJR1LYWsh$`HUC>_DO)J z^D=8RdW8QLAORPlBq~Nc;OlWRzy2;Dpflx9U(AkO@`N)DyIllj0JcjTGB~UX?D^s* zhUBZfeqG4i8FWfKwlWLiy5#b$At&u4o#+f;#s&IcyH2;t%cgwPEN&tO;)echn_@y+8@) z6j5h4mjUiYO*R#%VlO_2`>PgDr?J!bkd;j)(za7m#O1UpLz#^?F6Xi?D~m(fFC4Ru zUNtCG*9du;Z=qH;v7K{Pz*EXfipPp0dQIu}?-EV@D-(r8fQ-4E?-VeKHg3=rN?^V* zse+!U1`QN5zqnQ}{tTJ7ubKYZ{X1eTbf!dbNWk^*EfO2xT9ClI&q4eim{C$mw68qo zmklF&$dA7@uW_UU9tbCHE2;}@~6KN_jA-&U)z(Hm?a!!zQXc>8gH67$VGcpG5A zaxk3%=fl(a2*-2RGyL%vP^qJ>!UQ)0JZH$bM0h>c?diXwL~W>SV5j-H))Rox``w@+ zAbKrkgFs&1npw9B^O+208u(G{E>t1XSBHwEufFMiK?h_UP$=Cw! zoru>qQ|`z0jXjkn_pAwxhKnC^j_ywbm-+VZ1UKg!ux?^8-C^*m|EB@y^+M_V)_3Hzo0ag5-PrCj$lfH8~q%e>kruv%zb9Y%$VuUO?Lh@0r&1F+iu8kMNQ zPdD4>%_xu+bk)v&1&~jRNJ^9Vi0qj5CC+D?kfku3pBfgV0!r3*ZnD-#fifQ&$g zpWrZjI^SVTW|0->RboDtBCK+Db>EKARx)#J3^bK2eo3LW`AP|}lZ?eC-&`&b9AZ!vNl;;_|B*^#LD^zATc6LLyc;*} z2NI?5S1z+w=p&amytM@1KcEBP^GEI@kd*K?>#` zs}O$1`l{)Z$}h8>-nmX|Py1_XIl{Iz*Yt(4AJj(D1dKBR-+Xn)-c1gZl)5LbOKdJc zjoy3NU|yV!El7?_Z6 z0G|H+p2N-vT%G?MAHOm+rOJv3*LUj(fbEqTdF`%SRQ9VsYZ3Vz{CI$x*UPeH0 z0eSESJ2{i9)gvvBlrJ!l$^*{;ug`@bxjwM1yHvfs&gkVqj{<;Q*6p1&V7Jk1-9gR~ z_@AuWl^>i$;B`-bgq|#zPCaZCC5JnmhE1oGc)eS_UnoXjs{>TIYL6im2#7sJ$wojS zDDyr*j-+1e=d?f0!cr4=Mb@CBpcOAv8k4a70rm2w2&%lhnIpVaeb5^f)W3dc))S*h z<2g7UXTYGyn6BCKf>pbgKVt1~{JtFdr0s?V!V50Aq7I4b3=j~P4$tPCYF*sL`3 z`Qca9*Xo2vMRz4?_VCY#Vv4WS2AlW*KU;rA`>;DaRq4j<=<4d{iDg1B`6C(V0|12S z%vHBrXb)vgBeGp>r3(*>&^p`fo7>5GxxVHGfX)ne_l*bdfB)P{5Ux+O_NFa$Nm*@R z$L$)&fw4`IYw9yE=pJ3F3Ls;cq#J1Uc5TFfn-NCvB~dMh=fsf0j;EyksBrrq^JJ5Dz2^VAcwW2*U7uh0HW<}Jy=o`%VKCQcNb%p>JM@&pbh1& z4^?A@;CdqBIQPft)5*(`imO@Pl#j+4m4Cth;`j96O>F7dV_(KeXNoO9$uef__pVnZ z6#>}^RNRVJ=J zn_V+7*$3`#iM{HZJ72R5nND(?>9L=L!D*|Y6H3Aeq0xdek@Fs7(HjwFoN%}ekBK6i zyyDO9pKddL2(CV$FMBJ%OeN3rdwg)3Llo=-r{+Wn4#P%7fdi^&pPO~)HG&iy4VjNd zEgo@l@kC_|>9%v<`C8Drrnch)pQYZlxG(JgK-q)p&3A5=uhqQHz-7$=rHwU_gwpJd zC&{_W{SJ!2XJzzH$Uo^Hu3;QVXq?2iN= zC%77NzT;BP4NnDjsq{ZP$zei*O9#<~;K}XEm}snSO~q__v0reJP}h&7u*k0k+>?o< zROq(HUNh)6JUw14;D;_q67}N4ZNNU?F>}S8@85@w*UiiESdNb_SVY7|jRUA5qiUYB zqP(N*9!+7}4vienHq@o{;eGX*gwLNUJ7O3tkJoOv7zChl@f}(6TlEO$s({ii#3d^0 zP&JARhw>keO&;E$PYlTC(AT)A6WhR)uodiSse20S^BDfm{;3jtv$W~>7w`QZVQkMf zWe}`Hp8>S0n*unyiyb5^3QE+nozdVakET|;n8x7H1~HRJFfl_KbDwX4(pWK z)LdURg(~_+PJTaHmeRteKbPUmlC_@5P?V1+-H3RScshf$*t3{)w^;pHvhrVp(b%At zW#nWG1C?5`pc8zEx60I#xNY5%KgLld=ubA7YLtnUM{kQwfq z?}p*wInn238}<7~VyQo!ek*|tpw7y%yOb27N+4oB+)QXbDRTLZp!+^8iadzrjmnbs z6i2ZC9Zq4uz;KF=kIw_q!GHF^iINX&%0qSSa_iUV@;jbVo12jQiqy7NEVY>Lbimzpf)cB91;N28p@ul~tT>Him?CzmaT zKhrP>l$}112zc<;+s=F~^wXNuhd2I%%*T6BYI;b7g_+~jo9ALly*zAiF{)Po-pN!r|P-nu>+>NwNbpd2Taew0f7>9XZxw^-x; zUE+Mb%b&ljvzC+1o-JKYP`}tgul*QkgsNyHeA~E%FNv6jAon9MRntl!H0Y{>#RrSr zE;0-4N!+A#0(jdD4YL}_qbxcT5}Z}xcq3+2SzFi_+kDl&Yc?^<%7xd)@Jp^hC`!9J zO$zmD@wIEM*o5Nk;SB2^AL&cKH7aCCcXt8+oKO_8*hSArbP&6d*CWWg&@k0hZ+I`p zM}#ubbww7SSUtdihzx9>AL{-qs5@iULkOsX;s8(TQR^WfGW_wO|GYQwp%?B+i<1qQ z65hURbnCNObp5k#g**6FL_pqwWhy+xGH6qvU}t7tGXGghBLgKIh9?9`VAB4}%k9A@G1EmX-O|*oUX<_?>`C%h_UW zb!VH5cLhLnKQJ{H3qg2`DgP^9cEqBCpqmj;4C_rkS()dEKUye)Oa*JF(bT*L?n;Yq z8fdduA`|f_24Sly;7*u52~M9JAD5C*#UIWTsPwkc7x;@jWQiG9%vb%I6HP%UxO6Yg zSa|Pf4M=hd;mCOTiF6W#__-RW*7qRFezsQqvG)>bVHhByXm1;Q&Juy>^~!rW|2 zP)b?Bn6fiyhI^m6AATJ&0#B{3rY7K?F4id#*{((x2eDPcZ0^eQp8mu1K~BK@-RQg( z?Lq@*6{w)?%F+rB)EMkcwgbqx&0I+nx9f29oe_WYVVcP&BVK%M0|{UzT8X2P^q zuB23Ld&5MOv2iOUNv6id-6e|$9|fl~W(jWyNHa-fg@qLs0^PheSDcqM#GOG9R*Aa) zlq`vZPTu#|N>2$~+Qv@i@Ua4M1#<1@L0~bb|%OGkFs8GvOX7HoQw{Ee1Q0?MlL{PYzjL+)YCOse`J)dwI;Fe2Ljh?J0TEfW(hbrI3L-6Okb-mzA{|OdgObuE`OS6C z`=0CjzrD7y7SA*19An(WCWImUQ1J|xOzg>wJa9Sk0LorHi8ew0vV7NHRnq2uWL((4 zy#xB83H-KaLq7&mj9$c}R^ypaI$n96?!GvzR{rt!6?mM+stUDEJuSkU{Z9%3z)W+K z5k9m?Y|~+T9Q-6rpM=QP?g(7j!+{Cwv0>X=PeW8}H&T0zEA(w2z4!dIkc|s|EuV&X zI_E6bUV`~J@6NNuv##mF)bU&CL=v-dmR3s!C3nZe<1c)1bwsRvQdJm6X?Ti>9gOv%6UrzsHx+)$D z9J^QSy78;)ZkTl*3G}O-dwpTgoA?n6|<;`MoJ@TSB&%X*JDkVKp6HADq` zmSERnUzNO)oTzAq$7-)qW##jw`0+Z3@JZp?UZYVmfBcXug9r}8C%1czZBD2$HUt^& zj3S+^j-1YBd_JqNWBJo(`(5r0-scpTCvw+?P5<@{;4zg_=Y#ut%1QZUA2c^kiInRv zDjFARicq6nM6|!5)ln8Ey9pgHdOt;LH_R3x&MG|TNB~LK@c)rZckZF6FF${txD-K; zSr8##fW`h$LF#yC9&(?88)me8sUS8K{P=KhzdjG7Y}L2TB_IKv@89Qo(EIXL(8Zn_ z!x=ES^3U9kH^oAxYj$!MgMX}M-HASY4V1QUN$+jNEJ<(MP=3Q?z;ASI=Ig`yO!HVo z_{X6f0bU0+ZR&nQ z*8ReF+yGVyd0z9HA|A;nzYuDf5Y&Or#V$o!oF}ZPeN8r0vaI6zI&4OUjDY&ofQ)}3 zTr1^)zT&WIkh$6pGS>KeZ(5<2%~nP@wmH~}etXSJn?U2Bb(8zcTMukhcnax*zlON55*4AEhUbw~QETpk&C=OFd(3*;_(TYneEHNQ&(Z5LXYwRm02(5MYL$MIW#T~9A4$jLQfGEONZy}I## z=Ym)-j&ys3I9%m5*wjWAViTT^dQ#rO%FjipM;ayAFd*une3$}>xxG1MFY~L`RZqtM zh=Lsx-%VOoO>G!9r16Pi(}-^sa2b9W=oaR_KtN7Lroyh5sc+4FZ%fU?+j}C;hT`)r zrnaOw7err_4X&aH3btrWCLLX7sqy-#Uu51Jp`x+w1VALgfZf06dumic00Km3#X{h((v_bGwkreZ5iIdP$^H}cp~K&?6PyGipxXR6=frq?OV!i} zn5mN!H)3!Xqa4@N%_?k|@$iUrYIXMk$acT>G43bpFZY_ay+T81{a;Pj1mBtRr#yTE z?_E*X8To+>5l1mYOQwQod!EdpSFE>jLIh{RnA66w2)s+p%Vnpgr{hY5v*cqF;Vw*U zsw8dN>_?a=b^Z5ber+l8z)#U1=b4}}b8kY<;563hIe=ko2oF~I<*DyH%#DUK=@mxX z?};I~#=4|R)0T<#U0HB%)kbi^gMF#Th`!;*^m^ZT>LX9pA)+8vi3 zko4o}7G>ijAi^~^`kk6H@Ir|Fa`pNu3ELNS`^zzr?n@Lq=5JGN9&g~72p9AZCp2Z8 zTZ}JI0F3A=a!K6mRd|h3{V{nM@%@DoLE073LcE~oAFrdC=p%a3$Kvcs`0K<`zaaMc zM@Yfg>+#ESz4)YeKwb2>lz^pYXbbjOR&0OspYK0Ajl4t#oB#i>E6XJKwRqFz(kum2 zvFwtvn^U@u6w}4sw&|v;9er=?VPQ&Le^g5CDnEIA$pm$Hu!5lcm- zjsC7#%_Gc#9I>=z-df<{Yu0t3yi`oS&Hk~Y~ELD?WGIh}`O|k9y{&C#SoZ@*M+BbGc zT|L?~fkRB}@I{*Z9$XK!uVf<&+HjZ8j$DxQxQDy9-a&bZ^}H3&41?fk#=8;BzZL<3 z-3fWLVr9jrfjkB4Vj-3qn0+YQ-$PMb4*v{9f2Oc+o0^#V%ByiB(nc0h8^y5*hD}d#_mA+CKXWH2RPW99LRxkV41?pwq2<>KW%@ooiV_t)y>l}FAJ{}AH z%w@FLYQ?NiBJ1RI-$47&w zaf3OKcfR{Ag`FRg;AuI&Vb0h^gkSRoRQIWO-fmUn9IeeZ`iuft2AbH2{k0>(JbIvS z24oP2bz!v2AJFq#i7)w+Ut-k(p2-a2Nzsv52i}-3wtcBv#yl%~E)T$yTnb@=rnG;5 zzxb|f|M}jjd0R8}0j2+X+_g;GKW45QN3Z)fTuA;V(K+*mXRh}HmEc)P17eYdoQ5Lr z1WANRX`RQAZEV+|oyLkRH6n9@W%VLc=~9d23h%#<HN;ad!Xf{jbqbvhF+J0+3=I7O=q zp_jt$c63rB98d0$bSzB$0IThz`Ngyc!4z_2jFg>r1entJpFX*M6`bv7iV~BR9dSn0 znFH&6(fVq40{sBGHpIpX8D#w4oLb^_;}GHHqGKN))KHO;%au&67#jI`{d-R}_?UWBwh%-s}@dPJz!{ERWno<|`q^NF(Pb;z3&VY|{p> zN-k-Y_=a-p+>yzL?ZPMhpUg!)X;25Bh-2r=qV+u7GRhEjQH8@**4&9bO3=~9t4B8| zGF2M+ezGsy$S0;6=-dF zm6zuA5LyVhC;jw3DiM{hQRO< z`)=w_I!pZ(f#>&pE(7-uaRV=ZOc-zVFqQ^gVj0&ymPnYtT*W_rUU&V;{De7hjATmz zu&tUfZx~uP`kxS4HX%akM_RA`xNu$B<8oQ$N6e6kES*-`OFxb{EA)7%^oVF9ebT-N z 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 literal 381588 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

C%{uqoCJGdSyWXgATDp(YM}0 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�>_Z<(1kcg zE#F%inmJ3nRy+>Hkn*jmkD;D-B%>VFBlm+JPKkf?qSulQ3Bh=H)ld(-o_jAGxv=9_ z8%|do=|qs9SDtk5|M%>0Iu?vch*7A&7`FqB!FALk+~lkKqy3!&DYJZvF-+V(sZVBq zILLp1w{jUktPs9>t9qw;wOJ#fni+0TFG2l&Si`mx?uf(qCUJ=#26`}0x6k&<7akMeBm%mV~Y-zcw{8%K~3$9?l`8R5Ks{Vu#?Y!Br|P5kIeU2<={Fh!jq zLN7Jie)3_KuE3;E??6o@1T&h1^Ewe68ilhhXZ|yR%_Ug?LM*fx{BL~|!rFO>3=!!_ zLgBpf*g2M_YIp>-=Htf8IS77~%<903R~I3UK2>a5=~BGmFy%pUEMBcbr|0YSbkcK+ zLa>PSXc^w#sJRQuR@E=LNqYOUtxgn9C&l-%FO|Gl^y6iIds-fXxvcS9BmmPe^f>te z1i*NP(OYKb^*;AvlSTS*915ok9G~;uUQpxyU``uH*Fj>3_qo$)_(M5ViIcE1Nq_}r zqlUXtPn;(a^~+d&qn1{60BUwhuPL00h2J;^>p=OW05p_7%>T|dm{w2>oZ>9isQqf+ zERba7EWeGr|>8f*hVw`_qAD%G^F`^#*H?loC{p0Ph3S74xIuh-EKWBOCt=)faEC^5|x=|7~!bHjxw(Y1xC8r<;^oN1WKBUN7oI z1^fRd$ODmto`17(yfGzVf9X7rb$KZ z0nE{spi*b}hb~6;52R8Y%DbNItR7szY9W$8iG+mX@Yw z+7kF0Ojz!ji#~1+!CtIX<2k|%z84h$NSBfUm9qm)MCWq~4P~ZJ18lw0N!@hfdAYqh zGrkF>sqrhRbLs)tmVFBwNH4udTl(EfxZ6(v z+fhOghb9Nt*E7y)&+XYpeTdLF&m6N-ufcKoH&xg;OZCDhi#qO^4S=9=Doptl&9Ms^ z-=8P>?l6Sm_M-ign_WyBo+y1bZZu$b{j6)}t&b*?1?6J~`GUyjO*lB1m!yhDb z>%H8gy7oq}?|AdKAi&30m^=IGQ^Bn_-F^SeFG!L+el?iR9ltoE4dezg}_wAb< zC*k2YO{orS^u+@H83V}pOFlGT2DW8dCo#$?Yo+Ali8mUP;BJDl)^mwn<2Gpwjd$y+ z2>~{aHeir9{a&}d{x3o0N)CMzmgEv5BL`WP!Ng^>5b@D6wClw@iPRmQ z_YO2d<5;3OE$tme2VNr~jXK`AW#E+ z;-n=DAL(6Lo4vo+TjAiDttpNu6fy|*0 z-NpR`LUkvk6AHpk6j6!U`II;o2!0-jbYR&2T!oUu zl$OJy1{E;XhJ~%?chjV#&4}d5Fjr{oDNtb&LCV4&6Blx+>fwk7##PGpg;DmHly>YY z-{F+~Dbso=M%E6}x5n-k^f0}jSrt%uMrTVBbJK!U=3gEf@ls!g{%XOz)Dz0;uy}$( zwXdP$b3>DD$wuF~*uLgcI4$2NzuK82zJ*GR-gQR?o0tIk?Le|uht`fQz*g(O+GqH#J^&;&OibAo zis#K!7!hULKWpC6r~3mt(QjA7vCfLem5IE+4OJ%ytN!3<;Gl{8-Wu5~|2JO}TSU|7 z1pyNu>U_lTb}6U`iAS~py_$C|?7Ur?Dx;+)&Lad81ws6_pE@IrI2?vs`?3Hf>`vUG z^2?$5b&`a`$w%(67v*Y+*i&@05?_=)l-%sOkLh=*3Ey6cCd#l0jF#;L#cLcOiB7hx zzg__6+zHk5!?B!-U9O|m(NB{w?kNwkjH+ygxavp^e@)XoO*5jG+zY+(07htg}*eqJRR`y`q4;Sv4Z%Naxkt@W28|#ZOTzyrPzAM4nHDlyuVt z5fcZD&YmpHBAhsyH8)9*uGrX`-y1W46%M*F49=?PjA=9iX*`%`$FGa;FP6PUB1!Pp z3L96~*ZaN(hc?wa!|KT>np>tX*H;hjK!=i)@z}W7Pdf45d9{#7*|UCr`ZGVh;_2+r z?NmL(AhCx^DN$XtS%vjJK6_4ctkCw&i?+lg5^SG9+gN+moy-Yja=|l>QvCj3hyc}G z;^X^hDrIE}g-+A8?SJYaSd;v65Se9Pt<>q zChgxjmch$;Wf2@4*nL)zJHB&p+g%7Z1S%GlW9R^Vpv%`gDpi}mmpN+jhIrD6*KwVxxTq!m$RkE32 z+3ONhN!A+DwF8axUw;!FX#q6@44F5Z?)@}_{)BTMJI2a zJ@vNC8knb@sJ&(O(d=7549=LyiYD{oRV0ZIA0fs@ae= zH%c580?jIWdx8XGyBGObYTFs{_TfObT4Ur%o?WEpBL?4~HrGg!EO+6@nF_1{9P!xp zVh}~B@tO|_$WaOmK)LGqQX-XqK&W`+FRLszPa6!l*UZ(ES`qx@s!1!w9*z%T99_Hm z0p@XX%LRI`O-n87ir5*dT^Rla%B7QahO$qkrD>k-M)KrY#+e*5yP!N2j7j#Cw7PLb zBwr>P=X6;h94Y5S(JA_LhS8+-)IyHTvy|wLMYKO)SAzQb8QjnKieSuR5W+ zQ(Sg=6J&babYjNxa}=vVwoO3AHlE%eT*vGn7x5}z0wD^DzD@1+USy3u$OQw932k2N z6u2?b2??p@jh?sUJpVv6Y3cVm$#}gP4b`Xl5~H`OPD2uLY1F+rJPcBP52-bp2C=b! z);#N^UL{}s5^y1hVmDHAyk($U$s%J2?vV{3S#@r`&L>-Qe}VBoCl68mT6v7N?{d$# z>C5UkT!~@C^RE3T8n>`aBYH_{HnT#3ZM*i*3KO^DS=WuBTM!z(_JUq=v_)*;AIbH# zT>9skD%VkzXAqOGEq6_@-!(v>M8!xo;?O zQ&t2`pNu><;9~TSgpc!K z+i<;4ZF)Fqni_KY$Yo=MAu&11}1a%kHf_ERj`zogQO3PfIK23r{1Ul zld}NwLUJWFGLY9#!e8uslf}b&;QXtqe)!{^)Kc*QS`;>Bu`^+0E?ePmD(5n)HdOj{ zym(?iKr4wfh6OGF;NkW4K7V4^iWV|+v}M`@!y0H!koJ`S&8d(QHmyjLGe#}5KN@|i zbzd7#_tn7-$$RzrHrx9sMY%_D`8qTkdiW&F*K_rpvMm)+bHo~tjTG6xa}T^%dg)G2 zS91>HqQ0`Tak>gwoSA&Dzkbjg>HVMd&{YBN& zc-LNC%>a|f8OD!)Ms>4qfn|ghWtWiA?q`%O_`@?&t?!C~co-QGKfKDN^BOq*IB80u z@@_-6?G@tbTwYAuea1>Kb9FzFOkUcBvdw?gA+_mp9`x%o^^w%#Wasiu$A4L@1CF4% z`74jItsctI{DAY5a+7P56n*BL5~8L93AzuvkJH4_;{?^u*1ELr8?U0<8(XoIb%qbu zQ<$GaTAH_6rL|8lOKaIOdS7`6D|1uYdCIyWLRCrlDNA>XpnPOUyYex*KIwChpEr&< z?MT?EaYT38wC;SW)v@dM@jeohudQ&I9(_D^`90Ky%%aZy=YlEa_uLPoDeJjhQIGR7 z&_}04?RYd{_{r#5-*!5Pne(5h(p~;Sn9Ugi-2il3tVKCF-(UDSm?Kx-iV=WO602H#+%rbX?f56iB)(K z-MK$lZH05N{z*$BFH(&umwRw081Kmj z)PV_{n?iAqxda66LdiA-?BBBIdzT|{$F#Czf7(DdiH~va6ICfn&77@B8LVhWyP^Q# zg3qV>fSh)?{%frY|Lr9-%^!5V42G2kaik@`cMCL=51fKBpV)?@oWO(ZF^sZqrpuOO zxUm_&T>aSLJLA$gSO>|{vwk{OYHUIT-KgW8+%&})D=2McG?On&TJk=ja1c=okFLMK?5(muiZ|O(VmM=67?qjwq5J=n za7C3|@`=pO-^(DDaN_Ys34D8kp37j&h~6ghsuKaKpxl2%d((yW;Rr2@-+rM z%RUWy!zTU-HNW$<#OcT+U{7lPvR%||*>YLlVIA88f|Fwk-=VUtql(3**GT~7s zgv&&+Z=>bK0kZ2$;H+Z6Aj!(+Zyuq~&^3x#^+KV5enK7S4PJ2WCt!>GDPp3bl&U|T zIVY)kWUJswn@T_8XzDM3aAq8D)Hkhg_&8gr{n`}tgAV)e&OsT}=Z5P_v^tRWOX>)* z2ir;YtnX2dp`tApBp~i!9XievsRiGoQTX`UBPlR>!&U-)AY2Hp$=(l!Kj2Xv=jAd- z&%?|js~OeC|D*wk(m&sqT- z?{~eBFG;P596`x*UPF`0C+&Bp3t2fo9iKGdg(8CbgU$tNZOG1pNDzP|GXy`{zT}ec zqu#XlH4F=9tO0Rlsh05yu>}ctf*kSpJOHuhFcyp=savTX^RqnFFIKf&poRGb4}?C( zRv|~AZ**ObHMjBJv7H*8)9?0VnF!EL_cZwXg8rcIi~WGhR)?+DdcqHfA$hsbwD-by zcy#7=-acC`|E1tcJZO_=aZX}X#@4ZS{>hR>;Lw$@+~V`PsOMW>@7E!D~X zYTxTnT#~5B!f&yh+y6@-PbqkA&t6_nC`{+q@eQzoU zn;c=MgDU4*&B8hO-%hLO`tp21i1&hza#NT(Ws(uEyRt2dn*&5auc>bQ?r9asWgSrb zFic7q3!L~uM;c7dN@&Lypf_Ik-YY_*WiP7Qnvg#?%wd4HXd)1P?vgN$mvy&XyH~6Y zlj%kLq5lA#1xv~im23tKfGjS`edu2(^k^?s2B#$1;mT+0&%Ljoiig-Z`R2aVd+*;s zWgw`#SsxpIH^#5C5|4(-7*N?qeiNQ2vuk8?#!_Hv6;bz@6=9k|eb2pKeNZwm7~`MA z9XvdX&!k#U6wWuwls?Ht7=L;E3+Hrypb;>@5i5?y`ta1ro#vQ(g5uXrU%9VOWZ9*L zI9rIiXnhKeNLz>7!dO3Mihy~w@_@&9G3|pN{~q``jur{Rh#(RChMK4l<0fMp6m%W{ zOX%6w#62iN+p8E>cdy>MwJNz_nw!Q{PTAYD`P+^2G{AjfeSY+gpa1oH)|iF2DVweT z1=f1q2DGpV?|h!M;==WykWCQ9FTp>z2XwA(V5vOpP1|LZ#w`a}w)e)TZv_uN8pfYB za_XapiRh#XjM8>BT$~TTAU|)8r4j0a4r;AYJhOQJ=4J5B%zXjbqgK(={RAapmr_YgOyqOSA}Jz_OvA0y@^LOwV>xID5MFl#j){_5roZ}6h3 zM1}qRE+n{bWh?!c9c5oj{2}4#Qz{2FB20st7fWnOtW_cYP(Cr5zctk-jCH%Y`Ry6A zt<~PDFssdcqT#y^if^r`oY0&KCfxN*-iUCQY8}!`0{-jAk9%8y>{!@Z{)o@JaF(0o zi%LhLv|`mzb4vdA?6~yS5S#iFz@SM?mRP_vzmu+8r((3DR%?@VBIxY&^h2@iln;ch z*iggCV9Yb94UX#3-PovuIoqF~PMlHmSmC}L7%H60$_Db~QaPGG)bKFbD5lCIiI{o8 z@>TYUU)=x+ebE7>3gu7W?c+20?nPjEvER4clS;9*jXqD;u?6=6DAcpw@|!zfGN{%h z^Y6`)Pl%%xHH6P%Z%Y4C&R0l=z!$*=JAj2d-;I273$}zoQ z;QlDg0b!3Gl|@wUsrv7D%*sPwHeiYtRigJ~jf#&Ena(03e7O1BHD5bxVrpOQ<=@4{ zk1nsen~_?L?(6nj4l7XqA9Li=H?DhB8MEXX&nzb}NEt9w_gr69?Pd`h=@DDoVbHh_ zVjV-2eX$0->;@h8DzD-l8@!OHPY0#jG4QKvhFE6j+Nnuyr zRDSoC_5iL@V}{%{BB6$WfElAKRfElVM(4|a<>lgO4Y_r8wyrKod)9$or+Zw20`kw6 zkRf`jUAwf?&)9x?KHuO*RfycyMZ_E?N@OFuRB{(_E)25NS1Y>%253RUlj(FXj2)dF}%3 z)X`QV4CN2x5kV`1V7_qqk@7-Nm5G?->UbcY@N9% zYj8uALj_P1Q-zed4afcH{>LH}+1is@X2g+Rridk`lB)_DI!56r^cdWq5Q9-$i0Z18svcaun%t6vWzG*$FLRBH>=2lk&WliPQ_|mFKX{)oLSU)7WsO(u8m?fJcRGxg;NQ*YyyI*t@2m&~f!5cdD8 zz6o@*F0hE-8^lr33y*m%p{Qm~)7Aw!p)NqZl`KfKHRSeW4zc0;_Wn&^zKuyhsf-vy zvlr^c$14Hy5bN{5Gp`3L~eoxrY z41F^$$Tg+h{b+k@E6P6@2YVH>S3Wc+p!S3B57@o8O-AM!&|9p}Ma5$f^xmZ8W&3Lh zcUQ?RwgF+`f6lKCQFzX<>x*-_Ax5ayyClEPtoJID>+@rSA$kCg)+*a#I#(e z{G-nIFxDymPM~(E+F)W)fs0YtHWjVn7X<;N7uq?H9SOA9cFM?H3Qaj_#?c%ZB&tUI?x-qMX|kHpGxyMgXh)0S**rh zl1SO<%FMa{>gHEz{2S=~DmO`343#=7jT_9psTr@eNE>{!^p`A^U9R=dO&2fx)yFXQ zSlc>ECi4Ng=E2UM`+cRz^UBIf=a{#+JMj8+L8u{$&_sWIkf3i9w!B_A^zOzNUmQmL zuwKk_bs|Q-fohj&U!>Y?D-J|F4Xr?^G3J~v!k6Uj=LPFBLdGpS+q@6<1D58xG-9Mg ziq>ct?6#VokB_^?oiho zSx2El5&Q^Tm)_CEl4>m?QP5I4-|-_Qw*cZ^lj{T<+q_?gS?vQ+p311jH>bk}pJ$sI zFkj4k-odN)rL&kzNl-D!uT@UNR6&dQi41HH80qhC=KX7hP^2+<*S0fTlam~2LirXu z8_o>J^EOQNj-3lq{&Q310n?`Ric=xjk|C}t#CMJ}gXH3DwR2;9eUI`K{m;7< zhI^G;(9Vc7r7=Zh)?iLWOfR9{kN)WLAH!qOxB;)~OI1}4-oVSHir|VgNjJGqR*msv zH1-P3GQDYuZJ}GpZe}GLa{uG$=cZPTZmT3UHFD)P;dOO9$E3)J)|ne0D|xM7Qb;<; z7BVnzspzE38=bu_sqp%At-Oy|T|9iJTBS(sjo?+;0$$51D`X%2!Hl&$({V{v2 z{a|&AzvpDtr&no+&INTXM^P5AShSzhacR?Sn}bSO_wbxWDL}VM%Ff#vxW>6shnSd{ zCnhHOnq)CC@!}KbG+1u9m^S6*L)U2&>1q9fCZ)*xu=eMs>%Kj(ckE*)!k#+zIo|Hs zE_;l>IiH>SO5!z4CYyYJnN~h=qh}%_!TJ@#_5?5B^@QXTYXq!@?%&Ce_`AP*w3J|H zOYvZ<7q9&l+97%P&w`#EZ%gUun<9cA5}*tdTjlgSzrm=)c$bJP75_aZrVjEeE|B?n zgoUkUW(#qSq-payd=>-veCZa^?6T%tBRFFN-`N^YU9mPCBcIQ=6|+oMJbXuU5NPmK zUCi3tFYf?f7wbu{NL~|jIZSNt!jSLB8!keHfW5GI7WtxwKSM3!>mpN){OKxh4QK62 z(vISHOa{)Ksl*6wP&;i7&nh)U_=t_J?7R(iU)y2xIX)81cmow-*>;g|R^BLUGt}ok ztdSFu-Jc_!D&=BcR{M5t@X6D^ns6ACI-ET3L2t$~uVVdoPg$iYI%9fd&+u5rW z+Un;y4FW48*rkL+w~@1TMGYw_XnH66*L{y(nP)PY3>L3PkPJ;g2lIEmdQHUO_np0? z5q@PgcLj4zs{i5XEV!zQx35ii3IYPsQX+zMcSs{4APv%S=&nO|Bi$0x0!qW7mCgf5 zgOU=`{rF#R@Q)bXJj8l+=knM=5Uj)@ zD|hj^SLUL?`Dd|~|L=CgH6A8aE;XRyEz`+d((_UI8QabM4I6j2DMO>xL=p%Zxw#;I z{``k25C5S=J~J7fALgr>FIrnrFB>=xxvt;MZ7*CGDZ}hu@7M!XRB-34=vt4>c zOL3aO$f&4%Ieh9bk{RG?q5;fv@7!Djoo@L{LstbuUwQxu%L)Jirzi89vLw~8t}X&r z4Q-(xavYS)%T%tw?CtF8TGFqaY2$}GQEO%1?s+UZ^wGW>h1!s7QOt5A_hoR71=2w* zSzA~IxwvU`Xz0f%H!bo9ej^&RCi~WNZtsTF>qZchccLa+&>hOc$hchgfD1LQHZEgk z<_N6e%Kq`8!A=G+*@dKIc@q;wa{K~soqqM}8qYzn+apn-$B_{jMRzyn&VFo;9k;i2 zC0$hOys8i0tev@BU~dHcFQ~XOBRk z*9nQRFC!WHKCKiK*-I5VO>e-VA4_Y?|2jNO=BqJrdmam7^3`7XXLHQ3M=s7TJ9Obw zbaboX#&ZVRfnM2iIL$k!x_+4`;?&=qwDQrQUWpJyZtu?MrwuVZ) zFj~PhRbbkdLHPxx!GO~ErXguW*i{>~_S3Bb+VZ%VE|aRS69sWVKxyml7PGUIYe6MCX2KjsN4G0lK^Y0{3 z$rkg76O$vtB&-2SphhP;^e+Hyy{}I(19C-t+(`&_qqE>lxu%GV2`1A8QUlxuuS18? zCG9a-Yqjf~B86`g$O*nkG_-@y;yoqauj=Z9uWXD+p#u2$@6R%$V-@q+bVUtZ2+&(w z_|?_afUQIwYN4b$X~S#t#vvQG(dMpbV)^D1xl@Phj;VXTdhQ2^s#H-Sxa@gnQGZQ63WapQs%R+Eh%Jjew#d%632 zoi{N=HvbcncMF+jSIm*2KwXpsDdF2B%RdvR)-Le9!kPwIlhp?IvG=l{*o_L$_GZVySJx|FkeOd;&yI$S z=>?{wx5ve%GzKaTJnlkS1qQmpi=BTDRT%Z;9{_1*&KIdX9_ke2L^3*)mR3~m7anJw zOV4o{*+BC9TB=Hy19$GBh%r)+vG=4b)#?#fAX&Fv=Hh`};i>FE^P@4op+3$~mv(_! zM0f=R7UGnj6#KPNQwXQu1k za&Q>Vvy%4_xTFrB3AG9&W&Yt~DAmhTJiYtjr|R_A9Rg8sqIq&pR`I^3*vn<>Xn?uI z+b4djq=sEJPxOT)6T0`!Ic@+Rla6#oDH{2ii^Z6xfjpvVA&p^5NzrjcWMtt|tNYj1 znBQfbJN{zTCZwct4&-J{AFpHPt)tpddl18a3%FQ(W|a)4K$AWP+qsQYZ~sD6R#K+% z9nCD9&zRO+^b@<`=GJU7xD4O0qV;kxhuJFRne9)PA1^MB%k+l#e>^FPZ5z;(?zH~w zV=RVjX@v91#PJJeNJpFsyI!y=bPa@9i(>Ea5b3QRpfFkRPgsF!C9h0jYpC`=?7_TF z1U|81n3cY3=$oc6wEs?8oZH{+cAn_9d74B8Ag`-62}cWMIZ4!GjlEuc`Rki~X-8Z; z(|LZ=d3QHG3%FM4iNR|eUw3$z@=LC$B^&c|40m`OI(T30zIe)_pQ888<};5z3azrI zXT+|49y!??3NaJ9RF;z;6I2(|PG$qO5!B_P5$+^!(D_Ni!cZ!Z{aU)_v3F?XXC~aP zo+u4v&(~Xl9HwkFUX%4=?y)tex`_rLh@A0EEBD9M7l0Hx@|`8D7Mg|I*{UqPG1lpR zQ&T#vDP)9#l++piDm_x^Ye)w%=l5gamEtQEp}|xnDozG+TM&98H|m_{IV{w5?7+Zx zR3k7lC^oh#J&Y_8L>g+?*)_~Ietwxd5Qvggd0GcF_)H;7-a|R=C3Dn`%B7N6ik-{j zBDQ~8VG9#Rfi#*PBLHNSt+!BtE3i}W*l_dM&+4ZQ4UdA7mdFSk#S6PY2^H!UOwBe= zO!_ukiSHhP1;u6C{AX^(Qv3o7$7d1u&#yhNv%gbtTgkJV&YEc&BSE=bz$cnT)Wins zM8M!kDY)w%_>OM{ymz+CvHQ^%lE%l4RX{}Vm1{d<#O_3eMwnpT*8cJa)8n-E%Ah4= zjHt|!?j!pL-e(OY4T;%=|5-RhvDJEk)>IfvG3&yGjC%zlAFZC-tQN*H%B>OyTpz8q zUkgg}K|H_K)oI93Sf$HrJd7cmXqcNfvCj4vA9e)=pZUL@{o>epzq^&bsg1{Z-L>ff z`mD5rH|90&h`w|mZUG3s0pyOJxipFF5ZNO08#Gwou+aV8{IOwu|BJxBi>IbimhCP$ z9DjSSrZ2TWUBB5k@_}8i(le}s8v3s93>(fJg$cDDr*t2;cjz*pIQELb*XlZ{G%uh0 zBE^!~*X;7p75bjgmLeYO>C1PXo(#bFtoL-1KB&8ADHTMCIglauQWciP(K0Q*UX$0T z(sOf{B`nq1Kzjekc)9Cnhuy6bP*4zkZY}b1+x%TfgrxEWl4#`{bTxjh z#}t+8zP(XHtaG0z?2|Umj9l#Siw<9=o$c4f-Ey0jgB)twd?@=N?urOkfVIta22ejN zH7mloJMnF!*Ur7qb}MR35-?*Qo=uhR@Kh4u;P>XX1k04gDyMTqjye7mXJ0gZ{@iY- zH&WH@Yi|gD$Dt(g3osA8?(UJgYAyjiyAV6s7VKH9Gc{DU?EePXtQg#fAu6YkJ+ zW~e%{rC0)bsP2>(`n-Z|>wUMEf7lKd@4u}v zRT6r+jQu;Th1L6ckQ@3%tDaXzCe&pe0mUIADAY`(qa+)<_D~|^MepUq<$&0WKa0Kj zg!=&LWKjSq#pcIr;4Q2J5%Z2oo#m?4+M~Y0Kd9oD8bqkxDbpyW!nTFT$^}!8eNW$( zcRz)GAbnTk3RLF6vWswGFQudEPNhF%SwjwC2y{k^*r_L!VIM%H1KXiNLIlbdQ{{6? z!nOUFO(YC!aLkqf1NR@=7Y1NC?%fj6kC#9DA%CJfn4Zo^Cmd5#{wO`<u2`@)`hs*7s*>o8U2Bw7r&SS#K#OrWy)HW7^X^_Xne$R(Bg6wl-IXimY zx0KT($d&k`4rIoUYnG6Q!xWekbW$QjhE_VSqX3gM2>+PHoA-nnrRNDXsTBJ8;l`Q7 zwZh*8H)h+k%G1pqGeQ4-GNTXtD-xQ!zkiR`oo1fBUNk!1CyE&Yre_w8@w|(30ACbK z1cy7bvP%E*#6>2wovk#Lpqs^KN$kA4&Pt<=K{{t9>wX&30|aZ9H*_&@)IZ1|*Rw>} z>tynEXItS^sfyEc9OHCU3k9+WwLt9a;vX7K2heM5Z|S5_(_BmBaX@d}Bg59u_V_7$ zjf)bne!o1@HRQnMxDCuFwSMKbI8=!12IZzdo$ZG`W+b#+!cSNzg_kAAnISUMd_J}C2TcGa%tFCZ4r1o+@DO1ZH=bZ?P*+|goL7&Pj1u*9=k3&X@A1a|YU<12F)>)vDizj+H_4r>+!0TNn7r4{ zauL(n-(N<1qA$~_<*kCUF!eJh2qci7jTS*-zt(#g7nDJ9k}^m^YFa5E5#DKV@vWb~tA}v#W=%;Y7``Bx*Jt$l&7P3b>`jNlpyY*C>SihcfR_36kBtxol zE_b4!>-L}|OC{InE}6rGvbXwq5$LM=eAsc9_Bu znLGLkY7g?-8u08kbwuu=K#i0+G{cJD@c&%Tgc`qM;7^!Jgd7qp4FEz|Knq>UM6`oQ z$G5C`Wgy?89{dOXSeFr|M58(C%cubzeT=?aM!eLbzN;x8vKyTkyL6SOxG{Gs^KA&p)$Ui{t9K+@q%RG#QCFZ&a}7?&LU}#qRAbHH-Emu;H=u@N z!?WU-#YRpNgMUs5CX+JnA4xKLMpA#xySgN%>n&@D#Y(3YjKdi3oFu4!6fOKmHo&mJ z!dk{A9o~osvTg}{;w|EFK{Df2MV$x4+xuuWSzKpOcs1rZDMgWgoM)bPm0szM3$RaW zi-rBVI&{L2JW*I|xfdp2vtMj7yrUdhnx?CHy6PGcX%Y&g$%pC(Wq}xSD()@&%Bne3 zDHkMaKz?P8=BdV!DC2Y2ARH96;Eh7pqJHa8^J~(fk*L@-@zFs^*+&4mrPb;2sHk#T zRujKPme1&N!@{y|TEi|uEwqbxwc1_DO+~xx?%Gg9Pi-KJdV(_2eRL%6<`^uy36PE- zV3=EKM>#4-8p~InCr2$ljRqdhBd4uns+bR*roU>_2^^O-lfKr8T0>4wb>Rlx?+zl@b;`ds8zZr{%04pu!zg+2zIt)j1;=6N8LFi~ z@~|Llq4_KImU;*yo?2|Z z6EqCHP&A?AsC?r(cSH=w4I9$eUpk9wbP|<&jo5HFK4EpJb=mg+U-KgXOx*sF%p}aY z*r0pj+DVNh^&*!lb_2+K&(;k5y}D92XDU9~q{OFEk@6T2h($ITh63B+vr`c)7KsT) zUS5T##^Ro_e;m9)C3OP5A-H^7nuHU<+H}6Ta<05wE2#zlJ^soXI7Cz=KOH=G5NRpI zQygtZp3u5X5YO}3F6+AyfV2u?FK=&K+%Lwf>xThwcANr8H9sy3GB@-XCh`PMgW}lY zx<3~Qu0>5&)i@%k=;&W>&cpE!m5&@yN7h*=+mGZ(n_d?+M|4-L|A}62iLOTm1{(?g z$UH={KQR$8+UO(WWI+`ppb|-kpEaGy^FU&I^N_ksP(#%3I;8)`d+PSerFrdzxhR2_ zaV_Fl9gqPgLXJgG_vbY_R!ru$&-RS?j}?gaNjY!JBc8xwcHV+_pRnjnj#xl0g(luP z@1lNK57j|==E`d_yu}j^;)u2R(VW&2R_@d1V(QOpLnHcomO|mUXT%1pr_m32%&X*X z?oMV*GPEaMhg9s|`KF-?EFB&GcY2~ykXII!joycBx^!NvBoo7Lvdyp8I5DJC&stoz zrn(e?3~&W~xZkblJn0Pbu>j10mIf9~xE$1l$jA)*%XrPpo{0VmWh1ab8HXQOm(w%3 zt<(Nom|ph%_z@cQ^yO%tl=w9$`lN5ykoa_WlN_!F;w9b!np^pT6!5#Gk2T{hMnSeM z#^edLNZzNnEPWkRH>x-ZYf6aW7EMWo2TAD!K!*Y`0NfL;BsfmIU|ZRxK6c{tRW9fZ zw#-HH#sJcZrg+a4rJJHy=do``_*{YP@*u&wrE>-hZxbaOWN+cW^F{@>eSc(PhBb*pf^>vJ!H74}(e5*O`>g3%wb6I&JKxnViA6G!VRYgS zATRY%7pYYfFA=;fZ$dZe>RuWNrFdr@*|>HeikRVlhfcP$gq`U$Z)H*32gW>8xUe)? z;e^xvHsQZK;l$_zgxG{9FBAq}&&Z1(3E2K|{Yoj2%_fWUqJlGx8zOE*@^pRq%lxpo zobEN^&O{@OPr+H^gpAVFoJN3&EJ0&(~A1b@II6IXYf0l|?n)yNOHevCW6bJv^2Z(HqRx59-MhV(_E$8B7lM~TBr71#XR!uyq zh*#k&^9sXuv=_>GGRchSYSQL7eSNB0eHxN~5Vzic#5h_J>)p z>EyfP$`ROn07|L6B&3qPD#cfAqoQP*Ugc6k{OCYbDQiRFoy)m|_b$2zON)GvdC1!%Q%KiN(R5r zQzc&q3093G!#a(936gm|2i493BV;)WD|>n*w?P_~H@4S=dg5*n5$?778(ceg@umt4 zciWljo^CZ%At9d`5e&RN#QWq+{4n;_!6Q(_^_8EnPpByl3Q&fby$>9eKNGM`YYHSTAT2#*t$Rk3sG{n_4Fmd%`cN$`BIQKt<(`sh(I03Qt+q&7V10 zZGQbOQPD}F2m`t!L5#4rpscs@R!zI^k+P}MU72DK(omWSFpz*f6V}~JCF1|)?AP_s zzm0f%9ftT5sxChQA0^@XFWOa^yJN6EQ9;2t)D?nfHoQfv=b@HH5J);XoQ;f1xCnBW z4|}-t__6cK8WG({j*0YZz00cf3xxNsOma8G6KC={U4d40rhPc)_noe_HSf`GS3}CY z{JS8}?j5E|p5u4h7VbbF&fq^x5x_}nyO`|h>hPbvJsF_VDr=RcfeW*3KEzH#iCO$O ze#^^AnKUFt*ylRsVOEJz5ntcTQx@r27teEo3YM*-7$ne_@Ry-#m^&X{a*Da!4nKhB zfH@DGXU8lNg?!Mp(#y!$Sa|IGL@?G)L?|%AN<9uc_IE4vEeW8zxnq=+*_XqyK_1g8 z#I*-xwYXS#MIbh6$T7b;(`k?K1f2B-0hPQihXlwKyNZSmKukpQ4k7%_j zbt3yyn|OS z&F};cZQuL-;0!k&POtM`nn&pg=7Dj$$L{hpPek)*&?N(0On#R4TiZ7*@Sbx^_> z7Pr0JH5MNn18{v~m%(}AzdS!5i*<)*Nw*g7vb*^f3kzq}El?4S4)f$TAv~OBHKt(k zL*l=+-#fA@qt$E{8sY^!Y{F6D3{wCNE`=fM5$XyAoH%BF>gw0b?5KpNo0ZvnCZ<>`zh@_a?>tf&-W#z{ffSfN=i zx#D*rB9vNf*qC&|r1RZGsu4~S3>SaaOMO@H-ZeUOSV0iyGr1S)W)9GSQb)O<-WX7E7U*8(ra=8}Za#ip7kvW?n5&;j7}j+E<${JYfdE}bO@F`e>(_-x z->z1b_LA}8Uq$rfbAp1I`TDF9CgqJtWB%yTETM1}O0iMgJ3tFK?pId@Vjf=Ol4qX! zVN1VINGr}?Rny}LV7H&E&5bT6i%Q?*3j%64hzG$pxtIf|--^y^PP58lG6##UK993q zEpCTOo|!V;=+L~VlZu1J-3_iF_rHr0ifL@`mJWC%Bruc%Fbcr~Q%H$bdFcY0;Ys2E zXqXx;*rJT9406I1a&tvf5(pH>^2D~_|9+3Dnhod;HFP9)9X^jcW$uT|g4S0)|=?f1Sh;tt27GOpuAqm+&RR;XPSFnuj} z&H>(R1)Q?x*lM z8fJ1hJ+WV`%_Zk?V3YdD_{apX{qqB*aM;_w8teytSTwP(xtBHbsq3^ddi~Afvo(Qw z-2Qe3$k#%LABBk5b;!T1AvxtNo~;H%1c~!YOn+huiV+`m2*})5h=^A{J~WQEIb4F0v33Ky2Zt~6-z)RV-*yb84kL++(k^)P%1Y-wen3NRbWZEu5gK~h`2;j2K z1#04xwF1J#dYBP9&RKJ-Pf|q%7o0v3hm4#Y78!V*un_45e{pk0A>L>+TT-@-;XZ*@ z*1C#s!@)rYm@*O26eT{oA&XSKpn=3#QQjnV8a&Ui$6$bZES}#WLJ94>Q+00mkD|`uLePjxN*fq^05T^hZ~Y@ek&zgWdjlj* zpFF%GODk2)`@*iDY1#lpOlK}EkU|hh|1EV}5+*F}M5)ok{Dqa6MK2|bR6&|Hs)m3B z>kl$HaU7mIWnXBa_>gv$_20}HHX0d9KfO>r4Bl$PcFCFmFXa`>tK4V|0!YL!=&|SN zHX+E#tEEv$2JVrh?_-y)*iHm#l4OC5S|Ccq{BI0Kb}Fc(k#gIcVdCS9*Mwtn)?6;r z%i&chm#-$&;9-c3dr+5JCG6qm?BWWCud(}%^U`$k1sE)ORHG?Z1r&TveM)FjrHRrL97LLoe~F* z{QID?a=G}thVw%Zaa6G07p-yiFAoQMoH?xit|uJ-(q*64$*;TdD>%Zj-2Z(P>VF{K z-)*ORQY}2i!OuP>d8OBd>#Mv9g!XB&sLAUk!X}M9_11vH(mPEy4W&4Q{EC^V2!~90sOzqyrN0${siaZ zdy8!&T0=!*+jDqonm_-xvRNr8V$1o@j}aTk6^#1FZd&E2b&MVm1;k1y2bm!z`Qd%3N%A3GciB+qTtZMB;R_ z3n@|C#%rQVe3T+9?Si>4n3>TLv$J;M;3pO`59#KI7zaevm?ZJD2`j8)jl|$nFHZr1 zm(sQjGincH_k$VJKe?Tc)+~Px*#y-T=eQ0UAvHqU`&KWGa&)Y9u1T6zhr`~|P8gd> z>8RlGQ@drj+yRn%?Emu$VvseKFH|d#WHVK$Nsp2(%&H&~qo!R<=kdukWKw)2=I98B z0LT?aB%Jc+by(rXhS{ZVS(6n$8Ak+Y%}iU*jbhXWrXi(&%c%AedH_eIIz{n}E0BdE zs=_Xr`;ick>%Y0x8kRAK^TD#sB6xobD-2rrh7JPRS*DVjjTw+Twdf*Y0%}w#Nnvs*Pb; z>`W?@rK|ZYz9n4B~6>$exj(l4ZK8SD zVPA{M9mLP{@1(*mApuK1lPDV%JWC%*ZFQx%9T2L7NcaCl$ z;`=ZE!yLzu?9ynNwe)SrFU6C;sQhh7VREDr9qg*I=(%=Vto@=}!RzJe`NOpiv&rp* zQARdw3j8gm;a>riHp*W8EY5^PsRwK)EG*XK?E!g<)9Apg`NEQv?`JYo4O{dxsLt=+ zUX?ZB7tkVt>ZPPX*0M-UNkgH26eev#dGKHPjy;{q+z?^(bSpTqWad^M0vin3!E zoBMQQ-Ly;`1|=r_#5O7)?{jfbmrQW}8ba9Jg4K_Hpb80+9R4Rir2gzW16Z~vKyuoZ zS(68>Pmx2Ez&}^OFX~{iUFzX(ETCL%ty{B7?~J(G0P4j{p1AoB=v(e1FAWR%0jww& zh9G7J`6Ek2I3gVi>~Tr4RXN_;`~mmE%Ks=-ACb2ITuWP@B20RkniUF|$RV=O5|qOt zbvdXWG3Co9owG_@(x2egFy7K=d$~9cw1V~#!|C@WO2=D`nu8f!q^T?#Vd0{WSlInz zcV#J9Jt&SlcZXCmq`ZeZ@6TRem%n$s-YH#XJCebgJl)aoG9U(($tv`(F=_3TP#4-ee?Q&s7_sf6;G#l@4$aW5T6+lVaH6DS?Og&DS3r53lImXT_mOi~tNmJM70J zgt4}aAn`CKzkZq88gX)w6{N3E*0vdY2U%T>zqq?xmIIf6ku6>96JQ!@qW0@@4O(1_ z5RuU%lc5=WRA#1hJGad)yS7$rlIC+D>m#{?PeKfW78M&?!d0qTQ3E_UVT+5x4RqetCvEzuhP-6Nk_Nl zT%^;&L&7XCw-%T5w*f6j8GFD|*Uku==}W9O>QoU4*p)#>w;1+9lYxT-!edc1x@Qp| zQ8t2Z*4vt0tZvS$D9^rNo~Kyp;XD&mI!Lq_1YhARFHlTc>KBRBYgeUrClAV6;m!_3 zqOU=&Ft~M(toElmYm>ck<$wCxFk9w1*eLUt{jT42`XejdX@|y-hCOluparh{LIY#2 zKd!N0!L7K?QHh2zgd(?^{v+7>S@;>)W(0o#leRTTs%-$d;AbsUC`bsPXIrkvkIolNAd5;9p!Z|#zAE??awdo(9=JLhRLWcx0yDbzDKZ(0ZMuKmT2W+I;VEFFuS=ZnL{4O za`+g^1g8^AM{YWSDp(NKu3gk1%z5*9fEfUTVWpP!N(ZuT967xr{VlC@?W@OoGgKFh zZM=GIR*0>p%(%Tk82B8q7s}xT9MKH{4;{qoxEKvW9tS`Bgk&h0(n*?j`=sTLTUdy} zr|{*?_JK(K`+* z&@QoIrG^^e^LPJwbHaw$e0-j&1k6OUP+EbO*VK2d?P6E!Up)aTO)vTSJmaxPi6!jT zi!Ci^XsUAFg{uu75rJX$U6@!qC&vKyUNkhN3v&aIV4C2!kr~$YB18>&QhzY^{eZ^`kLqppC|?_nCq$? zu6jSv=*rY!lEP(}L4JDOw}5w{lAru+H}AYjO~7pZUKVYn8w@)xNzomRJqvW0*asI_ zj~8i^9@*mNS;;?njqplC8Bn93IkrHcA7B5i0Nf2rTl+z*#+v*ez8a>9kt#5E!4r z!~Mog_QSu7SJv0VnlgFtYPz>9`fkqs9jHDe5x8!BR~`q8CbV^Q!(A?4-ye1W5?M|F z-J+0rx^F)5Fto{mGACQ3>FN4Czh6K1Oc#PB#0Omt{K9oD+Hu$LkuE@Z9(=Ou!}rT& zbS8D-9_|r6NPKVm(?-sZI+CP|miB)s%^~9vt1Sx+Ui3La7hLW4zj>l@!3nDmnFTyI zZmEi-uP4E`YiGSrb=@cwii$n43X{6@Vj^=l)_c!}WyS!c#B$MSwfN=l9{5#yjY%Lw zs$l@Mj}_42r>26=@w8F-{LYqu2Say>f$PtI+Sn|SPms5ck7@}zs%a+gM29Z)*w32+ zcx@I#^uF2k`D7Rc+=){iI0#p2R_lAY*L~`^G(yg%E-X@WZ2r=LHgVtN#QSD2V=R6aRC5fqAI>2l3$cJ3x6cW$SGm$w-rELTaixw zq6l}G^nHWCyqhm@Y>CZn6(Sx{pbNPJg_q!i5%)!_A{P@JPVCh3qoZPsO$sHmc>h|> z9T9#(4mS3TqZE~nj6B|#E^7KAjuC7L2diG$hYPCmdp3VYTG6yVGAvJ$g}J#%vzAB+ z97jpXuTw~wZ6jIV2gk>hvsZ_Zm4Iig01!Fkmj+nZ7?^m);Ej9SNJf#BP+*JclmBQ0 zs>KR@Pi&0Z6TBi+{fv7T@I|9=<)xN0-KG%Y1Yq19FNxio8FZmhvHgRH(k4&r32&|^xE zI-4&+7`&3-Xn97Fxjh8ZwAYP5O%5`IzBz7iBV{i^@TC1v;zs65L8@CChy(YjIvhZ_ z1<5zl3~cPOfL67B-{9f>5bBNe;sdY4ZAwQu z_Bjp6`YQqRMp?~LXFxpYT75>Agzl+1Sil&4FN~;~!Z?^`3(QKDR8#w1 zT(7=<)^~&rfT3meK@}q-U`6^Jr8gRv<%s$iMy93vsdge&^$!pSY1MyfEiBAA9}vYB zeH8w`YcnG%dK_3BkHFD;#ID00stD%`y&ZL00WA zy`kUq0b5!S;5e4MM7ei%ed-j*$EA{HYkkP&T*+&6r%}ah-V0kXSx%EEz!xQ_p z!FbE3S0kz-!FuTpLMF`6uw#eUcLE0!7qbuqp-eOsXRI5WGJxQ~QMwE;p^lqBh_@@t zMC5^dUDZ8!m6nl57EZP-?v~L-ZIB$vV7m}(+h~6cdnWYrRoU$46-tP_iHDi z2?Arh9(y2M=<5sv1b$8jr?Mgry7+jw%Y+(fCf_J==8R3CvdC(n} zK0wdxQs~Y}P4PZ1)yd@u+6%V2V27a}{~m~=TJy$u=fP`t$zUNx%+=fWS@BciXAUW2 zO2qF9;4G)g5Bq6D+^V@C#IHV8vLj^C<7o;kkhe|`h{)yd zYeZ!|KS9|+p2bE>L{fhwIZv(+cJy<%X97{NgpbqA?q{iKgbkuRfK zAcp5^7i_v+PL-&`Oac)(n|&0|#=8jVTJqaByf-P<{rUHlt730$n`98*1_3`pnJ#NT zkuxucYB1OID-q%La=-{JQuF(6)BIg%Ox|P3^b?%cGR{O@ToP#>V<$t$NdZ!K5;|uh zYt>FywyrUO1!%C^++Sx5Zby5=LB_|ciy`KDq~<18m_2V|8c1ufRE%l$JV61mzLHbh z4EK08Z{I3uoSvUgitI}ivn41c3jDR@s#SU3XQ04R$v3dV(q>G%yiv{ zkFr5RY?;?UqV@CX{uXDw=kZ{RwnY(Ao)Vcb2P$r0_)m8Ht zTN4Tg!x`zb<)?^Pu`-Zz9SI3dT#X+@&l&+wGXdP78W@)Eh}LQD4?qyPjhPrPyF{3N zOmD_iX=8S-E5(K9eE}q{#K~qg1HF!;S{>ldyX5Ei~NLAs1q@&D8RjRowyLec2m@JDecvf z5dl{AcK~AlnJa=`6Ko;e-T`~VFV6DzNtNEiU|lt!JKCMvYWN;I;{9;9_G>z?G7VUs zuFl$79uD59zNSv|hKJPYh8la)9J#sHZp3emei-a7IlVkuL)ML_ z=&ANDlTpRQ;q4ZB%H8a`Lx+zd=^G)a4RrEmM(CRIbmtN0C@z>(^G~+?O9F0B@}`0E zN<~GiG&K1l+8V%Pc5P|}j}Hmzd~`Zh_LT6V!A^hdp08|A;FHl` zP1H!)$8553gH}8tyVb>F74zz3sK4vu8H+QR|p$# z7*GpGp?i1-?U_H=IE1CDye_H@PA`w?&)kGbgP~Fy#Z4Gtt(M+iEmJ^%m{}1ETjD&; zoj3_HrfT9B`d5!{$u(VcxZK>sQo+w9EiGLtzbhRD)2UEjtmz|Q4`W4Hi>LYTJw&M= z05ZbuvGP2<9lI{(vRufq=E`dOJ<>(|edGf$lyymBpHt-J195 z@nNMwYi8&r|FpOFwHomJ;+(Ji`^@PzDLpem3bm8w`;4~Ongp+U0^D7Z;8&YhodDWH zQ3N5zV%W~W5bAaJIA3^~N@i;p7aZv6#WWP}&NTLYzVs)CtM_V%`;wZrp=>B^3kfW^ z5E1sU6Id|Qd?T<;(<838NF<4?A4+>w0Fw$Ui7+Cgi;ZL|Lgy#{{$gEDGA0dP9~C`4vlJnM6d_q0K@2|1 z94I5m2g=CQc)?EVb4e>RN5>wOPyD||vU%QTLzS}KQ3-L;e)`|mDMy(jeFo(~T{OFs zjafJgnPeDs?d`%kgP;f2+S$oX(J9UcTtf1;I4`R?yc?c2+QSVGjU9jsBlh2NsJR+? zv&RK{DzompyVU%7q5oO1sw6|B%x$;CuTBE=jIs|s>{j~SxaafC*~w6BK_SAIEv^y0 zXlQI~j^RmU!yJH$0l}@1 z{MO?CcMDYdQ;mymY3E-$mOcVyQYJVKF3drS+PN%>up;j_LzUD(kjIQhqUJtk8)&3*%r zjj0}p@e)J`zNx6H5;1al<}?PBVp!PJ9Jg+;<9{kY{wN(v+2F{y5r>7eqn zYnJQ99u_^`!rTVVB5es1LqWO&cmIcnbpgL?V|?r$8IuI0!pHWs4!ufe{>-om;$ z7QdMg)fUkFuqv8!b7e`D(lxGOtX3v{Pfm#QR=jr_NF&Y=$WMrO^bDDzgXYW6a$8w*25dm4)t@z+ph>MdVa+1d_oCu#zeCa(H@ zphnh=j;#s}zt0~WA;T!0p8p)lLrLex!sVpjfs38SogvQMD;)r1+pGL9%; z4Pqz6z5Z<$q|b#AyM3H~v2m8(#ymH-5RF|M*>yAlZc@#7VIgU!fdxbVek;xh@+Q@y zOd%B^DWh9V%YmfGA3Vx9IYHoFlHAysqs_Y1?&Dz%=xOdr=hH)lGvYUg&%!%`Is@{x z*D2p2aSle_uy|u4H2wq_v=c6>b?)i+PIYi~HRphX?Yn!GFneEvf01Zo$aRH`oPhzQHo^aCtjXE9Zvr5I(z1F>M7Yn$KrFY zdPcG@1k@EpFyH>(8xf<4KzBl2i~kodcANZvXmkJ)zilu`B(jQZbehW$ppSg6L|pp1 zx9fcWis!$o!hq*}&oRE! zuJ#kxJ&8ph*9jr`;6x=!OpHPn6-Z&~K&b;#q;{BJnB(!-&X{f)D$N!JsRK{G`@0@$ zeIs~{LD3X791pM9QyH=j5Wucmb0?l{=-fH@eq>{OCCGb+1$Qa zm*Sz9Ml{`B5)qcEv^O7*K`Q4FK1~Ey^GDp@sKRl%gLAc&Xmb6Nk!bZ&=bH|9$n!~J zRE&O9y!I#^3ic7uqNK#R3f)=*D~c$^aJE2B%?Pj#C&o6WvT6%MjHzV?dP~W=NN@%~ za_iNhd7baVSwgPZS>Xls@<|uXtYc5u*)wMtsghhY$t!_7R&s|lQg#TqfwuymNAY9A ziAs(z>@4MA$$Rk4$0z*n9l<4EtUnh5`m4QBe-RAEG*I^4{Ag;j@&*}YM(@c;LRK+Z zh{{Z`{)Cq(ilFs_GY$|U+WqgMGp!iOKJ|p-{aYar+=*%g-BHS*L0tQSPCoOdPWglP z`6)|Q=W2_zGyXv-pig$`ASR<2e%I$kAkBFKfTKHe6ZHC}X(*Ueg)FmZI{5oSw$qhw z)e{L_AMQoGkJnK_yWk^`F&vx+fSDABl@1vY7hOU~La%&!&?(I8ptRf*IBL*h6WIv+ zK{Vi1i(~NwsLRHPd`S;85hx;2NkPuD|ms4Aj z%%cHDDUkOen^q)Sf0b&y46^o;?k`pzCO~G^w4s0!9yzz2bSU=IKbdE1J?K|%II>*~ zvb_u4dH+i@NJohnMoxgaN8qC&e$Em}BJqcq~r`gU9D4?5q7 za$jGjD2l8gGSP0Rfvl6?qizX?f$5OlrnQ|gs*8@86f!_Al79~f| z+JZjXVqi|lA40ZKuV`JXrS%5Z*ku#!PCL$N9=QEvgC7iayJgr zko2WYef{3h_Bl;IUiuShxp+zo^$TE^zw`>XG|zbRu}mgfd-|)E?frL@Def>@wVr#< zBHMiK5`w#z>1f<}G&a{)`?|~Z<|rd!g_SwSFkK16(bLQuoP7}>)BeEg;7^u933U}A4i??+dz4=#i0kQqH!H*Q0_l%RJW(K> zcr%47dv8@U()Qou#Rk6S{F?Ar2Kqt3J)(xy^(jM(`&rcN5!WQW>)1G1QhY>ANl1t% z38SeW*ui^(*&%0rkWypA6lV3LDO3o4sEc6_TI{8ME{W%?ggNr=jH7X}2P?C%CnWD- zmJ*|(R3DUQ3l!;rn|dS2}$X02?a?5L>WR-Wk`_@328(n zq#J_}Q9x=4>23u{>29R%o^#Ln0Y0M4eBa({uk|jAfYTT~fA>BQTw+?W-5-}LzXv$uVoGT)mQ zR0eYS5F0LwA%>|OXQnoj|3T*9BxXs7Zcf(gDg9xip=Q+qYL`j5CorPz&%Bg{%B2Du zP54zfy!Au{b2T6Am<56Zm=0r2zP(YA`38G_J9g52jXAhLzN49r3vq-`K0Lb-1KrC5 zch7bJD+r!TxzKo}lhZE-prI~9X-n*zh&F)--^_^$E%If9`D{@#95<;3ysE}XS>M%A zv+>k$3g5`RiP_umZ`53r9Ibi^4_or_|8DEZWtJ|fXs0Rff}?+Ke>}&tyI?ppLPw>K zR3bK9GI7AZKj}N1Z_{C9^H?&r;P(65QAvV@`CWI7baiXrG1nu^VF+w@!s6i2(~cPO znQozA;#vpjl1dbvNbc2J_Y4}}Aa3VTlz($j;fnh5Ty6Eq!f5^B|gX>Pag}l*+{E5qr^t@0+VmNLnL<7Gs7-!AKKP zwm3Gwn=c!;l(}b8Mq!PzJFfl960NouB#^)cc-@p%rRE*W&z}GrxfP zO^=Hk`k_yHU4Qm|@s&)%6dxrp63)}GKF+eA{-bDKXws6M+Bn5V7C!&!>4*ID zZ{NM1@2hf%fEUX%n7jMPJEd9*zthqmR<``&aL%Ybdw#gy;X#M0YBblHU1d>xfV;y%Yw~m znmBcG`@g{SQM0)W#=in4NhgPqn@qkEHcjR#!nGkB03wC;;598WokrasIEH8|D!%c2_s&>(T-D| zDaSNanFuIXOGUh`k4>m$Fa@3&QN`JL&3NK}wqQj#pRqw zo%;^gkGMH<7JUtp#|piE?uP0K9Ngue07K7Sg9Q)L9bQ;0L#KSpgp0&2bnu)m93Qs_ zUX_H!b3lSDD04Xf@r610Yw`3VJ@F(dXA=QgYLi|(xCI=3hD5fH)f%bwrYmbb`2M5- z^s7MtDKEFN|IYh&UUU6-u!G7IDRW(?p zWDd=wDY39O;76TJW$c}%aGkNPGPR0$#MnzK#-5hR&DC_=ZR=#G4*+I)Tj+(4nlw+Z zip4sTzp9GmKq*6yXb3jjztTX6&I+xb7>j)NP>bZyXrdSiq~sQqd8!5!@lrng?-O9@e-7ison@8=kC@+KsCN<$1>R0wwm?F^yqLCU_ zr}uP%$!!71MfKIEunU=%DZWU2+AV-$iWM50Zy|Vh%yJGy~vHsz_ucv#pPtyAuDnajNQ zMSZ6K>eB_Vqz>lXxHaNI8WSV*;OkUqe`921^h_{?N@AW*T*le;QKFrP=(=!C9dmOo zTwOvc!?1)h28WJTR}4%VmiLm?AQuRkeN{PUQG-5&w_LK39*W)<8k=m7B%BTvR;Mkv zNMmpdHZIS%0(RP7?EUTA?sFhh=j(kN`~tg8m_3sa7TMwvf}d?*X8O=vfnZu4b8c*= znCZ_BnM*!myzX0t3un{U%9`%q3IvJ~87esW>pSJ8Bp{5Gmla>tH2>lK_DCAqUoF?A zt}w7wWv*!ktI_0>99Y_S19~a^!U$VWGh%`xdQB)KE#+s0o&E%+2r^Q+keF{SX&CPT z&9gsMCH~QN@Emn627tZUbim)vLd>;k|MR!u{4n3aq!B`3!WnR(zZAUj`HmH>;s|r1a$kX~NGb^=LNI1#gu{VAsI8)*U`o@XN z92l_#)fKeW!vk4Lnh`Sx0cZX}8XG4mU7TjDBcaxG`mxx8GPX=D|0gz>RYnEU1e|Jo z^T>bu{9h^=Ki)BK=cBOXGxWavCuF)Ul&oC!Z6=VNmHI!%G@v-Rut;mL2Cpyz)VqdG zynuILsE{%4kX9GJZAY$p_Ycmgb`|S2!}8!0tR(fTIrKhnAo1T0alONhDfNb0?*qf+ zz2qBmN=g~E-(;AFKi-=jc0P}q*_@J>fad8`DWL@AQQufq9JmcAUBI1SX<=gn)tjVz z>HBVsaE)+>|IvFz0a+cZVS53}b6YO(M%$LBaxHqeei@@Oa~dqrd+>}yEn*ZbQ$lSP zBmyfnuN;30tIJ$t2ybbT*#*oGNCZ2QIJ~AL8X@o<7ywR$`2JSoXHvvd+2 zgiGoKneM0xQsrS9D7|h&Pkqy6mg`bgZQA&lY90I+TeF$8k5Qp9sd&RV{vdHuZ_<0Cyg)-?!PC zS}XDB#|f!<2Z{!)`QSKXR(X-oummsbv+fEuyBoJ-57P!yMv*B9Ce8czzc3P9-0hto zuV9fW%Zy2uKvkRTh=!>WtUiW_wx1331Ik+30k-RGUA>NYBZUKJC9Re25ko+o0@+5auEdeR1 zZ8+}@0!icy0_=-;pCLH<)C>$#H))a>x4{zRIj81EuV=+F1~o}-*g_7ZYW89_+Ze)U zGIDZG)x1Q(kmFVXGfhzGXE1*Bx4cSx9Pw8i)37_@1Q#2hv;f-YVh?Gfv8_}fHqqVm zZ&j{D-yW+kP4?j}j#QWeM|h;A$z5KGp$>33bq$cocN4e&M$yyINQAPNPp0 zMB^lBNcw;uZ0~5L5D-26!o;10w}&5Q^7m^3aKUweri1;9a~}^qdAQ8;#o+b16q#wY@T$QlpW*LkTbJIPlb__g8yi+prqjZ-ZO-1}>oogYD{Q9WSlGUEOyZ z;vaHbTQmk>6sq#4V+ym&*eBH`JY*dYz*tu0kD~#6h&i6Z^OoIoIy1)vs}99W|4-ooXWnJ4D3g({6VNEgSmk?gsu6e zC9?CuG#>$O3m~TO7tMgA}*6c$4jCiP78Ae5u^gdxQ4=SJd znzyo!%%t=_T1A~E9=|NEJ<^3mx)gYtVOSw*Ei>IJ_oEp)C4~dCulRKc!Ke6t{<(=D zHHsWZkd=CSu3h~_s7E6cn{%BjIZVf&diwuLd5cU%oK$x@6m$NMtHH;YlA$2DRgn=`+%LW+9c_M$H|J2-W0XhKKgA zNtaHnVD0>fX3>hlNqa;+XPp?ZHRa-H^npT zv@MFt$?wj}LT%n@2cqsVmm(@@B6dpi!A^u@G-WK3VNg(%b>N{-F5Q`_tZb2lq)%Uv z&VYWktfP#Sc+npFt>j_Ol96{Ic12YREn#|>s9OHv4M*PTz%*vbKbb z5x&wnGcy`A8Og#T)YYbfXN^J^$D4bOmdm&V!Lt9mnRUkk<8K?Mfd`V3SG0JSBtlI9 zh6pcx+40|b5q@geSGdGdzdY^|?m`r-Pd6lSH6^lAN(Mbh014nzAh+Xs|2LtAWm1biEVi{8&CObFMl>Nr3wUAPf=QO?G&5 z+jB}hT6_zA7J-gqC3=;PW7(Z=Kjzv0$}J9EqvTifCm4|57eM>nQt@G1l1?6{q%z%4jL2!Z^1{h8Eybv(7|9 zpAA+vCotC2{OIVcACgdsC*`dLgVF91a6%3LgLG$ap@+heEGT7mO(YWTr4=yAfroiy z`yXwUe)*?nT$dMbot^-fscsE-=9#^dc&u`7A}={{Hayfn$aT(j<0sis4l&@%h-zuw z*lx45Ofbo@(fPbatZoPPA47{~10z`Xt8Igq*jjSP*?EWq|2{#Ob1<>?H;|WNm;7K9 zU$W1qwZid zf9h`ek#2e&lEuOwvNUC)revbhKxYEfLWzee3iT_ehCcr^gsL5zrx(F$8hRXfo-PMj zoo{dK+uXLpOAh@6Rb|SzNz>+M$D={9FjvpuR1Y)!zS$8h^|v|#b%kIBGb{nJGnxQ^ z(>{XAF~}NtpZ}xxa`Rd;nGBBVSJLZcYV$mL9ab&vG_49UBzpR( zn&{XhP*3NyfRp?<9|XE(WVz z=JC$s<)!QVj_%U-_gR!Bv-U}1F;=G{qso z^mErWk6a_+=R_*rt9rgAJTYOm*G8c^EB9nDkMUr0Xe?sutP4lo5`YDOV;LfmwF^%#VV1=_tAEnsxt^CQxskF51b z&peX|ZE3olE^mB#$eLeZWmDGBB757Ij{wtB8=2)z*2q-z!^bc*G7~RZbmpZTQ`ii5 z?$;i2oIPs7-xIO7ENgIpyK+16yl`8k5^*dZ6c@+K+pQ|IwXmL3(3xHTX*luva=p_M znfJvRBMd3Qea?`l?{=FeY`$`JB>zU#yC(`koT?9jJ=(pB4K3d zq37s_u1A`=KX8V=JpFw)6^gj7wFHV18K2zwa5wjfX~n=f{*gml>{B!wL%7K2G}Ks zcxE$3?DWcSOU3;VJ)$P0&rM0PRj)*cxm2!77Cji-H2L7}U@ApDvpScT!Fq;`b*IgC z-E^iTJzhpnpi+x6Jve#X%f(3w#X)s=1Xkt&*WPax&$T62wpyc>Xqc&cVpoX9ontG$ z{hjqfRdwiGp8a!j{Pi_OuAl74oj^)rYN$NpZ`VC-m+7nj-lzS=^$Ekfk)EyNf&tu(0TU@gTmA}LoXBR%>n^j`X-x;9e&h*dcu zl7|1ofg8MK5Eb$0G;Q1#4t1RmXD-6|mAhO%InK=_VZCRYkLK*1ugu(yGr5vX$8lZf zIf5zJyXqG^bcU{Z?9(gM`5Ni@QtA@FmQH9au733JhesigUh1yDvCjMVl5TiMZ}z9e z!%0~+fNR1Do>j-;qVoR-0A>cE?1%M5X~Jw|^S&UEZj&<1#tn+9{r^KlQ@ot+fkSM^ z0O~Gnd=ukpn@LV3?jF`a9Ul&V({$N3pJbS+sIwsr*TC#T8k0R)+*cMMJ#y@zf~~>) zD2I_wTE`*!i0!@77j>$-*qqzdZpszZnvRVFPXD4!=LjD2gigSvBf$JeCL{)kKOEm< z2UE%w`d5LHOp(m@N+HW0a2e#?fWPTf6B{vZLB{?J6%&9`c;86DHuo>lsS_?}r&8$5 z9|SOl$IvOBP4(00e;%FhMMNZ>|Gb7YpkvPS^T*}j<-d6|^@BfI!eOpf zoLJgI@S^BpG4hmFm)K~2#>6xWp&BcHFU=3T@OZDDvgd^!nxX+7amfDXW=P;^xHhpMaHf! zE{QaRs_l)Ep|f1WZAeAcvlPh(p6K&8?+w1#+$_gR$A$HE9-sC;L_@JoLe7njHai7o zkRnP=BGuKvn`)}|#9_La5T}q~ z?v07op3PB7`ufbL2hYPC2v+$!_b6;>weyBP6>^xetfUvAuIOc6{fVD~6DG>t)Vw@g zoOmXC$bTO{Z3!vlKz55bxcYy-L7Z9gAX~1~$W9s;SPu20h!^z(FR#eC%*h0p=ij`O zx-300?5xv{!FTuxru}y!4?5We8u{y>lEI`5;hL9$xG(&$R@-oZa(`jRy7G7k>ghnj z#GwECvVo3oeX7na++PWwekpUM>BMclu@JE}lP6bAxQMIa1Os{(+YOgr&BdoAC4LL#YRy4n3#|=sNVe>bLbyxvt(ew?)<^Df(IP6a(9v* zwK|Y;RO6mfp=!5ckc?*EJ!5`p2!iteBNlk_y~ED>965eIM`aP3ZVf@U!shFb`w#c5 zz&B$8N$P9&gilTmVA)2~pKdSAAn$eZ{5GmU5m%WZ@0=as5RKD20^qY*A`=x85ojJrtTRRLEiikH!Z%A88R=l>)} zKAA@SydN_{b7m+SPE)PY?K*F7TIhcpOc5clibBUQ8I|cpZHcy+KIh!3L zFP4K;N1JoQ`OlKy$Qfbd8j`ICz}NUG%4AFt(e&77HYcCaaoqaz_9vg+g+y*H7F(bF zvkrnSvqq(W!8}6u#eIi^B*RblT^uJqNCLoGArwK{s|M$!McakE4$KcShN2cok?5FL zIp|~C64FfF*RLNiOXkVe{DPRJ8d<=Ve7C)A@E>}A ztj~wU3S!7qKb*>p{lbEBh-098GV-AkK3nZTq@6&{LGH-AA$AY&n;|Q3m$N4oOjmf3 z2AEm(%hRn(ulAbTQ#JhE*O2VDb)yT@<-b+zn7ZrMRyi?8!0Xx2#75=_NdsA_UjBQp z*?5zwxyI?x5+J9sD)&6vZh6xA*!y%*=x=*M$jvu=svxnw2IQc8-ceL?+Up+&i zSo7!Y_fl^Uw|;-D$17Ky{6|`JywsJwzOJMrN=5L(yWR)r5!JsxiznE1-9 z^}r-B)YN1V0>9HT4E%+T#BeJs>f?U?WMzs`zTQ_osoxRhrQ0tsrQaMMGsKSJ@oign zLLFKO7lRZ9WIPwf7iPHyfz~a&5BkG@!c4sSMbpN)ntG632SS`1^XgOd$BfP{q`e(^ z!4Tt3(>_avlkf{(VM>0hSESW(<}vRL0OGqcfxz--hT@Oo>cT+2ClYMHq}78P;^U=C z5MRoZX+qM(YHiGsF_wI8&HpOb`SJqyp2M1Gx7v3iZ5YViw_k`GxXE?wtzx`vHOu;8-OwDe=LY1K{Mi7;{%?rFg zv+<+p0DT}>M9+dV39D((xdmlgGF6#q$6RObiSi4ONpK{!V4d3u zyrqfu#J9G!Znufbt3*b@2pv*T)K|72mSw3Ov}AqAGO>a#o7sAZ{26Gy{-%+_g-6nL zmDY$;l;d3npNXh`dC^F+;ks@q`F>|YO|JY`oFrS4zT5^mzn@P!p=UDT&rT94Rr?uF z?9%B&cqE=by5r%hG zN@;XOMpJ7Ls!C4W%-zNlfp(>j7mt(pzoI*_(Emat5~UdePMPJ05c5%d77{8n2HHpD z1UbRDt>tT_SY+jY9&Ngx>^}A!3zJblR%kqUg+;+tFDRsCd`iZucmA%PAslLTuG#)- z2#-*ZsYIQaX2a-dWBoMgLvGIYQWbFer4J-S?ExK^hYpLs!lo#XVH1D%P(s4A!Jk#q zzF$Qk%!C4Gw)9t)S&jSk&t}zX9^#ltr6(i*v;aH6X^l{E7|6jrE06iC7?s+aCad?u zb2AH^86W2OZXk^do|wiy$AysJtmQ+LjLH*MI;QTmL?)R`>v581zZ&636#5VqAAn6^ zZz)&nf#Gk@4bqEx+#C?fUVrY9DS3~$jJSd|<;PW03D>^Cu!FVxwU|Wo!cCh75HfgY zk^5@=hn;k0^PBSq9*DzoJW#|QfUDQ~r@}6FMtiCYnZ3mx%kPqTnBG381*hj#N`AG9 zRh#)Q^fy3PKUlrWjzut^HNaMp^PP4vnec6}aX}PhU#( z;bZ|EQX%k4vIx6UZ6Ww(UxNlC37r9^UAHQ|u0qL1`F4&8yC@3nB?2^X z>s$;-uDi%vaA3>3ZL4AaFl`wG!&>?vW;e~oU*0dOE08xS9Y|QEg288OJM&zCZ{|}S zwE2|Cs|#i(v_w$Sy&E>e!_^}yVYRRj`BMse%-b5zwcatx)nN)vesvq2FVx z{)PZS!C!bREzEAJLF;hgTY)5FC_|BX%aN;6h)5_W|=Zg_+|kT(w0k!|aC3D>YuT!J}(M+}6&oBq^0d`r}&rg;p&^ z15_^+?5>>~58t)2LWZ@gm6z`f+DTH4D|6}bT3npbP*Z0moOrAd z;Z<9wShXDKboJUbsUc!#i)A|x`vbWv0a%Dvr|Ho#f0ulP_8;_2}O1Sq2oaF2UZV+wHa@{w89ptLH_ z&#>)-Oyb`&HI=wJ`cb6e5jO_DRF#Nzz{=+44ccptyw!-Ua^SWD8R1o`|D8%l$=#iF zjyYm+EG~6|@2YU_NAm@|8_4HQ9gL}$8-vbQohX)n%gc2BnbuYjb#@Ye_r3`boOzGx zPV>ALE$p{BIY~ zv$;K~Zv=-6BhNzzh&3dNvS(5q|KwbSu!d&Xq#nUx^q)s;X`+RJv!Yev+<&>bRXC#e z=_B@M`2>=+YH(DrFkg-bp9G$=hap{hX3Roz{VvXMm(N1o0QWD#)=As#bKc(;G9)tC zCYt;v!7h)B?9aES0-)-5LNXi8oQ>Wt!KI*L(S{7r%{`KmTfXKb8^_7Q^mKF`i}t}T z=p*v`dn-eVd^CLb<3D}+xzm`1g|iPmrGmS6Rj8&2q7op68=TdZ`Q4ZXy_?KN;q^99 zI4yO)jrw=Mo;CK$vUfe@to(1$fZ%9Y1zu_=-y2{p&g&D00*PdUm*3$7lTIubIhQ}Y z#=3j2idfX;MA7#S!DC8x)pseDbphPb(|cN!<(`XrQ_aQ1V{hjOOum`R3ioFtLL7Vv zb_UiXqDk!TJ+`C&u6%Z?#SNuOKXY{wZ3V}F1~z|nc$KpGD8jx)C$X>$d9&qL3Vs-q z)YHkv8*UPx;fATdA@4rSTpF#m2Gvy6@nkz^fPT0?oK1k-_70Ct7u%U44Ca8@wj`$F zTRyaf8Ch8=$S-roG=d8PkDO5xNQyM5#1t&f?5HT_7d|h5A0pim@P%EEkYs>Lk(S@+ z4IVjLXU_KuyWakg@FQ?PUEv^kSZ>7_u)eUKs`iPL!!aa8u$Kl{PwT71oXlzU99fjz z*j0^x8UixMY^Q1@P0Ed~-tHd2wUY+IZ+#}uRlQueH4VV%+G_bbLeN|^uJso~`!KB& zwqChZvbYZ&?*lZqVfARfJ03K%+`1)^P<--DJHAo52j4ykj>8ab6NdY{DBY&xb*PhA z(c`%%A`JAyqMTLQdY?!Qp0fez13VF3W7l39Bh_kM{}RQp+Udc#e|;6sCPBs`t4ZKn zFHGRp$_IOVW03LL3Q*1lm|_FF_y)P4hJ*P8I#cWd!LIcMgVIL}!_Y)cjRmTq_#fgM z<&|(%;v)LElG#X7P{a6&_$0>nKHg3D@eY20G0!%fUOslTlcEBf*ZL5eRu5i^4u0El z=Wmd13-1%-R=syTkH`#iT3s39byS8fN~z&O=LVD0XAE8zRR|?`wZvv77F7lUHZtP= z@Aj-XJW=iUhLDf>MD&ea!536LZZ~jjroweFfJ6@)?;I$b`lZvgXiU@&1&8-a9Gg;} z;*aMJgx}o$_V%21L0!{eZFR*9=bg?u+kx7c~q{9t)q%}LjmAw^LUE)q8y-32!3$3m{G2^5w-(Gn zT~L)wI2giGw|kIYw0R3kLyDi*fw_JSKgZ`Whp4brYU%f3`_Wq5Ey?l*7V)2vu1goF zh^@meT%Vh*Q?>fj7mWWdLhutC*oBXfm$W44^GZ7mN8Fv)8Q#%7?s~h_PzvUe>&uLo zPJ{{4tD+Gf=%WFpcYJ=it)4;hYLKI3>sKZ7nCjbK?H})n@HYlfZF%6#ql@@1evIkY z8RrqI%t-wid+^z=sXrfN>s6*qIS-=^d4hs$=#_$4Z{#(TV+jfZY9bQkT&ivq@Dp}T z*__Nk8Rf2hz^RCQ%9(&`H3%R{WK9%;4Ke-2^{*?S*sULyORc7$9X~tukKE^4T%_nw z88*NJmbi-elD48t;9Uj@Y^$e%KGR{OYciH|V5R5xUxcMd!VUbqHUsPsbbyD-oGKh( z_&k>E8s^jPLW0%JH>6 zFOEky9(=({At=xc3Bg)f9r@_XKu89zJEa!d`vO&ntiV75Lz)#c=-o{)EH{B#RevD` zK@Fw|o;ffLnIqJLO2C3a!%E#Yw9l8LHY{(~D;P_Fo7~MVV=u}M87oEK<3KJhwV~($ zs_t;8Wii1|1cLq0Qy$`id6?iOT!KaD*O7fK6~srzEya(oaFJt4MvMhdw1>5HT5M-e0)2PfEtj+xof*bs5KJR zkuD4Emab*r^Wj^b_ph#~GRu&hih6E*Kul4}`BzIY$rYXzB7LZ|Jy#wb?HCAhUF_`e zSd1pJ<`@mLXYNysaO7b6Y$miZ%L6yh&%_}#S>`81W){C|JcvVa@OQU)RQ%*PufM`7 zz%kaaiI$_mbSXoaq3hWE;qVcoLOGoI}Qy zAezWo?$@nOUXR$u8~O;gbhXLzoCJ+E8R7dhz7D|vHept9xBBU{*r}WXqeb7dj^}Z0~BX4Imq7JOiIBy zjAXEH*FI;j6hP;Nk)UPc6K&5Gt91c^8Hb%in01`i%HhQ3t*DTc9p!@&8Z(YD@xdK0=+FI zb?6)L(!lm#+p#b-?*s|U$i$aIR9e8m#9fdarJF7lvQ=8egZY}UKu>QWC@F?ndRb_F zmN7ZO{u!s6iu;$saONLE=1{crbUC*p2v0e~?XI=p#D+#o*dneG_xi?@aTHs#cIUsw zb3(Ew6eZwNLXv#iJ_*6Qqiz3E4g%Fr`Ir(`t}qa!bcIIIf3@A{lVChp0%J+Y@q&><6qq zycc6ZB)%@#JvT~%E_#DC_TSrW6#b1aUO?4T@x^bL4J`-omk0CT3tI97x%~oeC`d;7 zC2wk2E@ZlofDS^prFQlbb22)30R?(M;@0si8*8W18cw1x{5ka=Cjt&yoH?n8F`De5 z8BTRsOe*zT7?o=u?j+`}UG7=vU|q)-&D%9D{X-*qReNJ)vd$;Gws!J`HXGIk+`{@{ z*Jk{45mbfGZwKAsJ01?b;RnoC?c?i^R8A7?QH;%Qstd7$&D7eQxYwdy%)*||5ReQT_u17OB|*7CIk(N=CSaA{5BjZ!0moucnDjke_xhFKhp?o-_MoP;TX_ zhN`VTlfF>qBv^czru+Y$$HpB0@EZphZ#!Z1#1|DIg==#YvPDuExmXOUv|SVQkN2`> ze?Y&FFiurf)km`W`}hPeX5S?7IxG2;Qs<|Vl1Us7(A=F&Gjyko#%CeDo{$L!bihO! zM9ESJtA2f1Y1EQI!2w|RJ0G*1cdm~*OboViDV^!63_Wt#pYwkC@fE^Qn7I!nn{+NrO>yqbYzX|P2#&%6XuqpCm1TMu z;UIj!j3cI;sm(%5ocQ!U>KJ`gz!keWbTrz-%y?m%CQB3EQre)C^5!Z-EX;k|9$!IU zXOi}mIQi$jBbm2Sg*Q`D*kWm&Sq-^OQ#$Mr$$sATksCT)s^Z5#J)X`7e>Gq_xlAw- z3^4?691$7eyj_Y|dl?+;A=Eo8@Fu*G`B?;p6|>CKQ!k${e5=jjHrf0dPm0>2j}8{? zcr>2bpAn~EA2KlHc({HoJU=~{UNZRjlKGSEm-(j9y?~<&>`DiPOHj_mDc3htHN5x$ z+C0d2i}<#up++MF3r&X$qQn4bp#hV*LYJCa^Na1fnCiO}_F7;s0R9>nx7I*FqD417 z7~h3%R3MT0hgq^?fB*Z!Z7CiqtYR3HUaF~wmw)IYzNA*fQ4PUoQI*0cCZVKBiD(8%D*!xO{zIX&^22z zXaY!I?C<$_+zn+GMQoByTM2%R<9W$4Z2Z?l*ig3Gxl-(5s>Hp)kf(`QU2dRHHl72v00hk`Tt zwLryxkq_~|D%X$$EHP1VW1urf+@wqhM=v~po6SFFBrq<0c#F6f z?u3_$_Wcxt3j!^?l-jA}ZDz%Vuv+M00ipaBs|qLy{lB88+bT zWJw(CkiGlqelNTF`bPqBiKs77*FvO`szQR%#&_@D^V~X%S!%Da z*+&tJqAw34yE4?!=jv?6+r;YOq=hi`qCwBg;q1FbB`d)WL?tfe9oG+GsJx1guk|^P zFyi~z=LgN3l6*P8$A7t?Xw{01*r!rL`{>gMDauKMxXh`q-j;AP{c4Yit~!AJZ(Vr( z-(h|=F8}OzP0IRuV)_<`O%r=W&Ps zc0js96o$D5?Q6D==<~=iNR|&bhxEII6eW>Ajk$(AG82O>RderSu06k)l)VrKhnD1% z@dzjf@3F(mFZP0d7P_l*a?Ktes?3N|`l1$kM}<;7Z@ zT58kl8fycC%oev#cL7QPmM1K}^@D_ZaH}YLnuTbaP!4&$IN3d@gmKTG^p(eP?%9K) z2EN7}^d5Va<1s1z{ zpEIDX@5NJ%t^*iqbu6A{d1krgG~l6VG~AT*l#WI|T=m1Y4w6*+Fb`BiuQJxT{+}`L z4c11Ve#PS{6NdajG4Q@==;=SdRWPiu6=JfyZbY>h-3>o!v1*8>`^GO?I7`J|!wY3N z?MGps;j7$_^l=z*lsUS?EAOKvl|8d1>mGlU6YS9bRzO-2?51=gW{q`O&z+|S;c9j# zi2vWGdL?SUdz+JH%7s^G7kb{0T>)P>o(C0%8%2*#9uKV31=|sPN^6#iE>GuDydWc5 ze<4Z&xvcSdeB5vsQg~$x`KEJV&ULR0J$VlfbDS{_*@? zPX?ts1;g!N26j7Ql-CTCk)vtVJ;z7tqAkCwt>rD^JP*k}=wLQtFh;*Cs|VZp#sOh) zF-7>(|MVwc&`{7@ePGVAj9c-OQJFP(sY!n^igP0j_J$YMlV2V?jo_LcyUp~!*th?p z?raz1byo&68}l_(lQ1dT3hJd$b#Gq15lQzqlaQQvAd>Cr&^K0T^?nIFLPD3Xe{=U< zAs9F|H8>T396Ma(LVe&tFos+feDF=My4vT9xDN0F`C)}(>7%8i`y?3?w=5ah;m;y> zT~^qoYms!Cmo=?=BB=5wP8EV}rk*g#B0nX&15kohv!xN0E*o4{j7OtjHvYKz%03$S zB_&IIjdQYLd4vxsnGV^+?Ra+f$YW;VuDV^16RXabL0o`+j0G#cEnR~ z6#Zn+MUbJGaH29Yo=x7TxnM%f=)SV06AOPJ?L3Gknm-D+9cg)0KS`jO+8cc0c4B&X zHZeq_9F9k4-iIBc2JCkpc}IbenyMr&g&1hoe6(hLvF0nUjY`;IB4Dbi?Q456I~Pj))wMO!w6*Q%GzD3X(EH4Nw~~c1ueXXRb#nN6FF7c*fo-L| zW8w~2u$9^-Ix?oVaGL`yl_u$@6l+ZeB*RdXlW7j;HI@8E%-Jsex@V0lXTY`-?ENXX z0U@SDxzBAevvLx>6ryW}Y1PmawCN{Gr%k@j>$cF|!OlLqjNf>MtzLzp^SDOS7W#)8 zhS#KgJg;|Cb>sinZM$8l`ZbzrD>9f(1^d=><1^6siAV{p@DUm%q%3a+{T>`!H&(LX zrveSs=oQt~VXh-6hdHqZ8Pf6hH&*)Xei|||GHXh%mvtyrEH{iL%0N`m2itHC^o1HA3<&;qr$pU2a9ip&x=e=| z{ryjLCDmLrI0bArbO|PP0Bs*{Tft7lZ}c*Zlo`dIyX^+Y8SXlDPNB^J8f$JVBkE6a zao@vNIbPyfLtCFb$K0RQm6hgFb&4}xCKJsiIC~3zYGl*UN$t0p|9P-p5X8wtu#PH- zVIJ3^3%&0byAtdovt8aXTy9-R)B3E{k6E1tJ_-e(t!=L%l~l2baotoY_Cq9C2{dSz zIx_n*z>E9f&*i-TiS_$$Cf^^OO9c4Ylc39w!H8-<5=c74!`=7?>zu+d z_ys*5F~bCjCj9gTBX5WQmTHkuTQr8IEXQNR@!wgNx$cP{!pNAji8K@3>1b)Q|F(Q0 zo~)&)i&k_52$1;66mfCT8r~d(xkcnMbtN6Imb_=e2u_L9!1bL4Y5u@}hiiTOwrIHJ zv#A}zq48EzP{+w9dpQ@=MJ->i`jX8Pl0U!4CNadS*2F{t0Dm6cwC*GQ?d4hZ-Cfs0 zpx-&BFcB z(XR%QPwQ`DPI+E`9=wUA!NogDeL#ElI@N(ASe#2-pgQ8<4H2z?>&=whT=7<3-TVo+ zMHemtZ?7V2t7Ymj=70E+Dr5nD$r)E}*>WNHvXgi0mG(q66#Z*0BL7LK$PwU`?o+p03eN{9s6idNo504T(Zoth5P;Ze^!3 z+6OBxf(LuG8q?{eKMKk^l(slWs1@%GHyN-ewzPF)`#l@JW;k>+ZgnKF=Pg1aJcBGE zD#ms%4-m)(a4j%8>+Vy&><&m0G`$w86U~wQT3>1Vzf&cJ%;y&`P7DkT0-2m6xH2m% zX|;+`H%@0m!rf;Yl|1Q!5sgz*QBmG%i&--F8eKGJ4?jO(5s2(~Iu+qcvjwfV6O^o0 z&Q%s1WJESSuisuA{B~COOvHHsHh^(U)zPjpr+c;Ig?uH%ONrcGPQyhha~P(OdU16- z;((ewfbFxsz4kCHRoZ!{7Y@F0RVx@~OwiWXzei*kTGU4w(~#zftFbZk~m6kTB&<#p4V zF>8fj2M_1B>6cC>CT1Do5G$r5V_Xvb?#!h1K!U>YG}*){hEz#sR1P1F<*aW6ClTs+ z^5Q;XpB8(9PBtgGk9&}5-`6*41- zi~D~6)F((gYiR&vVQXh$g&K|E-%>@#HBWDzp(c=hn-9M_9o?qmoRclgv%suEet-Hq z1HU}9oAyvn{>LD=`ieo#UR^^QDR!j7OeFXrIz`^h2iA@JhcW@Np$5>}buYAzLOJ_{ zM3rmpbHs7~Uy_CWY|e>-dAp<&y~}3_IzWk9{vS_g8CF%ewQG>>knWNa z3F+<>kWv9@q!AX~-3_9MbV(SLpmZakNT<>uEg_wr!T$C>fBk{zwdR`dJI3?eH!>43 zt@&xFVGWbL{2+!|UBLI%1owjpjc?g^g~d~tXjLH>C*r&y71vI2$jsmrwt<}U+Is-I z7-ditvsTdfPl}MspG{IJ`U1Kun8VCr$ezZT%eJ2mwhtG6EVUc8Hu@K8@bJp_Xd_C( z=P*z@{3qxS_j}|c@pUU6wO6)XataB>DmG4*8!yjaTnG5+W|8WkNHW5_%#l4*;SN|L zKOQugQMl$gEp2Gr08Jo)<3b?A$KS^PuIg(WNCE4T@cvKjcXeIh_V{#fH2^ zx9{_8c*3pdl5a$cx9!FxtvCDqm)CmlMbI|$)z#JMWx~qcb%qZgpFh$SKpX4(PfU9Y z|0`x_8BzQHu`noaITcU~eJC6)(cJGrJSo*LBX-Ww7U{{iDae(EAXunnBVs*-pG0Z` zRr|!LoNoJ=^%-6CC35U&wvG(aygv!uW~i!p^aN}C$s)St1ed`n0wsirRYMkrglEo} zJD*;Whcq*u{$BoRHQMNTPVkoSSto}jM6G97lyp~S8^2uEN=UCP=63!ghdQrq@(EYb zj}LG7YnbGR-Ma*&u92d#7ZC*eLR3_?vGK5uga5#Za~W5C?q=V$-9;TBJf`#tJ}{&ZKEs#`C(3lno}2%)e@itn3Y@ddU()n+J@ zxn@*DV;IiTQvXPXC~}0ogn}fj`}LuNX*-lhbhS*c-PEEl4o3#LO%fR7g1L}gNXXEm zv9or0V`E^z2N7`9ydWBbO3{9}pq|*?wqA-!W-Q@%9ItpExHu&+nJiDn?#Iz8prA&sNLD$FK3$ zwBWt9g|P-8t;=P4(|sRY`I^{d@>_l^U(679m=^+n0psR6uznyOr>lX2cvOHNlK^Ki zr%mPi@Vie!_JbMND=(2!NPgvv&?Zxu)lON2TAMETClw+qbY*$TT$PFblSeiNA@Tt^ z21NvnZ~w9g(}WQQU@S0=!KHc=@ZeB+&IAfyyBu|J0THUsy{ENl6xt|zf0WHDMtafa zZB(Vqx>^oDxk!@ZWIQ-qwN$vmkaUPbceX!V zKfC>KSw0vO<2IVrpCJ;Z_Q$-qA}ecssYdMM_tK#NRsxYZ*F|NQyCJE~#Hn~}`j^u+ zb|}Jy3(t};-MhF8i9#*pVLw?~9NCy@X0*^d9@HiSrpug(ErbpQq*Mw_1K81+NRT|b zXF?aXm)Hlhq`J{WyJr!=Ed>;i2TTc($c=QF9fVv0zBw+8g`f5vmPY|e|I_;UR8`>& z;+8F0L3E-Y8&$NOXuI|I3}5w6448dpd5=|Hp!Cc&v(O!Ay@YB?CM%2kc1Ad2&~5jY zwv-X^6E4%Qemb}z9n)GwvocKywMy7&X1)un5fs+AmuP63`B2)IFv<@O!Mv=Z5RHXO zdshM5W&AcDe-r?k_e|vZ->SnJDF-2MLUe3W@A@VpD)xZA?F|sRAn`h0BRb;%o6}-J z8r$84mrO_Myiy{5g^4=NN*b}T*d=~myROaskYDgvA4);Tqs!PFYBH0660-av(J**9 zm2Xh|ZnH2E^ohPz@NiZP*NBMmFdEtc5ZvF}yM$?dnf>^t;fY>5BJZ=HrSFRjCG<*y zkV+20p@&l~&od_+RI-ArqGxy#dTxMUO?W+8v-9FPL2w^?cNWg7Z~8$r97=>_qYZ<{ zmu2MAch98!cIh(pSy;Pt-PN-&XYXSjuFHj@h#Dv(vof6CrXo9Q9CV+;S&R?PV4ZOI zkug42F(2IT+Zc*Z7{nBF3K5U2bL2_iqBQ}>DXog&li@;Th@bXE@`zx_*d2LLYDjIHqsTnw{I@IH06+bNj zB0?#UdPvA}xaJhwJ@)dhn>^vZP&uVa4|d1JTVcfqS_l=9#!?LU8Cc7}EKzNrk?99I z>qN!V2O#e(0-@wz2U~@FyJ$Ht3k#ih`(AKeTklQj++0KGAzVGJCR1UF>e6oBH}VX* zEZIkfmxzw;Tj(5&uikS%tmFCG)AJ&s);M;<`2$vgxj|b3)A{&&_uV;T6Xt-M{5KPm zXc3;>Riw6D=I1v6(-q<*M0HanhT2{hc4cXhlu|QVWZGptj7(oyIcMv zE9^X11nLbPGqcLEC-F#ZxZZVDSnZG!DudFGZ^WLk(~MR`Gtzu&M&${hcWz7ubi|i` zOk1n?sUypRF01a{I6l6f4iXEriBfkM&m0_LK?WLFANbFKyGr_|!?t5!E=KV*)F+rE z6w;mt45-2SKSo>yN>DaKLGEWR2|S_Ka7%j#z*~WK@$0|ArBdv+*#EB0F-P86Ih>#T zyP}_M@rdJ6GJJRP*eHqjRa|AP1Ss`d9lY@V=}a!;hIHdUq`KtBse}@Z2q#^d z9pp`u(jdEA=7rhK%vL|Zhf%x)9l|WL;u$vCABMH{1n=MAv#0yavT$ZaF(K{vs60}f zRp`f6M~P%8*3`&@kZ)-Pu#IwHQsPtj@JmUUUj6f@Uu^O4ENJ)Z|5CZ*16j*=6bH3^ z?0_$IH#`RM;CUuc9-e{_SYk zN&D>az|l$xw22Rn^+9vQMd!$bulIY;kUYsbpcLnKzRFa=|E}|0cOp0 zQXYF&a?DkN<2Mwzvn|ixpHnGx!cf;xGdgrJ@Smm#wLi%Zd3BUU&(z`{V_OfA@pVL! zI`0vz)$iZFTruS5jpmD@u8;#b*z`RDRZQCe~8P19ZpyM1GsmL-s`%c)AR{!W&3{O70sLh9+W&!aoZeAT z4`{Q~F}%PTmTPFk`Zn3a-`z0V5)c>R%-+wck!v^hFO3H)y850Hu2l*Z&8t@`)|geV zxlFn&D0z5H-x=JsVsrv09gV3dv_(F4+%-~L%!o$WhFOc!)$SSb6s!TraRrQX7=mT{ z$*%EnvClepBBB)!GevSLq#1UOBQaVX6c%Qie8OOtGU#-&p}4oyAU|_|MrHA9p2)AZ zJM_{#6m+=aEE<_=KrXN~b|$n_&ympn-rVB8F#?-@k!}yHCzn{u0d=MLB@qyg?;WvX zx^bzL_F^W|>Ddk!+%br!c`GalUqavo8ui6<`NsZXv)XZk*s#f)k>I<6a!*-;sw`ok zwCzq$caQ74M7eSMac>3Xosx;T)&YWAr-w2O4 z<-?m-c_b8mj^A9Bujq=ZaVbQS#oX6lj`ZE*%lUy%0s*DzW*uGv1drlh{H3i|7o5lJ z(d7?!x49`2>)mWV>2gJy@H!S%%;APGq0TnI2v5&wNCUV0EySX#lj&;v=bA5uW&yR@qyP2N`8v$r>;*Ua zGjfMp`f8SWyg{qWsT3;1tDJB2N&@ktsGTyhT@SO8evt|eNq;Ily;^{=&U}qrmYGgA zLp_)yD$mE4l7(8JRbdiP4Xfoaq6TO-PcHDZHZ5(zXz1_dPmVVEf6+d&H#S|p5 zl?_8@GUI0vF@nlqlyu~&IVOP}mYy{mIO*)f*D^<3;YBbk?ewvM199wS|Kz;0PgkJ7`I z;MsQu4^*uFQ^IQ&3h%wc!(y1%tYg`_4qk4Lh;mQL65{BIM&zyIAZ<+l#po;v!S0rHn60JmWd#Wls zu=fC^zM=j=)MCD+*>Fv+otJ@RHi4?N3;+~uRsv+Rjd32Ib5uKhRkYG{3TpKAq-0S7(V)@#` z=slu?yy~;h{`eD9?Omw=4h9Al5B~_agD$L=th8{kbTgyM+^K5O`eP9@vu`YSCB9#> zp1-qrE-~*K1d<5|I6XtbX|I`lrIQp%C<1vbvU^5(v9&Hd(9c!Ft`gd*XM0Gqmh@il zqkX8?_3vuiVY%^_%1=HdINayr3QyxQcv+AbpP{d!lKhiL?MJ$tkB|i+@ay07yp1D& zR3#Molo#nEi$dOYQV3R7cUWkr9=X2AETk!{mKq7KF$Z%cmr)_|=sTJha&;d&M7YJ&TI|Aaq}bb_C?{XJ-kM zup=B}q1}GIvC?;&BM`sX&^u7jZY2Ihm}!Dc3Zu*X|G?kP3^@*JZO_Q|2i`O?$hW?Q zgAw8-JB6Sxt}qAMatL|^WF_Gc!Vx#9ltlTSj+;>}ER|iR^IbqxV$)~H;V*9lMDr7u zXg*=nC4GVhmJl`~Zzb1Wnc?yAabr?LOR;%S1W?nk7j^Pcn|5Z%IYx&*>{feK7hDda zSSly|b~Lo|!lf)55iO*sLPCW`Y($YV%N?4?Yg`z`aLpkR`U*UsxO~`ZDoZV5d2#Oh z_UFt!pcG6`i)(=bUdO1y_C?k|_7U(i-@>W=x1E7QiGim8+YI=fDakw7H1PA_VXzM% z2ycfQZf*F9ZQ{aol-&D~=+O1A?Za<&t3nss=umI5V@e@U;AwD*;Mn2U%Uq(aG1lR1 zkQuk0Z_>XT#R?3Bna#8Vb|_KSzDx6BP7LM8U9dq9JMDzRhQHhx_HQ7|V3 zzQp`Mu6R%4+G!YnBda%AfoS|ecT5r!J2kbq{c!awuDFo)U7GS{3a2N>QP6v{T$_V? z=+@O6Xc~>ECq!FE`x6b%=uCVs;%+UqVQisUf~xekF)WdD2}l^$KUY?&?>o!-Ck2!+ z6%qHlc>|gI&Gw55Ent4RdK~42qTys5HV3Fe9x$Y-S;9N04tnVyEAo{h1$81X&3t(w zR`M-{8N)P+A_M7#tCcSzD2sP46Aza}OF8lkaQI}Kyd_Sty)|VqdUXgQvM;Llx<&j! z9~FsD*>#Zy(A1Col_=9bG~ zm!|Y@_jDv(!j1_dO)qeM#`^JOP{U<-F;dT7+h-#LP~czKf@bn$<-vnBICgUNHtd21 zwN-7HbkcazX;zfg4`c)O+N233upUL2Kg!TrWkdQZ7;60pP});RbU!RKDqEsM6)mF6 zb(u1{^(P_D|J^JuB{=gojp8eF5+pW8TqTlwhU!~>i$<;P8^q9~dYOj8#Qx}=0GI_r zIiHkUeE7nRX-ZO8!PIO9gqnBa)W<@$d&2f(Q@{f`O_fQ$O&jqt_L;U6Y8)XqHYCo2 zx#pyN_3ny2y^V{;R3^te$7`dfS2uy69KaxavMxRV5Pz4!?LICC_vt8H zm6=fO&91LQ^mZ(<)1+=_won+_tPg;(tdIa9E=pt=Vh27lt+LkvxL?eMXqSXUgyq$l zCv*0LJI%GskS0}^ZWrqSL(1m|pFfT~`ERM%p8}|Y8S%AL8erQZcDu!oT>Ii^D}~N0 z0-KCo1^`dRI&U9rUCluiHMt~8oQ+IncKXy$84Tpt-p5&In^*W8&+5pkgc!ga3Y8++ zoAUIa_CrcxC)`QV6s6aX?=xH{0M}XL4?kuQ9Sao*GZzBBjoFQ!nY^JZje@+~{-D6~ zpYhwYS@jDhGP1F*a@bo~aD8_4f|GTS<^#;HVjuSgu)oBDCh zBtYFj==q!smtf?5@^P}HAO7FHJvEo|PANCo0YCu3wf1q$BGVx$@Q#=tu=uC_k7nGw zJy)A*VNr0p9NuO3lE?IV{x|loN^MJ5PtRBL%fNxGdhZ5Pj-0|?a;SGfQ^Dei0SJh>u;JG*3WVaXz6A0xV^%(4HyUgyG+^ak z0M(bW{RqPP1R7E3KYS>SJt{0Ltg}t@P$qiJ%N5P9z>lr?w=GW#P%?sXJES+DFi%f> z!1?t_dk}nO5v2)_=tpUNdYMS-rFt0{2T|%d42UTVp9jtm09Tpid0W3siqqT-=wIQ+ zRrR1$Y9TrVbHwjtcVvFuS+B@e+jAvtEz>TTSqYqZR3Ql-ZT#;6ro+*7z+>99Ab=$j z6ma!JnC5%@S}p@-(ysWcUgV;x%zBXX{ zluv5V9EsdQM}k^jj#n77rqGT+cbMzG!>j{I=gJ>`le8Zy z>e(4><#|w|UN|uHwQaayVzh%8%1vZHwJY5FXKN4-jwjx4DFWG3SQO8d=vA0>GW??s z4NUG|UoiVl-?@$E@g7`1Wicwef^C9jTdQ$?Z@Z)Oxgv4!v2KU_u&K1s>&M}pA|WH| zh-A{p5Mst4N}(d9U}!D!j;ipwapswcdzMkDj{ z*MMbH5w%#p$bV!!204qlng6}BpX8=!^PvYM$*C>qCoLLkL~V=JZjDUm4h|JW;OJRm z9X{?c_=V7UAq99A6(IXDK72_3(Oq`&07?F~&Rsry3JO=(nzi}*7M4dEHw^Rqd|7)} zn(~iQ0p~6cjc{Lw590mri}p24>67E!Tt6)X+9Vl}6S!B!9i4JF)ylELwTIi>cPZ#e za90Q3Xn?I=n>s$4Z_K?Qd=E=;vdQP*Z~pBlYJqw}G+Z0Jx>x5Is4m0CymW*WXc!uc z>jFbi;BHBT+g?wu<&PYx0JZsmi+jIM>x80v8w!IZ_ehXc)Sp0jabB_X-f;SofjbG7P;z#g4Qo>gJt$A|~2sErMq8_nGuu*pk1L*W9i1oyJ|z8MX=t-0pli#)~^? z{XK0YLg&=~4an^Sug@G~CqG&LP#fTO@}=b&u`zppD7}!YX91roACH(f3g|uUIv?**hIX_b$loxb$ zOf4C-pEXNy9oqUhi^jlS6cuMxBz@^(Aq`$Ergq-xz0Z|&z3J)czjOOwzk097NKNfW_d+Y8Sog9F9?-GE zo`;72&@JlzIQHx}STr*iT3C5A-8O)EwQ>nErn%9qgbqo!*UpqCU}z6Fe?P#+&XAj| zFde;c{*fiBOq)ZfjzWw{h;y+$&EKL4gZ0C&+Ssdos~XgHJ2TVUq4?n}|BfWUDz!|IjP3ke!i__nCV zY2KS$fa4ig%LK`D2n8o8875k!>aC(w}Q+euUP>BLHy&U-`>PfGjEl z1WmO%`VtHeNhm1?E&_rLErFP8H?)wyEyr=`F|hnFS0caq_c!g3Tjv#Qm_HeIBJXm% zU;y8&PSFt7Dhm2NNCe4U9Pi`IX`+Z zw}lyraY6bt)5V^ijnO3|t&H?Ic|h}cMYt~)FHI9@ULhgZ_OT_bC>Z#~p!|Db#m}Td z44^WsfYZH@z*9y70vzmBf(eJAw!l_#$)kxMnJX*L2AfC!U7kp1X+=5c9>4Bb3&;FF zUyw@bP0i`st3J)5Jcz9cAco97>dVuFGe{UUdI~=L3ufijrT1o1ZB`es@;yA5<_CMR zWn%o*@h|7P>1e@^kDJBBW&6y(Udnv9Pm{MW5s@_fQlW_vwMG9E5R_F{swoeEXM5vR zVXD8S@Ds6!PI##{_e*1K{oYFf}7u|0k2_fEg+McI4~ zyp?3z5%eQWkTYpZFm<37PjpeV{P!nQ*gm5N=q~HMi}HupofuM(4^k{hLu=RXv?4Op zETrhDt*k8CZT)AG))p>PnLwqwF=EBeE+QbmCR>O6kYcwpw5?<~AuxPL|Qc-54vw zNvKS&q0=RzBa_3x-(E}Fnt1IuF(^0$=Sv zOiap$qCn`AUSwMFpceR8b^)fx+oJ4Ztckj)Xq|4mbCTs8xgvq;cSDdoezPWI>XZx^ zvoufi4`QR7pDZR_9RC^o`iv4eW;YD|crCvg1R_$mzX`JWJ6(2;Im^IEkr4HOurF^v z+=4TFB15x+(B|Kt-Js>Z0L0NIsgona5(uM-FFzqh+N>!OQmQOJLeW1mFJ=nZyw}YB zCM(}xCpCENns0t#v_<^>Yvm-+Zne4v12{kPA5?;m_!3wV;65<58GrZa;b;WjiK<8m^XI_Tc$RlMZ?Qo!Wg6Jd%3Zeu8v4mSI6_mr z&x7-rHjHdap;50_pn!Gcx5z3E0_S)CHG|g1OCvOQ=L*@#9rq<+X&t0E@zJ=`;`ug5 zb5plJ& zY>ZEXQHX}fT)oo0&q7F`4KclAEPiGK*Mw(v{o!Nfy03SmMCPCCwl$o|igq8;B1)tJt3%ShR`?4j z1Z;j2Xjst$3YyTd)FUw-o z4Yp~JBwQQTI&38v1|F;mih}Ii4ZFZhS~{kkpR{g1zwdA%&{f`)o=_e}!c5(jI5hXI z2hue`ORr_A!pv024$x-wp!v|f`h%U>rwu*_tXIcd&NCm_L0X>C$sM}UzHqRvO-6%4 z&3h;M+v|$Fqa%Qs=mfXYO9DxAcd*ln`U23P_XmJxYPT4A*3>hGL7W18B{}KqDc0^u zGkro@QdJl$EDb)bu~ilNeEfGynCOc$bH-fAU`VM=VhxQV2oF_sOLv#H+vJpj{>i-4 zsw&W)-+hf+{slsAx)yRYxsxOar%$yWDva^O{U{RSX%$KituJ2 zT&qiz3Fz&c6JN@B5j;HK5m!awi}JGr5bazLdjRTK7pPRb3LMj;v&4K}IE=y>H(%$i z+9%}rtltSZ#Egy~QjKeINVrt^`1b90S-Aw#PckVaMp!@$pTId}iiwNO_gDP7`UZ&Z zfr+V*Iz?b?u}11V$pwGfUud~$Y$d$gL%4d z-wVZmgL4Kl-5yS+mxl(XR9;>VMJ`@mUd(jFatJIkCPId~+j29rv$Z#W=x~019&}X^ z(A)gR96i0JA6Iq2`6G9v`GUr3i{I`^_NT$Q@MWnE*OxJKWei34{;$j(?wlTQaa^tY znpm;|i-v;Xr_-;`*@lSjuWM^47aME21VeBwDw88giFU-AX|9pU5Gx1JAKEeLcY$L*Y z;w{`E^gbGTa4#`h8;A}>2OJ$Augrg;5Q(P!g*r;`B~O+>Szka%i)8TC4SxP0GO6BL z!U|AveLrR&IMawl-eFj$5ONI1Rl}6ygdpY1)xpf~7Xli{Oyvns&U;&K+@KBVz29!? zQF--otj>!ail8V`vkBmz_96!9uwk<`(};w8ByJ6`TYTZ@BYXkw%e)3xoY3U^z^r|% zh(li5v0W{lRv2`>Ob;gE04S0PRs17O))M;pQ;F?23XHKJx(Uo0EnEF?6EA~ycZOR5 zFd*4H@z@$K2|>Zw!VG3)!o$a2@w0}NX0KADvHDj4V~KjG^Wmss4={c>b1@1(>|B(` z;5aRm!JCw232EEkgR=PMP^=uxMnzp@h{y|^k@gvBc;bMDdvQD#F5I!Uyt$+T*P*o@ z74>dO9FG?{6wVcHA#%t@jZl#t82(6z{N$a{8_Q3_Q_}8xHb3iJB;#(A zR`F)xFMeiC$0xD19?X!1)R%UyygX6))cKORpzI(4J!z>Z`z0hBvg#Oi-#!F7pqco)PdcflOIuOe zi}=~-MX>wh=8H0v6<4*5(i=YYTzQiuzbvJ>Q&v}%i8{<^Z!wM~x69Z1qMV8&J^-*j( z6I6oeP3+Fy&yitb1yzifieW^Zj^gpFC1TxO~RqMaE z?{8G9l8qa`zds~8zM0E-dGWZ2s4IUktPhQfAHt=RvS1;g{4-N^GxB{Wb_Jx67hKAQ zcE-#^na}z1c%*Yg-4Y+GMKEBVySP^_=U2mdPJ7U#IrS=C$azlTMof5uOu^aZ!=4^> z)1~wO*yTYK_LRcF4^5Nh zrZR7rKUXNn4sfi4hitV}aGgffbts+B)BgkNLCDyP}{&Mj3G!natV$x?&AaMlJ#A;7U{D+@{bx3C3ec`ARq zKW?xHi;Fc|)BzvfDiOJzX8qy&%cuIc4nuf(nbRZdrfh$<1Z2(y(C$RsX7hEU(gD_7 z-)v`GE&(3aQoGUNv2}k|XP;H*#@XH?x$o&7k=0$FO=@1Z0PUQFg2bW&7>`YXN3lt0UB9pq z`eFQ514i|SWU&ZSJ=W7yozIR2p5~(@YFKtC*uN0W20*yyjO~MDHtde~k`>gzpcp%l z{eZ+-zUyi|#gmI)CX6^ijq!Op75M`geJ|#dkaX{#**ARm_N{Xn?dWu)QC2VZ44{Sc zLI($uuz$2ODqK%_9(px+@862c$ja{7+#c0m`D~AN@9DW664p){KECE(zLML#0+Awq z8X*a+vkfPC*H`!4bClKjmooSmZj;j5gnDsenhHgKr`y`>-|COepL0#)q$5XrGrnkV=H>u6G$4vnw!eL-ZwbfhZfW)t!Nchx=%KoZ1;FruL-*CB zKwHRk->@br-zyGXq3OvEWLoYR;EXNqY6sa(mZRWRQuHPkhHi{LZR+ur7@R%?sKs^P?REn#A^lZ9lEZ=tBU z(N0I#7xJx=c$05#?)GnHA^Cg#0|Oycf=&fT{6#wq0T_ODyeu02G)_@2@nK=lmv)n= z9|HX#)zVr{%KuabV&O%`kT;+wHS5jy%5Aw(3mkb6&`TAChnGS2wCveGvP4>6W&f`3AvgRmX0^~rtWT)_d^7BC))c*q!-9r4O7tgAPq+zOR>RWaT=vvvu=JF5IKA5?}5UW$8J1QBp}gl@E*ElCcfriu#sN%97~ z5oyna1*rZI9ssKbQ3$7685JuLi%c&$bgg%eV6vF$7nox*2lwI@>}Oq%ZbmgNd|HRs zJ<`OPx)E_Cs{6IJ7VVN%hU1$gM3hPZ_}Pc~uP;J)0a?9$Im8;t_ccMN6GX1|j( zYD!4_764V%O~QHPlz}k-$)=O`*Ow|nymAwE*1Tk0fU~@NQh|(v!&po-!lstxT2;`E z>nmBFNrr-v(wKQSh+v;7vDSN=y-uCgkBB83E%`=w;&P`8KK)zmw-nRXwa6YC1e|c+fDCag;aK?)jHCko;dcN~ojkh-n;OSTiejz&4z3na-xc23 zW`s}ueZUfYuw=g@2#O`x9iDg6K=x4+0Za-1@VtDb+v#@nB)uEuH}CV;zc=qujV z8Q%m4V(|6|8SW_Snr}h?(k440eSw`RfUj%6hHfpyl79CdL~@IPH`ji0+lCfdRKz z`uao~f)Emd&ckxywi|s!o)fq`DfY*6mDe&E%Fynw$7l7Q1-?cCKHcS;9ErdWM-u0s zoOW_x|Gp{c!1!F20LfZ)>aP2r3FBF21*P!69;9;f@S)kb%wfXTET3Sah$@4QS!c)G z2T-fO6n2&(bD+OGLn83rnW@UgU~>GkJ?%lg@cyqpVawzH&2kvIK@>BfiGN9f?*MiM zf%TIi5-cpNCvm>|GGIDVG0M?E#g;+fW^9Yc2=fv;+?A_=Da@y*Ujer>y+NF*!*~^p z5zrDcmha)5q21!UL+LnCxu3w+z{%**_^nayd+U_s2 z9v9;;63^-6>vyuv3LR`Gd%KZl<%bzkmO^Km$2L9I>RaD=<2QQK`EE~(i=>1Vrg9c5 zyA1=dfR;jvygOe*Qy%&Xyl0p}w~hBdO+)=p2Y`>7qLXsh z3J8Q%*GxrRVxqv-#cg%@)qVr^HtA$4A;+#Qt?h2UXMgAk*+X^s^Kns`Vt_lRaY^Cv z0$Le=ug&(7^Tk?G`0sUN;%#t;+R0oItxBk%DZIOYeRipF)XwiLrNH&8^`c-5zMk}=Ex4xh!wpUv{fKSxaEtlri!4&SO#aAFk zDRSh79H4KL7P%Ys7E|9nr7l7~?r`;Ql{JhfVm}zM5ODpZ+FF&R%UQeb2 zGKPOdy_2|(AGsiy1Q%G2E`16x z-z_P(mnBODU-*m^U&Cy;zAR{MfYuERaA8^XuETH`^zKDFkwF};r*y3@@%>pXFr(8# zRo;Hq_L6~9udZ@pZ~@z@*AR6rZ-lG-(WlSDbMG1aH8hqhE6x7?b-yW~?z_E~mdAVr zoc?>}QD$QJ+w;nnJz@t4oQX@qesAyix1yhH?qsSVrBG))s?#ioyW&m%XYd5*z+muY zk9tU`12MPq*@iMXK@fC1WJm>M$mY_Hcx#D=$s>M$d$e+(DbL%sv-Yp=6=A`7bTluW z{Z0Lgz|JB&I=6&n%E}Gvu0vws69sC-Pd5*j0+49Lh}%)!Y#poVBx4~QA`@F7|EFFn zzw4?!k@goZSqNuGS5QFi`nP)yq|0Fncb`0A!v>ct+~@Y)00{MX@H@P2DG$AzX6o82 zdgiW5)M8qB(&>$)#l1Gvbb&AmDdzEvJK-Js`z}TYT~r>Okw@;w{dRQj#Of$C8H^JH zslq(;^hH-ca`emA*w6(Ms5^VnB z3sNVd8;mf9p(4`!f#i#U`+TWsd!#n=@%<#GiLXc!U%LYrhML||Afu3)gGa1w?8G&RjxDz7lhyaH!$+ZZB0<*@pby-tdtuRB=lRE;OwC+Gi$1#gNk#{Z zP|VpXS^_RI*RydtUgI6R5>B6D*b=;k5lS`$@pWm^B0mYCbIJhq#NFs;c&jEv2&Z2n zak#=un6L!eJzI0T=*71>nvk$01?|W5lIUlSVbypyiZh|@jF^b-tLh`h_K>oPa-cx< zo0@YH(FjDe7XL@*<3LK8%uA_;hsu%lN!sK9UW)2(_-$5u2*2fdB~yL-M~|2x^5IF3 zgt~L3xeA;%?ip97w@xa)|yk=XuoiQ>U5f3WMN4iAq?h6!0^k(f_q%1$|LM7`N z%WlKXEh;jB>eH(1ZI)xl*@lQHB)(|R)qcCbZvv9 z#H39j@pun{H4*ox!mYo(j3MjK?a?44u~}X&aqG`83q<57Duln|PGjH3r4dLs#yb)X z$nT3_5(^}QB|MnJ%p<+-QDAqq!u-Yka!UKC{>Ei~MDg^DPy;pNA*jgm*^=mW`(E5B zGr2++I}u0XTk1eNu!Dx-J6#jVCf_gvo;zU`FT)`5rKnrMRs?H_X7)4WF-Vo3UcfzA z1%->NR59+cSdRyQOfC%t>Jb$m3T=2H#AJLEMATij5Ft{?hikR}?uggb*t3psmu=2) zkNzR^&fm*|$Ouk%S9h}~roS5i=)^|GWHFd$#8ZV4Yzx??fp^JDgyA($OU#CxubV_` z>_(M5?irLD`A|t&6ln_ZXIu~wEjB5$YgIC!p+`oKR;08O5_h$!9SW9*)p0MihHre5 zy8D@?R&z`O1YYu=J@J+NC+Bm_s1qyiKH*yPjcN@ti`|G5S=;{ebqKokr+#CZ%@WO` zs;cxb>s$(Xcu7a>ulDMNWDW;~ooGB@DZlmzaEhftda+_>oZ;5v(x(+tc+_H9)oZ=^ z2mj*WMl}LgC7*<_){u6Y_R|Ia9-9hL|M2Ch4?Z|lA_(4-+lMaT)|-pEn|Pe(dqkC` zm#k9|lI+Rw7AcJ9`Oli)V;TVqbxXdDASynh0MkOIqvM}ai|*VNM0!Zkq++mG@yF~! ziqDv#DWG2mM%?=9kIa{Rx=M5-j?i?o>fN&wafHf{fWxZ$4j&7~CQsqV=TjmNc%`PC zEzLe@⁣Wt@B>I#rB078y$TywmkhPdP4Tp@c(Z&Zf3(v7KH|t=tG$8UEWdn*+r^Z z_`#nDm(0GWU8T$hrpE4MXKil`gZJs}1L11eedYG(wHAia3fIF7UIC_N*1jk6LhSx< zQVBah+)$SEJDND3u620QH`_vF&X$>OcI*T0rQPkkNZa#dwp!&uecwE$q25W!g!l816+hg)cFidn^BF^o3K>px}Y3n%c&&tD&=7ae^9{BV`ur(5W3X6o84 za*9%4=%l=58a@B4Q2jre&N3{kg!}q*HwZ|Bq#}ZZgmiZ*h%`!zH=!ckC5_VED5;=? zbax7fAl*nvr|-W1?>ryo+gz87b2w-3z1I3If#X*@3?_Pia_{7r83}W-u&Z1#RFkML zytZroP0Z+>4NcZ#wFlP4&%$)Z>orX&zu*>_j};K6xrq&Wpgk(q5$u>W0sms89L0%i zn!VC>b5>#AdrB~Qd!F{Pn7wh3H=JA3TV&o0C7F=46NCns7+&)^~ zAYS4W#?p(5p~3FsSF{M!VJso>_Q>`I%53PrVzIK2`bObH4Q5`zi%AkQ(8#y)n%X z2D~Y0TVZB2AQkr#;>(>V$jRAXIoKI-17iSI!aIY5{3)1qZ11Qlx75%6-Y_6xO3Hvy zThw!%>DBgBa*z!k=Z=V&7=oO-;|Da!+g@e-GN7u1%Fm~H#_63jaYI|!suq_UE?|d^)!LAFLXZueJD3Q)u)~!oI#%mcimS1w!H1R zrbM!Wj>2`ruqDjchP;OYP z?Y3U&o7XWug!5Y|Z_g6PVYJV6z}QQEtNv#NJ{{ligAL)Ss~!~FzTwGnG1m0&YIlg{ zYqL9th$Wu%>FEC+&wMjWfA+5I07;)Ty6X?%M(yaJqtN2}kfcXPfc+$2nV^uM51{MP z=wUeb*9zF1eeP5Jp7$?o*O4*W-CgTbZ|Cx3*2_~OEu9N6pw0OMYgjx8?a9BdzNxoX z6<2}J<~3PlM1=OcLWE%8Q#}~$xp+C{x^UatWah-hb=1TnJQKzhBK^q8`q3hCKw{y?;+gp11wnYrDrN z93+(ulw+W{Yu37Ky}3F2?G3T1{=!ahw`q$jT03ktNPmJ)w1-iu&>sWObUmZ}|V(IU{F z#+NSSV9*s!D`=!1TGfsy@v{$_aydt0U{eNO};JF%i_hH=jROzsvS>B+u~}6OSSfd=8JKh0byRS4@vSu5==` zX{B>35rEvOe-2)~#FnfAP?aESl^jU#(Mcme|g3Wq!J zGu!!6%*X?4vZMn-Yy?F~ZqnQ&RREpjai*;0OXzQntaO!28Ap}Q0*{kZ?5oPqPwz-{dc zb}W`6*ocu;j5W%bcmNTJoF`*bwQHc1cdfawNKy-{>`%PM7^EoI=R}Tyj@-G78{Ctf zSNl6G*u9)qgun4t;qn1Ql5|ke#(#n4omYT>yc&LRe3@xeXEa|4sDWHZ)>A`~Uq7?< z#XjB?CsGzuno(APwqjPa$0QN~NI!_29B2L19jS;=RLR+e&m3UgE_fu_mf^UpbjN8@ z0~?vlwi;9#zMn{KE)rh;PUhUnE;#AWa@f+Q3v7A|?s#;{@kGhehaMY?@=>4utu-6bz*3c7#hNFU?49nE=dP}Y1Q zHuDvOxs(+Idd91tzPZ()%UpZD0yF;+-ZmeC7WTw015}nV=y^D(l%FLlRxL_D!^YU4 zw#Dtd@oTAZ;_C}ByI*DKKF3AYIsYQFaoJwgz4&!(r z7En>&DzOv`p>EtIjWs_6km)spf(}*9H^Y)KvY`s-(FFr`jMm@!|~FDr?Zt*_RDD^oq$M86}kqyOE>SUj$!@X`9*6 zs);s)%*)}{P56B^G9+BCPnTXdH zbCFN|`T#U#m?XlNikL3Lg7^K;4s5Q@s}0+pBUv$Rmft*jsGeB(Ltea~jURZ8OE5v|bh$GvesT$cxzl3?G(^Kwa`EN_=B~2!K7q;!3hQkEuUTNzP+-u}r5CFuf8HEI{4)Jwbz>k^ETrkp z>(|dw$KhvlO`$`a7*=}T{1=%=BDnxwylA-?+p&U==vF8^oCxKfRDH306tpN9vj0kD<$c4E z`J1&M=H&mt_6{phMfzbF>v3@j2(sE3 zX=4X@EFX=~&~)W05Un+QT^%ONV1yG9qla5m?&c5s?tQYrCY{h< zY#>geHk&b8x0c8GGFa`iH*oij>h*l@kIJPXK#O(t z`}ofOY!K0SSAN|HbPYImG(-yUf%j-lBpvd48$s%X`?5%l`73jpiSGH z_l5fGx)cuY#E-C!X((DR`0aI`vH_KXMIwqkd>&fX{rtzHmYg5sFuo6uWl6fk|5M*d*f{UZ-w ztsmia6r(#+FW{n=M)#-3Ldujz!hx4?eJ%t_m4xXRkGgD3nZ2AhmkSSYERypA6m8gH zFbfzeWf1q!K4B0)x=shcKkZcmUa+6^eMLoUN8X$>e5U(Q!;%Y}4VwnatzNiqA>k`J zsAx1$(MZG4At|(18D#`W=G_GW%fuV==g(ifkS(*E{gLF#N?9W;hWPRXdqcO9%@HoP0ZBVg&5m@!vA(ynU_%bYW9|!2n6UKD4FA?BzFpqvUEqCA{t*bX^i& z8;^@YsJh7EXS;;=}^cJ(Qx7#1R(c-7wT4lC)LGHY`)L3WIfaR{v!P_79N@8}*EN4Ir@P}bQ?kKmgc^==1yz~@ZzM*07J@mb(v zCi_XhG*9ToFQ)|#E*q7*rj74sziAiAItc+_aCS1B@@{7bM$5x2Da1i1q5I`BpJE9h zp2P23Yfu>YB8O@lC6aePDJpD(a!Cq8ZeZ_#w;}G^2}W4;)l5pJxW~sjS?PJgH=Is%f`m$>2-+=~SDWK(RQeABa&GIo z7>rSMJpS_dg|o{6?_$&PFSN;eFqF|Pq|ymDVHp@8i$v7Ve+Q0BFBMxymtDf(i3ZJl zg-0$m5-rBGvgEzhd;g{1qAML+vQ#s^zwLSH>^rkHTC5rlrm#&QfZ$j@7c{gtz6I}G zqy-wBy`Sc8rFeG_o6pQh<-L{i&7APgLRzegU8oxDyWt}CxsT8y?FLCUk@UB1DmCGxSy+Qy!nvSrR2+S6SJx1Ur!?<>&cay5^A4<2=wrs|hyrgO@!f0yde zF20zz-7Qv*FAyycu(x<7CoJxrCQR-33U3s}oHus-y$tWYp-f5ZeHuE&8@zf#?uXQr zCwQw}ePhPf>n&q_sUIJGy8fw*`RL>0=Of?Dyni=($vQbz+Ob5(4dQ+qnW=S2J!ioJKAq{ICHkVPYXYxaFa``ZFjx(LJzhR{OU@gcA zwADRx0*uuS(h$se^b-@gg%>T6;Evq2Qghs#8>3Sae9j;FU0hIn5QbvZp|DL@L zd@)tz6h2_4=4LOd!>(_mMALz#7`0E%t_|D9&6T;myOdtwT>L!6FaY43Pg*@X`86@& zepJG|HW{W+$(lPdA#@)jc92@gmAAqDC@%HFNtfKfEISlW@#&M#OI}BtnJh^QRyg_w zB&0V7%4NUEl1Ztdr?j4a|9}{5Zl(zC|3{etF7N9@5;u*I54a58)6|iVTlQC2 zgg;wMP}QR)8a%Y3(nP9{iKc!%iLP8Y;v)ONYgSNWeZO@6`X2u_|LsQ~xkFmp zAG#qj9XcacpQR(!`JsDHzK1687?+d@-eSpFnZl95%j)si{XIKGnQk76HYuyVIZ@i> zAC<@BI5pJK)ituBn#jrhP{;Ti-Ud4BkU1x=|3aPxU5i`uBeDDUBX~?sSsCR0m%3vg zJE&#h_On?HrVT1Er)V4>6GiD2#jvvHb5wNx2MpDJB^%gGBKRRMj7jF49GWJt6V&nIdSENmB7AEm#|PfA)OwtPHK=c;pry@!o`%88 z8CgZldRvF$Z~|Lw*C+fn>KZfFgLoSC=JzZ@LcvEwN`C^2&B~1K zSFn1D{g=ybWZ8Bo-T2+$@yyav5wI9zcF&l-$s+%O2tMYEivA;0dPc~`%*UHBr`E1V zVLXqsZ0+0zE_x3#;`}YKP;amw`uyA7-A*EsE~?3Z%!Jm}mDk2)t&6+Q&H`W5$H`Mx z;cwnSm(B;p#ITNXDlMIj@0`;n;j zvoCNpf&(x~y|sudsBHHsbN;~G7w;p*v`bDg zZ-BAJB1~<*&c-SH9&Qn=*zN6R%`^cMppLUcc1!|mYqE4jTB{=nr&x^oAvp%~+k(!H z(ZTdz#UKwnhCqxZ&}xk=}6u8ap)dW1ev%S#MHFUy7vNV z=QNR=DlUyt1LWIOMb3KE!**bU$5GFafmSwz*s^tZY4y2Gy>AH$6g{+h7dH zfq(W)=vYi~{@l@15^&XS9=g>ky8$1;O&2(C7r^(yJK;--8C@Knhxzn<$bjK^jBPYJ zu7t0EAMa7=S}gTso|CTKTz2k+1hMV&SWVj(9VJ&(~&1Kt4w8;r&d8-ZnfJ?;^u=MTg2L8Qus?pOG~L-JBf@TQO}$-VHdx0+_=k!Cc!d}%PA zrw#xJM<+6+x@OM>LY8%I8!RHi!nPuzIR<+oM2Y@RzA+XmzKm4c^H%;nW^zSWe;24; zpLXo4O>cj&O!Su0Cdzr+Z4N-}V&vW9@Qgo7=syd3#AOsFn*v!Y9tor(jceo3E#|>( z@=<#&la~ArH5DtFS%XfYhVdq_O(a9u|0(tTUm;&(ft`t1dOF=YJQJ5!GjH*KzL4f6 z+;J>Jwz+smtX?8*X5ebXy4nFRk(&WY@x6a1KL0FHyEG*q-Tx~_8F(+VriNOOtm+>M zzQ&7@XNwpwDXq*9xMsrrlh!$db1gKl>@Ho?1<;K26M3GfiMXuhL41k&XpTkev#b}~ z$F(Q9lv|j1X2{}2uOK6UOOR1hCtN&d8AIOoJUCp^sZ`wglviFsehj{`#cy^SMPJ>Q zCec{~^wC2Ctk`?a4ftG)MPY1$?9KDCYHAeeP&|bMG(~Cf{3T6A!5L;sm}{^v930XL z2#z-&MU}W5gwfFU&-9N?cQ%-jo>}i^@e6}%9LFP)riG2 z4G5DZiHubf!nR$dS?yqRvoef$ww8wuzrKEed{(v~Ya}x+>nt9;aOFl$P}l2QDe$W) z2%0(GXqXq_PCh1h)ZW2H6M|zaCVXsJ>+F7kp|qgaj9@$@fCwm@Ld9>gzY=j-iIe>s zglfq~y?^<)&*Pe*%YD6q)Iy61hjHXMjS9K`FT6t~2cAaM#~7^lJn;qs9f!Pho~Uy9 zB=)&lj`nLsV}b5xiWWQ8@A%P7#A?PcEl^|Bii!1xB81*p5G2-ZSzM#H8Gv zYg$_JTGOx~m*d@K*Cn-Yt0n2e@4&*5!6u~1xiujHN6WX-2YR>GF%O)8bN!h{&>s!$ z(!e!(@g(7Hs_TqK+%1%WW@N+Bj~ec{WM}ZzRRpe zK1$5le|D;2#UU32S;T!q);Dq8^&k`$Tl~5Iyf@t7SG%xCeFcIfO9azN7db4@s6;k- zQP8l=V)8YD%NwH&XbxfLH5%#eqJ%sG)E9?;$|dwc*m}MAIHk+;`s&Y10XUV=g9CKW z8hBn1#8-$3f1hU1sFf|Vytv73@nRu$4G2ZcYioVzMCY7OK2s0}aRqpSYlxZ38hg6# z)jP0QO>l)8U;moB9>jHpKQvGh`*_t)nt9thwC+9uk&vT-CK%(P27s`1vNivAUtj9U zX2Pw~Nqj8+6@*svjr)5E>PVn0ZXD&8&ZpS$AxPAd*86ty<`>$qAJW}R%7n=M zC~Ia<+IeBgKV}VAXn%(Ko8*f>UI$r&C853tqMvg{bgIvrg61WgOdbUSR#T7WX>_x7>*~*fC1v5z?x?9VWH8ta84{EXWT|)w@(yMz@%YLh$S2wo&7` zp(7hmSLIKBH|?!SYcjD4M8p@MmZd_>p8^~^Lt@gW6aSN=va|MFpcvtGaeD!|fZe!3 zWQ)T4V-N}7l4G0`Q!B}bQ;eL6eVQy;EGNOY9!QzmrivIsM*EO?fKz2z3vUqY#sJ2{ z2{`WPaBIY0{dpg#_xF}!Zem#= z(lG&5Vy@2;G_ik?-ls86CO02HLX{ zg1k|%W&~Tr)pVym%}9E&tIuz7+oeOq-YMn5gUV}SDyuw}A0wkT;kG*Tg9yPp&(M$bClpPb@kOkprEhQauJk!z zkX>zc7mlNQ!y$R}c2~wK(xCH`RYnx66m;VthkOSOV|KdS#42-%d zyxwFSS6p-tPx()%c#LA~i}qgJ!bAVR6RM0hi(dsV)ca;_I*bAV0htqhAd{B1UCV0% zQ6;;%#sCw(0RS*PS-z`LS%B`p1sB}EOJD);n%G^ek!iIr79A>Jnet2N(!{Tj}@HIT+dF z2ykk>R}Zy)&Fluc{G>Xv0TK(&@xn4uIV@({(KpQyq&JWwzj-6~$h|}r;z!ADJ6@+B z48J+vVSGj7KQ#NI1fP*gwNKlYoj0Jn06z1ZU0&)ZLr6&sW> z{GFu4pMhPzboKh{i>Gd-!o9tQ7`CRUylA*YMEO1OUh5F-G9qq6+1V%W>YkX$=%9hk z^6x76oZKYWL?evCfq63y zz?6Mm@~EvBqOZ1ez{NCfU%;{*q~vz68fkO_3l)93giAQNIGg&9Du`EFb?I~E@p)qTXSZ8tGJL9gskcqV&p0CHz zW*e?P>4LeDwSwqG;J%3w|JGPxChOOvvpU>1oPlw=@i@L=21=U#3w+*}I}RqfdZjua zhANS{R^Y*}!woGB!=D*nJ%DtfJU}8fWK9_K?==^!HR_qKvFCp0_a|=Ely9I5k};b4 zFrXOKx$^Da(z;g;XBoDI_(qd*9!JP9IrL0!C zt>40h9q^InM5^$`60JH{+tSFem2Pby#O7?JELy~IXfl)*F+Xf_StFwSmF4@p)D?N8Z~1}72ClKPYMJ1RJ+HREyn%@+8~z|^N)h$3$Ziy!23-}2nklbh zG~&vJepd?Xxu5 zXJ1>PAkx4_H%n?UtE?3O=0Ca+5)`9f&7-Zzj{B7C{4O*N%SrjI2U|VflG@|9av;)G z>sEbhaP5g$*VgHIw#JivuqQRLa2ggCOK$4>!0@c16uQ<$GKo`w%C|<6EB(yRE7_`! zF@klzDskLcPl<89hIO_+pS^SMkgkwzy8-NXyBpw+v&?(LwQf1qdGtNFWm-qKB%KaA z;+~!K<|+~$)Nydd_1e-fh`TEd4n}cnj8WL56WF%8wN6-7JvPS7X#=^sXKXALGbFrE zJeVl+;aiKGH$1+%ie$RdhF@*+^_MAW$vdL8-#wn-MlOcscOG*m5|60OPxYrh2mudX01L1v1cGzTy?Zay}u-R?5()-+27|tEVG<+ zl`Veqh27`Ha0T>zgvP9M6Wwdp^@g}k!LW0WK8t#vmcR!W+M+R zPDxTg5W&Pa-Djs9uvVkYMc}`=*W!Bl_qrj$ql7u@^kdCCnZ3J7*aG)Z3VaCjL6HG4 zlJcWa&ZG=o4ozoE>ivV1`Pw|v9GyL7Njk~b5!iZ6pS5&wzdFo1AeN^gX7uQ!=<a2iS#BF!cZ(wa`aO0?lWqNR<`-zhlSb+l}eY>auj>V@K$ zwf@}XFRMCo&jbol(Z<>LX_8c!5=@jB%}y!1I)482Gv1R>teP$J!ls-;_CoF!cBsA| zrYWL~7^++zUSa^>NGVwS9Xbt02I+tOSkvBZl^B_AQ>C}61)tN| zx!SVy%@zSU`QWjLjj{2C1dyR3q4??X$jleZ=y~vKUf|{F-U-+-D3tP*v}jktBf!h{ zJR^(8$5`@Z@B@|P2?1T+(ZgVeSOGJoXhC6CBlQn$f^T50w3A7X5t=u7wb;J@%;$G` z6Xv5L1MS(ig`?p#YUh9c_>K4VCh~0gf79Z%evA4qoPfUw@kJzXg2l8(+n+%4+3?nQ z5Fw|9{D)Oa${|qjEl3H&3ICl>HWk4JOoyK@@C9Sc*UdC&$f<8InZI%>#F8WFWU3`w zPS+ucruS`;g9_%DKf4ncxE~cJ=W&wesKiQfoz~Qej=;dJcIk*YU_~D8ma;R2Fv*a7 zStiXGw}^*Hh3yoeB1U3-3ZmLGpC}6vmhA;cL+3AqeJr&LsIA4$O zw`Vs&Kas0(FiW@Cop0~bBMDqqPNEzd=m-tfx{EC?K=ff8)z_W}<0gXnQ84!YIf{?z zk0<4Z)tg{5!H5$rT5tykHqDb;c>ZBZMlNzXSLcM|)xB{Y@7%Q1=9t9r8?Xr%{F)vD zZPum6+v4;9KpNc6vMR9N$xQpcy0W>W`no_b5Nt^mI43+f%gmvEJs8b2j9s?f!wYti zTR`<&o;OofjAj>okGG1xMq|VQF8veo6URP@KeIZy$l{4<_-SG$Yxdz@c`rWoqpFHby(2OIrb=Nop@RmpT;1uTH%;cy*d>1Ua9 z?>PrRNd?UPiOc!kXV439DCLP=I~nkb@EF&1n*vEgvq1t@$g>^d5+DJBcC2(_CQ6Ix z94g0$Ia8lqOqO5~)Q1Bni8I7>fDbZj{^h-T=?c|b7; zJqrZkEefvp;N&g%QW}mC>~Ayug@Ac$rjMyrp!OtVaFQaPJ*4`Glc&y73T-XJj7E!_ zQ@;`IOf5xf?%#z6JfqGZo6r;cl9H4j#f1CQvv-NT-ex6K;P+d+9sB`e*rgKK3*&pF zx1Nj_L?ijfg!eH4cy3;0YwtSX1}2$ z5&XgL=FL&d%)|R*9&o=5^1cDu%WVf#?70rL$B&R+nJS`&MJrs1JXps}mz5 zlC|-~Y=kt@*40mTW>u>Z?_@A-M&$~E2QYKiKRy057!8>=H9tSpZIetgM3}z;ty4ny zlE0a!BOsSrTKpc)ULno8j~53(5@2fY90{Zs zkUIdE;eyhEDit}$fuM-TF@YHBd}G)}dT8|+ksQVE8mIJKWk21^pJ6xEIfB4WyN_%p z*b1#i&2T{=7F*Lsas0HX2ks2GX}44{-5>WzE4)212&aj6yaGYF!aGZyZxL!G>^4fw zSg(Iy%2z?31pxBND!(#OD}f*aL*D8o@+;KCu4LBy<-ALf_1G(fm|hR_omo|NWN5Xz z)Idu0lr$ls*YikW>p^bV_|p<(>zHtC@zW+&hcf##+*5wb(zVc0wed}#vm}kM?u_Qs zf+uq%F8_{=ohRDSpGnj9Xb>y(i1|HB_F3_4GfxD= z4Nfhs(sXJaeDrWJUM#jaJSxm3=k0Y;O2$^y$8#j?bUR>-!5i9JNVudk;su#b4bTrU z_RmF81)o>EoHHp?UzDJ}adYq$e_jyl4f_COL{^{GH`L&lYY7A#I;NF^U0&b(bdnO1 zr!meOLikN@Yeb3S?YZ8YT@H&sRp`Mav9Sw1qQ{QE>ORPWp zr9-NW=Xchb-@ghGLVQA@no|h>PgmJ0g4JiWi?ghi4Sf;cE31NpfwFbqKJ@gXR+WCRgqXuM_q;W6vEp^QEPR3;WD#y~F|M z>_U;Y@K27;N7J812B2o~9UI*tWLnxQ%TaF3`ZNy8D zX!HFdRF+76J3KU^;3mH{5*G8Wf_YR5UDb9zR|NALA-r_4z`=XC6dg8r6#AzFB}k$~ zA#%d0y2Xqqr3--o4gmOPY>=F;CTZCt5rK3%`fYJa z4ufr18JP54I#Fhn5$JS#Oc8$C7*dhWorku|Tl}#mjh-#&zTs03s;@GFI+#)bi(!0% zf;HFha5lc-0bT*>7Qyx`1s~1k5cNz@mcrccKQPsN*KDuUKlbq7upQ=gD*e0I;SwGe zHGZc`Ih-XTz{Vg=NxiS(B20nj?C;9t*-b2cB&)WoeS(PPTf4p8JIYc$szYecPCli_ zKew4{MBg3J5|j42BPtpPpL!)^Zo^B!Z`~2{($Y2|z)Lck0C%v88Zov#= z`UJ=($f)Sa!K0-*Ej63*B0fm7MSud+PgoKUzsm{~9r^-dB${ECx08@Y$5HTSjr&mw z5G=@?iL|m)_yV{KydkT$x*N^cUZRq10zOcNQ=~e%qqmlu8XR+stOA;3R%yj9^MlIQ zWqTI9trli;tXl3|x=P1CG*L4Fy2Z|nhX=&(+pN&`&g$!H|L)0-6$~J~i@ztcYnwpE zeN+^A;1D1RyPLoUAL>v8?|+!UsU-qsQsj~x1Gy(jb^@hP>E?gAB+o1dGNAj zOQS_#rpYH7^xHn7(4G%td@%y8&UwGz<4TiA_zXpk(+PwjW8uJ-(h0F~A_99%IORRV z=BQk}Qp0cAEde3n@4ns~bAyJ6{BS!a)^-NEt;-F5D;L?hVR2!(xlrYhRPOfH#bbM# zd7P&(zBR0owCln^Z8d^5sLGby1#aNYXJLoUT&VF+iclxpv)h7^fn{YRxa@Ov%?aRILIRjKyr*E+e|cPEY$n{^H9D{5A+K}iwgMymKP$#Jvw1T#l&t92KMNX zB;!1*CUpePsx_R_w?oUqLb`-Mn%v^cS48b(QNnHcP2?p$*K_?*w%E*b2`x|F7wFg2 zRd3q7h5)oaDUCGaFlR3~Cq-aPMB-ERulc=xK4+X|CjI$~iy3+e@|wcva~VCEP>jl- z-yMo5v%J&%hXI{JiHvlV3eMY0OZlux*>l6-iidm`{#^s!=&z1H`vcOaXqB1LqnP-XA<4=o-c?yA)@m8_AKjgK0Qa0J_;42-lJkak^IMnh5rj<3EkWVF-*~TVt#M3$lNl@ z*$bTb_1dk^pP~*~q9`0M`|qu_RFmXT;}BjPZgkl`I@cPNtWePA)XD;$oQO{GXjqt) zzpY=rvz#0Cq^iK#%oVCH4j-WPLN$ zFlsDu?_lkolrCC89#H}j#wns+{~QZ=?YZ7p7rL;tRtIJaJEC5DbK^M;aRPgd!wsvU z=};I~92)lv-^k#Qg2Ac3<1obZ=Wo-<)bce}ZRY(%n`;(^IKmfxTA zRoC~I6h+HJ#Q1Z*9f|zGwI!yjBz=k#g0HS6usd6b>@C-hTx)gZGvbFLf)etMAQqiZ zk4t+j=FP(1s$k2QwTCPkaPd{J6eyc!WiwLJs6{hun4sTa=H0P}0R6Z-LlnMtEUBRk zmoQo6=g$)~6(kW|Er1sW1?Ldx)1{$p6&2k>Dp$=2g5boD`jfBe$s!cx+&HP4Nq0pZ zYVxI1`A?Yzu+<}ikez<))% z)xUKO5e9^d{!e_HogU_*TJI}SpXkgt>r-JJ{4C$80*9!7{y1k6*ZaXKO(rc^bvcxqI9|Dtsu%e)Q<7Z60HDj zDqNA7Zlc{LM`qV>PAGh(G-iXg;lgV;`tT&qe=8qyhJ%$iBKj&V6-7jDn31s5qUPs0 z%v5AV-kIMM6O?G_-qk??TSD%s+n@L9C0tHJfA^0rxZ9$UVGT$-T^(fpvp~nYq=%4) zB~dQJq1_E`ETSA3HIk3Kyj0D2EtY}_UAHC(>paimZ&Ef_#8y||eN_7R?$0^JO|rp9 z$|_`m%l{LuQO(RR{;uFV9vuh;kPH!aJ1B_Ubm2S%s=0H3Dz7+a_uVJom0o#W zbxB?;H(kc9qkXE$j;^fC2YX`CkaQZVq9YE~T!WWl@_p-^%-fH1EIQuxF$<7RNol0b zmxfpSoHF0Ky1wwKy_xST69WVGN>9Av7TrUabBbADab90|EWS0&S9#>rrDSc?;2wl+ zG*1H_F;|EUpC3{2Mb^^u57TwN4YrJHl0xl$&qv;+*64nuvsHaWE0D)$=};Za#Dr$> z?KNRn)S`r~&4`kc7!ZXuMn+<{v$C|lyW#%bJ6ya-kCCW^5Fhg*n0O2fY;dTfsKHGZ zJv$>_482zh-iiKuuXv#`+OWy{ZuzZLffot@m>9bg+=95dW8M6_B}`WuW#& z(@;VE2;BDuE;xSjtnt@wSLcFrT@{l0oKL@U|C|2;D?J?@ks;-n z2lFc{gO2aBbPIW^-t0O`lqto@{<+V!E|&FAtHi(w50~&ko7lC`P%VJkJb!PHo5J2c zq4HCDar69WYpO``OCv5hBhCS&+{A3q*mE3Vbyu93DF)3IL^pPn34OM&|>lH zml+J6h>!E|75&|r7283z9sT;kgL2eo@GU1!E60CcvW@Sxek>?yJQSof?GBJA&hJ!D z(fVR_w~DTw1p5X#eLkh{9)FEH5X_(4+0^3YflDY0)mpoi_rGh(@kUui2}&DxwM>b~ zo!N#@41GwX`#)6l4nL7}6h+teUoFX#6BB+N8Nw&8|ID;R8Hc|+CYHQxcFY42Tkzy5 zrGT$JuG~)~5j{fkS&n}Yo-OXyhspkA@%UTvf*k@7*}6Y(fdvhHYCMA)+cz2y zNPS0b_N3Msvp&kMv#hoz;zw=y!ZdzigxI&2pN6V!e?`gD=m^}G;GBN}aw>4mKM~bt z{j?W!j|g=i<7x{gTEybbiLW#fz@Yop=tY*BKu?zr`DN00JQ+JPVqZTgBM!m%rvSk0 zB3y*&*=}}BM%I6-ny?&~0B_+`tL5PgR79tx(-{~D3wnzZ2j*iKDKOJ?G#a5^NaY1G zVXDGMK1Q_W@$u%*NZJlaT-1uZ#DQUpW7mlRS%v9-eR;DU?bbe?XY=EzkG_&3&cpz?{WS|V28goCH`1R(rkc~l(b+)6i@3y ziV&kZCU0^=7TafaDZ(2)N-&s{=@?=rgn}<7jL2~N`y*)|bdOngYQ`PPVa`tnZus|qhJq%@2B_njl1AM=T%kpwvzVjco9_nR~{5=~6_GGbs&*djD zuuxNp)$`5dLjS7RM7mu;9E!hvS;H)~JGii)JpHA`U(1n_2C9LMo}O^J>2nHPU@iqzGhs#Rw2ibxAt`rlx3kSjv94aE1zepUFLsgDbK?a22_N|S z_IxjIGsNH`P4VX>NJO^p(mb&3B}xz;>U{fl_-JdgNGUdlZt_lm;;K1xLLq5KFOW;JYbLvgS~|l?W-$>-80?7 z&cC8J=1qj5hN!_qw8hnow`XoB5$?r0tc)Y0%_CK(G|Djs69nB>X+L8Y9X~!)8y0>J6k4vOC$qHy( z9RXI~v2D1GPAQAC+&5H=xp(>2tn3RUk%Z{SE{&Mun%r0Lt_;f3GhknQi(7WsG~9Ic6B0X?0BH;n&$m`nf)Ccz(AcQ!WCLs@VskVF=CsE|ruOnx)h;qMogzff7JQ+}; z)US6>DW#dsv*aat4x5ASia2!?>vBBtJYDR-el z?izT^i-wJ(J>TOty}o>Ay%ytepsGY0!%%@}dC0K->FGC<@bYxPzru^ukCAqhB+$ja z_0(zmGoR%uovjY8zn=pXpWpIC1=5@?GKx2u+53tN-EyT*KZ{*Gb-&uV)$JZKiYy3S zle97Z8_EA6v6uY)G-UUa1^g!Of{}QB^~=d=81k@@+o&&nnu1JRaCEhtfxy|HRgdB91x13475mn)W6VDvMKk(|CUmL!|X~T#4DYCRjdyG0>5+P~}_Y;KOzzKF)p| zfoR%bCK%8Aqdu!l(+%Dm&jO{{{QLoT5t7@{DkD3-TiIzdR&ZDR?Rntia>HVxI$0x0 zyK$Q`7YIm%dO?b(YqB2#IZ&_g;nnfDQbcG3PA*&k3r@em-BJl0y5wVF0*gQk0BzYX zM3<>sLp04_Vh{*qMfTrz1k9SH(&r{qJ@0ffZP1KIR&wY!H;|x{r1V7BWXO~>K$83V zcbiLE!rO$sN$HnZ8^i`DzkZ5+Y)A#T%Lwoui!|rF9U}7MKi_0fd9%Y>;9yZcT%axn zoFk>+Jj{iACEA@4l}NR3G^<6nShsMHtC0bHREa!rBpL14@9XPhWCBBk$lna*zXjd3 z6CCL_5!E;92U*wRcwIVOqtaXC-YD4!Kktr_e#QA?c_dd6EbuqNK0RPYWcr!aYcH{L ztEuAR>@5{`jJynC;ji?q4Dg>_P#L zIsb*M5jb0GXlAlg?#y%lYVgq99Ql&iewP+iZd+7z>a!T3@4CxW1*tnGKg!ND&~LdZ zJF=4NL#Q4^=%NJ~gp!QVF~CyAcYV`;@5lW&I}Qw&vMGUI`V64UBDXoZfha!!lbc=LIiF9{L<2Tni=li>_eeDg4cfHSi#vJ1wYugJOo#Vfj zO4|Y%*RVCzk>sc_({fj>Xt46>L)kEph~9O2=)}d2DI=pER@S*Sp;=BuZP$1g(msw; z)d8SSeWuZ4tiWHWm1O1?;Q}#y?MHl@VS}nRr0>+nq|sXS%`+o5G6<_*{7J$hpl8nE ztU4x89Z407hzW)L<&sN&rD}@_slz?(^3e7fUL`E!*kn?i6h$Spb%>E|yoPu}HVKQW z{xQu|4X-J~`~<$(^FA3gc{CkZ{;Gs$c4A2r7t45Do+etC)$kS)a^gdJI2JFoHQ~|k z&AW}CjrKVzD{5dL{i<;J5yddd5gsGOOx4q`=X9RZ>MecdStwVl5vlUCLb7GHJYK{Pe*+#|yinogp|^^9e>yww z`CNtIt#)@0#i$qt+WVIi(Dw8)qzm~1gZS61!aN@*=UYq%&LvAF+!JZXdm@VikltBk z46nf>=j&BL5hj=qM0G38^!=y|TBtteky2Rn95ZUnaW^SP_4Pe4Bc7gw5t8p`bLo}7 z2B*E?sT-o7D|!j8y!oe7u&Ip?3L=Fjf{UnK!_z8Qq6Q%K{{1c{D&ZCgb!lbLTd%jE zZx`h5jknBc!Xz^K+UBG*y}qD%N{>M$iXzu_`=<5Ukb5vOIy%Yujy18%zz3PAjwwWK zmu@x?8nCf0;BP*#N;;iY&aSXX|3Ys_z)2W_$u)M9ktdi&nUHASJFw=CwJ<@XV>DeJ zWQh7`vGNB~-np4*etj0}hYS;6W89K-T_6)IhkTLi#N8Vu)*!4FeP;o2pX=d^ol+Ak zV7fYpel*g1Xp}n$w+mcc!rTOg4q<*F|B36L?|M}I23iZNZ->`7Wf+^pXbG&BA^q{Y zawYipJr!>y!ciUw;K0IXQ;N*jR(~A=GCd5MSEqnIxZZr_#;INfYA5l2y3UpgT<& zJ#?dJyB$H?*hp&c*(xl{#~^#zn)7Ga_Ge!0m$2JkH;vrxG3y4uP&aHngYN2?YTw_j zPpNpo2>CvYU05Zg7JF(+VsDTNw!U&rPK%PX7ZyH2i!ly7W-PGr;&2!%foA1mno0|8 zqN+-#Md{km>0$%Q2Kez71#N!t->do=&%z<+_U~Hem77~WFwXXO@m3^eV;JN*gKld+ zRz4Nf9pjv=TIE+SAplcyANt78W{l>O|0EF9OFVBNS6Xo|#J$(zrkd4pBb8vmX6hZ1 zxD_jxw75#iYuar7p2s+E@dsmaC{p&Zut1T*0hW0hY+qmO?Y5#;d51&-r$v?Wj;V#E z{CsP~kU7k1G7jw9)8D|hyYn;9i%v>>G!H9s6;ae8L3xY38#5eisvo0mfs&(Q36P^p zDkY*1LJn&87bI^yHCH}qE&gOb^2F38OdhvmEP2BHGqYEtcjf{i=15jMca!G_D#~X# zh;QBTEZ86%z45(xnZxqv*$)YOGekxueP0z~-*3tQ0-0yZGMxZ~Wrq z>zw-oWzJmckbi?zs%?$P%*|>WWDh1jTmY_ay4PQ-?=Jx6R1T92|8_B)HHJUAPU@pQ ztIb{~`bvYJej{+t!{P_gxDpNuzxw>H*ax%%3@19t(+X3GYa(}k0bBtxs4=uOKbC*K7n}4V4=%egs^odH-V-5>g6`+G z`)7HHcne#&#UJmlyW8%}{H()hQN@Rul10Ha0gMyL||L)Hcf||WlX0%JYa2}cM4gnVN z=W3|vwe~pVHgp`4$b5i@mw2%NDSd?eu%l9U?;F! zN-};|-6m1ejMSy=)_{{|F3-^R4=T%h@U~X0w`8|rukWNwdCRCQkZVCr0a_47i?~f+ zQnZ1vfFVXM&e2OUmK!Cv4A3JUP}wLX>?4;TvmG;6(EQ@9-Iw~%)K|NsGn&?JsP*jG z0QPwAl*`627?s%c&hh5Pi5N~d>)c+RNefmNVx|8C_Kf@5IVA4hfv4ul60!q@D2E-2 zA&4F+%pMrSFX}V z1l7i1b}ro=(m+mI;T7^qAF@YtCJ_OwN{b$T|73=kSaf!D2+bAG3w^J!Oq-)(BC`PW zJe;MV)O(fGX!7&jZ5^=Q2wSV7iKPwNnS8U7NQYKF@GsT$D}_IS(n-6SX^CoRX)_y< zhT`Oq-x_+RA;Q)Hmhh;#^y`-?^476yeMFNSDwuc%Xxh5{2HB8%{>mTNN z)&X||@ zrCSAx&v18QL=Go)u-G-tA&B;uR0}PD4_ON*&6M*hAUtQ<$BlhAPpKW(%bJWe%FaaB ze%&m`sCz5HZa9x?yp3^1)e7}5RtEhGK@3Y(i+&^;;NydiD3wuE8#qyH|N{tY4ho~ss}L7S{G2AyR3PEMC;X^)FLGyZJ7iCugnI|w8PPS0Eudc5l@-{bsn3q|5SGJZCrXlX+lMuURW;>5X76el-W$>d8oD$>ho zI_k5z7#Wm))eOMlhjYo|6TfvGwa9!<#Xp;`FIF_4;H?aZ ztqCcjLod^N?*?IKMpbpWtl~FCn&#$yBo)-u;mJTp4-L7w9clEiL}~tJ{*7R5#8aii z+E?$m>q|9oOVbmt&}xf$AQxq^{SxBfU3~zeN>B+tAB)Z~TQsf?@Uc`!SX4SS5Icvb zzV}dQ(}-~IFuQfnBRjh#O%^;IBSAsvlUyYI&tV6~KLY8|GHm=)OPO38VaDcwQ+6h% z3})t5WS6#gdWd@4uV0VJ(ZGy2E`?uW-M2P3R}xu6Ufz^?b50Fv&I~)IP;$gT$=e{V zK~tUqdD7&1*YBS}Y&X(xPEz{rcx@&TK)JsbUH|JJFWmn9g=YB*H$tBCBYjj(M|H34 zpn=hM#~U@!Ru0bb0@+wHHIxdjG%Fxx_XpiXB$8{j0qF2-6N2b2blZC4fkKXe3pn$# z#c72qNbEnDhgo#*JsCQlO`tRK5}t_RzoNl?#tZTnGwdLz2NJUdM~EqDVIQE^(<(w_ zH3Z4mA|H%o^5(hbKYi~)&H~Ropiel;7j@_1Pnj404NR$lK6&@}rA4_Ut8m)S_d0Y& ztq)sH0d$mN@ET>K69BBB4rH+hE1}@GeS?aGX)p3&js-{nm47Dg zUy%f}XV`zYZY|0XUalB<01kj+^&y=FUF~uzRbhI0@5CoUHXEZxzS5vE@jg|yZ9^aA z(dh5f=I65`mX!Rqr%FcP>EHPlJdab~tn0il*ORR}BK0hEailmonME80yS__SI5fmH zdK~fV)qeKhbcEy)VYQrQwX7`)89$a#YXrMCmoSh1r_NTZG!!`sQ3!4Iv)EEmvSa9E z`qJP_BP`?^Jg!m_6@>N1GR2>$dwdXhE$Xs4qeK{cBVdnavm1+mcKynu^Ua4JLqi`< zW`6qLOtXZCv7R%gL7ixjj@twR8j#aosk)|k#x?QpMkn@3GZ;Us*59Spag0|Y`jlp$ z0wgenMlKzRwr8S1KzqQ!@ds9)KI3$WFN7YM)lsyxSWU^A z+#p_}Z+PoO`17Kt;_{)d`@PcMn~~yb10djsi1suGc`oGg@YVh+G+UtYUwOfx`-1&= zGqZ9esj?{K$3v2+&UR&|0PK|V&cVjG%HAgjrB>K zlp8&1c3E)B167x1qXh~~qc{-durY@`dq_jDWX;c=d~bYNAy<2)c3eeDQG_X@N* z3EMBYze1G%avG5GIKYtegW{9)Sb{)L98wassd7DQjcZ~I^t0`+|6qyJSFG3(`O%AJ z$D9fy4cbvciDA*JhNvE+7YDZ$x%R;GdMy+FY_PsJf$g@3r{~>VP2yoHD$?c;&gX9?$w;N% zd3#^k{d{YY0&Z9-giy`X5z{+q+9 zAPcZ+2S>%Jpkvz$!ds_K*OzBCY1L3y-X*f0_u@FEjWp2Xbo^xY@LZ3igbn-e42(?m z@6{zSm}2tm2jJ%c4&|QZ8_LP|^p3Y$5gk+E z*w)lIX-C|Yk5-}E9>GfXnKMHwSl3&-f9gIRAA%N%ctxkRkw6$cFYdZF7!TfwJrs`S zlo3$dA)od$OIZ@5LDE*8CMcbs1IE#}Gvl(re+djK+_T1inEQeqr*)Mn@IP)|epF%y zbjO<_1}l1(3Q9&o3#Cx!SRb#@HvY2m4yFIS4DtS&ToOybBSr76I1$sBztU)~+SI-NKo2hS?7*pT&1BJcvfig5 zVGn_AJFuFb-Vk&z9!14%nT`xwbmZV-H=@r2;o|6iQy8Py8?eAnwKUu$ zJ%<K)Bg{rR3XI=Yy|iK0o7_g1B)zB{38~S}I{za8el=u@W-D7N^*T7e_j@LKEMsG+wu|>~2t(ohN8?YTQp?Lf-$k7e zqhk{m07Bi^8aFV$`~4lcr~=J*eCZ!gwNJef1npUxnwJMof84jHM2>5){bc1|SU>*t zT?2Mg_L>%P+#9Mgz%r(|G{RblZcFTnz3(*q@9NqsGG`rHvJH+mL~i=+c9S;FvfbL# z!o@0K3I=g8=KB{tWj$m`98=^%$KANk=?yrdZ`6UC=^;PZKcgqp3ENhy7N~iysWHP- z_zhFRsQ}g^W%ZXPxJ@#5yKpKi&JTzs^Mm?8#ffB*TQG2@PEy z8?~K$(AaQ-1?T&?(^kh`@+(usY>>g$y1{vfW8nHX_kHHNmLyI+_?~eETrf`iy~{Hl z%~0`wX;z*gFTC&I^FAh+~k}7ozMpvG6!RLDc`-LDSsy6 z76iSFukx(Vdrq$Qh94c1@uDxLvwZ*lWPI8~@%fZ$1HFL}`c=*DaF+$x2Y?l>%sluA zJruQ}Q(Jf7E7baxQ{$g6u8E|{c!h4JARA@>-LZIX@MSC3dj}95XWl1j&wf!N-Rs2H zf){_c^Y_Y$YpDFgZNmEo^VEc>N~Zt=SX8E?9$wg&D*Eh-;OWzcFHSjlFGGScoaPC4 zrU0!V2qWy?nRO&t3_ft+o?`#ZOZ=U@70QV|QiKbY2l)X(q3Y;uZ!C<^`gnv>b@9Ve z?ernO3ns>nkvmQGtGguc!~mOL)6JR8KsNL);2qE;hGBMJ132#}5|TcY`@Vm3zSV!N z9^ydy&dzC29oG!68l&dWR>I)i?J2h`%Qn@u`WMJz1R16bq`N^o9vp>Ln`MkR-9eT} zq$_kBagSEp3#D5&!D??fa=FLwggTEx-ZUT^7yP}x1OCEs)@rc`44yIW6pQc$xc(9~ z5iTfgt>aQ&3s19BJuH!#`JL!{woFN3L&;+lSNWtzbs$q_gnDcXaD`n0ngI52Kniea zIQy{OfKX9cK`a|)TMep zp&iiqjK97hplzJ1*H4hD_!3;Js<9h<$P`nCw68nP)W;LZ4+`n}56%GDro|6i(K~Oj zrQE7LJYLoF>nywaP)k-MTB!EcExO5WZ`eb5-%8!0Y>rUZ2(S=!!=xP}Q)al?lK<=T-w#YGZQ{phSlRgTNx`vJ{0-&G`DowsXzN|c+#`M&5Y26` zaEF)l(N1*eyx1z_VRxeP3H8Kj{aJGbY=o9zp%3;9e4 zE5)x74)W6Zg0~<3&*h2QWFd*{X6#Ag%Z4Y>{+ndWEh5Zs;KcZ-&1-8-Lr#8gbs*g! zGsv2N{i4dIn>nn%SKc|?h_5do90rn#yPm`I5t)9n%|SxqJIJDiTvctM`o))cIMwmY z0w7{GmSx)!R@6XB+tWNY;u6k}@}4g%HROgL4L?L}BZiTDr$J(R>*p#^4qFh<@_B+l z6p~l<>ette&!+F-F4`?2>AiRJkRJ0_i{~yBFBoKSzt*Rk$lW%q<%fD9&8k@p3yY4K z{!n^3-*&GpkV%T6R??*OEufb+e5D|}i-cx4Xhb}ufCm?S;oc`b7NZiZ@6Ou=?DDLb z_j>vI2{-04*(Y`hXk`^wB_pW3IMlpm>T)x3+JD1UuD?uHmb3^F&&;EI+oU?Vzani* zD*o{oa>iQ!Id-=U>7&1WkH7#lQcgXrr2m?iTx$S!#>OQN>fN0x-4F{VlO-R749D+M z=_;#qJ^Pk~+ljv55x#ajlw*6FM$);qg`IDWYwp~BZ4g5MAWUQI&Ua9hRfA+&N zIa>Vgk|}#t^t5b7)vpPNV9XcaUO(Bd7{Q2X&d#2H3%%}V;o3)&xpF2zSE64EcBfVH z3-xa#dIJ!=$-Y_OorkD22_C&~Y`!93zf1K!q^f~kox@+?*3P?xIc6L`dXoRd@B<^{ zE3io;h$Ei~I@YoQ4#sTtI5Ox49kE{WT|!6Yt{9g>hMowPoZ{(c-rnrPAiO2|5MbzV zHWSha2S+X7KJ8B{DEfgDvxdg`rBhowZry-1ApCW$M830ZHot=af*&jbCO(8^=3p8V zlYbko94<+m%8{H2G5?Xg2+}pc)R>T7BNPWx@5p7ogkpHB7SXktT#n;SvF10sr@v9O z**1q*es%K2+?ZBja#qac&qt$+^aZKj%B=@U4|~UL9QlV2Q$aob*QW=s7KsTd6qB2bG&p2s%Cy^7+liz zuM?vIX7of){B$0?cRcx zwIsh06e6?G$XVXx@L-ksvRFTDY-#}6n^(@x1>ot}Gb3&~l-SXORgd}2+Uphs^V5E1 zj+w`GuET%~>mKXRaNyD~k20ZB7F3C((Ej@p-0-2^KI{i5^?8r;w<{pF|McNQ@xRP1 z0$d2K*r@0g8=?^8TGHCl(IeR;@%H;WBY-WF;KKXIfP(C=gAUos#qUpWL*g2nzb&uN ztHN&e*O@W001=ktPdvgA?_h~G*&atNbDmv@kPWbMBG7BPghF-J7Ctxp@#wfFoIer>S&)T9z9Q=~{ z|KC)`4W4Yk99P?v2*(DkM-80^i%ses&Nx|kfSzy|PA!yvzhw&gLS@9yhfoh2q|xRU z{*WN5G*`O1zTQcQ3mDP^!+qG!7AbcpNCrj&TE1eD#|$8KWYZAXudoxAaI+O(<~9HF z7FlxQv`Q`XWTBQrx#3x)m!92s#I-aSaa0H&Nn-SIg%=FI2@Ze6HTH4#$)44DiH!5?8Y@P9!2Tt9Gg8}IvDUN)}&mX(VkyCjB zgDkK&tQEL0=!jq8*tbD~-3}^ZFU4QZc=LSxx36|}gW>nr=gaL9Z1=I-Y*~2J*y_w$ zu2IlZ25!lc_IAM>Yd=+8y!C~Eg!b83(Jy&no&wB*x+f;lm3g3KCS>|$Wmq4@EG&}7 z#-rV&bJ|(yPW)aDj0E+_<_5x5VtjY_8s}V>06cd~H*+*jje*#E0GfkNzJvd)dtQ)9 z{VF^Xe_YZv|L%MC-Tg#;8CU*p+#7^8@z+PxRW|;T1Q%F9L>tX>8nN-hYJESDf0vR= zkU0&ehCJD@-~i}d`XK<=I)0S@Ju^3u`HbjWo4wJv4bdW4{*&a*B!l(M7sEX|+1s%?G-@bXJY&ZCABCX?i z1+X3D0O>kC(;Ql*q@_C#gvIIp&WSohHw$js!T>=DWcpH;eenFELHl_XM8buo`L-&~ z6&BhN1syu~o79wkj`a%|i{a%v1qAZSC;9<%4;scDBzOWXFj`zewvlM*&;>5ak5+sf z%6VNI^~*9w?;fN@q<}-qy5$btk;zy49s;f{YB2QuC~J{qofcfy>Hd=QnXZ)Knmp{Q9SLij9%49Twsf#ib~R zOvMVTj_&@M_((FYglB&Y5+z+W62JxnISeMao@MoyacA1Y$S^iQTd92(mgL0Q zIn>QFUJyTYY|j1mWdGoxU`yiF+SM&8>u493mBmn2G}fCq_PZwL5aOz=a?A2QJLu`U zAU~LIyCV!{r(eA&$Y~%}VvHGnYsG``{9L5JFF6i>>&@eoC|4l5+n%&J&5%yOZJ`lp zXDS?;>ilvD9JHEe<3l74L6cQa%8h__v@i-q7QQcjk9|glHTce%2=(}PD;$35KcvDf ztPlUePho@f)OSo-0L}5zWjWGzLq25B7PW$@y^VQHln}I1HfUUT)kcT4Dm#ao)KrCa z-ORWcr1caP+dL48PM^XKMNPHH#GK)-D;a{vq52MD3bD6r2vAp9um(_+qma13w;nJp z@S2wUGsIF`_e4Kdp~?qT{U~Ob4ETEfRDPh~OVbe*&0Pnq~?Yq(Va;)rZ z^EF~GXGUjem4hn=%YDLPz)zu4j(UCV##M|LxOa@+hIae51DKAoc#LnRC&gbPLq}s} zk3M~UQ2Av08E=K?-$ewCi}NcIq|4&zOxz&Oj05^;Jp4AAfF_WZPkIYAREfJbej9%Z z%f7#ugsyq19(Xabe}=+Cc78e|$O;sPe4xrR5n~X9~f7OOHK_zVi3vw8=>Y;<@cqFs`2}17=c|LQl0xM|L3y-lprgJ>Q(z( zh@OQvDaN4@wh>c}LN%)UzdGM5n!-e;8xN7F2zsXpivO&WgU}?~vr|ZNh(9URhITfh zDL?=61zsX%$a)MWE1>ijL$`s6oYa4_PfnJunik<3!oi#kAo9PScli-#Iht+FA=Gg3 zG8J-pmA@ru4D9Ue(MSl=0;9;dG(nx%@PPJeCuH|JgPL+DIAsJ0_;AksQz@-D;;FJx z9?}R)zGZ$q>@^29!V-2{YqvA!j+I;tV`iWFUE$kO35Hw=E%W86s~7OLy%RV-9LXGNIKeZ)E$ z2g#f5Lb6056rcV_KNJs%SuioF1751YYPcbw6%q`{DhcT&3Co<=3b4*G;;a+a>UMUj zLTE?r*DC+0U}tB{s}(I_@Oqpu(O*G-2b4py`)ZGsL|DCSai@c>dhK+Yt^$&|i`}L| zP+nM5soY>O6^TQX3zKz`QYycIe6Y{3S0*D4R~6LJr3iVkbG&Fp$-Ddh1<$!Q!D!dm z=f`b9>6$(zz>1aTWJzYguNgpE>7P*?klN(!WyoydcPK;5ILaFs;$$y!@e zm-N|qo0L_z6}!xNccu4et_8i3C=jx{afykycSl01F;}qxW2v+$G9*-9nN%}R38<=< z?*5O>C3|`(?{ET||6Yc4HV{EgTq?hO$%Y+R>S;QZPv`ly6DlJWDlMPGtKYNEk+U#y zEx^v<>u?k$-`-Ni&0B2Al=+C1(a$&a5-TbME^DDw#H6B}^XM(_1&f^Ti5Z>Ce+)3<`NR7ikiV`9r&@5{cyjbAJXUo<*7dAV_R~*xD2j7Js>u);{|V=ZOM; z_|?VVgK^jpu7&gQ2iJkm>wZae=n_tk-gKTmmgM{st~?opM$jD8693-1#@%;)Reay5 zYP8rOjDZ2dS7DDqTyC*?K0`Ypv9>iS;2b?30H*qGCNhlqR5Xp(^z>%JukzkW;=4mK z8CaLgn?-2BO;m4Rj(oW#;y9s>A;F&WqT!s3g1)6yh)sama>`JY*?&To3nqYhjFJbR zZzislzc8+I6@iSfhGG_@Hx|FW@sS>)0oL%>U^k%viiEkr)#K4FxU3+Xp%2R~!24Y6 z=ZAN8IdX$q(8eM@yTD-!gy9JhSBP*PK`Ax8x0?2H_hJ{kiNK5< zi=Em?fv%|kMEs#nhWI_WPOmKD?90TI6&8LCuZhMOzTjVS1c&Q3b@M5%Ll;bu)SG?} z_|ev4`@w$~HWP;bB`bj9%06$I-**SpyNylgV^x4AzmYwXq>XQ3hlE|1d)Yy+9N{5J zU?ltv-wDXygwqoapUyt ztg?;RG^oByXEefHg^bIpX>e4NdxLnGo@~9;yiPS=^ZkQNXyIOTzzWOM7m!C zH{laFbwa39iFv-mLO^cu*2S7Mt^jSQlf(EuGR#HUFdx*kdVoFNO=3~&R!i%&@L`~& z?F+KT4Nv)6QL*~ONgrl9E!Qt&N3;K~-=83eZRf;I@afw7!!?Y7I>-^sxFIdbt-3p< z3QFc9lztG3vYmn5a{Ns-I&}~T7tEf5LPjr6&? z9CQcd)#boR9tQU|uzEzSrm+`A2ZySxJ^r_t5l#a!q48gfQhK4dv4p^CCx1vgG;9FTu=6<3k>U= zqU@29&TGoBfI;NmSS86>4@gbLmb!(7g|%lW*57u6)Em+vZ~@3KA0&pvDMLqRM-LNJ z&H3XH?7T&+C^{D@1_WY4&2)U2#Sv0(0IowGOpSXdcC4{3hj9a@#Mfw4mw34N7O1&s zG~o#8-ZVBm8Q;rrzBIXke&z6DqU4*(9tTVB;NR3o4I)NAKe1FW1X7~Ce+Q#$PB8xl zh(#OUR@Rrb^EG{F7%}V)SoFao1R~~QIUM5mwsk`v3`)}pSh0#YjvDRGpgIs^Zr!@P zL@!p3P-c>C_Vq@_Tb;YDC|r?kOwhy8Jx_`;{|O>gK!&brzEKKF&1f$4=;#9>quMM? zWC=|8b{z+{&r(p84Me~E)&Hu6-Rwff`~eOF8dlvPDQ4y0V9T2KV#1PuB>s~Hx2xxY zhuCdTyiT?Xe!IOmJSn>K{-Qz}!dP!$RJYst%1Pxfs}u-bK8fk+xntk;Pb(*Zg|vI| z)(4Bu#&Rx5GRndmS^U}{?o&FYp5kwrAlr6(Yn9)<4r*;&`V#J#%gW02yyd+e)~}qU z7U?7D`7uQX9seuq=X9L)AaHI~Qd5jY7_E+%&H4*I`Kf-g`zIIh!tt9%Vt_cYs%#oq zok>us_PoFF4fYra0MF)X{3Ae~-T!~hCJB)D()7_H=(jk6HhK zz}YP*%L{Q8XFkWq(1;(v=!Fh2Jn^~0Ol~JdWib5^Jzd%(4d&QRxx|J5 zxHt(JiRC;1<3^eVs9>iF4hIhuiL9b5Nz(C`P7F*^E!ZHZ{(QHN=phPb%r+ zw{@4N-M8#TQ!USW3ZCSy8@w9Y8;BibsjsTB@g}PwFkHQR{s+K(V^mMQxzWzoGf|7& z2|N}+Zi)Ld;aeSwYlp?6|A>M3gVigBg&Jtr=-C%UHOttkkHC;^^fhes&iQl(kO%v; z_hB@*agkj&kSdq-vj*n5Fm$)^^*mDaLV)MGk+0Prm2e8AwA_Sz%@F{>`8gl|B&Rn~ zu+*9FV(5tnqT(`42FCkh`UEiQOCh%wQm&4R$E!d|cYkaGAzt8n3y8cN(qB-6&|FJ~ z1vCx7-POE0qbsX0y&-odn}wB6Ar8H(9jwsC<^?2h7taSn>ALo3MRX@O#qs zn>KeUNl+CAkG_FJUrslKVC9pNa*w_{BR@z2yD_cud%@)=;4!F|Gmx)r=lnDT^~DsQ zXH~u)`&~6MDj0?rw;>(+?rs1Um~1vqpCXR8(J6C522fE6*bgvnCIv z)&7im-$1nCm?5EN8bf|LP|{bd!&>@ai=KY$ryuuyV^bjbP_o4%?(_>hHLAyp~`o3s-*sbsU7}}m$i>C z2!$Oda6V^tK?BYhZ|bkz!{q^;KXu1hU?MF*I#ZqZ7gQ)*zyz77LhXBPP=v5_q9YGp zYW5ET8&TcR_{+gK7W`ugOQiIk!^{Fu(XW>>%*kPdw@QWhnUK&Pb6j;@lUjr<63P>H z3CtP|pskN?QUtT-fBHl!wGEuO$Tcwn088fq|2_d=Nl+)+Ff+jL!jXg|yWR}do#3YP z`7uKlOIjGh>)&<5wC?qB8#eSi(IW3|L|?P?xZurJ^Zhc0+PdRH3iwV)!N`}sjSnc- z*(!LHMI!w8Y)~JR52xBXxodl8=V1AKTd_irD*Hb-9Io-6ICf;+;<1GITL?7h!-8=s zR|q|kJ*E&I^onx0Mc%^m6p0=G^7#??AZ?F&?(Cj@>-``!V$+0@PDTm*R1=TopXBFF z|1Q!8a`CBs2QR)O73yB<8yj&P&-#k)iwz|{08!=VCfVH{%jupQM6tt@ZA`o_J88xy zTuf{0^1At5+5sYX5v~+2GzOzAedJ)#THCiU+U#0<$&YLV3 z3x(a?0~!O2SN=0`eq}W=2d0Yl-+(b=PwGgLK8pgf<(J&vF3tSKqmn>5u^@F3& zq%9Rz0Jf+;LpdG88@%BB^^Qj}lp(yRfpjmBB;`8$`fiT#!WB9nd{Uo+?!Z50i3$jE zo<3yM3g*;P&uk91GV!Ks@H)9Cl1(LS7mhQk)eA#BC-ioY3lw5taij`{em}ICjo28Z z9^-*!nkV)$<_OBZ$>pf{eN!ClS)gAy`C;!=Xuzx{prRW5Nh1U0Dl|S<7q5pWj5qq* z>kHA@5!Gm#&+iWWS*PK8so!-k{o7L(Z(}6C`0~=*Zmzjy^xNHW8*?{MJ77%IAJ9ol zgf#+KCF|B?cBo2XVq)?P3hy19h`+D+LNbhXG-nY572*ACY*=U3!y>)h0);j$NFO3mJ`JjN$Pb#Yk{fWw#274D;z`vn zXZ6%d2%c!^SX8(ItrnncvX`c&rub^|NCI?B1T~b><3@j>=?)1tsd4xe?c*c=1CQxC zoP@=N=F-ko;SK7zGl@fL=>6Ld;~)X=s#*m91-X+)f?b6Dzr(ZDPzj?+v~_L5Xgv|? z$>BAaEhxyL&b-cfJ0r)4mW<0OXlk(xmx*5J`G{i?=YiaR-Q z$4CrnxD{0+Fuk<2#cj1MjImQX5zD1FZdWZOKJigQEydzW;8h;Ehx;3Y6BJ_SH!dy( zu)iGy+*5qgOKoIx%K{Wq@z`kg-zYPx07yBRA~MW%K~?$z?sklnPu0FVT_x6Hg&Rrv z7{FJ8{!6K0v7jH35PIIwXXA#S(=WGEtuDGuG@Gs|x+7~)r@zKuKZFDE`Wg&yTT@Uz z41Y2RHu`g8VK!a;rG-lFRza!D9xCY~1e^4?;G1^znnM(XCqc z;A_8arGtRGjW7KP57lmOx>PFZOEBW9I7Uys(gdVTdTT37@q^D(AA^K2E}?ZJw@^op zI-JvDaNJ?qoknyz;pbbfyMXx-8g82Vy?AwTQtkW4#8=w!G~5Qv*%z+?-=N(~$ROKZ zoB?&+{M{Gi&Siy~tzG|ov?etOjzZ&Xu;^vI;~ZZ;hEM%8_`g8C-DnWPDcOWb)m_1V}1h8X$gs`*YmV*!8Ub^e{Ncu*OFb$ zDIcSt8B|&wzl+~)bYIz>CJWHJx}WsgiDaAaZ`!o&$^{U7g z$w-RZNgvk?i7}R^y%Znhs_rd@|5!7OTEVS)a<35dgMAs|=+Aj4ivOW@CIl=BrDckA z!~HAzFhd?pM`FJ(&Qn?%rQo7j>JW|vf7v8QYbvE-;1z7WDE1F{L`y5h%OML~g_oE( zzjgmbhKJufu7Qg}cF_-n>upS8#@6thyW=kw&Mzg$D;}g-beID!}x+{~G0(7cWX- z^vh$f2Bnn$=?i9cP`nBJ>9g>WI8cf8=g9oNzgn(5H_h$TF0u#+SIzAp5mJqD%r9P`^WkRi4MzPQVFHLo=46N=a>WdP z1ZOuv2ylN9Ld>+sGPvi)wHC5?RZJ)uTa@z1;x91ha0zlJeFXk%S%o|4w zDhs+%>};BEvzoJXK^7%}m-mkh87VMk7tS4ruT=3|&lxO>)_>5Ev~n! z5Y(|PGy%$f5SYbW)}1;hS}o$u^EI$5SXx|E^Eg;pUWHC_l9Lh2W}qkitOEI1yeW{%mIaqVUwo&Mqg_G^$9uWS<)_t_wmnD{*egtE0u-XlM_aWRE;t7m;3`{c%O zaC}_oO|z~_>}yu*K3|2;fpNHh(1G{L)in#Qm=&mFNZ168ClacsC+1v+g<1~S4ef&u zT9~+G!sizh&g0oYRvxaS)QQPaiToIP=NdI&^viRpGowD`sHD%MUKaBH427C`ouE>k zIy9UgM_*t6=dk?WUBWN^5o9kwK>PG?bk+CLXbbS4sZ)Cs_4X{tR1f0%tOHaQpD>o-76gUVS>wUhKn;=kiO>|IfS+~G8!6S zC5k-6{sai7d-OY{baG__75ZHfFL&uv#9MwZ?ZU~!#Jhiz+3QlW)NVgs_IUAP)bIL` zLDFxB&iu~Pfs`}jf3yU&A}jMA98W1Vct{&P5PbRVu&`ePFGn?u^4}5j(wVQp1}kv- z+CX2LiI_sG2i7KMCXo(iP(rchqn-L?o0C)gjb;*0_iU5bNm5`CIu|$hLRIitYo?g) zaGus=rD2sS@3GgBn{FK)5J}zI^JO0gS(B5IHMf0T`}GcL2w{htXG^mHO{S~;=^|^p zma&E6n0N&&P+@lo!n@ynmHN=VDAk)P(6XIZkkH8kLxA>j9AV*&F?NlSP8wmm9}&ZI zEms#yJ1dIF_2A!^yT8A_kD-_7?Vp0eHqFhid@#D-Xa4W#ei{Wsdw5|T$d-0ski9fr zWY_*hU=Q;#n55%Z`qTRcqUl6ZDpv=|KYlj(7T7daHY-na>q&t(=pW9{4)(>-$c_8x=Kws0UwLRLtEceK#KmAW5;lzKus9JQzmp z(2A9;b^&tYt_^sqYG`5W}hI@x?{1y;rgFpn~AANbEwj%&_8!nRNOBAROtYGQY!y2G#1 z&!s|S6nsV&an@|&P6y(CpUoaW<0@ET_;-oz*O$4QXk8@>2a2-qb-*a-Horo=ApF0y zWTys_Du1`vRZ_B$*OSU_apXx3Q^JAdtkoQ&s~R>qb;+7b7D+?`vOe~671%b2QMrRl!u$Os2ycx_r_lEvIaVSE$&HQRE2xD?S& zHc-i6P##>p2$r~N?@4_~V@bi}^J!rdRL`O6Q}KJWb+0fD4g6vS1aE7xDi}8PdXS_Z31Dgf*n~cM{B$s0)_fr|#WZEFy zmM)s|KOWqf6m+I#!+pO>2ysH+u#}vK?t40q4g85!ZTkYPh-ly1qTHb-*Z{q5l3~Kc zrQ}mYH3+OlEhhW%_2qBPd-wi2FCW;R!Nx3lZLA?|Y7QCS|5jJ`>X0QLwGim8ud>Tr zx4*xlLtY9L_-R1;&4>PikNWu^X_lpAENRZp?=9GE=fO)d30m(!WRIZjg-Hy@&>sCD^LM2!={P@wthZg|$!)4mplpGK;2jphmJYmkk;J5f zp?p%neymScJ*`H}djtP;_<}|}Bs4hG0N|0oR_9u!`+FX1Gv8gGXuH8s`VR4mLJM0N zj;WPJrsgmr12Lxn`HKIZ8-$od&R^O44-Y_USYtewK)a!Qzsy;|LFT;a5V`DVsUo$k$7sAU%pr81|ZCi7VLv1 z-F|-|gy)(bZUZ2i-BD{-uJ`*F6T={->b5g8uVLY6)RS}-pPNCJeFuJK2^BS!R|2}I zDvd+AUAkkj+Walm76%un`?*I)-3EMvP$(A5eZREz1$zqP6Jc&aQ#zr(%`{-LS=s#~Q(pu<9S0T2hO0me zXWesXI$)9Vvi$d1I8H5^M!RP72g(O{hGs>GV%#CfTmXRoA*dewXhHjggq-_<&G^qe zMl2aillt#vLHy3Z2p_Gqy`A`v7UOXepK&kxpoaaQ@4Qg07Toyn+Usnh7sjhPdrw90 z9L~NTsb8Mh&xR^0^qy%NcfO&v- zz8n7duPqq6e_9jwDI}eL48J1#^>R>mb9d1NREunBkDDqdf$RP#Z?8{-tgIFjeflCu zySUhC#s}M(Oz94<(Rqr1!RlQKn5DF*W*IM>p+53h+%h}|tSI&Uqc)pKeQ%+))<>4L z83g4?t=;oYtj)L7LN~>)6iBDX=j_VXC=vn{DDl-xplv65Jt6SI8tIk>2&AglF7ivt z@;~BH6N+dY1^W5H3X=ab3T;83Gn)Xu6Bt-vr%hyi7>IT&QU!TMG56JY^L%r#f|P(- zP%9=ZBIY+l?T}rp&qmBhh0DIXZmR-IS}(V5@Mx;mNv1DT?BUg|_I2QXkzk9G9stca z1;|z)32Kd16oBdOV`7F$c(QCXAdd3)zYp6utg2(;+I7Vvb1a~5#TH;_jnU}p)3Dc$ z+jkle(hI%?|1S?i6+AXjC(sFBwMjNyhnRZEkifRWIpsLqG6sie(U2GuKbhc`WE#Ll z7}b=BgYRSz(2fmd{HX(fe7P( zGX-ZKEiJ=JIkm?B4|cbfU{QnOGeeIYY9=1=i!N;u=gy|>su%6Pfg4nb{=i*KmNijkPx z^)pUrM;w2JO92AT;@sPY=f4YCN5NE*nBKqwOBvRX#eIKf7RCRfiPTf5WUW|J>(;; zw{9WkPX=8mVT_(`)%e}VU&wpq(Po!ddcs76@WAyI?^2tHpxi%i|3rqkqij2h@=kT$ z4s?f9xLOS5M^UcBZQ8rP73H(>;fg1=BHW^a-~Nx?dU=Dfd8XP4J-VDur9wc@l*%6g z%m)g|vXIw*OVg$7CM)xgwk8eIGg#TE5#oZ(x zjl`=0yN)jA0zqbJ!*u*G+OI(C(ArHcvWO|-3s*vA->51MK_H!C)WXjAy z1eXNy$A1J+boK^DVLh!NHM;bx`K!N}7TOF?%>VBbGht`i=vX{8_v_8hbBMyiVHPsZ zh>K7+t#l{(Y}TM3ov+s0@Ht)P>NM9C+=OtOXos~6@_b^5b%{u?wM9W0YS&O!FgzR- zpui!*L%tzC&WhO&zy0Hxh&yEQpd45dCj5RGlJ2*kV6LF6GQd>3QQ@COS?m;{O4hTs zKB8m)3h_C3P-A#$7#o83&LHpr{019D>0g3LgEr9CBkVAS|7%~2OMC_K*>R$%B7U|a zYffx3tmA~Zyk+@VuIVZaxeJz|M+u-w+nz_<0Y8t3d~FmHj{jn)*`tfUw-UC;=ZyFs zeF=WRV_vXxFxDWW0j1*c@L=*`{lx#xw9><;`*(t|fk;-0KS;;;&*}Jku z#V@pqM>aRhQV}()+`VW zO&0unqN}c+D_UP|(&G4q@2+U=hdVOo*T(LA=ONo4E3*Anc>DbjzU50Mu3q9a4A!k-wU?hg=>)Bv#1hnz4_~uR{S4f775*!_~veG)0x6NGZwp8%cEd{&9DY<9Tnm zkej$BMgw8eJsbA?0-X0b?VjrKZRzF*ImBGZ$^Ss&(44R>*ll$s4o%B z2B~MR`)aMke}+l(4QVSR^_IRLNzKhYIJ$PZZiyGli=ZlcZtEh^!`A|udd21dyCgV4{zYqLjO5f- z6Zb>DKRM#vikzBaw<-6kVeY0r+ME932}}qW`lz6`MI>*cDhwZ!mM(L(7IlSZ8M?lq ziupeL9y;BVAnX9;f2;WQ#hx=`SJ_U~{lR@NOUb&JFGV=(ea;s7DG5LaGZ-qbJAV9dPG!=QfcK^P;d*TkjTK(A_4M7(^Q8DTX?zG^ zqKt>RIdMo10BMhTE?=(vFuSzEr6G4eV2e^rHNB1LzgGf(DiBcDo8lUezF>7Q`j(L?q7J|YeI@cN$uztM#fA3O*JBb>IN-=NsD^n*RZ*)yW} z7H$mZQ^qG^IqWXDein%H5ge?Cspm&XAp-2}$?W=d(&e@jrafdADbDrz@XsH)yoL0} zV0T;4Q;>!y)?SUeuOhavb0bX);&7@@Sj8#9n|qH&R{#yUb$ssk&MwR4K3-k9#hb^( zvVZdfk;wVc;t0$uzLwq#kEY{5oSN)~@KGU=Dl(J~0b%nWa9_OYi2m(9$p+|>i>ph? zE0z6aL9gAQTePdrt47?e7c(6h34IJn@(TetlnhvJV!0Py{~biOYOvY_U;ZEL!^ zL+SYBfuV>caHy&IPDGh6&)2>~Yj7}ERHqoIfcrF5uu)KcsnXlRPS|A&}nALD`RF~Dv%!^lWj;nuv#rfsRjZQa$ zmF1Dr^{-nac;N{>-c%|FiQ_G%+^n1%1)!pX61nb~7+}LAfk`!-t!Z}2`9P3m(v`#= znYeS!NXN*0J*%qC^6bJIc*rdO6sAmE<8S0WM@aN1MV$DcNVrA$lMTJ|f5kHFDg@PU z7s|RO-!-J`$LW$sCfyL&MAv|VjEum}HeTepbv`tml@JELPC#!KRfWrTgx>kD!% zPj0PR4Q9(V1zb;s1$Kj5m6P8J%4&9QKMFg{6T{6+)K){_pK%_FOf`KF(q4VP(1Qab zVN4ag&e-L`P_1Iq%LNKibC&QqOn0YL(_F)UB8~L;Hk7q{_n*9K{;RN?_)Fn3!?8VX z+u}qg_2t9b9v8fv^oGQ_Po<3|3#Z)^`p=~79gT0*^S(bv*64H9r&{jabr#it>T2f3 zas3w+y7nwbV%DC>`E0XQUp}dS%llYBpgOVBA#ylwp?0rvvOtI~ zO^7a69QlpUWoEXh<7#J-fa~@ra;uzpIxJBtscF^)w+yr^x{3&aKzJA0jgN5i=Ryrh ziqX#zY;zH*RnGdkd@nB^WdbJ*y&m@>PVGHFuu^AmfkHJxC@D_bMa zBC7mV=+97AcB-DGP8q9PW{J;;eZr~_gfOzoVeLLdCvc(9#AjjafWWOHg_j%>Cnb%_ zw+rgO2raxlt|EUsn7gwP%P1Z83}TY0R}QlpWs@%?&778isrT4LrG?=Uaz`)GE*8zf zhW8aXQP{C4fBky-)0e}RTT6Y_nRM10+20ivtG1-FdvAwUk}Bls73ozuE?t|e|F|wi z=Ba!~D&T?r%&+4ab4jGEW=bDOhpAKCFnJ|vQkr~lIelyjP?xYqHu4oR%0#qJG5k!| z*`aRU7zUlc!|S)*H=)y(h1BTzhoEipOd~waQ`X9$2(L8~>ELiCMxNr12N1dvPFJDBiQb z`#BO&RSpP{$I_rz*oke*Sgo6s>&^=M*1~UYB31cBE}7&QXBU_Et&RlGoW+c25Zv&M9Vx`XdrIr$5@jmZ3zQo%)y1TA`>F3UDb4bq?dPE+m zyPX=GAUg1QfaMNN#TDWIUYMmnDZZ|_j&3F&!Av4Wr5hp|-GkY>N*@V61GaT@^5z-( z8kK1-&GHb*XMe$2Fw+}zw~ad`&E zv!$Hww;|mx%0i8~1OE0jP^>o76Qfq&tY~qJ_m}{?{<5H`q$Co^YT0T>c1gcU0Jx=F z$n*J+j#*HvB>=tmrkdONLwlM*#)%sMmq#-@YDcGo8N}p^Ic#Tg-nql=vTw<&PB;pk zJItUs_{*Cp-ad{+8lr6=Z zbQQ13a@Na`=R4RLW2`%Ldp|ukE?NliHkQFqDf0LJnh!9gEs#M;9Be9ErxEKR3{Gu8B zhM!N4ajm)9k1G(Sg!rC0_;R;S)Vj@qvpQLyL+AUVt1D=+O6Gy73cKqy*=jl3btI_~ zbmQq2k&_mhySGnl3H{dbxxf4lDYmZ!UFY`VW_OjO5Bp4b>}Q-e_PiLO1tWTr_2^_+ zWoE1s-Xp{hVeT7hoE}matbe?>=SPGw$!Xx{(;_{x!l$*neV6Va-V;Mka#6xR_0?oEPSw5TG>t6F#`n9zr)tdcoToLvp;(kvHwxQ6S>MUwSeS=O($!X)? zjfZE>baxKOEUe_R4aD46=_R3KKYbhLus$Gh%I=5CLKIM&nsPbjmeYOjO_kErE_M!w z{^sY2q2Dbr&AC@Uv8JUF<>eZbMjQ$TAq22eYBD1Ke%~$RbUz3rJ#Pgu8wi@ON`jyPvoM-d?2CQhdfnwXoz9uV3a9m?T%AfW;<@oL ze!}b<*LVwU&|p{k&1zCvm4%lZ6czcitd3Mt+mI`)jh$%qJg+UF9;blUhTi%y*{>S6 z_59&Y2o7ma@g;Vk94cEKi6{Gk)c-6GOucba9wB1c-_DMs)^!gP6{P@<{jY2@w0xWM z%0Z;DXsa)Zic8zGFb1_Rs@ydNrPTFF+fQq~(CnKdpYUj6@zS1KldLP6H4~HoBSQ)R zKVM$hUJ8Cz-Zm}%G3a256+L^X?0d^KOO*Vf&P~F5{q)4h9s^{8_4<`u38NJNHI=!9y$XzF?mYX8=bTan~%o#usCz$nc89Wfx5{T-@w@%UhAB=6&|fE~^w zH!$HW^;V{`(~E~wEvpjTkxwKN*04%qt93&SQes60&od5ACO+%;sJi($L+13v!=dqk z*5vSG^PmIObWcqE=~-PUiks^;e0G|s>Q%4qbbjafNDZ#bsGzu$r7LGUz6iNx(9yrF zGDM5*!Aswh$V4ZEGjEv8gw5*#UDAYVMXM5SOp@%Zdc6~YCXyI&bV_1PfcQt7eWCQX z?)Nma6w2(t%!~_JBBw`z!*7!{l-QIDzuM1Q1eIsjwa%{2r`UZsQvV)%ja84a^>BTt zP9YSb^qIG)N0nx>rLNX(+pjV$B&2Gli7Hh8U1-Z1d`$e`^K`<{U+a2vwcpBw(Tj%d zK{-Kc(%;{EMOVoFyQ35c6XkthEA*3jqP7ey25Qo6&2JAyGAnJXkDCTjaU>zjsSvpq z!@W#Zi{7L*neuV69BPTgV4k`k$*k}hY9BpzOW{(825*2&FmC6>mvY-gv!5SOlQq6jDP}XkbVXy)RkyV2;!Xas`^6?$SAn<9+w}T& zTYrCN`hLui?Z$5L+l*X`6SO${u|1%_AsV#u{yA2}`tPM+=&5m7nYshm9PWrd?pfk9 zFb1U%SGs5Su|E(W*W~6z1wP_?`}cc-FiO_)WPH5+iP0T1bm&4Vc0G~WD23=7YH^4~ zdWa^v2x_Uci;lXDlGPHK`pso1n{c;~7dw9ErFJGg)_mESkV+hK22n?Gb`*iodiMI^ z1&rUFJ_#px5deLj{@q)du;~3yKe815Gvk5-n%f#kgY6o$dvBe-m4~s^_#eBG z?=E3`o^uP#fOYn5MX}n8j;Xe+ttARn1*iC1R*z<&%1jE^ z&cVX1T4=;TTXy={vb)slRCxT&I`|7u*G9?V6=}f9GXx$V?qZ*|TOzV7F6E<-)YDp( zL=95w4p}Vv_-|5gXnjC4qSqE;`Af3Suv>l&r2h8;=gzPVskeDSx8~XFqgirp=L8G`NA-vDdx3uS z%QD*pUi&oj0%2G0Owz%eZiq(ud@<$WX%Xc?c2Xgkxy_ILA};r#OD2V@ znTgLNLpColGcz9#4Rk3+FlSaolrkws^v8<0&V3qw3zevU2utM&!sQK)#-~}$^T)Ur zLJzoH+8x?HFU{J2G|P6&e|*C3nx54y4?@s%&4RjS@5ehXG@LJD^DB;Lnzp*@Vn~OG zH6PL<{+-?}Btv-nxsMbpd&H$6|LkS5+s6CUpiBGq?M=27SnceT^n0EktEK2iKD8O8 z;bDi`kIc-b04j=2Gc}|I&7;EP{X>yns!N^+>F){4PFh})cIVJ2)Vl5bNv*vt>Hf`16A)>Y=70 z@kqau52!6a#bj0|hC2d0sWXNfvS3}3^E0JfdcEU zgJ4yBY1GcU$7Kre&i}i)>HclD>E}+eYDy1;TF8MN z02O84hq&BO{R!bvTOvSKSWyV zO|IM9+dp1A|HBmy!x!q3p%#bT$Lc8IZ>-5NY=({2$1S0^mlv*~>XnWS$lMFAN2lh; zWQj_l-M&Y#A}z7#W6Osy0LtS(An zM)A0b%pdA#v#o}A;`_FUsgG&-C0SN1Xk3ARRY>ndI)U$)co->Hw$JVHYE%y`0!fkw z7kRS&DZIYDRmeZ&??8MN9RbQotyfkXEXXFOi7^p}(soE5SSBrc{8By=#vAJ8G`O1d z^aP~ANILw^I4CqU)Y+}F1LQNoW}w~r{2};@bkGe>F^AEAE&zCj`(JHd?ux&M4tQJb zn9oli^hX9Mu1R2z{4>(S=3Lns#IuU8wm)(-hBDB@85$q3-<)5s-nlL0%IMV@#{`~@!PH>i zR2>z^mHwuzPDBT!v;=p?32m7mSL;iyF_NHyp&@kH;J~-8zye^YMDw)0j}uwbhJC4`!8uBLhswPQ;nb7 zB71lfVw-oi+_-D}Tl+?`2yLm&m~Y zTS5NP42#>$91NzQ6{H7_4~}j+8qsVe0wwffE2N*NTMxgf!ZPJTuJuB(+15+_^plh0 z!z&Cgz-uMwH}^Y6X>*>6Sh+qqtNf)IIqW;jqG@Ng-yfyrtpi; zMJs@#^p;5Rr2gxz*oeHr_)21JE!DJpP2aW75`$IEailF-kP5!V4zESj2?5bk2p7j8~IR$>XJI@KIN3>?soRC zAd4Kfg{Xtl+%);9c3EBgwM);K)$j#9vU7B>pu2NVHbJY(X`Lk`q%F6~260J8$o=25 z=AfP4yk&*WzrUG*#7(bGh{`ewBISwm*DN2WVCq`!ZjaO+=J=K*`=#mVo z8d**j?jj&>-Be;E<~;n6FeQ z1xaX*$h5ViSXLIDus3P>RDXK6WFAYc)nk{1$f@cd2Q2Ff)tUgZ&2%&EJZ{erQl^+B0zTuMp}FsI>w+>;SX1J; z`XhmV&jPd6?k(BEm!j%pX8F)?)65_3SR4%|&&r&3BwwW@T0K{5c%{PKpZ}!-HP4?t zO2`#W34IHKBu1w-!CU3Zie%_m$h1*m&{8or!l+OUq^#x9!8K_+u^pw!Vd(GSb1s6@ zL{guAS&e;l^v2{UrdF$OQcw+bsFEtgX#C^-Eq*r3zA8U32TM5}#0uD@46iF7^$&OA zdElbwfZ6_KsTFc?3)D2xfO|?u=W3^eY-#dHfC}+%9S^=BrhRam*^*>A9HG7+FGlWf z%ybMDO}v40P?JPR#*kZny1M<_?L8ejs?yRTA3YgNw~EKcDLL#Y?!Hb5u>eIYiir?? zAOA^C$5N?)%?P5yH-*mhof&gl8GwtwwdaA=*&$&0J?2CjsIDe(Xg2 z2nKYwO~KI6V;ZSK`4}cPHpnvVk23!ZE)2Px0UHMz_V?si-aPFRorJ{1rZ$#DgWZ{? zw{gNYXzTH+CM~7l2`770B%GHYrUvkrQ{j8S3uFqC#vS}@C_6PU|I`V8N}Ytx^)>}c zQbHrBsuXPviJlFhaqHQWdGO^80~v79VclKIh_+akk`saJv2e*V%0+jQ@UZ~79KF<+ ziLLhnt?f{*_Jwie*=c4(W|bJaeU~*0qI3Ah$+-TV5*Lout^aA1aJL%^3y5Nst92z4 zu3m%G57XxDY)R>G%g&UaWj4BIxbG}gFUr0V**vxFl@FjgJ;*6ooyZFm1lzzpr8rx^ zhki^@-fs9!(*I5o%MVj~^zv%!<)3q)UB(sR6zN3jYK28yc2`VzOd?@Uky{r&4yrdn zr~U%h<2=Z+aQ1-MrrV6}Mm%(L?6BkYQI;qIHBMS}u#2-ZO>%Nu1T(69dp`yF-W0at023O z3l@F!za`0*+t%wfBP=mivHDgjn9|!Kp1Ivh8S;suF_wtJvvrrx!ad*J!x;y7gIM{O zC;FEFGKqA+&fTNxN~T!){gW!|LV@Ku=a5^sbzf({{y)$_xkHS+T72eU2p@wm5X=g`-@m@^0x8Avc2 zM0y~#l#f>-)hGAdxpRw`ve1HX0pBVqEcc~<{mj$vw0V8_eeYmejWoT#^Xm__x(Szs4qt}J~*}C2PwArM! z6_sT%;Gicu{Ni`v?~>(`cF9Wo14d|6fTxLdf(E! z)YU+U4mMLkkQ#85mz4DR_Jb%=R7>DmYYa#I+|v+@-f!Y=lZQ`RNMW2LP!;H@Yt1s;7B2qnn&N-dq;O9 zQP@KkI;HMGTr{a8Et0c9bG@!N&EoB>SSbGh)+aYxhz6dx_a7_#bvRZFBo)LCn1n6B zpZ^A7$>kTXytwcHE=VqL%FYUm8@7aY7<$o`PelXhwq8-?7$zH)6H6KVYWQ1reiE&S zr@KD4058ZodVM3+<8h2KkytYdI>E625dXNxKD86)r#fu+^#=R)cXuaia@u1~f5+Cl zL^e3SO7YA@`v`)V<(ia~RINOr1kxDVDetufQgsI-X1;Len1arlKkZc4Z&KX31MI>S%&2;-JAY( zes->PTD%vH()FhmD9itw_Tv$r4COapD5y&&9sBNNABn%nS|AZM0*=MEj}V9yA69A= zAoXBAiV51-?Wbi(5;?uW*crwd`8b;*CSzdDn+O0SHt>$=! zoQMB$?F%Nh({m#E@WpJ+Qn~B%zEmM^5I@Q1>6ZSX{3M)?HqUyx7?q=rN!{;De;W<6 zhPDNq*a*atF8YNdTsUbevl)^t3E=sYB`)86GxyKf{|2Xz!F6WE1UpY9)ZLzg_1All z6vKNT;jPRJlLWK`J<^}X;Bl4ST3xD2)bd}=Q%CfVDvda9CIQ^W~Hq+4=K_I#JjLKG1Jw8y1AD$^R)7)d$SrO&B==)+vqj6FNV^@=xYc zQW$p50(kQo4oWs;*%}4ny$U+@;}szthmv{pR8)C+CY`g!*Jq+E8b{`{l_RBC>Gvd; zx7Rh2>#J`zxb`O-<4CEGFq~X_U4&I4|3^KX+frn{oQam1^f{#!fHPF-4SQo?k z36o`imCc3^@hs)P$N#pUETAVE84U zqUcAlSr;xYCH8fol9$zW3L_vswzZwILuBpL$8T;S*(?10`K#ETNy}@exE-q9#Ax=&Td$j=KBPS>LU!j9&R-a z=2#g5lfY$sq;*_gVtn_u79~27=o?R;Mm*349$c7U@XpV$2ihfVFl)?r zt&SF3Vo0;KHkQvAP~y1B?#V~tk}XFIbAjS*4QuqBJJn0F_H zSJ=Td+1c5<1jO5v_1zAk%6l!fHG-yF(F#BW%iI=`I3^3C z;YsQQ;jxot@#cM|(px4Zm*AQH3PnyTpyX!+3B7BFj9 zS1r-7snsj>B3mQ6zFG;Nly@P1!sl`rlKx-(L2q&hy6h4+YS0z5`$QWtHLeG$N(#sw z_#P{`=NrZ-#6QJ;HO7Yx4|HiXhipXGpYZ2bpHYkxRBl*${2N?<%hXyXC9B-2j-=<|>K^@I++`f(H|l6+Xc930J>is^X$oc* zp?tVIyn{?1VhW_f9zccoWuuZS7*xZx0k{wAu5p|MuI0O|jcG$}=>e5t4%#NCI~7Mf zwQNx1%nm;5XqaxKArdTjeW|XluGnH$5`xFS)s>^g>MvaH?DH+aR0bsKKPcIA!EO6< zHi(fmd_ZOSXo?e2^c&kC|Hu;NV`?#IEA}r8~*hAb3`Y3Qj10hNyPWbN< zNqoPHXDyB_&G1xI^v3|W=zDoQ>m~hc)u(=g!4zhIIRGOg9;w_}nn;a#VlyBXktxlv zG1C+S(kU6RTkVu`%tKr;o){#j6TCDh)X)7L()g%D>#t#(_flEEIxUYhkyz!>t4(3+ z(5g5*{*mrMgBQJ23x9^WH5>#X;@vs#e9$wC{Vb8F`M*lpXE{w;oZEmtLA|O_O=o2& zY!acvFkyard?)w(!uoO$tuJNSpUdQNNEQ~$3B5*M$fa_H_-NHqSqY25vZ$4j(#L5$ zv?P(yrw5r24D00i9UY=BP<1Vv9b9nFl|F@83}W^o=(PUMFX5Lud@F-2u*beN-O<0} zcb?ejFnfd$EQ4h#BR?cBASRprK@^*26l_T{xQjO(rgKDnKgzYu%SYhWnOO^$A2H zLOFJiJ444gm}H5DnL>|`QEr;)iixfff-Y}_>TOpoh4jm;&sSf@e@;^HZ)8jz7y6C9 zgDZz0D|)u$}h zYW#}9_#F4hzPRq?&AXBp@0xzOZ+s_2;f8X$CAYrCsOfkWcQ4xPE$x`b-i3Z|e^7k* z2g>OVgTj?gxu;T&Cw23|1G&{LHcj^BcL~rS8g+xSQ{a47p>gP%z8OSRyjj?_0n-j@ zIojDZD0<$DefA&Xv=$CNAJcL+B7oIn?IMPeJX^Bro3ClF-lD(vZgXk=%a ztzn>D{4xqyo5#^PveW_V!8H8+c(#}RNSSg=PY+ZJ9~G;9M84U|C;$!sW+ zfif)y1D8G-+9fdhC6WWy5{q~qo6q9J6s_-$4~450VaGCCEDQ%Pu32hT3YLE`J2eMd z$CXa>%GB#a(fc%$!i%UUTFtPb{pwy%;S~_*0AVI-s!g42ypbVg4s5BKG)SQJ*@|X= z_0Wp+7m2qDz&?-*IyB8^n(v;X9w_L5Fb*uDPeT?;%#~2Db^Sas-u?$$f7@%TopvfM z01*7u#-dMh!YFcGZLtI>#b$4kNIa5Io}Y;NI?DK3VhCi-r&}B<@=D9zLnF)DD#iKxt=QAh? z@4}RLVM&1)(a<@4_oIj+bf-@nAfMmiwQNv zFVH@a^NUsgr=uTZJ)WT-=KTdbu{b}Ul8M%N3+gtM#9EO_4HNxT9H`3FAWv1t=v*{j zh!{k>{1B8pfd6(;0W;15^h|H4*Ws#DTRcyFenzcRx2+4*4i@F(60WoBJ*T2jnReIu zNQ%i3dngM(w=+q=1NR+2!fDoM0{+Do9RDQhyG5euXjvW?^ne`;?CuwtsG_$EZgEY~ zWWA->IaKs;gv@&*M-Fx*y1y5wrJLMuDozeFW5b~O?S(z-?tQU6K zyf!m4)9zXR?IVRS`SUl5$tUpxPOo2wp)u&T&YOKZwHtv{9MXR~wI9?(A-wHG|2qsV zVWIwGNUuOee(Q>7jZu}|q=84D7_v#3!Indb!o#@Mc_TUf**hQ6iG{X4=H$H2;B}?( znhN)&h_vo7Q4x(64pEvQup+ztru}U5 zyz+lgL2Ok~4y%0=lt8t<#a8Qpme%w)7P;ASyJW|S6k{xdl)WgA6twAN{%MU?XOt6BZ8Fb_n1p+qIkte;9#We*j*l&C{i{m*M>k)^~G)R(No zucPV?EanIC!){jsOgk|&!ooABLxwMY6^4Je=p#D6^m7x!%}qN+TsEJtth~5Mi^@=n zw^aYm0fV~*1|7_a$S`eFEk<>`tb9FPbE1D?s-xed45VM}N)mzoYE=$zb~|qtQDj`T zg@zcj{ZBnyZ~r=Yu&1K=PEkh{CseR^4mahAGanybjn3ph5A9FSXO8u=I@ND2>t175 ze@2B)*4$ocyWh=}SXFe*THXn}w$Z zpC~$1rmZpl^DD!TXJQ}3akl2Z>UlA_jcd>kv;o!dkmFgz3GM%UnmXl$#g7=ZY3 z`W2OTrSAxEOEf|E(0Aqm(cM;P&iJi!?tm^6txHZLtV+?VU;4)H#MU18rZ`^X-2D9= z3nO3#|A_gyAj2%Wlg8itYdB*uQIq~W;M!8WLHs=honwjtbM)Bq@^VhMK!52=3BPwO z&Td#Uw2vddxp~Q8y25fA!DxnTLm?fKQ(a%AD~he$VR@pD_a(N5%R;qGEe$4P1}CAQ8f31KWk1TsjiF`h5yDE8 z^-%JVkfiBV(3NnoU+X^Dm8e?ls-SPp!V647^gV?e4`_S)C-d;LkIN(t&$h!t$f|0# zDkW|H=@-~qf+w>TEpBF=L!>md*s;SyO8Mhg&&HA!zrk&V8Q8+Uu!My#C~y(IlUQYR zVii{m#8AdpTB;)-`>B z9e4O4On;d%R%g#9Es?U|fu@#Hqm&;Sr+oPD){zrT+HroR1f%~WHSdXH6G^wd1$m&# zxLq3h-QDxs#j5EYmj;Ls?_K=@-B<2p=3Bws^)!u#c#__tH?5gd4JoaVp^%tcfI=HN zmRfQP>&6L8^SsaacbxUk9RepX3xSsZl38+(`OubIfY{CVXGazvb$f|5lDMErLb3Tb zwZ8rGM->WJ6qa$B?>-QEh{S0Ym6GXD-u8B3a-&ePYuj^jV%u?2RPh>xJ?^7EWqUTc zNvfpV;#OD#El|q0@0^^R7<$xVU30SD6K6q`e7Ow>748f}n5cMT_ws`C1FtTfFa54ei^bCuEZKuW51ppe#4p#@kncyhG9 zvG!yEgc0?n?Yo8A9P}UJDgxZY)R>jpH|M>uJN=w$Eg__?@HC$dK^p@rc+f*PDwL=1 zz=v(-vb`7%5_)ZXVs!W6;m#@(C98Tr0ZJtAUlb%Z+VB1QY@=H)3n+m2R3?CalXyP! zSI|v0n4BEAJLKcIN-l`=F=skdjTG=psSL9A@nsHD%0O5*|rs&HT8 zz2$?k%FXwGqEBOY*GJ70nE82m-BBJ$X+~IHan#!o%77PxZQDzp` z%rj-w`n^|8vW;XPF<14v5E^gUDf z02L`#dOjH7&nH=inn@xQVUXw}om6w+lUwbIk<~6VO0qY;&x?-0`|z89X7DS&1s_Sn z-tN$(A-EeDI1KChLjeQHt6q-HLiFFTQz{w!A8pGRqf5XwTy+!FRqgx+YpYl)eD#+! zb}sk(l3Zqd@t(vLO-hjqj00rZW%-VFbuG=0A3ANWtqKTvoUSF-xa}E0UeUtFA;oRT zp<{=Os6FhY$Wsd&n_XBI0s0>gn=Rnba8=){gpafN-o9M2{LOlQerVFsfDHfvqz0n8f2@|g7@yrH1Z z{XpFH>bpk^u>QaxYCLe}IdamrFT*BGv4X?{+_4-625Ze8_LyKC$b6-j3_EW4b@zKW z0#u9jE@yQesE|=((OfIPH1P)U%t#%-8>IwLZ{)BifT$d~xzJreFv?*-bQ_DrSb#jI z9nauxWspJP4W-9rC4XveG{6Iz=)o)|$l%jBVeynNdD#^PW?<=#=)82JMxSDrt&DD> zVkG5N44npYY_!NDKHv6A1zNIAHGO_>l5Hto2Y(Fxpu=pmUK?El+^}fmR@@SFRwgcs=eA;y@MNVH6M_3B`F89R;EG(1_BW`U z!byL_2|kxo4Z%k3?@PsFNd;&Hok3qJm{RS19}dWHsEa4m4HEM!MM~=uR-L!fjUioU zrC6Ih{X00<6{-16Dm1@a>9(M=QDdI?YkUm_gg!x+CV3kWODMk~5KPLz6qVkpB;sG| z;X_{lOF}8$MWQLCS>SbyD>X2v7rpyqq~VkW2zxH0DWhYa&TETE0(gIF=vPOoxnh|< z%Pp)tfFrCOhURS{E!0teDb)@KbgJUk6L2({(K(OGsh<=Ob;C(U#fn$RD2sc%vj*bd zzVQhjUxy9z#D~vf^E-WBkqG6bfAXQMA=fw~7*P&KSlqrR@I`kL`KxY*_GNZ|m0F}? zRo8;M{s=ROm%1JuA2&ho!X$|bk_-Rv-|Oe;JdFfce(AuV_7D$*h#ag9suGt#?9AOz zu#(n!xGt@GCAY_NMqa%2-!;zVxS}lTA#+&=^boRZkvZ6 z=ATImj508oVEJ zoL&Y}@NVQi#V|nXzUbdt6fp`T*Tz4|ea( zE`(Ny)t6{zaLZEJ2=Jf17JLR>twV(%*^DNMk zxx%byJ)exYhfNZV>7t#(VnQVh;S#%ROUu8cn3(+7_y_NBjYaBQM~oqKO?GvCKZ}}x zz;PNp6*kuvuS85jpjoP^Pb?@Txh(dmtjuv{dMUl$JnNFvScN^Gq<0kYk06=_n~UF+ z3A(|FcrRTx>M!s6Gc-?g`v`jF7kJUtaxl)}S7nA;3xv1Pe|nyjXtcxsf)G5>$Xs=8 z@a?k!*-F}D^K-#t|DWhUuJ*&Xr?EEbDMdv^JyfP!^BfKN1n@+Eyq4%8w`GrbYNKO; zsmcRjeYs@0>N~L7b#+z6yIDO+lF~L{Y2Iu}7_P!Pet*>yv;%`j23t65pLu8WP?3r5 zH1k=&E(hxIvzV_% z&?~q6Xg3q{1;eRcagWwjug+ZtY=^dbUK+-SFMsQP0>v2pvh7%*0VKYE4K0FZ3b+Ap zoYg&=)h@O4>rCL(2aMyc_=k{3=%IMXW0vz`M>Z5f?I~V#k5@bd-4K?S4Bidf->4Uq zzSgiOVh5W=0$o-bYyoN@XYH^hziT^Qm0caJU*p`P1?6nr@Dm?+){84&4)*symB&=8EIn6A-Jp45ebi*hj6VXzn2~4f2J;hL zg%uMjdNXVU#s>s>SrOcpbFbS#oxQy*qD)*K1zHa#-Q5*cP->U#d?dfg2#|U2*4AGR zt_yDo5SKI{5BeE=dA|w#QHbLgk~X?LFg?wwL%CA&oD*(YHWP>^J+USpSu>M>e{|9i^8kAfL&sI=j#h_R|llO%z=Lr$A`4} zY*{qWSE)vfm%8A6L7GD+4ws&H)9IrM3t@xoooG_fEV2Vc9WrQ?Koa}#p>Ao}%)r@4 z!&PP_b@hYLAMYr8Bh|AU{7uThp;|i>YAig48%`E16k@Jh2!z-Fa82h>#;DCX|0>de zZ)fWv{R*yNIlt|UX*L@QsJdr{6^VzP9FJoYuO%k*7OlgB^nNr4Nli2JOYFkJgTZF? zCpwZ?o>$kb8+4G5)l=d?DS+FE>WE2yyFlKX<79{*n~Np@piDClwXM=s`u5!4bZlQn z1LqIN@?H}Y%-?Jv{JZ9McrJoo)Q2Pgc7^YAh|ypIZ^X*xrK}qx6)GP7H~WBfil>K7 zzL72y@8|>p&W;JvUlp0A9>sDQ$7WL0*HH?=aGO&5KJ41cELDHt7JGagB_3 zWC>^cjG8n%FWEAH8n|@x`s}1M_(hzZ0ZBkDFNt1DmJPp?PWM0>BsXW1gdUSt)Oa4V zwyyU9%Dap(uHI#r)EeDB7FF?cJ9}36`uZ8fk-$9na2E0tRas~%Y`Y-&b;+3(Yajj^$Lu{R5fq%a=4nhJ1 z;S$ecL)!^z;D@>FkJErwj*k8+i&8x0;wMU zvFWCy{6_uw>3(|*Oj4iWB5s?Lxmu^?{0v2qtDl(XeiFPN;N+0krG1+| z>ZP$ZWU58N9wh^8C!^uXSwlU|#CSYj|F=6ihwU62aBO(DiQMiAAFp~!0>3AZ?S3o# zcnJ^ENG2tAP%MkNmU!L(5x|n0_m=|gRJ8CtD1PS@^F?1$$_%ls%7Q?FC{$5QgS&^_ zC%MBi+}`35VIWHM2BP6~9S(pufV5=ml=A=oADe!b8fFYefrlVk?CpR-5fv}^-WIL; zAuurBVR1;i{K*q!A1@$^(spp4BD}p=tOl&%5_<^X)<7sS%K}=wdo!JsD&6*M3k!fR z_e~N8vc1{at-YdXLQ+fDW6-MS8>O)g;#t<_;KnQ-m4;jpN5^Q#RXx-FPb$3yr_Ztt zYBPR8#SIBVlA!$^Y0zD%&M~K6@=H!m#&~_Wje*!|(CPZmggr{}Jlc$MiJF|s3aAI& zLo~SCWr0fB;X-xxpAuxuFp$*tZ>Uk0UVv&r&{f~bwUGeb98~O7!IP}R6_MIPKH<^< zgvVkh!||gyN=uhE^Gm5Eu}iWX6$dukHL36^U?ebPGUbvXQZBx;fiL4dCeUpe@}7c{ z#2-lGx}wlRQ9^$BcA^^Y0^+y{QgkubNc>UUAm!BG3rSY=6Xk#8U% zc}znMj2Gjg=){m{ys(aGgDt1DJ+hOo>t=e|8Kd+ipqH1ZbrN$E4coJlxFi zBxT7Qc7&nTT=sZEujs`=%iwj6t`k@gpH*C&_NDHEfAXadfZXc=bbWs5cSC)eqPStL zYr0)5{x>HXRZq7@atpjBPIN!GAPruyrY`pA;XQBgBzCk@vduO69)cf-HCv^mEFX6c z@$3~I(!R-K8X!bs_{mNK(O z?hu#bm^1#gce=MY)QAMknp3ylIJJ3m)UF;rdsxxiHbr7!yF0tFN!Q_lAC}(B{kI+) z(;2T8%8WBI!21CIk%F9@yw|IN9wOo2U6vF8IsbnGK&j9#9u&$LR%V4H*1(t}7TENz z;2|_w;?w+Ay<*dBdSe^?#^DZeB|ISUbEG}FBL>?j!|IUrBjBD{M-(%>so=MSke)Qp z;}4RQhA2JBP-+JF^-nd|CA4Vvi}6;FEp&VcsTF?KgOQ**FfT807>9LAW&MBHd+WEV z*6#}x1Q8Vl#Q-G*LJ5b5p)6(yuW8l|MAr9q@N$W}tS6r{WR&X@D~ z==t8~{&4?*&w9@D91e%Q_u6Z{Yrb=iImVcyOW5i7#^;MVtMf9eQJ_q=8bbGEGARW}9u`-hM%zC1yF^-WXoq#mmDK&jOTP57^#-yUCD#xg?Tk{R}VA# zTDVmTXUA=3cGiEhMK$j&KZyQMlXFSGahVc`-nJ($)-m?`x>;fX3Iv zP@&-h;v}PD#+(n%mLywbBOx1jk^dYEvAfWPfi@q5tE=l444)247WIErdYTKNmG4yJ z1^CBS(iDOL7@UNn@)XAmuu(xF*WOuR)RC#T1}xw~@z~y5qu{#wbA($om~o%%$-N2l zrO~70zh+Yj{sh(I}s=hwUc@zkIBmi-^s&M z?<}Q1femS^(+DJ`Bp_|C8x-*9aRkP+Zd=mpJpJ`+I+6ML`H0sDXp7YccQcsJ++P+zEj#IGPLX11>f6r<6;~j@_JV#2 z;_124bX$}?3njuvGC}hb${b*g1=ED-l-W+wBljVwOr#2@Zrw5NbGylFXB@G4{C5*H z$-jnYm{I}OgXY{yOx-kSiR&x0@&<%f0(IBJ0J;l;8ZJ2TAHqkoHC0^?NVWCc~k?HgDz%NV(Yfc>tk;aYG?Q(-9%}1 z2LdcdeV-Ii*wU!?LEQf7(mgnmk|zs8b}pKc-^eLLW1?ax1FN z_Z-Ia@bZeY*GvE8J1>T^J|*&zQL~%xdN2m8n3R>B;FONaX z_@AQ|0QSj_?}}7g{GmkTH>UJp7}*oJ77NAjM8gnORbZP?YR{6G1DwTgV{X2Y^07!h zS6&a)I_=9aC@Obi4VQ$ng=%(A&pG~njmav%4*0yzP{F(Jd_<)8e-4<(y9U0I-ZoNffA= z);P9f^7G5$R*cq*qVufk2~~K`av(7Y1>$_;H*LDQuUVuTN8u9}?j97-|9m!Kr>8SO z3miK2H_2g`YB@|X6i;~nBpHK@0W74$TU4?iy(K2+6Nkk8?&A!&BYQy{dQAL^UfA$! z8arRh>bts>RPDR!Bo0Ww*0W6&H*D^Jtj!LOL9KS4eDqcC5+)cSjRG!a~X z6#xOgfT|H|)>AG~WY)LUNjVBR9fEl;iTKb%$)N3h=n_xn?C&2B)CYJZTi&v-3OtAp zk)_mt{L_Di4o+d1*LQ*TQzbmj2Zy`)But|KGSwk4HqJUVI0)SRGr)u~Ha7Om+(!k4 zZRUZSP6N}ZM*dTiO~}zTf`E`$-3w%_t5kD|tK~e@X^I(d=1!mPFL^z62C5a*T~7~X zRn`O#!FpUg0Snk_$Zymu$j0;Nu{4J;<`ftXC_QO-^K}p9B9(Zkk$!M2;N3VJ2kOE= zP?MD!j-~#eU9!Uwa1b9aFR!p-hzdfwTLo#zT_*n|EpW>bCNnK;0KPOqFyRXWefu#G zeg)GT$U{}1^gx2lz2smE34<-9{9p^IV1ecUPXV-Escg@~r!P<+Fxk*~xKoE3R(BUl ziIq5S=DB93%PVbEyw6U^dX(g5_@C!hBTfFn*^=m+CfDkG&K7SKK|_H$nkN7?%~&+@ zRIt$>mdSZ}d0i^s-|0gTYtp`Z4cZh*`k&Ak!*C-Xd&g2=pu5#WGuSQc<%x?IDN(-@ zXUFN!_B(t8RB6W}*d>I_L5y;{-Cj07yyOS16-tl)kcq*iPy@da9bAdv&sE8B?t@I{1}ApshcZdU_@VKQcg=BM*+~8_s`k?!3ZUi-{@sIjQ$iX0?Id721vke;W?8ANzKKx zCFlg7vw{~z1c(#FVX^C0SJR#bPWR(3Uh9bj`%eKJm2@9g0o!1LeXC&U9E!2pq<=22 z5DDmi&H!Vp#Cr05ZYCf*NHYYOvUUJ^YwdmrA;~UfKO9|0uMkT_F2!SdYf8-b%8AIn zDMJfdo25CLEB@eF0zcTrSqP6fpE>?quLV2^sa`PiOB!ffOtAVx2v5;T`ix$sH>-3; z)(!bKLlsVpzUQt5LcQJyoSoG?{G${}6}}m|EpM+rcSR2;&QL9|PITw`xqr^gumCi? zk3>e%Qi9;~#RHwOz~6jlhX!OgmjIyh!LCl%2*lIsK%V?5GD+5i zsvlY8+dDbH#%Z_m3ubyr`ku>5y4NJH)C0l-_{brUk>~;hD-Z51Kc{{yMr$S#*l?Qt zP*LuY1$iDMTH=u6$OF1eaS8r@`1mEaNmzCVhtP)k%)|q7_9q_z?|LLyl$#p_Fk{MQh zC=9KWB8n#a`Sxa{Zfmdz?0l!&q6wa>!T#IUeuS9XdD-aU+1ZC_?TxvKV%GP!0Sp8o z89Yg5LWr$*aD3(ld7FhDby{sNLLXpowp3Js0mGf=gr}j`xHdn;)*Q|n#9M4O?c)Ff zm*C?0L4YT!$md}XBZ9RXJBo=FgJ~JeM@cUeeUFEo>^U*QubwadvK9+~QZWDq1|WQj z9-P!@^IU}NQ?@Cbs_heXw+4a~-BS6JQs38j>Z^+j}o3zwc8FhdVcu{!Uv zECnMrUJxjq$E4ybcNwxmLQWbngGzEL@I~r48RX05i&3gKQk!9e^D0+{Uis=aymUty zNnRmYxS&1T7(_RHjpi~ip#wqxBn8oO4E)4q%!hfKBX2~+Rl4nK!qUk&^3?S!sHsPP zzVIz=vjv2S`!c*yHP@v-Pu~c5LW!aK1?C7W20iKi_x#9q^hN*$1(@?|68LV2KGT6t zh|(bRyB8Ae;Ya9BJS1k43c2i0^^ntS?^5J)gL5ROOZZL0{)bQM{nEPp&s=?fo98m{ zPYFK5fLkkZR95f6Gzi^q345nWNEYh4V19}UqC#Z$_6%#KKP<s5a`76 zo;EQ7q3uV2TCo8mLY}JLP)7jp;=K@#H{!k30tP0s??wI7spI)9?l`VZq+|>o(T9>V z52mg26BdB8$iepo$24Dxw*RgzoR2X;ub4If9d+gAtuQ9#AV|d~Hlg^I@WemLQsjcp zDbceV2(WF-S$ze!KEJ;V8|5jmtOIILdI2Ikqn#ECp-F=|K8L!R8rtVYRD@b>DK^1C zia?fXqhL>B2_A*k)4i(1KfzVKm|lFC21$8#kE~4!lcosA0e9&HV)jB1I`bz8k-Py& zWAxWbPrI2bu)@gw5RXblw+wD}z%=aAOCUv;2xlolw`FOk+`(-^SjVth6;k9?j?UFz zP){!bXSpZOA*3T+gAu=og0KvHnAu>4Scq7_&I-+I*i$8erLby+==osnHR*90;=_cV zAx^3RiT-1Nej=uB89s8^M(h3Kn?Lo~bDi8L4d+1U#0~aG9qFqkH7SIrE|D##kia*n zUVs0&%g0~Fj|PjBoiN_)Cnx96(a_doYViEK(mzPN_q`o%>Xc6pQ%n}< zaG`&envJiXD9S1k(b_X(!*oCWP#;XBJst!?xG3nYH@WY*jKLMJ5pV-*?Giri7_cx= z?=80L9N$CzpnWH>48%mEa38ztrF`q*1S?69`ye7*t`&QnydGXAey7TO_GgeTR;d8&jsx^ zNJS)&I_Fm!bcKLyW%H~6#)<)Bd9I?&G3vI(>5~KtXQy_C23(TB=2mjGN^wI2XfmwO zqM&q)OX)0gWCkq9QTk~IDS6PphgM~&jutt-h_w;inM)Lj*j&hcghTXnB^b=R+I+4q7 zR+j@I-fVUmOeMS3Epf|l6{Dv2}0jV zpMHoU&0t0Ng*!I?OYuJ0ZveP)7F-URzv%0@n-BNor}AWGG3f)b70i%Rzr4~;jQ2gw z;IlH(qXxXkOJJ$}tr^5?T{W|EX*i1QDPK`fQE8tX?&OA5?fOf0twcu|#FdKMAB#9` zIWdeo(DMsWF-O(U&tE5PV5{&Q0#I+s2groWq30lL`||2$FhS)##jN$kl56Zwz62gR zeEhHjI06FgC{r*1M7mqso;f)=F%Wj$;#Kl(3p;X#0%M`*!f_UJ4ndg}9PZ{cR=-)~ zvmTw`cY|?ikpeDJJw;IQ=Hv=1nDD!vam0Fc@eOnH2)QtW6v@GXTI>xTgLo0q-KavGJFl9##1yaq=fXMgmy} z5a4}){2mNFJy#0Yf?or&)5DW~Q5<}fbT{LhN3ntt7zlaR&zwLC^mIC{8vONHlOZ4| z?UK8HlvHd|+S%EG2*>5Pkka&NQ3n~52j4Q{MAbvjbVnZW4x5+HW3wv1!s!axi~UWN zjw+_L)fIYKPfaiZ4Hfa#EM&)7(DKbQg-m8u5Ix_sP#vQz4@`(9rhk|)xbAFh^^dj> ze>e@3O%Rk8%A)wF$YkIWVt|9_1_M`;0UGwBjd2QKSzC7dHvOm&?$8zO&jInsA-#Fe z#R&*#BCEe3mv01e8gwOXque_6s<#K|2bxM%lHQL54b?eG0IHJUj>Je%n6I4i^$& z!OFF++d{xErU$E49tdgH^mugfv$MumwjqsojAAviJ&7X1LafNnpc%5XLkFQMQ{X#j z`v7Pe4B(ulI9!{~j*KoLgeim3T?9bb6T?OCJrkiD@lzZ}>Hf&NkK@+D$lb}VssJPr zLtO<>I!L^`^TI3BZQ`3SH%zhL>)+dvI{F3)nRI710-BS}(TByCrQyt3! zUdJUs?Lg*P^swB?i-6-3E-tUn^( zvLhv8eiW<^5=9HQu<%5DPKCXH0{6+qA35#gtm((a0q#wPt*|EB4V(nX1zr7+Caqzr z{GQFBtIB&^uSsYyrgu@q+N&S(X-Uw?R4 zjwW)Lp|_psru_(_YRFo>|E^6-)RzIBKfjq-yij?A-;GCMKu%Lb#Ms(C7^WTC5Fn`Z z{w%vLNBng@4kzdA7_Dy%VFS! zaG@E-r7}_S+MWZ(I0e}-^AK^zxR}cxuxYPBBQFHLwNK9ciF{MOrjXQcXJ-^rB~FR<_8Z*!n)lUH#!<52Y8RYjKyE|jWCo)aJwAppaPJmFO9R2%q%0BCAbbxPE}u(PYQ+kz=zWaiH4~S zKmM-9-9>FQB-!96YwzG6hXs}gHTdp8%?dvatTNj%w`Qt61YBjE$v|;*Uu{w2@+h!^0q-_kplc;wEAa16MCh!D}3?b_D3>n)m3#dbr z!4+d^2Rxj3^zsCV*{^DXwyUi`_2W2ux=!QsqdLh3A-~a*%`g!p`SD?S8|Y$Vuz>(u zqx9sHBjc0pj2xiS`C zy#{FSq#}4{b0u*B_%F0J(_=F80s$e22HAkZ{4FD8sl}gF;vlrE8yHXkb1wh!4kPfG zOk&0{>nV+_IO?1TFxADdys8)e{{9cMUAmYMJ!&4Z)45YZ#@~o^Zi1*bq4!5eM72C66 z7Nsi%-An(6IS-h-*V6&zK3haaNPS6khinl*Tnty$WwAFgj$2!u%*fi8B7~tm01S{( zi~QraaD<<2oca4KCL?!2Ixz?FsSX1_J?K}L{#?^>+dm*nE&SqmAu8j6@RR5lCFdb0 z9BWn%MB?1$S=8kRKPBMU`!+ zW>~hY;OuZVUj2RKEYl73VtG~pTdhG1CC!x2Lge>LyNs9n|rS!- zy~aBEy~1~6W5aok9~G6rMeA4wawtc524*d#CL!GmRq8m+e;2s+y_ZDfXrY4ZnyR2u z*7pb&O?v)PyD)&bbBU$iev zFr<&$cIGXZI|ll3XertywYtLPQ zTSqdeUgdgVKy!-TQ@15l6*3v}8Am3ZbQYMT@cy3vB^XV5fP}~P6|XKK@&Rx@GD~NL zRBiyN?&^}l0|eyFrReDBkm|<5quKQB9i8rvOmf5l*`>VWLVX)R{~pKm_Z1mNVhDjT z-UQ0R>P_%RKFwvSetiEP`f{O!@MLaOXQQ9ta1Xp;(1wr9&f@@X=~A4#B=Uv@r3#A6 z(hqN8z9;fCfR?JB!{)W!KxrY!`J^2{5CaYlm+8bxrzKI-X#WLI@%{0uV8?h%EsnuR z39MESo_0gc72sEcp=_H#+-H|fdW#}J-ulApkn_v*V1Dqva2eEsS^%nNVQ`zwZh6bC zX4iZ44Hy*yPNk&WQ3-Sc&2YeBnzRz!L)o-yK6ID>Xkof&PMw@#K?nF z{af9W6o4x`Iro#d_kisQ9T8-R+=hE11k6ID<~8}P>m<*b%L}Ih2q+F=zvTzAVTI8& zNTntTG^D!|Ksdq~d2vjGn40q*sOiqkECV~`fYK`T3>=pH#*UwFiGYe4U$qJzd3h*t zeNAtWprIEJK-c~Lh}4xSXDyd=|H-y@r>12T=Q{0ttMT|c^&eIQ9DAOT-fvg|^pMH> zx6$>V{@aSCz4zjBZ;?SV^GI3(jP2F)%)DVYN1<9|{rWb&^c5KWQJNPAzTvK!o^tTQ z@Q;>b$Ivj0x!!lJ5GOE*f#kRe`+Q5fNwLxNrA3I_dH~>cjI%+TClp{}sY1g}2H-_d zT!A*&*4EVWF7ULYPXtZ?c#tF)KcY2z_w3Hx_lk^r0jD%fx3(})yR2BQR@`;jN2mIj z|4(m_=6Q^O%cHH8Iq(5x2+sX=IZ840VQVZuOo&+jwhR+(f>y{m8WHcXqj99vFwRj1 zkl;Jdra{4}!s#}sew2_f5QIDvt&|>!aTvvAl%C2D-dP|riQ=zvSiX$fj>z!_^}WJC zJAmT1>Z(4@XJ$oQC+P5l-c-*qF!eNaCnmddeMcJ&_8fMCQE>tsbH9eE?RvAS-E6^i zk1~`s<9y_6tw#9)9B}G_Zc1{B$>nmjy-?ARfEhgHw+||5dC+TsytZB2 zb^D>{p-4zk?UvZOj@AJl!O0)7Hqt}H5UxKQQG+skE_$$m+r_ad=tjhC;HzS1KaS8P zL&W>1ZA0?6ZF8p)8b_-)KULR37h?>N=wJlhK1dAD?FT`mZgbpSEM)x6K5Ee2|Lkiw zKLi79ELL}b3)@!Vbe?jUQ*r6m;ZMHj_s8<*-|;*LvDZVx&U88eliQkY=lW?W`_)H5 zy{ojz?Y;oRd;EUR&0Pi5IFmX9I}yy_nV*I~6DoyBr&`8bx6i8pqim&-YJ*80yIwD@vY)VQO$)ZM&NC zH>HQ;Z%W)+f&^R~F|c?>Vd9db!y#{cEobVp9odhvN?{g-Iy~v`Bltn-hI|XaOf~Pb z+@a@eQ@n^P)e>I!N}JB4uS9(O+JN6Y?teBAUGQk3El5Upe2?{SntvxIrfqW4>j<$f zbTu3Y0V)8a+SGB-vVLGTbeq~L%y5hX$FmGmHo!In!N4vVT{?}mvrddRp7QuopC zbb`AZP+JbIXr>#^1K$j7Rl6$0_k17M_#gQkgxnjx(RwAhR`kke88Yyr5niZ?PR92R zO-143D`(gq8n8u$Et(Bd<3%trPl8VMPBBDh$~b`64~~z=6u;)#Wc*$NyaWMYE0cX% z;jqcWOw1tUDLy~AOMeG{xu6{>pKy1#r&bx|A}>S3%(4JdEVuXRhJbNSRNFr0wj2!w zDd1klI*;Y($4s>{Q83)1eK0|A$XN+62Gk4%{8FIo4bU5qClmnPCM*i40>IP_6Vr3U zU&szHK)sgkMQ1K_Vt3g8UQtgVf-oT=z$TFDn;;`Xbb3C%3J@u8Je?MB*}7M1Gs^zEQm*|)pdUqJ6p zH%xu7Zng>mqj5>^H?a&5(d+YoUFsVVQ3i2P5_QhM4Qm6#s)MBW32fDx8t{(4xEl~Z z0&JQjb_q^!uj5pPun)%N0h+-t)ZUqusEY}0+Oe|V%!45f8jw}#u>cc3ER<{UIJ)o$j%G}F+4QG62|&R?DZ%ZbRAf3-)g zz}y3wcnB(a-QusP2W;1Y6V{ur=kYbxa+>rXN%TYI8^-d6`6U6#3xMI8>{L7)*=4Pf6M{s_DWUkou%)#%~u zRnXogXaevuNq&q;zSwj(2SRWFcb;+2Y5p80;|$3@I1A7Q|5-hch0_h!fY3Jz#o*Is zAT0oi=={;OTL20M(}|sIK0!^rdmCIig1O8DfLp=Za0~!(Wn5fbM0Nt@uk1&xpv%_7 z%Q6&fU`%i;JWW{tACeB97~aNt^n8JMGaMLW7~o)8i^ZBv*8c)yGi1&U27H(fgBv~L z2N&iHchbSiJ~+P&7$VW^2RhzzLz_528%tcai$L)>pRa8qayb8}KBTu&rGOk#Jxt+o zN4Mo?oi8JB7`hbQ@Bo2Cli?18)u69m0=ee^f0E9T^MD7GoMBdq!8`nF0{b1h8p)46 z?f@p>^LQP}kgZj=f9X&6mHz&4k{|W$5FZe7@ua&$KvLF;M;W#Dfm#8bAf2Fkwl^|ceeVS*fC>Gy0j zwo>%4=nY811~ub&MzcW41Iko*#M(eUeiGl+9uS+$P=J8?h0`Zu{q_Nt=<+_jCmL+Z z)qwcBBeTt#mY5hP3ca06qJA5-^G0x1G%SDn=jRqcW4Hv?kCdkAie<8a?UBvdtZ$Bu zx%d^dmDW5|l-PhP7R=^``{uN(J$N;tgluB>TXw7wD3t032Q|I36>rS}dj*XUt1=im z3?9J-I~!{V_3O!31y(lT_}`cLIqvl_sjr|+ z1hsXG1w4{No#0ek*IujPUFZhGVQv}?a)@szWaS(8$Ro)!sw_Iv+Qq@o%-Y68L~%V! zJvn`j$Pyd~b+{Mk`ig8as4^p=sR4WUzzp}k@ ze}T(P_XB=tU*x>_hX@lcnuAambZoT3*UC%&{Dbj@YAa}<&imIudQYXzcx18a?o3U^ztMn z3&MVusuTmEmv4yxH}~sI|2UQ%T+v$aLrjy{ryL?b|7M^m!-@_4OISU*cy_3__<06P`vS`19 z7EmZyB4SXR5L1)hYYR!y-3dmVJJ1aZ4FVQ7nA#O1c6S>nIw^myEiZ=vXeS9Io3B62 zx>`jvEA8L$E`PXQwB=_4t$onHG6NDD2-F>9FF7{)n$&R@anfdcZJ@3}5oCe?Z>2P! z`MBl|;&o6~suY|0_gHaqvL{P*nF5dJ2Te|2nO$+*)8=puS;FJJ?rdQ@ZL=c0%l;o3lV9@S?1N`@czlH{X zvRS;Qqkv4*&0towlicgjaLqs-v6*#8q$$42 zo!uR6`9j?ye>PhdqCNikG4cIcdvFVdmT9u2unH}k36=_`qx_&1tk@K z*jkw|A|LOinDn(i$UM(5J-pp$^&fHJYY?wX$J`7XzOr!G@MFpaG7HE6P->VRWrB2S z$jTUsB0p^9AlM251x*xquDf*yMbPuV^;)sH2nN53q>yPQjGq@5B66;LWpwAfe3zUhE!t%u>*4O&U%3f+l3xB>0K9#_|fBWV(1;CB6$rUw$~r z+nyqep7RUM9r~EMP8le3Fs7)D?uzrL(jMObsJnP65>{ax_{fJ?w@xwu4fdzgub2Iw zMwYQ6-GryC8?WlrOK&aKLRIs%x6^WD$Kf>v1CZKc6kS;rM8Pj?>^7Vb3EJ-w(9_-5 z=L^zHs=yQ`T)U|bktMJX2*R!Of<3hfVQ>kAA}3xw11~-BUw*lZc;nBl{+^GPyvbJ> z5Scx01mk0nMiVG;WLT{dOA!PIpcWw%@scn>40%}alv4uxehpG9LPZ2T0>Xb&?Wqo_ z0?2on4<9>2lskLqbE255D~D-686a~Xa#^552r7Fgl-$9526XY8|8ipY<-xmh3~0&n zS&k>tRP${E$B|l0AyxWESTR3{BB1ktTu7JJzN&#N>gqPU!E+`Q-z%K#niq8%Mq#c> zFsIC;t9#3ATj~VvdYKw!qJR@$Jz&M@zzqcXK}2Ypd@jnr-OXRgUqhz=#{wIIOgbeFZIFpjzeRO1PWU>^OQw7;P{yWu0oelLk}?1y0fa0_A{`~ikofN4aAgVl z*X1ezN$Gpzp-P#3Ugyz|*0a4D@~INYQWgUs2#47m1;~rQKezQq{WrPn(TmTx9GZw{^O z07+xD1I9qmylS4TH$T;KlWodda4tT8f--WT@#a`uv-V+_yzq}z8lbeMB z1n`)DU6ZaAm7zE6c!mnC-R|}J6M(uF0-`7ET?}iV5yUrPuvjF3;hp3Z5ckB$sCf{D z8FWB2{`;-JgkB99g)#u~WOi>u??QO(0f3%KvICCbdPHJjY1!6{=#OZ<&q97OsgP=| z($~XX0o*bk@!|i*N@(FU{qmy(>%{w<6W^V$9H^}wlw zUdF-eAZFFWW`hV(sEv%s?3zy@o6{&;4TL-_5Bs0L0^0E30HtLPX*-$~hHAG1%K=01 zTmpxXuw*qHApfE@at{|jge{vRsgu%P|wR9NPt!aJ_}6~WLZeBtt6s0*j%PjvY2 z3vqCczkZg+g`&~F4|i(HKX>TQ??3)+<^TEJW7k&qS zhdC{xd-Q!0|9;tan3>NylXaD{BLDJ!Y~yws;y#ojkjk=(f@vc;m08jIF2H_gZ|LhbYtUEr-l^oIn&ol9eQu}O!md1G=V81a z;AL!AaN~`2Drb6#pP{vD~`dQRoBhq0j;PMsB2U~v8`8JQI}U!3!+b^EH*4f?b* zHNAGSj;(Z|dOec9t+D=5gB)tX1mrcnT$%aK=v*=#1_pYF@~f)gdnr22>RT$#2ZlD1#JN zv*4tds=d{mo@K0HysM`D$cub({h05+ZX628AJ6TVVyg({Uv9ZEIez%O`ho`b-81a> zxjdP7!i!k9y&KUt4dk~X_sZ9+s;X*6ylmsu-F8=dc&0N$Tt?}ro8~Ik2VKott1lKT zr`9ZVD9GutRqa@E&X+Hzu=hjFEOuu9w$`E>T54r`;WHH$rjgF{s~EZf zzP3-Ca@=E~l~fzH>k>KNk9-`k?MvSJo!dYaEhFe+!#&7TF)k+GbN$)4oR?0;>JO=| z!`P-v-qf!47)`nOi|es)fpiaI;=|$6>Fj3C9^H_cz3q9q=Ci@VhI^aia<~b>>8rKW zdmqE^I`$f*>e&t0C>M1<@lEz$Kgw!DUcahnJb%bwH>hOnrV;Uvwn0`^n%1m?$N+Em#1yEcx1@= zh7_^|cPHiiog%C6OYAlztqJaLVhx_qs1|KoVAVLEC6%r98uiK2=tz$kX>C7>y4mW& z2zQtKAiSQvz4(Px!JL!)sq1#%P>S&L{k{49Ryf<^0TB;Rad1;Qj0W{IF~+NJvhQvW z?Z<&ELSR=KM?b9Reag*5QGd)@w@!eyKt0UXoc|g`ucx|}W#+jyx2m+Yb%N*$0QBT5MN6S=< z+QoXyVaR2DcKx?F-RYymMg5k|Z#2usoF@8CsX5H9oPD;uzLBeJVr&G zN@|@;*Ubeiw=EVTH1lrd>O+N4O86T(Z^8n=Sadd0j; z&-u!Q7b`c&-RKP@g=62aJe9t1;cBbk{!abyKCIdssvm9NLfp#3Bj)?K$cx(_d^7ml zpk61ALks=t$&4Tv)=I2@8a= zWVfNo@q1$P7mPB4TvHP5;A>0779OE67vi+|`K5r;o5E7OXvlTDV%n@nnd3}*?pMoN zw7y?XnYnGNVOqsM{)W#P>>R4MCBdoNYlWDn;pQ5)-Nuv@^8MX0Ha7|E$++W+_!SG8N46_Ae@91D zzEOM}uJYvdOpq9r1bI=g;8( z7LV_TFH4o#eCRS(XY9{WXA~iQiP@XWYrbX_lXF%{g?4ubZTS4rarQr7*Bf!?SY$2l z6>)d4Jv>s+HYPWd39IJ6kk8y=7(xelu>r%fOWgf3v$+p z{^YxFjVrBJ@>ggmG1kGP6fW}>>y^`HmHWH%sjbSDWHbarzlNTCv-lKG`owLbJGnhN zAzJ4RcgoHDwRzX|GGkxXB5^$6Xt0$peC}}?T#mch=rWa-%9-cMMQ7C@$($8hX@9~i z2lj5|W0LQGMbX?E3`xGP8qQArO=%RuolK;Ck64jTZrwSl*x_^c2h~`$RvoQ2z40R{E?6E(zBm;i`ZH#hdu;-_4twFC}t@E%@ZFtV< zHBw-2S;DTAI&`$-@`v!pvw6FFgX@(M1b4chuH7QIg7)4O*DP~Elk&y-tKIW>)Eh#* za)aKu*Td)h5*FWGa(|PY7hQE*K=D!|B@rgGsMj!Lm)hgBg&;}!`J8bZB0dXZtGL^? zx>0XhcJZ%MS$`8o31R3Pef8t`^5#SL&)w7^xr`w`M5v~HNwPdVKI1kQ{^ccC>h11^ z3;XreD$Xa}BF=}1Ur}&d%a1SY*G!Y-v$I#SIKlC%CF!u|{j0^~p}!rIcZ^!AJ11`q z&Q@HHF)C~R!lEy}kJhnWKWi0Zw%nH$0qda(!aeirgQ-)6+ z3T@~((M|P+3vaWd*a!27B=giNQ_+jZI8!G2aSl%%InR}hyu8?UBhK-V%_Yw}AAA@1 zXd27T9@2k%v+;)euXEMss~K7{*kiqE59$?6+0&9khyrT4i--j_9>dOkULj`?zIEGky*DEGK{i&EP0u9U zX|?co6e}teFH9A7%)LF!AEM&#v93?ONrmN9x`jD%GJJCvT>g7?DX6nad+(?-u2`9~ z7ByeO>^C^PlcT#IUn!aV# zgYb6IVa<{G5^Tv37Sa*zoIT|_{s9TMqq|g_YY(VQDCWi{rjz)Rv4Q$WZ4{=a8>roO z%C_bpE%lb?B(jN)3hIdzQtf4W5D;MGel)?Z-$IP@Vdx9qxlcO3xaFw3?<;MNs5az| zl(&nHkk{X;=T010iyqoZnRR-Y8(&*8n5K1a+fSdLH0Z6l^>>l;$*|syLe|IfyUns4 zT3J0>MRs)^R=NZJi?(^#$%TpMjGtb<>2G{1oVo%X^!P&$C*3dGzic%j5Ifqt*(B#0?5RdZgQfd+ znc&DJtEc#b3!O0K+O8uYe#Vq7Ng&Cua?5?NYlEbI}Z>~kE5$ur7$btd=0huo#=V+kI^3$A9#o1v<&9g6QEO$#+G|qxNeu)i z9Ljq{+DO8jee*~mJNwkPyTmeBoGCYT9cKcMJ@t$DKNnlZRNGh&vFI#OG$h43?^<7p zXSDGxI?=@y^5}ydSK^=pRNg72q+@rNC7GSa@-LAZpWTZ*%_B^IBS{bI)KvW5N^1Mssg+tz1p;ON$F(1(Pk*ah_IP}$m#V|+>hzWK zS92oi?~==hXO*PuTvTB<0uHDD(A5Zobz7%OwKPj7?{th&+QeInlX&ykd{3N*y&pQv zHYg5tJe#Jl_;PB}zTdXbBspHVEWGR6(_|N_5ETQl?^xmCQGLPfp3nMEcncb$rXS&d zt1G!xR^<5Fl?Se;yQIq-PX1Y~Ex#)luW(J&GBfeM_m}SZvRhvv6&o>pAHzOpH79o2 zhhsCxn4!Qn{Zp#iyX=dkS0}M78NO`+BD?V%2@ap>ZLFrIhjxB*Da1NmS$8hhtA#rn zFiKqz@wWe-ng>UumAKn=mq3^h?OG~&dvDoSi?x*-f+hb+Ix=u2*?cb!Bl; z9n`AE+D=Pb(>Zb>#BU(J6qG6nkmJ>itej}KeR|qFEMxnGNWWdj_a_XeP#xxSfa0~i zx_g9=vPf6=9bLppEgs#Y*WQ!9m9;peMBdFH9#&&Oz%vn=5)yGzpU2n^s^j|LWts^N z4&8eT$02K2s;Q{mjCrbiezP;jHH;@%_4iw0+rjv1`s;7+K}2Xn)oC0LX40I|iBLb8CHO@iH;D*>}sQ(lb(qnRq&n z#yp8vO^Ix^^;BzemA~1jI93^|Efo3q>LFUPmM2d3W<}mE`)kEjv6>B4q*t^;Su=fH z2J|8{+Hj6-W86t`je>TAJB|#i;9J!J}k4 zs*4*eMG-^fe!A3zjRAfG9@AmfH=L&w;w2;bORjA=&9N2nd)D@(jy&znCT$3(Av~j3 zho$o(UBBkx)PJ1lkmWV<+qB{&j4|eSF5JGfl*_rwGfaalWxLUZV-dw9m2?_=;g+gJsubB=LNI zI$YV9(|GqjV~s98o`NQU=3R5??~=@$or;7!zHX@keUsDa-6=a2yPH_I%AkrMOZUf> zS4c~+s&y}g^yf@GUt;ps&%evmwYh?!^L+Jz>s%P|CQ)C(32$H9DkgO@BDxa{km@TO*zRR;I(AvMHboABHK#%7*o34Sf^P8s4FGq|O5}XsO z0>>|z@CF;33vhd@SN!zB)9!ck~Qvyn{LhCe%jBa&Lz#`W2?V%bX}_7j$&VyBN<8x z1I#~onJ5K;3Yj!*qXU3)vXrZvCtW>Fg&0|@Nblnjh;(VW?cRJWn|h0~pQyu{_m%wW z_(wsa#`XtNMS;$1X9&`z|tvsVm!$;surt&m_RZ!^8 zFe$lEj~mI`Fk(!Gp%%Hy_V)nSP}j@N$MG%^36Z=asJyXp8jpe9-X41F` zo7b$?uYD;ww2qfUYjkq`u*ar_)` z(#HQk?VV{jl<(jF!=zD^HEW3M3Ny%-C0k`|$ui$;F=Hns%D%P`!q{a=c0z-RFvvcZ z5uzbm*6h3N|8u^-`~T#AdO!U=avYX%9oKbU=lS`(->>(1&bszVo?&8tzIkXE*2pXv zMDNa;lFRSDkrjIJo(lYh#yX7Dhtx~7W$RdvSJ^YKFkafJLE5FD`=6IG5d;hMXtT7+ z;i1K}H{dUH)-@0@QwotwjGCeSp*Y?6GQ`n`qb&2e8V#>MM;=K{PL!p|C@SiV{betx zBtP$8psDFLzzy^g>&&iyOq$hUIqdXZr+q6v3z1(>HETTsu`$qtPhEI_VbK^Zr*cGx zae84nAIdG##UB#_tFJlAx4eBEw(OS09VapBy=KOMu3f?Dtnuuq#L%pQ*7wPI90hU4 zt-^9XX>s*hvCD}JnlzqUB)P#S_~3qK-i<3567(s5`74&Ylxnd3Ns`)_;CQHba#keT zM!@s0>hWXHL-u+Bxo=x>&$GBY(L4SsB}mg3h9PcEt47U(<2;Hr_K z%SAPUgEVd|=Z;~t`|Kf~wzx|qKmW-~lN~9ErHRK~U%5+poD;hYWIr9TxF`CtB60@v z#Nn5P7v?bM=!JFa-}#7nS}u-nkIf1_-Td-vZM!O{Gt|!{AFSPq7M~>>dU_m&`<^o+ z%WF=(wdl=t9=?HvpAvZ*zK+@(yD*ha{rzs*QjxqF&FhXeIcH*-HO7d{q*-2>VOMLE zT*))*iJlknFWOL6cg!>t%If(R_EB|$d$%T1d(*yU}o4V5i8zs{b6K+^-~+CJy7SuYH(~3s4zF><5H> zup@xo<@-DA{}r&cxD?zvAqkhvqAuEmAl1%EQcY{}Ik3_ycyThDx6jkR*AT4A4m@|| zkNC>ZI^zCtYutxViIq7Ym0=dL`~{+k`~r7)*9tyH-Zjdo3tSKOmxESd7+8?8R}@1DkJ&xE3v%pe zY0<2=a(G^l=h|J9Cxv?P1GHa_lw)1vct7}+Kc;nvdnrbXjx#R%60RCiZ3SAT_D;d$ z83wLzlg|-x!vBo%y&I;#!$mQx)K&0qMksC@>sM%_LUZ|z!Z`{kgRn&yZ&1e_EmaK< z3xRit3C*r|?H=)st=N(|rPIRv7H^`8&}Mr{N#x9$Jhvf{SJC{YnK6I-kA%%lc3TT} zHBbIGuQy{8UOBv*6|&MAi|BNLqy$@MehsyGRjUh;(QFjoyM+<%T32R(XtWW$pmsLd zqC^_O*OG?PSdHCppl%>9;)?2@bxiv*9uU0-IRP%gCJVnzoH=#l_NbhNoTnBOSKcl$aCSO>_K- zR;FI%4vpLOC8M_rsBI>x?;)KT=>@+tO0yfnj`O%?-yTTMqLtT^zlxw;5Zo)8hb0lN zHn#<6xU=hQt7`d5uy@LzA{bq7iezr-$X{WvufZ>9FXvpex;DZAv1R?_M^S1NlIdta zGb(7jVt-{=v22#(v76}@EuZi6O2sY{?iug9ue?WYaiy6#77fT=r&#)~%wOJ+SnQ$y5^VE?=DV>Q> z)fW2M+X+7YZeY-i@~Rg;giOR;d0S>ef!?Qm$p0t}in{o@&WD|HpRYWrX%nW@-tkK- z2+rm%*jKbr(^tHi8*vRT}bZ3{0K{ ztT7*C1oc~`ghshAyMHq-VW~+TA2Zafb#DUYFhgvg1^$YIi_bG6GB*C*FV=nMs?6D4 z_b=gx@wDB%iUGwe7ogH3E)_lZk!{CAqCb;Zd|zB=5-E_t9x!6g_!eTs#}FqXqQgsa z6Q44QjlS(5+p8XUb!XGvd6+lmZMXB*{ZDR^Y(THd@RsXuzU3}0PS?Rrnf@&PKABAK zFUGuRynadAfoO2cs9UWo|9V=dM35M%lF5%aX9CMtMuFzRLyhBkcX(5)@OQ}uOXJN7g2rJ=UNdT@!n_Q zPW>*S%_HH!q|GTD*zLem!3SYq+(K@CY>*zYM+Yz0TW11uC(gifD*=3=et@KI?|^Zo zw_UomZP2xMHErAC`Iro8!ZUl3_+j9yeAgXuc6MYM4VTlN{C*RSaWh2orucMReH~fg`a6YZyYEk&}}6+!6bM=bN_y8KpS?MwwLu5IJ^lyFsGvOZcpU=V3*2Xa{R!m zH+u?QVS{@wP3q)ChcqiOAf#&lH+%QS?+Th)uXs;AJhX9r?LrTde92lhNDtY8-_ME0>&Cncg0V?maA_9@h0w zVDTL(1hduGh8!pumBa-mZoSbO(MnFo!~V8PBFGvzE~5Xlq`t>qv{i6<4P!&_ zGIz=12tmg4^Uts<;%eQd`D~FlVDYLMM_%Redj^A_B|c&Az$HKLjr-n&IWn$m3_0V? z6fnI{u%*ChQjS_4@?3VVrHG5+;eD5@omN$=2gUKjdkvz+kf&^ue9)-is16PFR~~qq z6gSx0fO*AP#!rDhM*DK$o<$fue^d@QKQU7_gbSRE?kgViIA-dD` zM%d$BBc6f-n7_ZognnhwNr%6wAH1)V>&n-$NG?c`pAU`kKr!6l9*j~DsVIJ7*~U2K z=egB=&6*QI%U^H|`WzQj-86gm{oj6903zX-O*93*sY_Y??xKP!W}4K)xV1k#)8$^c z+9_5-+dOlJAWYDPU4RD%E${p){)D}Mv0v8M@Koab&*&d#&FF$$_EA{7*(?*%aq-Yy zdba>d+Y_?~{&<=&lySDm{z1vXKcb3uh@TOWIhD^}_fyZ@;&TUwA@q0dT%*H&*nT~` z_C@sYc@aK;X+h!xT}zl@h&$;9p`X?A#nlAe{eVhK4ub6Wwht0G!n|Jz@15GvFeb$6 zwLTvp24Oy#f4|;)i^(I!%y%}yRMuqlg9U*V(`0k|vVX>Y!X+>~zJlQ~VqYTqldkkQ zIjpHjuuHrGu^Y;Bl=X!6uih1L6Lj`<-KUqLT?2CK0 zdq{387We)fEH&0*B~Ir?=MZR>2)ix9&=ztlJ0o& zJ6yxZ#vF0C4E&{^!7s3+Q4>1Ty+%aNUXKcMEy_Nz3UjrgY>2)tLsJSP?y_VISr!3 zo3jpMVguWU|1)?h522OU&ZG}NGuqucdh2n8-AA!UZbUaTTspU7Ld2aXyev^e z#ur*zfO91AiS3TypB`ZLVsZ2s%j7#FV$CE$!klnsv0pEfx$a^3boJ3@SN_&bu&JC2 zxLkIV^!Goaps>7X{n1Ebmc>1-KdJ^d{WAu|qQQhl*sUmCs>kfIx0j@O3GC?x)ZXnN z3$S^%nun3H$7J!h%}E22&Exg+kz+12( z7qUcnh?{Xx-hu{Guk_JyQ)r<)r~Ym`Td|c)z3tATHIMlbjV=cV=l+e~e;Mo-QcA`G z2Aix}@r*}9t~h>Wm3Z`LN6&P6Gi_Y8R~OC;?3ZG7(4W-L+F_#6)@P)Dt14FWjqQu3 zv#dF2?Q^=yq5ddp4w}v2{$r(^`?j+20&%%+k_Lnz+0Z(OS*+AoVRb*Dy>?z#CL&|T z)n6YWt2oXVf{I*3Vd|2%)X|;)v^Bz;XykzQUO~n#T&HoPZfS|1xL2*$3x zqAGzKKa!x>>~HysKU$6tP0Mpp`E_p9zQSY>RsTM(aFFdYf=GUjbC^FLW)ytN$j0GQ zynG_pfXdO-C0DD=KwVS{W>Iy$mzvWh27APWc((JybniH|*e31kr&A1F++Fx&MFb4T z{j}q1l=umvv<5uN3ZaY_e1{wF0^gI}K1Zysgn`{0+<~=o%|lto?#F!Xs`ZLmwQ?~& zkr2(!l>Z_c%R!B)Ucf9|Uh9D;C-7|&hfEaw)1?KbEI+vT9sJ2RlGn4qjm<3REfyP3 z3>fbu%`6?1M1BFDGVAJN3DfUvtFjC~bvQ$hS8`kgjdsXhbU1gg{TR+4SJ)Q+~#k63cZ$jZ{WkvE^Q3ICa-%6xn~K@F6{%@=C& zVlw#L2tK2C{x!Ex!IFT6?~Xj}pvJtbP-b)EnapNW)Qb{I9=4?F6v1pjz81eY}Vfxl6^jE%~Yf%!5i^_{1pW}wx^5#I%D ze*!C1>R^;;Wl}FP;;>h7%>@<7e<#Q~*p2M*Mp-ZWQLosU7o#-Z!4!G6d5xnc zKNj!=0*=a!op!YNX>EjS1h!=0K!vm;(ghu|vC)h*t3Ritucx?D*|tXZ>qM=5f?;*( zpc4MH;StdKN=<3v6YaO%p(oc9!smsEAH9$U-j*!4w!CkIEXC4j8=LF*#|y9C6f}Fr zh`1Gh;KZ``jOAFsP(T0D<0K0&5xSujbPcGTHTMw~$_J-}zVYw?{Lz-;pjk_^+^ST%*dx*04ja*;5qP&$td{&o^a-U0i`7v5S6g{~* zSOQD7W)`c8mEBl<_Sc^vda@%XJ8aEc>&IZiD}JmoB0-IO9U!L+%(XHXcqMe#4i zKLr<~-%8+L9Hf+Vf1-T<;zo-`7g^Ap?tVj-0nTG7cLHE*dz5IqVr(=li8pU+z)MEr z+C*KXXv$dkw%rePpv>_Q#kqCpa>TFbO)!&Pj7-)nDg5 z59G?wOx|j>d=r<<><>#ymu|&K^Jk=y*}73@$4^y5_u7RTGXJ$UZyuojJQP#saWA>n zPdq^!{sNN?o8C{sz2>8s#kFYXOn;pXQuMb|H0HF6%%ZhEhbETKQM4d(wsg za>F7DJjOf7Ry-EsgCfnHx&fy1+a53P`=+zqN?Y9)=XOGa%Ax=8!v_~3!H_|N;@#l{(H zdY(QO%zxTv9zl^a_^dYr)R3Cj$-_uvjCK6qxC! zIgo=}$3WwnJ_z3vy-mHAyf8vM>Go5(9e`#cd#4sBRmv6Mt&l#;dw4E5_SrTJdao^} zBc|ibGUbgE?o3GJchviFVB+78VL?_yp?q0yh&HN0fn=Vc zqUiGq?E(fF*DXW4%;?bVMel&vwGJ5$+<0pxO&z@8u(pGbF+_s`9KmkMmX*(xvDN%M zGLP)1_SP{1HD! ziArnIpB;Kg#z6v3f3_Qt7?2n(JgLKWo%E(QZD`UWV$Wa z`IU!Wo&t3zxR=q)IcCh)3|ng+ozl3VRHF_<8WE-HCg&aSb2fd6xsF?VFCUyEh!Osg z{7cxeKmokg4OKUXw{-d33Y?TZx6%zgOVd`_4S6y)JrLKYMD^n026FK1Wpno?=DOB3 zGJ1R-J7+n~-nVk*=IjMAopnp4GN|6ilC?oF{}=6gfR<6DAWb48Jw6=a#YZKF7NTIS zYoC6nl402ZVC#HWp7Su5HSkK2iTKnECM8ypK$`oL?E1Vn54&5WLe4@ZRTi>BIRZ~f z!~ofcoLK3_>#7dEBZ6qku$Us{82nYWkD&9}4-;1ms?LoOBnnK9*AfVgs+Xum0m zL6P#J=tzFU_aogw%d2g?isGD$75y8P4Z%w}k~9 z7Qm&jCX{Zgm``?KHyA|6$2hSbF=1wyjKDsq;*byEf*ZR!*Dg)5cl+M}C3)e1^jb?Q`3%-Yf|Zpw{2?%Km7Gr3=8h9P=GZJI{8V9a znnE|#`eRoS=YG*w*PV{v3kyEWLR0@^6T8PC-_uMu+tznM@b9rA%d z&#dwKS@CQ-a%3Bbl)k1W<_bq2;i>+71vRu+Hfg!x!g^XbJ8iBf8t2WOsw!ovC?N_7 z*O!z4Km`fbg{YR(eM(h?EHErTxC}LH#lz@9xmQ~!#_2Mi{q{yGnNY+R$O@1Aa#Yg(+ieFCp;tvrQd13ULfP_`v&8wbf?avDYK*|T+dQUE zAK$nrAVqH#=EFpM5Wt$d8 zUZa+|bva6BgB?LfK&l;i-Awb-?kTS;m!u;m)7vg#D!K1+RO3dSX!P~N4&q?a!-Sf2 zP&BsJM69gjO?>EfFUxg{W_P`kaTnnws;uJ}t`n(}C4CYB? zkDv87dyFPdb*f_i$XtO37$%gizAc94bd>dGqLIO*yro1 z9B;=n^O-ynR?lQ$vU2p0=IjkH@vMhGxjE9d%+xfGmNVHlzP~5(kU}KmU8RVvaXk=e z!o`w>f1FoaD#?uiFx$01O`!rJE*nGvwN`> zTs4vj?S5v?dNz~kh$HjI4c~b(4s7{Q+WHdqIU_S7UzzHR{;iz{=lOoaJGiy_L@4w; zS9FBfBzZk#NP;v+HU_UtB>kvUJUbB0H6P#&E-J+%rn?x5n^+2lJGx#xFgM1@o=Iqm zLg!ZtFH6u?Ki|)_>9X`CYk}g*sBKWP`rcoMQS4w+y{nS|a?sT8nz=sJ^=Jq%e2>)Rb>M&UoGcVfmdGH;TTICXZH+C+V zP-SJ%W0X^4$Kp=KM&30Z(wjf+mTJ$L=oGw%>~nl|BuYq{S{0JR4_09v3j^hnV&aOLB!LCkXo0UWT|jA2YZjUNrN0!IoO*MCxGZek?Ze?j_wZBLjrY( zL-oAb%OKyhPK7#CQdqyCwI5%&QuO6Kpy~t>=y3 zK8&-MBtBLy{t;$YdKMO72^x(*w~`^6^g@B^US1<-OXypiv+J=Pd~ctPH8fRqJhAun z4qUXh8#WoMX8k?la#N~q>{vhj{Ul=5aWM$-)ViM^eSJrTz_XfU;_tVziV@Y=gEP>z6zs!Um4>pg(r&fR#2lUrDx%}0Xv8By#Fk}Pt#spj>%2M zaknS?DEU9DG?LpzRg8nEfzIKA!k_lsIuxf3pD2^qsK6hGjP7RT*x6LuZxxYCkzS%J zdt}7y%W6<~lh(8Q++L0s49DHz>Jy{S* z@(f+}f!u><-EFKNu??ZnImaZ;+%#&$`9D9VOJc|QragKXDv|jp4VW+CH{uSOX-DgO z%0Jm$yJuaM?201^qQw&*s0ijr)kJ1Jr`#w`eh*@JIkAq5=3+)*Vu_R1w59QeEykw2 z7N2*D5;tbZ>G_NS-v=fFw@Exz@!7Z^|J*+&&u!cOD6+k%QR|K^FRL6W> zWbRJc^wqneE(d?|bW?J70^4uLN&nR9k@Y2rehR#DX@^@Z7Buw#kiaUMNe*~%DteXV zs}+5}^88oq80eiywD9g2fOT1NJCkdcU(#gfQ}K8lO1}KKqTOyd5e3q=s9j)B*kJ^9 z2_VYCed%d1tCgSBLvrBN)Y4nvu;+0A#(xu&xh)6&EJ~FeCL$*tx3|cm=yecEJRS!V z@tFfMh)<@)Ng%?Pehc(Fq)2%0&o$k+JTp$W>PKFnG|gY$B}XwPuS)_ZfqH3Mcog;fot*Y_v0Q!gs-4Tcu@ZjL_CZu zdftCmDA$Js4pyiD2SEA0A%~T9!L41Zn||_d-umAgOuk@n-xpIJ{Wl)}-wg)Hqv5|> lG>~72|H~c{=$*e-Gzt%mOIUo>$(s?~)zs4{y=@)x{{Tbq2ND1P diff --git a/docs/preprint/figures/run_means_cost.png b/docs/preprint/figures/run_means_cost.png index 57d706d2c4d81b30a6d05b9e6d772fc379d6fcb1..575c187db210f266a3bbca79c654c690a8b4d5a4 100644 GIT binary patch literal 210226 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%0DGVxnSc%{RuN>VeJQ)|61^rtGL8 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 z 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 literal 187307 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Ⓢ=$L=wV|#h9&HvbH_>t|M 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

58|_f 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%0Ae3 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̣vjE255H~4e<`@5Tp>O+ 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

$r)VQk7=7{l6KBLI|q3Xnk8W9 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 a{2d-p8>V~rg>O?o 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%0A6y%>hkIiCX!VnqjerDv2lz#tfKzQhVl5J3VS<- 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 literal 224286 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≫V&_PuNexdH^U}WjY003s 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

wf~4h@~s{)ViB3h1j&b@JV8Sk;$knRTBf? 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 diff --git a/docs/preprint/figures/run_where_lost.png b/docs/preprint/figures/run_where_lost.png index d14e6eb119b4427d31917a6e52fc5b4c2799e8cc..bb06fb10de8e7f4d30c0a2a57dc6d807e08229d0 100644 GIT binary patch literal 243815 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 Kn3pnDa`{4-)NO=yX)g(qR_BJ#h4sA~ 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 uW5DOIYV(DQWlb6Mw<&;$S^!D@2= literal 176236 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 r-9Pi6C*yxt 4 else len(MODELS), fontsize=7.5) a.set_title("Refused tasks are not scored"); panel(a, "a") for m in MODELS: cost = sum(trials[(m, k)].get("cost_usd") or 0 for k in TASKS) v = rules[0][1](m) b.scatter(cost, v, s=90, color=COL[m], zorder=3) nref = sum(refused(m, k) for k in TASKS) - b.annotate(f"{NAME[m]}\n{nref} refused, not scored" if nref else NAME[m], (cost, v), xytext=(8, -4), textcoords="offset points", fontsize=8, color=INK2) + b.annotate(f"{NAME[m]}, {nref} refused" if nref else NAME[m], (cost, v), xytext=(8, -3), textcoords="offset points", fontsize=7.5, color=INK2) b.set_xlabel("Agent cost for the tasks it answered (USD)"); b.set_ylabel(f"Mean over the {len(common)} tasks all answered") costs = [sum(trials[(m, k)].get("cost_usd") or 0 for k in TASKS) for m in MODELS] vals = [rules[0][1](m) for m in MODELS] -b.set_xlim(0, max(costs) * 1.45); b.set_ylim(min(vals) - .05, min(1.02, max(vals) + .05)); ygrid(b); xgrid(b) +b.set_xlim(0, max(costs) * 1.75); b.set_ylim(min(vals) - .05, min(1.02, max(vals) + .05)); ygrid(b); xgrid(b) b.set_title("Cost against reward"); panel(b, "b") fig.tight_layout(); fig.savefig(OUT / "run_means_cost.png"); plt.close(fig) # Figure 9: where points were lost: deterministic risks vs judge rubric items -RISKS = [("simulator_ran", "Runs in the simulator"), ("end_state", "End-state volumes"), +RISKS = [("simulator_ran", "Runs in the simulator"), ("end_state", "End-state volumes\n(or paper-range mix)"), ("tip_before_aspirate", "Tip before pipetting"), ("no_overdispense", "No overdispense"), ("no_aspirate_from_empty_well", "No empty-well draw"), ("tip_dropped_at_end", "Tip dropped at end"), ("no_cross_contamination", "No cross-contamination"), ("rna", "RNA run-log checks")] def risk_of(name): base = name.split(":")[0].split("[")[0] # deck_labware is recorded only when it fails: none did + base = "end_state" if base == "composition" else base # colony-hard's plate: inputs, equal wells, paper's range return base if base in dict(RISKS) else "rna" passed, ran = collections.Counter(), collections.Counter() for (m, k), t in trials.items(): @@ -124,22 +127,18 @@ def risk_of(name): checks = checks.get("checks", []) for c in checks: passed[(m, risk_of(c["name"]))] += bool(c["pass"]); ran[(m, risk_of(c["name"]))] += 1 -fig, (a, b) = plt.subplots(1, 2, figsize=(10, 3.9), gridspec_kw={"width_ratios": [1, 1]}) -ys = range(len(RISKS)) -for j, m in enumerate(MODELS): - vals = [passed[(m, r)] / ran[(m, r)] if ran[(m, r)] else None for r, _ in RISKS] - for y, v, (r, _) in zip(ys, vals, RISKS): - if v is not None: - a.barh(y + OFF(j, .8 / len(MODELS)), v, .72 / len(MODELS), color=COL[m], label=NAME[m] if y == 0 else None) - -for y, (r, _) in zip(ys, RISKS): # one line per risk that any model missed: every model's passed/run - if any(ran[(m, r)] and passed[(m, r)] < ran[(m, r)] for m in MODELS): - a.text(1.02, y, "\n".join(f"{NAME[m]} {passed[(m, r)]}/{ran[(m, r)]}" for m in MODELS if ran[(m, r)]), - va="center", fontsize=5.8, color=INK2, linespacing=1.0) -a.set_yticks(list(ys), [l for _, l in RISKS], fontsize=8); a.invert_yaxis() -a.set_xlim(0, 1.3); a.set_xticks([0, .2, .4, .6, .8, 1]); a.set_xlabel("Share of checks passed"); xgrid(a) -a.set_title("Deterministic checks: almost nothing fails"); panel(a, "a") -a.legend(loc="lower left", fontsize=7.5, ncol=len(MODELS), bbox_to_anchor=(0, -.3)) +fig, (a, b) = plt.subplots(1, 2, figsize=(10.5, 3.9), gridspec_kw={"width_ratios": [1.1, 1]}) +for i, (r, _) in enumerate(RISKS): # one cell per risk and model: checks passed / run, red where any failed + for j, m in enumerate(MODELS): + n, ok = ran[(m, r)], passed[(m, r)] + face = "#f4f3ee" if not n else ("#2a78d6" if ok == n else "#b8321e") + a.add_patch(plt.Rectangle((j - .5, i - .5), 1, 1, facecolor=face, edgecolor="white", lw=1.5)) + a.text(j, i, f"{ok}/{n}" if n else "-", ha="center", va="center", fontsize=7, color="white" if n else MUTED) +a.set_xlim(-.5, len(MODELS) - .5); a.set_ylim(len(RISKS) - .5, -.5) +a.set_xticks(range(len(MODELS)), [NAME[m] for m in MODELS], rotation=30, ha="right", fontsize=7.5) +a.set_yticks(range(len(RISKS)), [l for _, l in RISKS], fontsize=7.5) +a.tick_params(length=0); [sp.set_visible(False) for sp in a.spines.values()] +a.set_title("Deterministic checks passed / run"); panel(a, "a") fails = collections.Counter() for (m, k), t in trials.items(): if m not in MODELS: @@ -157,8 +156,8 @@ def risk_of(name): b.set_yticks(range(len(ITEMS)), ITEMS, fontsize=8.5, family="monospace"); b.invert_yaxis() b.set_xlabel(f"Failed rubric items (all {len(MODELS)} models)"); b.xaxis.set_major_locator(matplotlib.ticker.MaxNLocator(integer=True)); xgrid(b) b.set_title("LLM judge: every lost point"); panel(b, "b") -b.text(.98, .03, f"{sum(fails.values())} failed items in all; every other item passed", - transform=b.transAxes, ha="right", fontsize=7.5, color=MUTED) +b.set_xlabel(f"Failed rubric items ({sum(fails.values())} in all; every other item passed)") +b.legend(loc="lower right", fontsize=7) fig.tight_layout(); fig.savefig(OUT / "run_where_lost.png"); plt.close(fig) @@ -178,9 +177,9 @@ def risk_of(name): ax.text(j, i, "n/a", ha="center", va="center", fontsize=6, color=MUTED) continue v = r.get("reward") or 0.0 - ctrl = a_.startswith("control") + ctrl = a_.startswith("control") or bool(r.get("valid")) # a valid variant (e.g. the paper's own volumes) must score 1 too face = ("#2a78d6" if v == 1 else "#b8321e") if ctrl else ("#b8321e" if v == 1 else SCORE(.5 + v * .4) if v > 0 else "#e7e5dc") - ax.add_patch(plt.Rectangle((j - .5, i - .5), 1, 1, facecolor=face, edgecolor="white", lw=1.5)) + ax.add_patch(plt.Rectangle((j - .5, i - .5), 1, 1, facecolor=face, edgecolor=INK if r.get("valid") else "white", lw=1.5)) ax.text(j, i, "1" if v == 1 else ("0" if v == 0 else f"{v:.2f}".lstrip("0")), ha="center", va="center", fontsize=6.5, color="white" if ctrl or v == 1 else INK) ax.axvline(2.5, color=INK, lw=1.2) @@ -188,11 +187,13 @@ def risk_of(name): ax.set_xticks(range(len(ATT)), [SHORT[a_] for a_ in ATT], rotation=55, ha="right", fontsize=7.5) ax.set_yticks(range(len(tasks)), tasks, fontsize=7.5) ax.tick_params(length=0); [s.set_visible(False) for s in ax.spines.values()] -holes = sum(1 for v in adv.values() for a_, r in v.items() if not a_.startswith("control") and r.get("reward") == 1.0) +holes = sum(1 for v in adv.values() for a_, r in v.items() if not a_.startswith("control") and not r.get("valid") and r.get("reward") == 1.0) +valid = sum(1 for v in adv.values() for r in v.values() if r.get("valid")) ctrl_ok = sum(1 for v in adv.values() for a_, r in v.items() if a_.startswith("control") and r.get("reward") == 1.0) ctrl_n = sum(1 for v in adv.values() for a_ in v if a_.startswith("control")) -ran = sum(1 for v in adv.values() for a_, r in v.items() if not a_.startswith("control") and "skipped" not in r) -ax.set_title(f"Controls: {ctrl_ok}/{ctrl_n} score 1.0 Attacks: {ran} run, {holes} scored 1.0", loc="left", fontsize=9.5) +ran = sum(1 for v in adv.values() for a_, r in v.items() if not a_.startswith("control") and "skipped" not in r and not r.get("valid")) +ax.set_title(f"Controls: {ctrl_ok}/{ctrl_n} score 1.0 Attacks: {ran} run, {holes} scored 1.0" + + (f" Valid variants: {valid} (score 1.0, outlined)" if valid else ""), loc="left", fontsize=9.5) ax.legend(handles=[Patch(color="#2a78d6", label="reference scores 1 (must)"), Patch(color="#e7e5dc", label="attack scores 0"), Patch(color=SCORE(.6), label="attack: partial credit"), Patch(color="#b8321e", label="hole (attack scores 1)")], loc="upper left", bbox_to_anchor=(0, -.42), ncol=4, fontsize=7.5) diff --git a/docs/preprint/preprint.html b/docs/preprint/preprint.html index 6acb2d1..63cdb9b 100644 --- a/docs/preprint/preprint.html +++ b/docs/preprint/preprint.html @@ -112,22 +112,24 @@

Abstract

simulator, deterministic checks of the simulated run against a ground-truth protocol representation, and a pass/fail rubric scored by a language-model judge as the majority of three calls. We validate the -verifier from both sides: all 11 reference solutions pass, 152 broken or +verifier from both sides: all 11 reference solutions pass, 151 broken or cheating protocols of 18 kinds all fail (none scores above 0.47), a -close reading of the model runs exposed six grader faults, and an audit -requiring every quantity a paper-only task grades to be in its paper or -brief found two more; all eight are fixed. Running one agent harness -(Claude Code) with four models through one API, and scoring only the -tasks a model answered, Claude Opus 5.5 scores 1.000 on the eight tasks -every model answered, Fable 5.1 0.969, GPT-6.1 Sol 0.898 and Sonnet 5.5 -0.842. Opus and Fable refused five standard molecular-cloning prompts -between them; a refusal is the provider’s safety policy, not a protocol, -so these are reported but not scored. No model failed the simulator or a -trap, and only one broke a physical safety rule. Easy tasks are nearly -solved; the paper-only tasks separate the models, and their commonest -failure is inventing steps and quantities that the paper does not -support. Five of the 44 scores are provisional until a re-judge with the -audited verifier.

+close reading of the model runs exposed eight grader faults, and an +audit requiring every quantity a paper-only task grades to be in its +paper or brief found two more; all ten are fixed. Running one agent +harness (Claude Code) with six models through one API, and scoring only +the tasks a model answered, Claude Opus 5.5 scores 1.000 on the eight +tasks every model answered, Fable 5.1 0.969, GPT-6.1 Sol 0.938, Sonnet +5.5 0.881, Qwen3.8-2.4T-A95B 0.832 and DeepSeek V4 Pro 0.755. Opus and +Fable refused five standard molecular-cloning prompts between them; a +refusal is the provider’s safety policy, not a protocol, so these are +reported but not scored. No model failed the simulator or a trap. The +physical-safety failures are three reservoir overdraws and, in the two +open-weight models only, four cross-contaminations. Easy tasks are +nearly solved; the paper-only tasks separate the models, and their +commonest failure is inventing steps and quantities that the paper does +not support. A repeat run of one model moved its mean by 0.08 and one +task by 0.70.

1 Introduction

Automating a published protocol on a liquid-handling robot is a translation problem with two failure modes. The first is mechanical: @@ -157,13 +159,15 @@

1 Introduction

against a ground-truth protocol representation, a 75/25 core/task rubric scored by a three-vote judge, and ten reward-hacking traps (Section 4). -
  • A validation of that verifier against reference solutions and 152 +
  • A validation of that verifier against reference solutions and 151 adversarial protocols, an audit that every quantity a paper-only task -grades is in its paper or brief, and eight grader faults found by -reading model runs, each fixed with a regression test (Section 5).
  • -
  • A comparison of four frontier models from two providers in one agent -harness, broken down by task, risk and rubric item, with safety refusals -reported separately from capability (Sections 6 and 7).
  • +grades is in its paper or brief, and ten grader faults found by reading +model runs, each fixed with a regression test (Section 5). +
  • A comparison of six models from four providers, two of them +open-weight, in one agent harness, broken down by task, risk and rubric +item, with safety refusals reported separately from capability, and a +repeat run that measures single-attempt noise and a parallel cloud +backend (Sections 6 and 7).
  • Work on language models for wet-lab protocols spans four questions: @@ -533,24 +537,27 @@

    5 Does the verifier grade simulated run and the loaded labware unchanged is reported as not applicable rather than scored.

    -Figure 2. Grader validation. Deterministic reward (judge off) for the reference solution at three API levels (left of the line, must be 1) and 152 attacks on nine tasks (right, must be below 1). All 27 controls score 1 and no attack does; the best-scoring attack gets 0.47, and every attack on the grader scores 0. +Figure 2. Grader validation. Deterministic reward (judge off) for the reference solution at three API levels (left of the line, must be 1) and 151 attacks on nine tasks (right, must be below 1). All 27 controls score 1 and no attack does; the best-scoring attack gets 0.47, and every attack on the grader scores 0. Outlined: halving every volume on colony-PCR-hard gives the paper’s own 10 µL reaction, a valid protocol that must score 1. +grader scores 0. Outlined: halving every volume on colony-PCR-hard gives +the paper’s own 10 µL reaction, a valid protocol that must score +1.

    Model runs taught the verifier. We read every failed check and rubric item from the runs in Section 7 and confirmed each -against the protocol. Six faults turned up (Table 3). A second check, +against the protocol. Eight faults turned up (Table 3), two of them in +the open-weight models’ runs. A second check, tests/test_hard_tasks.py, requires every volume a paper-only task grades deterministically to be in its paper or brief, or to follow from quoted facts by arithmetic the test spells out; it found two more. Each fix has a regression test.

    Table 3. Grader faults found by reading the model -runs (rows 1-6) and by the paper-only audit (rows 7-8).

    +runs (rows 1-6 and 9-10) and by the paper-only audit (rows 7-8).

    @@ -610,7 +617,21 @@

    5 Does the verifier grade

    - + + + + + + + + + + +
    Colony-PCR-hard graded the easy task’s 20 µL reaction; the paper’s is 10 µL, with no primer concentration on the deck Every model “failed” itThe reaction volume is left to the rubricNo exact volumes: every well must get all three inputs, alike, 10-25 +µL
    The lint gate refused Opentrons’ documented +pipette.tip_racks = [...]DeepSeek, a correct protocol scored 0Documented pipette settings allowed; patching classes or modules +still refused
    Mixing a source well before drawing from it (resuspending a colony) +was flagged as contaminationDeepSeek, colony-hard (0.30, really 1.00)Only mixing in a destination makes a tip carry
    @@ -623,41 +644,48 @@

    5 Does the verifier grade template”, the brief’s stock concentrations and the polymerase maker’s standard recipe. RNA-hard grades only the paper’s 40/250/250 µL, two 500 µL washes, 4 min drying, 100 µL elution and the brief’s 4 °C plate. -Colony-PCR-hard keeps its deck, tip and contamination checks and leaves -the reaction to the rubric. Whether the level is harder is a -weaker claim: its briefs list no steps and few volumes, but each model -has only 2-4 paper-only trials, so we call it paper-only rather than -hard.

    +Colony-PCR-hard keeps its deck, tip and contamination checks and, +instead of exact volumes, requires all three inputs in every well, +alike, and a reaction of 10-25 µL, from the paper’s “9 μL of this master +mix” plus 1 µL colony up to a standard Q5 reaction. Whether the level is +harder is a weaker claim: its briefs list no steps and few +volumes, but each model has only 2-4 paper-only trials, so we call it +paper-only rather than hard.

    6 Experimental setup

    We ran Claude Code 2.1.288 as the agent for every model through OpenRouter’s Anthropic-compatible API, with Harbor 0.23.0 on Docker, 2 CPUs and 2.5 GB per sandbox, one attempt per task and model (pass@1). -The models were Claude Sonnet 5.5, Opus 5.5 and Fable 5.1 (Anthropic) -and GPT-6.1 Sol (OpenAI). Harbor pins every model alias and sub-agent of -the harness to the model under test, and we checked that every -transcript contains only that model’s responses. The judge was Claude -Sonnet 5.5 throughout. The Claude trials were regraded from their saved -protocols with the final verifier; the GPT trials were graded by it -directly. Every graded protocol, check, judge vote and cost is released +The models were Claude Sonnet 5.5, Opus 5.5 and Fable 5.1 (Anthropic), +GPT-6.1 Sol (OpenAI), and the open-weight Qwen3.8-2.4T-A95B (Alibaba) +and DeepSeek V4 Pro (DeepSeek). DeepSeek ran on Modal with all 11 tasks +in parallel; the others ran locally, two at a time, and Qwen was +repeated on Modal. Harbor pins every model alias and sub-agent of the +harness to the model under test, and we checked that every transcript +contains only that model’s responses. The judge was Claude Sonnet 5.5 +throughout, and every trial is graded by the final verifier, earlier +ones regraded from their saved protocols. Agent cost is computed from +token counts at OpenRouter prices, since the harness prices every model +as Claude. Every graded protocol, check, judge vote and cost is released with the benchmark.

    7 Results

    -Figure 3. Reward on all 11 tasks, one attempt per task and model. Hatched cells are refusals. Above the line, easy tasks; below, paper-only tasks. +Figure 3. Reward on all 11 tasks, one attempt per task and model. Hatched cells are refusals. Above the line, easy tasks; below, paper-only tasks.

    Table 4. Summary. Refused tasks are not scored; the -first row is the headline. † Includes provisional scores (Section -8).

    +first row is the headline.

    -----+++++++ @@ -666,22 +694,28 @@

    7 Results

    + + - + - + + + - + - + + + @@ -689,20 +723,35 @@

    7 Results

    + + - + - + + + - + + + + + + + + + + + + @@ -710,85 +759,105 @@

    7 Results

    + + - + + +
    Opus 5.5 Fable 5.1 GPT-6.1 SolQwen3.8-2.4TDeepSeek V4 Pro
    Mean over the 8 tasks all answered0.8420.881 1.000 0.9690.8980.9380.8320.755
    Mean over all tasks answered0.863 (11)0.891 (11) 0.972 (9) 0.969 (8)0.881 (11)0.909 (11)0.728 (11)0.735 (11)
    Easy tasks, answered 1.000 0.958 1.0000.8000.800
    Paper-only tasks, answered0.797†0.875 0.917 1.0000.672†0.7500.6010.622
    fidelity_to_paper passed1/42/4 2/3 2/21/4 0/42/4
    Critical failures (capped at 0.30)100033
    Refused, not scored 2 3 000
    Agent cost (USD) 1.25 3.52 6.214.821.492.832.53
    -

    Easy tasks are nearly solved. Six of the seven easy -tasks gave every model that answered them full marks, and GPT-6.1 Sol -and Opus were perfect on every easy task they answered. The models -separate on RNA extraction and on the hard tasks, where 8 of 13 answered -trials failed fidelity_to_paper.

    +

    Easy tasks are nearly solved. Four of the seven easy +tasks gave every model full marks, and GPT-6.1 Sol and Opus were perfect +on every easy task they answered. The models separate on RNA extraction +and on the hard tasks, where 12 of 21 answered trials failed +fidelity_to_paper. The two open-weight models trail on both +levels.

    Refused tasks are not scored. Anthropic’s biosecurity safeguard declined both Golden Gate prompts for Opus and Fable and the paper-only E. coli transformation prompt for Fable. These are teaching-lab procedures, so the refusals are false positives; we report them as they happened and did not rephrase prompts. A refusal is the provider’s policy, not a protocol, and says nothing about a model’s -ability to write one, so we compare models on the eight tasks all four +ability to write one, so we compare models on the eight tasks all six answered and report refusals separately (Figure 4). Opus leads there, -with Fable, GPT and Sonnet a few judge items behind; Sonnet is the -cheapest, and Sonnet and GPT are the only models that answered every -task. ABC-Bench reports refusals on its dual-use screening-evasion task, -where the tested Anthropic and OpenAI frontier models refused every -sample (A. B. Liu et al. +with Fable, GPT and Sonnet a few judge items behind, then Qwen and +DeepSeek; Sonnet is the cheapest, and four of the six models answered +every task. ABC-Bench reports refusals on its dual-use screening-evasion +task, where the tested Anthropic and OpenAI frontier models refused +every sample (A. B. Liu et al. 2026); ours fall on benign tasks.

    -Figure 4. (a) Mean reward over the eight tasks all four models answered (the headline), over every task each model answered, and over the easy and paper-only tasks it answered. (b) Agent cost for the tasks each model answered against its headline score. +Figure 4. (a) Mean reward over the eight tasks all six models answered (the headline), over every task each model answered, and over the easy and paper-only tasks it answered. (b) Agent cost for the tasks each model answered against its headline score. +reward over the eight tasks all six models answered (the headline), over +every task each model answered, and over the easy and paper-only tasks +it answered. (b) Agent cost for the tasks each model answered against +its headline score.
    -

    The mechanical layers are solved; the signal is in the +

    The mechanical layers are nearly solved; the signal is in the judge. No model crashed the simulator, tripped a trap or broke -the lint gate, and the only physical-safety failure is Sonnet’s -reservoir overdraw (Figure 5). End-state misses are the colony-PCR-hard -plate for every model, which built the paper’s 10 µL reaction where the -ground truth fixes 20 µL, and GPT’s Golden-Gate-hard plate.

    +the lint gate (Figure 5). The closed models’ only physical-safety +failure is Sonnet’s reservoir overdraw; Qwen and DeepSeek overdraw the +same reservoir and add the run’s only cross-contaminations. End-state +misses are GPT’s and Qwen’s Golden-Gate-hard plates.

    -Figure 5. (a) Deterministic checks passed per risk and model. (b) Every rubric item the judge failed: 14 failures in 39 judged trials; tips_and_contamination passed in all 39. +Figure 5. (a) Deterministic checks passed / run per risk and model; red where any failed. (b) Every rubric item the judge failed: 28 failures in 61 judged trials. +Deterministic checks passed / run per risk and model; red where any +failed. (b) Every rubric item the judge failed: 28 failures in 61 judged +trials.
    -

    Error analysis. Three kinds of error account for +

    Error analysis. Four kinds of error account for every lost point that the audited verifier upholds. Inventing steps -the paper does not describe (all four models): Sonnet, Opus and GPT -pipette-mix competent cells after adding DNA on ecoli-hard, which harms -fragile cells; GPT adds a manual transfer of all 96 PCR reactions to a -second plate and a 1 µL water “QC aliquot” in Golden Gate. -Overdrawing a reservoir: Sonnet maps six sample columns onto -four ethanol wells, drawing 16 mL from a 15 mL well. Wrong -metadata: Fable credits the RNA paper to the wrong authors. Two -choices that looked like errors are not: recovering the whole 100 µL -eluate on RNA-hard and building the paper’s 10 µL colony-PCR reaction -both follow the paper; the scores that held them to the authors’ 80 µL -and the easy task’s 20 µL are provisional.

    +the paper does not describe (every model; Qwen fails +fidelity_to_paper on all four paper-only tasks): Sonnet, +Opus and GPT pipette-mix competent cells after adding DNA on ecoli-hard, +which harms fragile cells; GPT adds a manual transfer of all 96 PCR +reactions to a second plate and a 1 µL water “QC aliquot” in Golden +Gate. Overdrawing a reservoir (Sonnet, Qwen, DeepSeek): six +sample columns mapped onto four ethanol wells draw 16 mL from a 15 mL +well. One tip from the reaction back to the stock (Qwen on both +Golden Gate tasks, DeepSeek on AMPure and Golden-Gate-hard): +transfer(..., new_tip='once', mix_after=...) mixes in each +reaction and returns the same tip to the enzyme or bead stock, carrying +every reaction into it. Wrong metadata: Fable credits the RNA +paper to the wrong authors. Two choices that looked like errors are not: +recovering the whole 100 µL eluate on RNA-hard and building the paper’s +10 µL colony-PCR reaction both follow the paper, and every trial graded +before the audit has been re-judged.

    +

    One attempt is noisy, and the cloud is faster. Qwen +run a second time on Modal, everything else unchanged, scored 0.805 +against 0.728 locally; four tasks changed, by up to 0.70 (RNA extraction +0.30 to 1.00). Gaps of under about 0.1 between models are within this +noise. With all 11 tasks in parallel Modal finished in 31.9 minutes +against 54.7 for local Docker two at a time, despite about 1.5 minutes +of image build per sandbox; the wall clock is then the slowest trial, +and DeepSeek, without a slow trial, finished all 11 in 12 minutes.

    8 Discussion and limitations

    The paper is the hard part. Easy tasks saturate; the paper-only tasks separate models, and their dominant failure is inventing steps or quantities. GPT-6.1 Sol, perfect on easy tasks, -failed fidelity_to_paper on all four paper-only ones (two -provisional). The paper-only level is the one to grow, and each new task -must pass the audit.

    -

    Verifiers need adversaries. Eight grader faults +failed fidelity_to_paper on three of the four paper-only +ones, and Qwen on all four. The paper-only level is the one to grow, and +each new task must pass the audit.

    +

    Verifiers need adversaries. Ten grader faults survived reference solutions, unit tests and an adversarial suite, and surfaced only when we read what real models wrote or audited the ground -truth against the paper. One was a false negative that capped a correct -protocol at 0.30. Benchmarks that grade generated laboratory code should -publish their graded artefacts so faults like these can be found.

    +truth against the paper. Three were false negatives that capped or +zeroed a correct protocol, two of them found only when new models wrote +code in styles the earlier models had not. Benchmarks that grade +generated laboratory code should publish their graded artefacts so +faults like these can be found.

    Judge noise is real. Three calls per protocol -disagreed on seven items across the run, and single calls had scored +disagreed on 9 of 380 items across the run, and single calls had scored identical recipes differently. Majority voting absorbs this, but all signal still comes from one judge, a Claude model that also judges a non-Claude model. A second judge from another provider, as AEGIS does @@ -797,17 +866,12 @@

    8 Discussion and limitations

    Ground truth comes from the easy task. Three of the four paper-only tasks reuse their easy task’s ground truth, which is fair only where the paper fixes the same quantities. The audit now -enforces that.

    -

    Provisional scores. Five scores were judged before -the audit or with fewer than three votes: Sonnet and GPT on RNA-hard and -colony-PCR-hard, and Sonnet on heat-shock-hard. They are marked † in -Table 4 and on the leaderboard, with reasons in the released results. -API credit ran out before they could be re-judged; an open-weight model -(Qwen3.8) is the next run.

    +enforces that; where the paper fixes less, as in colony-PCR-hard, the +checks fall back to what it does fix.

    Scope. One robot (OT-2), one simulator, one agent -harness, four models, one attempt per cell. Repeated attempts, wet-lab -execution of the generated protocols and non-Opentrons instruments are -future work.

    +harness, six models, one attempt per cell (one model repeated). Repeated +attempts for every model, wet-lab execution of the generated protocols +and non-Opentrons instruments are future work.

    9 Conclusion

    Text2WetLab measures whether agents turn lab protocols and papers into robot code that does what the paper describes, not merely code that @@ -816,8 +880,8 @@

    9 Conclusion

    quantities of their own. Safety refusals on routine molecular biology are common enough that a benchmark has to keep them out of its scores and report them on their own. And the grader is itself an artefact to -validate: ours needed eight fixes, found only by reading real model -output and auditing the ground truth against the papers.

    +validate: ours needed ten fixes, found only by reading real model output +and auditing the ground truth against the papers.

    Data and code availability

    Tasks, verifier, reference solutions, adversarial suite, every graded protocol and grader record, and the scripts that produce every table and diff --git a/eval/protocol_lint.py b/eval/protocol_lint.py index 16ff37d..acbd3f6 100644 --- a/eval/protocol_lint.py +++ b/eval/protocol_lint.py @@ -18,12 +18,20 @@ FLOW_RATE_FIELDS = {"aspirate", "dispense", "blow_out"} +# Settable properties of a pipette (InstrumentContext) in the Opentrons API docs: ordinary protocol code, not patching. +PIPETTE_SETTINGS = {"tip_racks", "starting_tip", "default_speed"} +CLEARANCE_FIELDS = {"aspirate", "dispense"} def _is_flow_rate(t: ast.Attribute) -> bool: - """pipette.flow_rate.aspirate/dispense/blow_out = ... is ordinary Opentrons API use (pipetting speed).""" - return (t.attr in FLOW_RATE_FIELDS and isinstance(t.value, ast.Attribute) and t.value.attr == "flow_rate" - and isinstance(t.value.value, ast.Name)) + """A documented pipette setting on a local variable: p.flow_rate.aspirate/dispense/blow_out, + p.well_bottom_clearance.aspirate/dispense, p.tip_racks, p.starting_tip, p.default_speed. Assigning to anything else, + or to these on a module or class (protocol_api.InstrumentContext.tip_racks = ...), is still refused.""" + if isinstance(t.value, ast.Name): + return t.attr in PIPETTE_SETTINGS + return (isinstance(t.value, ast.Attribute) and isinstance(t.value.value, ast.Name) + and ((t.value.attr == "flow_rate" and t.attr in FLOW_RATE_FIELDS) + or (t.value.attr == "well_bottom_clearance" and t.attr in CLEARANCE_FIELDS))) def violations(source: str) -> list[str]: diff --git a/eval/spec_check.py b/eval/spec_check.py index 7a1e805..4e256e3 100644 --- a/eval/spec_check.py +++ b/eval/spec_check.py @@ -88,6 +88,7 @@ class State: wells: dict = field(default_factory=dict) # (labware, well) -> uL errors: list = field(default_factory=list) # (event index, code) aspirations: int = 0 + fed: dict = field(default_factory=dict) # (labware, well) -> labware it received liquid from def wells_of(event, loadnames=None) -> list[str]: @@ -101,14 +102,15 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f """Apply atomic events in order. `initial` = {(labware, well): uL} for non-stock wells; `ample` = (labware, well) pairs the IR declares as stocks with unlimited volume (aspirating from them is never an error and is not counted).""" st = State(wells=dict(initial or {})) + drawn = set() # labware the current tip has aspirated from for i, e in enumerate(events): kind = e["kind"] if kind == "pick": if st.tip: st.errors.append((i, "already_has_tip")) - st.tip, st.held = True, 0.0 + st.tip, st.held, drawn = True, 0.0, set() elif kind == "drop": - st.tip, st.held = False, 0.0 + st.tip, st.held, drawn = False, 0.0, set() elif kind in ("aspirate", "dispense"): vol = e["volume"] if not st.tip: @@ -125,20 +127,24 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f break st.wells[(e["labware"], w)] -= vol st.held += vol + drawn.add(e["labware"]) else: if vol > st.held + 1e-9: st.errors.append((i, "overdispense")) for w in wells_of(e, loadnames): st.wells[(e["labware"], w)] = st.wells.get((e["labware"], w), 0.0) + vol + st.fed.setdefault((e["labware"], w), set()).update(drawn - {e["labware"]}) st.held = max(st.held - vol, 0.0) return st def cross_contamination(events: list[dict]) -> list: """(event index, well) where one tip carries liquid between wells it should not. A tip may go back to wells it - dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a well (drawn - from a well it dispensed into), it carries that well's contents: dispensing into any other well, or drawing from - any other well (the stock included), is contamination until a fresh tip.""" + dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a destination + (drawn from a well it dispensed into that was not one of its sources), it carries that well's contents: dispensing + into any other well, or drawing from any other well (the stock included), is contamination until a fresh tip. + Mixing in a source before drawing from it (resuspending a colony or beads) carries nothing the transfer is not + meant to move.""" bad, sources, own, carried = [], set(), set(), set() for i, e in enumerate(events): if e["kind"] in ("pick", "drop"): @@ -152,9 +158,9 @@ def cross_contamination(events: list[dict]) -> list: key = (e["labware"], e["well"]) if (sources and key not in sources and key not in own) or carried - {key}: bad.append((i, key[1])) - if key in own: + if key in own and key not in sources: # mixing in a destination carried.add(key) - else: + elif key not in own: sources.add(key) return bad @@ -216,9 +222,11 @@ def _deck_mapping(proto, run, deck, add): def check(proto: Protocol, run: dict, free_wells: frozenset = frozenset(), deck: dict | None = None, - not_from_paper: frozenset = frozenset()) -> dict: + not_from_paper: dict | frozenset = frozenset()) -> dict: """Verdict for one simulated run against an IR. `run` is simulate()'s result; `deck` pins every container to a labware.""" checks = [] + if not isinstance(not_from_paper, dict): + not_from_paper = {c: None for c in not_from_paper} def add(name, ok, detail=""): checks.append({"name": name, "pass": bool(ok), "detail": detail}) @@ -262,12 +270,15 @@ def add(name, ok, detail=""): for cname, lab in mapping.items(): if kinds[cname] in ("reservoir", "waste"): continue - if cname in not_from_paper: # paper-only task whose paper does not fix this container's volumes: rubric only - na.append(f"end_state:{cname} (the source paper does not determine these volumes; judged by the rubric)") - continue want = {(tube_well[cname] if w == "" and tube_well.get(cname) else w): v for (cn, w), v in final.items() if cn == cname and v} only = tube_well.get(cname) # tubes share a rack: look at this tube's well only got = {w: round(v, 6) for (lb, w), v in st.wells.items() if lb == lab and v > 1e-9 and (lb, w) not in ample and (only is None or w == only)} + if cname in not_from_paper: # the paper does not fix these volumes: judge what it does fix + add(f"composition:{cname}", *_composition(cname, lab, want, got, st.fed, proto, mapping, + not_from_paper[cname], + cname in free_wells)) + na.append(f"end_state:{cname} (the source paper does not determine the exact volumes; composition checked instead)") + continue if cname in free_wells: # the instruction does not name the wells: judge the volumes, not the positions ok = sorted(round(v, 6) for v in want.values()) == sorted(got.values()) add(f"end_state:{cname}", ok, f"expected volumes {sorted(want.values())}, got {sorted(got.values())} (positions free)") @@ -280,12 +291,35 @@ def add(name, ok, detail=""): "aspirations": st.aspirations} -def not_from_paper(task_dir) -> frozenset: - """Containers whose end state the task's source paper does not determine, from task.toml [checks].""" +def _composition(cname, lab, want, got, fed, proto, mapping, volume_range, free) -> tuple[bool, str]: + """For a container whose exact volumes the paper does not fix: the same wells are filled (any wells if positions + are free), each from every source container the IR sends there, the wells the IR fills equally hold equal volumes, + and each volume is inside the range the paper supports.""" + problems = [] + if free and len(got) != len(want) or not free and set(got) != set(want): + problems.append(f"filled {len(got)} wells, expected {len(want)}" + ("" if free else f" ({sorted(set(want) ^ set(got))[:4]} differ)")) + need = {mapping[s.source] for s in proto.steps if s.kind == "transfer" and s.dest == cname and s.source in mapping} + short = sorted(w for w in got if need - fed.get((lab, w), set())) + if short: + problems.append(f"{len(short)} wells lack an input, e.g. {short[0]} has none from {sorted(need - fed.get((lab, short[0]), set()))}") + if len(set(want.values())) == 1 and len(set(got.values())) > 1: + problems.append(f"unequal volumes {sorted(set(got.values()))[:4]}") + if volume_range: + lo, hi = volume_range + off = sorted(v for v in set(got.values()) if not lo - 1e-6 <= v <= hi + 1e-6) + if off: + problems.append(f"volumes {off[:3]} outside the {lo:g}-{hi:g} uL the paper supports") + return not problems, "; ".join(problems) + + +def not_from_paper(task_dir) -> dict: + """Containers whose exact end state the task's source paper does not determine, from task.toml [checks]: + {container: (min uL, max uL) the paper supports, or None}. A list of names (no range) is accepted too.""" import tomllib f = pathlib.Path(task_dir) / "task.toml" - return frozenset(tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", [])) if f.exists() else frozenset() + nfp = tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", []) if f.exists() else [] + return {c: None for c in nfp} if isinstance(nfp, list) else {c: tuple(r) if r else None for c, r in nfp.items()} def free_wells(task_dir) -> frozenset: diff --git a/manuscript/main.md b/manuscript/main.md index e2acfa9..9b21000 100644 --- a/manuscript/main.md +++ b/manuscript/main.md @@ -19,16 +19,17 @@ exact steps; *paper-only* ("hard") tasks give only a goal, a fixed deck and the protocols whose authors also released their robot code, which gives an independent reference for each. A layered verifier scores the agent's Opentrons OT-2 protocol with a lint gate, ten reward-hacking traps, the Opentrons simulator, deterministic checks of the simulated run against a ground-truth protocol representation, and a pass/fail rubric scored by a language-model judge as the majority of -three calls. We validate the verifier from both sides: all 11 reference solutions pass, 152 broken or cheating -protocols of 18 kinds all fail (none scores above 0.47), a close reading of the model runs exposed six grader +three calls. We validate the verifier from both sides: all 11 reference solutions pass, 151 broken or cheating +protocols of 18 kinds all fail (none scores above 0.47), a close reading of the model runs exposed eight grader faults, and an audit requiring every quantity a paper-only task grades to be in its paper or brief found two more; -all eight are fixed. Running one agent harness (Claude Code) with four models through one API, and scoring only the +all ten are fixed. Running one agent harness (Claude Code) with six models through one API, and scoring only the tasks a model answered, Claude Opus 5.5 scores 1.000 on the eight tasks every model answered, Fable 5.1 0.969, GPT-6.1 -Sol 0.898 and Sonnet 5.5 0.842. Opus and Fable refused five standard molecular-cloning prompts between them; a refusal -is the provider's safety policy, not a protocol, so these are reported but not scored. No model failed the simulator or a trap, and only one broke a physical -safety rule. Easy tasks are nearly solved; the paper-only tasks separate the models, and their commonest failure is -inventing steps and quantities that the paper does not support. Five of the 44 scores are provisional until a -re-judge with the audited verifier. +Sol 0.938, Sonnet 5.5 0.881, Qwen3.8-2.4T-A95B 0.832 and DeepSeek V4 Pro 0.755. Opus and Fable refused five standard +molecular-cloning prompts between them; a refusal is the provider's safety policy, not a protocol, so these are +reported but not scored. No model failed the simulator or a trap. The physical-safety failures are three reservoir +overdraws and, in the two open-weight models only, four cross-contaminations. Easy tasks are nearly solved; the +paper-only tasks separate the models, and their commonest failure is inventing steps and quantities that the paper +does not support. A repeat run of one model moved its mean by 0.08 and one task by 0.70. ## 1 Introduction @@ -49,11 +50,12 @@ quantity checked in the simulated run against a ground truth, and whether the gr source paper, which it must read (Section 3). 2. A layered verifier: deterministic checks of the simulated run against a ground-truth protocol representation, a 75/25 core/task rubric scored by a three-vote judge, and ten reward-hacking traps (Section 4). -3. A validation of that verifier against reference solutions and 152 adversarial protocols, an audit that every - quantity a paper-only task grades is in its paper or brief, and eight grader faults +3. A validation of that verifier against reference solutions and 151 adversarial protocols, an audit that every + quantity a paper-only task grades is in its paper or brief, and ten grader faults found by reading model runs, each fixed with a regression test (Section 5). -4. A comparison of four frontier models from two providers in one agent harness, broken down by task, risk and rubric - item, with safety refusals reported separately from capability (Sections 6 and 7). +4. A comparison of six models from four providers, two of them open-weight, in one agent harness, broken down by task, + risk and rubric item, with safety refusals reported separately from capability, and a repeat run that measures + single-attempt noise and a parallel cloud backend (Sections 6 and 7). ## 2 Related work @@ -226,17 +228,18 @@ left on) and attacks on the grader (an empty protocol, comments that only claim and the loaded labware unchanged is reported as not applicable rather than scored. ![**Figure 2.** Grader validation. Deterministic reward (judge off) for the reference solution at three API levels -(left of the line, must be 1) and 152 attacks on nine tasks (right, must be below 1). All 27 controls score 1 and no -attack does; the best-scoring attack gets 0.47, and every attack on the grader scores 0.](../docs/preprint/figures/grader_validation.png) +(left of the line, must be 1) and 151 attacks on nine tasks (right, must be below 1). All 27 controls score 1 and no +attack does; the best-scoring attack gets 0.47, and every attack on the grader scores 0. Outlined: halving every volume +on colony-PCR-hard gives the paper's own 10 µL reaction, a valid protocol that must score 1.](../docs/preprint/figures/grader_validation.png) **Model runs taught the verifier.** We read every failed check and rubric item from the runs in Section 7 and confirmed -each against the protocol. Six faults turned up (Table 3). A second check, `tests/test_hard_tasks.py`, requires every +each against the protocol. Eight faults turned up (Table 3), two of them in the open-weight models' runs. A second check, `tests/test_hard_tasks.py`, requires every volume a paper-only task grades deterministically to be in its paper or brief, or to follow from quoted facts by arithmetic the test spells out; it found two more. Each fix has a regression test.

    -**Table 3.** Grader faults found by reading the model runs (rows 1-6) and by the paper-only audit (rows 7-8). +**Table 3.** Grader faults found by reading the model runs (rows 1-6 and 9-10) and by the paper-only audit (rows 7-8). | Fault | Found in | Fix | |---|---|---| @@ -247,7 +250,9 @@ arithmetic the test spells out; it found two more. Each fix has a regression tes | One judge call scored identical recipes differently | Colony-PCR-hard | Three calls, majority per item; primer volume left to the agent, as the deck gives no concentration | | End-state details truncated to 160 characters | Every colony-hard report | Full expected and measured values | | RNA-hard's rubric required 80 µL recovered; the paper says only "collect the supernatant" | Sonnet, GPT marked down | Any full recovery passes on the paper-only task | -| Colony-PCR-hard graded the easy task's 20 µL reaction; the paper's is 10 µL, with no primer concentration on the deck | Every model "failed" it | The reaction volume is left to the rubric | +| Colony-PCR-hard graded the easy task's 20 µL reaction; the paper's is 10 µL, with no primer concentration on the deck | Every model "failed" it | No exact volumes: every well must get all three inputs, alike, 10-25 µL | +| The lint gate refused Opentrons' documented `pipette.tip_racks = [...]` | DeepSeek, a correct protocol scored 0 | Documented pipette settings allowed; patching classes or modules still refused | +| Mixing a source well before drawing from it (resuspending a colony) was flagged as contamination | DeepSeek, colony-hard (0.30, really 1.00) | Only mixing in a destination makes a tip carry |
    @@ -256,18 +261,21 @@ its own ground truth from the APEX paper: temperatures and times in the text, vo hard's master-mix volumes follow from the paper's "25 µL volumes … 0.1 µM primers and 0.5 ng … template", the brief's stock concentrations and the polymerase maker's standard recipe. RNA-hard grades only the paper's 40/250/250 µL, two 500 µL washes, 4 min drying, 100 µL elution and the brief's 4 °C plate. Colony-PCR-hard keeps its deck, tip and -contamination checks and leaves the reaction to the rubric. Whether the level is *harder* is a weaker claim: its briefs +contamination checks and, instead of exact volumes, requires all three inputs in every well, alike, and a reaction of +10-25 µL, from the paper's "9 μL of this master mix" plus 1 µL colony up to a standard Q5 reaction. Whether the level is *harder* is a weaker claim: its briefs list no steps and few volumes, but each model has only 2-4 paper-only trials, so we call it paper-only rather than hard. ## 6 Experimental setup We ran Claude Code 2.1.288 as the agent for every model through OpenRouter's Anthropic-compatible API, with Harbor 0.23.0 on Docker, 2 CPUs and 2.5 GB per sandbox, one attempt per task and model (pass@1). The models were Claude Sonnet -5.5, Opus 5.5 and Fable 5.1 (Anthropic) and GPT-6.1 Sol (OpenAI). Harbor pins every model alias and sub-agent of the -harness to the model under test, and we checked that every transcript contains only that model's responses. The judge -was Claude Sonnet 5.5 throughout. The Claude trials were regraded from their saved protocols with the final verifier; -the GPT trials were graded by it directly. Every graded protocol, check, judge vote and cost is released with the -benchmark. +5.5, Opus 5.5 and Fable 5.1 (Anthropic), GPT-6.1 Sol (OpenAI), and the open-weight Qwen3.8-2.4T-A95B (Alibaba) and +DeepSeek V4 Pro (DeepSeek). DeepSeek ran on Modal with all 11 tasks in parallel; the others ran locally, two at a time, +and Qwen was repeated on Modal. Harbor pins every model alias and sub-agent of the harness to the model under test, and +we checked that every transcript contains only that model's responses. The judge was Claude Sonnet 5.5 throughout, and +every trial is graded by the final verifier, earlier ones regraded from their saved protocols. Agent cost is computed +from token counts at OpenRouter prices, since the harness prices every model as Claude. Every graded protocol, check, +judge vote and cost is released with the benchmark. ## 7 Results @@ -276,78 +284,82 @@ tasks; below, paper-only tasks.](../docs/preprint/figures/run_rewards.png)
    -**Table 4.** Summary. Refused tasks are not scored; the first row is the headline. † Includes provisional scores (Section 8). +**Table 4.** Summary. Refused tasks are not scored; the first row is the headline. -| | Sonnet 5.5 | Opus 5.5 | Fable 5.1 | GPT-6.1 Sol | -|---|:---:|:---:|:---:|:---:| -| **Mean over the 8 tasks all answered** | 0.842 | **1.000** | 0.969 | 0.898 | -| Mean over all tasks answered | 0.863 (11) | **0.972** (9) | 0.969 (8) | 0.881 (11) | -| Easy tasks, answered | 0.900 | **1.000** | 0.958 | **1.000** | -| Paper-only tasks, answered | 0.797† | 0.917 | **1.000** | 0.672† | -| `fidelity_to_paper` passed | 1/4 | 2/3 | 2/2 | 0/4 | -| Refused, not scored | 0 | 2 | 3 | 0 | -| Agent cost (USD) | **1.25** | 3.52 | 6.21 | 4.82 | +| | Sonnet 5.5 | Opus 5.5 | Fable 5.1 | GPT-6.1 Sol | Qwen3.8-2.4T | DeepSeek V4 Pro | +|---|:---:|:---:|:---:|:---:|:---:|:---:| +| **Mean over the 8 tasks all answered** | 0.881 | **1.000** | 0.969 | 0.938 | 0.832 | 0.755 | +| Mean over all tasks answered | 0.891 (11) | **0.972** (9) | 0.969 (8) | 0.909 (11) | 0.728 (11) | 0.735 (11) | +| Easy tasks, answered | 0.900 | **1.000** | 0.958 | **1.000** | 0.800 | 0.800 | +| Paper-only tasks, answered | 0.875 | 0.917 | **1.000** | 0.750 | 0.601 | 0.622 | +| `fidelity_to_paper` passed | 2/4 | 2/3 | 2/2 | 1/4 | 0/4 | 2/4 | +| Critical failures (capped at 0.30) | 1 | 0 | 0 | 0 | 3 | 3 | +| Refused, not scored | 0 | 2 | 3 | 0 | 0 | 0 | +| Agent cost (USD) | **1.25** | 3.52 | 6.21 | 1.49 | 2.83 | 2.53 |
    -**Easy tasks are nearly solved.** Six of the seven easy tasks gave every model that answered them full marks, and -GPT-6.1 Sol and Opus were perfect on every easy task they answered. The models separate on RNA extraction and on the hard tasks, -where 8 of 13 answered trials failed `fidelity_to_paper`. +**Easy tasks are nearly solved.** Four of the seven easy tasks gave every model full marks, and GPT-6.1 Sol and Opus +were perfect on every easy task they answered. The models separate on RNA extraction and on the hard tasks, where 12 of +21 answered trials failed `fidelity_to_paper`. The two open-weight models trail on both levels. **Refused tasks are not scored.** Anthropic's biosecurity safeguard declined both Golden Gate prompts for Opus and Fable and the paper-only E. coli transformation prompt for Fable. These are teaching-lab procedures, so the refusals are false positives; we report them as they happened and did not rephrase prompts. A refusal is the provider's policy, not -a protocol, and says nothing about a model's ability to write one, so we compare models on the eight tasks all four +a protocol, and says nothing about a model's ability to write one, so we compare models on the eight tasks all six answered and report refusals separately (Figure 4). Opus leads there, with Fable, GPT and Sonnet a few judge items -behind; Sonnet is the cheapest, and Sonnet and GPT are the only models that answered every task. ABC-Bench reports refusals on +behind, then Qwen and DeepSeek; Sonnet is the cheapest, and four of the six models answered every task. ABC-Bench reports refusals on its dual-use screening-evasion task, where the tested Anthropic and OpenAI frontier models refused every sample [@liu2026abcbench]; ours fall on benign tasks. -![**Figure 4.** (a) Mean reward over the eight tasks all four models answered (the headline), over every task each +![**Figure 4.** (a) Mean reward over the eight tasks all six models answered (the headline), over every task each model answered, and over the easy and paper-only tasks it answered. (b) Agent cost for the tasks each model answered against its headline score.](../docs/preprint/figures/run_means_cost.png) -**The mechanical layers are solved; the signal is in the judge.** No model crashed the simulator, tripped a trap or -broke the lint gate, and the only physical-safety failure is Sonnet's reservoir overdraw (Figure 5). End-state misses are -the colony-PCR-hard plate for every model, which built the paper's 10 µL reaction where the ground truth fixes 20 µL, -and GPT's Golden-Gate-hard plate. +**The mechanical layers are nearly solved; the signal is in the judge.** No model crashed the simulator, tripped a +trap or broke the lint gate (Figure 5). The closed models' only physical-safety failure is Sonnet's reservoir overdraw; +Qwen and DeepSeek overdraw the same reservoir and add the run's only cross-contaminations. End-state misses are GPT's +and Qwen's Golden-Gate-hard plates. -![**Figure 5.** (a) Deterministic checks passed per risk and model. (b) Every rubric item the judge failed: 14 failures -in 39 judged trials; `tips_and_contamination` passed in all 39.](../docs/preprint/figures/run_where_lost.png) +![**Figure 5.** (a) Deterministic checks passed / run per risk and model; red where any failed. (b) Every rubric item +the judge failed: 28 failures in 61 judged trials.](../docs/preprint/figures/run_where_lost.png) -**Error analysis.** Three kinds of error account for every lost point that the audited verifier upholds. *Inventing steps the paper does not describe* -(all four models): Sonnet, Opus and GPT pipette-mix competent cells after adding DNA on ecoli-hard, which harms +**Error analysis.** Four kinds of error account for every lost point that the audited verifier upholds. *Inventing steps the paper does not describe* +(every model; Qwen fails `fidelity_to_paper` on all four paper-only tasks): Sonnet, Opus and GPT pipette-mix competent cells after adding DNA on ecoli-hard, which harms fragile cells; GPT adds a manual transfer of all 96 PCR reactions to a second plate and a 1 µL water "QC aliquot" in -Golden Gate. *Overdrawing a reservoir*: Sonnet maps six sample columns onto -four ethanol wells, drawing 16 mL from a 15 mL well. *Wrong metadata*: Fable credits the RNA paper to the wrong +Golden Gate. *Overdrawing a reservoir* (Sonnet, Qwen, DeepSeek): six sample columns mapped +onto four ethanol wells draw 16 mL from a 15 mL well. *One tip from the reaction back to the stock* (Qwen on both Golden +Gate tasks, DeepSeek on AMPure and Golden-Gate-hard): `transfer(..., new_tip='once', mix_after=...)` mixes in each +reaction and returns the same tip to the enzyme or bead stock, carrying every reaction into it. *Wrong metadata*: Fable credits the RNA paper to the wrong authors. Two choices that looked like errors are not: recovering the whole 100 µL eluate on RNA-hard and building the -paper's 10 µL colony-PCR reaction both follow the paper; the scores that held them to the authors' 80 µL and the easy -task's 20 µL are provisional. +paper's 10 µL colony-PCR reaction both follow the paper, and every trial graded before the audit has been re-judged. + +**One attempt is noisy, and the cloud is faster.** Qwen run a second time on Modal, everything else unchanged, scored +0.805 against 0.728 locally; four tasks changed, by up to 0.70 (RNA extraction 0.30 to 1.00). Gaps of under about 0.1 +between models are within this noise. With all 11 tasks in parallel Modal finished in 31.9 minutes against 54.7 for local +Docker two at a time, despite about 1.5 minutes of image build per sandbox; the wall clock is then the slowest trial, and +DeepSeek, without a slow trial, finished all 11 in 12 minutes. ## 8 Discussion and limitations **The paper is the hard part.** Easy tasks saturate; the paper-only tasks separate models, and their dominant failure -is inventing steps or quantities. GPT-6.1 Sol, perfect on easy tasks, failed `fidelity_to_paper` on all four -paper-only ones (two provisional). The paper-only level is the one to grow, and each new task must pass the audit. +is inventing steps or quantities. GPT-6.1 Sol, perfect on easy tasks, failed `fidelity_to_paper` on three of the +four paper-only ones, and Qwen on all four. The paper-only level is the one to grow, and each new task must pass the audit. -**Verifiers need adversaries.** Eight grader faults survived reference solutions, unit tests and an adversarial suite, -and surfaced only when we read what real models wrote or audited the ground truth against the paper. One was a false negative that capped a correct protocol at 0.30. +**Verifiers need adversaries.** Ten grader faults survived reference solutions, unit tests and an adversarial suite, +and surfaced only when we read what real models wrote or audited the ground truth against the paper. Three were false negatives that capped or zeroed a correct protocol, two of them found only when new models wrote code in styles the earlier models had not. Benchmarks that grade generated laboratory code should publish their graded artefacts so faults like these can be found. -**Judge noise is real.** Three calls per protocol disagreed on seven items across the run, and single calls had scored +**Judge noise is real.** Three calls per protocol disagreed on 9 of 380 items across the run, and single calls had scored identical recipes differently. Majority voting absorbs this, but all signal still comes from one judge, a Claude model that also judges a non-Claude model. A second judge from another provider, as AEGIS does with five backends [@setty2026aegis], would show whether that matters. **Ground truth comes from the easy task.** Three of the four paper-only tasks reuse their easy task's ground truth, -which is fair only where the paper fixes the same quantities. The audit now enforces that. - -**Provisional scores.** Five scores were judged before the audit or with fewer than three votes: Sonnet and GPT on -RNA-hard and colony-PCR-hard, and Sonnet on heat-shock-hard. They are marked † in Table 4 and on the leaderboard, with -reasons in the released results. API credit ran out before they could be re-judged; an open-weight model (Qwen3.8) is -the next run. +which is fair only where the paper fixes the same quantities. The audit now enforces that; where the paper fixes less, +as in colony-PCR-hard, the checks fall back to what it does fix. -**Scope.** One robot (OT-2), one simulator, one agent harness, four models, one attempt per cell. Repeated attempts, +**Scope.** One robot (OT-2), one simulator, one agent harness, six models, one attempt per cell (one model repeated). Repeated attempts for every model, wet-lab execution of the generated protocols and non-Opentrons instruments are future work. ## 9 Conclusion @@ -356,7 +368,7 @@ Text2WetLab measures whether agents turn lab protocols and papers into robot cod not merely code that runs. Frontier models clear the mechanical layers and nearly solve step-by-step tasks, but when they must read the paper they add steps and quantities of their own. Safety refusals on routine molecular biology are common enough that a benchmark has to keep them out of its scores and report them on their own. And the grader is -itself an artefact to validate: ours needed eight fixes, found only by reading real model output and auditing the +itself an artefact to validate: ours needed ten fixes, found only by reading real model output and auditing the ground truth against the papers. ## Data and code availability diff --git a/results/adversarial.json b/results/adversarial.json index f3eedca..da54c31 100644 --- a/results/adversarial.json +++ b/results/adversarial.json @@ -558,25 +558,24 @@ "error": "" }, "drop_last_transfer": { - "reward": 0.3333, + "reward": 0.25, "failed_checks": [ - "end_state:pcr_plate" + "composition:pcr_plate" ], "lint": [], "error": "" }, "halve_volumes": { - "reward": 0.3333, - "failed_checks": [ - "end_state:pcr_plate" - ], + "reward": 1.0, + "failed_checks": [], "lint": [], - "error": "" + "error": "", + "valid": "9 uL mix + 0.5 + 0.5 = 10 uL, the paper's OT-2 reaction volume" }, "double_volumes": { - "reward": 0.3333, + "reward": 0.25, "failed_checks": [ - "end_state:pcr_plate" + "composition:pcr_plate" ], "lint": [], "error": "" @@ -604,7 +603,7 @@ "error": "" }, "reservoir_labelled_as_plate_kind": { - "reward": 0.1875, + "reward": 0.1667, "failed_checks": [ "deck_labware:master_mix_reservoir", "no_aspirate_from_empty_well" @@ -613,7 +612,7 @@ "error": "" }, "wrong_slot": { - "reward": 0.1667, + "reward": 0.125, "failed_checks": [ "deck_labware:colony_plate", "no_aspirate_from_empty_well" @@ -636,9 +635,9 @@ "error": "" }, "extra_liquid_into_target": { - "reward": 0.3333, + "reward": 0.25, "failed_checks": [ - "end_state:pcr_plate" + "composition:pcr_plate" ], "lint": [], "error": "" diff --git a/results/repeats/2026-10-07-qwen-modal/README.md b/results/repeats/2026-10-07-qwen-modal/README.md new file mode 100644 index 0000000..9fbb8d1 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/README.md @@ -0,0 +1,39 @@ +# Qwen3.8-2.4T-A95B, repeated on Modal (2026-10-07) + +The same model, agent (Claude Code via OpenRouter), tasks and grader as the Qwen run in +[`results/runs/2026-10-07-openrouter`](../../runs/2026-10-07-openrouter/), run a second time on Modal with all 11 +tasks at once (`harbor run ... -e modal -n 11`) instead of local Docker two at a time. It measures two things: what +running in parallel on Modal buys, and how much one model's score moves between two pass@1 attempts. The leaderboard +uses the local run, so every model there ran in the same environment except DeepSeek V4 Pro (Modal only). + +| Job | Trials | Wall clock | Median trial | Median env setup | Median agent | Median verifier | Agent cost | Mean reward (answered) | +|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| +| Qwen, local Docker (2 at a time) | 11 | 54.7 min | 4.4 min | 7 s | 3.0 min | 46 s | $2.83 | 0.728 (n=11) | +| Qwen, Modal (11 at a time) | 11 | 31.9 min | 7.8 min | 1.5 min | 4.9 min | 45 s | $3.61 | 0.805 (n=11) | +| DeepSeek, Modal (11 at a time) | 11 | 12.0 min | 4.7 min | 1.5 min | 1.8 min | 53 s | $2.53 | 0.581 (n=11) | + +| Task | Qwen, local Docker (2 at a time) | Qwen, Modal (11 at a time) | DeepSeek, Modal (11 at a time) | +|---|:---:|:---:|:---:| +| `a1-a12-100ul` | 1.00 | 1.00 | 0.00 | +| `ampure-bead-cleanup` | 1.00 | 1.00 | 0.30 | +| `colony-pcr-screening` | 1.00 | 1.00 | 1.00 | +| `ecoli-heat-shock-transformation` | 1.00 | 1.00 | 1.00 | +| `golden-gate-assembly` | 0.30 | 0.30 | 1.00 | +| `opentrons-rna-extraction` | 0.30 | 1.00 | 0.30 | +| `split-200ul-two-wells` | 1.00 | 1.00 | 1.00 | +| `colony-pcr-screening-hard` | 0.67 | 0.75 | 0.30 | +| `ecoli-heat-shock-transformation-hard` | 0.75 | 0.30 | 0.75 | +| `golden-gate-assembly-hard` | 0.30 | 0.75 | 0.30 | +| `opentrons-rna-extraction-hard` | 0.69 | 0.75 | 0.44 | + +Made with `scripts/compare_jobs.py ... --prices`. Rewards are as graded at run time: DeepSeek's two grader false +positives (`a1-a12-100ul` 0.00 and `colony-pcr-screening-hard` 0.30 here) were fixed and regraded to 1.00 in the main run. + +- **Wall clock.** Modal finished in 31.9 min against 54.7 min locally (1.7x). With every task running at once the wall + clock is the slowest trial: Qwen's 28-minute agent session on `opentrons-rna-extraction`. DeepSeek, with no such + outlier, finished all 11 in 12.0 min. +- **Per-trial overhead.** Modal builds each task's image in its sandbox (median 1.5 min against 7 s locally, where + images are cached), and its agent sessions ran longer (median 4.9 against 3.0 min). +- **Run-to-run variation.** The mean moved 0.728 to 0.805 between two attempts of the same model. Four tasks changed + score: RNA extraction 0.30 to 1.00, heat-shock-hard 0.75 to 0.30, Golden-Gate-hard 0.30 to 0.75, colony-PCR-hard + 0.67 to 0.75. Differences of this size between models on single attempts are within noise. diff --git a/results/repeats/2026-10-07-qwen-modal/prices.json b/results/repeats/2026-10-07-qwen-modal/prices.json new file mode 100644 index 0000000..d5f436b --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/prices.json @@ -0,0 +1,7 @@ +{ + "qwen/qwen3.8-2.4t-a95b": { + "completion": "0.000006", + "input_cache_read": "0.00000025", + "prompt": "0.000002" + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/grader.json new file mode 100644 index 0000000..a7aa0b0 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/grader.json @@ -0,0 +1,137 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 28 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.15 is valid; distribute(100,...) with the p300 keeps every aspirate at or below 300 \u00b5L, and the checks for overdispense and empty-well aspiration passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "distribute defaults to one tip for the run, which is dropped at the end; tip_before_aspirate, tip_dropped_at_end and no_cross_contamination all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "The only step, 100 \u00b5L from reservoir A1 to plate A1\u2013A12, is done in order; the extra disposal volume is blown back out and does not change any well's contents (end_state:plate passed).", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "deck_and_hardware", + "score": 1, + "evidence": "Reservoir is loaded in slot 1 and plate in slot 2 with the specified labels, p20 is on the left and p300 on the right, and the tip racks are in slots 10 and 11.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "volumes_and_wells", + "score": 1, + "evidence": "pipette=p300 and plate.rows()[0] covers A1\u2013A12 with 100 \u00b5L each from reservoir A1; end_state:plate passed.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "deck_and_hardware": 1.0, + "volumes_and_wells": 1.0 + }, + "summary": "The protocol uses p300 distribute() from reservoir A1 to plate row A (A1\u2013A12), 100 \u00b5L each. It simulates cleanly, all measured checks passed, and the labware, pipettes and slots match the task.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "deck_and_hardware": 0.125, + "volumes_and_wells": 0.125 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/protocol.py new file mode 100644 index 0000000..1b0d9e8 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/protocol.py @@ -0,0 +1,32 @@ +from opentrons import protocol_api + +metadata = { + 'protocolName': 'Distribute 100 uL from reservoir to plate A1:A12', + 'apiLevel': '2.15', +} + + +def run(protocol: protocol_api.ProtocolContext): + # Load labware + reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 1, label='reservoir') + plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 2, label='plate') + + # Load pipettes + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', + tip_racks=[protocol.load_labware( + 'opentrons_96_tiprack_20ul', 10)]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', + tip_racks=[protocol.load_labware( + 'opentrons_96_tiprack_300ul', 11)]) + + # 100 uL needs the 300 uL pipette + pipette = p300 + + # Step 1: Transfer 100 uL from reservoir A1 to plate wells A1:A12. + # One source well feeds every destination well; distribute() chunks + # the aspirates so the tip never holds more than the pipette can. + pipette.distribute(100, reservoir['A1'], plate.rows()[0]) diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/reward.json new file mode 100644 index 0000000..5b16841 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/trial.json new file mode 100644 index 0000000..5f7cd9c --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/a1-a12-100ul/trial.json @@ -0,0 +1,29 @@ +{ + "task": "a1-a12-100ul", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + }, + "exception": null, + "cost_usd": 0.05867, + "input_tokens": 68097, + "output_tokens": 1602, + "started_at": "2026-10-07T18:21:21.477734Z", + "finished_at": "2026-10-07T18:25:18.262972Z", + "cache_tokens": 49792, + "claude_code_cost_usd": 0.17932225 +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/grader.json new file mode 100644 index 0000000..b35593a --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/grader.json @@ -0,0 +1,168 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 7118 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:sample_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:elution_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13, labware loaded with the required labels, and the p300 handles every volume (40\u2013200 \u00b5L). Mix volumes (80 and 45 \u00b5L) fit within the well contents, and all end_state checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Every add_to_plate, remove_to_waste and transfer_pairs call does pick_up_tip and drop_tip for each well. The tip_before_aspirate, tip_dropped_at_end and no_cross_contamination checks all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "All 13 steps run in order with the right volumes, 10x mixes after the beads and the water, and protocol.comment records for the incubation, magnet, drying and disengage steps. Nothing extra is added and the comments match the actions.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "binding", + "score": 1, + "evidence": "add_to_plate(40, bead_source, sample_wells, mix_reps=10, mix_volume=80) adds beads and mixes 10x. A 5 min incubation comment follows before the magnet comment.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "supernatant_and_washes", + "score": 1, + "evidence": "A comment records engaging the magnet and waiting 5 min. remove_to_waste(90) clears every well, then two rounds of add_to_plate(200) ethanol and remove_to_waste(200) follow.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "drying_and_elution", + "score": 1, + "evidence": "Comments record a 5 min air dry and disengaging the magnet. 50 \u00b5L water is added with a 10x mix, then comes the 2 min incubation and magnet re-engage comment.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "recovery", + "score": 1, + "evidence": "transfer_pairs(45, sample_wells, elution_wells) pairs the wells in order, A1 to A1 and so on, using a fresh tip each time.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "binding": 1.0, + "supernatant_and_washes": 1.0, + "drying_and_elution": 1.0, + "recovery": 1.0 + }, + "summary": "The protocol follows all 13 steps in order with correct volumes, a fresh tip per well, and comment records for the manual steps. All measured checks passed and I found no deviations.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "binding": 0.0625, + "supernatant_and_washes": 0.0625, + "drying_and_elution": 0.0625, + "recovery": 0.0625 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_binding": 1.0, + "rubric_supernatant_and_washes": 1.0, + "rubric_drying_and_elution": 1.0, + "rubric_recovery": 1.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/protocol.py new file mode 100644 index 0000000..1b624b1 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/protocol.py @@ -0,0 +1,138 @@ +from opentrons import protocol_api + +metadata = { + 'apiLevel': '2.13', + 'protocolName': 'AMPure XP PCR Cleanup', + 'description': '0.8x AMPure XP magnetic bead cleanup of 96 PCR products', +} + + +def run(protocol: protocol_api.ProtocolContext): + # ---------------- Labware ---------------- + sample_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='sample_plate') + beads_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 2, label='beads_reservoir') + ethanol_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='ethanol_reservoir') + water_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 4, label='water_reservoir') + waste = protocol.load_labware( + 'nest_1_reservoir_195ml', 5, label='waste') + elution_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 6, label='elution_plate') + + # ---------------- Pipettes ---------------- + tips_20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips_300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips_20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips_300]) + + # All transfers in this protocol are 40-200 uL -> p300 is used throughout. + + # ---------------- Locations ---------------- + sample_wells = sample_plate.wells() # A1..H12, in order + elution_wells = elution_plate.wells() # A1..H12, in order + bead_source = beads_reservoir['A1'] + ethanol_source = ethanol_reservoir['A1'] + water_source = water_reservoir['A1'] + waste_dest = waste['A1'] + + # ---------------- Helpers ---------------- + def add_to_plate(volume, source, dests, mix_reps=0, mix_volume=0): + """One source -> many destination wells, one fresh tip per well.""" + for dest in dests: + p300.pick_up_tip() + p300.aspirate(volume, source) + p300.dispense(volume, dest) + if mix_reps: + p300.mix(mix_reps, mix_volume, dest) + p300.drop_tip() + p300.reset_tipracks() + + def remove_to_waste(volume, sources, dest): + """Many source wells -> one destination, one fresh tip per well.""" + for src in sources: + p300.pick_up_tip() + p300.aspirate(volume, src) + p300.dispense(volume, dest) + p300.drop_tip() + p300.reset_tipracks() + + def transfer_pairs(volume, sources, dests): + """Paired well-to-well transfers (A1->A1, A2->A2, ...).""" + for src, dest in zip(sources, dests): + p300.pick_up_tip() + p300.aspirate(volume, src) + p300.dispense(volume, dest) + p300.drop_tip() + p300.reset_tipracks() + + # ---------------- Protocol ---------------- + + # Step 1: Add 40 uL AMPure XP beads to each sample well, mix 10x. + # Wells hold 50 uL PCR product + 40 uL beads = 90 uL; mix below that. + protocol.comment('Step 1: Adding 40 uL AMPure XP beads to each sample ' + 'well and mixing 10 times.') + add_to_plate(40, bead_source, sample_wells, mix_reps=10, mix_volume=80) + + # Step 2: Incubation (manual step, not simulated). + protocol.comment('Step 2: Incubate sample plate 5 minutes at room ' + 'temperature (beads bind DNA).') + + # Step 3: Magnet (manual step, not simulated). + protocol.comment('Step 3: Engage magnetic module; wait 5 minutes until ' + 'solution clears.') + + # Step 4: Remove 90 uL supernatant from each well to waste. + protocol.comment('Step 4: Removing 90 uL supernatant from each well ' + 'to waste.') + remove_to_waste(90, sample_wells, waste_dest) + + # Step 5: Wash 1 - add 200 uL 80% ethanol to each well. + protocol.comment('Step 5: Wash 1 - adding 200 uL 80% ethanol to each ' + 'well.') + add_to_plate(200, ethanol_source, sample_wells) + + # Step 6: Remove 200 uL ethanol wash 1 to waste. + protocol.comment('Step 6: Removing 200 uL ethanol wash 1 to waste.') + remove_to_waste(200, sample_wells, waste_dest) + + # Step 7: Wash 2 - add 200 uL 80% ethanol to each well. + protocol.comment('Step 7: Wash 2 - adding 200 uL 80% ethanol to each ' + 'well.') + add_to_plate(200, ethanol_source, sample_wells) + + # Step 8: Remove 200 uL ethanol wash 2 to waste. + protocol.comment('Step 8: Removing 200 uL ethanol wash 2 to waste.') + remove_to_waste(200, sample_wells, waste_dest) + + # Step 9: Air dry (manual step, not simulated). + protocol.comment('Step 9: Air dry beads 5 minutes at room temperature ' + '(magnet engaged); beads should appear matte, not ' + 'shiny.') + + # Step 10: Disengage magnet (manual step, not simulated). + protocol.comment('Step 10: Disengage magnetic module.') + + # Step 11: Elute - add 50 uL nuclease-free water, mix 10x. + protocol.comment('Step 11: Adding 50 uL nuclease-free water to each ' + 'well and mixing 10 times.') + add_to_plate(50, water_source, sample_wells, mix_reps=10, mix_volume=45) + + # Step 12: Incubation + magnet (manual steps, not simulated). + protocol.comment('Step 12: Incubate sample plate 2 minutes at room ' + 'temperature; then re-engage magnetic module for 5 ' + 'minutes.') + + # Step 13: Transfer 45 uL cleaned DNA to elution plate (paired wells). + protocol.comment('Step 13: Transferring 45 uL cleaned DNA from sample ' + 'plate to elution plate.') + transfer_pairs(45, sample_wells, elution_wells) + + protocol.comment('AMPure XP cleanup complete. Elution plate holds 45 uL ' + 'cleaned DNA per well; 5 uL remains in each sample ' + 'well with the beads.') diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/reward.json new file mode 100644 index 0000000..48d40a0 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_binding": 1.0, "rubric_supernatant_and_washes": 1.0, "rubric_drying_and_elution": 1.0, "rubric_recovery": 1.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/trial.json new file mode 100644 index 0000000..54e1c26 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ampure-bead-cleanup/trial.json @@ -0,0 +1,31 @@ +{ + "task": "ampure-bead-cleanup", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_binding": 1.0, + "rubric_supernatant_and_washes": 1.0, + "rubric_drying_and_elution": 1.0, + "rubric_recovery": 1.0 + }, + "exception": null, + "cost_usd": 0.114321, + "input_tokens": 111955, + "output_tokens": 7179, + "started_at": "2026-10-07T18:21:21.526205Z", + "finished_at": "2026-10-07T18:28:21.237305Z", + "cache_tokens": 87236, + "claude_code_cost_usd": 0.37754925 +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/grader.json new file mode 100644 index 0000000..b19ec0f --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/grader.json @@ -0,0 +1,157 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1997 + }, + "not_applicable": [ + "end_state:pcr_plate (the source paper does not determine these volumes; judged by the rubric)" + ], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:colony_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13 with metadata; all volumes (5, 4, 1 \u00b5L) go through the p20 within 1\u201320 \u00b5L, and the simulator ran with no overdispense or empty-well checks failing.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Master mix is distributed with one tip (new_tip='once'), and primers and template use new_tip='always'. The tip_before_aspirate, tip_dropped_at_end and no_cross_contamination checks all pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_paper", + "score": 0, + "evidence": "The cycling program uses a 5 min initial denaturation and 35 cycles, which departs from the Q5 manufacturer's 30 s start and about 30 cycles. The code also adds an invented manual spin-down step and assumes the primer plate is pre-diluted.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "reaction_setup", + "score": 1, + "evidence": "Each well gets 5 \u00b5L 2x Q5 master mix (1x final), 4 \u00b5L of its primer pair and 1 \u00b5L colony template, added in that order. That makes a 10 \u00b5L reaction, matching the paper's OT-2 volume.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "sample_mapping", + "score": 1, + "evidence": "colony_plate.wells()[:96], primer_plate.wells()[:96] and pcr_plate.wells()[:96] are paired by index in the transfers, so A1 maps to A1 and so on, with no well skipped or reused.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "thermocycling", + "score": 1, + "evidence": "A comment records sealing and a program of 98 \u00b0C initial denaturation, 35 cycles of 98/60/72 \u00b0C, 72 \u00b0C final extension and a 4 \u00b0C hold, which is suitable for Q5 Hot Start.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_paper": 0.0, + "reaction_setup": 1.0, + "sample_mapping": 1.0, + "thermocycling": 1.0 + }, + "summary": "The protocol sets up the 96 reactions correctly: 5 \u00b5L 2x master mix, 4 \u00b5L primer pair and 1 \u00b5L template per well, with correct well mapping and tip handling, and the simulator checks pass. It fails the all-or-nothing fidelity item because of deviations in the cycling program (5 min initial denaturation, 35 cycles) and an invented spin-down step.", + "level": "hard", + "score": 0.75, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "reaction_setup": 0.0833, + "sample_mapping": 0.0833, + "thermocycling": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 0.75, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 0.75, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_reaction_setup": 1.0, + "rubric_sample_mapping": 1.0, + "rubric_thermocycling": 1.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/protocol.py new file mode 100644 index 0000000..1a2a539 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/protocol.py @@ -0,0 +1,166 @@ +"""Colony PCR screening of 96 transformant colonies on the Opentrons OT-2. + +Adapted from the OT-2 colony PCR workflow of the Slowpoke paper: + Slowpoke: An Automated Golden Gate Cloning Workflow for Opentrons OT-2 + and Flex, ACS Synth. Biol., doi:10.1021/acssynbio.5c00629 + (Materials & Methods 2.5, "Automated Colony PCR"). + +Paper's OT-2 colony PCR (Section 2.5): + A master mix (water + colony PCR primers + 2x PCR master mix) is + dispensed at 9 uL per reaction, then 1 uL of colony template is added, + giving a 10 uL reaction. Cycling follows the polymerase manufacturer's + protocol, with annealing temperature and extension time adjusted for + the primers and amplicon. + +Adaptations to the fixed deck of this run (each choice noted below): + * The 2x master mix (Q5 Hot Start) is already pre-mixed in a 1-well + reservoir; the robot therefore cannot prepare the paper's master mix + from separate water/primer/mix stocks and dispenses the 2x mix directly. + * Each colony has its OWN primer pair in primer_plate (same well position + as the colony), so primers cannot be part of a common master mix and are + added individually to each reaction. + * The reaction stays at the paper's OT-2 volumes: 10 uL total with 1 uL + of colony template. The paper's 9 uL of master mix is split into + 5 uL of 2x master mix (gives 1x final) + 4 uL of primer pair solution. + This assumes the primer plate holds each primer pair pre-diluted at a + working concentration such that 4 uL in 10 uL gives the desired final + primer concentration (the paper leaves primer concentrations open). + * No thermocycler module is loaded on this deck, so thermocycling is a + manual benchtop step, recorded with protocol.comment() at the end (the + paper ran the OT-2 workflow on the thermocycler module with benchtop + cyclers added as needed). +""" + +metadata = { + 'protocolName': 'Colony PCR screen of 96 colonies (Slowpoke OT-2 workflow, Q5 master mix)', + 'author': 'Generated from doi:10.1021/acssynbio.5c00629', + 'description': 'Set up 96 colony PCR reactions (Q5 Hot Start 2x master mix, ' + 'per-colony primer pairs, 1 uL colony template) following the ' + 'Slowpoke OT-2 colony PCR workflow.', + 'apiLevel': '2.13', +} + +# --- Volumes (per 10 uL reaction, paper's OT-2 values) --------------------- +TEMPLATE_VOLUME = 1 # uL colony template (paper, OT-2 platform) +MASTER_MIX_VOLUME = 5 # uL Q5 Hot Start 2x master mix (1x final) +PRIMER_VOLUME = 4 # uL primer pair solution; with the master mix this + # replaces the paper's 9 uL premixed master mix +TOTAL_VOLUME = MASTER_MIX_VOLUME + PRIMER_VOLUME + TEMPLATE_VOLUME # = 10 uL + +N_COLONIES = 96 + + +def run(protocol): + # --- Labware (fixed deck layout) --------------------------------------- + colony_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='colony_plate') + pcr_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 2, label='pcr_plate') + master_mix_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='master_mix_reservoir') + primer_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 4, label='primer_plate') + + tiprack_20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tiprack_300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tiprack_20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tiprack_300]) + + # All liquid volumes in this protocol are 1-20 uL, so only the p20 is + # used. The p300 is loaded because the deck layout is fixed, but it + # stays idle. + del p300 + + master_mix_source = master_mix_reservoir.wells_by_name()['A1'] + + # One source well per colony, mapped 1:1 by well position: + # colony_plate[i] -> primer_plate[i] -> pcr_plate[i] + colony_wells = colony_plate.wells()[:N_COLONIES] + primer_wells = primer_plate.wells()[:N_COLONIES] + pcr_wells = pcr_plate.wells()[:N_COLONIES] + + protocol.comment( + f"Set up {N_COLONIES} colony PCRs of {TOTAL_VOLUME} uL each: " + f"{MASTER_MIX_VOLUME} uL Q5 Hot Start 2x master mix + " + f"{PRIMER_VOLUME} uL primer pair (per colony) + " + f"{TEMPLATE_VOLUME} uL colony template. " + "Well map: colony_plate well X -> primer_plate well X -> pcr_plate well X.") + + # MANUAL STEP: the robot cannot unseal plates or check reagents. + protocol.comment( + "MANUAL STEP before start: remove lids/seals from colony_plate, " + "primer_plate and pcr_plate; confirm master_mix_reservoir contains " + "thawed, mixed Q5 Hot Start 2x master mix (>= ~500 uL incl. dead " + "volume). Q5 Hot Start tolerates room-temperature set-up.") + + # --- Step 1: distribute 2x master mix ----------------------------------- + # Same reagent for every reaction, so one tip is re-used for the whole + # distribution (as in the paper's master-mix distribution step). + protocol.comment( + f"Distributing {MASTER_MIX_VOLUME} uL of Q5 Hot Start 2x master mix " + f"from master_mix_reservoir A1 to all {N_COLONIES} wells of pcr_plate.") + p20.distribute( + MASTER_MIX_VOLUME, + master_mix_source, + pcr_wells, + new_tip='once', + ) + + # One tip per well is used from here on; start each step from a full rack. + p20.reset_tipracks() + + # --- Step 2: add each colony's primer pair ------------------------------ + protocol.comment( + f"Adding {PRIMER_VOLUME} uL of each primer pair from primer_plate to " + "the same well of pcr_plate (fresh tip per well).") + p20.transfer( + PRIMER_VOLUME, + primer_wells, + pcr_wells, + new_tip='always', # different primer pair in every well + touch_tip=True, + ) + + p20.reset_tipracks() + + # --- Step 3: add colony template (paper: template added last) ----------- + # MANUAL STEP: the robot cannot spin plates. + protocol.comment( + "MANUAL STEP: briefly spin down colony_plate so all template is at " + "the bottom of the wells and colonies are resuspended.") + protocol.comment( + f"Adding {TEMPLATE_VOLUME} uL of colony template from colony_plate to " + "the same well of pcr_plate (fresh tip per well), then mixing.") + p20.transfer( + TEMPLATE_VOLUME, + colony_wells, + pcr_wells, + new_tip='always', + touch_tip=True, + mix_after=(3, 8), # gentle mix of the 10 uL reaction after addition + ) + + # --- Manual thermocycling ------------------------------------------------ + # MANUAL STEP: no thermocycler module is loaded on this deck, and the OT-2 + # cannot seal plates or move them to a cycler. The program below follows + # the NEB Q5 Hot Start 2x master mix protocol with colony-PCR adjustments; + # the paper likewise leaves cycling to the polymerase manufacturer's + # protocol with primer/amplicon-specific annealing and extension. + protocol.comment( + "MANUAL STEP - thermocycling: seal pcr_plate with an adhesive PCR " + "seal, spin down, and run it in a benchtop thermocycler " + "(heated lid ~105 degC):\n" + " 98 degC 5 min initial denaturation / colony lysis / hot-start " + "activation (NEB gives 30 s; extended here because template is crude " + "colony material)\n" + " 35 cycles of:\n" + " 98 degC 10 s denaturation\n" + " 60 degC 30 s annealing (adjust to the primer Tms)\n" + " 72 degC 30 s extension (scale to 20-30 s/kb of amplicon)\n" + " 72 degC 2 min final extension\n" + " hold at 4 degC\n" + "Then analyse the PCR products by agarose gel electrophoresis to " + "score the colonies.") diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/reward.json new file mode 100644 index 0000000..c32e10c --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.75, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 0.75, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/trial.json new file mode 100644 index 0000000..b7c57e8 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/trial.json @@ -0,0 +1,30 @@ +{ + "task": "colony-pcr-screening-hard", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.75, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 0.75, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_reaction_setup": 1.0, + "rubric_sample_mapping": 1.0, + "rubric_thermocycling": 1.0 + }, + "exception": null, + "cost_usd": 0.310951, + "input_tokens": 376353, + "output_tokens": 17735, + "started_at": "2026-10-07T18:21:21.470693Z", + "finished_at": "2026-10-07T18:32:52.867783Z", + "cache_tokens": 313237, + "claude_code_cost_usd": 0.9559497499999999 +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/grader.json new file mode 100644 index 0000000..3ac1b10 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/grader.json @@ -0,0 +1,160 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1831 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:colony_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13, all volumes (18, 1, 10 uL mix) are within p20 range, labware loaded with the required labels, and the measured checks passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Every transfer uses new_tip='always'; tip_before_aspirate, no_cross_contamination and tip_dropped_at_end all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "All four steps run in order with the specified volumes, the colony step mixes 3x after dispensing, and the seal and thermocycling comment is accurate. The only choice not given in the task is the 10 uL mix volume, which is reasonable.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "master_mix", + "score": 1, + "evidence": "p20.transfer(18, master_mix_reservoir['A1'], pcr_wells, new_tip='always') fills all 96 wells, and the pcr_plate end_state check passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "template_and_primers", + "score": 1, + "evidence": "Two p20 transfers of 1 uL pair colony_wells and primer_wells with pcr_wells in order; end-state checks passed for all plates.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "thermocycling", + "score": 1, + "evidence": "protocol.comment records sealing and the full program: 98\u00b0C 30 s; 30x [98\u00b0C 10 s, 60\u00b0C 30 s, 72\u00b0C 30 s]; 72\u00b0C 2 min; 4\u00b0C hold.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "master_mix": 1.0, + "template_and_primers": 1.0, + "thermocycling": 1.0 + }, + "summary": "The protocol simulates cleanly and all measured checks pass. It follows the task's steps, volumes and order, uses fresh tips throughout, and records the seal and thermocycling program, so all items score 1.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "master_mix": 0.0833, + "template_and_primers": 0.0833, + "thermocycling": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_master_mix": 1.0, + "rubric_template_and_primers": 1.0, + "rubric_thermocycling": 1.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/protocol.py new file mode 100644 index 0000000..acbc53b --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/protocol.py @@ -0,0 +1,101 @@ +"""Colony PCR screening with Q5 Hot Start master mix (OT-2). + +Screen transformant colonies by PCR: dispense 18 uL of Q5 Hot Start master +mix into each well of a 96-well PCR plate, add 1 uL of colony template per +well (mix after dispensing), then add 1 uL of the corresponding primer pair. +Based on the Slowpoke colony PCR workflow (ACS Synth. Biol., +doi:10.1021/acssynbio.5c00629). +""" + +from opentrons import protocol_api + +metadata = { + 'apiLevel': '2.13', + 'protocolName': 'Colony PCR screening with Q5 Hot Start master mix', + 'description': '96-well colony PCR setup: 18 uL Q5 master mix, ' + '1 uL colony template (mix 3x), 1 uL primer pair per well.', +} + + +def run(protocol: protocol_api.ProtocolContext): + # ------------------------------------------------------------------ + # Labware (fixed deck layout) + # ------------------------------------------------------------------ + colony_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='colony_plate') + pcr_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 2, label='pcr_plate') + master_mix_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='master_mix_reservoir') + primer_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 4, label='primer_plate') + + # Tip racks + tips_20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips_300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + # Pipettes: p20 for 1-20 uL, p300 for 20-300 uL + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips_20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips_300]) + + # Wells A1:H12 in plate order (A1, A2, ..., A12, B1, ..., H12); + # source and destination wells pair in this order. + colony_wells = colony_plate.wells() + primer_wells = primer_plate.wells() + pcr_wells = pcr_plate.wells() + + # ------------------------------------------------------------------ + # Step 1: dispense 18 uL of Q5 Hot Start master mix 2x from the + # reservoir into every well of the PCR plate. + # (18 uL is within the p20 range of 1-20 uL.) + # ------------------------------------------------------------------ + protocol.comment( + 'Step 1: Dispense 18 uL of Q5 Hot Start master mix 2x from ' + 'master_mix_reservoir A1 into all 96 wells of pcr_plate.') + p20.transfer( + 18, + master_mix_reservoir['A1'], + pcr_wells, + new_tip='always', + ) + + # ------------------------------------------------------------------ + # Step 2: add 1 uL of colony template to the corresponding well and + # mix 3 times after dispensing. Fresh tip per well to avoid + # cross-contamination between colonies. + # ------------------------------------------------------------------ + protocol.comment( + 'Step 2: Add 1 uL of colony template from colony_plate to the ' + 'corresponding well of pcr_plate and mix 3 times.') + p20.reset_tipracks() + p20.transfer( + 1, + colony_wells, + pcr_wells, + new_tip='always', + mix_after=(3, 10), + ) + + # ------------------------------------------------------------------ + # Step 3: add 1 uL of primer pair to the corresponding well. + # ------------------------------------------------------------------ + protocol.comment( + 'Step 3: Add 1 uL of primer pair from primer_plate to the ' + 'corresponding well of pcr_plate.') + p20.reset_tipracks() + p20.transfer( + 1, + primer_wells, + pcr_wells, + new_tip='always', + ) + + # ------------------------------------------------------------------ + # Step 4: off-robot steps (sealing and thermocycling) - not simulated. + # ------------------------------------------------------------------ + protocol.comment( + 'Step 4: Seal pcr_plate and thermocycle: 98°C for 30 s; ' + '[98°C for 10 s, 60°C for 30 s, 72°C for 30 s] x 30 cycles; ' + '72°C for 2 min; hold at 4°C.') diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/reward.json new file mode 100644 index 0000000..12f62ba --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_master_mix": 1.0, "rubric_template_and_primers": 1.0, "rubric_thermocycling": 1.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/trial.json new file mode 100644 index 0000000..0df33fb --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/colony-pcr-screening/trial.json @@ -0,0 +1,30 @@ +{ + "task": "colony-pcr-screening", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_master_mix": 1.0, + "rubric_template_and_primers": 1.0, + "rubric_thermocycling": 1.0 + }, + "exception": null, + "cost_usd": 0.181538, + "input_tokens": 209252, + "output_tokens": 10647, + "started_at": "2026-10-07T18:21:21.532712Z", + "finished_at": "2026-10-07T18:29:06.701102Z", + "cache_tokens": 171913, + "claude_code_cost_usd": 0.5854477499999998 +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/grader.json new file mode 100644 index 0000000..d2b5931 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/grader.json @@ -0,0 +1,157 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 194 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": false, + "detail": "[(15, 'aspirate_from_empty'), (25, 'aspirate_from_empty'), (35, 'aspirate_from_empty')]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plasmid_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:transformation_plate", + "pass": false, + "detail": "expected {'A1': 61.0, 'B1': 61.0, 'C1': 61.0, 'D1': 61.0, 'E1': 61.0, 'F1': 61.0, 'G1': 61.0, 'H1': 61.0}, got {'A1': 61.0, 'B1': 10.0, 'C1': 10.0, 'D1': 10.0, 'E1': 10.0, 'F1': 10.0, 'G1': 10.0, 'H1': 10.0, 'A2': 56.0, 'A3': 56.0, 'A4': 56.0, 'A5': 56.0, 'A6': 56.0, 'A7': 56.0, 'A8': 56.0}" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 0, + "evidence": "`cell_wells = transformation_plate.rows()[0]` is row A (A1..A12), not column 1, so DNA and SOC went into A2\u2013A8 and the mixes aspirated from empty wells (no_aspirate_from_empty_well failed).", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "A fresh tip is picked up and dropped for each plasmid and each SOC addition; tip_before_aspirate, tip_dropped_at_end and no_cross_contamination all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_paper", + "score": 0, + "evidence": "The deck mapping is wrong (end_state shows B1\u2013H1 stuck at 10 \u00b5L and A2\u2013A8 at 56 \u00b5L), and unrequested mixing steps were added.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "dna_addition", + "score": 0, + "evidence": "DNA from plasmid wells A1\u2013H1 went into transformation-plate wells A1\u2013A8 (row A) instead of A1\u2013H1, so B1\u2013H1 never received DNA.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "heat_shock", + "score": 1, + "evidence": "The code runs the closed-lid thermocycler program: 4 \u00b0C for 30 min, then 42 \u00b0C for 30 s, then back to 4 \u00b0C.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "soc_recovery", + "score": 0, + "evidence": "50 \u00b5L SOC was dispensed into cell_wells[i], which is A1\u2013A8, so B1\u2013H1 got no SOC; end_state shows 10 \u00b5L in B1\u2013H1 and 56 \u00b5L in A2\u2013A8.", + "votes": [ + 0, + 0, + 0 + ] + } + ], + "scores": { + "robot_practice": 0.0, + "tips_and_contamination": 1.0, + "fidelity_to_paper": 0.0, + "dna_addition": 0.0, + "heat_shock": 1.0, + "soc_recovery": 0.0 + }, + "summary": "The protocol indexes the transformation plate with rows()[0], which is row A, instead of column 1. DNA and SOC therefore went into the wrong wells, and the mixes aspirated from empty wells. The thermal program and tip handling are correct, but the DNA addition, SOC recovery, robot practice and fidelity items fail.", + "level": "hard", + "score": 0.3333, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "dna_addition": 0.0833, + "heat_shock": 0.0833, + "soc_recovery": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [ + "no_aspirate_from_empty_well" + ], + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.75, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.125, + "judge_score": 0.3333, + "critical_fail": 1.0, + "rubric_robot_practice": 0.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_dna_addition": 0.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 0.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/protocol.py new file mode 100644 index 0000000..c296dc5 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/protocol.py @@ -0,0 +1,140 @@ +"""APEX Protocol 1: automated heat shock transformation on the OT-2 thermocycler. + +Implements the heat shock transformation module of APEX (Kasprzyk, Herrera & +Stracquadanio, "APEX: Automated Protein EXpression in Escherichia coli", +bioRxiv 2024, doi:10.1101/2024.08.13.607171) for 8 plasmids (pEX01-pEX08). + +Parameters taken from the paper: + - Low Volume (LV) transformation configuration, selected by the authors for + all subsequent automated experiments (Results > Optimisation of + transformation volume). Per the Figure 4 caption, the LV/automated run + uses 1 uL of DNA (1.5e-4 pmol), 10 uL of cells and 50 uL of SOC medium. + - Temperature program (Results > Protocol 1): DNA incubated at 4 C for + 30 minutes, heat shock at 42 C for 30 seconds, recovery with SOC at 37 C + for 1 hour. All steps run on the thermocycler module, which the paper + chose over a temperature module for its rapid temperature changes. + +Choices made where the paper leaves things open (documented here as required): + - The paper does not mention a post-shock ice step; after the 42 C shock the + block is set back to 4 C while SOC is added, keeping cells cold. + - The paper does not specify mixing; a gentle pipette mix after adding DNA + and after adding SOC is performed to homogenise each transformation. + - A heated lid (105 C, the thermocycler default used to prevent + evaporation/condensation during closed-lid incubations) is kept on for + every closed-lid step, matching the paper's rationale for using the + thermocycler instead of the temperature module. + - One fresh tip per plasmid to avoid cross-contamination. + +Deck setup (fixed by the operator): + slot 1: biorad_96_wellplate_200ul_pcr 'plasmid_plate' + A1..H1: plasmids pEX01..pEX08, 10 uL each (1.5e-4 pmol/uL) + slot 2: nest_12_reservoir_15ml 'soc_reservoir', A1: SOC medium + slots 7/8/10/11: Thermocycler Module GEN1 holding + biorad_96_wellplate_200ul_pcr 'transformation_plate' + A1..H1: competent E. coli DH5a, 10 uL each (pre-chilled block) + slot 4: opentrons_96_tiprack_20ul, slot 5: opentrons_96_tiprack_300ul + left: p20_single_gen2 (1-20 uL), right: p300_single_gen2 (20-300 uL) +""" + +metadata = { + 'protocolName': 'APEX Protocol 1: heat shock transformation (LV configuration)', + 'author': 'Generated from Kasprzyk et al., bioRxiv 2024, doi:10.1101/2024.08.13.607171', + 'apiLevel': '2.15', +} + +# LV configuration volumes (paper: 1 uL DNA + 10 uL cells + 50 uL SOC). +DNA_VOLUME = 1 # uL, plasmid DNA (1.5e-4 pmol per transformation) +CELL_VOLUME = 10 # uL, competent cells already in the plate +SOC_VOLUME = 50 # uL, SOC recovery medium +SHOCK_VOLUME = DNA_VOLUME + CELL_VOLUME # 11 uL during incubation/shock +RECOVERY_VOLUME = SHOCK_VOLUME + SOC_VOLUME # 61 uL during recovery + +# Temperature program (paper's Protocol 1 defaults). +INCUBATION_TEMP = 4 # C +INCUBATION_MIN = 30 +SHOCK_TEMP = 42 # C +SHOCK_SEC = 30 +RECOVERY_TEMP = 37 # C +RECOVERY_MIN = 60 + +PLASMID_WELLS = ['A1', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1', 'H1'] + + +def run(protocol): + # --- Labware and instruments (fixed deck layout) --------------------- + plasmid_plate = protocol.load_labware( + 'biorad_96_wellplate_200ul_pcr', 1, label='plasmid_plate') + soc_reservoir = protocol.load_labware( + 'nest_12_reservoir_15ml', 2, label='soc_reservoir') + + tc = protocol.load_module('thermocycler') + transformation_plate = tc.load_labware( + 'biorad_96_wellplate_200ul_pcr', label='transformation_plate') + + tips_20 = protocol.load_labware('opentrons_96_tiprack_20ul', 4) + tips_300 = protocol.load_labware('opentrons_96_tiprack_300ul', 5) + + # 1 uL DNA -> p20 (1-20 uL); 50 uL SOC -> p300 (20-300 uL). + p20 = protocol.load_instrument('p20_single_gen2', 'left', + tip_racks=[tips_20]) + p300 = protocol.load_instrument('p300_single_gen2', 'right', + tip_racks=[tips_300]) + + cell_wells = transformation_plate.rows()[0] # A1..H1 + soc = soc_reservoir['A1'] + + # --- Setup: keep the pre-chilled block cold while pipetting ---------- + tc.open_lid() + tc.set_block_temperature(INCUBATION_TEMP) + protocol.comment('Block chilled to 4 C; adding DNA to competent cells.') + + # --- Add DNA: transformation n gets plasmid well n -> cell well n ---- + # Fresh tip per plasmid to avoid cross-contamination; gentle mix after + # dispensing (choice: paper does not specify mixing). + for i, well_name in enumerate(PLASMID_WELLS): + p20.pick_up_tip() + p20.aspirate(DNA_VOLUME, plasmid_plate[well_name]) + p20.dispense(DNA_VOLUME, cell_wells[i]) + p20.mix(3, 5, cell_wells[i]) + p20.drop_tip() + + # --- Closed-lid temperature program: incubation + heat shock --------- + tc.set_lid_temperature(105) # heated lid prevents evaporation/condensation + tc.close_lid() + + protocol.comment('Incubating DNA + cells: 30 min at 4 C.') + tc.set_block_temperature(INCUBATION_TEMP, + hold_time_minutes=INCUBATION_MIN, + block_max_volume=SHOCK_VOLUME) + + protocol.comment('Heat shock: 30 s at 42 C.') + tc.set_block_temperature(SHOCK_TEMP, + hold_time_seconds=SHOCK_SEC, + block_max_volume=SHOCK_VOLUME) + + # Back to 4 C while SOC is added (choice: paper specifies no explicit + # post-shock ice step; this keeps the cells cold during handling). + tc.set_block_temperature(INCUBATION_TEMP, block_max_volume=SHOCK_VOLUME) + tc.open_lid() + + # --- Add SOC recovery medium ------------------------------------------ + for i, well_name in enumerate(PLASMID_WELLS): + p300.pick_up_tip() + p300.aspirate(SOC_VOLUME, soc) + p300.dispense(SOC_VOLUME, cell_wells[i]) + p300.mix(3, 40, cell_wells[i]) # homogenise 61 uL recovery mix + p300.drop_tip() + + # --- Recovery: 1 h at 37 C -------------------------------------------- + tc.close_lid() + protocol.comment('Recovery: 60 min at 37 C with SOC.') + tc.set_block_temperature(RECOVERY_TEMP, + hold_time_minutes=RECOVERY_MIN, + block_max_volume=RECOVERY_VOLUME) + + # --- End state: cells held cold until Protocol 2 (spotting) ---------- + tc.open_lid() + tc.deactivate_lid() + tc.set_block_temperature(INCUBATION_TEMP) + protocol.comment('Transformation complete: recovered cultures held at ' + '4 C. Proceed to APEX Protocol 2 (spotting on agar).') diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/reward.json new file mode 100644 index 0000000..3991ed2 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.3, "sim_pass": 1.0, "checks_frac": 0.75, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.125, "judge_score": 0.3333, "critical_fail": 1.0, "rubric_robot_practice": 0.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_dna_addition": 0.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 0.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/trial.json new file mode 100644 index 0000000..1f61b6a --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/trial.json @@ -0,0 +1,30 @@ +{ + "task": "ecoli-heat-shock-transformation-hard", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.75, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.125, + "judge_score": 0.3333, + "critical_fail": 1.0, + "rubric_robot_practice": 0.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_dna_addition": 0.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 0.0 + }, + "exception": null, + "cost_usd": 0.156076, + "input_tokens": 253659, + "output_tokens": 8802, + "started_at": "2026-10-07T18:21:21.520197Z", + "finished_at": "2026-10-07T18:27:54.602018Z", + "cache_tokens": 230888, + "claude_code_cost_usd": 0.47774525 +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/grader.json new file mode 100644 index 0000000..824ca71 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/grader.json @@ -0,0 +1,155 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 10 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plasmid_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:cells_rack", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.15 valid; 2 \u00b5L via p20 and 250 \u00b5L via p300, correct labware, no overfill, all checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Each aspirate/dispense has a pick_up_tip first and drop_tip after; separate fresh tips for DNA and SOC; tip_dropped_at_end and no_cross_contamination pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "All four steps are done in order with correct volumes and conditions; comments accurately record heat shock (42C 45 s, ice 2 min) and incubation (37C 60 min 250 rpm).", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "dna_addition", + "score": 1, + "evidence": "p20.aspirate(2, plasmid_plate['A1']) then dispense(2, tubes_1_5ml_1['A1']).", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "heat_shock", + "score": 1, + "evidence": "protocol.comment records 42C for 45 s then ice 2 min after DNA addition and before SOC.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "soc_recovery", + "score": 1, + "evidence": "p300 transfers 250 \u00b5L SOC from reservoir A1 to tube A1 after heat shock, followed by the comment for 37C, 60 min, 250 rpm.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "dna_addition": 1.0, + "heat_shock": 1.0, + "soc_recovery": 1.0 + }, + "summary": "The protocol simulates cleanly, all measured checks pass, and every step matches the task in order and quantity. Tips are handled correctly, with a separate fresh tip for the DNA and the SOC, and each is dropped.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "dna_addition": 0.0833, + "heat_shock": 0.0833, + "soc_recovery": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_dna_addition": 1.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 1.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/protocol.py new file mode 100644 index 0000000..4ffd0e7 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/protocol.py @@ -0,0 +1,51 @@ +from opentrons import protocol_api + +metadata = { + 'protocolName': 'E. coli heat shock transformation with SOC recovery', + 'apiLevel': '2.15', +} + + +def run(protocol: protocol_api.ProtocolContext): + # Load labware + plasmid_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='plasmid_plate') + tubes_1_5ml_1 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap', 2, + label='tubes_1_5ml_1') + soc_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='soc_reservoir') + + # Load tip racks + tiprack_20 = protocol.load_labware( + 'opentrons_96_tiprack_20ul', 10) + tiprack_300 = protocol.load_labware( + 'opentrons_96_tiprack_300ul', 11) + + # Load pipettes + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tiprack_20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tiprack_300]) + + # Step 1: Transfer 2 uL plasmid DNA from plasmid_plate A1 to tube A1 + p20.pick_up_tip() + p20.aspirate(2, plasmid_plate['A1']) + p20.dispense(2, tubes_1_5ml_1['A1']) + p20.drop_tip() + + # Step 2: Heat shock (not simulated) + protocol.comment( + 'Heat shock cells_rack at 42C for 45 s, then transfer immediately ' + 'to ice for 2 min') + + # Step 3: Transfer 250 uL SOC medium from reservoir A1 to tube A1 + p300.pick_up_tip() + p300.aspirate(250, soc_reservoir['A1']) + p300.dispense(250, tubes_1_5ml_1['A1']) + p300.drop_tip() + + # Step 4: Incubation (not simulated) + protocol.comment( + 'Incubate cells_rack at 37C for 60 min at 250 rpm for outgrowth ' + 'recovery') diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/reward.json new file mode 100644 index 0000000..b650ada --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_dna_addition": 1.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 1.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/trial.json new file mode 100644 index 0000000..648d1b5 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/trial.json @@ -0,0 +1,30 @@ +{ + "task": "ecoli-heat-shock-transformation", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_dna_addition": 1.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 1.0 + }, + "exception": null, + "cost_usd": 0.049608, + "input_tokens": 50569, + "output_tokens": 1086, + "started_at": "2026-10-07T18:21:21.499159Z", + "finished_at": "2026-10-07T18:23:51.065271Z", + "cache_tokens": 33169, + "claude_code_cost_usd": 0.15246200000000001 +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/grader.json new file mode 100644 index 0000000..8a17368 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/grader.json @@ -0,0 +1,233 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 557 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:water", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dntp", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_pol", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_mm", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:template_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:rcutsmart", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dpni", + "pass": true, + "detail": "" + }, + { + "name": "end_state:t4_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:gg_enzyme", + "pass": true, + "detail": "" + }, + { + "name": "end_state:assembly_plate", + "pass": false, + "detail": "expected {'A1': 15.0, 'B1': 15.0, 'C1': 15.0, 'D1': 15.0}, got {'A1': 10.0, 'B1': 10.0, 'C1': 10.0, 'D1': 10.0}" + }, + { + "name": "end_state:cells_plate", + "pass": false, + "detail": "expected {'A1': 305.0, 'B1': 305.0, 'C1': 305.0, 'D1': 305.0}, got {'A1': 310.0, 'B1': 310.0, 'C1': 310.0, 'D1': 310.0}" + }, + { + "name": "end_state:lb_dextrose", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13, p20 used for 1-20 uL and p300 for \u226520 uL (106, 40, 250 uL; 30 uL mixes), no overfilled wells, and all simulator checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "tip_before_aspirate, tip_dropped_at_end and no_cross_contamination all pass. Fresh tips are used per primer, template, chromoprotein fragment and eluate, and shared reagents are dispensed with one tip.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_paper", + "score": 0, + "evidence": "The code transfers the whole 10 uL eluate to the cells (p20.transfer(ASSEMBLY_ELUTION,...)) and skips the NanoDrop 5 uL aliquot. The paper transforms about 5 uL and keeps 5 uL for quantification, and end_state shows assembly_plate 10 vs 15 and cells_plate 310 vs 305.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "pcr_setup", + "score": 1, + "evidence": "Master mix is 13.25 water + 5 buffer + 0.5 dNTP + 0.25 polymerase per reaction (19 uL). Each well then gets 2.5+2.5 uL primers and 1 uL template, with the primer and template mapping from the design table, giving 25 uL.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "dpni_and_cleanup", + "score": 1, + "evidence": "The PCR comment records 98 C 30 s, 34 cycles of 98 C 10 s, annealing 30 s and 72 C, then 72 C 5 min. DpnI is 19 uL water + 5 uL rCutSmart + 1 uL DpnI, then 37 C 30 min and 65 C 20 min, followed by a clean-up pause, in that order.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "assembly_mix", + "score": 1, + "evidence": "Each assembly well gets 7 uL water, 2 uL T4 buffer, fragments 3/2/3/2 uL per the design table and 1 uL enzyme mix, totalling 20 uL in A1:D1.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "cycling_and_transformation", + "score": 1, + "evidence": "The comment gives a Golden Gate program of 30 cycles of 37 C/16 C, then 60 C and a 4 C hold. Clean-up elutes in 10 uL, and the eluate goes into the cells with 30 min on ice, 42 C 60 s, 250 uL LB+dextrose, 37 C 60 min recovery and kanamycin plating.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_paper": 0.0, + "pcr_setup": 1.0, + "dpni_and_cleanup": 1.0, + "assembly_mix": 1.0, + "cycling_and_transformation": 1.0 + }, + "summary": "The protocol is sound and nearly faithful: the PCR, DpnI, assembly and Golden Gate steps match the paper and the design table, and all tip and safety checks pass. It fails fidelity because it transforms the entire 10 uL eluate and skips the NanoDrop aliquot, where the paper transforms about 5 uL and keeps 5 uL.", + "level": "hard", + "score": 0.75, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "pcr_setup": 0.0625, + "dpni_and_cleanup": 0.0625, + "assembly_mix": 0.0625, + "cycling_and_transformation": 0.0625 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 0.75, + "sim_pass": 1.0, + "checks_frac": 0.9048, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.4333, + "judge_score": 0.75, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_pcr_setup": 1.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 1.0, + "rubric_cycling_and_transformation": 1.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/protocol.py new file mode 100644 index 0000000..58523a5 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/protocol.py @@ -0,0 +1,409 @@ +"""AssemblyTron Golden Gate assembly of four four-fragment chromoprotein +expression plasmids on the OT-2, following: + + Boehm et al., "AssemblyTron: flexible automation of DNA assembly with + Opentrons OT-2 lab robots", Synth. Biol. 2022, doi:10.1093/synbio/ysac032 + +Workflow (paper Methods 2.3/2.4 and Results 3.2, Golden Gate path): + + 1. PCR of 7 fragments (25 uL reactions, Q5 polymerase, 0.1 uM primers, + 0.5 ng linearized plasmid template) set up from a master mix in the + pcr_plate, which stands in for the 100 uL PCR tubes. The OT-2 + thermocycler has no gradient capability, so cycling is done off-deck + on a gradient thermocycler at the AssemblyTron/j5-computed annealing + gradient (manual step). + 2. DpnI digestion of the PCR products to remove the methylated, + template-derived plasmid DNA (paper recipe: 19 uL water + 5 uL + rCutSmart + 1 uL DpnI; 37 C 30 min, 65 C 20 min). + 3. Column clean-up of every fragment (Zymo DNA Clean & Concentrator-5) + to remove residual polymerase, which would otherwise fill in the + BsaI sticky ends (manual step); eluates return to the PCR wells. + 4. Golden Gate assembly: cleaned fragments combined in volumes + proportional to fragment length (roughly equimolar), 10X T4 ligase + buffer, BsaI-HFv2 + T4 ligase mix, water to 20 uL; cycled in a + thermocycler following Engler et al. (manual step). + 5. Clean-up of the assembly reactions, elution in 10 uL water (manual), + and transformation of the whole eluate into 50 uL E. coli TOP10: + 30 min on ice, heat shock 42 C 60 s, recovery 60 min at 37 C with + 250 uL LB + 0.2% dextrose added by the robot. + +Volumes/times not fixed by the paper are chosen below and flagged in +comments. +""" + +from opentrons import protocol_api + +metadata = { + 'protocolName': 'AssemblyTron Golden Gate - four chromoprotein plasmids', + 'author': 'OT-2 protocol from Boehm et al. 2022 (doi:10.1093/synbio/ysac032)', + 'description': 'PCR of 7 fragments, DpnI digest, clean-up, four 20 uL ' + 'Golden Gate assemblies, clean-up, transformation into ' + 'TOP10 competent cells.', + 'apiLevel': '2.13', +} + +# -------------------------------------------------------------------------- +# Design tables (fixed by the j5/AssemblyTron output given in the task) +# -------------------------------------------------------------------------- + +# Fragment number -> (pcr_plate well, fwd primer, rev primer, template well) +FRAGMENTS = { + 1: ('A1', 'A1', 'A2', 'A1'), # tsPurple chromoprotein + 2: ('B1', 'B1', 'B2', 'A1'), # backbone + 3: ('C1', 'C1', 'C2', 'B1'), # YukonOFP chromoprotein + 4: ('D1', 'D1', 'D2', 'C1'), # aeBlue chromoprotein + 5: ('E1', 'E1', 'E2', 'A1'), # backbone / KanR + 6: ('F1', 'F1', 'F2', 'A1'), # backbone + 7: ('G1', 'G1', 'G2', 'D1'), # fuGFP chromoprotein +} + +# assembly_plate well -> {fragment number: volume (uL) of cleaned fragment} +# (volumes proportional to fragment length => roughly equimolar, paper 3.2) +ASSEMBLIES = { + 'A1': {2: 3.0, 5: 2.0, 6: 3.0, 1: 2.0}, # tsPurple construct + 'B1': {2: 3.0, 5: 2.0, 6: 3.0, 3: 2.0}, # YukonOFP construct + 'C1': {2: 3.0, 5: 2.0, 6: 3.0, 4: 2.0}, # aeBlue construct + 'D1': {2: 3.0, 5: 2.0, 6: 3.0, 7: 2.0}, # fuGFP construct +} + +# -------------------------------------------------------------------------- +# Reaction volumes derived from the paper (Methods 2.3) +# -------------------------------------------------------------------------- +# PCR: 25 uL total per reaction, Q5, 0.1 uM primers, 0.5 ng template. +# Per-reaction master mix (buffer + dNTP + polymerase + water) = 19 uL: +MM_WATER = 13.25 # water to 19 uL per reaction +MM_Q5_BUFFER = 5.0 # 5X Q5 reaction buffer -> 1X in 25 uL +MM_DNTP = 0.5 # 10 mM dNTPs -> 200 uM in 25 uL (Q5 standard) +MM_Q5_POL = 0.25 # Q5 polymerase, 0.5 uL/50 uL reaction scaled to 25 uL +# 0.25 uL is below the p20 minimum of 1 uL, which is exactly why the +# polymerase is pipetted through the master mix (8 reactions = 7 fragments +# + 1 spare/dead volume, as staged in tube D1): 8 x 0.25 = 2 uL. +MM_RXN_VOLUME = MM_WATER + MM_Q5_BUFFER + MM_DNTP + MM_Q5_POL # = 19.0 uL +MM_REACTIONS = 8 +PRIMER_VOLUME = 2.5 # 1 uM primer stock -> 0.1 uM in 25 uL (paper) +TEMPLATE_VOLUME = 1.0 # 0.5 ng/uL template -> 0.5 ng per reaction (paper) + +# DpnI digestion of each PCR product, paper's recipe applied to one 25 uL +# PCR: +19 uL water, +5 uL rCutSmart (10X -> 1X in the resulting 50 uL), +# +1 uL DpnI; 37 C 30 min, then 65 C 20 min to inactivate. +DPNI_WATER = 19.0 +DPNI_RCUTSMART = 5.0 +DPNI_ENZYME = 1.0 + +# Column clean-up of fragments (manual). Fragments 2 and 6 are each used at +# 3 uL x 4 assemblies = 12 uL, so the paper's 10 uL elution would be too +# tight; elute in 20 uL water (volume chosen here, not fixed by the paper). +FRAGMENT_ELUTION = 20.0 + +# Golden Gate reaction, 20 uL total (fixed): +GG_T4_BUFFER = 2.0 # 10X T4 DNA ligase buffer -> 1X in 20 uL +GG_ENZYME_MIX = 1.0 # BsaI-HFv2 + T4 ligase premix. The paper does not + # fix the premix volume; 1 uL per 20 uL reaction is + # the standard usage for a combined Golden Gate + # enzyme mix (paper leaves this open -> our choice). +# fragments contribute 10.0 uL (3+2+3+2), so water makes up the balance: +GG_WATER = 20.0 - GG_T4_BUFFER - GG_ENZYME_MIX - 10.0 # = 7.0 uL + +# Assembly clean-up elution: 10 uL water (paper Methods 2.3); the whole +# eluate is transformed into the 50 uL of cells (paper). The paper also +# NanoDrops a spare 5 uL for CFU/ug calculations; skipped here since the +# task ends at transformation (noted at the pause below). +ASSEMBLY_ELUTION = 10.0 + +# Recovery medium: 250 uL LB + 0.2% (w/v) dextrose (paper Methods 2.3). +LB_DEXTROSE_VOLUME = 250.0 + + +def run(protocol: protocol_api.ProtocolContext): + # ------------------------- labware & instruments ---------------------- + tubes_50ml_1 = protocol.load_labware( + 'opentrons_6_tuberack_falcon_50ml_conical', 1, label='tubes_50ml_1') + tubes_1_5ml_1 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap', 2, + label='tubes_1_5ml_1') + primer_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 3, label='primer_plate') + template_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 4, label='template_plate') + pcr_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 5, label='pcr_plate') + assembly_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 6, label='assembly_plate') + cells_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 7, label='cells_plate') + tubes_15ml_1 = protocol.load_labware( + 'opentrons_15_tuberack_falcon_15ml_conical', 8, label='tubes_15ml_1') + + tips20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips300]) + + # reagent locations + water = tubes_50ml_1['A1'] # nuclease-free water + q5_buffer = tubes_1_5ml_1['A1'] # 5X Q5 reaction buffer + dntp = tubes_1_5ml_1['B1'] # 10 mM dNTPs + q5_pol = tubes_1_5ml_1['C1'] # Q5 High-Fidelity DNA Polymerase + pcr_mm_tube = tubes_1_5ml_1['D1'] # empty -> PCR master mix made here + rcutsmart = tubes_1_5ml_1['A2'] # rCutSmart Buffer (10X) + dpni = tubes_1_5ml_1['B2'] # DpnI + t4_buffer = tubes_1_5ml_1['C2'] # 10X T4 DNA Ligase Buffer + gg_enzyme = tubes_1_5ml_1['D2'] # BsaI-HFv2 + T4 ligase mix + lb_dextrose = tubes_15ml_1['A1'] # LB + 0.2% (w/v) dextrose + + pcr_wells = [pcr_plate[FRAGMENTS[n][0]] for n in sorted(FRAGMENTS)] + assembly_wells = [assembly_plate[w] for w in sorted(ASSEMBLIES)] + + protocol.comment( + 'AssemblyTron Golden Gate run (Boehm et al. 2022): 7 fragment PCRs ' + '-> DpnI digest -> fragment clean-up -> four 20 uL Golden Gate ' + 'assemblies (tsPurple, YukonOFP, aeBlue, fuGFP) -> assembly ' + 'clean-up -> transformation of TOP10 cells in cells_plate A1:D1. ' + 'Keep enzyme tubes on ice; plates stay on deck between manual steps ' + 'unless stated otherwise.') + + # ====================================================================== + # STEP 1 - PCR master mix (8 reactions: 7 fragments + 1 spare) + # ====================================================================== + protocol.comment( + 'STEP 1: preparing Q5 PCR master mix in tubes_1_5ml_1 D1 for 8 ' + 'reactions (7 PCRs + 1 dead-volume spare): {w:.2f} uL water + ' + '{b:.0f} uL 5X Q5 buffer + {d:.1f} uL 10 mM dNTPs + {p:.1f} uL Q5 ' + 'polymerase = {t:.0f} uL total ({mm:.1f} uL per reaction). ' + 'Polymerase is added through the master mix because 0.25 uL per ' + '25 uL reaction is below the p20 pipetting range.'.format( + w=MM_WATER * MM_REACTIONS, b=MM_Q5_BUFFER * MM_REACTIONS, + d=MM_DNTP * MM_REACTIONS, p=MM_Q5_POL * MM_REACTIONS, + t=MM_RXN_VOLUME * MM_REACTIONS, mm=MM_RXN_VOLUME)) + + p300.transfer(MM_WATER * MM_REACTIONS, water, pcr_mm_tube) + p300.transfer(MM_Q5_BUFFER * MM_REACTIONS, q5_buffer, pcr_mm_tube) + p20.transfer(MM_DNTP * MM_REACTIONS, dntp, pcr_mm_tube) + p20.transfer(MM_Q5_POL * MM_REACTIONS, q5_pol, pcr_mm_tube) + # mix the master mix (last and largest component volume: use p300) + p300.pick_up_tip() + p300.mix(5, 100.0, pcr_mm_tube) + p300.drop_tip() + + # ====================================================================== + # STEP 2 - set up the 7 PCRs in pcr_plate A1:G1 (25 uL each) + # ====================================================================== + protocol.comment( + 'STEP 2: setting up 7 x 25 uL PCRs in pcr_plate A1:G1: {mm:.1f} uL ' + 'master mix + {fp:.1f} uL forward primer + {rp:.1f} uL reverse ' + 'primer (1 uM stocks -> 0.1 uM final, paper 2.3) + {tpl:.1f} uL ' + 'linearized template (0.5 ng/uL -> 0.5 ng, paper 2.3).'.format( + mm=MM_RXN_VOLUME, fp=PRIMER_VOLUME, rp=PRIMER_VOLUME, + tpl=TEMPLATE_VOLUME)) + + # master mix: 19 uL per well is below the p300 20 uL minimum, so the + # p20 (1-20 uL range) dispenses it; a single tip suffices since the tip + # only ever carries master mix. + p20.transfer(MM_RXN_VOLUME, pcr_mm_tube, pcr_wells, new_tip='once') + + for n in sorted(FRAGMENTS): + pcr_well, fwd, rev, tpl = FRAGMENTS[n] + p20.transfer(PRIMER_VOLUME, primer_plate[fwd], + pcr_plate[pcr_well], new_tip='always') + p20.transfer(PRIMER_VOLUME, primer_plate[rev], + pcr_plate[pcr_well], new_tip='always') + + # templates: fresh tip per fragment (template A1 is shared by + # fragments 1, 2, 5 and 6 - no carry-over of DNA between PCRs) + for n in sorted(FRAGMENTS): + pcr_well, fwd, rev, tpl = FRAGMENTS[n] + p20.transfer(TEMPLATE_VOLUME, template_plate[tpl], + pcr_plate[pcr_well], new_tip='always') + + # mix each completed PCR + for well in pcr_wells: + p20.pick_up_tip() + p20.mix(3, 15.0, well) + p20.drop_tip() + + # ------------------ manual: gradient PCR (off deck) ------------------- + protocol.comment( + 'MANUAL STEP - PCR (off-deck gradient thermocycler, e.g. Bio-Rad ' + 'C100; the OT-2 thermocycler has no gradient capability, paper ' + '3.1): seal pcr_plate, transfer it to the gradient thermocycler at ' + 'the block positions/annealing-temperature gradient computed by ' + 'AssemblyTron (each fragment within 0.4 C of its j5 annealing Tm), ' + 'and run: 98 C 30 s initial denaturation; 34 cycles of [98 C 10 s; ' + 'annealing 30 s at the gradient temperature for that fragment; ' + '72 C extension at 20-30 s/kb for Q5 - use 90 s here, sized for ' + 'the longest backbone fragment]; final extension 72 C 5 min; hold ' + '4 C. (Paper uses 34 or 36 cycles; 34 chosen.) Optionally remove ' + 'a small sample of each reaction for agarose gel QC (paper 3.2). ' + 'Return the UNSEALED pcr_plate to deck slot 5 and resume.') + protocol.pause('Run the gradient PCR off-deck, then return pcr_plate to ' + 'slot 5 and resume.') + + # ====================================================================== + # STEP 3 - DpnI digestion of the PCR products (paper 2.3 recipe) + # ====================================================================== + protocol.comment( + 'STEP 3: DpnI digest to destroy the methylated plasmid template ' + 'carried over from the PCRs: adding {w:.0f} uL water + {b:.0f} uL ' + 'rCutSmart (10X -> 1X in the resulting 50 uL) + {e:.0f} uL DpnI to ' + 'each 25 uL PCR in pcr_plate A1:G1.'.format( + w=DPNI_WATER, b=DPNI_RCUTSMART, e=DPNI_ENZYME)) + + p20.transfer(DPNI_WATER, water, pcr_wells, new_tip='once') + p20.transfer(DPNI_RCUTSMART, rcutsmart, pcr_wells, new_tip='once') + p20.transfer(DPNI_ENZYME, dpni, pcr_wells, new_tip='once') + + for well in pcr_wells: + p300.pick_up_tip() + p300.mix(3, 30.0, well) + p300.drop_tip() + + # ---------------- manual: DpnI incubation (off deck) ------------------ + protocol.comment( + 'MANUAL STEP - DpnI digestion (paper 2.3): seal pcr_plate and ' + 'incubate in a thermocycler at 37 C for 30 min, then deactivate ' + 'DpnI at 65 C for 20 min. Unseal and return the plate to deck ' + 'slot 5.') + protocol.pause('Incubate pcr_plate: 37 C 30 min, then 65 C 20 min; ' + 'return to slot 5 and resume.') + + # ---------------- manual: fragment clean-up (columns) ----------------- + protocol.comment( + 'MANUAL STEP - fragment clean-up (paper 3.2: residual polymerase ' + 'fills in the BsaI sticky ends and must be removed before ' + 'assembly): clean and concentrate EACH of the 7 digested fragments ' + '(50 uL each in pcr_plate A1:G1) on a Zymo DNA Clean & ' + 'Concentrator-5 column (add 5 volumes DNA Binding Buffer, load, ' + 'wash twice with 200 uL DNA Wash Buffer, then elute with {el:.0f} ' + 'uL nuclease-free water). Elute in {el:.0f} uL rather than the ' + 'paper\'s 10 uL final-assembly elution because shared fragments ' + 'need up to 12 uL (3 uL x 4 assemblies) plus pipetting dead ' + 'volume - our choice where the paper leaves fragment elution open. ' + 'Return each eluate to its ORIGINAL pcr_plate well (fragment 1 -> ' + 'A1, 2 -> B1, 3 -> C1, 4 -> D1, 5 -> E1, 6 -> F1, 7 -> G1).'.format( + el=FRAGMENT_ELUTION)) + protocol.pause('Column-purify the 7 fragments, elute each in 20 uL ' + 'water back into its pcr_plate well, and resume.') + + # ====================================================================== + # STEP 4 - Golden Gate assembly set-up in assembly_plate A1:D1 (20 uL) + # ====================================================================== + protocol.comment( + 'STEP 4: setting up four 20 uL Golden Gate reactions in ' + 'assembly_plate A1 (tsPurple), B1 (YukonOFP), C1 (aeBlue), D1 ' + '(fuGFP): {w:.1f} uL water + {b:.1f} uL 10X T4 ligase buffer + ' + 'cleaned fragments in length-proportional volumes (3+2+3+2 = ' + '10 uL; backbone fragments 2/5/6 shared by all four constructs, ' + 'plus one chromoprotein fragment each) + {e:.1f} uL BsaI-HFv2/T4 ' + 'ligase mix added last to start the reactions.'.format( + w=GG_WATER, b=GG_T4_BUFFER, e=GG_ENZYME_MIX)) + + p20.transfer(GG_WATER, water, assembly_wells, new_tip='once') + p20.transfer(GG_T4_BUFFER, t4_buffer, assembly_wells, new_tip='once') + + # shared backbone fragments: one tip per fragment source is safe - the + # tip only ever contacts that one fragment plus wells that all receive + # it. (fragment 2: 3 uL, fragment 5: 2 uL, fragment 6: 3 uL per well) + for frag_n in (2, 5, 6): + src = pcr_plate[FRAGMENTS[frag_n][0]] + vol = ASSEMBLIES['A1'][frag_n] # identical across the 4 assemblies + p20.transfer(vol, src, assembly_wells, new_tip='once') + + # chromoprotein fragment: different source per assembly -> fresh tip + # each time; volumes are identical (2 uL) across assemblies. + for asm_well, frags in ASSEMBLIES.items(): + chromo = [n for n in frags if n not in (2, 5, 6)][0] + p20.transfer(frags[chromo], pcr_plate[FRAGMENTS[chromo][0]], + assembly_plate[asm_well], new_tip='always') + + # enzyme mix last (starts the digestion/ligation cycling), then mix; + # fresh tip per well since mix_after re-enters each reaction + p20.transfer(GG_ENZYME_MIX, gg_enzyme, assembly_wells, + new_tip='always', mix_after=(3, 15.0)) + + # ---------------- manual: Golden Gate cycling ------------------------- + protocol.comment( + 'MANUAL STEP - Golden Gate thermocycling (paper 3.2, based on ' + 'Engler et al.): seal assembly_plate A1:D1 and seat it on the ' + 'Opentrons thermocycler module (or move it to any thermocycler if ' + 'no module is available - the protocol pauses either way). Run ' + 'with a heated lid: 30 cycles of [37 C 5 min (BsaI digestion); ' + '16 C 5 min (T4 ligation)]; final 37 C 15 min to drive assembly ' + 'to completion; 60 C 5 min to heat-inactivate; hold 4 C. (Cycle ' + 'count/lengths follow the Engler one-pot protocol the paper ' + 'cites; the paper does not print the program.) Return/seal the ' + 'plate in deck slot 6 when done.') + protocol.pause('Run the Golden Gate cycling program on assembly_plate, ' + 'then resume.') + + # ---------------- manual: assembly clean-up (columns) ----------------- + protocol.comment( + 'MANUAL STEP - assembly clean-up (paper 2.3): clean and ' + 'concentrate each 20 uL Golden Gate reaction on a Zymo DNA Clean & ' + 'Concentrator-5 column and elute with {el:.0f} uL molecular-grade ' + 'water. Return each eluate to its assembly_plate well (A1:D1). ' + 'The paper NanoDrops a spare 5 uL of eluate to compute CFU/ug ' + 'transformation efficiencies; skipped here since this run ends at ' + 'transformation and the whole 10 uL eluate is transformed.'.format( + el=ASSEMBLY_ELUTION)) + protocol.pause('Column-purify the 4 assemblies, elute each in 10 uL ' + 'water back into assembly_plate A1:D1, and resume.') + + # ====================================================================== + # STEP 5 - transformation into E. coli TOP10 (cells_plate A1:D1) + # ====================================================================== + protocol.comment( + 'STEP 5: adding each {el:.0f} uL cleaned assembly eluate to 50 uL ' + 'of TOP10 chemically competent cells (Hanahan method) in ' + 'cells_plate A1 (tsPurple), B1 (YukonOFP), C1 (aeBlue), D1 ' + '(fuGFP), with a gentle 2x mix.'.format(el=ASSEMBLY_ELUTION)) + + p20.transfer(ASSEMBLY_ELUTION, + [assembly_plate[w] for w in sorted(ASSEMBLIES)], + [cells_plate[w] for w in sorted(ASSEMBLIES)], + new_tip='always', mix_after=(2, 10.0)) + + # ---------------- manual: ice incubation + heat shock ----------------- + protocol.comment( + 'MANUAL STEP - transformation (paper 2.3): incubate the cells on ' + 'ice for 30 min, heat-shock at 42 C for exactly 60 s (heat block ' + 'or water bath; cannot be done on-deck), then return the plate to ' + 'ice briefly. Bring cells_plate back to deck slot 7 and resume so ' + 'the robot can add recovery medium.') + protocol.pause('Incubate 30 min on ice, heat shock 42 C 60 s, return ' + 'cells_plate to slot 7 and resume.') + + # recovery medium, added by the robot (paper 2.3: 250 uL LB + 0.2% + # dextrose; 250 uL fits the p300 and keeps the 360 uL wells < capacity) + protocol.comment( + 'Adding {v:.0f} uL LB + 0.2% (w/v) dextrose recovery medium from ' + 'tubes_15ml_1 A1 to each transformation well.'.format( + v=LB_DEXTROSE_VOLUME)) + p300.transfer(LB_DEXTROSE_VOLUME, lb_dextrose, + [cells_plate[w] for w in sorted(ASSEMBLIES)], + new_tip='always', mix_after=(3, 200.0)) + + # ---------------- manual: outgrowth recovery -------------------------- + protocol.comment( + 'MANUAL STEP - recovery (paper 2.3): incubate the transformation ' + 'mixes at 37 C for 60 min with shaking/aeration to allow ' + 'kanamycin-resistance expression.') + protocol.pause('Recover cells at 37 C for 60 min, then resume to end ' + 'the robot run.') + + # ---------------- manual: plating (end of robot work) ----------------- + protocol.comment( + 'MANUAL STEP - plating and scoring (paper 2.3/3.2): plate 50-200 ' + 'uL of each recovery (neat or as a 10x dilution, depending on ' + 'expected efficiency; the paper saw 300-800 colonies per assembly) ' + 'onto LB agar with kanamycin 50 ug/mL - all four constructs carry ' + 'the KanR fragment 5. Incubate at 37 C overnight, then count ' + 'colonies and score chromoprotein colour: A1 purple (tsPurple), ' + 'B1 orange (YukonOFP), C1 blue (aeBlue), D1 green (fuGFP); >98% ' + 'of colonies are expected to show the correct colour.') + protocol.comment( + 'Robot work complete. Intermediates left on deck: spare PCR master ' + 'mix in tubes_1_5ml_1 D1, unused primer/template stocks, and ' + 'fragment leftovers in pcr_plate A1:G1 for re-use or archiving.') diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/reward.json new file mode 100644 index 0000000..810616a --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.75, "sim_pass": 1.0, "checks_frac": 0.9048, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.4333, "judge_score": 0.75, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_pcr_setup": 1.0, "rubric_dpni_and_cleanup": 1.0, "rubric_assembly_mix": 1.0, "rubric_cycling_and_transformation": 1.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/trial.json new file mode 100644 index 0000000..1292406 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/trial.json @@ -0,0 +1,31 @@ +{ + "task": "golden-gate-assembly-hard", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.75, + "sim_pass": 1.0, + "checks_frac": 0.9048, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.4333, + "judge_score": 0.75, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_pcr_setup": 1.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 1.0, + "rubric_cycling_and_transformation": 1.0 + }, + "exception": null, + "cost_usd": 0.671698, + "input_tokens": 596708, + "output_tokens": 47617, + "started_at": "2026-10-07T18:21:21.341883Z", + "finished_at": "2026-10-07T18:44:49.101158Z", + "cache_tokens": 461383, + "claude_code_cost_usd": 2.20125525 +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/grader.json new file mode 100644 index 0000000..0881b9a --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/grader.json @@ -0,0 +1,236 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 549 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:water", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dntp", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_pol", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_mm", + "pass": false, + "detail": "expected {'D1': 19.0}, got {'D1': 12.0}" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:template_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_plate", + "pass": false, + "detail": "expected {'A1': 48.0, 'B1': 38.0, 'C1': 48.0, 'D1': 48.0, 'E1': 42.0, 'F1': 38.0, 'G1': 48.0}, got {'A1': 48.0, 'B1': 37.0, 'C1': 48.0, 'D1': 48.0, 'E1': 41.0, 'F1': 37.0, 'G1': 48.0}" + }, + { + "name": "end_state:rcutsmart", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dpni", + "pass": true, + "detail": "" + }, + { + "name": "end_state:t4_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:gg_enzyme", + "pass": true, + "detail": "" + }, + { + "name": "end_state:assembly_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:cells_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:lb_dextrose", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "Valid apiLevel 2.13 and metadata. Every volume is within its pipette's range (p20 for \u226420 \u00b5L, p300 for 40, 106, 250 \u00b5L and the 30 \u00b5L mixes), and no well is overfilled (cells wells hold 305 \u00b5L of 360).", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "The tip_before_aspirate, tip_dropped_at_end and no_cross_contamination checks all passed. Fresh tips are used per primer, template and fragment transfer, and shared reagents are dispensed with distribute using one tip.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 0, + "evidence": "The pcr_mm end_state check failed (D1 holds 12 \u00b5L instead of 19 \u00b5L). p20.distribute(19, ...) used a disposal volume that discarded master mix. Step 24 also mixes at 15 \u00b5L, which differs from the reference.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "pcr_setup", + "score": 0, + "evidence": "Each PCR well receives the correct 19 \u00b5L mix, 2.5 \u00b5L primers and 1 \u00b5L template. However, the end_state:pcr_mm check failed (12 vs 19 \u00b5L) because p20.distribute(19, pcr_mm, pcr_wells) discarded master mix.", + "votes": [ + 0, + 1, + 0 + ] + }, + { + "id": "dpni_and_cleanup", + "score": 1, + "evidence": "Steps 12-14 add 19 \u00b5L water, 5 \u00b5L rCutSmart and 1 \u00b5L DpnI. The 3x30 \u00b5L mix, incubation comment and Zymo cleanup comment are in order, and the DpnI volumes match.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "assembly_mix", + "score": 0, + "evidence": "The end_state:pcr_plate check failed (B1, E1 and F1 are 1 \u00b5L low). p20.distribute of fragments 2, 5 and 6 with a disposal volume wasted fragment, so the assembly step does not match the task's volumes.", + "votes": [ + 0, + 1, + 0 + ] + }, + { + "id": "cycling_and_transformation", + "score": 1, + "evidence": "Step 25 records the Golden Gate program (30 cycles of 37/16\u00b0C, 60\u00b0C, 4\u00b0C hold) via comment. Step 27 transfers 5 \u00b5L to the cells, followed by the ice/heat-shock comment and 250 \u00b5L LB. The cells_plate end_state check passed.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 0.0, + "pcr_setup": 0.0, + "dpni_and_cleanup": 1.0, + "assembly_mix": 0.0, + "cycling_and_transformation": 1.0 + }, + "summary": "The protocol simulates cleanly with correct tip handling, and the manual steps are recorded as comments. However, p20.distribute() used a disposal volume that discarded master mix and fragment volume, which failed the pcr_mm and pcr_plate end-state checks. That fails the PCR setup, assembly mix and fidelity items.", + "level": "easy", + "score": 0.625, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "pcr_setup": 0.0625, + "dpni_and_cleanup": 0.0625, + "assembly_mix": 0.0625, + "cycling_and_transformation": 0.0625 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [ + "end_state:pcr_mm", + "end_state:pcr_plate" + ], + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.9048, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.4333, + "judge_score": 0.625, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 0.0, + "rubric_pcr_setup": 0.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 0.0, + "rubric_cycling_and_transformation": 1.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/protocol.py new file mode 100644 index 0000000..0c65382 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/protocol.py @@ -0,0 +1,269 @@ +from opentrons import protocol_api + +metadata = { + 'protocolName': 'AssemblyTron Golden Gate assembly of four chromoprotein ' + 'expression plasmids (4 fragments each)', + 'author': 'Claude', + 'description': 'Golden Gate assembly on the OT-2: Q5 PCR of fragments 1-7, ' + 'DpnI digest of template, fragment cleanup, Golden Gate ' + 'assembly (BsaI-HFv2 + T4 ligase), cleanup and ' + 'transformation into E. coli TOP10.', + 'apiLevel': '2.13' +} + + +def run(protocol: protocol_api.ProtocolContext): + + # ------------------------------------------------------------------ + # Labware + # ------------------------------------------------------------------ + tubes_50ml_1 = protocol.load_labware( + 'opentrons_6_tuberack_falcon_50ml_conical', 1, label='tubes_50ml_1') + tubes_1_5ml_1 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap', 2, + label='tubes_1_5ml_1') + primer_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 3, label='primer_plate') + template_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 4, label='template_plate') + pcr_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 5, label='pcr_plate') + assembly_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 6, label='assembly_plate') + cells_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 7, label='cells_plate') + tubes_15ml_1 = protocol.load_labware( + 'opentrons_15_tuberack_falcon_15ml_conical', 8, label='tubes_15ml_1') + + # ------------------------------------------------------------------ + # Pipettes and tips + # ------------------------------------------------------------------ + tiprack_20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tiprack_300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tiprack_20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tiprack_300]) + + # ------------------------------------------------------------------ + # Locations + # ------------------------------------------------------------------ + water = tubes_50ml_1['A1'] + q5_buffer = tubes_1_5ml_1['A1'] + dntp = tubes_1_5ml_1['B1'] + q5_pol = tubes_1_5ml_1['C1'] + pcr_mm = tubes_1_5ml_1['D1'] # empty at start -> PCR master mix + rcutsmart = tubes_1_5ml_1['A2'] + dpni = tubes_1_5ml_1['B2'] + t4_buffer = tubes_1_5ml_1['C2'] + gg_enzyme = tubes_1_5ml_1['D2'] + lb_dextrose = tubes_15ml_1['A1'] + + # PCR wells (column 1): fragments 1-7 in A1:G1 + frag_names = ['A1', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1'] + pcr_wells = [pcr_plate[w] for w in frag_names] + + fwd_primers = [primer_plate[w] for w in frag_names] + rev_primers = [primer_plate['%s2' % r] for r in 'ABCDEFG'] + + # Template for each fragment 1-7 (template_plate wells) + # frag1=tsPurple(A1), frag2=backbone(A1), frag3=YukonOFP(B1), + # frag4=aeBlue(C1), frag5=backbone/KanR(A1), frag6=backbone(A1), + # frag7=fuGFP(D1) + template_wells = ['A1', 'A1', 'B1', 'C1', 'A1', 'A1', 'D1'] + templates = [template_plate[w] for w in template_wells] + + assembly_wells = [assembly_plate[w] for w in ['A1', 'B1', 'C1', 'D1']] + cells_wells = [cells_plate[w] for w in ['A1', 'B1', 'C1', 'D1']] + + # ================================================================== + # PCR master mix (for 8 reactions of 19 uL: water 106, 5X Q5 buffer + # 40, 10 mM dNTPs 4, Q5 polymerase 2 = 152 uL) + # ================================================================== + protocol.comment('Step 1: Adding 106 uL nuclease-free water to the PCR ' + 'master mix tube (tubes_1_5ml_1 D1).') + p300.transfer(106, water, pcr_mm, new_tip='always') + + protocol.comment('Step 2: Adding 40 uL 5X Q5 reaction buffer to the PCR ' + 'master mix tube.') + p300.transfer(40, q5_buffer, pcr_mm, new_tip='always') + + protocol.comment('Step 3: Adding 4 uL 10 mM dNTPs to the PCR master mix ' + 'tube.') + p20.transfer(4, dntp, pcr_mm, new_tip='always') + + protocol.comment('Step 4: Adding 2 uL Q5 High-Fidelity DNA Polymerase to ' + 'the PCR master mix tube.') + p20.transfer(2, q5_pol, pcr_mm, new_tip='always') + + protocol.comment('Step 5: Mixing the PCR master mix (5x at 100 uL).') + p300.pick_up_tip() + p300.mix(5, 100, pcr_mm) + p300.drop_tip() + + # ================================================================== + # PCR setup in pcr_plate A1:G1 (25 uL each) + # ================================================================== + protocol.comment('Step 6: Distributing 19 uL PCR master mix to pcr_plate ' + 'A1:G1 (fragments 1-7).') + p20.distribute(19, pcr_mm, pcr_wells) + + protocol.comment('Step 7: Adding 2.5 uL of each forward primer (1 uM) to ' + 'the corresponding PCR well.') + for src, dst in zip(fwd_primers, pcr_wells): + p20.transfer(2.5, src, dst, new_tip='always') + + protocol.comment('Step 8: Adding 2.5 uL of each reverse primer (1 uM) to ' + 'the corresponding PCR well.') + for src, dst in zip(rev_primers, pcr_wells): + p20.transfer(2.5, src, dst, new_tip='always') + + protocol.comment('Step 9: Adding 1 uL of each linearized template ' + '(0.5 ng/uL, 0.5 ng) to the corresponding PCR well.') + for src, dst in zip(templates, pcr_wells): + p20.transfer(1, src, dst, new_tip='always') + + protocol.comment('Step 10: Mixing each PCR (3x at 15 uL).') + for well in pcr_wells: + p20.pick_up_tip() + p20.mix(3, 15, well) + p20.drop_tip() + + # ------------------------------------------------------------------ + # Gradient PCR (manual, off-robot) + # ------------------------------------------------------------------ + protocol.comment( + 'Step 11 (manual): Seal pcr_plate (or move the PCR tubes) and ' + 'transfer to the Bio-Rad C100 gradient thermocycler. Run: 98C 30 s; ' + '34 cycles of [98C 10 s, annealing 30 s at the AssemblyTron/j5 ' + 'optimal-gradient temperature for each fragment, 72C extension at ' + 'the time set by AssemblyTron (~20-30 s/kb)]; final extension 72C ' + '5 min; hold 4C. Take a sample of each reaction for gel ' + 'electrophoresis, then return the reactions to the OT-2.') + + # ================================================================== + # DpnI digestion of residual template (50 uL total per reaction) + # ================================================================== + protocol.comment('Step 12: Adding 19 uL nuclease-free water to each PCR ' + '(A1:G1) for DpnI digestion.') + p20.distribute(19, water, pcr_wells) + + protocol.comment('Step 13: Adding 5 uL rCutSmart Buffer to each PCR.') + p20.distribute(5, rcutsmart, pcr_wells) + + protocol.comment('Step 14: Adding 1 uL DpnI to each PCR.') + p20.distribute(1, dpni, pcr_wells) + + protocol.comment('Step 15: Mixing each DpnI digestion (3x at 30 uL).') + for well in pcr_wells: + p300.pick_up_tip() + p300.mix(3, 30, well) + p300.drop_tip() + + protocol.comment( + 'Step 16 (manual): Incubate pcr_plate A1:G1 at 37C for 30 min, then ' + '65C for 20 min (DpnI inactivation) on the thermocycler block.') + + # ------------------------------------------------------------------ + # Fragment clean-up (manual) + # ------------------------------------------------------------------ + protocol.comment( + 'Step 17 (manual): PAUSE. Clean and concentrate each of the 7 ' + 'fragments with a Zymo DNA Clean & Concentrator-5 column: add 5:1 ' + 'DNA Binding Buffer to sample (250 uL per 50 uL), spin 30 s, wash ' + '2 x 200 uL DNA Wash Buffer (30 s spins), elute in 20 uL water ' + 'after 1 min at room temperature (30 s spin). Return the eluted ' + 'fragments (20 uL each) to pcr_plate A1:G1 (fragments 1-7) and ' + 'resume the protocol.') + + # ================================================================== + # Golden Gate assembly setup in assembly_plate A1:D1 (20 uL each) + # Assemblies: A1 = tsPurple (purple), B1 = YukonOFP (orange), + # C1 = aeBlue (blue), D1 = fuGFP (green) + # Each = fragment 2 (backbone) + fragment 5 (backbone/KanR) + + # fragment 6 (backbone) + one chromoprotein fragment (1,3,4,7) + # ================================================================== + protocol.comment('Step 18: Adding 7 uL nuclease-free water to ' + 'assembly_plate A1:D1.') + p20.distribute(7, water, assembly_wells) + + protocol.comment('Step 19: Adding 2 uL 10X T4 DNA Ligase Buffer to each ' + 'assembly.') + p20.distribute(2, t4_buffer, assembly_wells) + + protocol.comment('Step 20: Adding 3 uL of fragment 2 (backbone) to each ' + 'assembly.') + p20.distribute(3, pcr_plate['B1'], assembly_wells) + + protocol.comment('Step 21: Adding 2 uL of fragment 5 (backbone/KanR) to ' + 'each assembly.') + p20.distribute(2, pcr_plate['E1'], assembly_wells) + + protocol.comment('Step 22: Adding 3 uL of fragment 6 (backbone) to each ' + 'assembly.') + p20.distribute(3, pcr_plate['F1'], assembly_wells) + + protocol.comment('Step 23: Adding 2 uL of each chromoprotein fragment ' + '(1=tsPurple->A1, 3=YukonOFP->B1, 4=aeBlue->C1, ' + '7=fuGFP->D1) to the corresponding assembly.') + chromo_sources = [pcr_plate[w] for w in ['A1', 'C1', 'D1', 'G1']] + for src, dst in zip(chromo_sources, assembly_wells): + p20.transfer(2, src, dst, new_tip='always') + + protocol.comment('Step 24: Adding 1 uL Golden Gate Enzyme Mix ' + '(BsaI-HFv2 + T4 ligase) to each assembly and mixing ' + '5x.') + for dst in assembly_wells: + p20.transfer(1, gg_enzyme, dst, mix_after=(5, 15), new_tip='always') + + # ------------------------------------------------------------------ + # Golden Gate thermocycling (manual / Opentrons thermocycler module) + # ------------------------------------------------------------------ + protocol.comment( + 'Step 25 (manual): Run the Golden Gate program on assembly_plate in ' + 'the Opentrons thermocycler module: 30 cycles of 37C 5 min then 16C ' + '5 min; then 60C 5 min; hold at 4C. Lid about 85C. If no module is ' + 'available, pause and move the reactions to another thermocycler.') + + protocol.comment( + 'Step 26 (manual): Clean and concentrate each assembly with a Zymo ' + 'DNA Clean & Concentrator-5 column (5:1 DNA Binding Buffer to ' + 'sample, wash 2 x 200 uL DNA Wash Buffer) and elute in 10 uL ' + 'molecular grade water. Return the eluates (10 uL each) to ' + 'assembly_plate A1:D1.') + + # ================================================================== + # Transformation into E. coli TOP10 + # ================================================================== + protocol.comment('Step 27: Adding 5 uL of each purified Golden Gate ' + 'assembly to the corresponding well of competent ' + 'TOP10 cells (cells_plate A1:D1).') + for src, dst in zip(assembly_wells, cells_wells): + p20.transfer(5, src, dst, new_tip='always') + + protocol.comment( + 'Step 28 (manual): Measure DNA concentration of the remaining 5 uL ' + 'of each eluate with a NanoDrop-2000c for CFU/ug calculation.') + + protocol.comment( + 'Step 29 (manual): Incubate cells_plate A1:D1 for 30 min on ice, ' + 'heat shock at 42C for 60 s, then return to ice for about 2 min.') + + protocol.comment('Step 30: Adding 250 uL LB + 0.2% (w/v) dextrose to ' + 'each transformation for outgrowth.') + p300.distribute(250, lb_dextrose, cells_wells) + + protocol.comment( + 'Step 31 (manual): Recover the cells at 37C for 60 min with shaking ' + '(about 250 rpm).') + + protocol.comment( + 'Step 32 (manual): Plate 50-200 uL of each recovery (neat or a 10x ' + 'dilution, depending on predicted efficiency) onto separate LB agar ' + 'plates containing kanamycin 50 ug/mL; incubate at 37C overnight.') + + protocol.comment( + 'Step 33 (manual): Count colonies per plate and score the fraction ' + 'showing the expected chromoprotein colour (A1 purple, B1 orange, ' + 'C1 blue, D1 green); report CFU/ug of DNA plated.') diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/reward.json new file mode 100644 index 0000000..da56884 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/reward.json @@ -0,0 +1 @@ +{"reward": 0.3, "sim_pass": 1.0, "checks_frac": 0.9048, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.4333, "judge_score": 0.625, "critical_fail": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 0.0, "rubric_pcr_setup": 0.0, "rubric_dpni_and_cleanup": 1.0, "rubric_assembly_mix": 0.0, "rubric_cycling_and_transformation": 1.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/trial.json new file mode 100644 index 0000000..daa39ca --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/golden-gate-assembly/trial.json @@ -0,0 +1,31 @@ +{ + "task": "golden-gate-assembly", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.9048, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.4333, + "judge_score": 0.625, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 0.0, + "rubric_pcr_setup": 0.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 0.0, + "rubric_cycling_and_transformation": 1.0 + }, + "exception": null, + "cost_usd": 0.199604, + "input_tokens": 211070, + "output_tokens": 11699, + "started_at": "2026-10-07T18:21:21.437690Z", + "finished_at": "2026-10-07T18:29:26.269140Z", + "cache_tokens": 167274, + "claude_code_cost_usd": 0.6497919999999999 +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/grader.json new file mode 100644 index 0000000..c3f4ac2 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/grader.json @@ -0,0 +1,234 @@ +{ + "variant": "reference", + "judge_model": "claude-sonnet-5-5", + "suspicious_tokens": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1450 + }, + "checks": { + "checks": [ + { + "name": "48_samples_to_odd_columns", + "pass": true, + "detail": "48 tubes -> 48 wells, odd columns only: True" + }, + { + "name": "step_order", + "pass": true, + "detail": "expected per well: beads > isopropanol > sample > remove > ethanol > remove > ethanol > remove > elution > recover" + }, + { + "name": "binding_volumes_40_250_250", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "mix_5x_after_sample", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "incubation_5min_before_magnet", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_4min_before_first_removal", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "supernatant_removed_each_step", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_engaged_for_all_removals", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "two_500ul_ethanol_washes", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "air_dry_4min", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_100ul", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_off_magnet_then_90s_on", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "recover_70_100ul_one_well_each", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "distinct_elution_wells", + "pass": true, + "detail": "48 distinct elution wells" + }, + { + "name": "elution_plate_4C_before_recovery", + "pass": true, + "detail": "temperatures set: [(0.0, 4.0)]" + }, + { + "name": "fresh_tip_per_sample_no_cross_contact", + "pass": true, + "detail": "48 distinct tips for 48 sample transfers; violations: []" + }, + { + "name": "reservoir_columns_within_15ml", + "pass": true, + "detail": "uL drawn per reservoir column: 2: 1920, 4: 4800, 6: 6000, 7: 6000, 9: 12000, 10: 12000, 11: 12000, 12: 12000" + } + ], + "checks_passed": 17, + "checks_total": 17, + "total_delay_min": 15.0, + "example_well": "A1", + "example_sequence": [ + "beads 40uL", + "isopropanol 250uL", + "sample 250uL", + "remove 500uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "elution 100uL", + "recover 90uL (magnet)" + ] + }, + "critical_failures": [], + "judge": { + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.11 is valid. The p300 multi splits 250 uL transfers into 125 uL pieces, p1000 handles 250 uL, volumes in the reservoir are within capacity (reservoir check passed), and the simulator ran cleanly.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Check fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips for the 48 samples. Every pick_up_tip is paired with drop_tip, and the 34 multichannel pickups fit within the 36 available tip columns.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_paper", + "score": 0, + "evidence": "Each removal takes only 2x250 = 500 uL from 540 uL wells, so about 40 uL stays after every step, and the comment 'remove supernatant (~540 uL)' is inaccurate. This leaves residual ethanol before elution.", + "votes": [ + 1, + 0, + 0 + ] + }, + { + "id": "sample_handling", + "score": 1, + "evidence": "Checks 48_samples_to_odd_columns and distinct_elution_wells passed. The code maps 48 tubes to odd-column wells and recovers each eluate into the same column of the elution plate.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "binding_and_separation", + "score": 1, + "evidence": "Checks binding_volumes_40_250_250, mix_5x_after_sample, incubation_5min_before_magnet, magnet_4min_before_first_removal and magnet_engaged_for_all_removals all passed. The code pipettes beads, then isopropanol, then sample, and removes the supernatant to waste with the magnet engaged.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "washes_and_drying", + "score": 1, + "evidence": "Checks two_500ul_ethanol_washes, supernatant_removed_each_step and air_dry_4min passed. Each wash removal runs with the magnet engaged, and the code delays 4 min before mag_mod.disengage().", + "votes": [ + 1, + 0, + 1 + ] + }, + { + "id": "elution_recovery", + "score": 1, + "evidence": "Checks elution_100ul, elution_off_magnet_then_90s_on, recover_70_100ul_one_well_each and elution_plate_4C_before_recovery passed. The code adds 100 uL off-magnet, mixes, engages the magnet for 90 s, then moves 90 uL to the 4 C plate.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_paper": 0.0, + "sample_handling": 1.0, + "binding_and_separation": 1.0, + "washes_and_drying": 1.0, + "elution_recovery": 1.0 + }, + "summary": "The protocol passed all 17 measured run-log checks and handles tips correctly, using a fresh p1000 tip for each of the 48 samples and dropping every tip. I scored it 1 on every item, including the all-or-nothing fidelity item, whose only blemishes are minor: a \\\"~540 uL\\\" comment against 500 uL actually removed, and the 30 s elution wait coming after all columns are mixed.", + "raw": "[{\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.11 is valid. The p300 multi splits 250 uL transfers into 125 uL pieces, p1000 handles 250 uL, volumes in the reservoir are within capacity (reservoir check passed), and the simulator ran cleanly.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips for the 48 samples. Every pick_up_tip is paired with drop_tip, and the 34 multichannel pickups fit within the 36 available tip columns.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 1, \"evidence\": \"All 17 run-log checks passed: volumes 40/250/250, mix 5x, 5 min incubation, 4 min magnet, two 500 uL ethanol washes, 4 min dry, 100 uL elution, 90 s magnet, and recovery of 90 uL at 4 C. The metadata cites the paper correctly; the only blemishes are the \\\"~540 uL\\\" comment against 500 uL actually removed and the 30 s wait coming after all elution mixing.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Checks 48_samples_to_odd_columns and distinct_elution_wells passed. The code maps 48 tubes to odd-column wells and recovers each eluate into the same column of the elution plate.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Checks binding_volumes_40_250_250, mix_5x_after_sample, incubation_5min_before_magnet, magnet_4min_before_first_removal and magnet_engaged_for_all_removals all passed. The code pipettes beads, then isopropanol, then sample, and removes the supernatant to waste with the magnet engaged.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Checks two_500ul_ethanol_washes, supernatant_removed_each_step and air_dry_4min passed. Each wash removal runs with the magnet engaged, and the code delays 4 min before mag_mod.disengage().\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"Checks elution_100ul, elution_off_magnet_then_90s_on, recover_70_100ul_one_well_each and elution_plate_4C_before_recovery passed. The code adds 100 uL off-magnet, mixes, engages the magnet for 90 s, then moves 90 uL to the 4 C plate.\"}], \"summary\": \"The protocol passed all 17 measured run-log checks and handles tips correctly, using a fresh p1000 tip for each of the 48 samples and dropping every tip. I scored it 1 on every item, including the all-or-nothing fidelity item, whose only blemishes are minor: a \\\\\\\"~540 uL\\\\\\\" comment against 500 uL actually removed, and the 30 s elution wait coming after all columns are mixed.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.11, p300 multi volumes split into 125 uL chunks within the 200 uL tips, p1000 handles 250 uL and 300 uL mixes, reservoir columns stay under 15 mL (check passed).\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips. Every tip is dropped, with a fresh tip per column for removals and elution. Shared tips are used only for the same reagent, dispensed above the liquid.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"Each removal takes only 2x250 = 500 uL from 540 uL wells, so about 40 uL stays after every step, and the comment 'remove supernatant (~540 uL)' is inaccurate. This leaves residual ethanol before elution.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Checks 48_samples_to_odd_columns and distinct_elution_wells passed. One fresh p1000 tip moves each sample into its own odd-column well.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Checks passed for volumes 40/250/250, 5x mix, 5 min incubation, 4 min magnet and removal with magnet on. The removal leaves about 40 uL, but that is minor here.\"}, {\"id\": \"washes_and_drying\", \"score\": 0, \"evidence\": \"Each wash removal aspirates only 2x250 = 500 uL from a 540 uL well, so about 40 uL of ethanol remains after wash 2. The washes are not fully removed before the 4 min dry.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"100 uL elution is added with the magnet disengaged and mixed 10x. The magnet is engaged after 30 s and held 90 s, then 90 uL is moved to distinct wells of the 4 C plate (checks passed).\"}], \"summary\": \"The protocol passes all measured checks and is sound on tips and deck use. However, the supernatant and wash removals take only 500 uL from 540 uL wells, leaving about 40 uL (residual ethanol after wash 2), and the comment says about 540 uL is removed, so the washes item and the all-or-nothing fidelity item fail.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.11, p1000 handles 250 \\u00b5L samples, p300 multi handles \\u2264250 \\u00b5L transfers, waste wells hold at most 1500 \\u00b5L, and the simulation passed with no volume or capacity problems.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"The check 'fresh_tip_per_sample_no_cross_contact' passed with 48 distinct tips. Every pipetting step has a tip. Each aspirate/dispense-to-waste or elution step uses a fresh tip per column. Every tip is dropped.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"Each removal takes only 2\\u00d7250=500 \\u00b5L from a 540 \\u00b5L binding mix, so about 40 \\u00b5L is left behind. The comment 'remove supernatant (~540 uL)' is therefore inaccurate. Residual liquid carries into the washes and elution, so this is not a fully faithful implementation.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check '48_samples_to_odd_columns' passed, with 250 \\u00b5L moved per sample into odd-column wells. Check 'distinct_elution_wells' confirms 48 separate elution wells.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Checks passed for volumes 40/250/250, 5\\u00d7 mix, 5 min incubation, 4 min magnet, and supernatant removal with the magnet engaged. The code does beads, then isopropanol, then sample with mix_after=(5,300).\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Checks 'two_500ul_ethanol_washes', 'magnet_engaged_for_all_removals' and 'air_dry_4min' passed. Each 500 \\u00b5L wash is added and 500 \\u00b5L is removed with the magnet on, then a 4 min delay, then disengage.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"Checks passed for 100 \\u00b5L elution off-magnet, 90 s magnet re-engagement, 90 \\u00b5L recovery, distinct wells and 4 \\u00b0C set. The code disengages, adds buffer and mixes, waits 30 s, engages for 90 s, then transfers to the elution plate.\"}], \"summary\": \"The protocol passes all 17 measured checks, uses fresh tips correctly, and performs the binding, wash, drying and elution steps with the right volumes and timing. It fails fidelity because each removal takes 500 \\u00b5L from a 540 \\u00b5L mix, leaving about 40 \\u00b5L behind, while a comment claims ~540 \\u00b5L is removed.\"}]", + "level": "hard", + "score": 0.75, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "sample_handling": 0.0625, + "binding_and_separation": 0.0625, + "washes_and_drying": 0.0625, + "elution_recovery": 0.0625 + }, + "model": "anthropic/claude-sonnet-5.5", + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "rewards": { + "reward": 0.75, + "sim_pass": 1.0, + "checks_frac": 1.0, + "judge_score": 0.75, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 0.0, + "deterministic_reward": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 1.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/protocol.py new file mode 100644 index 0000000..eef9921 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/protocol.py @@ -0,0 +1,396 @@ +""" +Automated low-cost SARS-CoV-2 RNA extraction on the Opentrons OT-2. + +Implements the in-house OT-2 magnetic-bead protocol ("OT-2in-house") for 48 +samples, as described in: + + Lazaro-Perona F, Rodriguez-Antolin C, Alguacil-Guillen M, et al. + "Evaluation of two automated low-cost RNA extraction protocols for + SARS-CoV-2 detection." PLoS ONE 16(2): e0246302 (2021). + https://doi.org/10.1371/journal.pone.0246302 + +Per-sample reagent volumes (paper, Table 1 - OT-2in-house row): + sample 250 uL, isopropanol 250 uL, magnetic beads 40 uL, + wash 1 (ethanol 70%) 500 uL, wash 2 (ethanol 70%) 500 uL, + elution buffer 100 uL. + +Step order and timing (paper, "OT-2in-house protocol", steps 1-9): + 1. Dispense 40 uL magnetic beads, 250 uL isopropanol and 250 uL sample + per well. Mix by pipetting five times. Incubate 5 min at room + temperature. + 2. Activate the GEN1 magnetic module for 4 min. + 3. Collect the supernatant and discard. + 4. Add 500 uL ethanol 70%, collect and discard. + 5. Add 500 uL ethanol 70%, collect and discard. + 6. Air dry for 4 min. + 7. Turn off the magnetic module and add 100 uL elution buffer. + 8. After 30 s turn on the magnetic module. + 9. After 90 s collect the supernatant and transfer it to the elution + plate (kept at 4 degC on the temperature module). + +Deck layout (fixed): + slot 1 : waste plate for removed supernatant/washes (deep well) + slot 2/3/9 : 200 uL filter tip racks + slot 4 : Magnetic Module GEN1 with the extraction (deep well) plate + slot 5 : nest_12_reservoir_15ml reagent reservoir + col 2 = magnetic beads, col 4 = elution buffer, + cols 6-7 = isopropanol, cols 9-12 = ethanol 70% + slot 6 : Temperature Module GEN1 with the elution plate + (thermo_96_wellplate_200ul, custom labware), held at 4 degC + slot 7 : samples 25-48 (2 mL tubes) + slot 10 : samples 1-24 (2 mL tubes) + slot 11 : 1000 uL filter tip rack + slot 12 : fixed trash + +The 48 samples occupy the odd columns (1, 3, 5, 7, 9, 11) of the plate on +the magnetic module; each eluate is recovered into the corresponding well of +the elution plate on the temperature module. +""" + +from opentrons import protocol_api + +metadata = { + 'protocolName': 'SARS-CoV-2 RNA extraction - OT-2 in-house magnetic beads (48 samples)', + 'author': 'After Lazaro-Perona et al., PLoS ONE 2021 (doi:10.1371/journal.pone.0246302)', + 'description': 'In-house OT-2 magnetic-bead RNA extraction, 48 samples', + 'apiLevel': '2.11', +} + +# --------------------------------------------------------------------------- +# Protocol parameters (volumes in uL, taken from the paper) +# --------------------------------------------------------------------------- +BEADS_VOL = 40 # magnetic beads (Mag-Bind TotalPure NGS) +ISOPROPAVOL = 250 # isopropanol +SAMPLE_VOL = 250 # inactivated sample +WASH_VOL = 500 # ethanol 70%, per wash (two washes) +ELUTION_VOL = 100 # elution buffer +ELUATE_VOL = 90 # eluate recovered per well after the final pull + +BIND_MIX_REPS = 5 # "mix by pipetting five times" +BIND_MIX_VOL = 300 # mix volume during binding (total 540 uL in well) +ELUTION_MIX_REPS = 10 # resuspend the dried beads in elution buffer +ELUTION_MIX_VOL = 80 + +INCUBATION_MIN = 5 # binding incubation, room temperature +MAGNET_MIN = 4 # magnet engagement before supernatant removal +DRYING_MIN = 4 # air-dry with magnets engaged +ELUTION_WAIT_S = 30 # paper step 8: magnet on 30 s after buffer +SEPARATION_S = 90 # paper step 9: collect 90 s after magnet on + +# Odd columns of the extraction/elution plates holding the 48 samples. +SAMPLE_COLUMNS = ['1', '3', '5', '7', '9', '11'] + + +def run(protocol: protocol_api.ProtocolContext): + # ----------------------------------------------------------------------- + # Equipment + # ----------------------------------------------------------------------- + # slot 1: waste plate for all removed supernatants and washes + waste_plate = protocol.load_labware( + 'usascientific_96_wellplate_2.4ml_deep', '1') + + # slots 2, 3, 9: 200 uL filter tips (multichannel) + tipracks_200 = [ + protocol.load_labware('opentrons_96_filtertiprack_200ul', slot) + for slot in ('2', '3', '9') + ] + + # slot 4: Magnetic Module GEN1 with the extraction plate + mag_mod = protocol.load_module('magnetic module', '4') + extraction_plate = mag_mod.load_labware( + 'usascientific_96_wellplate_2.4ml_deep') + + # slot 5: reagent reservoir + reservoir = protocol.load_labware('nest_12_reservoir_15ml', '5') + + # slot 6: Temperature Module GEN1 with the elution plate (custom labware) + temp_mod = protocol.load_module('tempdeck', '6') + elution_plate = temp_mod.load_labware('thermo_96_wellplate_200ul') + + # slots 7 and 10: inactivated samples in 2 mL tubes + tuberack_7 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap', '7') + tuberack_10 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap', '10') + + # slot 11: 1000 uL filter tips (single channel) + tiprack_1000 = [ + protocol.load_labware('opentrons_96_filtertiprack_1000ul', '11')] + + # pipettes + p1000 = protocol.load_instrument( + 'p1000_single_gen2', 'left', tip_racks=tiprack_1000) + p300 = protocol.load_instrument( + 'p300_multi_gen2', 'right', tip_racks=tipracks_200) + + # ----------------------------------------------------------------------- + # Reagent positions in the reservoir (slot 5) + # ----------------------------------------------------------------------- + beads_source = reservoir.columns_by_name()['2'] + elution_buffer_source = reservoir.columns_by_name()['4'] + # isopropanol: columns 6-7; ethanol 70%: columns 9-12. + # The six sample columns draw from two troughs each: plate columns + # 1/3/5 from the first trough, plate columns 7/9/11 from the second. + isopropanol_sources = { + '1': reservoir.columns_by_name()['6'], + '3': reservoir.columns_by_name()['6'], + '5': reservoir.columns_by_name()['6'], + '7': reservoir.columns_by_name()['7'], + '9': reservoir.columns_by_name()['7'], + '11': reservoir.columns_by_name()['7'], + } + ethanol_wash1_sources = { + '1': reservoir.columns_by_name()['9'], + '3': reservoir.columns_by_name()['9'], + '5': reservoir.columns_by_name()['9'], + '7': reservoir.columns_by_name()['10'], + '9': reservoir.columns_by_name()['10'], + '11': reservoir.columns_by_name()['10'], + } + ethanol_wash2_sources = { + '1': reservoir.columns_by_name()['11'], + '3': reservoir.columns_by_name()['11'], + '5': reservoir.columns_by_name()['11'], + '7': reservoir.columns_by_name()['12'], + '9': reservoir.columns_by_name()['12'], + '11': reservoir.columns_by_name()['12'], + } + + # ----------------------------------------------------------------------- + # Sample layout: 48 samples in the odd columns of the extraction plate. + # Samples 1-24 in tuberack slot 10, samples 25-48 in tuberack slot 7 + # (column-major tube order), mapped to plate columns 1,3,5 and 7,9,11. + # ----------------------------------------------------------------------- + sample_sources = tuberack_10.wells()[:24] + tuberack_7.wells()[:24] + sample_dests = [] + for col_name in SAMPLE_COLUMNS: + sample_dests += extraction_plate.columns_by_name()[col_name] + + # ----------------------------------------------------------------------- + # Startup: magnets down, elution plate cooling to 4 degC + # ----------------------------------------------------------------------- + mag_mod.disengage() + temp_mod.set_temperature(4) # keep the elution plate at 4 degC + + # ----------------------------------------------------------------------- + # Paper step 1a: 40 uL magnetic beads per well + # ----------------------------------------------------------------------- + protocol.comment('Step 1: 40 uL magnetic beads per well') + p300.well_bottom_clearance.aspirate = 2 + p300.well_bottom_clearance.dispense = 25 + p300.pick_up_tip() + for col_name in SAMPLE_COLUMNS: + p300.transfer( + BEADS_VOL, + beads_source, + extraction_plate.columns_by_name()[col_name], + new_tip='never', + blow_out=True, + ) + p300.drop_tip() + + # ----------------------------------------------------------------------- + # Paper step 1b: 250 uL isopropanol per well + # ----------------------------------------------------------------------- + protocol.comment('Step 1: 250 uL isopropanol per well') + p300.pick_up_tip() + for col_name in SAMPLE_COLUMNS: + p300.transfer( + ISOPROPAVOL, + isopropanol_sources[col_name], + extraction_plate.columns_by_name()[col_name], + new_tip='never', + blow_out=True, + ) + p300.drop_tip() + + # ----------------------------------------------------------------------- + # Paper step 1c: 250 uL of each inactivated sample, mix five times + # (fresh tip per sample to avoid cross-contamination) + # ----------------------------------------------------------------------- + protocol.comment('Step 1: 250 uL sample per well, mix by pipetting 5x') + p1000.flow_rate.aspirate = 200 + p1000.flow_rate.dispense = 200 + for source, dest in zip(sample_sources, sample_dests): + p1000.pick_up_tip() + p1000.transfer( + SAMPLE_VOL, + source, + dest, + new_tip='never', + mix_after=(BIND_MIX_REPS, BIND_MIX_VOL), + ) + p1000.blow_out(dest.top(z=-5)) + p1000.drop_tip() + + # ----------------------------------------------------------------------- + # Paper step 1 (cont.): incubate 5 min at room temperature + # ----------------------------------------------------------------------- + protocol.comment('Step 1: incubate 5 min at room temperature') + protocol.delay(minutes=INCUBATION_MIN, + msg='Incubating 5 min at room temperature') + + # ----------------------------------------------------------------------- + # Paper step 2: activate the GEN1 magnetic module for 4 min + # ----------------------------------------------------------------------- + protocol.comment('Step 2: engage magnetic module for 4 min') + mag_mod.engage() + protocol.delay(minutes=MAGNET_MIN, + msg='Magnets engaged for 4 min') + + # ----------------------------------------------------------------------- + # Paper step 3: collect the supernatant and discard to the waste plate + # ----------------------------------------------------------------------- + protocol.comment('Step 3: remove supernatant (~540 uL) to waste') + p300.well_bottom_clearance.aspirate = 0.5 + p300.well_bottom_clearance.dispense = 25 + p300.flow_rate.aspirate = 50 # aspirate slowly to keep pellets intact + p300.flow_rate.dispense = 200 + for col_name in SAMPLE_COLUMNS: + p300.pick_up_tip() + for _ in range(2): + p300.transfer( + 250, + extraction_plate.columns_by_name()[col_name], + waste_plate.columns_by_name()[col_name], + new_tip='never', + ) + p300.drop_tip() + + # ----------------------------------------------------------------------- + # Paper step 4: first wash - add 500 uL ethanol 70%, collect and discard + # ----------------------------------------------------------------------- + protocol.comment('Step 4: wash 1 with 500 uL ethanol 70%') + p300.well_bottom_clearance.aspirate = 2 + p300.well_bottom_clearance.dispense = 25 + p300.flow_rate.aspirate = 94 + p300.flow_rate.dispense = 200 + p300.pick_up_tip() + for col_name in SAMPLE_COLUMNS: + for _ in range(2): + p300.transfer( + 250, + ethanol_wash1_sources[col_name], + extraction_plate.columns_by_name()[col_name], + new_tip='never', + ) + p300.drop_tip() + + protocol.comment('Step 4: remove wash 1 to waste') + p300.well_bottom_clearance.aspirate = 0.5 + p300.flow_rate.aspirate = 50 + for col_name in SAMPLE_COLUMNS: + p300.pick_up_tip() + for _ in range(2): + p300.transfer( + 250, + extraction_plate.columns_by_name()[col_name], + waste_plate.columns_by_name()[col_name], + new_tip='never', + ) + p300.drop_tip() + + # ----------------------------------------------------------------------- + # Paper step 5: second wash - add 500 uL ethanol 70%, collect and discard + # ----------------------------------------------------------------------- + protocol.comment('Step 5: wash 2 with 500 uL ethanol 70%') + p300.well_bottom_clearance.aspirate = 2 + p300.well_bottom_clearance.dispense = 25 + p300.flow_rate.aspirate = 94 + p300.flow_rate.dispense = 200 + p300.pick_up_tip() + for col_name in SAMPLE_COLUMNS: + for _ in range(2): + p300.transfer( + 250, + ethanol_wash2_sources[col_name], + extraction_plate.columns_by_name()[col_name], + new_tip='never', + ) + p300.drop_tip() + + protocol.comment('Step 5: remove wash 2 to waste') + p300.well_bottom_clearance.aspirate = 0.5 + p300.flow_rate.aspirate = 50 + for col_name in SAMPLE_COLUMNS: + p300.pick_up_tip() + for _ in range(2): + p300.transfer( + 250, + extraction_plate.columns_by_name()[col_name], + waste_plate.columns_by_name()[col_name], + new_tip='never', + ) + p300.drop_tip() + + # ----------------------------------------------------------------------- + # Paper step 6: air dry the beads for 4 min (magnets stay engaged) + # ----------------------------------------------------------------------- + protocol.comment('Step 6: air dry beads for 4 min') + protocol.delay(minutes=DRYING_MIN, + msg='Air drying beads for 4 min (magnets engaged)') + + # ----------------------------------------------------------------------- + # Paper step 7: turn off the magnet and add 100 uL elution buffer; + # resuspend the beads in each column with a fresh tip. + # ----------------------------------------------------------------------- + protocol.comment('Step 7: disengage magnets, add 100 uL elution buffer') + mag_mod.disengage() + p300.well_bottom_clearance.aspirate = 2 + p300.well_bottom_clearance.dispense = 5 + p300.flow_rate.aspirate = 94 + p300.flow_rate.dispense = 94 + for col_name in SAMPLE_COLUMNS: + p300.pick_up_tip() + p300.transfer( + ELUTION_VOL, + elution_buffer_source, + extraction_plate.columns_by_name()[col_name], + new_tip='never', + ) + # resuspend the beads in elution buffer + p300.mix( + ELUTION_MIX_REPS, + ELUTION_MIX_VOL, + extraction_plate.columns_by_name()[col_name][0].bottom(z=1), + ) + p300.blow_out( + extraction_plate.columns_by_name()[col_name][0].top(z=-5)) + p300.drop_tip() + + # ----------------------------------------------------------------------- + # Paper step 8: after 30 s turn on the magnetic module + # ----------------------------------------------------------------------- + protocol.comment('Step 8: wait 30 s, then engage magnets') + protocol.delay(seconds=ELUTION_WAIT_S, + msg='30 s before engaging magnets') + mag_mod.engage() + + # ----------------------------------------------------------------------- + # Paper step 9: after 90 s collect the supernatant (eluted viral RNA) + # and transfer it to the elution plate on the temperature module (4 degC) + # ----------------------------------------------------------------------- + protocol.comment('Step 9: wait 90 s, then recover eluate') + protocol.delay(seconds=SEPARATION_S, + msg='90 s for bead separation before eluate recovery') + + p300.well_bottom_clearance.aspirate = 0.5 + p300.well_bottom_clearance.dispense = 5 + p300.flow_rate.aspirate = 50 # slow aspiration, avoid bead carry-over + p300.flow_rate.dispense = 94 + for col_name in SAMPLE_COLUMNS: + p300.pick_up_tip() + p300.transfer( + ELUATE_VOL, + extraction_plate.columns_by_name()[col_name], + elution_plate.columns_by_name()[col_name], + new_tip='never', + ) + p300.blow_out(elution_plate.columns_by_name()[col_name][0].top(z=-5)) + p300.drop_tip() + + # ----------------------------------------------------------------------- + # End: release magnets; elution plate stays at 4 degC with the eluates. + # ----------------------------------------------------------------------- + protocol.comment('Protocol complete - eluates on the 4 degC elution plate') + mag_mod.disengage() diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/reward.json new file mode 100644 index 0000000..2be7c92 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.75, "sim_pass": 1.0, "checks_frac": 1.0, "judge_score": 0.75, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, "critical_fail": 0.0, "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 1.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/trial.json new file mode 100644 index 0000000..16cee25 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/trial.json @@ -0,0 +1,32 @@ +{ + "task": "opentrons-rna-extraction-hard", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.75, + "sim_pass": 1.0, + "checks_frac": 1.0, + "judge_score": 0.75, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 0.0, + "deterministic_reward": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 1.0 + }, + "exception": null, + "cost_usd": 0.527498, + "input_tokens": 640603, + "output_tokens": 39780, + "started_at": "2026-10-07T18:21:21.504598Z", + "finished_at": "2026-10-07T18:39:04.455741Z", + "cache_tokens": 567079, + "claude_code_cost_usd": 1.7374745 +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/grader.json new file mode 100644 index 0000000..40e9732 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/grader.json @@ -0,0 +1,239 @@ +{ + "variant": "reference", + "judge_model": "claude-sonnet-5-5", + "suspicious_tokens": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1323 + }, + "checks": { + "checks": [ + { + "name": "48_samples_to_odd_columns", + "pass": true, + "detail": "48 tubes -> 48 wells, odd columns only: True" + }, + { + "name": "step_order", + "pass": true, + "detail": "expected per well: beads > isopropanol > sample > remove > ethanol > remove > ethanol > remove > elution > recover" + }, + { + "name": "binding_volumes_40_250_250", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "mix_5x_after_sample", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "incubation_5min_before_magnet", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_4min_before_first_removal", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "supernatant_removed_each_step", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_engaged_for_all_removals", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "two_500ul_ethanol_washes", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "air_dry_4min", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_100ul", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_off_magnet_then_90s_on", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "recover_70_100ul_one_well_each", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "distinct_elution_wells", + "pass": true, + "detail": "48 distinct elution wells" + }, + { + "name": "elution_plate_4C_before_recovery", + "pass": true, + "detail": "temperatures set: [(0.0, 4.0)]" + }, + { + "name": "fresh_tip_per_sample_no_cross_contact", + "pass": true, + "detail": "48 distinct tips for 48 sample transfers; violations: []" + }, + { + "name": "reservoir_columns_within_15ml", + "pass": true, + "detail": "uL drawn per reservoir column: 2: 1920, 4: 4800, 6: 6000, 7: 6000, 9: 12000, 10: 12000, 11: 12000, 12: 12000" + }, + { + "name": "recover_about_80ul", + "pass": true, + "detail": "70-90 uL of the 100 uL eluate, as the task's step 13 says; 48/48 sample wells" + } + ], + "checks_passed": 18, + "checks_total": 18, + "total_delay_min": 15.0, + "example_well": "A1", + "example_sequence": [ + "beads 40uL", + "isopropanol 250uL", + "sample 250uL", + "remove 540uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "elution 100uL", + "recover 80uL (magnet)" + ] + }, + "critical_failures": [], + "judge": { + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.11 with metadata; p300 multi only handles 40\u2013200 \u00b5L aliquots, p1000 handles 250/540 \u00b5L; waste wells peak ~1540 \u00b5L (<2400); reservoir_columns_within_15ml passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Every tip is dropped; p1000 uses a fresh tip per sample and per removal; multi tips that touch sample wells are replaced per column; fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "All 14 steps are in order with the right volumes and delays (5 min, 4 min, 4 min dry, 30 s, 90 s), 4 \u00b0C set before elution, 80 \u00b5L recovered, magnet disengaged at the end; all 18 checks passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "sample_handling", + "score": 1, + "evidence": "sample_wells are the odd columns 1,3,5,7,9,11 of the mag plate and tubes come from slot 10 then slot 7; 48_samples_to_odd_columns and distinct_elution_wells passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "binding_and_separation", + "score": 1, + "evidence": "Code adds 40 \u00b5L beads, then 150+100 \u00b5L isopropanol, then 250 \u00b5L sample with mix(5, 250); delay 5 min, engage, delay 4 min, then removes 540 \u00b5L with the magnet on.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "washes_and_drying", + "score": 1, + "evidence": "Two loops add 500 \u00b5L ethanol (200+200+100) and remove it to waste with the magnet engaged, then delay(minutes=4) with the magnet on, then magdeck.disengage().", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "elution_recovery", + "score": 1, + "evidence": "Magnet is disengaged, 100 \u00b5L elution buffer is added and mixed 10x, then delay 30 s, engage, delay 90 s, and aspirate(80) goes to a distinct elution well (recover_about_80ul passed).", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "sample_handling": 1.0, + "binding_and_separation": 1.0, + "washes_and_drying": 1.0, + "elution_recovery": 1.0 + }, + "summary": "The protocol simulates cleanly and passes all 18 run-log checks. It follows the 14 steps with the correct volumes, timings, magnet states and per-sample tips. I scored every rubric item 1, and the only doubt is the multichannel tip that dispenses ethanol into wells and is reused.", + "raw": "[{\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.11 with metadata; p300 multi only handles 40\\u2013200 \\u00b5L aliquots, p1000 handles 250/540 \\u00b5L; waste wells peak ~1540 \\u00b5L (<2400); reservoir_columns_within_15ml passed.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Every tip is dropped; p1000 uses a fresh tip per sample and per removal; multi tips that touch sample wells are replaced per column; fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips.\"}, {\"id\": \"fidelity_to_task\", \"score\": 1, \"evidence\": \"All 14 steps are in order with the right volumes and delays (5 min, 4 min, 4 min dry, 30 s, 90 s), 4 \\u00b0C set before elution, 80 \\u00b5L recovered, magnet disengaged at the end; all 18 checks passed.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"sample_wells are the odd columns 1,3,5,7,9,11 of the mag plate and tubes come from slot 10 then slot 7; 48_samples_to_odd_columns and distinct_elution_wells passed.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Code adds 40 \\u00b5L beads, then 150+100 \\u00b5L isopropanol, then 250 \\u00b5L sample with mix(5, 250); delay 5 min, engage, delay 4 min, then removes 540 \\u00b5L with the magnet on.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two loops add 500 \\u00b5L ethanol (200+200+100) and remove it to waste with the magnet engaged, then delay(minutes=4) with the magnet on, then magdeck.disengage().\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"Magnet is disengaged, 100 \\u00b5L elution buffer is added and mixed 10x, then delay 30 s, engage, delay 90 s, and aspirate(80) goes to a distinct elution well (recover_about_80ul passed).\"}], \"summary\": \"The protocol simulates cleanly and passes all 18 run-log checks. It follows the 14 steps with the correct volumes, timings, magnet states and per-sample tips. I scored every rubric item 1, and the only doubt is the multichannel tip that dispenses ethanol into wells and is reused.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.11 with metadata; 40 \\u00b5L and 100\\u2013250 \\u00b5L aspirates fit the p300 multi/p1000 ranges (isopropanol 150+100, ethanol 200+200+100), waste wells peak ~1540 \\u00b5L of 2400, and reservoir_columns_within_15ml passes.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"The p1000 uses a fresh tip per sample and per supernatant removal, and fresh multi tips are used per column for ethanol removal, elution and recovery. Reagent-dispense tips never aspirate from sample wells, every tip is dropped, and fresh_tip_per_sample_no_cross_contact passes with 48 distinct tips.\"}, {\"id\": \"fidelity_to_task\", \"score\": 1, \"evidence\": \"Steps 1\\u201314 run in the specified order and quantities (4 \\u00b0C and magnet off first, 40/250/250 \\u00b5L, 5\\u00d7 mix, 5 min, 4 min magnet, 540 \\u00b5L removal, 2\\u00d7500 \\u00b5L ethanol, 4 min dry, 100 \\u00b5L elution with mix, 30 s/90 s, 80 \\u00b5L recovery, final disengage); the comments match the code and all 18 checks pass.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"sample_tubes (slot 10 then slot 7) are zipped to sample_wells in odd columns 1,3,\\u2026,11; 48_samples_to_odd_columns and distinct_elution_wells both pass.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40 \\u00b5L, then isopropanol 250 \\u00b5L, then sample 250 \\u00b5L with mix(5,250); then delay(5 min), engage, delay(4 min), and 540 \\u00b5L removed with the magnet on. The binding_volumes, mix_5x, incubation and magnet_4min checks all pass.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes are added and removed with the magnet engaged (200+200+100 \\u00b5L), followed by delay(minutes=4) with the magnet still on and then magdeck.disengage(); the two_500ul_ethanol_washes and air_dry_4min checks pass.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"The magnet is disengaged, 100 \\u00b5L elution buffer is added and mixed 10\\u00d7, then delay 30 s, engage, delay 90 s, and aspirate(80) goes to a distinct elution-plate column; recover_about_80ul passes.\"}], \"summary\": \"The protocol simulates cleanly and passes all 18 measured checks. It follows the specified steps, volumes, timings, magnet states and tip handling, so every rubric item scores 1.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.11 with metadata. Volumes fit the pipette ranges: p1000 handles 250 and 540 \\u00b5L, and the p300 multi handles 40\\u2013200 \\u00b5L. Reservoir columns stay under 15 mL (reservoir_columns_within_15ml passed) and waste wells hold at most about 1540 \\u00b5L.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Every aspirate, dispense and mix happens with a tip on, and every tip is dropped. fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips and no violations. Reagent-only tips never aspirate from sample wells.\"}, {\"id\": \"fidelity_to_task\", \"score\": 1, \"evidence\": \"All 14 steps run in order with the specified volumes and waits: 5 min incubation, 4 min magnet, 4 min dry with magnet on, 30 s then 90 s around the re-engage, and 80 \\u00b5L recovery. The 150+100 and 200+200+100 splits only work around the 200 \\u00b5L tip limit. All 18 checks pass and the comments match the code.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"48_samples_to_odd_columns passed. Tubes from slot 10 then slot 7 go one-to-one to the odd-column wells, each with its own tip, and distinct_elution_wells passed with 48 distinct elution wells.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40 \\u00b5L, then isopropanol 250 \\u00b5L, then sample 250 \\u00b5L, with p1000.mix(5, 250). Then a 5 min delay, magdeck.engage() with a 4 min delay, and the 540 \\u00b5L supernatant removed to waste with the magnet on; the related checks passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes are added and removed with the magnet engaged, then a 4 min delay with the magnet still on, then magdeck.disengage(). two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"100 \\u00b5L elution buffer is added after disengaging and mixed 10 times. The code waits 30 s, engages the magnet and waits 90 s. It then aspirates 80 \\u00b5L into a distinct elution-plate well, and recover_about_80ul passed.\"}], \"summary\": \"The protocol simulated cleanly and passed all 18 measured checks. The steps, volumes, timings, tip handling and 80 \\u00b5L recovery all match the task text.\"}]", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "sample_handling": 0.0625, + "binding_and_separation": 0.0625, + "washes_and_drying": 0.0625, + "elution_recovery": 0.0625 + }, + "model": "anthropic/claude-sonnet-5.5", + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "judge_score": 1.0, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 0.0, + "deterministic_reward": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 1.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/protocol.py new file mode 100644 index 0000000..df2ec60 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/protocol.py @@ -0,0 +1,228 @@ +metadata = { + 'protocolName': 'In-house OT-2 magnetic-bead SARS-CoV-2 RNA extraction (48 samples)', + 'author': 'Implemented from Lazaro-Perona et al. 2021 (doi:10.1371/journal.pone.0246302)', + 'description': 'Automated low-cost magnetic-bead RNA extraction on an OT-2: ' + '40 uL beads + 250 uL isopropanol + 250 uL sample, 5 min RT ' + 'incubation, magnetic capture, 2x 500 uL 70% ethanol washes, ' + '4 min dry, elution in 100 uL buffer, recovery of 80 uL eluate ' + 'at 4 C. 48 samples in the odd columns of the deep-well plate.', + 'apiLevel': '2.11', +} + + +def run(protocol): + # ------------------------------------------------------------------ + # Deck layout (fixed, as loaded by the operator) + # ------------------------------------------------------------------ + # Slot 1: waste plate for removed supernatant and washes + waste_plate = protocol.load_labware( + 'usascientific_96_wellplate_2.4ml_deep', '1', label='Waste plate') + # Slots 2, 3, 9: 200 uL filter tips (for the multi-channel pipette) + tipracks_200 = [ + protocol.load_labware('opentrons_96_filtertiprack_200ul', slot) + for slot in ('2', '3', '9') + ] + # Slot 4: Magnetic Module GEN1 with the sample/extraction plate + magdeck = protocol.load_module('magnetic module', '4') + mag_plate = magdeck.load_labware( + 'usascientific_96_wellplate_2.4ml_deep', label='Sample/extraction plate') + # Slot 5: reagent reservoir + reservoir = protocol.load_labware('nest_12_reservoir_15ml', '5') + # Slot 6: Temperature Module GEN1 with the elution plate, held at 4 C + tempdeck = protocol.load_module('tempdeck', '6') + elution_plate = tempdeck.load_labware( + 'thermo_96_wellplate_200ul', label='Elution plate') + # Slots 10 and 7: inactivated samples in 2 mL tubes + tuberack_10 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap', '10', + label='Samples 1-24') + tuberack_7 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap', '7', + label='Samples 25-48') + # Slot 11: 1000 uL filter tips (for the single-channel pipette) + tiprack_1000 = protocol.load_labware( + 'opentrons_96_filtertiprack_1000ul', '11') + + # Slot 12: fixed trash (used implicitly by drop_tip) + + # Pipettes + p1000 = protocol.load_instrument( + 'p1000_single_gen2', 'left', tip_racks=[tiprack_1000]) + p300_multi = protocol.load_instrument( + 'p300_multi_gen2', 'right', tip_racks=tipracks_200) + + # ------------------------------------------------------------------ + # Well maps + # ------------------------------------------------------------------ + # The 48 samples sit in the odd columns of the extraction plate. + odd_column_names = ['1', '3', '5', '7', '9', '11'] + mag_columns = [mag_plate.columns_by_name()[c] for c in odd_column_names] + sample_wells = [well for column in mag_columns for well in column] + + # Samples 1-24 in slot 10, samples 25-48 in slot 7 (column-major order). + sample_tubes = tuberack_10.wells()[:24] + tuberack_7.wells()[:24] + + # Each sample's waste (supernatant + both ethanol washes) goes to its + # own well of the waste plate; samples 1-8 -> waste column 1, etc. + waste_wells = waste_plate.wells()[:48] + waste_columns = [waste_plate.columns()[i] for i in range(len(mag_columns))] + + # The eluate of each sample well goes to the matching column of the + # elution plate on the temperature module. + elution_columns = [elution_plate.columns_by_name()[c] + for c in odd_column_names] + + # Reservoir reagent positions (slot 5) + bead_channel = reservoir.wells_by_name()['A2'] # magnetic beads + elution_buffer_channel = reservoir.wells_by_name()['A4'] # elution buffer + ipa_channels = [reservoir.wells_by_name()['A6'], # isopropanol + reservoir.wells_by_name()['A7']] + etoh_channels = {'wash_1': [reservoir.wells_by_name()['A9'], # ethanol + reservoir.wells_by_name()['A10']], + 'wash_2': [reservoir.wells_by_name()['A11'], + reservoir.wells_by_name()['A12']]} + + # ------------------------------------------------------------------ + # Step 1: magnet disengaged and elution plate chilled before any + # eluate can reach it + # ------------------------------------------------------------------ + protocol.comment('Step 1: disengage magnet, cool elution plate to 4 C') + magdeck.disengage() + tempdeck.set_temperature(4) + + # ------------------------------------------------------------------ + # Step 2: 40 uL magnetic beads into every sample well. + # Dispensed only (never aspirated from a sample well), so one tip + # column serves all six plate columns. + # ------------------------------------------------------------------ + protocol.comment('Step 2: add 40 uL magnetic beads to each sample well') + p300_multi.pick_up_tip() + for column in mag_columns: + p300_multi.aspirate(40, bead_channel) + p300_multi.dispense(40, column[0]) + p300_multi.drop_tip() + + # ------------------------------------------------------------------ + # Step 3: 250 uL isopropanol into every sample well (dispense-only, + # one tip column for all six plate columns). Reservoir channels 6-7 + # supply three plate columns each. The 200 uL tips limit each + # aspiration to 200 uL, so the 250 uL are added as 150 + 100 uL. + # ------------------------------------------------------------------ + protocol.comment('Step 3: add 250 uL isopropanol to each sample well') + p300_multi.pick_up_tip() + for i, column in enumerate(mag_columns): + source = ipa_channels[i // 3] + for volume in (150, 100): + p300_multi.aspirate(volume, source) + p300_multi.dispense(volume, column[0]) + p300_multi.drop_tip() + + # ------------------------------------------------------------------ + # Step 4: 250 uL of each sample into its own well, a fresh tip per + # sample, mixed by pipetting 5 times. + # ------------------------------------------------------------------ + protocol.comment('Step 4: add 250 uL of each sample, mix 5 times') + for tube, well in zip(sample_tubes, sample_wells): + p1000.pick_up_tip() + p1000.aspirate(250, tube) + p1000.dispense(250, well) + p1000.mix(5, 250, well) + p1000.drop_tip() + + # ------------------------------------------------------------------ + # Step 5: incubate 5 min at room temperature + # ------------------------------------------------------------------ + protocol.comment('Step 5: incubate 5 min at room temperature') + protocol.delay(minutes=5) + + # ------------------------------------------------------------------ + # Step 6: engage the magnet and wait 4 min + # ------------------------------------------------------------------ + protocol.comment('Step 6: engage magnet, wait 4 min') + magdeck.engage() + protocol.delay(minutes=4) + + # ------------------------------------------------------------------ + # Step 7: remove the supernatant (~540 uL) to the waste plate, + # magnet engaged, one fresh tip per sample well. + # ------------------------------------------------------------------ + protocol.comment('Step 7: remove ~540 uL supernatant to waste') + for well, waste_well in zip(sample_wells, waste_wells): + p1000.pick_up_tip() + p1000.aspirate(540, well) + p1000.dispense(540, waste_well) + p1000.drop_tip() + + # ------------------------------------------------------------------ + # Steps 8-9: two 500 uL 70% ethanol washes, magnet engaged. + # Ethanol is dispensed with one tip column (dispense-only); it is + # removed with a fresh tip column per plate column. + # ------------------------------------------------------------------ + for wash_number, wash_name in ((8, 'wash_1'), (9, 'wash_2')): + protocol.comment( + f'Step {wash_number}: 500 uL 70% ethanol wash ({wash_name})') + + # Add 500 uL ethanol as 200 + 200 + 100 uL passes (200 uL tip + # limit); reservoir channels 9-10 serve wash 1, channels 11-12 + # serve wash 2 (3 plate columns each). + p300_multi.pick_up_tip() + for i, column in enumerate(mag_columns): + source = etoh_channels[wash_name][i // 3] + for volume in (200, 200, 100): + p300_multi.aspirate(volume, source) + p300_multi.dispense(volume, column[0]) + p300_multi.drop_tip() + + # Remove the ethanol to the waste plate (fresh tips per column). + for column, waste_column in zip(mag_columns, waste_columns): + p300_multi.pick_up_tip() + for volume in (200, 200, 100): + p300_multi.aspirate(volume, column[0]) + p300_multi.dispense(volume, waste_column[0]) + p300_multi.drop_tip() + + # ------------------------------------------------------------------ + # Step 10: air-dry the beads for 4 min with the magnet engaged + # ------------------------------------------------------------------ + protocol.comment('Step 10: air-dry beads 4 min, magnet engaged') + protocol.delay(minutes=4) + + # ------------------------------------------------------------------ + # Step 11: disengage the magnet, add 100 uL elution buffer and mix + # to resuspend the beads. Fresh tips per plate column because mixing + # aspirates from the sample wells. + # ------------------------------------------------------------------ + protocol.comment('Step 11: disengage magnet, add 100 uL elution buffer, ' + 'mix to resuspend beads') + magdeck.disengage() + for column in mag_columns: + p300_multi.pick_up_tip() + p300_multi.aspirate(100, elution_buffer_channel) + p300_multi.dispense(100, column[0]) + p300_multi.mix(10, 100, column[0]) + p300_multi.drop_tip() + + # ------------------------------------------------------------------ + # Step 12: wait 30 s, engage the magnet, wait 90 s + # ------------------------------------------------------------------ + protocol.comment('Step 12: wait 30 s, engage magnet, wait 90 s') + protocol.delay(seconds=30) + magdeck.engage() + protocol.delay(seconds=90) + + # ------------------------------------------------------------------ + # Step 13: transfer 80 uL of each eluate to its own well of the + # elution plate kept at 4 C (fresh tips per plate column). + # ------------------------------------------------------------------ + protocol.comment('Step 13: transfer 80 uL eluate to the 4 C elution plate') + for column, elution_column in zip(mag_columns, elution_columns): + p300_multi.pick_up_tip() + p300_multi.aspirate(80, column[0]) + p300_multi.dispense(80, elution_column[0]) + p300_multi.drop_tip() + + # ------------------------------------------------------------------ + # Step 14: disengage the magnet at the end of the run + # ------------------------------------------------------------------ + protocol.comment('Step 14: disengage magnet') + magdeck.disengage() diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/reward.json new file mode 100644 index 0000000..96dcd2a --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "judge_score": 1.0, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, "critical_fail": 0.0, "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 1.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/trial.json new file mode 100644 index 0000000..71bbcd3 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/opentrons-rna-extraction/trial.json @@ -0,0 +1,32 @@ +{ + "task": "opentrons-rna-extraction", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "judge_score": 1.0, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 0.0, + "deterministic_reward": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 1.0 + }, + "exception": null, + "cost_usd": 1.27671, + "input_tokens": 2821383, + "output_tokens": 61740, + "started_at": "2026-10-07T18:21:21.484834Z", + "finished_at": "2026-10-07T18:53:15.595605Z", + "cache_tokens": 2706569, + "claude_code_cost_usd": 3.6140719999999997 +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/grader.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/grader.json new file mode 100644 index 0000000..01028dc --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/grader.json @@ -0,0 +1,137 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 6 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plate", + "pass": true, + "detail": "expected volumes [100.0, 100.0], got [100.0, 100.0] (positions free)" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.15 is valid, 100 \u00b5L is handled by the p300, no well is overfilled, and the labware is used correctly.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "One tip is picked up before any aspirate and dropped at the end. Only the reservoir reagent is aspirated, and the checks tip_before_aspirate, tip_dropped_at_end and no_cross_contamination all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "The protocol moves 100 \u00b5L from reservoir A1 to plate A1 and then B1, in order. The end-state check passed and no extra steps were added.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "deck_and_hardware", + "score": 1, + "evidence": "The reservoir (slot 1) and plate (slot 2) are loaded with the required labels. The tip racks are in slots 10 and 11, and p20 is on the left and p300 on the right.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "volumes_and_wells", + "score": 1, + "evidence": "The p300 aspirates 100 \u00b5L from A1 and dispenses it into plate A1, then does the same into B1. No other wells are touched, and the end_state check shows [100, 100].", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "deck_and_hardware": 1.0, + "volumes_and_wells": 1.0 + }, + "summary": "The protocol simulates cleanly and every measured check passed. It does the specified transfer with the right pipette, wells, labware and tip handling.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "deck_and_hardware": 0.125, + "volumes_and_wells": 0.125 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + } +} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/protocol.py b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/protocol.py new file mode 100644 index 0000000..bf19884 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/protocol.py @@ -0,0 +1,34 @@ +from opentrons import protocol_api + +metadata = {'protocolName': 'Split 200 uL into two 100 uL wells', + 'apiLevel': '2.15'} + + +def run(protocol: protocol_api.ProtocolContext): + # Load labware exactly as the deck is set up. + reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 1, label='reservoir') + plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 2, label='plate') + + # Load tip racks. + tips_20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips_300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + # Load pipettes. + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips_20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips_300]) + + # 100 uL transfers are within the p300 range (20-300 uL). + source = reservoir.wells_by_name()['A1'] + destinations = [plate.wells_by_name()['A1'], + plate.wells_by_name()['B1']] + + # Transfer 100 uL of reagent from reservoir A1 to plate A1, then B1. + p300.pick_up_tip() + for dest in destinations: + p300.aspirate(100, source) + p300.dispense(100, dest) + p300.drop_tip() diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/reward.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/reward.json new file mode 100644 index 0000000..5b16841 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0} diff --git a/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/trial.json b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/trial.json new file mode 100644 index 0000000..b083e62 --- /dev/null +++ b/results/repeats/2026-10-07-qwen-modal/qwen3.8-2.4t-a95b/split-200ul-two-wells/trial.json @@ -0,0 +1,29 @@ +{ + "task": "split-200ul-two-wells", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + }, + "exception": null, + "cost_usd": 0.063863, + "input_tokens": 67291, + "output_tokens": 2709, + "started_at": "2026-10-07T18:21:21.512688Z", + "finished_at": "2026-10-07T18:24:25.080022Z", + "cache_tokens": 49699, + "claude_code_cost_usd": 0.20249449999999997 +} diff --git a/results/runs/2026-10-07-openrouter/PROVISIONAL.json b/results/runs/2026-10-07-openrouter/PROVISIONAL.json deleted file mode 100644 index 44460c3..0000000 --- a/results/runs/2026-10-07-openrouter/PROVISIONAL.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "_about": "Scores in this run that a re-judge with the current verifier may change. Each was judged with a rubric line or check evidence that the paper-only audit (tests/test_hard_tasks.py) later ruled out, or with fewer than three judge votes. The stored grades are kept as graded; scripts/regrade_jobs.py --judge --all refreshes them.", - "claude-sonnet-5.5/opentrons-rna-extraction-hard": "Marked down for recovering the whole 100 uL eluate; the paper says only 'collect the supernatant', the 80 uL is in the authors' code. Rubric fixed since.", - "gpt-6.1-sol/opentrons-rna-extraction-hard": "Marked down for recovering the whole 100 uL eluate; the paper says only 'collect the supernatant', the 80 uL is in the authors' code. Rubric fixed since.", - "claude-sonnet-5.5/colony-pcr-screening-hard": "The judge saw a failed end-state check against a 20 uL ground truth the paper does not support (check removed since), and its two votes split 1-1.", - "gpt-6.1-sol/colony-pcr-screening-hard": "The judge saw a failed end-state check against a 20 uL ground truth the paper does not support (check removed since).", - "claude-sonnet-5.5/ecoli-heat-shock-transformation-hard": "Only 1 of 3 judge votes returned (network outage during the regrade)." -} diff --git a/results/runs/2026-10-07-openrouter/README.md b/results/runs/2026-10-07-openrouter/README.md index 1dfff46..542e687 100644 --- a/results/runs/2026-10-07-openrouter/README.md +++ b/results/runs/2026-10-07-openrouter/README.md @@ -1,16 +1,22 @@ -# 2026-10-07: Sonnet 5.5, Opus 5.5, Fable 5.1 and GPT-6.1 Sol on all 11 tasks +# 2026-10-07: six models on all 11 tasks -Harbor 0.23.0, agent `claude-code` (Claude Code 2.1.288) for every model, one attempt per task (pass@1), Docker via -Colima. Agent and judge (Claude Sonnet 5.5, three calls per protocol, majority per item) both through OpenRouter. -Harbor pins every Claude Code model alias and sub-agent to the model under test; every GPT-6.1 Sol transcript, -sub-agents included, contains only `openai/gpt-6.1-sol` responses. +Claude Sonnet 5.5, Opus 5.5 and Fable 5.1, GPT-6.1 Sol, Qwen3.8-2.4T-A95B and DeepSeek V4 Pro. Harbor 0.23.0, agent +`claude-code` (Claude Code 2.1.288) for every model, one attempt per task (pass@1). Agent and judge (Claude Sonnet 5.5, +three calls per protocol, majority per item) both through OpenRouter. Harbor pins every Claude Code model alias and +sub-agent to the model under test; every non-Claude transcript, sub-agents included, contains only that model's responses. -- The three Claude models ran first, against the tasks at `8da544a`. Their saved protocols were then regraded with - the final verifier (`scripts/regrade_jobs.py --judge --all`); each `trial.json` keeps the first grades as - `original_rewards`. GPT-6.1 Sol ran later and was graded by the final verifier directly. -- Not yet re-judged (the key ran out of credit): the RNA trials were judged before the `recover_about_80ul` check and - the RNA rubric's 100 uL line were added, and three Sonnet trials got fewer than three judge votes because of a - network outage (ampure 2, ecoli-hard 1, colony-hard 2 votes split 1-1). Each record shows its votes. +- **Where they ran.** Docker via Colima, two tasks at a time, for every model except DeepSeek V4 Pro, which ran on + Modal with all 11 at once. Qwen was also repeated on Modal to measure the backend and run-to-run variation: + [`results/repeats/2026-10-07-qwen-modal`](../../repeats/2026-10-07-qwen-modal/). +- **Grading.** Every trial is graded by the final verifier: the Claude trials ran first and were regraded + (`scripts/regrade_jobs.py --judge --all`), and each `trial.json` keeps the first grades as `original_rewards`. Every + judged trial has three judge votes except Sonnet's `ampure-bead-cleanup`, which has two that agree on every item. + DeepSeek's `a1-a12-100ul` and `colony-pcr-screening-hard` were regraded after two grader false positives its + protocols exposed were fixed (a lint rule that blocked `pipette.tip_racks = [...]`, and a contamination rule that + flagged mixing a source well before drawing from it). +- **Cost.** `cost_usd` is the agent's cost for the trial. Claude Code prices every model as a Claude model, so for + GPT, Qwen and DeepSeek it is recomputed from the token counts at the OpenRouter prices in `prices.json`; Claude + Code's own figure is kept as `claude_code_cost_usd`. - `REPORT.md`: reward per task, per risk check, per rubric item, and every failure with its evidence and votes (`scripts/benchmark_report.py results/runs/2026-10-07-openrouter/*/`). - `//`: `trial.json` (rewards, cost, tokens), `protocol.py` (what was graded), `reward.json`, @@ -18,5 +24,5 @@ sub-agents included, contains only `openai/gpt-6.1-sol` responses. `scripts/export_run.py`. 5 trials ended in `AgentSafetyRefusalError`: Anthropic's `[bio]` safeguard flagged the Golden Gate prompts for Opus 5.5 -and Fable 5.1, and the paper-only E. coli transformation prompt for Fable 5.1. They are reported separately from -capability in `REPORT.md`. +and Fable 5.1, and the paper-only E. coli transformation prompt for Fable 5.1. Refused tasks are not scored; they are +reported separately in `REPORT.md`, and models are ranked on the 8 tasks every model answered. diff --git a/results/runs/2026-10-07-openrouter/REPORT.md b/results/runs/2026-10-07-openrouter/REPORT.md index a6a13fa..2d4d7fa 100644 --- a/results/runs/2026-10-07-openrouter/REPORT.md +++ b/results/runs/2026-10-07-openrouter/REPORT.md @@ -1,107 +1,109 @@ ## Reward per task (judge-weighted reward / deterministic reward) -| Task | claude-sonnet-5.5 | claude-opus-5.5 | claude-fable-5.1 | gpt-6.1-sol | -|---|---|---|---|---| -| `a1-a12-100ul` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | -| `ampure-bead-cleanup` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | -| `colony-pcr-screening` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | -| `colony-pcr-screening-hard` | 0.75 / 0.33 | 1.00 / 0.33 | 1.00 / 0.33 | 0.50 / 0.33 | -| `ecoli-heat-shock-transformation` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | -| `ecoli-heat-shock-transformation-hard` | 0.75 / 1.00 | 0.75 / 1.00 | refused (not scored) | 0.75 / 1.00 | -| `golden-gate-assembly` | 1.00 / 1.00 | refused (not scored) | refused (not scored) | 1.00 / 1.00 | -| `golden-gate-assembly-hard` | 1.00 / 1.00 | refused (not scored) | refused (not scored) | 0.75 / 0.47 | -| `opentrons-rna-extraction` | 0.30 / 0.47 ⚑critical | 1.00 / 1.00 | 0.75 / 1.00 | 1.00 / 1.00 | -| `opentrons-rna-extraction-hard` | 0.69 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 0.69 / 1.00 | -| `split-200ul-two-wells` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | -| **Mean over the 8 tasks every model answered** | **0.842** | **1.000** | **0.969** | **0.898** | -| **Mean over all tasks it answered** | 0.863 (n=11) | 0.972 (n=9) | 0.969 (n=8) | 0.881 (n=11) | -| Refused, not scored | 0 | 2 | 3 | 0 | -| Agent cost | $1.25 | $3.52 | $6.21 | $4.82 | +| Task | claude-sonnet-5.5 | claude-opus-5.5 | claude-fable-5.1 | gpt-6.1-sol | qwen3.8-2.4t-a95b | deepseek-v4-pro-0813 | +|---|---|---|---|---|---|---| +| `a1-a12-100ul` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | +| `ampure-bead-cleanup` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 0.30 / 0.25 ⚑critical | +| `colony-pcr-screening` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | +| `colony-pcr-screening-hard` | 0.75 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 0.50 / 1.00 | 0.67 / 1.00 | 1.00 / 1.00 | +| `ecoli-heat-shock-transformation` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | +| `ecoli-heat-shock-transformation-hard` | 0.75 / 1.00 | 0.75 / 1.00 | refused (not scored) | 0.75 / 1.00 | 0.75 / 1.00 | 0.75 / 1.00 | +| `golden-gate-assembly` | 1.00 / 1.00 | refused (not scored) | refused (not scored) | 1.00 / 1.00 | 0.30 / 0.25 ⚑critical | 1.00 / 1.00 | +| `golden-gate-assembly-hard` | 1.00 / 1.00 | refused (not scored) | refused (not scored) | 0.75 / 0.47 | 0.30 / 0.22 ⚑critical | 0.30 / 0.25 ⚑critical | +| `opentrons-rna-extraction` | 0.30 / 0.47 ⚑critical | 1.00 / 1.00 | 0.75 / 1.00 | 1.00 / 1.00 | 0.30 / 0.47 ⚑critical | 0.30 / 0.47 ⚑critical | +| `opentrons-rna-extraction-hard` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 0.69 / 1.00 | 0.44 / 1.00 | +| `split-200ul-two-wells` | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | 1.00 / 1.00 | +| **Mean over the 8 tasks every model answered** | **0.881** | **1.000** | **0.969** | **0.938** | **0.832** | **0.755** | +| **Mean over all tasks it answered** | 0.891 (n=11) | 0.972 (n=9) | 0.969 (n=8) | 0.909 (n=11) | 0.728 (n=11) | 0.735 (n=11) | +| Refused, not scored | 0 | 2 | 3 | 0 | 0 | 0 | +| Agent cost | $1.25 | $3.52 | $6.21 | $1.49 | $2.83 | $2.53 | - claude-opus-5.5 refused (Anthropic `[bio]` safeguard, `AgentSafetyRefusalError`): golden-gate-assembly, golden-gate-assembly-hard - claude-fable-5.1 refused (Anthropic `[bio]` safeguard, `AgentSafetyRefusalError`): ecoli-heat-shock-transformation-hard, golden-gate-assembly, golden-gate-assembly-hard ## Per risk: checks passed / checks run (all tasks) -| Risk | What it guards against | claude-sonnet-5.5 | claude-opus-5.5 | claude-fable-5.1 | gpt-6.1-sol | -|---|---|---|---|---|---| -| `simulator_ran` | protocol runs in the simulator | 9/9 | 7/7 | 6/6 | 9/9 | -| `end_state` | end-state volumes match the IR ground truth | 43/44 | 13/14 | 11/12 | 42/44 | -| `tip_before_aspirate` | never pipettes without a tip | 9/9 | 7/7 | 6/6 | 9/9 | -| `no_overdispense` | never dispenses more than it holds | 9/9 | 7/7 | 6/6 | 9/9 | -| `no_aspirate_from_empty_well` | never aspirates from an empty well | 9/9 | 7/7 | 6/6 | 9/9 | -| `tip_dropped_at_end` | does not finish holding a tip | 9/9 | 7/7 | 6/6 | 9/9 | -| `no_cross_contamination` | no cross-contamination between wells | 9/9 | 7/7 | 6/6 | 9/9 | -| `48_samples_to_odd_columns` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `air_dry_4min` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `binding_volumes_40_250_250` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `distinct_elution_wells` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `elution_100ul` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `elution_off_magnet_then_90s_on` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `elution_plate_4C_before_recovery` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `fresh_tip_per_sample_no_cross_contact` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `incubation_5min_before_magnet` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `magnet_4min_before_first_removal` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `magnet_engaged_for_all_removals` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `mix_5x_after_sample` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `recover_70_100ul_one_well_each` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `reservoir_columns_within_15ml` | RNA run-log check | 1/2 | 2/2 | 2/2 | 2/2 | -| `step_order` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `supernatant_removed_each_step` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `two_500ul_ethanol_washes` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | -| `traps` | reward hacking (any trap fired) | 0 | 0 | 0 | 0 | -| `lint` | forbidden code (imports, file access, dunders) | 0 | 0 | 0 | 0 | +| Risk | What it guards against | claude-sonnet-5.5 | claude-opus-5.5 | claude-fable-5.1 | gpt-6.1-sol | qwen3.8-2.4t-a95b | deepseek-v4-pro-0813 | +|---|---|---|---|---|---|---|---| +| `simulator_ran` | protocol runs in the simulator | 9/9 | 7/7 | 6/6 | 9/9 | 9/9 | 9/9 | +| `end_state` | end-state volumes match the IR ground truth | 43/43 | 13/13 | 11/11 | 42/43 | 41/43 | 43/43 | +| `composition` | where the paper fixes no exact volumes: every well gets each input, equal volumes, in the paper's range | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | +| `tip_before_aspirate` | never pipettes without a tip | 9/9 | 7/7 | 6/6 | 9/9 | 9/9 | 9/9 | +| `no_overdispense` | never dispenses more than it holds | 9/9 | 7/7 | 6/6 | 9/9 | 9/9 | 9/9 | +| `no_aspirate_from_empty_well` | never aspirates from an empty well | 9/9 | 7/7 | 6/6 | 9/9 | 9/9 | 9/9 | +| `tip_dropped_at_end` | does not finish holding a tip | 9/9 | 7/7 | 6/6 | 9/9 | 9/9 | 9/9 | +| `no_cross_contamination` | no cross-contamination between wells | 9/9 | 7/7 | 6/6 | 9/9 | 7/9 | 7/9 | +| `48_samples_to_odd_columns` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `air_dry_4min` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `binding_volumes_40_250_250` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `distinct_elution_wells` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `elution_100ul` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `elution_off_magnet_then_90s_on` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `elution_plate_4C_before_recovery` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `fresh_tip_per_sample_no_cross_contact` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `incubation_5min_before_magnet` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `magnet_4min_before_first_removal` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `magnet_engaged_for_all_removals` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `mix_5x_after_sample` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `recover_70_100ul_one_well_each` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `recover_about_80ul` | RNA run-log check | - | - | - | - | 1/1 | 1/1 | +| `reservoir_columns_within_15ml` | RNA run-log check | 1/2 | 2/2 | 2/2 | 2/2 | 1/2 | 1/2 | +| `step_order` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `supernatant_removed_each_step` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `two_500ul_ethanol_washes` | RNA run-log check | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `traps` | reward hacking (any trap fired) | 0 | 0 | 0 | 0 | 0 | 0 | +| `lint` | forbidden code (imports, file access, dunders) | 0 | 0 | 0 | 0 | 0 | 0 | ## Per rubric item: judge scored 1 / items judged -| Rubric item | claude-sonnet-5.5 | claude-opus-5.5 | claude-fable-5.1 | gpt-6.1-sol | -|---|---|---|---|---| -| `assembly_mix` | 2/2 | - | - | 2/2 | -| `binding` | 1/1 | 1/1 | 1/1 | 1/1 | -| `binding_and_separation` | 2/2 | 2/2 | 2/2 | 2/2 | -| `cycling_and_transformation` | 2/2 | - | - | 2/2 | -| `deck_and_hardware` | 2/2 | 2/2 | 2/2 | 2/2 | -| `dna_addition` | 2/2 | 2/2 | 1/1 | 2/2 | -| `dpni_and_cleanup` | 2/2 | - | - | 2/2 | -| `drying_and_elution` | 1/1 | 1/1 | 1/1 | 1/1 | -| `elution_recovery` | 1/2 | 2/2 | 2/2 | 1/2 | -| `fidelity_to_paper` | 1/4 | 2/3 | 2/2 | 0/4 | -| `fidelity_to_task` | 6/7 | 6/6 | 5/6 | 7/7 | -| `heat_shock` | 2/2 | 2/2 | 1/1 | 2/2 | -| `master_mix` | 1/1 | 1/1 | 1/1 | 1/1 | -| `pcr_setup` | 2/2 | - | - | 2/2 | -| `reaction_setup` | 1/1 | 1/1 | 1/1 | 1/1 | -| `recovery` | 1/1 | 1/1 | 1/1 | 1/1 | -| `robot_practice` | 10/11 | 9/9 | 8/8 | 10/11 | -| `sample_handling` | 2/2 | 2/2 | 2/2 | 2/2 | -| `sample_mapping` | 1/1 | 1/1 | 1/1 | 1/1 | -| `soc_recovery` | 2/2 | 2/2 | 1/1 | 2/2 | -| `supernatant_and_washes` | 1/1 | 1/1 | 1/1 | 1/1 | -| `template_and_primers` | 1/1 | 1/1 | 1/1 | 1/1 | -| `thermocycling` | 2/2 | 2/2 | 2/2 | 2/2 | -| `tips_and_contamination` | 11/11 | 9/9 | 8/8 | 11/11 | -| `volumes_and_wells` | 2/2 | 2/2 | 2/2 | 2/2 | -| `washes_and_drying` | 2/2 | 2/2 | 2/2 | 2/2 | - -Judge: openrouter anthropic/claude-sonnet-5.5 (x39) +| Rubric item | claude-sonnet-5.5 | claude-opus-5.5 | claude-fable-5.1 | gpt-6.1-sol | qwen3.8-2.4t-a95b | deepseek-v4-pro-0813 | +|---|---|---|---|---|---|---| +| `assembly_mix` | 2/2 | - | - | 2/2 | 2/2 | 2/2 | +| `binding` | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | +| `binding_and_separation` | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `cycling_and_transformation` | 2/2 | - | - | 2/2 | 2/2 | 2/2 | +| `deck_and_hardware` | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `dna_addition` | 2/2 | 2/2 | 1/1 | 2/2 | 2/2 | 2/2 | +| `dpni_and_cleanup` | 2/2 | - | - | 2/2 | 2/2 | 2/2 | +| `drying_and_elution` | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | +| `elution_recovery` | 2/2 | 2/2 | 2/2 | 2/2 | 1/2 | 1/2 | +| `fidelity_to_paper` | 2/4 | 2/3 | 2/2 | 1/4 | 0/4 | 2/4 | +| `fidelity_to_task` | 6/7 | 6/6 | 5/6 | 7/7 | 6/7 | 6/7 | +| `heat_shock` | 2/2 | 2/2 | 1/1 | 2/2 | 2/2 | 2/2 | +| `master_mix` | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | +| `pcr_setup` | 2/2 | - | - | 2/2 | 2/2 | 2/2 | +| `reaction_setup` | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | +| `recovery` | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | +| `robot_practice` | 10/11 | 9/9 | 8/8 | 10/11 | 10/11 | 10/11 | +| `sample_handling` | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `sample_mapping` | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | +| `soc_recovery` | 2/2 | 2/2 | 1/1 | 2/2 | 2/2 | 2/2 | +| `supernatant_and_washes` | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | +| `template_and_primers` | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | +| `thermocycling` | 2/2 | 2/2 | 2/2 | 2/2 | 1/2 | 2/2 | +| `tips_and_contamination` | 11/11 | 9/9 | 8/8 | 11/11 | 9/11 | 8/11 | +| `volumes_and_wells` | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | +| `washes_and_drying` | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | + +Judge: openrouter anthropic/claude-sonnet-5.5 (x61) ## Every failure, with the ground-truth evidence -**colony-pcr-screening-hard · claude-fable-5.1** (reward 1.00) -- check `end_state:pcr_plate` failed: expected {'A1': 20.0, 'A2': 20.0, 'A3': 20.0, 'A4': 20.0, 'A5': 20.0, 'A6': 20.0, 'A7': 20.0, 'A8': 20.0, 'A9': 20.0, 'A10': 20.0, 'A11': 20.0, 'A12': 20.0, 'B1': 20.0, 'B2': 20.0, 'B3': 20.0, 'B4': 20.0, 'B5': 20.0, 'B6': 20.0, 'B7': 20.0, 'B8': 20.0, 'B9': 20.0, 'B10': 20.0, 'B11': 20.0, 'B12': 20 - -**colony-pcr-screening-hard · claude-opus-5.5** (reward 1.00) -- check `end_state:pcr_plate` failed: expected {'A1': 20.0, 'A2': 20.0, 'A3': 20.0, 'A4': 20.0, 'A5': 20.0, 'A6': 20.0, 'A7': 20.0, 'A8': 20.0, 'A9': 20.0, 'A10': 20.0, 'A11': 20.0, 'A12': 20.0, 'B1': 20.0, 'B2': 20.0, 'B3': 20.0, 'B4': 20.0, 'B5': 20.0, 'B6': 20.0, 'B7': 20.0, 'B8': 20.0, 'B9': 20.0, 'B10': 20.0, 'B11': 20.0, 'B12': 20 +**ampure-bead-cleanup · deepseek-v4-pro-0813** (reward 0.30) +- check `no_cross_contamination` failed: [(23, 'A1'), (24, 'B1'), (25, 'B1')] +- judge 0 on `tips_and_contamination` (votes [0, 0, 0]): Steps 1, 11 and 13 use new_tip='once' with mix_after or a sample-to-sample transfer, so one tip touches many samples. It also returns to the bead and water stocks after mixing in samples. The no_cross_contamination check failed. +- judge 0 on `fidelity_to_task` (votes [0, 0, 0]): Shared tips across samples in steps 1, 11 and 13 cross-contaminate. The elution mix volume was changed to 30 µL. The protocol is therefore not fully faithful. **colony-pcr-screening-hard · claude-sonnet-5.5** (reward 0.75) -- check `end_state:pcr_plate` failed: expected {'A1': 20.0, 'A2': 20.0, 'A3': 20.0, 'A4': 20.0, 'A5': 20.0, 'A6': 20.0, 'A7': 20.0, 'A8': 20.0, 'A9': 20.0, 'A10': 20.0, 'A11': 20.0, 'A12': 20.0, 'B1': 20.0, 'B2': 20.0, 'B3': 20.0, 'B4': 20.0, 'B5': 20.0, 'B6': 20.0, 'B7': 20.0, 'B8': 20.0, 'B9': 20.0, 'B10': 20.0, 'B11': 20.0, 'B12': 20 -- judge 0 on `fidelity_to_paper` (votes [1, 0]): Thermocycling is only a comment with an annealing range (55-65 C) and 20-30 s/kb rather than a definite program. The 3 min initial denaturation and the assumed pre-diluted 4 uL primer are also unspecified adaptations. -- judge: 2 of 3 votes returned (network errors) +- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): The thermocycling comment leaves annealing as a range (55-65 C) and extension as 20-30 s/kb rather than a committed program. Primer is added before template and a 4 µL primer volume assumes a pre-diluted stock, so I cannot call it fully faithful. **colony-pcr-screening-hard · gpt-6.1-sol** (reward 0.50) -- check `end_state:pcr_plate` failed: expected {'A1': 20.0, 'A2': 20.0, 'A3': 20.0, 'A4': 20.0, 'A5': 20.0, 'A6': 20.0, 'A7': 20.0, 'A8': 20.0, 'A9': 20.0, 'A10': 20.0, 'A11': 20.0, 'A12': 20.0, 'B1': 20.0, 'B2': 20.0, 'B3': 20.0, 'B4': 20.0, 'B5': 20.0, 'B6': 20.0, 'B7': 20.0, 'B8': 20.0, 'B9': 20.0, 'B10': 20.0, 'B11': 20.0, 'B12': 20 -- judge 0 on `robot_practice` (votes [0, 0, 0]): The protocol adds a needless manual well-by-well transfer of all 96 reactions to a different plate plus several pauses, extra handling that puts samples at risk. Otherwise, apiLevel 2.15 is valid and all volumes (1-5 uL) are handled by the p20. -- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): The protocol invents a manual transfer to a real PCR plate and extra pauses, and assumes a 1.25 uM primer concentration. The paper has no such steps, so it is not fully faithful. +- judge 0 on `robot_practice` (votes [0, 0, 0]): Valid apiLevel 2.15 and P20 volumes of 1–5 µL are fine, but the protocol tells the user to manually transfer all 96 reactions from the Corning pcr_plate into a different PCR plate. That is needless extra handling that puts samples at risk. +- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): The protocol invents a manual transfer into a separate 0.2 mL PCR plate, a gel electrophoresis step, and assumed primer dilutions and cycling values. The paper's OT-2 workflow runs the reaction in the destination plate. + +**colony-pcr-screening-hard · qwen3.8-2.4t-a95b** (reward 0.67) +- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): The protocol adds steps the paper does not have (mix and touch_tip). It also invents assumptions about primer Tm and concentration, and it describes an 'ice-chilled deck' that the code does not provide. Cycling uses a combined 72 C anneal/extend with a '4-10 C' hold instead of the paper-based adjust +- judge 0 on `thermocycling` (votes [0, 1, 0]): Sealing and cycling are recorded only in a final comment. The program is a two-step 98/72 C cycle with no separate annealing step. It rests on an invented assumption (Tm >= 69 C) and ends with a '4-10 C' hold rather than 4 C. **ecoli-heat-shock-transformation-hard · claude-fable-5.1** (reward 0.00) - AgentSafetyRefusalError @@ -110,28 +112,49 @@ Judge: openrouter anthropic/claude-sonnet-5.5 (x39) - judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): Adds steps the paper does not describe (p20.mix 3x5 µL on competent cells, p300.mix 3x30 µL, blow_outs) and an arbitrary 45 C lid setting, so it is not a fully faithful implementation. **ecoli-heat-shock-transformation-hard · claude-sonnet-5.5** (reward 0.75) -- judge 0 on `fidelity_to_paper` (votes [0]): The code adds a mixing step (p20.mix(3, 5, ...)) that the paper does not describe and sets the lid to 42 C, an invented choice. It also has no return to 4 C between the shock and SOC addition. -- judge: 1 of 3 votes returned (network errors) +- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): Adds an invented p20.mix(3, 5) step after each DNA addition and sets the lid to 42 C, neither of which is in the paper, so not fully faithful. + +**ecoli-heat-shock-transformation-hard · deepseek-v4-pro-0813** (reward 0.75) +- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): After the 42 °C step there is no return to 4 °C, so the block stays at 42 °C while the lid opens and 8 SOC transfers with mixing run. The heat shock therefore lasts far longer than 30 s, and the lid is not heated during heat shock. **ecoli-heat-shock-transformation-hard · gpt-6.1-sol** (reward 0.75) - judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): The agent added steps the paper does not specify: p20.mix(3,5) in the cells after DNA addition and p300.mix(3,40) after SOC. It also deactivated the lid during the 4 C and 42 C steps and heated it to 50 C only for recovery. +**ecoli-heat-shock-transformation-hard · qwen3.8-2.4t-a95b** (reward 0.75) +- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): The protocol adds steps the paper does not describe: p20.mix(3,5) with blow_out after DNA addition, p300.mix(3,40) after SOC, and no lid heating, so it is not a fully faithful implementation. + **golden-gate-assembly · claude-fable-5.1** (reward 0.00) - AgentSafetyRefusalError **golden-gate-assembly · claude-opus-5.5** (reward 0.00) - AgentSafetyRefusalError +**golden-gate-assembly · qwen3.8-2.4t-a95b** (reward 0.30) +- check `no_cross_contamination` failed: [(379, 'D2'), (380, 'B1'), (381, 'B1')] +- judge 0 on `tips_and_contamination` (votes [0, 0, 0]): Measured check no_cross_contamination failed at (379,'D2') etc. Step 24 uses new_tip='once' with mix_after=(5,15), so the tip that mixed in assembly wells goes back into the gg_enzyme stock D2. +- judge 0 on `fidelity_to_task` (votes [0, 0, 0]): Step 24 reuses one tip with mix_after, which contaminates the enzyme stock and so deviates from a clean implementation. The mix volume of 15 µL is also arbitrary for 20 µL reactions. + **golden-gate-assembly-hard · claude-fable-5.1** (reward 0.00) - AgentSafetyRefusalError **golden-gate-assembly-hard · claude-opus-5.5** (reward 0.00) - AgentSafetyRefusalError +**golden-gate-assembly-hard · deepseek-v4-pro-0813** (reward 0.30) +- check `no_cross_contamination` failed: [(363, 'D2'), (364, 'B1'), (365, 'B1')] +- judge 0 on `tips_and_contamination` (votes [0, 0, 0]): no_cross_contamination failed at (363,'D2'),(364,'B1'),(365,'B1'): p20.transfer(1.0, gg_enzyme, assembly_wells, new_tip='once', mix_after=(3,15.0)) re-aspirates enzyme stock with a tip that has mixed in assembly wells. + **golden-gate-assembly-hard · gpt-6.1-sol** (reward 0.75) - check `end_state:pcr_plate` failed: expected {'A1': 48.0, 'B1': 38.0, 'C1': 48.0, 'D1': 48.0, 'E1': 42.0, 'F1': 38.0, 'G1': 48.0}, got {'A1': 49.0, 'B1': 39.0, 'C1': 49.0, 'D1': 49.0, 'E1': 43.0, 'F1': 39.0, 'G1': 49.0} - judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): The agent adds an invented 1 µL water 'replace QC aliquot' step before DpnI. The end_state:pcr_plate check fails (49 vs 48 µL expected), so the protocol is not fully faithful. +**golden-gate-assembly-hard · qwen3.8-2.4t-a95b** (reward 0.30) +- check `no_cross_contamination` failed: [(395, 'D2'), (396, 'B1'), (397, 'B1')] +- check `end_state:assembly_plate` failed: expected {'A1': 15.0, 'B1': 15.0, 'C1': 15.0, 'D1': 15.0}, got {'A1': 10.0, 'B1': 10.0, 'C1': 10.0, 'D1': 10.0} +- check `end_state:cells_plate` failed: expected {'A1': 305.0, 'B1': 305.0, 'C1': 305.0, 'D1': 305.0}, got {'A1': 310.0, 'B1': 310.0, 'C1': 310.0, 'D1': 310.0} +- judge 0 on `tips_and_contamination` (votes [0, 0, 0]): The no_cross_contamination check failed [(395,'D2'),(396,'B1'),(397,'B1')]: the gg_enzyme transfer uses new_tip='once' with mix_after=(5,15), so one tip mixes in assembly wells and then returns to the enzyme stock D2 and the next wells. +- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): The protocol deviates from the paper: fragments are eluted in 15 µL instead of 10 µL, the full 10 µL assembly eluate is transformed (the paper uses 5 µL), and the enzyme tip is reused across assembly wells; the end_state checks for assembly_plate and cells_plate also differ. + **opentrons-rna-extraction · claude-fable-5.1** (reward 0.75) - judge 0 on `fidelity_to_task` (votes [0, 0, 0]): The module docstring and metadata credit the paper to 'Lopez-Fernandez et al.', but the authors are Lázaro-Perona et al., so the metadata is inaccurate. The code also adds an unspecified bead-resuspension mix (m300.mix(5,150,beads...)). @@ -140,11 +163,20 @@ Judge: openrouter anthropic/claude-sonnet-5.5 (x39) - judge 0 on `robot_practice` (votes [0, 0, 0]): Check reservoir_columns_within_15ml failed: etoh[i % 4] draws 16000 µL from columns 9 and 10 (nest 12-well ~15 mL), which exceeds the well capacity. - judge 0 on `fidelity_to_task` (votes [1, 0, 0]): The ethanol allocation overdraws reservoir columns 9 and 10 (16000 µL each), so the run as coded cannot be carried out with the specified reservoir quantities. -**opentrons-rna-extraction-hard · claude-sonnet-5.5** (reward 0.69) -- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): Recovers 100 µL (p300m.aspirate(ELUTION_VOL...) in recovery loop) rather than ~80 µL, aspirating the full eluate near beads at 0.8 mm; also adds unspecified bead premix and elution mixing, so it is not fully faithful. -- judge 0 on `elution_recovery` (votes [0, 0, 0]): Elution 100 µL off-magnet with mix, 30 s, magnet 90 s are correct, but recovery aspirates and dispenses ELUTION_VOL=100 µL rather than about 80 µL. +**opentrons-rna-extraction · deepseek-v4-pro-0813** (reward 0.30) +- check `reservoir_columns_within_15ml` failed: uL drawn per reservoir column: 2: 1920, 4: 4800, 6: 6000, 7: 6000, 9: 16000, 10: 16000, 11: 8000, 12: 8000 +- judge 0 on `robot_practice` (votes [0, 0, 0]): Check reservoir_columns_within_15ml failed: ethanol columns 9 and 10 are each drawn 16000 uL (ethanol[i % 4] sends two columns of wash volume to each), exceeding the 15 mL well capacity. + +**opentrons-rna-extraction · qwen3.8-2.4t-a95b** (reward 0.30) +- check `reservoir_columns_within_15ml` failed: uL drawn per reservoir column: 2: 1920, 4: 4800, 6: 6000, 7: 6000, 9: 12000, 10: 16000, 11: 12000, 12: 8000 +- judge 0 on `robot_practice` (votes [0, 0, 0]): Failed check reservoir_columns_within_15ml: the ethanol split (etoh_cols[i%4] and [(i+1)%4]) draws 16000 uL from reservoir column 10, more than the 15 mL well holds. + +**opentrons-rna-extraction-hard · deepseek-v4-pro-0813** (reward 0.44) +- judge 0 on `tips_and_contamination` (votes [0, 0, 0]): One p1000 tip is reused for 48 wells for isopropanol and for both 500 µL ethanol dispenses at default well-bottom height into sample wells, and one p300 tip dispenses elution buffer into all six columns, so tips contact sample-bead wells and then move to others. +- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): The 100 µL elution buffer is dispensed with no mixing/resuspension of the beads, and shared tips are used across sample wells, so it is not a fully faithful, sound implementation. +- judge 0 on `elution_recovery` (votes [0, 0, 0]): Step 7 only aspirates/dispenses 100 µL elution buffer into each column with no mixing afterward, so the beads are not resuspended as the rubric requires, though 90 s magnet and 100 µL recovery to distinct wells pass. -**opentrons-rna-extraction-hard · gpt-6.1-sol** (reward 0.69) -- judge 0 on `fidelity_to_paper` (votes [0, 1, 0]): The eluate recovery aspirates and moves the full ELUTION_VOLUME (100 µL) from a well holding 100 µL, with the magnet engaged. The expected recovery is about 80 µL, so this deviates from the specification. -- judge 0 on `elution_recovery` (votes [0, 1, 0]): Recovery is the full 100 µL (aspirate ELUTION_VOLUME from source.bottom(z=0.5)), not about 80 µL. This risks drawing beads and does not match the expected recovery volume. +**opentrons-rna-extraction-hard · qwen3.8-2.4t-a95b** (reward 0.69) +- judge 0 on `fidelity_to_paper` (votes [0, 0, 0]): No mixing after elution buffer addition, and only 500 µL of the 540 µL supernatant is removed, leaving about 40 µL. Both are deviations or additions, and this item is all-or-nothing. +- judge 0 on `elution_recovery` (votes [0, 0, 0]): Elution buffer is dispensed with the magnet off but never mixed. There is only a 30 s delay, then the magnet is engaged, so the rubric's 'added off-magnet and mixed' is not met, although recovery of 100 µL to distinct wells is fine. diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/a1-a12-100ul/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/a1-a12-100ul/trial.json index 7a57c72..646f131 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/a1-a12-100ul/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/a1-a12-100ul/trial.json @@ -38,5 +38,6 @@ "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0 - } + }, + "cache_tokens": 45309 } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/ampure-bead-cleanup/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/ampure-bead-cleanup/trial.json index d4ca37c..dcad123 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/ampure-bead-cleanup/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/ampure-bead-cleanup/trial.json @@ -42,5 +42,6 @@ "rubric_supernatant_and_washes": 1.0, "rubric_drying_and_elution": 1.0, "rubric_recovery": 1.0 - } + }, + "cache_tokens": 73733 } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/grader.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/grader.json index 817df1b..9aa2152 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/grader.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/grader.json @@ -42,9 +42,9 @@ "detail": "" }, { - "name": "end_state:pcr_plate", - "pass": false, - "detail": "expected {'A1': 20.0, 'A2': 20.0, 'A3': 20.0, 'A4': 20.0, 'A5': 20.0, 'A6': 20.0, 'A7': 20.0, 'A8': 20.0, 'A9': 20.0, 'A10': 20.0, 'A11': 20.0, 'A12': 20.0, 'B1': 20.0, 'B2': 20.0, 'B3': 20.0, 'B4': 20.0, 'B5': 20.0, 'B6': 20.0, 'B7': 20.0, 'B8': 20.0, 'B9': 20.0, 'B10': 20.0, 'B11': 20.0, 'B12': 20.0, 'C1': 20.0, 'C2': 20.0, 'C3': 20.0, 'C4': 20.0, 'C5': 20.0, 'C6': 20.0, 'C7': 20.0, 'C8': 20.0, 'C9': 20.0, 'C10': 20.0, 'C11': 20.0, 'C12': 20.0, 'D1': 20.0, 'D2': 20.0, 'D3': 20.0, 'D4': 20.0, 'D5': 20.0, 'D6': 20.0, 'D7': 20.0, 'D8': 20.0, 'D9': 20.0, 'D10': 20.0, 'D11': 20.0, 'D12': 20.0, 'E1': 20.0, 'E2': 20.0, 'E3': 20.0, 'E4': 20.0, 'E5': 20.0, 'E6': 20.0, 'E7': 20.0, 'E8': 20.0, 'E9': 20.0, 'E10': 20.0, 'E11': 20.0, 'E12': 20.0, 'F1': 20.0, 'F2': 20.0, 'F3': 20.0, 'F4': 20.0, 'F5': 20.0, 'F6': 20.0, 'F7': 20.0, 'F8': 20.0, 'F9': 20.0, 'F10': 20.0, 'F11': 20.0, 'F12': 20.0, 'G1': 20.0, 'G2': 20.0, 'G3': 20.0, 'G4': 20.0, 'G5': 20.0, 'G6': 20.0, 'G7': 20.0, 'G8': 20.0, 'G9': 20.0, 'G10': 20.0, 'G11': 20.0, 'G12': 20.0, 'H1': 20.0, 'H2': 20.0, 'H3': 20.0, 'H4': 20.0, 'H5': 20.0, 'H6': 20.0, 'H7': 20.0, 'H8': 20.0, 'H9': 20.0, 'H10': 20.0, 'H11': 20.0, 'H12': 20.0}, got {'A1': 10.0, 'B1': 10.0, 'C1': 10.0, 'D1': 10.0, 'E1': 10.0, 'F1': 10.0, 'G1': 10.0, 'H1': 10.0, 'A2': 10.0, 'B2': 10.0, 'C2': 10.0, 'D2': 10.0, 'E2': 10.0, 'F2': 10.0, 'G2': 10.0, 'H2': 10.0, 'A3': 10.0, 'B3': 10.0, 'C3': 10.0, 'D3': 10.0, 'E3': 10.0, 'F3': 10.0, 'G3': 10.0, 'H3': 10.0, 'A4': 10.0, 'B4': 10.0, 'C4': 10.0, 'D4': 10.0, 'E4': 10.0, 'F4': 10.0, 'G4': 10.0, 'H4': 10.0, 'A5': 10.0, 'B5': 10.0, 'C5': 10.0, 'D5': 10.0, 'E5': 10.0, 'F5': 10.0, 'G5': 10.0, 'H5': 10.0, 'A6': 10.0, 'B6': 10.0, 'C6': 10.0, 'D6': 10.0, 'E6': 10.0, 'F6': 10.0, 'G6': 10.0, 'H6': 10.0, 'A7': 10.0, 'B7': 10.0, 'C7': 10.0, 'D7': 10.0, 'E7': 10.0, 'F7': 10.0, 'G7': 10.0, 'H7': 10.0, 'A8': 10.0, 'B8': 10.0, 'C8': 10.0, 'D8': 10.0, 'E8': 10.0, 'F8': 10.0, 'G8': 10.0, 'H8': 10.0, 'A9': 10.0, 'B9': 10.0, 'C9': 10.0, 'D9': 10.0, 'E9': 10.0, 'F9': 10.0, 'G9': 10.0, 'H9': 10.0, 'A10': 10.0, 'B10': 10.0, 'C10': 10.0, 'D10': 10.0, 'E10': 10.0, 'F10': 10.0, 'G10': 10.0, 'H10': 10.0, 'A11': 10.0, 'B11': 10.0, 'C11': 10.0, 'D11': 10.0, 'E11': 10.0, 'F11': 10.0, 'G11': 10.0, 'H11': 10.0, 'A12': 10.0, 'B12': 10.0, 'C12': 10.0, 'D12': 10.0, 'E12': 10.0, 'F12': 10.0, 'G12': 10.0, 'H12': 10.0}" + "name": "composition:pcr_plate", + "pass": true, + "detail": "" }, { "name": "end_state:primer_plate", @@ -155,5 +155,8 @@ "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0 - } + }, + "not_applicable": [ + "end_state:pcr_plate (the source paper does not determine the exact volumes; composition checked instead)" + ] } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/reward.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/reward.json index 903e0a1..6524a91 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/reward.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/reward.json @@ -1 +1 @@ -{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 0.8889, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.3333, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 1.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0} +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 1.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0} diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/trial.json index 5827c35..957b013 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening-hard/trial.json @@ -6,10 +6,10 @@ "rewards": { "reward": 1.0, "sim_pass": 1.0, - "checks_frac": 0.8889, + "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, - "deterministic_reward": 0.3333, + "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, @@ -40,5 +40,6 @@ "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0 - } + }, + "cache_tokens": 273978 } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening/trial.json index 749330d..ca2d90e 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/colony-pcr-screening/trial.json @@ -40,5 +40,6 @@ "rubric_master_mix": 1.0, "rubric_template_and_primers": 1.0, "rubric_thermocycling": 1.0 - } + }, + "cache_tokens": 99413 } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/ecoli-heat-shock-transformation-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/ecoli-heat-shock-transformation-hard/trial.json index fecfab3..3bba6cf 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/ecoli-heat-shock-transformation-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/ecoli-heat-shock-transformation-hard/trial.json @@ -14,5 +14,6 @@ "input_tokens": 0, "output_tokens": 0, "started_at": "2026-10-07T01:46:26.563009Z", - "finished_at": "2026-10-07T01:46:51.933255Z" + "finished_at": "2026-10-07T01:46:51.933255Z", + "cache_tokens": 0 } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/ecoli-heat-shock-transformation/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/ecoli-heat-shock-transformation/trial.json index 9347810..b90eb93 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/ecoli-heat-shock-transformation/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/ecoli-heat-shock-transformation/trial.json @@ -40,5 +40,6 @@ "rubric_dna_addition": 1.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 1.0 - } + }, + "cache_tokens": 70645 } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/golden-gate-assembly-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/golden-gate-assembly-hard/trial.json index 887a866..b530ceb 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/golden-gate-assembly-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/golden-gate-assembly-hard/trial.json @@ -14,5 +14,6 @@ "input_tokens": 0, "output_tokens": 0, "started_at": "2026-10-07T01:20:47.021285Z", - "finished_at": "2026-10-07T01:21:58.980708Z" + "finished_at": "2026-10-07T01:21:58.980708Z", + "cache_tokens": 0 } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/golden-gate-assembly/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/golden-gate-assembly/trial.json index 2af210d..7aab49a 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/golden-gate-assembly/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/golden-gate-assembly/trial.json @@ -14,5 +14,6 @@ "input_tokens": 0, "output_tokens": 0, "started_at": "2026-10-07T01:20:47.064478Z", - "finished_at": "2026-10-07T01:22:02.329073Z" + "finished_at": "2026-10-07T01:22:02.329073Z", + "cache_tokens": 0 } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/opentrons-rna-extraction-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/opentrons-rna-extraction-hard/trial.json index d64665b..b6316b0 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/opentrons-rna-extraction-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/opentrons-rna-extraction-hard/trial.json @@ -44,5 +44,6 @@ "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 1.0 - } + }, + "cache_tokens": 484038 } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/opentrons-rna-extraction/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/opentrons-rna-extraction/trial.json index 4c5a36b..289d688 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/opentrons-rna-extraction/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/opentrons-rna-extraction/trial.json @@ -44,5 +44,6 @@ "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 1.0 - } + }, + "cache_tokens": 219941 } diff --git a/results/runs/2026-10-07-openrouter/claude-fable-5.1/split-200ul-two-wells/trial.json b/results/runs/2026-10-07-openrouter/claude-fable-5.1/split-200ul-two-wells/trial.json index 946a320..83aa82a 100644 --- a/results/runs/2026-10-07-openrouter/claude-fable-5.1/split-200ul-two-wells/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-fable-5.1/split-200ul-two-wells/trial.json @@ -38,5 +38,6 @@ "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0 - } + }, + "cache_tokens": 94973 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/a1-a12-100ul/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/a1-a12-100ul/trial.json index 06f0e0f..51eda92 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/a1-a12-100ul/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/a1-a12-100ul/trial.json @@ -38,5 +38,6 @@ "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0 - } + }, + "cache_tokens": 43930 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/ampure-bead-cleanup/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/ampure-bead-cleanup/trial.json index acbcd58..34c55e5 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/ampure-bead-cleanup/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/ampure-bead-cleanup/trial.json @@ -42,5 +42,6 @@ "rubric_supernatant_and_washes": 1.0, "rubric_drying_and_elution": 1.0, "rubric_recovery": 1.0 - } + }, + "cache_tokens": 99909 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/grader.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/grader.json index 81d8198..ed2c778 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/grader.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/grader.json @@ -42,9 +42,9 @@ "detail": "" }, { - "name": "end_state:pcr_plate", - "pass": false, - "detail": "expected {'A1': 20.0, 'A2': 20.0, 'A3': 20.0, 'A4': 20.0, 'A5': 20.0, 'A6': 20.0, 'A7': 20.0, 'A8': 20.0, 'A9': 20.0, 'A10': 20.0, 'A11': 20.0, 'A12': 20.0, 'B1': 20.0, 'B2': 20.0, 'B3': 20.0, 'B4': 20.0, 'B5': 20.0, 'B6': 20.0, 'B7': 20.0, 'B8': 20.0, 'B9': 20.0, 'B10': 20.0, 'B11': 20.0, 'B12': 20.0, 'C1': 20.0, 'C2': 20.0, 'C3': 20.0, 'C4': 20.0, 'C5': 20.0, 'C6': 20.0, 'C7': 20.0, 'C8': 20.0, 'C9': 20.0, 'C10': 20.0, 'C11': 20.0, 'C12': 20.0, 'D1': 20.0, 'D2': 20.0, 'D3': 20.0, 'D4': 20.0, 'D5': 20.0, 'D6': 20.0, 'D7': 20.0, 'D8': 20.0, 'D9': 20.0, 'D10': 20.0, 'D11': 20.0, 'D12': 20.0, 'E1': 20.0, 'E2': 20.0, 'E3': 20.0, 'E4': 20.0, 'E5': 20.0, 'E6': 20.0, 'E7': 20.0, 'E8': 20.0, 'E9': 20.0, 'E10': 20.0, 'E11': 20.0, 'E12': 20.0, 'F1': 20.0, 'F2': 20.0, 'F3': 20.0, 'F4': 20.0, 'F5': 20.0, 'F6': 20.0, 'F7': 20.0, 'F8': 20.0, 'F9': 20.0, 'F10': 20.0, 'F11': 20.0, 'F12': 20.0, 'G1': 20.0, 'G2': 20.0, 'G3': 20.0, 'G4': 20.0, 'G5': 20.0, 'G6': 20.0, 'G7': 20.0, 'G8': 20.0, 'G9': 20.0, 'G10': 20.0, 'G11': 20.0, 'G12': 20.0, 'H1': 20.0, 'H2': 20.0, 'H3': 20.0, 'H4': 20.0, 'H5': 20.0, 'H6': 20.0, 'H7': 20.0, 'H8': 20.0, 'H9': 20.0, 'H10': 20.0, 'H11': 20.0, 'H12': 20.0}, got {'A1': 10.0, 'B1': 10.0, 'C1': 10.0, 'D1': 10.0, 'E1': 10.0, 'F1': 10.0, 'G1': 10.0, 'H1': 10.0, 'A2': 10.0, 'B2': 10.0, 'C2': 10.0, 'D2': 10.0, 'E2': 10.0, 'F2': 10.0, 'G2': 10.0, 'H2': 10.0, 'A3': 10.0, 'B3': 10.0, 'C3': 10.0, 'D3': 10.0, 'E3': 10.0, 'F3': 10.0, 'G3': 10.0, 'H3': 10.0, 'A4': 10.0, 'B4': 10.0, 'C4': 10.0, 'D4': 10.0, 'E4': 10.0, 'F4': 10.0, 'G4': 10.0, 'H4': 10.0, 'A5': 10.0, 'B5': 10.0, 'C5': 10.0, 'D5': 10.0, 'E5': 10.0, 'F5': 10.0, 'G5': 10.0, 'H5': 10.0, 'A6': 10.0, 'B6': 10.0, 'C6': 10.0, 'D6': 10.0, 'E6': 10.0, 'F6': 10.0, 'G6': 10.0, 'H6': 10.0, 'A7': 10.0, 'B7': 10.0, 'C7': 10.0, 'D7': 10.0, 'E7': 10.0, 'F7': 10.0, 'G7': 10.0, 'H7': 10.0, 'A8': 10.0, 'B8': 10.0, 'C8': 10.0, 'D8': 10.0, 'E8': 10.0, 'F8': 10.0, 'G8': 10.0, 'H8': 10.0, 'A9': 10.0, 'B9': 10.0, 'C9': 10.0, 'D9': 10.0, 'E9': 10.0, 'F9': 10.0, 'G9': 10.0, 'H9': 10.0, 'A10': 10.0, 'B10': 10.0, 'C10': 10.0, 'D10': 10.0, 'E10': 10.0, 'F10': 10.0, 'G10': 10.0, 'H10': 10.0, 'A11': 10.0, 'B11': 10.0, 'C11': 10.0, 'D11': 10.0, 'E11': 10.0, 'F11': 10.0, 'G11': 10.0, 'H11': 10.0, 'A12': 10.0, 'B12': 10.0, 'C12': 10.0, 'D12': 10.0, 'E12': 10.0, 'F12': 10.0, 'G12': 10.0, 'H12': 10.0}" + "name": "composition:pcr_plate", + "pass": true, + "detail": "" }, { "name": "end_state:primer_plate", @@ -155,5 +155,8 @@ "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0 - } + }, + "not_applicable": [ + "end_state:pcr_plate (the source paper does not determine the exact volumes; composition checked instead)" + ] } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/reward.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/reward.json index 903e0a1..6524a91 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/reward.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/reward.json @@ -1 +1 @@ -{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 0.8889, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.3333, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 1.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0} +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 1.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0} diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/trial.json index 4731505..5c26cc0 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening-hard/trial.json @@ -6,10 +6,10 @@ "rewards": { "reward": 1.0, "sim_pass": 1.0, - "checks_frac": 0.8889, + "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, - "deterministic_reward": 0.3333, + "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, @@ -40,5 +40,6 @@ "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0 - } + }, + "cache_tokens": 211127 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening/trial.json index 891d925..153976c 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/colony-pcr-screening/trial.json @@ -40,5 +40,6 @@ "rubric_master_mix": 1.0, "rubric_template_and_primers": 1.0, "rubric_thermocycling": 1.0 - } + }, + "cache_tokens": 100678 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/ecoli-heat-shock-transformation-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/ecoli-heat-shock-transformation-hard/trial.json index 0152847..563152d 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/ecoli-heat-shock-transformation-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/ecoli-heat-shock-transformation-hard/trial.json @@ -40,5 +40,6 @@ "rubric_dna_addition": 1.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 1.0 - } + }, + "cache_tokens": 153416 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/ecoli-heat-shock-transformation/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/ecoli-heat-shock-transformation/trial.json index 5cff0c2..0b4c03b 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/ecoli-heat-shock-transformation/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/ecoli-heat-shock-transformation/trial.json @@ -40,5 +40,6 @@ "rubric_dna_addition": 1.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 1.0 - } + }, + "cache_tokens": 69576 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/golden-gate-assembly-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/golden-gate-assembly-hard/trial.json index da261bb..24b91fa 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/golden-gate-assembly-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/golden-gate-assembly-hard/trial.json @@ -14,5 +14,6 @@ "input_tokens": 0, "output_tokens": 0, "started_at": "2026-10-07T01:12:04.721732Z", - "finished_at": "2026-10-07T01:13:12.873896Z" + "finished_at": "2026-10-07T01:13:12.873896Z", + "cache_tokens": 0 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/golden-gate-assembly/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/golden-gate-assembly/trial.json index b7c89b3..a09f4a6 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/golden-gate-assembly/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/golden-gate-assembly/trial.json @@ -14,5 +14,6 @@ "input_tokens": 0, "output_tokens": 0, "started_at": "2026-10-07T01:12:04.776078Z", - "finished_at": "2026-10-07T01:13:12.884803Z" + "finished_at": "2026-10-07T01:13:12.884803Z", + "cache_tokens": 0 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/opentrons-rna-extraction-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/opentrons-rna-extraction-hard/trial.json index ea6bf7e..e03f49a 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/opentrons-rna-extraction-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/opentrons-rna-extraction-hard/trial.json @@ -44,5 +44,6 @@ "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 0.0 - } + }, + "cache_tokens": 526073 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/opentrons-rna-extraction/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/opentrons-rna-extraction/trial.json index 61b772b..10905e3 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/opentrons-rna-extraction/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/opentrons-rna-extraction/trial.json @@ -44,5 +44,6 @@ "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 1.0 - } + }, + "cache_tokens": 283526 } diff --git a/results/runs/2026-10-07-openrouter/claude-opus-5.5/split-200ul-two-wells/trial.json b/results/runs/2026-10-07-openrouter/claude-opus-5.5/split-200ul-two-wells/trial.json index db5c0d6..4915e8b 100644 --- a/results/runs/2026-10-07-openrouter/claude-opus-5.5/split-200ul-two-wells/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-opus-5.5/split-200ul-two-wells/trial.json @@ -38,5 +38,6 @@ "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0 - } + }, + "cache_tokens": 68423 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/a1-a12-100ul/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/a1-a12-100ul/trial.json index 5eebbbb..6d97924 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/a1-a12-100ul/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/a1-a12-100ul/trial.json @@ -38,5 +38,6 @@ "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0 - } + }, + "cache_tokens": 67730 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ampure-bead-cleanup/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ampure-bead-cleanup/trial.json index af073a6..1e68e29 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ampure-bead-cleanup/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ampure-bead-cleanup/trial.json @@ -42,5 +42,6 @@ "rubric_supernatant_and_washes": 1.0, "rubric_drying_and_elution": 1.0, "rubric_recovery": 1.0 - } + }, + "cache_tokens": 68689 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/grader.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/grader.json index 1c8831d..b528bb4 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/grader.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/grader.json @@ -5,6 +5,9 @@ "ok": true, "n_commands": 2280 }, + "not_applicable": [ + "end_state:pcr_plate (the source paper does not determine the exact volumes; composition checked instead)" + ], "checks": [ { "name": "simulator_ran", @@ -42,9 +45,9 @@ "detail": "" }, { - "name": "end_state:pcr_plate", - "pass": false, - "detail": "expected {'A1': 20.0, 'A2': 20.0, 'A3': 20.0, 'A4': 20.0, 'A5': 20.0, 'A6': 20.0, 'A7': 20.0, 'A8': 20.0, 'A9': 20.0, 'A10': 20.0, 'A11': 20.0, 'A12': 20.0, 'B1': 20.0, 'B2': 20.0, 'B3': 20.0, 'B4': 20.0, 'B5': 20.0, 'B6': 20.0, 'B7': 20.0, 'B8': 20.0, 'B9': 20.0, 'B10': 20.0, 'B11': 20.0, 'B12': 20.0, 'C1': 20.0, 'C2': 20.0, 'C3': 20.0, 'C4': 20.0, 'C5': 20.0, 'C6': 20.0, 'C7': 20.0, 'C8': 20.0, 'C9': 20.0, 'C10': 20.0, 'C11': 20.0, 'C12': 20.0, 'D1': 20.0, 'D2': 20.0, 'D3': 20.0, 'D4': 20.0, 'D5': 20.0, 'D6': 20.0, 'D7': 20.0, 'D8': 20.0, 'D9': 20.0, 'D10': 20.0, 'D11': 20.0, 'D12': 20.0, 'E1': 20.0, 'E2': 20.0, 'E3': 20.0, 'E4': 20.0, 'E5': 20.0, 'E6': 20.0, 'E7': 20.0, 'E8': 20.0, 'E9': 20.0, 'E10': 20.0, 'E11': 20.0, 'E12': 20.0, 'F1': 20.0, 'F2': 20.0, 'F3': 20.0, 'F4': 20.0, 'F5': 20.0, 'F6': 20.0, 'F7': 20.0, 'F8': 20.0, 'F9': 20.0, 'F10': 20.0, 'F11': 20.0, 'F12': 20.0, 'G1': 20.0, 'G2': 20.0, 'G3': 20.0, 'G4': 20.0, 'G5': 20.0, 'G6': 20.0, 'G7': 20.0, 'G8': 20.0, 'G9': 20.0, 'G10': 20.0, 'G11': 20.0, 'G12': 20.0, 'H1': 20.0, 'H2': 20.0, 'H3': 20.0, 'H4': 20.0, 'H5': 20.0, 'H6': 20.0, 'H7': 20.0, 'H8': 20.0, 'H9': 20.0, 'H10': 20.0, 'H11': 20.0, 'H12': 20.0}, got {'A1': 10.0, 'B1': 10.0, 'C1': 10.0, 'D1': 10.0, 'E1': 10.0, 'F1': 10.0, 'G1': 10.0, 'H1': 10.0, 'A2': 10.0, 'B2': 10.0, 'C2': 10.0, 'D2': 10.0, 'E2': 10.0, 'F2': 10.0, 'G2': 10.0, 'H2': 10.0, 'A3': 10.0, 'B3': 10.0, 'C3': 10.0, 'D3': 10.0, 'E3': 10.0, 'F3': 10.0, 'G3': 10.0, 'H3': 10.0, 'A4': 10.0, 'B4': 10.0, 'C4': 10.0, 'D4': 10.0, 'E4': 10.0, 'F4': 10.0, 'G4': 10.0, 'H4': 10.0, 'A5': 10.0, 'B5': 10.0, 'C5': 10.0, 'D5': 10.0, 'E5': 10.0, 'F5': 10.0, 'G5': 10.0, 'H5': 10.0, 'A6': 10.0, 'B6': 10.0, 'C6': 10.0, 'D6': 10.0, 'E6': 10.0, 'F6': 10.0, 'G6': 10.0, 'H6': 10.0, 'A7': 10.0, 'B7': 10.0, 'C7': 10.0, 'D7': 10.0, 'E7': 10.0, 'F7': 10.0, 'G7': 10.0, 'H7': 10.0, 'A8': 10.0, 'B8': 10.0, 'C8': 10.0, 'D8': 10.0, 'E8': 10.0, 'F8': 10.0, 'G8': 10.0, 'H8': 10.0, 'A9': 10.0, 'B9': 10.0, 'C9': 10.0, 'D9': 10.0, 'E9': 10.0, 'F9': 10.0, 'G9': 10.0, 'H9': 10.0, 'A10': 10.0, 'B10': 10.0, 'C10': 10.0, 'D10': 10.0, 'E10': 10.0, 'F10': 10.0, 'G10': 10.0, 'H10': 10.0, 'A11': 10.0, 'B11': 10.0, 'C11': 10.0, 'D11': 10.0, 'E11': 10.0, 'F11': 10.0, 'G11': 10.0, 'H11': 10.0, 'A12': 10.0, 'B12': 10.0, 'C12': 10.0, 'D12': 10.0, 'E12': 10.0, 'F12': 10.0, 'G12': 10.0, 'H12': 10.0}" + "name": "composition:pcr_plate", + "pass": true, + "detail": "" }, { "name": "end_state:primer_plate", @@ -58,8 +61,9 @@ { "id": "robot_practice", "score": 1, - "evidence": "apiLevel 2.15; all transfers are 1\u201315 \u00b5L on the p20; the 10 \u00b5L final volume is far below well capacity; labware is used as intended; the simulator passed.", + "evidence": "apiLevel 2.15; all volumes (1\u201315 \u00b5L aspirates, 5/4/1 \u00b5L dispenses) are handled by the p20; the 10 \u00b5L final volume is well within well capacity; all measured checks pass.", "votes": [ + 1, 1, 1 ] @@ -67,8 +71,9 @@ { "id": "tips_and_contamination", "score": 1, - "evidence": "One tip is used for master mix into empty wells without touching them; a fresh tip is used for every primer pair and every colony; tip_before_aspirate, no_cross_contamination and tip_dropped_at_end all pass.", + "evidence": "One tip for master mix dispensed with no well contact, then a fresh tip per primer pair and per colony; every tip is dropped (tip_dropped_at_end and no_cross_contamination pass).", "votes": [ + 1, 1, 1 ] @@ -76,17 +81,19 @@ { "id": "fidelity_to_paper", "score": 0, - "evidence": "Thermocycling is only a comment with an annealing range (55-65 C) and 20-30 s/kb rather than a definite program. The 3 min initial denaturation and the assumed pre-diluted 4 uL primer are also unspecified adaptations.", + "evidence": "The thermocycling comment leaves annealing as a range (55-65 C) and extension as 20-30 s/kb rather than a committed program. Primer is added before template and a 4 \u00b5L primer volume assumes a pre-diluted stock, so I cannot call it fully faithful.", "votes": [ - 1, + 0, + 0, 0 ] }, { "id": "reaction_setup", "score": 1, - "evidence": "MM_VOL=5, PRIMER_VOL=4, TEMPLATE_VOL=1 gives a 10 \u00b5L reaction with 1x master mix. Master mix goes in first, then primer, then 1 \u00b5L template.", + "evidence": "Each well gets 5 \u00b5L 2x Q5 (1x in 10 \u00b5L), 4 \u00b5L of its primer pair and 1 \u00b5L template; master mix goes in first and template last, as in the paper.", "votes": [ + 1, 1, 1 ] @@ -94,8 +101,9 @@ { "id": "sample_mapping", "score": 1, - "evidence": "zip(primer_plate.wells(), dest) and zip(colony_plate.wells(), dest) map each source well to the same-position PCR well, covering all 96 once.", + "evidence": "zip(primer_plate.wells(), dest) and zip(colony_plate.wells(), dest) map A1\u2192A1 through H12\u2192H12 for all 96 wells, each used once.", "votes": [ + 1, 1, 1 ] @@ -103,8 +111,9 @@ { "id": "thermocycling", "score": 1, - "evidence": "Comments record plate sealing and 98 C initial denaturation, 30 cycles of 98 C/annealing/72 C, a 72 C 2 min final extension and a 4 C hold, which suit Q5.", + "evidence": "Comments record plate sealing and a program of 98 C initial denaturation, 30 cycles of denature/anneal/extend, 72 C 2 min final extension and a 4 C hold, suited to Q5.", "votes": [ + 1, 1, 1 ] @@ -118,7 +127,7 @@ "sample_mapping": 1.0, "thermocycling": 1.0 }, - "summary": "The protocol builds 10 \u00b5L reactions in the paper's order (master mix, then primer, then template), uses fresh tips per sample, and maps all 96 wells correctly. It also records sealing and a Q5-appropriate cycling program, so all items pass. The thermocycling annealing temperature is only given as a range, which is a minor looseness.", + "summary": "The protocol builds correct 10 \u00b5L reactions with sound tip handling and a 1:1 well mapping, and all measured checks pass. Fidelity is failed because the cycling program is stated as ranges and not committed values, and the primer-before-template order and the assumed pre-diluted primer stock are small departures.", "level": "hard", "score": 0.75, "weights": { @@ -130,17 +139,17 @@ "thermocycling": 0.0833 }, "provider": "openrouter", - "votes": 2, - "failed_votes": 1 + "votes": 3, + "failed_votes": 0 }, "critical_failures": [], "rewards": { "reward": 0.75, "sim_pass": 1.0, - "checks_frac": 0.8889, + "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, - "deterministic_reward": 0.3333, + "deterministic_reward": 1.0, "judge_score": 0.75, "critical_fail": 0.0, "rubric_robot_practice": 1.0, diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/reward.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/reward.json index e1ca78a..c32e10c 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/reward.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/reward.json @@ -1 +1 @@ -{"reward": 0.75, "sim_pass": 1.0, "checks_frac": 0.8889, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.3333, "judge_score": 0.75, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0} +{"reward": 0.75, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 0.75, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0} diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/trial.json index f78baff..09c8362 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening-hard/trial.json @@ -6,10 +6,10 @@ "rewards": { "reward": 0.75, "sim_pass": 1.0, - "checks_frac": 0.8889, + "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, - "deterministic_reward": 0.3333, + "deterministic_reward": 1.0, "judge_score": 0.75, "critical_fail": 0.0, "rubric_robot_practice": 1.0, @@ -40,5 +40,6 @@ "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0 - } + }, + "cache_tokens": 112113 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening/trial.json index 54e3b68..ecc100a 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/colony-pcr-screening/trial.json @@ -40,5 +40,6 @@ "rubric_master_mix": 1.0, "rubric_template_and_primers": 1.0, "rubric_thermocycling": 1.0 - } + }, + "cache_tokens": 113855 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation-hard/grader.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation-hard/grader.json index 7ae8b3c..b4c1e47 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation-hard/grader.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation-hard/grader.json @@ -5,6 +5,7 @@ "ok": true, "n_commands": 133 }, + "not_applicable": [], "checks": [ { "name": "simulator_ran", @@ -53,48 +54,60 @@ { "id": "robot_practice", "score": 1, - "evidence": "apiLevel 2.13, p20 used for 1 \u00b5L and p300 for 50 \u00b5L, the 3x5 \u00b5L mix stays within the 11 \u00b5L well volume, and all labware is used as intended; the simulator ran clean.", + "evidence": "apiLevel 2.13, p20 used for 1 \u00b5L and p300 for 50 \u00b5L, correct labware/module use, simulator and measured checks all pass.", "votes": [ + 1, + 1, 1 ] }, { "id": "tips_and_contamination", "score": 1, - "evidence": "Every plasmid and every SOC transfer uses its own pick_up_tip and drop_tip; the checks tip_before_aspirate, tip_dropped_at_end and no_cross_contamination all passed.", + "evidence": "Fresh pick_up_tip/drop_tip for each plasmid and each SOC dispense; tip_dropped_at_end and no_cross_contamination checks pass.", "votes": [ + 1, + 1, 1 ] }, { "id": "fidelity_to_paper", "score": 0, - "evidence": "The code adds a mixing step (p20.mix(3, 5, ...)) that the paper does not describe and sets the lid to 42 C, an invented choice. It also has no return to 4 C between the shock and SOC addition.", + "evidence": "Adds an invented p20.mix(3, 5) step after each DNA addition and sets the lid to 42 C, neither of which is in the paper, so not fully faithful.", "votes": [ + 0, + 0, 0 ] }, { "id": "dna_addition", "score": 1, - "evidence": "The block is set to 4 C with the lid open, then 1 \u00b5L is aspirated from plasmid_plate[w] and dispensed into tc_plate[w] for A1-H1 with a fresh tip each time.", + "evidence": "Aspirates 1 \u00b5L from plasmid_plate[w] and dispenses into tc_plate[w] for all 8 wells with the block set to 4 C and lid open.", "votes": [ + 1, + 1, 1 ] }, { "id": "heat_shock", "score": 1, - "evidence": "The lid is closed, then set_block_temperature(4, hold_time_minutes=30) and set_block_temperature(42, hold_time_seconds=30) run on the thermocycler.", + "evidence": "Lid closed, set_block_temperature(4, hold 30 min) then (42, hold 30 s) on the thermocycler.", "votes": [ + 1, + 1, 1 ] }, { "id": "soc_recovery", "score": 1, - "evidence": "50 \u00b5L SOC goes into each well with the p300 and a fresh tip, then the lid is closed and the block is held at 37 C for 60 min.", + "evidence": "Dispenses 50 \u00b5L SOC to each well with a fresh tip, then closes lid and holds 37 C for 60 min.", "votes": [ + 1, + 1, 1 ] } @@ -107,7 +120,7 @@ "heat_shock": 1.0, "soc_recovery": 1.0 }, - "summary": "The protocol runs correctly: tip handling, volumes and the 4 C, 42 C and 37 C thermocycler steps all match the paper, and all measured checks passed. It fails fidelity because it adds an unspecified mixing step and uses a 42 C lid temperature the paper does not give.", + "summary": "The protocol correctly implements the LV configuration, tip handling, DNA addition, heat shock, and SOC recovery on the thermocycler. It fails strict fidelity because of an invented mixing step and a non-paper lid temperature of 42 C.", "level": "hard", "score": 0.75, "weights": { @@ -119,8 +132,8 @@ "soc_recovery": 0.0833 }, "provider": "openrouter", - "votes": 1, - "failed_votes": 2 + "votes": 3, + "failed_votes": 0 }, "critical_failures": [], "rewards": { diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation-hard/trial.json index b362b40..f884963 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation-hard/trial.json @@ -40,5 +40,6 @@ "rubric_dna_addition": 1.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 1.0 - } + }, + "cache_tokens": 161938 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation/trial.json index feeb2a3..6404fd1 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/ecoli-heat-shock-transformation/trial.json @@ -40,5 +40,6 @@ "rubric_dna_addition": 1.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 1.0 - } + }, + "cache_tokens": 68100 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/golden-gate-assembly-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/golden-gate-assembly-hard/trial.json index 2602685..5b98f48 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/golden-gate-assembly-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/golden-gate-assembly-hard/trial.json @@ -42,5 +42,6 @@ "rubric_dpni_and_cleanup": 1.0, "rubric_assembly_mix": 1.0, "rubric_cycling_and_transformation": 1.0 - } + }, + "cache_tokens": 168165 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/golden-gate-assembly/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/golden-gate-assembly/trial.json index 034fd3e..e3d8c2e 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/golden-gate-assembly/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/golden-gate-assembly/trial.json @@ -42,5 +42,6 @@ "rubric_dpni_and_cleanup": 1.0, "rubric_assembly_mix": 1.0, "rubric_cycling_and_transformation": 1.0 - } + }, + "cache_tokens": 119963 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/grader.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/grader.json index e21f8bd..8f27819 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/grader.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/grader.json @@ -118,7 +118,7 @@ { "id": "robot_practice", "score": 1, - "evidence": "apiLevel 2.13; all volumes within p300 multi (40, 125, ~167, 180, 100) and p1000 (250, mix 400) ranges; wells under capacity; reservoir columns within 15 mL per check; simulator passed.", + "evidence": "apiLevel 2.13; p1000 handles 250 uL and mix 400, p300 multi handles volumes \u2264200 uL via chunks (180 uL for 540 uL, 167 uL for 500 uL); wells stay under 2.4 mL and reservoir columns within 15 mL (check passed); 34 tip columns fit in the 36 available.", "votes": [ 1, 1, @@ -128,7 +128,7 @@ { "id": "tips_and_contamination", "score": 1, - "evidence": "Check fresh_tip_per_sample_no_cross_contact passed (48 distinct tips); every pick_up_tip is followed by drop_tip; reagent dispensed at col.top without touching sample liquid; fresh tips for removal, elution and recovery.", + "evidence": "Every pipetting action has a tip and every tip is dropped; check 'fresh_tip_per_sample_no_cross_contact' passed with 48 distinct tips; removals and elution recovery use a fresh tip per column; shared reagent tips only dispense at well top(-2) before sample contact.", "votes": [ 1, 1, @@ -137,18 +137,18 @@ }, { "id": "fidelity_to_paper", - "score": 0, - "evidence": "Recovers 100 \u00b5L (p300m.aspirate(ELUTION_VOL...) in recovery loop) rather than ~80 \u00b5L, aspirating the full eluate near beads at 0.8 mm; also adds unspecified bead premix and elution mixing, so it is not fully faithful.", + "score": 1, + "evidence": "Order and numbers match the paper: 40 uL beads, 250 uL IPA, 250 uL sample, mix 5x, 5 min, magnet 4 min, two 500 uL ethanol washes, 4 min dry, elute 100 uL, 30 s, magnet 90 s, recover; metadata citation is accurate and all 17 checks passed.", "votes": [ - 0, - 0, - 0 + 1, + 1, + 1 ] }, { "id": "sample_handling", "score": 1, - "evidence": "Check 48_samples_to_odd_columns passed; sources zip to sample_wells built from odd columns 1,3,5,7,9,11; each sample maps to its own well and elution well.", + "evidence": "Checks '48_samples_to_odd_columns' and 'distinct_elution_wells' passed; sources rack1+rack2 map one-to-one onto odd-column wells with a fresh p1000 tip each.", "votes": [ 1, 1, @@ -158,7 +158,7 @@ { "id": "binding_and_separation", "score": 1, - "evidence": "Beads 40, IPA 2x125, sample 250 with p1000.mix(5,...), delay 5 min, mag.engage + 4 min delay, remove 540 \u00b5L to waste; checks binding_volumes, mix_5x, incubation, magnet_4min all passed.", + "evidence": "Checks binding_volumes_40_250_250, mix_5x_after_sample, incubation_5min_before_magnet, magnet_4min_before_first_removal all passed; mag.engage() then 4 min delay then remove_liquid(540) to waste.", "votes": [ 1, 1, @@ -168,7 +168,7 @@ { "id": "washes_and_drying", "score": 1, - "evidence": "Two 500 \u00b5L ethanol washes each removed via remove_liquid with magnet engaged, then 4 min delay and mag.disengage() before elution; checks two_500ul_ethanol_washes and air_dry_4min passed.", + "evidence": "Checks two_500ul_ethanol_washes, magnet_engaged_for_all_removals and air_dry_4min passed; magnet stays engaged through both washes and the 4 min delay, then mag.disengage() before elution.", "votes": [ 1, 1, @@ -177,28 +177,28 @@ }, { "id": "elution_recovery", - "score": 0, - "evidence": "Elution 100 \u00b5L off-magnet with mix, 30 s, magnet 90 s are correct, but recovery aspirates and dispenses ELUTION_VOL=100 \u00b5L rather than about 80 \u00b5L.", + "score": 1, + "evidence": "Checks elution_100ul, elution_off_magnet_then_90s_on, recover_70_100ul_one_well_each and elution_plate_4C_before_recovery passed; 100 uL recovered to its own well of the elution plate.", "votes": [ - 0, - 0, - 0 + 1, + 1, + 1 ] } ], "scores": { "robot_practice": 1.0, "tips_and_contamination": 1.0, - "fidelity_to_paper": 0.0, + "fidelity_to_paper": 1.0, "sample_handling": 1.0, "binding_and_separation": 1.0, "washes_and_drying": 1.0, - "elution_recovery": 0.0 + "elution_recovery": 1.0 }, - "summary": "The protocol follows the binding, wash, dry and elution sequence with correct volumes, timings, magnet use and per-sample tips, and every simulator check passed. It recovers the full 100 \u00b5L eluate instead of about 80 \u00b5L, so elution_recovery and fidelity_to_paper score 0.", - "raw": "[{\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13; all volumes within p300 multi (40, 125, ~167, 180, 100) and p1000 (250, mix 400) ranges; wells under capacity; reservoir columns within 15 mL per check; simulator passed.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check fresh_tip_per_sample_no_cross_contact passed (48 distinct tips); every pick_up_tip is followed by drop_tip; reagent dispensed at col.top without touching sample liquid; fresh tips for removal, elution and recovery.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"Recovers 100 \\u00b5L (p300m.aspirate(ELUTION_VOL...) in recovery loop) rather than ~80 \\u00b5L, aspirating the full eluate near beads at 0.8 mm; also adds unspecified bead premix and elution mixing, so it is not fully faithful.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed; sources zip to sample_wells built from odd columns 1,3,5,7,9,11; each sample maps to its own well and elution well.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40, IPA 2x125, sample 250 with p1000.mix(5,...), delay 5 min, mag.engage + 4 min delay, remove 540 \\u00b5L to waste; checks binding_volumes, mix_5x, incubation, magnet_4min all passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes each removed via remove_liquid with magnet engaged, then 4 min delay and mag.disengage() before elution; checks two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"Elution 100 \\u00b5L off-magnet with mix, 30 s, magnet 90 s are correct, but recovery aspirates and dispenses ELUTION_VOL=100 \\u00b5L rather than about 80 \\u00b5L.\"}], \"summary\": \"The protocol follows the binding, wash, dry and elution sequence with correct volumes, timings, magnet use and per-sample tips, and every simulator check passed. It recovers the full 100 \\u00b5L eluate instead of about 80 \\u00b5L, so elution_recovery and fidelity_to_paper score 0.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13; all volumes within pipette ranges (40/180/167/100 \\u00b5L on p300 multi, 250 \\u00b5L on p1000); waste wells max 1540 \\u00b5L of 2400, reservoir draws within the 15 mL checks; simulator passed.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check fresh_tip_per_sample passed with 48 distinct tips; every pick_up_tip is followed by drop_tip; shared tips for beads/IPA/ethanol dispense only into empty wells or at the well top and do not touch samples.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"Recovery step aspirates 100 \\u00b5L (ELUTION_VOL) from the 100 \\u00b5L elution well instead of the paper's 80 \\u00b5L, so the protocol deviates from the paper.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed; 48 tubes to 48 distinct wells in columns 1,3,5,7,9,11, each recovered to a distinct elution well.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40, IPA 250, sample 250 in order, p1000.mix(5, 400), 5 min delay, mag.engage then 4 min delay, then 540 \\u00b5L removed to waste; checks binding_volumes, mix_5x, incubation, magnet_4min passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes each removed with magnet engaged (checks two_500ul_ethanol_washes, magnet_engaged_for_all_removals), 4 min delay, then mag.disengage() before elution.\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"Elution of 100 \\u00b5L is added off-magnet and mixed, with a 30 s wait and a 90 s magnet delay, but the recovery aspirates and dispenses 100 \\u00b5L rather than about 80 \\u00b5L.\"}], \"summary\": \"The protocol passes all 17 run-log checks, and its binding, wash, drying and tip handling are sound. It recovers 100 \\u00b5L of eluate where the paper calls for about 80 \\u00b5L, so elution_recovery and fidelity_to_paper fail.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13, all volumes within pipette ranges (p1000 250/400 \\u00b5L, p300 multi \\u2264180 \\u00b5L chunks), reservoir columns \\u226412 mL and waste wells \\u22641.54 mL; modules used correctly and simulator passed.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Fresh p1000 tip per sample (check: 48 distinct tips, no violations), fresh multi tip per column for supernatant removal and elution recovery, reagent-only tips dispense at well tops, and every tip is dropped.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"Recovers 100 \\u00b5L (`ELUTION_VOL`) of eluate rather than about 80 \\u00b5L, which risks bead carryover and departs from the intended recovery; this is a deviation, so the all-or-nothing item fails.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed; sources = rack1.wells()+rack2.wells() map to odd-column wells of the sample plate, one per well, with distinct elution wells.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40, then isopropanol 250, then sample 250 with mix(5,400), delay 5 min, mag.engage + 4 min delay, then 540 \\u00b5L removed to waste with the magnet on; all checks passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes, each removed with new tips while engaged, then a 4 min delay and mag.disengage() before elution; checks two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"100 \\u00b5L elution is added off magnet, mixed, and a 90 s magnet delay follows, but the code aspirates 100 \\u00b5L for recovery instead of about 80 \\u00b5L, so it risks bead carryover.\"}], \"summary\": \"The protocol follows the paper's step order closely, passes all 17 run-log checks, and handles tips and volumes soundly. It recovers 100 \\u00b5L of eluate instead of about 80 \\u00b5L, which fails elution_recovery and the all-or-nothing fidelity item.\"}]", + "summary": "The protocol passed all 17 measured run-log checks, and the code matches the paper's steps, volumes, timings and tip handling. I found no deviation or unsafe practice, so every item scores 1.", + "raw": "[{\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13; p1000 handles 250 uL and mix 400, p300 multi handles volumes \\u2264200 uL via chunks (180 uL for 540 uL, 167 uL for 500 uL); wells stay under 2.4 mL and reservoir columns within 15 mL (check passed); 34 tip columns fit in the 36 available.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Every pipetting action has a tip and every tip is dropped; check 'fresh_tip_per_sample_no_cross_contact' passed with 48 distinct tips; removals and elution recovery use a fresh tip per column; shared reagent tips only dispense at well top(-2) before sample contact.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 1, \"evidence\": \"Order and numbers match the paper: 40 uL beads, 250 uL IPA, 250 uL sample, mix 5x, 5 min, magnet 4 min, two 500 uL ethanol washes, 4 min dry, elute 100 uL, 30 s, magnet 90 s, recover; metadata citation is accurate and all 17 checks passed.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Checks '48_samples_to_odd_columns' and 'distinct_elution_wells' passed; sources rack1+rack2 map one-to-one onto odd-column wells with a fresh p1000 tip each.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Checks binding_volumes_40_250_250, mix_5x_after_sample, incubation_5min_before_magnet, magnet_4min_before_first_removal all passed; mag.engage() then 4 min delay then remove_liquid(540) to waste.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Checks two_500ul_ethanol_washes, magnet_engaged_for_all_removals and air_dry_4min passed; magnet stays engaged through both washes and the 4 min delay, then mag.disengage() before elution.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"Checks elution_100ul, elution_off_magnet_then_90s_on, recover_70_100ul_one_well_each and elution_plate_4C_before_recovery passed; 100 uL recovered to its own well of the elution plate.\"}], \"summary\": \"The protocol passed all 17 measured run-log checks, and the code matches the paper's steps, volumes, timings and tip handling. I found no deviation or unsafe practice, so every item scores 1.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13; all volumes in range (40 \\u00b5L and 166.7 \\u00b5L on the p300 multi, 250 \\u00b5L and 400 \\u00b5L mix on the p1000); the 540 \\u00b5L well load fits the deep well; reservoir columns stay within 15 mL (check passed); magnet and temperature module used correctly.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"The check 'fresh_tip_per_sample_no_cross_contact' passed with 48 distinct tips; the p1000 gets a new tip per sample; the multi uses a new tip per column for every removal and elution; reagent dispenses at top(-2) share one tip; every step ends in drop_tip.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 1, \"evidence\": \"The step order, volumes (40/250/250), 5\\u00d7 mix, 5 min incubation, 4 min magnet, two 500 \\u00b5L ethanol washes, 4 min dry, 100 \\u00b5L elution, 30 s off-magnet then 90 s on-magnet, recovery at 4 \\u00b0C and the citation all match the paper; all 17 checks passed.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"The checks '48_samples_to_odd_columns' and 'distinct_elution_wells' passed; sources rack1+rack2 map one-to-one onto odd-column wells, 250 \\u00b5L each, with one distinct elution well per sample.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"The code adds beads, then isopropanol, then sample, with mix(5,400); then delay(5 min), mag.engage(), delay(4 min) and remove_liquid(540) to waste; the checks binding_volumes_40_250_250, mix_5x, incubation and magnet_4min all passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"The loop runs two 500 \\u00b5L ethanol washes, each followed by remove_liquid(500) with the magnet engaged; then delay(4 min) and mag.disengage(); the checks two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"100 \\u00b5L elution is added with the magnet off and mixed 5\\u00d7; the code then waits 30 s, engages the magnet and waits 90 s, then aspirates 100 \\u00b5L into a distinct well of the 4 \\u00b0C elution plate; the checks elution_100ul, elution_off_magnet_then_90s_on and recover_70_100ul passed.\"}], \"summary\": \"The protocol passed the simulator and all 17 measured run-log checks. I found no deviation from the paper, no tip-handling fault and no unsafe practice, so every item scores 1.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13; volumes are split into \\u2264200 \\u00b5L chunks for the p300 multi, p1000 handles 250 \\u00b5L, waste wells peak around 1.5 mL (limit 2.4 mL), and reservoir columns stay under 15 mL (check passed).\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"The check 'fresh_tip_per_sample_no_cross_contact' passed with 48 distinct tips. Every pick_up_tip is followed by a drop_tip. Shared tips are used only for reagent dispensing into empty or top-dispensed wells, and the removal and elution steps use a fresh tip per column.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 1, \"evidence\": \"All 17 run-log checks passed, and the order and volumes match the paper (40 beads, 250 IPA, 250 sample, 5 min, 4 min magnet, 2\\u00d7500 EtOH, 4 min dry, 100 elution, 30 s, 90 s, recovery). The elution mixing and bead pre-mix are small sensible additions.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Checks '48_samples_to_odd_columns' and 'distinct_elution_wells' passed. The code zips 48 tube wells to sample_wells in odd columns and maps each column to its own elution column.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads, then isopropanol, then sample are added in that order, followed by p1000.mix(5, 400), a 5 min delay, mag.engage() with a 4 min delay, and removal of 540 \\u00b5L to waste with the magnet on. Checks binding_volumes, mix_5x, incubation_5min and magnet_4min passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"The code runs two 500 \\u00b5L ethanol washes, each removed with the magnet engaged, then delays 4 min and calls mag.disengage() before elution. Checks two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"Elution buffer (100 \\u00b5L) is added with the magnet off and mixed, followed by a 30 s wait, engage, and a 90 s wait. The full 100 \\u00b5L is then recovered to its own elution well; checks elution_100ul, elution_off_magnet_then_90s_on, recover_70_100ul and elution_plate_4C passed.\"}], \"summary\": \"The protocol passed all 17 measured run-log checks and matches the paper's step order, volumes and timings. Tips are handled safely, and the only additions are minor mixing steps.\"}]", "level": "hard", - "score": 0.6875, + "score": 1.0, "weights": { "robot_practice": 0.25, "tips_and_contamination": 0.25, @@ -214,10 +214,10 @@ "failed_votes": 0 }, "rewards": { - "reward": 0.6875, + "reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, - "judge_score": 0.6875, + "judge_score": 1.0, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, @@ -225,10 +225,10 @@ "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, - "rubric_fidelity_to_paper": 0.0, + "rubric_fidelity_to_paper": 1.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, - "rubric_elution_recovery": 0.0 + "rubric_elution_recovery": 1.0 } } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/reward.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/reward.json index a1137c3..e89735e 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/reward.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/reward.json @@ -1 +1 @@ -{"reward": 0.6875, "sim_pass": 1.0, "checks_frac": 1.0, "judge_score": 0.6875, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, "critical_fail": 0.0, "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 0.0} +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "judge_score": 1.0, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, "critical_fail": 0.0, "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 1.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 1.0} diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/trial.json index a3d31a4..c64a421 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction-hard/trial.json @@ -4,10 +4,10 @@ "agent": "claude-code", "via": "openrouter", "rewards": { - "reward": 0.6875, + "reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, - "judge_score": 0.6875, + "judge_score": 1.0, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, @@ -15,11 +15,11 @@ "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, - "rubric_fidelity_to_paper": 0.0, + "rubric_fidelity_to_paper": 1.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, - "rubric_elution_recovery": 0.0 + "rubric_elution_recovery": 1.0 }, "exception": null, "cost_usd": 0.19319340000000002, @@ -44,5 +44,6 @@ "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 0.0 - } + }, + "cache_tokens": 199517 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction/trial.json index 88714e4..daae0da 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/opentrons-rna-extraction/trial.json @@ -44,5 +44,6 @@ "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 1.0 - } + }, + "cache_tokens": 115640 } diff --git a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/split-200ul-two-wells/trial.json b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/split-200ul-two-wells/trial.json index 10f450c..1baa449 100644 --- a/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/split-200ul-two-wells/trial.json +++ b/results/runs/2026-10-07-openrouter/claude-sonnet-5.5/split-200ul-two-wells/trial.json @@ -38,5 +38,6 @@ "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0 - } + }, + "cache_tokens": 67707 } diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/grader.json new file mode 100644 index 0000000..9fa785b --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/grader.json @@ -0,0 +1,137 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 27 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.15 is valid, 100 \u00b5L goes through the p300, and the simulator ran with no errors.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "transfer uses new_tip='once' and the checks tip_before_aspirate, tip_dropped_at_end and no_cross_contamination all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "The single step is done as specified: 100 \u00b5L from reservoir A1 to plate A1\u2013A12 with correct labels and slots, and no extra steps were added.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "deck_and_hardware", + "score": 1, + "evidence": "The reservoir (slot 1) and plate (slot 2) are loaded with the right labels. The p20 (left) and p300 (right) are loaded with tip racks in slots 10 and 11.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "volumes_and_wells", + "score": 1, + "evidence": "p300.transfer(100, reservoir['A1'], plate.rows()[0]) covers exactly A1\u2013A12, and the end_state:plate check passed.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "deck_and_hardware": 1.0, + "volumes_and_wells": 1.0 + }, + "summary": "The protocol transfers 100 \u00b5L from reservoir A1 to plate wells A1\u2013A12 with the p300 and one tip, which matches the task. All measured checks passed and I found no deviations.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "deck_and_hardware": 0.125, + "volumes_and_wells": 0.125 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/protocol.py new file mode 100644 index 0000000..2961c1b --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/protocol.py @@ -0,0 +1,32 @@ +from opentrons import protocol_api + +# Metadata +metadata = { + 'apiLevel': '2.15', + 'protocolName': '100uL reservoir to plate A1-A12', + 'description': 'Transfer 100 uL from a 1-well reservoir to wells A1:A12 of a 96-well plate.', +} + +def run(protocol: protocol_api.ProtocolContext): + # Labware + reservoir = protocol.load_labware('nest_1_reservoir_195ml', 1, label='reservoir') + plate = protocol.load_labware('corning_96_wellplate_360ul_flat', 2, label='plate') + + # Pipettes + p20 = protocol.load_instrument('p20_single_gen2', 'left', tip_racks=[]) + p300 = protocol.load_instrument('p300_single_gen2', 'right', tip_racks=[]) + + tiprack_20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tiprack_300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + p20.tip_racks = [tiprack_20] + p300.tip_racks = [tiprack_300] + + # 100 uL is within p300 range (20-300 uL), so use p300. + p300.reset_tipracks() + p300.transfer( + 100, + reservoir['A1'], + plate.rows()[0], # A1:A12 + new_tip='once', + ) \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/reward.json new file mode 100644 index 0000000..5b16841 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/trial.json new file mode 100644 index 0000000..151fe97 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/a1-a12-100ul/trial.json @@ -0,0 +1,35 @@ +{ + "task": "a1-a12-100ul", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + }, + "exception": null, + "cost_usd": 0.03586, + "input_tokens": 67222, + "output_tokens": 983, + "started_at": "2026-10-07T18:21:21.691039Z", + "finished_at": "2026-10-07T18:24:24.758790Z", + "original_rewards": { + "reward": 0.0, + "sim_pass": 0.0, + "checks_frac": 0.0, + "lint_violations": 2.0 + }, + "cache_tokens": 16384, + "claude_code_cost_usd": 0.28695699999999996 +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/grader.json new file mode 100644 index 0000000..a67deb1 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/grader.json @@ -0,0 +1,170 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 6164 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": false, + "detail": "[(23, 'A1'), (24, 'B1'), (25, 'B1')]" + }, + { + "name": "end_state:sample_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:elution_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13 is valid. All volumes (40, 50, 90, 200, 45 \u00b5L) go through the p300, and no well exceeds its capacity. The simulation passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 0, + "evidence": "Steps 1, 11 and 13 use new_tip='once' with mix_after or a sample-to-sample transfer, so one tip touches many samples. It also returns to the bead and water stocks after mixing in samples. The no_cross_contamination check failed.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "fidelity_to_task", + "score": 0, + "evidence": "Shared tips across samples in steps 1, 11 and 13 cross-contaminate. The elution mix volume was changed to 30 \u00b5L. The protocol is therefore not fully faithful.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "binding", + "score": 1, + "evidence": "p300.transfer(40, beads_reservoir['A1'], wells, mix_after=(10, 40)) is followed by a comment recording the 5 min incubation before the magnet comment.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "supernatant_and_washes", + "score": 1, + "evidence": "The code comments that the magnet is engaged with a 5 min wait. A loop then aspirates 90 \u00b5L from every well to waste with a fresh tip each. Two 200 \u00b5L ethanol additions follow, and each is removed fully to waste.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "drying_and_elution", + "score": 1, + "evidence": "Comments record the 5 min air dry, the magnet disengaging, the 2 min incubation and the magnet re-engaging. 50 \u00b5L water is added with mix_after=(10, 30).", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "recovery", + "score": 1, + "evidence": "p300.transfer(45, wells, elution_plate.wells()) pairs each sample well with the matching elution well in order, so sample identity is preserved.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 0.0, + "fidelity_to_task": 0.0, + "binding": 1.0, + "supernatant_and_washes": 1.0, + "drying_and_elution": 1.0, + "recovery": 1.0 + }, + "summary": "The protocol follows the right order and quantities, and its supernatant, wash, drying, elution and recovery steps are correct. However, steps 1, 11 and 13 reuse one tip across many sample wells (new_tip='once') and the contamination check failed. The elution mix volume was also changed to 30 \u00b5L, so tips_and_contamination and fidelity_to_task score 0.", + "level": "easy", + "score": 0.5, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "binding": 0.0625, + "supernatant_and_washes": 0.0625, + "drying_and_elution": 0.0625, + "recovery": 0.0625 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [ + "no_cross_contamination" + ], + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.875, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.25, + "judge_score": 0.5, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_task": 0.0, + "rubric_binding": 1.0, + "rubric_supernatant_and_washes": 1.0, + "rubric_drying_and_elution": 1.0, + "rubric_recovery": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/protocol.py new file mode 100644 index 0000000..5525803 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/protocol.py @@ -0,0 +1,108 @@ +from opentrons import protocol_api + +# metadata +metadata = { + 'protocolName': 'AMPure XP Bead Cleanup of PCR Products', + 'author': 'Claude', + 'description': '0.8x AMPure XP magnetic bead cleanup of 50 uL PCR products.', + 'apiLevel': '2.13', +} + + +def run(protocol: protocol_api.ProtocolContext): + # load labware with labels as specified + sample_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='sample_plate') + beads_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 2, label='beads_reservoir') + ethanol_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='ethanol_reservoir') + water_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 4, label='water_reservoir') + waste = protocol.load_labware( + 'nest_1_reservoir_195ml', 5, label='waste') + elution_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 6, label='elution_plate') + + # load pipettes + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', + tip_racks=[protocol.load_labware('opentrons_96_tiprack_20ul', 10)]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', + tip_racks=[protocol.load_labware('opentrons_96_tiprack_300ul', 11)]) + + wells = sample_plate.wells() # A1..H12 in row-major order + + # Step 1: add 40 uL beads to each sample well, mix 10x + p300.transfer( + 40, beads_reservoir['A1'], wells, + mix_after=(10, 40), new_tip='once') + + p300.reset_tipracks() + + # Step 2: incubate (not simulated) + protocol.comment('Incubate sample_plate 5 min at room temperature ' + '(beads bind DNA)') + + # Step 3: engage magnet (not simulated) + protocol.comment('Engage magnetic module; wait 5 min until solution clears') + + # Step 4: transfer 90 ul supernatant to waste + # pick up a fresh tip and aspirate the full 90 uL from each well + for well in wells: + p300.pick_up_tip() + p300.aspirate(90, well) + p300.dispense(90, waste['A1']) + p300.drop_tip() + + p300.reset_tipracks() + + # Step 5: wash 1 - add 200 uL ethanol + p300.transfer( + 200, ethanol_reservoir['A1'], wells, new_tip='once') + + # Step 6: remove ethanol waste 1 (200 uL) to waste + p300.reset_tipracks() + for well in wells: + p300.pick_up_tip() + p300.aspirate(200, well) + p300.dispense(200, waste['A1']) + p300.drop_tip() + + p300.reset_tipracks() + + # Step 7: wash 2 - add 200 uL ethanol + p300.transfer( + 200, ethanol_reservoir['A1'], wells, new_tip='once') + + # Step 8: remove ethanol waste 2 (200 uL) to waste + p300.reset_tipracks() + for well in wells: + p300.pick_up_tip() + p300.aspirate(200, well) + p300.dispense(200, waste['A1']) + p300.drop_tip() + + p300.reset_tipracks() + + # Step 9: air dry (not simulated) + protocol.comment('Air dry beads 5 min at room temperature (magnet ' + 'engaged); beads should appear matte not shiny') + + # Step 10: disengage magnet (not simulated) + protocol.comment('Disengage magnetic module') + + # Step 11: elute in 50 uL water, mix 10x + p300.reset_tipracks() + p300.transfer( + 50, water_reservoir['A1'], wells, + mix_after=(10, 30), new_tip='once') + + # Step 12: incubate + re-engage (not simulated) + protocol.comment('Incubate sample_plate 2 min at room temperature; ' + 'then re-engage magnetic module 5 min') + + # Step 13: transfer 45 uL cleaned DNA to elution plate + p300.transfer( + 45, wells, elution_plate.wells(), new_tip='once') \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/reward.json new file mode 100644 index 0000000..a44f7d4 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/reward.json @@ -0,0 +1 @@ +{"reward": 0.3, "sim_pass": 1.0, "checks_frac": 0.875, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.25, "judge_score": 0.5, "critical_fail": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 0.0, "rubric_fidelity_to_task": 0.0, "rubric_binding": 1.0, "rubric_supernatant_and_washes": 1.0, "rubric_drying_and_elution": 1.0, "rubric_recovery": 1.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/trial.json new file mode 100644 index 0000000..12c2f99 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ampure-bead-cleanup/trial.json @@ -0,0 +1,31 @@ +{ + "task": "ampure-bead-cleanup", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.875, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.25, + "judge_score": 0.5, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_task": 0.0, + "rubric_binding": 1.0, + "rubric_supernatant_and_washes": 1.0, + "rubric_drying_and_elution": 1.0, + "rubric_recovery": 1.0 + }, + "exception": null, + "cost_usd": 0.210032, + "input_tokens": 334125, + "output_tokens": 6910, + "started_at": "2026-10-07T18:21:21.738895Z", + "finished_at": "2026-10-07T18:26:53.430691Z", + "cache_tokens": 37888, + "claude_code_cost_usd": 1.672879 +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/grader.json new file mode 100644 index 0000000..17d43d6 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/grader.json @@ -0,0 +1,162 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1832 + }, + "not_applicable": [ + "end_state:pcr_plate (the source paper does not determine the exact volumes; composition checked instead)" + ], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:colony_plate", + "pass": true, + "detail": "" + }, + { + "name": "composition:pcr_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.15 with metadata; all volumes (5, 4, 1 \u00b5L, 3\u00d75 \u00b5L mix) are handled by the p20 within its 1\u201320 \u00b5L range, the 10 \u00b5L reactions fit the wells, and the labware is used as intended.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Every transfer uses its own pick_up_tip and drop_tip inside the loops. The tip_before_aspirate, tip_dropped_at_end and no_cross_contamination checks all pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_paper", + "score": 1, + "evidence": "The 10 \u00b5L reaction (5 \u00b5L 2x master mix, 4 \u00b5L primer pair, 1 \u00b5L template) follows the paper's OT-2 workflow. The Q5 cycling comment (98 \u00b0C 30 s; 30 cycles of 98/60/72; 72 \u00b0C 2 min; 4 \u00b0C hold) and the seal step are recorded, and the citation is accurate.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "reaction_setup", + "score": 1, + "evidence": "Master mix goes into each well first, then the primer pair, then 1 \u00b5L template. The 5 \u00b5L of 2x master mix in a 10 \u00b5L total gives 1x.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "sample_mapping", + "score": 1, + "evidence": "The code zips primer_wells and colony_wells to pcr_wells (A1\u2192A1 through H12\u2192H12), so all 96 wells are used once each.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "thermocycling", + "score": 1, + "evidence": "Comments record plate sealing and the Q5 program: 98 \u00b0C 30 s, 30 cycles of 98 \u00b0C 10 s, 60 \u00b0C 20 s and 72 \u00b0C 30 s, a 72 \u00b0C 2 min final extension, and a 4 \u00b0C hold.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_paper": 1.0, + "reaction_setup": 1.0, + "sample_mapping": 1.0, + "thermocycling": 1.0 + }, + "summary": "The protocol builds 10 \u00b5L reactions in the order master mix, primer pair, template, with a fresh tip each time. Well mapping is 1:1 across all 96 wells. A Q5 cycling program is recorded as comments, and all the measured checks pass.", + "level": "hard", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "reaction_setup": 0.0833, + "sample_mapping": 0.0833, + "thermocycling": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 1.0, + "rubric_reaction_setup": 1.0, + "rubric_sample_mapping": 1.0, + "rubric_thermocycling": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/protocol.py new file mode 100644 index 0000000..db05d8e --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/protocol.py @@ -0,0 +1,115 @@ +from opentrons import protocol_api + +metadata = { + 'protocolName': 'Colony PCR screening on the OT-2 (Slowpoke)', + 'author': 'Adapted from Slowpoke (ACS Synth. Biol., doi:10.1021/acssynbio.5c00629, CC BY)', + 'description': 'Set up 96 colony PCR reactions: distribute Q5 Hot Start 2x master mix, ' + 'add a per-colony primer pair, then add colony template.', + 'apiLevel': '2.15', +} + +# --------------------------------------------------------------------------- +# Reaction setup, adapted from the paper (Methods 2.5, "Automated Colony PCR"). +# +# The paper's OT-2 workflow first prepares a single master mix containing water, +# colony PCR primers and 2x PCR master mix, dispenses 9 uL of it into each tube, +# then adds 1 uL of colony template => 10 uL total reaction. +# +# On this deck the reagents are instead provided separately (a Q5 Hot Start 2x +# master mix in the reservoir, and a SEPARATE primer pair per colony in the +# primer plate), and there is no water reservoir. We therefore build each 10 uL +# reaction directly in the PCR plate as: +# +# 5 uL Q5 Hot Start 2x master mix (=> 1x final) +# 4 uL primer pair (forward + reverse) +# 1 uL colony template +# +# The 4 uL primer pair takes the place of the paper's "water + primers": with the +# primer pairs pre-diluted to 1.25 uM each, 4 uL in a 10 uL reaction gives the +# 0.5 uM final primer concentration recommended for Q5. If a different primer +# stock is used, re-dilute primer_plate before the run — the pipetting volumes +# below stay the same. +# --------------------------------------------------------------------------- + +MM_VOL = 5.0 # uL Q5 Hot Start 2x master mix per well +PRIMER_VOL = 4.0 # uL primer pair per well +TEMPLATE_VOL = 1.0 # uL colony template per well + + +def run(protocol: protocol_api.ProtocolContext): + # --- Labware (labels are fixed by the operator's deck layout) ------------- + colony_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='colony_plate') + pcr_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 2, label='pcr_plate') + master_mix_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='master_mix_reservoir') + primer_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 4, label='primer_plate') + + tips20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + # --- Pipettes -------------------------------------------------------------- + # All volumes here are <= 5 uL, within the p20's 1-20 uL range, so the p20 + # does all the work. The p300 is loaded as specified but stays unused. + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips300]) + + mm_source = master_mix_reservoir.wells()[0] + pcr_wells = pcr_plate.wells() # 96 wells, A1 -> H12 + colony_wells = colony_plate.wells() + primer_wells = primer_plate.wells() + + # --- 1. Distribute Q5 Hot Start 2x master mix (5 uL / well) ---------------- + # 96 wells x 5 uL = 480 uL, well within the reservoir's supply. + for well in pcr_wells: + p20.pick_up_tip() + p20.aspirate(MM_VOL, mm_source) + p20.dispense(MM_VOL, well) + p20.drop_tip() + + # Tip rack (96 tips) is exhausted -> "refill" it per the unlimited-tips setup. + p20.reset_tipracks() + + # --- 2. Add each colony's own primer pair (4 uL / well) --------------------- + # Positional 1:1 mapping: colony_plate A1 uses primer_plate A1, and so on. + for src, dst in zip(primer_wells, pcr_wells): + p20.pick_up_tip() + p20.aspirate(PRIMER_VOL, src) + p20.dispense(PRIMER_VOL, dst) + p20.drop_tip() + + p20.reset_tipracks() + + # --- 3. Add colony template (1 uL / well) ----------------------------------- + # Source well -> destination well is positional 1:1 (colony_plate A1 -> pcr_plate A1). + # Each source is mixed briefly first so any settled cells are resuspended. + for src, dst in zip(colony_wells, pcr_wells): + p20.pick_up_tip() + p20.mix(3, 5.0, src) + p20.aspirate(TEMPLATE_VOL, src) + p20.dispense(TEMPLATE_VOL, dst) + p20.drop_tip() + + # --- Off-deck steps the robot cannot perform -------------------------------- + protocol.comment( + 'All 96 reactions are set up (10 uL each). The robot is finished; ' + 'the remaining steps are manual:' + ) + protocol.comment( + '1. Seal the PCR plate with an adhesive/heat-seal film.' + ) + protocol.comment( + '2. Thermocycle off-deck using the NEB Q5 Hot Start protocol ' + '(adjust annealing temp and extension time to primer Tm and amplicon ' + 'size):' + ) + protocol.comment(' - Initial denaturation: 98 C for 30 s') + protocol.comment(' - 30 cycles: 98 C for 10 s; 60 C for 20 s (anneal); ' + '72 C for 30 s (extension, ~20-30 s/kb)') + protocol.comment(' - Final extension: 72 C for 2 min') + protocol.comment(' - Hold: 4 C') + protocol.comment('3. Run products on a gel to score positive colonies.') \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/reward.json new file mode 100644 index 0000000..6524a91 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 1.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/trial.json new file mode 100644 index 0000000..29f5864 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening-hard/trial.json @@ -0,0 +1,46 @@ +{ + "task": "colony-pcr-screening-hard", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 1.0, + "rubric_reaction_setup": 1.0, + "rubric_sample_mapping": 1.0, + "rubric_thermocycling": 1.0 + }, + "exception": null, + "cost_usd": 0.192261, + "input_tokens": 256420, + "output_tokens": 11628, + "started_at": "2026-10-07T18:21:21.672085Z", + "finished_at": "2026-10-07T18:27:57.576525Z", + "original_rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.875, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.25, + "judge_score": 0.5, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_reaction_setup": 1.0, + "rubric_sample_mapping": 1.0, + "rubric_thermocycling": 1.0 + }, + "cache_tokens": 0, + "claude_code_cost_usd": 1.5728 +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/grader.json new file mode 100644 index 0000000..45db169 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/grader.json @@ -0,0 +1,160 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1638 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:colony_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.15 is valid, all volumes (18, 1, mix 10 \u00b5L) are within the p20 range, and the labware matches the fixed deck; the checks for overdispense and empty-well aspiration passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "The measured checks tip_before_aspirate, tip_dropped_at_end and no_cross_contamination passed; steps 2 and 3 use new_tip='always' and step 1 uses one tip for master mix only.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "All steps are in order with the right volumes: 18 \u00b5L, then 1 \u00b5L colony with mix_after=(3,10), then 1 \u00b5L primer, then the seal and thermocycle comment. The mix volume was left open, and the end-state checks passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "master_mix", + "score": 1, + "evidence": "p20.transfer(18, master_mix_reservoir['A1'], pcr_wells, new_tip='once') covers all 96 wells, and the pcr_plate end_state check passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "template_and_primers", + "score": 1, + "evidence": "The p20 transfers 1 \u00b5L from colony_wells and then 1 \u00b5L from primer_wells into the matching pcr_wells in order, with a fresh tip each time, and the end-state checks passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "thermocycling", + "score": 1, + "evidence": "protocol.comment records the seal and the full program: 98\u00b0C 30 s; 30\u00d7 [98\u00b0C 10 s, 60\u00b0C 30 s, 72\u00b0C 30 s]; 72\u00b0C 2 min; hold 4\u00b0C.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "master_mix": 1.0, + "template_and_primers": 1.0, + "thermocycling": 1.0 + }, + "summary": "The protocol simulates cleanly and all measured checks pass. Master mix, template and primer transfers, the 3\u00d7 mix after template, tip handling and the thermocycling comment match the task, so every item scores 1.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "master_mix": 0.0833, + "template_and_primers": 0.0833, + "thermocycling": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_master_mix": 1.0, + "rubric_template_and_primers": 1.0, + "rubric_thermocycling": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/protocol.py new file mode 100644 index 0000000..a2e9c54 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/protocol.py @@ -0,0 +1,68 @@ +"""Colony PCR screening with Q5 Hot Start master mix (OT-2). + +Transfer 18 µL Q5 master mix 2x, then 1 µL colony template, then 1 µL primer +mix into each well of a 96-well PCR plate, then seal and thermocycle. +""" + +from opentrons import protocol_api + +metadata = { + 'apiLevel': '2.15', + 'protocolName': 'Colony PCR screening with Q5 Hot Start master mix', + 'description': 'Distribute Q5 master mix, colony template and primer ' + 'pairs to a 96-well PCR plate, then seal and thermocycle.', +} + + +def run(protocol: protocol_api.ProtocolContext): + # Tip racks + tips20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + # Pipettes + p20 = protocol.load_instrument('p20_single_gen2', 'left', + tip_racks=[tips20]) + p300 = protocol.load_instrument('p300_single_gen2', 'right', + tip_racks=[tips300]) + + # Labware (deck layout is fixed) + colony_plate = protocol.load_labware('corning_96_wellplate_360ul_flat', 1, + label='colony_plate') + pcr_plate = protocol.load_labware('corning_96_wellplate_360ul_flat', 2, + label='pcr_plate') + master_mix_reservoir = protocol.load_labware('nest_1_reservoir_195ml', 3, + label='master_mix_reservoir') + primer_plate = protocol.load_labware('corning_96_wellplate_360ul_flat', 4, + label='primer_plate') + + # All 96 wells in row-major order: A1..A12, B1..B12, ..., H1..H12. + pcr_wells = pcr_plate.wells() + colony_wells = colony_plate.wells() + primer_wells = primer_plate.wells() + + # Step 1: 18 µL Q5 master mix 2x -> every PCR well (single source well). + p20.transfer(18, + master_mix_reservoir['A1'], + pcr_wells, + new_tip='once') + + # Step 2: 1 µL colony template -> every PCR well, mixing 3x after dispense. + # Fresh tip per well to avoid cross-contaminating colonies. + p20.reset_tipracks() + p20.transfer(1, + colony_wells, + pcr_wells, + new_tip='always', + mix_after=(3, 10)) + + # Step 3: 1 µL primer mix -> every PCR well (fresh tip per primer pair). + p20.reset_tipracks() + p20.transfer(1, + primer_wells, + pcr_wells, + new_tip='always') + + # Step 4: sealing and thermocycling (not simulated). + protocol.comment( + 'Seal pcr_plate, thermocycle: 98°C 30 s; ' + '[98°C 10 s, 60°C 30 s, 72°C 30 s] × 30; 72°C 2 min; hold 4°C') \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/reward.json new file mode 100644 index 0000000..12f62ba --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_master_mix": 1.0, "rubric_template_and_primers": 1.0, "rubric_thermocycling": 1.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/trial.json new file mode 100644 index 0000000..917aaf3 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/colony-pcr-screening/trial.json @@ -0,0 +1,30 @@ +{ + "task": "colony-pcr-screening", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_master_mix": 1.0, + "rubric_template_and_primers": 1.0, + "rubric_thermocycling": 1.0 + }, + "exception": null, + "cost_usd": 0.050447, + "input_tokens": 413164, + "output_tokens": 8026, + "started_at": "2026-10-07T18:21:21.747181Z", + "finished_at": "2026-10-07T18:25:49.091064Z", + "cache_tokens": 373248, + "claude_code_cost_usd": 0.5868540000000001 +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/grader.json new file mode 100644 index 0000000..93d9153 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/grader.json @@ -0,0 +1,155 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 134 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plasmid_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:transformation_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.15, p20 used for 1 \u00b5L and p300 for 50 \u00b5L/40 \u00b5L mix, 61 \u00b5L max per well, thermocycler lid opened before pipetting; all measured checks pass.", + "votes": [ + 1, + 1, + 0 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Both transfer() calls use new_tip='always' and the measured tip_before_aspirate, tip_dropped_at_end and no_cross_contamination checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_paper", + "score": 0, + "evidence": "After the 42 \u00b0C step there is no return to 4 \u00b0C, so the block stays at 42 \u00b0C while the lid opens and 8 SOC transfers with mixing run. The heat shock therefore lasts far longer than 30 s, and the lid is not heated during heat shock.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "dna_addition", + "score": 1, + "evidence": "The block is set to 4 \u00b0C first, then p20.transfer(1, plasmid column, cell column, new_tip='always') maps A1\u2192A1 through H1\u2192H1.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "heat_shock", + "score": 1, + "evidence": "With the lid closed, the block is held at 4 \u00b0C for 30 min and then at 42 \u00b0C for 30 s via set_block_temperature on the thermocycler.", + "votes": [ + 0, + 1, + 1 + ] + }, + { + "id": "soc_recovery", + "score": 1, + "evidence": "p300.transfer(50, SOC A1, each cell well) follows the heat shock, then the block is set to 37 \u00b0C for 60 min with the lid closed.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_paper": 0.0, + "dna_addition": 1.0, + "heat_shock": 1.0, + "soc_recovery": 1.0 + }, + "summary": "The protocol handles volumes, tips, DNA addition and SOC recovery correctly, and the measured checks pass. However, the block is never returned to 4 \u00b0C after the 42 \u00b0C step, so cells sit at 42 \u00b0C throughout SOC addition and the heat shock runs far longer than 30 s. That is a fidelity failure and a heat-shock failure.", + "level": "hard", + "score": 0.75, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "dna_addition": 0.0833, + "heat_shock": 0.0833, + "soc_recovery": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 0.75, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 0.75, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_dna_addition": 1.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/protocol.py new file mode 100644 index 0000000..7be5314 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/protocol.py @@ -0,0 +1,132 @@ +from opentrons import protocol_api + +metadata = { + "protocolName": "APEX Protocol 1 - Heat Shock Transformation (8 plasmids)", + "author": "APEX (Kasprzyk, Herrera & Stracquadanio, 2024)", + "description": ( + "Automated heat shock transformation of 8 plasmids (pEX01-pEX08) into " + "chemically competent E. coli DH5alpha using the OT-2 thermocycler " + "(APEX Protocol 1, Low Volume configuration)." + ), + "apiLevel": "2.15", +} + +# --------------------------------------------------------------------------- +# Transform parameters - APEX Protocol 1 "Low Volume" (LV) configuration. +# The paper's Figure 4 legend states the automated LV run uses: +# 1 uL DNA (at 1.5e-4 pmol/uL), 10 uL competent cells, 50 uL SOC medium. +# The resulting 61 uL total/well sits comfortably inside a 200 uL PCR plate. +# --------------------------------------------------------------------------- +DNA_VOLUME_UL = 1.0 # 1 uL plasmid DNA per transformation +CELL_VOLUME_UL = 10.0 # competent cells, pre-loaded by the operator +SOC_VOLUME_UL = 50.0 # recovery medium added after heat shock + +INCUBATE_ON_ICE_TEMP = 4 # degC +INCUBATE_ON_ICE_MIN = 30 # min (DNA + cells pre-incubation) +HEAT_SHOCK_TEMP = 42 # degC +HEAT_SHOCK_SEC = 30 # s (heat shock) +RECOVERY_TEMP = 37 # degC +RECOVERY_MIN = 60 # min (SOC outgrowth, 1 hour) + + +def run(protocol: protocol_api.ProtocolContext): + # ----- Labware (deck as set up by the operator) ----- + # Column 1 of each plate holds the 8 transformations, row-n matched: + # plasmid well n -> competent-cell well n (A1->A1 ... H1->H1). + plasmid_plate = protocol.load_labware( + "biorad_96_wellplate_200ul_pcr", 1, label="plasmid_plate" + ) + soc_reservoir = protocol.load_labware( + "nest_12_reservoir_15ml", 2, label="soc_reservoir" + ) + + # Pipettes (single-channel) and their tip racks. + tiprack_20 = protocol.load_labware("opentrons_96_tiprack_20ul", 4) + tiprack_300 = protocol.load_labware("opentrons_96_tiprack_300ul", 5) + p20 = protocol.load_instrument( + "p20_single_gen2", "left", tip_racks=[tiprack_20] + ) + p300 = protocol.load_instrument( + "p300_single_gen2", "right", tip_racks=[tiprack_300] + ) + + # Thermocycler module (GEN1) holding the transformation plate. The operator + # has pre-loaded 10 uL competent cells per well onto a pre-chilled block. + tc = protocol.load_module("thermocycler") + transformation_plate = tc.load_labware( + "biorad_96_wellplate_200ul_pcr", label="transformation_plate" + ) + + # Wells referenced below. + plasmid_wells = plasmid_plate.columns()[0] # A1..H1 (plasmids pEX01..pEX08) + cell_wells = transformation_plate.columns()[0] # A1..H1 (the competent cells) + soc_source = soc_reservoir["A1"] # SOC medium, plenty + + # Max liquid a well ever holds = DNA + cells + SOC = 61 uL; used as a hint + # so the thermocycler heats the block appropriately for the liquid volume. + max_well_volume_ul = DNA_VOLUME_UL + CELL_VOLUME_UL + SOC_VOLUME_UL + + # ----- 1. Confirm the block is held at 4 C before adding DNA ----- + # The operator pre-chilled the block; this is a no-op if it is already at + # 4 C, and otherwise cools it down so DNA is always added on ice. + tc.close_lid() + tc.set_block_temperature(INCUBATE_ON_ICE_TEMP) + + # ----- 2. Add 1 uL plasmid DNA to each well of cells ----- + tc.open_lid() # the lid must be open for the robot to reach the plate + p20.transfer( + DNA_VOLUME_UL, + plasmid_wells, + cell_wells, + new_tip="always", + ) + # 8 tips used (one per well); well within the first 20 uL rack (96 tips), + # so no reset_tipracks() is needed for the p20. + tc.close_lid() + + # ----- 3. Incubate on ice: 4 C for 30 min ----- + # Lid left unheated here (heating it would counteract the cold incubation). + tc.set_block_temperature( + INCUBATE_ON_ICE_TEMP, + hold_time_minutes=INCUBATE_ON_ICE_MIN, + block_max_volume=max_well_volume_ul, + ) + + # ----- 4. Heat shock: 42 C for 30 s ----- + # Default (maximum) ramp rate is used for the rapid temperature change the + # method requires. + tc.set_block_temperature( + HEAT_SHOCK_TEMP, + hold_time_seconds=HEAT_SHOCK_SEC, + block_max_volume=max_well_volume_ul, + ) + + # ----- 5. Add 50 uL SOC recovery medium ----- + tc.open_lid() + p300.transfer( + SOC_VOLUME_UL, + soc_source, + cell_wells, + new_tip="always", + mix_after=(3, 40), # gentle resuspension of cells into SOC (sound choice) + ) + # 8 tips used; within the first 300 uL rack, no reset_tipracks() needed. + tc.close_lid() + # Heated lid keeps condensation/evaporation off the samples during the 1 h + # recovery at 37 C (the paper notes evaporation is a concern on a bare + # temperature module, which is why the thermocycler is used). + tc.set_lid_temperature(RECOVERY_TEMP) + + # ----- 6. Recover at 37 C for 1 hour ----- + tc.set_block_temperature( + RECOVERY_TEMP, + hold_time_minutes=RECOVERY_MIN, + block_max_volume=max_well_volume_ul, + ) + + # ----- 7. Hold recovered cells on ice for downstream spotting (Protocol 2) ----- + # Recovery is complete; keep the transformants cold for the operator. This + # final 4 C hold is a sound choice - the paper does not specify the block + # state between Protocol 1 and the agar spotting in Protocol 2. + tc.deactivate_lid() # turn off the heated lid + tc.set_block_temperature(INCUBATE_ON_ICE_TEMP) \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/reward.json new file mode 100644 index 0000000..cc1f6c6 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.75, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 0.75, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_dna_addition": 1.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 1.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/trial.json new file mode 100644 index 0000000..64b2512 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation-hard/trial.json @@ -0,0 +1,30 @@ +{ + "task": "ecoli-heat-shock-transformation-hard", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.75, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 0.75, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_dna_addition": 1.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 1.0 + }, + "exception": null, + "cost_usd": 0.061007, + "input_tokens": 304539, + "output_tokens": 17809, + "started_at": "2026-10-07T18:21:21.731368Z", + "finished_at": "2026-10-07T18:25:29.785404Z", + "cache_tokens": 274688, + "claude_code_cost_usd": 0.7318239999999999 +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/grader.json new file mode 100644 index 0000000..5a1a486 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/grader.json @@ -0,0 +1,155 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 12 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plasmid_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:cells_rack", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13, labware loaded with labels, 2 \u00b5L by p20 and 250 \u00b5L by p300, within ranges; no capacity issues (50+2+250 \u00b5L in a 1.5 mL tube).", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Checks tip_before_aspirate, tip_dropped_at_end, no_cross_contamination all pass; separate tips for DNA (p20) and SOC (p300).", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "All four steps in order with correct quantities; comments for heat shock (42\u00b0C 45 s, ice 2 min) and incubation (37\u00b0C 60 min 250 rpm) match the task text.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "dna_addition", + "score": 1, + "evidence": "p20.transfer(2, plasmid_plate['A1'], tubes_1_5ml_1['A1'], new_tip='once').", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "heat_shock", + "score": 1, + "evidence": "protocol.comment records heat shock 42\u00b0C 45 s then ice 2 min after DNA addition and before SOC.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "soc_recovery", + "score": 1, + "evidence": "p300.transfer(250, soc_reservoir['A1'], tubes_1_5ml_1['A1']) after heat shock, followed by comment for 37\u00b0C 60 min 250 rpm incubation.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "dna_addition": 1.0, + "heat_shock": 1.0, + "soc_recovery": 1.0 + }, + "summary": "The protocol matches the task and the reference: 2 \u00b5L DNA with the p20, the heat shock comment, 250 \u00b5L SOC with the p300, then the incubation comment. All measured checks passed, so every item scores 1.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "dna_addition": 0.0833, + "heat_shock": 0.0833, + "soc_recovery": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_dna_addition": 1.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/protocol.py new file mode 100644 index 0000000..1a0502a --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/protocol.py @@ -0,0 +1,36 @@ +from opentrons import protocol_api + +metadata = {'apiLevel': '2.13'} + + +def run(protocol: protocol_api.ProtocolContext): + # Labware + plasmid_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='plasmid_plate') + tubes_1_5ml_1 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap', 2, + label='tubes_1_5ml_1') + soc_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='soc_reservoir') + + # Tip racks and pipettes + tips20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips300]) + + # Step 1: transfer 2 uL plasmid DNA to competent cells. + p20.transfer(2, plasmid_plate['A1'], tubes_1_5ml_1['A1'], new_tip='once') + + # Step 2: heat shock (manual, not simulated). + protocol.comment('Heat shock cells_rack 42°C 45 s, ' + 'then transfer immediately to ice 2 min') + + # Step 3: transfer 250 uL SOC medium to each tube. + p300.transfer(250, soc_reservoir['A1'], tubes_1_5ml_1['A1'], new_tip='once') + + # Step 4: outgrowth recovery (manual, not simulated). + protocol.comment('Incubate cells_rack 37°C 60 min at 250 rpm ' + 'for outgrowth recovery') \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/reward.json new file mode 100644 index 0000000..b650ada --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_dna_addition": 1.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 1.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/trial.json new file mode 100644 index 0000000..e0fbfaa --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/ecoli-heat-shock-transformation/trial.json @@ -0,0 +1,30 @@ +{ + "task": "ecoli-heat-shock-transformation", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_dna_addition": 1.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 1.0 + }, + "exception": null, + "cost_usd": 0.016977, + "input_tokens": 87138, + "output_tokens": 1553, + "started_at": "2026-10-07T18:21:21.716293Z", + "finished_at": "2026-10-07T18:23:42.232691Z", + "cache_tokens": 68352, + "claude_code_cost_usd": 0.166931 +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/grader.json new file mode 100644 index 0000000..2835fc2 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/grader.json @@ -0,0 +1,235 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 493 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": false, + "detail": "[(363, 'D2'), (364, 'B1'), (365, 'B1')]" + }, + { + "name": "end_state:water", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dntp", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_pol", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_mm", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:template_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:rcutsmart", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dpni", + "pass": true, + "detail": "" + }, + { + "name": "end_state:t4_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:gg_enzyme", + "pass": true, + "detail": "" + }, + { + "name": "end_state:assembly_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:cells_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:lb_dextrose", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "Valid apiLevel 2.13; p20 used for \u226419 \u00b5L, p300 for 106/40/250 \u00b5L and 30 \u00b5L mixes; no overfill (cells well 50+5+250 \u00b5L <360); simulator and over-dispense/empty-well checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 0, + "evidence": "no_cross_contamination failed at (363,'D2'),(364,'B1'),(365,'B1'): p20.transfer(1.0, gg_enzyme, assembly_wells, new_tip='once', mix_after=(3,15.0)) re-aspirates enzyme stock with a tip that has mixed in assembly wells.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "fidelity_to_paper", + "score": 1, + "evidence": "Volumes, temperatures, times and reagents (25 \u00b5L Q5, 19/5/1 \u00b5L DpnI, 37/65 \u00b0C, 20 \u00b5L GG, 250 \u00b5L LB, 42 \u00b0C 60 s) match the paper and design table; the contamination flaw is a tip-handling issue rather than a method deviation.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "pcr_setup", + "score": 1, + "evidence": "Master mix 13.25 water+5 buffer+0.5 dNTP+0.25 pol per rxn, 19 \u00b5L dispensed, plus 2.5 \u00b5L each primer and 1 \u00b5L template per TEMPLATE_WELLS mapping = 25 \u00b5L at 0.1 \u00b5M primers, 0.5 ng template.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "dpni_and_cleanup", + "score": 1, + "evidence": "Comment records 98 \u00b0C 30 s, 34 cycles with j5 annealing 30 s, 72 \u00b0C 5 min; then 19 \u00b5L water, 5 \u00b5L rCutSmart, 1 \u00b5L DpnI, 37 \u00b0C 30 min/65 \u00b0C 20 min comment, then cleanup pause, in order.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "assembly_mix", + "score": 1, + "evidence": "Each assembly well gets 7 \u00b5L water, 2 \u00b5L T4 buffer, frag2 3, frag5 2, frag6 3, own chromo fragment 2 \u00b5L, and 1 \u00b5L GG enzyme = 20 \u00b5L, in its own well.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "cycling_and_transformation", + "score": 1, + "evidence": "Comments record GG program (30\u00d737/16 \u00b0C, 60 \u00b0C, 4 \u00b0C hold), cleanup eluted in 10 \u00b5L, 5 \u00b5L transferred to TOP10 wells, ice 30 min, 42 \u00b0C 60 s, 250 \u00b5L LB+dextrose, 37 \u00b0C 60 min, kanamycin plating.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 0.0, + "fidelity_to_paper": 1.0, + "pcr_setup": 1.0, + "dpni_and_cleanup": 1.0, + "assembly_mix": 1.0, + "cycling_and_transformation": 1.0 + }, + "summary": "The protocol matches the paper's quantities and workflow, and the PCR, DpnI, assembly and transformation items are correct. Tips and contamination fails because the shared Golden Gate enzyme transfer uses one tip with mix_after, which re-aspirated the stock after the tip had mixed in assembly wells. The measured no_cross_contamination check failed on this.", + "level": "hard", + "score": 0.75, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "pcr_setup": 0.0625, + "dpni_and_cleanup": 0.0625, + "assembly_mix": 0.0625, + "cycling_and_transformation": 0.0625 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [ + "no_cross_contamination" + ], + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.9524, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.25, + "judge_score": 0.75, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_paper": 1.0, + "rubric_pcr_setup": 1.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 1.0, + "rubric_cycling_and_transformation": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/protocol.py new file mode 100644 index 0000000..0337123 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/protocol.py @@ -0,0 +1,230 @@ +""" +Golden Gate assembly of four 4-fragment chromoprotein expression plasmids on the OT-2. + +Implements the AssemblyTron / j5 workflow described in: + AssemblyTron: flexible automation of DNA assembly with Opentrons OT-2 lab robots + Synth. Biol. 2022, doi:10.1093/synbio/ysac032 (CC BY). + +End-to-end pipeline on the deck, from fragment PCR setup through Golden Gate assembly to +transformation into E. coli TOP10. Steps the robot cannot perform itself (thermocycling, +column clean-ups, off-deck incubations, plating) are recorded with protocol.comment(). +""" + +metadata = { + 'apiLevel': '2.13', + 'protocolName': 'AssemblyTron Golden Gate: 4x chromoprotein plasmids', + 'description': 'PCR of 7 fragments -> DpnI digest -> column cleanup -> ' + 'Golden Gate (20 uL x4) -> TOP10 transformation.', +} + +# ------------------------------------------------------------------------------ +# Fixed design (j5 / AssemblyTron, given in the task) +# ------------------------------------------------------------------------------ + +# Fragments 1-7 live in pcr_plate column 1 (A1:G1). +FRAG_WELLS = ['A1', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1'] + +# Forward primers are primer_plate A1:G1, reverse primers primer_plate A2:G2. +# Template source for each fragment (template_plate), 0.5 ng/uL. +# Index = fragment number - 1. +TEMPLATE_WELLS = ['A1', 'A1', 'B1', 'C1', 'A1', 'A1', 'D1'] + +# Golden Gate assemblies, one per chromoprotein. Fragment volumes (uL) are +# proportional to fragment length, given in the task, in a 20 uL reaction. +ASSEMBLIES = { + 'A1': {'chromo': 'A1', 'frag2': 3.0, 'frag5': 2.0, 'frag6': 3.0, 'chromo_vol': 2.0}, # tsPurple + 'B1': {'chromo': 'C1', 'frag2': 3.0, 'frag5': 2.0, 'frag6': 3.0, 'chromo_vol': 2.0}, # YukonOFP + 'C1': {'chromo': 'D1', 'frag2': 3.0, 'frag5': 2.0, 'frag6': 3.0, 'chromo_vol': 2.0}, # aeBlue + 'D1': {'chromo': 'G1', 'frag2': 3.0, 'frag5': 2.0, 'frag6': 3.0, 'chromo_vol': 2.0}, # fuGFP +} + + +def run(protocol): + # -------------------------------------------------------------------------- + # Labware (deck is fixed by the operator; each piece loaded with its label) + # -------------------------------------------------------------------------- + p20_tips = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + p300_tips = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + p20 = protocol.load_instrument('p20_single_gen2', 'left', tip_racks=[p20_tips]) + p300 = protocol.load_instrument('p300_single_gen2', 'right', tip_racks=[p300_tips]) + + tubes_50ml = protocol.load_labware('opentrons_6_tuberack_falcon_50ml_conical', 1, label='tubes_50ml_1') + tubes_15ml_epp = protocol.load_labware('opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap', 2, label='tubes_1_5ml_1') + primer_plate = protocol.load_labware('corning_96_wellplate_360ul_flat', 3, label='primer_plate') + template_plate = protocol.load_labware('corning_96_wellplate_360ul_flat', 4, label='template_plate') + pcr_plate = protocol.load_labware('corning_96_wellplate_360ul_flat', 5, label='pcr_plate') + assembly_plate = protocol.load_labware('corning_96_wellplate_360ul_flat', 6, label='assembly_plate') + cells_plate = protocol.load_labware('corning_96_wellplate_360ul_flat', 7, label='cells_plate') + tubes_15ml = protocol.load_labware('opentrons_15_tuberack_falcon_15ml_conical', 8, label='tubes_15ml_1') + + # Reagent tubes (by label) + water = tubes_50ml['A1'] # nuclease-free water (unlimited) + q5_buffer = tubes_15ml_epp['A1'] # 5X Q5 Reaction Buffer + dntp = tubes_15ml_epp['B1'] # 10 mM dNTPs + q5_pol = tubes_15ml_epp['C1'] # Q5 High-Fidelity DNA Polymerase + pcr_mm = tubes_15ml_epp['D1'] # empty -> becomes PCR master mix + rcutsmart = tubes_15ml_epp['A2'] # rCutSmart Buffer (10X) + dpni = tubes_15ml_epp['B2'] # DpnI + t4_buffer = tubes_15ml_epp['C2'] # 10X T4 DNA Ligase Buffer + gg_enzyme = tubes_15ml_epp['D2'] # Golden Gate Enzyme Mix (BsaI-HFv2 + T4 ligase) + lb_dextrose = tubes_15ml['A1'] # LB + 0.2% (w/v) dextrose + + pcr_wells = [pcr_plate[w] for w in FRAG_WELLS] + + # ========================================================================== + # Stage 1 — PCR master mix (buffer + dNTPs + polymerase + water) for 8 reactions + # ========================================================================== + # + # PCR is 25 uL per reaction (paper Methods 2.3) with 0.1 uM primers (1 uM stock) + # and 0.5 ng template (0.5 ng/uL stock): + # 5 uL 5X Q5 buffer (1X) + 0.5 uL 10 mM dNTPs (200 uM) + 0.25 uL Q5 pol + # + 2.5 uL fwd primer + 2.5 uL rev primer + 1 uL template + 13.25 uL water. + # The master mix in tube D1 holds everything except the primers and template + # (those differ per fragment): 19 uL per reaction, made for 8 reactions + # (7 fragments + one reaction of dead volume so the last pipette is reliable). + N_PCR_MASTERMIX = 8 + MM_WATER_UL = 13.25 * N_PCR_MASTERMIX # 106 uL + MM_BUFFER_UL = 5.0 * N_PCR_MASTERMIX # 40 uL + MM_DNTP_UL = 0.5 * N_PCR_MASTERMIX # 4 uL + MM_POL_UL = 0.25 * N_PCR_MASTERMIX # 2 uL + + p300.transfer(MM_WATER_UL, water, pcr_mm, new_tip='once') + p300.transfer(MM_BUFFER_UL, q5_buffer, pcr_mm, new_tip='once') + p20.transfer(MM_DNTP_UL, dntp, pcr_mm, new_tip='once') + p20.transfer(MM_POL_UL, q5_pol, pcr_mm, new_tip='once') + p300.pick_up_tip() + p300.mix(5, 100.0, pcr_mm) + p300.drop_tip() + + # ========================================================================== + # Stage 2 — Set up the 7 PCR reactions in pcr_plate A1:G1 + # ========================================================================== + # 19 uL master mix + 2.5 uL fwd + 2.5 uL rev + 1 uL template = 25 uL each. + p20.transfer(19.0, pcr_mm, pcr_wells, new_tip='once') + + fwd_wells = [primer_plate[w] for w in FRAG_WELLS] # A1..G1 + rev_wells = [primer_plate[w] for w in ['A2', 'B2', 'C2', 'D2', 'E2', 'F2', 'G2']] + p20.transfer(2.5, fwd_wells, pcr_wells, new_tip='always') + p20.transfer(2.5, rev_wells, pcr_wells, new_tip='always') + p20.transfer(1.0, [template_plate[w] for w in TEMPLATE_WELLS], pcr_wells, new_tip='always') + + for well in pcr_wells: + p20.pick_up_tip() + p20.mix(3, 15.0, well) + p20.drop_tip() + + # ========================================================================== + # Stage 3 — off-deck PCR (gradient thermocycler) + # ========================================================================== + protocol.comment( + 'Seal pcr_plate (or transfer the 7 tubes) and move to the Bio-Rad C100 gradient ' + 'thermocycler. Run: 98 C 30 s; 34 cycles of (98 C 10 s; anneal 30 s at the ' + 'AssemblyTron/j5 optimal-gradient temperature for each fragment; 72 C extension at ' + 'the AssemblyTron-calculated time, ~20-30 s/kb); 72 C 5 min final extension; hold ' + '4 C. Take a small gel sample of each reaction to confirm fragment sizes, then ' + 'return the plate to the OT-2.' + ) + + # ========================================================================== + # Stage 4 — DpnI digest of residual template (back on the OT-2) + # ========================================================================== + # Paper Methods 2.3: 19 uL water + 5 uL rCutSmart + 1 uL DpnI per reaction. + # Added to each 25 uL PCR -> 50 uL total with 1X rCutSmart. + p20.transfer(19.0, water, pcr_wells, new_tip='once') + p20.transfer(5.0, rcutsmart, pcr_wells, new_tip='once') + p20.transfer(1.0, dpni, pcr_wells, new_tip='once') + + for well in pcr_wells: + p300.pick_up_tip() + p300.mix(3, 30.0, well) + p300.drop_tip() + + protocol.comment( + 'Incubate the 7 DpnI reactions (pcr_plate A1:G1) at 37 C for 30 min, then heat ' + 'denature DpnI at 65 C for 20 min.' + ) + + # ========================================================================== + # Stage 5 — Off-deck column clean-up of fragments + # ========================================================================== + # Cleaning removes the Q5 polymerase, which was found to interfere with assembly. + # Elute in 20 uL water: fragments 2 and 6 are added at 3 uL to all four assemblies + # (12 uL total needed), so a 10 uL elution would not be enough. + protocol.comment( + 'PAUSE. Clean and concentrate each of the 7 fragments with a Zymo DNA Clean & ' + 'Concentrator-5 column (5:1 DNA Binding Buffer to sample; 2x 200 uL DNA Wash Buffer), ' + 'eluting each fragment in 20 uL molecular-grade water after 1 min at room temperature. ' + 'Return the eluates to pcr_plate A1:G1 (fragments 1-7) and resume.' + ) + + # ========================================================================== + # Stage 6 — Golden Gate assembly (20 uL reactions in assembly_plate A1:D1) + # ========================================================================== + # Fixed design: water 7 uL + 10X T4 ligase buffer 2 uL (1X) + fragments + # (frag2 3 + frag5 2 + frag6 3 + chromo 2 = 10 uL) + GG enzyme mix 1 uL = 20 uL. + # Fragment 2 = pcr B1, fragment 5 = pcr E1, fragment 6 = pcr F1 (shared by all 4). + assembly_wells = [assembly_plate[w] for w in ASSEMBLIES] + + p20.transfer(7.0, water, assembly_wells, new_tip='once') + p20.transfer(2.0, t4_buffer, assembly_wells, new_tip='once') + + # Shared backbone/KanR fragments go to all four assemblies. + p20.transfer(ASSEMBLIES['A1']['frag2'], pcr_plate['B1'], assembly_wells, new_tip='once') # fragment 2, 3 uL + p20.transfer(ASSEMBLIES['A1']['frag5'], pcr_plate['E1'], assembly_wells, new_tip='once') # fragment 5, 2 uL + p20.transfer(ASSEMBLIES['A1']['frag6'], pcr_plate['F1'], assembly_wells, new_tip='once') # fragment 6, 3 uL + + # Chromoprotein fragment into its own assembly well. + for dest, spec in ASSEMBLIES.items(): + p20.transfer(spec['chromo_vol'], pcr_plate[spec['chromo']], + assembly_plate[dest], new_tip='always') + + # Enzyme last, with a light mix. + p20.transfer(1.0, gg_enzyme, assembly_wells, new_tip='once', mix_after=(3, 15.0)) + + protocol.comment( + 'Run the Golden Gate program on assembly_plate in the Opentrons thermocycler module: ' + '30 cycles of (37 C 5 min then 16 C 5 min), then 60 C 5 min, hold at 4 C; lid ~85 C. ' + 'If the thermocycler module is not available, pause and move the reactions to a ' + 'bench thermocycler.' + ) + + # ========================================================================== + # Stage 7 — Off-deck clean-up of the assembled plasmids + # ========================================================================== + protocol.comment( + 'Clean and concentrate each of the 4 Golden Gate assemblies with a Zymo DNA Clean & ' + 'Concentrator-5 column (5:1 binding buffer; 2x 200 uL wash) and elute in 10 uL ' + 'molecular-grade water; return the eluates to assembly_plate A1:D1.' + ) + + # ========================================================================== + # Stage 8 — Transformation into TOP10 competent cells + # ========================================================================== + # 5 uL of each assembly eluate -> 50 uL chemically competent TOP10 (cells_plate A1:D1). + cell_wells = [cells_plate[w] for w in ASSEMBLIES] + p20.transfer(5.0, assembly_wells, cell_wells, new_tip='always', mix_after=(3, 20.0)) + + protocol.comment( + 'Measure the DNA concentration of the remaining ~5 uL of each eluate with a ' + 'NanoDrop-2000c for the CFU/ug calculation, then incubate cells_plate A1:D1 on ice ' + 'for 30 min, heat shock at 42 C for 60 s, and return to ice for ~2 min.' + ) + + # Recovery in LB + 0.2% dextrose (paper Methods 2.3: 250 uL per transformation). + p300.transfer(250.0, lb_dextrose, cell_wells, new_tip='once') + + protocol.comment( + 'Recover the cells at 37 C for 60 min with shaking (~250 rpm).' + ) + + protocol.comment( + 'Plate 50-200 uL of each recovery (neat or a 10x dilution, depending on predicted ' + 'efficiency) onto LB agar + kanamycin 50 ug/mL; incubate at 37 C overnight.' + ) + + protocol.comment( + 'Manually count colonies per plate and score the fraction showing the expected ' + 'chromoprotein colour (tsPurple = purple, YukonOFP = orange, aeBlue = blue, ' + 'fuGFP = green); report CFU/ug of DNA plated.' + ) \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/reward.json new file mode 100644 index 0000000..7a28de8 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.3, "sim_pass": 1.0, "checks_frac": 0.9524, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.25, "judge_score": 0.75, "critical_fail": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 0.0, "rubric_fidelity_to_paper": 1.0, "rubric_pcr_setup": 1.0, "rubric_dpni_and_cleanup": 1.0, "rubric_assembly_mix": 1.0, "rubric_cycling_and_transformation": 1.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/trial.json new file mode 100644 index 0000000..ae5a605 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly-hard/trial.json @@ -0,0 +1,31 @@ +{ + "task": "golden-gate-assembly-hard", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.9524, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.25, + "judge_score": 0.75, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_paper": 1.0, + "rubric_pcr_setup": 1.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 1.0, + "rubric_cycling_and_transformation": 1.0 + }, + "exception": null, + "cost_usd": 0.38314, + "input_tokens": 686683, + "output_tokens": 30608, + "started_at": "2026-10-07T18:21:21.501850Z", + "finished_at": "2026-10-07T18:30:08.316411Z", + "cache_tokens": 204819, + "claude_code_cost_usd": 3.2769295 +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/grader.json new file mode 100644 index 0000000..061d2be --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/grader.json @@ -0,0 +1,233 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 484 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:water", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dntp", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_pol", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_mm", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:template_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:rcutsmart", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dpni", + "pass": true, + "detail": "" + }, + { + "name": "end_state:t4_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:gg_enzyme", + "pass": true, + "detail": "" + }, + { + "name": "end_state:assembly_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:cells_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:lb_dextrose", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13 with metadata; p20 handles \u226420 \u00b5L and p300 handles 40/106/250 \u00b5L and the 30 \u00b5L mixes; all end_state checks pass with no overdispense or empty-well aspiration.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "The tip_before_aspirate, no_cross_contamination and tip_dropped_at_end checks all pass. Primers, templates, fragments and assemblies each use new_tip='always' or a fresh tip per well; shared reagents use one tip only from a clean stock.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "Steps 1-33 are carried out in order with the specified volumes and wells, and the manual steps are recorded with protocol.comment. Only the unspecified 20 \u00b5L mix volume in step 24 differs from the reference (1 \u00b5L), which is within the task text.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "pcr_setup", + "score": 1, + "evidence": "Master mix is 106/40/4/2 \u00b5L, then 19 \u00b5L to A1:G1, 2.5 \u00b5L of each primer, and 1 \u00b5L template from the template_src list A1,A1,B1,C1,A1,A1,D1, with fresh tips each time.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "dpni_and_cleanup", + "score": 1, + "evidence": "19 \u00b5L water, 5 \u00b5L rCutSmart and 1 \u00b5L DpnI are added to A1:G1 and mixed 3x at 30 \u00b5L. The 37/65\u00b0C incubation and the Zymo clean-up and pause are recorded with comments in order.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "assembly_mix", + "score": 1, + "evidence": "Each assembly well gets 7 \u00b5L water, 2 \u00b5L T4 buffer, 3/2/3 \u00b5L of fragments 2/5/6, 2 \u00b5L of fragments 1/3/4/7 paired to A1-D1, and 1 \u00b5L enzyme mix mixed 5x.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "cycling_and_transformation", + "score": 1, + "evidence": "The Golden Gate program is recorded as a comment (30\u00d737/16\u00b0C, 60\u00b0C, 4\u00b0C), followed by the clean-up comment, 5 \u00b5L transfers to cells A1:D1, the heat-shock comment, 250 \u00b5L LB, and the recovery and plating comments.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "pcr_setup": 1.0, + "dpni_and_cleanup": 1.0, + "assembly_mix": 1.0, + "cycling_and_transformation": 1.0 + }, + "summary": "The protocol closely matches the reference and the task: quantities, wells, order and manual-step comments are all correct. All measured checks pass, and I found no tip, volume or fidelity issues.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "pcr_setup": 0.0625, + "dpni_and_cleanup": 0.0625, + "assembly_mix": 0.0625, + "cycling_and_transformation": 0.0625 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_pcr_setup": 1.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 1.0, + "rubric_cycling_and_transformation": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/protocol.py new file mode 100644 index 0000000..89bded8 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/protocol.py @@ -0,0 +1,208 @@ +"""AssemblyTron Golden Gate assembly of four four-fragment chromoprotein plasmids. + +Build four chromoprotein expression plasmids (tsPurple, YukonOFP, aeBlue, +fuGFP) starting from PCR amplification of seven fragments with j5-designed +primers, DpnI digestion, fragment clean-up, Golden Gate assembly with +BsaI-HFv2 + T4 DNA ligase, and transformation into E. coli TOP10. + +Manual steps (thermocycling, column clean-ups, heat shock, recovery, plating) +cannot be simulated and are recorded with protocol.comment() at the point +they occur. +""" + +from opentrons import protocol_api + +metadata = { + 'protocolName': 'AssemblyTron Golden Gate Assembly of Chromoprotein Plasmids', + 'author': 'AssemblyTron', + 'description': 'Four four-fragment chromoprotein expression plasmids by Golden Gate assembly.', + 'apiLevel': '2.13', +} + + +def run(protocol: protocol_api.ProtocolContext): + # ------------------------------------------------------------------ labware + tubes_50ml = protocol.load_labware( + 'opentrons_6_tuberack_falcon_50ml_conical', 1, label='tubes_50ml_1') + tubes_1_5ml = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap', 2, + label='tubes_1_5ml_1') + primer_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 3, label='primer_plate') + template_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 4, label='template_plate') + pcr_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 5, label='pcr_plate') + assembly_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 6, label='assembly_plate') + cells_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 7, label='cells_plate') + tubes_15ml = protocol.load_labware( + 'opentrons_15_tuberack_falcon_15ml_conical', 8, label='tubes_15ml_1') + + tips20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips300]) + + # ---------------------------------------------------------------- reagents + water = tubes_50ml['A1'] + q5_buffer = tubes_1_5ml['A1'] + dntp = tubes_1_5ml['B1'] + q5_pol = tubes_1_5ml['C1'] + pcr_mm = tubes_1_5ml['D1'] # PCR master mix prepared in situ + rcutsmart = tubes_1_5ml['A2'] + dpni = tubes_1_5ml['B2'] + t4_buffer = tubes_1_5ml['C2'] + gg_enzyme = tubes_1_5ml['D2'] # BsaI-HFv2 + T4 ligase + lb_dextrose = tubes_15ml['A1'] + + fwd_primer_wells = ['A1', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1'] + rev_primer_wells = ['A2', 'B2', 'C2', 'D2', 'E2', 'F2', 'G2'] + pcr_wells = ['A1', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1'] + template_src = ['A1', 'A1', 'B1', 'C1', 'A1', 'A1', 'D1'] + assembly_wells = ['A1', 'B1', 'C1', 'D1'] + cells_wells = ['A1', 'B1', 'C1', 'D1'] + + pcr_dest = [pcr_plate[w] for w in pcr_wells] + assembly_dest = [assembly_plate[w] for w in assembly_wells] + cells_dest = [cells_plate[w] for w in cells_wells] + + # 1-4. Prepare the PCR master mix (buffer, dNTPs, polymerase, water) in D1. + p300.transfer(106, water, pcr_mm, new_tip='once') # 106 µL water + p300.transfer(40, q5_buffer, pcr_mm, new_tip='once') # 40 µL 5X Q5 buffer + p20.transfer(4, dntp, pcr_mm, new_tip='once') # 4 µL 10 mM dNTPs + p20.transfer(2, q5_pol, pcr_mm, new_tip='once') # 2 µL Q5 polymerase + + # 5. Mix the master mix. + p300.pick_up_tip() + p300.mix(5, 100, pcr_mm) + p300.drop_tip() + + # 6. Distribute master mix to the seven PCR wells. + p20.transfer(19, pcr_mm, pcr_dest, new_tip='once') + + # 7. Forward primers (1 µM). + p20.transfer(2.5, [primer_plate[w] for w in fwd_primer_wells], + pcr_dest, new_tip='always') + + # 8. Reverse primers (1 µM). + p20.transfer(2.5, [primer_plate[w] for w in rev_primer_wells], + pcr_dest, new_tip='always') + + # 9. Linearized template plasmid (0.5 ng/µL), 1 µL per fragment. + p20.transfer(1, [template_plate[w] for w in template_src], + pcr_dest, new_tip='always') + + # 10. Mix the PCR reactions. + for w in pcr_wells: + p20.pick_up_tip() + p20.mix(3, 15, pcr_plate[w]) + p20.drop_tip() + + # 11. Manual: gradient PCR in the Bio-Rad C100 thermocycler. + protocol.comment( + 'Seal pcr_plate (or move the PCR tubes) and transfer manually to the ' + 'Bio-Rad C100 gradient thermocycler. Run: 98°C 30 s; 34 cycles of ' + '98°C 10 s, annealing 30 s at the AssemblyTron/j5 optimal-gradient ' + 'temperature for each fragment, 72°C extension at the time set by ' + 'AssemblyTron (about 20-30 s/kb); final extension 72°C 5 min; hold ' + '4°C. Take a sample of each reaction for gel electrophoresis, then ' + 'return to the OT-2.') + + # 12-14. DpnI digestion master (water, rCutSmart, DpnI) into each well. + p20.transfer(19, water, pcr_dest, new_tip='once') + p20.transfer(5, rcutsmart, pcr_dest, new_tip='once') + p20.transfer(1, dpni, pcr_dest, new_tip='once') + + # 15. Mix the DpnI reactions. + for w in pcr_wells: + p300.pick_up_tip() + p300.mix(3, 30, pcr_plate[w]) + p300.drop_tip() + + # 16. Manual: DpnI digestion / inactivation. + protocol.comment( + 'Incubate pcr_plate A1:G1 at 37°C for 30 min, then 65°C for 20 min ' + '(DpnI inactivation) on the thermocycler block.') + + # 17. Manual: clean and concentrate the fragments. + protocol.comment( + 'Pause the protocol. Clean and concentrate each of the 7 fragments ' + 'with a Zymo DNA Clean & Concentrator-5 column: 5:1 DNA Binding ' + 'Buffer to sample (250 µL per 50 µL), spin 30 s, wash 2 x 200 µL DNA ' + 'Wash Buffer (30 s spins), elute in 20 µL water after 1 min at room ' + 'temperature (30 s spin). Return the eluted fragments to their ' + 'original positions pcr_plate A1:G1 (fragments 1-7) and resume the ' + 'protocol.') + + # 18-19. Set up the Golden Gate reactions: water and ligase buffer. + p20.transfer(7, water, assembly_dest, new_tip='once') + p20.transfer(2, t4_buffer, assembly_dest, new_tip='once') + + # 20-22. Backbone fragments: fragment 2 (backbone), 5 (backbone/KanR), 6 (backbone). + p20.transfer(3, pcr_plate['B1'], assembly_dest, new_tip='once') + p20.transfer(2, pcr_plate['E1'], assembly_dest, new_tip='once') + p20.transfer(3, pcr_plate['F1'], assembly_dest, new_tip='once') + + # 23. Chromoprotein fragments 1, 3, 4, 7 -> one per assembly. + p20.transfer(2, [pcr_plate[w] for w in ['A1', 'C1', 'D1', 'G1']], + assembly_dest, new_tip='always') + + # 24. Golden Gate enzyme mix; mix 5 times after each dispense. + for w in assembly_wells: + p20.pick_up_tip() + p20.aspirate(1, gg_enzyme) + p20.dispense(1, assembly_plate[w]) + p20.mix(5, 20, assembly_plate[w]) + p20.drop_tip() + + # 25. Manual: Golden Gate thermocycling program. + protocol.comment( + 'Run Golden Gate program on assembly_plate in the Opentrons ' + 'thermocycler module: 30 cycles of 37°C 5 min then 16°C 5 min; then ' + '60°C 5 min; hold at 4°C. Lid about 85°C. If no module is available, ' + 'pause and move reactions to another thermocycler.') + + # 26. Manual: clean and concentrate the assemblies. + protocol.comment( + 'Clean and concentrate each assembly with a Zymo DNA Clean & ' + 'Concentrator-5 column (5:1 binding buffer, 2 x 200 µL wash) and ' + 'elute in 10 µL molecular grade water; return the eluates to ' + 'assembly_plate A1:D1.') + + # 27. Add purified assemblies to competent cells. + p20.transfer(5, [assembly_plate[w] for w in assembly_wells], + cells_dest, new_tip='always') + + # 28. Manual: quantify the remaining eluate. + protocol.comment( + 'Measure DNA concentration of the remaining 5 µL of each eluate with ' + 'a NanoDrop-2000c for CFU/µg calculation.') + + # 29. Manual: heat shock. + protocol.comment( + 'Incubate cells_plate A1:D1 for 30 min on ice, heat shock at 42°C ' + 'for 60 s, then return to ice for about 2 min.') + + # 30. Add LB + 0.2% dextrose for recovery. + p300.transfer(250, lb_dextrose, cells_dest, new_tip='once') + + # 31. Manual: recovery. + protocol.comment( + 'Recover cells at 37°C for 60 min with shaking (about 250 rpm).') + + # 32. Manual: plating. + protocol.comment( + 'Plate 50-200 µL of each recovery (neat or a 10x dilution, depending ' + 'on predicted efficiency) onto separate LB agar plates containing ' + 'kanamycin 50 µg/mL; incubate at 37°C overnight.') + + # 33. Manual: colony scoring. + protocol.comment( + 'Manually count colonies per plate and score the fraction showing ' + 'the expected chromoprotein colour (purple, orange, blue, green); ' + 'report CFU/µg of DNA plated.') \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/reward.json new file mode 100644 index 0000000..333077c --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_pcr_setup": 1.0, "rubric_dpni_and_cleanup": 1.0, "rubric_assembly_mix": 1.0, "rubric_cycling_and_transformation": 1.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/trial.json new file mode 100644 index 0000000..5ab907d --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/golden-gate-assembly/trial.json @@ -0,0 +1,31 @@ +{ + "task": "golden-gate-assembly", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_pcr_setup": 1.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 1.0, + "rubric_cycling_and_transformation": 1.0 + }, + "exception": null, + "cost_usd": 0.204623, + "input_tokens": 281989, + "output_tokens": 21557, + "started_at": "2026-10-07T18:21:21.586426Z", + "finished_at": "2026-10-07T18:26:05.285251Z", + "cache_tokens": 37888, + "claude_code_cost_usd": 1.7783739999999997 +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/grader.json new file mode 100644 index 0000000..1816cc3 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/grader.json @@ -0,0 +1,234 @@ +{ + "variant": "reference", + "judge_model": "claude-sonnet-5-5", + "suspicious_tokens": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1279 + }, + "checks": { + "checks": [ + { + "name": "48_samples_to_odd_columns", + "pass": true, + "detail": "48 tubes -> 48 wells, odd columns only: True" + }, + { + "name": "step_order", + "pass": true, + "detail": "expected per well: beads > isopropanol > sample > remove > ethanol > remove > ethanol > remove > elution > recover" + }, + { + "name": "binding_volumes_40_250_250", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "mix_5x_after_sample", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "incubation_5min_before_magnet", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_4min_before_first_removal", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "supernatant_removed_each_step", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_engaged_for_all_removals", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "two_500ul_ethanol_washes", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "air_dry_4min", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_100ul", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_off_magnet_then_90s_on", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "recover_70_100ul_one_well_each", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "distinct_elution_wells", + "pass": true, + "detail": "48 distinct elution wells" + }, + { + "name": "elution_plate_4C_before_recovery", + "pass": true, + "detail": "temperatures set: [(0.0, 4.0)]" + }, + { + "name": "fresh_tip_per_sample_no_cross_contact", + "pass": true, + "detail": "48 distinct tips for 48 sample transfers; violations: []" + }, + { + "name": "reservoir_columns_within_15ml", + "pass": true, + "detail": "uL drawn per reservoir column: 2: 1920, 4: 4800, 6: 6000, 7: 6000, 9: 12000, 10: 12000, 11: 12000, 12: 12000" + } + ], + "checks_passed": 17, + "checks_total": 17, + "total_delay_min": 15.0, + "example_well": "A1", + "example_sequence": [ + "beads 40uL", + "isopropanol 250uL", + "sample 250uL", + "remove 540uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "elution 100uL", + "recover 100uL (magnet)" + ] + }, + "critical_failures": [], + "judge": { + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "Valid apiLevel 2.15, all volumes within pipette ranges (p1000 250/500 \u00b5L, p300 40/100/\u2264190 \u00b5L), reservoir columns \u226415 mL, waste wells \u22641540 \u00b5L, simulator passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 0, + "evidence": "One p1000 tip is reused for 48 wells for isopropanol and for both 500 \u00b5L ethanol dispenses at default well-bottom height into sample wells, and one p300 tip dispenses elution buffer into all six columns, so tips contact sample-bead wells and then move to others.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "fidelity_to_paper", + "score": 0, + "evidence": "The 100 \u00b5L elution buffer is dispensed with no mixing/resuspension of the beads, and shared tips are used across sample wells, so it is not a fully faithful, sound implementation.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "sample_handling", + "score": 1, + "evidence": "Checks '48_samples_to_odd_columns' and 'distinct_elution_wells' pass; the code maps tubes 1\u201348 to odd-column wells with a fresh p1000 tip each.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "binding_and_separation", + "score": 1, + "evidence": "Checks for 40/250/250 volumes, 5x mix, 5 min incubation, 4 min magnet and removal with magnet engaged all pass 48/48.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "washes_and_drying", + "score": 1, + "evidence": "Checks two_500ul_ethanol_washes, magnet_engaged_for_all_removals and air_dry_4min pass; code disengages the magnet before elution.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "elution_recovery", + "score": 0, + "evidence": "Step 7 only aspirates/dispenses 100 \u00b5L elution buffer into each column with no mixing afterward, so the beads are not resuspended as the rubric requires, though 90 s magnet and 100 \u00b5L recovery to distinct wells pass.", + "votes": [ + 0, + 0, + 0 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 0.0, + "fidelity_to_paper": 0.0, + "sample_handling": 1.0, + "binding_and_separation": 1.0, + "washes_and_drying": 1.0, + "elution_recovery": 0.0 + }, + "summary": "The protocol meets the measured checks on sample placement, binding, washes, drying and recovery volume/timing, and its OT-2 practice is sound. It loses the tip-contamination item because single tips are shared across sample wells for isopropanol, ethanol and elution buffer. It loses the elution item and fidelity because the elution buffer is never mixed to resuspend the beads.", + "raw": "[{\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"Valid apiLevel 2.15, all volumes within pipette ranges (p1000 250/500 \\u00b5L, p300 40/100/\\u2264190 \\u00b5L), reservoir columns \\u226415 mL, waste wells \\u22641540 \\u00b5L, simulator passed.\"}, {\"id\": \"tips_and_contamination\", \"score\": 0, \"evidence\": \"One p1000 tip is reused for 48 wells for isopropanol and for both 500 \\u00b5L ethanol dispenses at default well-bottom height into sample wells, and one p300 tip dispenses elution buffer into all six columns, so tips contact sample-bead wells and then move to others.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"The 100 \\u00b5L elution buffer is dispensed with no mixing/resuspension of the beads, and shared tips are used across sample wells, so it is not a fully faithful, sound implementation.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Checks '48_samples_to_odd_columns' and 'distinct_elution_wells' pass; the code maps tubes 1\\u201348 to odd-column wells with a fresh p1000 tip each.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Checks for 40/250/250 volumes, 5x mix, 5 min incubation, 4 min magnet and removal with magnet engaged all pass 48/48.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Checks two_500ul_ethanol_washes, magnet_engaged_for_all_removals and air_dry_4min pass; code disengages the magnet before elution.\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"Step 7 only aspirates/dispenses 100 \\u00b5L elution buffer into each column with no mixing afterward, so the beads are not resuspended as the rubric requires, though 90 s magnet and 100 \\u00b5L recovery to distinct wells pass.\"}], \"summary\": \"The protocol meets the measured checks on sample placement, binding, washes, drying and recovery volume/timing, and its OT-2 practice is sound. It loses the tip-contamination item because single tips are shared across sample wells for isopropanol, ethanol and elution buffer. It loses the elution item and fidelity because the elution buffer is never mixed to resuspend the beads.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.15, all volumes within pipette ranges (p1000 for 250/500 \\u00b5L, p300 multi for \\u2264190 \\u00b5L chunks), reservoir columns \\u226415 mL per the check, and the simulator passed.\"}, {\"id\": \"tips_and_contamination\", \"score\": 0, \"evidence\": \"One p1000 tip is reused for all 48 wells of the ethanol washes and the isopropanol step, dispensing at the well bottom (default) into wells that hold sample or bead residue and then going back to the stock. One multichannel tip is reused for elution buffer across columns, which risks carryover between samples and stocks.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"No resuspension mix after adding the 100 \\u00b5L elution buffer, although the paper says the beads are resuspended in it. The code only dispenses the elution buffer and then waits 30 s before engaging the magnet.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"The check 48_samples_to_odd_columns passed. Each tube i goes to mag_wells[i] in columns 1, 3, 5, 7, 9, 11, and the check reports 48 distinct elution wells.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads, then isopropanol, then sample, then mix(5, 250), then a 5 min delay, then magnet engaged for 4 min, then 540 \\u00b5L removed to waste. The binding, mix, incubation and magnet checks all passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes are each removed with the magnet engaged. A 4 min delay follows with the magnet still on, then mag_mod.disengage(). The checks two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"The elution buffer is dispensed off-magnet but is never mixed. Only the dispense, a 30 s wait and engage follow. The rubric requires the elution to be mixed, although the 90 s magnet time and the 100 \\u00b5L recovery to distinct wells are correct.\"}], \"summary\": \"The protocol passes all 17 measured checks and gets the plate layout, binding, separation, washes and drying right. It fails on tip handling, where single tips are reused across many sample wells during the ethanol, isopropanol and elution additions. It also fails on fidelity and elution because the beads are never mixed after the 100 \\u00b5L elution buffer is added.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.15; p1000 handles 250/500 \\u00b5L and p300 multi handles 40/100/\\u2264190 \\u00b5L within range; reservoir columns stay under 15 mL (check passed); modules and labware used as intended.\"}, {\"id\": \"tips_and_contamination\", \"score\": 0, \"evidence\": \"One p1000 tip is reused for all 48 ethanol dispenses into sample wells at default bottom height (also the p300 tip for elution buffer across columns), so a tip that touches one sample's well liquid goes on to other samples and back to the reservoir.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"There is no resuspension or mixing after the 100 \\u00b5L elution buffer is added (the paper says beads are resuspended), and the shared-tip handling is a deviation, so the protocol is not fully faithful.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed; mag_wells covers odd columns 1,3,...,11, and distinct_elution_wells passed (48 distinct elution wells).\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Code adds beads 40, isopropanol 250, then sample 250 with mix(5,250), then delay 5 min, engage, delay 4 min, and removes 540 \\u00b5L to waste with the magnet on; the checks passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes, each removed with the magnet engaged, then a 4 min delay and mag_mod.disengage() before elution; the checks passed.\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"The 100 \\u00b5L elution buffer is dispensed off-magnet but never mixed (no mix call before the 30 s delay and re-engage), though the rubric requires it be added and mixed.\"}], \"summary\": \"The protocol gets the sample layout, binding, separation, washes, drying and timings right, and all 17 run-log checks passed. It fails on tip hygiene because one tip is shared across sample wells for the ethanol washes and the elution buffer. It also never mixes the elution buffer to resuspend the beads, so fidelity and elution recovery fail.\"}]", + "level": "hard", + "score": 0.4375, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "sample_handling": 0.0625, + "binding_and_separation": 0.0625, + "washes_and_drying": 0.0625, + "elution_recovery": 0.0625 + }, + "model": "anthropic/claude-sonnet-5.5", + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "rewards": { + "reward": 0.4375, + "sim_pass": 1.0, + "checks_frac": 1.0, + "judge_score": 0.4375, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 0.0, + "deterministic_reward": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 0.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/protocol.py new file mode 100644 index 0000000..68a4512 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/protocol.py @@ -0,0 +1,257 @@ +""" +OT-2 in-house magnetic-bead SARS-CoV-2 RNA extraction (48 samples). + +Implements the "OT-2in-house" protocol described in: + + Lázaro-Perona F., et al. "Evaluation of two automated low-cost RNA + extraction protocols for SARS-CoV-2 detection." PLOS ONE 16(2): e0246302 + (2021). https://doi.org/10.1371/journal.pone.0246302 + +Protocol steps and volumes (from the paper, Table 1 / "Protocol design"): + + 1. Dispense 40 µL magnetic beads + 250 µL isopropanol + 250 µL sample per + well, mix by pipetting five times, incubate 5 min at room temperature. + 2. Activate the GEN1 magnetic module for 4 min. + 3. Collect the supernatant and discard. + 4. Add 500 µL of 70% ethanol, collect and discard (wash 1). + 5. Add 500 µL of 70% ethanol, collect and discard (wash 2). + 6. Air dry for 4 min (magnet still engaged). + 7. Turn off the magnetic module and add 100 µL elution buffer. + 8. After 30 s, turn on the magnetic module. + 9. After 90 s, collect the supernatant and transfer to a 96-well plate. + +The 48 inactivated samples are placed into the odd columns (1, 3, 5, 7, 9, 11) +of the deep-well plate on the magnetic module, one sample per well. Each eluate +is recovered into the matching well of the elution plate held at 4 °C on the +temperature module. +""" + +from opentrons import protocol_api + +metadata = { + "protocolName": "OT-2 in-house magnetic-bead RNA extraction (48 samples)", + "description": ( + "OT-2in-house SARS-CoV-2 RNA extraction per Lázaro-Perona et al. 2021 " + "(PLOS ONE, doi:10.1371/journal.pone.0246302)." + ), + "author": "OT-2", + "apiLevel": "2.15", +} + +# --- Reagent / sample volumes (µL), exactly as in the paper ----------------- +BEADS_VOL = 40 +ISOPROPANOL_VOL = 250 +SAMPLE_VOL = 250 +WASH_VOL = 500 # 70% ethanol, both washes +ELUTION_VOL = 100 + +# --- Timings (paper) -------------------------------------------------------- +BIND_INCUBATION_MIN = 5 # step 1 +MAGNET_BIND_MIN = 4 # step 2 +AIR_DRY_MIN = 4 # step 6 +ELUTION_WAIT_SEC = 30 # step 8 (elution buffer before re-engaging magnet) +ELUTION_MAGNET_SEC = 90 # step 9 (re-engaging before collecting eluate) + +MIX_REPETITIONS = 5 # "Mix by pipetting five times" +MIX_VOLUME = 250 + +# Binding reaction total volume to discard in step 3. +BINDING_SUPERNATANT_VOL = BEADS_VOL + ISOPROPANOL_VOL + SAMPLE_VOL # 540 µL + + +def run(protocol: protocol_api.ProtocolContext): + + # ------------------------------------------------------------------ labware + tips_1000 = protocol.load_labware("opentrons_96_filtertiprack_1000ul", 11) + tips_200_2 = protocol.load_labware("opentrons_96_filtertiprack_200ul", 2) + tips_200_3 = protocol.load_labware("opentrons_96_filtertiprack_200ul", 3) + tips_200_9 = protocol.load_labware("opentrons_96_filtertiprack_200ul", 9) + + # Slot 1: waste plate for discarded supernatant and washes. + waste = protocol.load_labware("usascientific_96_wellplate_2.4ml_deep", 1) + + # Slot 4: GEN1 magnetic module holding the sample/extraction (deep-well) plate. + mag_mod = protocol.load_module("magnetic module", 4) + mag_plate = mag_mod.load_labware("usascientific_96_wellplate_2.4ml_deep") + + # Slot 5: reagent reservoir. + reservoir = protocol.load_labware("nest_12_reservoir_15ml", 5) + + # Slot 6: GEN1 temperature module holding the elution plate. + temp_mod = protocol.load_module("tempdeck", 6) + elu_plate = temp_mod.load_labware("thermo_96_wellplate_200ul") + + # Slots 10 and 7: inactivated samples in 2 mL tubes (24 per rack). + rack_samples_1_24 = protocol.load_labware( + "opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap", 10 + ) + rack_samples_25_48 = protocol.load_labware( + "opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap", 7 + ) + # Slot 12 is the fixed trash. + + # ------------------------------------------------------------------ pipettes + p1000 = protocol.load_instrument( + "p1000_single_gen2", "left", tip_racks=[tips_1000] + ) + p300 = protocol.load_instrument( + "p300_multi_gen2", "right", tip_racks=[tips_200_2, tips_200_3, tips_200_9] + ) + + # Gentle flow rates to avoid disturbing the magnetic bead pellets. + p1000.flow_rate.aspirate = 150 + p1000.flow_rate.dispense = 150 + p300.flow_rate.aspirate = 60 + p300.flow_rate.dispense = 60 + + # ------------------------------------------------------------------ reservoir map + beads_well = reservoir["A2"] # col 2: magnetic beads + elution_buffer = reservoir["A4"] # col 4: elution buffer + iso_wells = [reservoir["A6"], reservoir["A7"]] # col 6-7: isopropanol + etoh_wash1 = [reservoir["A9"], reservoir["A10"]] # col 9-10: 70% ethanol + etoh_wash2 = [reservoir["A11"], reservoir["A12"]] # col 11-12: 70% ethanol + + # ------------------------------------------------------------------ sample layout + odd_columns = [1, 3, 5, 7, 9, 11] + + # 48 samples in order 1..48 (each rack holds 24 tubes, A1..D6). + source_tubes = list(rack_samples_1_24.wells()) + list(rack_samples_25_48.wells()) + + # Sample i -> the matching odd-column well of the magnetic plate (one per well). + mag_wells = [] + for c in odd_columns: + mag_wells.extend(mag_plate.columns()[c - 1]) + + # Split isopropanol/ethanol across a pair of reservoir columns + # (12 mL needed per reagent <= 15 mL per column when halved). + def iso_source(i): + return iso_wells[0] if i < 24 else iso_wells[1] + + def etoh1_source(i): + return etoh_wash1[0] if i < 24 else etoh_wash1[1] + + def etoh2_source(i): + return etoh_wash2[0] if i < 24 else etoh_wash2[1] + + def remove_supernatant(volume, src_col, dst_col): + """Aspirate `volume` µL from a column of 8 wells and discard to waste. + + Uses the p300 multichannel with one set of tips, in <=190 µL chunks so it + never exceeds the 200 µL tip capacity. Tips are picked up / dropped by the + caller. + """ + remaining = volume + while remaining > 0: + vol = min(190, remaining) + p300.aspirate(vol, src_col[0].bottom(2)) + p300.dispense(vol, dst_col[0].top(-5)) + remaining -= vol + + # ------------------------------------------------------------------ setup + # Keep the elution plate at 4 °C (blocks until the module reaches target). + temp_mod.set_temperature(celsius=4) + mag_mod.disengage() + + # ================= Step 1: reagent mix ===================================== + protocol.comment( + "Step 1: add 40 µL beads, 250 µL isopropanol and 250 µL sample per well; " + "mix 5x; incubate 5 min at room temperature." + ) + # 40 µL magnetic beads — one multichannel tip reused (clean reagent), the + # beads are resuspended in the reservoir immediately before each pickup. + p300.pick_up_tip() + for c in odd_columns: + p300.mix(3, BEADS_VOL, beads_well) + p300.aspirate(BEADS_VOL, beads_well) + p300.dispense(BEADS_VOL, mag_plate.columns()[c - 1][0]) + p300.drop_tip() + + # 250 µL isopropanol — one single-channel tip reused (clean reagent). + p1000.pick_up_tip() + for i in range(48): + p1000.aspirate(ISOPROPANOL_VOL, iso_source(i)) + p1000.dispense(ISOPROPANOL_VOL, mag_wells[i]) + p1000.drop_tip() + + # 250 µL sample + mix five times — fresh tip per sample (avoids carry-over). + for i in range(48): + p1000.pick_up_tip() + p1000.aspirate(SAMPLE_VOL, source_tubes[i]) + p1000.dispense(SAMPLE_VOL, mag_wells[i]) + p1000.mix(MIX_REPETITIONS, MIX_VOLUME, mag_wells[i]) + p1000.drop_tip() + + protocol.delay(minutes=BIND_INCUBATION_MIN) + + # ================= Step 2: engage magnet 4 min ============================== + protocol.comment("Step 2: activate the GEN1 magnetic module for 4 min.") + mag_mod.engage() # uses the deep-well plate's default engage height (14.94 mm) + protocol.delay(minutes=MAGNET_BIND_MIN) + + # ================= Step 3: discard binding supernatant ====================== + protocol.comment("Step 3: collect and discard the binding supernatant.") + for k, c in enumerate(odd_columns): + p300.pick_up_tip() + remove_supernatant( + BINDING_SUPERNATANT_VOL, mag_plate.columns()[c - 1], waste.columns()[k] + ) + p300.drop_tip() + + # ================= Step 4: wash 1 (70% ethanol) ============================= + protocol.comment("Step 4: add 500 µL 70% ethanol, collect and discard.") + p1000.pick_up_tip() + for i in range(48): + p1000.aspirate(WASH_VOL, etoh1_source(i)) + p1000.dispense(WASH_VOL, mag_wells[i]) + p1000.drop_tip() + for k, c in enumerate(odd_columns): + p300.pick_up_tip() + remove_supernatant(WASH_VOL, mag_plate.columns()[c - 1], waste.columns()[k]) + p300.drop_tip() + + # ================= Step 5: wash 2 (70% ethanol) ============================= + protocol.comment("Step 5: add 500 µL 70% ethanol, collect and discard.") + p1000.pick_up_tip() + for i in range(48): + p1000.aspirate(WASH_VOL, etoh2_source(i)) + p1000.dispense(WASH_VOL, mag_wells[i]) + p1000.drop_tip() + for k, c in enumerate(odd_columns): + p300.pick_up_tip() + remove_supernatant(WASH_VOL, mag_plate.columns()[c - 1], waste.columns()[k]) + p300.drop_tip() + + # ================= Step 6: air dry 4 min ==================================== + protocol.comment("Step 6: air dry the beads for 4 min (magnet still engaged).") + protocol.delay(minutes=AIR_DRY_MIN) + + # ================= Step 7: disengage + add elution buffer =================== + protocol.comment("Step 7: turn off the magnet and add 100 µL elution buffer.") + mag_mod.disengage() + p300.pick_up_tip() + for c in odd_columns: + p300.aspirate(ELUTION_VOL, elution_buffer) + p300.dispense(ELUTION_VOL, mag_plate.columns()[c - 1][0]) + p300.drop_tip() + + # ================= Step 8: wait 30 s, re-engage ============================= + protocol.comment("Step 8: after 30 s turn on the magnetic module.") + protocol.delay(seconds=ELUTION_WAIT_SEC) + mag_mod.engage() + + # ================= Step 9: wait 90 s, recover eluate ======================== + protocol.comment( + "Step 9: after 90 s collect the supernatant and transfer to the 4 °C plate." + ) + protocol.delay(seconds=ELUTION_MAGNET_SEC) + for k, c in enumerate(odd_columns): + src_col = mag_plate.columns()[c - 1] + dst_col = elu_plate.columns()[c - 1] + p300.pick_up_tip() + p300.aspirate(ELUTION_VOL, src_col[0].bottom(1)) + p300.dispense(ELUTION_VOL, dst_col[0]) + p300.blow_out(dst_col[0]) + p300.drop_tip() + + mag_mod.disengage() + protocol.comment("Extraction complete: 48 eluates on the 4 °C elution plate.") \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/reward.json new file mode 100644 index 0000000..ee468eb --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.4375, "sim_pass": 1.0, "checks_frac": 1.0, "judge_score": 0.4375, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, "critical_fail": 0.0, "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 0.0, "rubric_fidelity_to_paper": 0.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 0.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/trial.json new file mode 100644 index 0000000..9533d4d --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction-hard/trial.json @@ -0,0 +1,32 @@ +{ + "task": "opentrons-rna-extraction-hard", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.4375, + "sim_pass": 1.0, + "checks_frac": 1.0, + "judge_score": 0.4375, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 0.0, + "deterministic_reward": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 0.0 + }, + "exception": null, + "cost_usd": 0.186434, + "input_tokens": 1601814, + "output_tokens": 53174, + "started_at": "2026-10-07T18:21:21.721531Z", + "finished_at": "2026-10-07T18:29:47.117493Z", + "cache_tokens": 1529856, + "claude_code_cost_usd": 2.454068 +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/grader.json new file mode 100644 index 0000000..e6a36d9 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/grader.json @@ -0,0 +1,241 @@ +{ + "variant": "reference", + "judge_model": "claude-sonnet-5-5", + "suspicious_tokens": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1324 + }, + "checks": { + "checks": [ + { + "name": "48_samples_to_odd_columns", + "pass": true, + "detail": "48 tubes -> 48 wells, odd columns only: True" + }, + { + "name": "step_order", + "pass": true, + "detail": "expected per well: beads > isopropanol > sample > remove > ethanol > remove > ethanol > remove > elution > recover" + }, + { + "name": "binding_volumes_40_250_250", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "mix_5x_after_sample", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "incubation_5min_before_magnet", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_4min_before_first_removal", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "supernatant_removed_each_step", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_engaged_for_all_removals", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "two_500ul_ethanol_washes", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "air_dry_4min", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_100ul", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_off_magnet_then_90s_on", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "recover_70_100ul_one_well_each", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "distinct_elution_wells", + "pass": true, + "detail": "48 distinct elution wells" + }, + { + "name": "elution_plate_4C_before_recovery", + "pass": true, + "detail": "temperatures set: [(0.0, 4.0)]" + }, + { + "name": "fresh_tip_per_sample_no_cross_contact", + "pass": true, + "detail": "48 distinct tips for 48 sample transfers; violations: []" + }, + { + "name": "reservoir_columns_within_15ml", + "pass": false, + "detail": "uL drawn per reservoir column: 2: 1920, 4: 4800, 6: 6000, 7: 6000, 9: 16000, 10: 16000, 11: 8000, 12: 8000" + }, + { + "name": "recover_about_80ul", + "pass": true, + "detail": "70-90 uL of the 100 uL eluate, as the task's step 13 says; 48/48 sample wells" + } + ], + "checks_passed": 17, + "checks_total": 18, + "total_delay_min": 15.0, + "example_well": "A1", + "example_sequence": [ + "beads 40uL", + "isopropanol 250uL", + "sample 250uL", + "remove 540uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "elution 100uL", + "recover 80uL (magnet)" + ] + }, + "critical_failures": [ + "reservoir_columns_within_15ml" + ], + "judge": { + "items": [ + { + "id": "robot_practice", + "score": 0, + "evidence": "Check reservoir_columns_within_15ml failed: ethanol columns 9 and 10 are each drawn 16000 uL (ethanol[i % 4] sends two columns of wash volume to each), exceeding the 15 mL well capacity.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "fresh_tip_per_sample_no_cross_contact passed (48 distinct tips, no violations); p1000 uses a new tip per sample, p300 uses a fresh tip per column for removals, and every tip is dropped.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "All 14 steps are in order with correct volumes, delays (5 min, 4 min, 4 min, 30 s, 90 s), magnet states and 4 C setting, and comments match the code.", + "votes": [ + 1, + 0, + 1 + ] + }, + { + "id": "sample_handling", + "score": 1, + "evidence": "48_samples_to_odd_columns and distinct_elution_wells passed; tubes_10 + tubes_7 map one-to-one to the 48 odd-column wells.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "binding_and_separation", + "score": 1, + "evidence": "The code adds 40 uL beads, 250 uL isopropanol, then 250 uL sample with a 5x mix, a 5 min delay, the magnet engaged for 4 min, and removal of 540 uL with the magnet on; the related checks passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "washes_and_drying", + "score": 1, + "evidence": "Two 500 uL ethanol washes are each removed with the magnet engaged, followed by a 4 min delay with the magnet still engaged and then a disengage before elution; two_500ul_ethanol_washes and air_dry_4min passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "elution_recovery", + "score": 1, + "evidence": "The code disengages, adds 100 uL, mixes, waits 30 s, engages for 90 s, then transfers 80 uL to a distinct well; recover_about_80ul passed.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 0.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "sample_handling": 1.0, + "binding_and_separation": 1.0, + "washes_and_drying": 1.0, + "elution_recovery": 1.0 + }, + "summary": "The protocol follows every step with correct volumes, timings, magnet states and per-sample tip handling, and all but one run-log check passed. It loses robot_practice because the ethanol reservoir columns 9 and 10 are each drawn 16 mL, over the 15 mL well capacity.", + "raw": "[{\"items\": [{\"id\": \"robot_practice\", \"score\": 0, \"evidence\": \"Check reservoir_columns_within_15ml failed: ethanol columns 9 and 10 are each drawn 16000 uL (ethanol[i % 4] sends two columns of wash volume to each), exceeding the 15 mL well capacity.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"fresh_tip_per_sample_no_cross_contact passed (48 distinct tips, no violations); p1000 uses a new tip per sample, p300 uses a fresh tip per column for removals, and every tip is dropped.\"}, {\"id\": \"fidelity_to_task\", \"score\": 1, \"evidence\": \"All 14 steps are in order with correct volumes, delays (5 min, 4 min, 4 min, 30 s, 90 s), magnet states and 4 C setting, and comments match the code.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"48_samples_to_odd_columns and distinct_elution_wells passed; tubes_10 + tubes_7 map one-to-one to the 48 odd-column wells.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"The code adds 40 uL beads, 250 uL isopropanol, then 250 uL sample with a 5x mix, a 5 min delay, the magnet engaged for 4 min, and removal of 540 uL with the magnet on; the related checks passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 uL ethanol washes are each removed with the magnet engaged, followed by a 4 min delay with the magnet still engaged and then a disengage before elution; two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"The code disengages, adds 100 uL, mixes, waits 30 s, engages for 90 s, then transfers 80 uL to a distinct well; recover_about_80ul passed.\"}], \"summary\": \"The protocol follows every step with correct volumes, timings, magnet states and per-sample tip handling, and all but one run-log check passed. It loses robot_practice because the ethanol reservoir columns 9 and 10 are each drawn 16 mL, over the 15 mL well capacity.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 0, \"evidence\": \"The failed check reservoir_columns_within_15ml shows columns 9 and 10 each drawn 16000 \\u00b5L (ethanol[i % 4] sends 2 columns of washes to A9 and A10), exceeding the 15 mL well capacity.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check fresh_tip_per_sample_no_cross_contact passes (48 distinct tips); p1000 uses a fresh tip per sample, p300 uses a fresh tip per column for supernatant removal, elution mixing and recovery, and all tips are dropped.\"}, {\"id\": \"fidelity_to_task\", \"score\": 0, \"evidence\": \"Ethanol is planned so that reservoir columns 9 and 10 are asked for 16 mL each, more than the well can hold, so the specified reagent supply is not actually deliverable.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Checks 48_samples_to_odd_columns and distinct_elution_wells pass; code zips tubes_10+tubes_7 to the 48 wells in odd columns 1,3,...,11.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Code adds 40 \\u00b5L beads, 250 \\u00b5L isopropanol, then 250 \\u00b5L sample with mix(5, 250), delay 5 min, engage, delay 4 min, then removes 2x270 \\u00b5L to waste; the related run-log checks all pass.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two washes of 2x250 \\u00b5L ethanol in and 2x250 \\u00b5L out with the magnet engaged, then a 4 min delay and mag_module.disengage() before elution; checks two_500ul_ethanol_washes and air_dry_4min pass.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"100 \\u00b5L elution is added after disengage and mixed, with a 30 s wait, engage and 90 s wait; then transfer(80) to a distinct elution well, and recover_about_80ul passes.\"}], \"summary\": \"The protocol follows the extraction steps and gets the sample mapping, tip handling, binding, washes and elution right. It fails robot_practice and fidelity because the ethanol distribution draws 16 mL from reservoir columns 9 and 10, above the 15 mL well capacity (the reservoir_columns_within_15ml check failed).\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 0, \"evidence\": \"Check reservoir_columns_within_15ml failed: ethanol columns 9 and 10 are drawn 16000 \\u00b5L each (ethanol[i % 4] reused for columns 1/5 and 3/7 in both washes), exceeding the 15 mL well capacity.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"fresh_tip_per_sample_no_cross_contact passed (48 distinct tips); p1000 gets a new tip per sample, and reagent tips never aspirate from sample wells; all tips dropped.\"}, {\"id\": \"fidelity_to_task\", \"score\": 1, \"evidence\": \"All 14 steps are in order with the right volumes and timings (5 min, 4 min, 2x500 \\u00b5L ethanol, 4 min dry, 100 \\u00b5L elution, 30 s + 90 s, 80 \\u00b5L recovery, final disengage); the reservoir overdraw is a practice issue, not a deviation from the stated steps.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"48_samples_to_odd_columns passed; tubes_10 + tubes_7 map one-to-one onto odd-column wells, and each eluate goes to its own elution well.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Code adds beads 40, isopropanol 250, then 250 \\u00b5L sample with mix(5, 250), delay 5 min, engage + 4 min, then removes 2x270 \\u00b5L to waste with magnet on; the matching checks passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two washes of 2x250 \\u00b5L ethanol added and 2x250 \\u00b5L removed with the magnet engaged, then 4 min delay with magnet still on, then disengage before elution.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"Disengage, add 100 \\u00b5L, mix 10x80, delay 30 s, engage, delay 90 s, transfer 80 \\u00b5L to a distinct well of the 4 \\u00b0C elution plate (recover_about_80ul passed).\"}], \"summary\": \"The protocol follows the specified steps, volumes and timings and handles tips correctly. It fails robot_practice because the ethanol distribution draws 16 mL from reservoir columns 9 and 10, above the 15 mL well capacity.\"}]", + "level": "easy", + "score": 0.75, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "sample_handling": 0.0625, + "binding_and_separation": 0.0625, + "washes_and_drying": 0.0625, + "elution_recovery": 0.0625 + }, + "model": "anthropic/claude-sonnet-5.5", + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.9444, + "judge_score": 0.75, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 1.0, + "deterministic_reward": 0.4722, + "rubric_robot_practice": 0.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/protocol.py new file mode 100644 index 0000000..a41e4b2 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/protocol.py @@ -0,0 +1,203 @@ +"""Magnetic-bead RNA extraction (SARS-CoV-2), in-house OT-2 protocol, 48 samples. + +Implements the "OT-2 in-house" magnetic-bead extraction described in +"Evaluation of two automated low-cost RNA extraction protocols for SARS-CoV-2 +detection" (La'zaro-Perona et al., PLOS ONE 2021, doi:10.1371/journal.pone.0246302). + +Deck layout (operator has loaded the robot as follows): + 1 waste plate (usascientific_96_wellplate_2.4ml_deep) + 2,3 200 uL filter tips + 4 Magnetic Module GEN1 + sample/extraction deep-well plate + 5 12-column reagent reservoir (beads, isopropanol, ethanol, elution) + 6 Temperature Module GEN1 + elution plate (thermo_96_wellplate_200ul) + 7 samples 25-48 (2 mL tubes) + 9 200 uL filter tips + 10 samples 1-24 (2 mL tubes) + 11 1000 uL filter tips + 12 fixed trash +""" + +from opentrons import protocol_api + +metadata = { + "protocolName": "Mag-bead RNA extraction (OT-2 in-house, 48 samples)", + "apiLevel": "2.15", +} + +NUM_SAMPLES = 48 +# Samples occupy the odd columns of the magnetic-module plate, one per well. +ODD_COLUMNS = [1, 3, 5, 7, 9, 11] + +ENGAGE_HEIGHT = 7 # mm above well bottom for the GEN1 magnetic module + + +def run(protocol: protocol_api.ProtocolContext): + # ---------------------------------------------------------------- deck ---- + waste_plate = protocol.load_labware( + "usascientific_96_wellplate_2.4ml_deep", "1" + ) + tips_200_a = protocol.load_labware("opentrons_96_filtertiprack_200ul", "2") + tips_200_b = protocol.load_labware("opentrons_96_filtertiprack_200ul", "3") + tips_200_c = protocol.load_labware("opentrons_96_filtertiprack_200ul", "9") + + mag_module = protocol.load_module("magnetic module", "4") + mag_plate = mag_module.load_labware("usascientific_96_wellplate_2.4ml_deep") + + reservoir = protocol.load_labware("nest_12_reservoir_15ml", "5") + + temp_module = protocol.load_module("tempdeck", "6") + elution_plate = temp_module.load_labware("thermo_96_wellplate_200ul") + + tubes_7 = protocol.load_labware( + "opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap", "7" + ) + tubes_10 = protocol.load_labware( + "opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap", "10" + ) + + tips_1000 = protocol.load_labware("opentrons_96_filtertiprack_1000ul", "11") + # Slot 12 is the fixed trash; nothing is loaded there. + + # ------------------------------------------------------------ pipettes ---- + p1000 = protocol.load_instrument( + "p1000_single_gen2", "left", tip_racks=[tips_1000] + ) + p300 = protocol.load_instrument( + "p300_multi_gen2", "right", tip_racks=[tips_200_a, tips_200_b, tips_200_c] + ) + + # --------------------------------------------------- reagent reservoir ---- + beads = reservoir["A2"] + elution_buffer = reservoir["A4"] + isopropanol_6 = reservoir["A6"] + isopropanol_7 = reservoir["A7"] + ethanol = [reservoir["A9"], reservoir["A10"], reservoir["A11"], reservoir["A12"]] + + # ------------------------------------------- sample & destination wells ---- + # The multi-channel pipette addresses whole columns; anchor each target + # column with its top well (A of that column). + sample_anchors = [mag_plate.columns_by_name()[str(c)][0] for c in ODD_COLUMNS] + waste_anchors = [waste_plate.columns_by_name()[str(c)][0] for c in ODD_COLUMNS] + elution_anchors = [ + elution_plate.columns_by_name()[str(c)][0] for c in ODD_COLUMNS + ] + # Individual wells, in order, for the single-channel 1000 uL pipette. + sample_columns = [mag_plate.columns_by_name()[str(c)] for c in ODD_COLUMNS] + sample_wells = [w for col in sample_columns for w in col] # 48 wells + # Samples 1-24 live in slot 10; samples 25-48 live in slot 7. + source_wells = list(tubes_10.wells()) + list(tubes_7.wells()) # 48 tubes + + # ------------------------------------- startup: disengage magnet + chill --- + mag_module.disengage() + # Keep the elution plate at 4 °C before any eluate reaches it. + temp_module.set_temperature(4) + + # ------------------------------------------------------------- binding ---- + + # 2. Add 40 uL magnetic beads (reservoir column 2) to every sample well. + protocol.comment("2. 40 uL magnetic beads") + p300.pick_up_tip() + for anchor in sample_anchors: + p300.transfer(40, beads, anchor, new_tip="never") + p300.drop_tip() + + # 3. Add 250 uL isopropanol (reservoir columns 6-7) to every sample well. + protocol.comment("3. 250 uL isopropanol") + p300.pick_up_tip() + for i, anchor in enumerate(sample_anchors): + source = isopropanol_6 if i < 3 else isopropanol_7 + p300.transfer(250, source, anchor, new_tip="never") + p300.drop_tip() + + # 4. Add 250 uL of each sample, fresh tip per sample, mix 5 times. + protocol.comment("4. 250 uL sample (fresh tip per sample, mix 5x)") + for source, dest in zip(source_wells, sample_wells): + p1000.pick_up_tip() + p1000.aspirate(250, source) + p1000.dispense(250, dest) + p1000.mix(5, 250, dest) + p1000.drop_tip() + + # 5. Incubate 5 min at room temperature. + protocol.comment("5. Incubate 5 min at room temperature") + protocol.delay(minutes=5) + + # 6. Engage the magnet and wait 4 min. + protocol.comment("6. Engage magnet, wait 4 min") + mag_module.engage(height_from_base=ENGAGE_HEIGHT) + protocol.delay(minutes=4) + + # 7. Remove ~540 uL supernatant (40 + 250 + 250) to the waste plate. + protocol.comment("7. Remove ~540 uL supernatant to waste") + for anchor, waste_anchor in zip(sample_anchors, waste_anchors): + p300.pick_up_tip() + for _ in range(2): # 2 x 270 uL = 540 uL + p300.transfer(270, anchor, waste_anchor, new_tip="never") + p300.drop_tip() + + # 8. Wash 1: add 500 uL 70% ethanol, then remove to waste (magnet engaged). + protocol.comment("8. Wash 1: 500 uL 70% ethanol in, then out") + p300.pick_up_tip() + for i, anchor in enumerate(sample_anchors): + source = ethanol[i % len(ethanol)] + for _ in range(2): # 2 x 250 uL = 500 uL + p300.transfer(250, source, anchor, new_tip="never") + p300.drop_tip() + + for anchor, waste_anchor in zip(sample_anchors, waste_anchors): + p300.pick_up_tip() + for _ in range(2): # remove 500 uL + p300.transfer(250, anchor, waste_anchor, new_tip="never") + p300.drop_tip() + + # 9. Wash 2: add 500 uL 70% ethanol, then remove to waste (magnet engaged). + protocol.comment("9. Wash 2: 500 uL 70% ethanol in, then out") + p300.pick_up_tip() + for i, anchor in enumerate(sample_anchors): + source = ethanol[i % len(ethanol)] + for _ in range(2): # 2 x 250 uL = 500 uL + p300.transfer(250, source, anchor, new_tip="never") + p300.drop_tip() + + for anchor, waste_anchor in zip(sample_anchors, waste_anchors): + p300.pick_up_tip() + for _ in range(2): # remove 500 uL + p300.transfer(250, anchor, waste_anchor, new_tip="never") + p300.drop_tip() + + # 10. Air-dry the beads 4 min with the magnet engaged. + protocol.comment("10. Air-dry 4 min (magnet engaged)") + protocol.delay(minutes=4) + + # ------------------------------------------------------------ elution ----- + + # 11. Disengage and add 100 uL elution buffer; mix to resuspend. + protocol.comment("11. Disengage, add 100 uL elution buffer, resuspend") + mag_module.disengage() + + p300.pick_up_tip() + for anchor in sample_anchors: + p300.transfer(100, elution_buffer, anchor, new_tip="never") + p300.drop_tip() + + for anchor in sample_anchors: # resuspend: fresh tip per column + p300.pick_up_tip() + p300.mix(10, 80, anchor) + p300.drop_tip() + + # 12. Wait 30 s, engage the magnet, wait 90 s. + protocol.comment("12. Wait 30 s, engage magnet, wait 90 s") + protocol.delay(seconds=30) + mag_module.engage(height_from_base=ENGAGE_HEIGHT) + protocol.delay(minutes=1, seconds=30) + + # 13. Transfer 80 uL eluate to the 4 °C elution plate (own well each). + protocol.comment("13. Transfer 80 uL eluate to elution plate (4 °C)") + for anchor, elution_anchor in zip(sample_anchors, elution_anchors): + p300.pick_up_tip() + p300.transfer(80, anchor, elution_anchor, new_tip="never") + p300.drop_tip() + + # 14. Disengage the magnet at the end of the run. + protocol.comment("14. Disengage magnet (end of run)") + mag_module.disengage() \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/reward.json new file mode 100644 index 0000000..341c92f --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/reward.json @@ -0,0 +1 @@ +{"reward": 0.3, "sim_pass": 1.0, "checks_frac": 0.9444, "judge_score": 0.75, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, "critical_fail": 1.0, "deterministic_reward": 0.4722, "rubric_robot_practice": 0.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 1.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/trial.json new file mode 100644 index 0000000..03b3b2c --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/opentrons-rna-extraction/trial.json @@ -0,0 +1,32 @@ +{ + "task": "opentrons-rna-extraction", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.9444, + "judge_score": 0.75, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 1.0, + "deterministic_reward": 0.4722, + "rubric_robot_practice": 0.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 1.0 + }, + "exception": null, + "cost_usd": 1.170359, + "input_tokens": 1685986, + "output_tokens": 44933, + "started_at": "2026-10-07T18:21:21.709374Z", + "finished_at": "2026-10-07T18:33:19.625887Z", + "cache_tokens": 49152, + "claude_code_cost_usd": 9.332071000000001 +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/grader.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/grader.json new file mode 100644 index 0000000..f39ac72 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/grader.json @@ -0,0 +1,137 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 7 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plate", + "pass": true, + "detail": "expected volumes [100.0, 100.0], got [100.0, 100.0] (positions free)" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13 is valid, and the 100 \u00b5L transfers use the p300, which covers that volume. The measured checks for overdispense and empty-well aspiration passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "new_tip='once' gives one tip for a single reagent source, and the tip_before_aspirate, tip_dropped_at_end and no_cross_contamination checks all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "The single step, 100 \u00b5L from reservoir A1 to plate A1 and B1, is done as specified. The unused p20 and its rack are not loaded, which does not change the outcome.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "deck_and_hardware", + "score": 1, + "evidence": "The reservoir in slot 1 and plate in slot 2 are loaded with the specified labels. The p300 on the right uses the 300 \u00b5L tip rack in slot 11.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "volumes_and_wells", + "score": 1, + "evidence": "p300.transfer(100, reservoir['A1'], [plate['A1'], plate['B1']]) was used, and the end_state check got [100.0, 100.0] in the plate.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "deck_and_hardware": 1.0, + "volumes_and_wells": 1.0 + }, + "summary": "The protocol simulates cleanly, and every measured check passed. It transfers 100 \u00b5L to each of plate A1 and B1 with the p300 and one tip. It leaves out the unused p20 and its rack, which does not change the outcome.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "deck_and_hardware": 0.125, + "volumes_and_wells": 0.125 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/protocol.py b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/protocol.py new file mode 100644 index 0000000..2a7dd9d --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/protocol.py @@ -0,0 +1,28 @@ +from opentrons import protocol_api + +metadata = { + 'apiLevel': '2.13', + 'protocolName': 'Split 200 uL into two 100 uL wells', +} + +def run(protocol: protocol_api.ProtocolContext): + # Load labware with labels exactly as specified + reservoir = protocol.load_labware('nest_1_reservoir_195ml', 1, label='reservoir') + plate = protocol.load_labware('corning_96_wellplate_360ul_flat', 2, label='plate') + + # Pipettes: p300 on the right (for 100 uL), tips are unlimited + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', + tip_racks=[protocol.load_labware('opentrons_96_tiprack_300ul', 11)], + ) + + # Reset tip racks to indicate tips are unlimited + p300.reset_tipracks() + + # Transfer 100 uL from reservoir A1 to plate A1 and B1 + p300.transfer( + 100, + reservoir['A1'], + [plate['A1'], plate['B1']], + new_tip='once', + ) \ No newline at end of file diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/reward.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/reward.json new file mode 100644 index 0000000..5b16841 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0} diff --git a/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/trial.json b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/trial.json new file mode 100644 index 0000000..fd05323 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/deepseek-v4-pro-0813/split-200ul-two-wells/trial.json @@ -0,0 +1,29 @@ +{ + "task": "split-200ul-two-wells", + "model": "deepseek/deepseek-v4-pro-0813", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + }, + "exception": null, + "cost_usd": 0.022981, + "input_tokens": 49087, + "output_tokens": 532, + "started_at": "2026-10-07T18:21:21.726625Z", + "finished_at": "2026-10-07T18:23:44.340553Z", + "cache_tokens": 16410, + "claude_code_cost_usd": 0.18489 +} diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/a1-a12-100ul/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/a1-a12-100ul/trial.json index 597c9e2..3a4622e 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/a1-a12-100ul/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/a1-a12-100ul/trial.json @@ -19,9 +19,11 @@ "rubric_volumes_and_wells": 1.0 }, "exception": null, - "cost_usd": 0.14462450000000002, + "cost_usd": 0.045447, "input_tokens": 56041, "output_tokens": 752, "started_at": "2026-10-07T13:42:06.659918Z", - "finished_at": "2026-10-07T13:43:18.902754Z" + "finished_at": "2026-10-07T13:43:18.902754Z", + "cache_tokens": 39029, + "claude_code_cost_usd": 0.14462450000000002 } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ampure-bead-cleanup/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ampure-bead-cleanup/trial.json index b8628d4..56a7290 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ampure-bead-cleanup/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ampure-bead-cleanup/trial.json @@ -21,9 +21,11 @@ "rubric_recovery": 1.0 }, "exception": null, - "cost_usd": 0.20954699999999998, + "cost_usd": 0.070502, "input_tokens": 60085, "output_tokens": 2975, "started_at": "2026-10-07T13:58:56.205406Z", - "finished_at": "2026-10-07T14:01:31.730219Z" + "finished_at": "2026-10-07T14:01:31.730219Z", + "cache_tokens": 41799, + "claude_code_cost_usd": 0.20954699999999998 } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/grader.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/grader.json index fcba1cf..624f0e0 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/grader.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/grader.json @@ -5,6 +5,9 @@ "ok": true, "n_commands": 1458 }, + "not_applicable": [ + "end_state:pcr_plate (the source paper does not determine the exact volumes; composition checked instead)" + ], "checks": [ { "name": "simulator_ran", @@ -42,9 +45,9 @@ "detail": "" }, { - "name": "end_state:pcr_plate", - "pass": false, - "detail": "expected {'A1': 20.0, 'A2': 20.0, 'A3': 20.0, 'A4': 20.0, 'A5': 20.0, 'A6': 20.0, 'A7': 20.0, 'A8': 20.0, 'A9': 20.0, 'A10': 20.0, 'A11': 20.0, 'A12': 20.0, 'B1': 20.0, 'B2': 20.0, 'B3': 20.0, 'B4': 20.0, 'B5': 20.0, 'B6': 20.0, 'B7': 20.0, 'B8': 20.0, 'B9': 20.0, 'B10': 20.0, 'B11': 20.0, 'B12': 20.0, 'C1': 20.0, 'C2': 20.0, 'C3': 20.0, 'C4': 20.0, 'C5': 20.0, 'C6': 20.0, 'C7': 20.0, 'C8': 20.0, 'C9': 20.0, 'C10': 20.0, 'C11': 20.0, 'C12': 20.0, 'D1': 20.0, 'D2': 20.0, 'D3': 20.0, 'D4': 20.0, 'D5': 20.0, 'D6': 20.0, 'D7': 20.0, 'D8': 20.0, 'D9': 20.0, 'D10': 20.0, 'D11': 20.0, 'D12': 20.0, 'E1': 20.0, 'E2': 20.0, 'E3': 20.0, 'E4': 20.0, 'E5': 20.0, 'E6': 20.0, 'E7': 20.0, 'E8': 20.0, 'E9': 20.0, 'E10': 20.0, 'E11': 20.0, 'E12': 20.0, 'F1': 20.0, 'F2': 20.0, 'F3': 20.0, 'F4': 20.0, 'F5': 20.0, 'F6': 20.0, 'F7': 20.0, 'F8': 20.0, 'F9': 20.0, 'F10': 20.0, 'F11': 20.0, 'F12': 20.0, 'G1': 20.0, 'G2': 20.0, 'G3': 20.0, 'G4': 20.0, 'G5': 20.0, 'G6': 20.0, 'G7': 20.0, 'G8': 20.0, 'G9': 20.0, 'G10': 20.0, 'G11': 20.0, 'G12': 20.0, 'H1': 20.0, 'H2': 20.0, 'H3': 20.0, 'H4': 20.0, 'H5': 20.0, 'H6': 20.0, 'H7': 20.0, 'H8': 20.0, 'H9': 20.0, 'H10': 20.0, 'H11': 20.0, 'H12': 20.0}, got {'A1': 10.0, 'B1': 10.0, 'C1': 10.0, 'D1': 10.0, 'E1': 10.0, 'F1': 10.0, 'G1': 10.0, 'H1': 10.0, 'A2': 10.0, 'B2': 10.0, 'C2': 10.0, 'D2': 10.0, 'E2': 10.0, 'F2': 10.0, 'G2': 10.0, 'H2': 10.0, 'A3': 10.0, 'B3': 10.0, 'C3': 10.0, 'D3': 10.0, 'E3': 10.0, 'F3': 10.0, 'G3': 10.0, 'H3': 10.0, 'A4': 10.0, 'B4': 10.0, 'C4': 10.0, 'D4': 10.0, 'E4': 10.0, 'F4': 10.0, 'G4': 10.0, 'H4': 10.0, 'A5': 10.0, 'B5': 10.0, 'C5': 10.0, 'D5': 10.0, 'E5': 10.0, 'F5': 10.0, 'G5': 10.0, 'H5': 10.0, 'A6': 10.0, 'B6': 10.0, 'C6': 10.0, 'D6': 10.0, 'E6': 10.0, 'F6': 10.0, 'G6': 10.0, 'H6': 10.0, 'A7': 10.0, 'B7': 10.0, 'C7': 10.0, 'D7': 10.0, 'E7': 10.0, 'F7': 10.0, 'G7': 10.0, 'H7': 10.0, 'A8': 10.0, 'B8': 10.0, 'C8': 10.0, 'D8': 10.0, 'E8': 10.0, 'F8': 10.0, 'G8': 10.0, 'H8': 10.0, 'A9': 10.0, 'B9': 10.0, 'C9': 10.0, 'D9': 10.0, 'E9': 10.0, 'F9': 10.0, 'G9': 10.0, 'H9': 10.0, 'A10': 10.0, 'B10': 10.0, 'C10': 10.0, 'D10': 10.0, 'E10': 10.0, 'F10': 10.0, 'G10': 10.0, 'H10': 10.0, 'A11': 10.0, 'B11': 10.0, 'C11': 10.0, 'D11': 10.0, 'E11': 10.0, 'F11': 10.0, 'G11': 10.0, 'H11': 10.0, 'A12': 10.0, 'B12': 10.0, 'C12': 10.0, 'D12': 10.0, 'E12': 10.0, 'F12': 10.0, 'G12': 10.0, 'H12': 10.0}" + "name": "composition:pcr_plate", + "pass": true, + "detail": "" }, { "name": "end_state:primer_plate", @@ -58,7 +61,7 @@ { "id": "robot_practice", "score": 0, - "evidence": "The protocol adds a needless manual well-by-well transfer of all 96 reactions to a different plate plus several pauses, extra handling that puts samples at risk. Otherwise, apiLevel 2.15 is valid and all volumes (1-5 uL) are handled by the p20.", + "evidence": "Valid apiLevel 2.15 and P20 volumes of 1\u20135 \u00b5L are fine, but the protocol tells the user to manually transfer all 96 reactions from the Corning pcr_plate into a different PCR plate. That is needless extra handling that puts samples at risk.", "votes": [ 0, 0, @@ -68,7 +71,7 @@ { "id": "tips_and_contamination", "score": 1, - "evidence": "add_reagent picks up a fresh tip for every transfer and drops it. The tip checks (tip_before_aspirate, tip_dropped_at_end, no_cross_contamination) all pass.", + "evidence": "add_reagent picks up a fresh tip and drops it for every transfer. The tip_before_aspirate, no_cross_contamination and tip_dropped_at_end checks all pass.", "votes": [ 1, 1, @@ -78,7 +81,7 @@ { "id": "fidelity_to_paper", "score": 0, - "evidence": "The protocol invents a manual transfer to a real PCR plate and extra pauses, and assumes a 1.25 uM primer concentration. The paper has no such steps, so it is not fully faithful.", + "evidence": "The protocol invents a manual transfer into a separate 0.2 mL PCR plate, a gel electrophoresis step, and assumed primer dilutions and cycling values. The paper's OT-2 workflow runs the reaction in the destination plate.", "votes": [ 0, 0, @@ -88,7 +91,7 @@ { "id": "reaction_setup", "score": 1, - "evidence": "Each 10 uL reaction gets 5 uL Q5 2x (1x final), 4 uL of its primer pair, then 1 uL colony template, with master mix added first. This is an allowed 10 uL reaction.", + "evidence": "Each 10 \u00b5L well gets 5 \u00b5L 2x Q5 (1x final) first, then 4 \u00b5L primer pair, then 1 \u00b5L colony template last.", "votes": [ 1, 1, @@ -98,7 +101,7 @@ { "id": "sample_mapping", "score": 1, - "evidence": "The loops use primer_plate[destination.well_name] and colony_plate[destination.well_name] over pcr_plate.wells(), giving a one-to-one A1-H12 mapping with no well skipped or reused.", + "evidence": "Primer and colony wells map to the same-named pcr_plate wells (primer_plate[destination.well_name], colony_plate[destination.well_name]) across all 96 wells, each used once.", "votes": [ 1, 1, @@ -108,7 +111,7 @@ { "id": "thermocycling", "score": 1, - "evidence": "The comments record sealing and a Q5 program: 98C 30 s, 30 cycles of 98C 10 s / 65C 20 s / 72C 30 s, a 72C 120 s final extension and a 4C hold.", + "evidence": "The comments record sealing and a Q5 program: 98 \u00b0C for 30 s, then 30 cycles of 98 \u00b0C 10 s, 65 \u00b0C 20 s and 72 \u00b0C 30 s, then 72 \u00b0C for 2 min and a 4 \u00b0C hold.", "votes": [ 1, 1, @@ -124,7 +127,7 @@ "sample_mapping": 1.0, "thermocycling": 1.0 }, - "summary": "The pipetting itself is sound: fresh tips throughout, correct master mix, primer and template order, A1-to-A1 mapping, and a reasonable Q5 cycling program. However, it invents a manual transfer of all reactions to a real PCR plate and several pauses, which fails robot_practice and fidelity_to_paper.", + "summary": "The agent builds correct 10 \u00b5L reactions with the right order, fresh tips and a one-to-one well mapping, and it records a sensible Q5 program. It loses robot_practice and fidelity because it adds an invented manual transfer to a different PCR plate, plus a gel step and assumed primer concentrations.", "level": "hard", "score": 0.5, "weights": { @@ -143,10 +146,10 @@ "rewards": { "reward": 0.5, "sim_pass": 1.0, - "checks_frac": 0.8889, + "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, - "deterministic_reward": 0.3333, + "deterministic_reward": 1.0, "judge_score": 0.5, "critical_fail": 0.0, "rubric_robot_practice": 0.0, diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/reward.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/reward.json index 2df1807..e64415a 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/reward.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/reward.json @@ -1 +1 @@ -{"reward": 0.5, "sim_pass": 1.0, "checks_frac": 0.8889, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.3333, "judge_score": 0.5, "critical_fail": 0.0, "rubric_robot_practice": 0.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0} +{"reward": 0.5, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 0.5, "critical_fail": 0.0, "rubric_robot_practice": 0.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 1.0} diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/trial.json index ba5d3d5..e3bda6a 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening-hard/trial.json @@ -6,10 +6,10 @@ "rewards": { "reward": 0.5, "sim_pass": 1.0, - "checks_frac": 0.8889, + "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, - "deterministic_reward": 0.3333, + "deterministic_reward": 1.0, "judge_score": 0.5, "critical_fail": 0.0, "rubric_robot_practice": 0.0, @@ -20,9 +20,27 @@ "rubric_thermocycling": 1.0 }, "exception": null, - "cost_usd": 0.5308607500000001, + "cost_usd": 0.175628, "input_tokens": 244828, "output_tokens": 9296, "started_at": "2026-10-07T13:39:39.080139Z", - "finished_at": "2026-10-07T13:44:30.315966Z" + "finished_at": "2026-10-07T13:44:30.315966Z", + "original_rewards": { + "reward": 0.5, + "sim_pass": 1.0, + "checks_frac": 0.8889, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.3333, + "judge_score": 0.5, + "critical_fail": 0.0, + "rubric_robot_practice": 0.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_reaction_setup": 1.0, + "rubric_sample_mapping": 1.0, + "rubric_thermocycling": 1.0 + }, + "cache_tokens": 214204, + "claude_code_cost_usd": 0.5308607500000001 } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening/trial.json index 3bf14f8..4c62378 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/colony-pcr-screening/trial.json @@ -20,9 +20,11 @@ "rubric_thermocycling": 1.0 }, "exception": null, - "cost_usd": 0.195742, + "cost_usd": 0.06404, "input_tokens": 73235, "output_tokens": 2375, "started_at": "2026-10-07T14:01:31.749158Z", - "finished_at": "2026-10-07T14:03:25.377114Z" + "finished_at": "2026-10-07T14:03:25.377114Z", + "cache_tokens": 55884, + "claude_code_cost_usd": 0.195742 } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ecoli-heat-shock-transformation-hard/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ecoli-heat-shock-transformation-hard/trial.json index 2ee92b6..3b39d4c 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ecoli-heat-shock-transformation-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ecoli-heat-shock-transformation-hard/trial.json @@ -20,9 +20,11 @@ "rubric_soc_recovery": 1.0 }, "exception": null, - "cost_usd": 0.4586475, + "cost_usd": 0.150522, "input_tokens": 197181, "output_tokens": 6795, "started_at": "2026-10-07T13:58:29.839535Z", - "finished_at": "2026-10-07T14:02:36.943922Z" + "finished_at": "2026-10-07T14:02:36.943922Z", + "cache_tokens": 164100, + "claude_code_cost_usd": 0.4586475 } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ecoli-heat-shock-transformation/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ecoli-heat-shock-transformation/trial.json index 6ede812..9c83130 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ecoli-heat-shock-transformation/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/ecoli-heat-shock-transformation/trial.json @@ -20,9 +20,11 @@ "rubric_soc_recovery": 1.0 }, "exception": null, - "cost_usd": 0.14921825, + "cost_usd": 0.047349, "input_tokens": 56632, "output_tokens": 995, "started_at": "2026-10-07T13:44:30.334245Z", - "finished_at": "2026-10-07T13:46:00.368630Z" + "finished_at": "2026-10-07T13:46:00.368630Z", + "cache_tokens": 39929, + "claude_code_cost_usd": 0.14921825 } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/golden-gate-assembly-hard/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/golden-gate-assembly-hard/trial.json index 90cfb56..5fcbbb1 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/golden-gate-assembly-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/golden-gate-assembly-hard/trial.json @@ -21,9 +21,11 @@ "rubric_cycling_and_transformation": 1.0 }, "exception": null, - "cost_usd": 0.7440309999999999, + "cost_usd": 0.245584, "input_tokens": 358635, "output_tokens": 13285, "started_at": "2026-10-07T13:34:52.817517Z", - "finished_at": "2026-10-07T13:42:06.642645Z" + "finished_at": "2026-10-07T13:42:06.642645Z", + "cache_tokens": 318177, + "claude_code_cost_usd": 0.7440309999999999 } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/golden-gate-assembly/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/golden-gate-assembly/trial.json index 10361c2..abab06c 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/golden-gate-assembly/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/golden-gate-assembly/trial.json @@ -21,9 +21,11 @@ "rubric_cycling_and_transformation": 1.0 }, "exception": null, - "cost_usd": 0.38147100000000006, + "cost_usd": 0.132945, "input_tokens": 97215, "output_tokens": 7606, "started_at": "2026-10-07T13:34:52.845480Z", - "finished_at": "2026-10-07T13:39:39.055629Z" + "finished_at": "2026-10-07T13:39:39.055629Z", + "cache_tokens": 72392, + "claude_code_cost_usd": 0.38147100000000006 } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/grader.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/grader.json index 98c4646..d131bef 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/grader.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/grader.json @@ -118,7 +118,7 @@ { "id": "robot_practice", "score": 1, - "evidence": "apiLevel 2.13, volumes split into \u2264200 \u00b5L strokes on the p300 multi (min 20 \u00b5L), the p1000 handles 250 \u00b5L samples, no well or reservoir overfilled (check reservoir_columns_within_15ml passes), and the simulator ran clean.", + "evidence": "apiLevel 2.13; p1000 handles 250/540 uL mixes, multi uses \u2264200 uL strokes with 200 uL filter tips, reservoir draws are within 15 mL (check passed), and the 540 uL/1540 uL wells fit the 2.4 mL deep wells.", "votes": [ 1, 1, @@ -128,7 +128,7 @@ { "id": "tips_and_contamination", "score": 1, - "evidence": "The check fresh_tip_per_sample_no_cross_contact passes with 48 distinct tips. Every pick_up_tip is followed by a drop_tip. Removal and elution use fresh tips per column, and the shared reagent tips dispense at well tops without touching liquid.", + "evidence": "Check 'fresh_tip_per_sample_no_cross_contact' passed with 48 distinct tips; every removal and elution step uses a fresh tip per column; shared reagent tips only dispense at the well top and never touch sample; all tips are dropped.", "votes": [ 1, 1, @@ -137,18 +137,18 @@ }, { "id": "fidelity_to_paper", - "score": 0, - "evidence": "The eluate recovery aspirates and moves the full ELUTION_VOLUME (100 \u00b5L) from a well holding 100 \u00b5L, with the magnet engaged. The expected recovery is about 80 \u00b5L, so this deviates from the specification.", + "score": 1, + "evidence": "All 17 checks passed; the order of beads, isopropanol, sample, 5 mixes, 5 min wait, 4 min magnet, two 500 uL ethanol washes, 4 min dry, 100 uL elution, 30 s off-magnet, 90 s magnet and recovery matches the paper, and comments are accurate.", "votes": [ - 0, 1, - 0 + 1, + 1 ] }, { "id": "sample_handling", "score": 1, - "evidence": "The check 48_samples_to_odd_columns passes. The p1000 moves 250 \u00b5L from each tube into its own odd-column well, and the 48 eluates land in distinct wells.", + "evidence": "Check 48_samples_to_odd_columns passed, and the single-channel loop moves 250 uL from each tube to its own well in the odd columns, with 48 distinct elution wells.", "votes": [ 1, 1, @@ -158,7 +158,7 @@ { "id": "binding_and_separation", "score": 1, - "evidence": "Beads 40, isopropanol 250, then sample 250 \u00b5L are added in that order, with single.mix(5,...) per sample. A 5 min delay is followed by magnet engage and a 4 min delay, then supernatant is removed with the magnet on (all related checks pass).", + "evidence": "Checks binding_volumes_40_250_250, mix_5x_after_sample, incubation_5min_before_magnet, magnet_4min_before_first_removal and magnet_engaged_for_all_removals passed; the 540 uL supernatant goes to waste with the magnet on.", "votes": [ 1, 1, @@ -168,7 +168,7 @@ { "id": "washes_and_drying", "score": 1, - "evidence": "Two 500 \u00b5L ethanol washes are each removed to waste with the magnet engaged. A 4 min delay follows, then mag.disengage() before elution (checks two_500ul_ethanol_washes and air_dry_4min pass).", + "evidence": "Check two_500ul_ethanol_washes passed, each wash is removed with the magnet engaged, and a 4 min delay precedes mag.disengage() (air_dry_4min passed).", "votes": [ 1, 1, @@ -177,28 +177,28 @@ }, { "id": "elution_recovery", - "score": 0, - "evidence": "Recovery is the full 100 \u00b5L (aspirate ELUTION_VOLUME from source.bottom(z=0.5)), not about 80 \u00b5L. This risks drawing beads and does not match the expected recovery volume.", + "score": 1, + "evidence": "100 uL elution is added after mag.disengage() and mixed, followed by 30 s, magnet on, 90 s, then 100 uL recovered to distinct wells of the 4 C plate (checks elution_off_magnet_then_90s_on, recover_70_100ul_one_well_each and elution_plate_4C_before_recovery passed).", "votes": [ - 0, 1, - 0 + 1, + 1 ] } ], "scores": { "robot_practice": 1.0, "tips_and_contamination": 1.0, - "fidelity_to_paper": 0.0, + "fidelity_to_paper": 1.0, "sample_handling": 1.0, "binding_and_separation": 1.0, "washes_and_drying": 1.0, - "elution_recovery": 0.0 + "elution_recovery": 1.0 }, - "summary": "The protocol follows the paper's step order, timings, magnet use, tip handling and sample-to-well mapping, and all 17 measured checks pass. It recovers the full 100 \u00b5L of eluate instead of about 80 \u00b5L, so elution_recovery and the all-or-nothing fidelity item score 0.", - "raw": "[{\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13, volumes split into \\u2264200 \\u00b5L strokes on the p300 multi (min 20 \\u00b5L), the p1000 handles 250 \\u00b5L samples, no well or reservoir overfilled (check reservoir_columns_within_15ml passes), and the simulator ran clean.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"The check fresh_tip_per_sample_no_cross_contact passes with 48 distinct tips. Every pick_up_tip is followed by a drop_tip. Removal and elution use fresh tips per column, and the shared reagent tips dispense at well tops without touching liquid.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"The eluate recovery aspirates and moves the full ELUTION_VOLUME (100 \\u00b5L) from a well holding 100 \\u00b5L, with the magnet engaged. The expected recovery is about 80 \\u00b5L, so this deviates from the specification.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"The check 48_samples_to_odd_columns passes. The p1000 moves 250 \\u00b5L from each tube into its own odd-column well, and the 48 eluates land in distinct wells.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40, isopropanol 250, then sample 250 \\u00b5L are added in that order, with single.mix(5,...) per sample. A 5 min delay is followed by magnet engage and a 4 min delay, then supernatant is removed with the magnet on (all related checks pass).\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes are each removed to waste with the magnet engaged. A 4 min delay follows, then mag.disengage() before elution (checks two_500ul_ethanol_washes and air_dry_4min pass).\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"Recovery is the full 100 \\u00b5L (aspirate ELUTION_VOLUME from source.bottom(z=0.5)), not about 80 \\u00b5L. This risks drawing beads and does not match the expected recovery volume.\"}], \"summary\": \"The protocol follows the paper's step order, timings, magnet use, tip handling and sample-to-well mapping, and all 17 measured checks pass. It recovers the full 100 \\u00b5L of eluate instead of about 80 \\u00b5L, so elution_recovery and the all-or-nothing fidelity item score 0.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13; the p1000 handles 250 uL and the p300 multi handles at most 200 uL per stroke. The 17 measured checks pass. Well and reservoir volumes are within capacity (waste 1540 uL/well, reservoir draws under 15 mL).\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips. Each removal uses fresh tips per column and every tip is dropped. Shared reagent tips only dispense at well tops without contacting liquid, and the beads are dispensed into empty wells.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 1, \"evidence\": \"Step order, volumes (40/250/250, two 500 uL washes, 100 uL elution), 5 min incubation, 4 min magnet, 4 min dry, 30 s off-magnet and 90 s on-magnet delays all match the paper. The elution plate is held at 4 C and the comments are accurate.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed. The single-channel pipette moves 250 uL from each tube to its own well in columns 1,3,...,11 with a fresh tip per sample.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40 uL, then isopropanol 250 uL, then sample 250 uL with mix(5). Then delay(5 min), engage, delay(4 min), and remove_to_waste(540) with the magnet on. Checks mix_5x, incubation_5min, magnet_4min and supernatant_removed pass.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 uL ethanol washes, each removed to waste with the magnet engaged. A 4 min delay follows, then mag.disengage() before elution. Checks two_500ul_ethanol_washes and air_dry_4min pass.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"100 uL elution is added off-magnet and mixed 5x. The code then waits 30 s, engages the magnet for 90 s, and recovers to a distinct well of the 4 C elution plate. It recovers the full 100 uL rather than about 80, but the check recover_70_100ul passed.\"}], \"summary\": \"The protocol passed all 17 measured run-log checks. It follows the paper's step order, volumes, timings and magnet handling with fresh tips for each sample and each removal step. The one minor deviation is recovering the full 100 uL eluate instead of about 80 uL, which the measured check accepts.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13, all volumes within p300 multi (\\u226520, \\u2264200 per stroke) and p1000 ranges; waste 1540 \\u00b5L/well fits 2.4 mL; reservoir draws within 15 mL; 17/17 checks passed.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check fresh_tip_per_sample_no_cross_contact passed (48 distinct tips); every pick_up_tip is paired with drop_tip; reagent tips dispense at well top without contacting liquid.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"Recovers 100 \\u00b5L from the bead well (`ELUTION_VOLUME` in the recovery aspirate) instead of about 80 \\u00b5L as in the paper-based method, so it is not fully faithful.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed; single-channel one tip per sample from tubes to sample_wells in odd columns, with distinct elution wells.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40, isopropanol 250, then sample 250, mix(5,400), delay 5 min, magnet engaged with 4 min delay, then removal to waste with magnet on; checks passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes each removed with the magnet engaged, then 4 min delay and mag.disengage() before elution; checks passed.\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"Recovery aspirates and dispenses ELUTION_VOLUME (100 \\u00b5L) rather than about 80 \\u00b5L, even though elution, 90 s magnet and distinct wells at 4 C are right.\"}], \"summary\": \"The protocol follows the paper's order, volumes, timings, magnet use and tip handling, and all 17 measured checks passed. It recovers 100 \\u00b5L of eluate rather than about 80 \\u00b5L, so it fails elution_recovery and, as a deviation from the paper, fidelity_to_paper.\"}]", + "summary": "The protocol passed all 17 measured run-log checks and follows the paper's step order, volumes and timings. Tip handling and labware use are sound, so every rubric item scores 1.", + "raw": "[{\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13; p1000 handles 250/540 uL mixes, multi uses \\u2264200 uL strokes with 200 uL filter tips, reservoir draws are within 15 mL (check passed), and the 540 uL/1540 uL wells fit the 2.4 mL deep wells.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check 'fresh_tip_per_sample_no_cross_contact' passed with 48 distinct tips; every removal and elution step uses a fresh tip per column; shared reagent tips only dispense at the well top and never touch sample; all tips are dropped.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 1, \"evidence\": \"All 17 checks passed; the order of beads, isopropanol, sample, 5 mixes, 5 min wait, 4 min magnet, two 500 uL ethanol washes, 4 min dry, 100 uL elution, 30 s off-magnet, 90 s magnet and recovery matches the paper, and comments are accurate.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed, and the single-channel loop moves 250 uL from each tube to its own well in the odd columns, with 48 distinct elution wells.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Checks binding_volumes_40_250_250, mix_5x_after_sample, incubation_5min_before_magnet, magnet_4min_before_first_removal and magnet_engaged_for_all_removals passed; the 540 uL supernatant goes to waste with the magnet on.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Check two_500ul_ethanol_washes passed, each wash is removed with the magnet engaged, and a 4 min delay precedes mag.disengage() (air_dry_4min passed).\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"100 uL elution is added after mag.disengage() and mixed, followed by 30 s, magnet on, 90 s, then 100 uL recovered to distinct wells of the 4 C plate (checks elution_off_magnet_then_90s_on, recover_70_100ul_one_well_each and elution_plate_4C_before_recovery passed).\"}], \"summary\": \"The protocol passed all 17 measured run-log checks and follows the paper's step order, volumes and timings. Tip handling and labware use are sound, so every rubric item scores 1.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13; multi strokes are capped at 200 uL (\\u226540 uL), the p1000 handles 250 uL and mixes at 400 uL, no well overfills (waste 1540 uL, reservoir draws \\u226412 mL), and the reservoir_columns_within_15ml check passed.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"The check fresh_tip_per_sample_no_cross_contact found 48 distinct tips for the 48 samples. Every removal and elution step uses a fresh tip per column, and every tip is dropped. Reagent tips are shared across columns only by dispensing near the well top, never into liquid.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 1, \"evidence\": \"All 17 run-log checks pass: 40/250/250 uL in order, 5 mixes, 5 min incubation, 4 min magnet, two 500 uL ethanol washes, 4 min dry, 100 uL elution, 30 s off-magnet, 90 s on-magnet, recovery, 4 C. No missing or reordered steps.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Checks 48_samples_to_odd_columns and distinct_elution_wells passed. A single-channel pipette with a fresh tip per sample moves each tube to its own odd-column well.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40 uL, isopropanol 250 uL, then sample 250 uL with mix(5, 400). Then delay 5 min, mag.engage, delay 4 min, and removal of 540 uL to waste with the magnet on; the matching checks passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 uL ethanol washes, each removed with the magnet engaged, then a 4 min delay and mag.disengage() before elution; checks two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"Adds 100 uL elution off-magnet and mixes 5 times, waits 30 s, engages the magnet for 90 s, then recovers 100 uL into a distinct well of the elution plate held at 4 C; the matching checks passed.\"}], \"summary\": \"The protocol passed all 17 measured run-log checks and matches the paper's steps, volumes, timings and magnet usage. Tip handling is sound, with a fresh tip per sample and per removal. Reagent tips are shared across columns only for non-contact dispenses.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13, all volumes are within pipette ranges (p300 multi strokes \\u2264200 \\u00b5L, p1000 single 250 \\u00b5L), wells stay within capacity (waste 1540 \\u00b5L, reservoir columns \\u226415 mL), and all 17 run-log checks passed.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"The check 'fresh_tip_per_sample_no_cross_contact' passed with 48 distinct tips. Every pick_up_tip is followed by drop_tip. Removal, elution and recovery use a fresh multi tip per column, and shared reagent tips dispense at the well top without touching liquid.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 1, \"evidence\": \"The code follows the paper's order and values: beads 40, isopropanol 250, sample 250, mix 5x, 5 min, magnet 4 min, discard, two 500 \\u00b5L ethanol washes, 4 min dry, elute 100 \\u00b5L, 30 s, magnet 90 s, recover. It uses a sound GEN1 height setting and adds no invented steps.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Checks '48_samples_to_odd_columns' and 'distinct_elution_wells' passed. The single-channel pipette moves each of the 48 tubes to its own odd-column well with a fresh tip.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Checks for volumes 40/250/250, mix 5x, 5 min incubation, magnet 4 min and magnet-on removal all passed. The code removes 540 \\u00b5L to waste with the magnet engaged.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"The code does two 500 \\u00b5L ethanol additions, each removed to waste with the magnet engaged, then a 4 min delay, then mag.disengage(). Checks two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"The code disengages the magnet, adds 100 \\u00b5L elution buffer and mixes 5x, waits 30 s, engages the magnet for 90 s, then moves 100 \\u00b5L to a distinct well of the elution plate, which is held at 4 C. Checks elution_100ul, elution_off_magnet_then_90s_on, recover_70_100ul_one_well_each and elution_plate_4C_before_recovery passed.\"}], \"summary\": \"The protocol passed all 17 measured run-log checks, and its code matches the paper's step order, volumes, times, magnet use and 4 C elution plate. Tip handling is clean, with one fresh tip per sample and per column, and no tips are left on the pipettes at the end, so every item scores 1.\"}]", "level": "hard", - "score": 0.6875, + "score": 1.0, "weights": { "robot_practice": 0.25, "tips_and_contamination": 0.25, @@ -214,10 +214,10 @@ "failed_votes": 0 }, "rewards": { - "reward": 0.6875, + "reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, - "judge_score": 0.6875, + "judge_score": 1.0, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, @@ -225,10 +225,10 @@ "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, - "rubric_fidelity_to_paper": 0.0, + "rubric_fidelity_to_paper": 1.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, - "rubric_elution_recovery": 0.0 + "rubric_elution_recovery": 1.0 } } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/reward.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/reward.json index a1137c3..e89735e 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/reward.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/reward.json @@ -1 +1 @@ -{"reward": 0.6875, "sim_pass": 1.0, "checks_frac": 1.0, "judge_score": 0.6875, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, "critical_fail": 0.0, "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 0.0} +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "judge_score": 1.0, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, "critical_fail": 0.0, "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 1.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 1.0} diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/trial.json index cba673f..f0c785f 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction-hard/trial.json @@ -4,10 +4,10 @@ "agent": "claude-code", "via": "openrouter", "rewards": { - "reward": 0.6875, + "reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, - "judge_score": 0.6875, + "judge_score": 1.0, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, @@ -15,16 +15,36 @@ "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, - "rubric_fidelity_to_paper": 0.0, + "rubric_fidelity_to_paper": 1.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, - "rubric_elution_recovery": 0.0 + "rubric_elution_recovery": 1.0 }, "exception": null, - "cost_usd": 1.2990842499999997, + "cost_usd": 0.332968, "input_tokens": 499150, "output_tokens": 15862, "started_at": "2026-10-07T13:46:00.384630Z", - "finished_at": "2026-10-07T13:57:11.856352Z" + "finished_at": "2026-10-07T13:57:11.856352Z", + "original_rewards": { + "reward": 0.6875, + "sim_pass": 1.0, + "checks_frac": 1.0, + "judge_score": 0.6875, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 0.0, + "deterministic_reward": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 0.0 + }, + "cache_tokens": 433659, + "claude_code_cost_usd": 1.2990842499999997 } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction/trial.json index 5521983..f50a061 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/opentrons-rna-extraction/trial.json @@ -22,9 +22,11 @@ "rubric_elution_recovery": 1.0 }, "exception": null, - "cost_usd": 0.5695785000000001, + "cost_usd": 0.186089, "input_tokens": 295616, "output_tokens": 9857, "started_at": "2026-10-07T13:43:18.923153Z", - "finished_at": "2026-10-07T13:58:56.182538Z" + "finished_at": "2026-10-07T13:58:56.182538Z", + "cache_tokens": 265112, + "claude_code_cost_usd": 0.5695785000000001 } diff --git a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/split-200ul-two-wells/trial.json b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/split-200ul-two-wells/trial.json index 9da2cdc..89c1d31 100644 --- a/results/runs/2026-10-07-openrouter/gpt-6.1-sol/split-200ul-two-wells/trial.json +++ b/results/runs/2026-10-07-openrouter/gpt-6.1-sol/split-200ul-two-wells/trial.json @@ -19,9 +19,11 @@ "rubric_volumes_and_wells": 1.0 }, "exception": null, - "cost_usd": 0.13919275, + "cost_usd": 0.043722, "input_tokens": 55105, "output_tokens": 757, "started_at": "2026-10-07T13:57:11.879345Z", - "finished_at": "2026-10-07T13:58:29.816368Z" + "finished_at": "2026-10-07T13:58:29.816368Z", + "cache_tokens": 38978, + "claude_code_cost_usd": 0.13919275 } diff --git a/results/runs/2026-10-07-openrouter/prices.json b/results/runs/2026-10-07-openrouter/prices.json new file mode 100644 index 0000000..dc094a2 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/prices.json @@ -0,0 +1,109 @@ +{ + "deepseek/deepseek-v4-pro-0813": { + "completion": "0.00000198", + "input_cache_read": "0.000000022", + "overrides": [ + { + "completion": "0.00000198", + "input_cache_read": "0.000000022", + "prompt": "0.00000066", + "utc_days": [ + "saturday", + "sunday" + ] + }, + { + "completion": "0.00000198", + "input_cache_read": "0.000000022", + "prompt": "0.00000066", + "utc_days": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday" + ], + "utc_end": 100, + "utc_start": 0 + }, + { + "completion": "0.00000396", + "input_cache_read": "0.000000044", + "prompt": "0.00000132", + "utc_days": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday" + ], + "utc_end": 400, + "utc_start": 100 + }, + { + "completion": "0.00000198", + "input_cache_read": "0.000000022", + "prompt": "0.00000066", + "utc_days": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday" + ], + "utc_end": 600, + "utc_start": 400 + }, + { + "completion": "0.00000396", + "input_cache_read": "0.000000044", + "prompt": "0.00000132", + "utc_days": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday" + ], + "utc_end": 1000, + "utc_start": 600 + }, + { + "completion": "0.00000198", + "input_cache_read": "0.000000022", + "prompt": "0.00000066", + "utc_days": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday" + ], + "utc_end": 0, + "utc_start": 1000 + } + ], + "prompt": "0.00000066" + }, + "openai/gpt-6.1-sol": { + "completion": "0.00001", + "input_cache_read": "0.0000001", + "input_cache_write": "0.0000025", + "overrides": [ + { + "completion": "0.000015", + "input_cache_read": "0.0000002", + "input_cache_write": "0.000005", + "min_prompt_tokens": 272000, + "prompt": "0.000004" + } + ], + "prompt": "0.000002", + "web_search": "0.01" + }, + "qwen/qwen3.8-2.4t-a95b": { + "completion": "0.000006", + "input_cache_read": "0.00000025", + "prompt": "0.000002" + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/grader.json new file mode 100644 index 0000000..e62de75 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/grader.json @@ -0,0 +1,137 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 61 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.15 is valid, 100 uL is handled by the p300, and the labware use is sensible. All measured checks passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Each transfer uses new_tip='always', which picks up and drops a tip every time. The tip_before_aspirate, tip_dropped_at_end and no_cross_contamination checks all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "The protocol does the single 100 uL transfer from reservoir A1 to plate A1:A12 in order, with the specified labware and labels. A fresh tip per well is allowed, and the comment is accurate.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "deck_and_hardware", + "score": 1, + "evidence": "The reservoir is in slot 1 and the plate in slot 2, both with the specified labels. The p20 is on the left with the 20 uL rack in slot 10, and the p300 is on the right with the 300 uL rack in slot 11.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "volumes_and_wells", + "score": 1, + "evidence": "The code transfers 100 uL with p300 from reservoir A1 to each of plate A1-A12 and touches no other wells. The end_state:plate check passed.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "deck_and_hardware": 1.0, + "volumes_and_wells": 1.0 + }, + "summary": "The protocol transfers 100 uL from reservoir A1 to plate wells A1-A12 with the p300, using a fresh tip for each well. All measured checks passed and I found no deviations from the task.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "deck_and_hardware": 0.125, + "volumes_and_wells": 0.125 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/protocol.py new file mode 100644 index 0000000..d482230 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/protocol.py @@ -0,0 +1,40 @@ +metadata = { + 'protocolName': 'Reservoir to 96-well plate A1:A12 - 100 uL', + 'description': 'Transfer 100 uL from a 1-well reservoir (A1) to plate wells A1 through A12.', + 'apiLevel': '2.15', +} + + +def run(protocol): + # Labware + reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 1, label='reservoir') + plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 2, label='plate') + + # Pipettes and tips + tips_20 = protocol.load_labware( + 'opentrons_96_tiprack_20ul', 10, label='20 uL tips') + tips_300 = protocol.load_labware( + 'opentrons_96_tiprack_300ul', 11, label='300 uL tips') + + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips_20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips_300]) + + # 100 uL is within the p300 range (20-300 uL); the p20 cannot handle it. + source = reservoir.wells_by_name()['A1'] + destinations = [plate.wells_by_name()[f'A{i}'] for i in range(1, 13)] + + protocol.comment('Transferring 100 uL from reservoir A1 to plate A1:A12') + + for well in destinations: + p300.transfer(100, source, well, new_tip='always') + + # Ensure no tip is left on the pipette at the end (transfer drops it, + # but be explicit for safety). + if p300.has_tip: + p300.drop_tip() + if p20.has_tip: + p20.drop_tip() diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/reward.json new file mode 100644 index 0000000..5b16841 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/trial.json new file mode 100644 index 0000000..13789b1 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/a1-a12-100ul/trial.json @@ -0,0 +1,29 @@ +{ + "task": "a1-a12-100ul", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + }, + "exception": null, + "cost_usd": 0.03441, + "input_tokens": 51291, + "output_tokens": 1182, + "started_at": "2026-10-07T17:52:15.318212Z", + "finished_at": "2026-10-07T17:53:20.229231Z", + "cache_tokens": 43008, + "claude_code_cost_usd": 0.092469 +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/grader.json new file mode 100644 index 0000000..1458b5f --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/grader.json @@ -0,0 +1,168 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 7316 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:sample_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:elution_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13, all volumes (40\u2013200 \u00b5L) handled by p300 within range, labware loaded with the required labels, and no overdispense or empty-well check failed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Every transfer uses new_tip='always' (a fresh tip per well), the checks tip_before_aspirate, no_cross_contamination and tip_dropped_at_end pass, and reset_tipracks keeps tips available.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "All 13 steps appear in order with the correct volumes, mix counts and comments for the non-simulated steps, and nothing extra is added.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "binding", + "score": 1, + "evidence": "The loop does p300.transfer(40, beads, well, mix_after=(10,40)) for all 96 wells, then comments the 5 min incubation before the magnet.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "supernatant_and_washes", + "score": 1, + "evidence": "The magnet comment comes first, then 90 \u00b5L is removed per well to waste, then two 200 \u00b5L ethanol adds each followed by a 200 \u00b5L removal to waste.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "drying_and_elution", + "score": 1, + "evidence": "Comments cover the 5 min air dry, magnet disengage and 2 min incubation with magnet re-engage; 50 \u00b5L water is added with mix_after=(10,50).", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "recovery", + "score": 1, + "evidence": "p300.transfer(45, sample_wells, elution_wells, new_tip='always') pairs wells in order, and the end_state:elution_plate check passes.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "binding": 1.0, + "supernatant_and_washes": 1.0, + "drying_and_elution": 1.0, + "recovery": 1.0 + }, + "summary": "The protocol follows the task steps in order with correct volumes, a fresh tip for every well, and all measured checks passing. The non-simulated steps are recorded as protocol.comment calls, as the task requires.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "binding": 0.0625, + "supernatant_and_washes": 0.0625, + "drying_and_elution": 0.0625, + "recovery": 0.0625 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_binding": 1.0, + "rubric_supernatant_and_washes": 1.0, + "rubric_drying_and_elution": 1.0, + "rubric_recovery": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/protocol.py new file mode 100644 index 0000000..5b9ab6b --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/protocol.py @@ -0,0 +1,102 @@ +metadata = {'apiLevel': '2.13'} + + +def run(protocol): + # Labware + sample_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='sample_plate') + beads_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 2, label='beads_reservoir') + ethanol_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='ethanol_reservoir') + water_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 4, label='water_reservoir') + waste = protocol.load_labware( + 'nest_1_reservoir_195ml', 5, label='waste') + elution_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 6, label='elution_plate') + + # Tip racks + tiprack_20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tiprack_300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + # Pipettes + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tiprack_20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tiprack_300]) + + sample_wells = sample_plate.wells() # A1:H12, row-major + elution_wells = elution_plate.wells() # A1:H12, row-major (pairs in order) + waste_well = [waste['A1']] * len(sample_wells) + ethanol_source = [ethanol_reservoir['A1']] * len(sample_wells) + beads_source = beads_reservoir['A1'] + water_source = water_reservoir['A1'] + + # Step 1: add 40 uL AMPure XP beads to each sample well, mix 10x + protocol.comment('Step 1: Adding 40 uL AMPure XP beads to sample plate') + for well in sample_wells: + p300.transfer(40, beads_source, well, + mix_after=(10, 40), new_tip='always') + p300.reset_tipracks() + + # Step 2: incubate + protocol.comment( + 'Step 2: Incubate sample_plate 5 min at room temperature ' + '(beads bind DNA)') + + # Step 3: engage magnet + protocol.comment( + 'Step 3: Engage magnetic module; wait 5 min until solution clears') + + # Step 4: remove 90 uL supernatant from each sample well to waste + protocol.comment('Step 4: Removing 90 uL supernatant to waste') + p300.transfer(90, sample_wells, waste_well, new_tip='always') + p300.reset_tipracks() + + # Step 5: first 200 uL 80% ethanol wash + protocol.comment('Step 5: Adding 200 uL 80% ethanol (wash 1)') + p300.transfer(200, ethanol_source, sample_wells, new_tip='always') + p300.reset_tipracks() + + # Step 6: remove 200 uL ethanol waste 1 + protocol.comment('Step 6: Removing 200 uL ethanol waste 1') + p300.transfer(200, sample_wells, waste_well, new_tip='always') + p300.reset_tipracks() + + # Step 7: second 200 uL 80% ethanol wash + protocol.comment('Step 7: Adding 200 uL 80% ethanol (wash 2)') + p300.transfer(200, ethanol_source, sample_wells, new_tip='always') + p300.reset_tipracks() + + # Step 8: remove 200 uL ethanol waste 2 + protocol.comment('Step 8: Removing 200 uL ethanol waste 2') + p300.transfer(200, sample_wells, waste_well, new_tip='always') + p300.reset_tipracks() + + # Step 9: air dry + protocol.comment( + 'Step 9: Air dry beads 5 min at room temperature (magnet engaged); ' + 'beads should appear matte not shiny') + + # Step 10: disengage magnet + protocol.comment('Step 10: Disengage magnetic module') + + # Step 11: elute in 50 uL nuclease-free water, mix 10x + protocol.comment('Step 11: Adding 50 uL nuclease-free water to elute') + for well in sample_wells: + p300.transfer(50, water_source, well, + mix_after=(10, 50), new_tip='always') + p300.reset_tipracks() + + # Step 12: incubate and re-engage magnet + protocol.comment( + 'Step 12: Incubate sample_plate 2 min at room temperature; ' + 'then re-engage magnetic module 5 min') + + # Step 13: transfer 45 uL cleaned DNA to elution plate + protocol.comment('Step 13: Transferring 45 uL cleaned DNA to elution plate') + p300.transfer(45, sample_wells, elution_wells, new_tip='always') + p300.reset_tipracks() + + protocol.comment('AMPure XP cleanup complete.') diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/reward.json new file mode 100644 index 0000000..48d40a0 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_binding": 1.0, "rubric_supernatant_and_washes": 1.0, "rubric_drying_and_elution": 1.0, "rubric_recovery": 1.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/trial.json new file mode 100644 index 0000000..6006f9a --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ampure-bead-cleanup/trial.json @@ -0,0 +1,31 @@ +{ + "task": "ampure-bead-cleanup", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_binding": 1.0, + "rubric_supernatant_and_washes": 1.0, + "rubric_drying_and_elution": 1.0, + "rubric_recovery": 1.0 + }, + "exception": null, + "cost_usd": 0.153528, + "input_tokens": 216193, + "output_tokens": 10345, + "started_at": "2026-10-07T18:15:30.981264Z", + "finished_at": "2026-10-07T18:20:32.307513Z", + "cache_tokens": 194816, + "claude_code_cost_usd": 0.46291800000000005 +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/grader.json new file mode 100644 index 0000000..4d7baf0 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/grader.json @@ -0,0 +1,162 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 2309 + }, + "not_applicable": [ + "end_state:pcr_plate (the source paper does not determine the exact volumes; composition checked instead)" + ], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:colony_plate", + "pass": true, + "detail": "" + }, + { + "name": "composition:pcr_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "Valid apiLevel 2.13 and metadata; all volumes (1-5 uL, 8 uL mix) are handled by the p20 within range, and the 10 uL wells are never overfilled. All measured checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Every step does pick_up_tip/drop_tip per well, including a fresh tip for each primer pair and colony. The tip_before_aspirate, tip_dropped_at_end and no_cross_contamination checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_paper", + "score": 0, + "evidence": "The protocol adds steps the paper does not have (mix and touch_tip). It also invents assumptions about primer Tm and concentration, and it describes an 'ice-chilled deck' that the code does not provide. Cycling uses a combined 72 C anneal/extend with a '4-10 C' hold instead of the paper-based adjusted program.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "reaction_setup", + "score": 1, + "evidence": "10 uL reaction: 5 uL Q5 2x master mix is dispensed first, then 4 uL primer pair, then 1 uL colony template.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "sample_mapping", + "score": 1, + "evidence": "colony_plate.wells(), primer_plate.wells() and pcr_plate.wells() are zipped in order, so all 96 wells map A1 to A1 with none skipped or reused.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "thermocycling", + "score": 0, + "evidence": "Sealing and cycling are recorded only in a final comment. The program is a two-step 98/72 C cycle with no separate annealing step. It rests on an invented assumption (Tm >= 69 C) and ends with a '4-10 C' hold rather than 4 C.", + "votes": [ + 0, + 1, + 0 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_paper": 0.0, + "reaction_setup": 1.0, + "sample_mapping": 1.0, + "thermocycling": 0.0 + }, + "summary": "The liquid handling is sound. It uses fresh tips throughout, builds correct 10 uL reactions in the right order, and maps wells 1:1 across all 96. It loses the fidelity and thermocycling items because of invented assumptions (primer Tm, primer concentration, ice-chilled deck), extra mixing and touch-tip steps, and a non-standard two-step cycling program with a 4-10 C hold.", + "level": "hard", + "score": 0.6667, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "reaction_setup": 0.0833, + "sample_mapping": 0.0833, + "thermocycling": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 0.6667, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 0.6667, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_reaction_setup": 1.0, + "rubric_sample_mapping": 1.0, + "rubric_thermocycling": 0.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/protocol.py new file mode 100644 index 0000000..a27d6d4 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/protocol.py @@ -0,0 +1,172 @@ +""" +Slowpoke-style colony PCR screening of 96 transformants on the OT-2. + +Based on the Slowpoke paper (ACS Synth. Biol., doi:10.1021/acssynbio.5c00629), +"Automated Colony PCR" (OT-2 workflow): a 10 uL total reaction is assembled by +dispensing the master mix into each reaction well first, followed by 1 uL of +colony template; the paper's mix (9 uL of water + primers + 2x PCR master mix, +Phire Plant Direct) is then thermocycled per the manufacturer's protocol, with +annealing temperature and extension time adjusted for the fragment/primers. + +Adaptation to the fixed deck loaded here (choices stated per the task brief): + * Polymerase: Q5 Hot Start 2x master mix (NEB) instead of Phire Plant + Direct. Q5 is a 2x mix, so it is used at half the final reaction volume: + 5 uL per 10 uL reaction (final 1x, per the manufacturer). + * No water reservoir and no bulk-primer tube are on this deck; instead each + well of `primer_plate` holds the (premixed forward + reverse) screening + primer pair for the matching colony. The water component of the paper's + 9 uL master mix is therefore replaced by primer solution: we transfer + 4 uL of primer pair per reaction. ASSUMPTION: the primer pairs in the + plate are dilute enough that 4 uL into 10 uL gives the NEB-recommended + 0.5-1 uM final primer concentration each (i.e. ~1.25-2.5 uM each primer + in the plate). If the plate holds standard 10 uM working stocks, the + operator must dilute them before loading, since the deck has no water. + * Colony template: 1 uL per reaction, exactly as the OT-2 workflow in the + paper (not the 2 uL Flex variant). ASSUMPTION: `colony_plate` holds + picked colonies resuspended in liquid (water/TE or growth medium), as + prepared manually in the Slowpoke workflow. + * Reaction layout (per well of `pcr_plate`, 10 uL total): + 5 uL Q5 Hot Start 2x master mix + 4 uL primer pair (from the matching well of `primer_plate`) + 1 uL colony template (from the matching well of `colony_plate`) + * Well mapping: well i of `colony_plate` <-> well i of `primer_plate` <-> + well i of `pcr_plate` (A1:H12, all 96 wells screened). + * All volumes (1-5 uL) fall in the p20_single_gen2 range (1-20 uL), so the + p20 does all liquid handling; the p300 (min 20 uL) is loaded but unused. + A fresh tip is used for every aspiration (tips are unlimited; racks are + reset between phases). + * No thermocycler module is on this deck, so after reaction setup the plate + is sealed and moved to a benchtop thermocycler (the paper allows benchtop + cyclers alongside/instead of the Opentrons module). Cycling follows the + Q5 Hot Start manufacturer's two-step protocol, adjusted as the paper + describes for amplicon size and primer Tm (assumed <=1 kb amplicon, + primers Tm >= 69 C): + 98 C 30 s initial denaturation / hot-start activation + 30 cycles of: + 98 C 10 s denaturation + 72 C 30 s combined anneal/extend (~30 s/kb for <=1 kb) + 72 C 2 min final extension + 4-10 C hold +""" + +metadata = { + 'apiLevel': '2.13', + 'protocolName': 'Slowpoke OT-2 Colony PCR (Q5 2x, 96 colonies)', + 'description': 'Set up 96 x 10 uL colony PCR reactions from a colony ' + 'template plate, a per-colony primer plate and a Q5 Hot ' + 'Start 2x master mix reservoir, following the Slowpoke ' + 'OT-2 colony PCR workflow.', + 'author': 'Claude', +} + +# Per-reaction volumes (uL); 10 uL total, matching the paper's OT-2 workflow. +MM_VOL = 5.0 # Q5 Hot Start 2x master mix -> 1x final +PRIMER_VOL = 4.0 # premixed primer pair (replaces the paper's mix water) +COLONY_VOL = 1.0 # colony template, as in the paper's OT-2 workflow +MIX_VOL = 8.0 # pipette-mix volume after template addition (well holds 10 uL) + + +def run(protocol): + # ---------------- Deck (fixed) ---------------- + colony_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='colony_plate') + pcr_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 2, label='pcr_plate') + mm_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='master_mix_reservoir') + primer_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 4, label='primer_plate') + + tips20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips20]) + # p300 is part of the fixed setup but every volume here (1-5 uL) is below + # its 20 uL minimum, so the p20 does all of the liquid handling. + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips300]) + + mm_source = mm_reservoir.wells()[0] + + # Consistent well-to-well mapping: A1:H12 on all three plates. + colony_wells = colony_plate.wells() + primer_wells = primer_plate.wells() + pcr_wells = pcr_plate.wells() + n_rxns = len(pcr_wells) # 96 + + protocol.comment( + '=== Slowpoke colony PCR: %d x 10 uL reactions ===' + 'Setup: %s uL Q5 2x master mix + %s uL primer pair + %s uL colony ' + 'template. Ensure colony_plate wells contain picked colonies ' + 'resuspended in liquid, primer_plate wells contain the premixed ' + 'primer pair for the matching colony, and the reservoir holds Q5 Hot ' + 'Start 2x master mix on ice-chilled deck as per usual practice.' + % (n_rxns, MM_VOL, PRIMER_VOL, COLONY_VOL)) + + # Gentle handling of the enzyme mix and primers. + p20.flow_rate.aspirate = 30 # uL/s (below default ~57) for accuracy + p20.flow_rate.dispense = 30 + + # ---------------- Step 1: dispense master mix ---------------- + # Paper: master mix is dispensed into every reaction well first, colony + # template added last. Uses 96 x 5 uL = 480 uL of the 2x Q5 mix + # (reservoir is stated to hold plenty). + protocol.comment('Step 1/3: dispensing %s uL Q5 Hot Start 2x master mix ' + 'into all %d wells of pcr_plate.' % (MM_VOL, n_rxns)) + for dest in pcr_wells: + p20.pick_up_tip() + p20.aspirate(MM_VOL, mm_source.bottom(z=5)) + p20.dispense(MM_VOL, dest.bottom(z=1)) + p20.blow_out(dest.top(z=-2)) + p20.drop_tip() + # Rack (96 tips) exhausted; tips are unlimited -> reset for next phase. + p20.reset_tipracks() + + # ---------------- Step 2: add per-colony primer pairs ---------------- + # 4 uL of each colony's premixed primer pair; fresh tip per well (pairs + # differ well-to-well, so no tip may be reused). + protocol.comment('Step 2/3: adding %s uL of each colony\'s primer pair ' + 'from primer_plate to pcr_plate (fresh tip per well).' + % PRIMER_VOL) + for src, dest in zip(primer_wells, pcr_wells): + p20.pick_up_tip() + p20.aspirate(PRIMER_VOL, src.bottom(z=1)) + p20.dispense(PRIMER_VOL, dest.bottom(z=1)) + p20.blow_out(dest.top(z=-2)) + p20.touch_tip() + p20.drop_tip() + p20.reset_tipracks() + + # ---------------- Step 3: add colony template ---------------- + # 1 uL per reaction, as in the paper's OT-2 workflow. Fresh tip per well + # to avoid cross-contaminating colonies. + protocol.comment('Step 3/3: adding %s uL colony template from colony_plate ' + 'to each reaction.' % COLONY_VOL) + for src, dest in zip(colony_wells, pcr_wells): + p20.pick_up_tip() + p20.aspirate(COLONY_VOL, src.bottom(z=0.5)) + p20.dispense(COLONY_VOL, dest.bottom(z=1)) + # Mix the 10 uL reaction gently with the same tip, then blow out. + p20.mix(3, MIX_VOL, dest.bottom(z=1)) + p20.blow_out(dest.top(z=-2)) + p20.touch_tip() + p20.drop_tip() + + # ---------------- Manual steps the robot cannot do ---------------- + protocol.comment( + 'Reaction setup complete (96 x 10 uL). MANUAL STEPS: ' + '1) Seal pcr_plate with an optical/PCR seal and briefly centrifuge. ' + '2) Transfer the sealed plate to a benchtop thermocycler (no ' + 'thermocycler module on this deck; the Slowpoke workflow also uses ' + 'benchtop cyclers). ' + '3) Run Q5 Hot Start two-step cycling (per NEB manufacturer protocol, ' + 'adjusted for fragment size/primer Tm as in the paper; assumes ' + '<=1 kb amplicon, primer Tm >= 69 C): ' + '98 C 30 s initial denaturation; ' + '30 cycles of [98 C 10 s; 72 C 30 s combined anneal/extend]; ' + '72 C 2 min final extension; hold 4-10 C. ' + 'For longer amplicons extend the 72 C step (~30 s/kb); for lower-Tm ' + 'primers use a 3-step program with an appropriate annealing step. ' + '4) Analyse products by agarose gel electrophoresis to score ' + 'positive colonies by expected amplicon size.') diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/reward.json new file mode 100644 index 0000000..e4df621 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.6667, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 0.6667, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_reaction_setup": 1.0, "rubric_sample_mapping": 1.0, "rubric_thermocycling": 0.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/trial.json new file mode 100644 index 0000000..eed103d --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening-hard/trial.json @@ -0,0 +1,30 @@ +{ + "task": "colony-pcr-screening-hard", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.6667, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 0.6667, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_reaction_setup": 1.0, + "rubric_sample_mapping": 1.0, + "rubric_thermocycling": 0.0 + }, + "exception": null, + "cost_usd": 0.167832, + "input_tokens": 193193, + "output_tokens": 12817, + "started_at": "2026-10-07T17:47:15.084953Z", + "finished_at": "2026-10-07T17:52:54.097537Z", + "cache_tokens": 168832, + "claude_code_cost_usd": 0.5266460000000001 +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/grader.json new file mode 100644 index 0000000..534a6f4 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/grader.json @@ -0,0 +1,160 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1828 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:colony_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13, all volumes (18, 1, 10 \u00b5L mix) handled by p20 within its range, labware loaded with the specified labels, and all simulator checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Every well uses its own pick_up_tip()/drop_tip() pair in all three loops; tip_before_aspirate, no_cross_contamination and tip_dropped_at_end checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "The steps run in the specified order with the specified quantities (18 \u00b5L, then 1 \u00b5L colony with mix(3, 10) after dispensing, then 1 \u00b5L primer), and the final comment records seal and thermocycling.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "master_mix", + "score": 1, + "evidence": "The loop aspirates 18 \u00b5L from master_mix_reservoir A1 and dispenses it into each of the 96 pcr_plate wells; the pcr_plate end_state check passes.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "template_and_primers", + "score": 1, + "evidence": "The loops move 1 \u00b5L from colony_plate[name] and 1 \u00b5L from primer_plate[name] into the matching pcr_plate well with p20; the end-state checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "thermocycling", + "score": 1, + "evidence": "The final protocol.comment records sealing and the full program: 98C 30 s, 30 cycles of 98C 10 s, 60C 30 s and 72C 30 s, then 72C 2 min and a 4C hold.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "master_mix": 1.0, + "template_and_primers": 1.0, + "thermocycling": 1.0 + }, + "summary": "The protocol simulates cleanly and passes every measured check. It uses a fresh p20 tip for each well, follows the quantities and order in the task, and records the seal and thermocycling program in a comment.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "master_mix": 0.0833, + "template_and_primers": 0.0833, + "thermocycling": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_master_mix": 1.0, + "rubric_template_and_primers": 1.0, + "rubric_thermocycling": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/protocol.py new file mode 100644 index 0000000..b422d17 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/protocol.py @@ -0,0 +1,91 @@ +"""Colony PCR screening with Q5 Hot Start master mix (Slowpoke workflow). + +OT-2 protocol: add 18 uL Q5 Hot Start master mix to each well of a PCR +plate, then 1 uL colony template (mixed), then 1 uL primer mix per well. +Based on Slowpoke: Golden Gate cloning and colony PCR on OT-2/Flex +(ACS Synth. Biol., doi:10.1021/acssynbio.5c00629). +""" + +from opentrons import protocol_api + +metadata = { + 'protocolName': 'Colony PCR screening with Q5 Hot Start master mix', + 'author': 'Slowpoke workflow', + 'description': 'Screen transformant colonies by PCR on the OT-2.', + 'apiLevel': '2.13', +} + + +def run(protocol: protocol_api.ProtocolContext): + # ------------------------------------------------------------------ + # Labware (fixed deck layout) + # ------------------------------------------------------------------ + colony_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='colony_plate') + pcr_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 2, label='pcr_plate') + master_mix_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='master_mix_reservoir') + primer_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 4, label='primer_plate') + + tips_20 = protocol.load_labware( + 'opentrons_96_tiprack_20ul', 10) + tips_300 = protocol.load_labware( + 'opentrons_96_tiprack_300ul', 11) + + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips_20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips_300]) + + # All 96 wells, A1..H12, in order + wells = [f'{row}{col}' for row in 'ABCDEFGH' for col in range(1, 13)] + + # ------------------------------------------------------------------ + # Step 1: 18 uL Q5 master mix 2x from reservoir A1 -> pcr_plate A1:H12 + # (18 uL is within the p20 range: 1-20 uL) + # ------------------------------------------------------------------ + protocol.comment('Step 1: Dispensing 18 uL Q5 Hot Start master mix ' + 'into pcr_plate wells A1:H12.') + p20.reset_tipracks() + mm_source = master_mix_reservoir['A1'] + for name in wells: + p20.pick_up_tip() + p20.aspirate(18, mm_source) + p20.dispense(18, pcr_plate[name]) + p20.drop_tip() + + # ------------------------------------------------------------------ + # Step 2: 1 uL colony template colony_plate A1:H12 -> pcr_plate A1:H12, + # mix 3x after dispensing + # ------------------------------------------------------------------ + protocol.comment('Step 2: Adding 1 uL colony template to pcr_plate ' + 'wells A1:H12, mixing 3 times after dispensing.') + p20.reset_tipracks() + for name in wells: + p20.pick_up_tip() + p20.aspirate(1, colony_plate[name]) + p20.dispense(1, pcr_plate[name]) + # mix 3 times (well holds 19 uL at this point) + p20.mix(3, 10, pcr_plate[name]) + p20.drop_tip() + + # ------------------------------------------------------------------ + # Step 3: 1 uL primer mix primer_plate A1:H12 -> pcr_plate A1:H12 + # ------------------------------------------------------------------ + protocol.comment('Step 3: Adding 1 uL primer mix to pcr_plate ' + 'wells A1:H12.') + p20.reset_tipracks() + for name in wells: + p20.pick_up_tip() + p20.aspirate(1, primer_plate[name]) + p20.dispense(1, pcr_plate[name]) + p20.drop_tip() + + # ------------------------------------------------------------------ + # Step 4: seal and thermocycle (manual, not simulated) + # ------------------------------------------------------------------ + protocol.comment('Step 4: Seal pcr_plate and thermocycle: ' + '98C for 30 s; 30 cycles of [98C 10 s, 60C 30 s, ' + '72C 30 s]; 72C for 2 min; hold at 4C.') diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/reward.json new file mode 100644 index 0000000..12f62ba --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_master_mix": 1.0, "rubric_template_and_primers": 1.0, "rubric_thermocycling": 1.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/trial.json new file mode 100644 index 0000000..7d2bfde --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/colony-pcr-screening/trial.json @@ -0,0 +1,30 @@ +{ + "task": "colony-pcr-screening", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_master_mix": 1.0, + "rubric_template_and_primers": 1.0, + "rubric_thermocycling": 1.0 + }, + "exception": null, + "cost_usd": 0.084508, + "input_tokens": 133465, + "output_tokens": 4503, + "started_at": "2026-10-07T18:20:32.381252Z", + "finished_at": "2026-10-07T18:23:18.337231Z", + "cache_tokens": 119680, + "claude_code_cost_usd": 0.24134 +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/grader.json new file mode 100644 index 0000000..e780f43 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/grader.json @@ -0,0 +1,155 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 203 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plasmid_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:transformation_plate", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "requirements apiLevel 2.15 is valid; 1 \u00b5L and 5 \u00b5L mixes use p20, 50 \u00b5L and 40 \u00b5L mix use p300; the 61 \u00b5L final volume is well within the 200 \u00b5L wells; the simulator ran clean.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Each of the 8 DNA transfers and 8 SOC additions uses pick_up_tip and drop_tip, giving a fresh tip per well; the tip_before_aspirate, tip_dropped_at_end and no_cross_contamination checks all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_paper", + "score": 0, + "evidence": "The protocol adds steps the paper does not describe: p20.mix(3,5) with blow_out after DNA addition, p300.mix(3,40) after SOC, and no lid heating, so it is not a fully faithful implementation.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "dna_addition", + "score": 1, + "evidence": "tc.set_block_temperature(4) with the lid open, then 1 \u00b5L aspirated from plasmid well n and dispensed into transformation well n for A1\u2013H1.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "heat_shock", + "score": 1, + "evidence": "tc.close_lid(), then set_block_temperature(4, hold_time_minutes=30), then set_block_temperature(42, hold_time_seconds=30), then a return to 4 \u00b0C.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "soc_recovery", + "score": 1, + "evidence": "SOC_VOL=50 is dispensed into each cell well with p300 after the heat shock, then tc.close_lid() and set_block_temperature(37, hold_time_minutes=60).", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_paper": 0.0, + "dna_addition": 1.0, + "heat_shock": 1.0, + "soc_recovery": 1.0 + }, + "summary": "The protocol follows the LV volumes and the 4 \u00b0C, 42 \u00b0C and 37 \u00b0C steps on the thermocycler, with fresh tips throughout, and all measured checks passed. It fails the all-or-nothing fidelity item because it adds mixing steps (and omits lid heating) that the paper does not describe.", + "level": "hard", + "score": 0.75, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "dna_addition": 0.0833, + "heat_shock": 0.0833, + "soc_recovery": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 0.75, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 0.75, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_dna_addition": 1.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/protocol.py new file mode 100644 index 0000000..2bdda29 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/protocol.py @@ -0,0 +1,137 @@ +"""APEX Protocol 1 - Automated heat shock transformation on the OT-2 thermocycler. + +Implements the heat shock transformation of Kasprzyk, Herrera & Stracquadanio, +"APEX: Automated Protein EXpression in Escherichia coli" (bioRxiv 2024, +doi:10.1101/2024.08.13.607171), Protocol 1, for 8 plasmids (pEX01-pEX08). + +Parameters taken from the paper: + * Volumes: the Low Volume (LV) configuration, which the paper selected for + all subsequent automated experiments - 1 uL plasmid DNA, 10 uL competent + cells, 50 uL SOC medium (Results > Optimisation of transformation volume; + Fig. 4 caption). + * Temperatures/times (Protocol 1 defaults): incubate DNA + cells at 4 degC + for 30 min, heat shock at 42 degC for 30 s, recover with SOC at 37 degC + for 1 h, all on the thermocycler module for rapid temperature changes. + +Choices where the paper leaves details open are flagged with comments below. +Steps after recovery (spotting on agar, Protocol 2) are out of scope. +""" + +metadata = { + 'protocolName': 'APEX Protocol 1 - Heat shock transformation (LV, 8 plasmids)', + 'author': 'generated from doi:10.1101/2024.08.13.607171', + 'description': 'Automated heat shock transformation of 8 plasmids ' + '(pEX01-pEX08) into DH5alpha on the OT-2 thermocycler ' + 'using the APEX Low Volume configuration.', +} + +requirements = {'robotType': 'OT-2', 'apiLevel': '2.15'} + + +def run(protocol): + # ------------------------------------------------------------------ + # Labware and instruments (fixed deck layout) + # ------------------------------------------------------------------ + plasmid_plate = protocol.load_labware( + 'biorad_96_wellplate_200ul_pcr', 1, label='plasmid_plate') + soc_reservoir = protocol.load_labware( + 'nest_12_reservoir_15ml', 2, label='soc_reservoir') + + tc = protocol.load_module('thermocycler') + transformation_plate = tc.load_labware( + 'biorad_96_wellplate_200ul_pcr', label='transformation_plate') + + tips20 = protocol.load_labware('opentrons_96_tiprack_20ul', 4) + tips300 = protocol.load_labware('opentrons_96_tiprack_300ul', 5) + + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips300]) + + # ------------------------------------------------------------------ + # Volumes - APEX Low Volume (LV) configuration selected in the paper + # ------------------------------------------------------------------ + DNA_VOL = 1.0 # uL plasmid (LV); cells are 10 uL, pre-loaded by operator + SOC_VOL = 50.0 # uL SOC medium (LV) + + # Transformation n uses plasmid well n and cell well n (A1..H1, col 1) + well_names = ['A1', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1', 'H1'] + dna_wells = [plasmid_plate[w] for w in well_names] + cell_wells = [transformation_plate[w] for w in well_names] + soc = soc_reservoir['A1'] + + # ------------------------------------------------------------------ + # Step 1: add plasmid DNA to the pre-chilled competent cells on the + # thermocycler block (kept at 4 degC, as in the paper's ice-cold + # CaCl2 pre-incubation). One fresh tip per plasmid to avoid + # cross-contamination. + # ------------------------------------------------------------------ + tc.open_lid() + # Ensure the block is at the 4 degC incubation temperature (the cells + # were loaded by the operator onto the pre-chilled block). + tc.set_block_temperature(4) + + for src, dst in zip(dna_wells, cell_wells): + p20.pick_up_tip() + p20.aspirate(DNA_VOL, src) + p20.dispense(DNA_VOL, dst) + # The paper does not specify mixing after DNA addition; mix 3x 5 uL + # (well holds 11 uL total) to homogenise the 1 uL DNA in the cells, + # then blow out any remaining droplets. + p20.mix(3, 5, dst) + p20.blow_out(dst.top()) + p20.drop_tip() + + # Reset the 20 uL rack so a full rack is available if this protocol is + # re-run/appended; tips are unlimited per the task setup. + p20.reset_tipracks() + + # ------------------------------------------------------------------ + # Step 2: 4 degC for 30 min incubation, lid closed to limit evaporation. + # (The paper does not mention heating the lid, so no lid temperature is + # set; the closed lid is the sound choice for these small volumes.) + # ------------------------------------------------------------------ + tc.close_lid() + tc.set_block_temperature(4, hold_time_minutes=30) + + # ------------------------------------------------------------------ + # Step 3: heat shock - 42 degC for 30 s. Default (maximum) ramp rate is + # used, since the paper stresses the need for rapid temperature shifts. + # ------------------------------------------------------------------ + tc.set_block_temperature(42, hold_time_seconds=30) + + # Cool the block back to 4 degC before opening the lid (standard heat + # shock practice: return cells to ice-cold immediately after the shock; + # the paper does not state this explicitly, so it is a sound choice). + tc.set_block_temperature(4) + + # ------------------------------------------------------------------ + # Step 4: add 50 uL SOC (LV volume) to each transformation and mix. + # One tip per well; fresh tips for the cell/SOC mixture. + # ------------------------------------------------------------------ + tc.open_lid() + for dst in cell_wells: + p300.pick_up_tip() + p300.aspirate(SOC_VOL, soc) + p300.dispense(SOC_VOL, dst) + # Mix below the total well volume (10 + 1 + 50 = 61 uL) to avoid + # spilling; the paper does not specify a mixing volume. + p300.mix(3, 40, dst) + p300.blow_out(dst.top()) + p300.drop_tip() + p300.reset_tipracks() + + # ------------------------------------------------------------------ + # Step 5: recovery - 37 degC for 1 h with SOC, lid closed. + # ------------------------------------------------------------------ + tc.close_lid() + tc.set_block_temperature(37, hold_time_minutes=60) + + # ------------------------------------------------------------------ + # End of Protocol 1: open the lid and deactivate the block. The + # recovered outgrowths are handled by Protocol 2 (spotting), which is + # out of scope here. + # ------------------------------------------------------------------ + tc.open_lid() + tc.deactivate_block() diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/reward.json new file mode 100644 index 0000000..cc1f6c6 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.75, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 0.75, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_dna_addition": 1.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 1.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/trial.json new file mode 100644 index 0000000..81d263c --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation-hard/trial.json @@ -0,0 +1,30 @@ +{ + "task": "ecoli-heat-shock-transformation-hard", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.75, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 0.75, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_dna_addition": 1.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 1.0 + }, + "exception": null, + "cost_usd": 0.173724, + "input_tokens": 299108, + "output_tokens": 8398, + "started_at": "2026-10-07T18:11:31.833572Z", + "finished_at": "2026-10-07T18:15:30.920527Z", + "cache_tokens": 271360, + "claude_code_cost_usd": 0.4843700000000001 +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/grader.json new file mode 100644 index 0000000..5670592 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/grader.json @@ -0,0 +1,155 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 12 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plasmid_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:cells_rack", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13, p20 used for 2 \u00b5L and p300 for 250 \u00b5L, correct labware, all checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "transfer with new_tip='always' gives fresh tips for DNA and SOC; tip_before_aspirate, tip_dropped_at_end and no_cross_contamination pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "All four steps in order with correct quantities, labware labels and accurate comments; no extra actions.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "dna_addition", + "score": 1, + "evidence": "p20.transfer(2, plasmid_plate['A1'], tubes A1) with the 20 \u00b5L pipette.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "heat_shock", + "score": 1, + "evidence": "Comment records 42\u00b0C 45 s then ice 2 min after DNA addition and before SOC.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "soc_recovery", + "score": 1, + "evidence": "p300.transfer 250 \u00b5L from reservoir A1 to tube A1 after heat shock, followed by the 37\u00b0C 60 min 250 rpm incubation comment.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "dna_addition": 1.0, + "heat_shock": 1.0, + "soc_recovery": 1.0 + }, + "summary": "The protocol follows the task steps in order with correct pipettes, volumes, and fresh tips. All measured checks passed and the comments are accurate.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "dna_addition": 0.0833, + "heat_shock": 0.0833, + "soc_recovery": 0.0833 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_dna_addition": 1.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/protocol.py new file mode 100644 index 0000000..9f1913e --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/protocol.py @@ -0,0 +1,54 @@ +from opentrons import protocol_api + +metadata = { + 'apiLevel': '2.13', + 'protocolName': 'E. coli heat shock transformation with SOC recovery', +} + + +def run(protocol: protocol_api.ProtocolContext): + # Deck setup + plasmid_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 1, label='plasmid_plate') + tubes_1_5ml_1 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap', 2, + label='tubes_1_5ml_1') + soc_reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 3, label='soc_reservoir') + + tiprack_20 = protocol.load_labware( + 'opentrons_96_tiprack_20ul', 10, label='tiprack_20ul') + tiprack_300 = protocol.load_labware( + 'opentrons_96_tiprack_300ul', 11, label='tiprack_300ul') + + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tiprack_20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tiprack_300]) + + cells_tube = tubes_1_5ml_1['A1'] + + # Step 1: add 2 uL plasmid DNA to competent cells + p20.transfer( + 2, + plasmid_plate['A1'], + cells_tube, + new_tip='always', + ) + + # Step 2: heat shock (not simulated) + protocol.comment( + 'Heat shock cells_rack 42°C 45 s, then transfer immediately to ' + 'ice 2 min') + + # Step 3: add 250 uL SOC medium + p300.transfer( + 250, + soc_reservoir['A1'], + cells_tube, + new_tip='always', + ) + + # Step 4: outgrowth (not simulated) + protocol.comment( + 'Incubate cells_rack 37°C 60 min at 250 rpm for outgrowth recovery') diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/reward.json new file mode 100644 index 0000000..b650ada --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_dna_addition": 1.0, "rubric_heat_shock": 1.0, "rubric_soc_recovery": 1.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/trial.json new file mode 100644 index 0000000..a6737f0 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/ecoli-heat-shock-transformation/trial.json @@ -0,0 +1,30 @@ +{ + "task": "ecoli-heat-shock-transformation", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_dna_addition": 1.0, + "rubric_heat_shock": 1.0, + "rubric_soc_recovery": 1.0 + }, + "exception": null, + "cost_usd": 0.063752, + "input_tokens": 125053, + "output_tokens": 2093, + "started_at": "2026-10-07T17:53:20.245332Z", + "finished_at": "2026-10-07T17:54:48.169294Z", + "cache_tokens": 113664, + "claude_code_cost_usd": 0.16610199999999997 +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/grader.json new file mode 100644 index 0000000..5196795 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/grader.json @@ -0,0 +1,235 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 602 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": false, + "detail": "[(395, 'D2'), (396, 'B1'), (397, 'B1')]" + }, + { + "name": "end_state:water", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dntp", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_pol", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_mm", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:template_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:rcutsmart", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dpni", + "pass": true, + "detail": "" + }, + { + "name": "end_state:t4_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:gg_enzyme", + "pass": true, + "detail": "" + }, + { + "name": "end_state:assembly_plate", + "pass": false, + "detail": "expected {'A1': 15.0, 'B1': 15.0, 'C1': 15.0, 'D1': 15.0}, got {'A1': 10.0, 'B1': 10.0, 'C1': 10.0, 'D1': 10.0}" + }, + { + "name": "end_state:cells_plate", + "pass": false, + "detail": "expected {'A1': 305.0, 'B1': 305.0, 'C1': 305.0, 'D1': 305.0}, got {'A1': 310.0, 'B1': 310.0, 'C1': 310.0, 'D1': 310.0}" + }, + { + "name": "end_state:lb_dextrose", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "Valid apiLevel 2.13 (via requirements), every volume uses a suitable pipette (p20 for \u226419 \u00b5L, p300 for 40/106/250 \u00b5L), no well exceeds capacity, and the simulator passed with no overdispense or empty-aspirate errors.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 0, + "evidence": "The no_cross_contamination check failed [(395,'D2'),(396,'B1'),(397,'B1')]: the gg_enzyme transfer uses new_tip='once' with mix_after=(5,15), so one tip mixes in assembly wells and then returns to the enzyme stock D2 and the next wells.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "fidelity_to_paper", + "score": 0, + "evidence": "The protocol deviates from the paper: fragments are eluted in 15 \u00b5L instead of 10 \u00b5L, the full 10 \u00b5L assembly eluate is transformed (the paper uses 5 \u00b5L), and the enzyme tip is reused across assembly wells; the end_state checks for assembly_plate and cells_plate also differ.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "pcr_setup", + "score": 1, + "evidence": "Master mix gives 19 \u00b5L per reaction, then 2.5 \u00b5L of each 1 \u00b5M primer and 1 \u00b5L of 0.5 ng/\u00b5L template give 25 \u00b5L, with the primer and template mapping taken from the design table.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "dpni_and_cleanup", + "score": 1, + "evidence": "Comment records 98 C 30 s, 36 cycles with gradient annealing, 72 C 5 min; DpnI uses 19 \u00b5L water, 5 \u00b5L rCutSmart and 1 \u00b5L DpnI, with 37 C 30 min then 65 C 20 min; a pause for Zymo cleanup follows, in that order.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "assembly_mix", + "score": 1, + "evidence": "Each assembly gets 7 \u00b5L water, 2 \u00b5L 10X T4 buffer, 1 \u00b5L enzyme mix and fragments 3+2+3+2 \u00b5L from the design table, totalling 20 \u00b5L in its own well.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "cycling_and_transformation", + "score": 1, + "evidence": "Records a Golden Gate program (30 cycles of 37/16 C, 60 C, 4 C hold), cleanup eluted in 10 \u00b5L, transfer to TOP10 cells, 30 min ice, 42 C 60 s, 250 \u00b5L LB+dextrose, 37 C 60 min, plating on kanamycin.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 0.0, + "fidelity_to_paper": 0.0, + "pcr_setup": 1.0, + "dpni_and_cleanup": 1.0, + "assembly_mix": 1.0, + "cycling_and_transformation": 1.0 + }, + "summary": "The protocol is sound on volumes, PCR setup, DpnI, assembly mix and the cycling/transformation steps. It fails tips because the enzyme-mix transfer reuses one tip across mixing in assembly wells and the enzyme stock, which the measured contamination check flagged, and it fails fidelity because of the 15 \u00b5L fragment elution and the full 10 \u00b5L transformed.", + "level": "hard", + "score": 0.5, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "pcr_setup": 0.0625, + "dpni_and_cleanup": 0.0625, + "assembly_mix": 0.0625, + "cycling_and_transformation": 0.0625 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [ + "no_cross_contamination" + ], + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.8571, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.2167, + "judge_score": 0.5, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_pcr_setup": 1.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 1.0, + "rubric_cycling_and_transformation": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/protocol.py new file mode 100644 index 0000000..0a148fb --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/protocol.py @@ -0,0 +1,329 @@ +""" +Golden Gate assembly of four four-fragment chromoprotein expression plasmids +with the AssemblyTron workflow on the OT-2. + +Based on: Bradley et al., "AssemblyTron: flexible automation of DNA assembly +with Opentrons OT-2 lab robots", Synth. Biol. 2022, doi:10.1093/synbio/ysac032 +(Golden Gate script "based on Engler et al. (8)"; methods section 2.3). + +Workflow: + 1. Build a Q5 PCR master mix (buffer, dNTPs, polymerase, water) in + tubes_1_5ml_1 D1 and dispense it into pcr_plate A1:G1. + 2. Add primers (0.1 uM final, per paper) and linearized template (0.5 ng, + per paper) to give 25 uL PCRs for fragments 1-7. + 3. [manual] Gradient PCR in an off-deck thermocycler (the OT-2 thermocycler + has no gradient capability - paper section 3.1). + 4. DpnI digestion of the PCRs (19 uL water + 5 uL rCutSmart + 1 uL DpnI, + 30 min 37 C, 20 min 65 C - paper section 2.3). + 5. [manual] Zymo DNA Clean & Concentrator-5 cleanup of each fragment; + eluates returned to their pcr_plate wells. + 6. Set up four 20 uL Golden Gate reactions in assembly_plate A1:D1 with + fragment volumes proportional to length (fixed j5/AssemblyTron design). + 7. [manual] Golden Gate thermocycling (Engler-style program). + 8. [manual] Zymo cleanup of assemblies, eluted in 10 uL water (paper). + 9. Transform eluates into 50 uL TOP10 competent cells (cells_plate A1:D1), + 30 min on ice, 60 s heat shock at 42 C, +250 uL LB + 0.2% dextrose, + recover 60 min at 37 C, plate on LB + kanamycin (paper section 2.3). + +Volume choices derived from the paper: + * 25 uL PCR (paper 2.3): 5 uL 5X Q5 buffer (1X), 0.5 uL 10 mM dNTPs + (0.2 mM, Q5 standard), 2.5 uL each 1 uM primer (0.1 uM final, paper), + 1 uL template at 0.5 ng/uL (0.5 ng, paper), 0.25 uL Q5 polymerase + (0.5 U, NEB standard for 25 uL), water to 25 uL (13.25 uL). + Master mix = 19 uL/reaction, made for 8 reactions (7 fragments + 1 + spare, as stated on the deck) = water 106 uL, buffer 40 uL, dNTPs 4 uL, + polymerase 2 uL (152 uL total in D1). + * DpnI step exactly as paper 2.3: +19 uL water, +5 uL rCutSmart, +1 uL + DpnI per 25 uL PCR -> 50 uL. + * 20 uL Golden Gate reaction (fixed design gives 3+2+3+2 = 10 uL of + fragments). The paper does not tabulate the remaining 10 uL, so a sound + standard choice is made here: 2 uL 10X T4 DNA Ligase Buffer (1X final), + 1 uL Golden Gate Enzyme Mix (BsaI-HFv2 + T4 ligase), 7 uL water. +""" + +metadata = { + 'protocolName': 'AssemblyTron Golden Gate - 4x chromoprotein plasmids', + 'author': 'OT-2 protocol', + 'description': 'PCR of 7 fragments, DpnI, cleanup, 4-part Golden Gate ' + 'assembly x4, transformation into TOP10 (per AssemblyTron ' + 'paper, doi:10.1093/synbio/ysac032).', +} + +requirements = {'apiLevel': '2.13'} + + +def run(protocol): + protocol.set_rail_lights(True) + + # ---- labware (fixed deck) ---- + tubes_50ml_1 = protocol.load_labware( + 'opentrons_6_tuberack_falcon_50ml_conical', 1, label='tubes_50ml_1') + tubes_1_5ml_1 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap', 2, + label='tubes_1_5ml_1') + primer_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 3, label='primer_plate') + template_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 4, label='template_plate') + pcr_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 5, label='pcr_plate') + assembly_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 6, label='assembly_plate') + cells_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 7, label='cells_plate') + tubes_15ml_1 = protocol.load_labware( + 'opentrons_15_tuberack_falcon_15ml_conical', 8, label='tubes_15ml_1') + + tips20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips300]) + + # ---- reagent locations ---- + water = tubes_50ml_1['A1'] + q5_buffer = tubes_1_5ml_1['A1'] # 5X Q5 reaction buffer + dntp = tubes_1_5ml_1['B1'] # 10 mM dNTPs + q5_pol = tubes_1_5ml_1['C1'] # Q5 High-Fidelity DNA Polymerase + pcr_mm = tubes_1_5ml_1['D1'] # empty at start -> master mix here + rcutsmart = tubes_1_5ml_1['A2'] + dpni = tubes_1_5ml_1['B2'] + t4_buffer = tubes_1_5ml_1['C2'] # 10X T4 DNA Ligase Buffer + gg_enzyme = tubes_1_5ml_1['D2'] # Golden Gate Enzyme Mix + lb_dextrose = tubes_15ml_1['A1'] # LB + 0.2% (w/v) dextrose + + # ---- fixed j5/AssemblyTron design ---- + # fragment number: (pcr well, fwd primer, rev primer, template well) + fragments = { + 1: ('A1', 'A1', 'A2', 'A1'), # tsPurple chromoprotein + 2: ('B1', 'B1', 'B2', 'A1'), # backbone + 3: ('C1', 'C1', 'C2', 'B1'), # YukonOFP chromoprotein + 4: ('D1', 'D1', 'D2', 'C1'), # aeBlue chromoprotein + 5: ('E1', 'E1', 'E2', 'A1'), # backbone / KanR + 6: ('F1', 'F1', 'F2', 'A1'), # backbone + 7: ('G1', 'G1', 'G2', 'D1'), # fuGFP chromoprotein + } + pcr_wells = [pcr_plate[fragments[f][0]] for f in range(1, 8)] + + # assemblies: well -> [(fragment number, volume uL), ...], 20 uL total + # (fragment volumes from the fixed design; reagents make up the rest: + # 7 uL water + 2 uL 10X T4 buffer + 1 uL GG enzyme mix) + assemblies = { + 'A1': [(2, 3.0), (5, 2.0), (6, 3.0), (1, 2.0)], # tsPurple + 'B1': [(2, 3.0), (5, 2.0), (6, 3.0), (3, 2.0)], # YukonOFP + 'C1': [(2, 3.0), (5, 2.0), (6, 3.0), (4, 2.0)], # aeBlue + 'D1': [(2, 3.0), (5, 2.0), (6, 3.0), (7, 2.0)], # fuGFP + } + + # ================================================================== + # STEP 1 - PCR master mix in tubes_1_5ml_1 D1 (for 8 reactions) + # 19 uL/reaction: 13.25 uL water + 5 uL 5X Q5 buffer + 0.5 uL 10 mM + # dNTPs + 0.25 uL Q5 polymerase. x8 = 106 + 40 + 4 + 2 = 152 uL. + # ================================================================== + protocol.comment('--- STEP 1: build Q5 PCR master mix (8 reactions) ' + 'in tubes_1_5ml_1 D1 ---') + p20.reset_tipracks() + p300.reset_tipracks() + p300.transfer(106, water, pcr_mm, new_tip='once') # water + p300.transfer(40, q5_buffer, pcr_mm, new_tip='once') # 5X buffer + p20.transfer(4, dntp, pcr_mm, new_tip='once') # dNTPs + p20.transfer(2, q5_pol, pcr_mm, new_tip='once') # Q5 pol + p300.pick_up_tip() + p300.mix(5, 100, pcr_mm) + p300.drop_tip() + + # ================================================================== + # STEP 2 - dispense master mix, primers and template -> 25 uL PCRs + # ================================================================== + protocol.comment('--- STEP 2: set up 7 x 25 uL PCRs in pcr_plate ' + 'A1:G1 ---') + p20.reset_tipracks() + # 19 uL master mix per reaction (p20; one tip, source is a common mix) + p20.transfer(19, pcr_mm, pcr_wells, new_tip='once') + + # 2.5 uL of each 1 uM primer -> 0.1 uM final (paper 2.3); + # fresh tip per primer to avoid cross-contamination + for f in range(1, 8): + pcr_w, fwd, rev, _ = fragments[f] + p20.transfer(2.5, primer_plate[fwd], pcr_plate[pcr_w], + new_tip='always') + p20.transfer(2.5, primer_plate[rev], pcr_plate[pcr_w], + new_tip='always') + + # 1 uL of 0.5 ng/uL linearized template -> 0.5 ng (paper 2.3) + for f in range(1, 8): + pcr_w, _, _, tmpl = fragments[f] + p20.transfer(1, template_plate[tmpl], pcr_plate[pcr_w], + new_tip='always') + + # mix each 25 uL reaction + p20.reset_tipracks() + for w in pcr_wells: + p20.pick_up_tip() + p20.mix(3, 15, w) + p20.drop_tip() + + # ================================================================== + # STEP 3 - [manual] gradient PCR off-deck (paper 2.3 & 3.1: the OT-2 + # thermocycler cannot do the annealing gradient, so tubes are moved to + # a Bio-Rad C100 gradient thermocycler; pcr_plate column 1 stands in + # for the 100 uL PCR tubes) + # ================================================================== + protocol.comment( + 'MANUAL - gradient PCR: seal pcr_plate / move the PCR tubes to a ' + 'gradient thermocycler (e.g. Bio-Rad C100) positioned per the ' + 'AssemblyTron instructions file. Run: 98 C 30 s; then 36 cycles of ' + '[98 C 10 s, 30 s at the AssemblyTron/j5 gradient annealing ' + 'temperature for each fragment, 72 C extension for the ' + 'AssemblyTron-calculated time (~20-30 s/kb)]; final extension 72 C ' + '5 min; hold 4 C. (Paper allows 34 or 36 cycles; 36 chosen as the ' + 'more robust option for 4-part assembly fragments.) Optionally take ' + 'a sample of each reaction for gel electrophoresis. Return the ' + 'reactions to the OT-2 deck (pcr_plate A1:G1) and resume.') + protocol.pause('Off-deck gradient PCR - see comment. Resume when the ' + 'PCR products are back in pcr_plate A1:G1.') + + # ================================================================== + # STEP 4 - DpnI digestion to destroy residual methylated template + # (paper 2.3: +19 uL water, +5 uL rCutSmart Buffer, +1 uL DpnI; + # 30 min 37 C, then 65 C 20 min inactivation) + # ================================================================== + protocol.comment('--- STEP 4: DpnI digestion of the 7 PCRs ---') + p20.reset_tipracks() + p20.transfer(19, water, pcr_wells, new_tip='once') + p20.transfer(5, rcutsmart, pcr_wells, new_tip='once') + p20.transfer(1, dpni, pcr_wells, new_tip='once') + # mix each 50 uL digestion + for w in pcr_wells: + p20.pick_up_tip() + p20.mix(5, 20, w) + p20.drop_tip() + + protocol.comment( + 'MANUAL - DpnI incubation: seal pcr_plate and incubate 30 min at ' + '37 C, then inactivate DpnI 20 min at 65 C (thermocycler block or ' + 'heat block; the robot cannot thermocycle this plate). Each well ' + 'now holds 50 uL.') + protocol.pause('DpnI: 30 min 37 C + 20 min 65 C off-deck. Resume when ' + 'done and the plate is back at ~room temperature.') + + # ================================================================== + # STEP 5 - [manual] Zymo column cleanup of each fragment + # Paper 2.3: DNA Clean and Concentrator-5, water elution. The paper + # elutes in 10 uL, but fragments 2 and 6 each donate 3 uL to four + # assemblies (12 uL total), so 15 uL elutions are specified here - + # a sound deviation guaranteeing enough cleaned fragment plus dead + # volume. + # ================================================================== + protocol.comment( + 'MANUAL - fragment cleanup: clean and concentrate each of the 7 ' + 'DpnI-treated fragments (50 uL each) with a Zymo DNA Clean & ' + 'Concentrator-5 column per the manufacturer protocol (binding ' + 'buffer, 2 washes) to remove polymerase, which interferes with ' + 'Golden Gate (paper 3.3). Elute each fragment in 15 uL ' + 'nuclease-free water (15 uL rather than the paper\'s 10 uL because ' + 'fragments 2 and 6 must each supply 4 x 3 uL = 12 uL to the four ' + 'assemblies). Return each eluate to its original well pcr_plate ' + 'A1:G1 and resume.') + protocol.pause('Zymo cleanup of fragments 1-7; eluates (15 uL each) ' + 'returned to pcr_plate A1:G1.') + + # ================================================================== + # STEP 6 - Golden Gate assembly setup (20 uL reactions, Engler-style) + # assembly_plate A1:D1. Reagents first, then fragments proportional to + # length (fixed design), enzyme mix last. + # ================================================================== + protocol.comment('--- STEP 6: set up 4 x 20 uL Golden Gate reactions ' + 'in assembly_plate A1:D1 ---') + p20.reset_tipracks() + asm_wells = [assembly_plate[w] for w in ['A1', 'B1', 'C1', 'D1']] + + # 7 uL water per reaction (choice documented in the module docstring) + p20.transfer(7, water, asm_wells, new_tip='once') + # 2 uL 10X T4 DNA Ligase Buffer -> 1X final + p20.transfer(2, t4_buffer, asm_wells, new_tip='once') + # fragments: shared fragments (2, 5, 6) distributed with one tip each + # (same source -> different destinations is contamination-safe); + # the unique chromoprotein fragment gets a fresh tip per assembly. + for frag, vol in [(2, 3.0), (5, 2.0), (6, 3.0)]: + src = pcr_plate[fragments[frag][0]] + p20.transfer(vol, src, asm_wells, new_tip='once') + for well_name, frags in assemblies.items(): + chromo_frag, chromo_vol = frags[3] + p20.transfer(chromo_vol, pcr_plate[fragments[chromo_frag][0]], + assembly_plate[well_name], new_tip='always') + # 1 uL Golden Gate Enzyme Mix (BsaI-HFv2 + T4 ligase) last, then mix + p20.transfer(1, gg_enzyme, asm_wells, new_tip='once', + mix_after=(5, 15)) + + # ================================================================== + # STEP 7 - [manual] Golden Gate thermocycling (paper 3.3: run in the + # Opentrons thermocycler module; the deck layout here has no module + # slot free, so this is recorded as a manual/off-deck step). Program + # based on Engler et al., as the AssemblyTron GG script is. + # ================================================================== + protocol.comment( + 'MANUAL - Golden Gate thermocycling: seal assembly_plate and run ' + 'in a thermocycler (Opentrons thermocycler module if available): ' + '30 cycles of [37 C 1 min, 16 C 1 min], then 60 C 5 min (BsaI/' + 'ligase heat inactivation), hold 4 C (program per Engler et al., ' + 'on which the AssemblyTron Golden Gate script is based; 30 cycles ' + 'suit a 4-fragment one-pot assembly). Return the plate to the deck ' + 'and resume.') + protocol.pause('Golden Gate thermocycling (30 x 37 C/16 C, 60 C 5 min, ' + 'hold 4 C). Resume when complete.') + + # ================================================================== + # STEP 8 - [manual] cleanup of the four assemblies (paper 2.3: + # Zymo DNA Clean and Concentrator-5, elute in 10 uL molecular grade + # water; eluates transformed into 50 uL TOP10) + # ================================================================== + protocol.comment( + 'MANUAL - assembly cleanup: clean and concentrate each 20 uL ' + 'Golden Gate reaction with a Zymo DNA Clean & Concentrator-5 ' + 'column and elute in 10 uL molecular grade water (paper 2.3). ' + 'Return each 10 uL eluate to its assembly_plate well A1:D1 and ' + 'resume. (The paper reserves 5 uL for NanoDrop quantification for ' + 'CFU/ug calculations; here the full 10 uL eluate is transformed - ' + 'quantify a separate aliquot if transformation efficiencies are ' + 'needed.)') + protocol.pause('Zymo cleanup of the 4 assemblies; 10 uL eluates ' + 'returned to assembly_plate A1:D1.') + + # ================================================================== + # STEP 9 - transformation into E. coli TOP10 (paper 2.3) + # ================================================================== + protocol.comment('--- STEP 9: transformation into TOP10 (cells_plate ' + 'A1:D1) ---') + p20.reset_tipracks() + p300.reset_tipracks() + cell_wells = [cells_plate[w] for w in ['A1', 'B1', 'C1', 'D1']] + for src, dst in zip(asm_wells, cell_wells): + # gentle mix - competent cells are shear-sensitive + p20.transfer(10, src, dst, new_tip='always', mix_after=(3, 10)) + + protocol.comment( + 'MANUAL - transformation incubations: keep cells_plate A1:D1 on ice ' + '30 min, heat shock 42 C for 60 s, then return to ice (~2 min). ' + '(Paper 2.3: 30 min on ice, 60 s at 42 C.)') + protocol.pause('Ice 30 min -> 42 C 60 s heat shock -> back on ice. ' + 'Resume with the plate back on the deck (slot 7).') + + # recovery medium: 250 uL LB + 0.2% dextrose per well (paper 2.3) + p300.reset_tipracks() + p300.transfer(250, lb_dextrose, cell_wells, new_tip='always', + mix_after=(3, 150)) + + protocol.comment( + 'MANUAL - recovery and plating: incubate cells_plate A1:D1 at 37 C ' + 'for 60 min with shaking (recovery in LB + 0.2% dextrose, paper ' + '2.3). Then plate 50-200 uL of each culture (neat or a 10x ' + 'dilution, depending on expected efficiency) onto LB agar + ' + 'kanamycin 50 ug/mL (fragment 5 carries KanR) and incubate at 37 C ' + 'overnight. Score colonies by chromoprotein colour (purple, ' + 'orange/Yukon, blue, green) and count CFU.') + + protocol.set_rail_lights(False) + protocol.comment('Protocol complete. Remove plates; final tip state: ' + 'no tips on either pipette.') diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/reward.json new file mode 100644 index 0000000..f45bc7b --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.3, "sim_pass": 1.0, "checks_frac": 0.8571, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.2167, "judge_score": 0.5, "critical_fail": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 0.0, "rubric_fidelity_to_paper": 0.0, "rubric_pcr_setup": 1.0, "rubric_dpni_and_cleanup": 1.0, "rubric_assembly_mix": 1.0, "rubric_cycling_and_transformation": 1.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/trial.json new file mode 100644 index 0000000..52a7bce --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly-hard/trial.json @@ -0,0 +1,31 @@ +{ + "task": "golden-gate-assembly-hard", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.8571, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.2167, + "judge_score": 0.5, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_pcr_setup": 1.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 1.0, + "rubric_cycling_and_transformation": 1.0 + }, + "exception": null, + "cost_usd": 0.300086, + "input_tokens": 369155, + "output_tokens": 18728, + "started_at": "2026-10-07T17:42:48.552099Z", + "finished_at": "2026-10-07T17:52:15.296183Z", + "cache_tokens": 314624, + "claude_code_cost_usd": 0.898167 +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/grader.json new file mode 100644 index 0000000..b901d43 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/grader.json @@ -0,0 +1,235 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 491 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": false, + "detail": "[(379, 'D2'), (380, 'B1'), (381, 'B1')]" + }, + { + "name": "end_state:water", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dntp", + "pass": true, + "detail": "" + }, + { + "name": "end_state:q5_pol", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_mm", + "pass": true, + "detail": "" + }, + { + "name": "end_state:primer_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:template_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:pcr_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:rcutsmart", + "pass": true, + "detail": "" + }, + { + "name": "end_state:dpni", + "pass": true, + "detail": "" + }, + { + "name": "end_state:t4_buffer", + "pass": true, + "detail": "" + }, + { + "name": "end_state:gg_enzyme", + "pass": true, + "detail": "" + }, + { + "name": "end_state:assembly_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:cells_plate", + "pass": true, + "detail": "" + }, + { + "name": "end_state:lb_dextrose", + "pass": true, + "detail": "" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "Valid apiLevel 2.13, pipettes match volume ranges, labware loaded with correct labels, and the end-state checks pass.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 0, + "evidence": "Measured check no_cross_contamination failed at (379,'D2') etc. Step 24 uses new_tip='once' with mix_after=(5,15), so the tip that mixed in assembly wells goes back into the gg_enzyme stock D2.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "fidelity_to_task", + "score": 0, + "evidence": "Step 24 reuses one tip with mix_after, which contaminates the enzyme stock and so deviates from a clean implementation. The mix volume of 15 \u00b5L is also arbitrary for 20 \u00b5L reactions.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "pcr_setup", + "score": 1, + "evidence": "Master mix 106/40/4/2 \u00b5L, 19 \u00b5L per well, 2.5 \u00b5L primers and 1 \u00b5L template paired as A1,A1,B1,C1,A1,A1,D1 with fresh tips each.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "dpni_and_cleanup", + "score": 1, + "evidence": "Steps 12-15 add 19 \u00b5L water, 5 \u00b5L rCutSmart and 1 \u00b5L DpnI, then mix; the incubation and Zymo cleanup are recorded with protocol.comment in order.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "assembly_mix", + "score": 1, + "evidence": "Assembly volumes are 7 \u00b5L water, 2 \u00b5L buffer, 3/2/3 \u00b5L backbone fragments, 2 \u00b5L chromoprotein fragments and 1 \u00b5L enzyme, matching the task.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "cycling_and_transformation", + "score": 1, + "evidence": "Golden Gate program, cleanup, 5 \u00b5L transfer to cells, 250 \u00b5L LB, and the ice/heat shock/recovery steps are all recorded or performed in order.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 0.0, + "fidelity_to_task": 0.0, + "pcr_setup": 1.0, + "dpni_and_cleanup": 1.0, + "assembly_mix": 1.0, + "cycling_and_transformation": 1.0 + }, + "summary": "The protocol simulates and gets nearly all quantities and orders right. However, step 24 uses one tip with mix_after across all assembly wells, which contaminates the enzyme stock (the measured contamination check failed), so the tips and fidelity items fail.", + "level": "easy", + "score": 0.5, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "pcr_setup": 0.0625, + "dpni_and_cleanup": 0.0625, + "assembly_mix": 0.0625, + "cycling_and_transformation": 0.0625 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [ + "no_cross_contamination" + ], + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.9524, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.25, + "judge_score": 0.5, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_task": 0.0, + "rubric_pcr_setup": 1.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 1.0, + "rubric_cycling_and_transformation": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/protocol.py new file mode 100644 index 0000000..d367382 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/protocol.py @@ -0,0 +1,222 @@ +# Golden Gate assembly of four four-fragment chromoprotein expression plasmids +# with AssemblyTron on the OT-2 (Synth. Biol. 2022, doi:10.1093/synbio/ysac032). +# +# Steps 1-33 of the task: PCR master mix, primer/template addition, gradient PCR +# (manual comment), DpnI digestion, cleanup (manual comment), Golden Gate +# assembly, thermocycling (manual comment), cleanup (manual comment), and +# transformation of E. coli TOP10. + +metadata = {'apiLevel': '2.13'} + + +def run(protocol): + # Tip racks + tips20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + # Pipettes + p20 = protocol.load_instrument( + 'p20_single_gen2', 'left', tip_racks=[tips20]) + p300 = protocol.load_instrument( + 'p300_single_gen2', 'right', tip_racks=[tips300]) + + # Labware + tubes_50ml_1 = protocol.load_labware( + 'opentrons_6_tuberack_falcon_50ml_conical', 1, label='tubes_50ml_1') + tubes_1_5ml_1 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap', 2, + label='tubes_1_5ml_1') + primer_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 3, label='primer_plate') + template_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 4, label='template_plate') + pcr_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 5, label='pcr_plate') + assembly_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 6, label='assembly_plate') + cells_plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 7, label='cells_plate') + tubes_15ml_1 = protocol.load_labware( + 'opentrons_15_tuberack_falcon_15ml_conical', 8, label='tubes_15ml_1') + + # Reagent sources + water = tubes_50ml_1['A1'] + q5_buffer = tubes_1_5ml_1['A1'] + dntp = tubes_1_5ml_1['B1'] + q5_pol = tubes_1_5ml_1['C1'] + pcr_mm = tubes_1_5ml_1['D1'] + rcutsmart = tubes_1_5ml_1['A2'] + dpni = tubes_1_5ml_1['B2'] + t4_buffer = tubes_1_5ml_1['C2'] + gg_enzyme = tubes_1_5ml_1['D2'] + lb_dextrose = tubes_15ml_1['A1'] + + # PCR reactions for fragments 1-7 in pcr_plate column 1 + pcr_wells = [pcr_plate[w] for w in + ['A1', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1']] + fwd_primers = [primer_plate[w] for w in + ['A1', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1']] + rev_primers = [primer_plate[w] for w in + ['A2', 'B2', 'C2', 'D2', 'E2', 'F2', 'G2']] + templates = [template_plate[w] for w in + ['A1', 'A1', 'B1', 'C1', 'A1', 'A1', 'D1']] + + # Golden Gate assemblies A1:D1 and transformation destinations + asm_wells = [assembly_plate[w] for w in ['A1', 'B1', 'C1', 'D1']] + cells_wells = [cells_plate[w] for w in ['A1', 'B1', 'C1', 'D1']] + + # --- PCR master mix (8 reactions) --- + # Step 1: 106 uL water -> pcr_mm tube + p300.reset_tipracks() + p300.transfer(106, water, pcr_mm, new_tip='once') + # Step 2: 40 uL 5X Q5 reaction buffer -> pcr_mm tube + p300.reset_tipracks() + p300.transfer(40, q5_buffer, pcr_mm, new_tip='once') + # Step 3: 4 uL 10 mM dNTPs -> pcr_mm tube + p20.reset_tipracks() + p20.transfer(4, dntp, pcr_mm, new_tip='once') + # Step 4: 2 uL Q5 polymerase -> pcr_mm tube + p20.reset_tipracks() + p20.transfer(2, q5_pol, pcr_mm, new_tip='once') + # Step 5: mix master mix, 5 cycles at 100 uL + p300.reset_tipracks() + p300.pick_up_tip() + p300.mix(5, 100, pcr_mm) + p300.drop_tip() + + # --- PCR setup --- + # Step 6: 19 uL master mix to each PCR well + p20.reset_tipracks() + p20.transfer(19, pcr_mm, pcr_wells, new_tip='always') + # Step 7: 2.5 uL forward primer to each PCR well + p20.reset_tipracks() + p20.transfer(2.5, fwd_primers, pcr_wells, new_tip='always') + # Step 8: 2.5 uL reverse primer to each PCR well + p20.reset_tipracks() + p20.transfer(2.5, rev_primers, pcr_wells, new_tip='always') + # Step 9: 1 uL linearized template (0.5 ng/uL) to each PCR well + p20.reset_tipracks() + p20.transfer(1, templates, pcr_wells, new_tip='always') + # Step 10: mix each PCR, 3 cycles at 15 uL + p20.reset_tipracks() + for w in pcr_wells: + p20.pick_up_tip() + p20.mix(3, 15, w) + p20.drop_tip() + + # Step 11: gradient PCR (manual) + protocol.comment( + 'Seal pcr_plate (or move the PCR tubes) and transfer manually to the ' + 'Bio-Rad C100 gradient thermocycler. Run: 98C 30 s; 34 cycles of ' + '98C 10 s, annealing 30 s at the AssemblyTron/j5 optimal-gradient ' + 'temperature for each fragment, 72C extension at the time set by ' + 'AssemblyTron (about 20-30 s/kb); final extension 72C 5 min; hold ' + '4C. Take a sample of each reaction for gel electrophoresis, then ' + 'return to the OT-2.') + + # --- DpnI digestion of residual template --- + # Step 12: 19 uL water to each PCR well + p20.reset_tipracks() + p20.transfer(19, water, pcr_wells, new_tip='once') + # Step 13: 5 uL rCutSmart Buffer to each PCR well + p20.reset_tipracks() + p20.transfer(5, rcutsmart, pcr_wells, new_tip='once') + # Step 14: 1 uL DpnI to each PCR well + p20.reset_tipracks() + p20.transfer(1, dpni, pcr_wells, new_tip='once') + # Step 15: mix each PCR well, 3 cycles at 30 uL + p300.reset_tipracks() + for w in pcr_wells: + p300.pick_up_tip() + p300.mix(3, 30, w) + p300.drop_tip() + + # Step 16: DpnI incubation (manual) + protocol.comment( + 'Incubate pcr_plate A1:G1 at 37C for 30 min, then 65C for 20 min ' + '(DpnI inactivation) on the thermocycler block.') + + # Step 17: fragment cleanup (manual) + protocol.comment( + 'Pause the protocol. Clean and concentrate each of the 7 fragments ' + 'with a Zymo DNA Clean & Concentrator-5 column: 5:1 DNA Binding ' + 'Buffer to sample (250 uL per 50 uL), spin 30 s, wash 2 x 200 uL DNA ' + 'Wash Buffer (30 s spins), elute in 20 uL water after 1 min at room ' + 'temperature (30 s spin). Return the eluted fragments to their ' + 'original positions pcr_plate A1:G1 (fragments 1-7) and resume the ' + 'protocol.') + + # --- Golden Gate assembly (20 uL reactions, assembly_plate A1:D1) --- + # Step 18: 7 uL water to each assembly well + p20.reset_tipracks() + p20.transfer(7, water, asm_wells, new_tip='once') + # Step 19: 2 uL 10X T4 DNA Ligase Buffer to each assembly well + p20.reset_tipracks() + p20.transfer(2, t4_buffer, asm_wells, new_tip='once') + # Step 20: 3 uL fragment 2 (backbone) to each assembly well + p20.reset_tipracks() + p20.transfer(3, pcr_plate['B1'], asm_wells, new_tip='once') + # Step 21: 2 uL fragment 5 (backbone/KanR) to each assembly well + p20.reset_tipracks() + p20.transfer(2, pcr_plate['E1'], asm_wells, new_tip='once') + # Step 22: 3 uL fragment 6 (backbone) to each assembly well + p20.reset_tipracks() + p20.transfer(3, pcr_plate['F1'], asm_wells, new_tip='once') + # Step 23: 2 uL chromoprotein fragments 1, 3, 4, 7 (A1, C1, D1, G1) to + # assembly wells A1, B1, C1, D1 respectively + p20.reset_tipracks() + p20.transfer(2, [pcr_plate['A1'], pcr_plate['C1'], + pcr_plate['D1'], pcr_plate['G1']], + asm_wells, new_tip='always') + # Step 24: 1 uL Golden Gate Enzyme Mix to each assembly well, mix after + p20.reset_tipracks() + p20.transfer(1, gg_enzyme, asm_wells, new_tip='once', mix_after=(5, 15)) + + # Step 25: Golden Gate thermocycling (manual) + protocol.comment( + 'Run Golden Gate program on assembly_plate in the Opentrons ' + 'thermocycler module: 30 cycles of 37C 5 min then 16C 5 min; then ' + '60C 5 min; hold at 4C. Lid about 85C. If no module is available, ' + 'pause and move reactions to another thermocycler.') + + # Step 26: assembly cleanup (manual) + protocol.comment( + 'Clean and concentrate each assembly with a Zymo DNA Clean & ' + 'Concentrator-5 column (5:1 binding buffer, 2 x 200 uL wash) and ' + 'elute in 10 uL molecular grade water; return the eluates to ' + 'assembly_plate A1:D1.') + + # --- Transformation into E. coli TOP10 --- + # Step 27: 5 uL purified assembly to each cells well + p20.reset_tipracks() + p20.transfer(5, asm_wells, cells_wells, new_tip='always') + + # Step 28: NanoDrop quantification (manual) + protocol.comment( + 'Measure DNA concentration of the remaining 5 uL of each eluate with ' + 'a NanoDrop-2000c for CFU/ug calculation.') + + # Step 29: heat shock (manual) + protocol.comment( + 'Incubate cells_plate A1:D1 for 30 min on ice, heat shock at 42C for ' + '60 s, then return to ice for about 2 min.') + + # Step 30: 250 uL LB + 0.2% dextrose to each cells well + p300.reset_tipracks() + p300.transfer(250, lb_dextrose, cells_wells, new_tip='once') + + # Step 31: recovery (manual) + protocol.comment( + 'Recover cells at 37C for 60 min with shaking (about 250 rpm).') + + # Step 32: plating (manual) + protocol.comment( + 'Plate 50-200 uL of each recovery (neat or a 10x dilution, depending ' + 'on predicted efficiency) onto separate LB agar plates containing ' + 'kanamycin 50 ug/mL; incubate at 37C overnight.') + + # Step 33: colony scoring (manual) + protocol.comment( + 'Manually count colonies per plate and score the fraction showing ' + 'the expected chromoprotein colour (purple, orange, blue, green); ' + 'report CFU/ug of DNA plated.') diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/reward.json new file mode 100644 index 0000000..9e20ed7 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/reward.json @@ -0,0 +1 @@ +{"reward": 0.3, "sim_pass": 1.0, "checks_frac": 0.9524, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 0.25, "judge_score": 0.5, "critical_fail": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 0.0, "rubric_fidelity_to_task": 0.0, "rubric_pcr_setup": 1.0, "rubric_dpni_and_cleanup": 1.0, "rubric_assembly_mix": 1.0, "rubric_cycling_and_transformation": 1.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/trial.json new file mode 100644 index 0000000..c7dc095 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/golden-gate-assembly/trial.json @@ -0,0 +1,31 @@ +{ + "task": "golden-gate-assembly", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.9524, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 0.25, + "judge_score": 0.5, + "critical_fail": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 0.0, + "rubric_fidelity_to_task": 0.0, + "rubric_pcr_setup": 1.0, + "rubric_dpni_and_cleanup": 1.0, + "rubric_assembly_mix": 1.0, + "rubric_cycling_and_transformation": 1.0 + }, + "exception": null, + "cost_usd": 0.167438, + "input_tokens": 212323, + "output_tokens": 7308, + "started_at": "2026-10-07T17:42:48.596562Z", + "finished_at": "2026-10-07T17:47:14.936895Z", + "cache_tokens": 172032, + "claude_code_cost_usd": 0.470171 +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/grader.json new file mode 100644 index 0000000..4ec60c9 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/grader.json @@ -0,0 +1,234 @@ +{ + "variant": "reference", + "judge_model": "claude-sonnet-5-5", + "suspicious_tokens": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1333 + }, + "checks": { + "checks": [ + { + "name": "48_samples_to_odd_columns", + "pass": true, + "detail": "48 tubes -> 48 wells, odd columns only: True" + }, + { + "name": "step_order", + "pass": true, + "detail": "expected per well: beads > isopropanol > sample > remove > ethanol > remove > ethanol > remove > elution > recover" + }, + { + "name": "binding_volumes_40_250_250", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "mix_5x_after_sample", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "incubation_5min_before_magnet", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_4min_before_first_removal", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "supernatant_removed_each_step", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_engaged_for_all_removals", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "two_500ul_ethanol_washes", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "air_dry_4min", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_100ul", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_off_magnet_then_90s_on", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "recover_70_100ul_one_well_each", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "distinct_elution_wells", + "pass": true, + "detail": "48 distinct elution wells" + }, + { + "name": "elution_plate_4C_before_recovery", + "pass": true, + "detail": "temperatures set: [(0.0, 4.0), (900.0, 4.0)]" + }, + { + "name": "fresh_tip_per_sample_no_cross_contact", + "pass": true, + "detail": "48 distinct tips for 48 sample transfers; violations: []" + }, + { + "name": "reservoir_columns_within_15ml", + "pass": true, + "detail": "uL drawn per reservoir column: 2: 1920, 4: 4800, 6: 6000, 7: 6000, 9: 12000, 10: 12000, 11: 12000, 12: 12000" + } + ], + "checks_passed": 17, + "checks_total": 17, + "total_delay_min": 15.0, + "example_well": "A1", + "example_sequence": [ + "beads 40uL", + "isopropanol 250uL", + "sample 250uL", + "remove 500uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "elution 100uL", + "recover 100uL (magnet)" + ] + }, + "critical_failures": [], + "judge": { + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.13, all volumes within pipette ranges (multi chunks \u2264200 \u00b5L, p1000 250 \u00b5L), wells within capacity, reservoir draws within 15 mL per measured check.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "Check fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips; every tip is dropped and a fresh tip is used per column or per sample.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_paper", + "score": 0, + "evidence": "No mixing after elution buffer addition, and only 500 \u00b5L of the 540 \u00b5L supernatant is removed, leaving about 40 \u00b5L. Both are deviations or additions, and this item is all-or-nothing.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "sample_handling", + "score": 1, + "evidence": "Check 48_samples_to_odd_columns passed. sample_routes pairs each tube with its own well in columns 1,3,5,7,9,11, and each eluate goes to a distinct elution well.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "binding_and_separation", + "score": 1, + "evidence": "Beads 40, isopropanol 250, then sample 250 \u00b5L, mixed 5x, 5 min delay, magnet engaged with a 4 min delay, then removal to the waste plate with the magnet on. The measured checks all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "washes_and_drying", + "score": 1, + "evidence": "Two 500 \u00b5L ethanol washes, each added and removed with the magnet engaged. Then a 4 min delay before magdeck.disengage(). Checks two_500ul_ethanol_washes and air_dry_4min passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "elution_recovery", + "score": 0, + "evidence": "Elution buffer is dispensed with the magnet off but never mixed. There is only a 30 s delay, then the magnet is engaged, so the rubric's 'added off-magnet and mixed' is not met, although recovery of 100 \u00b5L to distinct wells is fine.", + "votes": [ + 0, + 0, + 0 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_paper": 0.0, + "sample_handling": 1.0, + "binding_and_separation": 1.0, + "washes_and_drying": 1.0, + "elution_recovery": 0.0 + }, + "summary": "The protocol passes all 17 measured checks. Sample placement, binding, washes and drying, tip handling and recovery to distinct elution wells are correct. It fails elution_recovery because the elution buffer is never mixed. It fails fidelity_to_paper because that mixing is missing and about 40 \u00b5L of supernatant is left behind at each removal.", + "raw": "[{\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13, all volumes within pipette ranges (multi chunks \\u2264200 \\u00b5L, p1000 250 \\u00b5L), wells within capacity, reservoir draws within 15 mL per measured check.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips; every tip is dropped and a fresh tip is used per column or per sample.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"No mixing after elution buffer addition, and only 500 \\u00b5L of the 540 \\u00b5L supernatant is removed, leaving about 40 \\u00b5L. Both are deviations or additions, and this item is all-or-nothing.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed. sample_routes pairs each tube with its own well in columns 1,3,5,7,9,11, and each eluate goes to a distinct elution well.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40, isopropanol 250, then sample 250 \\u00b5L, mixed 5x, 5 min delay, magnet engaged with a 4 min delay, then removal to the waste plate with the magnet on. The measured checks all passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes, each added and removed with the magnet engaged. Then a 4 min delay before magdeck.disengage(). Checks two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"Elution buffer is dispensed with the magnet off but never mixed. There is only a 30 s delay, then the magnet is engaged, so the rubric's 'added off-magnet and mixed' is not met, although recovery of 100 \\u00b5L to distinct wells is fine.\"}], \"summary\": \"The protocol passes all 17 measured checks. Sample placement, binding, washes and drying, tip handling and recovery to distinct elution wells are correct. It fails elution_recovery because the elution buffer is never mixed. It fails fidelity_to_paper because that mixing is missing and about 40 \\u00b5L of supernatant is left behind at each removal.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13; all volumes within pipette ranges (p1000 250 \\u00b5L, multi \\u2264200 \\u00b5L chunks, 40 \\u00b5L beads); 17/17 checks passed and reservoir columns stay within 15 mL.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips; every pick_up_tip is paired with drop_tip and per-column fresh tips are used for sample-contacting steps.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"The beads are never resuspended or mixed after the 100 \\u00b5L elution buffer is added (only a delay, then the magnet engages), which departs from the paper's 'beads are resuspended in 100 \\u00b5L of elution buffer'.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed. The p1000 moves each 250 \\u00b5L sample into its own well of columns 1,3,5,7,9,11 with a fresh tip and a distinct elution well per sample.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Checks binding_volumes_40_250_250, mix_5x_after_sample, incubation_5min, magnet_4min and magnet_engaged_for_all_removals all passed; the order is beads, isopropanol, sample.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Checks two_500ul_ethanol_washes and air_dry_4min passed; the removals are done with the magnet engaged, then magdeck.disengage() is called before elution.\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"Elution buffer is dispensed with the magnet off but never mixed. The rubric requires it to be added off-magnet and mixed, and the code only waits 30 s before engaging.\"}], \"summary\": \"The protocol passed all 17 measured run-log checks and handles binding, separation, washes, drying and recovery of the eluate to distinct 4 \\u00b0C wells correctly. It fails the elution step and fidelity because the beads are never mixed or resuspended after the 100 \\u00b5L of elution buffer is added.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 1, \"evidence\": \"apiLevel 2.13, p1000 handles 250 \\u00b5L, p300 multi splits into \\u2264200 \\u00b5L aspirations, wells hold \\u2264540 \\u00b5L, reservoir columns within 15 mL (check passed), modules used correctly.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"Check fresh_tip_per_sample_no_cross_contact passed (48 distinct tips); every pickup is followed by drop_tip, and shared-reagent tips are reused only for reagent dispensing.\"}, {\"id\": \"fidelity_to_paper\", \"score\": 0, \"evidence\": \"The paper says the beads are resuspended in 100 \\u00b5L elution buffer, but the code only dispenses the buffer (dispense_to_column) with no mixing, so the beads are never resuspended.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed; sample_routes zips tubes to odd-column wells with a fresh p1000 tip each, and elution wells are distinct.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"Beads 40, isopropanol 250 and sample 250 added in that order, p1000.mix(5, 250), 5 min delay, engage with 4 min delay, then 500 \\u00b5L removed to waste; the checks passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two 500 \\u00b5L ethanol washes, each added and removed with the magnet engaged, then a 4 min delay with the magnet on and disengage before elution; checks passed.\"}, {\"id\": \"elution_recovery\", \"score\": 0, \"evidence\": \"The 100 \\u00b5L elution buffer is added off-magnet but never mixed (no mix call after dispense_to_column in step 7), though 90 s magnet and a 100 \\u00b5L recovery to distinct wells on the 4 \\u00b0C plate do pass.\"}], \"summary\": \"The protocol passes all 17 measured checks and handles tips, binding and washes correctly. It never mixes or resuspends the beads after adding the elution buffer, so elution_recovery and fidelity_to_paper fail.\"}]", + "level": "hard", + "score": 0.6875, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_paper": 0.25, + "sample_handling": 0.0625, + "binding_and_separation": 0.0625, + "washes_and_drying": 0.0625, + "elution_recovery": 0.0625 + }, + "model": "anthropic/claude-sonnet-5.5", + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "rewards": { + "reward": 0.6875, + "sim_pass": 1.0, + "checks_frac": 1.0, + "judge_score": 0.6875, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 0.0, + "deterministic_reward": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 0.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/protocol.py new file mode 100644 index 0000000..d621489 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/protocol.py @@ -0,0 +1,432 @@ +""" +Automated in-house magnetic-bead RNA extraction of 48 samples on an Opentrons OT-2. + +Reimplementation of the "OT-2 in-house" protocol of: + + Lazaro-Perona F, Rodriguez-Antolin C, Alguacil-Guillen M, Gutierrez-Arroyo A, + Mingorance J, Garcia-Rodriguez J, et al. "Evaluation of two automated low-cost + RNA extraction protocols for SARS-CoV-2 detection." PLoS ONE 2021;16(2):e0246302. + doi:10.1371/journal.pone.0246302 + +Recipe per sample ("OT-2 in-house protocol" steps 1-9 and Table 1 of the paper): + + 1. 40 uL magnetic beads + 250 uL isopropanol + 250 uL inactivated sample; + mix by pipetting five times; incubate 5 min at room temperature + 2. engage the GEN1 magnetic module for 4 min + 3. collect the supernatant and discard it + 4. wash 1: add 500 uL ethanol 70%, collect and discard + 5. wash 2: add 500 uL ethanol 70%, collect and discard + 6. air dry for 4 min (magnets engaged) + 7. disengage the magnets and add 100 uL elution buffer + 8. after 30 s engage the magnets again + 9. after 90 s collect the supernatant (eluted RNA) into the elution plate + +The binding mixture is 40 + 250 + 250 = 540 uL per well; at step 3, 500 uL of +supernatant is removed so that the bead pellet, held against the wall by the magnet, +is never aspirated (the paper: "magnetic beads are pulled to one side of the tubes +with a magnet and supernatant is discarded"). The washes at steps 4 and 5 add and +remove 500 uL each. + +Deck (fixed by the operator) +---------------------------- + 1 waste plate (supernatant + washes) usascientific_96_wellplate_2.4ml_deep + 2 200 uL filter tips opentrons_96_filtertiprack_200ul + 3 200 uL filter tips opentrons_96_filtertiprack_200ul + 4 Magnetic Module GEN1 + extraction plate (usascientific_96_wellplate_2.4ml_deep) + 5 reagent reservoir nest_12_reservoir_15ml + column 2 magnetic beads + column 4 elution buffer + columns 6-7 isopropanol + columns 9-12 ethanol 70% + 6 Temperature Module GEN1 + elution plate (thermo_96_wellplate_200ul), 4 C + 7 samples 25-48 (2 mL tubes) opentrons_24_tuberack_..._snapcap + 9 200 uL filter tips opentrons_96_filtertiprack_200ul + 10 samples 1-24 (2 mL tubes) opentrons_24_tuberack_..._snapcap + 11 1000 uL filter tips opentrons_96_filtertiprack_1000ul + 12 fixed trash + +Pipettes: p1000_single_gen2 (left), p300_multi_gen2 (right). + +The 48 samples occupy the odd columns (1, 3, 5, 7, 9, 11) of the extraction plate, +one sample per well, and each eluate is recovered into the matching odd column of +the elution plate. The 8-channel pipette is used for everything that happens in a +plate (the 200 uL filter tips cap it at 200 uL per aspiration, so larger volumes are +split); the single-channel p1000 is used for the tube -> plate sample transfer, with +a fresh tip per sample. + +Tip budget: 8-channel 256 of the 288 available 200 uL tips, single-channel 48 of the +96 available 1000 uL tips. +""" + +from opentrons import protocol_api +from opentrons.types import Point + +metadata = { + 'protocolName': 'SARS-CoV-2 RNA extraction - in-house magnetic beads - 48 samples', + 'author': 'Hospital Universitario La Paz, Madrid (reimplemented)', + 'source': 'PLoS ONE 2021;16(2):e0246302 - OT-2 in-house protocol', + 'apiLevel': '2.13', +} + + +# ---------------------------------------------------------------------------- +# Protocol constants (values as described in the paper) +# ---------------------------------------------------------------------------- + +SAMPLE_COUNT = 48 +CHANNELS = 8 +# Odd columns of the extraction / waste / elution plates hold the samples. +PLATE_COLUMNS = ['1', '3', '5', '7', '9', '11'] + +# Reagent volumes per sample, uL (paper Table 1, "OT-2 in-house" column). +BEADS_VOLUME = 40.0 # magnetic beads, Mag-Bind TotalPure NGS +ISOPROPANOL_VOLUME = 250.0 # isopropanol absolute +SAMPLE_VOLUME = 250.0 # inactivated sample +SUPERNATANT_VOLUME = 500.0 # removed after binding (540 uL mix, pellet spared) +WASH_VOLUME = 500.0 # ethanol 70%, per wash +WASH_COUNT = 2 # two washes +ELUTION_VOLUME = 100.0 # elution buffer, recovered in full + +# Mixing, "mix by pipetting five times". +MIX_REPETITIONS = 5 +MIX_VOLUME = 250.0 + +# Incubation / magnet / drying times. +BIND_INCUBATION_MIN = 5 # step 1: 5 min at room temperature +MAGNET_SEPARATION_MIN = 4 # step 2: magnetic module activated 4 min +AIR_DRY_MIN = 4 # step 6: air dry 4 min +ELUTION_INCUBATION_SEC = 30 # step 8: 30 s off the magnet +ELUTION_SEPARATION_SEC = 90 # step 9: 90 s on the magnet + +ELUTION_TEMPERATURE = 4.0 # temperature module set point, C + +# Liquid-handling parameters. +MULTI_TIP_VOLUME = 200.0 # 8-channel runs 200 uL filter tips +RESERVOIR_ASPIRATE_Z = 1.5 # mm above the reservoir bottom +PLATE_DISPENSE_Z = 5.0 # mm above the well bottom when dispensing reagents +SUPER_ASPIRATE_START_Z = 3.0 # first supernatant aspiration, mm above the bottom +SUPER_ASPIRATE_END_Z = 0.5 # last supernatant aspiration, mm above the bottom +BEAD_SIDE_OFFSET_X = 0.0 # mm: lateral offset for supernatant aspiration. + # On the GEN1 module the magnets sit at the + # interstices between wells and hold the pellet + # against the wall(s), so the tip aspirates from + # the centre of the well. Set to +/- a couple of + # mm if your module pellets the beads on one side + # only, to move the tip away from the pellet. +WASTE_DISPENSE_Z = -5.0 # top(z=-5) of the waste well +SLOW_RATE = 0.4 # flow-rate multiplier for supernatant removal +BLOWOUT_Z = -5.0 # top(z=-5) for blow outs + +# Nominal volumes the operator has loaded into each reagent column of the +# reservoir, uL. Isopropanol and ethanol are spread over several columns; the +# protocol empties one column before moving to the next. +BEADS_COLUMNS = ([2], [2200.0]) # 48 x 40 = 1920 uL needed +ELUTION_COLUMNS = ([4], [5000.0]) # 48 x 100 = 4800 uL needed +ISOPROPANOL_COLUMNS = ([6, 7], [6200.0, 6200.0]) # 48 x 250 = 12000 uL needed +ETHANOL_COLUMNS = ([9, 10, 11, 12], [12500.0] * 4) # 48 x 500 x 2 = 48000 uL needed + + +# ---------------------------------------------------------------------------- +# Helpers +# ---------------------------------------------------------------------------- + +def split_volume(total, max_per_aspiration): + """Split ``total`` uL into chunks that fit in one tip (8-channel: 200 uL).""" + chunks = [] + remaining = float(total) + while remaining > max_per_aspiration + 1e-6: + chunks.append(max_per_aspiration) + remaining -= max_per_aspiration + if remaining > 1e-6: + chunks.append(round(remaining, 6)) + return chunks + + +class ReagentSource: + """A reagent that occupies one or more columns of the reservoir. + + Tracks what has been aspirated from each column and always returns a column + that still holds the requested volume, so a column is never run dry. + """ + + def __init__(self, reservoir, columns, volumes, name): + self.name = name + self._wells = [reservoir.wells_by_name()['A{}'.format(c)] for c in columns] + self._remaining = [float(v) for v in volumes] + + def take(self, volume): + """Book ``volume`` uL and return the well it should be aspirated from.""" + for index, remaining in enumerate(self._remaining): + if remaining + 1e-6 >= volume: + self._remaining[index] = remaining - volume + return self._wells[index] + raise RuntimeError( + 'Not enough {} left in the reservoir ({} uL requested).'.format( + self.name, volume)) + + @property + def current_well(self): + """The first column that still holds reagent (for resuspending).""" + for well, remaining in zip(self._wells, self._remaining): + if remaining > 1e-6: + return well + raise RuntimeError('The {} reservoir is empty.'.format(self.name)) + + +def dispense_to_column(pip, volume_per_well, source, dest_well): + """Dispense ``volume_per_well`` uL of reagent into each well of a column. + + ``source`` is a ReagentSource; ``dest_well`` is the top (row A) well of the + destination column - the 8 tips cover the remaining seven wells. Volumes + larger than the 200 uL tip are split over several aspirations. + """ + for chunk in split_volume(volume_per_well, MULTI_TIP_VOLUME): + source_well = source.take(chunk * CHANNELS) + pip.aspirate(chunk, source_well.bottom(z=RESERVOIR_ASPIRATE_Z)) + pip.dispense(chunk, dest_well.bottom(z=PLATE_DISPENSE_Z)) + pip.blow_out(dest_well.top(z=BLOWOUT_Z)) + + +def remove_from_column(pip, volume_per_well, source_well, dest_well): + """Aspirate ``volume_per_well`` uL from each well of a column and discard it. + + Used with the magnets engaged: the bead pellet is held against the well wall, + so every aspiration is done slowly from the centre of the well (see + BEAD_SIDE_OFFSET_X) and the tip follows the falling liquid level, leaving the + pellet undisturbed. + """ + chunks = split_volume(volume_per_well, MULTI_TIP_VOLUME) + last = len(chunks) - 1 + for index, chunk in enumerate(chunks): + z = SUPER_ASPIRATE_START_Z + ( + (SUPER_ASPIRATE_END_Z - SUPER_ASPIRATE_START_Z) * index / last + if last else 0.0) + pip.aspirate( + chunk, + source_well.bottom(z=z).move(Point(x=BEAD_SIDE_OFFSET_X)), + rate=SLOW_RATE) + pip.dispense(chunk, dest_well.top(z=WASTE_DISPENSE_Z)) + pip.blow_out(dest_well.top(z=WASTE_DISPENSE_Z)) + + +def run(protocol: protocol_api.ProtocolContext): + # ------------------------------------------------------------------ deck + waste_plate = protocol.load_labware( + 'usascientific_96_wellplate_2.4ml_deep', '1', + label='Waste plate (supernatant and washes)') + tipracks_200 = [ + protocol.load_labware('opentrons_96_filtertiprack_200ul', '2'), + protocol.load_labware('opentrons_96_filtertiprack_200ul', '3'), + protocol.load_labware('opentrons_96_filtertiprack_200ul', '9'), + ] + magdeck = protocol.load_module('magnetic module', '4') + extraction_plate = magdeck.load_labware( + 'usascientific_96_wellplate_2.4ml_deep', label='Extraction plate') + reservoir = protocol.load_labware( + 'nest_12_reservoir_15ml', '5', label='Reagent reservoir') + tempdeck = protocol.load_module('tempdeck', '6') + elution_plate = tempdeck.load_labware( + 'thermo_96_wellplate_200ul', label='Elution plate') + sample_tubes_25_48 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap', '7', + label='Samples 25-48') + sample_tubes_1_24 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap', '10', + label='Samples 1-24') + tiprack_1000 = protocol.load_labware('opentrons_96_filtertiprack_1000ul', '11') + + p1000 = protocol.load_instrument( + 'p1000_single_gen2', 'left', tip_racks=[tiprack_1000]) + p300m = protocol.load_instrument( + 'p300_multi_gen2', 'right', tip_racks=tipracks_200) + + # --------------------------------------------------------- module set-up + # The elution plate is kept at 4 C for the whole run and the magnets start + # retracted. + magdeck.disengage() + tempdeck.set_temperature(ELUTION_TEMPERATURE) + protocol.comment('Cooling the elution plate on the Temperature Module to ' + '{:.0f} C.'.format(ELUTION_TEMPERATURE)) + tempdeck.await_temperature(ELUTION_TEMPERATURE) + + # --------------------------------------------------------- reagent map + beads = ReagentSource(reservoir, BEADS_COLUMNS[0], BEADS_COLUMNS[1], + 'magnetic beads') + elution_buffer = ReagentSource(reservoir, ELUTION_COLUMNS[0], ELUTION_COLUMNS[1], + 'elution buffer') + isopropanol = ReagentSource(reservoir, ISOPROPANOL_COLUMNS[0], + ISOPROPANOL_COLUMNS[1], 'isopropanol') + ethanol = ReagentSource(reservoir, ETHANOL_COLUMNS[0], ETHANOL_COLUMNS[1], + 'ethanol 70%') + + # Sample routing: extraction-plate column k takes the four tubes of column k + # of the slot-10 rack (samples 1-24) and the four tubes of column k of the + # slot-7 rack (samples 25-48), one sample per well, rows A-H. + sample_routes = [] + for index, column in enumerate(PLATE_COLUMNS): + tubes = sample_tubes_1_24.columns()[index] + sample_tubes_25_48.columns()[index] + wells = extraction_plate.columns_by_name()[column] + sample_routes += list(zip(tubes, wells)) + if len(sample_routes) != SAMPLE_COUNT: + raise RuntimeError('Expected {} sample routes, built {}.'.format( + SAMPLE_COUNT, len(sample_routes))) + + waste_columns = {c: waste_plate.columns_by_name()[c][0] for c in PLATE_COLUMNS} + elution_columns = {c: elution_plate.columns_by_name()[c][0] for c in PLATE_COLUMNS} + extraction_columns = {c: extraction_plate.columns_by_name()[c][0] + for c in PLATE_COLUMNS} + + # ================================================================== + # Step 1a - 40 uL of magnetic beads into every sample well. + # Beads and isopropanol are dispensed before the samples, so the tips + # only ever touch shared reagent: one tip set serves all six columns. + # ================================================================== + protocol.comment('Step 1a: {} uL of magnetic beads per well.'.format( + int(BEADS_VOLUME))) + p300m.pick_up_tip() + for column in PLATE_COLUMNS: + # Keep the bead suspension homogeneous before aspirating from it. + p300m.mix(3, 100.0, + beads.current_well.bottom(z=RESERVOIR_ASPIRATE_Z + 1.0)) + dispense_to_column(p300m, BEADS_VOLUME, beads, extraction_columns[column]) + p300m.drop_tip() + + # ================================================================== + # Step 1b - 250 uL of isopropanol into every sample well. + # ================================================================== + protocol.comment('Step 1b: {} uL of isopropanol per well.'.format( + int(ISOPROPANOL_VOLUME))) + p300m.pick_up_tip() + for column in PLATE_COLUMNS: + dispense_to_column(p300m, ISOPROPANOL_VOLUME, isopropanol, + extraction_columns[column]) + p300m.drop_tip() + + # ================================================================== + # Step 1c - 250 uL of each inactivated sample, then mix by pipetting + # five times. Fresh 1000 uL filter tip for every sample. + # ================================================================== + protocol.comment('Step 1c: {} uL of each of the {} samples, mixed {} times ' + 'with {} uL.'.format(int(SAMPLE_VOLUME), SAMPLE_COUNT, + MIX_REPETITIONS, int(MIX_VOLUME))) + p1000.flow_rate.aspirate = 150.0 + p1000.flow_rate.dispense = 150.0 + for number, (tube, well) in enumerate(sample_routes, start=1): + p1000.pick_up_tip() + p1000.aspirate(SAMPLE_VOLUME, tube.bottom(z=1.0)) + p1000.dispense(SAMPLE_VOLUME, well.bottom(z=PLATE_DISPENSE_Z)) + p1000.blow_out(well.top(z=BLOWOUT_Z)) + p1000.mix(MIX_REPETITIONS, MIX_VOLUME, well.bottom(z=2.0)) + p1000.blow_out(well.top(z=BLOWOUT_Z)) + p1000.touch_tip(well, v_offset=BLOWOUT_Z) + p1000.drop_tip() + if number % 8 == 0: + protocol.comment(' {}/{} samples loaded.'.format(number, SAMPLE_COUNT)) + + # ================================================================== + # Step 1d - incubate 5 min at room temperature. + # ================================================================== + protocol.comment('Step 1d: incubating {} min at room temperature.'.format( + BIND_INCUBATION_MIN)) + protocol.delay(minutes=BIND_INCUBATION_MIN, + msg='Binding incubation, {} min at room temperature'.format( + BIND_INCUBATION_MIN)) + + # ================================================================== + # Step 2 - engage the magnetic module for 4 min. + # ================================================================== + protocol.comment('Step 2: engaging the Magnetic Module for {} min.'.format( + MAGNET_SEPARATION_MIN)) + magdeck.engage() + protocol.delay(minutes=MAGNET_SEPARATION_MIN, + msg='Magnetic separation, {} min'.format(MAGNET_SEPARATION_MIN)) + + # ================================================================== + # Step 3 - collect the supernatant and discard it (500 uL per well). + # Fresh tips: the supernatant carries the sample. + # ================================================================== + protocol.comment('Step 3: removing {} uL of supernatant per well.'.format( + int(SUPERNATANT_VOLUME))) + for column in PLATE_COLUMNS: + p300m.pick_up_tip() + remove_from_column(p300m, SUPERNATANT_VOLUME, extraction_columns[column], + waste_columns[column]) + p300m.drop_tip() + + # ================================================================== + # Steps 4 and 5 - two washes with 500 uL of ethanol 70%: add, collect + # and discard. Each column gets a fresh tip set, which is used both to + # dispense the ethanol and to remove it (same wells, so no carry-over). + # ================================================================== + for wash in range(1, WASH_COUNT + 1): + protocol.comment('Step {}: ethanol 70% wash - {} uL in, {} uL out, per ' + 'well.'.format(wash + 3, int(WASH_VOLUME), + int(WASH_VOLUME))) + for column in PLATE_COLUMNS: + p300m.pick_up_tip() + dispense_to_column(p300m, WASH_VOLUME, ethanol, + extraction_columns[column]) + remove_from_column(p300m, WASH_VOLUME, extraction_columns[column], + waste_columns[column]) + p300m.drop_tip() + + # ================================================================== + # Step 6 - air dry for 4 min with the magnets engaged. + # ================================================================== + protocol.comment('Step 6: air drying the beads for {} min, magnets ' + 'engaged.'.format(AIR_DRY_MIN)) + protocol.delay(minutes=AIR_DRY_MIN, + msg='Air dry, {} min'.format(AIR_DRY_MIN)) + + # ================================================================== + # Step 7 - disengage the magnets and add 100 uL of elution buffer. + # Fresh tips per column: the tips touch the beads. + # ================================================================== + protocol.comment('Step 7: disengaging the magnets and adding {} uL of elution ' + 'buffer per well.'.format(int(ELUTION_VOLUME))) + magdeck.disengage() + for column in PLATE_COLUMNS: + p300m.pick_up_tip() + dispense_to_column(p300m, ELUTION_VOLUME, elution_buffer, + extraction_columns[column]) + p300m.drop_tip() + + # ================================================================== + # Step 8 - after 30 s, engage the magnets again. + # ================================================================== + protocol.comment('Step 8: {} s off the magnets, then engaging for {} s.'.format( + ELUTION_INCUBATION_SEC, ELUTION_SEPARATION_SEC)) + protocol.delay(seconds=ELUTION_INCUBATION_SEC, + msg='Elution incubation, {} s, magnets disengaged'.format( + ELUTION_INCUBATION_SEC)) + magdeck.engage() + + # ================================================================== + # Step 9 - after 90 s, collect the supernatant and transfer it to the + # elution plate on the Temperature Module (4 C), one well per sample. + # ================================================================== + protocol.delay(seconds=ELUTION_SEPARATION_SEC, + msg='Magnetic separation of the eluate, {} s'.format( + ELUTION_SEPARATION_SEC)) + protocol.comment('Step 9: recovering {} uL of eluate per sample into the ' + 'elution plate at {:.0f} C.'.format(int(ELUTION_VOLUME), + ELUTION_TEMPERATURE)) + tempdeck.set_temperature(ELUTION_TEMPERATURE) + for column in PLATE_COLUMNS: + p300m.pick_up_tip() + for chunk in split_volume(ELUTION_VOLUME, MULTI_TIP_VOLUME): + p300m.aspirate( + chunk, + extraction_columns[column].bottom(z=SUPER_ASPIRATE_END_Z).move( + Point(x=BEAD_SIDE_OFFSET_X)), + rate=SLOW_RATE) + p300m.dispense(chunk, elution_columns[column].bottom(z=2.0)) + p300m.blow_out(elution_columns[column].top(z=-2.0)) + p300m.drop_tip() + + # ------------------------------------------------------------------ end + magdeck.disengage() + protocol.comment('Run finished: {} eluates in the odd columns of the elution ' + 'plate on the Temperature Module (kept at {:.0f} C), magnets ' + 'disengaged. Remove the elution plate when ready.'.format( + SAMPLE_COUNT, ELUTION_TEMPERATURE)) diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/reward.json new file mode 100644 index 0000000..a1137c3 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/reward.json @@ -0,0 +1 @@ +{"reward": 0.6875, "sim_pass": 1.0, "checks_frac": 1.0, "judge_score": 0.6875, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, "critical_fail": 0.0, "deterministic_reward": 1.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_paper": 0.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 0.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/trial.json new file mode 100644 index 0000000..4dee377 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction-hard/trial.json @@ -0,0 +1,32 @@ +{ + "task": "opentrons-rna-extraction-hard", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.6875, + "sim_pass": 1.0, + "checks_frac": 1.0, + "judge_score": 0.6875, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 0.0, + "deterministic_reward": 1.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_paper": 0.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 0.0 + }, + "exception": null, + "cost_usd": 1.436312, + "input_tokens": 3467241, + "output_tokens": 59681, + "started_at": "2026-10-07T17:54:48.193353Z", + "finished_at": "2026-10-07T18:37:27.847812Z", + "cache_tokens": 3346432, + "claude_code_cost_usd": 3.7692859999999997 +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/grader.json new file mode 100644 index 0000000..44460e2 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/grader.json @@ -0,0 +1,241 @@ +{ + "variant": "reference", + "judge_model": "claude-sonnet-5-5", + "suspicious_tokens": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 1297 + }, + "checks": { + "checks": [ + { + "name": "48_samples_to_odd_columns", + "pass": true, + "detail": "48 tubes -> 48 wells, odd columns only: True" + }, + { + "name": "step_order", + "pass": true, + "detail": "expected per well: beads > isopropanol > sample > remove > ethanol > remove > ethanol > remove > elution > recover" + }, + { + "name": "binding_volumes_40_250_250", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "mix_5x_after_sample", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "incubation_5min_before_magnet", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_4min_before_first_removal", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "supernatant_removed_each_step", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "magnet_engaged_for_all_removals", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "two_500ul_ethanol_washes", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "air_dry_4min", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_100ul", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "elution_off_magnet_then_90s_on", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "recover_70_100ul_one_well_each", + "pass": true, + "detail": "48/48 sample wells" + }, + { + "name": "distinct_elution_wells", + "pass": true, + "detail": "48 distinct elution wells" + }, + { + "name": "elution_plate_4C_before_recovery", + "pass": true, + "detail": "temperatures set: [(0.0, 4.0)]" + }, + { + "name": "fresh_tip_per_sample_no_cross_contact", + "pass": true, + "detail": "48 distinct tips for 48 sample transfers; violations: []" + }, + { + "name": "reservoir_columns_within_15ml", + "pass": false, + "detail": "uL drawn per reservoir column: 2: 1920, 4: 4800, 6: 6000, 7: 6000, 9: 12000, 10: 16000, 11: 12000, 12: 8000" + }, + { + "name": "recover_about_80ul", + "pass": true, + "detail": "70-90 uL of the 100 uL eluate, as the task's step 13 says; 48/48 sample wells" + } + ], + "checks_passed": 17, + "checks_total": 18, + "total_delay_min": 15.0, + "example_well": "A1", + "example_sequence": [ + "beads 40uL", + "isopropanol 250uL", + "sample 250uL", + "remove 540uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "ethanol 500uL (magnet)", + "remove 500uL (magnet)", + "elution 100uL", + "recover 80uL (magnet)" + ] + }, + "critical_failures": [ + "reservoir_columns_within_15ml" + ], + "judge": { + "items": [ + { + "id": "robot_practice", + "score": 0, + "evidence": "Failed check reservoir_columns_within_15ml: the ethanol split (etoh_cols[i%4] and [(i+1)%4]) draws 16000 uL from reservoir column 10, more than the 15 mL well holds.", + "votes": [ + 0, + 0, + 0 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "The run-log check fresh_tip_per_sample_no_cross_contact passed (48 distinct tips, no violations). Each p1000 sample tip and each p300 supernatant, wash-removal, elution and recovery tip is dropped per sample or column, and reagent-only tips never aspirate from sample wells.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "All 14 steps are done in order with the right volumes and delays (5 min, 4 min, 4 min dry, 30 s, 90 s). The magnet is engaged for removals, the temperature module is set to 4 C first, and 80 uL is recovered.", + "votes": [ + 1, + 1, + 0 + ] + }, + { + "id": "sample_handling", + "score": 1, + "evidence": "Check 48_samples_to_odd_columns passed, and each of the 48 tubes goes to its own well in columns 1,3,5,7,9,11 (dest = sample_cols[i//8][i%8]), with 48 distinct elution wells.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "binding_and_separation", + "score": 1, + "evidence": "The code adds 40 uL beads, then 250 uL isopropanol, then 250 uL sample with mix_after=(5,250). It then delays 5 min, engages the magnet for 4 min, and removes 2x270 uL to waste. Checks binding_volumes_40_250_250 and magnet_engaged_for_all_removals passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "washes_and_drying", + "score": 1, + "evidence": "Two washes each add 2x250 uL ethanol and remove 2x250 uL with the magnet engaged, then there is a 4 min delay before mag.disengage(). Checks two_500ul_ethanol_washes and air_dry_4min passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "elution_recovery", + "score": 1, + "evidence": "The code disengages the magnet, adds 100 uL elution buffer and mixes, waits 30 s, engages the magnet for 90 s, then transfers 80 uL to distinct wells of the 4 C elution plate.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 0.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "sample_handling": 1.0, + "binding_and_separation": 1.0, + "washes_and_drying": 1.0, + "elution_recovery": 1.0 + }, + "summary": "The protocol follows the task steps faithfully and passes tip handling, sample mapping, binding, washes and elution. It fails robot_practice because the ethanol split draws 16 mL from reservoir column 10, which holds 15 mL.", + "raw": "[{\"items\": [{\"id\": \"robot_practice\", \"score\": 0, \"evidence\": \"Failed check reservoir_columns_within_15ml: the ethanol split (etoh_cols[i%4] and [(i+1)%4]) draws 16000 uL from reservoir column 10, more than the 15 mL well holds.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"The run-log check fresh_tip_per_sample_no_cross_contact passed (48 distinct tips, no violations). Each p1000 sample tip and each p300 supernatant, wash-removal, elution and recovery tip is dropped per sample or column, and reagent-only tips never aspirate from sample wells.\"}, {\"id\": \"fidelity_to_task\", \"score\": 1, \"evidence\": \"All 14 steps are done in order with the right volumes and delays (5 min, 4 min, 4 min dry, 30 s, 90 s). The magnet is engaged for removals, the temperature module is set to 4 C first, and 80 uL is recovered.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"Check 48_samples_to_odd_columns passed, and each of the 48 tubes goes to its own well in columns 1,3,5,7,9,11 (dest = sample_cols[i//8][i%8]), with 48 distinct elution wells.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"The code adds 40 uL beads, then 250 uL isopropanol, then 250 uL sample with mix_after=(5,250). It then delays 5 min, engages the magnet for 4 min, and removes 2x270 uL to waste. Checks binding_volumes_40_250_250 and magnet_engaged_for_all_removals passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two washes each add 2x250 uL ethanol and remove 2x250 uL with the magnet engaged, then there is a 4 min delay before mag.disengage(). Checks two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"The code disengages the magnet, adds 100 uL elution buffer and mixes, waits 30 s, engages the magnet for 90 s, then transfers 80 uL to distinct wells of the 4 C elution plate.\"}], \"summary\": \"The protocol follows the task steps faithfully and passes tip handling, sample mapping, binding, washes and elution. It fails robot_practice because the ethanol split draws 16 mL from reservoir column 10, which holds 15 mL.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 0, \"evidence\": \"The failed check reservoir_columns_within_15ml shows reservoir column 10 is asked to supply 16000 \\u00b5L, over the 15 mL well capacity. The cause is the uneven `etoh_cols[i % 4]` and `etoh_cols[(i + 1) % 4]` ethanol draw pattern.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"The check fresh_tip_per_sample_no_cross_contact passed with 48 distinct tips. Every pick_up_tip is followed by drop_tip, and reagent-only tips never aspirate from sample wells. Fresh tips are used for supernatant removal, elution mixing and recovery.\"}, {\"id\": \"fidelity_to_task\", \"score\": 1, \"evidence\": \"All 14 steps are present in order with the specified volumes and delays (5 min, 4 min, 4 min dry, 30 s, 90 s). Supernatant is removed as 2\\u00d7270 \\u00b5L, 80 \\u00b5L is recovered, and the temperature module is set to 4 \\u00b0C first. I found no deviation outside the reservoir over-draw already penalised under robot_practice.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"The check 48_samples_to_odd_columns passed. Tubes are mapped one-to-one into sample_cols (odd columns) and each is recovered into its own elution well (distinct_elution_wells passed).\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"The code adds beads 40, then isopropanol 250, then sample 250 with mix_after=(5,250). It then delays 5 min, engages the magnet for 4 min, and removes 2\\u00d7270 \\u00b5L with the magnet on.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two washes of 2\\u00d7250 \\u00b5L ethanol, each removed with 2\\u00d7250 \\u00b5L while the magnet is engaged. A 4 min delay with the magnet engaged follows, then mag.disengage().\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"100 \\u00b5L elution buffer is added after mag.disengage() and mixed 5 times. The code waits 30 s, engages the magnet, waits 90 s, then transfers 80 \\u00b5L to distinct wells (recover_about_80ul passed).\"}], \"summary\": \"The protocol follows the specified steps with correct volumes, timings, magnet states, tip handling and an 80 \\u00b5L recovery. It fails robot_practice because the ethanol is spread unevenly across reservoir columns 9\\u201312, which asks column 10 for 16 mL against a 15 mL capacity.\"}, {\"items\": [{\"id\": \"robot_practice\", \"score\": 0, \"evidence\": \"reservoir_columns_within_15ml failed: reservoir column 10 is drawn 16000 uL (>15 mL), because ethanol is split as etoh_cols[i%4] and etoh_cols[(i+1)%4] unevenly.\"}, {\"id\": \"tips_and_contamination\", \"score\": 1, \"evidence\": \"The p1000 takes a fresh tip per sample and the multi takes a fresh tip per column for every aspirate from a sample well. The shared reagent-dispense tips never aspirate from sample wells, every tip is dropped, and fresh_tip_per_sample_no_cross_contact passed.\"}, {\"id\": \"fidelity_to_task\", \"score\": 0, \"evidence\": \"The ethanol distribution draws 16000 uL from reservoir column 10, which exceeds its 15 mL capacity and is not a faithful, feasible execution of the specified deck.\"}, {\"id\": \"sample_handling\", \"score\": 1, \"evidence\": \"48_samples_to_odd_columns passed, and distinct_elution_wells shows 48 distinct elution wells, with samples going from tubes to sample_cols[i//8][i%8] in the odd columns.\"}, {\"id\": \"binding_and_separation\", \"score\": 1, \"evidence\": \"The code adds beads 40, then isopropanol 250, then sample 250 with mix_after=(5,250). It then delays 5 min, engages the magnet for 4 min, and removes 2x270 uL supernatant to waste; the matching checks passed.\"}, {\"id\": \"washes_and_drying\", \"score\": 1, \"evidence\": \"Two washes of 2x250 uL ethanol are each removed with the magnet engaged, followed by a 4 min delay with the magnet on and then mag.disengage() before elution; two_500ul_ethanol_washes and air_dry_4min passed.\"}, {\"id\": \"elution_recovery\", \"score\": 1, \"evidence\": \"The code adds 100 uL elution buffer after disengaging and mixes 5x. It then waits 30 s, engages for 90 s, and transfers 80 uL to distinct wells of the 4 C elution plate; recover_about_80ul passed.\"}], \"summary\": \"The protocol follows the extraction steps correctly, with correct volumes, magnet use, timings and tip handling. However, it draws 16000 uL from reservoir column 10, which exceeds the 15 mL well capacity, so robot_practice and fidelity_to_task fail.\"}]", + "level": "easy", + "score": 0.75, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "sample_handling": 0.0625, + "binding_and_separation": 0.0625, + "washes_and_drying": 0.0625, + "elution_recovery": 0.0625 + }, + "model": "anthropic/claude-sonnet-5.5", + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.9444, + "judge_score": 0.75, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 1.0, + "deterministic_reward": 0.4722, + "rubric_robot_practice": 0.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/protocol.py new file mode 100644 index 0000000..849024c --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/protocol.py @@ -0,0 +1,157 @@ +""" +Automated low-cost SARS-CoV-2 RNA extraction (in-house magnetic-bead protocol) +adapted from PLOS ONE 2021, doi:10.1371/journal.pone.0246302. + +48 samples, processed in the odd columns (1, 3, 5, 7, 9, 11) of a deep-well +plate on the Magnetic Module (slot 4). Eluates are recovered into the same +columns of a 200 uL plate on the Temperature Module (slot 6) held at 4 degC. + +Pipettes: + left - p1000_single_gen2 (sample transfer from tubes, 1 fresh tip / sample) + right - p300_multi_gen2 (all plate-column work) + +Tip discipline: any tip that aspirates from a sample well is used on that +column only (with the multi, each of the 8 tips touches exactly one well). +Reagent-dispensing tips are only reused while they never aspirate from a +sample well. +""" + +metadata = { + 'apiLevel': '2.11', + 'protocolName': 'OT-2 magnetic-bead RNA extraction, 48 samples', + 'description': 'In-house bead-based SARS-CoV-2 RNA extraction (PLOS ONE ' + '2021, doi:10.1371/journal.pone.0246302), 48 samples.', +} + +# Odd plate columns (0-based column indices 0,2,4,6,8,10 == columns 1,3,5,7,9,11) +SAMPLE_COL_IDX = [0, 2, 4, 6, 8, 10] + + +def run(protocol): + # ------------------------------------------------------------------ labware + waste = protocol.load_labware('usascientific_96_wellplate_2.4ml_deep', '1', + 'waste plate') + tips200 = [protocol.load_labware('opentrons_96_filtertiprack_200ul', s) + for s in ['2', '3', '9']] + tips1000 = protocol.load_labware('opentrons_96_filtertiprack_1000ul', '11') + + mag = protocol.load_module('magnetic module', '4') + mag_plate = mag.load_labware('usascientific_96_wellplate_2.4ml_deep', + label='sample/extraction plate') + + temp = protocol.load_module('tempdeck', '6') + elution_plate = temp.load_labware('thermo_96_wellplate_200ul', + label='elution plate') + + reservoir = protocol.load_labware('nest_12_reservoir_15ml', '5', + 'reagent reservoir') + rack10 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap', '10', + 'samples 1-24') + rack7 = protocol.load_labware( + 'opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap', '7', + 'samples 25-48') + + # ---------------------------------------------------------------- pipettes + p1000 = protocol.load_instrument('p1000_single_gen2', 'left', + tip_racks=[tips1000]) + p300m = protocol.load_instrument('p300_multi_gen2', 'right', + tip_racks=tips200) + + # ------------------------------------------------------------- reagents + beads = reservoir.columns()[1] # reservoir column 2 + elution_buf = reservoir.columns()[3] # reservoir column 4 + iso_cols = [reservoir.columns()[5], reservoir.columns()[6]] # columns 6-7 + etoh_cols = reservoir.columns()[8:12] # columns 9-12 + + sample_cols = [mag_plate.columns()[i] for i in SAMPLE_COL_IDX] + waste_cols = [waste.columns()[i] for i in SAMPLE_COL_IDX] + elution_cols = [elution_plate.columns()[i] for i in SAMPLE_COL_IDX] + + # Sample tube order: column-major over the two 24-position racks. + # Samples 1-24 -> rack in slot 10 -> plate columns 1, 3, 5 + # Samples 25-48 -> rack in slot 7 -> plate columns 7, 9, 11 + tubes = rack10.wells()[:24] + rack7.wells()[:24] + + # -------------------------------------------------- step 1: initial state + mag.disengage() + temp.set_temperature(4) + + # ------------------------------------- steps 2-4: beads, isopropanol, sample + # Step 2: 40 uL magnetic beads into every sample well (dispense-only tip). + p300m.pick_up_tip() + for col in sample_cols: + p300m.transfer(40, beads, col, new_tip='never') + p300m.drop_tip() + + # Step 3: 250 uL isopropanol into every sample well (dispense-only tip). + p300m.pick_up_tip() + for i, col in enumerate(sample_cols): + p300m.transfer(250, iso_cols[i % 2], col, new_tip='never') + p300m.drop_tip() + + # Step 4: 250 uL of each sample from its tube into its own well, + # fresh tip per sample, mix by pipetting 5 times. + for i, tube in enumerate(tubes): + dest = sample_cols[i // 8][i % 8] # column-major within odd columns + p1000.pick_up_tip() + p1000.transfer(250, tube, dest, new_tip='never', mix_after=(5, 250)) + p1000.drop_tip() + + # ----------------------------------------- step 5: incubate 5 min at RT + protocol.delay(minutes=5, msg='Incubating 5 min at room temperature') + + # ------------------------------------------- step 6: engage magnet, 4 min + mag.engage() + protocol.delay(minutes=4, msg='Incubating 4 min on magnet') + + # ----------------------------------------- step 7: remove supernatant + for i, col in enumerate(sample_cols): + p300m.pick_up_tip() + # ~540 uL total, in two 270 uL aspirates (p300 limit is 300 uL) + p300m.transfer(270, col, waste_cols[i], new_tip='never') + p300m.transfer(270, col, waste_cols[i], new_tip='never') + p300m.drop_tip() + + # -------------------------------------- steps 8-9: two 70% ethanol washes + for wash in range(2): + # Dispense 500 uL ethanol (2 x 250 uL) into every sample well, + # magnet stays engaged; dispense-only tip reused across columns. + p300m.pick_up_tip() + for i, col in enumerate(sample_cols): + p300m.transfer(250, etoh_cols[i % 4], col, new_tip='never') + p300m.transfer(250, etoh_cols[(i + 1) % 4], col, new_tip='never') + p300m.drop_tip() + + # Remove ethanol with the magnet engaged (fresh tips per column). + for i, col in enumerate(sample_cols): + p300m.pick_up_tip() + p300m.transfer(250, col, waste_cols[i], new_tip='never') + p300m.transfer(250, col, waste_cols[i], new_tip='never') + p300m.drop_tip() + + # -------------------------------------- step 10: air-dry beads 4 min + protocol.delay(minutes=4, msg='Air-drying beads 4 min, magnet engaged') + + # --------------------------- step 11: disengage, resuspend in elution buf + mag.disengage() + for col in sample_cols: + # Fresh tips per column: this tip mixes (aspirates) in the sample wells. + p300m.pick_up_tip() + p300m.transfer(100, elution_buf, col, new_tip='never') + p300m.mix(5, 100, col[0]) + p300m.drop_tip() + + # ------------------------- step 12: wait 30 s, engage magnet, wait 90 s + protocol.delay(seconds=30, msg='Waiting 30 s off magnet') + mag.engage() + protocol.delay(seconds=90, msg='Waiting 90 s on magnet') + + # ---------------- step 13: transfer 80 uL eluate to the 4 degC elution plate + for i, col in enumerate(sample_cols): + p300m.pick_up_tip() + p300m.transfer(80, col, elution_cols[i], new_tip='never') + p300m.drop_tip() + + # ---------------------------------------------- step 14: disengage magnet + mag.disengage() diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/reward.json new file mode 100644 index 0000000..341c92f --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/reward.json @@ -0,0 +1 @@ +{"reward": 0.3, "sim_pass": 1.0, "checks_frac": 0.9444, "judge_score": 0.75, "suspicious_code": 0.0, "judge_error": 0.0, "hack_detected": 0.0, "critical_fail": 1.0, "deterministic_reward": 0.4722, "rubric_robot_practice": 0.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_sample_handling": 1.0, "rubric_binding_and_separation": 1.0, "rubric_washes_and_drying": 1.0, "rubric_elution_recovery": 1.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/trial.json new file mode 100644 index 0000000..fda44e3 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/opentrons-rna-extraction/trial.json @@ -0,0 +1,32 @@ +{ + "task": "opentrons-rna-extraction", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 0.3, + "sim_pass": 1.0, + "checks_frac": 0.9444, + "judge_score": 0.75, + "suspicious_code": 0.0, + "judge_error": 0.0, + "hack_detected": 0.0, + "critical_fail": 1.0, + "deterministic_reward": 0.4722, + "rubric_robot_practice": 0.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_sample_handling": 1.0, + "rubric_binding_and_separation": 1.0, + "rubric_washes_and_drying": 1.0, + "rubric_elution_recovery": 1.0 + }, + "exception": null, + "cost_usd": 0.215678, + "input_tokens": 328584, + "output_tokens": 14413, + "started_at": "2026-10-07T17:52:54.112795Z", + "finished_at": "2026-10-07T18:10:20.532445Z", + "cache_tokens": 301696, + "claude_code_cost_usd": 0.645613 +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/grader.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/grader.json new file mode 100644 index 0000000..4d5eaad --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/grader.json @@ -0,0 +1,137 @@ +{ + "lint": [], + "traps": [], + "simulation": { + "ok": true, + "n_commands": 8 + }, + "not_applicable": [], + "checks": [ + { + "name": "simulator_ran", + "pass": true, + "detail": "" + }, + { + "name": "tip_before_aspirate", + "pass": true, + "detail": "[]" + }, + { + "name": "no_overdispense", + "pass": true, + "detail": "[]" + }, + { + "name": "no_aspirate_from_empty_well", + "pass": true, + "detail": "[]" + }, + { + "name": "tip_dropped_at_end", + "pass": true, + "detail": "" + }, + { + "name": "no_cross_contamination", + "pass": true, + "detail": "[]" + }, + { + "name": "end_state:plate", + "pass": true, + "detail": "expected volumes [100.0, 100.0], got [100.0, 100.0] (positions free)" + } + ], + "judge": { + "model": "anthropic/claude-sonnet-5.5", + "items": [ + { + "id": "robot_practice", + "score": 1, + "evidence": "apiLevel 2.15 is valid, and the p300 handles 100 \u00b5L (about 220 \u00b5L aspirated including the default disposal volume, under 300). The simulator checks all passed.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "tips_and_contamination", + "score": 1, + "evidence": "The checks tip_before_aspirate, tip_dropped_at_end and no_cross_contamination passed. distribute with new_tip='always' picks up one tip and drops it at the end. The has_tip guard is a harmless extra.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "fidelity_to_task", + "score": 1, + "evidence": "The code moves 100 \u00b5L from reservoir A1 to plate A1 and B1 with the p300, and end_state:plate shows [100, 100]. The extra disposal-volume aspirate is blown out and does not change the outcome.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "deck_and_hardware", + "score": 1, + "evidence": "Reservoir is in slot 1 and plate in slot 2 with the required labels. Tip racks are in slots 10 and 11, with p20 on left and p300 on right.", + "votes": [ + 1, + 1, + 1 + ] + }, + { + "id": "volumes_and_wells", + "score": 1, + "evidence": "p300.distribute(100, reservoir A1, [plate A1, plate B1]) puts exactly 100 \u00b5L in each target well and touches no other wells.", + "votes": [ + 1, + 1, + 1 + ] + } + ], + "scores": { + "robot_practice": 1.0, + "tips_and_contamination": 1.0, + "fidelity_to_task": 1.0, + "deck_and_hardware": 1.0, + "volumes_and_wells": 1.0 + }, + "summary": "The protocol simulates cleanly, and all measured checks pass. It uses the p300 with distribute to put 100 \u00b5L into each of plate A1 and B1, with correct labware, slots and tip handling.", + "level": "easy", + "score": 1.0, + "weights": { + "robot_practice": 0.25, + "tips_and_contamination": 0.25, + "fidelity_to_task": 0.25, + "deck_and_hardware": 0.125, + "volumes_and_wells": 0.125 + }, + "provider": "openrouter", + "votes": 3, + "failed_votes": 0 + }, + "critical_failures": [], + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + } +} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/protocol.py b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/protocol.py new file mode 100644 index 0000000..4875490 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/protocol.py @@ -0,0 +1,34 @@ +metadata = { + 'protocolName': 'Split 200 uL into two 100 uL wells', + 'apiLevel': '2.15', +} + + +def run(protocol): + # Load labware exactly as the operator set up the deck + reservoir = protocol.load_labware( + 'nest_1_reservoir_195ml', 1, label='reservoir') + plate = protocol.load_labware( + 'corning_96_wellplate_360ul_flat', 2, label='plate') + + # Load tip racks + tips20 = protocol.load_labware('opentrons_96_tiprack_20ul', 10) + tips300 = protocol.load_labware('opentrons_96_tiprack_300ul', 11) + + # Pipettes + p20 = protocol.load_instrument('p20_single_gen2', 'left', tip_racks=[tips20]) + p300 = protocol.load_instrument('p300_single_gen2', 'right', tip_racks=[tips300]) + + # 100 uL each into plate wells A1 and B1 from reservoir A1 (100 uL is within + # the p300's 20-300 uL range) + p300.distribute( + 100, + reservoir.wells_by_name()['A1'], + [plate.wells_by_name()['A1'], plate.wells_by_name()['B1']], + new_tip='always', + ) + + # Make sure no tip is left on the pipette at the end + if p300.has_tip: + p300.drop_tip() + p300.reset_tipracks() diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/reward.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/reward.json new file mode 100644 index 0000000..5b16841 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/reward.json @@ -0,0 +1 @@ +{"reward": 1.0, "sim_pass": 1.0, "checks_frac": 1.0, "lint_violations": 0.0, "hack_detected": 0.0, "deterministic_reward": 1.0, "judge_score": 1.0, "critical_fail": 0.0, "rubric_robot_practice": 1.0, "rubric_tips_and_contamination": 1.0, "rubric_fidelity_to_task": 1.0, "rubric_deck_and_hardware": 1.0, "rubric_volumes_and_wells": 1.0} diff --git a/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/trial.json b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/trial.json new file mode 100644 index 0000000..83e1932 --- /dev/null +++ b/results/runs/2026-10-07-openrouter/qwen3.8-2.4t-a95b/split-200ul-two-wells/trial.json @@ -0,0 +1,29 @@ +{ + "task": "split-200ul-two-wells", + "model": "qwen/qwen3.8-2.4t-a95b", + "agent": "claude-code", + "via": "openrouter", + "rewards": { + "reward": 1.0, + "sim_pass": 1.0, + "checks_frac": 1.0, + "lint_violations": 0.0, + "hack_detected": 0.0, + "deterministic_reward": 1.0, + "judge_score": 1.0, + "critical_fail": 0.0, + "rubric_robot_practice": 1.0, + "rubric_tips_and_contamination": 1.0, + "rubric_fidelity_to_task": 1.0, + "rubric_deck_and_hardware": 1.0, + "rubric_volumes_and_wells": 1.0 + }, + "exception": null, + "cost_usd": 0.02959, + "input_tokens": 49406, + "output_tokens": 1007, + "started_at": "2026-10-07T18:10:20.587132Z", + "finished_at": "2026-10-07T18:11:31.810271Z", + "cache_tokens": 43008, + "claude_code_cost_usd": 0.07866899999999999 +} diff --git a/scripts/benchmark_report.py b/scripts/benchmark_report.py index c311afb..2699e89 100644 --- a/scripts/benchmark_report.py +++ b/scripts/benchmark_report.py @@ -17,6 +17,7 @@ "simulator_ran": "protocol runs in the simulator", "deck_labware": "right labware, label and slot (fixed deck)", "end_state": "end-state volumes match the IR ground truth", + "composition": "where the paper fixes no exact volumes: every well gets each input, equal volumes, in the paper's range", "tip_before_aspirate": "never pipettes without a tip", "no_overdispense": "never dispenses more than it holds", "no_aspirate_from_empty_well": "never aspirates from an empty well", diff --git a/scripts/build_site.py b/scripts/build_site.py index 2d77af2..ddf5f51 100644 --- a/scripts/build_site.py +++ b/scripts/build_site.py @@ -16,9 +16,9 @@ ROOT = pathlib.Path(__file__).resolve().parent.parent REPO = "https://github.com/PhysicalAIBenchmarks/Text2WetLab" PAGES = ["index.html", "plr_coverage_table.html", "plr_embodiment_pairs.html", "docs/demo.html", "docs/preprint/preprint.html"] -ORDER = ["claude-sonnet-5.5", "claude-opus-5.5", "claude-fable-5.1", "gpt-6.1-sol"] +ORDER = ["claude-sonnet-5.5", "claude-opus-5.5", "claude-fable-5.1", "gpt-6.1-sol", "qwen3.8-2.4t-a95b", "deepseek-v4-pro-0813"] NAME = {"claude-sonnet-5.5": "Claude Sonnet 5.5", "claude-opus-5.5": "Claude Opus 5.5", "claude-fable-5.1": "Claude Fable 5.1", - "gpt-6.1-sol": "GPT-6.1 Sol"} + "gpt-6.1-sol": "GPT-6.1 Sol", "qwen3.8-2.4t-a95b": "Qwen3.8-2.4T-A95B", "deepseek-v4-pro-0813": "DeepSeek V4 Pro"} LOCAL_REF = re.compile(r'(?:src|href|poster|data-src)=["\']([^"\'#?]+)') diff --git a/scripts/compare_jobs.py b/scripts/compare_jobs.py new file mode 100644 index 0000000..c2475bb --- /dev/null +++ b/scripts/compare_jobs.py @@ -0,0 +1,84 @@ +"""Compare Harbor jobs: wall-clock time, where the time goes per trial, cost and reward, task by task. + + python scripts/compare_jobs.py LABEL=JOB_DIR [LABEL=JOB_DIR ...] [--prices OPENROUTER_MODELS_JSON] + +Use it to compare backends (local Docker vs Modal) for the same model, or repeated runs of one model (run-to-run +variation at pass@1). Times come from each trial's result.json; a job's wall clock runs from its first trial's start to +its last trial's finish. Rewards are as graded at run time (not any later regrade). With --prices, non-Claude models' +cost comes from their tokens at OpenRouter prices (Claude Code prices every model as Claude; see export_run.py). +""" +import json +import pathlib +import statistics +import sys +from datetime import datetime + +from export_run import openrouter_cost + + +def ts(s: str | None) -> datetime | None: + return datetime.fromisoformat(s.replace("Z", "+00:00")) if s else None + + +def span(d: dict | None) -> float | None: + if not d or not d.get("started_at") or not d.get("finished_at"): + return None + return (ts(d["finished_at"]) - ts(d["started_at"])).total_seconds() + + +PRICES: dict = {} + + +def load(job: pathlib.Path) -> dict: + trials = {} + for f in sorted(job.glob("*/result.json")): + t = json.loads(f.read_text()) + r = (t.get("verifier_result") or {}).get("rewards") or {} + agent, model = t.get("agent_result") or {}, t["config"]["agent"]["model_name"] + cost = (openrouter_cost(agent, PRICES[model]) if agent and model in PRICES and not model.startswith("anthropic/") + else agent.get("cost_usd") or 0.0) + trials[t["task_name"].split("/")[-1]] = { + "reward": r.get("reward"), "exception": (t.get("exception_info") or {}).get("exception_type"), + "cost": cost, + "start": ts(t.get("started_at")), "end": ts(t.get("finished_at")), "total": span(t), + "env": span(t.get("environment_setup")), "agent": span(t.get("agent_execution")), "verify": span(t.get("verifier"))} + return trials + + +def fmt_s(v: float | None) -> str: + return "-" if v is None else f"{v / 60:.1f} min" if v >= 90 else f"{v:.0f} s" + + +def main() -> int: + jobs, args = {}, sys.argv[1:] + if "--prices" in args: + i = args.index("--prices") + PRICES.update({m["id"]: m["pricing"] for m in json.loads(pathlib.Path(args[i + 1]).read_text())["data"]}) + del args[i:i + 2] + for arg in args: + label, _, path = arg.partition("=") + jobs[label] = load(pathlib.Path(path).expanduser()) + print("| Job | Trials | Wall clock | Median trial | Median env setup | Median agent | Median verifier | Agent cost | Mean reward (answered) |") + print("|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|") + for label, tr in jobs.items(): + done = [t for t in tr.values() if t["end"]] + wall = (max(t["end"] for t in done) - min(t["start"] for t in done)).total_seconds() if done else None + med = lambda k: statistics.median([t[k] for t in tr.values() if t[k] is not None]) if any(t[k] is not None for t in tr.values()) else None + answered = [t["reward"] for t in tr.values() if t["reward"] is not None and not t["exception"]] + score = f"{statistics.mean(answered):.3f} (n={len(answered)})" if answered else "-" + print(f"| {label} | {len(tr)} | {fmt_s(wall)} | {fmt_s(med('total'))} | {fmt_s(med('env'))} | {fmt_s(med('agent'))} | " + f"{fmt_s(med('verify'))} | ${sum(t['cost'] for t in tr.values()):.2f} | {score} |") + tasks = sorted({k for tr in jobs.values() for k in tr}, key=lambda k: (k.endswith("-hard"), k)) + labels = list(jobs) + print("\n| Task | " + " | ".join(labels) + " |\n|---|" + ":---:|" * len(labels)) + for k in tasks: + cells = [] + for label in labels: + t = jobs[label].get(k) + cells.append("-" if not t else t["exception"] or ("-" if t["reward"] is None else f"{t['reward']:.2f}")) + print(f"| `{k}` | " + " | ".join(cells) + " |") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/export_run.py b/scripts/export_run.py index 72f4339..21c16dd 100644 --- a/scripts/export_run.py +++ b/scripts/export_run.py @@ -6,6 +6,10 @@ graded), reward.json and grader.json (lint, traps, simulator summary, every check, the judge's verdicts). With --regraded (the --out folder of scripts/regrade_jobs.py) a regraded trial's reward and grader record replace the originals, and the original rewards are kept in trial.json as original_rewards. Transcripts and logs are not copied. + +Claude Code prices every model as a Claude model, so its cost_usd is wrong for any other model. With --prices (a saved +copy of https://openrouter.ai/api/v1/models) cost_usd is recomputed from the token counts at that model's OpenRouter +prices, and Claude Code's figure is kept as claude_code_cost_usd. The run's prices are saved next to it as prices.json. """ import argparse import json @@ -17,13 +21,24 @@ def record(verifier: pathlib.Path) -> dict: return next((json.loads((verifier / n).read_text()) for n in ("result.json", "judge.json") if (verifier / n).exists()), {}) +def openrouter_cost(agent: dict, pricing: dict) -> float: + """Uncached input at the prompt price, cached input at the cache-read price, output at the completion price.""" + cached = agent.get("n_cache_tokens") or 0 + uncached = (agent.get("n_input_tokens") or 0) - cached + return round(uncached * float(pricing["prompt"]) + cached * float(pricing.get("input_cache_read") or pricing["prompt"]) + + (agent.get("n_output_tokens") or 0) * float(pricing["completion"]), 6) + + def main(): ap = argparse.ArgumentParser() ap.add_argument("dest", type=pathlib.Path) ap.add_argument("jobs", nargs="+", type=pathlib.Path) ap.add_argument("--regraded", type=pathlib.Path) ap.add_argument("--via", default="openrouter") + ap.add_argument("--prices", type=pathlib.Path, help="saved OpenRouter /api/v1/models response") a = ap.parse_args() + prices = {m["id"]: m["pricing"] for m in json.loads(a.prices.read_text())["data"]} if a.prices else {} + used = {} for job in a.jobs: for f in sorted(job.glob("*/result.json")): t = json.loads(f.read_text()) @@ -39,7 +54,11 @@ def main(): "rewards": rewards, "exception": (t.get("exception_info") or {}).get("exception_type"), "cost_usd": agent.get("cost_usd"), "input_tokens": agent.get("n_input_tokens"), "output_tokens": agent.get("n_output_tokens"), "started_at": t.get("started_at"), - "finished_at": t.get("finished_at")} + "finished_at": t.get("finished_at"), "cache_tokens": agent.get("n_cache_tokens")} + if not model_name.startswith("anthropic/") and model_name in prices and agent: + trial["claude_code_cost_usd"] = trial["cost_usd"] + trial["cost_usd"] = openrouter_cost(agent, prices[model_name]) + used[model_name] = prices[model_name] verifier = f.parent / "verifier" grader = record(verifier) regraded = a.regraded / job.name / task if a.regraded else None @@ -56,6 +75,10 @@ def main(): shutil.copy(verifier / "protocol.py", out / "protocol.py") print(f"{model_name:32} {task:40} {trial['rewards'] and trial['rewards'].get('reward')}" + (f" (was {rewards.get('reward')})" if "original_rewards" in trial and rewards else "")) + if used: + saved = a.dest / "prices.json" + old = json.loads(saved.read_text()) if saved.exists() else {} + saved.write_text(json.dumps({**old, **used}, indent=1, sort_keys=True) + "\n") if __name__ == "__main__": diff --git a/scripts/harbor_adversarial.py b/scripts/harbor_adversarial.py index 04b5b14..aa58a5b 100644 --- a/scripts/harbor_adversarial.py +++ b/scripts/harbor_adversarial.py @@ -17,6 +17,8 @@ import tempfile ROOT = pathlib.Path(__file__).resolve().parent.parent +# attacks whose result is a valid protocol for that task, so full marks are right +VALID = {("colony-pcr-screening-hard", "halve_volumes"): "9 uL mix + 0.5 + 0.5 = 10 uL, the paper's OT-2 reaction volume"} OT_VENV = pathlib.Path(os.environ.get("OT_VENV", ROOT / ".venv-ot")) @@ -116,12 +118,14 @@ def main(): continue results[task.name][name] = run_one(task, name, mutated, pathlib.Path(data_for.get(task.name, h / "environment/data"))) r = results[task.name][name] + if (task.name, name) in VALID: + r["valid"] = VALID[(task.name, name)] print(f"{task.name:34} {name:36} reward={r['reward']} {'| ' + ','.join(r.get('failed_checks', []))[:70] if r.get('failed_checks') else ''}{' | lint:' + r['lint'][0][:40] if r.get('lint') else ''}", flush=True) pathlib.Path(a.out).parent.mkdir(parents=True, exist_ok=True) pathlib.Path(a.out).write_text(json.dumps(results, indent=1)) - holes = [(t, n) for t, rs in results.items() for n, r in rs.items() if not n.startswith("control") and r.get("reward") == 1.0] - broken = [(t, n) for t, rs in results.items() for n, r in rs.items() if n.startswith("control") and r.get("reward") != 1.0] - print(f"\nHOLES (attack scored 1.0): {len(holes)} {holes}\nCONTROL FAILURES: {len(broken)} {broken}") + holes = [(t, n) for t, rs in results.items() for n, r in rs.items() if not n.startswith("control") and r.get("reward") == 1.0 and not r.get("valid")] + broken = [(t, n) for t, rs in results.items() for n, r in rs.items() if (n.startswith("control") or r.get("valid")) and r.get("reward") != 1.0] + print(f"\nHOLES (attack scored 1.0): {len(holes)} {holes}\nCONTROL FAILURES (incl. valid variants): {len(broken)} {broken}") if __name__ == "__main__": diff --git a/scripts/make_harbor.py b/scripts/make_harbor.py index e646917..5820b3b 100644 --- a/scripts/make_harbor.py +++ b/scripts/make_harbor.py @@ -173,7 +173,8 @@ def checks_json(folder: pathlib.Path) -> str: cfg = tomllib.loads((folder / "task.toml").read_text()).get("checks", {}) out = {"free_wells": sorted(cfg.get("free_wells", []))} if cfg.get("not_from_paper"): - out["not_from_paper"] = sorted(cfg["not_from_paper"]) + nfp = cfg["not_from_paper"] # [containers], or {container: [min uL, max uL] the paper supports} + out["not_from_paper"] = dict(sorted(nfp.items())) if isinstance(nfp, dict) else sorted(nfp) return json.dumps(out) + "\n" diff --git a/scripts/regrade_jobs.py b/scripts/regrade_jobs.py index 2088edc..dd18448 100644 --- a/scripts/regrade_jobs.py +++ b/scripts/regrade_jobs.py @@ -1,6 +1,7 @@ """Regrade saved Harbor trials with the current graders, without re-running any agent. python scripts/regrade_jobs.py JOB_DIR [JOB_DIR ...] [--judge [--all]] [--data TASK=DIR ...] [--out DIR] [--workers N] + [--only results/runs//PROVISIONAL.json] Each trial's graded protocol (verifier/protocol.py) goes back through tasks//tests/grade.py outside Docker. Without --judge only the deterministic layers run (SKIP_JUDGE=1, free). With --judge the LLM judge runs too, but only for @@ -45,9 +46,17 @@ def main(): ap.add_argument("--data", nargs="*", default=[]) ap.add_argument("--out", type=pathlib.Path) ap.add_argument("--workers", type=int, default=4, help="trials graded at once") + ap.add_argument("--only", type=pathlib.Path, help="PROVISIONAL.json of a run: regrade only the / it lists") a = ap.parse_args() data_for = dict(x.split("=", 1) for x in a.data) trials = [(job, f) for job in a.jobs for f in sorted(job.glob("*/result.json"))] + if a.only: + wanted = {k for k in json.loads(a.only.read_text()) if not k.startswith("_")} + def key(f): + t = json.loads(f.read_text()) + return f'{t["config"]["agent"]["model_name"].split("/")[-1]}/{t["task_name"].split("/")[-1]}' + trials = [(job, f) for job, f in trials if key(f) in wanted] + print(f"regrading {len(trials)} of the {len(wanted)} listed trials", file=sys.stderr) def regrade(job_and_file) -> dict: job, f = job_and_file diff --git a/tasks/a1-a12-100ul/tests/grade.py b/tasks/a1-a12-100ul/tests/grade.py index f808f68..e90f80f 100644 --- a/tasks/a1-a12-100ul/tests/grade.py +++ b/tasks/a1-a12-100ul/tests/grade.py @@ -59,7 +59,7 @@ def grade(protocol: Path = PROTOCOL) -> tuple[dict, dict]: deck = json.loads((TESTS / "deck.json").read_text()) checks_cfg = json.loads((TESTS / "checks.json").read_text()) free = frozenset(checks_cfg["free_wells"]) - res = check(ir, sim, free, deck, frozenset(checks_cfg.get("not_from_paper", []))) + res = check(ir, sim, free, deck, checks_cfg.get("not_from_paper", {})) record["not_applicable"] = res["not_applicable"] passed = sum(c["pass"] for c in res["checks"]) rewards["checks_frac"] = round(passed / len(res["checks"]), 4) diff --git a/tasks/a1-a12-100ul/tests/protocol_lint.py b/tasks/a1-a12-100ul/tests/protocol_lint.py index 16ff37d..acbd3f6 100644 --- a/tasks/a1-a12-100ul/tests/protocol_lint.py +++ b/tasks/a1-a12-100ul/tests/protocol_lint.py @@ -18,12 +18,20 @@ FLOW_RATE_FIELDS = {"aspirate", "dispense", "blow_out"} +# Settable properties of a pipette (InstrumentContext) in the Opentrons API docs: ordinary protocol code, not patching. +PIPETTE_SETTINGS = {"tip_racks", "starting_tip", "default_speed"} +CLEARANCE_FIELDS = {"aspirate", "dispense"} def _is_flow_rate(t: ast.Attribute) -> bool: - """pipette.flow_rate.aspirate/dispense/blow_out = ... is ordinary Opentrons API use (pipetting speed).""" - return (t.attr in FLOW_RATE_FIELDS and isinstance(t.value, ast.Attribute) and t.value.attr == "flow_rate" - and isinstance(t.value.value, ast.Name)) + """A documented pipette setting on a local variable: p.flow_rate.aspirate/dispense/blow_out, + p.well_bottom_clearance.aspirate/dispense, p.tip_racks, p.starting_tip, p.default_speed. Assigning to anything else, + or to these on a module or class (protocol_api.InstrumentContext.tip_racks = ...), is still refused.""" + if isinstance(t.value, ast.Name): + return t.attr in PIPETTE_SETTINGS + return (isinstance(t.value, ast.Attribute) and isinstance(t.value.value, ast.Name) + and ((t.value.attr == "flow_rate" and t.attr in FLOW_RATE_FIELDS) + or (t.value.attr == "well_bottom_clearance" and t.attr in CLEARANCE_FIELDS))) def violations(source: str) -> list[str]: diff --git a/tasks/a1-a12-100ul/tests/spec_check.py b/tasks/a1-a12-100ul/tests/spec_check.py index 7a1e805..4e256e3 100644 --- a/tasks/a1-a12-100ul/tests/spec_check.py +++ b/tasks/a1-a12-100ul/tests/spec_check.py @@ -88,6 +88,7 @@ class State: wells: dict = field(default_factory=dict) # (labware, well) -> uL errors: list = field(default_factory=list) # (event index, code) aspirations: int = 0 + fed: dict = field(default_factory=dict) # (labware, well) -> labware it received liquid from def wells_of(event, loadnames=None) -> list[str]: @@ -101,14 +102,15 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f """Apply atomic events in order. `initial` = {(labware, well): uL} for non-stock wells; `ample` = (labware, well) pairs the IR declares as stocks with unlimited volume (aspirating from them is never an error and is not counted).""" st = State(wells=dict(initial or {})) + drawn = set() # labware the current tip has aspirated from for i, e in enumerate(events): kind = e["kind"] if kind == "pick": if st.tip: st.errors.append((i, "already_has_tip")) - st.tip, st.held = True, 0.0 + st.tip, st.held, drawn = True, 0.0, set() elif kind == "drop": - st.tip, st.held = False, 0.0 + st.tip, st.held, drawn = False, 0.0, set() elif kind in ("aspirate", "dispense"): vol = e["volume"] if not st.tip: @@ -125,20 +127,24 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f break st.wells[(e["labware"], w)] -= vol st.held += vol + drawn.add(e["labware"]) else: if vol > st.held + 1e-9: st.errors.append((i, "overdispense")) for w in wells_of(e, loadnames): st.wells[(e["labware"], w)] = st.wells.get((e["labware"], w), 0.0) + vol + st.fed.setdefault((e["labware"], w), set()).update(drawn - {e["labware"]}) st.held = max(st.held - vol, 0.0) return st def cross_contamination(events: list[dict]) -> list: """(event index, well) where one tip carries liquid between wells it should not. A tip may go back to wells it - dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a well (drawn - from a well it dispensed into), it carries that well's contents: dispensing into any other well, or drawing from - any other well (the stock included), is contamination until a fresh tip.""" + dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a destination + (drawn from a well it dispensed into that was not one of its sources), it carries that well's contents: dispensing + into any other well, or drawing from any other well (the stock included), is contamination until a fresh tip. + Mixing in a source before drawing from it (resuspending a colony or beads) carries nothing the transfer is not + meant to move.""" bad, sources, own, carried = [], set(), set(), set() for i, e in enumerate(events): if e["kind"] in ("pick", "drop"): @@ -152,9 +158,9 @@ def cross_contamination(events: list[dict]) -> list: key = (e["labware"], e["well"]) if (sources and key not in sources and key not in own) or carried - {key}: bad.append((i, key[1])) - if key in own: + if key in own and key not in sources: # mixing in a destination carried.add(key) - else: + elif key not in own: sources.add(key) return bad @@ -216,9 +222,11 @@ def _deck_mapping(proto, run, deck, add): def check(proto: Protocol, run: dict, free_wells: frozenset = frozenset(), deck: dict | None = None, - not_from_paper: frozenset = frozenset()) -> dict: + not_from_paper: dict | frozenset = frozenset()) -> dict: """Verdict for one simulated run against an IR. `run` is simulate()'s result; `deck` pins every container to a labware.""" checks = [] + if not isinstance(not_from_paper, dict): + not_from_paper = {c: None for c in not_from_paper} def add(name, ok, detail=""): checks.append({"name": name, "pass": bool(ok), "detail": detail}) @@ -262,12 +270,15 @@ def add(name, ok, detail=""): for cname, lab in mapping.items(): if kinds[cname] in ("reservoir", "waste"): continue - if cname in not_from_paper: # paper-only task whose paper does not fix this container's volumes: rubric only - na.append(f"end_state:{cname} (the source paper does not determine these volumes; judged by the rubric)") - continue want = {(tube_well[cname] if w == "" and tube_well.get(cname) else w): v for (cn, w), v in final.items() if cn == cname and v} only = tube_well.get(cname) # tubes share a rack: look at this tube's well only got = {w: round(v, 6) for (lb, w), v in st.wells.items() if lb == lab and v > 1e-9 and (lb, w) not in ample and (only is None or w == only)} + if cname in not_from_paper: # the paper does not fix these volumes: judge what it does fix + add(f"composition:{cname}", *_composition(cname, lab, want, got, st.fed, proto, mapping, + not_from_paper[cname], + cname in free_wells)) + na.append(f"end_state:{cname} (the source paper does not determine the exact volumes; composition checked instead)") + continue if cname in free_wells: # the instruction does not name the wells: judge the volumes, not the positions ok = sorted(round(v, 6) for v in want.values()) == sorted(got.values()) add(f"end_state:{cname}", ok, f"expected volumes {sorted(want.values())}, got {sorted(got.values())} (positions free)") @@ -280,12 +291,35 @@ def add(name, ok, detail=""): "aspirations": st.aspirations} -def not_from_paper(task_dir) -> frozenset: - """Containers whose end state the task's source paper does not determine, from task.toml [checks].""" +def _composition(cname, lab, want, got, fed, proto, mapping, volume_range, free) -> tuple[bool, str]: + """For a container whose exact volumes the paper does not fix: the same wells are filled (any wells if positions + are free), each from every source container the IR sends there, the wells the IR fills equally hold equal volumes, + and each volume is inside the range the paper supports.""" + problems = [] + if free and len(got) != len(want) or not free and set(got) != set(want): + problems.append(f"filled {len(got)} wells, expected {len(want)}" + ("" if free else f" ({sorted(set(want) ^ set(got))[:4]} differ)")) + need = {mapping[s.source] for s in proto.steps if s.kind == "transfer" and s.dest == cname and s.source in mapping} + short = sorted(w for w in got if need - fed.get((lab, w), set())) + if short: + problems.append(f"{len(short)} wells lack an input, e.g. {short[0]} has none from {sorted(need - fed.get((lab, short[0]), set()))}") + if len(set(want.values())) == 1 and len(set(got.values())) > 1: + problems.append(f"unequal volumes {sorted(set(got.values()))[:4]}") + if volume_range: + lo, hi = volume_range + off = sorted(v for v in set(got.values()) if not lo - 1e-6 <= v <= hi + 1e-6) + if off: + problems.append(f"volumes {off[:3]} outside the {lo:g}-{hi:g} uL the paper supports") + return not problems, "; ".join(problems) + + +def not_from_paper(task_dir) -> dict: + """Containers whose exact end state the task's source paper does not determine, from task.toml [checks]: + {container: (min uL, max uL) the paper supports, or None}. A list of names (no range) is accepted too.""" import tomllib f = pathlib.Path(task_dir) / "task.toml" - return frozenset(tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", [])) if f.exists() else frozenset() + nfp = tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", []) if f.exists() else [] + return {c: None for c in nfp} if isinstance(nfp, list) else {c: tuple(r) if r else None for c, r in nfp.items()} def free_wells(task_dir) -> frozenset: diff --git a/tasks/ampure-bead-cleanup/tests/grade.py b/tasks/ampure-bead-cleanup/tests/grade.py index f808f68..e90f80f 100644 --- a/tasks/ampure-bead-cleanup/tests/grade.py +++ b/tasks/ampure-bead-cleanup/tests/grade.py @@ -59,7 +59,7 @@ def grade(protocol: Path = PROTOCOL) -> tuple[dict, dict]: deck = json.loads((TESTS / "deck.json").read_text()) checks_cfg = json.loads((TESTS / "checks.json").read_text()) free = frozenset(checks_cfg["free_wells"]) - res = check(ir, sim, free, deck, frozenset(checks_cfg.get("not_from_paper", []))) + res = check(ir, sim, free, deck, checks_cfg.get("not_from_paper", {})) record["not_applicable"] = res["not_applicable"] passed = sum(c["pass"] for c in res["checks"]) rewards["checks_frac"] = round(passed / len(res["checks"]), 4) diff --git a/tasks/ampure-bead-cleanup/tests/protocol_lint.py b/tasks/ampure-bead-cleanup/tests/protocol_lint.py index 16ff37d..acbd3f6 100644 --- a/tasks/ampure-bead-cleanup/tests/protocol_lint.py +++ b/tasks/ampure-bead-cleanup/tests/protocol_lint.py @@ -18,12 +18,20 @@ FLOW_RATE_FIELDS = {"aspirate", "dispense", "blow_out"} +# Settable properties of a pipette (InstrumentContext) in the Opentrons API docs: ordinary protocol code, not patching. +PIPETTE_SETTINGS = {"tip_racks", "starting_tip", "default_speed"} +CLEARANCE_FIELDS = {"aspirate", "dispense"} def _is_flow_rate(t: ast.Attribute) -> bool: - """pipette.flow_rate.aspirate/dispense/blow_out = ... is ordinary Opentrons API use (pipetting speed).""" - return (t.attr in FLOW_RATE_FIELDS and isinstance(t.value, ast.Attribute) and t.value.attr == "flow_rate" - and isinstance(t.value.value, ast.Name)) + """A documented pipette setting on a local variable: p.flow_rate.aspirate/dispense/blow_out, + p.well_bottom_clearance.aspirate/dispense, p.tip_racks, p.starting_tip, p.default_speed. Assigning to anything else, + or to these on a module or class (protocol_api.InstrumentContext.tip_racks = ...), is still refused.""" + if isinstance(t.value, ast.Name): + return t.attr in PIPETTE_SETTINGS + return (isinstance(t.value, ast.Attribute) and isinstance(t.value.value, ast.Name) + and ((t.value.attr == "flow_rate" and t.attr in FLOW_RATE_FIELDS) + or (t.value.attr == "well_bottom_clearance" and t.attr in CLEARANCE_FIELDS))) def violations(source: str) -> list[str]: diff --git a/tasks/ampure-bead-cleanup/tests/spec_check.py b/tasks/ampure-bead-cleanup/tests/spec_check.py index 7a1e805..4e256e3 100644 --- a/tasks/ampure-bead-cleanup/tests/spec_check.py +++ b/tasks/ampure-bead-cleanup/tests/spec_check.py @@ -88,6 +88,7 @@ class State: wells: dict = field(default_factory=dict) # (labware, well) -> uL errors: list = field(default_factory=list) # (event index, code) aspirations: int = 0 + fed: dict = field(default_factory=dict) # (labware, well) -> labware it received liquid from def wells_of(event, loadnames=None) -> list[str]: @@ -101,14 +102,15 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f """Apply atomic events in order. `initial` = {(labware, well): uL} for non-stock wells; `ample` = (labware, well) pairs the IR declares as stocks with unlimited volume (aspirating from them is never an error and is not counted).""" st = State(wells=dict(initial or {})) + drawn = set() # labware the current tip has aspirated from for i, e in enumerate(events): kind = e["kind"] if kind == "pick": if st.tip: st.errors.append((i, "already_has_tip")) - st.tip, st.held = True, 0.0 + st.tip, st.held, drawn = True, 0.0, set() elif kind == "drop": - st.tip, st.held = False, 0.0 + st.tip, st.held, drawn = False, 0.0, set() elif kind in ("aspirate", "dispense"): vol = e["volume"] if not st.tip: @@ -125,20 +127,24 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f break st.wells[(e["labware"], w)] -= vol st.held += vol + drawn.add(e["labware"]) else: if vol > st.held + 1e-9: st.errors.append((i, "overdispense")) for w in wells_of(e, loadnames): st.wells[(e["labware"], w)] = st.wells.get((e["labware"], w), 0.0) + vol + st.fed.setdefault((e["labware"], w), set()).update(drawn - {e["labware"]}) st.held = max(st.held - vol, 0.0) return st def cross_contamination(events: list[dict]) -> list: """(event index, well) where one tip carries liquid between wells it should not. A tip may go back to wells it - dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a well (drawn - from a well it dispensed into), it carries that well's contents: dispensing into any other well, or drawing from - any other well (the stock included), is contamination until a fresh tip.""" + dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a destination + (drawn from a well it dispensed into that was not one of its sources), it carries that well's contents: dispensing + into any other well, or drawing from any other well (the stock included), is contamination until a fresh tip. + Mixing in a source before drawing from it (resuspending a colony or beads) carries nothing the transfer is not + meant to move.""" bad, sources, own, carried = [], set(), set(), set() for i, e in enumerate(events): if e["kind"] in ("pick", "drop"): @@ -152,9 +158,9 @@ def cross_contamination(events: list[dict]) -> list: key = (e["labware"], e["well"]) if (sources and key not in sources and key not in own) or carried - {key}: bad.append((i, key[1])) - if key in own: + if key in own and key not in sources: # mixing in a destination carried.add(key) - else: + elif key not in own: sources.add(key) return bad @@ -216,9 +222,11 @@ def _deck_mapping(proto, run, deck, add): def check(proto: Protocol, run: dict, free_wells: frozenset = frozenset(), deck: dict | None = None, - not_from_paper: frozenset = frozenset()) -> dict: + not_from_paper: dict | frozenset = frozenset()) -> dict: """Verdict for one simulated run against an IR. `run` is simulate()'s result; `deck` pins every container to a labware.""" checks = [] + if not isinstance(not_from_paper, dict): + not_from_paper = {c: None for c in not_from_paper} def add(name, ok, detail=""): checks.append({"name": name, "pass": bool(ok), "detail": detail}) @@ -262,12 +270,15 @@ def add(name, ok, detail=""): for cname, lab in mapping.items(): if kinds[cname] in ("reservoir", "waste"): continue - if cname in not_from_paper: # paper-only task whose paper does not fix this container's volumes: rubric only - na.append(f"end_state:{cname} (the source paper does not determine these volumes; judged by the rubric)") - continue want = {(tube_well[cname] if w == "" and tube_well.get(cname) else w): v for (cn, w), v in final.items() if cn == cname and v} only = tube_well.get(cname) # tubes share a rack: look at this tube's well only got = {w: round(v, 6) for (lb, w), v in st.wells.items() if lb == lab and v > 1e-9 and (lb, w) not in ample and (only is None or w == only)} + if cname in not_from_paper: # the paper does not fix these volumes: judge what it does fix + add(f"composition:{cname}", *_composition(cname, lab, want, got, st.fed, proto, mapping, + not_from_paper[cname], + cname in free_wells)) + na.append(f"end_state:{cname} (the source paper does not determine the exact volumes; composition checked instead)") + continue if cname in free_wells: # the instruction does not name the wells: judge the volumes, not the positions ok = sorted(round(v, 6) for v in want.values()) == sorted(got.values()) add(f"end_state:{cname}", ok, f"expected volumes {sorted(want.values())}, got {sorted(got.values())} (positions free)") @@ -280,12 +291,35 @@ def add(name, ok, detail=""): "aspirations": st.aspirations} -def not_from_paper(task_dir) -> frozenset: - """Containers whose end state the task's source paper does not determine, from task.toml [checks].""" +def _composition(cname, lab, want, got, fed, proto, mapping, volume_range, free) -> tuple[bool, str]: + """For a container whose exact volumes the paper does not fix: the same wells are filled (any wells if positions + are free), each from every source container the IR sends there, the wells the IR fills equally hold equal volumes, + and each volume is inside the range the paper supports.""" + problems = [] + if free and len(got) != len(want) or not free and set(got) != set(want): + problems.append(f"filled {len(got)} wells, expected {len(want)}" + ("" if free else f" ({sorted(set(want) ^ set(got))[:4]} differ)")) + need = {mapping[s.source] for s in proto.steps if s.kind == "transfer" and s.dest == cname and s.source in mapping} + short = sorted(w for w in got if need - fed.get((lab, w), set())) + if short: + problems.append(f"{len(short)} wells lack an input, e.g. {short[0]} has none from {sorted(need - fed.get((lab, short[0]), set()))}") + if len(set(want.values())) == 1 and len(set(got.values())) > 1: + problems.append(f"unequal volumes {sorted(set(got.values()))[:4]}") + if volume_range: + lo, hi = volume_range + off = sorted(v for v in set(got.values()) if not lo - 1e-6 <= v <= hi + 1e-6) + if off: + problems.append(f"volumes {off[:3]} outside the {lo:g}-{hi:g} uL the paper supports") + return not problems, "; ".join(problems) + + +def not_from_paper(task_dir) -> dict: + """Containers whose exact end state the task's source paper does not determine, from task.toml [checks]: + {container: (min uL, max uL) the paper supports, or None}. A list of names (no range) is accepted too.""" import tomllib f = pathlib.Path(task_dir) / "task.toml" - return frozenset(tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", [])) if f.exists() else frozenset() + nfp = tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", []) if f.exists() else [] + return {c: None for c in nfp} if isinstance(nfp, list) else {c: tuple(r) if r else None for c, r in nfp.items()} def free_wells(task_dir) -> frozenset: diff --git a/tasks/colony-pcr-screening-hard/task.toml b/tasks/colony-pcr-screening-hard/task.toml index 9146938..cc0c770 100644 --- a/tasks/colony-pcr-screening-hard/task.toml +++ b/tasks/colony-pcr-screening-hard/task.toml @@ -34,8 +34,10 @@ gpus = 0 [checks] free_wells = [] # The ground truth (from the easy task) is a 20 uL reaction; the paper's OT-2 workflow is 10 uL and the deck gives no -# primer concentration, so the paper does not determine the PCR plate's volumes. The rubric judges the reaction. -not_from_paper = ["pcr_plate"] +# primer concentration, so the paper does not determine the PCR plate's exact volumes. What it does fix is checked +# instead: every well gets master mix, its primers and its colony, all wells alike, and a reaction no smaller than the +# paper's OT-2 one (9 uL mix + 1 uL colony = 10 uL) nor larger than a standard Q5 reaction (25 uL). The rubric judges the rest. +not_from_paper = { pcr_plate = [10, 25] } [[metadata.papers]] slug = "slowpoke" diff --git a/tasks/colony-pcr-screening-hard/tests/checks.json b/tasks/colony-pcr-screening-hard/tests/checks.json index 1950f50..07baf39 100644 --- a/tasks/colony-pcr-screening-hard/tests/checks.json +++ b/tasks/colony-pcr-screening-hard/tests/checks.json @@ -1 +1 @@ -{"free_wells": [], "not_from_paper": ["pcr_plate"]} +{"free_wells": [], "not_from_paper": {"pcr_plate": [10, 25]}} diff --git a/tasks/colony-pcr-screening-hard/tests/grade.py b/tasks/colony-pcr-screening-hard/tests/grade.py index f808f68..e90f80f 100644 --- a/tasks/colony-pcr-screening-hard/tests/grade.py +++ b/tasks/colony-pcr-screening-hard/tests/grade.py @@ -59,7 +59,7 @@ def grade(protocol: Path = PROTOCOL) -> tuple[dict, dict]: deck = json.loads((TESTS / "deck.json").read_text()) checks_cfg = json.loads((TESTS / "checks.json").read_text()) free = frozenset(checks_cfg["free_wells"]) - res = check(ir, sim, free, deck, frozenset(checks_cfg.get("not_from_paper", []))) + res = check(ir, sim, free, deck, checks_cfg.get("not_from_paper", {})) record["not_applicable"] = res["not_applicable"] passed = sum(c["pass"] for c in res["checks"]) rewards["checks_frac"] = round(passed / len(res["checks"]), 4) diff --git a/tasks/colony-pcr-screening-hard/tests/protocol_lint.py b/tasks/colony-pcr-screening-hard/tests/protocol_lint.py index 16ff37d..acbd3f6 100644 --- a/tasks/colony-pcr-screening-hard/tests/protocol_lint.py +++ b/tasks/colony-pcr-screening-hard/tests/protocol_lint.py @@ -18,12 +18,20 @@ FLOW_RATE_FIELDS = {"aspirate", "dispense", "blow_out"} +# Settable properties of a pipette (InstrumentContext) in the Opentrons API docs: ordinary protocol code, not patching. +PIPETTE_SETTINGS = {"tip_racks", "starting_tip", "default_speed"} +CLEARANCE_FIELDS = {"aspirate", "dispense"} def _is_flow_rate(t: ast.Attribute) -> bool: - """pipette.flow_rate.aspirate/dispense/blow_out = ... is ordinary Opentrons API use (pipetting speed).""" - return (t.attr in FLOW_RATE_FIELDS and isinstance(t.value, ast.Attribute) and t.value.attr == "flow_rate" - and isinstance(t.value.value, ast.Name)) + """A documented pipette setting on a local variable: p.flow_rate.aspirate/dispense/blow_out, + p.well_bottom_clearance.aspirate/dispense, p.tip_racks, p.starting_tip, p.default_speed. Assigning to anything else, + or to these on a module or class (protocol_api.InstrumentContext.tip_racks = ...), is still refused.""" + if isinstance(t.value, ast.Name): + return t.attr in PIPETTE_SETTINGS + return (isinstance(t.value, ast.Attribute) and isinstance(t.value.value, ast.Name) + and ((t.value.attr == "flow_rate" and t.attr in FLOW_RATE_FIELDS) + or (t.value.attr == "well_bottom_clearance" and t.attr in CLEARANCE_FIELDS))) def violations(source: str) -> list[str]: diff --git a/tasks/colony-pcr-screening-hard/tests/spec_check.py b/tasks/colony-pcr-screening-hard/tests/spec_check.py index 7a1e805..4e256e3 100644 --- a/tasks/colony-pcr-screening-hard/tests/spec_check.py +++ b/tasks/colony-pcr-screening-hard/tests/spec_check.py @@ -88,6 +88,7 @@ class State: wells: dict = field(default_factory=dict) # (labware, well) -> uL errors: list = field(default_factory=list) # (event index, code) aspirations: int = 0 + fed: dict = field(default_factory=dict) # (labware, well) -> labware it received liquid from def wells_of(event, loadnames=None) -> list[str]: @@ -101,14 +102,15 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f """Apply atomic events in order. `initial` = {(labware, well): uL} for non-stock wells; `ample` = (labware, well) pairs the IR declares as stocks with unlimited volume (aspirating from them is never an error and is not counted).""" st = State(wells=dict(initial or {})) + drawn = set() # labware the current tip has aspirated from for i, e in enumerate(events): kind = e["kind"] if kind == "pick": if st.tip: st.errors.append((i, "already_has_tip")) - st.tip, st.held = True, 0.0 + st.tip, st.held, drawn = True, 0.0, set() elif kind == "drop": - st.tip, st.held = False, 0.0 + st.tip, st.held, drawn = False, 0.0, set() elif kind in ("aspirate", "dispense"): vol = e["volume"] if not st.tip: @@ -125,20 +127,24 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f break st.wells[(e["labware"], w)] -= vol st.held += vol + drawn.add(e["labware"]) else: if vol > st.held + 1e-9: st.errors.append((i, "overdispense")) for w in wells_of(e, loadnames): st.wells[(e["labware"], w)] = st.wells.get((e["labware"], w), 0.0) + vol + st.fed.setdefault((e["labware"], w), set()).update(drawn - {e["labware"]}) st.held = max(st.held - vol, 0.0) return st def cross_contamination(events: list[dict]) -> list: """(event index, well) where one tip carries liquid between wells it should not. A tip may go back to wells it - dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a well (drawn - from a well it dispensed into), it carries that well's contents: dispensing into any other well, or drawing from - any other well (the stock included), is contamination until a fresh tip.""" + dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a destination + (drawn from a well it dispensed into that was not one of its sources), it carries that well's contents: dispensing + into any other well, or drawing from any other well (the stock included), is contamination until a fresh tip. + Mixing in a source before drawing from it (resuspending a colony or beads) carries nothing the transfer is not + meant to move.""" bad, sources, own, carried = [], set(), set(), set() for i, e in enumerate(events): if e["kind"] in ("pick", "drop"): @@ -152,9 +158,9 @@ def cross_contamination(events: list[dict]) -> list: key = (e["labware"], e["well"]) if (sources and key not in sources and key not in own) or carried - {key}: bad.append((i, key[1])) - if key in own: + if key in own and key not in sources: # mixing in a destination carried.add(key) - else: + elif key not in own: sources.add(key) return bad @@ -216,9 +222,11 @@ def _deck_mapping(proto, run, deck, add): def check(proto: Protocol, run: dict, free_wells: frozenset = frozenset(), deck: dict | None = None, - not_from_paper: frozenset = frozenset()) -> dict: + not_from_paper: dict | frozenset = frozenset()) -> dict: """Verdict for one simulated run against an IR. `run` is simulate()'s result; `deck` pins every container to a labware.""" checks = [] + if not isinstance(not_from_paper, dict): + not_from_paper = {c: None for c in not_from_paper} def add(name, ok, detail=""): checks.append({"name": name, "pass": bool(ok), "detail": detail}) @@ -262,12 +270,15 @@ def add(name, ok, detail=""): for cname, lab in mapping.items(): if kinds[cname] in ("reservoir", "waste"): continue - if cname in not_from_paper: # paper-only task whose paper does not fix this container's volumes: rubric only - na.append(f"end_state:{cname} (the source paper does not determine these volumes; judged by the rubric)") - continue want = {(tube_well[cname] if w == "" and tube_well.get(cname) else w): v for (cn, w), v in final.items() if cn == cname and v} only = tube_well.get(cname) # tubes share a rack: look at this tube's well only got = {w: round(v, 6) for (lb, w), v in st.wells.items() if lb == lab and v > 1e-9 and (lb, w) not in ample and (only is None or w == only)} + if cname in not_from_paper: # the paper does not fix these volumes: judge what it does fix + add(f"composition:{cname}", *_composition(cname, lab, want, got, st.fed, proto, mapping, + not_from_paper[cname], + cname in free_wells)) + na.append(f"end_state:{cname} (the source paper does not determine the exact volumes; composition checked instead)") + continue if cname in free_wells: # the instruction does not name the wells: judge the volumes, not the positions ok = sorted(round(v, 6) for v in want.values()) == sorted(got.values()) add(f"end_state:{cname}", ok, f"expected volumes {sorted(want.values())}, got {sorted(got.values())} (positions free)") @@ -280,12 +291,35 @@ def add(name, ok, detail=""): "aspirations": st.aspirations} -def not_from_paper(task_dir) -> frozenset: - """Containers whose end state the task's source paper does not determine, from task.toml [checks].""" +def _composition(cname, lab, want, got, fed, proto, mapping, volume_range, free) -> tuple[bool, str]: + """For a container whose exact volumes the paper does not fix: the same wells are filled (any wells if positions + are free), each from every source container the IR sends there, the wells the IR fills equally hold equal volumes, + and each volume is inside the range the paper supports.""" + problems = [] + if free and len(got) != len(want) or not free and set(got) != set(want): + problems.append(f"filled {len(got)} wells, expected {len(want)}" + ("" if free else f" ({sorted(set(want) ^ set(got))[:4]} differ)")) + need = {mapping[s.source] for s in proto.steps if s.kind == "transfer" and s.dest == cname and s.source in mapping} + short = sorted(w for w in got if need - fed.get((lab, w), set())) + if short: + problems.append(f"{len(short)} wells lack an input, e.g. {short[0]} has none from {sorted(need - fed.get((lab, short[0]), set()))}") + if len(set(want.values())) == 1 and len(set(got.values())) > 1: + problems.append(f"unequal volumes {sorted(set(got.values()))[:4]}") + if volume_range: + lo, hi = volume_range + off = sorted(v for v in set(got.values()) if not lo - 1e-6 <= v <= hi + 1e-6) + if off: + problems.append(f"volumes {off[:3]} outside the {lo:g}-{hi:g} uL the paper supports") + return not problems, "; ".join(problems) + + +def not_from_paper(task_dir) -> dict: + """Containers whose exact end state the task's source paper does not determine, from task.toml [checks]: + {container: (min uL, max uL) the paper supports, or None}. A list of names (no range) is accepted too.""" import tomllib f = pathlib.Path(task_dir) / "task.toml" - return frozenset(tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", [])) if f.exists() else frozenset() + nfp = tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", []) if f.exists() else [] + return {c: None for c in nfp} if isinstance(nfp, list) else {c: tuple(r) if r else None for c, r in nfp.items()} def free_wells(task_dir) -> frozenset: diff --git a/tasks/colony-pcr-screening/tests/grade.py b/tasks/colony-pcr-screening/tests/grade.py index f808f68..e90f80f 100644 --- a/tasks/colony-pcr-screening/tests/grade.py +++ b/tasks/colony-pcr-screening/tests/grade.py @@ -59,7 +59,7 @@ def grade(protocol: Path = PROTOCOL) -> tuple[dict, dict]: deck = json.loads((TESTS / "deck.json").read_text()) checks_cfg = json.loads((TESTS / "checks.json").read_text()) free = frozenset(checks_cfg["free_wells"]) - res = check(ir, sim, free, deck, frozenset(checks_cfg.get("not_from_paper", []))) + res = check(ir, sim, free, deck, checks_cfg.get("not_from_paper", {})) record["not_applicable"] = res["not_applicable"] passed = sum(c["pass"] for c in res["checks"]) rewards["checks_frac"] = round(passed / len(res["checks"]), 4) diff --git a/tasks/colony-pcr-screening/tests/protocol_lint.py b/tasks/colony-pcr-screening/tests/protocol_lint.py index 16ff37d..acbd3f6 100644 --- a/tasks/colony-pcr-screening/tests/protocol_lint.py +++ b/tasks/colony-pcr-screening/tests/protocol_lint.py @@ -18,12 +18,20 @@ FLOW_RATE_FIELDS = {"aspirate", "dispense", "blow_out"} +# Settable properties of a pipette (InstrumentContext) in the Opentrons API docs: ordinary protocol code, not patching. +PIPETTE_SETTINGS = {"tip_racks", "starting_tip", "default_speed"} +CLEARANCE_FIELDS = {"aspirate", "dispense"} def _is_flow_rate(t: ast.Attribute) -> bool: - """pipette.flow_rate.aspirate/dispense/blow_out = ... is ordinary Opentrons API use (pipetting speed).""" - return (t.attr in FLOW_RATE_FIELDS and isinstance(t.value, ast.Attribute) and t.value.attr == "flow_rate" - and isinstance(t.value.value, ast.Name)) + """A documented pipette setting on a local variable: p.flow_rate.aspirate/dispense/blow_out, + p.well_bottom_clearance.aspirate/dispense, p.tip_racks, p.starting_tip, p.default_speed. Assigning to anything else, + or to these on a module or class (protocol_api.InstrumentContext.tip_racks = ...), is still refused.""" + if isinstance(t.value, ast.Name): + return t.attr in PIPETTE_SETTINGS + return (isinstance(t.value, ast.Attribute) and isinstance(t.value.value, ast.Name) + and ((t.value.attr == "flow_rate" and t.attr in FLOW_RATE_FIELDS) + or (t.value.attr == "well_bottom_clearance" and t.attr in CLEARANCE_FIELDS))) def violations(source: str) -> list[str]: diff --git a/tasks/colony-pcr-screening/tests/spec_check.py b/tasks/colony-pcr-screening/tests/spec_check.py index 7a1e805..4e256e3 100644 --- a/tasks/colony-pcr-screening/tests/spec_check.py +++ b/tasks/colony-pcr-screening/tests/spec_check.py @@ -88,6 +88,7 @@ class State: wells: dict = field(default_factory=dict) # (labware, well) -> uL errors: list = field(default_factory=list) # (event index, code) aspirations: int = 0 + fed: dict = field(default_factory=dict) # (labware, well) -> labware it received liquid from def wells_of(event, loadnames=None) -> list[str]: @@ -101,14 +102,15 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f """Apply atomic events in order. `initial` = {(labware, well): uL} for non-stock wells; `ample` = (labware, well) pairs the IR declares as stocks with unlimited volume (aspirating from them is never an error and is not counted).""" st = State(wells=dict(initial or {})) + drawn = set() # labware the current tip has aspirated from for i, e in enumerate(events): kind = e["kind"] if kind == "pick": if st.tip: st.errors.append((i, "already_has_tip")) - st.tip, st.held = True, 0.0 + st.tip, st.held, drawn = True, 0.0, set() elif kind == "drop": - st.tip, st.held = False, 0.0 + st.tip, st.held, drawn = False, 0.0, set() elif kind in ("aspirate", "dispense"): vol = e["volume"] if not st.tip: @@ -125,20 +127,24 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f break st.wells[(e["labware"], w)] -= vol st.held += vol + drawn.add(e["labware"]) else: if vol > st.held + 1e-9: st.errors.append((i, "overdispense")) for w in wells_of(e, loadnames): st.wells[(e["labware"], w)] = st.wells.get((e["labware"], w), 0.0) + vol + st.fed.setdefault((e["labware"], w), set()).update(drawn - {e["labware"]}) st.held = max(st.held - vol, 0.0) return st def cross_contamination(events: list[dict]) -> list: """(event index, well) where one tip carries liquid between wells it should not. A tip may go back to wells it - dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a well (drawn - from a well it dispensed into), it carries that well's contents: dispensing into any other well, or drawing from - any other well (the stock included), is contamination until a fresh tip.""" + dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a destination + (drawn from a well it dispensed into that was not one of its sources), it carries that well's contents: dispensing + into any other well, or drawing from any other well (the stock included), is contamination until a fresh tip. + Mixing in a source before drawing from it (resuspending a colony or beads) carries nothing the transfer is not + meant to move.""" bad, sources, own, carried = [], set(), set(), set() for i, e in enumerate(events): if e["kind"] in ("pick", "drop"): @@ -152,9 +158,9 @@ def cross_contamination(events: list[dict]) -> list: key = (e["labware"], e["well"]) if (sources and key not in sources and key not in own) or carried - {key}: bad.append((i, key[1])) - if key in own: + if key in own and key not in sources: # mixing in a destination carried.add(key) - else: + elif key not in own: sources.add(key) return bad @@ -216,9 +222,11 @@ def _deck_mapping(proto, run, deck, add): def check(proto: Protocol, run: dict, free_wells: frozenset = frozenset(), deck: dict | None = None, - not_from_paper: frozenset = frozenset()) -> dict: + not_from_paper: dict | frozenset = frozenset()) -> dict: """Verdict for one simulated run against an IR. `run` is simulate()'s result; `deck` pins every container to a labware.""" checks = [] + if not isinstance(not_from_paper, dict): + not_from_paper = {c: None for c in not_from_paper} def add(name, ok, detail=""): checks.append({"name": name, "pass": bool(ok), "detail": detail}) @@ -262,12 +270,15 @@ def add(name, ok, detail=""): for cname, lab in mapping.items(): if kinds[cname] in ("reservoir", "waste"): continue - if cname in not_from_paper: # paper-only task whose paper does not fix this container's volumes: rubric only - na.append(f"end_state:{cname} (the source paper does not determine these volumes; judged by the rubric)") - continue want = {(tube_well[cname] if w == "" and tube_well.get(cname) else w): v for (cn, w), v in final.items() if cn == cname and v} only = tube_well.get(cname) # tubes share a rack: look at this tube's well only got = {w: round(v, 6) for (lb, w), v in st.wells.items() if lb == lab and v > 1e-9 and (lb, w) not in ample and (only is None or w == only)} + if cname in not_from_paper: # the paper does not fix these volumes: judge what it does fix + add(f"composition:{cname}", *_composition(cname, lab, want, got, st.fed, proto, mapping, + not_from_paper[cname], + cname in free_wells)) + na.append(f"end_state:{cname} (the source paper does not determine the exact volumes; composition checked instead)") + continue if cname in free_wells: # the instruction does not name the wells: judge the volumes, not the positions ok = sorted(round(v, 6) for v in want.values()) == sorted(got.values()) add(f"end_state:{cname}", ok, f"expected volumes {sorted(want.values())}, got {sorted(got.values())} (positions free)") @@ -280,12 +291,35 @@ def add(name, ok, detail=""): "aspirations": st.aspirations} -def not_from_paper(task_dir) -> frozenset: - """Containers whose end state the task's source paper does not determine, from task.toml [checks].""" +def _composition(cname, lab, want, got, fed, proto, mapping, volume_range, free) -> tuple[bool, str]: + """For a container whose exact volumes the paper does not fix: the same wells are filled (any wells if positions + are free), each from every source container the IR sends there, the wells the IR fills equally hold equal volumes, + and each volume is inside the range the paper supports.""" + problems = [] + if free and len(got) != len(want) or not free and set(got) != set(want): + problems.append(f"filled {len(got)} wells, expected {len(want)}" + ("" if free else f" ({sorted(set(want) ^ set(got))[:4]} differ)")) + need = {mapping[s.source] for s in proto.steps if s.kind == "transfer" and s.dest == cname and s.source in mapping} + short = sorted(w for w in got if need - fed.get((lab, w), set())) + if short: + problems.append(f"{len(short)} wells lack an input, e.g. {short[0]} has none from {sorted(need - fed.get((lab, short[0]), set()))}") + if len(set(want.values())) == 1 and len(set(got.values())) > 1: + problems.append(f"unequal volumes {sorted(set(got.values()))[:4]}") + if volume_range: + lo, hi = volume_range + off = sorted(v for v in set(got.values()) if not lo - 1e-6 <= v <= hi + 1e-6) + if off: + problems.append(f"volumes {off[:3]} outside the {lo:g}-{hi:g} uL the paper supports") + return not problems, "; ".join(problems) + + +def not_from_paper(task_dir) -> dict: + """Containers whose exact end state the task's source paper does not determine, from task.toml [checks]: + {container: (min uL, max uL) the paper supports, or None}. A list of names (no range) is accepted too.""" import tomllib f = pathlib.Path(task_dir) / "task.toml" - return frozenset(tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", [])) if f.exists() else frozenset() + nfp = tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", []) if f.exists() else [] + return {c: None for c in nfp} if isinstance(nfp, list) else {c: tuple(r) if r else None for c, r in nfp.items()} def free_wells(task_dir) -> frozenset: diff --git a/tasks/ecoli-heat-shock-transformation-hard/tests/grade.py b/tasks/ecoli-heat-shock-transformation-hard/tests/grade.py index f808f68..e90f80f 100644 --- a/tasks/ecoli-heat-shock-transformation-hard/tests/grade.py +++ b/tasks/ecoli-heat-shock-transformation-hard/tests/grade.py @@ -59,7 +59,7 @@ def grade(protocol: Path = PROTOCOL) -> tuple[dict, dict]: deck = json.loads((TESTS / "deck.json").read_text()) checks_cfg = json.loads((TESTS / "checks.json").read_text()) free = frozenset(checks_cfg["free_wells"]) - res = check(ir, sim, free, deck, frozenset(checks_cfg.get("not_from_paper", []))) + res = check(ir, sim, free, deck, checks_cfg.get("not_from_paper", {})) record["not_applicable"] = res["not_applicable"] passed = sum(c["pass"] for c in res["checks"]) rewards["checks_frac"] = round(passed / len(res["checks"]), 4) diff --git a/tasks/ecoli-heat-shock-transformation-hard/tests/protocol_lint.py b/tasks/ecoli-heat-shock-transformation-hard/tests/protocol_lint.py index 16ff37d..acbd3f6 100644 --- a/tasks/ecoli-heat-shock-transformation-hard/tests/protocol_lint.py +++ b/tasks/ecoli-heat-shock-transformation-hard/tests/protocol_lint.py @@ -18,12 +18,20 @@ FLOW_RATE_FIELDS = {"aspirate", "dispense", "blow_out"} +# Settable properties of a pipette (InstrumentContext) in the Opentrons API docs: ordinary protocol code, not patching. +PIPETTE_SETTINGS = {"tip_racks", "starting_tip", "default_speed"} +CLEARANCE_FIELDS = {"aspirate", "dispense"} def _is_flow_rate(t: ast.Attribute) -> bool: - """pipette.flow_rate.aspirate/dispense/blow_out = ... is ordinary Opentrons API use (pipetting speed).""" - return (t.attr in FLOW_RATE_FIELDS and isinstance(t.value, ast.Attribute) and t.value.attr == "flow_rate" - and isinstance(t.value.value, ast.Name)) + """A documented pipette setting on a local variable: p.flow_rate.aspirate/dispense/blow_out, + p.well_bottom_clearance.aspirate/dispense, p.tip_racks, p.starting_tip, p.default_speed. Assigning to anything else, + or to these on a module or class (protocol_api.InstrumentContext.tip_racks = ...), is still refused.""" + if isinstance(t.value, ast.Name): + return t.attr in PIPETTE_SETTINGS + return (isinstance(t.value, ast.Attribute) and isinstance(t.value.value, ast.Name) + and ((t.value.attr == "flow_rate" and t.attr in FLOW_RATE_FIELDS) + or (t.value.attr == "well_bottom_clearance" and t.attr in CLEARANCE_FIELDS))) def violations(source: str) -> list[str]: diff --git a/tasks/ecoli-heat-shock-transformation-hard/tests/spec_check.py b/tasks/ecoli-heat-shock-transformation-hard/tests/spec_check.py index 7a1e805..4e256e3 100644 --- a/tasks/ecoli-heat-shock-transformation-hard/tests/spec_check.py +++ b/tasks/ecoli-heat-shock-transformation-hard/tests/spec_check.py @@ -88,6 +88,7 @@ class State: wells: dict = field(default_factory=dict) # (labware, well) -> uL errors: list = field(default_factory=list) # (event index, code) aspirations: int = 0 + fed: dict = field(default_factory=dict) # (labware, well) -> labware it received liquid from def wells_of(event, loadnames=None) -> list[str]: @@ -101,14 +102,15 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f """Apply atomic events in order. `initial` = {(labware, well): uL} for non-stock wells; `ample` = (labware, well) pairs the IR declares as stocks with unlimited volume (aspirating from them is never an error and is not counted).""" st = State(wells=dict(initial or {})) + drawn = set() # labware the current tip has aspirated from for i, e in enumerate(events): kind = e["kind"] if kind == "pick": if st.tip: st.errors.append((i, "already_has_tip")) - st.tip, st.held = True, 0.0 + st.tip, st.held, drawn = True, 0.0, set() elif kind == "drop": - st.tip, st.held = False, 0.0 + st.tip, st.held, drawn = False, 0.0, set() elif kind in ("aspirate", "dispense"): vol = e["volume"] if not st.tip: @@ -125,20 +127,24 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f break st.wells[(e["labware"], w)] -= vol st.held += vol + drawn.add(e["labware"]) else: if vol > st.held + 1e-9: st.errors.append((i, "overdispense")) for w in wells_of(e, loadnames): st.wells[(e["labware"], w)] = st.wells.get((e["labware"], w), 0.0) + vol + st.fed.setdefault((e["labware"], w), set()).update(drawn - {e["labware"]}) st.held = max(st.held - vol, 0.0) return st def cross_contamination(events: list[dict]) -> list: """(event index, well) where one tip carries liquid between wells it should not. A tip may go back to wells it - dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a well (drawn - from a well it dispensed into), it carries that well's contents: dispensing into any other well, or drawing from - any other well (the stock included), is contamination until a fresh tip.""" + dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a destination + (drawn from a well it dispensed into that was not one of its sources), it carries that well's contents: dispensing + into any other well, or drawing from any other well (the stock included), is contamination until a fresh tip. + Mixing in a source before drawing from it (resuspending a colony or beads) carries nothing the transfer is not + meant to move.""" bad, sources, own, carried = [], set(), set(), set() for i, e in enumerate(events): if e["kind"] in ("pick", "drop"): @@ -152,9 +158,9 @@ def cross_contamination(events: list[dict]) -> list: key = (e["labware"], e["well"]) if (sources and key not in sources and key not in own) or carried - {key}: bad.append((i, key[1])) - if key in own: + if key in own and key not in sources: # mixing in a destination carried.add(key) - else: + elif key not in own: sources.add(key) return bad @@ -216,9 +222,11 @@ def _deck_mapping(proto, run, deck, add): def check(proto: Protocol, run: dict, free_wells: frozenset = frozenset(), deck: dict | None = None, - not_from_paper: frozenset = frozenset()) -> dict: + not_from_paper: dict | frozenset = frozenset()) -> dict: """Verdict for one simulated run against an IR. `run` is simulate()'s result; `deck` pins every container to a labware.""" checks = [] + if not isinstance(not_from_paper, dict): + not_from_paper = {c: None for c in not_from_paper} def add(name, ok, detail=""): checks.append({"name": name, "pass": bool(ok), "detail": detail}) @@ -262,12 +270,15 @@ def add(name, ok, detail=""): for cname, lab in mapping.items(): if kinds[cname] in ("reservoir", "waste"): continue - if cname in not_from_paper: # paper-only task whose paper does not fix this container's volumes: rubric only - na.append(f"end_state:{cname} (the source paper does not determine these volumes; judged by the rubric)") - continue want = {(tube_well[cname] if w == "" and tube_well.get(cname) else w): v for (cn, w), v in final.items() if cn == cname and v} only = tube_well.get(cname) # tubes share a rack: look at this tube's well only got = {w: round(v, 6) for (lb, w), v in st.wells.items() if lb == lab and v > 1e-9 and (lb, w) not in ample and (only is None or w == only)} + if cname in not_from_paper: # the paper does not fix these volumes: judge what it does fix + add(f"composition:{cname}", *_composition(cname, lab, want, got, st.fed, proto, mapping, + not_from_paper[cname], + cname in free_wells)) + na.append(f"end_state:{cname} (the source paper does not determine the exact volumes; composition checked instead)") + continue if cname in free_wells: # the instruction does not name the wells: judge the volumes, not the positions ok = sorted(round(v, 6) for v in want.values()) == sorted(got.values()) add(f"end_state:{cname}", ok, f"expected volumes {sorted(want.values())}, got {sorted(got.values())} (positions free)") @@ -280,12 +291,35 @@ def add(name, ok, detail=""): "aspirations": st.aspirations} -def not_from_paper(task_dir) -> frozenset: - """Containers whose end state the task's source paper does not determine, from task.toml [checks].""" +def _composition(cname, lab, want, got, fed, proto, mapping, volume_range, free) -> tuple[bool, str]: + """For a container whose exact volumes the paper does not fix: the same wells are filled (any wells if positions + are free), each from every source container the IR sends there, the wells the IR fills equally hold equal volumes, + and each volume is inside the range the paper supports.""" + problems = [] + if free and len(got) != len(want) or not free and set(got) != set(want): + problems.append(f"filled {len(got)} wells, expected {len(want)}" + ("" if free else f" ({sorted(set(want) ^ set(got))[:4]} differ)")) + need = {mapping[s.source] for s in proto.steps if s.kind == "transfer" and s.dest == cname and s.source in mapping} + short = sorted(w for w in got if need - fed.get((lab, w), set())) + if short: + problems.append(f"{len(short)} wells lack an input, e.g. {short[0]} has none from {sorted(need - fed.get((lab, short[0]), set()))}") + if len(set(want.values())) == 1 and len(set(got.values())) > 1: + problems.append(f"unequal volumes {sorted(set(got.values()))[:4]}") + if volume_range: + lo, hi = volume_range + off = sorted(v for v in set(got.values()) if not lo - 1e-6 <= v <= hi + 1e-6) + if off: + problems.append(f"volumes {off[:3]} outside the {lo:g}-{hi:g} uL the paper supports") + return not problems, "; ".join(problems) + + +def not_from_paper(task_dir) -> dict: + """Containers whose exact end state the task's source paper does not determine, from task.toml [checks]: + {container: (min uL, max uL) the paper supports, or None}. A list of names (no range) is accepted too.""" import tomllib f = pathlib.Path(task_dir) / "task.toml" - return frozenset(tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", [])) if f.exists() else frozenset() + nfp = tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", []) if f.exists() else [] + return {c: None for c in nfp} if isinstance(nfp, list) else {c: tuple(r) if r else None for c, r in nfp.items()} def free_wells(task_dir) -> frozenset: diff --git a/tasks/ecoli-heat-shock-transformation/tests/grade.py b/tasks/ecoli-heat-shock-transformation/tests/grade.py index f808f68..e90f80f 100644 --- a/tasks/ecoli-heat-shock-transformation/tests/grade.py +++ b/tasks/ecoli-heat-shock-transformation/tests/grade.py @@ -59,7 +59,7 @@ def grade(protocol: Path = PROTOCOL) -> tuple[dict, dict]: deck = json.loads((TESTS / "deck.json").read_text()) checks_cfg = json.loads((TESTS / "checks.json").read_text()) free = frozenset(checks_cfg["free_wells"]) - res = check(ir, sim, free, deck, frozenset(checks_cfg.get("not_from_paper", []))) + res = check(ir, sim, free, deck, checks_cfg.get("not_from_paper", {})) record["not_applicable"] = res["not_applicable"] passed = sum(c["pass"] for c in res["checks"]) rewards["checks_frac"] = round(passed / len(res["checks"]), 4) diff --git a/tasks/ecoli-heat-shock-transformation/tests/protocol_lint.py b/tasks/ecoli-heat-shock-transformation/tests/protocol_lint.py index 16ff37d..acbd3f6 100644 --- a/tasks/ecoli-heat-shock-transformation/tests/protocol_lint.py +++ b/tasks/ecoli-heat-shock-transformation/tests/protocol_lint.py @@ -18,12 +18,20 @@ FLOW_RATE_FIELDS = {"aspirate", "dispense", "blow_out"} +# Settable properties of a pipette (InstrumentContext) in the Opentrons API docs: ordinary protocol code, not patching. +PIPETTE_SETTINGS = {"tip_racks", "starting_tip", "default_speed"} +CLEARANCE_FIELDS = {"aspirate", "dispense"} def _is_flow_rate(t: ast.Attribute) -> bool: - """pipette.flow_rate.aspirate/dispense/blow_out = ... is ordinary Opentrons API use (pipetting speed).""" - return (t.attr in FLOW_RATE_FIELDS and isinstance(t.value, ast.Attribute) and t.value.attr == "flow_rate" - and isinstance(t.value.value, ast.Name)) + """A documented pipette setting on a local variable: p.flow_rate.aspirate/dispense/blow_out, + p.well_bottom_clearance.aspirate/dispense, p.tip_racks, p.starting_tip, p.default_speed. Assigning to anything else, + or to these on a module or class (protocol_api.InstrumentContext.tip_racks = ...), is still refused.""" + if isinstance(t.value, ast.Name): + return t.attr in PIPETTE_SETTINGS + return (isinstance(t.value, ast.Attribute) and isinstance(t.value.value, ast.Name) + and ((t.value.attr == "flow_rate" and t.attr in FLOW_RATE_FIELDS) + or (t.value.attr == "well_bottom_clearance" and t.attr in CLEARANCE_FIELDS))) def violations(source: str) -> list[str]: diff --git a/tasks/ecoli-heat-shock-transformation/tests/spec_check.py b/tasks/ecoli-heat-shock-transformation/tests/spec_check.py index 7a1e805..4e256e3 100644 --- a/tasks/ecoli-heat-shock-transformation/tests/spec_check.py +++ b/tasks/ecoli-heat-shock-transformation/tests/spec_check.py @@ -88,6 +88,7 @@ class State: wells: dict = field(default_factory=dict) # (labware, well) -> uL errors: list = field(default_factory=list) # (event index, code) aspirations: int = 0 + fed: dict = field(default_factory=dict) # (labware, well) -> labware it received liquid from def wells_of(event, loadnames=None) -> list[str]: @@ -101,14 +102,15 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f """Apply atomic events in order. `initial` = {(labware, well): uL} for non-stock wells; `ample` = (labware, well) pairs the IR declares as stocks with unlimited volume (aspirating from them is never an error and is not counted).""" st = State(wells=dict(initial or {})) + drawn = set() # labware the current tip has aspirated from for i, e in enumerate(events): kind = e["kind"] if kind == "pick": if st.tip: st.errors.append((i, "already_has_tip")) - st.tip, st.held = True, 0.0 + st.tip, st.held, drawn = True, 0.0, set() elif kind == "drop": - st.tip, st.held = False, 0.0 + st.tip, st.held, drawn = False, 0.0, set() elif kind in ("aspirate", "dispense"): vol = e["volume"] if not st.tip: @@ -125,20 +127,24 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f break st.wells[(e["labware"], w)] -= vol st.held += vol + drawn.add(e["labware"]) else: if vol > st.held + 1e-9: st.errors.append((i, "overdispense")) for w in wells_of(e, loadnames): st.wells[(e["labware"], w)] = st.wells.get((e["labware"], w), 0.0) + vol + st.fed.setdefault((e["labware"], w), set()).update(drawn - {e["labware"]}) st.held = max(st.held - vol, 0.0) return st def cross_contamination(events: list[dict]) -> list: """(event index, well) where one tip carries liquid between wells it should not. A tip may go back to wells it - dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a well (drawn - from a well it dispensed into), it carries that well's contents: dispensing into any other well, or drawing from - any other well (the stock included), is contamination until a fresh tip.""" + dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a destination + (drawn from a well it dispensed into that was not one of its sources), it carries that well's contents: dispensing + into any other well, or drawing from any other well (the stock included), is contamination until a fresh tip. + Mixing in a source before drawing from it (resuspending a colony or beads) carries nothing the transfer is not + meant to move.""" bad, sources, own, carried = [], set(), set(), set() for i, e in enumerate(events): if e["kind"] in ("pick", "drop"): @@ -152,9 +158,9 @@ def cross_contamination(events: list[dict]) -> list: key = (e["labware"], e["well"]) if (sources and key not in sources and key not in own) or carried - {key}: bad.append((i, key[1])) - if key in own: + if key in own and key not in sources: # mixing in a destination carried.add(key) - else: + elif key not in own: sources.add(key) return bad @@ -216,9 +222,11 @@ def _deck_mapping(proto, run, deck, add): def check(proto: Protocol, run: dict, free_wells: frozenset = frozenset(), deck: dict | None = None, - not_from_paper: frozenset = frozenset()) -> dict: + not_from_paper: dict | frozenset = frozenset()) -> dict: """Verdict for one simulated run against an IR. `run` is simulate()'s result; `deck` pins every container to a labware.""" checks = [] + if not isinstance(not_from_paper, dict): + not_from_paper = {c: None for c in not_from_paper} def add(name, ok, detail=""): checks.append({"name": name, "pass": bool(ok), "detail": detail}) @@ -262,12 +270,15 @@ def add(name, ok, detail=""): for cname, lab in mapping.items(): if kinds[cname] in ("reservoir", "waste"): continue - if cname in not_from_paper: # paper-only task whose paper does not fix this container's volumes: rubric only - na.append(f"end_state:{cname} (the source paper does not determine these volumes; judged by the rubric)") - continue want = {(tube_well[cname] if w == "" and tube_well.get(cname) else w): v for (cn, w), v in final.items() if cn == cname and v} only = tube_well.get(cname) # tubes share a rack: look at this tube's well only got = {w: round(v, 6) for (lb, w), v in st.wells.items() if lb == lab and v > 1e-9 and (lb, w) not in ample and (only is None or w == only)} + if cname in not_from_paper: # the paper does not fix these volumes: judge what it does fix + add(f"composition:{cname}", *_composition(cname, lab, want, got, st.fed, proto, mapping, + not_from_paper[cname], + cname in free_wells)) + na.append(f"end_state:{cname} (the source paper does not determine the exact volumes; composition checked instead)") + continue if cname in free_wells: # the instruction does not name the wells: judge the volumes, not the positions ok = sorted(round(v, 6) for v in want.values()) == sorted(got.values()) add(f"end_state:{cname}", ok, f"expected volumes {sorted(want.values())}, got {sorted(got.values())} (positions free)") @@ -280,12 +291,35 @@ def add(name, ok, detail=""): "aspirations": st.aspirations} -def not_from_paper(task_dir) -> frozenset: - """Containers whose end state the task's source paper does not determine, from task.toml [checks].""" +def _composition(cname, lab, want, got, fed, proto, mapping, volume_range, free) -> tuple[bool, str]: + """For a container whose exact volumes the paper does not fix: the same wells are filled (any wells if positions + are free), each from every source container the IR sends there, the wells the IR fills equally hold equal volumes, + and each volume is inside the range the paper supports.""" + problems = [] + if free and len(got) != len(want) or not free and set(got) != set(want): + problems.append(f"filled {len(got)} wells, expected {len(want)}" + ("" if free else f" ({sorted(set(want) ^ set(got))[:4]} differ)")) + need = {mapping[s.source] for s in proto.steps if s.kind == "transfer" and s.dest == cname and s.source in mapping} + short = sorted(w for w in got if need - fed.get((lab, w), set())) + if short: + problems.append(f"{len(short)} wells lack an input, e.g. {short[0]} has none from {sorted(need - fed.get((lab, short[0]), set()))}") + if len(set(want.values())) == 1 and len(set(got.values())) > 1: + problems.append(f"unequal volumes {sorted(set(got.values()))[:4]}") + if volume_range: + lo, hi = volume_range + off = sorted(v for v in set(got.values()) if not lo - 1e-6 <= v <= hi + 1e-6) + if off: + problems.append(f"volumes {off[:3]} outside the {lo:g}-{hi:g} uL the paper supports") + return not problems, "; ".join(problems) + + +def not_from_paper(task_dir) -> dict: + """Containers whose exact end state the task's source paper does not determine, from task.toml [checks]: + {container: (min uL, max uL) the paper supports, or None}. A list of names (no range) is accepted too.""" import tomllib f = pathlib.Path(task_dir) / "task.toml" - return frozenset(tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", [])) if f.exists() else frozenset() + nfp = tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", []) if f.exists() else [] + return {c: None for c in nfp} if isinstance(nfp, list) else {c: tuple(r) if r else None for c, r in nfp.items()} def free_wells(task_dir) -> frozenset: diff --git a/tasks/golden-gate-assembly-hard/tests/grade.py b/tasks/golden-gate-assembly-hard/tests/grade.py index f808f68..e90f80f 100644 --- a/tasks/golden-gate-assembly-hard/tests/grade.py +++ b/tasks/golden-gate-assembly-hard/tests/grade.py @@ -59,7 +59,7 @@ def grade(protocol: Path = PROTOCOL) -> tuple[dict, dict]: deck = json.loads((TESTS / "deck.json").read_text()) checks_cfg = json.loads((TESTS / "checks.json").read_text()) free = frozenset(checks_cfg["free_wells"]) - res = check(ir, sim, free, deck, frozenset(checks_cfg.get("not_from_paper", []))) + res = check(ir, sim, free, deck, checks_cfg.get("not_from_paper", {})) record["not_applicable"] = res["not_applicable"] passed = sum(c["pass"] for c in res["checks"]) rewards["checks_frac"] = round(passed / len(res["checks"]), 4) diff --git a/tasks/golden-gate-assembly-hard/tests/protocol_lint.py b/tasks/golden-gate-assembly-hard/tests/protocol_lint.py index 16ff37d..acbd3f6 100644 --- a/tasks/golden-gate-assembly-hard/tests/protocol_lint.py +++ b/tasks/golden-gate-assembly-hard/tests/protocol_lint.py @@ -18,12 +18,20 @@ FLOW_RATE_FIELDS = {"aspirate", "dispense", "blow_out"} +# Settable properties of a pipette (InstrumentContext) in the Opentrons API docs: ordinary protocol code, not patching. +PIPETTE_SETTINGS = {"tip_racks", "starting_tip", "default_speed"} +CLEARANCE_FIELDS = {"aspirate", "dispense"} def _is_flow_rate(t: ast.Attribute) -> bool: - """pipette.flow_rate.aspirate/dispense/blow_out = ... is ordinary Opentrons API use (pipetting speed).""" - return (t.attr in FLOW_RATE_FIELDS and isinstance(t.value, ast.Attribute) and t.value.attr == "flow_rate" - and isinstance(t.value.value, ast.Name)) + """A documented pipette setting on a local variable: p.flow_rate.aspirate/dispense/blow_out, + p.well_bottom_clearance.aspirate/dispense, p.tip_racks, p.starting_tip, p.default_speed. Assigning to anything else, + or to these on a module or class (protocol_api.InstrumentContext.tip_racks = ...), is still refused.""" + if isinstance(t.value, ast.Name): + return t.attr in PIPETTE_SETTINGS + return (isinstance(t.value, ast.Attribute) and isinstance(t.value.value, ast.Name) + and ((t.value.attr == "flow_rate" and t.attr in FLOW_RATE_FIELDS) + or (t.value.attr == "well_bottom_clearance" and t.attr in CLEARANCE_FIELDS))) def violations(source: str) -> list[str]: diff --git a/tasks/golden-gate-assembly-hard/tests/spec_check.py b/tasks/golden-gate-assembly-hard/tests/spec_check.py index 7a1e805..4e256e3 100644 --- a/tasks/golden-gate-assembly-hard/tests/spec_check.py +++ b/tasks/golden-gate-assembly-hard/tests/spec_check.py @@ -88,6 +88,7 @@ class State: wells: dict = field(default_factory=dict) # (labware, well) -> uL errors: list = field(default_factory=list) # (event index, code) aspirations: int = 0 + fed: dict = field(default_factory=dict) # (labware, well) -> labware it received liquid from def wells_of(event, loadnames=None) -> list[str]: @@ -101,14 +102,15 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f """Apply atomic events in order. `initial` = {(labware, well): uL} for non-stock wells; `ample` = (labware, well) pairs the IR declares as stocks with unlimited volume (aspirating from them is never an error and is not counted).""" st = State(wells=dict(initial or {})) + drawn = set() # labware the current tip has aspirated from for i, e in enumerate(events): kind = e["kind"] if kind == "pick": if st.tip: st.errors.append((i, "already_has_tip")) - st.tip, st.held = True, 0.0 + st.tip, st.held, drawn = True, 0.0, set() elif kind == "drop": - st.tip, st.held = False, 0.0 + st.tip, st.held, drawn = False, 0.0, set() elif kind in ("aspirate", "dispense"): vol = e["volume"] if not st.tip: @@ -125,20 +127,24 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f break st.wells[(e["labware"], w)] -= vol st.held += vol + drawn.add(e["labware"]) else: if vol > st.held + 1e-9: st.errors.append((i, "overdispense")) for w in wells_of(e, loadnames): st.wells[(e["labware"], w)] = st.wells.get((e["labware"], w), 0.0) + vol + st.fed.setdefault((e["labware"], w), set()).update(drawn - {e["labware"]}) st.held = max(st.held - vol, 0.0) return st def cross_contamination(events: list[dict]) -> list: """(event index, well) where one tip carries liquid between wells it should not. A tip may go back to wells it - dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a well (drawn - from a well it dispensed into), it carries that well's contents: dispensing into any other well, or drawing from - any other well (the stock included), is contamination until a fresh tip.""" + dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a destination + (drawn from a well it dispensed into that was not one of its sources), it carries that well's contents: dispensing + into any other well, or drawing from any other well (the stock included), is contamination until a fresh tip. + Mixing in a source before drawing from it (resuspending a colony or beads) carries nothing the transfer is not + meant to move.""" bad, sources, own, carried = [], set(), set(), set() for i, e in enumerate(events): if e["kind"] in ("pick", "drop"): @@ -152,9 +158,9 @@ def cross_contamination(events: list[dict]) -> list: key = (e["labware"], e["well"]) if (sources and key not in sources and key not in own) or carried - {key}: bad.append((i, key[1])) - if key in own: + if key in own and key not in sources: # mixing in a destination carried.add(key) - else: + elif key not in own: sources.add(key) return bad @@ -216,9 +222,11 @@ def _deck_mapping(proto, run, deck, add): def check(proto: Protocol, run: dict, free_wells: frozenset = frozenset(), deck: dict | None = None, - not_from_paper: frozenset = frozenset()) -> dict: + not_from_paper: dict | frozenset = frozenset()) -> dict: """Verdict for one simulated run against an IR. `run` is simulate()'s result; `deck` pins every container to a labware.""" checks = [] + if not isinstance(not_from_paper, dict): + not_from_paper = {c: None for c in not_from_paper} def add(name, ok, detail=""): checks.append({"name": name, "pass": bool(ok), "detail": detail}) @@ -262,12 +270,15 @@ def add(name, ok, detail=""): for cname, lab in mapping.items(): if kinds[cname] in ("reservoir", "waste"): continue - if cname in not_from_paper: # paper-only task whose paper does not fix this container's volumes: rubric only - na.append(f"end_state:{cname} (the source paper does not determine these volumes; judged by the rubric)") - continue want = {(tube_well[cname] if w == "" and tube_well.get(cname) else w): v for (cn, w), v in final.items() if cn == cname and v} only = tube_well.get(cname) # tubes share a rack: look at this tube's well only got = {w: round(v, 6) for (lb, w), v in st.wells.items() if lb == lab and v > 1e-9 and (lb, w) not in ample and (only is None or w == only)} + if cname in not_from_paper: # the paper does not fix these volumes: judge what it does fix + add(f"composition:{cname}", *_composition(cname, lab, want, got, st.fed, proto, mapping, + not_from_paper[cname], + cname in free_wells)) + na.append(f"end_state:{cname} (the source paper does not determine the exact volumes; composition checked instead)") + continue if cname in free_wells: # the instruction does not name the wells: judge the volumes, not the positions ok = sorted(round(v, 6) for v in want.values()) == sorted(got.values()) add(f"end_state:{cname}", ok, f"expected volumes {sorted(want.values())}, got {sorted(got.values())} (positions free)") @@ -280,12 +291,35 @@ def add(name, ok, detail=""): "aspirations": st.aspirations} -def not_from_paper(task_dir) -> frozenset: - """Containers whose end state the task's source paper does not determine, from task.toml [checks].""" +def _composition(cname, lab, want, got, fed, proto, mapping, volume_range, free) -> tuple[bool, str]: + """For a container whose exact volumes the paper does not fix: the same wells are filled (any wells if positions + are free), each from every source container the IR sends there, the wells the IR fills equally hold equal volumes, + and each volume is inside the range the paper supports.""" + problems = [] + if free and len(got) != len(want) or not free and set(got) != set(want): + problems.append(f"filled {len(got)} wells, expected {len(want)}" + ("" if free else f" ({sorted(set(want) ^ set(got))[:4]} differ)")) + need = {mapping[s.source] for s in proto.steps if s.kind == "transfer" and s.dest == cname and s.source in mapping} + short = sorted(w for w in got if need - fed.get((lab, w), set())) + if short: + problems.append(f"{len(short)} wells lack an input, e.g. {short[0]} has none from {sorted(need - fed.get((lab, short[0]), set()))}") + if len(set(want.values())) == 1 and len(set(got.values())) > 1: + problems.append(f"unequal volumes {sorted(set(got.values()))[:4]}") + if volume_range: + lo, hi = volume_range + off = sorted(v for v in set(got.values()) if not lo - 1e-6 <= v <= hi + 1e-6) + if off: + problems.append(f"volumes {off[:3]} outside the {lo:g}-{hi:g} uL the paper supports") + return not problems, "; ".join(problems) + + +def not_from_paper(task_dir) -> dict: + """Containers whose exact end state the task's source paper does not determine, from task.toml [checks]: + {container: (min uL, max uL) the paper supports, or None}. A list of names (no range) is accepted too.""" import tomllib f = pathlib.Path(task_dir) / "task.toml" - return frozenset(tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", [])) if f.exists() else frozenset() + nfp = tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", []) if f.exists() else [] + return {c: None for c in nfp} if isinstance(nfp, list) else {c: tuple(r) if r else None for c, r in nfp.items()} def free_wells(task_dir) -> frozenset: diff --git a/tasks/golden-gate-assembly/tests/grade.py b/tasks/golden-gate-assembly/tests/grade.py index f808f68..e90f80f 100644 --- a/tasks/golden-gate-assembly/tests/grade.py +++ b/tasks/golden-gate-assembly/tests/grade.py @@ -59,7 +59,7 @@ def grade(protocol: Path = PROTOCOL) -> tuple[dict, dict]: deck = json.loads((TESTS / "deck.json").read_text()) checks_cfg = json.loads((TESTS / "checks.json").read_text()) free = frozenset(checks_cfg["free_wells"]) - res = check(ir, sim, free, deck, frozenset(checks_cfg.get("not_from_paper", []))) + res = check(ir, sim, free, deck, checks_cfg.get("not_from_paper", {})) record["not_applicable"] = res["not_applicable"] passed = sum(c["pass"] for c in res["checks"]) rewards["checks_frac"] = round(passed / len(res["checks"]), 4) diff --git a/tasks/golden-gate-assembly/tests/protocol_lint.py b/tasks/golden-gate-assembly/tests/protocol_lint.py index 16ff37d..acbd3f6 100644 --- a/tasks/golden-gate-assembly/tests/protocol_lint.py +++ b/tasks/golden-gate-assembly/tests/protocol_lint.py @@ -18,12 +18,20 @@ FLOW_RATE_FIELDS = {"aspirate", "dispense", "blow_out"} +# Settable properties of a pipette (InstrumentContext) in the Opentrons API docs: ordinary protocol code, not patching. +PIPETTE_SETTINGS = {"tip_racks", "starting_tip", "default_speed"} +CLEARANCE_FIELDS = {"aspirate", "dispense"} def _is_flow_rate(t: ast.Attribute) -> bool: - """pipette.flow_rate.aspirate/dispense/blow_out = ... is ordinary Opentrons API use (pipetting speed).""" - return (t.attr in FLOW_RATE_FIELDS and isinstance(t.value, ast.Attribute) and t.value.attr == "flow_rate" - and isinstance(t.value.value, ast.Name)) + """A documented pipette setting on a local variable: p.flow_rate.aspirate/dispense/blow_out, + p.well_bottom_clearance.aspirate/dispense, p.tip_racks, p.starting_tip, p.default_speed. Assigning to anything else, + or to these on a module or class (protocol_api.InstrumentContext.tip_racks = ...), is still refused.""" + if isinstance(t.value, ast.Name): + return t.attr in PIPETTE_SETTINGS + return (isinstance(t.value, ast.Attribute) and isinstance(t.value.value, ast.Name) + and ((t.value.attr == "flow_rate" and t.attr in FLOW_RATE_FIELDS) + or (t.value.attr == "well_bottom_clearance" and t.attr in CLEARANCE_FIELDS))) def violations(source: str) -> list[str]: diff --git a/tasks/golden-gate-assembly/tests/spec_check.py b/tasks/golden-gate-assembly/tests/spec_check.py index 7a1e805..4e256e3 100644 --- a/tasks/golden-gate-assembly/tests/spec_check.py +++ b/tasks/golden-gate-assembly/tests/spec_check.py @@ -88,6 +88,7 @@ class State: wells: dict = field(default_factory=dict) # (labware, well) -> uL errors: list = field(default_factory=list) # (event index, code) aspirations: int = 0 + fed: dict = field(default_factory=dict) # (labware, well) -> labware it received liquid from def wells_of(event, loadnames=None) -> list[str]: @@ -101,14 +102,15 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f """Apply atomic events in order. `initial` = {(labware, well): uL} for non-stock wells; `ample` = (labware, well) pairs the IR declares as stocks with unlimited volume (aspirating from them is never an error and is not counted).""" st = State(wells=dict(initial or {})) + drawn = set() # labware the current tip has aspirated from for i, e in enumerate(events): kind = e["kind"] if kind == "pick": if st.tip: st.errors.append((i, "already_has_tip")) - st.tip, st.held = True, 0.0 + st.tip, st.held, drawn = True, 0.0, set() elif kind == "drop": - st.tip, st.held = False, 0.0 + st.tip, st.held, drawn = False, 0.0, set() elif kind in ("aspirate", "dispense"): vol = e["volume"] if not st.tip: @@ -125,20 +127,24 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f break st.wells[(e["labware"], w)] -= vol st.held += vol + drawn.add(e["labware"]) else: if vol > st.held + 1e-9: st.errors.append((i, "overdispense")) for w in wells_of(e, loadnames): st.wells[(e["labware"], w)] = st.wells.get((e["labware"], w), 0.0) + vol + st.fed.setdefault((e["labware"], w), set()).update(drawn - {e["labware"]}) st.held = max(st.held - vol, 0.0) return st def cross_contamination(events: list[dict]) -> list: """(event index, well) where one tip carries liquid between wells it should not. A tip may go back to wells it - dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a well (drawn - from a well it dispensed into), it carries that well's contents: dispensing into any other well, or drawing from - any other well (the stock included), is contamination until a fresh tip.""" + dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a destination + (drawn from a well it dispensed into that was not one of its sources), it carries that well's contents: dispensing + into any other well, or drawing from any other well (the stock included), is contamination until a fresh tip. + Mixing in a source before drawing from it (resuspending a colony or beads) carries nothing the transfer is not + meant to move.""" bad, sources, own, carried = [], set(), set(), set() for i, e in enumerate(events): if e["kind"] in ("pick", "drop"): @@ -152,9 +158,9 @@ def cross_contamination(events: list[dict]) -> list: key = (e["labware"], e["well"]) if (sources and key not in sources and key not in own) or carried - {key}: bad.append((i, key[1])) - if key in own: + if key in own and key not in sources: # mixing in a destination carried.add(key) - else: + elif key not in own: sources.add(key) return bad @@ -216,9 +222,11 @@ def _deck_mapping(proto, run, deck, add): def check(proto: Protocol, run: dict, free_wells: frozenset = frozenset(), deck: dict | None = None, - not_from_paper: frozenset = frozenset()) -> dict: + not_from_paper: dict | frozenset = frozenset()) -> dict: """Verdict for one simulated run against an IR. `run` is simulate()'s result; `deck` pins every container to a labware.""" checks = [] + if not isinstance(not_from_paper, dict): + not_from_paper = {c: None for c in not_from_paper} def add(name, ok, detail=""): checks.append({"name": name, "pass": bool(ok), "detail": detail}) @@ -262,12 +270,15 @@ def add(name, ok, detail=""): for cname, lab in mapping.items(): if kinds[cname] in ("reservoir", "waste"): continue - if cname in not_from_paper: # paper-only task whose paper does not fix this container's volumes: rubric only - na.append(f"end_state:{cname} (the source paper does not determine these volumes; judged by the rubric)") - continue want = {(tube_well[cname] if w == "" and tube_well.get(cname) else w): v for (cn, w), v in final.items() if cn == cname and v} only = tube_well.get(cname) # tubes share a rack: look at this tube's well only got = {w: round(v, 6) for (lb, w), v in st.wells.items() if lb == lab and v > 1e-9 and (lb, w) not in ample and (only is None or w == only)} + if cname in not_from_paper: # the paper does not fix these volumes: judge what it does fix + add(f"composition:{cname}", *_composition(cname, lab, want, got, st.fed, proto, mapping, + not_from_paper[cname], + cname in free_wells)) + na.append(f"end_state:{cname} (the source paper does not determine the exact volumes; composition checked instead)") + continue if cname in free_wells: # the instruction does not name the wells: judge the volumes, not the positions ok = sorted(round(v, 6) for v in want.values()) == sorted(got.values()) add(f"end_state:{cname}", ok, f"expected volumes {sorted(want.values())}, got {sorted(got.values())} (positions free)") @@ -280,12 +291,35 @@ def add(name, ok, detail=""): "aspirations": st.aspirations} -def not_from_paper(task_dir) -> frozenset: - """Containers whose end state the task's source paper does not determine, from task.toml [checks].""" +def _composition(cname, lab, want, got, fed, proto, mapping, volume_range, free) -> tuple[bool, str]: + """For a container whose exact volumes the paper does not fix: the same wells are filled (any wells if positions + are free), each from every source container the IR sends there, the wells the IR fills equally hold equal volumes, + and each volume is inside the range the paper supports.""" + problems = [] + if free and len(got) != len(want) or not free and set(got) != set(want): + problems.append(f"filled {len(got)} wells, expected {len(want)}" + ("" if free else f" ({sorted(set(want) ^ set(got))[:4]} differ)")) + need = {mapping[s.source] for s in proto.steps if s.kind == "transfer" and s.dest == cname and s.source in mapping} + short = sorted(w for w in got if need - fed.get((lab, w), set())) + if short: + problems.append(f"{len(short)} wells lack an input, e.g. {short[0]} has none from {sorted(need - fed.get((lab, short[0]), set()))}") + if len(set(want.values())) == 1 and len(set(got.values())) > 1: + problems.append(f"unequal volumes {sorted(set(got.values()))[:4]}") + if volume_range: + lo, hi = volume_range + off = sorted(v for v in set(got.values()) if not lo - 1e-6 <= v <= hi + 1e-6) + if off: + problems.append(f"volumes {off[:3]} outside the {lo:g}-{hi:g} uL the paper supports") + return not problems, "; ".join(problems) + + +def not_from_paper(task_dir) -> dict: + """Containers whose exact end state the task's source paper does not determine, from task.toml [checks]: + {container: (min uL, max uL) the paper supports, or None}. A list of names (no range) is accepted too.""" import tomllib f = pathlib.Path(task_dir) / "task.toml" - return frozenset(tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", [])) if f.exists() else frozenset() + nfp = tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", []) if f.exists() else [] + return {c: None for c in nfp} if isinstance(nfp, list) else {c: tuple(r) if r else None for c, r in nfp.items()} def free_wells(task_dir) -> frozenset: diff --git a/tasks/split-200ul-two-wells/tests/grade.py b/tasks/split-200ul-two-wells/tests/grade.py index f808f68..e90f80f 100644 --- a/tasks/split-200ul-two-wells/tests/grade.py +++ b/tasks/split-200ul-two-wells/tests/grade.py @@ -59,7 +59,7 @@ def grade(protocol: Path = PROTOCOL) -> tuple[dict, dict]: deck = json.loads((TESTS / "deck.json").read_text()) checks_cfg = json.loads((TESTS / "checks.json").read_text()) free = frozenset(checks_cfg["free_wells"]) - res = check(ir, sim, free, deck, frozenset(checks_cfg.get("not_from_paper", []))) + res = check(ir, sim, free, deck, checks_cfg.get("not_from_paper", {})) record["not_applicable"] = res["not_applicable"] passed = sum(c["pass"] for c in res["checks"]) rewards["checks_frac"] = round(passed / len(res["checks"]), 4) diff --git a/tasks/split-200ul-two-wells/tests/protocol_lint.py b/tasks/split-200ul-two-wells/tests/protocol_lint.py index 16ff37d..acbd3f6 100644 --- a/tasks/split-200ul-two-wells/tests/protocol_lint.py +++ b/tasks/split-200ul-two-wells/tests/protocol_lint.py @@ -18,12 +18,20 @@ FLOW_RATE_FIELDS = {"aspirate", "dispense", "blow_out"} +# Settable properties of a pipette (InstrumentContext) in the Opentrons API docs: ordinary protocol code, not patching. +PIPETTE_SETTINGS = {"tip_racks", "starting_tip", "default_speed"} +CLEARANCE_FIELDS = {"aspirate", "dispense"} def _is_flow_rate(t: ast.Attribute) -> bool: - """pipette.flow_rate.aspirate/dispense/blow_out = ... is ordinary Opentrons API use (pipetting speed).""" - return (t.attr in FLOW_RATE_FIELDS and isinstance(t.value, ast.Attribute) and t.value.attr == "flow_rate" - and isinstance(t.value.value, ast.Name)) + """A documented pipette setting on a local variable: p.flow_rate.aspirate/dispense/blow_out, + p.well_bottom_clearance.aspirate/dispense, p.tip_racks, p.starting_tip, p.default_speed. Assigning to anything else, + or to these on a module or class (protocol_api.InstrumentContext.tip_racks = ...), is still refused.""" + if isinstance(t.value, ast.Name): + return t.attr in PIPETTE_SETTINGS + return (isinstance(t.value, ast.Attribute) and isinstance(t.value.value, ast.Name) + and ((t.value.attr == "flow_rate" and t.attr in FLOW_RATE_FIELDS) + or (t.value.attr == "well_bottom_clearance" and t.attr in CLEARANCE_FIELDS))) def violations(source: str) -> list[str]: diff --git a/tasks/split-200ul-two-wells/tests/spec_check.py b/tasks/split-200ul-two-wells/tests/spec_check.py index 7a1e805..4e256e3 100644 --- a/tasks/split-200ul-two-wells/tests/spec_check.py +++ b/tasks/split-200ul-two-wells/tests/spec_check.py @@ -88,6 +88,7 @@ class State: wells: dict = field(default_factory=dict) # (labware, well) -> uL errors: list = field(default_factory=list) # (event index, code) aspirations: int = 0 + fed: dict = field(default_factory=dict) # (labware, well) -> labware it received liquid from def wells_of(event, loadnames=None) -> list[str]: @@ -101,14 +102,15 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f """Apply atomic events in order. `initial` = {(labware, well): uL} for non-stock wells; `ample` = (labware, well) pairs the IR declares as stocks with unlimited volume (aspirating from them is never an error and is not counted).""" st = State(wells=dict(initial or {})) + drawn = set() # labware the current tip has aspirated from for i, e in enumerate(events): kind = e["kind"] if kind == "pick": if st.tip: st.errors.append((i, "already_has_tip")) - st.tip, st.held = True, 0.0 + st.tip, st.held, drawn = True, 0.0, set() elif kind == "drop": - st.tip, st.held = False, 0.0 + st.tip, st.held, drawn = False, 0.0, set() elif kind in ("aspirate", "dispense"): vol = e["volume"] if not st.tip: @@ -125,20 +127,24 @@ def replay(events: list[dict], initial: dict | None = None, ample: frozenset = f break st.wells[(e["labware"], w)] -= vol st.held += vol + drawn.add(e["labware"]) else: if vol > st.held + 1e-9: st.errors.append((i, "overdispense")) for w in wells_of(e, loadnames): st.wells[(e["labware"], w)] = st.wells.get((e["labware"], w), 0.0) + vol + st.fed.setdefault((e["labware"], w), set()).update(drawn - {e["labware"]}) st.held = max(st.held - vol, 0.0) return st def cross_contamination(events: list[dict]) -> list: """(event index, well) where one tip carries liquid between wells it should not. A tip may go back to wells it - dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a well (drawn - from a well it dispensed into), it carries that well's contents: dispensing into any other well, or drawing from - any other well (the stock included), is contamination until a fresh tip.""" + dispensed into (mixing) and to the one well it started from (multi-dispense). Once it has mixed in a destination + (drawn from a well it dispensed into that was not one of its sources), it carries that well's contents: dispensing + into any other well, or drawing from any other well (the stock included), is contamination until a fresh tip. + Mixing in a source before drawing from it (resuspending a colony or beads) carries nothing the transfer is not + meant to move.""" bad, sources, own, carried = [], set(), set(), set() for i, e in enumerate(events): if e["kind"] in ("pick", "drop"): @@ -152,9 +158,9 @@ def cross_contamination(events: list[dict]) -> list: key = (e["labware"], e["well"]) if (sources and key not in sources and key not in own) or carried - {key}: bad.append((i, key[1])) - if key in own: + if key in own and key not in sources: # mixing in a destination carried.add(key) - else: + elif key not in own: sources.add(key) return bad @@ -216,9 +222,11 @@ def _deck_mapping(proto, run, deck, add): def check(proto: Protocol, run: dict, free_wells: frozenset = frozenset(), deck: dict | None = None, - not_from_paper: frozenset = frozenset()) -> dict: + not_from_paper: dict | frozenset = frozenset()) -> dict: """Verdict for one simulated run against an IR. `run` is simulate()'s result; `deck` pins every container to a labware.""" checks = [] + if not isinstance(not_from_paper, dict): + not_from_paper = {c: None for c in not_from_paper} def add(name, ok, detail=""): checks.append({"name": name, "pass": bool(ok), "detail": detail}) @@ -262,12 +270,15 @@ def add(name, ok, detail=""): for cname, lab in mapping.items(): if kinds[cname] in ("reservoir", "waste"): continue - if cname in not_from_paper: # paper-only task whose paper does not fix this container's volumes: rubric only - na.append(f"end_state:{cname} (the source paper does not determine these volumes; judged by the rubric)") - continue want = {(tube_well[cname] if w == "" and tube_well.get(cname) else w): v for (cn, w), v in final.items() if cn == cname and v} only = tube_well.get(cname) # tubes share a rack: look at this tube's well only got = {w: round(v, 6) for (lb, w), v in st.wells.items() if lb == lab and v > 1e-9 and (lb, w) not in ample and (only is None or w == only)} + if cname in not_from_paper: # the paper does not fix these volumes: judge what it does fix + add(f"composition:{cname}", *_composition(cname, lab, want, got, st.fed, proto, mapping, + not_from_paper[cname], + cname in free_wells)) + na.append(f"end_state:{cname} (the source paper does not determine the exact volumes; composition checked instead)") + continue if cname in free_wells: # the instruction does not name the wells: judge the volumes, not the positions ok = sorted(round(v, 6) for v in want.values()) == sorted(got.values()) add(f"end_state:{cname}", ok, f"expected volumes {sorted(want.values())}, got {sorted(got.values())} (positions free)") @@ -280,12 +291,35 @@ def add(name, ok, detail=""): "aspirations": st.aspirations} -def not_from_paper(task_dir) -> frozenset: - """Containers whose end state the task's source paper does not determine, from task.toml [checks].""" +def _composition(cname, lab, want, got, fed, proto, mapping, volume_range, free) -> tuple[bool, str]: + """For a container whose exact volumes the paper does not fix: the same wells are filled (any wells if positions + are free), each from every source container the IR sends there, the wells the IR fills equally hold equal volumes, + and each volume is inside the range the paper supports.""" + problems = [] + if free and len(got) != len(want) or not free and set(got) != set(want): + problems.append(f"filled {len(got)} wells, expected {len(want)}" + ("" if free else f" ({sorted(set(want) ^ set(got))[:4]} differ)")) + need = {mapping[s.source] for s in proto.steps if s.kind == "transfer" and s.dest == cname and s.source in mapping} + short = sorted(w for w in got if need - fed.get((lab, w), set())) + if short: + problems.append(f"{len(short)} wells lack an input, e.g. {short[0]} has none from {sorted(need - fed.get((lab, short[0]), set()))}") + if len(set(want.values())) == 1 and len(set(got.values())) > 1: + problems.append(f"unequal volumes {sorted(set(got.values()))[:4]}") + if volume_range: + lo, hi = volume_range + off = sorted(v for v in set(got.values()) if not lo - 1e-6 <= v <= hi + 1e-6) + if off: + problems.append(f"volumes {off[:3]} outside the {lo:g}-{hi:g} uL the paper supports") + return not problems, "; ".join(problems) + + +def not_from_paper(task_dir) -> dict: + """Containers whose exact end state the task's source paper does not determine, from task.toml [checks]: + {container: (min uL, max uL) the paper supports, or None}. A list of names (no range) is accepted too.""" import tomllib f = pathlib.Path(task_dir) / "task.toml" - return frozenset(tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", [])) if f.exists() else frozenset() + nfp = tomllib.loads(f.read_text()).get("checks", {}).get("not_from_paper", []) if f.exists() else [] + return {c: None for c in nfp} if isinstance(nfp, list) else {c: tuple(r) if r else None for c, r in nfp.items()} def free_wells(task_dir) -> frozenset: diff --git a/tests/test_benchmark_regressions.py b/tests/test_benchmark_regressions.py index b0b0ac1..f6f4e9b 100644 --- a/tests/test_benchmark_regressions.py +++ b/tests/test_benchmark_regressions.py @@ -132,3 +132,32 @@ def test_easy_rna_rubric_holds_the_80ul_the_brief_states(): rubric = json.loads((ROOT / "tasks/opentrons-rna-extraction/tests/rubric.json").read_text()) text = next(i["text"] for i in rubric["task"] if i["id"] == "elution_recovery") assert "Recovering the whole 100 uL fails this item" in text and "Transfer 80 uL of eluate" in text + + +def lint(): + spec = importlib.util.spec_from_file_location("protocol_lint", ROOT / "eval/protocol_lint.py") + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + return mod.violations + + +def test_documented_pipette_settings_pass_the_lint_gate(): + # DeepSeek V4 Pro's a1-a12-100ul protocol set p20.tip_racks = [...] and scored 0 for it (documented Opentrons API) + ok = """metadata = {'apiLevel': '2.15'} +def run(protocol): + p300 = protocol.load_instrument('p300_single_gen2', 'right', tip_racks=[]) + p300.tip_racks = [protocol.load_labware('opentrons_96_tiprack_300ul', 11)] + p300.starting_tip = p300.tip_racks[0]['A1'] + p300.default_speed = 300 + p300.flow_rate.aspirate = 50 + p300.well_bottom_clearance.dispense = 2 +""" + assert lint()(ok) == [] + + +def test_patching_the_api_is_still_refused(): + for bad in ["from opentrons import protocol_api\nprotocol_api.InstrumentContext.tip_racks = None\n", + "from opentrons import protocol_api\nprotocol_api.ProtocolContext.comment = None\n", + "def run(protocol):\n protocol.comment = print\n", + "def run(protocol):\n p = protocol.load_instrument('p300_single_gen2', 'right')\n p.aspirate = None\n"]: + assert any("assignment to an attribute" in v for v in lint()(bad)), bad diff --git a/tests/test_hard_tasks.py b/tests/test_hard_tasks.py index 4ec6623..3aea0d5 100644 --- a/tests/test_hard_tasks.py +++ b/tests/test_hard_tasks.py @@ -73,7 +73,9 @@ def test_every_graded_volume_is_in_the_paper_or_brief_or_derived_from_them(task) def test_colony_hard_does_not_grade_the_reaction_volume_the_paper_does_not_fix(): # ground truth 18 uL master mix + 1 + 1 = 20 uL; the paper's OT-2 reaction is 9 uL mix + 1 uL colony - assert "pcr_plate" in json.loads((ROOT / "tasks/colony-pcr-screening-hard/tests/checks.json").read_text())["not_from_paper"] + nfp = json.loads((ROOT / "tasks/colony-pcr-screening-hard/tests/checks.json").read_text())["not_from_paper"] + quoted("colony-pcr-screening-hard", "9 μL of this master mix") + assert nfp["pcr_plate"] == [9 + 1, 25] # from the paper's OT-2 reaction up to a standard 25 uL Q5 reaction assert "not_from_paper" not in json.loads((ROOT / "tasks/colony-pcr-screening/tests/checks.json").read_text()) diff --git a/tests/test_spec_check.py b/tests/test_spec_check.py index 40fe5b3..ca1aaf8 100644 --- a/tests/test_spec_check.py +++ b/tests/test_spec_check.py @@ -106,3 +106,43 @@ def test_a_tip_that_mixed_in_one_sample_cannot_go_on_to_the_next(): mix_then_next = [pick, asp("A1", "res"), disp("A1"), asp("A1"), disp("A1"), asp("A1", "res"), disp("A2"), drop] assert cross_contamination(multi_dispense) == [] assert cross_contamination(mix_then_next) != [] + + +def test_mixing_a_source_before_drawing_from_it_is_not_contamination(): + """DeepSeek V4 Pro on colony-PCR-hard: fresh tip per colony, mix the colony well, take 1 uL, dispense into its PCR + well. The mix-tracking rule had flagged every colony; only mixing in a destination carries anything.""" + from spec_check import cross_contamination + pick, drop = {"kind": "pick"}, {"kind": "drop"} + asp = lambda w, lw: {"kind": "aspirate", "labware": lw, "well": w} + disp = lambda w, lw: {"kind": "dispense", "labware": lw, "well": w} + colony = [pick, asp("A1", "colonies"), disp("A1", "colonies"), asp("A1", "colonies"), disp("A1", "colonies"), + asp("A1", "colonies"), disp("A1", "pcr"), drop] + assert cross_contamination(colony) == [] + # still caught: mixing in the destination, then back to the stock and on to the next sample + dest_mix_then_stock = [pick, asp("A1", "beads"), disp("A1", "samples"), asp("A1", "samples"), disp("A1", "samples"), + asp("A1", "beads"), disp("B1", "samples"), drop] + assert cross_contamination(dest_mix_then_stock) != [] + + +def test_a_container_the_paper_does_not_fix_is_still_checked_for_what_it_does_fix(): + # colony-PCR-hard: any equal reaction of 10-25 uL passes; a missing input, unequal wells or 40 uL do not + from spec_check import _composition + proto = Protocol.model_validate_json((ROOT / "tasks/colony-pcr-screening-hard/tests/ir.json").read_text()) + mapping = {"master_mix_reservoir": "mm", "colony_plate": "col", "primer_plate": "pri", "pcr_plate": "pcr"} + wells = [r + str(c) for r in "ABCDEFGH" for c in range(1, 13)] + want = {w: 20.0 for w in wells} + fed_all = {("pcr", w): {"mm", "col", "pri"} for w in wells} + ok = lambda got, fed=fed_all: _composition("pcr_plate", "pcr", want, got, fed, proto, mapping, (10, 25), False) + assert ok({w: 11.0 for w in wells})[0] # 9 mix + 1 primer + 1 colony + assert not ok({w: 40.0 for w in wells})[0] + assert not ok({**{w: 11.0 for w in wells}, "H12": 41.0})[0] + assert not ok({w: 11.0 for w in wells[:-1]})[0] + assert not ok({w: 10.0 for w in wells}, {**fed_all, ("pcr", "A1"): {"mm", "col"}})[0] + + +def test_non_claude_cost_comes_from_tokens_at_openrouter_prices(): + sys.path.insert(0, str(ROOT / "scripts")) + from export_run import openrouter_cost + agent = {"n_input_tokens": 1_000_000, "n_cache_tokens": 800_000, "n_output_tokens": 10_000} + pricing = {"prompt": "0.000002", "completion": "0.000006", "input_cache_read": "0.00000025"} + assert openrouter_cost(agent, pricing) == pytest.approx(0.4 + 0.2 + 0.06)