Tom Boucher
4b69dc346b
fix( #2725 ): repoint the pre-commit alias guard at sources git can actually stage, drop nine dead ones ( #3273 )
...
* test(#2725 ): failing-first coverage for the inert pre-commit alias guard
Replaces two stale tests that asserted on `sdk/src/query/command-manifest.phase.ts`
— a path retired with the SDK boundary (ADR-0174), so both passed forever while
guarding nothing.
The new matrix drives .githooks/pre-commit through its GIT_OVERRIDE/NPM_OVERRIDE
seams and asserts on the real tracked sources the drift checker reads. Red until
the guard is repointed off the gitignored build outputs it currently watches.
* fix(#2725 ): repoint the pre-commit alias guard at sources git can actually stage
`.githooks/pre-commit` carried ten staged-path guards and not one of them could
do its job.
Nine anchored on `^sdk/…`, a tree retired by ADR-0174, and invoked npm scripts
that no longer exist (`check:state-document-fresh` and eight siblings). Their
only reachable behavior was to abort the commit with `Missing script` — which
required matching a path that cannot exist, so they were dead twice over.
The tenth was the real defect. Its npm target does exist, but it matched
`^gsd-core/bin/lib/command-aliases\.cjs$` — a gitignored build output
(.gitignore:172). An ignored path never appears in `git diff --cached
--name-only`, so the guard was not stale, it was structurally unmatchable: it
watched the derived layer instead of the source layer, from the day it was
written.
Repointed at the nine tracked `src/*.cts` sources `scripts/check-alias-drift.cjs`
actually reads. The family table moves to `scripts/lib/alias-drift-families.cjs`
so the checker and the hook derive their surface from one list, and a new parity
test fails if a family is added to the checker without the hook learning to watch
its source — the rot mechanism, not just this instance of it.
Matching is now `grep -Fxqf` (fixed strings, whole line): exact path equality,
no regex anchors to get wrong as the list grows. Staged paths are collected into
a variable before matching, because `grep -q` exits on first match and would
SIGPIPE its upstream, which under `set -o pipefail` turns a successful match into
a non-zero pipeline status.
The two CONTRIBUTING.md recipes pasted copies of the hook bodies inline — a third
parallel surface, and one that had already drifted: the pre-commit copy carried
the same dead `sdk/` patterns, and the pre-push copy would have overwritten the
committed hook with a paraphrase that drops the GIT_OVERRIDE seam its test drives.
Both now just point git at the committed files. The pre-push recipe's
`'@example-corp\\.com$'` also never matched anything — inside single quotes bash
keeps both backslashes.
`.githooks/pre-push` was audited for the same rot and has none: it keys on no
paths, no-ops unless GSD_BLOCKED_AUTHOR_REGEX is set, and is covered. Unchanged.
Hooks stay opt-in. Nothing registers `core.hooksPath` for you, per
CONTRIBUTING.md's documented one-time setup.
* test(#2725 ): make the hook/checker parity assertion bidirectional
Review finding from the isolated adversarial pass: the parity row only caught
the hook UNDER-watching relative to scripts/lib/alias-drift-families.cjs. Drop a
family from the module and the hook would keep watching its source with nothing
to notice — the same divergence class this change exists to close, just pointed
the other way.
The new row takes every `src/*-command-router.cts` on disk as the universe and
asserts the hook stays silent for the eight routers the drift check does not
read. Both directions are now covered by running the real hook, not by comparing
two lists in the test.
Also corrects a CONTRIBUTING.md overclaim caught by the standards pass: 9 of the
11 watched paths derive from the module, not all 11 — bash cannot require a CJS
module, so the hook carries literals and the test is what binds them.
* fix(#2725 ): ship the shared family table and fix the mock that hid its own rows
Three defects the remote runner caught that local probing did not.
The mock `git` in the regression test emitted its staged-path payload as
`printf '%s' "src/command-aliases.cts\n"`. Bash does not expand `\n` inside a
double-quoted string and printf does not expand escapes in a `%s` argument, so
the mock produced one unterminated line containing a literal backslash-n. No
whole-line match could ever succeed, and every row that expects the hook to FIRE
failed while every row that expects silence passed — which is exactly the
signature the run reported: 9 failures, all of them fire-expecting rows. The
payload now goes through a file the mock `cat`s, which is byte-exact and is what
makes the CR-terminated and empty-staged-list rows mean what they say.
`scripts/lib/alias-drift-families.cjs` was not enumerated in
`GSD_SCRIPTS_LIB_FILES` (bin/install.js:377), so the installer never copied it.
That is not cosmetic: `scripts/check-alias-drift.cjs` ships, and it now requires
this module — an installed tree would have failed with MODULE_NOT_FOUND the
first time a consumer ran `check:alias-drift`. Added to the manifest, which is
what the #3184 install/uninstall parity tests assert against `readdirSync`.
Regenerated the 19 committed install-tree fixtures via `npm run gen:install-tree`
to record the new emitted path. The diff is +1 line per fixture and nothing else.
`npm run lint:ci` exits 0. The earlier claim that `scripts/` is outside the
emitted surface was wrong: `scripts/lib/` is copied into every runtime's install
tree, which is why 19 golden-install-tree cases moved.
* chore(#2725 ): backfill changeset pr: 3273
---------
Co-authored-by: sim <sim@local>
2026-08-09 18:29:16 -04:00
..
2026-06-25 18:24:39 -04:00
2026-08-09 14:23:35 -04:00
2026-08-09 18:29:16 -04:00
2026-08-09 17:08:46 -04:00
2026-06-25 18:24:39 -04:00
2026-08-05 01:06:39 -04:00
2026-07-09 23:43:18 -04:00
2026-06-15 23:21:20 -04:00
2026-06-02 18:35:29 -04:00
2026-08-02 21:44:04 -04:00
2026-07-06 08:31:51 -04:00
2026-07-17 06:50:06 -04:00
2026-06-13 21:07:55 -04:00
2026-06-13 21:07:55 -04:00
2026-06-13 21:07:55 -04:00
2026-08-07 21:03:50 -04:00
2026-08-09 14:23:35 -04:00
2026-06-14 10:45:42 -04:00
2026-08-05 17:20:56 -04:00
2026-07-24 12:49:53 -04:00
2026-07-13 09:02:44 -06:00
2026-08-09 17:08:46 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-21 22:55:22 -04:00
2026-06-13 23:35:08 -04:00
2026-08-05 18:28:04 -04:00
2026-08-07 15:18:18 -04:00
2026-07-31 14:45:51 -04:00
2026-07-31 21:20:46 -04:00
2026-08-07 15:18:18 -04:00
2026-08-04 18:10:31 -04:00
2026-07-03 10:06:11 -04:00
2026-07-28 15:41:43 -04:00
2026-04-25 10:50:54 -04:00
2026-07-01 20:09:01 -04:00
2026-08-08 05:50:49 -05:00
2026-06-12 19:51:54 -04:00
2026-06-11 23:59:56 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-07-30 12:48:06 -04:00
2026-07-30 12:48:06 -04:00
2026-08-07 15:18:18 -04:00
2026-08-08 05:50:17 -05:00
2026-08-06 23:57:05 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 09:17:32 -04:00
2026-08-08 05:50:17 -05:00
2026-06-27 08:43:47 -04:00
2026-08-05 17:20:56 -04:00
2026-08-01 21:27:33 -04:00
2026-06-02 18:35:29 -04:00
2026-04-04 14:29:03 -04:00
2026-08-07 15:18:18 -04:00
2026-06-25 18:24:39 -04:00
2026-08-07 21:03:50 -04:00
2026-06-10 16:10:07 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-08-03 19:59:58 -04:00
2026-06-15 18:11:20 -04:00
2026-07-24 22:49:29 -04:00
2026-08-03 12:39:16 -04:00
2026-08-07 03:14:40 -04:00
2026-08-07 21:03:50 -04:00
2026-08-07 15:18:18 -04:00
2026-06-18 23:37:43 -04:00
2026-08-07 15:18:18 -04:00
2026-06-09 22:35:42 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-06-26 12:44:09 -04:00
2026-07-03 19:37:14 -04:00
2026-06-16 02:38:47 -04:00
2026-08-03 12:05:45 -04:00
2026-06-20 10:50:12 -04:00
2026-08-08 05:50:17 -05:00
2026-06-20 01:59:03 -04:00
2026-08-07 15:18:18 -04:00
2026-07-03 09:17:32 -04:00
2026-08-07 15:45:51 -04:00
2026-08-07 15:45:51 -04:00
2026-08-07 15:45:51 -04:00
2026-06-14 15:02:54 -04:00
2026-07-21 19:32:51 -04:00
2026-05-01 18:12:20 -04:00
2026-08-09 12:27:04 -04:00
2026-05-28 09:23:59 -04:00
2026-07-17 06:49:58 -04:00
2026-07-28 18:26:55 -04:00
2026-07-05 14:04:29 -04:00
2026-08-08 05:50:17 -05:00
2026-06-11 00:58:21 -04:00
2026-08-07 21:03:50 -04:00
2026-08-07 21:03:50 -04:00
2026-08-05 23:22:59 -04:00
2026-08-07 15:18:18 -04:00
2026-08-05 23:22:59 -04:00
2026-08-08 16:05:17 -04:00
2026-07-28 18:02:17 -04:00
2026-08-05 17:20:56 -04:00
2026-06-12 16:03:51 -04:00
2026-07-26 01:06:35 -04:00
2026-07-26 20:49:38 -04:00
2026-07-27 16:24:21 -04:00
2026-06-25 21:16:47 -04:00
2026-06-02 18:35:29 -04:00
2026-08-07 21:03:50 -04:00
2026-07-09 19:38:27 -04:00
2026-07-09 19:38:27 -04:00
2026-08-05 17:20:56 -04:00
2026-06-23 12:51:46 -04:00
2026-07-09 19:38:27 -04:00
2026-05-29 11:39:52 -04:00
2026-08-05 17:20:56 -04:00
2026-08-07 21:03:50 -04:00
2026-07-20 08:22:23 -04:00
2026-06-13 23:35:08 -04:00
2026-06-10 14:07:23 -04:00
2026-06-06 11:24:48 -04:00
2026-08-03 19:59:58 -04:00
2026-08-07 21:03:50 -04:00
2026-07-29 19:49:53 -04:00
2026-08-03 19:59:58 -04:00
2026-08-03 12:50:22 -04:00
2026-06-25 21:16:47 -04:00
2026-07-11 09:39:34 -04:00
2026-08-07 15:18:18 -04:00
2026-08-05 17:20:56 -04:00
2026-07-03 08:59:23 -04:00
2026-08-05 18:28:04 -04:00
2026-08-04 20:33:50 -04:00
2026-08-07 21:03:50 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 21:03:50 -04:00
2026-08-08 16:05:17 -04:00
2026-06-24 13:19:10 -04:00
2026-08-01 16:33:43 -04:00
2026-07-07 15:11:12 -04:00
2026-08-07 21:03:50 -04:00
2026-08-08 05:50:17 -05:00
2026-08-03 19:59:58 -04:00
2026-08-07 21:03:50 -04:00
2026-08-08 05:50:17 -05:00
2026-07-05 17:15:48 -04:00
2026-08-01 01:34:05 -04:00
2026-07-31 23:03:13 -04:00
2026-07-31 23:03:13 -04:00
2026-06-02 18:35:29 -04:00
2026-07-31 15:44:19 -04:00
2026-07-31 13:17:01 -04:00
2026-07-31 13:17:01 -04:00
2026-08-08 16:05:17 -04:00
2026-06-14 08:25:41 -04:00
2026-06-02 18:35:29 -04:00
2026-07-24 12:49:53 -04:00
2026-07-27 19:55:37 -04:00
2026-07-29 17:06:04 -04:00
2026-07-29 17:06:04 -04:00
2026-08-08 05:56:22 -05:00
2026-07-11 13:10:31 -04:00
2026-08-08 01:20:55 -04:00
2026-06-22 23:43:22 -04:00
2026-06-22 23:43:22 -04:00
2026-06-13 23:35:08 -04:00
2026-08-03 12:05:45 -04:00
2026-07-09 00:21:28 -04:00
2026-07-09 13:17:04 -04:00
2026-06-07 19:22:48 -04:00
2026-08-05 17:20:56 -04:00
2026-07-30 12:48:06 -04:00
2026-08-07 10:09:18 -04:00
2026-08-05 17:20:56 -04:00
2026-07-18 14:42:29 -04:00
2026-07-18 00:39:28 -04:00
2026-07-21 18:38:51 -04:00
2026-07-18 13:42:58 -04:00
2026-07-18 15:46:42 -04:00
2026-07-18 07:55:28 -04:00
2026-07-18 19:01:04 -04:00
2026-07-30 16:55:10 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-07-19 22:44:08 -04:00
2026-07-13 07:03:47 -07:00
2026-07-29 17:06:04 -04:00
2026-06-02 18:35:29 -04:00
2026-06-20 13:36:57 -04:00
2026-07-03 09:17:32 -04:00
2026-06-20 13:36:57 -04:00
2026-07-03 10:22:11 -04:00
2026-08-05 17:20:56 -04:00
2026-07-31 21:20:46 -04:00
2026-08-07 21:03:50 -04:00
2026-08-05 18:28:04 -04:00
2026-08-07 04:45:30 -04:00
2026-08-07 04:45:30 -04:00
2026-08-07 21:03:50 -04:00
2026-06-02 18:35:29 -04:00
2026-07-30 15:27:52 -04:00
2026-08-07 15:18:18 -04:00
2026-07-31 13:15:29 -04:00
2026-08-07 15:18:18 -04:00
2026-08-01 16:00:14 -04:00
2026-07-28 15:41:43 -04:00
2026-08-07 15:45:51 -04:00
2026-08-07 15:18:18 -04:00
2026-08-08 14:22:10 -04:00
2026-08-08 14:22:10 -04:00
2026-07-30 19:55:03 -04:00
2026-07-26 16:28:56 -04:00
2026-07-26 16:28:56 -04:00
2026-06-24 17:16:13 -04:00
2026-06-24 17:16:13 -04:00
2026-06-13 21:07:55 -04:00
2026-08-02 12:34:41 -04:00
2026-08-01 14:24:05 -04:00
2026-07-03 09:17:32 -04:00
2026-08-05 17:20:56 -04:00
2026-06-15 20:53:38 -04:00
2026-08-07 10:58:34 -04:00
2026-08-07 21:03:50 -04:00
2026-08-05 17:20:56 -04:00
2026-06-02 18:35:29 -04:00
2026-06-28 12:00:43 -04:00
2026-06-28 12:25:02 -04:00
2026-06-14 12:23:07 -04:00
2026-08-05 16:00:52 -04:00
2026-06-02 18:35:29 -04:00
2026-07-08 12:57:49 +03:00
2026-08-05 16:44:07 -04:00
2026-07-20 14:59:30 -04:00
2026-08-01 21:27:33 -04:00
2026-06-13 21:07:55 -04:00
2026-06-20 01:59:03 -04:00
2026-06-12 23:43:07 -04:00
2026-06-02 18:35:29 -04:00
2026-08-02 22:31:23 -04:00
2026-07-06 13:01:47 -05:00
2026-07-16 15:25:19 -04:00
2026-08-07 21:03:50 -04:00
2026-07-12 15:55:39 -04:00
2026-07-30 12:48:06 -04:00
2026-07-12 19:47:42 -04:00
2026-08-05 17:20:56 -04:00
2026-07-15 17:10:06 -04:00
2026-07-27 16:24:21 -04:00
2026-08-03 19:59:58 -04:00
2026-07-16 00:56:07 -04:00
2026-07-16 13:33:36 -04:00
2026-07-17 14:01:38 -04:00
2026-07-30 15:27:52 -04:00
2026-07-30 12:48:06 -04:00
2026-08-05 01:06:39 -04:00
2026-07-26 19:50:56 -04:00
2026-08-07 21:03:50 -04:00
2026-08-05 17:20:56 -04:00
2026-08-05 17:20:56 -04:00
2026-07-30 12:48:06 -04:00
2026-08-07 10:58:34 -04:00
2026-08-05 17:20:56 -04:00
2026-07-31 19:15:04 -04:00
2026-08-07 21:03:50 -04:00
2026-08-07 21:03:50 -04:00
2026-08-08 09:50:35 -04:00
2026-07-29 22:18:48 -04:00
2026-08-05 11:19:17 -04:00
2026-07-30 12:48:06 -04:00
2026-08-04 06:47:46 -04:00
2026-08-03 09:16:29 -04:00
2026-08-02 19:24:53 -04:00
2026-08-07 13:41:21 -04:00
2026-08-07 21:03:50 -04:00
2026-08-07 21:03:50 -04:00
2026-08-08 06:01:46 -05:00
2026-08-07 21:03:50 -04:00
2026-06-02 18:35:29 -04:00
2026-07-29 17:06:04 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 21:03:50 -04:00
2026-07-27 16:50:12 -04:00
2026-07-30 13:53:39 -04:00
2026-08-03 15:21:30 -04:00
2026-07-03 08:59:23 -04:00
2026-08-03 12:16:56 -04:00
2026-08-03 12:16:56 -04:00
2026-06-02 18:35:29 -04:00
2026-08-07 15:18:18 -04:00
2026-07-31 13:17:01 -04:00
2026-08-07 15:45:51 -04:00
2026-08-03 19:59:58 -04:00
2026-07-11 23:24:42 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 21:03:50 -04:00
2026-07-22 00:27:35 -04:00
2026-08-07 15:18:18 -04:00
2026-08-05 17:20:56 -04:00
2026-08-07 15:45:51 -04:00
2026-07-03 08:59:23 -04:00
2026-07-05 14:50:01 -04:00
2026-08-01 21:36:48 -04:00
2026-08-07 15:45:51 -04:00
2026-08-06 02:56:07 -04:00
2026-08-03 15:21:30 -04:00
2026-08-07 21:03:50 -04:00
2026-08-05 17:20:56 -04:00
2026-06-28 14:27:43 -04:00
2026-08-05 13:30:55 -04:00
2026-06-25 18:24:39 -04:00
2026-06-02 18:35:29 -04:00
2026-07-28 08:58:27 -04:00
2026-07-13 11:33:32 -06:00
2026-07-14 21:09:24 -04:00
2026-08-07 21:03:50 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 12:18:25 -04:00
2026-08-07 10:58:34 -04:00
2026-08-05 01:06:39 -04:00
2026-07-02 18:08:42 -04:00
2026-06-25 18:24:39 -04:00
2026-07-20 15:49:57 -04:00
2026-08-05 21:39:53 -04:00
2026-08-08 05:58:35 -05:00
2026-08-08 06:18:09 -05:00
2026-07-09 20:47:35 -04:00
2026-08-05 17:20:56 -04:00
2026-06-25 21:16:47 -04:00
2026-06-28 11:44:36 -04:00
2026-04-04 14:29:03 -04:00
2026-08-07 15:18:18 -04:00
2026-08-04 20:33:50 -04:00
2026-07-04 13:32:51 -04:00
2026-08-07 21:03:50 -04:00
2026-06-02 18:35:29 -04:00
2026-08-07 15:45:51 -04:00
2026-08-07 09:30:27 -04:00
2026-08-07 10:09:18 -04:00
2026-07-03 01:55:48 -04:00
2026-08-07 21:03:50 -04:00
2026-06-24 17:07:23 -04:00
2026-06-02 18:35:29 -04:00
2026-08-09 17:08:46 -04:00
2026-07-08 21:42:11 -04:00
2026-07-03 10:22:11 -04:00
2026-08-07 15:18:18 -04:00
2026-08-08 05:50:17 -05:00
2026-06-02 18:35:29 -04:00
2026-08-07 15:18:18 -04:00
2026-08-09 17:08:46 -04:00
2026-08-07 13:41:21 -04:00
2026-08-01 21:00:23 -04:00
2026-08-07 15:18:18 -04:00
2026-07-21 08:26:47 -04:00
2026-08-07 13:41:21 -04:00
2026-06-09 12:51:15 -04:00
2026-06-06 11:24:48 -04:00
2026-07-03 09:34:39 -04:00
2026-08-07 15:18:18 -04:00
2026-08-09 13:52:29 -04:00
2026-06-16 00:12:54 -04:00
2026-08-05 18:28:04 -04:00
2026-08-05 18:28:04 -04:00
2026-08-04 18:51:12 -04:00
2026-08-04 18:51:12 -04:00
2026-08-07 21:03:50 -04:00
2026-06-02 18:35:29 -04:00
2026-08-05 17:20:56 -04:00
2026-06-25 21:16:47 -04:00
2026-06-11 15:46:49 -04:00
2026-08-05 17:20:56 -04:00
2026-08-01 21:00:23 -04:00
2026-08-05 17:20:56 -04:00
2026-08-07 21:03:50 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-20 13:37:38 -04:00
2026-08-08 05:50:17 -05:00
2026-08-07 15:18:18 -04:00
2026-08-05 17:20:56 -04:00
2026-08-07 15:45:51 -04:00
2026-07-09 23:43:17 -04:00
2026-07-01 11:51:11 -04:00
2026-07-07 19:38:01 -04:00
2026-07-10 19:55:15 -04:00
2026-06-01 22:43:49 -04:00
2026-08-07 15:18:18 -04:00
2026-07-29 12:29:45 -04:00
2026-08-03 09:38:58 -04:00
2026-08-07 21:03:50 -04:00
2026-07-30 17:25:55 -04:00
2026-07-30 18:14:34 -04:00
2026-08-05 17:20:56 -04:00
2026-07-31 00:47:55 -04:00
2026-08-04 18:59:19 -04:00
2026-08-04 20:33:50 -04:00
2026-08-04 22:51:27 -04:00
2026-08-05 00:45:03 -04:00
2026-08-04 23:58:49 -04:00
2026-08-05 02:18:25 -04:00
2026-08-08 22:01:20 -04:00
2026-08-09 11:39:40 -04:00
2026-06-07 20:35:43 -04:00
2026-06-13 16:13:00 -04:00
2026-07-18 12:20:32 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-08-01 21:19:49 -04:00
2026-07-28 18:31:40 -04:00
2026-07-11 00:53:34 -04:00
2026-07-28 18:31:40 -04:00
2026-08-05 01:06:39 -04:00
2026-06-06 22:16:20 +02:00
2026-06-07 01:27:12 +02:00
2026-08-07 15:18:18 -04:00
2026-08-05 17:20:56 -04:00
2026-06-02 18:35:29 -04:00
2026-08-07 15:45:51 -04:00
2026-06-01 22:43:49 -04:00
2026-08-07 15:45:51 -04:00
2026-08-07 15:45:51 -04:00
2026-08-07 15:45:51 -04:00
2026-06-18 08:50:22 -04:00
2026-08-07 15:45:51 -04:00
2026-08-07 15:45:51 -04:00
2026-06-22 00:59:41 -04:00
2026-06-22 00:59:41 -04:00
2026-08-08 05:50:49 -05:00
2026-08-04 22:41:01 -04:00
2026-06-11 14:11:50 -04:00
2026-06-12 21:24:09 -04:00
2026-07-07 15:11:12 -04:00
2026-07-19 20:24:21 -04:00
2026-06-16 00:12:54 -04:00
2026-07-03 19:37:14 -04:00
2026-08-07 15:18:18 -04:00
2026-08-01 16:13:28 -04:00
2026-06-21 14:37:18 -04:00
2026-06-21 14:37:18 -04:00
2026-08-07 15:18:18 -04:00
2026-07-31 13:17:01 -04:00
2026-08-05 17:20:56 -04:00
2026-08-09 17:08:46 -04:00
2026-08-05 13:30:55 -04:00
2026-08-05 13:30:55 -04:00
2026-08-05 13:30:55 -04:00
2026-07-28 18:02:01 -04:00
2026-08-01 15:23:58 -04:00
2026-07-20 16:52:34 -04:00
2026-06-02 18:35:29 -04:00
2026-08-05 10:42:42 -04:00
2026-06-15 18:11:20 -04:00
2026-08-05 18:22:14 -04:00
2026-06-25 18:24:39 -04:00
2026-08-08 19:06:13 -04:00
2026-08-08 19:06:13 -04:00
2026-08-05 10:42:42 -04:00
2026-06-28 11:27:44 -04:00
2026-06-30 22:21:18 -04:00
2026-06-11 13:36:23 -04:00
2026-07-17 06:48:04 -04:00
2026-08-05 17:20:56 -04:00
2026-07-03 08:59:23 -04:00
2026-07-07 21:22:48 -04:00
2026-07-07 21:22:48 -04:00
2026-07-22 00:27:35 -04:00
2026-08-07 15:45:51 -04:00
2026-06-25 21:49:22 -04:00
2026-07-30 08:52:56 -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-08-08 19:06:13 -04:00
2026-08-03 19:59:58 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 09:17:32 -04:00
2026-08-01 21:19:49 -04:00
2026-06-25 18:24:39 -04:00
2026-06-25 18:24:39 -04:00
2026-07-05 16:43:26 -04:00
2026-07-03 09:17:32 -04:00
2026-06-25 18:24:39 -04:00
2026-07-30 15:26:43 -04:00
2026-08-07 20:25:12 -04:00
2026-06-25 15:26:23 -04:00
2026-08-07 21:03:50 -04:00
2026-08-07 15:18:18 -04:00
2026-06-25 16:25:48 -04:00
2026-07-11 23:24:42 -04:00
2026-06-25 21:49:22 -04:00
2026-08-08 16:05:17 -04:00
2026-08-05 01:06:39 -04:00
2026-07-19 15:43:48 -04:00
2026-08-07 15:18:18 -04:00
2026-08-05 17:20:56 -04:00
2026-07-02 14:57:44 -04:00
2026-08-08 05:56:22 -05:00
2026-07-30 15:27:52 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-07-13 13:43:29 -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-25 18:24:39 -04:00
2026-08-08 05:50:49 -05:00
2026-06-02 18:35:29 -04:00
2026-07-03 00:39:32 -04:00
2026-04-16 17:15:29 -04:00
2026-08-07 21:03:50 -04:00
2026-06-15 18:11:20 -04:00
2026-07-08 10:25:28 -04:00
2026-08-05 01:06:39 -04:00
2026-06-22 12:33:13 -04:00
2026-06-12 19:51:54 -04:00
2026-07-28 15:41:43 -04:00
2026-06-13 21:07:55 -04:00
2026-08-03 19:59:58 -04:00
2026-07-28 18:02:17 -04:00
2026-06-02 18:35:29 -04:00
2026-07-26 21:42:50 -04:00
2026-07-10 09:24:49 -04:00
2026-08-01 23:06:43 -04:00
2026-07-13 20:36:14 -04:00
2026-08-02 19:24:53 -04:00
2026-08-07 21:03:50 -04:00
2026-07-03 01:55:48 -04:00
2026-08-07 13:41:21 -04:00
2026-08-05 20:48:46 -04:00
2026-07-11 21:07:38 -04:00
2026-07-22 16:05:41 -04:00
2026-04-04 14:29:03 -04:00
2026-06-02 18:35:29 -04:00
2026-08-09 10:35:27 -04:00
2026-08-08 01:20:55 -04:00
2026-08-03 19:59:58 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 09:17:32 -04:00
2026-07-07 15:11:12 -04:00
2026-08-09 14:23:35 -04:00
2026-08-05 17:20:56 -04:00
2026-07-26 14:29:02 -04:00
2026-07-13 20:36:14 -04:00
2026-06-02 18:35:29 -04:00
2026-08-08 16:05:17 -04:00
2026-07-28 21:11:48 -04:00
2026-06-25 14:37:10 -04:00
2026-08-03 19:59:58 -04:00
2026-08-05 17:20:56 -04:00
2026-06-02 18:35:29 -04:00
2026-06-09 23:50:41 -04:00
2026-06-25 18:24:39 -04:00
2026-06-11 13:36:47 -04:00
2026-06-25 23:55:58 -04:00
2026-07-08 21:42:11 -04:00
2026-06-16 21:55:51 -04:00
2026-05-18 12:06:46 -04:00
2026-08-09 18:29:16 -04:00
2026-07-19 07:52:36 -04:00
2026-08-07 15:18:18 -04:00
2026-06-21 10:44:48 -04:00
2026-07-02 11:55:53 -04:00
2026-08-07 21:03:50 -04:00
2026-06-25 18:24:39 -04:00
2026-08-08 05:50:17 -05:00
2026-07-03 01:55:48 -04:00
2026-08-03 19:59:58 -04:00
2026-08-03 19:59:58 -04:00
2026-06-15 22:48:48 -04:00
2026-08-07 21:03:50 -04:00
2026-08-05 17:20:56 -04:00
2026-08-05 17:20:56 -04:00
2026-08-05 17:20:56 -04:00
2026-08-05 17:20:56 -04:00
2026-08-05 17:20:56 -04:00
2026-08-05 17:20:56 -04:00
2026-08-07 21:03:50 -04:00
2026-07-31 02:30:50 -04:00
2026-08-05 17:20:56 -04:00
2026-07-31 23:03:13 -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-08-07 13:41:21 -04:00
2026-06-02 18:35:29 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 10:58:34 -04:00
2026-08-03 19:59:58 -04:00
2026-08-03 19:59:58 -04:00
2026-05-01 19:50:10 -04:00
2026-07-10 15:44:19 -04:00
2026-06-25 21:16:47 -04:00
2026-07-10 15:44:19 -04:00
2026-04-04 14:29:03 -04:00
2026-08-05 01:06:39 -04:00
2026-08-05 01:06:39 -04:00
2026-08-05 01:06:39 -04:00
2026-07-03 09:34:39 -04:00
2026-08-07 10:58:34 -04:00
2026-06-17 14:32:43 -04:00
2026-07-29 07:00:35 -04:00
2026-07-31 08:11:57 -04:00
2026-07-31 08:11:57 -04:00
2026-07-21 23:23:45 -04:00
2026-06-25 18:24:39 -04:00
2026-07-19 14:33:19 -04:00
2026-08-07 15:18:18 -04:00
2026-05-26 22:46:09 -04:00
2026-05-29 10:54:49 -04:00
2026-08-07 21:03:50 -04:00
2026-08-04 13:23:44 -04:00
2026-08-07 15:45:51 -04:00
2026-08-08 05:50:17 -05:00
2026-06-25 23:55:58 -04:00
2026-06-25 18:24:39 -04:00
2026-08-05 18:28:04 -04:00
2026-06-13 23:35:08 -04:00
2026-06-13 23:35:08 -04:00
2026-06-05 17:58:48 -04:00
2026-06-13 23:35:08 -04:00
2026-06-05 17:58:48 -04:00
2026-06-18 07:44:52 -04:00
2026-08-05 17:20:56 -04:00
2026-08-03 19:59:58 -04:00
2026-08-03 12:05:45 -04:00
2026-07-21 10:44:55 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-07-30 15:27:52 -04:00
2026-07-30 12:48:06 -04:00
2026-07-30 12:48:06 -04:00
2026-08-07 07:43:14 -04:00
2026-07-30 08:52:56 -04:00
2026-06-26 23:35:04 -04:00
2026-06-26 23:35:04 -04:00
2026-07-29 07:31:32 -04:00
2026-07-30 08:52:56 -04:00
2026-08-07 15:45:51 -04:00
2026-07-30 12:48:06 -04:00
2026-07-30 08:52:56 -04:00
2026-07-29 11:21:49 -04:00
2026-06-21 23:04:34 -04:00
2026-05-06 21:51:38 -04:00
2026-08-09 10:32:46 -04:00
2026-06-30 20:43:25 -04:00
2026-08-07 15:18:18 -04:00
2026-08-05 18:22:14 -04:00
2026-08-05 17:20:56 -04:00
2026-08-08 05:50:17 -05:00
2026-08-08 16:05:17 -04:00
2026-06-21 20:40:13 -04:00
2026-08-03 12:05:45 -04:00
2026-07-17 06:50:06 -04:00
2026-08-04 14:31:07 -04:00
2026-08-08 05:50:36 -05:00
2026-08-01 16:00:14 -04:00
2026-07-11 23:24:42 -04:00
2026-08-05 17:20:56 -04:00
2026-07-22 00:27:35 -04:00
2026-08-07 13:41:21 -04:00
2026-08-07 18:53:25 -04:00
2026-07-03 08:59:23 -04:00
2026-07-06 08:31:51 -04:00
2026-08-07 21:03:50 -04:00
2026-08-05 18:28:04 -04:00
2026-06-02 18:35:29 -04:00
2026-06-24 17:03:01 -04:00
2026-05-26 18:56:00 -04:00
2026-07-02 21:45:35 -04:00
2026-06-25 18:24:39 -04:00
2026-08-03 19:59:58 -04:00
2026-08-03 19:59:58 -04:00
2026-08-03 19:59:58 -04:00
2026-08-03 19:59:58 -04:00
2026-07-13 00:47:15 -04:00
2026-08-05 17:20:56 -04:00
2026-07-12 00:27:31 -04:00
2026-08-05 01:06:39 -04:00
2026-06-25 18:24:39 -04:00
2026-08-05 01:06:39 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 08:59:23 -04:00
2026-06-06 11:24:48 -04:00
2026-06-14 20:52:56 -04:00
2026-06-13 23:35:08 -04:00
2026-08-06 23:57:05 -04:00
2026-07-13 15:36:17 -04:00
2026-08-07 15:45:51 -04:00
2026-07-03 08:59:23 -04:00
2026-08-07 15:45:51 -04:00
2026-07-15 19:18:28 -04:00
2026-08-07 21:03:50 -04:00
2026-08-03 19:59:58 -04:00
2026-07-31 10:20:17 -04:00
2026-08-07 21:03:50 -04:00
2026-07-12 16:36:36 -04:00
2026-08-05 16:00:52 -04:00
2026-07-17 18:29:28 -04:00
2026-07-30 19:55:03 -04:00
2026-06-28 11:44:36 -04:00
2026-07-03 01:55:48 -04:00
2026-08-07 21:03:50 -04:00
2026-08-06 23:57:05 -04:00
2026-08-06 23:57:05 -04:00
2026-08-07 21:03:50 -04:00
2026-07-03 01:55:48 -04:00
2026-08-03 19:59:58 -04:00
2026-07-05 18:01:28 -04:00
2026-07-12 01:32:12 -04:00
2026-06-12 13:29:45 -04:00
2026-07-14 14:25:44 -04:00
2026-06-13 21:07:55 -04:00
2026-06-17 08:52:23 -04:00
2026-06-15 18:11:20 -04:00
2026-05-29 11:39:52 -04:00
2026-05-26 11:23:29 -04:00
2026-08-02 12:34:41 -04:00
2026-08-07 15:18:18 -04:00
2026-06-06 11:24:48 -04:00
2026-06-20 13:36:57 -04:00
2026-06-02 18:35:29 -04:00
2026-07-24 21:36:33 -04:00
2026-07-15 09:41:36 -04:00
2026-08-04 20:33:50 -04:00
2026-07-10 21:31:10 -04:00
2026-06-24 13:19:10 -04:00
2026-08-01 16:00:14 -04:00
2026-08-07 15:45:51 -04:00
2026-08-05 16:00:52 -04:00
2026-07-31 21:01:50 -04:00
2026-07-08 12:57:49 +03:00
2026-08-05 17:20:56 -04:00
2026-07-28 18:31:47 -04:00
2026-06-30 10:52:30 -04:00
2026-07-12 16:22:47 -04:00
2026-06-02 18:35:29 -04:00
2026-06-24 17:07:23 -04:00
2026-08-07 05:32:49 -04:00
2026-08-07 13:41:21 -04:00
2026-05-15 19:32:02 -04:00
2026-08-07 15:45:51 -04:00
2026-06-02 18:35:29 -04:00
2026-08-07 15:18:18 -04:00
2026-07-19 14:37:15 -04:00
2026-08-09 12:07:41 -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-07-17 06:48:04 -04:00
2026-08-03 19:59:58 -04:00
2026-06-02 19:25:25 -04:00
2026-06-13 23:35:08 -04:00
2026-08-03 19:59:58 -04:00
2026-08-07 15:18:18 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 23:24:42 -04:00
2026-07-03 10:22:11 -04:00
2026-08-01 16:00:14 -04:00
2026-08-07 15:18:18 -04:00
2026-06-07 12:24:04 -04:00
2026-07-21 18:38:51 -04:00
2026-08-07 15:18:18 -04:00
2026-08-01 12:12:20 -04:00
2026-08-03 19:59:58 -04:00
2026-07-11 16:04:24 -04:00
2026-08-07 21:03:50 -04:00
2026-07-16 13:55:15 -04:00
2026-08-05 17:20:56 -04:00
2026-08-09 12:07:41 -04:00
2026-06-11 23:59:56 -04:00
2026-07-05 14:38:24 -04:00
2026-08-07 15:18:18 -04:00
2026-08-05 16:00:52 -04:00
2026-06-02 18:35:29 -04:00
2026-08-01 23:06:43 -04:00
2026-08-05 16:00:52 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-08-07 15:18:18 -04:00
2026-08-09 16:12:57 -04:00
2026-08-07 10:58:34 -04:00
2026-07-13 20:39:58 -04:00