Tom Boucher
7ca8011cd9
refactor( #1373 ): add canonical markdown-sectionizer seam (epic #1372 T0) ( #1381 )
...
* refactor(#1373 ): add markdown-sectionizer seam (ADR-1372 T0)
Establishes the canonical markdown-structure parsing seam per ADR-1372.
No existing parsers are modified; this is the foundational T0 tier only.
- docs/adr/1372-markdown-sectionizer-seam.md: Accepted ADR defining the
seam interface, the tiered migration plan (T0-T7), and the prohibition
enforcement approach (no-adhoc-markdown-parsing ESLint rule in T7).
- src/markdown-sectionizer.cts: Pure module, Node built-ins only.
Exports: stripFencedCode (CommonMark-correct state machine ported from
uat-predicate.cts _stripFencedBlocks, CRLF-safe, unterminatedFence
signal), tokenizeHeadings (ATX headings outside fenced blocks),
collectSections (line-by-line predicate-driven section collection),
collectSection (single named section, levelBounded stop, optional
stripFences), iterateBullets (dash/checkbox/numbered + continuation).
- tests/markdown-sectionizer.test.cjs: 54-test behavioral suite covering
the parser QA matrix (LF/CRLF, Unicode headings, headings-inside-fences,
unterminated fences, nested levels, all bullet markers, continuation
lines, empty/non-string input) plus 4 fast-check property tests
(idempotence, output shape, never-throws, length monotonicity).
- CONTEXT.md: Markdown Sectionizer glossary entry added (PR review gate).
Tests: 54 pass, 0 fail. Existing adr-parser + uat-passed tests: 22 pass.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* refactor(#1373 ): add extractTaggedBlocks + replaceSection to seam; register inventory
- src/markdown-sectionizer.cts: extend Section type with bodyStart/bodyEnd offsets;
add extractTaggedBlocks(content, tagName) (inner text of <tag>…</tag> blocks,
tagName regex-escaped, caller decides fence-stripping) and replaceSection(content,
section, newBody) (pure character-offset splice for read-modify-write callers);
update collectSections/collectSection to populate bodyStart/bodyEnd.
- tests/markdown-sectionizer.test.cjs: add 33 new behavioral tests for
extractTaggedBlocks, replaceSection, and a DEFECT.GENERATIVE-FIX parity guard
that asserts stripFencedCode and uat-predicate's _stripFencedBlocks agree on a
shared 9-item corpus; documents the known 4-space-indent divergence.
- docs/adr/1372-markdown-sectionizer-seam.md: list extractTaggedBlocks and
replaceSection in §"The seam".
- CONTEXT.md: update ### Markdown Sectionizer glossary entry with the two new exports.
- docs/INVENTORY.md: add markdown-sectionizer.cjs row (alphabetically between
loop-resolver and milestone).
- docs/INVENTORY-MANIFEST.json: regenerated via gen-inventory-manifest --write.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* fix(#1373 ): clear no-unsafe-assignment + unused-var lint in markdown-sectionizer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* fix(#1373 ): correct section offset/round-trip + CommonMark heading/fence edges; register eslint coverage
FIX 1 (CRITICAL): Enforce content.slice(bodyStart,bodyEnd) === body invariant in both
collectSection and collectSections. bodyEnd is now bodyStart + body.length instead of
the raw stop-line offset, eliminating the trailing-newline overcounting that caused
replaceSection to drop separator newlines (## A\nbody## B gluing bug).
FIX 2 (MED): tokenizeHeadings now accepts ≤3-space indent (CommonMark §4.5) and empty
ATX headings (## / ## ), text=''. 4-space indent correctly excluded.
FIX 3 (MED): collectSection gains stopAtLevel option — stops at the next heading whose
level ≤ stopAtLevel, independent of the opener's level. Enables state.cts ## sections
that also stop at ### without abusing levelBounded.
FIX 4 (MED): Backtick fence opener info string must not contain a backtick (CommonMark).
Applied in both stripFencedCode and tokenizeHeadings fence state machines. Tilde fences
unaffected.
FIX 5 (LOW): "byte offset" → "character (string-index) offset" in HeadingToken / Section
doc comments.
FIX 6 (LOW): extractTaggedBlocks doc comment documents nested-tag non-support; test locks
the non-greedy close-at-first-</tag> behavior.
FIX 7: Add gsd-core/bin/lib/markdown-sectionizer.cjs to eslint.config.mjs ignores so
tests/551-eslint-bin-lib-coverage.test.cjs passes (3/3).
Tests: 107 pass / 0 fail (was 87; +20 new tests for FIX 1–4, 6).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* fix(#1373 ): gitignore tsc-built markdown-sectionizer.cjs (ADR-457 build-at-publish)
The seam's compiled artifact must be a build-at-publish output like every other
src/*.cts->bin/lib/*.cjs module (decisions, core, state, ...), not a committed
file. Add it to the ADR-457 ignore list and untrack it; build:lib/CI regenerate it.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-17 11:14:17 -04:00
..
2026-06-06 11:24:48 -04:00
2026-06-13 23:35:08 -04:00
2026-06-14 09:37:41 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-15 23:21:20 -04:00
2026-06-14 00:00:37 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 16:37:17 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-17 08:52:23 -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-06-14 15:52:22 -04:00
2026-06-14 20:52:36 -04:00
2026-06-14 10:45:42 -04:00
2026-06-14 17:16:19 -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-13 23:35:08 -04:00
2026-06-13 11:28:05 -04:00
2026-06-10 10:44:20 -04:00
2026-06-15 15:46:41 -04:00
2026-06-11 20:50:08 -04:00
2026-05-30 17:25:02 -04:00
2026-06-16 14:19:08 -04:00
2026-06-12 09:58:44 -04:00
2026-04-25 10:50:54 -04:00
2026-06-17 10:16:51 -04: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-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-10 08:34:49 -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-10 16:10:07 -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-06-11 08:31:35 -04:00
2026-06-15 18:11: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-06-02 18:35:29 -04:00
2026-05-27 20:22:09 -04:00
2026-06-13 01:49:25 -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-06-11 11:36:39 -04:00
2026-06-02 18:35:29 -04:00
2026-06-17 08:50:28 -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-14 16:03:26 -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-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-05-30 12:00:58 -04:00
2026-06-11 22:37:55 -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-13 21:07:55 -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-16 08:38:55 -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-15 18:11:20 -04:00
2026-06-08 16:05:59 -04:00
2026-06-07 14:59:33 -04:00
2026-06-10 00:45:27 -04:00
2026-06-08 10:42:05 -04:00
2026-06-08 14:04:26 -04:00
2026-06-14 17:18:17 -04:00
2026-06-08 22:52:19 -04:00
2026-06-14 20:51:53 -04:00
2026-06-09 08:59:20 -04:00
2026-06-09 08:42:16 -04:00
2026-06-09 12:37:32 -04:00
2026-06-09 23:28:02 -04:00
2026-06-10 00:22:36 -04:00
2026-06-12 15:54:28 -04:00
2026-06-10 00:22:33 -04:00
2026-06-14 11:28:14 -04:00
2026-06-10 13:58:56 -04:00
2026-06-10 10:58:42 -04:00
2026-06-10 11:16:13 -04:00
2026-06-10 10:40:06 -04:00
2026-06-11 23:17:01 -04:00
2026-05-17 12:00:59 -04:00
2026-06-11 19:17:06 -04:00
2026-06-11 19:17:06 -04:00
2026-05-02 11:45:33 -04:00
2026-04-05 18:05:32 -04:00
2026-06-15 18:11:20 -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-06-13 01:49:25 -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-11 22:37:55 -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-16 14:00:06 -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-12 23:43:07 -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-15 18:11:20 -04:00
2026-06-11 22:37:55 -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-15 18:11:20 -04:00
2026-06-10 22:40:58 -04:00
2026-04-24 20:22:17 -04:00
2026-06-15 18:50:46 -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-09 08:59: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-04 08:54:15 -04:00
2026-06-13 21:07:55 -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-16 21:55:55 -04:00
2026-06-15 18:50:46 -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-09 12:51:15 -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-13 01:49: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-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-11 12:08:11 -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-13 23:35:08 -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-16 11:52:09 -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-17 08:51:11 -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-11 22:37:55 -04:00
2026-05-11 22:09:59 -04:00
2026-06-17 08:51:11 -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-13 01:49:25 -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-10 14:44:43 -04:00
2026-05-23 18:39:02 -04:00
2026-06-11 12:37:25 -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-09 12:51: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-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-12 15:54:25 -04:00
2026-06-11 08:31:35 -04:00
2026-06-14 20:52:56 -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-07 23:40:18 +02:00
2026-06-02 18:35:29 -04:00
2026-05-30 17:44:36 -04:00
2026-06-15 18:11:20 -04:00
2026-06-09 22:35:42 -04:00
2026-06-16 02:38:47 -04:00
2026-06-15 21:33:06 -04:00
2026-06-16 02:38:47 -04:00
2026-06-14 12:51:17 -04:00
2026-06-02 18:35:29 -04:00
2026-06-10 15:55:31 -04:00
2026-06-08 14:04:26 -04:00
2026-06-10 15:55:31 -04:00
2026-06-14 15:02:54 -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-14 02:09:10 -04:00
2026-06-13 21:07:55 -04:00
2026-06-11 00:58:21 -04:00
2026-06-13 21:07:55 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-14 12:25:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-12 16:03:51 -04:00
2026-06-12 16:03:51 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-10 10:40:12 -04:00
2026-06-07 15:20:55 -04:00
2026-05-29 11:39:52 -04:00
2026-06-14 15:10:59 -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-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-12 21:24:09 -04:00
2026-06-07 12:24:04 -04:00
2026-06-16 21:55:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-13 23:35:08 -04:00
2026-06-13 23:34:44 -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-15 19:57:11 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 19:57:11 -04:00
2026-05-15 00:02:56 -04:00
2026-06-02 18:35:29 -04:00
2026-06-14 08:25:41 -04:00
2026-06-02 18:35:29 -04:00
2026-05-09 11:39:24 -04:00
2026-06-14 11:44:42 -04:00
2026-06-15 18:11:20 -04:00
2026-06-13 23:35:08 -04:00
2026-06-17 08:51:48 -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-15 18:11:20 -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-13 21:07:55 -04:00
2026-06-12 11:05:31 -04:00
2026-06-12 19:51:54 -04:00
2026-06-12 11:05:31 -04:00
2026-06-14 21:44:21 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-10 14:13:01 -04:00
2026-06-13 23:35:08 -04:00
2026-06-16 15:30:17 -04:00
2026-06-07 20:36:11 -04:00
2026-06-07 18:56:36 -04:00
2026-06-12 15:55:17 -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-08 10:41:54 -04:00
2026-06-16 02:20:34 -04:00
2026-06-11 22:36:47 -04:00
2026-06-11 22:36:47 -04:00
2026-06-11 22:36:47 -04:00
2026-06-13 00:06:52 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-08 14:04:26 -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-08 14:04:26 -04:00
2026-06-06 11:24:48 -04:00
2026-06-08 14:04:26 -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-14 02:09:10 -04:00
2026-06-08 16:05:59 -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-15 18:50:46 -04:00
2026-06-13 21:07:55 -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-15 20:53:38 -04:00
2026-06-14 02:09:10 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-14 12:23: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-15 18:50:46 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-15 18:11:20 -04:00
2026-06-10 11:41:01 -04:00
2026-06-13 23:35:08 -04:00
2026-06-14 14:20:21 -04:00
2026-06-13 21:07:55 -04:00
2026-06-06 12:04:18 -04:00
2026-05-02 23:12:50 -04:00
2026-06-15 18:50:46 -04:00
2026-06-15 18:11:20 -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-11 11:36:50 -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-13 23:35:08 -04:00
2026-06-06 11:24:48 -04:00
2026-06-13 21:07:55 -04:00
2026-06-12 23:43:07 -04:00
2026-06-12 23:43:07 -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-14 21:29:11 -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-15 15:46:41 -04:00
2026-06-09 23:50:41 -04:00
2026-06-10 07:12:57 -04:00
2026-06-15 23:19:21 -04:00
2026-06-06 11:24:48 -04:00
2026-06-15 23:19:21 -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-15 19:57:11 -04:00
2026-06-14 10:46:00 -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-15 15:08:58 -04:00
2026-06-10 00:22:36 -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-16 11:03:47 -04:00
2026-06-02 18:35:29 -04:00
2026-06-08 15:09:34 -04:00
2026-06-13 01:49:25 -04:00
2026-06-06 11:24:48 -04:00
2026-06-11 11:36:03 -04:00
2026-06-12 00:20:28 -04:00
2026-06-02 18:35:29 -04:00
2026-06-14 16:03:26 -04:00
2026-06-02 18:35:29 -04:00
2026-06-09 23:50:41 -04:00
2026-06-09 12:51:15 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-09 12:51:15 -04:00
2026-06-16 00:12:54 -04:00
2026-06-16 00:12:54 -04:00
2026-06-13 21:30:03 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 22:36:47 -04:00
2026-06-09 08:59:20 -04:00
2026-06-11 15:46: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-16 11:03:47 -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-13 23:35:08 -04:00
2026-06-15 18:50:46 -04:00
2026-06-01 22:43:49 -04:00
2026-06-07 20:35:43 -04:00
2026-06-13 16:13:00 -04:00
2026-06-06 22:16:20 +02:00
2026-06-06 22:16:20 +02:00
2026-06-07 01:27:12 +02: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-10 01:05:24 -04:00
2026-06-01 22:43:49 -04:00
2026-06-06 11:24:48 -04:00
2026-06-11 22:04:56 -04:00
2026-06-11 14:11:50 -04:00
2026-06-12 21:24:09 -04:00
2026-06-16 00:12:54 -04:00
2026-06-13 21:07:55 -04:00
2026-06-16 00:12:54 -04:00
2026-06-08 22:16:58 -04:00
2026-06-16 00:12:54 -04:00
2026-05-29 11:39:52 -04:00
2026-06-17 11:14:17 -04:00
2026-06-15 17:20:08 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-15 18:11:20 -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-15 18:11:20 -04:00
2026-06-11 13:36:23 -04:00
2026-06-13 23:35:08 -04:00
2026-06-15 18:11:20 -04:00
2026-06-07 12:05:13 +02:00
2026-06-14 08:25:41 -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-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-15 18:11:20 -04:00
2026-06-11 14:11:50 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-12 19:51:54 -04:00
2026-06-14 01:39:54 -04:00
2026-06-13 21:07:55 -04:00
2026-06-12 21:24:09 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-16 21:55:58 -04:00
2026-06-15 18:11:20 -04:00
2026-06-16 15:11:23 -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-13 21:07:55 -04:00
2026-06-02 18:35:29 -04:00
2026-06-13 21:07:55 -04:00
2026-06-13 21:07:55 -04:00
2026-06-13 23:35:08 -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-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-12 21:24:09 -04:00
2026-06-02 18:35:29 -04:00
2026-06-09 23:50:41 -04:00
2026-06-04 14:57:18 -04:00
2026-06-11 13:36:47 -04:00
2026-06-16 21:55:51 -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-06-16 14:00:49 -04:00
2026-06-16 14:00:49 -04:00
2026-05-29 11:39:52 -04:00
2026-06-12 16:03:51 -04:00
2026-06-06 11:24:48 -04:00
2026-06-12 15:55:01 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 22:48:48 -04:00
2026-06-16 14:00:49 -04:00
2026-06-14 21:29:11 -04:00
2026-06-14 21:29:11 -04:00
2026-06-16 14:00:49 -04:00
2026-06-14 21:29:11 -04:00
2026-06-14 21:29:11 -04:00
2026-06-15 23:21:20 -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-09 23:50:41 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11: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-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-09 23:50:41 -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-14 20:52:13 -04:00
2026-06-05 17:58:48 -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-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-13 23:35:08 -04:00
2026-06-02 18:35:29 -04:00
2026-05-06 21:51:38 -04:00
2026-06-15 18:11:20 -04:00
2026-06-15 18:11:20 -04:00
2026-06-13 21:56:18 -04:00
2026-06-14 10:46:22 -04:00
2026-06-14 12:25:29 -04:00
2026-06-13 01:49:25 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 17:16:26 -04:00
2026-06-13 23:35:08 -04:00
2026-06-13 01:49:25 -04:00
2026-06-07 16:13:06 -04:00
2026-06-13 21:07:55 -04:00
2026-06-11 21:42:52 -04:00
2026-06-11 22:32:49 -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-09 23:50:41 -04:00
2026-06-12 21:24:09 -04:00
2026-06-09 23:50:41 -04:00
2026-06-09 23:50:41 -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-14 20:52:56 -04:00
2026-06-13 23:35:08 -04:00
2026-06-06 11:24:48 -04:00
2026-06-10 14:44:43 -04:00
2026-06-09 10:25:55 -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-16 15:11:23 -04:00
2026-06-02 18:35:29 -04:00
2026-06-16 21:55:45 -04:00
2026-06-12 13:29:45 -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-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-12 18:39:57 -04:00
2026-06-11 16:37:17 -04:00
2026-06-16 14:47:17 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-16 21:55:55 -04:00
2026-06-12 09:58:44 -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-15 15:24: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-06-13 23:35:08 -04:00
2026-06-12 21:24:09 -04:00
2026-04-04 14:29:03 -04:00
2026-06-06 11:24:48 -04:00
2026-06-09 23:50:41 -04:00
2026-06-11 23:17:01 -04:00
2026-06-07 12:24:04 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 19:17:06 -04:00
2026-06-07 10:11:54 -04:00
2026-06-06 11:24:48 -04:00
2026-06-17 08:52:23 -04:00
2026-06-12 09:30:44 -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-06-15 18:11:20 -04:00
2026-06-11 11:36:30 -04:00
2026-06-13 23:35:08 -04:00
2026-06-16 14:19:08 -04:00
2026-06-16 14:00:06 -04:00
2026-06-16 14:00:06 -04:00