Tom Boucher
1b6bd66f2c
feat( #770 ): register Claude Code lifecycle hooks (SubagentStop/Stop/PreCompact/FileChanged) ( #821 )
...
* feat(#770 ): register Claude Code lifecycle hooks (SubagentStop/Stop/PreCompact/FileChanged)
Wire three new context-tracking events (SubagentStop, Stop, PreCompact) to
gsd-context-monitor so context-headroom warnings surface at model-stop and
subagent-finalisation moments — not just on PostToolUse. Add a new
FileChanged hook (gsd-config-reload.js) that hot-reloads .planning/config.json
context mid-session when the user edits it, injecting a config summary as
hookSpecificOutput.additionalContext. Updates plugin manifest hooks.json,
managed-hooks-registry, installer-migration-report allowlist, and
shell-command-projection cleanup tables. Tests: 21 new assertions in
enh-770-claude-hook-events.test.cjs; enh-788 and issue-766 test suites updated.
Closes #770
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* docs(#770 ): document newly-registered Claude Code lifecycle hooks
Add a Hook coverage table to the Claude Code npm installer section of
docs/how-to/install-on-your-runtime.md describing SubagentStop, Stop,
PreCompact, and the new FileChanged (gsd-config-reload.js) hook that
hot-reloads .planning/config.json mid-session. Also fixes the changeset
frontmatter (adds type: Added + pr: 821) so docs-lint can consume the
fragment.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(#770 ): add gsd-config-reload.js to INVENTORY.md and regenerate manifest
The feat commit added hooks/gsd-config-reload.js but did not bump the
Hooks count in docs/INVENTORY.md (14→15) or add the new row, and did not
regenerate docs/INVENTORY-MANIFEST.json. Both inventory-counts and
inventory-manifest-sync tests failed across the full CI matrix.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(#770 ): make lifecycle-hook tests deterministic on scoped runner
Replace the shared hooks/dist/ ensemble setup (ensureHooksDist /
teardownHooksDist) in the Claude hook tests with per-test isolation:
pre-populate each test's own tmpDir/.claude/hooks/ with stub files and
pass installerMigrations:[] to install() so the first-time-baseline
migration does not remove the stubs before the copy step can run.
Root cause: hooks/dist/ is gitignored and absent on a fresh npm ci.
ensureHooksDist() created it and teardownHooksDist() deleted it, but
with --test-concurrency=4 both test files ran concurrently as separate
Node.js worker processes sharing the same filesystem. One file's
afterEach teardown deleted hooks/dist/ while the other file's install()
was copying from it, producing an ENOENT (reproduced 2/10 runs locally).
The additional issue: even with pre-placed stubs surviving the copy race,
the 000-first-time-baseline migration classified hooks/gsd-*.js as
bundled-gsd-hook artifacts, auto-removed them, and the copy step never
re-ran (hooks/dist/ absent) — leaving contextMonitorFile missing and all
hook registrations silently skipped (the 'got: []' symptom).
Fix: pre-populate targetDir/hooks/ per-test (isolated temp dir) AND pass
installerMigrations:[] so the baseline scan is skipped. The Qwen suites
already used this pattern correctly; the Claude suites are aligned to it.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(#770 ): ship gsd-config-reload.js by adding it to build-hooks HOOKS_TO_COPY
The #770 feature added hooks/gsd-config-reload.js and registered it in
MANAGED_HOOKS, the installer, INVENTORY, and the test EXPECTED_ALL_HOOKS
list — but never added it to scripts/build-hooks.js HOOKS_TO_COPY. As a
result the hook was never copied into hooks/dist/ during the build, so:
- the hook would never ship to users (real production bug — the
FileChanged config-reload feature was dead-on-arrival), and
- install-minimal-hooks.test.cjs #1755 ("all expected hooks are copied
from hooks/dist/ to target", ".js hooks are executable after copy",
"manifest contains .js hook entries") failed on any environment with
a clean checkout (no pre-existing hooks/dist/): coverage, full test
macos-22/macos-24, test ubuntu-24.
The failures were masked locally only by a stale hooks/dist/ left from a
prior build (build-hooks copies into dist without clearing it). On CI's
fresh `npm ci` there is no dist, so the omission surfaced.
Fix: add 'gsd-config-reload.js' to HOOKS_TO_COPY so build-hooks stages it
into hooks/dist/ alongside the other JS hooks. Verified by removing
hooks/dist/ and rerunning the full suite green (0 fail).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(#770 ): make config prototype-pollution beforeEach deterministic on scoped runner
Root cause: the #663 and alert-#26 prototype-pollution describe blocks
seeded .planning/config.json in beforeEach via a bare
runGsdTools('config-ensure-section') whose result was discarded. That
command runs in a spawned gsd-tools child; on the scoped CI lane
(--test-concurrency=4, config.test.cjs scheduled alongside the heavy
install/tarball suites that #770 pulled into the targeted set) the child
can be transiently killed under resource pressure (non-zero exit, empty
stderr — an OS-level kill, not an app error). The swallowed failure left
config.json absent, so the first subtest's readConfig() threw ENOENT
opening <tmp>/.planning/config.json. Only 1 of 4 subtests failed,
confirming a per-invocation transient, not a deterministic miss; the full
suite schedules files differently so config.test.cjs did not collide with
those heavy neighbors → passed there.
Fix: add ensureConfigReady(tmpDir) which retries config-ensure-section on
ANY failure or missing file and throws a clear diagnostic if it still
cannot create config.json, then use it in both prototype-pollution
beforeEach blocks. Setup is now deterministic under load; the #663/alert-#26
security assertions are unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-07 20:36:11 -04:00
..
2026-06-06 11:24:48 -04:00
2026-06-04 13:44:05 -04:00
2026-06-07 20:36:11 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 18:50:50 -04:00
2026-06-06 11:24:48 -04:00
2026-05-30 17:25:02 -04:00
2026-06-02 18:35:29 -04:00
2026-04-25 10:50:54 -04:00
2026-06-07 01:06:41 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-04 14:29:03 -04:00
2026-04-25 10:50:54 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-27 20:22:09 -04:00
2026-06-06 11:24:48 -04:00
2026-05-24 14:37:10 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-01 21:42:08 -04:00
2026-06-01 22:31:37 -04:00
2026-05-24 19:19:50 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-01 22:43:49 -04:00
2026-05-26 12:08:53 -04:00
2026-06-02 18:35:29 -04:00
2026-05-27 23:14:43 -04:00
2026-06-07 19:22:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-01 22:43:49 -04:00
2026-05-29 17:12:50 -04:00
2026-06-02 18:35:29 -04:00
2026-05-31 14:42:18 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-05-30 12:00:58 -04:00
2026-06-02 18:35:29 -04:00
2026-05-30 19:19:14 -04:00
2026-05-31 22:05:59 -04:00
2026-05-31 22:05:45 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-03 08:08:34 -04:00
2026-06-02 23:02:25 -04:00
2026-06-05 09:26:29 -04:00
2026-06-03 08:07:16 -04:00
2026-06-05 08:57:20 -04:00
2026-06-03 10:11:52 -04:00
2026-06-04 08:54:15 -04:00
2026-06-05 10:35:22 -04:00
2026-06-05 10:35:27 -04:00
2026-06-06 19:40:52 -04:00
2026-06-06 22:13:20 -04:00
2026-06-07 15:48:40 -04:00
2026-06-07 14:59:33 -04:00
2026-05-17 12:00:59 -04:00
2026-06-01 10:56:06 -04:00
2026-04-05 17:49:20 -04:00
2026-05-02 11:45:33 -04:00
2026-04-05 18:05:32 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 12:04:38 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-05-27 23:14:43 -04:00
2026-06-06 11:24:48 -04:00
2026-04-17 09:20:26 -04:00
2026-04-22 10:41:58 -04:00
2026-04-25 12:02:58 -04:00
2026-04-17 09:20:42 -04:00
2026-04-29 07:56:51 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-29 11:39:52 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-20 10:08:46 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-22 10:41:58 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-29 11:39:52 -04:00
2026-04-25 12:09:27 -04:00
2026-04-24 18:05:10 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-24 20:22:17 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-25 12:15:39 -04:00
2026-05-29 11:39:52 -04:00
2026-06-06 11:24:48 -04:00
2026-04-27 12:31:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-05 08:57:20 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-04 08:54:15 -04:00
2026-06-02 23:02:25 -04:00
2026-05-30 17:25:02 -04:00
2026-05-30 17:25:02 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 12:04:18 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-24 14:16:16 -04:00
2026-06-02 18:35:29 -04:00
2026-05-02 00:29:43 -04:00
2026-06-07 20:22:07 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-02 11:45:36 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-05 15:02:03 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 15:48:40 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-05-05 15:02:15 -04:00
2026-06-07 20:22:07 -04:00
2026-06-06 11:24:48 -04:00
2026-05-05 18:53:35 -04:00
2026-05-06 21:51:38 -04:00
2026-05-06 21:51:38 -04:00
2026-06-02 18:35:29 -04:00
2026-05-06 22:06:56 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-05-08 08:40:36 -04:00
2026-06-02 18:35:29 -04:00
2026-05-08 09:26:35 -04:00
2026-06-02 18:35:29 -04:00
2026-05-08 23:53:21 -04:00
2026-06-06 11:24:48 -04:00
2026-05-09 07:40:56 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-16 11:55:55 -04:00
2026-05-14 12:59:38 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-05-11 22:09:59 -04:00
2026-06-02 18:35:29 -04:00
2026-05-20 23:13:50 -04:00
2026-05-12 18:50:35 -04:00
2026-05-12 18:50:19 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-05-13 13:54:30 -04:00
2026-05-14 07:47:18 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-05-15 14:54:58 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 12:04:18 -04:00
2026-05-23 18:39:02 -04:00
2026-06-02 18:35:29 -04:00
2026-05-16 14:00:34 -04:00
2026-06-02 18:35:29 -04:00
2026-05-15 21:54:03 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-17 19:31:31 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-05-22 11:23:58 -04:00
2026-06-07 10:53:00 -04:00
2026-06-02 18:35:29 -04:00
2026-05-30 17:44:36 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 10:05:21 -04:00
2026-06-02 12:19:57 -04:00
2026-05-01 18:12:20 -04:00
2026-06-01 22:43:49 -04:00
2026-05-16 13:09:54 -04:00
2026-05-01 18:12:20 -04:00
2026-05-30 17:25:02 -04:00
2026-05-28 09:23:59 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-07 20:28:45 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 16:13:13 -04:00
2026-06-07 15:20:55 -04:00
2026-05-29 11:39:52 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 12:24:04 -04:00
2026-06-07 18:56:25 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-03 08:06:31 -04:00
2026-06-02 18:35:29 -04:00
2026-04-10 10:56:09 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 20:36:11 -04:00
2026-05-15 00:02:56 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-09 11:39:24 -04:00
2026-06-07 15:27:46 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 15:07:14 -04:00
2026-06-07 19:22:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 10:27:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-14 12:43:48 -04:00
2026-06-06 11:24:48 -04:00
2026-04-01 08:47:31 -06:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 18:56:30 -04:00
2026-06-07 20:36:11 -04:00
2026-06-07 18:56:36 -04:00
2026-06-07 18:54:05 -04:00
2026-06-07 19:16:32 -04:00
2026-06-07 18:56:42 -04:00
2026-06-07 20:36:11 -04:00
2026-06-07 18:56:47 -04:00
2026-06-07 15:52:22 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-25 16:26:15 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-05-16 12:39:02 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-04-30 00:48:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-29 11:39:52 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 23:56:53 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 12:04:18 -04:00
2026-05-02 23:12:50 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-05 20:19:08 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-13 21:19:47 -04:00
2026-06-02 18:35:29 -04:00
2026-05-09 11:46:34 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-09 13:54:06 -04:00
2026-06-06 11:24:48 -04:00
2026-05-15 23:57:38 -04:00
2026-05-15 23:57:38 -04:00
2026-06-02 18:35:29 -04:00
2026-05-16 00:23:27 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-26 11:23:42 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 19:42:05 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-29 10:54:49 -04:00
2026-06-06 12:04:38 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 12:04:18 -04:00
2026-05-26 18:55:40 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-05-26 11:23:35 -04:00
2026-06-06 12:04:38 -04:00
2026-06-02 18:35:29 -04:00
2026-04-04 14:29:03 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-20 20:39:01 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-07 18:56:20 -04:00
2026-06-07 16:13:06 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 15:27:46 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 15:20:55 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-04 13:44:05 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 20:36:11 -04:00
2026-06-07 18:54:08 -04:00
2026-06-07 15:20:55 -04:00
2026-06-07 20:22:07 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-07 20:35:43 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-01 22:43:49 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 12:04:38 -04:00
2026-05-29 11:39:52 -04:00
2026-06-05 17:58:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-05-31 23:15:55 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-30 22:48:08 -04:00
2026-05-06 21:51:38 -04:00
2026-05-06 21:51:38 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-05-31 20:28:57 -04:00
2026-06-05 09:26:29 -04:00
2026-05-28 09:23:59 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-05 17:58:48 -04:00
2026-06-05 17:58:48 -04:00
2026-04-06 15:13:23 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-16 17:15:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-04-04 14:29:03 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-27 20:22:03 -04:00
2026-06-04 14:57:18 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-05-18 12:06:46 -04:00
2026-05-28 18:06:19 -04:00
2026-05-28 18:06:19 -04:00
2026-05-29 11:39:52 -04:00
2026-06-07 15:48:40 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-18 23:13:09 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-01 19:50:10 -04:00
2026-06-02 18:35:29 -04:00
2026-04-04 14:29:03 -04:00
2026-05-29 11:39:52 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-04 14:57:18 -04:00
2026-05-26 22:46:09 -04:00
2026-05-29 10:54:49 -04:00
2026-05-30 17:25:02 -04:00
2026-06-05 17:58:48 -04:00
2026-06-05 17:58:48 -04:00
2026-06-05 17:58:48 -04:00
2026-06-05 17:58:48 -04:00
2026-06-05 17:58:48 -04:00
2026-06-05 17:58:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-26 13:33:45 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-06 21:51:38 -04:00
2026-06-02 18:35:29 -04:00
2026-05-10 14:43:53 -05:00
2026-06-01 20:37:49 -04:00
2026-05-26 11:23:23 -04:00
2026-05-26 19:11:58 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 17:16:26 -04:00
2026-06-07 18:56:47 -04:00
2026-06-07 19:22:48 -04:00
2026-06-07 16:13:06 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-05-26 18:56:00 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-04-10 13:55:27 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:09:54 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-11 15:02:55 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-05-29 11:39:52 -04:00
2026-05-26 11:23:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-20 10:08:18 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-15 19:32:02 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 01:26:56 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 00:46:27 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 19:25:25 -04:00
2026-05-29 11:39:52 -04:00
2026-06-02 18:35:29 -04:00
2026-04-04 14:29:03 -04:00
2026-06-06 11:24:48 -04:00
2026-06-01 22:43:49 -04:00
2026-04-04 14:29:03 -04:00
2026-06-07 12:24:04 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-07 10:11:54 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 23:40:24 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 23:40:24 -04:00
2026-06-06 23:40:24 -04:00
2026-06-03 08:07:16 -04:00
2026-06-06 12:40:28 -04:00
2026-06-06 11:24:48 -04:00