codegen: emit <Msg>_decode_unsafe for trusted-source decoding (6bb) Full-mode codegen now emits a sister <Msg>_decode_unsafe(buf) alongside <Msg>_decode that drops the per-string utf8_len check (singular, repeated, map keys/values, extensions, and the >=128-byte fallback all route through wire.decode_bytes). Sub-messages recurse into their own _decode_unsafe so nested strings also bypass; WKTs continue to call the normal pb.wkt.<Name>_decode (no _unsafe twin, no string-validation hot path). C runtime dispatch is skipped because it validates today (kyt). Use this when re-decoding bytes from a trusted producer — your own encoder over typed RPC, JSON/text round-trips, in-process pipelines — where the spec-required utf8.len check on every string is duplicate work. Microbench on a string-heavy 1KB Person (26 emails) shows ~20% throughput vs _decode; conformance suite still passes (3240/3240) because _decode itself is unchanged. Runtime mode does not yet expose _decode_unsafe (compiled f._reader closures capture handler.decode by value, so a runtime swap wouldn't reach them); tracked in 58u.