{
 "format": "qivuna-bots-crypto-vectors",
 "version": 1,
 "contract": "docs/bots-contract.md §7, §4.8 (qbw1), §3.4, §4.1; decisions in §16 (M5)",
 "generator": "tools/bots-crypto-ref/gen_vectors.py (pyca/cryptography, see requirements.txt)",
 "conventions": {
  "base64": "standard alphabet WITH padding unless a field says b64url; readers reject non-canonical base64",
  "hex": "lower case",
  "json": "compact (no spaces), UTF-8, non-ASCII unescaped; bk1/ba1 J must be canonical (exact key set and order)",
  "time": "t fields are unix milliseconds; webhook timestamps unix seconds",
  "x25519_private": "the 32 bytes as stored/derived; X25519 clamps them (RFC 7748)"
 },
 "constants": {
  "t_ms": 1759590000123,
  "webhook_timestamp": 1759590000,
  "bot_user_id": 5001,
  "bot_number": "7123456789",
  "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
  "id_namespace_2": "paWlpaWlpaWlpaWlpaWlpQ==",
  "group_id": 9001,
  "group_epoch": 7
 },
 "accounts": {
  "rina-owner": {
   "user_id": 4100,
   "x25519_private": "Rc6+VoI3C/OoOwLW6Rb/oG48ItW4BkjCvAimmjW5drE=",
   "x25519_public": "S33WNPe171XNTRge+Cq8Xq7M/xG20S8M/MxvtS88K3M=",
   "ed25519_seed": "QWgPXVQgaLxsh5Bgf7JUM57vWA3N/KTITsqc9xnAPu4=",
   "ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
   "fingerprint": "aGwoKa0N4RlcfIfSbTLl7S"
  },
  "dana": {
   "user_id": 4101,
   "x25519_private": "arHw47wljPNj0Aaw09fv796y5lFtyRXLN03R6MFHjgU=",
   "x25519_public": "KZv6l6S+qyDpCb052fqw72FqlVM+9rwuqxqtJW9g/Xo=",
   "ed25519_seed": "OtA5HrqG74sxtNCqqK7cF6XosVXF/DJEkrgoI34sPrE=",
   "ed25519_public": "XwDzjbvimKwRoSHw+sckdKKKLjd+54dtSoUzXFbgwLk=",
   "fingerprint": "A3zZa8zEMnFpMmeKyWqxZe"
  },
  "avi": {
   "user_id": 4102,
   "x25519_private": "nEnDXIG4zWzdQXNhetYjX/tpcaiK6r7asJNYmoRBFrc=",
   "x25519_public": "35qyhHuvt0dpHIt/vAwi/m0q9wejw/TXo6QvYrihVyY=",
   "ed25519_seed": "DG5NtQQPm689zfRtq5PECzxn0T9C9eW2WzZopKecR7s=",
   "ed25519_public": "RZnrAAD7en4jZDoV1/+c2SvTZsbAeqkZlzdfW+jtk4Y=",
   "fingerprint": "2ezy2bke+aOxWgcgi0LHg/"
  },
  "eve-not-admin": {
   "user_id": 4103,
   "x25519_private": "nxYGBDkSHSsNV6Ek3/N0Fx1dKyyaOCmXmsJIxxtSTy4=",
   "x25519_public": "dVHR/PlxfBPRwFMxsyd591Gg8aSZ7NPkDn+koRG123Q=",
   "ed25519_seed": "fK2dgRdufFHqiHTp3OQXAUrTROBCwVspGjrEyy5pXqM=",
   "ed25519_public": "nwiVQjnEPPIi1Fm7Ina1+16DjJp4l0N9S4/Zpja24XE=",
   "fingerprint": "2twKhcHmGjbi6+5AJtrhm2"
  },
  "noa-new-owner": {
   "user_id": 4104,
   "x25519_private": "n2gYAvzXrnD35ncsalhF+23FGzZVzz/89YMBpO2lvtk=",
   "x25519_public": "0TI1j7cToRgyAWPIvmb1drOQSD1VVLWWJTxE7vZqOic=",
   "ed25519_seed": "Ug9RDx3Iw3E7O+wA+6rxHbpej3uhfTKVwPQMiIj+kA0=",
   "ed25519_public": "OQhmkPGfpBFzBIr2P/lO+0UgmWVGGOIXIQroOOcNiWc=",
   "fingerprint": "x+t2XcPlzVAwgf2fZfY5JL"
  }
 },
 "bot_keys": {
  "pollbot-1": {
   "x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
   "x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
   "ed25519_seed": "iSU3kwnb3hBYyd4XOQkEs/VkkIstWJzM/+5af2zQ0MQ=",
   "ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
   "fingerprint": "YOUFCD4IvL1rKL5uLoIZXG"
  },
  "pollbot-2": {
   "x25519_private": "WFS/eG7ogQAw60VP6cx9xdOLy78P2AKukWixEpkMa14=",
   "x25519_public": "1kpS0+hqrBCNyakLHj/MkOwmPVAq2C17nLhtX9Vmn0U=",
   "ed25519_seed": "jdBNhXujgdeI1T+hsZPi4Ab2veW7vXJlOvTOQR1Geg4=",
   "ed25519_public": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
   "fingerprint": "HFKxH1z/YujEMGGzR0iOHi"
  },
  "otherbot": {
   "x25519_private": "JZ8mRzYZZVuxXVxXudH0vvxo7pAMBhgpvp0Wzj8KUC4=",
   "x25519_public": "rtT16dDef7JomKLYOAQLBk6atj6wH8/DwEAGgrlWXA0=",
   "ed25519_seed": "p/FEGPT9mX+Fb/5nDtslYueiq55nseFWIJkQmvD6bFM=",
   "ed25519_public": "s8s2zlczGTZM9ckCMLLBo6444K3ewUbzC5xwiINl7tc=",
   "fingerprint": "ikCLh4UMZm4xlDlWT68Him"
  }
 },
 "derivations": {
  "account_signing": [
   {
    "x25519_private": "Rc6+VoI3C/OoOwLW6Rb/oG48ItW4BkjCvAimmjW5drE=",
    "info": "Qivuna.AccountSigning.v1",
    "salt": "",
    "ed25519_seed": "QWgPXVQgaLxsh5Bgf7JUM57vWA3N/KTITsqc9xnAPu4=",
    "ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c="
   },
   {
    "x25519_private": "arHw47wljPNj0Aaw09fv796y5lFtyRXLN03R6MFHjgU=",
    "info": "Qivuna.AccountSigning.v1",
    "salt": "",
    "ed25519_seed": "OtA5HrqG74sxtNCqqK7cF6XosVXF/DJEkrgoI34sPrE=",
    "ed25519_public": "XwDzjbvimKwRoSHw+sckdKKKLjd+54dtSoUzXFbgwLk="
   },
   {
    "x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
    "info": "Qivuna.AccountSigning.v1",
    "salt": "",
    "ed25519_seed": "iSU3kwnb3hBYyd4XOQkEs/VkkIstWJzM/+5af2zQ0MQ=",
    "ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "note": "a bot key follows the account rule (§7.2)"
   }
  ],
  "fingerprints": [
   {
    "x25519_public": "S33WNPe171XNTRge+Cq8Xq7M/xG20S8M/MxvtS88K3M=",
    "ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "fingerprint": "aGwoKa0N4RlcfIfSbTLl7S"
   },
   {
    "x25519_public": "KZv6l6S+qyDpCb052fqw72FqlVM+9rwuqxqtJW9g/Xo=",
    "ed25519_public": "XwDzjbvimKwRoSHw+sckdKKKLjd+54dtSoUzXFbgwLk=",
    "fingerprint": "A3zZa8zEMnFpMmeKyWqxZe"
   },
   {
    "x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "fingerprint": "YOUFCD4IvL1rKL5uLoIZXG"
   },
   {
    "x25519_public": "1kpS0+hqrBCNyakLHj/MkOwmPVAq2C17nLhtX9Vmn0U=",
    "ed25519_public": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
    "fingerprint": "HFKxH1z/YujEMGGzR0iOHi"
   }
  ]
 },
 "pop": {
  "message_hex_layout": "utf8('Qivuna.Bot.v1.pop|') || utf8(bot_number, 10 digits) || x25519_pub(32) || ed25519_pub(32) || uint64_be(t ms)",
  "server_rules": "|now - t| <= 10 min; the same pop bytes are never accepted twice; an x25519 key of another bot is refused",
  "valid": [
   {
    "bot_number": "7123456789",
    "x25519": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "t": 1759590000123,
    "name": "pop of pollbot-1",
    "message_hex": "516976756e612e426f742e76312e706f707c37313233343536373839eed1d18f8a07279c20068167f4a2917634114c7fd09307a7c02faa050531a967bdddd63a0969f18459c05beca818a132dce3572ec737ec1e434a2553edc27a9f00000199afbca5fb",
    "pop": "DIpoWwixdMhtb3pAyD9K3V3QIGN3rNj8qhjHiX4s2LMul4xRFROM5hq5uU5c5GndocQ3dBtAR6Dyj3Jt5FwoAg==",
    "fingerprint": "YOUFCD4IvL1rKL5uLoIZXG"
   }
  ],
  "invalid": [
   {
    "bot_number": "7123456780",
    "x25519": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "t": 1759590000123,
    "name": "another bot number",
    "pop": "DIpoWwixdMhtb3pAyD9K3V3QIGN3rNj8qhjHiX4s2LMul4xRFROM5hq5uU5c5GndocQ3dBtAR6Dyj3Jt5FwoAg=="
   },
   {
    "bot_number": "7123456789",
    "x25519": "1kpS0+hqrBCNyakLHj/MkOwmPVAq2C17nLhtX9Vmn0U=",
    "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "t": 1759590000123,
    "name": "x25519 swapped for another key",
    "pop": "DIpoWwixdMhtb3pAyD9K3V3QIGN3rNj8qhjHiX4s2LMul4xRFROM5hq5uU5c5GndocQ3dBtAR6Dyj3Jt5FwoAg=="
   },
   {
    "bot_number": "7123456789",
    "x25519": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "t": 1759590000124,
    "name": "another t (a replay re-dated)",
    "pop": "DIpoWwixdMhtb3pAyD9K3V3QIGN3rNj8qhjHiX4s2LMul4xRFROM5hq5uU5c5GndocQ3dBtAR6Dyj3Jt5FwoAg=="
   },
   {
    "bot_number": "7123456789",
    "x25519": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "t": 1759590000123,
    "name": "signed by a key the bot does not claim",
    "pop": "egzECG3jUE1SNKZK1CPWep5uYGvYCqr8T1FGktpjtcxOqNFuLG/cLJ+rpWsoKrtQvcKtJSM4rPMdMCb6CmZlCQ=="
   },
   {
    "bot_number": "7123456789",
    "x25519": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "t": 1759590000123,
    "name": "signature without the prefix",
    "pop": "EFMkuCXWvZQiU+O+sue2xL8IBrD/x5rDI+amTuUvFWj1XPV46byxnSz3u9L9SbvtslqIApReNr7iwaulsqcJAQ=="
   },
   {
    "bot_number": "7123456789",
    "x25519": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "t": 1759590000123,
    "name": "the M5a layout without t",
    "pop": "QMxGjKT5UA+JG5JufL4JgfZs21qKkqjwHejUnENcv8Rph2Jr2VfOZ9rOpn4ebQulIgaUXY+04Z5k1e5tZztDCQ=="
   },
   {
    "bot_number": "7123456789",
    "x25519": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "t": 1759590000123,
    "name": "truncated pop",
    "pop": "DIpoWwixdMhtb3pAyD9K3V3QIGN3rNj8qhjHiX4s2LMul4xRFROM5hq5uU5c5GndocQ3dBtAR6Dyj3Jt5Fwo"
   },
   {
    "bot_number": "7123456789",
    "x25519": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
    "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "t": 1759590000123,
    "name": "small-order x25519 (owner of the ed key signs it)",
    "pop": "13pRbNYQfraOhVDln6+wF6SXJ3WejWW8jRSlI8R1FDT21+PH9kJt/YCP1vKg2Ql65nYyB2KRvidYZkjIGf/NCg=="
   }
  ]
 },
 "bk1": {
  "signed_bytes_layout": "utf8('Qivuna.Bot.v1.keycert|') || J (the exact bytes inside the base64)",
  "canonical_json": "J = compact JSON with exactly the keys v,bot,num,x,e,st,dev,seq,t in this order",
  "valid": [
   {
    "name": "active, seq 1",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "valid"
   },
   {
    "name": "revoked, seq 2",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6InJldm9rZWQiLCJkZXYiOjQxMDAsInNlcSI6MiwidCI6MTc1OTU5MDA2MDEyM30=|8deDVk47tkvBoas/LNswfQGt6a5bJkvwZfceZXFAEmyiXVM++dRtaLjigp2YyDrgs3LXg89EYae0aCES4ADpCg==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "revoked",
     "seq": 2
    },
    "expect": "valid"
   },
   {
    "name": "rotation to pollbot-2, seq 3",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjozLCJ0IjoxNzU5NTkwMTIwMTIzfQ==|peb57yAYkVLadZ+yXEvmZD6hZ+ZzLkZ8Va7Fz355iAGkQo2hzIu/uvHLSbEu4O+oE4XyC094xGCiQNoBuWNFAA==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "1kpS0+hqrBCNyakLHj/MkOwmPVAq2C17nLhtX9Vmn0U=",
     "e": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
     "st": "active",
     "seq": 3
    },
    "expect": "valid"
   }
  ],
  "valid_j_utf8": {
   "active": "{\"v\":1,\"bot\":5001,\"num\":\"7123456789\",\"x\":\"7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=\",\"e\":\"vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=\",\"st\":\"active\",\"dev\":4100,\"seq\":1,\"t\":1759590000123}",
   "revoked": "{\"v\":1,\"bot\":5001,\"num\":\"7123456789\",\"x\":\"7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=\",\"e\":\"vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=\",\"st\":\"revoked\",\"dev\":4100,\"seq\":2,\"t\":1759590060123}",
   "active2": "{\"v\":1,\"bot\":5001,\"num\":\"7123456789\",\"x\":\"1kpS0+hqrBCNyakLHj/MkOwmPVAq2C17nLhtX9Vmn0U=\",\"e\":\"LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=\",\"st\":\"active\",\"dev\":4100,\"seq\":3,\"t\":1759590120123}"
  },
  "invalid": [
   {
    "name": "truncated record",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83z",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "shape"
   },
   {
    "name": "wrong tag",
    "cert": "bk2|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "shape"
   },
   {
    "name": "re-serialised JSON (spaces), owner-signed",
    "cert": "bk1|eyJ2IjogMSwgImJvdCI6IDUwMDEsICJudW0iOiAiNzEyMzQ1Njc4OSIsICJ4IjogIjd0SFJqNG9ISjV3Z0JvRm45S0tSZGpRUlRIL1Frd2Vud0MrcUJRVXhxV2M9IiwgImUiOiAidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCAic3QiOiAiYWN0aXZlIiwgImRldiI6IDQxMDAsICJzZXEiOiAxLCAidCI6IDE3NTk1OTAwMDAxMjN9|deUCOBlJ0lCd7KKzuU4GRa92XIlODmz6sLz1grmEx3px/C6AybC1aiHy8hUP6I6Yu/Sxifw+Y/jE6XMZF8+yDA==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "json",
    "note": "canonical form required even when the signature is valid"
   },
   {
    "name": "re-serialised JSON, original signature",
    "cert": "bk1|eyJ2IjogMSwgImJvdCI6IDUwMDEsICJudW0iOiAiNzEyMzQ1Njc4OSIsICJ4IjogIjd0SFJqNG9ISjV3Z0JvRm45S0tSZGpRUlRIL1Frd2Vud0MrcUJRVXhxV2M9IiwgImUiOiAidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCAic3QiOiAiYWN0aXZlIiwgImRldiI6IDQxMDAsICJzZXEiOiAxLCAidCI6IDE3NTk1OTAwMDAxMjN9|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "json"
   },
   {
    "name": "keys re-ordered, owner-signed",
    "cert": "bk1|eyJib3QiOjUwMDEsInYiOjEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|wcIOSZRjB3KidPNgzQ1xrJEtU3DVhxG/r+MATmlzZWIgEEYBSQ+y684t+mYoY4htCxwxEMJYf+tyt6CKHPleCQ==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "json"
   },
   {
    "name": "duplicate st key, owner-signed",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzLCJzdCI6InJldm9rZWQifQ==|TOhyzwGb+hjoJ97O2jOWpA+ZXBKP6dD19BjzzMZEF5EaAXEVqYZA2z4qeO0foifihb/9sFZkFv5WtnoTRMPyBA==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "json"
   },
   {
    "name": "extra key, owner-signed",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzLCJub3RlIjoieCJ9|pZqU8HX7iObc+NEmYaglPwdyzKEAGEpma/+HWvyAarakKqfNpuMTx1qU1v7CWYn6SJwszDhX4fHsv7a5LyMQCw==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "json"
   },
   {
    "name": "seq as 1.0, owner-signed",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLjAsInQiOjE3NTk1OTAwMDAxMjN9|HTu/08hdtKJ6OCtw0sKni6tSx08s5E7nyBu1JNLQXEXRAnFn9bdLmhL0JPF/zZEgaTiOfJITWkKB6j4w9oAZAQ==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "json"
   },
   {
    "name": "J tampered after signing (seq 1 → 2)",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoyLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 2
    },
    "expect": "invalid",
    "why": "signature"
   },
   {
    "name": "signed by somebody who is not the owner",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|dvJeW3GX1/vmSCFdzAOC4Z5eXZ/tSswWLpKrJlgycRQwsM4ibvKZPW5n47Jn4Lb4QwdGudECebrtTGcOAOElCA==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "signature"
   },
   {
    "name": "owner-signed, but dev names another account",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMywic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|fz0IVUERi1e4uYtkj+u0Xch3H+phzD+vJ/wiEQ58+/wkrfrgJ1Nzs94SlvWyQpL2bN10kzm9uiUqYcDd8V9NBw==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "dev"
   },
   {
    "name": "for another bot",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDIsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|lxvxT4854h8FFfYbX9o3aYVRcOmvELBbin3G/WI1ny00TNmdqMR1KH0qnWeV6B8LOjQCi3g1dlV0fz3a5QcqCQ==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "bot"
   },
   {
    "name": "another bot number",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODAiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|2RnA00wSN8zI1ruisy4B7yTBWzB/rkdtoo5GYaHRNBLlOV/td2asiO7NhzHijWgBcgGqa7j5LjbBex9EstGsCA==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "bot"
   },
   {
    "name": "names a key other than the proposed one",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjozLCJ0IjoxNzU5NTkwMTIwMTIzfQ==|peb57yAYkVLadZ+yXEvmZD6hZ+ZzLkZ8Va7Fz355iAGkQo2hzIu/uvHLSbEu4O+oE4XyC094xGCiQNoBuWNFAA==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 3
    },
    "expect": "invalid",
    "why": "key"
   },
   {
    "name": "wrong seq (rollback)",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 4
    },
    "expect": "invalid",
    "why": "seq"
   },
   {
    "name": "revoked cert offered as an activation",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6InJldm9rZWQiLCJkZXYiOjQxMDAsInNlcSI6MiwidCI6MTc1OTU5MDA2MDEyM30=|8deDVk47tkvBoas/LNswfQGt6a5bJkvwZfceZXFAEmyiXVM++dRtaLjigp2YyDrgs3LXg89EYae0aCES4ADpCg==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 2
    },
    "expect": "invalid",
    "why": "st"
   },
   {
    "name": "non-ASCII via an escape (\\u00e9 in num), owner-signed",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3OFx1MDBlOSIsIngiOiI3dEhSajRvSEo1d2dCb0ZuOUtLUmRqUVJUSC9Ra3dlbndDK3FCUVV4cVdjPSIsImUiOiJ2ZDNXT2dscDhZUlp3RnZzcUJpaE10empWeTdITit3ZVEwb2xVKzNDZXA4PSIsInN0IjoiYWN0aXZlIiwiZGV2Ijo0MTAwLCJzZXEiOjEsInQiOjE3NTk1OTAwMDAxMjN9|yCEdYAa+u62GhwKeEbE3Tc7cLylZAWp0vFfIOiSOzARbngEUFVgb84a7GjnrmHbZpLaspgdMOuF3bB0eedJXBg==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "json"
   },
   {
    "name": "lone surrogate escape (\\ud800), owner-signed",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6Ilx1ZDgwMCIsIngiOiI3dEhSajRvSEo1d2dCb0ZuOUtLUmRqUVJUSC9Ra3dlbndDK3FCUVV4cVdjPSIsImUiOiJ2ZDNXT2dscDhZUlp3RnZzcUJpaE10empWeTdITit3ZVEwb2xVKzNDZXA4PSIsInN0IjoiYWN0aXZlIiwiZGV2Ijo0MTAwLCJzZXEiOjEsInQiOjE3NTk1OTAwMDAxMjN9|6D10PtXga7uKoUu5ASkHrdjpALi1BNsc95prXI77m6/XY7Dyflj0zLTFfwnr+Quf/koEbyA43/sgTmEw0WsOBg==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "json"
   },
   {
    "name": "raw UTF-8 byte in J, owner-signed",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3OMOpIiwieCI6Ijd0SFJqNG9ISjV3Z0JvRm45S0tSZGpRUlRIL1Frd2Vud0MrcUJRVXhxV2M9IiwiZSI6InZkM1dPZ2xwOFlSWndGdnNxQmloTXR6alZ5N0hOK3dlUTBvbFUrM0NlcDg9Iiwic3QiOiJhY3RpdmUiLCJkZXYiOjQxMDAsInNlcSI6MSwidCI6MTc1OTU5MDAwMDEyM30=|k48eQp3ymSOlMHe4tzgqM6eWueyDyl4RqBLxZ/ddQPY/wAlBKuj/xf1SSBaxGMKafqaGwAh2eQ+prSZt4rA1CQ==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "json"
   },
   {
    "name": "certifies a small-order x25519, owner-signed",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|zt6KEKD2E4T38LaxjGLmo96aa/hOP51JxOiUO4w2zVBgIj584M2MBdJatpjAMhMWFbJJEo681QOrsDvN36/CCA==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
     "e": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "weak_key"
   },
   {
    "name": "certifies a small-order ed25519, owner-signed",
    "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoiQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|vfNejPlJ0jYqyyYCaeO6FUlqSgkUV1kyAY8H5vJ/UJZRwaJh6DuP8I1ZUKJnKT4B7MoI7iLa4LMIFhNfqndWBg==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "bot": 5001,
     "num": "7123456789",
     "dev": 4100,
     "x": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
     "e": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
     "st": "active",
     "seq": 1
    },
    "expect": "invalid",
    "why": "weak_key"
   }
  ]
 },
 "ba1": {
  "signed_bytes_layout": "utf8('Qivuna.Bot.v1.attach|') || J",
  "canonical_json": "J = compact JSON with exactly the keys v,g,bot,op,a,n,t in this order",
  "valid": [
   {
    "name": "attach by the group owner at epoch 7",
    "record": "ba1|eyJ2IjoxLCJnIjo5MDAxLCJib3QiOjUwMDEsIm9wIjoiYXR0YWNoIiwiYSI6NDEwMCwibiI6NywidCI6MTc1OTU5MDAwMDEyM30=|kz6M36UKcX6cq6HW2uUVbTOD72EDSzTbLHbsq38xqVmRSwjmwLT+R/UJPTKsGNzxB6UJuCF6VOzc8BKjQWnACw==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9001,
     "bot": 5001,
     "actor": 4100,
     "epoch": 7,
     "op": "attach"
    },
    "expect": "valid"
   },
   {
    "name": "detach by the group owner",
    "record": "ba1|eyJ2IjoxLCJnIjo5MDAxLCJib3QiOjUwMDEsIm9wIjoiZGV0YWNoIiwiYSI6NDEwMCwibiI6NywidCI6MTc1OTU5MzYwMDEyM30=|GHgBkDTlLUujvdMUCZ6auBx1JNMSKw8J5L0bIk5y/SnIEggAlzOpM3YD05znlYUoU5QOp3EjdY93p+1Lb/wSDw==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9001,
     "bot": 5001,
     "actor": 4100,
     "epoch": 7,
     "op": "detach"
    },
    "expect": "valid"
   }
  ],
  "valid_j_utf8": {
   "attach": "{\"v\":1,\"g\":9001,\"bot\":5001,\"op\":\"attach\",\"a\":4100,\"n\":7,\"t\":1759590000123}",
   "detach": "{\"v\":1,\"g\":9001,\"bot\":5001,\"op\":\"detach\",\"a\":4100,\"n\":7,\"t\":1759593600123}"
  },
  "invalid": [
   {
    "name": "truncated",
    "record": "ba1|eyJ2IjoxLCJnIjo5",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9001,
     "bot": 5001,
     "actor": 4100,
     "epoch": 7,
     "op": "attach"
    },
    "expect": "invalid",
    "why": "shape"
   },
   {
    "name": "forged: signed by a non-admin who claims to be the owner",
    "record": "ba1|eyJ2IjoxLCJnIjo5MDAxLCJib3QiOjUwMDEsIm9wIjoiYXR0YWNoIiwiYSI6NDEwMCwibiI6NywidCI6MTc1OTU5MDAwMDEyM30=|rd/O1FsnIaQqmoICoO25dkcMk+d938SPf0pWRDjCN2/r/lH6OJKg5i+IH4MsE869x0bKOei1XQlofeOeCiSUDA==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9001,
     "bot": 5001,
     "actor": 4100,
     "epoch": 7,
     "op": "attach"
    },
    "expect": "invalid",
    "why": "signature"
   },
   {
    "name": "re-serialised JSON, original signature",
    "record": "ba1|eyJ2IjogMSwgImciOiA5MDAxLCAiYm90IjogNTAwMSwgIm9wIjogImF0dGFjaCIsICJhIjogNDEwMCwgIm4iOiA3LCAidCI6IDE3NTk1OTAwMDAxMjN9|kz6M36UKcX6cq6HW2uUVbTOD72EDSzTbLHbsq38xqVmRSwjmwLT+R/UJPTKsGNzxB6UJuCF6VOzc8BKjQWnACw==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9001,
     "bot": 5001,
     "actor": 4100,
     "epoch": 7,
     "op": "attach"
    },
    "expect": "invalid",
    "why": "json"
   },
   {
    "name": "op flipped after signing",
    "record": "ba1|eyJ2IjoxLCJnIjo5MDAxLCJib3QiOjUwMDEsIm9wIjoiZGV0YWNoIiwiYSI6NDEwMCwibiI6NywidCI6MTc1OTU5MDAwMDEyM30=|kz6M36UKcX6cq6HW2uUVbTOD72EDSzTbLHbsq38xqVmRSwjmwLT+R/UJPTKsGNzxB6UJuCF6VOzc8BKjQWnACw==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9001,
     "bot": 5001,
     "actor": 4100,
     "epoch": 7,
     "op": "detach"
    },
    "expect": "invalid",
    "why": "signature"
   },
   {
    "name": "another group",
    "record": "ba1|eyJ2IjoxLCJnIjo5MDAxLCJib3QiOjUwMDEsIm9wIjoiYXR0YWNoIiwiYSI6NDEwMCwibiI6NywidCI6MTc1OTU5MDAwMDEyM30=|kz6M36UKcX6cq6HW2uUVbTOD72EDSzTbLHbsq38xqVmRSwjmwLT+R/UJPTKsGNzxB6UJuCF6VOzc8BKjQWnACw==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9002,
     "bot": 5001,
     "actor": 4100,
     "epoch": 7,
     "op": "attach"
    },
    "expect": "invalid",
    "why": "group"
   },
   {
    "name": "another bot",
    "record": "ba1|eyJ2IjoxLCJnIjo5MDAxLCJib3QiOjUwMDEsIm9wIjoiYXR0YWNoIiwiYSI6NDEwMCwibiI6NywidCI6MTc1OTU5MDAwMDEyM30=|kz6M36UKcX6cq6HW2uUVbTOD72EDSzTbLHbsq38xqVmRSwjmwLT+R/UJPTKsGNzxB6UJuCF6VOzc8BKjQWnACw==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9001,
     "bot": 5002,
     "actor": 4100,
     "epoch": 7,
     "op": "attach"
    },
    "expect": "invalid",
    "why": "bot"
   },
   {
    "name": "posted by somebody else than the signer named in a",
    "record": "ba1|eyJ2IjoxLCJnIjo5MDAxLCJib3QiOjUwMDEsIm9wIjoiYXR0YWNoIiwiYSI6NDEwMywibiI6NywidCI6MTc1OTU5MDAwMDEyM30=|KFf5kUwotouKqtBfGJg+ibql4Hv4/V+walLBfZ5Kmbzg9uGuAPx5M3v/rGj9MxP4pJ3DmqmEH2gTGR5RUIFyBg==",
    "signer_ed25519_public": "nwiVQjnEPPIi1Fm7Ina1+16DjJp4l0N9S4/Zpja24XE=",
    "context": {
     "group": 9001,
     "bot": 5001,
     "actor": 4100,
     "epoch": 7,
     "op": "attach"
    },
    "expect": "invalid",
    "why": "actor"
   },
   {
    "name": "stale epoch",
    "record": "ba1|eyJ2IjoxLCJnIjo5MDAxLCJib3QiOjUwMDEsIm9wIjoiYXR0YWNoIiwiYSI6NDEwMCwibiI6NywidCI6MTc1OTU5MDAwMDEyM30=|kz6M36UKcX6cq6HW2uUVbTOD72EDSzTbLHbsq38xqVmRSwjmwLT+R/UJPTKsGNzxB6UJuCF6VOzc8BKjQWnACw==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9001,
     "bot": 5001,
     "actor": 4100,
     "epoch": 8,
     "op": "attach"
    },
    "expect": "invalid",
    "why": "epoch"
   },
   {
    "name": "attach record posted as a detach",
    "record": "ba1|eyJ2IjoxLCJnIjo5MDAxLCJib3QiOjUwMDEsIm9wIjoiYXR0YWNoIiwiYSI6NDEwMCwibiI6NywidCI6MTc1OTU5MDAwMDEyM30=|kz6M36UKcX6cq6HW2uUVbTOD72EDSzTbLHbsq38xqVmRSwjmwLT+R/UJPTKsGNzxB6UJuCF6VOzc8BKjQWnACw==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9001,
     "bot": 5001,
     "actor": 4100,
     "epoch": 7,
     "op": "detach"
    },
    "expect": "invalid",
    "why": "op"
   },
   {
    "name": "backslash escape in op, owner-signed",
    "record": "ba1|eyJ2IjoxLCJnIjo5MDAxLCJib3QiOjUwMDEsIm9wIjoiXHUwMDYxdHRhY2giLCJhIjo0MTAwLCJuIjo3LCJ0IjoxNzU5NTkwMDAwMTIzfQ==|5JT5eXanhYsYXEqkcAm7nkEhSPeKzm0Yjih7AYmi4LXMzj+6WGGS05BBJXaAFhxNqko76Nn00Kc0yEFOXWu0AQ==",
    "signer_ed25519_public": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
    "context": {
     "group": 9001,
     "bot": 5001,
     "actor": 4100,
     "epoch": 7,
     "op": "attach"
    },
    "expect": "invalid",
    "why": "json"
   }
  ]
 },
 "ubk": [
  {
   "who": "dana",
   "account_x25519_private": "arHw47wljPNj0Aaw09fv796y5lFtyRXLN03R6MFHjgU=",
   "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
   "info": "Qivuna.Bot.v1.userkey",
   "ubk_private": "MwpG1R6Af5aGTeYCUd35bjUZ6Wh0MlUcYx9yLPuog2c=",
   "ubk_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
   "account_key_hash": "b1df8a8437b4fabe6e7a206822ec6b2b749eac0123c9a72361db35f5f3a583d0",
   "note": "account_key_hash = hex SHA-256 of the account's e2ee_public_key base64 STRING (§3.1 bot_peer_keys)"
  },
  {
   "who": "dana, another namespace",
   "account_x25519_private": "arHw47wljPNj0Aaw09fv796y5lFtyRXLN03R6MFHjgU=",
   "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
   "info": "Qivuna.Bot.v1.userkey",
   "ubk_private": "DF/46KN/0Zj09KcYALkoOrdEm435TxUUYHSSuoyaR8E=",
   "ubk_public": "QTpafAE3QehZVy+Ry5+/4GX7VVgE606X8CZ605zlrBo="
  },
  {
   "who": "avi",
   "account_x25519_private": "nEnDXIG4zWzdQXNhetYjX/tpcaiK6r7asJNYmoRBFrc=",
   "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
   "info": "Qivuna.Bot.v1.userkey",
   "ubk_private": "AYXals73aYW5swIGwQvNHZVvOvxxpMPxlTW3bGNa0HM=",
   "ubk_public": "6ty7TDa+EUyiqiqam0EKiePhlCAirVAfuvHjBkLjXEc="
  }
 ],
 "ret": {
  "k_ret": {
   "account_x25519_private": "arHw47wljPNj0Aaw09fv796y5lFtyRXLN03R6MFHjgU=",
   "info": "Qivuna.Bot.v1.ret",
   "salt": "",
   "key": "MjKEAJ4s7qqRxSPTEDwivV7RPAjmnkPdXWiWPfoB72g="
  },
  "layout": "base64( nonce(12) || AES-256-GCM(K_ret, nonce, R, aad = utf8('Qivuna.Bot.v1.ret')) || tag(16) )",
  "valid": [
   {
    "name": "Dana's return address for rq-1",
    "r_utf8": "{\"v\":1,\"g\":9001,\"rq\":\"oTQs40pDTaaPHjGxM2l8HQ==\",\"b\":5001,\"t\":1759590000123}",
    "nonce": "UnjCzqUg4V1bCN2h",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "open_with": "dana",
    "expect_r_utf8": "{\"v\":1,\"g\":9001,\"rq\":\"oTQs40pDTaaPHjGxM2l8HQ==\",\"b\":5001,\"t\":1759590000123}"
   }
  ],
  "invalid": [
   {
    "name": "opened under another account's key (Avi)",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "open_with": "avi",
    "expect_r_utf8": null
   },
   {
    "name": "one bit flipped in the tag",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhw==",
    "open_with": "dana",
    "expect_r_utf8": null
   },
   {
    "name": "sealed without the aad",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq6JTVvggD3+V/ka3q3Ck9Usw==",
    "open_with": "dana",
    "expect_r_utf8": null
   },
   {
    "name": "truncated (shorter than nonce + tag)",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/",
    "open_with": "dana",
    "expect_r_utf8": null
   },
   {
    "name": "R with a duplicate key (\"g\" twice), sealed under Dana's key",
    "ret": "69V4RwHyCY1ZDGYUGbPYoRpj7Avm9Of6hXcvB3dlk8fIbRSXVGRCsdSPplME7Qsg/qeoZwHbM0ew13sk4SJVXgSeJhJ6wuoYbxLSpP/ZQehEQAoi7g9rZjkBxPVfvDM0EC/pabkcfVSEoWHl+mYJYw==",
    "open_with": "dana",
    "expect_r_utf8": null
   }
  ]
 },
 "s2": {
  "construction": "stage D MultiEnvelope: see README §s2",
  "random_draw_order": "content_key(32), body_nonce(12), then per reader in wrap order: ephemeral_seed(32), wrap_nonce(12)",
  "valid": [
   {
    "name": "sidecar: Dana → @pollbot, group command",
    "note": "MultiEnvelope.seal(senderPrivateKey = ubk, readers = [bot x25519]); wraps: [sender, bot]",
    "plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226d7367222c227271223a226f5451733430704454616150486a47784d326c3848513d3d222c2274223a313735393539303030303132332c22637478223a2267222c2274657874223a222f706f6c6c40706f6c6c626f74204c756e63683f20d7a4d799d7a6d794202f20d7a1d795d7a9d799222c22656e74223a5b7b2274797065223a22626f745f636f6d6d616e64222c226f6666736574223a302c226c656e677468223a31337d5d2c22726574223a22556e6a437a71556734563162434e326833615852787465326c334b3157624352376f762f6830722b463967324f78316479665a724b6b7834314f2f6f504d62763952507953504c6756794e44776a4a6651442f6336434676465977763156467a6974626e6836766748497254353337753446713634392b5970355a41586c46456367386345744d5a68673d3d222c226c616e67223a226865227d",
    "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
    "content_key": "PfG9g1F1So7VPYn/fLQFpVMmldpCx/5BATIiK312o4A=",
    "body_nonce": "tKfGLGAL2f5UcOFs",
    "wraps": [
     {
      "reader_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
      "ephemeral_seed": "RfaInf76WhY9sihhnWhQN0HMcx+FvwGnvN+BzUY0N/I=",
      "ephemeral_public": "6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=",
      "wrap_nonce": "ucxRTn8IEg1CIwXX"
     },
     {
      "reader_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "ephemeral_seed": "XvPajYSkvYPDUZHetuOyqaSRaB5+WQ0YZOdhYUsZO0Y=",
      "ephemeral_public": "wJeClq+JqBDXRHtrn1aeSSNgvn8Gx/4CBvtRgU2ZmxI=",
      "wrap_nonce": "8GnDyzOL6XxXjv4i"
     }
    ],
    "wire": "s2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6ckgM2MXBggIY5oYOdVGxA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,wJeClq+JqBDXRHtrn1aeSSNgvn8Gx/4CBvtRgU2ZmxI=.8GnDyzOL6XxXjv4i.p9Nl4AA3FhPDBgH29g+axpOV+GF5FjOLOURGPTNFMKs=.rTLs8pOhwpcrK+65/rYj/Q==",
    "opens": [
     {
      "who": "bot opens",
      "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
      "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
      "expect_plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226d7367222c227271223a226f5451733430704454616150486a47784d326c3848513d3d222c2274223a313735393539303030303132332c22637478223a2267222c2274657874223a222f706f6c6c40706f6c6c626f74204c756e63683f20d7a4d799d7a6d794202f20d7a1d795d7a9d799222c22656e74223a5b7b2274797065223a22626f745f636f6d6d616e64222c226f6666736574223a302c226c656e677468223a31337d5d2c22726574223a22556e6a437a71556734563162434e326833615852787465326c334b3157624352376f762f6830722b463967324f78316479665a724b6b7834314f2f6f504d62763952507953504c6756794e44776a4a6651442f6336434676465977763156467a6974626e6836766748497254353337753446713634392b5970355a41586c46456367386345744d5a68673d3d222c226c616e67223a226865227d"
     },
     {
      "who": "Dana's own phone opens (sender self-wrap)",
      "our_x25519_private": "MwpG1R6Af5aGTeYCUd35bjUZ6Wh0MlUcYx9yLPuog2c=",
      "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
      "expect_plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226d7367222c227271223a226f5451733430704454616150486a47784d326c3848513d3d222c2274223a313735393539303030303132332c22637478223a2267222c2274657874223a222f706f6c6c40706f6c6c626f74204c756e63683f20d7a4d799d7a6d794202f20d7a1d795d7a9d799222c22656e74223a5b7b2274797065223a22626f745f636f6d6d616e64222c226f6666736574223a302c226c656e677468223a31337d5d2c22726574223a22556e6a437a71556734563162434e326833615852787465326c334b3157624352376f762f6830722b463967324f78316479665a724b6b7834314f2f6f504d62763952507953504c6756794e44776a4a6651442f6336434676465977763156467a6974626e6836766748497254353337753446713634392b5970355a41586c46456367386345744d5a68673d3d222c226c616e67223a226865227d"
     },
     {
      "who": "bot, wrong sender key (Avi's ubk)",
      "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
      "sender_x25519_public": "6ty7TDa+EUyiqiqam0EKiePhlCAirVAfuvHjBkLjXEc=",
      "expect_plaintext_hex": null
     },
     {
      "who": "bot, Dana's ACCOUNT key as sender (not her ubk)",
      "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
      "sender_x25519_public": "KZv6l6S+qyDpCb052fqw72FqlVM+9rwuqxqtJW9g/Xo=",
      "expect_plaintext_hex": null
     },
     {
      "who": "Avi (no wrap for him)",
      "our_x25519_private": "AYXals73aYW5swIGwQvNHZVvOvxxpMPxlTW3bGNa0HM=",
      "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
      "expect_plaintext_hex": null
     },
     {
      "who": "another bot",
      "our_x25519_private": "JZ8mRzYZZVuxXVxXudH0vvxo7pAMBhgpvp0Wzj8KUC4=",
      "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
      "expect_plaintext_hex": null
     }
    ]
   },
   {
    "name": "sidecar: Avi presses a button (k=cb)",
    "note": "",
    "plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226362222c227271223a2234396648713462656569426d7a4933306644796533513d3d222c2274223a313735393539303030353132332c22637478223a2267222c226362223a7b226d6964223a226f6b454c392f38526c61787a4e583871464762316f413d3d222c2264617461223a22766f74653a70697a7a61227d2c22726574223a225a2b6e7047534564474d5a41674c2f41645638543834697871523263535769482b692b576b4e6c5a445452336e4c32344a44734f5156624a48336a595a3339706b59544c4d2f465954356278474259524b51336841652f46574e667264725a51536e423570576b6344654f6d4c6f637558674a306336707a5049684b3066727a64324e573638424937513d3d222c226c616e67223a22656e227d",
    "sender_x25519_public": "6ty7TDa+EUyiqiqam0EKiePhlCAirVAfuvHjBkLjXEc=",
    "content_key": "mekm01Eii2k621fDhKz/XE9Tof+r/7mIkTfciIbeAk4=",
    "body_nonce": "r1L9GKFeZejBWydu",
    "wraps": [
     {
      "reader_x25519_public": "6ty7TDa+EUyiqiqam0EKiePhlCAirVAfuvHjBkLjXEc=",
      "ephemeral_seed": "gW+AHGMr8ZtEFDBw2e2WEJ92i4Olo8DsVrOqqIhdsyc=",
      "ephemeral_public": "T0QdWOir9kaGndF8XrY43lh6Kv3WKTBUSH4PnujkIkI=",
      "wrap_nonce": "wjCqX4DPa+g2SMHs"
     },
     {
      "reader_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "ephemeral_seed": "3xsexJ3Nn5mvgng8OGSVLSTMPJBDe4HI/WAthPt3q0E=",
      "ephemeral_public": "D1gG+Gow5WG8x74A7+SKld773aa1soCx7FjSdb+lCyc=",
      "wrap_nonce": "LZbM+bNv5BUR6BpC"
     }
    ],
    "wire": "s2|r1L9GKFeZejBWydu|n7mTk8eUxAyj3FmGDn3uFTi78h9dlNSpgUbZ4Z+8zTM6sNIb0W5KgIifeFkq/u1qjTkTBEYQsNFijZ2v4BOPuaEtQL8e5giPCMrEXqgnl1hE8GjA7mDpGfHNzdA3tf6fNEZSbjxuhCYwm2zlHV27YzW8Mlot2QuY2Xw5oXGUxFz7T0nLDZUEkIayM2+6ZmflUij5uezTcbPFHhmyGqeY2eROMygw4vvyvYZtjOhuekb0pvrv16KDHAj+GfRSh9vx724h9vg3rg2ev7pWf54dN725iM+eALzQNgkI+NxkmbIgzYTAownLmCp/wI6tpzBvvb2M5B8ZwihFpoiTTnom5GRohZe0yxLacBB4qWuNxHkR3uNaiMpfjXhQY+KvrxIMvPiPMScMxl9agAn851IzXNxDt9URsl7YUxI=|5xBNeP5tLG6exGhw5s4VCA==|T0QdWOir9kaGndF8XrY43lh6Kv3WKTBUSH4PnujkIkI=.wjCqX4DPa+g2SMHs.XhhofmMH7vaIK16IWWtbSuzPMNQ0PTBcIYQkFyov/fY=.29uHpqBke7McxtvMNUao9w==,D1gG+Gow5WG8x74A7+SKld773aa1soCx7FjSdb+lCyc=.LZbM+bNv5BUR6BpC.hKioiTdOmH0uZ0z+ZLhCaVgGM98wn7rZQkIaO/lrCgg=.pEuD8Su7vKv3fQal848Zjw==",
    "opens": [
     {
      "who": "bot opens",
      "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
      "sender_x25519_public": "6ty7TDa+EUyiqiqam0EKiePhlCAirVAfuvHjBkLjXEc=",
      "expect_plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226362222c227271223a2234396648713462656569426d7a4933306644796533513d3d222c2274223a313735393539303030353132332c22637478223a2267222c226362223a7b226d6964223a226f6b454c392f38526c61787a4e583871464762316f413d3d222c2264617461223a22766f74653a70697a7a61227d2c22726574223a225a2b6e7047534564474d5a41674c2f41645638543834697871523263535769482b692b576b4e6c5a445452336e4c32344a44734f5156624a48336a595a3339706b59544c4d2f465954356278474259524b51336841652f46574e667264725a51536e423570576b6344654f6d4c6f637558674a306336707a5049684b3066727a64324e573638424937513d3d222c226c616e67223a22656e227d"
     },
     {
      "who": "bot, Dana as sender",
      "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
      "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
      "expect_plaintext_hex": null
     }
    ]
   },
   {
    "name": "1:1: Dana → encrypted bot (stored as a chats row)",
    "note": "U+0000 inside the typed text was stripped before packing",
    "plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226d7367222c227271223a2264746f7072573537357458626475596d3744514336673d3d222c2274223a313735393539303030393132332c22637478223a2270222c2274657874223a2268656c6c6f20626f74227d",
    "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
    "content_key": "SpYGmY5yYJLkNQgaV0LuInUrbKXbNw/5q12AztBRc6w=",
    "body_nonce": "+7dyW90UBG0tIYbV",
    "wraps": [
     {
      "reader_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
      "ephemeral_seed": "q/0H87iE66Eh8w5K/RjbFxsqAmk5Qud964YDqxvaEzY=",
      "ephemeral_public": "uvJ3s6hDqKMPzi/8g2D8ov2XDgoZxZLRCx8m/WjczV4=",
      "wrap_nonce": "BLuo4xtWklWRB4af"
     },
     {
      "reader_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "ephemeral_seed": "shPghPEP87pjWOoisg+N/DsHWgMSowMVCcmbxqhuiBU=",
      "ephemeral_public": "UHu6gDTSMp5I17jbIEPfBWmWOcVSbI9nRKNoz21d9HU=",
      "wrap_nonce": "Na6uLmMBPDsqVjXv"
     }
    ],
    "wire": "s2|+7dyW90UBG0tIYbV|SmlNVTd+P3KUMw8xwFBoXGxLyAuDhCZ+vqww+TpOetIA0ugAIQkyXmMMnYB2eKUd9HtCx5oFCMN9uaXiOTOO65zdZWVQd92sV8LSdGca5Nq68DgzfluCarEwbi+gjUWumwCKBg9vIiLweGWkzCYAy1E=|dzgEYVJsPbYNAk1hs/ybcw==|uvJ3s6hDqKMPzi/8g2D8ov2XDgoZxZLRCx8m/WjczV4=.BLuo4xtWklWRB4af.nLR9x3OO9/QD2jxIB1U+ocZe/0jOrwr5LT+fRfsE+OA=.WUj7LpqOsMsJUwdKobsLlg==,UHu6gDTSMp5I17jbIEPfBWmWOcVSbI9nRKNoz21d9HU=.Na6uLmMBPDsqVjXv.9SH9cnl3ucguNn+dliWIs8M5LnBWlnCMm3+7dlxJk5I=.Y+ZJ3WcJ5vLDdam0TBRVAQ==",
    "opens": [
     {
      "who": "bot opens",
      "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
      "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
      "expect_plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226d7367222c227271223a2264746f7072573537357458626475596d3744514336673d3d222c2274223a313735393539303030393132332c22637478223a2270222c2274657874223a2268656c6c6f20626f74227d"
     }
    ]
   },
   {
    "name": "reply: @pollbot → Dana (inbox)",
    "note": "sealed by the bot key to readers [Dana's ubk]; the self-wrap to the bot comes first",
    "plaintext_hex": "005142317b2276223a312c2274797065223a22626f74222c22626f74223a353030312c226a223a2265794a32496a6f784c434a69623351694f6a55774d444573496d73694f694a74633263694c434a74615751694f694a766130564d4f533834556d78686548704f57446878526b64694d573942505430694c434a795a534936496d395555584d304d48424556474668554568715233684e4d6d77345346453950534973496e51694f6a45334e546b314f5441774d4449784d6a4d73496d4e3065434936496d63694c434a305a586830496a6f69544856755932672f495043666a5a556762334967384a2b4e6f794973496d5675644349365733736964486c775a534936496d4a76624751694c434a765a6d5a7a5a5851694f6a4173496d786c626d6430614349364e6e31644c434a725969493657317437496e51694f694c776e34325649464270656e706849697769593249694f694a326233526c4f6e4270656e7068496e307365794a30496a6f69384a2b4e6f79425464584e6f61534973496d4e69496a6f69646d39305a54707a64584e6f61534a395853786265794a30496a6f69556d567a6457783063794973496e567962434936496d68306448427a4f6938765a586868625842735a53356a623230766347397362433878496e316458537769636d5630496a6f69565735715133707856576330566a46695130347961444e6857464a346447557962444e4c4d5664695131493362335976614442794b3059355a7a4a506544466b65575a61636b7472654451785479397655453169646a6c5355486c545545786e566e6c4f52486471536d5a525243396a4e6b4e47646b5a5a64335978566b5a3661585269626d6732646d644953584a554e544d3364545247635459304f53745a6344566151566873526b566a5a7a686a5258524e576d686e5054306966513d3d222c2273223a224849367936493942537a614d64776159634a72695648644a6c543832566f3668722b6e6a7377364c796e516e4c73354a7849517a48674a6355664d363559524938534f343655486b58375279787432567939306141773d3d227d",
    "sender_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "content_key": "e/CgABNGwLLSBA8E6ldAr8NRrTdJg3uIV50vRBMEYg4=",
    "body_nonce": "gWABWMhJTBwOyq9e",
    "wraps": [
     {
      "reader_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "ephemeral_seed": "BSgphazYvZaOQVt6gHiJiJwaB35icrZPAe5pimy4HEw=",
      "ephemeral_public": "Rh7bq1xEuaqOlFkcFqbuyy8a4xRywEkvV1j4Dh3MyVk=",
      "wrap_nonce": "GVmwkW28TmMiZc+J"
     },
     {
      "reader_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
      "ephemeral_seed": "G7FNk9vnpYrnnGzDoG3eOlIKlsB9yqqFcsbP73ifVCQ=",
      "ephemeral_public": "B7fYhhXWrGbU/W/GZoOB2qvd91H+vClxwAPWIvdWXh4=",
      "wrap_nonce": "24tuvV3ploCDgI+m"
     }
    ],
    "wire": "s2|gWABWMhJTBwOyq9e|aSLq057tL0uCNufiFonQnv7OTXTVKeQDL5TPlMyJkqapECYmeoKw9S9/2fq5QZ7y2PO0zAMvoF2+X4a2w14VbnB6JPbLYAVtqkzMkr4U5gWGvJ8nFVJipW3NUUb5MgvOleheXWza4KLA/H0UAU0CgMzfR0HREbimw+KSFabGuKt0Klb63OTQKe3zcYJje9ZYtOwxWxawJ/FqD9pAuwh4IMwpbrmClTeWQjx3Bn0AVfxaLYUlGLRLXYGkIRw321zRfI0hp+n/eICEuSV3ET12KuZIBUG16RZsnopmlPaLMFujRQCBGJYtwllqeIqsvUH4+XGQH4ff0puCllWLaUOnyEG82LJt4QaL9NCqM5KkCHsR3pa5WzYSupYlvOkhpGu59bRo6B/7Ur0kTHytFkAauSw5/cvaKgAfRF8Ut1fKMUdFVZxIn8fg5Bhi9D3g00S6H56Ntwo0MT2ixH+imjnc5aVmUa+ln0/UWCdLwUf0hAKw54agto7aehzv2kHEgW7k70HEXSe9quBTELAeIl6z2Dek7SolwCEpgolgGlftbttWKsESKB+Li1TjtiGmPDFyGFSSCCDRwBvZ8T+LbUuy5zbA+HJlMob12bFgqflp/IMKfkW4v60yKwXbgl3E7rDJ4+3Bv9odb/RT5uopSswhQsBW2mcFi0CGQ9Gfx31uEmMOC9OhRQbFz4gm5mtCc/DbpgpkCDYXfKnTb5eHtKpNEfI1OyFoERz36MvrZ8GK0aQW51LZXghiCQNYckpTfC241zjx92scj0Z5q1MbIj4jweLHufWstqd1vaLMvdn7jGF1g5V9ymaelrL38kj+8bI0LFBI2Z+pDhnUyr6WuzTdcrp8rbdGXWaoqtdKKX/POL1D0eimSru1o6udK7CObzmIlQ37ewGfYWqeY5vwKqhyLxmiuc6HumYO9pqYQRHL3HfcCbZGPErO5XkISKkxLJA/zZCzzoEebtuY2S1D5DUb48Q2Zy0hh4e6TNWaUcxfDyFtWhCdgmrtOyxCE555W+gVizVe53/Vjdu2+Rl0aQ==|WYPK8nGeh+oolckjKPK8jw==|Rh7bq1xEuaqOlFkcFqbuyy8a4xRywEkvV1j4Dh3MyVk=.GVmwkW28TmMiZc+J.Br3CfyeALyF20hvqfmvMCMgi67rLy04+N/ZlU2sZyG8=.gBrLcmDU+mTVpx9BtmQMFQ==,B7fYhhXWrGbU/W/GZoOB2qvd91H+vClxwAPWIvdWXh4=.24tuvV3ploCDgI+m.++TQX44Et/JeRbJxDkieMzdx286CHJ3hb5r4YUXYpoQ=.eDNwXdO1SiH43q/gXHTq0w==",
    "opens": [
     {
      "who": "Dana opens (sender = certified bot key)",
      "our_x25519_private": "MwpG1R6Af5aGTeYCUd35bjUZ6Wh0MlUcYx9yLPuog2c=",
      "sender_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "expect_plaintext_hex": "005142317b2276223a312c2274797065223a22626f74222c22626f74223a353030312c226a223a2265794a32496a6f784c434a69623351694f6a55774d444573496d73694f694a74633263694c434a74615751694f694a766130564d4f533834556d78686548704f57446878526b64694d573942505430694c434a795a534936496d395555584d304d48424556474668554568715233684e4d6d77345346453950534973496e51694f6a45334e546b314f5441774d4449784d6a4d73496d4e3065434936496d63694c434a305a586830496a6f69544856755932672f495043666a5a556762334967384a2b4e6f794973496d5675644349365733736964486c775a534936496d4a76624751694c434a765a6d5a7a5a5851694f6a4173496d786c626d6430614349364e6e31644c434a725969493657317437496e51694f694c776e34325649464270656e706849697769593249694f694a326233526c4f6e4270656e7068496e307365794a30496a6f69384a2b4e6f79425464584e6f61534973496d4e69496a6f69646d39305a54707a64584e6f61534a395853786265794a30496a6f69556d567a6457783063794973496e567962434936496d68306448427a4f6938765a586868625842735a53356a623230766347397362433878496e316458537769636d5630496a6f69565735715133707856576330566a46695130347961444e6857464a346447557962444e4c4d5664695131493362335976614442794b3059355a7a4a506544466b65575a61636b7472654451785479397655453169646a6c5355486c545545786e566e6c4f52486471536d5a525243396a4e6b4e47646b5a5a64335978566b5a3661585269626d6732646d644953584a554e544d3364545247635459304f53745a6344566151566873526b566a5a7a686a5258524e576d686e5054306966513d3d222c2273223a224849367936493942537a614d64776159634a72695648644a6c543832566f3668722b6e6a7377364c796e516e4c73354a7849517a48674a6355664d363559524938534f343655486b58375279787432567939306141773d3d227d"
     },
     {
      "who": "Dana, sender claimed to be another bot key",
      "our_x25519_private": "MwpG1R6Af5aGTeYCUd35bjUZ6Wh0MlUcYx9yLPuog2c=",
      "sender_x25519_public": "rtT16dDef7JomKLYOAQLBk6atj6wH8/DwEAGgrlWXA0=",
      "expect_plaintext_hex": null
     },
     {
      "who": "the bot opens its own (self-wrap)",
      "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
      "sender_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "expect_plaintext_hex": "005142317b2276223a312c2274797065223a22626f74222c22626f74223a353030312c226a223a2265794a32496a6f784c434a69623351694f6a55774d444573496d73694f694a74633263694c434a74615751694f694a766130564d4f533834556d78686548704f57446878526b64694d573942505430694c434a795a534936496d395555584d304d48424556474668554568715233684e4d6d77345346453950534973496e51694f6a45334e546b314f5441774d4449784d6a4d73496d4e3065434936496d63694c434a305a586830496a6f69544856755932672f495043666a5a556762334967384a2b4e6f794973496d5675644349365733736964486c775a534936496d4a76624751694c434a765a6d5a7a5a5851694f6a4173496d786c626d6430614349364e6e31644c434a725969493657317437496e51694f694c776e34325649464270656e706849697769593249694f694a326233526c4f6e4270656e7068496e307365794a30496a6f69384a2b4e6f79425464584e6f61534973496d4e69496a6f69646d39305a54707a64584e6f61534a395853786265794a30496a6f69556d567a6457783063794973496e567962434936496d68306448427a4f6938765a586868625842735a53356a623230766347397362433878496e316458537769636d5630496a6f69565735715133707856576330566a46695130347961444e6857464a346447557962444e4c4d5664695131493362335976614442794b3059355a7a4a506544466b65575a61636b7472654451785479397655453169646a6c5355486c545545786e566e6c4f52486471536d5a525243396a4e6b4e47646b5a5a64335978566b5a3661585269626d6732646d644953584a554e544d3364545247635459304f53745a6344566151566873526b566a5a7a686a5258524e576d686e5054306966513d3d222c2273223a224849367936493942537a614d64776159634a72695648644a6c543832566f3668722b6e6a7377364c796e516e4c73354a7849517a48674a6355664d363559524938534f343655486b58375279787432567939306141773d3d227d"
     },
     {
      "who": "Avi",
      "our_x25519_private": "AYXals73aYW5swIGwQvNHZVvOvxxpMPxlTW3bGNa0HM=",
      "sender_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "expect_plaintext_hex": null
     }
    ]
   },
   {
    "name": "answer: @pollbot → Avi (answerCallbackQuery envelope)",
    "note": "",
    "plaintext_hex": "005142317b2276223a312c2274797065223a22626f74222c22626f74223a353030312c226a223a2265794a32496a6f784c434a69623351694f6a55774d444573496d73694f694a68626e4e335a5849694c434a74615751694f694a31566c5235535552364e6e56794d3146764e6a6c34557a68756246426e505430694c434a795a534936496a51355a6b68784e474a6c5a576c436258704a4d7a426d52486c6c4d31453950534973496e51694f6a45334e546b314f5441774d4459784d6a4d73496d4e3065434936496d63694c434a305a586830496a6f69566d39305a575167384a2b4e6c534973496d567564434936626e567362437769613249694f6d353162477773496d46735a584a30496a706d5957787a5a537769636d5630496a6f69576974756345645452575248545670425a307776515752574f4651344e476c346356497959314e58615567726153745861303573576b5255556a4e7554444930536b527a54314657596b70494d32705a576a4d356347745a5645784e4c305a5a564456696545644357564a4c55544e6f51575576526c644f5a6e4a6b636c7052553235434e58425861324e455a5539745447396a6456686e536a426a4e6e423655456c6f537a426d636e706b4d6b35584e6a6843535464525054306966513d3d222c2273223a22387078703042327268796d6e6545356457556874326d765273636e72326d746832595343426d7068795a48754733554d716c76647248396d4d78504b736d5573544f46774a5061544762794e70634d754554354742773d3d227d",
    "sender_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "content_key": "rfMqZaZd0VOB8PrJhC+pj4kAZZEvjIPSPFLK8ibo56o=",
    "body_nonce": "X3X1XgGhd56/17ti",
    "wraps": [
     {
      "reader_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "ephemeral_seed": "EASKlnoFnYmU78P4DcY66fZBztDs+SppqpzfKUT1yjU=",
      "ephemeral_public": "iXFE/iJG3mQSQLu+D7H0SU4C4G3yrNd6ozRrIMdHVBE=",
      "wrap_nonce": "41rmm6D10Unw4NmO"
     },
     {
      "reader_x25519_public": "6ty7TDa+EUyiqiqam0EKiePhlCAirVAfuvHjBkLjXEc=",
      "ephemeral_seed": "7pCDNxX2tDghqvoo34b+VmqdNrTOjxJXpwWz8Eb0EHQ=",
      "ephemeral_public": "agCVGFX+lUXxGzoljpednnvOiVFUd8mAnMC2+Gl91gM=",
      "wrap_nonce": "3MrG4xb2tkVR3vF4"
     }
    ],
    "wire": "s2|X3X1XgGhd56/17ti|AaJxt1wMgjDDvX6d1SpYx7zqEjLP325hyAexYGq8ngcBZiBnw6KDRZbwcannxjDy9CYHlcYmgfuRyP8FeEoEU65F08WqT7RkAgvrYxwi9cD7sBPUP4VEGKVH/BGGlfxsbax0arsLZ1EK0HtfeWmVS2TqKA2HMWUIT8gzF4QSePC0GVA1HgX2SddfA+DhdGFZG3bxm59T3Qvdu05k9voE2OCkOO19PboFZK12eLRj33Sag9u5faTOfdC/XQgJpMBNsCo2Oc8Mgb1y7hruwoTSLvNcEh0Djl20TdX9dL9vXbGl6Ufd/DkUH63GSGmOUYS5BtWK7LsbNT/IQSFVhRCRAFJWt/fQD0QXTR9M/ewvD7mHl0vdy5rbyqRK+VvvNhTYMr+DWqbnUo3d2dvNolI1r7VibR4SXRwDG3VQdoqykDIggRxVWAyjO7ICRrlJ7uWW88IrtWgPbiySgKzdn7dmGdsHPVJVr6wfOB9DMowdy5bqlaTdKEFcWcLGKTp7m8djj3eiFPFfBdCdKZ41Mp9If0etzpdoEz3eTklzskcZdt3QaD/HQvkcw+av7wRMO5PdHdRFsJWDz+2rg3hGhwM4uF6Pz6jBuQSuNv2TUaZOwIbc0JGucbvNrLu4Tv17iNroKcsUSxLDy11lel9gZx2kpqxxIc/WVF3EqT0EoguJX31Tb/JIWyJr/NKcCJ6MjEDMqh07Pwj7X6UC+OQUEkmZZQe4U5t9S1+6QY2G+xhAoZQI5if+2VamtO1s1K4l+/Vq9A==|Xzs7RIFujlEnLzQGCD6o1A==|iXFE/iJG3mQSQLu+D7H0SU4C4G3yrNd6ozRrIMdHVBE=.41rmm6D10Unw4NmO.NfZ0pvljCHuGp6SzgHRZWJM2qzZLumC6gnetaqi7RYU=.h/m5EmcpHGzwoXLqlzYpxA==,agCVGFX+lUXxGzoljpednnvOiVFUd8mAnMC2+Gl91gM=.3MrG4xb2tkVR3vF4.H1GcF2o9k4IQs5dTE00NDjP0QEp0vwZ5Flj1nfz+D1E=.Wcsja6tFgEbwceabnhF0RA==",
    "opens": [
     {
      "who": "Avi opens",
      "our_x25519_private": "AYXals73aYW5swIGwQvNHZVvOvxxpMPxlTW3bGNa0HM=",
      "sender_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "expect_plaintext_hex": "005142317b2276223a312c2274797065223a22626f74222c22626f74223a353030312c226a223a2265794a32496a6f784c434a69623351694f6a55774d444573496d73694f694a68626e4e335a5849694c434a74615751694f694a31566c5235535552364e6e56794d3146764e6a6c34557a68756246426e505430694c434a795a534936496a51355a6b68784e474a6c5a576c436258704a4d7a426d52486c6c4d31453950534973496e51694f6a45334e546b314f5441774d4459784d6a4d73496d4e3065434936496d63694c434a305a586830496a6f69566d39305a575167384a2b4e6c534973496d567564434936626e567362437769613249694f6d353162477773496d46735a584a30496a706d5957787a5a537769636d5630496a6f69576974756345645452575248545670425a307776515752574f4651344e476c346356497959314e58615567726153745861303573576b5255556a4e7554444930536b527a54314657596b70494d32705a576a4d356347745a5645784e4c305a5a564456696545644357564a4c55544e6f51575576526c644f5a6e4a6b636c7052553235434e58425861324e455a5539745447396a6456686e536a426a4e6e423655456c6f537a426d636e706b4d6b35584e6a6843535464525054306966513d3d222c2273223a22387078703042327268796d6e6545356457556874326d765273636e72326d746832595343426d7068795a48754733554d716c76647248396d4d78504b736d5573544f46774a5061544762794e70634d754554354742773d3d227d"
     }
    ]
   },
   {
    "name": "1:1: bot → Dana",
    "note": "",
    "plaintext_hex": "005142317b2276223a312c2274797065223a22626f74222c22626f74223a353030312c226a223a2265794a32496a6f784c434a69623351694f6a55774d444573496d73694f694a74633263694c434a74615751694f694a7756444a4d56574a534c3342485931645456455652614855345a545642505430694c434a795a534936496d523062334279567a55334e585259596d523157573033524646444e6d633950534973496e51694f6a45334e546b314f5441774d5441784d6a4d73496d4e3065434936496e41694c434a305a586830496a6f6953476b675247467559534973496d567564434936626e567362437769613249694f6d353162477773496e4a6c64434936626e56736248303d222c2273223a226e5478463154522b557a69615a7466612b33326f676945777678734e4f42476b7956425a734876534c7855346c71773163646e2f396e6b6e6e754c4c55474d79324149734c552f7637526c3163626f6f6a77323742413d3d227d",
    "sender_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "content_key": "/DXfQIQpVXJcm606V+iYQ+SqNw5UzZ3qCWNElhXwWSg=",
    "body_nonce": "WFp//Msoz8qgl+eL",
    "wraps": [
     {
      "reader_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "ephemeral_seed": "swhQQn9xDROAWvXRBb1Pgg0/nU/4AWVZd311fEueHek=",
      "ephemeral_public": "pFfYG/4PxAzlUIsSU3X5ppupWcK2hIS0iFe71jQopFI=",
      "wrap_nonce": "UfsiReuXRsw91TSF"
     },
     {
      "reader_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
      "ephemeral_seed": "YJE3991AZr2gscYDyFxcLxpxbW+4Y+bRH0LjDhVvuuQ=",
      "ephemeral_public": "j8bmGhwNdvqt6Pug7xcVLYQUVpSXomsf/N4xmqBW1QU=",
      "wrap_nonce": "FbgYDt6QZQ/UUrcG"
     }
    ],
    "wire": "s2|WFp//Msoz8qgl+eL|sXrNm6soqSHCSRuhj8nPxplYKYXLxdxec3tFQ9b5DkmGjVyxBZnhVeZGYlO+XCw+6wJUfdXJ4AbC+al/4GYUM+oU8LH5DNkXSw7kk6qbACqqaOjPri+caTw6spJxD11/P/desfk6X6aPHggHnw3aJIll2c/H8hi/RjJ3YHWrSTn8r06ulroX1g2HNS/opGL1712R6yugKhSCkwsIJn7/4tOsPjLkU2p5VKtHkJoleYAOVvVm8mGWq0I4cbp4UEA+5RppJO5c4goqoWpzkuPwduu5TcDJm8kBJI3VYrqfVsOOtFDMAboAyit1YZb1MVd4uCfxSRWn3s6k0PEawXlVGKt39WnN232HqYiVq955HjcZ16IsOWC7Gwg/Y0egoLQY0JGWsdA1wH93liQEaLoa/MEtrBttXLCb9mBrbO/uYTKuAscAxtvtSMr9CgH2A80II83GogzOuhaZqFNqh5a5cwsShxKwylsOd6Z45o0=|SIeLaw+2eXaWhKYPD3ee1w==|pFfYG/4PxAzlUIsSU3X5ppupWcK2hIS0iFe71jQopFI=.UfsiReuXRsw91TSF.B7u58RnaJPZ/5c8vk7xzD6Uh/CkAB/+OXrsuS2HRtqk=.BnLm4GovtyHIn25chzJl0w==,j8bmGhwNdvqt6Pug7xcVLYQUVpSXomsf/N4xmqBW1QU=.FbgYDt6QZQ/UUrcG.rR8XFB/NeKe1GNC4fkfFRDEdPIUjuNa1LN5wrGEhKBI=.DadPMGawA9RDWR/PUfW8Dg==",
    "opens": [
     {
      "who": "Dana opens",
      "our_x25519_private": "MwpG1R6Af5aGTeYCUd35bjUZ6Wh0MlUcYx9yLPuog2c=",
      "sender_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
      "expect_plaintext_hex": "005142317b2276223a312c2274797065223a22626f74222c22626f74223a353030312c226a223a2265794a32496a6f784c434a69623351694f6a55774d444573496d73694f694a74633263694c434a74615751694f694a7756444a4d56574a534c3342485931645456455652614855345a545642505430694c434a795a534936496d523062334279567a55334e585259596d523157573033524646444e6d633950534973496e51694f6a45334e546b314f5441774d5441784d6a4d73496d4e3065434936496e41694c434a305a586830496a6f6953476b675247467559534973496d567564434936626e567362437769613249694f6d353162477773496e4a6c64434936626e56736248303d222c2273223a226e5478463154522b557a69615a7466612b33326f676945777678734e4f42476b7956425a734876534c7855346c71773163646e2f396e6b6e6e754c4c55474d79324149734c552f7637526c3163626f6f6a77323742413d3d227d"
     }
    ]
   }
  ],
  "extra_unbound_wrap_still_opens": {
   "name": "an extra unbound wrap appended; the bound one still opens",
   "wire": "s2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6ckgM2MXBggIY5oYOdVGxA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,wJeClq+JqBDXRHtrn1aeSSNgvn8Gx/4CBvtRgU2ZmxI=.8GnDyzOL6XxXjv4i.p9Nl4AA3FhPDBgH29g+axpOV+GF5FjOLOURGPTNFMKs=.rTLs8pOhwpcrK+65/rYj/Q==,uhPqHMNf9kDia9pcuvs/nIIdGKnEF95othaLuKQQ8nk=.GmSR9xg7uYL3B91/.Pwf6zbgZxJojUlEtxqRrGdvgfy8hc1PvSfilr6BhLb8=.GNyMGWdiCq/rF81Bx6AiSw==",
   "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
   "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
   "expect_plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226d7367222c227271223a226f5451733430704454616150486a47784d326c3848513d3d222c2274223a313735393539303030303132332c22637478223a2267222c2274657874223a222f706f6c6c40706f6c6c626f74204c756e63683f20d7a4d799d7a6d794202f20d7a1d795d7a9d799222c22656e74223a5b7b2274797065223a22626f745f636f6d6d616e64222c226f6666736574223a302c226c656e677468223a31337d5d2c22726574223a22556e6a437a71556734563162434e326833615852787465326c334b3157624352376f762f6830722b463967324f78316479665a724b6b7834314f2f6f504d62763952507953504c6756794e44776a4a6651442f6336434676465977763156467a6974626e6836766748497254353337753446713634392b5970355a41586c46456367386345744d5a68673d3d222c226c616e67223a226865227d"
  },
  "invalid": [
   {
    "name": "body re-encrypted under the same content key, wraps kept",
    "wire": "s2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYzHhy+3hLkfc0EdYy6ai96IOpjuYFFI47twN8kbTH7vmKed/k+9+IIGf2lmCrQNzN5liqoN+cL0I9Lpt0iZjkihQW43GGNMxSSelgvbym8kKEOOUtznWNzyb+ypGQ+Iid/NmQiyVNdFf5QBHJdstFiq9kTUS8kC7L2tlcElvKxVwCBgce7cwiczhBqAPU/qcuZftZ4uiKIN7zL0aWbrB4hMP+WkrE1KAtPmhB6gsHoQ4kDkvR/Q1fgYOQQCTpZd54Or/3iHUC0enlEtsPWsV/Jql4dHrSqgsBkLcdTvgEO6fQOPQ+tu39E=|azrLtQ2FMS8ocihMDdUkZA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,wJeClq+JqBDXRHtrn1aeSSNgvn8Gx/4CBvtRgU2ZmxI=.8GnDyzOL6XxXjv4i.p9Nl4AA3FhPDBgH29g+axpOV+GF5FjOLOURGPTNFMKs=.rTLs8pOhwpcrK+65/rYj/Q==",
    "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
    "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
    "expect_plaintext_hex": null
   },
   {
    "name": "bot's wrap transplanted from another envelope",
    "wire": "s2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6ckgM2MXBggIY5oYOdVGxA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,hddnILerHDKtIj4NQWLasVcVv4EXFQdAoEP8Mg54S0I=.oSNSejvaNPq8Xfzg.823kofvdqaWUe8FWWgnnF0LDgcfSPfyjVUXb5HRQeag=.egY8/WXDfZkDGcojUbxpXA==",
    "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
    "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
    "expect_plaintext_hex": null
   },
   {
    "name": "bot's wrap replaced by an extra wrap bound to no body",
    "wire": "s2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6ckgM2MXBggIY5oYOdVGxA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,uhPqHMNf9kDia9pcuvs/nIIdGKnEF95othaLuKQQ8nk=.GmSR9xg7uYL3B91/.Pwf6zbgZxJojUlEtxqRrGdvgfy8hc1PvSfilr6BhLb8=.GNyMGWdiCq/rF81Bx6AiSw==",
    "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
    "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
    "expect_plaintext_hex": null
   },
   {
    "name": "four fields only",
    "wire": "s2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6ckgM2MXBggIY5oYOdVGxA==",
    "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
    "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
    "expect_plaintext_hex": null
   },
   {
    "name": "tag of the body flipped",
    "wire": "s2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6MkgM2MXBggIY5oYOdVGxA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,wJeClq+JqBDXRHtrn1aeSSNgvn8Gx/4CBvtRgU2ZmxI=.8GnDyzOL6XxXjv4i.p9Nl4AA3FhPDBgH29g+axpOV+GF5FjOLOURGPTNFMKs=.rTLs8pOhwpcrK+65/rYj/Q==",
    "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
    "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
    "expect_plaintext_hex": null
   },
   {
    "name": "sender key of small order",
    "wire": "s2|+7dyW90UBG0tIYbV|SmlNVTd+P3KUMw8xwFBoXGxLyAuDhCZ+vqww+TpOetIA0ugAIQkyXmMMnYB2eKUd9HtCx5oFCMN9uaXiOTOO65zdZWVQd92sV8LSdGca5Nq68DgzfluCarEwbi+gjUWumwCKBg9vIiLweGWkzCYAy1E=|dzgEYVJsPbYNAk1hs/ybcw==|uvJ3s6hDqKMPzi/8g2D8ov2XDgoZxZLRCx8m/WjczV4=.BLuo4xtWklWRB4af.nLR9x3OO9/QD2jxIB1U+ocZe/0jOrwr5LT+fRfsE+OA=.WUj7LpqOsMsJUwdKobsLlg==,UHu6gDTSMp5I17jbIEPfBWmWOcVSbI9nRKNoz21d9HU=.Na6uLmMBPDsqVjXv.9SH9cnl3ucguNn+dliWIs8M5LnBWlnCMm3+7dlxJk5I=.Y+ZJ3WcJ5vLDdam0TBRVAQ==",
    "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
    "sender_x25519_public": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
    "expect_plaintext_hex": null
   },
   {
    "name": "sender key of small order (top bit set)",
    "wire": "s2|+7dyW90UBG0tIYbV|SmlNVTd+P3KUMw8xwFBoXGxLyAuDhCZ+vqww+TpOetIA0ugAIQkyXmMMnYB2eKUd9HtCx5oFCMN9uaXiOTOO65zdZWVQd92sV8LSdGca5Nq68DgzfluCarEwbi+gjUWumwCKBg9vIiLweGWkzCYAy1E=|dzgEYVJsPbYNAk1hs/ybcw==|uvJ3s6hDqKMPzi/8g2D8ov2XDgoZxZLRCx8m/WjczV4=.BLuo4xtWklWRB4af.nLR9x3OO9/QD2jxIB1U+ocZe/0jOrwr5LT+fRfsE+OA=.WUj7LpqOsMsJUwdKobsLlg==,UHu6gDTSMp5I17jbIEPfBWmWOcVSbI9nRKNoz21d9HU=.Na6uLmMBPDsqVjXv.9SH9cnl3ucguNn+dliWIs8M5LnBWlnCMm3+7dlxJk5I=.Y+ZJ3WcJ5vLDdam0TBRVAQ==",
    "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
    "sender_x25519_public": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA=",
    "expect_plaintext_hex": null
   },
   {
    "name": "every ephemeral replaced by a small-order point",
    "wire": "s2|+7dyW90UBG0tIYbV|SmlNVTd+P3KUMw8xwFBoXGxLyAuDhCZ+vqww+TpOetIA0ugAIQkyXmMMnYB2eKUd9HtCx5oFCMN9uaXiOTOO65zdZWVQd92sV8LSdGca5Nq68DgzfluCarEwbi+gjUWumwCKBg9vIiLweGWkzCYAy1E=|dzgEYVJsPbYNAk1hs/ybcw==|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=.BLuo4xtWklWRB4af.nLR9x3OO9/QD2jxIB1U+ocZe/0jOrwr5LT+fRfsE+OA=.WUj7LpqOsMsJUwdKobsLlg==,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=.Na6uLmMBPDsqVjXv.9SH9cnl3ucguNn+dliWIs8M5LnBWlnCMm3+7dlxJk5I=.Y+ZJ3WcJ5vLDdam0TBRVAQ==",
    "our_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
    "sender_x25519_public": "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=",
    "expect_plaintext_hex": null
   }
  ],
  "server_shape": {
   "regex": "^s2\\|[A-Za-z0-9+/=]+\\|[A-Za-z0-9+/=]+\\|[A-Za-z0-9+/=]+\\|[A-Za-z0-9+/=.,]+$ and at most 20000 characters",
   "accept": [
    "s2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6ckgM2MXBggIY5oYOdVGxA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,wJeClq+JqBDXRHtrn1aeSSNgvn8Gx/4CBvtRgU2ZmxI=.8GnDyzOL6XxXjv4i.p9Nl4AA3FhPDBgH29g+axpOV+GF5FjOLOURGPTNFMKs=.rTLs8pOhwpcrK+65/rYj/Q==",
    "s2|r1L9GKFeZejBWydu|n7mTk8eUxAyj3FmGDn3uFTi78h9dlNSpgUbZ4Z+8zTM6sNIb0W5KgIifeFkq/u1qjTkTBEYQsNFijZ2v4BOPuaEtQL8e5giPCMrEXqgnl1hE8GjA7mDpGfHNzdA3tf6fNEZSbjxuhCYwm2zlHV27YzW8Mlot2QuY2Xw5oXGUxFz7T0nLDZUEkIayM2+6ZmflUij5uezTcbPFHhmyGqeY2eROMygw4vvyvYZtjOhuekb0pvrv16KDHAj+GfRSh9vx724h9vg3rg2ev7pWf54dN725iM+eALzQNgkI+NxkmbIgzYTAownLmCp/wI6tpzBvvb2M5B8ZwihFpoiTTnom5GRohZe0yxLacBB4qWuNxHkR3uNaiMpfjXhQY+KvrxIMvPiPMScMxl9agAn851IzXNxDt9URsl7YUxI=|5xBNeP5tLG6exGhw5s4VCA==|T0QdWOir9kaGndF8XrY43lh6Kv3WKTBUSH4PnujkIkI=.wjCqX4DPa+g2SMHs.XhhofmMH7vaIK16IWWtbSuzPMNQ0PTBcIYQkFyov/fY=.29uHpqBke7McxtvMNUao9w==,D1gG+Gow5WG8x74A7+SKld773aa1soCx7FjSdb+lCyc=.LZbM+bNv5BUR6BpC.hKioiTdOmH0uZ0z+ZLhCaVgGM98wn7rZQkIaO/lrCgg=.pEuD8Su7vKv3fQal848Zjw=="
   ],
   "refuse": [
    "s2|abc",
    "s2|a|b|c|",
    "s2|a-b|c|d|e.f.g.h",
    "s2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6ckgM2MXBggIY5oYOdVGxA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,wJeClq+JqBDXRHtrn1aeSSNgvn8Gx/4CBvtRgU2ZmxI=.8GnDyzOL6XxXjv4i.p9Nl4AA3FhPDBgH29g+axpOV+GF5FjOLOURGPTNFMKs=.rTLs8pOhwpcrK+65/rYj/Q==\n",
    "s1|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6ckgM2MXBggIY5oYOdVGxA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,wJeClq+JqBDXRHtrn1aeSSNgvn8Gx/4CBvtRgU2ZmxI=.8GnDyzOL6XxXjv4i.p9Nl4AA3FhPDBgH29g+axpOV+GF5FjOLOURGPTNFMKs=.rTLs8pOhwpcrK+65/rYj/Q==",
    "S2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6ckgM2MXBggIY5oYOdVGxA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,wJeClq+JqBDXRHtrn1aeSSNgvn8Gx/4CBvtRgU2ZmxI=.8GnDyzOL6XxXjv4i.p9Nl4AA3FhPDBgH29g+axpOV+GF5FjOLOURGPTNFMKs=.rTLs8pOhwpcrK+65/rYj/Q==",
    "s2|AAAA|BBBB|CCCC|x y"
   ]
  }
 },
 "qb1_requests": [
  {
   "name": "group command",
   "object": {
    "v": 1,
    "type": "req",
    "k": "msg",
    "rq": "oTQs40pDTaaPHjGxM2l8HQ==",
    "t": 1759590000123,
    "ctx": "g",
    "text": "/poll@pollbot Lunch? פיצה / סושי",
    "ent": [
     {
      "type": "bot_command",
      "offset": 0,
      "length": 13
     }
    ],
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "lang": "he"
   },
   "plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226d7367222c227271223a226f5451733430704454616150486a47784d326c3848513d3d222c2274223a313735393539303030303132332c22637478223a2267222c2274657874223a222f706f6c6c40706f6c6c626f74204c756e63683f20d7a4d799d7a6d794202f20d7a1d795d7a9d799222c22656e74223a5b7b2274797065223a22626f745f636f6d6d616e64222c226f6666736574223a302c226c656e677468223a31337d5d2c22726574223a22556e6a437a71556734563162434e326833615852787465326c334b3157624352376f762f6830722b463967324f78316479665a724b6b7834314f2f6f504d62763952507953504c6756794e44776a4a6651442f6336434676465977763156467a6974626e6836766748497254353337753446713634392b5970355a41586c46456367386345744d5a68673d3d222c226c616e67223a226865227d"
  },
  {
   "name": "button press",
   "object": {
    "v": 1,
    "type": "req",
    "k": "cb",
    "rq": "49fHq4beeiBmzI30fDye3Q==",
    "t": 1759590005123,
    "ctx": "g",
    "cb": {
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "data": "vote:pizza"
    },
    "ret": "Z+npGSEdGMZAgL/AdV8T84ixqR2cSWiH+i+WkNlZDTR3nL24JDsOQVbJH3jYZ39pkYTLM/FYT5bxGBYRKQ3hAe/FWNfrdrZQSnB5pWkcDeOmLocuXgJ0c6pzPIhK0frzd2NW68BI7Q==",
    "lang": "en"
   },
   "plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226362222c227271223a2234396648713462656569426d7a4933306644796533513d3d222c2274223a313735393539303030353132332c22637478223a2267222c226362223a7b226d6964223a226f6b454c392f38526c61787a4e583871464762316f413d3d222c2264617461223a22766f74653a70697a7a61227d2c22726574223a225a2b6e7047534564474d5a41674c2f41645638543834697871523263535769482b692b576b4e6c5a445452336e4c32344a44734f5156624a48336a595a3339706b59544c4d2f465954356278474259524b51336841652f46574e667264725a51536e423570576b6344654f6d4c6f637558674a306336707a5049684b3066727a64324e573638424937513d3d222c226c616e67223a22656e227d"
  },
  {
   "name": "1:1 message (U+0000 stripped)",
   "object": {
    "v": 1,
    "type": "req",
    "k": "msg",
    "rq": "dtoprW575tXbduYm7DQC6g==",
    "t": 1759590009123,
    "ctx": "p",
    "text": "hello bot"
   },
   "plaintext_hex": "005142317b2276223a312c2274797065223a22726571222c226b223a226d7367222c227271223a2264746f7072573537357458626475596d3744514336673d3d222c2274223a313735393539303030393132332c22637478223a2270222c2274657874223a2268656c6c6f20626f74227d",
   "typed_text": "hello\u0000 bot"
  }
 ],
 "qb1_bot": {
  "signed_bytes_layout": "utf8('Qivuna.Bot.v1.reply|') || J",
  "valid": [
   {
    "name": "reply with a keyboard",
    "j_utf8": "{\"v\":1,\"bot\":5001,\"k\":\"msg\",\"mid\":\"okEL9/8RlaxzNX8qFGb1oA==\",\"re\":\"oTQs40pDTaaPHjGxM2l8HQ==\",\"t\":1759590002123,\"ctx\":\"g\",\"text\":\"Lunch? 🍕 or 🍣\",\"ent\":[{\"type\":\"bold\",\"offset\":0,\"length\":6}],\"kb\":[[{\"t\":\"🍕 Pizza\",\"cb\":\"vote:pizza\"},{\"t\":\"🍣 Sushi\",\"cb\":\"vote:sushi\"}],[{\"t\":\"Results\",\"url\":\"https://example.com/poll/1\"}]],\"ret\":\"UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==\"}",
    "signature": "HI6y6I9BSzaMdwaYcJriVHdJlT82Vo6hr+njsw6LynQnLs5JxIQzHgJcUfM65YRI8SO46UHkX7Ryxt2Vy90aAw==",
    "object": {
     "v": 1,
     "type": "bot",
     "bot": 5001,
     "j": "eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJva0VMOS84UmxheHpOWDhxRkdiMW9BPT0iLCJyZSI6Im9UUXM0MHBEVGFhUEhqR3hNMmw4SFE9PSIsInQiOjE3NTk1OTAwMDIxMjMsImN0eCI6ImciLCJ0ZXh0IjoiTHVuY2g/IPCfjZUgb3Ig8J+NoyIsImVudCI6W3sidHlwZSI6ImJvbGQiLCJvZmZzZXQiOjAsImxlbmd0aCI6Nn1dLCJrYiI6W1t7InQiOiLwn42VIFBpenphIiwiY2IiOiJ2b3RlOnBpenphIn0seyJ0Ijoi8J+NoyBTdXNoaSIsImNiIjoidm90ZTpzdXNoaSJ9XSxbeyJ0IjoiUmVzdWx0cyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vcG9sbC8xIn1dXSwicmV0IjoiVW5qQ3pxVWc0VjFiQ04yaDNhWFJ4dGUybDNLMVdiQ1I3b3YvaDByK0Y5ZzJPeDFkeWZacktreDQxTy9vUE1idjlSUHlTUExnVnlORHdqSmZRRC9jNkNGdkZZd3YxVkZ6aXRibmg2dmdISXJUNTM3dTRGcTY0OStZcDVaQVhsRkVjZzhjRXRNWmhnPT0ifQ==",
     "s": "HI6y6I9BSzaMdwaYcJriVHdJlT82Vo6hr+njsw6LynQnLs5JxIQzHgJcUfM65YRI8SO46UHkX7Ryxt2Vy90aAw=="
    },
    "plaintext_hex": "005142317b2276223a312c2274797065223a22626f74222c22626f74223a353030312c226a223a2265794a32496a6f784c434a69623351694f6a55774d444573496d73694f694a74633263694c434a74615751694f694a766130564d4f533834556d78686548704f57446878526b64694d573942505430694c434a795a534936496d395555584d304d48424556474668554568715233684e4d6d77345346453950534973496e51694f6a45334e546b314f5441774d4449784d6a4d73496d4e3065434936496d63694c434a305a586830496a6f69544856755932672f495043666a5a556762334967384a2b4e6f794973496d5675644349365733736964486c775a534936496d4a76624751694c434a765a6d5a7a5a5851694f6a4173496d786c626d6430614349364e6e31644c434a725969493657317437496e51694f694c776e34325649464270656e706849697769593249694f694a326233526c4f6e4270656e7068496e307365794a30496a6f69384a2b4e6f79425464584e6f61534973496d4e69496a6f69646d39305a54707a64584e6f61534a395853786265794a30496a6f69556d567a6457783063794973496e567962434936496d68306448427a4f6938765a586868625842735a53356a623230766347397362433878496e316458537769636d5630496a6f69565735715133707856576330566a46695130347961444e6857464a346447557962444e4c4d5664695131493362335976614442794b3059355a7a4a506544466b65575a61636b7472654451785479397655453169646a6c5355486c545545786e566e6c4f52486471536d5a525243396a4e6b4e47646b5a5a64335978566b5a3661585269626d6732646d644953584a554e544d3364545247635459304f53745a6344566151566873526b566a5a7a686a5258524e576d686e5054306966513d3d222c2273223a224849367936493942537a614d64776159634a72695648644a6c543832566f3668722b6e6a7377364c796e516e4c73354a7849517a48674a6355664d363559524938534f343655486b58375279787432567939306141773d3d227d",
    "expected_bot": 5001,
    "bot_ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "expect": "valid"
   },
   {
    "name": "callback answer",
    "j_utf8": "{\"v\":1,\"bot\":5001,\"k\":\"answer\",\"mid\":\"uVTyIDz6ur3Qo69xS8nlPg==\",\"re\":\"49fHq4beeiBmzI30fDye3Q==\",\"t\":1759590006123,\"ctx\":\"g\",\"text\":\"Voted 🍕\",\"ent\":null,\"kb\":null,\"alert\":false,\"ret\":\"Z+npGSEdGMZAgL/AdV8T84ixqR2cSWiH+i+WkNlZDTR3nL24JDsOQVbJH3jYZ39pkYTLM/FYT5bxGBYRKQ3hAe/FWNfrdrZQSnB5pWkcDeOmLocuXgJ0c6pzPIhK0frzd2NW68BI7Q==\"}",
    "signature": "8pxp0B2rhymneE5dWUht2mvRscnr2mth2YSCBmphyZHuG3UMqlvdrH9mMxPKsmUsTOFwJPaTGbyNpcMuET5GBw==",
    "object": {
     "v": 1,
     "type": "bot",
     "bot": 5001,
     "j": "eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJhbnN3ZXIiLCJtaWQiOiJ1VlR5SUR6NnVyM1FvNjl4UzhubFBnPT0iLCJyZSI6IjQ5ZkhxNGJlZWlCbXpJMzBmRHllM1E9PSIsInQiOjE3NTk1OTAwMDYxMjMsImN0eCI6ImciLCJ0ZXh0IjoiVm90ZWQg8J+NlSIsImVudCI6bnVsbCwia2IiOm51bGwsImFsZXJ0IjpmYWxzZSwicmV0IjoiWitucEdTRWRHTVpBZ0wvQWRWOFQ4NGl4cVIyY1NXaUgraStXa05sWkRUUjNuTDI0SkRzT1FWYkpIM2pZWjM5cGtZVExNL0ZZVDVieEdCWVJLUTNoQWUvRldOZnJkclpRU25CNXBXa2NEZU9tTG9jdVhnSjBjNnB6UEloSzBmcnpkMk5XNjhCSTdRPT0ifQ==",
     "s": "8pxp0B2rhymneE5dWUht2mvRscnr2mth2YSCBmphyZHuG3UMqlvdrH9mMxPKsmUsTOFwJPaTGbyNpcMuET5GBw=="
    },
    "plaintext_hex": "005142317b2276223a312c2274797065223a22626f74222c22626f74223a353030312c226a223a2265794a32496a6f784c434a69623351694f6a55774d444573496d73694f694a68626e4e335a5849694c434a74615751694f694a31566c5235535552364e6e56794d3146764e6a6c34557a68756246426e505430694c434a795a534936496a51355a6b68784e474a6c5a576c436258704a4d7a426d52486c6c4d31453950534973496e51694f6a45334e546b314f5441774d4459784d6a4d73496d4e3065434936496d63694c434a305a586830496a6f69566d39305a575167384a2b4e6c534973496d567564434936626e567362437769613249694f6d353162477773496d46735a584a30496a706d5957787a5a537769636d5630496a6f69576974756345645452575248545670425a307776515752574f4651344e476c346356497959314e58615567726153745861303573576b5255556a4e7554444930536b527a54314657596b70494d32705a576a4d356347745a5645784e4c305a5a564456696545644357564a4c55544e6f51575576526c644f5a6e4a6b636c7052553235434e58425861324e455a5539745447396a6456686e536a426a4e6e423655456c6f537a426d636e706b4d6b35584e6a6843535464525054306966513d3d222c2273223a22387078703042327268796d6e6545356457556874326d765273636e72326d746832595343426d7068795a48754733554d716c76647248396d4d78504b736d5573544f46774a5061544762794e70634d754554354742773d3d227d",
    "expected_bot": 5001,
    "bot_ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "expect": "valid"
   },
   {
    "name": "1:1 message (ctx p, ret null)",
    "j_utf8": "{\"v\":1,\"bot\":5001,\"k\":\"msg\",\"mid\":\"pT2LUbR/pGcWSTEQhu8e5A==\",\"re\":\"dtoprW575tXbduYm7DQC6g==\",\"t\":1759590010123,\"ctx\":\"p\",\"text\":\"Hi Dana\",\"ent\":null,\"kb\":null,\"ret\":null}",
    "object": {
     "v": 1,
     "type": "bot",
     "bot": 5001,
     "j": "eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJwVDJMVWJSL3BHY1dTVEVRaHU4ZTVBPT0iLCJyZSI6ImR0b3ByVzU3NXRYYmR1WW03RFFDNmc9PSIsInQiOjE3NTk1OTAwMTAxMjMsImN0eCI6InAiLCJ0ZXh0IjoiSGkgRGFuYSIsImVudCI6bnVsbCwia2IiOm51bGwsInJldCI6bnVsbH0=",
     "s": "nTxF1TR+UziaZtfa+32ogiEwvxsNOBGkyVBZsHvSLxU4lqw1cdn/9nknnuLLUGMy2AIsLU/v7Rl1cboojw27BA=="
    },
    "plaintext_hex": "005142317b2276223a312c2274797065223a22626f74222c22626f74223a353030312c226a223a2265794a32496a6f784c434a69623351694f6a55774d444573496d73694f694a74633263694c434a74615751694f694a7756444a4d56574a534c3342485931645456455652614855345a545642505430694c434a795a534936496d523062334279567a55334e585259596d523157573033524646444e6d633950534973496e51694f6a45334e546b314f5441774d5441784d6a4d73496d4e3065434936496e41694c434a305a586830496a6f6953476b675247467559534973496d567564434936626e567362437769613249694f6d353162477773496e4a6c64434936626e56736248303d222c2273223a226e5478463154522b557a69615a7466612b33326f676945777678734e4f42476b7956425a734876534c7855346c71773163646e2f396e6b6e6e754c4c55474d79324149734c552f7637526c3163626f6f6a77323742413d3d227d",
    "expected_bot": 5001,
    "bot_ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "expect": "valid"
   }
  ],
  "invalid": [
   {
    "name": "J tampered after signing",
    "object": {
     "v": 1,
     "type": "bot",
     "bot": 5001,
     "j": "eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJva0VMOS84UmxheHpOWDhxRkdiMW9BPT0iLCJyZSI6Im9UUXM0MHBEVGFhUEhqR3hNMmw4SFE9PSIsInQiOjE3NTk1OTAwMDIxMjMsImN0eCI6ImciLCJ0ZXh0IjoiTHVuY2g/IPCfjaMgb3Ig8J+NlSIsImVudCI6W3sidHlwZSI6ImJvbGQiLCJvZmZzZXQiOjAsImxlbmd0aCI6Nn1dLCJrYiI6W1t7InQiOiLwn42VIFBpenphIiwiY2IiOiJ2b3RlOnBpenphIn0seyJ0Ijoi8J+NoyBTdXNoaSIsImNiIjoidm90ZTpzdXNoaSJ9XSxbeyJ0IjoiUmVzdWx0cyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vcG9sbC8xIn1dXSwicmV0IjoiVW5qQ3pxVWc0VjFiQ04yaDNhWFJ4dGUybDNLMVdiQ1I3b3YvaDByK0Y5ZzJPeDFkeWZacktreDQxTy9vUE1idjlSUHlTUExnVnlORHdqSmZRRC9jNkNGdkZZd3YxVkZ6aXRibmg2dmdISXJUNTM3dTRGcTY0OStZcDVaQVhsRkVjZzhjRXRNWmhnPT0ifQ==",
     "s": "HI6y6I9BSzaMdwaYcJriVHdJlT82Vo6hr+njsw6LynQnLs5JxIQzHgJcUfM65YRI8SO46UHkX7Ryxt2Vy90aAw=="
    },
    "expected_bot": 5001,
    "bot_ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "expect": "invalid"
   },
   {
    "name": "outer bot differs from J.bot",
    "object": {
     "v": 1,
     "type": "bot",
     "bot": 5002,
     "j": "eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJva0VMOS84UmxheHpOWDhxRkdiMW9BPT0iLCJyZSI6Im9UUXM0MHBEVGFhUEhqR3hNMmw4SFE9PSIsInQiOjE3NTk1OTAwMDIxMjMsImN0eCI6ImciLCJ0ZXh0IjoiTHVuY2g/IPCfjZUgb3Ig8J+NoyIsImVudCI6W3sidHlwZSI6ImJvbGQiLCJvZmZzZXQiOjAsImxlbmd0aCI6Nn1dLCJrYiI6W1t7InQiOiLwn42VIFBpenphIiwiY2IiOiJ2b3RlOnBpenphIn0seyJ0Ijoi8J+NoyBTdXNoaSIsImNiIjoidm90ZTpzdXNoaSJ9XSxbeyJ0IjoiUmVzdWx0cyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vcG9sbC8xIn1dXSwicmV0IjoiVW5qQ3pxVWc0VjFiQ04yaDNhWFJ4dGUybDNLMVdiQ1I3b3YvaDByK0Y5ZzJPeDFkeWZacktreDQxTy9vUE1idjlSUHlTUExnVnlORHdqSmZRRC9jNkNGdkZZd3YxVkZ6aXRibmg2dmdISXJUNTM3dTRGcTY0OStZcDVaQVhsRkVjZzhjRXRNWmhnPT0ifQ==",
     "s": "HI6y6I9BSzaMdwaYcJriVHdJlT82Vo6hr+njsw6LynQnLs5JxIQzHgJcUfM65YRI8SO46UHkX7Ryxt2Vy90aAw=="
    },
    "expected_bot": 5002,
    "bot_ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "expect": "invalid"
   },
   {
    "name": "outer bot is not the expected sender bot",
    "object": {
     "v": 1,
     "type": "bot",
     "bot": 5001,
     "j": "eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJva0VMOS84UmxheHpOWDhxRkdiMW9BPT0iLCJyZSI6Im9UUXM0MHBEVGFhUEhqR3hNMmw4SFE9PSIsInQiOjE3NTk1OTAwMDIxMjMsImN0eCI6ImciLCJ0ZXh0IjoiTHVuY2g/IPCfjZUgb3Ig8J+NoyIsImVudCI6W3sidHlwZSI6ImJvbGQiLCJvZmZzZXQiOjAsImxlbmd0aCI6Nn1dLCJrYiI6W1t7InQiOiLwn42VIFBpenphIiwiY2IiOiJ2b3RlOnBpenphIn0seyJ0Ijoi8J+NoyBTdXNoaSIsImNiIjoidm90ZTpzdXNoaSJ9XSxbeyJ0IjoiUmVzdWx0cyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vcG9sbC8xIn1dXSwicmV0IjoiVW5qQ3pxVWc0VjFiQ04yaDNhWFJ4dGUybDNLMVdiQ1I3b3YvaDByK0Y5ZzJPeDFkeWZacktreDQxTy9vUE1idjlSUHlTUExnVnlORHdqSmZRRC9jNkNGdkZZd3YxVkZ6aXRibmg2dmdISXJUNTM3dTRGcTY0OStZcDVaQVhsRkVjZzhjRXRNWmhnPT0ifQ==",
     "s": "HI6y6I9BSzaMdwaYcJriVHdJlT82Vo6hr+njsw6LynQnLs5JxIQzHgJcUfM65YRI8SO46UHkX7Ryxt2Vy90aAw=="
    },
    "expected_bot": 5002,
    "bot_ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "expect": "invalid"
   },
   {
    "name": "signed by another bot's key",
    "object": {
     "v": 1,
     "type": "bot",
     "bot": 5001,
     "j": "eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJva0VMOS84UmxheHpOWDhxRkdiMW9BPT0iLCJyZSI6Im9UUXM0MHBEVGFhUEhqR3hNMmw4SFE9PSIsInQiOjE3NTk1OTAwMDIxMjMsImN0eCI6ImciLCJ0ZXh0IjoiTHVuY2g/IPCfjZUgb3Ig8J+NoyIsImVudCI6W3sidHlwZSI6ImJvbGQiLCJvZmZzZXQiOjAsImxlbmd0aCI6Nn1dLCJrYiI6W1t7InQiOiLwn42VIFBpenphIiwiY2IiOiJ2b3RlOnBpenphIn0seyJ0Ijoi8J+NoyBTdXNoaSIsImNiIjoidm90ZTpzdXNoaSJ9XSxbeyJ0IjoiUmVzdWx0cyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vcG9sbC8xIn1dXSwicmV0IjoiVW5qQ3pxVWc0VjFiQ04yaDNhWFJ4dGUybDNLMVdiQ1I3b3YvaDByK0Y5ZzJPeDFkeWZacktreDQxTy9vUE1idjlSUHlTUExnVnlORHdqSmZRRC9jNkNGdkZZd3YxVkZ6aXRibmg2dmdISXJUNTM3dTRGcTY0OStZcDVaQVhsRkVjZzhjRXRNWmhnPT0ifQ==",
     "s": "39kaEr8q3k6o4cLcCiG5KmwXDy/we4rMwi2Kibskf0u49OyIX1LhIMbBLlsOJoSjfmQ1g57j/C/RUGj2eTYEAA=="
    },
    "expected_bot": 5001,
    "bot_ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "expect": "invalid"
   },
   {
    "name": "signature over J without the prefix",
    "object": {
     "v": 1,
     "type": "bot",
     "bot": 5001,
     "j": "eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJva0VMOS84UmxheHpOWDhxRkdiMW9BPT0iLCJyZSI6Im9UUXM0MHBEVGFhUEhqR3hNMmw4SFE9PSIsInQiOjE3NTk1OTAwMDIxMjMsImN0eCI6ImciLCJ0ZXh0IjoiTHVuY2g/IPCfjZUgb3Ig8J+NoyIsImVudCI6W3sidHlwZSI6ImJvbGQiLCJvZmZzZXQiOjAsImxlbmd0aCI6Nn1dLCJrYiI6W1t7InQiOiLwn42VIFBpenphIiwiY2IiOiJ2b3RlOnBpenphIn0seyJ0Ijoi8J+NoyBTdXNoaSIsImNiIjoidm90ZTpzdXNoaSJ9XSxbeyJ0IjoiUmVzdWx0cyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vcG9sbC8xIn1dXSwicmV0IjoiVW5qQ3pxVWc0VjFiQ04yaDNhWFJ4dGUybDNLMVdiQ1I3b3YvaDByK0Y5ZzJPeDFkeWZacktreDQxTy9vUE1idjlSUHlTUExnVnlORHdqSmZRRC9jNkNGdkZZd3YxVkZ6aXRibmg2dmdISXJUNTM3dTRGcTY0OStZcDVaQVhsRkVjZzhjRXRNWmhnPT0ifQ==",
     "s": "HvQ3A84KncjiAvuJKQYrl3mqJmk0wvi5LGcms+yVKYyCjGggwl1M8b3zgSj5Pi/Ah0P6KSdkQHnYHEw5NjH7Aw=="
    },
    "expected_bot": 5001,
    "bot_ed25519_public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "expect": "invalid"
   },
   {
    "name": "verified with a later key (pollbot-2) — the signer was pollbot-1",
    "object": {
     "v": 1,
     "type": "bot",
     "bot": 5001,
     "j": "eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJva0VMOS84UmxheHpOWDhxRkdiMW9BPT0iLCJyZSI6Im9UUXM0MHBEVGFhUEhqR3hNMmw4SFE9PSIsInQiOjE3NTk1OTAwMDIxMjMsImN0eCI6ImciLCJ0ZXh0IjoiTHVuY2g/IPCfjZUgb3Ig8J+NoyIsImVudCI6W3sidHlwZSI6ImJvbGQiLCJvZmZzZXQiOjAsImxlbmd0aCI6Nn1dLCJrYiI6W1t7InQiOiLwn42VIFBpenphIiwiY2IiOiJ2b3RlOnBpenphIn0seyJ0Ijoi8J+NoyBTdXNoaSIsImNiIjoidm90ZTpzdXNoaSJ9XSxbeyJ0IjoiUmVzdWx0cyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vcG9sbC8xIn1dXSwicmV0IjoiVW5qQ3pxVWc0VjFiQ04yaDNhWFJ4dGUybDNLMVdiQ1I3b3YvaDByK0Y5ZzJPeDFkeWZacktreDQxTy9vUE1idjlSUHlTUExnVnlORHdqSmZRRC9jNkNGdkZZd3YxVkZ6aXRibmg2dmdISXJUNTM3dTRGcTY0OStZcDVaQVhsRkVjZzhjRXRNWmhnPT0ifQ==",
     "s": "HI6y6I9BSzaMdwaYcJriVHdJlT82Vo6hr+njsw6LynQnLs5JxIQzHgJcUfM65YRI8SO46UHkX7Ryxt2Vy90aAw=="
    },
    "expected_bot": 5001,
    "bot_ed25519_public": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
    "expect": "invalid"
   }
  ],
  "placement": [
   {
    "name": "Dana's reply: every condition holds → group",
    "account": "dana",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "context": {
     "item_room_type": "group",
     "item_room_id": 9001,
     "attached": true,
     "now_ms": 1759590060123
    },
    "expect_group": 9001
   },
   {
    "name": "Avi's answer → group",
    "account": "avi",
    "ret": "Z+npGSEdGMZAgL/AdV8T84ixqR2cSWiH+i+WkNlZDTR3nL24JDsOQVbJH3jYZ39pkYTLM/FYT5bxGBYRKQ3hAe/FWNfrdrZQSnB5pWkcDeOmLocuXgJ0c6pzPIhK0frzd2NW68BI7Q==",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "answer",
     "mid": "uVTyIDz6ur3Qo69xS8nlPg==",
     "re": "49fHq4beeiBmzI30fDye3Q==",
     "t": 1759590006123,
     "ctx": "g",
     "text": "Voted 🍕",
     "ent": null,
     "kb": null,
     "alert": false,
     "ret": "Z+npGSEdGMZAgL/AdV8T84ixqR2cSWiH+i+WkNlZDTR3nL24JDsOQVbJH3jYZ39pkYTLM/FYT5bxGBYRKQ3hAe/FWNfrdrZQSnB5pWkcDeOmLocuXgJ0c6pzPIhK0frzd2NW68BI7Q=="
    },
    "context": {
     "item_room_type": "group",
     "item_room_id": 9001,
     "attached": true,
     "now_ms": 1759590060123
    },
    "expect_group": 9001
   },
   {
    "name": "reply names another rq",
    "account": "dana",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "49fHq4beeiBmzI30fDye3Q==",
     "t": 1759590000123,
     "ctx": "g",
     "text": "x",
     "ent": null,
     "kb": null,
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "context": {
     "item_room_type": "group",
     "item_room_id": 9001,
     "attached": true,
     "now_ms": 1759590060123
    },
    "expect_group": null
   },
   {
    "name": "ret names another bot than J.bot",
    "account": "dana",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "j": {
     "v": 1,
     "bot": 5002,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "context": {
     "item_room_type": "group",
     "item_room_id": 9001,
     "attached": true,
     "now_ms": 1759590060123
    },
    "expect_group": null
   },
   {
    "name": "Dana's ret, opened by Avi",
    "account": "avi",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "context": {
     "item_room_type": "group",
     "item_room_id": 9001,
     "attached": true,
     "now_ms": 1759590060123
    },
    "expect_group": null
   },
   {
    "name": "ret for G delivered in an inbox item for H",
    "account": "dana",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "context": {
     "item_room_type": "group",
     "item_room_id": 9002,
     "attached": true,
     "now_ms": 1759590060123
    },
    "expect_group": null
   },
   {
    "name": "ret for H (Dana's own) in an inbox item for G",
    "account": "dana",
    "ret": "gcbi2R+9xcvkZ8VsxWoVAN7LBh4VrtNyyPlJ5JE6ivT4OMe/jYsaKNLxZTxdhju/Z+RQB4gL1XywSVp+gQ31iyyMoYNJtIMztZbRYyCWdteV+dR3SVaayCu1klB/cc05zCNszeekPQ==",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "context": {
     "item_room_type": "group",
     "item_room_id": 9001,
     "attached": true,
     "now_ms": 1759590060123
    },
    "expect_group": null
   },
   {
    "name": "ret on an answer to a 1:1 press (item room_type user)",
    "account": "dana",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "context": {
     "item_room_type": "user",
     "item_room_id": null,
     "attached": true,
     "now_ms": 1759590060123
    },
    "expect_group": null
   },
   {
    "name": "ctx mismatch: J.ctx p",
    "account": "dana",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "p",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "context": {
     "item_room_type": "group",
     "item_room_id": 9001,
     "attached": true,
     "now_ms": 1759590060123
    },
    "expect_group": null
   },
   {
    "name": "ret older than 7 days",
    "account": "dana",
    "ret": "HpXo7oFfNaLeHbQK0cRIgdQM2Hf10J7aMpom6TTfv8Bm1cWKJFeSOOkw/oGf/068m2bvAb+M6rNYdrVr+DIIIRQrNqIpIUQTVD4nuDJBQp9MH/clyrz3jgeYLkgrPQq75p6ctCuq1Q==",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "context": {
     "item_room_type": "group",
     "item_room_id": 9001,
     "attached": true,
     "now_ms": 1759590060123
    },
    "expect_group": null
   },
   {
    "name": "bot no longer attached by a verified ba1",
    "account": "dana",
    "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "context": {
     "item_room_type": "group",
     "item_room_id": 9001,
     "attached": false,
     "now_ms": 1759590060123
    },
    "expect_group": null
   }
  ]
 },
 "qbw1": {
  "layout": "shared = X25519(eph_priv, bot_x25519_pub); key = HKDF(shared, salt = eph_pub || bot_x25519_pub, info = 'Qivuna.Bot.v1.webhook'); ct||tag = AES-256-GCM(key, nonce, utf8(update JSON), aad = utf8('Qivuna.Bot.v1.webhook|' + delivery_id + '|' + timestamp))",
  "valid": [
   {
    "name": "encrypted_message update to @pollbot",
    "bot_x25519_public": "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
    "bot_x25519_private": "pL95wmNfJhSWzd3BjqUz1t2tArV+JLB1zcSmJHh97R0=",
    "ephemeral_private": "MiBZAz0ibUTuCpNmqxFSAo5XQIg2YC61Q4YIXlmn3lI=",
    "ephemeral_public": "EntOukObTj/cu4bw16YB42oOWGAL1V3pzUUcvXIOoxY=",
    "shared_secret": "XkC8aicopW/Vp2KfG/A2WDYD4ww3tAx3LM+wavzelkQ=",
    "key": "ekJxZgpTg/8BeXd0FLopuS55TRDNyHpOPRx6uVl4nAQ=",
    "nonce": "L0E9s9fv7AAZu4jO",
    "delivery_id": "01k6p0d7b3n2c9q4r5s6t7v8w9",
    "timestamp": 1759590000,
    "aad_utf8": "Qivuna.Bot.v1.webhook|01k6p0d7b3n2c9q4r5s6t7v8w9|1759590000",
    "update_json_utf8": "{\"update_id\":1043,\"encrypted_message\":{\"message_id\":4503599627502817,\"date\":1759590000,\"chat\":{\"id\":-4503600130020245,\"type\":\"group\",\"title\":\"Runners TLV\",\"is_e2ee\":true},\"from\":{\"id\":4503600212045337,\"is_bot\":false,\"first_name\":\"Dana\",\"e2ee_key\":\"ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak=\"},\"kind\":\"message\",\"envelope\":\"s2|tKfGLGAL2f5UcOFs|wydZB8CxSiL5EMdsKigOAbqnCM/7+5GY6DII+Hu8Dj28JWrUQiTslfr1uWcvKgYdSoKNOtqpKaGTzhV4neCDU4R8HyxXYGpt9NhP1N4SdjX8TukedHZSRYEL8v+aNQ3AoT//FSqTlziBJoYKeNShGaDkGYz4nSyxmO5WyoLqn5VPOWiEN91XtaTnb2mF2pJHCzm7zufI0Wv845YbeyU4CvpA1+dglqIUupagLdynvUCYiUX3WWU0SRwMgjiclkHD0gt5P13YAfvlGKj5L/qJQSTBmdL41SrmBPg4Bs1lH4xs+0O560DXctMTt5nN7dZi970D6HltI/HavBAtjzOrBUuYS84S14FNgKQ5wwC6UXz0BZwvO4WepH97Me725AzJqSUnxljK0h7BrOcsF1hFG40Bl4T6gwjeXWgY82VBmsLfAKx5rbIGujGQu2JzMJ/1j2egV3vdBr4234B4uWOusSzfBvyvO18=|6ckgM2MXBggIY5oYOdVGxA==|6K6XhPvcmloUhDWG+19mCijbBypbh2rFVvh9zEvvB04=.ucxRTn8IEg1CIwXX.rGbT44gI5F2UW5omke5RLrupMiurWDXgz7JUr3tNE4A=.72lXjp2CordNKdGgCImrSQ==,wJeClq+JqBDXRHtrn1aeSSNgvn8Gx/4CBvtRgU2ZmxI=.8GnDyzOL6XxXjv4i.p9Nl4AA3FhPDBgH29g+axpOV+GF5FjOLOURGPTNFMKs=.rTLs8pOhwpcrK+65/rYj/Q==\",\"reply_token\":\"rt1_171-I5sMp-bILR0uUQQBhIKnsGqquOHPo-uechRZiKo\"}}",
    "body_utf8": "{\"qbw1\":{\"eph\":\"EntOukObTj/cu4bw16YB42oOWGAL1V3pzUUcvXIOoxY=\",\"nonce\":\"L0E9s9fv7AAZu4jO\",\"ct\":\"ycIkRPEdc/HiXtdEvq5kivBBd+CG+FCftzo2t+9Yplhj2fKasQiwEfny6BgqFvtrwC2WdXPFzhwZHirHVw3+vmr72wwQ8naT4cq9Jdv3Pdrty0YvOED8o6PHHvMvSsNFcsSXWLjxujwUWs78t7FCWeBKe7uH8hvgykxzy4f6V+O1npDSgVIjRc0IXsgwv2KRRVM8jM0vjYYhaDwAp3xtc2FersG88ofY6hBs7/QedwrcVvXZaCdlI72kzkwu+Gwy/2TLpEhv22cOFWi7XivtEjaD9n1WftMMzBQ2O2OshSI3DwiW3p/lLJP8qC4EoIfzC8mHWhmqi/JFii1YidmyCysyqn+Ka5CIKrvp1KMph/6YpLN9ISV8bhGxJPRSvFZWRu8XlDNgzHCL3+3CbhoS79d39cftPVWZzmcwqN2+u1O7oZ5j+85F86kPLSEGgwBPeXWjTx+aQLiPa+vMlvWr2PhtJpITDFT1aAnfFk3jHPTrUbocw+Rl0etmKtK9lNtqu/x/PdflHncIPI9hpdkwKBMEwW1nHrUrFMLVaz4Gn66cXfOBmUN6e+YP2g78YO3uoZwW0ANWMg013KD7nP6H3QcYpU6yCWkoI586DG+61mAKYioZMERob84e3c4H6pZ8zK7O//HYkodv84ERWKJc+28nnZHx+HaTlcojCcHNtMAwfVPI+QmtEbkpLPCkCQjMEkY4Us+oYJYRl818pPBqKGkIZfugWrBRjL1joiDkTZGcFV2oURNMnnvQeYQuyKIsFAgXEEikbSRQnIPnp5eXFbcWwsX4pVAozO3nlA2atLp+ccYZVoWJmTbqi8ZQnxgurwwxzb9I0Bi3VjHcKXhqDQzta0OExZw5IUTXlEqbFYpPfLh2UezHcNuQu7WA6SNjSoDL40bfsPEz+7JK+ctAsvMTuK3GqAzRPzE5C3iO+ib6mHwl/lQYkDBGuRgd1MF+Gp2hiMSY0wkL57nZppjCvOq/Mbyhk2KCejfErjl6GKueGxV6aAJLud6gUQaLCiM9eMDESg+BS5Hdg4UmIMK3DKlxsF7GFECle6R3dWeB4ZrBtx5rknniod/fUmeZTpYXDgwCbQsr0O4ZpSFlvsg9OkZto17Z2yUp5geEO1ZvPVz2JpIlugH7ECg7MazMj2T5T7LcKMZJWh0L1r846oPRLGGHLPqyicymX06cnIDcueXaf1RFW5T1Sihn3+StqGqnG4HJmwI+mfPWgqXf0abTUEh2d2NIspnoNESM2TmqEjzaw2WLPDiLxlWkOY0pLEg+GT0BT9IQc6fZlg7BOf540bujr6zK8XbWMKjKX2xbexfUPn7LByqf53iwfh+g9DNc3B081sh1nTv5pXSTTJRRkz9PODrVIuDjB2ETO/KGwALK4Q/ofsU3dkETAPND+/dZhtTthnf5TllW2/TtuZXgP2aZKpitKfCHguf56yQzoH2GZ+IIFLRjDHywidY1pXNbUpVK7Tp8TrxFhaqWjGpW3zWmiY75Y0kNgyJ3PyJM6wGoLewAB/931jVDyHWabwNpwlcUYe3JnCFH572IERKclN749pmwKSJNEONv6dl/6vgiFzLx/hvYooIQ/f0=\"}}",
    "secret_token": "secret-A-0123456789abcdefghijklmnopqrstuv",
    "signature_header": "v1=6b34fe5ff71c76fa51cc58dd7b394f256b8966c3a5a377978ebf0cd33691f75f"
   }
  ],
  "invalid": [
   {
    "name": "another delivery id in the aad",
    "body_utf8": "{\"qbw1\":{\"eph\":\"EntOukObTj/cu4bw16YB42oOWGAL1V3pzUUcvXIOoxY=\",\"nonce\":\"L0E9s9fv7AAZu4jO\",\"ct\":\"ycIkRPEdc/HiXtdEvq5kivBBd+CG+FCftzo2t+9Yplhj2fKasQiwEfny6BgqFvtrwC2WdXPFzhwZHirHVw3+vmr72wwQ8naT4cq9Jdv3Pdrty0YvOED8o6PHHvMvSsNFcsSXWLjxujwUWs78t7FCWeBKe7uH8hvgykxzy4f6V+O1npDSgVIjRc0IXsgwv2KRRVM8jM0vjYYhaDwAp3xtc2FersG88ofY6hBs7/QedwrcVvXZaCdlI72kzkwu+Gwy/2TLpEhv22cOFWi7XivtEjaD9n1WftMMzBQ2O2OshSI3DwiW3p/lLJP8qC4EoIfzC8mHWhmqi/JFii1YidmyCysyqn+Ka5CIKrvp1KMph/6YpLN9ISV8bhGxJPRSvFZWRu8XlDNgzHCL3+3CbhoS79d39cftPVWZzmcwqN2+u1O7oZ5j+85F86kPLSEGgwBPeXWjTx+aQLiPa+vMlvWr2PhtJpITDFT1aAnfFk3jHPTrUbocw+Rl0etmKtK9lNtqu/x/PdflHncIPI9hpdkwKBMEwW1nHrUrFMLVaz4Gn66cXfOBmUN6e+YP2g78YO3uoZwW0ANWMg013KD7nP6H3QcYpU6yCWkoI586DG+61mAKYioZMERob84e3c4H6pZ8zK7O//HYkodv84ERWKJc+28nnZHx+HaTlcojCcHNtMAwfVPI+QmtEbkpLPCkCQjMEkY4Us+oYJYRl818pPBqKGkIZfugWrBRjL1joiDkTZGcFV2oURNMnnvQeYQuyKIsFAgXEEikbSRQnIPnp5eXFbcWwsX4pVAozO3nlA2atLp+ccYZVoWJmTbqi8ZQnxgurwwxzb9I0Bi3VjHcKXhqDQzta0OExZw5IUTXlEqbFYpPfLh2UezHcNuQu7WA6SNjSoDL40bfsPEz+7JK+ctAsvMTuK3GqAzRPzE5C3iO+ib6mHwl/lQYkDBGuRgd1MF+Gp2hiMSY0wkL57nZppjCvOq/Mbyhk2KCejfErjl6GKueGxV6aAJLud6gUQaLCiM9eMDESg+BS5Hdg4UmIMK3DKlxsF7GFECle6R3dWeB4ZrBtx5rknniod/fUmeZTpYXDgwCbQsr0O4ZpSFlvsg9OkZto17Z2yUp5geEO1ZvPVz2JpIlugH7ECg7MazMj2T5T7LcKMZJWh0L1r846oPRLGGHLPqyicymX06cnIDcueXaf1RFW5T1Sihn3+StqGqnG4HJmwI+mfPWgqXf0abTUEh2d2NIspnoNESM2TmqEjzaw2WLPDiLxlWkOY0pLEg+GT0BT9IQc6fZlg7BOf540bujr6zK8XbWMKjKX2xbexfUPn7LByqf53iwfh+g9DNc3B081sh1nTv5pXSTTJRRkz9PODrVIuDjB2ETO/KGwALK4Q/ofsU3dkETAPND+/dZhtTthnf5TllW2/TtuZXgP2aZKpitKfCHguf56yQzoH2GZ+IIFLRjDHywidY1pXNbUpVK7Tp8TrxFhaqWjGpW3zWmiY75Y0kNgyJ3PyJM6wGoLewAB/931jVDyHWabwNpwlcUYe3JnCFH572IERKclN749pmwKSJNEONv6dl/6vgiFzLx/hvYooIQ/f0=\"}}",
    "delivery_id": "01k6p0d7b3n2c9q4r5s6t7v8wa",
    "timestamp": 1759590000,
    "open_with": "pollbot-1"
   },
   {
    "name": "another timestamp",
    "body_utf8": "{\"qbw1\":{\"eph\":\"EntOukObTj/cu4bw16YB42oOWGAL1V3pzUUcvXIOoxY=\",\"nonce\":\"L0E9s9fv7AAZu4jO\",\"ct\":\"ycIkRPEdc/HiXtdEvq5kivBBd+CG+FCftzo2t+9Yplhj2fKasQiwEfny6BgqFvtrwC2WdXPFzhwZHirHVw3+vmr72wwQ8naT4cq9Jdv3Pdrty0YvOED8o6PHHvMvSsNFcsSXWLjxujwUWs78t7FCWeBKe7uH8hvgykxzy4f6V+O1npDSgVIjRc0IXsgwv2KRRVM8jM0vjYYhaDwAp3xtc2FersG88ofY6hBs7/QedwrcVvXZaCdlI72kzkwu+Gwy/2TLpEhv22cOFWi7XivtEjaD9n1WftMMzBQ2O2OshSI3DwiW3p/lLJP8qC4EoIfzC8mHWhmqi/JFii1YidmyCysyqn+Ka5CIKrvp1KMph/6YpLN9ISV8bhGxJPRSvFZWRu8XlDNgzHCL3+3CbhoS79d39cftPVWZzmcwqN2+u1O7oZ5j+85F86kPLSEGgwBPeXWjTx+aQLiPa+vMlvWr2PhtJpITDFT1aAnfFk3jHPTrUbocw+Rl0etmKtK9lNtqu/x/PdflHncIPI9hpdkwKBMEwW1nHrUrFMLVaz4Gn66cXfOBmUN6e+YP2g78YO3uoZwW0ANWMg013KD7nP6H3QcYpU6yCWkoI586DG+61mAKYioZMERob84e3c4H6pZ8zK7O//HYkodv84ERWKJc+28nnZHx+HaTlcojCcHNtMAwfVPI+QmtEbkpLPCkCQjMEkY4Us+oYJYRl818pPBqKGkIZfugWrBRjL1joiDkTZGcFV2oURNMnnvQeYQuyKIsFAgXEEikbSRQnIPnp5eXFbcWwsX4pVAozO3nlA2atLp+ccYZVoWJmTbqi8ZQnxgurwwxzb9I0Bi3VjHcKXhqDQzta0OExZw5IUTXlEqbFYpPfLh2UezHcNuQu7WA6SNjSoDL40bfsPEz+7JK+ctAsvMTuK3GqAzRPzE5C3iO+ib6mHwl/lQYkDBGuRgd1MF+Gp2hiMSY0wkL57nZppjCvOq/Mbyhk2KCejfErjl6GKueGxV6aAJLud6gUQaLCiM9eMDESg+BS5Hdg4UmIMK3DKlxsF7GFECle6R3dWeB4ZrBtx5rknniod/fUmeZTpYXDgwCbQsr0O4ZpSFlvsg9OkZto17Z2yUp5geEO1ZvPVz2JpIlugH7ECg7MazMj2T5T7LcKMZJWh0L1r846oPRLGGHLPqyicymX06cnIDcueXaf1RFW5T1Sihn3+StqGqnG4HJmwI+mfPWgqXf0abTUEh2d2NIspnoNESM2TmqEjzaw2WLPDiLxlWkOY0pLEg+GT0BT9IQc6fZlg7BOf540bujr6zK8XbWMKjKX2xbexfUPn7LByqf53iwfh+g9DNc3B081sh1nTv5pXSTTJRRkz9PODrVIuDjB2ETO/KGwALK4Q/ofsU3dkETAPND+/dZhtTthnf5TllW2/TtuZXgP2aZKpitKfCHguf56yQzoH2GZ+IIFLRjDHywidY1pXNbUpVK7Tp8TrxFhaqWjGpW3zWmiY75Y0kNgyJ3PyJM6wGoLewAB/931jVDyHWabwNpwlcUYe3JnCFH572IERKclN749pmwKSJNEONv6dl/6vgiFzLx/hvYooIQ/f0=\"}}",
    "delivery_id": "01k6p0d7b3n2c9q4r5s6t7v8w9",
    "timestamp": 1759590001,
    "open_with": "pollbot-1"
   },
   {
    "name": "ciphertext bit flipped",
    "body_utf8": "{\"qbw1\":{\"eph\":\"EntOukObTj/cu4bw16YB42oOWGAL1V3pzUUcvXIOoxY=\",\"nonce\":\"L0E9s9fv7AAZu4jO\",\"ct\":\"yMIkRPEdc/HiXtdEvq5kivBBd+CG+FCftzo2t+9Yplhj2fKasQiwEfny6BgqFvtrwC2WdXPFzhwZHirHVw3+vmr72wwQ8naT4cq9Jdv3Pdrty0YvOED8o6PHHvMvSsNFcsSXWLjxujwUWs78t7FCWeBKe7uH8hvgykxzy4f6V+O1npDSgVIjRc0IXsgwv2KRRVM8jM0vjYYhaDwAp3xtc2FersG88ofY6hBs7/QedwrcVvXZaCdlI72kzkwu+Gwy/2TLpEhv22cOFWi7XivtEjaD9n1WftMMzBQ2O2OshSI3DwiW3p/lLJP8qC4EoIfzC8mHWhmqi/JFii1YidmyCysyqn+Ka5CIKrvp1KMph/6YpLN9ISV8bhGxJPRSvFZWRu8XlDNgzHCL3+3CbhoS79d39cftPVWZzmcwqN2+u1O7oZ5j+85F86kPLSEGgwBPeXWjTx+aQLiPa+vMlvWr2PhtJpITDFT1aAnfFk3jHPTrUbocw+Rl0etmKtK9lNtqu/x/PdflHncIPI9hpdkwKBMEwW1nHrUrFMLVaz4Gn66cXfOBmUN6e+YP2g78YO3uoZwW0ANWMg013KD7nP6H3QcYpU6yCWkoI586DG+61mAKYioZMERob84e3c4H6pZ8zK7O//HYkodv84ERWKJc+28nnZHx+HaTlcojCcHNtMAwfVPI+QmtEbkpLPCkCQjMEkY4Us+oYJYRl818pPBqKGkIZfugWrBRjL1joiDkTZGcFV2oURNMnnvQeYQuyKIsFAgXEEikbSRQnIPnp5eXFbcWwsX4pVAozO3nlA2atLp+ccYZVoWJmTbqi8ZQnxgurwwxzb9I0Bi3VjHcKXhqDQzta0OExZw5IUTXlEqbFYpPfLh2UezHcNuQu7WA6SNjSoDL40bfsPEz+7JK+ctAsvMTuK3GqAzRPzE5C3iO+ib6mHwl/lQYkDBGuRgd1MF+Gp2hiMSY0wkL57nZppjCvOq/Mbyhk2KCejfErjl6GKueGxV6aAJLud6gUQaLCiM9eMDESg+BS5Hdg4UmIMK3DKlxsF7GFECle6R3dWeB4ZrBtx5rknniod/fUmeZTpYXDgwCbQsr0O4ZpSFlvsg9OkZto17Z2yUp5geEO1ZvPVz2JpIlugH7ECg7MazMj2T5T7LcKMZJWh0L1r846oPRLGGHLPqyicymX06cnIDcueXaf1RFW5T1Sihn3+StqGqnG4HJmwI+mfPWgqXf0abTUEh2d2NIspnoNESM2TmqEjzaw2WLPDiLxlWkOY0pLEg+GT0BT9IQc6fZlg7BOf540bujr6zK8XbWMKjKX2xbexfUPn7LByqf53iwfh+g9DNc3B081sh1nTv5pXSTTJRRkz9PODrVIuDjB2ETO/KGwALK4Q/ofsU3dkETAPND+/dZhtTthnf5TllW2/TtuZXgP2aZKpitKfCHguf56yQzoH2GZ+IIFLRjDHywidY1pXNbUpVK7Tp8TrxFhaqWjGpW3zWmiY75Y0kNgyJ3PyJM6wGoLewAB/931jVDyHWabwNpwlcUYe3JnCFH572IERKclN749pmwKSJNEONv6dl/6vgiFzLx/hvYooIQ/f0=\"}}",
    "delivery_id": "01k6p0d7b3n2c9q4r5s6t7v8w9",
    "timestamp": 1759590000,
    "open_with": "pollbot-1"
   },
   {
    "name": "opened with another bot key (pollbot-2)",
    "body_utf8": "{\"qbw1\":{\"eph\":\"EntOukObTj/cu4bw16YB42oOWGAL1V3pzUUcvXIOoxY=\",\"nonce\":\"L0E9s9fv7AAZu4jO\",\"ct\":\"ycIkRPEdc/HiXtdEvq5kivBBd+CG+FCftzo2t+9Yplhj2fKasQiwEfny6BgqFvtrwC2WdXPFzhwZHirHVw3+vmr72wwQ8naT4cq9Jdv3Pdrty0YvOED8o6PHHvMvSsNFcsSXWLjxujwUWs78t7FCWeBKe7uH8hvgykxzy4f6V+O1npDSgVIjRc0IXsgwv2KRRVM8jM0vjYYhaDwAp3xtc2FersG88ofY6hBs7/QedwrcVvXZaCdlI72kzkwu+Gwy/2TLpEhv22cOFWi7XivtEjaD9n1WftMMzBQ2O2OshSI3DwiW3p/lLJP8qC4EoIfzC8mHWhmqi/JFii1YidmyCysyqn+Ka5CIKrvp1KMph/6YpLN9ISV8bhGxJPRSvFZWRu8XlDNgzHCL3+3CbhoS79d39cftPVWZzmcwqN2+u1O7oZ5j+85F86kPLSEGgwBPeXWjTx+aQLiPa+vMlvWr2PhtJpITDFT1aAnfFk3jHPTrUbocw+Rl0etmKtK9lNtqu/x/PdflHncIPI9hpdkwKBMEwW1nHrUrFMLVaz4Gn66cXfOBmUN6e+YP2g78YO3uoZwW0ANWMg013KD7nP6H3QcYpU6yCWkoI586DG+61mAKYioZMERob84e3c4H6pZ8zK7O//HYkodv84ERWKJc+28nnZHx+HaTlcojCcHNtMAwfVPI+QmtEbkpLPCkCQjMEkY4Us+oYJYRl818pPBqKGkIZfugWrBRjL1joiDkTZGcFV2oURNMnnvQeYQuyKIsFAgXEEikbSRQnIPnp5eXFbcWwsX4pVAozO3nlA2atLp+ccYZVoWJmTbqi8ZQnxgurwwxzb9I0Bi3VjHcKXhqDQzta0OExZw5IUTXlEqbFYpPfLh2UezHcNuQu7WA6SNjSoDL40bfsPEz+7JK+ctAsvMTuK3GqAzRPzE5C3iO+ib6mHwl/lQYkDBGuRgd1MF+Gp2hiMSY0wkL57nZppjCvOq/Mbyhk2KCejfErjl6GKueGxV6aAJLud6gUQaLCiM9eMDESg+BS5Hdg4UmIMK3DKlxsF7GFECle6R3dWeB4ZrBtx5rknniod/fUmeZTpYXDgwCbQsr0O4ZpSFlvsg9OkZto17Z2yUp5geEO1ZvPVz2JpIlugH7ECg7MazMj2T5T7LcKMZJWh0L1r846oPRLGGHLPqyicymX06cnIDcueXaf1RFW5T1Sihn3+StqGqnG4HJmwI+mfPWgqXf0abTUEh2d2NIspnoNESM2TmqEjzaw2WLPDiLxlWkOY0pLEg+GT0BT9IQc6fZlg7BOf540bujr6zK8XbWMKjKX2xbexfUPn7LByqf53iwfh+g9DNc3B081sh1nTv5pXSTTJRRkz9PODrVIuDjB2ETO/KGwALK4Q/ofsU3dkETAPND+/dZhtTthnf5TllW2/TtuZXgP2aZKpitKfCHguf56yQzoH2GZ+IIFLRjDHywidY1pXNbUpVK7Tp8TrxFhaqWjGpW3zWmiY75Y0kNgyJ3PyJM6wGoLewAB/931jVDyHWabwNpwlcUYe3JnCFH572IERKclN749pmwKSJNEONv6dl/6vgiFzLx/hvYooIQ/f0=\"}}",
    "delivery_id": "01k6p0d7b3n2c9q4r5s6t7v8w9",
    "timestamp": 1759590000,
    "open_with": "pollbot-2"
   },
   {
    "name": "ephemeral replaced by a small-order point",
    "body_utf8": "{\"qbw1\":{\"eph\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"nonce\":\"L0E9s9fv7AAZu4jO\",\"ct\":\"ycIkRPEdc/HiXtdEvq5kivBBd+CG+FCftzo2t+9Yplhj2fKasQiwEfny6BgqFvtrwC2WdXPFzhwZHirHVw3+vmr72wwQ8naT4cq9Jdv3Pdrty0YvOED8o6PHHvMvSsNFcsSXWLjxujwUWs78t7FCWeBKe7uH8hvgykxzy4f6V+O1npDSgVIjRc0IXsgwv2KRRVM8jM0vjYYhaDwAp3xtc2FersG88ofY6hBs7/QedwrcVvXZaCdlI72kzkwu+Gwy/2TLpEhv22cOFWi7XivtEjaD9n1WftMMzBQ2O2OshSI3DwiW3p/lLJP8qC4EoIfzC8mHWhmqi/JFii1YidmyCysyqn+Ka5CIKrvp1KMph/6YpLN9ISV8bhGxJPRSvFZWRu8XlDNgzHCL3+3CbhoS79d39cftPVWZzmcwqN2+u1O7oZ5j+85F86kPLSEGgwBPeXWjTx+aQLiPa+vMlvWr2PhtJpITDFT1aAnfFk3jHPTrUbocw+Rl0etmKtK9lNtqu/x/PdflHncIPI9hpdkwKBMEwW1nHrUrFMLVaz4Gn66cXfOBmUN6e+YP2g78YO3uoZwW0ANWMg013KD7nP6H3QcYpU6yCWkoI586DG+61mAKYioZMERob84e3c4H6pZ8zK7O//HYkodv84ERWKJc+28nnZHx+HaTlcojCcHNtMAwfVPI+QmtEbkpLPCkCQjMEkY4Us+oYJYRl818pPBqKGkIZfugWrBRjL1joiDkTZGcFV2oURNMnnvQeYQuyKIsFAgXEEikbSRQnIPnp5eXFbcWwsX4pVAozO3nlA2atLp+ccYZVoWJmTbqi8ZQnxgurwwxzb9I0Bi3VjHcKXhqDQzta0OExZw5IUTXlEqbFYpPfLh2UezHcNuQu7WA6SNjSoDL40bfsPEz+7JK+ctAsvMTuK3GqAzRPzE5C3iO+ib6mHwl/lQYkDBGuRgd1MF+Gp2hiMSY0wkL57nZppjCvOq/Mbyhk2KCejfErjl6GKueGxV6aAJLud6gUQaLCiM9eMDESg+BS5Hdg4UmIMK3DKlxsF7GFECle6R3dWeB4ZrBtx5rknniod/fUmeZTpYXDgwCbQsr0O4ZpSFlvsg9OkZto17Z2yUp5geEO1ZvPVz2JpIlugH7ECg7MazMj2T5T7LcKMZJWh0L1r846oPRLGGHLPqyicymX06cnIDcueXaf1RFW5T1Sihn3+StqGqnG4HJmwI+mfPWgqXf0abTUEh2d2NIspnoNESM2TmqEjzaw2WLPDiLxlWkOY0pLEg+GT0BT9IQc6fZlg7BOf540bujr6zK8XbWMKjKX2xbexfUPn7LByqf53iwfh+g9DNc3B081sh1nTv5pXSTTJRRkz9PODrVIuDjB2ETO/KGwALK4Q/ofsU3dkETAPND+/dZhtTthnf5TllW2/TtuZXgP2aZKpitKfCHguf56yQzoH2GZ+IIFLRjDHywidY1pXNbUpVK7Tp8TrxFhaqWjGpW3zWmiY75Y0kNgyJ3PyJM6wGoLewAB/931jVDyHWabwNpwlcUYe3JnCFH572IERKclN749pmwKSJNEONv6dl/6vgiFzLx/hvYooIQ/f0=\"}}",
    "delivery_id": "01k6p0d7b3n2c9q4r5s6t7v8w9",
    "timestamp": 1759590000,
    "open_with": "pollbot-1"
   }
  ]
 },
 "webhook_hmac": [
  {
   "name": "single",
   "secrets": [
    "secret-A-0123456789abcdefghijklmnopqrstuv"
   ],
   "timestamp": 1759590000,
   "body_utf8": "{\"update_id\":1,\"message\":{\"text\":\"hi\"}}",
   "header": "v1=20db6d9975c977751db9d04240e110a9996b6cd0b422db92bd1628b488c13ffb"
  },
  {
   "name": "dual (new first) during a secret change",
   "secrets": [
    "secret-A-0123456789abcdefghijklmnopqrstuv",
    "secret-B-0123456789abcdefghijklmnopqrstuv"
   ],
   "timestamp": 1759590000,
   "body_utf8": "{\"update_id\":1,\"message\":{\"text\":\"hi\"}}",
   "header": "v1=20db6d9975c977751db9d04240e110a9996b6cd0b422db92bd1628b488c13ffb,v1=bc2b244924de23c6eecfb1df4f9ccc72304843fff38040bd0451c5e092ca6db7"
  },
  {
   "name": "the encrypted qbw1 body is what is signed",
   "secrets": [
    "secret-A-0123456789abcdefghijklmnopqrstuv"
   ],
   "timestamp": 1759590000,
   "body_utf8": "{\"qbw1\":{\"eph\":\"EntOukObTj/cu4bw16YB42oOWGAL1V3pzUUcvXIOoxY=\",\"nonce\":\"L0E9s9fv7AAZu4jO\",\"ct\":\"ycIkRPEdc/HiXtdEvq5kivBBd+CG+FCftzo2t+9Yplhj2fKasQiwEfny6BgqFvtrwC2WdXPFzhwZHirHVw3+vmr72wwQ8naT4cq9Jdv3Pdrty0YvOED8o6PHHvMvSsNFcsSXWLjxujwUWs78t7FCWeBKe7uH8hvgykxzy4f6V+O1npDSgVIjRc0IXsgwv2KRRVM8jM0vjYYhaDwAp3xtc2FersG88ofY6hBs7/QedwrcVvXZaCdlI72kzkwu+Gwy/2TLpEhv22cOFWi7XivtEjaD9n1WftMMzBQ2O2OshSI3DwiW3p/lLJP8qC4EoIfzC8mHWhmqi/JFii1YidmyCysyqn+Ka5CIKrvp1KMph/6YpLN9ISV8bhGxJPRSvFZWRu8XlDNgzHCL3+3CbhoS79d39cftPVWZzmcwqN2+u1O7oZ5j+85F86kPLSEGgwBPeXWjTx+aQLiPa+vMlvWr2PhtJpITDFT1aAnfFk3jHPTrUbocw+Rl0etmKtK9lNtqu/x/PdflHncIPI9hpdkwKBMEwW1nHrUrFMLVaz4Gn66cXfOBmUN6e+YP2g78YO3uoZwW0ANWMg013KD7nP6H3QcYpU6yCWkoI586DG+61mAKYioZMERob84e3c4H6pZ8zK7O//HYkodv84ERWKJc+28nnZHx+HaTlcojCcHNtMAwfVPI+QmtEbkpLPCkCQjMEkY4Us+oYJYRl818pPBqKGkIZfugWrBRjL1joiDkTZGcFV2oURNMnnvQeYQuyKIsFAgXEEikbSRQnIPnp5eXFbcWwsX4pVAozO3nlA2atLp+ccYZVoWJmTbqi8ZQnxgurwwxzb9I0Bi3VjHcKXhqDQzta0OExZw5IUTXlEqbFYpPfLh2UezHcNuQu7WA6SNjSoDL40bfsPEz+7JK+ctAsvMTuK3GqAzRPzE5C3iO+ib6mHwl/lQYkDBGuRgd1MF+Gp2hiMSY0wkL57nZppjCvOq/Mbyhk2KCejfErjl6GKueGxV6aAJLud6gUQaLCiM9eMDESg+BS5Hdg4UmIMK3DKlxsF7GFECle6R3dWeB4ZrBtx5rknniod/fUmeZTpYXDgwCbQsr0O4ZpSFlvsg9OkZto17Z2yUp5geEO1ZvPVz2JpIlugH7ECg7MazMj2T5T7LcKMZJWh0L1r846oPRLGGHLPqyicymX06cnIDcueXaf1RFW5T1Sihn3+StqGqnG4HJmwI+mfPWgqXf0abTUEh2d2NIspnoNESM2TmqEjzaw2WLPDiLxlWkOY0pLEg+GT0BT9IQc6fZlg7BOf540bujr6zK8XbWMKjKX2xbexfUPn7LByqf53iwfh+g9DNc3B081sh1nTv5pXSTTJRRkz9PODrVIuDjB2ETO/KGwALK4Q/ofsU3dkETAPND+/dZhtTthnf5TllW2/TtuZXgP2aZKpitKfCHguf56yQzoH2GZ+IIFLRjDHywidY1pXNbUpVK7Tp8TrxFhaqWjGpW3zWmiY75Y0kNgyJ3PyJM6wGoLewAB/931jVDyHWabwNpwlcUYe3JnCFH572IERKclN749pmwKSJNEONv6dl/6vgiFzLx/hvYooIQ/f0=\"}}",
   "header": "v1=6b34fe5ff71c76fa51cc58dd7b394f256b8966c3a5a377978ebf0cd33691f75f"
  }
 ],
 "ed25519_strict": {
  "rule": "verify like libsodium: A canonical and not of small order, R not of small order, S < L, then the COFACTORLESS equation with R compared by byte encoding (encode([S]B - [h]A) == R)",
  "small_order_encodings": [
   "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
   "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
   "JuiVj8KyJ7BFw/SJ8u+Y8NXfrAXTxjM5sTgCiG1T/AU=",
   "xxdqcD1N2E+6PAt2DRBnDyogU/osOczGTsf9d5KsA3o=",
   "7P///////////////////////////////////////38=",
   "7f///////////////////////////////////////38=",
   "7v///////////////////////////////////////38="
  ],
  "valid": [
   {
    "name": "an ordinary signature",
    "public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "message_hex": "516976756e6120737472696374206564323535313920656467652063617365",
    "signature": "fJOb68IdTo28WM7eNyWNJgzDO2Nyqx892C0RzBsc1rW6QMlTf+TGiCH8OujAz+fR8BFRq8Q2L41Imi26imSADg=="
   }
  ],
  "invalid": [
   {
    "name": "S + L (passes a lax verifier)",
    "public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "message_hex": "516976756e6120737472696374206564323535313920656467652063617365",
    "signature": "fJOb68IdTo28WM7eNyWNJgzDO2Nyqx892C0RzBsc1rWnFL+wmUfZ4PeYMoufycbm8BFRq8Q2L41Imi26imSAHg=="
   },
   {
    "name": "public key of small order (identity), lax-valid",
    "public": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
    "message_hex": "516976756e6120737472696374206564323535313920656467652063617365",
    "signature": "zoOAliIPZjMM/5CRaHiZZGq/I6SYWaRSk3yPZhzFdPztipll46xmliF/9DdNJ5jnVdFtESI8HIBVEdF4ReP0Aw=="
   },
   {
    "name": "R of small order (identity), lax-valid",
    "public": "Y22bWKbrnNPMPY93mquRx0UPEuRQMInDnt12O5G700w=",
    "message_hex": "516976756e6120737472696374206564323535313920656467652063617365",
    "signature": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAULrx6EulTH+bIWcFRYmRTZNuTBAoI+bt4jylSm8yxAg=="
   },
   {
    "name": "public key y >= p (non-canonical)",
    "public": "7v///////////////////////////////////////38=",
    "message_hex": "516976756e6120737472696374206564323535313920656467652063617365",
    "signature": "fJOb68IdTo28WM7eNyWNJgzDO2Nyqx892C0RzBsc1rW6QMlTf+TGiCH8OujAz+fR8BFRq8Q2L41Imi26imSADg=="
   },
   {
    "name": "R non-canonical (y >= p, not of small order)",
    "public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "message_hex": "516976756e6120737472696374206564323535313920656467652063617365",
    "signature": "8P///////////////////////////////////////3+6QMlTf+TGiCH8OujAz+fR8BFRq8Q2L41Imi26imSADg=="
   },
   {
    "name": "mixed-order public key: valid only for the cofactored equation",
    "public": "hitOeD8OG4gWy2AEMhdvMACNwGJFiVOQZlBu+GNs9gM=",
    "message_hex": "516976756e6120737472696374206564323535313920656467652063617365",
    "signature": "JFw/2zfMd3pxlceCeZRBflhGdtLAZYheEup7NnsZWPqOfbiobciyfHvxtrtLoAWtYoCI7Fbs4fUZRAavqIjWAw=="
   },
   {
    "name": "R+[h]A = -[S]B+T (x-only equality): a real key, R = T - [r]B, S = r - h*a; fails cofactorless and cofactored",
    "public": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
    "message_hex": "516976756e6120737472696374206564323535313920656467652063617365",
    "signature": "CqG4XLLWCNpNGsKonfheHnccimGd/XwTzXVz9fNqI+CsZsh2/KitJTjSaOvTAeBjeoVt/PwDYwlVDCTpWuAoBw=="
   },
   {
    "name": "R+[h]A = -[S]B+T (x-only equality): mixed-order A = [a]B + T, R = -[r]B, h odd; fails cofactorless and cofactored",
    "public": "XTMiT947huoqYhcZgWJpocz5p8wSwdGcuH5da4X0urg=",
    "message_hex": "516976756e6120737472696374206564323535313920656467652063617365",
    "signature": "oxCQXZrEqZdEb9ATl//TQ23zPjc2CTOZPuI2BJ9MPwDGdGUfZLHyHvHs+Blbz/n0RrorCC8cDJNGUDMlbVasCw=="
   }
  ]
 },
 "qb1_content": {
  "rule": "qb1_validate_j: types and values of J; unknown keys ignored",
  "cases": [
   {
    "name": "valid reply (keyboard with cb and https url)",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": null
   },
   {
    "name": "unknown key is ignored",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
     "future_field": [
      1,
      2
     ]
    },
    "expected_bot": 5001,
    "why": null
   },
   {
    "name": "v = 2",
    "j": {
     "v": 2,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "v"
   },
   {
    "name": "k unknown",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "edit",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "k"
   },
   {
    "name": "ctx unknown",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "x",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "ctx"
   },
   {
    "name": "alert on a message",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
     "alert": false
    },
    "expected_bot": 5001,
    "why": "alert"
   },
   {
    "name": "answer without alert",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "answer",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": null,
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "alert"
   },
   {
    "name": "answer with alert as a string",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "answer",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": null,
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
     "alert": "true"
    },
    "expected_bot": 5001,
    "why": "alert"
   },
   {
    "name": "answer with a keyboard",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "answer",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
     "alert": true
    },
    "expected_bot": 5001,
    "why": "kb"
   },
   {
    "name": "answer text over 200",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "answer",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": null,
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg==",
     "alert": false
    },
    "expected_bot": 5001,
    "why": "text"
   },
   {
    "name": "text over 4096 code points",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "ééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "text"
   },
   {
    "name": "text exactly 4096 code points",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "éééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": null
   },
   {
    "name": "empty text",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "text"
   },
   {
    "name": "text with U+0000",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "a\u0000b",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "text"
   },
   {
    "name": "url http:",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "url": "http://example.com/"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "url"
   },
   {
    "name": "url javascript:",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "url": "javascript:alert(1)"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "url"
   },
   {
    "name": "url intent:",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "url": "intent://scan/#Intent;scheme=zxing;end"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "url"
   },
   {
    "name": "url qivuna:",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "url": "qivuna://settings"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "url"
   },
   {
    "name": "url with userinfo",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "url": "https://user@evil.example/"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "url"
   },
   {
    "name": "url HTTPS upper case scheme",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "url": "HTTPS://example.com/"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "url"
   },
   {
    "name": "button with both cb and url",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "cb": "x",
        "url": "https://example.com/"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "kb"
   },
   {
    "name": "button with neither",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "kb"
   },
   {
    "name": "cb over 64 bytes",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "cb": "ééééééééééééééééééééééééééééééééé"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "kb"
   },
   {
    "name": "label over 40 code points",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "cb": "x"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "kb"
   },
   {
    "name": "nine rows",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "kb"
   },
   {
    "name": "five buttons in a row",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "kb"
   },
   {
    "name": "33 buttons",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "kb"
   },
   {
    "name": "exactly 32 buttons",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ],
      [
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       },
       {
        "t": "Go",
        "cb": "x"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": null
   },
   {
    "name": "mid not 16 bytes",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "AAAAAAAAAAAAAAAAAAAA",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "mid"
   },
   {
    "name": "t not an integer",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": "1759590000123",
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "t"
   },
   {
    "name": "bot is another id",
    "j": {
     "v": 1,
     "bot": 5002,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "expected_bot": 5001,
    "why": "bot"
   }
  ],
  "duplicates": [
   {
    "name": "duplicate key inside J (validly signed)",
    "object_utf8": "{\"v\":1,\"type\":\"bot\",\"bot\":5001,\"j\":\"eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJva0VMOS84UmxheHpOWDhxRkdiMW9BPT0iLCJyZSI6Im9UUXM0MHBEVGFhUEhqR3hNMmw4SFE9PSIsInQiOjE3NTk1OTAwMDIxMjMsImN0eCI6ImciLCJ0ZXh0IjoiTHVuY2g/IPCfjZUgb3Ig8J+NoyIsImVudCI6W3sidHlwZSI6ImJvbGQiLCJvZmZzZXQiOjAsImxlbmd0aCI6Nn1dLCJrYiI6W1t7InQiOiLwn42VIFBpenphIiwiY2IiOiJ2b3RlOnBpenphIn0seyJ0Ijoi8J+NoyBTdXNoaSIsImNiIjoidm90ZTpzdXNoaSJ9XSxbeyJ0IjoiUmVzdWx0cyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vcG9sbC8xIn1dXSwicmV0IjoiVW5qQ3pxVWc0VjFiQ04yaDNhWFJ4dGUybDNLMVdiQ1I3b3YvaDByK0Y5ZzJPeDFkeWZacktreDQxTy9vUE1idjlSUHlTUExnVnlORHdqSmZRRC9jNkNGdkZZd3YxVkZ6aXRibmg2dmdISXJUNTM3dTRGcTY0OStZcDVaQVhsRkVjZzhjRXRNWmhnPT0iLCJ0ZXh0Ijoic29tZXRoaW5nIGVsc2UifQ==\",\"s\":\"nvQzDsY3KhUrkqnmpFrNC0Nor+cvNbS6bSsxG94s6O10OsxEZLTxcaFFMAH5OQwHOf5kLyMmD3aoAVJW4cPVDA==\"}",
    "expect": "invalid"
   },
   {
    "name": "duplicate key in the outer object",
    "object_utf8": "{\"v\":1,\"type\":\"bot\",\"bot\":5001,\"j\":\"eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJva0VMOS84UmxheHpOWDhxRkdiMW9BPT0iLCJyZSI6Im9UUXM0MHBEVGFhUEhqR3hNMmw4SFE9PSIsInQiOjE3NTk1OTAwMDIxMjMsImN0eCI6ImciLCJ0ZXh0IjoiTHVuY2g/IPCfjZUgb3Ig8J+NoyIsImVudCI6W3sidHlwZSI6ImJvbGQiLCJvZmZzZXQiOjAsImxlbmd0aCI6Nn1dLCJrYiI6W1t7InQiOiLwn42VIFBpenphIiwiY2IiOiJ2b3RlOnBpenphIn0seyJ0Ijoi8J+NoyBTdXNoaSIsImNiIjoidm90ZTpzdXNoaSJ9XSxbeyJ0IjoiUmVzdWx0cyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vcG9sbC8xIn1dXSwicmV0IjoiVW5qQ3pxVWc0VjFiQ04yaDNhWFJ4dGUybDNLMVdiQ1I3b3YvaDByK0Y5ZzJPeDFkeWZacktreDQxTy9vUE1idjlSUHlTUExnVnlORHdqSmZRRC9jNkNGdkZZd3YxVkZ6aXRibmg2dmdISXJUNTM3dTRGcTY0OStZcDVaQVhsRkVjZzhjRXRNWmhnPT0ifQ==\",\"s\":\"HI6y6I9BSzaMdwaYcJriVHdJlT82Vo6hr+njsw6LynQnLs5JxIQzHgJcUfM65YRI8SO46UHkX7Ryxt2Vy90aAw==\",\"bot\":5002}",
    "expect": "invalid"
   },
   {
    "name": "the same object without duplicates",
    "object_utf8": "{\"v\":1,\"type\":\"bot\",\"bot\":5001,\"j\":\"eyJ2IjoxLCJib3QiOjUwMDEsImsiOiJtc2ciLCJtaWQiOiJva0VMOS84UmxheHpOWDhxRkdiMW9BPT0iLCJyZSI6Im9UUXM0MHBEVGFhUEhqR3hNMmw4SFE9PSIsInQiOjE3NTk1OTAwMDIxMjMsImN0eCI6ImciLCJ0ZXh0IjoiTHVuY2g/IPCfjZUgb3Ig8J+NoyIsImVudCI6W3sidHlwZSI6ImJvbGQiLCJvZmZzZXQiOjAsImxlbmd0aCI6Nn1dLCJrYiI6W1t7InQiOiLwn42VIFBpenphIiwiY2IiOiJ2b3RlOnBpenphIn0seyJ0Ijoi8J+NoyBTdXNoaSIsImNiIjoidm90ZTpzdXNoaSJ9XSxbeyJ0IjoiUmVzdWx0cyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vcG9sbC8xIn1dXSwicmV0IjoiVW5qQ3pxVWc0VjFiQ04yaDNhWFJ4dGUybDNLMVdiQ1I3b3YvaDByK0Y5ZzJPeDFkeWZacktreDQxTy9vUE1idjlSUHlTUExnVnlORHdqSmZRRC9jNkNGdkZZd3YxVkZ6aXRibmg2dmdISXJUNTM3dTRGcTY0OStZcDVaQVhsRkVjZzhjRXRNWmhnPT0ifQ==\",\"s\":\"HI6y6I9BSzaMdwaYcJriVHdJlT82Vo6hr+njsw6LynQnLs5JxIQzHgJcUfM65YRI8SO46UHkX7Ryxt2Vy90aAw==\"}",
    "expect": "valid"
   }
  ]
 },
 "key_state": {
  "rule": "current = the (x, e) pair of the highest-seq verifying active cert of the current owner that no revocation of the SAME dev and SAME (x, e) with a higher seq revokes; seal to current.x, send current.fp as bot_key_fp",
  "pinned_signing_keys": {
   "4100": "ZP2F0VLX/LLjkzgEbU4Lyh2J9jjsp13qQMAjsa9454c=",
   "4104": "OQhmkPGfpBFzBIr2P/lO+0UgmWVGGOIXIQroOOcNiWc="
  },
  "bot_key_3": {
   "x25519_private": "o7bkzoUxJyw7GRtTNLIv0Wicw9+mYmggtWzH4Dk6GTc=",
   "x25519_public": "y4lmxS5wE7fjkpeGsPZ+hTYdI2QYZNc2kRotPPEGayM=",
   "ed25519_seed": "syJ2GU1mYMj84ktLnNoxW7/dy9qr5nARzcwoyE1la2I=",
   "ed25519_public": "Ewi+6ssnDnOdG7qvylt/dF+JKpw6x1752GzQOz8hpFQ=",
   "fingerprint": "uF6FBL7r13C1YDO5lrj+8a"
  },
  "scenarios": [
   {
    "name": "rotation by the same owner: key 1 superseded by key 2",
    "history": [
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoyLCJ0IjoxNzU5NTkwMDAxMTIzfQ==|d0cTs1pxuqwfT8gnYt47IdO0pIbfi3VZhjySQUgVEiOs13bkhtXnc0JNFVU+KRlqs5MwRYOtMuD4hV7fIFlHBA=="
     },
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ=="
     }
    ],
    "current_owner_id": 4100,
    "expect_current": {
     "x": "1kpS0+hqrBCNyakLHj/MkOwmPVAq2C17nLhtX9Vmn0U=",
     "e": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
     "fp": "HFKxH1z/YujEMGGzR0iOHi"
    },
    "signers": [
     {
      "name": "signed by the superseded key 1",
      "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
      "expect": "old_code"
     },
     {
      "name": "signed by the active key 2",
      "ed25519": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
      "expect": "current"
     },
     {
      "name": "signed by a key never certified",
      "ed25519": "s8s2zlczGTZM9ckCMLLBo6444K3ewUbzC5xwiINl7tc=",
      "expect": "invalid"
     }
    ]
   },
   {
    "name": "transfer: the old owner's signed revocation, then the new owner's key 3",
    "history": [
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoieTRsbXhTNXdFN2Zqa3BlR3NQWitoVFlkSTJRWVpOYzJrUm90UFBFR2F5TT0iLCJlIjoiRXdpKzZzc25Ebk9kRzdxdnlsdC9kRitKS3B3NngxNzUyR3pRT3o4aHBGUT0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwNCwic2VxIjo0LCJ0IjoxNzU5NTkwMDAzMTIzfQ==|U4zAYdkUkYs2A/VY77MKMzBITzzHg8EeHRPHsIwAFJhNlONfNnN8NNhhuW0wL4OnGkJrv2SRvRb/1LiUeXgQCw=="
     },
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoyLCJ0IjoxNzU5NTkwMDAxMTIzfQ==|d0cTs1pxuqwfT8gnYt47IdO0pIbfi3VZhjySQUgVEiOs13bkhtXnc0JNFVU+KRlqs5MwRYOtMuD4hV7fIFlHBA==",
      "revoke_cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6InJldm9rZWQiLCJkZXYiOjQxMDAsInNlcSI6MywidCI6MTc1OTU5MDAwMjEyM30=|weH0lHp54EfYFWUK9kLORYi6lEgnsXW0rfhpnZel6ZyrB94SSg9gTHSArQebsGYqojOYt/lXEIaUTK0nTm9WCQ=="
     },
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ=="
     }
    ],
    "current_owner_id": 4104,
    "expect_current": {
     "x": "y4lmxS5wE7fjkpeGsPZ+hTYdI2QYZNc2kRotPPEGayM=",
     "e": "Ewi+6ssnDnOdG7qvylt/dF+JKpw6x1752GzQOz8hpFQ=",
     "fp": "uF6FBL7r13C1YDO5lrj+8a"
    },
    "signers": [
     {
      "name": "signed by key 2 (revoked by the old owner)",
      "ed25519": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
      "expect": "old_code"
     },
     {
      "name": "signed by key 3 (the new owner's)",
      "ed25519": "Ewi+6ssnDnOdG7qvylt/dF+JKpw6x1752GzQOz8hpFQ=",
      "expect": "current"
     },
     {
      "name": "signed by key 1",
      "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
      "expect": "old_code"
     }
    ]
   },
   {
    "name": "history cert from a previous owner (revocation hidden by the server): never current",
    "history": [
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoyLCJ0IjoxNzU5NTkwMDAxMTIzfQ==|d0cTs1pxuqwfT8gnYt47IdO0pIbfi3VZhjySQUgVEiOs13bkhtXnc0JNFVU+KRlqs5MwRYOtMuD4hV7fIFlHBA=="
     },
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ=="
     }
    ],
    "current_owner_id": 4104,
    "expect_current": null,
    "signers": [
     {
      "name": "signed by key 2, certified by the previous owner",
      "ed25519": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
      "expect": "old_code"
     }
    ]
   },
   {
    "name": "revoked and nothing newer: no current key (phones refuse to send)",
    "history": [
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoyLCJ0IjoxNzU5NTkwMDAxMTIzfQ==|d0cTs1pxuqwfT8gnYt47IdO0pIbfi3VZhjySQUgVEiOs13bkhtXnc0JNFVU+KRlqs5MwRYOtMuD4hV7fIFlHBA==",
      "revoke_cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6InJldm9rZWQiLCJkZXYiOjQxMDAsInNlcSI6MywidCI6MTc1OTU5MDAwMjEyM30=|weH0lHp54EfYFWUK9kLORYi6lEgnsXW0rfhpnZel6ZyrB94SSg9gTHSArQebsGYqojOYt/lXEIaUTK0nTm9WCQ=="
     },
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ=="
     }
    ],
    "current_owner_id": 4100,
    "expect_current": null,
    "signers": [
     {
      "name": "signed by key 2",
      "ed25519": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
      "expect": "old_code"
     }
    ]
   },
   {
    "name": "a previous owner revokes the current owner's key: ignored",
    "history": [
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoieTRsbXhTNXdFN2Zqa3BlR3NQWitoVFlkSTJRWVpOYzJrUm90UFBFR2F5TT0iLCJlIjoiRXdpKzZzc25Ebk9kRzdxdnlsdC9kRitKS3B3NngxNzUyR3pRT3o4aHBGUT0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwNCwic2VxIjo0LCJ0IjoxNzU5NTkwMDAzMTIzfQ==|U4zAYdkUkYs2A/VY77MKMzBITzzHg8EeHRPHsIwAFJhNlONfNnN8NNhhuW0wL4OnGkJrv2SRvRb/1LiUeXgQCw==",
      "revoke_cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoieTRsbXhTNXdFN2Zqa3BlR3NQWitoVFlkSTJRWVpOYzJrUm90UFBFR2F5TT0iLCJlIjoiRXdpKzZzc25Ebk9kRzdxdnlsdC9kRitKS3B3NngxNzUyR3pRT3o4aHBGUT0iLCJzdCI6InJldm9rZWQiLCJkZXYiOjQxMDAsInNlcSI6NSwidCI6MTc1OTU5MDAwNDEyM30=|Ca0W+QUClAC6OCwA7BmymE2iRM1TJ7iocD1lIHBvfZAmnPIPz+XV/+56xWQUuEJRNRGKPA2gS1UxjUGLjvLbCg=="
     },
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoyLCJ0IjoxNzU5NTkwMDAxMTIzfQ==|d0cTs1pxuqwfT8gnYt47IdO0pIbfi3VZhjySQUgVEiOs13bkhtXnc0JNFVU+KRlqs5MwRYOtMuD4hV7fIFlHBA==",
      "revoke_cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6InJldm9rZWQiLCJkZXYiOjQxMDAsInNlcSI6MywidCI6MTc1OTU5MDAwMjEyM30=|weH0lHp54EfYFWUK9kLORYi6lEgnsXW0rfhpnZel6ZyrB94SSg9gTHSArQebsGYqojOYt/lXEIaUTK0nTm9WCQ=="
     },
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ=="
     }
    ],
    "current_owner_id": 4104,
    "expect_current": {
     "x": "y4lmxS5wE7fjkpeGsPZ+hTYdI2QYZNc2kRotPPEGayM=",
     "e": "Ewi+6ssnDnOdG7qvylt/dF+JKpw6x1752GzQOz8hpFQ=",
     "fp": "uF6FBL7r13C1YDO5lrj+8a"
    },
    "signers": [
     {
      "name": "signed by key 3",
      "ed25519": "Ewi+6ssnDnOdG7qvylt/dF+JKpw6x1752GzQOz8hpFQ=",
      "expect": "current"
     }
    ]
   },
   {
    "name": "a revocation naming key 2's e with another x: ignored",
    "history": [
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoyLCJ0IjoxNzU5NTkwMDAxMTIzfQ==|d0cTs1pxuqwfT8gnYt47IdO0pIbfi3VZhjySQUgVEiOs13bkhtXnc0JNFVU+KRlqs5MwRYOtMuD4hV7fIFlHBA==",
      "revoke_cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6InJldm9rZWQiLCJkZXYiOjQxMDAsInNlcSI6MywidCI6MTc1OTU5MDAwMjEyM30=|4OpLL8Uwd87Sa5ljOTws+auuAs9DYsxOTP1N0uUImT8vngGtyMgN3Jpm+rFFXWwEMl2gd4nW2n2H2InWIUSUAw=="
     },
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ=="
     }
    ],
    "current_owner_id": 4100,
    "expect_current": {
     "x": "1kpS0+hqrBCNyakLHj/MkOwmPVAq2C17nLhtX9Vmn0U=",
     "e": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
     "fp": "HFKxH1z/YujEMGGzR0iOHi"
    },
    "signers": [
     {
      "name": "signed by key 2",
      "ed25519": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
      "expect": "current"
     }
    ]
   },
   {
    "name": "rotation with the previous key revoked in the same step-up",
    "history": [
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiMWtwUzAraHFyQkNOeWFrTEhqL01rT3dtUFZBcTJDMTduTGh0WDlWbW4wVT0iLCJlIjoiTHZLeGFUWVVhOElXRDg3OW5MUVhaaGpiTTJBMmpkYXQyL3BWT0kvSXlIbz0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjozLCJ0IjoxNzU5NTkwMDAxMTIzfQ==|uRCNLymWhm9sOwKm2bc4hGY4qF5vg+LVQwcAQBpIgqRNyffpQkfo85T+9kIUarXKQnuCtajGysGQVTVkg3jfAA=="
     },
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ==",
      "revoke_cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6InJldm9rZWQiLCJkZXYiOjQxMDAsInNlcSI6MiwidCI6MTc1OTU5MDAwMTAyM30=|BFpBobs1ItFr2scPg77b6YjchAM4lBrG9HAVEgargk8HFUfdDBRUOL53OA4YvBdQ9qRa6/WCNwmnwZrgprbuBQ=="
     }
    ],
    "current_owner_id": 4100,
    "expect_current": {
     "x": "1kpS0+hqrBCNyakLHj/MkOwmPVAq2C17nLhtX9Vmn0U=",
     "e": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
     "fp": "HFKxH1z/YujEMGGzR0iOHi"
    },
    "signers": [
     {
      "name": "signed by key 1",
      "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
      "expect": "old_code"
     },
     {
      "name": "signed by key 2",
      "ed25519": "LvKxaTYUa8IWD879nLQXZhjbM2A2jdat2/pVOI/IyHo=",
      "expect": "current"
     }
    ]
   },
   {
    "name": "the same rotation with key 2's certificate withheld: key 1 is still revoked",
    "history": [
     {
      "cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6ImFjdGl2ZSIsImRldiI6NDEwMCwic2VxIjoxLCJ0IjoxNzU5NTkwMDAwMTIzfQ==|z0HPAUmAK8NCgXj86eu3of1OXDJNSRXTwAIeEvz1m0UIc/Kol3Bbx0uAhA3koYlKWuxZJbxNuub83zfcYonvCQ==",
      "revoke_cert": "bk1|eyJ2IjoxLCJib3QiOjUwMDEsIm51bSI6IjcxMjM0NTY3ODkiLCJ4IjoiN3RIUmo0b0hKNXdnQm9GbjlLS1JkalFSVEgvUWt3ZW53QytxQlFVeHFXYz0iLCJlIjoidmQzV09nbHA4WVJad0Z2c3FCaWhNdHpqVnk3SE4rd2VRMG9sVSszQ2VwOD0iLCJzdCI6InJldm9rZWQiLCJkZXYiOjQxMDAsInNlcSI6MiwidCI6MTc1OTU5MDAwMTAyM30=|BFpBobs1ItFr2scPg77b6YjchAM4lBrG9HAVEgargk8HFUfdDBRUOL53OA4YvBdQ9qRa6/WCNwmnwZrgprbuBQ=="
     }
    ],
    "current_owner_id": 4100,
    "expect_current": null,
    "signers": [
     {
      "name": "signed by key 1",
      "ed25519": "vd3WOglp8YRZwFvsqBihMtzjVy7HN+weQ0olU+3Cep8=",
      "expect": "old_code"
     }
    ]
   }
  ]
 },
 "bot_rows": {
  "rule": "check_bot_row(kind): inbox/direct new rows |created - J.t| <= 24 h and a mid in one inbox/direct row only (31 days); direct edits keep the mid, newer t, J.t - created <= 48 h + 24 h; shared rows exempt (signature + classify_signer + stage-E msg_id dedup)",
  "cases": [
   {
    "name": "inbox: a new item, time within 24 h",
    "kind": "inbox",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759590000123
    },
    "row_id": "inbox:1",
    "row_created_ms": 1759590005123,
    "row_mids": {},
    "seen_mids": {},
    "why": null
   },
   {
    "name": "inbox: an item 25 h after J.t (re-inserted old message)",
    "kind": "inbox",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759590000123
    },
    "row_id": "inbox:1",
    "row_created_ms": 1759680000123,
    "row_mids": {},
    "seen_mids": {},
    "why": "time"
   },
   {
    "name": "direct: the same mid already shown in another row",
    "kind": "direct",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759590000123
    },
    "row_id": "chat:11",
    "row_created_ms": 1759590000123,
    "row_mids": {},
    "seen_mids": {
     "zBv/BZ1P1+qqDoCtPuiC2w==": "chat:10"
    },
    "why": "replay"
   },
   {
    "name": "direct: an edit, same mid, newer t",
    "kind": "direct",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759590000132
    },
    "row_id": "chat:10",
    "row_created_ms": 1759590000123,
    "row_mids": {
     "chat:10": [
      "zBv/BZ1P1+qqDoCtPuiC2w==",
      1759590000123
     ]
    },
    "seen_mids": {
     "zBv/BZ1P1+qqDoCtPuiC2w==": "chat:10"
    },
    "why": null
   },
   {
    "name": "direct: an edit at 30 h (inside the 48 h window)",
    "kind": "direct",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759698000123
    },
    "row_id": "chat:10",
    "row_created_ms": 1759590000123,
    "row_mids": {
     "chat:10": [
      "zBv/BZ1P1+qqDoCtPuiC2w==",
      1759590000123
     ]
    },
    "seen_mids": {
     "zBv/BZ1P1+qqDoCtPuiC2w==": "chat:10"
    },
    "why": null
   },
   {
    "name": "direct: an edit beyond 48 h + 24 h skew",
    "kind": "direct",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759849200124
    },
    "row_id": "chat:10",
    "row_created_ms": 1759590000123,
    "row_mids": {
     "chat:10": [
      "zBv/BZ1P1+qqDoCtPuiC2w==",
      1759590000123
     ]
    },
    "seen_mids": {
     "zBv/BZ1P1+qqDoCtPuiC2w==": "chat:10"
    },
    "why": "edit_window"
   },
   {
    "name": "direct: an edit with the same t",
    "kind": "direct",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759590000123
    },
    "row_id": "chat:10",
    "row_created_ms": 1759590000123,
    "row_mids": {
     "chat:10": [
      "zBv/BZ1P1+qqDoCtPuiC2w==",
      1759590000123
     ]
    },
    "seen_mids": {
     "zBv/BZ1P1+qqDoCtPuiC2w==": "chat:10"
    },
    "why": "stale_edit"
   },
   {
    "name": "direct: an edit with an older t",
    "kind": "direct",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759590000122
    },
    "row_id": "chat:10",
    "row_created_ms": 1759590000123,
    "row_mids": {
     "chat:10": [
      "zBv/BZ1P1+qqDoCtPuiC2w==",
      1759590000123
     ]
    },
    "seen_mids": {
     "zBv/BZ1P1+qqDoCtPuiC2w==": "chat:10"
    },
    "why": "stale_edit"
   },
   {
    "name": "direct: an edit that swaps in another message (other mid)",
    "kind": "direct",
    "j": {
     "mid": "Qy5lwn33IWq7HG4+z+XTHg==",
     "t": 1759590000132
    },
    "row_id": "chat:10",
    "row_created_ms": 1759590000123,
    "row_mids": {
     "chat:10": [
      "zBv/BZ1P1+qqDoCtPuiC2w==",
      1759590000123
     ]
    },
    "seen_mids": {
     "zBv/BZ1P1+qqDoCtPuiC2w==": "chat:10"
    },
    "why": "mid_changed"
   },
   {
    "name": "shared: shared 30 h after J.t",
    "kind": "shared",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759590000123
    },
    "row_id": "chat:20",
    "row_created_ms": 1759698000123,
    "row_mids": {},
    "seen_mids": {},
    "why": null
   },
   {
    "name": "shared: the same mid already shown as an inbox item (inbox -> share)",
    "kind": "shared",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759590000123
    },
    "row_id": "chat:20",
    "row_created_ms": 1759590060123,
    "row_mids": {},
    "seen_mids": {
     "zBv/BZ1P1+qqDoCtPuiC2w==": "inbox:1"
    },
    "why": null
   },
   {
    "name": "shared: a second member shares the same answer",
    "kind": "shared",
    "j": {
     "mid": "zBv/BZ1P1+qqDoCtPuiC2w==",
     "t": 1759590000123
    },
    "row_id": "chat:21",
    "row_created_ms": 1759590120123,
    "row_mids": {},
    "seen_mids": {
     "zBv/BZ1P1+qqDoCtPuiC2w==": "inbox:1"
    },
    "why": null
   }
  ]
 },
 "inbox_items": {
  "rule": "check_inbox_item: reply <-> J.k msg, answer <-> J.k answer; J.re = the press rq only when the pressing phone still holds it. inbox_display: toast (kept press, re matches) | group (ret rules) | direct (ordinary 1:1 bot row)",
  "cases": [
   {
    "name": "a reply item carrying k msg",
    "item_kind": "reply",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "press_rq": null,
    "why": null
   },
   {
    "name": "an answer item carrying k answer, re = the press rq",
    "item_kind": "answer",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "answer",
     "mid": "uVTyIDz6ur3Qo69xS8nlPg==",
     "re": "49fHq4beeiBmzI30fDye3Q==",
     "t": 1759590006123,
     "ctx": "g",
     "text": "Voted 🍕",
     "ent": null,
     "kb": null,
     "alert": false,
     "ret": "Z+npGSEdGMZAgL/AdV8T84ixqR2cSWiH+i+WkNlZDTR3nL24JDsOQVbJH3jYZ39pkYTLM/FYT5bxGBYRKQ3hAe/FWNfrdrZQSnB5pWkcDeOmLocuXgJ0c6pzPIhK0frzd2NW68BI7Q=="
    },
    "press_rq": "49fHq4beeiBmzI30fDye3Q==",
    "why": null
   },
   {
    "name": "a reply item carrying an answer",
    "item_kind": "reply",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "answer",
     "mid": "uVTyIDz6ur3Qo69xS8nlPg==",
     "re": "49fHq4beeiBmzI30fDye3Q==",
     "t": 1759590006123,
     "ctx": "g",
     "text": "Voted 🍕",
     "ent": null,
     "kb": null,
     "alert": false,
     "ret": "Z+npGSEdGMZAgL/AdV8T84ixqR2cSWiH+i+WkNlZDTR3nL24JDsOQVbJH3jYZ39pkYTLM/FYT5bxGBYRKQ3hAe/FWNfrdrZQSnB5pWkcDeOmLocuXgJ0c6pzPIhK0frzd2NW68BI7Q=="
    },
    "press_rq": null,
    "why": "kind"
   },
   {
    "name": "an answer item carrying a message",
    "item_kind": "answer",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "msg",
     "mid": "okEL9/8RlaxzNX8qFGb1oA==",
     "re": "oTQs40pDTaaPHjGxM2l8HQ==",
     "t": 1759590002123,
     "ctx": "g",
     "text": "Lunch? 🍕 or 🍣",
     "ent": [
      {
       "type": "bold",
       "offset": 0,
       "length": 6
      }
     ],
     "kb": [
      [
       {
        "t": "🍕 Pizza",
        "cb": "vote:pizza"
       },
       {
        "t": "🍣 Sushi",
        "cb": "vote:sushi"
       }
      ],
      [
       {
        "t": "Results",
        "url": "https://example.com/poll/1"
       }
      ]
     ],
     "ret": "UnjCzqUg4V1bCN2h3aXRxte2l3K1WbCR7ov/h0r+F9g2Ox1dyfZrKkx41O/oPMbv9RPySPLgVyNDwjJfQD/c6CFvFYwv1VFzitbnh6vgHIrT537u4Fq649+Yp5ZAXlFEcg8cEtMZhg=="
    },
    "press_rq": "49fHq4beeiBmzI30fDye3Q==",
    "why": "kind"
   },
   {
    "name": "an answer to another press (re differs)",
    "item_kind": "answer",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "answer",
     "mid": "uVTyIDz6ur3Qo69xS8nlPg==",
     "re": "49fHq4beeiBmzI30fDye3Q==",
     "t": 1759590006123,
     "ctx": "g",
     "text": "Voted 🍕",
     "ent": null,
     "kb": null,
     "alert": false,
     "ret": "Z+npGSEdGMZAgL/AdV8T84ixqR2cSWiH+i+WkNlZDTR3nL24JDsOQVbJH3jYZ39pkYTLM/FYT5bxGBYRKQ3hAe/FWNfrdrZQSnB5pWkcDeOmLocuXgJ0c6pzPIhK0frzd2NW68BI7Q=="
    },
    "press_rq": "oTQs40pDTaaPHjGxM2l8HQ==",
    "why": "re"
   },
   {
    "name": "an answer with no press kept on this phone",
    "item_kind": "answer",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "answer",
     "mid": "uVTyIDz6ur3Qo69xS8nlPg==",
     "re": "49fHq4beeiBmzI30fDye3Q==",
     "t": 1759590006123,
     "ctx": "g",
     "text": "Voted 🍕",
     "ent": null,
     "kb": null,
     "alert": false,
     "ret": "Z+npGSEdGMZAgL/AdV8T84ixqR2cSWiH+i+WkNlZDTR3nL24JDsOQVbJH3jYZ39pkYTLM/FYT5bxGBYRKQ3hAe/FWNfrdrZQSnB5pWkcDeOmLocuXgJ0c6pzPIhK0frzd2NW68BI7Q=="
    },
    "press_rq": null,
    "why": null,
    "item_room_type": "user",
    "display": "direct"
   },
   {
    "name": "a press kept and re matches: the live toast",
    "item_kind": "answer",
    "j": {
     "v": 1,
     "bot": 5001,
     "k": "answer",
     "mid": "uVTyIDz6ur3Qo69xS8nlPg==",
     "re": "49fHq4beeiBmzI30fDye3Q==",
     "t": 1759590006123,
     "ctx": "g",
     "text": "Voted 🍕",
     "ent": null,
     "kb": null,
     "alert": false,
     "ret": "Z+npGSEdGMZAgL/AdV8T84ixqR2cSWiH+i+WkNlZDTR3nL24JDsOQVbJH3jYZ39pkYTLM/FYT5bxGBYRKQ3hAe/FWNfrdrZQSnB5pWkcDeOmLocuXgJ0c6pzPIhK0frzd2NW68BI7Q=="
    },
    "press_rq": "49fHq4beeiBmzI30fDye3Q==",
    "why": null,
    "item_room_type": "user",
    "display": "toast"
   }
  ]
 },
 "x25519_refused": [
  "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
  "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
  "4Ot6fDtBuK4WVuP68Z/EatoJjeucMrH9hmIFFl9JuAA=",
  "X5yVvKNQjCSx0LFVnIPvWwREXMRYHI6G2CJO3dCfEVc=",
  "7P///////////////////////////////////////38=",
  "7f///////////////////////////////////////38=",
  "7v///////////////////////////////////////38=",
  "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA="
 ],
 "x25519_accepted": [
  "7tHRj4oHJ5wgBoFn9KKRdjQRTH/QkwenwC+qBQUxqWc=",
  "ZDjJXS4OEgF8nClXufGWIaey4LCfLN9yOJ6ZNNhI4Ak="
 ],
 "fpe": {
  "bot_id_key": "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8=",
  "cases": [
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "user",
    "x": 0,
    "y": 1466259491306270
   },
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "user",
    "x": 1,
    "y": 262280769562533
   },
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "user",
    "x": 67108864,
    "y": 181945700162242
   },
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "user",
    "x": 4503599627370495,
    "y": 900407744701201
   },
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "user",
    "x": 4101,
    "y": 2775368227947150
   },
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "chat",
    "x": 18002,
    "y": 2888713015483262
   },
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "chat",
    "x": 155,
    "y": 1493852096890201
   },
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "msg",
    "x": 198002,
    "y": 4129274937880585
   },
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "msg",
    "x": 11,
    "y": 608635758083519
   },
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "side",
    "x": 1043,
    "y": 4264132892813736
   },
   {
    "id_namespace": "EBESExQVFhcYGRobHB0eHw==",
    "kind": "side",
    "x": 0,
    "y": 768446691028930
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "user",
    "x": 0,
    "y": 3866228426070915
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "user",
    "x": 1,
    "y": 3563944995959921
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "user",
    "x": 67108864,
    "y": 783825761250760
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "user",
    "x": 4503599627370495,
    "y": 2038807010840365
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "user",
    "x": 4101,
    "y": 3363293442343986
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "chat",
    "x": 18002,
    "y": 158625925797762
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "chat",
    "x": 155,
    "y": 4060231023578058
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "msg",
    "x": 198002,
    "y": 1270254532406793
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "msg",
    "x": 11,
    "y": 3341959346062775
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "side",
    "x": 1043,
    "y": 2370014752924434
   },
   {
    "id_namespace": "paWlpaWlpaWlpaWlpaWlpQ==",
    "kind": "side",
    "x": 0,
    "y": 2987428448649535
   }
  ],
  "out_of_range_x": [
   4503599627370496,
   -1
  ]
 },
 "token_hash": [
  {
   "pepper": "pepper-for-tests",
   "bot_number": "7123456789",
   "secret43": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
   "hash": "afc1aca7b03da8ce684a5e1973d8442e0fd6d07586078968677b217dd81fee60"
  },
  {
   "pepper": "pepper-for-tests",
   "bot_number": "7000000001",
   "secret43": "bX81f3O2DGTiiEhtx3S6Sl1lb9JS-7PYRLhasIhHjvQ",
   "hash": "463504e89b92a8a28aec536267fdbcae9656aa2d8544bbf0fd07610ad5e258df"
  }
 ],
 "reply_token": [
  {
   "token": "rt1_171-I5sMp-bILR0uUQQBhIKnsGqquOHPo-uechRZiKo",
   "cache_key": "bot:rt:c8b7791c828abe91cd039a4c7f23d3ae6103def9421bda78cb461c49c49ca6a0",
   "format": "rt1_ + 43 characters b64url (32 random bytes); stored only as bot:rt: + hex SHA-256(utf8(token))"
  }
 ]
}
