[
  {
    "packet": "Packet_Scalar_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "a": 0,
          "c": 0
        }
      },
      {
        "packed": "80ffffffffffffff",
        "unpacked": {
          "a": 0,
          "c": 144115188075855871
        }
      },
      {
        "packed": "8003830282018100",
        "unpacked": {
          "a": 0,
          "c": 283686952306183
        }
      },
      {
        "packed": "7f00000000000000",
        "unpacked": {
          "a": 127,
          "c": 0
        }
      },
      {
        "packed": "ffffffffffffffff",
        "unpacked": {
          "a": 127,
          "c": 144115188075855871
        }
      },
      {
        "packed": "ff03830282018100",
        "unpacked": {
          "a": 127,
          "c": 283686952306183
        }
      },
      {
        "packed": "0000000000000000",
        "unpacked": {
          "a": 0,
          "c": 0
        }
      },
      {
        "packed": "80ffffffffffffff",
        "unpacked": {
          "a": 0,
          "c": 144115188075855871
        }
      },
      {
        "packed": "8003830282018100",
        "unpacked": {
          "a": 0,
          "c": 283686952306183
        }
      }
    ]
  },
  {
    "packet": "Packet_Enum_Field",
    "tests": [
      {
        "packed": "0100000000000000",
        "unpacked": {
          "a": 1,
          "c": 0
        }
      },
      {
        "packed": "81ffffffffffffff",
        "unpacked": {
          "a": 1,
          "c": 144115188075855871
        }
      },
      {
        "packed": "810e0d0c0b0a0908",
        "unpacked": {
          "a": 1,
          "c": 4523477106694685
        }
      },
      {
        "packed": "0200000000000000",
        "unpacked": {
          "a": 2,
          "c": 0
        }
      },
      {
        "packed": "82ffffffffffffff",
        "unpacked": {
          "a": 2,
          "c": 144115188075855871
        }
      },
      {
        "packed": "820e0d0c0b0a0908",
        "unpacked": {
          "a": 2,
          "c": 4523477106694685
        }
      }
    ]
  },
  {
    "packet": "Packet_Reserved_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "a": 0,
          "c": 0
        }
      },
      {
        "packed": "00feffffffffffff",
        "unpacked": {
          "a": 0,
          "c": 36028797018963967
        }
      },
      {
        "packed": "002c151413121110",
        "unpacked": {
          "a": 0,
          "c": 2261184477268630
        }
      },
      {
        "packed": "7f00000000000000",
        "unpacked": {
          "a": 127,
          "c": 0
        }
      },
      {
        "packed": "7ffeffffffffffff",
        "unpacked": {
          "a": 127,
          "c": 36028797018963967
        }
      },
      {
        "packed": "7f2c151413121110",
        "unpacked": {
          "a": 127,
          "c": 2261184477268630
        }
      },
      {
        "packed": "0700000000000000",
        "unpacked": {
          "a": 7,
          "c": 0
        }
      },
      {
        "packed": "07feffffffffffff",
        "unpacked": {
          "a": 7,
          "c": 36028797018963967
        }
      },
      {
        "packed": "072c151413121110",
        "unpacked": {
          "a": 7,
          "c": 2261184477268630
        }
      }
    ]
  },
  {
    "packet": "Packet_Size_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "a": 0,
          "b": []
        }
      },
      {
        "packed": "07000000000000001f102122232425",
        "unpacked": {
          "a": 0,
          "b": [
            31,
            16,
            33,
            34,
            35,
            36,
            37
          ]
        }
      },
      {
        "packed": "f8ffffffffffffff",
        "unpacked": {
          "a": 2305843009213693951,
          "b": []
        }
      },
      {
        "packed": "ffffffffffffffff1f102122232425",
        "unpacked": {
          "a": 2305843009213693951,
          "b": [
            31,
            16,
            33,
            34,
            35,
            36,
            37
          ]
        }
      },
      {
        "packed": "f00e8e0d8d0c8c0b",
        "unpacked": {
          "a": 104006728889254366,
          "b": []
        }
      },
      {
        "packed": "f70e8e0d8d0c8c0b1f102122232425",
        "unpacked": {
          "a": 104006728889254366,
          "b": [
            31,
            16,
            33,
            34,
            35,
            36,
            37
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Count_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "a": 0,
          "b": []
        }
      },
      {
        "packed": "07000000000000002c2f2e31303332",
        "unpacked": {
          "a": 0,
          "b": [
            44,
            47,
            46,
            49,
            48,
            51,
            50
          ]
        }
      },
      {
        "packed": "f8ffffffffffffff",
        "unpacked": {
          "a": 2305843009213693951,
          "b": []
        }
      },
      {
        "packed": "ffffffffffffffff2c2f2e31303332",
        "unpacked": {
          "a": 2305843009213693951,
          "b": [
            44,
            47,
            46,
            49,
            48,
            51,
            50
          ]
        }
      },
      {
        "packed": "c8b2a29282726222",
        "unpacked": {
          "a": 309708581267330649,
          "b": []
        }
      },
      {
        "packed": "cfb2a292827262222c2f2e31303332",
        "unpacked": {
          "a": 309708581267330649,
          "b": [
            44,
            47,
            46,
            49,
            48,
            51,
            50
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_FixedScalar_Field",
    "tests": [
      {
        "packed": "0700000000000000",
        "unpacked": {
          "b": 0
        }
      },
      {
        "packed": "87ffffffffffffff",
        "unpacked": {
          "b": 144115188075855871
        }
      },
      {
        "packed": "877572706e6c6a34",
        "unpacked": {
          "b": 29507425461658859
        }
      }
    ]
  },
  {
    "packet": "Packet_FixedEnum_Field",
    "tests": [
      {
        "packed": "0100000000000000",
        "unpacked": {
          "b": 0
        }
      },
      {
        "packed": "81ffffffffffffff",
        "unpacked": {
          "b": 144115188075855871
        }
      },
      {
        "packed": "010501fdf8f4f038",
        "unpacked": {
          "b": 32055067271627274
        }
      }
    ]
  },
  {
    "packet": "Packet_Payload_Field_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "payload": []
        }
      },
      {
        "packed": "0743444546474049",
        "unpacked": {
          "payload": [
            67,
            68,
            69,
            70,
            71,
            64,
            73
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Payload_Field_SizeModifier",
    "tests": [
      {
        "packed": "02",
        "unpacked": {
          "payload": []
        }
      },
      {
        "packed": "074a4b4c4d4e",
        "unpacked": {
          "payload": [
            74,
            75,
            76,
            77,
            78
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Payload_Field_UnknownSize",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "payload": [],
          "a": 0
        }
      },
      {
        "packed": "ffff",
        "unpacked": {
          "payload": [],
          "a": 65535
        }
      },
      {
        "packed": "a552",
        "unpacked": {
          "payload": [],
          "a": 21157
        }
      },
      {
        "packed": "4f485152530000",
        "unpacked": {
          "payload": [
            79,
            72,
            81,
            82,
            83
          ],
          "a": 0
        }
      },
      {
        "packed": "4f48515253ffff",
        "unpacked": {
          "payload": [
            79,
            72,
            81,
            82,
            83
          ],
          "a": 65535
        }
      },
      {
        "packed": "4f48515253a552",
        "unpacked": {
          "payload": [
            79,
            72,
            81,
            82,
            83
          ],
          "a": 21157
        }
      }
    ]
  },
  {
    "packet": "Packet_Payload_Field_UnknownSize_Terminal",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "a": 0,
          "payload": []
        }
      },
      {
        "packed": "000050595a5b5c",
        "unpacked": {
          "a": 0,
          "payload": [
            80,
            89,
            90,
            91,
            92
          ]
        }
      },
      {
        "packed": "ffff",
        "unpacked": {
          "a": 65535,
          "payload": []
        }
      },
      {
        "packed": "ffff50595a5b5c",
        "unpacked": {
          "a": 65535,
          "payload": [
            80,
            89,
            90,
            91,
            92
          ]
        }
      },
      {
        "packed": "b752",
        "unpacked": {
          "a": 21175,
          "payload": []
        }
      },
      {
        "packed": "b75250595a5b5c",
        "unpacked": {
          "a": 21175,
          "payload": [
            80,
            89,
            90,
            91,
            92
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Body_Field_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "payload": []
        }
      },
      {
        "packed": "075d5e5f58616263",
        "unpacked": {
          "payload": [
            93,
            94,
            95,
            88,
            97,
            98,
            99
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Body_Field_UnknownSize",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "payload": [],
          "a": 0
        }
      },
      {
        "packed": "ffff",
        "unpacked": {
          "payload": [],
          "a": 65535
        }
      },
      {
        "packed": "4a6b",
        "unpacked": {
          "payload": [],
          "a": 27466
        }
      },
      {
        "packed": "64656667600000",
        "unpacked": {
          "payload": [
            100,
            101,
            102,
            103,
            96
          ],
          "a": 0
        }
      },
      {
        "packed": "6465666760ffff",
        "unpacked": {
          "payload": [
            100,
            101,
            102,
            103,
            96
          ],
          "a": 65535
        }
      },
      {
        "packed": "64656667604a6b",
        "unpacked": {
          "payload": [
            100,
            101,
            102,
            103,
            96
          ],
          "a": 27466
        }
      }
    ]
  },
  {
    "packet": "Packet_Body_Field_UnknownSize_Terminal",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "a": 0,
          "payload": []
        }
      },
      {
        "packed": "00006d6e6f6871",
        "unpacked": {
          "a": 0,
          "payload": [
            109,
            110,
            111,
            104,
            113
          ]
        }
      },
      {
        "packed": "ffff",
        "unpacked": {
          "a": 65535,
          "payload": []
        }
      },
      {
        "packed": "ffff6d6e6f6871",
        "unpacked": {
          "a": 65535,
          "payload": [
            109,
            110,
            111,
            104,
            113
          ]
        }
      },
      {
        "packed": "5c6b",
        "unpacked": {
          "a": 27484,
          "payload": []
        }
      },
      {
        "packed": "5c6b6d6e6f6871",
        "unpacked": {
          "a": 27484,
          "payload": [
            109,
            110,
            111,
            104,
            113
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_ScalarGroup_Field",
    "tests": [
      {
        "packed": "2a00",
        "unpacked": {}
      }
    ]
  },
  {
    "packet": "Packet_EnumGroup_Field",
    "tests": [
      {
        "packed": "bbaa",
        "unpacked": {}
      }
    ]
  },
  {
    "packet": "Packet_Checksum_Field_FromStart",
    "tests": [
      {
        "packed": "0000000000",
        "unpacked": {
          "a": 0,
          "b": 0,
          "crc": 0
        }
      },
      {
        "packed": "0000fffffe",
        "unpacked": {
          "a": 0,
          "b": 65535,
          "crc": 254
        }
      },
      {
        "packed": "0000a57318",
        "unpacked": {
          "a": 0,
          "b": 29605,
          "crc": 24
        }
      },
      {
        "packed": "ffff0000fe",
        "unpacked": {
          "a": 65535,
          "b": 0,
          "crc": 254
        }
      },
      {
        "packed": "fffffffffc",
        "unpacked": {
          "a": 65535,
          "b": 65535,
          "crc": 252
        }
      },
      {
        "packed": "ffffa57316",
        "unpacked": {
          "a": 65535,
          "b": 29605,
          "crc": 22
        }
      },
      {
        "packed": "9373000006",
        "unpacked": {
          "a": 29587,
          "b": 0,
          "crc": 6
        }
      },
      {
        "packed": "9373ffff04",
        "unpacked": {
          "a": 29587,
          "b": 65535,
          "crc": 4
        }
      },
      {
        "packed": "9373a5731e",
        "unpacked": {
          "a": 29587,
          "b": 29605,
          "crc": 30
        }
      }
    ]
  },
  {
    "packet": "Packet_Checksum_Field_FromEnd",
    "tests": [
      {
        "packed": "0000000000",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 0,
          "b": 0
        }
      },
      {
        "packed": "000000ffff",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 0,
          "b": 65535
        }
      },
      {
        "packed": "000000ee7b",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 0,
          "b": 31726
        }
      },
      {
        "packed": "00ffff0000",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 65535,
          "b": 0
        }
      },
      {
        "packed": "00ffffffff",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 65535,
          "b": 65535
        }
      },
      {
        "packed": "00ffffee7b",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 65535,
          "b": 31726
        }
      },
      {
        "packed": "00dc7b0000",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 31708,
          "b": 0
        }
      },
      {
        "packed": "00dc7bffff",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 31708,
          "b": 65535
        }
      },
      {
        "packed": "00dc7bee7b",
        "unpacked": {
          "payload": [],
          "crc": 0,
          "a": 31708,
          "b": 31726
        }
      },
      {
        "packed": "767770797a5000000000",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 0,
          "b": 0
        }
      },
      {
        "packed": "767770797a500000ffff",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 0,
          "b": 65535
        }
      },
      {
        "packed": "767770797a500000ee7b",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 0,
          "b": 31726
        }
      },
      {
        "packed": "767770797a50ffff0000",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 65535,
          "b": 0
        }
      },
      {
        "packed": "767770797a50ffffffff",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 65535,
          "b": 65535
        }
      },
      {
        "packed": "767770797a50ffffee7b",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 65535,
          "b": 31726
        }
      },
      {
        "packed": "767770797a50dc7b0000",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 31708,
          "b": 0
        }
      },
      {
        "packed": "767770797a50dc7bffff",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 31708,
          "b": 65535
        }
      },
      {
        "packed": "767770797a50dc7bee7b",
        "unpacked": {
          "payload": [
            118,
            119,
            112,
            121,
            122
          ],
          "crc": 80,
          "a": 31708,
          "b": 31726
        }
      }
    ]
  },
  {
    "packet": "Packet_Struct_Field",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "0003788182",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": [
              120,
              129,
              130
            ]
          }
        }
      },
      {
        "packed": "ff00",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "ff03788182",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": [
              120,
              129,
              130
            ]
          }
        }
      },
      {
        "packed": "7f00",
        "unpacked": {
          "a": {
            "a": 127
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "7f03788182",
        "unpacked": {
          "a": {
            "a": 127
          },
          "b": {
            "array": [
              120,
              129,
              130
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ByteElement_ConstantSize",
    "tests": [
      {
        "packed": "83848586",
        "unpacked": {
          "array": [
            131,
            132,
            133,
            134
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ByteElement_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "0f8780898a8b8c8d8e8f889192939495",
        "unpacked": {
          "array": [
            135,
            128,
            137,
            138,
            139,
            140,
            141,
            142,
            143,
            136,
            145,
            146,
            147,
            148,
            149
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ByteElement_VariableCount",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "0f969790999a9b9c9d9e9f98a1a2a3a4",
        "unpacked": {
          "array": [
            150,
            151,
            144,
            153,
            154,
            155,
            156,
            157,
            158,
            159,
            152,
            161,
            162,
            163,
            164
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ByteElement_UnknownSize",
    "tests": [
      {
        "packed": "",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "a5a6a7",
        "unpacked": {
          "array": [
            165,
            166,
            167
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ScalarElement_ConstantSize",
    "tests": [
      {
        "packed": "41a553ad65ad77ad",
        "unpacked": {
          "array": [
            42305,
            44371,
            44389,
            44407
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ScalarElement_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "0e81ad93b5a5b5b7b5c1b5d3bde5bd",
        "unpacked": {
          "array": [
            44417,
            46483,
            46501,
            46519,
            46529,
            48595,
            48613
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ScalarElement_VariableCount",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "0ff7bd01be13c625c637c641c653ce65ce77ce81ce93d6a5d6b7d6c1d6d3de",
        "unpacked": {
          "array": [
            48631,
            48641,
            50707,
            50725,
            50743,
            50753,
            52819,
            52837,
            52855,
            52865,
            54931,
            54949,
            54967,
            54977,
            57043
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_ScalarElement_UnknownSize",
    "tests": [
      {
        "packed": "",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "e5def7de01df",
        "unpacked": {
          "array": [
            57061,
            57079,
            57089
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_EnumElement_ConstantSize",
    "tests": [
      {
        "packed": "bbaaddccbbaaddcc",
        "unpacked": {
          "array": [
            43707,
            52445,
            43707,
            52445
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_EnumElement_VariableSize",
    "tests": [
      {
        "packed": "0ebbaaddccbbaaddccbbaaddccbbaa",
        "unpacked": {
          "array": [
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_EnumElement_VariableCount",
    "tests": [
      {
        "packed": "0fbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaa",
        "unpacked": {
          "array": [
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_EnumElement_UnknownSize",
    "tests": [
      {
        "packed": "bbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddcc",
        "unpacked": {
          "array": [
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445,
            43707,
            52445
          ]
        }
      },
      {
        "packed": "",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_SizedElement_ConstantSize",
    "tests": [
      {
        "packed": "00ffe200",
        "unpacked": {
          "array": [
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 226
            },
            {
              "a": 0
            }
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_SizedElement_VariableSize",
    "tests": [
      {
        "packed": "0f00ffe400ffe500ffe600ffe700ffe0",
        "unpacked": {
          "array": [
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 228
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 229
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 230
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 231
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 224
            }
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_SizedElement_VariableCount",
    "tests": [
      {
        "packed": "0f00ffea00ffeb00ffec00ffed00ffee",
        "unpacked": {
          "array": [
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 234
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 235
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 236
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 237
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 238
            }
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_SizedElement_UnknownSize",
    "tests": [
      {
        "packed": "00ffe800fff100fff200fff300fff400fff500fff600fff700fff000fff900ff",
        "unpacked": {
          "array": [
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 232
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 241
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 242
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 243
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 244
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 245
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 246
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 247
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 240
            },
            {
              "a": 0
            },
            {
              "a": 255
            },
            {
              "a": 249
            },
            {
              "a": 0
            },
            {
              "a": 255
            }
          ]
        }
      },
      {
        "packed": "",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_ConstantSize",
    "tests": [
      {
        "packed": "0003fbfcfd0003fef801",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                251,
                252,
                253
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                254,
                248,
                1
              ]
            }
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_VariableSize",
    "tests": [
      {
        "packed": "0f0003050607000300090a00030b0c0d",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                5,
                6,
                7
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                0,
                9,
                10
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                11,
                12,
                13
              ]
            }
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_VariableCount",
    "tests": [
      {
        "packed": "0f00031112130003141516000317101900031a1b1c00031d1e1f0003182122000323242500",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                17,
                18,
                19
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                20,
                21,
                22
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                23,
                16,
                25
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                26,
                27,
                28
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                29,
                30,
                31
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                24,
                33,
                34
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                35,
                36,
                37
              ]
            },
            {
              "array": []
            }
          ]
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_UnknownSize",
    "tests": [
      {
        "packed": "0003292a2b00032c2d2e00032f283100033233340003353637000330393a00033b3c3d00033e3f3800034142430003444546000347404900034a4b4c00034d4e4f000348515200035354550003565750",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                41,
                42,
                43
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                44,
                45,
                46
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                47,
                40,
                49
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                50,
                51,
                52
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                53,
                54,
                55
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                48,
                57,
                58
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                59,
                60,
                61
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                62,
                63,
                56
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                65,
                66,
                67
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                68,
                69,
                70
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                71,
                64,
                73
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                74,
                75,
                76
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                77,
                78,
                79
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                72,
                81,
                82
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                83,
                84,
                85
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                86,
                87,
                80
              ]
            }
          ]
        }
      },
      {
        "packed": "",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_SizeModifier",
    "tests": [
      {
        "packed": "0d00035c5d5e00035f586100",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                92,
                93,
                94
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                95,
                88,
                97
              ]
            },
            {
              "array": []
            }
          ]
        }
      },
      {
        "packed": "02",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_SizedElement_VariableSize_Padded",
    "tests": [
      {
        "packed": "0000000000000000000000000000000000",
        "unpacked": {
          "array": []
        }
      },
      {
        "packed": "0e2e6338634a6b5c6b6e6b786b8a730000",
        "unpacked": {
          "array": [
            25390,
            25400,
            27466,
            27484,
            27502,
            27512,
            29578
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_UnsizedElement_VariableCount_Padded",
    "tests": [
      {
        "packed": "07000373747500037677700003797a7b00",
        "unpacked": {
          "array": [
            {
              "array": []
            },
            {
              "array": [
                115,
                116,
                117
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                118,
                119,
                112
              ]
            },
            {
              "array": []
            },
            {
              "array": [
                121,
                122,
                123
              ]
            },
            {
              "array": []
            }
          ]
        }
      },
      {
        "packed": "0000000000000000000000000000000000",
        "unpacked": {
          "array": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_VariableElementSize_ConstantSize",
    "tests": [
      {
        "packed": "012a2b2c2d",
        "unpacked": {
          "array": [
            {
              "array": [42]
            },
            {
              "array": [43]
            },
            {
              "array": [44]
            },
            {
              "array": [45]
            }
          ]
        }
      },
      {
        "packed": "022a2b2c2d2e2f3031",
        "unpacked": {
          "array": [
            {
              "array": [42, 43]
            },
            {
              "array": [44, 45]
            },
            {
              "array": [46, 47]
            },
            {
              "array": [48, 49]
            }
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_VariableElementSize_VariableSize",
    "tests": [
      {
        "packed": "01012a2b2c",
        "unpacked": {
          "array": [
            {
              "array": [42]
            }
          ],
          "tail": [43, 44]
        }
      },
      {
        "packed": "02012a2b",
        "unpacked": {
          "array": [
            {
              "array": [42]
            },
            {
              "array": [43]
            }
          ],
          "tail": []
        }
      },
      {
        "packed": "02022a2b2c",
        "unpacked": {
          "array": [
            {
              "array": [42, 43]
            }
          ],
          "tail": [44]
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_VariableElementSize_VariableCount",
    "tests": [
      {
        "packed": "03012a2b2c2d",
        "unpacked": {
          "array": [
            {
              "array": [42]
            },
            {
              "array": [43]
            },
            {
              "array": [44]
            }
          ],
          "tail": [45]
        }
      },
      {
        "packed": "02022a2b2c2d",
        "unpacked": {
          "array": [
            {
              "array": [42, 43]
            },
            {
              "array": [44, 45]
            }
          ],
          "tail": []
        }
      }
    ]
  },
  {
    "packet": "Packet_Array_Field_VariableElementSize_UnknownSize",
    "tests": [
      {
        "packed": "012a",
        "unpacked": {
          "array": [
            {
              "array": [42]
            }
          ]
        }
      },
      {
        "packed": "012a2b",
        "unpacked": {
          "array": [
            {
              "array": [42]
            },
            {
              "array": [43]
            }
          ]
        }
      },
      {
        "packed": "022a2b",
        "unpacked": {
          "array": [
            {
              "array": [42, 43]
            }
          ]
        }
      }
    ]
  },
  {
    "packet": "Packet_Optional_Scalar_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "a": null,
          "b": null
        }
      },
      {
        "packed": "0300000000",
        "unpacked": {
          "a": null,
          "b": 0
        }
      },
      {
        "packed": "03ffffffff",
        "unpacked": {
          "a": null,
          "b": 4294967295
        }
      },
      {
        "packed": "03251c1484",
        "unpacked": {
          "a": null,
          "b": 2215910437
        }
      },
      {
        "packed": "00000000",
        "unpacked": {
          "a": 0,
          "b": null
        }
      },
      {
        "packed": "0200000000000000",
        "unpacked": {
          "a": 0,
          "b": 0
        }
      },
      {
        "packed": "02000000ffffffff",
        "unpacked": {
          "a": 0,
          "b": 4294967295
        }
      },
      {
        "packed": "02000000251c1484",
        "unpacked": {
          "a": 0,
          "b": 2215910437
        }
      },
      {
        "packed": "00ffffff",
        "unpacked": {
          "a": 16777215,
          "b": null
        }
      },
      {
        "packed": "02ffffff00000000",
        "unpacked": {
          "a": 16777215,
          "b": 0
        }
      },
      {
        "packed": "02ffffffffffffff",
        "unpacked": {
          "a": 16777215,
          "b": 4294967295
        }
      },
      {
        "packed": "02ffffff251c1484",
        "unpacked": {
          "a": 16777215,
          "b": 2215910437
        }
      },
      {
        "packed": "0001fc7b",
        "unpacked": {
          "a": 8125441,
          "b": null
        }
      },
      {
        "packed": "0201fc7b00000000",
        "unpacked": {
          "a": 8125441,
          "b": 0
        }
      },
      {
        "packed": "0201fc7bffffffff",
        "unpacked": {
          "a": 8125441,
          "b": 4294967295
        }
      },
      {
        "packed": "0201fc7b251c1484",
        "unpacked": {
          "a": 8125441,
          "b": 2215910437
        }
      }
    ]
  },
  {
    "packet": "Packet_Optional_Enum_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "a": null,
          "b": null
        }
      },
      {
        "packed": "03bbaa",
        "unpacked": {
          "a": null,
          "b": 43707
        }
      },
      {
        "packed": "03ddcc",
        "unpacked": {
          "a": null,
          "b": 52445
        }
      },
      {
        "packed": "00bbaa",
        "unpacked": {
          "a": 43707,
          "b": null
        }
      },
      {
        "packed": "02bbaabbaa",
        "unpacked": {
          "a": 43707,
          "b": 43707
        }
      },
      {
        "packed": "02bbaaddcc",
        "unpacked": {
          "a": 43707,
          "b": 52445
        }
      },
      {
        "packed": "00ddcc",
        "unpacked": {
          "a": 52445,
          "b": null
        }
      },
      {
        "packed": "02ddccbbaa",
        "unpacked": {
          "a": 52445,
          "b": 43707
        }
      },
      {
        "packed": "02ddccddcc",
        "unpacked": {
          "a": 52445,
          "b": 52445
        }
      }
    ]
  },
  {
    "packet": "Packet_Optional_Struct_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "a": null,
          "b": null
        }
      },
      {
        "packed": "0300",
        "unpacked": {
          "a": null,
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "0303878089",
        "unpacked": {
          "a": null,
          "b": {
            "array": [
              135,
              128,
              137
            ]
          }
        }
      },
      {
        "packed": "0000",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": null
        }
      },
      {
        "packed": "020000",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "020003878089",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": [
              135,
              128,
              137
            ]
          }
        }
      },
      {
        "packed": "00ff",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": null
        }
      },
      {
        "packed": "02ff00",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "02ff03878089",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": [
              135,
              128,
              137
            ]
          }
        }
      },
      {
        "packed": "0086",
        "unpacked": {
          "a": {
            "a": 134
          },
          "b": null
        }
      },
      {
        "packed": "028600",
        "unpacked": {
          "a": {
            "a": 134
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "028603878089",
        "unpacked": {
          "a": {
            "a": 134
          },
          "b": {
            "array": [
              135,
              128,
              137
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "ScalarParent",
    "tests": [
      {
        "packed": "000100",
        "unpacked": {
          "a": 0,
          "b": 0
        },
        "packet": "ScalarChild_A"
      },
      {
        "packed": "0001ff",
        "unpacked": {
          "a": 0,
          "b": 255
        },
        "packet": "ScalarChild_A"
      },
      {
        "packed": "00017f",
        "unpacked": {
          "a": 0,
          "b": 127
        },
        "packet": "ScalarChild_A"
      },
      {
        "packed": "01020000",
        "unpacked": {
          "a": 1,
          "c": 0
        },
        "packet": "ScalarChild_B"
      },
      {
        "packed": "0102ffff",
        "unpacked": {
          "a": 1,
          "c": 65535
        },
        "packet": "ScalarChild_B"
      },
      {
        "packed": "0102017c",
        "unpacked": {
          "a": 1,
          "c": 31745
        },
        "packet": "ScalarChild_B"
      },
      {
        "packed": "020100",
        "unpacked": {
          "a": 2,
          "b": 0
        },
        "packet": "AliasedChild_A"
      },
      {
        "packed": "0201ff",
        "unpacked": {
          "a": 2,
          "b": 255
        },
        "packet": "AliasedChild_A"
      },
      {
        "packed": "020185",
        "unpacked": {
          "a": 2,
          "b": 133
        },
        "packet": "AliasedChild_A"
      },
      {
        "packed": "03020000",
        "unpacked": {
          "a": 3,
          "c": 0
        },
        "packet": "AliasedChild_B"
      },
      {
        "packed": "0302ffff",
        "unpacked": {
          "a": 3,
          "c": 65535
        },
        "packet": "AliasedChild_B"
      },
      {
        "packed": "03023784",
        "unpacked": {
          "a": 3,
          "c": 33847
        },
        "packet": "AliasedChild_B"
      }
    ]
  },
  {
    "packet": "EnumParent",
    "tests": [
      {
        "packed": "bbaa0100",
        "unpacked": {
          "a": 43707,
          "b": 0
        },
        "packet": "EnumChild_A"
      },
      {
        "packed": "bbaa01ff",
        "unpacked": {
          "a": 43707,
          "b": 255
        },
        "packet": "EnumChild_A"
      },
      {
        "packed": "bbaa0182",
        "unpacked": {
          "a": 43707,
          "b": 130
        },
        "packet": "EnumChild_A"
      },
      {
        "packed": "ddcc020000",
        "unpacked": {
          "a": 52445,
          "c": 0
        },
        "packet": "EnumChild_B"
      },
      {
        "packed": "ddcc02ffff",
        "unpacked": {
          "a": 52445,
          "c": 65535
        },
        "packet": "EnumChild_B"
      },
      {
        "packed": "ddcc021c84",
        "unpacked": {
          "a": 52445,
          "c": 33820
        },
        "packet": "EnumChild_B"
      }
    ]
  },
  {
    "packet": "PartialParent5",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "a": 0,
          "b": 0
        },
        "packet": "PartialChild5_A"
      },
      {
        "packed": "e0ff",
        "unpacked": {
          "a": 0,
          "b": 2047
        },
        "packet": "PartialChild5_A"
      },
      {
        "packed": "0081",
        "unpacked": {
          "a": 0,
          "b": 1032
        },
        "packet": "PartialChild5_A"
      },
      {
        "packed": "01000000",
        "unpacked": {
          "a": 1,
          "c": 0
        },
        "packet": "PartialChild5_B"
      },
      {
        "packed": "e1ffffff",
        "unpacked": {
          "a": 1,
          "c": 134217727
        },
        "packet": "PartialChild5_B"
      },
      {
        "packed": "c1a262a2",
        "unpacked": {
          "a": 1,
          "c": 85136662
        },
        "packet": "PartialChild5_B"
      }
    ]
  },
  {
    "packet": "PartialParent12",
    "tests": [
      {
        "packed": "0200",
        "unpacked": {
          "a": 2,
          "d": 0
        },
        "packet": "PartialChild12_A"
      },
      {
        "packed": "02f0",
        "unpacked": {
          "a": 2,
          "d": 15
        },
        "packet": "PartialChild12_A"
      },
      {
        "packed": "0260",
        "unpacked": {
          "a": 2,
          "d": 6
        },
        "packet": "PartialChild12_A"
      },
      {
        "packed": "03000000",
        "unpacked": {
          "a": 3,
          "e": 0
        },
        "packet": "PartialChild12_B"
      },
      {
        "packed": "03f0ffff",
        "unpacked": {
          "a": 3,
          "e": 1048575
        },
        "packet": "PartialChild12_B"
      },
      {
        "packed": "03d0b191",
        "unpacked": {
          "a": 3,
          "e": 596765
        },
        "packet": "PartialChild12_B"
      }
    ]
  },
  {
    "packet": "Struct_Enum_Field",
    "tests": [
      {
        "packed": "0100000000000000",
        "unpacked": {
          "s": {
            "a": 1,
            "c": 0
          }
        }
      },
      {
        "packed": "81ffffffffffffff",
        "unpacked": {
          "s": {
            "a": 1,
            "c": 144115188075855871
          }
        }
      },
      {
        "packed": "012b29272523218f",
        "unpacked": {
          "s": {
            "a": 1,
            "c": 80574713001038422
          }
        }
      },
      {
        "packed": "0200000000000000",
        "unpacked": {
          "s": {
            "a": 2,
            "c": 0
          }
        }
      },
      {
        "packed": "82ffffffffffffff",
        "unpacked": {
          "s": {
            "a": 2,
            "c": 144115188075855871
          }
        }
      },
      {
        "packed": "022b29272523218f",
        "unpacked": {
          "s": {
            "a": 2,
            "c": 80574713001038422
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Reserved_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "s": {
            "a": 0,
            "c": 0
          }
        }
      },
      {
        "packed": "00feffffffffffff",
        "unpacked": {
          "s": {
            "a": 0,
            "c": 36028797018963967
          }
        }
      },
      {
        "packed": "003a393735333197",
        "unpacked": {
          "s": {
            "a": 0,
            "c": 21278408744606877
          }
        }
      },
      {
        "packed": "7f00000000000000",
        "unpacked": {
          "s": {
            "a": 127,
            "c": 0
          }
        }
      },
      {
        "packed": "7ffeffffffffffff",
        "unpacked": {
          "s": {
            "a": 127,
            "c": 36028797018963967
          }
        }
      },
      {
        "packed": "7f3a393735333197",
        "unpacked": {
          "s": {
            "a": 127,
            "c": 21278408744606877
          }
        }
      },
      {
        "packed": "4b00000000000000",
        "unpacked": {
          "s": {
            "a": 75,
            "c": 0
          }
        }
      },
      {
        "packed": "4bfeffffffffffff",
        "unpacked": {
          "s": {
            "a": 75,
            "c": 36028797018963967
          }
        }
      },
      {
        "packed": "4b3a393735333197",
        "unpacked": {
          "s": {
            "a": 75,
            "c": 21278408744606877
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Size_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "s": {
            "a": 0,
            "b": []
          }
        }
      },
      {
        "packed": "0700000000000000a6a7a8a9aaabac",
        "unpacked": {
          "s": {
            "a": 0,
            "b": [
              166,
              167,
              168,
              169,
              170,
              171,
              172
            ]
          }
        }
      },
      {
        "packed": "f8ffffffffffffff",
        "unpacked": {
          "s": {
            "a": 2305843009213693951,
            "b": []
          }
        }
      },
      {
        "packed": "ffffffffffffffffa6a7a8a9aaabac",
        "unpacked": {
          "s": {
            "a": 2305843009213693951,
            "b": [
              166,
              167,
              168,
              169,
              170,
              171,
              172
            ]
          }
        }
      },
      {
        "packed": "28a4a3a2a1a09f9e",
        "unpacked": {
          "s": {
            "a": 1428753874421052549,
            "b": []
          }
        }
      },
      {
        "packed": "2fa4a3a2a1a09f9ea6a7a8a9aaabac",
        "unpacked": {
          "s": {
            "a": 1428753874421052549,
            "b": [
              166,
              167,
              168,
              169,
              170,
              171,
              172
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Count_Field",
    "tests": [
      {
        "packed": "0000000000000000",
        "unpacked": {
          "s": {
            "a": 0,
            "b": []
          }
        }
      },
      {
        "packed": "0700000000000000b5b6b7b4b9babb",
        "unpacked": {
          "s": {
            "a": 0,
            "b": [
              181,
              182,
              183,
              180,
              185,
              186,
              187
            ]
          }
        }
      },
      {
        "packed": "f8ffffffffffffff",
        "unpacked": {
          "s": {
            "a": 2305843009213693951,
            "b": []
          }
        }
      },
      {
        "packed": "ffffffffffffffffb5b6b7b4b9babb",
        "unpacked": {
          "s": {
            "a": 2305843009213693951,
            "b": [
              181,
              182,
              183,
              180,
              185,
              186,
              187
            ]
          }
        }
      },
      {
        "packed": "60563616f6d5b5b5",
        "unpacked": {
          "s": {
            "a": 1636700843070114508,
            "b": []
          }
        }
      },
      {
        "packed": "67563616f6d5b5b5b5b6b7b4b9babb",
        "unpacked": {
          "s": {
            "a": 1636700843070114508,
            "b": [
              181,
              182,
              183,
              180,
              185,
              186,
              187
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_FixedScalar_Field",
    "tests": [
      {
        "packed": "0700000000000000",
        "unpacked": {
          "s": {
            "b": 0
          }
        }
      },
      {
        "packed": "87ffffffffffffff",
        "unpacked": {
          "s": {
            "b": 144115188075855871
          }
        }
      },
      {
        "packed": "070503fffaf6f2ba",
        "unpacked": {
          "s": {
            "b": 105242976510150154
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_FixedEnum_Field",
    "tests": [
      {
        "packed": "0100000000000000",
        "unpacked": {
          "s": {
            "b": 0
          }
        }
      },
      {
        "packed": "81ffffffffffffff",
        "unpacked": {
          "s": {
            "b": 144115188075855871
          }
        }
      },
      {
        "packed": "81443e362e261ec6",
        "unpacked": {
          "s": {
            "b": 111530389443214473
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_ScalarGroup_Field",
    "tests": [
      {
        "packed": "2a00",
        "unpacked": {
          "s": {}
        }
      }
    ]
  },
  {
    "packet": "Struct_EnumGroup_Field",
    "tests": [
      {
        "packed": "bbaa",
        "unpacked": {
          "s": {}
        }
      }
    ]
  },
  {
    "packet": "Struct_Checksum_Field_FromStart",
    "tests": [
      {
        "packed": "0000000000",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 0,
            "crc": 0
          }
        }
      },
      {
        "packed": "0000fffffe",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 65535,
            "crc": 254
          }
        }
      },
      {
        "packed": "0000cdcc99",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 52429,
            "crc": 153
          }
        }
      },
      {
        "packed": "ffff0000fe",
        "unpacked": {
          "s": {
            "a": 65535,
            "b": 0,
            "crc": 254
          }
        }
      },
      {
        "packed": "fffffffffc",
        "unpacked": {
          "s": {
            "a": 65535,
            "b": 65535,
            "crc": 252
          }
        }
      },
      {
        "packed": "ffffcdcc97",
        "unpacked": {
          "s": {
            "a": 65535,
            "b": 52429,
            "crc": 151
          }
        }
      },
      {
        "packed": "abcc000077",
        "unpacked": {
          "s": {
            "a": 52395,
            "b": 0,
            "crc": 119
          }
        }
      },
      {
        "packed": "abccffff75",
        "unpacked": {
          "s": {
            "a": 52395,
            "b": 65535,
            "crc": 117
          }
        }
      },
      {
        "packed": "abcccdcc10",
        "unpacked": {
          "s": {
            "a": 52395,
            "b": 52429,
            "crc": 16
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Checksum_Field_FromEnd",
    "tests": [
      {
        "packed": "0000000000",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 0,
            "b": 0
          }
        }
      },
      {
        "packed": "000000ffff",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 0,
            "b": 65535
          }
        }
      },
      {
        "packed": "00000056dd",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 0,
            "b": 56662
          }
        }
      },
      {
        "packed": "00ffff0000",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 65535,
            "b": 0
          }
        }
      },
      {
        "packed": "00ffffffff",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 65535,
            "b": 65535
          }
        }
      },
      {
        "packed": "00ffff56dd",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 65535,
            "b": 56662
          }
        }
      },
      {
        "packed": "0034dd0000",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 56628,
            "b": 0
          }
        }
      },
      {
        "packed": "0034ddffff",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 56628,
            "b": 65535
          }
        }
      },
      {
        "packed": "0034dd56dd",
        "unpacked": {
          "s": {
            "payload": [],
            "crc": 0,
            "a": 56628,
            "b": 56662
          }
        }
      },
      {
        "packed": "cecfc0d1d20000000000",
        "unpacked": {
          "s": {
            "payload": [
              206,
              207,
              192,
              209,
              210
            ],
            "crc": 0,
            "a": 0,
            "b": 0
          }
        }
      },
      {
        "packed": "cecfc0d1d2000000ffff",
        "unpacked": {
          "s": {
            "payload": [
              206,
              207,
              192,
              209,
              210
            ],
            "crc": 0,
            "a": 0,
            "b": 65535
          }
        }
      },
      {
        "packed": "cecfc0d1d200000056dd",
        "unpacked": {
          "s": {
            "payload": [
              206,
              207,
              192,
              209,
              210
            ],
            "crc": 0,
            "a": 0,
            "b": 56662
          }
        }
      },
      {
        "packed": "cecfc0d1d200ffff0000",
        "unpacked": {
          "s": {
            "payload": [
              206,
              207,
              192,
              209,
              210
            ],
            "crc": 0,
            "a": 65535,
            "b": 0
          }
        }
      },
      {
        "packed": "cecfc0d1d200ffffffff",
        "unpacked": {
          "s": {
            "payload": [
              206,
              207,
              192,
              209,
              210
            ],
            "crc": 0,
            "a": 65535,
            "b": 65535
          }
        }
      },
      {
        "packed": "cecfc0d1d200ffff56dd",
        "unpacked": {
          "s": {
            "payload": [
              206,
              207,
              192,
              209,
              210
            ],
            "crc": 0,
            "a": 65535,
            "b": 56662
          }
        }
      },
      {
        "packed": "cecfc0d1d20034dd0000",
        "unpacked": {
          "s": {
            "payload": [
              206,
              207,
              192,
              209,
              210
            ],
            "crc": 0,
            "a": 56628,
            "b": 0
          }
        }
      },
      {
        "packed": "cecfc0d1d20034ddffff",
        "unpacked": {
          "s": {
            "payload": [
              206,
              207,
              192,
              209,
              210
            ],
            "crc": 0,
            "a": 56628,
            "b": 65535
          }
        }
      },
      {
        "packed": "cecfc0d1d20034dd56dd",
        "unpacked": {
          "s": {
            "payload": [
              206,
              207,
              192,
              209,
              210
            ],
            "crc": 0,
            "a": 56628,
            "b": 56662
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Struct_Field",
    "tests": [
      {
        "packed": "0000",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "0003d8d9da",
        "unpacked": {
          "a": {
            "a": 0
          },
          "b": {
            "array": [
              216,
              217,
              218
            ]
          }
        }
      },
      {
        "packed": "ff00",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "ff03d8d9da",
        "unpacked": {
          "a": {
            "a": 255
          },
          "b": {
            "array": [
              216,
              217,
              218
            ]
          }
        }
      },
      {
        "packed": "d700",
        "unpacked": {
          "a": {
            "a": 215
          },
          "b": {
            "array": []
          }
        }
      },
      {
        "packed": "d703d8d9da",
        "unpacked": {
          "a": {
            "a": 215
          },
          "b": {
            "array": [
              216,
              217,
              218
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ByteElement_ConstantSize",
    "tests": [
      {
        "packed": "dbdcddde",
        "unpacked": {
          "s": {
            "array": [
              219,
              220,
              221,
              222
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ByteElement_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0fdfd0e1e2e3e4e5e6e7e8e9eaebeced",
        "unpacked": {
          "s": {
            "array": [
              223,
              208,
              225,
              226,
              227,
              228,
              229,
              230,
              231,
              232,
              233,
              234,
              235,
              236,
              237
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ByteElement_VariableCount",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0feeefe0f1f2f3f4f5f6f7f8f9fafbfc",
        "unpacked": {
          "s": {
            "array": [
              238,
              239,
              224,
              241,
              242,
              243,
              244,
              245,
              246,
              247,
              248,
              249,
              250,
              251,
              252
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ByteElement_UnknownSize",
    "tests": [
      {
        "packed": "",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "fdfef0",
        "unpacked": {
          "s": {
            "array": [
              253,
              254,
              240
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ScalarElement_ConstantSize",
    "tests": [
      {
        "packed": "1200340056007800",
        "unpacked": {
          "s": {
            "array": [
              18,
              52,
              86,
              120
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ScalarElement_VariableSize",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0e9a00bc00de00f000121134115611",
        "unpacked": {
          "s": {
            "array": [
              154,
              188,
              222,
              240,
              4370,
              4404,
              4438
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ScalarElement_VariableCount",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0f78119a11bc11de11f01112223422562278229a22bc22de22f02212333433",
        "unpacked": {
          "s": {
            "array": [
              4472,
              4506,
              4540,
              4574,
              4592,
              8722,
              8756,
              8790,
              8824,
              8858,
              8892,
              8926,
              8944,
              13074,
              13108
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_ScalarElement_UnknownSize",
    "tests": [
      {
        "packed": "",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "563378339a33",
        "unpacked": {
          "s": {
            "array": [
              13142,
              13176,
              13210
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_EnumElement_ConstantSize",
    "tests": [
      {
        "packed": "bbaaddccbbaaddcc",
        "unpacked": {
          "s": {
            "array": [
              43707,
              52445,
              43707,
              52445
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_EnumElement_VariableSize",
    "tests": [
      {
        "packed": "0ebbaaddccbbaaddccbbaaddccbbaa",
        "unpacked": {
          "s": {
            "array": [
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_EnumElement_VariableCount",
    "tests": [
      {
        "packed": "0fbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaa",
        "unpacked": {
          "s": {
            "array": [
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_EnumElement_UnknownSize",
    "tests": [
      {
        "packed": "bbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddccbbaaddcc",
        "unpacked": {
          "s": {
            "array": [
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445,
              43707,
              52445
            ]
          }
        }
      },
      {
        "packed": "",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_SizedElement_ConstantSize",
    "tests": [
      {
        "packed": "00ff3b00",
        "unpacked": {
          "s": {
            "array": [
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 59
              },
              {
                "a": 0
              }
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_SizedElement_VariableSize",
    "tests": [
      {
        "packed": "0f00ff3d00ff3e00ff3f00ff3000ff41",
        "unpacked": {
          "s": {
            "array": [
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 61
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 62
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 63
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 48
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 65
              }
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_SizedElement_VariableCount",
    "tests": [
      {
        "packed": "0f00ff4300ff4400ff4500ff4600ff47",
        "unpacked": {
          "s": {
            "array": [
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 67
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 68
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 69
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 70
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 71
              }
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_SizedElement_UnknownSize",
    "tests": [
      {
        "packed": "00ff4900ff4a00ff4b00ff4c00ff4d00ff4e00ff4f00ff4000ff5100ff5200ff",
        "unpacked": {
          "s": {
            "array": [
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 73
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 74
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 75
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 76
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 77
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 78
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 79
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 64
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 81
              },
              {
                "a": 0
              },
              {
                "a": 255
              },
              {
                "a": 82
              },
              {
                "a": 0
              },
              {
                "a": 255
              }
            ]
          }
        }
      },
      {
        "packed": "",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_ConstantSize",
    "tests": [
      {
        "packed": "00035455560003575859",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  84,
                  85,
                  86
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  87,
                  88,
                  89
                ]
              }
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_VariableSize",
    "tests": [
      {
        "packed": "0f00035d5e5f00035061620003636465",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  93,
                  94,
                  95
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  80,
                  97,
                  98
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  99,
                  100,
                  101
                ]
              }
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_VariableCount",
    "tests": [
      {
        "packed": "0f0003696a6b00036c6d6e00036f607100037273740003757677000378797a00037b7c7d00",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  105,
                  106,
                  107
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  108,
                  109,
                  110
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  111,
                  96,
                  113
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  114,
                  115,
                  116
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  117,
                  118,
                  119
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  120,
                  121,
                  122
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  123,
                  124,
                  125
                ]
              },
              {
                "array": []
              }
            ]
          }
        }
      },
      {
        "packed": "00",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_UnknownSize",
    "tests": [
      {
        "packed": "00038182830003848586000387888900038a8b8c00038d8e8f0003809192000393949500039697980003999a9b00039c9d9e00039f90a10003a2a3a40003a5a6a70003a8a9aa0003abacad0003aeafa0",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  129,
                  130,
                  131
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  132,
                  133,
                  134
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  135,
                  136,
                  137
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  138,
                  139,
                  140
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  141,
                  142,
                  143
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  128,
                  145,
                  146
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  147,
                  148,
                  149
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  150,
                  151,
                  152
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  153,
                  154,
                  155
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  156,
                  157,
                  158
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  159,
                  144,
                  161
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  162,
                  163,
                  164
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  165,
                  166,
                  167
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  168,
                  169,
                  170
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  171,
                  172,
                  173
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  174,
                  175,
                  160
                ]
              }
            ]
          }
        }
      },
      {
        "packed": "",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_SizeModifier",
    "tests": [
      {
        "packed": "0d0003b4b5b60003b7b8b900",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  180,
                  181,
                  182
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  183,
                  184,
                  185
                ]
              },
              {
                "array": []
              }
            ]
          }
        }
      },
      {
        "packed": "02",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_SizedElement_VariableSize_Padded",
    "tests": [
      {
        "packed": "0000000000000000000000000000000000",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      },
      {
        "packed": "0edebbf0bb12cc34cc56cc78cc9acc0000",
        "unpacked": {
          "s": {
            "array": [
              48094,
              48112,
              52242,
              52276,
              52310,
              52344,
              52378
            ]
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Array_Field_UnsizedElement_VariableCount_Padded",
    "tests": [
      {
        "packed": "070003cbcccd0003cecfc00003d1d2d300",
        "unpacked": {
          "s": {
            "array": [
              {
                "array": []
              },
              {
                "array": [
                  203,
                  204,
                  205
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  206,
                  207,
                  192
                ]
              },
              {
                "array": []
              },
              {
                "array": [
                  209,
                  210,
                  211
                ]
              },
              {
                "array": []
              }
            ]
          }
        }
      },
      {
        "packed": "0000000000000000000000000000000000",
        "unpacked": {
          "s": {
            "array": []
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Optional_Scalar_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "s": {
            "a": null,
            "b": null
          }
        }
      },
      {
        "packed": "0300000000",
        "unpacked": {
          "s": {
            "a": null,
            "b": 0
          }
        }
      },
      {
        "packed": "03ffffffff",
        "unpacked": {
          "s": {
            "a": null,
            "b": 4294967295
          }
        }
      },
      {
        "packed": "03786e5eee",
        "unpacked": {
          "s": {
            "a": null,
            "b": 3999166072
          }
        }
      },
      {
        "packed": "00000000",
        "unpacked": {
          "s": {
            "a": 0,
            "b": null
          }
        }
      },
      {
        "packed": "0200000000000000",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 0
          }
        }
      },
      {
        "packed": "02000000ffffffff",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 4294967295
          }
        }
      },
      {
        "packed": "02000000786e5eee",
        "unpacked": {
          "s": {
            "a": 0,
            "b": 3999166072
          }
        }
      },
      {
        "packed": "00ffffff",
        "unpacked": {
          "s": {
            "a": 16777215,
            "b": null
          }
        }
      },
      {
        "packed": "02ffffff00000000",
        "unpacked": {
          "s": {
            "a": 16777215,
            "b": 0
          }
        }
      },
      {
        "packed": "02ffffffffffffff",
        "unpacked": {
          "s": {
            "a": 16777215,
            "b": 4294967295
          }
        }
      },
      {
        "packed": "02ffffff786e5eee",
        "unpacked": {
          "s": {
            "a": 16777215,
            "b": 3999166072
          }
        }
      },
      {
        "packed": "00342eee",
        "unpacked": {
          "s": {
            "a": 15609396,
            "b": null
          }
        }
      },
      {
        "packed": "02342eee00000000",
        "unpacked": {
          "s": {
            "a": 15609396,
            "b": 0
          }
        }
      },
      {
        "packed": "02342eeeffffffff",
        "unpacked": {
          "s": {
            "a": 15609396,
            "b": 4294967295
          }
        }
      },
      {
        "packed": "02342eee786e5eee",
        "unpacked": {
          "s": {
            "a": 15609396,
            "b": 3999166072
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Optional_Enum_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "s": {
            "a": null,
            "b": null
          }
        }
      },
      {
        "packed": "03bbaa",
        "unpacked": {
          "s": {
            "a": null,
            "b": 43707
          }
        }
      },
      {
        "packed": "03ddcc",
        "unpacked": {
          "s": {
            "a": null,
            "b": 52445
          }
        }
      },
      {
        "packed": "00bbaa",
        "unpacked": {
          "s": {
            "a": 43707,
            "b": null
          }
        }
      },
      {
        "packed": "02bbaabbaa",
        "unpacked": {
          "s": {
            "a": 43707,
            "b": 43707
          }
        }
      },
      {
        "packed": "02bbaaddcc",
        "unpacked": {
          "s": {
            "a": 43707,
            "b": 52445
          }
        }
      },
      {
        "packed": "00ddcc",
        "unpacked": {
          "s": {
            "a": 52445,
            "b": null
          }
        }
      },
      {
        "packed": "02ddccbbaa",
        "unpacked": {
          "s": {
            "a": 52445,
            "b": 43707
          }
        }
      },
      {
        "packed": "02ddccddcc",
        "unpacked": {
          "s": {
            "a": 52445,
            "b": 52445
          }
        }
      }
    ]
  },
  {
    "packet": "Struct_Optional_Struct_Field",
    "tests": [
      {
        "packed": "01",
        "unpacked": {
          "s": {
            "a": null,
            "b": null
          }
        }
      },
      {
        "packed": "0300",
        "unpacked": {
          "s": {
            "a": null,
            "b": {
              "array": []
            }
          }
        }
      },
      {
        "packed": "0303eaebec",
        "unpacked": {
          "s": {
            "a": null,
            "b": {
              "array": [
                234,
                235,
                236
              ]
            }
          }
        }
      },
      {
        "packed": "0000",
        "unpacked": {
          "s": {
            "a": {
              "a": 0
            },
            "b": null
          }
        }
      },
      {
        "packed": "020000",
        "unpacked": {
          "s": {
            "a": {
              "a": 0
            },
            "b": {
              "array": []
            }
          }
        }
      },
      {
        "packed": "020003eaebec",
        "unpacked": {
          "s": {
            "a": {
              "a": 0
            },
            "b": {
              "array": [
                234,
                235,
                236
              ]
            }
          }
        }
      },
      {
        "packed": "00ff",
        "unpacked": {
          "s": {
            "a": {
              "a": 255
            },
            "b": null
          }
        }
      },
      {
        "packed": "02ff00",
        "unpacked": {
          "s": {
            "a": {
              "a": 255
            },
            "b": {
              "array": []
            }
          }
        }
      },
      {
        "packed": "02ff03eaebec",
        "unpacked": {
          "s": {
            "a": {
              "a": 255
            },
            "b": {
              "array": [
                234,
                235,
                236
              ]
            }
          }
        }
      },
      {
        "packed": "00e9",
        "unpacked": {
          "s": {
            "a": {
              "a": 233
            },
            "b": null
          }
        }
      },
      {
        "packed": "02e900",
        "unpacked": {
          "s": {
            "a": {
              "a": 233
            },
            "b": {
              "array": []
            }
          }
        }
      },
      {
        "packed": "02e903eaebec",
        "unpacked": {
          "s": {
            "a": {
              "a": 233
            },
            "b": {
              "array": [
                234,
                235,
                236
              ]
            }
          }
        }
      }
    ]
  },
  {
    "packet": "Enum_Incomplete_Truncated_Closed",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "e": 0
        }
      },
      {
        "packed": "01",
        "unpacked": {
          "e": 1
        }
      }
    ]
  },
  {
    "packet": "Enum_Incomplete_Truncated_Open",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "e": 0
        }
      },
      {
        "packed": "01",
        "unpacked": {
          "e": 1
        }
      },
      {
        "packed": "02",
        "unpacked": {
          "e": 2
        }
      }
    ]
  },
  {
    "packet": "Enum_Incomplete_Truncated_Closed_WithRange",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "e": 0
        }
      },
      {
        "packed": "01",
        "unpacked": {
          "e": 1
        }
      },
      {
        "packed": "02",
        "unpacked": {
          "e": 2
        }
      }
    ]
  },
  {
    "packet": "Enum_Incomplete_Truncated_Open_WithRange",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "e": 0
        }
      },
      {
        "packed": "01",
        "unpacked": {
          "e": 1
        }
      },
      {
        "packed": "02",
        "unpacked": {
          "e": 2
        }
      },
      {
        "packed": "03",
        "unpacked": {
          "e": 3
        }
      }
    ]
  },
  {
    "packet": "Enum_Complete_Truncated",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "e": 0
        }
      },
      {
        "packed": "01",
        "unpacked": {
          "e": 1
        }
      },
      {
        "packed": "02",
        "unpacked": {
          "e": 2
        }
      },
      {
        "packed": "03",
        "unpacked": {
          "e": 3
        }
      },
      {
        "packed": "04",
        "unpacked": {
          "e": 4
        }
      },
      {
        "packed": "05",
        "unpacked": {
          "e": 5
        }
      },
      {
        "packed": "06",
        "unpacked": {
          "e": 6
        }
      },
      {
        "packed": "07",
        "unpacked": {
          "e": 7
        }
      }
    ]
  },
  {
    "packet": "Enum_Complete_Truncated_WithRange",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "e": 0
        }
      },
      {
        "packed": "01",
        "unpacked": {
          "e": 1
        }
      },
      {
        "packed": "02",
        "unpacked": {
          "e": 2
        }
      },
      {
        "packed": "03",
        "unpacked": {
          "e": 3
        }
      },
      {
        "packed": "04",
        "unpacked": {
          "e": 4
        }
      },
      {
        "packed": "05",
        "unpacked": {
          "e": 5
        }
      },
      {
        "packed": "06",
        "unpacked": {
          "e": 6
        }
      },
      {
        "packed": "07",
        "unpacked": {
          "e": 7
        }
      }
    ]
  },
  {
    "packet": "Enum_Complete_WithRange",
    "tests": [
      {
        "packed": "00",
        "unpacked": {
          "e": 0
        }
      },
      {
        "packed": "01",
        "unpacked": {
          "e": 1
        }
      },
      {
        "packed": "02",
        "unpacked": {
          "e": 2
        }
      },
      {
        "packed": "ff",
        "unpacked": {
          "e": 255
        }
      }
    ]
  }
]
