Skip to documentation
SLOP

tiny.reticulum.conformance.link

Reference tiny.reticulum conformance link

Defined in conformance.

Generated by lib/reticulum/build/generate with rns==1.5.0.

API (10)

Types and contracts

Public types and contracts.

Values and defaults

Public values and defaults.

No direct callersNo direct callsconformancelink
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/reticulum/src/conformance/link.zig

zig
//! Generated by `lib/reticulum/build/generate` with `rns==1.5.0`.//! The upstream source is Reticulum commit `e32d4df754a7b87b1bf1bb0d08675d12ff505ae6`.//! Hand edits are lost.//!//! The link requests use Reticulum@1.5.0 RNS/Link.py:304-322,335-346.//! The generator's interfaces set neither `AUTOCONFIGURE_MTU` nor `FIXED_MTU`.//! An interface is the stand-in network interface object the generator hands//! the reference, named by an index, which the port calls a carrier.//! The signalling of the 500-byte MTU uses RNS/Transport.py:3101-3107 and//! RNS/Link.py:307-310.//! The responders use RNS/Link.py:186-227,348-375 and//! RNS/Transport.py:2456-2487.//! The responder of the `link-request-stripped` step hears the request without//! its signalling bytes.//! A step of the two-node session is one record in this file's `vectors` table,//! holding which end acted, the second it acted at, the frame it heard, any//! bytes handed to it in place of random ones, and the frame it sent back.//! Relays strip the signalling bytes at RNS/Transport.py:1982-1985 before an//! interface that sets neither flag.//! The validation of the proof and the round-trip time use//! RNS/Link.py:391-438,516-538.//! Link data and its proofs use RNS/Link.py:378-389,948-962.//! The keepalives use RNS/Link.py:744-760,795-802,1130-1135.//! The keepalive step runs at the first whole second at or after the deadline//! of RNS/Link.py:749.//! The generator also runs the watchdog one second earlier and records no frame//! there.//! The teardown uses RNS/Link.py:657-683.//! The link keys use RNS/Link.py:348-361 and RNS/Cryptography/HKDF.py:35.//! The initiator's keys use RNS/Cryptography/X25519.py:127 and Ed25519.py:41.//! The initialization vectors of application data use//! RNS/Cryptography/Token.py:89.//! The responder key and the initialization vector of the round-trip report//! come from the port's own convention, HKDF over step entropy with the link id//! as salt, and the reference draws random bytes for both.//! Step entropy is the 32 bytes the caller draws fresh for each carrier frame//! and each timer event, which the step expands with HKDF-SHA256 whenever it//! needs a key or an initialization vector.//! The responder keys use the HKDF context `reticulum-link-responder-key`.//! The initialization vectors of the round-trip report use the HKDF context//! `reticulum-link-rtt-iv`.//! The generator hands those derived bytes to the reference in place of the//! random bytes it would draw.//! Every step of the two-node session uses interface 0.//! The four relay steps and the three-node session, which cross one transport//! node, use RNS/Transport.py:1968-2077,2569-2590.//! A three-node session is a link recorded across three reference nodes, the//! middle one a transport node, with every frame on every hop kept.pub const SessionVector = struct {    name: []const u8,    announce_clock: u64,    announce_raw: []const u8,    destination_hash: []const u8,    destination_private_key: []const u8,};pub const Vector = struct {    name: []const u8,    node: []const u8,    clock: u64,    input_raw: []const u8,    entropy: []const u8,    encryption_private_key: []const u8,    signing_private_key: []const u8,    iv: []const u8,    plaintext: []const u8,    output_raw: []const u8,    link_id: []const u8,    packet_hash: []const u8,};pub const KeyVector = struct {    name: []const u8,    initiator_encryption_private_key: []const u8,    responder_encryption_private_key: []const u8,    link_id: []const u8,    shared_key: []const u8,    derived_key: []const u8,};pub const RelayVector = struct {    name: []const u8,    identity_hash: []const u8,    interfaces: u8,    announce_raw: []const u8,    announce_interface: u8,    announce_clock: u64,    request_raw: []const u8,    request_interface: u8,    request_clock: u64,    proof_raw: []const u8,    proof_interface: u8,    proof_clock: u64,    input_raw: []const u8,    input_interface: u8,    input_clock: u64,    entropy: []const u8,    encryption_private_key: []const u8,    signing_private_key: []const u8,    output_interface: u8,    output_raw: []const u8,    link_id: []const u8,    transport_id: []const u8,    hops: u8,    context: u8,    context_flag: u1,    packet_hash: []const u8,};pub const ThreeNodeVector = struct {    name: []const u8,    start_clock: u64,    announce_raw: []const u8,    destination_hash: []const u8,    destination_private_key: []const u8,    destination_name_hash: []const u8,    destination_app_data: []const u8,    announce_random_hash: []const u8,    initiator_identity_hash: []const u8,    transport_identity_hash: []const u8,    responder_identity_hash: []const u8,    rebroadcast_clock: u64,    rebroadcast_raw: []const u8,    retry_clock: u64,    retry_raw: []const u8,    request_clock: u64,    link_id: []const u8,    initiator_encryption_private_key: []const u8,    initiator_signing_private_key: []const u8,    request_raw: []const u8,    stripped_raw: []const u8,    responder_entropy: []const u8,    responder_encryption_private_key: []const u8,    proof_raw: []const u8,    relayed_proof_raw: []const u8,    proof_clock: u64,    rtt_entropy: []const u8,    rtt_iv: []const u8,    rtt_plaintext: []const u8,    rtt_raw: []const u8,    relayed_rtt_raw: []const u8,    data_clock: u64,    data_iv: []const u8,    data_plaintext: []const u8,    data_raw: []const u8,    relayed_data_raw: []const u8,    data_proof_raw: []const u8,    relayed_data_proof_raw: []const u8,    answer_clock: u64,    answer_iv: []const u8,    answer_plaintext: []const u8,    answer_raw: []const u8,    relayed_answer_raw: []const u8,    answer_proof_raw: []const u8,    relayed_answer_proof_raw: []const u8,    keepalive_clock: u64,    keepalive_raw: []const u8,    relayed_keepalive_raw: []const u8,    keepalive_answer_raw: []const u8,    relayed_keepalive_answer_raw: []const u8,    close_clock: u64,    close_iv: []const u8,    close_raw: []const u8,    relayed_close_raw: []const u8,};pub const session_vectors: []const SessionVector = &.{    .{        .name = "link-session",        .announce_clock = 1700000300,        .announce_raw = &.{            0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,            0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,            0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,            0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,            0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,            0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,            0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,            0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,            0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,            0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,            0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,            0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,            0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,            0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,        },        .destination_hash = &.{            0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8,            0x49, 0xc0, 0xe3, 0x16,        },        .destination_private_key = &.{            0x08, 0x72, 0xe9, 0xdf, 0xd8, 0x6b, 0x82, 0xfc, 0xc5, 0x2d, 0x1a, 0x61,            0xf8, 0x7d, 0x72, 0x6e, 0x5a, 0x19, 0x3c, 0xfc, 0xc6, 0xab, 0x3b, 0x26,            0x25, 0xa6, 0x8c, 0xe2, 0xe9, 0x15, 0x15, 0x48, 0x54, 0x0a, 0xc4, 0xa5,            0x8a, 0xc0, 0x1c, 0x61, 0x8e, 0xed, 0x0a, 0x8a, 0xe3, 0xe3, 0xf7, 0x1a,            0xa5, 0xfb, 0xf0, 0x0e, 0xb1, 0x17, 0x19, 0x25, 0x7c, 0x4f, 0xe7, 0x0c,            0xf3, 0xdc, 0xaf, 0xcd,        },    },};pub const vectors: []const Vector = &.{    .{        .name = "link-request",        .node = "initiator",        .clock = 1700000301,        .input_raw = &.{},        .entropy = &.{},        .encryption_private_key = &.{            0x0a, 0x88, 0x04, 0x4a, 0x3e, 0x94, 0x83, 0x75, 0x71, 0x76, 0x14, 0x22,            0x4f, 0x74, 0x3f, 0xcc, 0x2f, 0x04, 0x12, 0x7b, 0x03, 0xc2, 0x08, 0xab,            0xf2, 0x06, 0xdb, 0x08, 0xf4, 0x4a, 0x65, 0xf6,        },        .signing_private_key = &.{            0xcd, 0x7a, 0xd4, 0xaa, 0x70, 0x91, 0xe3, 0x03, 0xdb, 0xa3, 0xf1, 0x61,            0x03, 0xc0, 0x3c, 0x67, 0x8f, 0x6a, 0xd6, 0xb8, 0x32, 0xb1, 0xd6, 0x1b,            0x0b, 0x27, 0x30, 0xac, 0xf0, 0x20, 0xd5, 0x79,        },        .iv = &.{},        .plaintext = &.{            0x10, 0xf3, 0x8c, 0xc9, 0xdd, 0x40, 0xce, 0xe4, 0x6c, 0x2a, 0x4b, 0x1f,            0x78, 0x2c, 0x58, 0x90, 0xe1, 0x0b, 0xa3, 0x46, 0x99, 0xee, 0xc9, 0x53,            0xac, 0xd6, 0xde, 0x44, 0xc0, 0x26, 0x99, 0x7b, 0x46, 0xca, 0x63, 0xd4,            0xe7, 0xaf, 0xfc, 0x90, 0x8b, 0xce, 0x14, 0xa3, 0x45, 0x71, 0x37, 0xef,            0xf0, 0x71, 0xce, 0x7c, 0x2b, 0x8a, 0x78, 0xe1, 0x0f, 0xcc, 0xf6, 0x16,            0x84, 0x48, 0x7d, 0xfa, 0x20, 0x01, 0xf4,        },        .output_raw = &.{            0x02, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,            0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x10, 0xf3, 0x8c, 0xc9, 0xdd,            0x40, 0xce, 0xe4, 0x6c, 0x2a, 0x4b, 0x1f, 0x78, 0x2c, 0x58, 0x90, 0xe1,            0x0b, 0xa3, 0x46, 0x99, 0xee, 0xc9, 0x53, 0xac, 0xd6, 0xde, 0x44, 0xc0,            0x26, 0x99, 0x7b, 0x46, 0xca, 0x63, 0xd4, 0xe7, 0xaf, 0xfc, 0x90, 0x8b,            0xce, 0x14, 0xa3, 0x45, 0x71, 0x37, 0xef, 0xf0, 0x71, 0xce, 0x7c, 0x2b,            0x8a, 0x78, 0xe1, 0x0f, 0xcc, 0xf6, 0x16, 0x84, 0x48, 0x7d, 0xfa, 0x20,            0x01, 0xf4,        },        .link_id = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .packet_hash = &.{            0x1b, 0x9d, 0x4a, 0x28, 0x02, 0x82, 0x5c, 0x3a, 0x92, 0xce, 0x00, 0xa8,            0x44, 0xc5, 0x9e, 0x67, 0x5f, 0x99, 0xda, 0x82, 0x70, 0x1f, 0xc6, 0xd3,            0xea, 0x69, 0xe6, 0xd9, 0x84, 0xdd, 0x7b, 0xc1,        },    },    .{        .name = "link-proof",        .node = "responder",        .clock = 1700000301,        .input_raw = &.{            0x02, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,            0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x10, 0xf3, 0x8c, 0xc9, 0xdd,            0x40, 0xce, 0xe4, 0x6c, 0x2a, 0x4b, 0x1f, 0x78, 0x2c, 0x58, 0x90, 0xe1,            0x0b, 0xa3, 0x46, 0x99, 0xee, 0xc9, 0x53, 0xac, 0xd6, 0xde, 0x44, 0xc0,            0x26, 0x99, 0x7b, 0x46, 0xca, 0x63, 0xd4, 0xe7, 0xaf, 0xfc, 0x90, 0x8b,            0xce, 0x14, 0xa3, 0x45, 0x71, 0x37, 0xef, 0xf0, 0x71, 0xce, 0x7c, 0x2b,            0x8a, 0x78, 0xe1, 0x0f, 0xcc, 0xf6, 0x16, 0x84, 0x48, 0x7d, 0xfa, 0x20,            0x01, 0xf4,        },        .entropy = &.{            0xeb, 0xbc, 0x1b, 0xea, 0xc0, 0xb6, 0x73, 0x72, 0x7b, 0x50, 0x33, 0xa6,            0x41, 0x96, 0xdf, 0x38, 0x17, 0x3e, 0xc0, 0xe4, 0x72, 0xa9, 0x41, 0x16,            0x16, 0xe2, 0x3b, 0xac, 0x49, 0xa0, 0x0e, 0x3c,        },        .encryption_private_key = &.{            0x05, 0x19, 0x34, 0x20, 0x96, 0x6b, 0xab, 0x7e, 0x23, 0x14, 0x9a, 0xf3,            0x8e, 0xad, 0x67, 0x4f, 0x73, 0x38, 0x75, 0xd8, 0x88, 0xe8, 0x2b, 0x79,            0xba, 0xb2, 0xe9, 0x52, 0x83, 0xdc, 0xae, 0xb7,        },        .signing_private_key = &.{},        .iv = &.{},        .plaintext = &.{            0x0f, 0xcc, 0x6d, 0x3d, 0xb9, 0x31, 0xa6, 0xe3, 0xfd, 0x8d, 0xfd, 0xea,            0x07, 0x91, 0x78, 0xcd, 0xba, 0xc0, 0x9d, 0x2b, 0x85, 0x63, 0xb3, 0xb9,            0xbf, 0xf6, 0x39, 0xfd, 0xf6, 0x64, 0x0d, 0xd6, 0xe0, 0x39, 0x31, 0x7c,            0x0e, 0x98, 0xaa, 0x4e, 0x28, 0xa5, 0x55, 0x8b, 0x82, 0xf8, 0x7c, 0xb6,            0x88, 0x4d, 0xf8, 0x39, 0x17, 0xd7, 0xa0, 0xdb, 0xf0, 0xf3, 0x34, 0xce,            0x80, 0xe0, 0x75, 0x06, 0x95, 0x25, 0xbd, 0xb8, 0x3d, 0x64, 0x56, 0xd1,            0x1a, 0x11, 0x3e, 0x4b, 0x00, 0xe6, 0xea, 0x52, 0x71, 0x8c, 0x73, 0x9b,            0x48, 0xc8, 0x22, 0xb6, 0x1d, 0x8a, 0x9b, 0x73, 0xd1, 0xa3, 0xf6, 0x63,            0x20, 0x01, 0xf4,        },        .output_raw = &.{            0x0f, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0xff, 0x0f, 0xcc, 0x6d, 0x3d, 0xb9,            0x31, 0xa6, 0xe3, 0xfd, 0x8d, 0xfd, 0xea, 0x07, 0x91, 0x78, 0xcd, 0xba,            0xc0, 0x9d, 0x2b, 0x85, 0x63, 0xb3, 0xb9, 0xbf, 0xf6, 0x39, 0xfd, 0xf6,            0x64, 0x0d, 0xd6, 0xe0, 0x39, 0x31, 0x7c, 0x0e, 0x98, 0xaa, 0x4e, 0x28,            0xa5, 0x55, 0x8b, 0x82, 0xf8, 0x7c, 0xb6, 0x88, 0x4d, 0xf8, 0x39, 0x17,            0xd7, 0xa0, 0xdb, 0xf0, 0xf3, 0x34, 0xce, 0x80, 0xe0, 0x75, 0x06, 0x95,            0x25, 0xbd, 0xb8, 0x3d, 0x64, 0x56, 0xd1, 0x1a, 0x11, 0x3e, 0x4b, 0x00,            0xe6, 0xea, 0x52, 0x71, 0x8c, 0x73, 0x9b, 0x48, 0xc8, 0x22, 0xb6, 0x1d,            0x8a, 0x9b, 0x73, 0xd1, 0xa3, 0xf6, 0x63, 0x20, 0x01, 0xf4,        },        .link_id = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .packet_hash = &.{            0xcb, 0x8c, 0x5c, 0xf7, 0x1f, 0x56, 0x34, 0xd4, 0x0b, 0xe8, 0x96, 0x56,            0x6e, 0xce, 0x95, 0x88, 0x20, 0xcb, 0x3e, 0x8f, 0xcb, 0xed, 0x1c, 0x6f,            0x7d, 0x31, 0xf5, 0xc1, 0x01, 0xb1, 0x59, 0x5c,        },    },    .{        .name = "link-rtt",        .node = "initiator",        .clock = 1700000302,        .input_raw = &.{            0x0f, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0xff, 0x0f, 0xcc, 0x6d, 0x3d, 0xb9,            0x31, 0xa6, 0xe3, 0xfd, 0x8d, 0xfd, 0xea, 0x07, 0x91, 0x78, 0xcd, 0xba,            0xc0, 0x9d, 0x2b, 0x85, 0x63, 0xb3, 0xb9, 0xbf, 0xf6, 0x39, 0xfd, 0xf6,            0x64, 0x0d, 0xd6, 0xe0, 0x39, 0x31, 0x7c, 0x0e, 0x98, 0xaa, 0x4e, 0x28,            0xa5, 0x55, 0x8b, 0x82, 0xf8, 0x7c, 0xb6, 0x88, 0x4d, 0xf8, 0x39, 0x17,            0xd7, 0xa0, 0xdb, 0xf0, 0xf3, 0x34, 0xce, 0x80, 0xe0, 0x75, 0x06, 0x95,            0x25, 0xbd, 0xb8, 0x3d, 0x64, 0x56, 0xd1, 0x1a, 0x11, 0x3e, 0x4b, 0x00,            0xe6, 0xea, 0x52, 0x71, 0x8c, 0x73, 0x9b, 0x48, 0xc8, 0x22, 0xb6, 0x1d,            0x8a, 0x9b, 0x73, 0xd1, 0xa3, 0xf6, 0x63, 0x20, 0x01, 0xf4,        },        .entropy = &.{            0x74, 0x1b, 0xa0, 0x51, 0x03, 0x64, 0xb7, 0xbf, 0x70, 0x76, 0x32, 0x0b,            0xb2, 0x0a, 0xb8, 0xef, 0xea, 0x29, 0x1c, 0xbe, 0x31, 0x76, 0xd8, 0xf7,            0x83, 0xed, 0x2c, 0x37, 0x67, 0xef, 0x5a, 0x8d,        },        .encryption_private_key = &.{},        .signing_private_key = &.{},        .iv = &.{            0x43, 0x38, 0xf0, 0xb8, 0xe9, 0xd7, 0x30, 0x0a, 0x9c, 0x64, 0x54, 0x00,            0xc5, 0xeb, 0xb3, 0xbd,        },        .plaintext = &.{            0xcb, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,        },        .output_raw = &.{            0x0c, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0xfe, 0x43, 0x38, 0xf0, 0xb8, 0xe9,            0xd7, 0x30, 0x0a, 0x9c, 0x64, 0x54, 0x00, 0xc5, 0xeb, 0xb3, 0xbd, 0x39,            0xb5, 0x0d, 0x0f, 0x9e, 0x64, 0x88, 0xe0, 0x04, 0xff, 0x2f, 0xff, 0x19,            0x68, 0x8b, 0x7c, 0x03, 0xd4, 0xdc, 0xf3, 0xe4, 0x2a, 0xad, 0x15, 0xd0,            0x89, 0x51, 0x9f, 0xd4, 0xce, 0xae, 0x8a, 0x4e, 0x17, 0xb7, 0x8a, 0xa3,            0xa0, 0x58, 0x7f, 0x8b, 0x4c, 0x8b, 0xb0, 0xf4, 0x59, 0x00, 0xa5,        },        .link_id = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .packet_hash = &.{            0x73, 0xc9, 0x64, 0x23, 0xa7, 0xcb, 0x7a, 0x8e, 0xbe, 0xd1, 0xa3, 0xe9,            0x48, 0xbb, 0x82, 0x09, 0x38, 0xe5, 0x42, 0x39, 0x8c, 0x7e, 0x6e, 0x6a,            0x3c, 0xb3, 0x5b, 0x8c, 0x1e, 0x5c, 0xd2, 0x0c,        },    },    .{        .name = "link-data",        .node = "initiator",        .clock = 1700000303,        .input_raw = &.{},        .entropy = &.{},        .encryption_private_key = &.{},        .signing_private_key = &.{},        .iv = &.{            0x29, 0x80, 0x9b, 0x2a, 0x8c, 0xbf, 0x14, 0xbd, 0xf4, 0x75, 0xd8, 0x0f,            0xeb, 0x6b, 0xab, 0x17,        },        .plaintext = &.{            0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x64, 0x61, 0x74, 0x61,        },        .output_raw = &.{            0x0c, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0x00, 0x29, 0x80, 0x9b, 0x2a, 0x8c,            0xbf, 0x14, 0xbd, 0xf4, 0x75, 0xd8, 0x0f, 0xeb, 0x6b, 0xab, 0x17, 0x77,            0x34, 0xb3, 0x17, 0xa6, 0x71, 0x77, 0xcf, 0x10, 0x69, 0xd0, 0xef, 0xe8,            0xd2, 0x57, 0xc2, 0x56, 0x50, 0x1c, 0x8c, 0x1d, 0xb4, 0x84, 0x71, 0xaf,            0xde, 0x45, 0x71, 0x99, 0xd4, 0xe6, 0x9d, 0x03, 0x6a, 0x90, 0x0b, 0x27,            0xc5, 0xce, 0x68, 0xad, 0x14, 0x01, 0x37, 0x7c, 0x62, 0xf6, 0x18,        },        .link_id = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .packet_hash = &.{            0xe4, 0x95, 0x10, 0x12, 0x36, 0xcc, 0x60, 0x75, 0x97, 0x0c, 0x55, 0x42,            0x95, 0x31, 0xe4, 0x86, 0x71, 0x59, 0x0b, 0x67, 0x11, 0xe7, 0xdf, 0x31,            0x0d, 0xc8, 0x27, 0xf4, 0x91, 0x01, 0xb5, 0x21,        },    },    .{        .name = "link-data-proof",        .node = "responder",        .clock = 1700000303,        .input_raw = &.{            0x0c, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0x00, 0x29, 0x80, 0x9b, 0x2a, 0x8c,            0xbf, 0x14, 0xbd, 0xf4, 0x75, 0xd8, 0x0f, 0xeb, 0x6b, 0xab, 0x17, 0x77,            0x34, 0xb3, 0x17, 0xa6, 0x71, 0x77, 0xcf, 0x10, 0x69, 0xd0, 0xef, 0xe8,            0xd2, 0x57, 0xc2, 0x56, 0x50, 0x1c, 0x8c, 0x1d, 0xb4, 0x84, 0x71, 0xaf,            0xde, 0x45, 0x71, 0x99, 0xd4, 0xe6, 0x9d, 0x03, 0x6a, 0x90, 0x0b, 0x27,            0xc5, 0xce, 0x68, 0xad, 0x14, 0x01, 0x37, 0x7c, 0x62, 0xf6, 0x18,        },        .entropy = &.{},        .encryption_private_key = &.{},        .signing_private_key = &.{},        .iv = &.{},        .plaintext = &.{            0xe4, 0x95, 0x10, 0x12, 0x36, 0xcc, 0x60, 0x75, 0x97, 0x0c, 0x55, 0x42,            0x95, 0x31, 0xe4, 0x86, 0x71, 0x59, 0x0b, 0x67, 0x11, 0xe7, 0xdf, 0x31,            0x0d, 0xc8, 0x27, 0xf4, 0x91, 0x01, 0xb5, 0x21, 0xd8, 0x03, 0xbb, 0x4a,            0x94, 0x3d, 0xc7, 0xe9, 0xf3, 0x28, 0x56, 0x64, 0xe5, 0xfd, 0x9f, 0x03,            0xe4, 0xd3, 0x0d, 0x86, 0xa3, 0x93, 0xbc, 0xa8, 0xc7, 0x92, 0x5f, 0x4f,            0x9a, 0xa2, 0x91, 0xba, 0x23, 0x2a, 0xc6, 0x7a, 0xd9, 0x8a, 0xca, 0x1e,            0xd1, 0x22, 0xdf, 0x2a, 0xfb, 0x80, 0x38, 0x76, 0xc1, 0xdf, 0x86, 0xa2,            0xe1, 0xe8, 0xa1, 0xc8, 0x7a, 0xa3, 0x3f, 0xf9, 0x1a, 0x98, 0x59, 0x0a,        },        .output_raw = &.{            0x0f, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0x00, 0xe4, 0x95, 0x10, 0x12, 0x36,            0xcc, 0x60, 0x75, 0x97, 0x0c, 0x55, 0x42, 0x95, 0x31, 0xe4, 0x86, 0x71,            0x59, 0x0b, 0x67, 0x11, 0xe7, 0xdf, 0x31, 0x0d, 0xc8, 0x27, 0xf4, 0x91,            0x01, 0xb5, 0x21, 0xd8, 0x03, 0xbb, 0x4a, 0x94, 0x3d, 0xc7, 0xe9, 0xf3,            0x28, 0x56, 0x64, 0xe5, 0xfd, 0x9f, 0x03, 0xe4, 0xd3, 0x0d, 0x86, 0xa3,            0x93, 0xbc, 0xa8, 0xc7, 0x92, 0x5f, 0x4f, 0x9a, 0xa2, 0x91, 0xba, 0x23,            0x2a, 0xc6, 0x7a, 0xd9, 0x8a, 0xca, 0x1e, 0xd1, 0x22, 0xdf, 0x2a, 0xfb,            0x80, 0x38, 0x76, 0xc1, 0xdf, 0x86, 0xa2, 0xe1, 0xe8, 0xa1, 0xc8, 0x7a,            0xa3, 0x3f, 0xf9, 0x1a, 0x98, 0x59, 0x0a,        },        .link_id = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .packet_hash = &.{            0x9e, 0xcc, 0x80, 0x3a, 0x19, 0x17, 0xd1, 0xe5, 0x07, 0x62, 0x50, 0x9a,            0xfe, 0xf3, 0xbd, 0x5a, 0x6b, 0x95, 0xd6, 0xa6, 0xcb, 0x7b, 0x69, 0xc8,            0x81, 0x09, 0x7a, 0xf4, 0x45, 0x6b, 0x62, 0x88,        },    },    .{        .name = "link-keepalive",        .node = "initiator",        .clock = 1700000509,        .input_raw = &.{},        .entropy = &.{},        .encryption_private_key = &.{},        .signing_private_key = &.{},        .iv = &.{},        .plaintext = &.{0xff},        .output_raw = &.{            0x0c, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0xfa, 0xff,        },        .link_id = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .packet_hash = &.{            0xfb, 0x75, 0xf1, 0x89, 0x3f, 0xbe, 0x06, 0xc2, 0xe0, 0x0a, 0xbd, 0xac,            0x55, 0x74, 0xa6, 0x56, 0x79, 0x7a, 0x41, 0x0b, 0x11, 0xc7, 0xab, 0xbd,            0xfb, 0xad, 0xf4, 0x7b, 0x91, 0xb8, 0x9c, 0x6a,        },    },    .{        .name = "link-keepalive-answer",        .node = "responder",        .clock = 1700000509,        .input_raw = &.{            0x0c, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0xfa, 0xff,        },        .entropy = &.{},        .encryption_private_key = &.{},        .signing_private_key = &.{},        .iv = &.{},        .plaintext = &.{0xfe},        .output_raw = &.{            0x0c, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0xfa, 0xfe,        },        .link_id = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .packet_hash = &.{            0x52, 0x73, 0x92, 0xf0, 0x51, 0xe6, 0xad, 0xca, 0x8f, 0x95, 0xd2, 0x68,            0x58, 0x84, 0x8a, 0xf0, 0xd5, 0x96, 0x90, 0xea, 0x30, 0x20, 0x6e, 0x10,            0xbb, 0x82, 0xea, 0x4c, 0xda, 0xc0, 0xcf, 0xa8,        },    },    .{        .name = "link-close",        .node = "initiator",        .clock = 1700000510,        .input_raw = &.{},        .entropy = &.{},        .encryption_private_key = &.{},        .signing_private_key = &.{},        .iv = &.{            0x46, 0x5e, 0xab, 0x88, 0x5e, 0xd0, 0x0e, 0x76, 0xb6, 0x14, 0x73, 0x4e,            0xd6, 0x20, 0xc2, 0x52,        },        .plaintext = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .output_raw = &.{            0x0c, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0xfc, 0x46, 0x5e, 0xab, 0x88, 0x5e,            0xd0, 0x0e, 0x76, 0xb6, 0x14, 0x73, 0x4e, 0xd6, 0x20, 0xc2, 0x52, 0x34,            0x7d, 0x34, 0x71, 0x6b, 0x1d, 0x90, 0xa9, 0x01, 0x62, 0xdf, 0xbe, 0xeb,            0x43, 0x4e, 0x0c, 0x29, 0xa5, 0x30, 0x28, 0xed, 0x20, 0xea, 0x89, 0xe5,            0x03, 0xe8, 0x67, 0x08, 0x83, 0x4a, 0xd6, 0x19, 0x1b, 0x97, 0xe7, 0xa6,            0xef, 0x5a, 0x6d, 0xe4, 0x44, 0x64, 0x58, 0xd5, 0x5d, 0x4b, 0x76, 0xab,            0x40, 0x41, 0xc4, 0x73, 0xd0, 0xe9, 0x16, 0x1d, 0x26, 0x6b, 0xe3, 0xf9,            0x73, 0x9a, 0xda,        },        .link_id = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .packet_hash = &.{            0xe6, 0x08, 0x36, 0xec, 0xeb, 0x77, 0xa7, 0x9e, 0x78, 0x11, 0x16, 0x0f,            0xc3, 0xf1, 0x62, 0x6f, 0xe3, 0x67, 0xfa, 0x9b, 0xba, 0x31, 0x00, 0x73,            0x5b, 0xc9, 0xc6, 0xe4, 0x68, 0x8d, 0x10, 0x0a,        },    },    .{        .name = "link-request-stripped",        .node = "responder",        .clock = 1700000301,        .input_raw = &.{            0x02, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,            0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x10, 0xf3, 0x8c, 0xc9, 0xdd,            0x40, 0xce, 0xe4, 0x6c, 0x2a, 0x4b, 0x1f, 0x78, 0x2c, 0x58, 0x90, 0xe1,            0x0b, 0xa3, 0x46, 0x99, 0xee, 0xc9, 0x53, 0xac, 0xd6, 0xde, 0x44, 0xc0,            0x26, 0x99, 0x7b, 0x46, 0xca, 0x63, 0xd4, 0xe7, 0xaf, 0xfc, 0x90, 0x8b,            0xce, 0x14, 0xa3, 0x45, 0x71, 0x37, 0xef, 0xf0, 0x71, 0xce, 0x7c, 0x2b,            0x8a, 0x78, 0xe1, 0x0f, 0xcc, 0xf6, 0x16, 0x84, 0x48, 0x7d, 0xfa,        },        .entropy = &.{            0x4e, 0x22, 0x21, 0x45, 0x73, 0x71, 0x58, 0xdc, 0x56, 0x75, 0xf3, 0xc5,            0xdd, 0x90, 0x0e, 0x46, 0x31, 0x72, 0x64, 0x28, 0x8d, 0x9b, 0x78, 0x54,            0xaa, 0xd9, 0xd4, 0x3f, 0x25, 0x00, 0x45, 0xcd,        },        .encryption_private_key = &.{            0xf8, 0xbd, 0x93, 0xd8, 0xd0, 0x8c, 0xc9, 0x84, 0xa7, 0x79, 0x44, 0x9b,            0x7d, 0x12, 0x74, 0x1d, 0x13, 0xd3, 0x7d, 0xef, 0x79, 0x74, 0xb4, 0x34,            0x1c, 0xcb, 0x73, 0x66, 0xef, 0xdb, 0x4a, 0x82,        },        .signing_private_key = &.{},        .iv = &.{},        .plaintext = &.{            0xf9, 0xba, 0x05, 0x68, 0x3a, 0x96, 0x99, 0x8d, 0x3d, 0xd2, 0x0d, 0x13,            0x8c, 0xaf, 0x02, 0x4a, 0xab, 0x4d, 0x0b, 0xf8, 0x93, 0x58, 0x0e, 0x29,            0xf5, 0x45, 0x92, 0x31, 0x6b, 0x3b, 0xec, 0x05, 0x58, 0xce, 0x5c, 0x5d,            0xd6, 0x1c, 0x03, 0xa3, 0xcb, 0x3c, 0x90, 0x54, 0x99, 0xfc, 0x3f, 0x29,            0x2e, 0x01, 0x9d, 0x2a, 0x7d, 0x1f, 0xef, 0xd4, 0xaa, 0x2e, 0xa2, 0xb5,            0x9c, 0x74, 0x45, 0x0f, 0x51, 0xfc, 0xfb, 0x0d, 0xfd, 0x34, 0x00, 0x2f,            0xf5, 0x47, 0xcd, 0xa2, 0xd6, 0x50, 0xc5, 0x42, 0xec, 0xcf, 0xa4, 0xc0,            0xc7, 0x72, 0x68, 0x29, 0xfb, 0x66, 0x4d, 0x47, 0xf0, 0x2d, 0x7e, 0x3c,            0x20, 0x01, 0xf4,        },        .output_raw = &.{            0x0f, 0x00, 0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36,            0x11, 0xf4, 0x58, 0xcb, 0x4c, 0x9d, 0xff, 0xf9, 0xba, 0x05, 0x68, 0x3a,            0x96, 0x99, 0x8d, 0x3d, 0xd2, 0x0d, 0x13, 0x8c, 0xaf, 0x02, 0x4a, 0xab,            0x4d, 0x0b, 0xf8, 0x93, 0x58, 0x0e, 0x29, 0xf5, 0x45, 0x92, 0x31, 0x6b,            0x3b, 0xec, 0x05, 0x58, 0xce, 0x5c, 0x5d, 0xd6, 0x1c, 0x03, 0xa3, 0xcb,            0x3c, 0x90, 0x54, 0x99, 0xfc, 0x3f, 0x29, 0x2e, 0x01, 0x9d, 0x2a, 0x7d,            0x1f, 0xef, 0xd4, 0xaa, 0x2e, 0xa2, 0xb5, 0x9c, 0x74, 0x45, 0x0f, 0x51,            0xfc, 0xfb, 0x0d, 0xfd, 0x34, 0x00, 0x2f, 0xf5, 0x47, 0xcd, 0xa2, 0xd6,            0x50, 0xc5, 0x42, 0xec, 0xcf, 0xa4, 0xc0, 0xc7, 0x72, 0x68, 0x29, 0xfb,            0x66, 0x4d, 0x47, 0xf0, 0x2d, 0x7e, 0x3c, 0x20, 0x01, 0xf4,        },        .link_id = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .packet_hash = &.{            0x5b, 0xdf, 0xf7, 0x57, 0x49, 0x4e, 0x64, 0x20, 0x93, 0x4f, 0xaf, 0x09,            0x93, 0x69, 0xe9, 0xfb, 0x67, 0x2d, 0x2e, 0x2c, 0x37, 0x72, 0xf6, 0x50,            0x15, 0x57, 0x9b, 0x09, 0xc5, 0xb0, 0x03, 0xf0,        },    },};pub const key_vectors: []const KeyVector = &.{    .{        .name = "link-key",        .initiator_encryption_private_key = &.{            0x0a, 0x88, 0x04, 0x4a, 0x3e, 0x94, 0x83, 0x75, 0x71, 0x76, 0x14, 0x22,            0x4f, 0x74, 0x3f, 0xcc, 0x2f, 0x04, 0x12, 0x7b, 0x03, 0xc2, 0x08, 0xab,            0xf2, 0x06, 0xdb, 0x08, 0xf4, 0x4a, 0x65, 0xf6,        },        .responder_encryption_private_key = &.{            0x05, 0x19, 0x34, 0x20, 0x96, 0x6b, 0xab, 0x7e, 0x23, 0x14, 0x9a, 0xf3,            0x8e, 0xad, 0x67, 0x4f, 0x73, 0x38, 0x75, 0xd8, 0x88, 0xe8, 0x2b, 0x79,            0xba, 0xb2, 0xe9, 0x52, 0x83, 0xdc, 0xae, 0xb7,        },        .link_id = &.{            0x12, 0xbf, 0x81, 0x44, 0xbb, 0xce, 0x7d, 0x18, 0x1b, 0x36, 0x11, 0xf4,            0x58, 0xcb, 0x4c, 0x9d,        },        .shared_key = &.{            0x5b, 0xc9, 0x41, 0x8e, 0x08, 0x78, 0xe7, 0xed, 0x7e, 0x40, 0xd4, 0x7c,            0x12, 0xea, 0xe0, 0xf6, 0xda, 0xd4, 0x3f, 0x30, 0xb4, 0x31, 0xd7, 0x0a,            0x0f, 0x95, 0x4f, 0x40, 0xfb, 0x55, 0x73, 0x5c,        },        .derived_key = &.{            0x84, 0x7b, 0x69, 0x78, 0xd3, 0x85, 0xc7, 0xf7, 0x9e, 0xef, 0x23, 0xd5,            0x46, 0x5e, 0x1f, 0x98, 0x87, 0xce, 0x84, 0x3f, 0x9d, 0xd3, 0xf6, 0x40,            0xbe, 0xae, 0x0a, 0x16, 0x55, 0x25, 0x99, 0xc4, 0x8c, 0xa5, 0x02, 0x0f,            0xdd, 0xaa, 0x62, 0xe0, 0xea, 0x2f, 0xd8, 0x81, 0x4e, 0x14, 0xf7, 0x7a,            0x8e, 0x43, 0x14, 0xb0, 0x77, 0x84, 0xbb, 0x08, 0x78, 0x46, 0x84, 0x21,            0xda, 0x6e, 0xc7, 0x82,        },    },};pub const relay_vectors: []const RelayVector = &.{    .{        .name = "transport-link-request-insert",        .identity_hash = &.{            0x1c, 0x1d, 0x4c, 0xee, 0xca, 0xba, 0x5e, 0xcd, 0x83, 0x3e, 0x99, 0xab,            0xe6, 0x93, 0x37, 0x0a,        },        .interfaces = 2,        .announce_raw = &.{            0x51, 0x01, 0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78,            0xb0, 0x93, 0xe6, 0x08, 0x9c, 0x3e, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,            0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,            0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,            0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,            0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,            0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,            0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,            0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,            0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,            0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,            0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,            0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,            0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,            0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,            0xcb, 0x06, 0x0f,        },        .announce_interface = 0,        .announce_clock = 1700000001,        .request_raw = &.{},        .request_interface = 0,        .request_clock = 0,        .proof_raw = &.{},        .proof_interface = 0,        .proof_clock = 0,        .input_raw = &.{},        .input_interface = 0,        .input_clock = 1700000020,        .entropy = &.{},        .encryption_private_key = &.{            0x9d, 0x11, 0x48, 0x0a, 0x52, 0xa6, 0x0b, 0x08, 0x24, 0xaa, 0x00, 0xfa,            0x63, 0x0c, 0x23, 0x94, 0x17, 0x75, 0xaa, 0x23, 0xec, 0xc5, 0x88, 0xa7,            0xe7, 0xd4, 0x59, 0x6b, 0x35, 0xf9, 0xd5, 0x85,        },        .signing_private_key = &.{            0x4a, 0x9a, 0xea, 0x3c, 0x71, 0x20, 0xde, 0x0c, 0x5f, 0xb7, 0x5a, 0x86,            0x30, 0x92, 0x6a, 0x45, 0xef, 0x9f, 0xef, 0xce, 0xf2, 0x44, 0x07, 0x13,            0x0e, 0x68, 0x16, 0x13, 0x2f, 0x35, 0x1f, 0xec,        },        .output_interface = 0,        .output_raw = &.{            0x52, 0x00, 0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78,            0xb0, 0x93, 0xe6, 0x08, 0x9c, 0x3e, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,            0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x67,            0x91, 0xfa, 0xa6, 0x25, 0x13, 0x90, 0x1c, 0xc6, 0xdc, 0x37, 0xff, 0x5e,            0x0d, 0xac, 0x65, 0x94, 0x87, 0x03, 0xc2, 0x20, 0x2f, 0x9e, 0x4f, 0x34,            0x51, 0x52, 0x20, 0x00, 0x89, 0x88, 0x2c, 0x97, 0x3d, 0xf0, 0x7e, 0x19,            0x59, 0x7f, 0x8f, 0x1a, 0x7e, 0x8b, 0xc1, 0x68, 0xf9, 0xc4, 0x31, 0x6e,            0x28, 0xd7, 0x83, 0x9c, 0x39, 0xd3, 0xca, 0xa6, 0xc7, 0xea, 0x68, 0xba,            0xff, 0x3f, 0xac, 0x20, 0x01, 0xf4,        },        .link_id = &.{            0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78, 0x65, 0x4a,            0x15, 0x78, 0x2f, 0x38,        },        .transport_id = &.{            0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78, 0xb0, 0x93,            0xe6, 0x08, 0x9c, 0x3e,        },        .hops = 0,        .context = 0,        .context_flag = 0,        .packet_hash = &.{            0xd7, 0x92, 0xe0, 0xdb, 0x24, 0x52, 0x8b, 0x3e, 0x71, 0x6e, 0x41, 0x28,            0x25, 0x25, 0x91, 0xd9, 0x90, 0x8c, 0xed, 0x5d, 0x0c, 0x56, 0xe6, 0x04,            0xd8, 0xfa, 0xd5, 0xee, 0x6a, 0x28, 0x57, 0x41,        },    },    .{        .name = "transport-link-request-strip",        .identity_hash = &.{            0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78, 0xb0, 0x93,            0xe6, 0x08, 0x9c, 0x3e,        },        .interfaces = 2,        .announce_raw = &.{            0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,            0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,            0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,            0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,            0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,            0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,            0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,            0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,            0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,            0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,            0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,            0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,            0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,            0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,        },        .announce_interface = 1,        .announce_clock = 1700000000,        .request_raw = &.{},        .request_interface = 0,        .request_clock = 0,        .proof_raw = &.{},        .proof_interface = 0,        .proof_clock = 0,        .input_raw = &.{            0x52, 0x00, 0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78,            0xb0, 0x93, 0xe6, 0x08, 0x9c, 0x3e, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,            0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x67,            0x91, 0xfa, 0xa6, 0x25, 0x13, 0x90, 0x1c, 0xc6, 0xdc, 0x37, 0xff, 0x5e,            0x0d, 0xac, 0x65, 0x94, 0x87, 0x03, 0xc2, 0x20, 0x2f, 0x9e, 0x4f, 0x34,            0x51, 0x52, 0x20, 0x00, 0x89, 0x88, 0x2c, 0x97, 0x3d, 0xf0, 0x7e, 0x19,            0x59, 0x7f, 0x8f, 0x1a, 0x7e, 0x8b, 0xc1, 0x68, 0xf9, 0xc4, 0x31, 0x6e,            0x28, 0xd7, 0x83, 0x9c, 0x39, 0xd3, 0xca, 0xa6, 0xc7, 0xea, 0x68, 0xba,            0xff, 0x3f, 0xac, 0x20, 0x01, 0xf4,        },        .input_interface = 0,        .input_clock = 1700000020,        .entropy = &.{},        .encryption_private_key = &.{},        .signing_private_key = &.{},        .output_interface = 1,        .output_raw = &.{            0x02, 0x01, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,            0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x67, 0x91, 0xfa, 0xa6, 0x25,            0x13, 0x90, 0x1c, 0xc6, 0xdc, 0x37, 0xff, 0x5e, 0x0d, 0xac, 0x65, 0x94,            0x87, 0x03, 0xc2, 0x20, 0x2f, 0x9e, 0x4f, 0x34, 0x51, 0x52, 0x20, 0x00,            0x89, 0x88, 0x2c, 0x97, 0x3d, 0xf0, 0x7e, 0x19, 0x59, 0x7f, 0x8f, 0x1a,            0x7e, 0x8b, 0xc1, 0x68, 0xf9, 0xc4, 0x31, 0x6e, 0x28, 0xd7, 0x83, 0x9c,            0x39, 0xd3, 0xca, 0xa6, 0xc7, 0xea, 0x68, 0xba, 0xff, 0x3f, 0xac,        },        .link_id = &.{            0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78, 0x65, 0x4a,            0x15, 0x78, 0x2f, 0x38,        },        .transport_id = &.{},        .hops = 1,        .context = 0,        .context_flag = 0,        .packet_hash = &.{            0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78, 0x65, 0x4a,            0x15, 0x78, 0x2f, 0x38, 0x66, 0x79, 0x2f, 0x39, 0xf4, 0x3c, 0xcd, 0x90,            0x80, 0x08, 0xbc, 0xa8, 0xf4, 0x2d, 0x87, 0xa1,        },    },    .{        .name = "transport-link-proof-relay",        .identity_hash = &.{            0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78, 0xb0, 0x93,            0xe6, 0x08, 0x9c, 0x3e,        },        .interfaces = 2,        .announce_raw = &.{            0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,            0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,            0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,            0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,            0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,            0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,            0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,            0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,            0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,            0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,            0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,            0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,            0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,            0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,        },        .announce_interface = 1,        .announce_clock = 1700000000,        .request_raw = &.{            0x52, 0x00, 0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78,            0xb0, 0x93, 0xe6, 0x08, 0x9c, 0x3e, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,            0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x67,            0x91, 0xfa, 0xa6, 0x25, 0x13, 0x90, 0x1c, 0xc6, 0xdc, 0x37, 0xff, 0x5e,            0x0d, 0xac, 0x65, 0x94, 0x87, 0x03, 0xc2, 0x20, 0x2f, 0x9e, 0x4f, 0x34,            0x51, 0x52, 0x20, 0x00, 0x89, 0x88, 0x2c, 0x97, 0x3d, 0xf0, 0x7e, 0x19,            0x59, 0x7f, 0x8f, 0x1a, 0x7e, 0x8b, 0xc1, 0x68, 0xf9, 0xc4, 0x31, 0x6e,            0x28, 0xd7, 0x83, 0x9c, 0x39, 0xd3, 0xca, 0xa6, 0xc7, 0xea, 0x68, 0xba,            0xff, 0x3f, 0xac, 0x20, 0x01, 0xf4,        },        .request_interface = 0,        .request_clock = 1700000020,        .proof_raw = &.{},        .proof_interface = 0,        .proof_clock = 0,        .input_raw = &.{            0x0f, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xff, 0x08, 0x5c, 0x15, 0x4c, 0x75,            0xe1, 0x17, 0x2e, 0xe6, 0x29, 0xa5, 0xe1, 0xfb, 0x44, 0x1c, 0x21, 0x85,            0x90, 0x23, 0x35, 0x32, 0x90, 0xb0, 0x17, 0xbb, 0x9e, 0xe2, 0xaa, 0xd2,            0xdd, 0xb8, 0x1d, 0xbb, 0x8c, 0x12, 0xb3, 0x33, 0x08, 0x8a, 0x27, 0xb7,            0xda, 0xde, 0x2e, 0x0d, 0xe0, 0x90, 0x80, 0x00, 0x7c, 0x9d, 0x8e, 0xc1,            0x2f, 0xa3, 0x30, 0xbd, 0xa0, 0x5b, 0x2c, 0xe5, 0x09, 0xc7, 0x0d, 0x24,            0x68, 0xd8, 0x8b, 0x0e, 0x4a, 0x63, 0xd1, 0x9e, 0x97, 0x53, 0x05, 0xd7,            0x34, 0xdf, 0xb5, 0x9e, 0x76, 0xc7, 0xd0, 0x55, 0xa0, 0xfd, 0xc0, 0xbe,            0xe8, 0x49, 0xd3, 0x05, 0x19, 0xbf, 0x76, 0x20, 0x01, 0xf4,        },        .input_interface = 1,        .input_clock = 1700000020,        .entropy = &.{},        .encryption_private_key = &.{},        .signing_private_key = &.{},        .output_interface = 0,        .output_raw = &.{            0x0f, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xff, 0x08, 0x5c, 0x15, 0x4c, 0x75,            0xe1, 0x17, 0x2e, 0xe6, 0x29, 0xa5, 0xe1, 0xfb, 0x44, 0x1c, 0x21, 0x85,            0x90, 0x23, 0x35, 0x32, 0x90, 0xb0, 0x17, 0xbb, 0x9e, 0xe2, 0xaa, 0xd2,            0xdd, 0xb8, 0x1d, 0xbb, 0x8c, 0x12, 0xb3, 0x33, 0x08, 0x8a, 0x27, 0xb7,            0xda, 0xde, 0x2e, 0x0d, 0xe0, 0x90, 0x80, 0x00, 0x7c, 0x9d, 0x8e, 0xc1,            0x2f, 0xa3, 0x30, 0xbd, 0xa0, 0x5b, 0x2c, 0xe5, 0x09, 0xc7, 0x0d, 0x24,            0x68, 0xd8, 0x8b, 0x0e, 0x4a, 0x63, 0xd1, 0x9e, 0x97, 0x53, 0x05, 0xd7,            0x34, 0xdf, 0xb5, 0x9e, 0x76, 0xc7, 0xd0, 0x55, 0xa0, 0xfd, 0xc0, 0xbe,            0xe8, 0x49, 0xd3, 0x05, 0x19, 0xbf, 0x76, 0x20, 0x01, 0xf4,        },        .link_id = &.{            0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78, 0x65, 0x4a,            0x15, 0x78, 0x2f, 0x38,        },        .transport_id = &.{},        .hops = 1,        .context = 255,        .context_flag = 0,        .packet_hash = &.{            0x99, 0xfe, 0xfd, 0x19, 0x4b, 0x62, 0x16, 0x6a, 0x91, 0x44, 0x6a, 0xed,            0x3c, 0x26, 0xbc, 0xde, 0x61, 0xa8, 0xf1, 0x59, 0x22, 0x6c, 0xc6, 0x1f,            0x5a, 0xe2, 0x8c, 0x32, 0x67, 0xb0, 0x3f, 0xe5,        },    },    .{        .name = "transport-link-data-relay",        .identity_hash = &.{            0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78, 0xb0, 0x93,            0xe6, 0x08, 0x9c, 0x3e,        },        .interfaces = 2,        .announce_raw = &.{            0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,            0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,            0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,            0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,            0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,            0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,            0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,            0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,            0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,            0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,            0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,            0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,            0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,            0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,        },        .announce_interface = 1,        .announce_clock = 1700000000,        .request_raw = &.{            0x52, 0x00, 0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78,            0xb0, 0x93, 0xe6, 0x08, 0x9c, 0x3e, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,            0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x67,            0x91, 0xfa, 0xa6, 0x25, 0x13, 0x90, 0x1c, 0xc6, 0xdc, 0x37, 0xff, 0x5e,            0x0d, 0xac, 0x65, 0x94, 0x87, 0x03, 0xc2, 0x20, 0x2f, 0x9e, 0x4f, 0x34,            0x51, 0x52, 0x20, 0x00, 0x89, 0x88, 0x2c, 0x97, 0x3d, 0xf0, 0x7e, 0x19,            0x59, 0x7f, 0x8f, 0x1a, 0x7e, 0x8b, 0xc1, 0x68, 0xf9, 0xc4, 0x31, 0x6e,            0x28, 0xd7, 0x83, 0x9c, 0x39, 0xd3, 0xca, 0xa6, 0xc7, 0xea, 0x68, 0xba,            0xff, 0x3f, 0xac, 0x20, 0x01, 0xf4,        },        .request_interface = 0,        .request_clock = 1700000020,        .proof_raw = &.{            0x0f, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xff, 0x08, 0x5c, 0x15, 0x4c, 0x75,            0xe1, 0x17, 0x2e, 0xe6, 0x29, 0xa5, 0xe1, 0xfb, 0x44, 0x1c, 0x21, 0x85,            0x90, 0x23, 0x35, 0x32, 0x90, 0xb0, 0x17, 0xbb, 0x9e, 0xe2, 0xaa, 0xd2,            0xdd, 0xb8, 0x1d, 0xbb, 0x8c, 0x12, 0xb3, 0x33, 0x08, 0x8a, 0x27, 0xb7,            0xda, 0xde, 0x2e, 0x0d, 0xe0, 0x90, 0x80, 0x00, 0x7c, 0x9d, 0x8e, 0xc1,            0x2f, 0xa3, 0x30, 0xbd, 0xa0, 0x5b, 0x2c, 0xe5, 0x09, 0xc7, 0x0d, 0x24,            0x68, 0xd8, 0x8b, 0x0e, 0x4a, 0x63, 0xd1, 0x9e, 0x97, 0x53, 0x05, 0xd7,            0x34, 0xdf, 0xb5, 0x9e, 0x76, 0xc7, 0xd0, 0x55, 0xa0, 0xfd, 0xc0, 0xbe,            0xe8, 0x49, 0xd3, 0x05, 0x19, 0xbf, 0x76, 0x20, 0x01, 0xf4,        },        .proof_interface = 1,        .proof_clock = 1700000020,        .input_raw = &.{            0x0c, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0x00, 0xdc, 0x32, 0x77, 0xd9, 0xa9,            0xa2, 0x2b, 0x4d, 0x58, 0x77, 0x9c, 0xa6, 0xfa, 0x23, 0xba, 0xe9, 0x30,            0xf1, 0xdd, 0x64, 0x73, 0x50, 0x1f, 0x95, 0x1e, 0x7b, 0x47, 0x1f, 0x39,            0x5d, 0x4f, 0x8d, 0x03, 0x6e, 0x03, 0x37, 0x61, 0x10, 0x29, 0x22, 0x98,            0xc3, 0x82, 0xb9, 0x2c, 0x9b, 0x72, 0x53, 0x3e, 0x4f, 0xf2, 0x12, 0x71,            0x15, 0xa0, 0x56, 0x49, 0x15, 0xa0, 0x11, 0x8b, 0xdb, 0xdf, 0xc8,        },        .input_interface = 0,        .input_clock = 1700000022,        .entropy = &.{},        .encryption_private_key = &.{},        .signing_private_key = &.{},        .output_interface = 1,        .output_raw = &.{            0x0c, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0x00, 0xdc, 0x32, 0x77, 0xd9, 0xa9,            0xa2, 0x2b, 0x4d, 0x58, 0x77, 0x9c, 0xa6, 0xfa, 0x23, 0xba, 0xe9, 0x30,            0xf1, 0xdd, 0x64, 0x73, 0x50, 0x1f, 0x95, 0x1e, 0x7b, 0x47, 0x1f, 0x39,            0x5d, 0x4f, 0x8d, 0x03, 0x6e, 0x03, 0x37, 0x61, 0x10, 0x29, 0x22, 0x98,            0xc3, 0x82, 0xb9, 0x2c, 0x9b, 0x72, 0x53, 0x3e, 0x4f, 0xf2, 0x12, 0x71,            0x15, 0xa0, 0x56, 0x49, 0x15, 0xa0, 0x11, 0x8b, 0xdb, 0xdf, 0xc8,        },        .link_id = &.{            0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78, 0x65, 0x4a,            0x15, 0x78, 0x2f, 0x38,        },        .transport_id = &.{},        .hops = 1,        .context = 0,        .context_flag = 0,        .packet_hash = &.{            0xea, 0x3f, 0x88, 0x00, 0xb4, 0x27, 0x4c, 0xa5, 0x68, 0x7e, 0x28, 0xc7,            0x38, 0x57, 0x0d, 0xa8, 0xf3, 0xc4, 0x99, 0x22, 0x72, 0x9d, 0xe3, 0xa2,            0xca, 0x9b, 0xef, 0xc4, 0x2c, 0x79, 0xc7, 0x43,        },    },};pub const three_node_vectors: []const ThreeNodeVector = &.{    .{        .name = "transport-three-node-link",        .start_clock = 1700000000,        .announce_raw = &.{            0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,            0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,            0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,            0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,            0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,            0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,            0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,            0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,            0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,            0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,            0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,            0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,            0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,            0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,        },        .destination_hash = &.{            0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8,            0x49, 0xc0, 0xe3, 0x16,        },        .destination_private_key = &.{            0x08, 0x72, 0xe9, 0xdf, 0xd8, 0x6b, 0x82, 0xfc, 0xc5, 0x2d, 0x1a, 0x61,            0xf8, 0x7d, 0x72, 0x6e, 0x5a, 0x19, 0x3c, 0xfc, 0xc6, 0xab, 0x3b, 0x26,            0x25, 0xa6, 0x8c, 0xe2, 0xe9, 0x15, 0x15, 0x48, 0x54, 0x0a, 0xc4, 0xa5,            0x8a, 0xc0, 0x1c, 0x61, 0x8e, 0xed, 0x0a, 0x8a, 0xe3, 0xe3, 0xf7, 0x1a,            0xa5, 0xfb, 0xf0, 0x0e, 0xb1, 0x17, 0x19, 0x25, 0x7c, 0x4f, 0xe7, 0x0c,            0xf3, 0xdc, 0xaf, 0xcd,        },        .destination_name_hash = &.{            0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66,        },        .destination_app_data = &.{},        .announce_random_hash = &.{            0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00,        },        .initiator_identity_hash = &.{            0x1c, 0x1d, 0x4c, 0xee, 0xca, 0xba, 0x5e, 0xcd, 0x83, 0x3e, 0x99, 0xab,            0xe6, 0x93, 0x37, 0x0a,        },        .transport_identity_hash = &.{            0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78, 0xb0, 0x93,            0xe6, 0x08, 0x9c, 0x3e,        },        .responder_identity_hash = &.{            0x24, 0x68, 0x47, 0x44, 0x49, 0x0e, 0xe7, 0x6f, 0x39, 0x1a, 0x17, 0x06,            0xe3, 0xb5, 0x6d, 0x1a,        },        .rebroadcast_clock = 1700000001,        .rebroadcast_raw = &.{            0x51, 0x01, 0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78,            0xb0, 0x93, 0xe6, 0x08, 0x9c, 0x3e, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,            0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,            0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,            0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,            0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,            0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,            0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,            0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,            0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,            0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,            0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,            0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,            0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,            0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,            0xcb, 0x06, 0x0f,        },        .retry_clock = 1700000007,        .retry_raw = &.{            0x51, 0x01, 0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78,            0xb0, 0x93, 0xe6, 0x08, 0x9c, 0x3e, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,            0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,            0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,            0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,            0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,            0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,            0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,            0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,            0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,            0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,            0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,            0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,            0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,            0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,            0xcb, 0x06, 0x0f,        },        .request_clock = 1700000020,        .link_id = &.{            0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78, 0x65, 0x4a,            0x15, 0x78, 0x2f, 0x38,        },        .initiator_encryption_private_key = &.{            0x9d, 0x11, 0x48, 0x0a, 0x52, 0xa6, 0x0b, 0x08, 0x24, 0xaa, 0x00, 0xfa,            0x63, 0x0c, 0x23, 0x94, 0x17, 0x75, 0xaa, 0x23, 0xec, 0xc5, 0x88, 0xa7,            0xe7, 0xd4, 0x59, 0x6b, 0x35, 0xf9, 0xd5, 0x85,        },        .initiator_signing_private_key = &.{            0x4a, 0x9a, 0xea, 0x3c, 0x71, 0x20, 0xde, 0x0c, 0x5f, 0xb7, 0x5a, 0x86,            0x30, 0x92, 0x6a, 0x45, 0xef, 0x9f, 0xef, 0xce, 0xf2, 0x44, 0x07, 0x13,            0x0e, 0x68, 0x16, 0x13, 0x2f, 0x35, 0x1f, 0xec,        },        .request_raw = &.{            0x52, 0x00, 0xf8, 0x58, 0x2f, 0x60, 0xf4, 0xc7, 0xd1, 0x6f, 0x6c, 0x78,            0xb0, 0x93, 0xe6, 0x08, 0x9c, 0x3e, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,            0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x67,            0x91, 0xfa, 0xa6, 0x25, 0x13, 0x90, 0x1c, 0xc6, 0xdc, 0x37, 0xff, 0x5e,            0x0d, 0xac, 0x65, 0x94, 0x87, 0x03, 0xc2, 0x20, 0x2f, 0x9e, 0x4f, 0x34,            0x51, 0x52, 0x20, 0x00, 0x89, 0x88, 0x2c, 0x97, 0x3d, 0xf0, 0x7e, 0x19,            0x59, 0x7f, 0x8f, 0x1a, 0x7e, 0x8b, 0xc1, 0x68, 0xf9, 0xc4, 0x31, 0x6e,            0x28, 0xd7, 0x83, 0x9c, 0x39, 0xd3, 0xca, 0xa6, 0xc7, 0xea, 0x68, 0xba,            0xff, 0x3f, 0xac, 0x20, 0x01, 0xf4,        },        .stripped_raw = &.{            0x02, 0x01, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,            0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x67, 0x91, 0xfa, 0xa6, 0x25,            0x13, 0x90, 0x1c, 0xc6, 0xdc, 0x37, 0xff, 0x5e, 0x0d, 0xac, 0x65, 0x94,            0x87, 0x03, 0xc2, 0x20, 0x2f, 0x9e, 0x4f, 0x34, 0x51, 0x52, 0x20, 0x00,            0x89, 0x88, 0x2c, 0x97, 0x3d, 0xf0, 0x7e, 0x19, 0x59, 0x7f, 0x8f, 0x1a,            0x7e, 0x8b, 0xc1, 0x68, 0xf9, 0xc4, 0x31, 0x6e, 0x28, 0xd7, 0x83, 0x9c,            0x39, 0xd3, 0xca, 0xa6, 0xc7, 0xea, 0x68, 0xba, 0xff, 0x3f, 0xac,        },        .responder_entropy = &.{            0xc0, 0xdc, 0xe3, 0x29, 0x7c, 0x32, 0xe5, 0x04, 0x16, 0x67, 0xbf, 0x74,            0xe0, 0xf1, 0x94, 0x62, 0xc0, 0xdb, 0xbb, 0x13, 0xcd, 0x57, 0x01, 0x92,            0x72, 0x54, 0x92, 0x97, 0x49, 0x47, 0x18, 0xb6,        },        .responder_encryption_private_key = &.{            0xb2, 0x7f, 0x47, 0x0f, 0x62, 0x75, 0x92, 0xb2, 0xe1, 0x95, 0x9b, 0x95,            0xd7, 0x81, 0xac, 0xe5, 0x17, 0x0b, 0xa5, 0xb0, 0xc3, 0x5a, 0x25, 0xe4,            0xd8, 0xb3, 0xd9, 0xf7, 0x2e, 0x08, 0x9e, 0x99,        },        .proof_raw = &.{            0x0f, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xff, 0x08, 0x5c, 0x15, 0x4c, 0x75,            0xe1, 0x17, 0x2e, 0xe6, 0x29, 0xa5, 0xe1, 0xfb, 0x44, 0x1c, 0x21, 0x85,            0x90, 0x23, 0x35, 0x32, 0x90, 0xb0, 0x17, 0xbb, 0x9e, 0xe2, 0xaa, 0xd2,            0xdd, 0xb8, 0x1d, 0xbb, 0x8c, 0x12, 0xb3, 0x33, 0x08, 0x8a, 0x27, 0xb7,            0xda, 0xde, 0x2e, 0x0d, 0xe0, 0x90, 0x80, 0x00, 0x7c, 0x9d, 0x8e, 0xc1,            0x2f, 0xa3, 0x30, 0xbd, 0xa0, 0x5b, 0x2c, 0xe5, 0x09, 0xc7, 0x0d, 0x24,            0x68, 0xd8, 0x8b, 0x0e, 0x4a, 0x63, 0xd1, 0x9e, 0x97, 0x53, 0x05, 0xd7,            0x34, 0xdf, 0xb5, 0x9e, 0x76, 0xc7, 0xd0, 0x55, 0xa0, 0xfd, 0xc0, 0xbe,            0xe8, 0x49, 0xd3, 0x05, 0x19, 0xbf, 0x76, 0x20, 0x01, 0xf4,        },        .relayed_proof_raw = &.{            0x0f, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xff, 0x08, 0x5c, 0x15, 0x4c, 0x75,            0xe1, 0x17, 0x2e, 0xe6, 0x29, 0xa5, 0xe1, 0xfb, 0x44, 0x1c, 0x21, 0x85,            0x90, 0x23, 0x35, 0x32, 0x90, 0xb0, 0x17, 0xbb, 0x9e, 0xe2, 0xaa, 0xd2,            0xdd, 0xb8, 0x1d, 0xbb, 0x8c, 0x12, 0xb3, 0x33, 0x08, 0x8a, 0x27, 0xb7,            0xda, 0xde, 0x2e, 0x0d, 0xe0, 0x90, 0x80, 0x00, 0x7c, 0x9d, 0x8e, 0xc1,            0x2f, 0xa3, 0x30, 0xbd, 0xa0, 0x5b, 0x2c, 0xe5, 0x09, 0xc7, 0x0d, 0x24,            0x68, 0xd8, 0x8b, 0x0e, 0x4a, 0x63, 0xd1, 0x9e, 0x97, 0x53, 0x05, 0xd7,            0x34, 0xdf, 0xb5, 0x9e, 0x76, 0xc7, 0xd0, 0x55, 0xa0, 0xfd, 0xc0, 0xbe,            0xe8, 0x49, 0xd3, 0x05, 0x19, 0xbf, 0x76, 0x20, 0x01, 0xf4,        },        .proof_clock = 1700000021,        .rtt_entropy = &.{            0x89, 0x8a, 0x14, 0xcc, 0xde, 0xc1, 0xb7, 0x72, 0xf1, 0x28, 0x65, 0xb0,            0xae, 0x6e, 0xff, 0xfb, 0xb8, 0xf7, 0x0c, 0x92, 0xbc, 0x7f, 0xc2, 0x9d,            0xbe, 0x44, 0xf9, 0xed, 0xad, 0x34, 0x56, 0x6c,        },        .rtt_iv = &.{            0x27, 0x6c, 0x44, 0xc7, 0x93, 0xb0, 0xf2, 0x13, 0x69, 0x27, 0x53, 0xf5,            0x5b, 0x41, 0xc0, 0xea,        },        .rtt_plaintext = &.{            0xcb, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,        },        .rtt_raw = &.{            0x0c, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xfe, 0x27, 0x6c, 0x44, 0xc7, 0x93,            0xb0, 0xf2, 0x13, 0x69, 0x27, 0x53, 0xf5, 0x5b, 0x41, 0xc0, 0xea, 0x42,            0x35, 0x05, 0x82, 0x42, 0x45, 0x84, 0xb2, 0x34, 0x9c, 0x53, 0xe6, 0xeb,            0xf8, 0x71, 0xc2, 0x0b, 0x82, 0x49, 0xc3, 0xf4, 0x85, 0xae, 0xf2, 0xc4,            0xbc, 0x63, 0xd4, 0x0e, 0x82, 0x0f, 0x46, 0x8c, 0xe9, 0xf9, 0xfa, 0x72,            0x31, 0xfd, 0xee, 0xe3, 0xe7, 0x1d, 0x40, 0x93, 0x44, 0x0b, 0x23,        },        .relayed_rtt_raw = &.{            0x0c, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xfe, 0x27, 0x6c, 0x44, 0xc7, 0x93,            0xb0, 0xf2, 0x13, 0x69, 0x27, 0x53, 0xf5, 0x5b, 0x41, 0xc0, 0xea, 0x42,            0x35, 0x05, 0x82, 0x42, 0x45, 0x84, 0xb2, 0x34, 0x9c, 0x53, 0xe6, 0xeb,            0xf8, 0x71, 0xc2, 0x0b, 0x82, 0x49, 0xc3, 0xf4, 0x85, 0xae, 0xf2, 0xc4,            0xbc, 0x63, 0xd4, 0x0e, 0x82, 0x0f, 0x46, 0x8c, 0xe9, 0xf9, 0xfa, 0x72,            0x31, 0xfd, 0xee, 0xe3, 0xe7, 0x1d, 0x40, 0x93, 0x44, 0x0b, 0x23,        },        .data_clock = 1700000022,        .data_iv = &.{            0xdc, 0x32, 0x77, 0xd9, 0xa9, 0xa2, 0x2b, 0x4d, 0x58, 0x77, 0x9c, 0xa6,            0xfa, 0x23, 0xba, 0xe9,        },        .data_plaintext = &.{            0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x64, 0x61, 0x74, 0x61,        },        .data_raw = &.{            0x0c, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0x00, 0xdc, 0x32, 0x77, 0xd9, 0xa9,            0xa2, 0x2b, 0x4d, 0x58, 0x77, 0x9c, 0xa6, 0xfa, 0x23, 0xba, 0xe9, 0x30,            0xf1, 0xdd, 0x64, 0x73, 0x50, 0x1f, 0x95, 0x1e, 0x7b, 0x47, 0x1f, 0x39,            0x5d, 0x4f, 0x8d, 0x03, 0x6e, 0x03, 0x37, 0x61, 0x10, 0x29, 0x22, 0x98,            0xc3, 0x82, 0xb9, 0x2c, 0x9b, 0x72, 0x53, 0x3e, 0x4f, 0xf2, 0x12, 0x71,            0x15, 0xa0, 0x56, 0x49, 0x15, 0xa0, 0x11, 0x8b, 0xdb, 0xdf, 0xc8,        },        .relayed_data_raw = &.{            0x0c, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0x00, 0xdc, 0x32, 0x77, 0xd9, 0xa9,            0xa2, 0x2b, 0x4d, 0x58, 0x77, 0x9c, 0xa6, 0xfa, 0x23, 0xba, 0xe9, 0x30,            0xf1, 0xdd, 0x64, 0x73, 0x50, 0x1f, 0x95, 0x1e, 0x7b, 0x47, 0x1f, 0x39,            0x5d, 0x4f, 0x8d, 0x03, 0x6e, 0x03, 0x37, 0x61, 0x10, 0x29, 0x22, 0x98,            0xc3, 0x82, 0xb9, 0x2c, 0x9b, 0x72, 0x53, 0x3e, 0x4f, 0xf2, 0x12, 0x71,            0x15, 0xa0, 0x56, 0x49, 0x15, 0xa0, 0x11, 0x8b, 0xdb, 0xdf, 0xc8,        },        .data_proof_raw = &.{            0x0f, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0x00, 0xea, 0x3f, 0x88, 0x00, 0xb4,            0x27, 0x4c, 0xa5, 0x68, 0x7e, 0x28, 0xc7, 0x38, 0x57, 0x0d, 0xa8, 0xf3,            0xc4, 0x99, 0x22, 0x72, 0x9d, 0xe3, 0xa2, 0xca, 0x9b, 0xef, 0xc4, 0x2c,            0x79, 0xc7, 0x43, 0x9b, 0x62, 0xc5, 0x14, 0x1b, 0xf9, 0x4c, 0xd3, 0xa1,            0x63, 0x81, 0x34, 0x29, 0xe2, 0x47, 0xe7, 0xde, 0xa9, 0x63, 0x20, 0xca,            0x7d, 0x8d, 0xea, 0x73, 0x8c, 0x0a, 0x94, 0x5e, 0xea, 0x1d, 0x2d, 0x06,            0x5b, 0x1f, 0x28, 0x49, 0xa3, 0x8f, 0x0d, 0x87, 0x35, 0x6b, 0xce, 0xc5,            0xea, 0xec, 0xdc, 0xa0, 0xdf, 0x60, 0xa0, 0xc3, 0xca, 0xa2, 0xf8, 0xf4,            0xe3, 0xf2, 0x63, 0xf4, 0x33, 0xf2, 0x03,        },        .relayed_data_proof_raw = &.{            0x0f, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0x00, 0xea, 0x3f, 0x88, 0x00, 0xb4,            0x27, 0x4c, 0xa5, 0x68, 0x7e, 0x28, 0xc7, 0x38, 0x57, 0x0d, 0xa8, 0xf3,            0xc4, 0x99, 0x22, 0x72, 0x9d, 0xe3, 0xa2, 0xca, 0x9b, 0xef, 0xc4, 0x2c,            0x79, 0xc7, 0x43, 0x9b, 0x62, 0xc5, 0x14, 0x1b, 0xf9, 0x4c, 0xd3, 0xa1,            0x63, 0x81, 0x34, 0x29, 0xe2, 0x47, 0xe7, 0xde, 0xa9, 0x63, 0x20, 0xca,            0x7d, 0x8d, 0xea, 0x73, 0x8c, 0x0a, 0x94, 0x5e, 0xea, 0x1d, 0x2d, 0x06,            0x5b, 0x1f, 0x28, 0x49, 0xa3, 0x8f, 0x0d, 0x87, 0x35, 0x6b, 0xce, 0xc5,            0xea, 0xec, 0xdc, 0xa0, 0xdf, 0x60, 0xa0, 0xc3, 0xca, 0xa2, 0xf8, 0xf4,            0xe3, 0xf2, 0x63, 0xf4, 0x33, 0xf2, 0x03,        },        .answer_clock = 1700000023,        .answer_iv = &.{            0xf8, 0x46, 0xc7, 0x9a, 0xb6, 0x09, 0x88, 0x31, 0x79, 0x07, 0xca, 0x1f,            0xff, 0xdf, 0xda, 0x36,        },        .answer_plaintext = &.{            0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72,        },        .answer_raw = &.{            0x0c, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0x00, 0xf8, 0x46, 0xc7, 0x9a, 0xb6,            0x09, 0x88, 0x31, 0x79, 0x07, 0xca, 0x1f, 0xff, 0xdf, 0xda, 0x36, 0xa8,            0x28, 0x46, 0xf1, 0x64, 0x14, 0x5f, 0x0e, 0xcd, 0x7f, 0x7e, 0xda, 0xa1,            0x28, 0x83, 0x67, 0x67, 0x01, 0x76, 0x5f, 0x53, 0x61, 0xaa, 0x85, 0x00,            0x10, 0xe6, 0xd5, 0xec, 0x04, 0xa2, 0x4e, 0x0e, 0xa0, 0xfb, 0x48, 0x3e,            0xa7, 0x25, 0xe0, 0xe8, 0x75, 0xc9, 0x0e, 0xa3, 0x67, 0x80, 0x26,        },        .relayed_answer_raw = &.{            0x0c, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0x00, 0xf8, 0x46, 0xc7, 0x9a, 0xb6,            0x09, 0x88, 0x31, 0x79, 0x07, 0xca, 0x1f, 0xff, 0xdf, 0xda, 0x36, 0xa8,            0x28, 0x46, 0xf1, 0x64, 0x14, 0x5f, 0x0e, 0xcd, 0x7f, 0x7e, 0xda, 0xa1,            0x28, 0x83, 0x67, 0x67, 0x01, 0x76, 0x5f, 0x53, 0x61, 0xaa, 0x85, 0x00,            0x10, 0xe6, 0xd5, 0xec, 0x04, 0xa2, 0x4e, 0x0e, 0xa0, 0xfb, 0x48, 0x3e,            0xa7, 0x25, 0xe0, 0xe8, 0x75, 0xc9, 0x0e, 0xa3, 0x67, 0x80, 0x26,        },        .answer_proof_raw = &.{            0x0f, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0x00, 0x16, 0x5a, 0x63, 0xac, 0xdc,            0x94, 0xb7, 0x3a, 0xb6, 0x95, 0xa6, 0xab, 0xb7, 0x05, 0xf7, 0x9b, 0x3b,            0x78, 0xe5, 0x7f, 0x40, 0xb8, 0xec, 0xaa, 0x7a, 0x8a, 0xb1, 0xed, 0x06,            0x21, 0x47, 0x03, 0x71, 0xa1, 0x0b, 0xa9, 0x64, 0x7d, 0x35, 0x75, 0x91,            0xc0, 0xb3, 0x5b, 0x36, 0xef, 0x41, 0x17, 0x71, 0xfb, 0x7b, 0x3f, 0xdf,            0x4f, 0x36, 0x29, 0xd0, 0x53, 0xce, 0xd2, 0x22, 0x5c, 0xc9, 0xfb, 0xb6,            0x74, 0xb9, 0x13, 0x54, 0x62, 0x15, 0x85, 0xc9, 0x47, 0x56, 0x3b, 0x7f,            0x62, 0x74, 0x2d, 0xa5, 0x06, 0x53, 0xc0, 0x89, 0x10, 0xac, 0x40, 0xb6,            0x85, 0xfc, 0x37, 0x23, 0x4f, 0xa5, 0x0c,        },        .relayed_answer_proof_raw = &.{            0x0f, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0x00, 0x16, 0x5a, 0x63, 0xac, 0xdc,            0x94, 0xb7, 0x3a, 0xb6, 0x95, 0xa6, 0xab, 0xb7, 0x05, 0xf7, 0x9b, 0x3b,            0x78, 0xe5, 0x7f, 0x40, 0xb8, 0xec, 0xaa, 0x7a, 0x8a, 0xb1, 0xed, 0x06,            0x21, 0x47, 0x03, 0x71, 0xa1, 0x0b, 0xa9, 0x64, 0x7d, 0x35, 0x75, 0x91,            0xc0, 0xb3, 0x5b, 0x36, 0xef, 0x41, 0x17, 0x71, 0xfb, 0x7b, 0x3f, 0xdf,            0x4f, 0x36, 0x29, 0xd0, 0x53, 0xce, 0xd2, 0x22, 0x5c, 0xc9, 0xfb, 0xb6,            0x74, 0xb9, 0x13, 0x54, 0x62, 0x15, 0x85, 0xc9, 0x47, 0x56, 0x3b, 0x7f,            0x62, 0x74, 0x2d, 0xa5, 0x06, 0x53, 0xc0, 0x89, 0x10, 0xac, 0x40, 0xb6,            0x85, 0xfc, 0x37, 0x23, 0x4f, 0xa5, 0x0c,        },        .keepalive_clock = 1700000229,        .keepalive_raw = &.{            0x0c, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xfa, 0xff,        },        .relayed_keepalive_raw = &.{            0x0c, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xfa, 0xff,        },        .keepalive_answer_raw = &.{            0x0c, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xfa, 0xfe,        },        .relayed_keepalive_answer_raw = &.{            0x0c, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xfa, 0xfe,        },        .close_clock = 1700000230,        .close_iv = &.{            0x4c, 0x58, 0x2e, 0xa2, 0x08, 0xe5, 0xf1, 0xd5, 0xa9, 0x83, 0x6b, 0x31,            0x4f, 0xa3, 0xaf, 0x01,        },        .close_raw = &.{            0x0c, 0x00, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xfc, 0x4c, 0x58, 0x2e, 0xa2, 0x08,            0xe5, 0xf1, 0xd5, 0xa9, 0x83, 0x6b, 0x31, 0x4f, 0xa3, 0xaf, 0x01, 0x1d,            0x5b, 0xcd, 0xa3, 0xe8, 0xe8, 0xb7, 0x5e, 0x5d, 0x70, 0x99, 0x38, 0x1c,            0x71, 0x1b, 0xff, 0xed, 0x8b, 0x49, 0xf7, 0xc3, 0x44, 0xfc, 0x0c, 0x4e,            0x96, 0x7f, 0x86, 0x37, 0x8a, 0x41, 0xf5, 0x64, 0x5f, 0x92, 0xea, 0xaf,            0xc5, 0x2a, 0x45, 0xe8, 0xa1, 0x8c, 0xd3, 0x76, 0x23, 0xcd, 0x17, 0xdf,            0x47, 0xda, 0x0a, 0xce, 0x99, 0xe2, 0xe3, 0x83, 0x8a, 0xf7, 0x34, 0x71,            0x35, 0x1e, 0xf0,        },        .relayed_close_raw = &.{            0x0c, 0x01, 0xec, 0x81, 0xd4, 0x5c, 0xc2, 0x89, 0xcd, 0xba, 0xc3, 0x78,            0x65, 0x4a, 0x15, 0x78, 0x2f, 0x38, 0xfc, 0x4c, 0x58, 0x2e, 0xa2, 0x08,            0xe5, 0xf1, 0xd5, 0xa9, 0x83, 0x6b, 0x31, 0x4f, 0xa3, 0xaf, 0x01, 0x1d,            0x5b, 0xcd, 0xa3, 0xe8, 0xe8, 0xb7, 0x5e, 0x5d, 0x70, 0x99, 0x38, 0x1c,            0x71, 0x1b, 0xff, 0xed, 0x8b, 0x49, 0xf7, 0xc3, 0x44, 0xfc, 0x0c, 0x4e,            0x96, 0x7f, 0x86, 0x37, 0x8a, 0x41, 0xf5, 0x64, 0x5f, 0x92, 0xea, 0xaf,            0xc5, 0x2a, 0x45, 0xe8, 0xa1, 0x8c, 0xd3, 0x76, 0x23, 0xcd, 0x17, 0xdf,            0x47, 0xda, 0x0a, 0xce, 0x99, 0xe2, 0xe3, 0x83, 0x8a, 0xf7, 0x34, 0x71,            0x35, 0x1e, 0xf0,        },    },};

Source: lib/reticulum/src/conformance/root.zig:76

zig
pub const link = @import("link.zig");

Audit

Definitions11
Public names11
Members103
Version26.7.0
Revisiondaab053ee433