Parse/validate ISBNs in Zig

Refresh the registration group and registrant ranges master

Regenerated with `zig build update-ranges`. The agency has moved eight groups since the last run -- 978-1, 978-81, 978-624, 978-627, 978-9912, 978-99952, 978-99989 and 979-8 -- taking the rule count from 1862 to 1868. No group was added or removed, so all 287 remain. Stale range data does not fail loudly, which is the reason to keep it current. It hyphenates in the wrong place. India's 978-81 now splits 1700000-1799999 off as five-digit registrants, so 9788117000007 hyphenates as 978-81-17000-00-7 where the old data gave 978-81-17-00000-7; both look plausible and only one is right. Verified by running both files against that ISBN rather than reading the diff. The fingerprint in the header moves with the data, which is what it is for: it covers the emitted ranges and not the serial number and date the agency stamps afresh on every download, so a changed fingerprint means the ranges themselves changed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NJz47vhFE5XcSQUDbfP1N3


+29 -23
1 changed file