[
	{
		"group": "v3.1.1 PUBLISH",
		"ver":4,
		"tests": [
			{ "name": "30 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"30 r14 s5 'topic' 'payload'"}]},
			{ "name": "30 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"30 r268435456"}]},
			{ "name": "30", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"30 r14 s5 'topic' 'payload'"}]},
			{ "name": "31 retain 1", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r14 s5 'topic' 'payload'"}]},
			{ "name": "31 retain 1 zero length", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r7 s5 'topic'"}]},
			{ "name": "30 topic 0", "msgs": [{"type":"send", "payload":"30 r9 s0 'payload'"}]},
			{ "name": "38 QoS 0 Dup 1", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"38 r14 s5 'topic' 'payload'"}]},
			{ "name": "36 QoS 3 (no mid) [MQTT-3.3.1-4]", "msgs": [{"type":"send", "payload":"36 r14 s5 'topic' 'payload'"}]},
			{ "name": "36 QoS 3 (with mid) [MQTT-3.3.1-4]", "msgs": [{"type":"send", "payload":"36 r16 s5 'topic' m1234 'payload'"}]},
			{ "name": "32 QoS 1 Mid 0", "msgs": [{"type":"send", "payload":"32 r16 s5 'topic' m0 'payload'"}]},
			{ "name": "34 QoS 2 Mid 0", "msgs": [{"type":"send", "payload":"34 r16 s5 'topic' m0 'payload'"}]},
			{ "name": "32 QoS 1 Dup 0", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r16 s5 'topic' m1234 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "3A QoS 1 Dup 1", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"3A r16 s5 'topic' m1234 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "34 QoS 2 Dup 0", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"34 r16 s5 'topic' m1234 'payload'"},
				{"type":"recv", "payload":"50 r2 m1234"},
				{"type":"send", "payload":"62 r2 m1234"},
				{"type":"recv", "payload":"70 r2 m1234"}
			]},
			{ "name": "3C QoS 2 Dup 1", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"3C r16 s5 'topic' m1234 'payload'"},
				{"type":"recv", "payload":"50 r2 m1234"},
				{"type":"send", "payload":"62 r2 m1234"},
				{"type":"recv", "payload":"70 r2 m1234"}
			]},
			{ "name": "30 topic with 0x0000", "msgs": [{"type":"send", "payload":"30 r14 m5 746F700000 'payload'"}]},
			{ "name": "30 topic with U+D800", "msgs": [{"type":"send", "payload":"30 r14 m5 746FEDA080 'payload'"}]},
			{ "name": "30 topic with U+0001", "msgs": [{"type":"send", "payload":"30 r14 m5 746F700170 'payload'"}]},
			{ "name": "30 topic with U+001F", "msgs": [{"type":"send", "payload":"30 r14 m5 746F701F70 'payload'"}]},
			{ "name": "30 topic with U+007F", "msgs": [{"type":"send", "payload":"30 r14 m5 746F707F70 'payload'"}]},
			{ "name": "30 topic with U+009F", "msgs": [{"type":"send", "payload":"30 r14 m5 746FC29F70 'payload'"}]},
			{ "name": "30 topic with U+FFFF", "msgs": [{"type":"send", "payload":"30 r14 m5 746FEDBFBF 'payload'"}]},
			{ "name": "30 topic with U+2A6D4 (section 1.5.3.1)", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"30 r14 m5 41F0AA9B94 'payload'"}]},
			{ "name": "30 topic with + [MQTT-3.3.2-2]", "msgs": [{"type":"send", "payload":"30 r14 m5 2B6F706963 'payload'"}]},
			{ "name": "30 topic with # [MQTT-3.3.2-2]", "msgs": [{"type":"send", "payload":"30 r14 m5 236F706963 'payload'"}]}
		]
	},
	{
		"group": "v5.0   PUBLISH",
		"ver":5,
		"tests": [
			{ "name": "30 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"30 r15 s5 'topic' 00 'payload'"}]},
			{ "name": "30 remaining length 5 bytes", "msgs":[{"type":"send", "payload":"30 r268435456"}]},
			{ "name": "30", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"30 r15 s5 'topic' 00 'payload'"}]},
			{ "name": "31 retain 1", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r15 s5 'topic' 00 'payload'"}]},
			{ "name": "31 retain 1 zero length", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"31 r8 s5 'topic' 00"}]},
			{ "name": "30 topic 0", "msgs": [
				{"type":"send", "payload":"30 r10 m0 00 'payload'"}
			]},
			{ "name": "36 QoS 3 (no mid) [MQTT-3.3.1-4]", "msgs": [
				{"type":"send", "payload":"36 r15 s5 'topic' 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "36 QoS 3 (with mid) [MQTT-3.3.1-4]", "msgs": [
				{"type":"send", "payload":"36 r17 s5 'topic' m1234 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "32 QoS 1 Mid 0", "msgs": [
				{"type":"send", "payload":"32 r17 s5 'topic' m0 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "34 QoS 2 Mid 0", "msgs": [
				{"type":"send", "payload":"34 r17 s5 'topic' m0 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "32 QoS 1 Dup 0", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r17 s5 'topic' m1234 00 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "3A QoS 1 Dup 1", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"3A r17 s5 'topic' m1234 00 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "34 QoS 2 Dup 0", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"34 r17 s5 'topic' m1234 00 'payload'"},
				{"type":"recv", "payload":"50 r2 m1234"},
				{"type":"send", "payload":"62 r2 m1234"},
				{"type":"recv", "payload":"70 r2 m1234"}
			]},
			{ "name": "3C QoS 2 Dup 1", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"3C r17 s5 'topic' m1234 00 'payload'"},
				{"type":"recv", "payload":"50 r2 m1234"},
				{"type":"send", "payload":"62 r2 m1234"},
				{"type":"recv", "payload":"70 r2 m1234"}
			]},
			{ "name": "30 topic with 0x0000", "msgs": [
				{"type":"send", "payload":"30 r15 s5 746F700000 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "30 topic with U+D800", "msgs": [
				{"type":"send", "payload":"30 r15 s5 746FEDA080 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "30 topic with U+0001", "msgs": [
				{"type":"send", "payload":"30 r15 s5 746F700170 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "30 topic with U+001F", "msgs": [
				{"type":"send", "payload":"30 r15 s5 746F701F70 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "30 topic with U+007F", "msgs": [
				{"type":"send", "payload":"30 r15 s5 746F707F70 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "30 topic with U+009F", "msgs": [
				{"type":"send", "payload":"30 r15 s5 746FC29F70 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "30 topic with U+FFFF", "msgs": [
				{"type":"send", "payload":"30 r15 s5 746FEDBFBF 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "30 topic with U+2A6D4 (section 1.5.3.1)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"30 r15 s5 41F0AA9B94 00 'payload'"}
			]},
			{ "name": "30 topic with + [MQTT-3.3.2-2]", "msgs": [
				{"type":"send", "payload":"30 r15 s5 '+opic' 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "30 topic with # [MQTT-3.3.2-2]", "msgs": [
				{"type":"send", "payload":"30 r15 s5 '#opic' 00 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]}
		]
	},
	{
		"group": "v5.0   PUBLISH ALLOWED PROPERTIES",
		"ver":5,
		"tests": [
			{ "name": "payload-format-indicator=0 (byte)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 01 i0 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "payload-format-indicator=1 (byte)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 01 i1 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "payload-format-indicator=2 (byte, invalid)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 01 i2 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "2*payload-format-indicator=1 (byte)", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 01 i1 01 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "payload-format-indicator (byte) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 01 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},

			{ "name": "message-expiry-interval=0 (four byte integer)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r22 s5 'topic' m1234 v5 02 L0 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "message-expiry-interval=1 (four byte integer)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r22 s5 'topic' m1234 v5 02 L1 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "2*message-expiry-interval=1 (four byte integer)", "msgs": [
				{"type":"send", "payload":"32 r27 s5 'topic' m1234 v10 02 L1 02 L1 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "message-expiry-interval (four byte integer) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 02 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},

			{ "name": "topic alias > max topic alias", "msgs": [
				{"type":"send", "payload":"30 r18 s5 'topic' v3 23 H11 'payload'", "comment":"PUBLISH with topic alias 11 (server has set max topic alias=10)"},
				{"type":"recv", "payload":"E0 r1 94"}
			]},
			{ "name": "topic-alias (two byte integer)", "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 23 H1 'payload'"},
				{"type":"recv", "payload":"E0 r1 94"}
			]},
			{ "name": "2*topic-alias (two byte integer)", "msgs": [
				{"type":"send", "payload":"32 r23 s5 'topic' m1234 v6 23 H1 23 H1 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "2*topic-alias different (two byte integer)", "msgs": [
				{"type":"send", "payload":"32 r23 s5 'topic' m1234 v6 23 H1 23 H2 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "topic-alias (two byte integer) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 23 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},

			{ "name": "response-topic (UTF-8 string)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 08 s1 'p' 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "response-topic (UTF-8 string, with wildcard)", "ver":5, "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 08 s1 '#' 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "2*response-topic (UTF-8 string)", "msgs": [
				{"type":"send", "payload":"32 r25 s5 'topic' m1234 v8 08 s1 'p' 08 s1 'p' 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "response-topic (UTF-8 string) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 08 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "response-topic (UTF-8 string) empty", "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 08 s0 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},

			{ "name": "correlation-data (binary data)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 09 s1 'p' 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "2*correlation-data (binary data)", "msgs": [
				{"type":"send", "payload":"32 r25 s5 'topic' m1234 v8 09 s1 'p' 09 s1 'p' 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "correlation-data (binary data) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 09 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "correlation-data (binary data) empty", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 09 H0 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},

			{ "name": "user-property", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r24 s5 'topic' m1234 v7 26 s1 'p' s1 'q' 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "2*user-property", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r31 s5 'topic' m1234 v14 26 s1 'p' s1 'q' 26 s1 'p' s1 'q' 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "user-property missing value", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 26 s1 'p' 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "user-property missing key,value", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 26 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "user-property empty key", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r23 s5 'topic' m1234 v6 26 s0 s1 'p' 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "user-property empty value", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r23 s5 'topic' m1234 v6 26 s1 'p' s0 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "user-property empty key,value", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r22 s5 'topic' m1234 v5 26 s0 s0 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},

			{ "name": "subscription-identifier=0 (variable byte integer)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 0B v0 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "subscription-identifier=0x7F (variable byte integer)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 0B 7F 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "subscription-identifier=0x8000 (variable byte integer)", "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 0B 8000 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "subscription-identifier=0x8001 (variable byte integer)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 0B 8001 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "subscription-identifier=0xFF7F (variable byte integer)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 0B FF7F 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "subscription-identifier=0x808001 (variable byte integer)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 0B 808001 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "subscription-identifier=0xFFFF7F (variable byte integer)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 0B FFFF7F 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "subscription-identifier=0x80808001 (variable byte integer)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r22 s5 'topic' m1234 v5 0B 80808001 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "subscription-identifier=0xFFFFFF7F (variable byte integer)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r22 s5 'topic' m1234 v5 0B FFFFFF7F 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "subscription-identifier=0x8080808001 (variable byte integer)", "msgs": [
				{"type":"send", "payload":"32 r23 s5 'topic' m1234 v6 0B 8080808001 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "2*subscription-identifier=1 (variable byte integer)", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 0B v1 0B v1 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},

			{ "name": "subscription-identifier (variable byte integer) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 0B 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},

			{ "name": "content-type (UTF-8 string)", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 03 s1 'p' 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]},
			{ "name": "2*content-type (UTF-8 string)", "msgs": [
				{"type":"send", "payload":"32 r25 s5 'topic' m1234 v8 03 s1 'p' 03 s1 'p' 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "content-type (UTF-8 string) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 03 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "content-type (UTF-8 string) empty", "expect_disconnect":false, "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 03 s0 'payload'"},
				{"type":"recv", "payload":"40 r2 m1234"}
			]}
		]
	},
	{
		"group": "v5.0   PUBLISH DISALLOWED PROPERTIES",
		"ver":5,
		"tests": [
			{ "name": "reason-string property", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 1F s1 'p' 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},

			{ "name": "request-problem-information (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 17 i0 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "maximum-qos (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 24 i0 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "retain-available (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 25 i0 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "wildcard-subscription-available (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 28 i0 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "subscription-identifier-available (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 29 i0 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "shared-subscription-available (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 2A i0 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},

			{ "name": "request-problem-information (byte) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 17 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "maximum-qos (byte) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 24 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "retain-available (byte) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 25 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "wildcard-subscription-available (byte) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 28 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "subscription-identifier-available (byte) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 29 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "shared-subscription-available (byte) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 2A 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},

			{ "name": "session-expiry-interval (four byte integer)", "msgs": [
				{"type":"send", "payload":"32 r22 s5 'topic' m1234 v5 11 L1 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "will-delay-interval (four byte integer)", "msgs": [
				{"type":"send", "payload":"32 r22 s5 'topic' m1234 v5 18 L1 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "maximum-packet-size (four byte integer)", "msgs": [
				{"type":"send", "payload":"32 r22 s5 'topic' m1234 v5 27 L1 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},

			{ "name": "session-expiry-interval (four byte integer) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v4 11 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "will-delay-interval (four byte integer) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v4 18 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "maximum-packet-size (four byte integer) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v4 27 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},

			{ "name": "assigned-client-identifier (UTF-8 string)", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 12 s1 'p' 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "authentication-method (UTF-8 string)", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 15 s1 'p' 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "response-information (UTF-8 string)", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 1A s1 'p' 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "server-reference (UTF-8 string)", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 1C s1 'p' 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},

			{ "name": "assigned-client-identifier (UTF-8 string) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 12 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},

			{ "name": "authentication-method (UTF-8 string) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 15 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "response-information (UTF-8 string) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 1A 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "server-reference (UTF-8 string) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 1C 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},

			{ "name": "authentication-data (binary data)", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 16 s1 'p' 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},

			{ "name": "authentication-data (binary data) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 16 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},

			{ "name": "server-keep-alive (two byte integer)", "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 13 H5 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "receive-maximum (two byte integer)", "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 21 H5 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},
			{ "name": "topic-alias-maximum (two byte integer)", "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 22 H5 'payload'"},
				{"type":"recv", "payload":"E0 r1 82"}
			]},

			{ "name": "server-keep-alive (two byte integer) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 13 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "receive-maximum (two byte integer) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 21 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "topic-alias-maximum (two byte integer) missing", "msgs": [
				{"type":"send", "payload":"32 r18 s5 'topic' m1234 v1 22 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},

			{ "name": "invalid-property 0x00 (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 00 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x04 (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 04 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x05 (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 05 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x06 (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 06 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x07 (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 07 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x0A (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 0A i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x0C (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 0C i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x0D (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 0D i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x0E (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 0E i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x0F (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 0F i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x10 (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 10 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x14 (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 14 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x1B (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 1B i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x1D (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 1D i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x1E (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 1E i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x20 (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 20 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x7F (byte)", "msgs": [
				{"type":"send", "payload":"32 r19 s5 'topic' m1234 v2 7F i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "invalid-property 0x8000 (byte)", "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 8000 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x8001 (byte)", "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 8001 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0xFF7F (byte)", "msgs": [
				{"type":"send", "payload":"32 r20 s5 'topic' m1234 v3 FF7F i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x808001 (byte)", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 808001 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0xFFFF7F (byte)", "msgs": [
				{"type":"send", "payload":"32 r21 s5 'topic' m1234 v4 FFFF7F i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x80808001 (byte)", "msgs": [
				{"type":"send", "payload":"32 r22 s5 'topic' m1234 v5 80808001 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0xFFFFFF7F (byte)", "msgs": [
				{"type":"send", "payload":"32 r22 s5 'topic' m1234 v5 FFFFFF7F i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]},
			{ "name": "unknown-property 0x8080808001 (byte)", "msgs": [
				{"type":"send", "payload":"32 r23 s5 'topic' m1234 v6 8080808001 i1 'payload'"},
				{"type":"recv", "payload":"E0 r1 81"}
			]}
		]
	}
]
