• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * lws-api-test-lecp
3  *
4  * Written in 2010-2021 by Andy Green <andy@warmcat.com>
5  *
6  * This file is made available under the Creative Commons CC0 1.0
7  * Universal Public Domain Dedication.
8  *
9  * unit tests for lecp
10  */
11 
12 #include <libwebsockets.h>
13 
14 #if defined(LWS_WITH_CBOR_FLOAT)
15 #include <math.h>
16 #endif
17 
18 #define VERBOSE
19 
20 #if defined(VERBOSE)
21 static const char * const reason_names[] = {
22 	"LECPCB_CONSTRUCTED",
23 	"LECPCB_DESTRUCTED",
24 	"LECPCB_START",
25 	"LECPCB_COMPLETE",
26 	"LECPCB_FAILED",
27 	"LECPCB_PAIR_NAME",
28 	"LECPCB_VAL_TRUE",
29 	"LECPCB_VAL_FALSE",
30 	"LECPCB_VAL_NULL",
31 	"LECPCB_VAL_NUM_INT",
32 	"LECPCB_VAL_RESERVED", /* float in lejp */
33 	"LECPCB_VAL_STR_START",
34 	"LECPCB_VAL_STR_CHUNK",
35 	"LECPCB_VAL_STR_END",
36 	"LECPCB_ARRAY_START",
37 	"LECPCB_ARRAY_END",
38 	"LECPCB_OBJECT_START",
39 	"LECPCB_OBJECT_END",
40 	"LECPCB_TAG_START",
41 	"LECPCB_TAG_END",
42 	"LECPCB_VAL_NUM_UINT",
43 	"LECPCB_VAL_UNDEFINED",
44 	"LECPCB_VAL_FLOAT16",
45 	"LECPCB_VAL_FLOAT32",
46 	"LECPCB_VAL_FLOAT64",
47 	"LECPCB_VAL_SIMPLE",
48 	"LECPCB_VAL_BLOB_START",
49 	"LECPCB_VAL_BLOB_CHUNK",
50 	"LECPCB_VAL_BLOB_END",
51 	"LECPCB_ARRAY_ITEM_START",
52 	"LECPCB_ARRAY_ITEM_END",
53 	"LECPCB_LITERAL_CBOR"
54 };
55 #endif
56 
57 /*
58  * Based on the official CBOR test vectors from here
59  *
60  * https://github.com/cbor/test-vectors/blob/master/appendix_a.json
61  */
62 
63 static const uint8_t
64 	test1[]		= { 0x00 },
65 	test2[]		= { 0x01 },
66 	test3[]		= { 0x0a },
67 	test4[]		= { 0x17 },
68 	test5[]		= { 0x18, 0x18 },
69 	test6[]		= { 0x18, 0x19 },
70 	test7[]		= { 0x18, 0x64 },
71 	test8[]		= { 0x19, 0x03, 0xe8 },
72 	test9[]		= { 0x1a, 0x00, 0x0f, 0x42, 0x40 },
73 	test10[]	= { 0x1b, 0x00, 0x00, 0x00,
74 			    0xe8, 0xd4, 0xa5, 0x10, 0x00 },
75 	test11[]	= { 0x1b, 0xff, 0xff, 0xff, 0xff,
76 			    0xff, 0xff, 0xff, 0xff },
77 	test12[]	= { 0xc2, 0x49, 0x01, 0x00, 0x00,
78 			    0x00, 0x00, 0x00, 0x00, 0x00,
79 			    0x00 },
80 	test13[]	= { 0x3b, 0xff, 0xff, 0xff, 0xff,
81 			    0xff, 0xff, 0xff, 0xff },
82 	test14[]	= { 0xc3, 0x49, 0x01, 0x00, 0x00,
83 			    0x00, 0x00, 0x00, 0x00, 0x00,
84 			    0x00 },
85 	test15[]	= { 0x20 },
86 	test16[]	= { 0x29 },
87 	test17[]	= { 0x38, 0x63 },
88 	test18[]	= { 0x39, 0x03, 0xe7 },
89 	test19[]	= { 0xf9, 0x00, 0x00 },
90 	test20[]	= { 0xf9, 0x80, 0x00 },
91 	test21[]	= { 0xf9, 0x3c, 0x00 },
92 	test22[]	= { 0xfb, 0x3f, 0xf1, 0x99, 0x99,
93 			    0x99, 0x99, 0x99, 0x9a },
94 	test23[]	= { 0xf9, 0x3e, 0x00 },
95 	test24[]	= { 0xf9, 0x7b, 0xff },
96 	test25[]	= { 0xfa, 0x47, 0xc3, 0x50, 0x00 },
97 	test26[]	= { 0xfa, 0x7f, 0x7f, 0xff, 0xff },
98 	test27[]	= { 0xfb, 0x7e, 0x37, 0xe4, 0x3c,
99 			    0x88, 0x00, 0x75, 0x9c },
100 	test28[]	= { 0xf9, 0x00, 0x01 },
101 	test29[]	= { 0xf9, 0x04, 0x00 },
102 	test30[]	= { 0xf9, 0xc4, 0x00 },
103 	test31[]	= { 0xfb, 0xc0, 0x10, 0x66, 0x66,
104 			    0x66, 0x66, 0x66, 0x66 },
105 	test32[]	= { 0xf9, 0x7c, 0x00 },
106 	test33[]	= { 0xf9, 0x7e, 0x00 },
107 	test34[]	= { 0xf9, 0xfc, 0x00 },
108 	test35[]	= { 0xfa, 0x7f, 0x80, 0x00, 0x00 },
109 	test36[]	= { 0xfa, 0x7f, 0xc0, 0x00, 0x00 },
110 	test37[]	= { 0xfa, 0xff, 0x80, 0x00, 0x00 },
111 	test38[]	= { 0xfb, 0x7f, 0xf0, 0x00, 0x00,
112 			    0x00, 0x00, 0x00, 0x00 },
113 	test39[]	= { 0xfb, 0x7f, 0xf8, 0x00, 0x00,
114 			    0x00, 0x00, 0x00, 0x00 },
115 	test40[]	= { 0xfb, 0xff, 0xf0, 0x00, 0x00,
116 			    0x00, 0x00, 0x00, 0x00 },
117 	test41[]	= { 0xf4 },
118 	test42[]	= { 0xf5 },
119 	test43[]	= { 0xf6 },
120 	test44[]	= { 0xf7 },
121 	test45[]	= { 0xf0 },
122 	test46[]	= { 0xf8, 0x18 },
123 	test47[]	= { 0xf8, 0xff },
124 	test48[]	= { 0xc0, 0x74, 0x32, 0x30, 0x31,
125 			    0x33, 0x2d, 0x30, 0x33, 0x2d,
126 			    0x32, 0x31, 0x54, 0x32, 0x30,
127 			    0x3a, 0x30, 0x34, 0x3a, 0x30,
128 			    0x30, 0x5a },
129 	test49[]	= { 0xc1, 0x1a, 0x51, 0x4b, 0x67,
130 			    0xb0 },
131 	test50[]	= { 0xc1, 0xfb, 0x41, 0xd4, 0x52,
132 			    0xd9, 0xec, 0x20, 0x00, 0x00 },
133 	test51[]	= { 0xd7, 0x44, 0x01, 0x02, 0x03,
134 			    0x04 },
135 	test52[]	= { 0xd8, 0x18, 0x45, 0x64, 0x49,
136 			    0x45, 0x54, 0x46 },
137 	test53[]	= { 0xd8, 0x20, 0x76, 0x68, 0x74,
138 			    0x74, 0x70, 0x3a, 0x2f, 0x2f,
139 			    0x77, 0x77, 0x77, 0x2e, 0x65,
140 			    0x78, 0x61, 0x6d, 0x70, 0x6c,
141 			    0x65, 0x2e, 0x63, 0x6f, 0x6d },
142 	test54[]	= { 0x40 },
143 	test55[]	= { 0x44, 0x01, 0x02, 0x03, 0x04 },
144 	test56[]	= { 0x60 },
145 	test57[]	= { 0x61, 0x61 },
146 	test58[]	= { 0x64, 0x49, 0x45, 0x54, 0x46 },
147 	test59[]	= { 0x62, 0x22, 0x5c },
148 	test60[]	= { 0x62, 0xc3, 0xbc },
149 	test61[]	= { 0x63, 0xe6, 0xb0, 0xb4 },
150 	test62[]	= { 0x64, 0xf0, 0x90, 0x85, 0x91 },
151 	test63[]	= { 0x80 },
152 	test64[]	= { 0x83, 0x01, 0x02, 0x03 },
153 	test65[]	= { 0x83, 0x01, 0x82, 0x02, 0x03,
154 			    0x82, 0x04, 0x05 },
155 	test66[]	= { 0x98, 0x19, 0x01, 0x02, 0x03,
156 			    0x04, 0x05, 0x06, 0x07, 0x08,
157 			    0x09, 0x0a, 0x0b, 0x0c, 0x0d,
158 			    0x0e, 0x0f, 0x10, 0x11, 0x12,
159 			    0x13, 0x14, 0x15, 0x16, 0x17,
160 			    0x18, 0x18, 0x18, 0x19 },
161 	test67[]	= { 0xa0 },
162 	test68[]	= { 0xa2, 0x01, 0x02, 0x03, 0x04 },
163 	test69[]	= { 0xa2, 0x61, 0x61, 0x01, 0x61,
164 			    0x62, 0x82, 0x02, 0x03 },
165 	test70[]	= { 0x82, 0x61, 0x61, 0xa1, 0x61,
166 			    0x62, 0x61, 0x63 },
167 	test71[]	= { 0xa5, 0x61, 0x61, 0x61, 0x41,
168 			    0x61, 0x62, 0x61, 0x42, 0x61,
169 			    0x63, 0x61, 0x43, 0x61, 0x64,
170 			    0x61, 0x44, 0x61, 0x65, 0x61,
171 			    0x45 },
172 	test72[]	= { 0x5f, 0x42, 0x01, 0x02, 0x43,
173 			    0x03, 0x04, 0x05, 0xff },
174 	test73[]	= { 0x7f, 0x65, 0x73, 0x74, 0x72,
175 			    0x65, 0x61, 0x64, 0x6d, 0x69,
176 			    0x6e, 0x67, 0xff },
177 	test74[]	= { 0x9f, 0xff },
178 	test75[]	= { 0x9f, 0x01, 0x82, 0x02, 0x03,
179 			    0x9f, 0x04, 0x05, 0xff, 0xff },
180 	test76[]	= { 0x9f, 0x01, 0x82, 0x02, 0x03,
181 			    0x82, 0x04, 0x05, 0xff },
182 	test77[]	= { 0x83, 0x01, 0x82, 0x02, 0x03,
183 			    0x9f, 0x04, 0x05, 0xff },
184 	test78[]	= { 0x83, 0x01, 0x9f, 0x02, 0x03,
185 			    0xff, 0x82, 0x04, 0x05 },
186 	test79[]	= { 0x9f, 0x01, 0x02, 0x03, 0x04,
187 			    0x05, 0x06, 0x07, 0x08, 0x09,
188 			    0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
189 			    0x0f, 0x10, 0x11, 0x12, 0x13,
190 			    0x14, 0x15, 0x16, 0x17, 0x18,
191 			    0x18, 0x18, 0x19, 0xff },
192 	test80[]	= { 0xbf, 0x61, 0x61, 0x01, 0x61,
193 			    0x62, 0x9f, 0x02, 0x03, 0xff,
194 			    0xff },
195 	test81[]	= { 0x82, 0x61, 0x61, 0xbf, 0x61,
196 			    0x62, 0x61, 0x63, 0xff },
197 	test82[]	= { 0xbf, 0x63, 0x46, 0x75, 0x6e,
198 			    0xf5, 0x63, 0x41, 0x6d, 0x74,
199 			    0x21, 0xff },
200 
201 	/* some random COSE examples
202 	 *
203 	 * COSE hmac-01 test vector
204 	 */
205 
206 	test83[]	= { 0xD8, 0x61, 0x85, 0x43, 0xA1,
207 			    0x01, 0x05, 0xA0, 0x54, 0x54,
208 			    0x68, 0x69, 0x73, 0x20, 0x69,
209 			    0x73, 0x20, 0x74, 0x68, 0x65,
210 			    0x20, 0x63, 0x6F, 0x6E, 0x74,
211 			    0x65, 0x6E, 0x74, 0x2E, 0x58,
212 			    0x20, 0x2B, 0xDC, 0xC8, 0x9F,
213 			    0x05, 0x82, 0x16, 0xB8, 0xA2,
214 			    0x08, 0xDD, 0xC6, 0xD8, 0xB5,
215 			    0x4A, 0xA9, 0x1F, 0x48, 0xBD,
216 			    0x63, 0x48, 0x49, 0x86, 0x56,
217 			    0x51, 0x05, 0xC9, 0xAD, 0x5A,
218 			    0x66, 0x82, 0xF6, 0x81, 0x83,
219 			    0x40, 0xA2, 0x01, 0x25, 0x04,
220 			    0x4A, 0x6F, 0x75, 0x72, 0x2D,
221 			    0x73, 0x65, 0x63, 0x72, 0x65,
222 			    0x74, 0x40 },
223 	 /*
224 	 * COSE hmac-02 test vector
225 	 */
226 	test84[]	= { 0xD8, 0x61, 0x85, 0x43, 0xA1,
227 			    0x01, 0x06, 0xA0, 0x54, 0x54,
228 			    0x68, 0x69, 0x73, 0x20, 0x69,
229 			    0x73, 0x20, 0x74, 0x68, 0x65,
230 			    0x20, 0x63, 0x6F, 0x6E, 0x74,
231 			    0x65, 0x6E, 0x74, 0x2E, 0x58,
232 			    0x30, 0xB3, 0x09, 0x7F, 0x70,
233 			    0x00, 0x9A, 0x11, 0x50, 0x74,
234 			    0x09, 0x59, 0x8A, 0x83, 0xE1,
235 			    0x5B, 0xBB, 0xBF, 0x19, 0x82,
236 			    0xDC, 0xE2, 0x8E, 0x5A, 0xB6,
237 			    0xD5, 0xA6, 0xAF, 0xF6, 0x89,
238 			    0x7B, 0xD2, 0x4B, 0xB8, 0xB7,
239 			    0x47, 0x96, 0x22, 0xC9, 0x40,
240 			    0x1B, 0x24, 0x09, 0x0D, 0x45,
241 			    0x82, 0x06, 0xD5, 0x87, 0x81,
242 			    0x83, 0x40, 0xA2, 0x01, 0x25,
243 			    0x04, 0x46, 0x73, 0x65, 0x63,
244 			    0x2D, 0x34, 0x38, 0x40 },
245 	test85[]	= { 0xD8, 0x61, 0x85, 0x43, 0xA1,
246 			    0x01, 0x07, 0xA0, 0x54, 0x54,
247 			    0x68, 0x69, 0x73, 0x20, 0x69,
248 			    0x73, 0x20, 0x74, 0x68, 0x65,
249 			    0x20, 0x63, 0x6F, 0x6E, 0x74,
250 			    0x65, 0x6E, 0x74, 0x2E, 0x58,
251 			    0x40, 0xCD, 0x28, 0xA6, 0xB3,
252 			    0xCF, 0xBB, 0xBF, 0x21, 0x48,
253 			    0x51, 0xB9, 0x06, 0xE0, 0x50,
254 			    0x05, 0x6C, 0xB4, 0x38, 0xA8,
255 			    0xB8, 0x89, 0x05, 0xB8, 0xB7,
256 			    0x46, 0x19, 0x77, 0x02, 0x27,
257 			    0x11, 0xA9, 0xD8, 0xAC, 0x5D,
258 			    0xBC, 0x54, 0xE2, 0x9A, 0x56,
259 			    0xD9, 0x26, 0x04, 0x6B, 0x40,
260 			    0xFC, 0x26, 0x07, 0xC2, 0x5B,
261 			    0x34, 0x44, 0x54, 0xAA, 0x5F,
262 			    0x68, 0xDE, 0x09, 0xA3, 0xE5,
263 			    0x25, 0xD3, 0x86, 0x5A, 0x05,
264 			    0x81, 0x83, 0x40, 0xA2, 0x01,
265 			    0x25, 0x04, 0x46, 0x73, 0x65,
266 			    0x63, 0x2D, 0x36, 0x34, 0x40 },
267 	test86[]	= { 0xD8, 0x61, 0x85, 0x43, 0xA1,
268 			    0x01, 0x05, 0xA0, 0x54, 0x54,
269 			    0x68, 0x69, 0x73, 0x20, 0x69,
270 			    0x73, 0x20, 0x74, 0x68, 0x65,
271 			    0x20, 0x63, 0x6F, 0x6E, 0x74,
272 			    0x65, 0x6E, 0x74, 0x2E, 0x58,
273 			    0x20, 0x2B, 0xDC, 0xC8, 0x9F,
274 			    0x05, 0x82, 0x16, 0xB8, 0xA2,
275 			    0x08, 0xDD, 0xC6, 0xD8, 0xB5,
276 			    0x4A, 0xA9, 0x1F, 0x48, 0xBD,
277 			    0x63, 0x48, 0x49, 0x86, 0x56,
278 			    0x51, 0x05, 0xC9, 0xAD, 0x5A,
279 			    0x66, 0x82, 0xF7, 0x81, 0x83,
280 			    0x40, 0xA2, 0x01, 0x25, 0x04,
281 			    0x4A, 0x6F, 0x75, 0x72, 0x2D,
282 			    0x73, 0x65, 0x63, 0x72, 0x65,
283 			    0x74, 0x40 },
284 	test87[]	= { 0xD8, 0x61, 0x85, 0x43, 0xA1,
285 			    0x01, 0x04, 0xA0, 0x54, 0x54,
286 			    0x68, 0x69, 0x73, 0x20, 0x69,
287 			    0x73, 0x20, 0x74, 0x68, 0x65,
288 			    0x20, 0x63, 0x6F, 0x6E, 0x74,
289 			    0x65, 0x6E, 0x74, 0x2E, 0x48,
290 			    0x6F, 0x35, 0xCA, 0xB7, 0x79,
291 			    0xF7, 0x78, 0x33, 0x81, 0x83,
292 			    0x40, 0xA2, 0x01, 0x25, 0x04,
293 			    0x4A, 0x6F, 0x75, 0x72, 0x2D,
294 			    0x73, 0x65, 0x63, 0x72, 0x65,
295 			    0x74, 0x40
296 
297 			    /* COSE HMAX Enc 01 vector */
298 
299 	}, test88[]	= { 0xD1, 0x84, 0x43, 0xA1, 0x01,
300 			    0x05, 0xA0, 0x54, 0x54, 0x68,
301 			    0x69, 0x73, 0x20, 0x69, 0x73,
302 			    0x20, 0x74, 0x68, 0x65, 0x20,
303 			    0x63, 0x6F, 0x6E, 0x74, 0x65,
304 			    0x6E, 0x74, 0x2E, 0x58, 0x20,
305 			    0xA1, 0xA8, 0x48, 0xD3, 0x47,
306 			    0x1F, 0x9D, 0x61, 0xEE, 0x49,
307 			    0x01, 0x8D, 0x24, 0x4C, 0x82,
308 			    0x47, 0x72, 0xF2, 0x23, 0xAD,
309 			    0x4F, 0x93, 0x52, 0x93, 0xF1,
310 			    0x78, 0x9F, 0xC3, 0xA0, 0x8D,
311 			    0x8C, 0x58
312 	}, test89[]	= { 0xD1, 0x84, 0x43, 0xA1, 0x01,
313 			    0x06, 0xA0, 0x54, 0x54, 0x68,
314 			    0x69, 0x73, 0x20, 0x69, 0x73,
315 			    0x20, 0x74, 0x68, 0x65, 0x20,
316 			    0x63, 0x6F, 0x6E, 0x74, 0x65,
317 			    0x6E, 0x74, 0x2E, 0x58, 0x30,
318 			    0x99, 0x8D, 0x26, 0xC6, 0x45,
319 			    0x9A, 0xAE, 0xEC, 0xF4, 0x4E,
320 			    0xD2, 0x0C, 0xE0, 0x0C, 0x8C,
321 			    0xCE, 0xDF, 0x0A, 0x1F, 0x3D,
322 			    0x22, 0xA9, 0x2F, 0xC0, 0x5D,
323 			    0xB0, 0x8C, 0x5A, 0xEB, 0x1C,
324 			    0xB5, 0x94, 0xCA, 0xAF, 0x5A,
325 			    0x5C, 0x5E, 0x2E, 0x9D, 0x01,
326 			    0xCC, 0xE7, 0xE7, 0x7A, 0x93,
327 			    0xAA, 0x8C, 0x62
328 	}, test90[]	= { 0xD1, 0x84, 0x43, 0xA1, 0x01,
329 			    0x07, 0xA0, 0x54, 0x54, 0x68,
330 			    0x69, 0x73, 0x20, 0x69, 0x73,
331 			    0x20, 0x74, 0x68, 0x65, 0x20,
332 			    0x63, 0x6F, 0x6E, 0x74, 0x65,
333 			    0x6E, 0x74, 0x2E, 0x58, 0x40,
334 			    0x4A, 0x55, 0x5B, 0xF9, 0x71,
335 			    0xF7, 0xC1, 0x89, 0x1D, 0x9D,
336 			    0xDF, 0x30, 0x4A, 0x1A, 0x13,
337 			    0x2E, 0x2D, 0x6F, 0x81, 0x74,
338 			    0x49, 0x47, 0x4D, 0x81, 0x3E,
339 			    0x6D, 0x04, 0xD6, 0x59, 0x62,
340 			    0xBE, 0xD8, 0xBB, 0xA7, 0x0C,
341 			    0x17, 0xE1, 0xF5, 0x30, 0x8F,
342 			    0xA3, 0x99, 0x62, 0x95, 0x9A,
343 			    0x4B, 0x9B, 0x8D, 0x7D, 0xA8,
344 			    0xE6, 0xD8, 0x49, 0xB2, 0x09,
345 			    0xDC, 0xD3, 0xE9, 0x8C, 0xC0,
346 			    0xF1, 0x1E, 0xDD, 0xF2
347 
348 	}, test91[]	= { 0xD1, 0x84, 0x43, 0xA1, 0x01,
349 			    0x05, 0xA0, 0x54, 0x54, 0x68,
350 			    0x69, 0x73, 0x20, 0x69, 0x73,
351 			    0x20, 0x74, 0x68, 0x65, 0x20,
352 			    0x63, 0x6F, 0x6E, 0x74, 0x65,
353 			    0x6E, 0x74, 0x2E, 0x58, 0x20,
354 			    0xA1, 0xA8, 0x48, 0xD3, 0x47,
355 			    0x1F, 0x9D, 0x61, 0xEE, 0x49,
356 			    0x01, 0x8D, 0x24, 0x4C, 0x82,
357 			    0x47, 0x72, 0xF2, 0x23, 0xAD,
358 			    0x4F, 0x93, 0x52, 0x93, 0xF1,
359 			    0x78, 0x9F, 0xC3, 0xA0, 0x8D,
360 			    0x8C, 0x59
361 
362 	}, test92[]	= { 0xD1, 0x84, 0x43, 0xA1, 0x01,
363 			    0x04, 0xA0, 0x54, 0x54, 0x68,
364 			    0x69, 0x73, 0x20, 0x69, 0x73,
365 			    0x20, 0x74, 0x68, 0x65, 0x20,
366 			    0x63, 0x6F, 0x6E, 0x74, 0x65,
367 			    0x6E, 0x74, 0x2E, 0x48, 0x11,
368 			    0xF9, 0xE3, 0x57, 0x97, 0x5F,
369 			    0xB8, 0x49
370 
371 			 /*
372 			 * COSE countersign encrypt-01
373 			 */
374 
375 	}, test93[]	= {
376 			    0xd0, 0x83, 0x43, 0xa1, 0x01,
377 			    0x01, 0xa2, 0x05, 0x4c, 0x02,
378 			    0xd1, 0xf7, 0xe6, 0xf2, 0x6c,
379 			    0x43, 0xd4, 0x86, 0x8d, 0x87,
380 			    0xce, 0x07, 0x83, 0x43, 0xa1,
381 			    0x01, 0x27, 0xa1, 0x04, 0x42,
382 			    0x31, 0x31, 0x58, 0x40, 0xe1,
383 			    0x04, 0x39, 0x15, 0x4c, 0xc7,
384 			    0x5c, 0x7a, 0x3a, 0x53, 0x91,
385 			    0x49, 0x1f, 0x88, 0x65, 0x1e,
386 			    0x02, 0x92, 0xfd, 0x0f, 0xe0,
387 			    0xe0, 0x2c, 0xf7, 0x40, 0x54,
388 			    0x7e, 0xaf, 0x66, 0x77, 0xb4,
389 			    0xa4, 0x04, 0x0b, 0x8e, 0xca,
390 			    0x16, 0xdb, 0x59, 0x28, 0x81,
391 			    0x26, 0x2f, 0x77, 0xb1, 0x4c,
392 			    0x1a, 0x08, 0x6c, 0x02, 0x26,
393 			    0x8b, 0x17, 0x17, 0x1c, 0xa1,
394 			    0x6b, 0xe4, 0xb8, 0x59, 0x5f,
395 			    0x8c, 0x0a, 0x08, 0x58, 0x24,
396 			    0x60, 0x97, 0x3a, 0x94, 0xbb,
397 			    0x28, 0x98, 0x00, 0x9e, 0xe5,
398 			    0x2e, 0xcf, 0xd9, 0xab, 0x1d,
399 			    0xd2, 0x58, 0x67, 0x37, 0x4b,
400 			    0x16, 0x2e, 0x2c, 0x03, 0x56,
401 			    0x8b, 0x41, 0xf5, 0x7c, 0x3c,
402 			    0xc1, 0x6f, 0x91, 0x66, 0x25,
403 			    0x0a
404 			 /*
405 			  * COSE countersign encrypt-02
406 			  */
407 		}, test94[]	= {
408 			0xd0, 0x83, 0x43, 0xa1, 0x01,
409 			0x01, 0xa2, 0x05, 0x4c, 0x02,
410 			0xd1, 0xf7, 0xe6, 0xf2, 0x6c,
411 			0x43, 0xd4, 0x86, 0x8d, 0x87,
412 			0xce, 0x07, 0x82, 0x83, 0x43,
413 			0xa1, 0x01, 0x27, 0xa1, 0x04,
414 			0x42, 0x31, 0x31, 0x58, 0x40,
415 			0xe1, 0x04, 0x39, 0x15, 0x4c,
416 			0xc7, 0x5c, 0x7a, 0x3a, 0x53,
417 			0x91, 0x49, 0x1f, 0x88, 0x65,
418 			0x1e, 0x02, 0x92, 0xfd, 0x0f,
419 			0xe0, 0xe0, 0x2c, 0xf7, 0x40,
420 			0x54, 0x7e, 0xaf, 0x66, 0x77,
421 			0xb4, 0xa4, 0x04, 0x0b, 0x8e,
422 			0xca, 0x16, 0xdb, 0x59, 0x28,
423 			0x81, 0x26, 0x2f, 0x77, 0xb1,
424 			0x4c, 0x1a, 0x08, 0x6c, 0x02,
425 			0x26, 0x8b, 0x17, 0x17, 0x1c,
426 			0xa1, 0x6b, 0xe4, 0xb8, 0x59,
427 			0x5f, 0x8c, 0x0a, 0x08, 0x83,
428 			0x43, 0xa1, 0x01, 0x26, 0xa1,
429 			0x04, 0x42, 0x31, 0x31, 0x58,
430 			0x40, 0xfc, 0xa9, 0x8e, 0xca,
431 			0xc8, 0x0b, 0x5f, 0xeb, 0x3a,
432 			0xc7, 0xc1, 0x08, 0xb2, 0xb7,
433 			0x91, 0x10, 0xde, 0x88, 0x86,
434 			0x7b, 0xc0, 0x42, 0x6f, 0xc8,
435 			0x3c, 0x53, 0xcc, 0xd6, 0x78,
436 			0x96, 0x94, 0xed, 0xc5, 0xfe,
437 			0xe3, 0xc4, 0x0d, 0xe8, 0xe7,
438 			0xb4, 0x4f, 0xe8, 0xaa, 0xd3,
439 			0x67, 0xe0, 0x95, 0xc8, 0xfc,
440 			0x31, 0xb7, 0x9e, 0xe6, 0x66,
441 			0xdf, 0x9c, 0xf9, 0x09, 0x06,
442 			0xeb, 0x43, 0x75, 0x6c, 0x73,
443 			0x58, 0x24, 0x60, 0x97, 0x3a,
444 			0x94, 0xbb, 0x28, 0x98, 0x00,
445 			0x9e, 0xe5, 0x2e, 0xcf, 0xd9,
446 			0xab, 0x1d, 0xd2, 0x58, 0x67,
447 			0x37, 0x4b, 0x16, 0x2e, 0x2c,
448 			0x03, 0x56, 0x8b, 0x41, 0xf5,
449 			0x7c, 0x3c, 0xc1, 0x6f, 0x91,
450 			0x66, 0x25, 0x0a
451 
452 			 /*
453 			  * COSE countersign enveloped-01
454 			  */
455 	}, test95[]	= {
456 			0xd8, 0x60, 0x84, 0x43, 0xa1,
457 			0x01, 0x01, 0xa2, 0x05, 0x4c,
458 			0x02, 0xd1, 0xf7, 0xe6, 0xf2,
459 			0x6c, 0x43, 0xd4, 0x86, 0x8d,
460 			0x87, 0xce, 0x07, 0x83, 0x43,
461 			0xa1, 0x01, 0x27, 0xa1, 0x04,
462 			0x42, 0x31, 0x31, 0x58, 0x40,
463 			0x9a, 0x8e, 0xed, 0xe3, 0xb3,
464 			0xcb, 0x83, 0x7b, 0xa0, 0x0d,
465 			0xf0, 0x8f, 0xa2, 0x1b, 0x12,
466 			0x8b, 0x2d, 0x6d, 0x91, 0x62,
467 			0xa4, 0x29, 0x0a, 0x58, 0x2d,
468 			0x9f, 0x19, 0xbd, 0x0f, 0xb5,
469 			0x02, 0xf0, 0xf9, 0x2b, 0x9b,
470 			0xf4, 0x53, 0xa4, 0x05, 0x40,
471 			0x1f, 0x8b, 0x70, 0x55, 0xef,
472 			0x4e, 0x95, 0x8d, 0xf7, 0xf4,
473 			0xfb, 0xd7, 0xcf, 0xb4, 0xa0,
474 			0xc9, 0x71, 0x60, 0xf9, 0x47,
475 			0x2b, 0x0a, 0xa1, 0x04, 0x58,
476 			0x24, 0x60, 0x97, 0x3a, 0x94,
477 			0xbb, 0x28, 0x98, 0x00, 0x9e,
478 			0xe5, 0x2e, 0xcf, 0xd9, 0xab,
479 			0x1d, 0xd2, 0x58, 0x67, 0x37,
480 			0x4b, 0x35, 0x81, 0xf2, 0xc8,
481 			0x00, 0x39, 0x82, 0x63, 0x50,
482 			0xb9, 0x7a, 0xe2, 0x30, 0x0e,
483 			0x42, 0xfc, 0x81, 0x83, 0x40,
484 			0xa2, 0x01, 0x25, 0x04, 0x4a,
485 			0x6f, 0x75, 0x72, 0x2d, 0x73,
486 			0x65, 0x63, 0x72, 0x65, 0x74,
487 			0x40
488 	}, test96[]	= {
489 			0xd8, 0x60, 0x84, 0x43, 0xa1,
490 			0x01, 0x01, 0xa2, 0x05, 0x4c,
491 			0x02, 0xd1, 0xf7, 0xe6, 0xf2,
492 			0x6c, 0x43, 0xd4, 0x86, 0x8d,
493 			0x87, 0xce, 0x07, 0x82, 0x83,
494 			0x43, 0xa1, 0x01, 0x27, 0xa1,
495 			0x04, 0x42, 0x31, 0x31, 0x58,
496 			0x40, 0x9a, 0x8e, 0xed, 0xe3,
497 			0xb3, 0xcb, 0x83, 0x7b, 0xa0,
498 			0x0d, 0xf0, 0x8f, 0xa2, 0x1b,
499 			0x12, 0x8b, 0x2d, 0x6d, 0x91,
500 			0x62, 0xa4, 0x29, 0x0a, 0x58,
501 			0x2d, 0x9f, 0x19, 0xbd, 0x0f,
502 			0xb5, 0x02, 0xf0, 0xf9, 0x2b,
503 			0x9b, 0xf4, 0x53, 0xa4, 0x05,
504 			0x40, 0x1f, 0x8b, 0x70, 0x55,
505 			0xef, 0x4e, 0x95, 0x8d, 0xf7,
506 			0xf4, 0xfb, 0xd7, 0xcf, 0xb4,
507 			0xa0, 0xc9, 0x71, 0x60, 0xf9,
508 			0x47, 0x2b, 0x0a, 0xa1, 0x04,
509 			0x83, 0x43, 0xa1, 0x01, 0x26,
510 			0xa1, 0x04, 0x42, 0x31, 0x31,
511 			0x58, 0x40, 0x24, 0x27, 0xcb,
512 			0x37, 0x56, 0x85, 0x0f, 0xbb,
513 			0x79, 0x05, 0x18, 0x07, 0xc8,
514 			0xb2, 0x3d, 0x2e, 0x6d, 0x16,
515 			0xa3, 0x22, 0x4f, 0x99, 0x01,
516 			0xb4, 0x73, 0x99, 0xcf, 0xc7,
517 			0xe3, 0xfa, 0xc4, 0xcc, 0x62,
518 			0x1d, 0xbb, 0xeb, 0x02, 0x02,
519 			0xa6, 0xd8, 0xbb, 0x25, 0x69,
520 			0x5c, 0x9d, 0xcc, 0x9c, 0x47,
521 			0x49, 0x20, 0xff, 0x57, 0x60,
522 			0x6d, 0x76, 0x4d, 0xea, 0x19,
523 			0x2f, 0xc8, 0x67, 0x41, 0x16,
524 			0xf2, 0x58, 0x24, 0x60, 0x97,
525 			0x3a, 0x94, 0xbb, 0x28, 0x98,
526 			0x00, 0x9e, 0xe5, 0x2e, 0xcf,
527 			0xd9, 0xab, 0x1d, 0xd2, 0x58,
528 			0x67, 0x37, 0x4b, 0x35, 0x81,
529 			0xf2, 0xc8, 0x00, 0x39, 0x82,
530 			0x63, 0x50, 0xb9, 0x7a, 0xe2,
531 			0x30, 0x0e, 0x42, 0xfc, 0x81,
532 			0x83, 0x40, 0xa2, 0x01, 0x25,
533 			0x04, 0x4a, 0x6f, 0x75, 0x72,
534 			0x2d, 0x73, 0x65, 0x63, 0x72,
535 			0x65, 0x74, 0x40
536 
537 	}, test97[]	= {
538 			0xd8, 0x60, 0x84, 0x43, 0xa1,
539 			0x01, 0x01, 0xa1, 0x05, 0x4c,
540 			0x02, 0xd1, 0xf7, 0xe6, 0xf2,
541 			0x6c, 0x43, 0xd4, 0x86, 0x8d,
542 			0x87, 0xce, 0x58, 0x24, 0x60,
543 			0x97, 0x3a, 0x94, 0xbb, 0x28,
544 			0x98, 0x00, 0x9e, 0xe5, 0x2e,
545 			0xcf, 0xd9, 0xab, 0x1d, 0xd2,
546 			0x58, 0x67, 0x37, 0x4b, 0x35,
547 			0x81, 0xf2, 0xc8, 0x00, 0x39,
548 			0x82, 0x63, 0x50, 0xb9, 0x7a,
549 			0xe2, 0x30, 0x0e, 0x42, 0xfc,
550 			0x81, 0x83, 0x40, 0xa3, 0x01,
551 			0x25, 0x04, 0x4a, 0x6f, 0x75,
552 			0x72, 0x2d, 0x73, 0x65, 0x63,
553 			0x72, 0x65, 0x74, 0x07, 0x83,
554 			0x43, 0xa1, 0x01, 0x27, 0xa1,
555 			0x04, 0x42, 0x31, 0x31, 0x58,
556 			0x40, 0xcc, 0xb1, 0xf3, 0xfe,
557 			0xdf, 0xce, 0xa7, 0x2b, 0x9c,
558 			0x86, 0x79, 0x63, 0xe2, 0x52,
559 			0xb6, 0x65, 0x8a, 0xd0, 0x7f,
560 			0x3f, 0x5f, 0x15, 0xa3, 0x26,
561 			0xa3, 0xf5, 0x72, 0x54, 0xcc,
562 			0xb8, 0xd4, 0x8d, 0x60, 0x02,
563 			0x1d, 0x2f, 0x1f, 0x8a, 0x80,
564 			0x3b, 0x84, 0x4b, 0x78, 0x72,
565 			0x16, 0x6c, 0x6d, 0x45, 0x90,
566 			0x25, 0xd2, 0x1c, 0x8c, 0x84,
567 			0x62, 0xa2, 0x44, 0xba, 0x19,
568 			0x60, 0x4e, 0xc4, 0xd5, 0x0b,
569 			0x40
570 	}, test98[]	= {
571 			0xd8, 0x61, 0x85, 0x43, 0xa1,
572 			0x01, 0x05, 0xa1, 0x07, 0x83,
573 			0x43, 0xa1, 0x01, 0x27, 0xa1,
574 			0x04, 0x42, 0x31, 0x31, 0x58,
575 			0x40, 0xb4, 0x92, 0x4b, 0x18,
576 			0xeb, 0x4e, 0x04, 0x73, 0x13,
577 			0xc7, 0x07, 0xb0, 0xed, 0xa4,
578 			0xab, 0x84, 0x43, 0x45, 0xf2,
579 			0xc4, 0x49, 0x87, 0xd6, 0xf9,
580 			0xeb, 0xcc, 0x77, 0x7e, 0xfd,
581 			0x40, 0x78, 0xcc, 0x0f, 0x4c,
582 			0x10, 0x8d, 0xef, 0x95, 0x9f,
583 			0x78, 0xf1, 0xed, 0xb2, 0x76,
584 			0x54, 0x25, 0x78, 0x5f, 0xcd,
585 			0x17, 0xd5, 0x12, 0xbe, 0x31,
586 			0xee, 0xb6, 0x6b, 0xef, 0xf1,
587 			0xe8, 0xfc, 0x27, 0x47, 0x07,
588 			0x54, 0x54, 0x68, 0x69, 0x73,
589 			0x20, 0x69, 0x73, 0x20, 0x74,
590 			0x68, 0x65, 0x20, 0x63, 0x6f,
591 			0x6e, 0x74, 0x65, 0x6e, 0x74,
592 			0x2e, 0x58, 0x20, 0x2b, 0xdc,
593 			0xc8, 0x9f, 0x05, 0x82, 0x16,
594 			0xb8, 0xa2, 0x08, 0xdd, 0xc6,
595 			0xd8, 0xb5, 0x4a, 0xa9, 0x1f,
596 			0x48, 0xbd, 0x63, 0x48, 0x49,
597 			0x86, 0x56, 0x51, 0x05, 0xc9,
598 			0xad, 0x5a, 0x66, 0x82, 0xf6,
599 			0x81, 0x83, 0x40, 0xa2, 0x01,
600 			0x25, 0x04, 0x4a, 0x6f, 0x75,
601 			0x72, 0x2d, 0x73, 0x65, 0x63,
602 			0x72, 0x65, 0x74, 0x40
603 	}, test99[]	= {
604 			0xd8, 0x61, 0x85, 0x43, 0xa1,
605 			0x01, 0x05, 0xa1, 0x07, 0x82,
606 			0x83, 0x43, 0xa1, 0x01, 0x27,
607 			0xa1, 0x04, 0x42, 0x31, 0x31,
608 			0x58, 0x40, 0xb4, 0x92, 0x4b,
609 			0x18, 0xeb, 0x4e, 0x04, 0x73,
610 			0x13, 0xc7, 0x07, 0xb0, 0xed,
611 			0xa4, 0xab, 0x84, 0x43, 0x45,
612 			0xf2, 0xc4, 0x49, 0x87, 0xd6,
613 			0xf9, 0xeb, 0xcc, 0x77, 0x7e,
614 			0xfd, 0x40, 0x78, 0xcc, 0x0f,
615 			0x4c, 0x10, 0x8d, 0xef, 0x95,
616 			0x9f, 0x78, 0xf1, 0xed, 0xb2,
617 			0x76, 0x54, 0x25, 0x78, 0x5f,
618 			0xcd, 0x17, 0xd5, 0x12, 0xbe,
619 			0x31, 0xee, 0xb6, 0x6b, 0xef,
620 			0xf1, 0xe8, 0xfc, 0x27, 0x47,
621 			0x07, 0x83, 0x43, 0xa1, 0x01,
622 			0x26, 0xa1, 0x04, 0x42, 0x31,
623 			0x31, 0x58, 0x40, 0x6a, 0xcd,
624 			0x94, 0xd3, 0xcc, 0xf7, 0x1d,
625 			0x19, 0x2e, 0x85, 0x28, 0x36,
626 			0x0b, 0xa7, 0xe3, 0x46, 0xda,
627 			0xc4, 0x64, 0xe9, 0xed, 0xca,
628 			0x4c, 0xfe, 0xb6, 0xce, 0xb6,
629 			0xbd, 0xe7, 0xba, 0xec, 0x9f,
630 			0xf2, 0x6c, 0xa6, 0xbd, 0xf7,
631 			0x3d, 0x0b, 0xe4, 0x1e, 0x36,
632 			0x12, 0x9d, 0xcf, 0xf7, 0x51,
633 			0xdd, 0x2b, 0x5a, 0xd5, 0xce,
634 			0x11, 0x6e, 0x8a, 0x96, 0x3a,
635 			0x27, 0x38, 0xa2, 0x99, 0x47,
636 			0x7a, 0x68, 0x54, 0x54, 0x68,
637 			0x69, 0x73, 0x20, 0x69, 0x73,
638 			0x20, 0x74, 0x68, 0x65, 0x20,
639 			0x63, 0x6f, 0x6e, 0x74, 0x65,
640 			0x6e, 0x74, 0x2e, 0x58, 0x20,
641 			0x2b, 0xdc, 0xc8, 0x9f, 0x05,
642 			0x82, 0x16, 0xb8, 0xa2, 0x08,
643 			0xdd, 0xc6, 0xd8, 0xb5, 0x4a,
644 			0xa9, 0x1f, 0x48, 0xbd, 0x63,
645 			0x48, 0x49, 0x86, 0x56, 0x51,
646 			0x05, 0xc9, 0xad, 0x5a, 0x66,
647 			0x82, 0xf6, 0x81, 0x83, 0x40,
648 			0xa2, 0x01, 0x25, 0x04, 0x4a,
649 			0x6f, 0x75, 0x72, 0x2d, 0x73,
650 			0x65, 0x63, 0x72, 0x65, 0x74,
651 			0x40
652 	}, test100[]	= {
653 			0xd1, 0x84, 0x43, 0xa1, 0x01,
654 			0x05, 0xa1, 0x07, 0x83, 0x43,
655 			0xa1, 0x01, 0x27, 0xa1, 0x04,
656 			0x42, 0x31, 0x31, 0x58, 0x40,
657 			0xb4, 0x92, 0x4b, 0x18, 0xeb,
658 			0x4e, 0x04, 0x73, 0x13, 0xc7,
659 			0x07, 0xb0, 0xed, 0xa4, 0xab,
660 			0x84, 0x43, 0x45, 0xf2, 0xc4,
661 			0x49, 0x87, 0xd6, 0xf9, 0xeb,
662 			0xcc, 0x77, 0x7e, 0xfd, 0x40,
663 			0x78, 0xcc, 0x0f, 0x4c, 0x10,
664 			0x8d, 0xef, 0x95, 0x9f, 0x78,
665 			0xf1, 0xed, 0xb2, 0x76, 0x54,
666 			0x25, 0x78, 0x5f, 0xcd, 0x17,
667 			0xd5, 0x12, 0xbe, 0x31, 0xee,
668 			0xb6, 0x6b, 0xef, 0xf1, 0xe8,
669 			0xfc, 0x27, 0x47, 0x07, 0x54,
670 			0x54, 0x68, 0x69, 0x73, 0x20,
671 			0x69, 0x73, 0x20, 0x74, 0x68,
672 			0x65, 0x20, 0x63, 0x6f, 0x6e,
673 			0x74, 0x65, 0x6e, 0x74, 0x2e,
674 			0x58, 0x20, 0xa1, 0xa8, 0x48,
675 			0xd3, 0x47, 0x1f, 0x9d, 0x61,
676 			0xee, 0x49, 0x01, 0x8d, 0x24,
677 			0x4c, 0x82, 0x47, 0x72, 0xf2,
678 			0x23, 0xad, 0x4f, 0x93, 0x52,
679 			0x93, 0xf1, 0x78, 0x9f, 0xc3,
680 			0xa0, 0x8d, 0x8c, 0x58
681 	}, test101[]	= { /* mac-02 */
682 			0xd8, 0x61, 0x85, 0x43, 0xa1,
683 			0x01, 0x05, 0xa1, 0x07, 0x82,
684 			0x83, 0x43, 0xa1, 0x01, 0x27,
685 			0xa1, 0x04, 0x42, 0x31, 0x31,
686 			0x58, 0x40, 0xb4, 0x92, 0x4b,
687 			0x18, 0xeb, 0x4e, 0x04, 0x73,
688 			0x13, 0xc7, 0x07, 0xb0, 0xed,
689 			0xa4, 0xab, 0x84, 0x43, 0x45,
690 			0xf2, 0xc4, 0x49, 0x87, 0xd6,
691 			0xf9, 0xeb, 0xcc, 0x77, 0x7e,
692 			0xfd, 0x40, 0x78, 0xcc, 0x0f,
693 			0x4c, 0x10, 0x8d, 0xef, 0x95,
694 			0x9f, 0x78, 0xf1, 0xed, 0xb2,
695 			0x76, 0x54, 0x25, 0x78, 0x5f,
696 			0xcd, 0x17, 0xd5, 0x12, 0xbe,
697 			0x31, 0xee, 0xb6, 0x6b, 0xef,
698 			0xf1, 0xe8, 0xfc, 0x27, 0x47,
699 			0x07, 0x83, 0x43, 0xa1, 0x01,
700 			0x26, 0xa1, 0x04, 0x42, 0x31,
701 			0x31, 0x58, 0x40, 0x6a, 0xcd,
702 			0x94, 0xd3, 0xcc, 0xf7, 0x1d,
703 			0x19, 0x2e, 0x85, 0x28, 0x36,
704 			0x0b, 0xa7, 0xe3, 0x46, 0xda,
705 			0xc4, 0x64, 0xe9, 0xed, 0xca,
706 			0x4c, 0xfe, 0xb6, 0xce, 0xb6,
707 			0xbd, 0xe7, 0xba, 0xec, 0x9f,
708 			0xf2, 0x6c, 0xa6, 0xbd, 0xf7,
709 			0x3d, 0x0b, 0xe4, 0x1e, 0x36,
710 			0x12, 0x9d, 0xcf, 0xf7, 0x51,
711 			0xdd, 0x2b, 0x5a, 0xd5, 0xce,
712 			0x11, 0x6e, 0x8a, 0x96, 0x3a,
713 			0x27, 0x38, 0xa2, 0x99, 0x47,
714 			0x7a, 0x68, 0x54, 0x54, 0x68,
715 			0x69, 0x73, 0x20, 0x69, 0x73,
716 			0x20, 0x74, 0x68, 0x65, 0x20,
717 			0x63, 0x6f, 0x6e, 0x74, 0x65,
718 			0x6e, 0x74, 0x2e, 0x58, 0x20,
719 			0x2b, 0xdc, 0xc8, 0x9f, 0x05,
720 			0x82, 0x16, 0xb8, 0xa2, 0x08,
721 			0xdd, 0xc6, 0xd8, 0xb5, 0x4a,
722 			0xa9, 0x1f, 0x48, 0xbd, 0x63,
723 			0x48, 0x49, 0x86, 0x56, 0x51,
724 			0x05, 0xc9, 0xad, 0x5a, 0x66,
725 			0x82, 0xf6, 0x81, 0x83, 0x40,
726 			0xa2, 0x01, 0x25, 0x04, 0x4a,
727 			0x6f, 0x75, 0x72, 0x2d, 0x73,
728 			0x65, 0x63, 0x72, 0x65, 0x74,
729 			0x40
730 	}, test102[] = { /* mac0-01 */
731 			0xd1, 0x84, 0x43, 0xa1, 0x01,
732 			0x05, 0xa1, 0x07, 0x83, 0x43,
733 			0xa1, 0x01, 0x27, 0xa1, 0x04,
734 			0x42, 0x31, 0x31, 0x58, 0x40,
735 			0xb4, 0x92, 0x4b, 0x18, 0xeb,
736 			0x4e, 0x04, 0x73, 0x13, 0xc7,
737 			0x07, 0xb0, 0xed, 0xa4, 0xab,
738 			0x84, 0x43, 0x45, 0xf2, 0xc4,
739 			0x49, 0x87, 0xd6, 0xf9, 0xeb,
740 			0xcc, 0x77, 0x7e, 0xfd, 0x40,
741 			0x78, 0xcc, 0x0f, 0x4c, 0x10,
742 			0x8d, 0xef, 0x95, 0x9f, 0x78,
743 			0xf1, 0xed, 0xb2, 0x76, 0x54,
744 			0x25, 0x78, 0x5f, 0xcd, 0x17,
745 			0xd5, 0x12, 0xbe, 0x31, 0xee,
746 			0xb6, 0x6b, 0xef, 0xf1, 0xe8,
747 			0xfc, 0x27, 0x47, 0x07, 0x54,
748 			0x54, 0x68, 0x69, 0x73, 0x20,
749 			0x69, 0x73, 0x20, 0x74, 0x68,
750 			0x65, 0x20, 0x63, 0x6f, 0x6e,
751 			0x74, 0x65, 0x6e, 0x74, 0x2e,
752 			0x58, 0x20, 0xa1, 0xa8, 0x48,
753 			0xd3, 0x47, 0x1f, 0x9d, 0x61,
754 			0xee, 0x49, 0x01, 0x8d, 0x24,
755 			0x4c, 0x82, 0x47, 0x72, 0xf2,
756 			0x23, 0xad, 0x4f, 0x93, 0x52,
757 			0x93, 0xf1, 0x78, 0x9f, 0xc3,
758 			0xa0, 0x8d, 0x8c, 0x58
759 	}, test103[] = { /* mac0-02 */
760 			0xd1, 0x84, 0x43, 0xa1, 0x01,
761 			0x05, 0xa1, 0x07, 0x82, 0x83,
762 			0x43, 0xa1, 0x01, 0x27, 0xa1,
763 			0x04, 0x42, 0x31, 0x31, 0x58,
764 			0x40, 0xb4, 0x92, 0x4b, 0x18,
765 			0xeb, 0x4e, 0x04, 0x73, 0x13,
766 			0xc7, 0x07, 0xb0, 0xed, 0xa4,
767 			0xab, 0x84, 0x43, 0x45, 0xf2,
768 			0xc4, 0x49, 0x87, 0xd6, 0xf9,
769 			0xeb, 0xcc, 0x77, 0x7e, 0xfd,
770 			0x40, 0x78, 0xcc, 0x0f, 0x4c,
771 			0x10, 0x8d, 0xef, 0x95, 0x9f,
772 			0x78, 0xf1, 0xed, 0xb2, 0x76,
773 			0x54, 0x25, 0x78, 0x5f, 0xcd,
774 			0x17, 0xd5, 0x12, 0xbe, 0x31,
775 			0xee, 0xb6, 0x6b, 0xef, 0xf1,
776 			0xe8, 0xfc, 0x27, 0x47, 0x07,
777 			0x83, 0x43, 0xa1, 0x01, 0x26,
778 			0xa1, 0x04, 0x42, 0x31, 0x31,
779 			0x58, 0x40, 0x6a, 0xcd, 0x94,
780 			0xd3, 0xcc, 0xf7, 0x1d, 0x19,
781 			0x2e, 0x85, 0x28, 0x36, 0x0b,
782 			0xa7, 0xe3, 0x46, 0xda, 0xc4,
783 			0x64, 0xe9, 0xed, 0xca, 0x4c,
784 			0xfe, 0xb6, 0xce, 0xb6, 0xbd,
785 			0xe7, 0xba, 0xec, 0x9f, 0xf2,
786 			0x6c, 0xa6, 0xbd, 0xf7, 0x3d,
787 			0x0b, 0xe4, 0x1e, 0x36, 0x12,
788 			0x9d, 0xcf, 0xf7, 0x51, 0xdd,
789 			0x2b, 0x5a, 0xd5, 0xce, 0x11,
790 			0x6e, 0x8a, 0x96, 0x3a, 0x27,
791 			0x38, 0xa2, 0x99, 0x47, 0x7a,
792 			0x68, 0x54, 0x54, 0x68, 0x69,
793 			0x73, 0x20, 0x69, 0x73, 0x20,
794 			0x74, 0x68, 0x65, 0x20, 0x63,
795 			0x6f, 0x6e, 0x74, 0x65, 0x6e,
796 			0x74, 0x2e, 0x58, 0x20, 0xa1,
797 			0xa8, 0x48, 0xd3, 0x47, 0x1f,
798 			0x9d, 0x61, 0xee, 0x49, 0x01,
799 			0x8d, 0x24, 0x4c, 0x82, 0x47,
800 			0x72, 0xf2, 0x23, 0xad, 0x4f,
801 			0x93, 0x52, 0x93, 0xf1, 0x78,
802 			0x9f, 0xc3, 0xa0, 0x8d, 0x8c,
803 			0x58
804 	}, test104[] = { /* signed-01 */
805 			0xd8, 0x62, 0x84, 0x43, 0xa1,
806 			0x03, 0x00, 0xa0, 0x54, 0x54,
807 			0x68, 0x69, 0x73, 0x20, 0x69,
808 			0x73, 0x20, 0x74, 0x68, 0x65,
809 			0x20, 0x63, 0x6f, 0x6e, 0x74,
810 			0x65, 0x6e, 0x74, 0x2e, 0x81,
811 			0x83, 0x43, 0xa1, 0x01, 0x27,
812 			0xa2, 0x07, 0x83, 0x43, 0xa1,
813 			0x01, 0x27, 0xa1, 0x04, 0x42,
814 			0x31, 0x31, 0x58, 0x40, 0x8e,
815 			0x1b, 0xe2, 0xf9, 0x45, 0x3d,
816 			0x26, 0x48, 0x12, 0xe5, 0x90,
817 			0x49, 0x91, 0x32, 0xbe, 0xf3,
818 			0xfb, 0xf9, 0xee, 0x9d, 0xb2,
819 			0x7c, 0x2c, 0x16, 0x87, 0x88,
820 			0xe3, 0xb7, 0xeb, 0xe5, 0x06,
821 			0xc0, 0x4f, 0xd3, 0xd1, 0x9f,
822 			0xaa, 0x9f, 0x51, 0x23, 0x2a,
823 			0xf5, 0xc9, 0x59, 0xe4, 0xef,
824 			0x47, 0x92, 0x88, 0x34, 0x64,
825 			0x7f, 0x56, 0xdf, 0xbe, 0x93,
826 			0x91, 0x12, 0x88, 0x4d, 0x08,
827 			0xef, 0x25, 0x05, 0x04, 0x42,
828 			0x31, 0x31, 0x58, 0x40, 0x77,
829 			0xf3, 0xea, 0xcd, 0x11, 0x85,
830 			0x2c, 0x4b, 0xf9, 0xcb, 0x1d,
831 			0x72, 0xfa, 0xbe, 0x6b, 0x26,
832 			0xfb, 0xa1, 0xd7, 0x60, 0x92,
833 			0xb2, 0xb5, 0xb7, 0xec, 0x83,
834 			0xb8, 0x35, 0x57, 0x65, 0x22,
835 			0x64, 0xe6, 0x96, 0x90, 0xdb,
836 			0xc1, 0x17, 0x2d, 0xdc, 0x0b,
837 			0xf8, 0x84, 0x11, 0xc0, 0xd2,
838 			0x5a, 0x50, 0x7f, 0xdb, 0x24,
839 			0x7a, 0x20, 0xc4, 0x0d, 0x5e,
840 			0x24, 0x5f, 0xab, 0xd3, 0xfc,
841 			0x9e, 0xc1, 0x06
842 	}, test105[] = { /* signed-02 */
843 			0xd8, 0x62, 0x84, 0x43, 0xa1,
844 			0x03, 0x00, 0xa0, 0x54, 0x54,
845 			0x68, 0x69, 0x73, 0x20, 0x69,
846 			0x73, 0x20, 0x74, 0x68, 0x65,
847 			0x20, 0x63, 0x6f, 0x6e, 0x74,
848 			0x65, 0x6e, 0x74, 0x2e, 0x81,
849 			0x83, 0x43, 0xa1, 0x01, 0x27,
850 			0xa2, 0x07, 0x82, 0x83, 0x43,
851 			0xa1, 0x01, 0x27, 0xa1, 0x04,
852 			0x42, 0x31, 0x31, 0x58, 0x40,
853 			0x8e, 0x1b, 0xe2, 0xf9, 0x45,
854 			0x3d, 0x26, 0x48, 0x12, 0xe5,
855 			0x90, 0x49, 0x91, 0x32, 0xbe,
856 			0xf3, 0xfb, 0xf9, 0xee, 0x9d,
857 			0xb2, 0x7c, 0x2c, 0x16, 0x87,
858 			0x88, 0xe3, 0xb7, 0xeb, 0xe5,
859 			0x06, 0xc0, 0x4f, 0xd3, 0xd1,
860 			0x9f, 0xaa, 0x9f, 0x51, 0x23,
861 			0x2a, 0xf5, 0xc9, 0x59, 0xe4,
862 			0xef, 0x47, 0x92, 0x88, 0x34,
863 			0x64, 0x7f, 0x56, 0xdf, 0xbe,
864 			0x93, 0x91, 0x12, 0x88, 0x4d,
865 			0x08, 0xef, 0x25, 0x05, 0x83,
866 			0x43, 0xa1, 0x01, 0x26, 0xa1,
867 			0x04, 0x42, 0x31, 0x31, 0x58,
868 			0x40, 0xaf, 0x04, 0x9b, 0x80,
869 			0xd5, 0x2c, 0x36, 0x69, 0xb2,
870 			0x99, 0x70, 0xc1, 0x33, 0x54,
871 			0x37, 0x54, 0xf9, 0xcc, 0x60,
872 			0x8c, 0xe4, 0x11, 0x23, 0xae,
873 			0x1c, 0x82, 0x7e, 0x36, 0xb3,
874 			0x8c, 0xb8, 0x25, 0x98, 0x7f,
875 			0x01, 0xf2, 0x2b, 0xb8, 0xab,
876 			0x13, 0xe9, 0xc6, 0x62, 0x26,
877 			0xee, 0x23, 0x17, 0x8f, 0xfa,
878 			0x00, 0xa4, 0xfc, 0x22, 0x05,
879 			0x93, 0xb6, 0xe5, 0xac, 0x38,
880 			0x96, 0x00, 0x71, 0xc9, 0xc8,
881 			0x04, 0x42, 0x31, 0x31, 0x58,
882 			0x40, 0x77, 0xf3, 0xea, 0xcd,
883 			0x11, 0x85, 0x2c, 0x4b, 0xf9,
884 			0xcb, 0x1d, 0x72, 0xfa, 0xbe,
885 			0x6b, 0x26, 0xfb, 0xa1, 0xd7,
886 			0x60, 0x92, 0xb2, 0xb5, 0xb7,
887 			0xec, 0x83, 0xb8, 0x35, 0x57,
888 			0x65, 0x22, 0x64, 0xe6, 0x96,
889 			0x90, 0xdb, 0xc1, 0x17, 0x2d,
890 			0xdc, 0x0b, 0xf8, 0x84, 0x11,
891 			0xc0, 0xd2, 0x5a, 0x50, 0x7f,
892 			0xdb, 0x24, 0x7a, 0x20, 0xc4,
893 			0x0d, 0x5e, 0x24, 0x5f, 0xab,
894 			0xd3, 0xfc, 0x9e, 0xc1, 0x06
895 	}, test106[] = { /* signed-03 */
896 			0xd8, 0x62, 0x84, 0x43, 0xa1,
897 			0x03, 0x00, 0xa1, 0x07, 0x83,
898 			0x43, 0xa1, 0x01, 0x27, 0xa1,
899 			0x04, 0x42, 0x31, 0x31, 0x58,
900 			0x40, 0xb7, 0xca, 0xcb, 0xa2,
901 			0x85, 0xc4, 0xcd, 0x3e, 0xd2,
902 			0xf0, 0x14, 0x6f, 0x41, 0x98,
903 			0x86, 0x14, 0x4c, 0xa6, 0x38,
904 			0xd0, 0x87, 0xde, 0x12, 0x3d,
905 			0x40, 0x01, 0x67, 0x30, 0x8a,
906 			0xce, 0xab, 0xc4, 0xb5, 0xe5,
907 			0xc6, 0xa4, 0x0c, 0x0d, 0xe0,
908 			0xb7, 0x11, 0x67, 0xa3, 0x91,
909 			0x75, 0xea, 0x56, 0xc1, 0xfe,
910 			0x96, 0xc8, 0x9e, 0x5e, 0x7d,
911 			0x30, 0xda, 0xf2, 0x43, 0x8a,
912 			0x45, 0x61, 0x59, 0xa2, 0x0a,
913 			0x54, 0x54, 0x68, 0x69, 0x73,
914 			0x20, 0x69, 0x73, 0x20, 0x74,
915 			0x68, 0x65, 0x20, 0x63, 0x6f,
916 			0x6e, 0x74, 0x65, 0x6e, 0x74,
917 			0x2e, 0x81, 0x83, 0x43, 0xa1,
918 			0x01, 0x27, 0xa1, 0x04, 0x42,
919 			0x31, 0x31, 0x58, 0x40, 0x77,
920 			0xf3, 0xea, 0xcd, 0x11, 0x85,
921 			0x2c, 0x4b, 0xf9, 0xcb, 0x1d,
922 			0x72, 0xfa, 0xbe, 0x6b, 0x26,
923 			0xfb, 0xa1, 0xd7, 0x60, 0x92,
924 			0xb2, 0xb5, 0xb7, 0xec, 0x83,
925 			0xb8, 0x35, 0x57, 0x65, 0x22,
926 			0x64, 0xe6, 0x96, 0x90, 0xdb,
927 			0xc1, 0x17, 0x2d, 0xdc, 0x0b,
928 			0xf8, 0x84, 0x11, 0xc0, 0xd2,
929 			0x5a, 0x50, 0x7f, 0xdb, 0x24,
930 			0x7a, 0x20, 0xc4, 0x0d, 0x5e,
931 			0x24, 0x5f, 0xab, 0xd3, 0xfc,
932 			0x9e, 0xc1, 0x06
933 	}, test107[] = { /* signed1-01 */
934 			0xd2, 0x84, 0x45, 0xa2, 0x01,
935 			0x27, 0x03, 0x00, 0xa2, 0x07,
936 			0x83, 0x43, 0xa1, 0x01, 0x27,
937 			0xa1, 0x04, 0x42, 0x31, 0x31,
938 			0x58, 0x40, 0x6d, 0xae, 0xd1,
939 			0x58, 0xaf, 0xe4, 0x03, 0x2e,
940 			0x8d, 0xd4, 0x77, 0xd3, 0xd2,
941 			0xb7, 0xf6, 0x67, 0xe7, 0x95,
942 			0x7a, 0xa8, 0x30, 0x2b, 0xb5,
943 			0xe5, 0x68, 0xb4, 0xdc, 0xbc,
944 			0xce, 0x3c, 0xf0, 0xed, 0x5a,
945 			0x90, 0xf8, 0x31, 0x35, 0x1c,
946 			0x85, 0xd6, 0x15, 0x5a, 0x42,
947 			0xa1, 0x7c, 0xa1, 0xf2, 0x5f,
948 			0x50, 0x1c, 0xc1, 0x3f, 0x67,
949 			0x10, 0x8a, 0xe5, 0x3b, 0xda,
950 			0x92, 0xdb, 0x88, 0x27, 0x2e,
951 			0x00, 0x04, 0x42, 0x31, 0x31,
952 			0x54, 0x54, 0x68, 0x69, 0x73,
953 			0x20, 0x69, 0x73, 0x20, 0x74,
954 			0x68, 0x65, 0x20, 0x63, 0x6f,
955 			0x6e, 0x74, 0x65, 0x6e, 0x74,
956 			0x2e, 0x58, 0x40, 0x71, 0x42,
957 			0xfd, 0x2f, 0xf9, 0x6d, 0x56,
958 			0xdb, 0x85, 0xbe, 0xe9, 0x05,
959 			0xa7, 0x6b, 0xa1, 0xd0, 0xb7,
960 			0x32, 0x1a, 0x95, 0xc8, 0xc4,
961 			0xd3, 0x60, 0x7c, 0x57, 0x81,
962 			0x93, 0x2b, 0x7a, 0xfb, 0x87,
963 			0x11, 0x49, 0x7d, 0xfa, 0x75,
964 			0x1b, 0xf4, 0x0b, 0x58, 0xb3,
965 			0xbc, 0xc3, 0x23, 0x00, 0xb1,
966 			0x48, 0x7f, 0x3d, 0xb3, 0x40,
967 			0x85, 0xee, 0xf0, 0x13, 0xbf,
968 			0x08, 0xf4, 0xa4, 0x4d, 0x6f,
969 			0xef, 0x0d
970 	}, test108[] = { /* signed1-02 */
971 			0xd2, 0x84, 0x45, 0xa2, 0x01,
972 			0x27, 0x03, 0x00, 0xa2, 0x07,
973 			0x82, 0x83, 0x43, 0xa1, 0x01,
974 			0x27, 0xa1, 0x04, 0x42, 0x31,
975 			0x31, 0x58, 0x40, 0x6d, 0xae,
976 			0xd1, 0x58, 0xaf, 0xe4, 0x03,
977 			0x2e, 0x8d, 0xd4, 0x77, 0xd3,
978 			0xd2, 0xb7, 0xf6, 0x67, 0xe7,
979 			0x95, 0x7a, 0xa8, 0x30, 0x2b,
980 			0xb5, 0xe5, 0x68, 0xb4, 0xdc,
981 			0xbc, 0xce, 0x3c, 0xf0, 0xed,
982 			0x5a, 0x90, 0xf8, 0x31, 0x35,
983 			0x1c, 0x85, 0xd6, 0x15, 0x5a,
984 			0x42, 0xa1, 0x7c, 0xa1, 0xf2,
985 			0x5f, 0x50, 0x1c, 0xc1, 0x3f,
986 			0x67, 0x10, 0x8a, 0xe5, 0x3b,
987 			0xda, 0x92, 0xdb, 0x88, 0x27,
988 			0x2e, 0x00, 0x83, 0x43, 0xa1,
989 			0x01, 0x26, 0xa1, 0x04, 0x42,
990 			0x31, 0x31, 0x58, 0x40, 0x93,
991 			0x48, 0x7d, 0x09, 0x25, 0x6a,
992 			0x3e, 0xf4, 0x96, 0x37, 0x19,
993 			0xba, 0x5c, 0xf1, 0x01, 0xac,
994 			0xe2, 0xfc, 0x13, 0xd6, 0x31,
995 			0x4b, 0x49, 0x58, 0x21, 0x71,
996 			0xff, 0xa4, 0xa1, 0x31, 0x4d,
997 			0xc9, 0x3e, 0x4a, 0x4a, 0xdf,
998 			0xa4, 0x2a, 0x79, 0xe3, 0x1b,
999 			0x35, 0xd7, 0x30, 0x43, 0x58,
1000 			0x58, 0x5b, 0x41, 0x79, 0x96,
1001 			0x78, 0xce, 0x00, 0xca, 0x47,
1002 			0xc3, 0xe0, 0x23, 0x86, 0x39,
1003 			0x23, 0xf8, 0xc8, 0x04, 0x42,
1004 			0x31, 0x31, 0x54, 0x54, 0x68,
1005 			0x69, 0x73, 0x20, 0x69, 0x73,
1006 			0x20, 0x74, 0x68, 0x65, 0x20,
1007 			0x63, 0x6f, 0x6e, 0x74, 0x65,
1008 			0x6e, 0x74, 0x2e, 0x58, 0x40,
1009 			0x71, 0x42, 0xfd, 0x2f, 0xf9,
1010 			0x6d, 0x56, 0xdb, 0x85, 0xbe,
1011 			0xe9, 0x05, 0xa7, 0x6b, 0xa1,
1012 			0xd0, 0xb7, 0x32, 0x1a, 0x95,
1013 			0xc8, 0xc4, 0xd3, 0x60, 0x7c,
1014 			0x57, 0x81, 0x93, 0x2b, 0x7a,
1015 			0xfb, 0x87, 0x11, 0x49, 0x7d,
1016 			0xfa, 0x75, 0x1b, 0xf4, 0x0b,
1017 			0x58, 0xb3, 0xbc, 0xc3, 0x23,
1018 			0x00, 0xb1, 0x48, 0x7f, 0x3d,
1019 			0xb3, 0x40, 0x85, 0xee, 0xf0,
1020 			0x13, 0xbf, 0x08, 0xf4, 0xa4,
1021 			0x4d, 0x6f, 0xef, 0x0d
1022 	};
1023 ;
1024 
1025 struct seq {
1026 	char			reason;
1027 	struct lecp_item	item;
1028 	const uint8_t		*buf;
1029 	size_t			buf_len;
1030 };
1031 
1032 static const uint8_t bm12[] = {
1033 	0x01, 0x00, 0x00, 0x00,
1034 	0x00, 0x00, 0x00, 0x00,
1035 	0x00
1036 }, bm48[] = {
1037 	0x32, 0x30, 0x31, 0x33,
1038 	0x2D, 0x30, 0x33, 0x2D,
1039 	0x32, 0x31, 0x54, 0x32,
1040 	0x30, 0x3A, 0x30, 0x34,
1041 	0x3A, 0x30, 0x30, 0x5A
1042 }, bm51[] = {
1043 	0x01, 0x02, 0x03, 0x04
1044 }, bm52[] = {
1045 	0x64, 0x49, 0x45, 0x54,
1046 	0x46
1047 }, bm53[] = {
1048 	0x68, 0x74, 0x74, 0x70,
1049 	0x3A, 0x2F, 0x2F, 0x77,
1050 	0x77, 0x77, 0x2E, 0x65,
1051 	0x78, 0x61, 0x6D, 0x70,
1052 	0x6C, 0x65, 0x2E, 0x63,
1053 	0x6F, 0x6D
1054 }, bm57[] = {
1055 	0x61
1056 }, bm58[] = {
1057 	0x49, 0x45, 0x54, 0x46
1058 }, bm59[] = {
1059 	0x22, 0x5C
1060 }, bm60[] = {
1061 	0xc3, 0xbc
1062 }, bm61[] = {
1063 	0xe6, 0xb0, 0xb4
1064 }, bm62[] = {
1065 	0xF0, 0x90, 0x85, 0x91
1066 }, bm72a[] = {
1067 	0x01, 0x02
1068 }, bm72b[] = {
1069 	0x03, 0x04, 0x05
1070 }, bm83a[] = {
1071 	0xa1, 0x01, 0x05
1072 }, bm83b[] = {
1073 	0x54, 0x68, 0x69, 0x73,
1074 	0x20, 0x69, 0x73, 0x20,
1075 	0x74, 0x68, 0x65, 0x20,
1076 	0x63, 0x6F, 0x6E, 0x74,
1077 	0x65, 0x6E, 0x74, 0x2E
1078 }, bm83c[] = {
1079 	0x2B, 0xDC, 0xC8, 0x9F,
1080 	0x05, 0x82, 0x16, 0xB8,
1081 	0xA2, 0x08, 0xDD, 0xC6,
1082 	0xD8, 0xB5, 0x4A, 0xA9,
1083 	0x1F, 0x48, 0xBD, 0x63,
1084 	0x48, 0x49, 0x86, 0x56,
1085 	0x51, 0x05, 0xC9, 0xAD,
1086 	0x5A, 0x66, 0x82, 0xF6
1087 }, bm83d[] = {
1088 	0x6F, 0x75, 0x72, 0x2D,
1089 	0x73, 0x65, 0x63, 0x72,
1090 	0x65, 0x74
1091 }, bm84a[] = {
1092 	0xa1, 0x01, 0x06
1093 }, bm84b[] = {
1094 	0x54, 0x68, 0x69, 0x73,
1095 	0x20, 0x69, 0x73, 0x20,
1096 	0x74, 0x68, 0x65, 0x20,
1097 	0x63, 0x6F, 0x6E, 0x74,
1098 	0x65, 0x6E, 0x74, 0x2E
1099 }, bm84c[] = {
1100 	0xB3, 0x09, 0x7F, 0x70,
1101 	0x00, 0x9A, 0x11, 0x50,
1102 	0x74, 0x09, 0x59, 0x8A,
1103 	0x83, 0xE1, 0x5B, 0xBB,
1104 	0xBF, 0x19, 0x82, 0xDC,
1105 	0xE2, 0x8E, 0x5A, 0xB6,
1106 	0xD5, 0xA6, 0xAF, 0xF6,
1107 	0x89, 0x7B, 0xD2, 0x4B,
1108 	0xB8, 0xB7, 0x47, 0x96,
1109 	0x22, 0xC9, 0x40, 0x1B,
1110 	0x24, 0x09, 0x0D, 0x45,
1111 	0x82, 0x06, 0xD5, 0x87
1112 }, bm84d[] = {
1113 	0x73, 0x65, 0x63, 0x2D,
1114 	0x34, 0x38
1115 }, bm85a[] = {
1116 	0xa1, 0x01, 0x07
1117 }, bm85b[] = {
1118 	0x54, 0x68, 0x69, 0x73,
1119 	0x20, 0x69, 0x73, 0x20,
1120 	0x74, 0x68, 0x65, 0x20,
1121 	0x63, 0x6F, 0x6E, 0x74,
1122 	0x65, 0x6E, 0x74, 0x2E
1123 }, bm85c[] = {
1124 	0xCD, 0x28, 0xA6, 0xB3,
1125 	0xCF, 0xBB, 0xBF, 0x21,
1126 	0x48, 0x51, 0xB9, 0x06,
1127 	0xE0, 0x50, 0x05, 0x6C,
1128 	0xB4, 0x38, 0xA8, 0xB8,
1129 	0x89, 0x05, 0xB8, 0xB7,
1130 	0x46, 0x19, 0x77, 0x02,
1131 	0x27, 0x11, 0xA9, 0xD8,
1132 	0xAC, 0x5D, 0xBC, 0x54,
1133 	0xE2, 0x9A, 0x56, 0xD9,
1134 	0x26, 0x04, 0x6B, 0x40,
1135 	0xFC, 0x26, 0x07, 0xC2,
1136 	0x5B, 0x34, 0x44, 0x54,
1137 	0xAA, 0x5F, 0x68, 0xDE,
1138 	0x09, 0xA3, 0xE5, 0x25,
1139 	0xD3, 0x86, 0x5A, 0x05
1140 }, bm85d[] = {
1141 	0x73, 0x65, 0x63, 0x2D,
1142 	0x36, 0x34
1143 }, bm86a[] = {
1144 	0xa1, 0x01, 0x05
1145 }, bm86b[] = {
1146 	0x54, 0x68, 0x69, 0x73,
1147 	0x20, 0x69, 0x73, 0x20,
1148 	0x74, 0x68, 0x65, 0x20,
1149 	0x63, 0x6F, 0x6E, 0x74,
1150 	0x65, 0x6E, 0x74, 0x2E
1151 }, bm86c[] = {
1152 	0x2B, 0xDC, 0xC8, 0x9F,
1153 	0x05, 0x82, 0x16, 0xB8,
1154 	0xA2, 0x08, 0xDD, 0xC6,
1155 	0xD8, 0xB5, 0x4A, 0xA9,
1156 	0x1F, 0x48, 0xBD, 0x63,
1157 	0x48, 0x49, 0x86, 0x56,
1158 	0x51, 0x05, 0xC9, 0xAD,
1159 	0x5A, 0x66, 0x82, 0xF7
1160 }, bm86d[] = {
1161 	0x6F, 0x75, 0x72, 0x2D,
1162 	0x73, 0x65, 0x63, 0x72,
1163 	0x65, 0x74
1164 }, bm87a[] = {
1165 	0xa1, 0x01, 0x04
1166 }, bm87b[] = {
1167 	0x54, 0x68, 0x69, 0x73,
1168 	0x20, 0x69, 0x73, 0x20,
1169 	0x74, 0x68, 0x65, 0x20,
1170 	0x63, 0x6F, 0x6E, 0x74,
1171 	0x65, 0x6E, 0x74, 0x2E
1172 }, bm87c[] = {
1173 	0x6F, 0x35, 0xCA, 0xB7,
1174 	0x79, 0xF7, 0x78, 0x33
1175 }, bm87d[] = {
1176 	0x6F, 0x75, 0x72, 0x2D,
1177 	0x73, 0x65, 0x63, 0x72,
1178 	0x65, 0x74
1179 }, bm88a[] = {
1180 	0xa1, 0x01, 0x05
1181 }, bm88b[] = {
1182 	0x54, 0x68, 0x69, 0x73,
1183 	0x20, 0x69, 0x73, 0x20,
1184 	0x74, 0x68, 0x65, 0x20,
1185 	0x63, 0x6F, 0x6E, 0x74,
1186 	0x65, 0x6E, 0x74, 0x2E
1187 }, bm88c[] = {
1188 	0xA1, 0xA8, 0x48, 0xD3,
1189 	0x47, 0x1F, 0x9D, 0x61,
1190 	0xEE, 0x49, 0x01, 0x8D,
1191 	0x24, 0x4C, 0x82, 0x47,
1192 	0x72, 0xF2, 0x23, 0xAD,
1193 	0x4F, 0x93, 0x52, 0x93,
1194 	0xF1, 0x78, 0x9F, 0xC3,
1195 	0xA0, 0x8D, 0x8C, 0x58
1196 }, bm89a[] = {
1197 	0xa1, 0x01, 0x06
1198 }, bm89b[] = {
1199 	0x54, 0x68, 0x69, 0x73,
1200 	0x20, 0x69, 0x73, 0x20,
1201 	0x74, 0x68, 0x65, 0x20,
1202 	0x63, 0x6F, 0x6E, 0x74,
1203 	0x65, 0x6E, 0x74, 0x2E
1204 }, bm89c[] = {
1205 	0x99, 0x8D, 0x26, 0xC6,
1206 	0x45, 0x9A, 0xAE, 0xEC,
1207 	0xF4, 0x4E, 0xD2, 0x0C,
1208 	0xE0, 0x0C, 0x8C, 0xCE,
1209 	0xDF, 0x0A, 0x1F, 0x3D,
1210 	0x22, 0xA9, 0x2F, 0xC0,
1211 	0x5D, 0xB0, 0x8C, 0x5A,
1212 	0xEB, 0x1C, 0xB5, 0x94,
1213 	0xCA, 0xAF, 0x5A, 0x5C,
1214 	0x5E, 0x2E, 0x9D, 0x01,
1215 	0xCC, 0xE7, 0xE7, 0x7A,
1216 	0x93, 0xAA, 0x8C, 0x62
1217 }, bm90a[] = {
1218 	0xa1, 0x01, 0x07
1219 }, bm90b[] = {
1220 	0x54, 0x68, 0x69, 0x73,
1221 	0x20, 0x69, 0x73, 0x20,
1222 	0x74, 0x68, 0x65, 0x20,
1223 	0x63, 0x6F, 0x6E, 0x74,
1224 	0x65, 0x6E, 0x74, 0x2E
1225 }, bm90c[] = {
1226 	0x4A, 0x55, 0x5B, 0xF9,
1227 	0x71, 0xF7, 0xC1, 0x89,
1228 	0x1D, 0x9D, 0xDF, 0x30,
1229 	0x4A, 0x1A, 0x13, 0x2E,
1230 	0x2D, 0x6F, 0x81, 0x74,
1231 	0x49, 0x47, 0x4D, 0x81,
1232 	0x3E, 0x6D, 0x04, 0xD6,
1233 	0x59, 0x62, 0xBE, 0xD8,
1234 	0xBB, 0xA7, 0x0C, 0x17,
1235 	0xE1, 0xF5, 0x30, 0x8F,
1236 	0xA3, 0x99, 0x62, 0x95,
1237 	0x9A, 0x4B, 0x9B, 0x8D,
1238 	0x7D, 0xA8, 0xE6, 0xD8,
1239 	0x49, 0xB2, 0x09, 0xDC,
1240 	0xD3, 0xE9, 0x8C, 0xC0,
1241 	0xF1, 0x1E, 0xDD, 0xF2
1242 }, bm91a[] = {
1243 	0xa1, 0x01, 0x05
1244 }, bm91b[] = {
1245 	0x54, 0x68, 0x69, 0x73,
1246 	0x20, 0x69, 0x73, 0x20,
1247 	0x74, 0x68, 0x65, 0x20,
1248 	0x63, 0x6F, 0x6E, 0x74,
1249 	0x65, 0x6E, 0x74, 0x2E
1250 }, bm91c[] = {
1251 	0xA1, 0xA8, 0x48, 0xD3,
1252 	0x47, 0x1F, 0x9D, 0x61,
1253 	0xEE, 0x49, 0x01, 0x8D,
1254 	0x24, 0x4C, 0x82, 0x47,
1255 	0x72, 0xF2, 0x23, 0xAD,
1256 	0x4F, 0x93, 0x52, 0x93,
1257 	0xF1, 0x78, 0x9F, 0xC3,
1258 	0xA0, 0x8D, 0x8C, 0x59
1259 }, bm92a[] = {
1260 	0xa1, 0x01, 0x04
1261 }, bm92b[] = {
1262 	0x54, 0x68, 0x69, 0x73,
1263 	0x20, 0x69, 0x73, 0x20,
1264 	0x74, 0x68, 0x65, 0x20,
1265 	0x63, 0x6F, 0x6E, 0x74,
1266 	0x65, 0x6E, 0x74, 0x2E
1267 }, bm92c[] = {
1268 	0x11, 0xF9, 0xE3, 0x57,
1269 	0x97, 0x5F, 0xB8, 0x49
1270 }, bm93a[] = {
1271 	0xa1, 0x01, 0x01
1272 }, bm93b[] = {
1273 	0x02, 0xd1, 0xf7, 0xe6, 0xf2,
1274 	0x6c, 0x43, 0xd4, 0x86, 0x8d,
1275 	0x87, 0xce
1276 }, bm93c[] = {
1277 	0xa1, 0x01, 0x27
1278 }, bm93d[] = {
1279 	0x31, 0x31
1280 }, bm93e[] = {
1281 	0xe1, 0x04, 0x39, 0x15, 0x4c,
1282 	0xc7, 0x5c, 0x7a, 0x3a, 0x53,
1283 	0x91, 0x49, 0x1f, 0x88, 0x65,
1284 	0x1e, 0x02, 0x92, 0xfd, 0x0f,
1285 	0xe0, 0xe0, 0x2c, 0xf7, 0x40,
1286 	0x54, 0x7e, 0xaf, 0x66, 0x77,
1287 	0xb4, 0xa4, 0x04, 0x0b, 0x8e,
1288 	0xca, 0x16, 0xdb, 0x59, 0x28,
1289 	0x81, 0x26, 0x2f, 0x77, 0xb1,
1290 	0x4c, 0x1a, 0x08, 0x6c, 0x02,
1291 	0x26, 0x8b, 0x17, 0x17, 0x1c,
1292 	0xa1, 0x6b, 0xe4, 0xb8, 0x59,
1293 	0x5f, 0x8c, 0x0a, 0x08
1294 }, bm93f[] = {
1295 	0x60, 0x97, 0x3a, 0x94, 0xbb,
1296 	0x28, 0x98, 0x00, 0x9e, 0xe5,
1297 	0x2e, 0xcf, 0xd9, 0xab, 0x1d,
1298 	0xd2, 0x58, 0x67, 0x37, 0x4b,
1299 	0x16, 0x2e, 0x2c, 0x03, 0x56,
1300 	0x8b, 0x41, 0xf5, 0x7c, 0x3c,
1301 	0xc1, 0x6f, 0x91, 0x66, 0x25,
1302 	0x0a
1303 
1304 }, bm94a[] = {
1305 	0xa1, 0x01, 0x01
1306 }, bm94b[] = {
1307 	0x02, 0xd1, 0xf7, 0xe6, 0xf2,
1308 	0x6c, 0x43, 0xd4, 0x86, 0x8d,
1309 	0x87, 0xce
1310 }, bm94c[] = {
1311 	0xa1, 0x01, 0x27
1312 }, bm94d[] = {
1313 	0x31, 0x31
1314 }, bm94e[] = {
1315 	0xe1, 0x04, 0x39, 0x15, 0x4c,
1316 	0xc7, 0x5c, 0x7a, 0x3a, 0x53,
1317 	0x91, 0x49, 0x1f, 0x88, 0x65,
1318 	0x1e, 0x02, 0x92, 0xfd, 0x0f,
1319 	0xe0, 0xe0, 0x2c, 0xf7, 0x40,
1320 	0x54, 0x7e, 0xaf, 0x66, 0x77,
1321 	0xb4, 0xa4, 0x04, 0x0b, 0x8e,
1322 	0xca, 0x16, 0xdb, 0x59, 0x28,
1323 	0x81, 0x26, 0x2f, 0x77, 0xb1,
1324 	0x4c, 0x1a, 0x08, 0x6c, 0x02,
1325 	0x26, 0x8b, 0x17, 0x17, 0x1c,
1326 	0xa1, 0x6b, 0xe4, 0xb8, 0x59,
1327 	0x5f, 0x8c, 0x0a, 0x08
1328 }, bm94f[] = {
1329 	0xa1, 0x01, 0x26
1330 }, bm94g[] = {
1331 	0x31, 0x31
1332 }, bm94h[] = {
1333 	0xfc, 0xa9, 0x8e, 0xca, 0xc8,
1334 	0x0b, 0x5f, 0xeb, 0x3a, 0xc7,
1335 	0xc1, 0x08, 0xb2, 0xb7, 0x91,
1336 	0x10, 0xde, 0x88, 0x86, 0x7b,
1337 	0xc0, 0x42, 0x6f, 0xc8, 0x3c,
1338 	0x53, 0xcc, 0xd6, 0x78, 0x96,
1339 	0x94, 0xed, 0xc5, 0xfe, 0xe3,
1340 	0xc4, 0x0d, 0xe8, 0xe7, 0xb4,
1341 	0x4f, 0xe8, 0xaa, 0xd3, 0x67,
1342 	0xe0, 0x95, 0xc8, 0xfc, 0x31,
1343 	0xb7, 0x9e, 0xe6, 0x66, 0xdf,
1344 	0x9c, 0xf9, 0x09, 0x06, 0xeb,
1345 	0x43, 0x75, 0x6c, 0x73
1346 }, bm94i[] = {
1347 	0x60, 0x97, 0x3a, 0x94, 0xbb,
1348 	0x28, 0x98, 0x00, 0x9e, 0xe5,
1349 	0x2e, 0xcf, 0xd9, 0xab, 0x1d,
1350 	0xd2, 0x58, 0x67, 0x37, 0x4b,
1351 	0x16, 0x2e, 0x2c, 0x03, 0x56,
1352 	0x8b, 0x41, 0xf5, 0x7c, 0x3c,
1353 	0xc1, 0x6f, 0x91, 0x66, 0x25,
1354 	0x0a
1355 
1356 }, bm95a[] = {
1357 	0xa1, 0x01, 0x01
1358 }, bm95b[] = {
1359 	0x02, 0xd1, 0xf7, 0xe6, 0xf2,
1360 	0x6c, 0x43, 0xd4, 0x86, 0x8d,
1361 	0x87, 0xce
1362 }, bm95c[] = {
1363 	0xa1, 0x01, 0x27
1364 }, bm95d[] = {
1365 	0x31, 0x31
1366 }, bm95e[] = {
1367 	0x9a, 0x8e, 0xed, 0xe3, 0xb3,
1368 	0xcb, 0x83, 0x7b, 0xa0, 0x0d,
1369 	0xf0, 0x8f, 0xa2, 0x1b, 0x12,
1370 	0x8b, 0x2d, 0x6d, 0x91, 0x62,
1371 	0xa4, 0x29, 0x0a, 0x58, 0x2d,
1372 	0x9f, 0x19, 0xbd, 0x0f, 0xb5,
1373 	0x02, 0xf0, 0xf9, 0x2b, 0x9b,
1374 	0xf4, 0x53, 0xa4, 0x05, 0x40,
1375 	0x1f, 0x8b, 0x70, 0x55, 0xef,
1376 	0x4e, 0x95, 0x8d, 0xf7, 0xf4,
1377 	0xfb, 0xd7, 0xcf, 0xb4, 0xa0,
1378 	0xc9, 0x71, 0x60, 0xf9, 0x47,
1379 	0x2b, 0x0a, 0xa1, 0x04
1380 }, bm95f[] = {
1381 	0x60, 0x97, 0x3a, 0x94, 0xbb,
1382 	0x28, 0x98, 0x00, 0x9e, 0xe5,
1383 	0x2e, 0xcf, 0xd9, 0xab, 0x1d,
1384 	0xd2, 0x58, 0x67, 0x37, 0x4b,
1385 	0x35, 0x81, 0xf2, 0xc8, 0x00,
1386 	0x39, 0x82, 0x63, 0x50, 0xb9,
1387 	0x7a, 0xe2, 0x30, 0x0E, 0x42,
1388 	0xFC
1389 }, bm95g[] = {
1390 	0x6f, 0x75, 0x72, 0x2d, 0x73,
1391 	0x65, 0x63, 0x72, 0x65, 0x74
1392 
1393 }, bm96a[] = {
1394 	0xa1, 0x01, 0x01
1395 }, bm96b[] = {
1396 	0x02, 0xd1, 0xf7, 0xe6, 0xf2,
1397 	0x6c, 0x43, 0xd4, 0x86, 0x8d,
1398 	0x87, 0xce
1399 }, bm96c[] = {
1400 	0xa1, 0x01, 0x27
1401 }, bm96d[] = {
1402 	0x31, 0x31
1403 }, bm96e[] = {
1404 	0x9a, 0x8e, 0xed, 0xe3, 0xb3,
1405 	0xcb, 0x83, 0x7b, 0xa0, 0x0d,
1406 	0xf0, 0x8f, 0xa2, 0x1b, 0x12,
1407 	0x8b, 0x2d, 0x6d, 0x91, 0x62,
1408 	0xa4, 0x29, 0x0a, 0x58, 0x2d,
1409 	0x9f, 0x19, 0xbd, 0x0f, 0xb5,
1410 	0x02, 0xf0, 0xf9, 0x2b, 0x9b,
1411 	0xf4, 0x53, 0xa4, 0x05, 0x40,
1412 	0x1f, 0x8b, 0x70, 0x55, 0xef,
1413 	0x4e, 0x95, 0x8d, 0xf7, 0xf4,
1414 	0xfb, 0xd7, 0xcf, 0xb4, 0xa0,
1415 	0xc9, 0x71, 0x60, 0xf9, 0x47,
1416 	0x2b, 0x0a, 0xa1, 0x04
1417 }, bm96f[] = {
1418 	0xa1, 0x01, 0x26
1419 }, bm96g[] = {
1420 	0x31, 0x31
1421 }, bm96h[] = {
1422 	0x24, 0x27, 0xcb, 0x37, 0x56,
1423 	0x85, 0x0f, 0xbb, 0x79, 0x05,
1424 	0x18, 0x07, 0xc8, 0xb2, 0x3d,
1425 	0x2e, 0x6d, 0x16, 0xa3, 0x22,
1426 	0x4f, 0x99, 0x01, 0xb4, 0x73,
1427 	0x99, 0xcf, 0xc7, 0xe3, 0xfa,
1428 	0xc4, 0xcc, 0x62, 0x1d, 0xbb,
1429 	0xeb, 0x02, 0x02, 0xa6, 0xd8,
1430 	0xbb, 0x25, 0x69, 0x5c, 0x9d,
1431 	0xcc, 0x9c, 0x47, 0x49, 0x20,
1432 	0xff, 0x57, 0x60, 0x6d, 0x76,
1433 	0x4d, 0xea, 0x19, 0x2f, 0xc8,
1434 	0x67, 0x41, 0x16, 0xf2
1435 }, bm96i[] = {
1436 	0x60, 0x97, 0x3a, 0x94, 0xbb,
1437 	0x28, 0x98, 0x00, 0x9e, 0xe5,
1438 	0x2e, 0xcf, 0xd9, 0xab, 0x1d,
1439 	0xd2, 0x58, 0x67, 0x37, 0x4b,
1440 	0x35, 0x81, 0xf2, 0xc8, 0x00,
1441 	0x39, 0x82, 0x63, 0x50, 0xb9,
1442 	0x7a, 0xe2, 0x30, 0x0e, 0x42,
1443 	0xfc
1444 }, bm96j[] = {
1445 	0x6f, 0x75, 0x72, 0x2d, 0x73,
1446 	0x65, 0x63, 0x72, 0x65, 0x74
1447 
1448 }, bm97a[] = {
1449 	0xa1, 0x01, 0x01
1450 }, bm97b[] = {
1451 	0x02, 0xd1, 0xf7, 0xe6, 0xf2,
1452 	0x6c, 0x43, 0xd4, 0x86, 0x8d,
1453 	0x87, 0xce
1454 }, bm97c[] = {
1455 	0x60, 0x97, 0x3a, 0x94, 0xbb,
1456 	0x28, 0x98, 0x00, 0x9e, 0xe5,
1457 	0x2e, 0xcf, 0xd9, 0xab, 0x1d,
1458 	0xd2, 0x58, 0x67, 0x37, 0x4b,
1459 	0x35, 0x81, 0xf2, 0xc8, 0x00,
1460 	0x39, 0x82, 0x63, 0x50, 0xb9,
1461 	0x7a, 0xe2, 0x30, 0x0e, 0x42,
1462 	0xfc
1463 }, bm97d[] = {
1464 	0x6f, 0x75, 0x72, 0x2d, 0x73,
1465 	0x65, 0x63, 0x72, 0x65, 0x74
1466 }, bm97e[] = {
1467 	0xa1, 0x01, 0x27
1468 }, bm97f[] = {
1469 	0x31, 0x31
1470 }, bm97g[] = {
1471 	0xcc, 0xb1, 0xf3, 0xfe, 0xdf,
1472 	0xce, 0xa7, 0x2b, 0x9c, 0x86,
1473 	0x79, 0x63, 0xe2, 0x52, 0xb6,
1474 	0x65, 0x8a, 0xd0, 0x7f, 0x3f,
1475 	0x5f, 0x15, 0xa3, 0x26, 0xa3,
1476 	0xf5, 0x72, 0x54, 0xcc, 0xb8,
1477 	0xd4, 0x8d, 0x60, 0x02, 0x1d,
1478 	0x2f, 0x1f, 0x8a, 0x80, 0x3b,
1479 	0x84, 0x4b, 0x78, 0x72, 0x16,
1480 	0x6c, 0x6d, 0x45, 0x90, 0x25,
1481 	0xd2, 0x1c, 0x8c, 0x84, 0x62,
1482 	0xa2, 0x44, 0xba, 0x19, 0x60,
1483 	0x4e, 0xc4, 0xd5, 0x0b
1484 
1485 }, bm98a[] = {
1486 	0xa1, 0x01, 0x05
1487 }, bm98b[] = {
1488 	0xa1, 0x01, 0x27
1489 }, bm98c[] = {
1490 	0x31, 0x31
1491 }, bm98d[] = {
1492 	0xb4, 0x92, 0x4b, 0x18, 0xeb,
1493 	0x4e, 0x04, 0x73, 0x13, 0xc7,
1494 	0x07, 0xb0, 0xed, 0xa4, 0xab,
1495 	0x84, 0x43, 0x45, 0xf2, 0xc4,
1496 	0x49, 0x87, 0xd6, 0xf9, 0xeb,
1497 	0xcc, 0x77, 0x7e, 0xfd, 0x40,
1498 	0x78, 0xcc, 0x0f, 0x4c, 0x10,
1499 	0x8d, 0xef, 0x95, 0x9f, 0x78,
1500 	0xf1, 0xed, 0xb2, 0x76, 0x54,
1501 	0x25, 0x78, 0x5f, 0xcd, 0x17,
1502 	0xd5, 0x12, 0xbe, 0x31, 0xee,
1503 	0xb6, 0x6b, 0xef, 0xf1, 0xe8,
1504 	0xfc, 0x27, 0x47, 0x07
1505 }, bm98e[] = {
1506 	0x54, 0x68, 0x69, 0x73, 0x20,
1507 	0x69, 0x73, 0x20, 0x74, 0x68,
1508 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1509 	0x74, 0x65, 0x6e, 0x74, 0x2e
1510 }, bm98f[] = {
1511 	0x2b, 0xdc, 0xc8, 0x9f, 0x05,
1512 	0x82, 0x16, 0xb8, 0xa2, 0x08,
1513 	0xdd, 0xc6, 0xd8, 0xb5, 0x4a,
1514 	0xa9, 0x1f, 0x48, 0xbd, 0x63,
1515 	0x48, 0x49, 0x86, 0x56, 0x51,
1516 	0x05, 0xc9, 0xad, 0x5a, 0x66,
1517 	0x82, 0xf6
1518 }, bm98g[] = {
1519 	0x6f, 0x75, 0x72, 0x2d, 0x73,
1520 	0x65, 0x63, 0x72, 0x65, 0x74
1521 
1522 }, bm99a[] = {
1523 	0xa1, 0x01, 0x05
1524 }, bm99b[] = {
1525 	0xa1, 0x01, 0x27
1526 }, bm99c[] = {
1527 	0x31, 0x31
1528 }, bm99d[] = {
1529 	0xb4, 0x92, 0x4b, 0x18, 0xeb,
1530 	0x4e, 0x04, 0x73, 0x13, 0xc7,
1531 	0x07, 0xb0, 0xed, 0xa4, 0xab,
1532 	0x84, 0x43, 0x45, 0xf2, 0xc4,
1533 	0x49, 0x87, 0xd6, 0xf9, 0xeb,
1534 	0xcc, 0x77, 0x7e, 0xfd, 0x40,
1535 	0x78, 0xcc, 0x0f, 0x4c, 0x10,
1536 	0x8d, 0xef, 0x95, 0x9f, 0x78,
1537 	0xf1, 0xed, 0xb2, 0x76, 0x54,
1538 	0x25, 0x78, 0x5f, 0xcd, 0x17,
1539 	0xd5, 0x12, 0xbe, 0x31, 0xee,
1540 	0xb6, 0x6b, 0xef, 0xf1, 0xe8,
1541 	0xfc, 0x27, 0x47, 0x07
1542 }, bm99e[] = {
1543 	0xa1, 0x01, 0x26
1544 }, bm99f[] = {
1545 	0x31, 0x31
1546 }, bm99g[] = {
1547 	0x6a, 0xcd, 0x94, 0xd3, 0xcc,
1548 	0xf7, 0x1d, 0x19, 0x2e, 0x85,
1549 	0x28, 0x36, 0x0b, 0xa7, 0xe3,
1550 	0x46, 0xda, 0xc4, 0x64, 0xe9,
1551 	0xed, 0xca, 0x4c, 0xfe, 0xb6,
1552 	0xce, 0xb6, 0xbd, 0xe7, 0xba,
1553 	0xec, 0x9f, 0xf2, 0x6c, 0xa6,
1554 	0xbd, 0xf7, 0x3d, 0x0b, 0xe4,
1555 	0x1e, 0x36, 0x12, 0x9d, 0xcf,
1556 	0xf7, 0x51, 0xdd, 0x2b, 0x5a,
1557 	0xd5, 0xce, 0x11, 0x6e, 0x8a,
1558 	0x96, 0x3a, 0x27, 0x38, 0xa2,
1559 	0x99, 0x47, 0x7a, 0x68
1560 }, bm99h[] = {
1561 	0x54, 0x68, 0x69, 0x73, 0x20,
1562 	0x69, 0x73, 0x20, 0x74, 0x68,
1563 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1564 	0x74, 0x65, 0x6e, 0x74, 0x2e
1565 }, bm99i[] = {
1566 	0x2b, 0xdc, 0xc8, 0x9f, 0x05,
1567 	0x82, 0x16, 0xb8, 0xa2, 0x08,
1568 	0xdd, 0xc6, 0xd8, 0xb5, 0x4a,
1569 	0xa9, 0x1f, 0x48, 0xbd, 0x63,
1570 	0x48, 0x49, 0x86, 0x56, 0x51,
1571 	0x05, 0xc9, 0xad, 0x5a, 0x66,
1572 	0x82, 0xf6
1573 }, bm99j[] = {
1574 	0x6f, 0x75, 0x72, 0x2d, 0x73,
1575 	0x65, 0x63, 0x72, 0x65, 0x74
1576 
1577 }, bm100a[] = {
1578 	0xa1, 0x01, 0x05
1579 }, bm100b[] = {
1580 	0xa1, 0x01, 0x27
1581 }, bm100c[] = {
1582 	0x31, 0x31
1583 }, bm100d[] = {
1584 	0xb4, 0x92, 0x4b, 0x18, 0xeb,
1585 	0x4e, 0x04, 0x73, 0x13, 0xc7,
1586 	0x07, 0xb0, 0xed, 0xa4, 0xab,
1587 	0x84, 0x43, 0x45, 0xf2, 0xc4,
1588 	0x49, 0x87, 0xd6, 0xf9, 0xeb,
1589 	0xcc, 0x77, 0x7e, 0xfd, 0x40,
1590 	0x78, 0xcc, 0x0f, 0x4c, 0x10,
1591 	0x8d, 0xef, 0x95, 0x9f, 0x78,
1592 	0xf1, 0xed, 0xb2, 0x76, 0x54,
1593 	0x25, 0x78, 0x5f, 0xcd, 0x17,
1594 	0xd5, 0x12, 0xbe, 0x31, 0xee,
1595 	0xb6, 0x6b, 0xef, 0xf1, 0xe8,
1596 	0xfc, 0x27, 0x47, 0x07
1597 }, bm100e[] = {
1598 	0x54, 0x68, 0x69, 0x73, 0x20,
1599 	0x69, 0x73, 0x20, 0x74, 0x68,
1600 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1601 	0x74, 0x65, 0x6e, 0x74, 0x2e
1602 }, bm100f[] = {
1603 	0xa1, 0xa8, 0x48, 0xd3, 0x47,
1604 	0x1f, 0x9d, 0x61, 0xee, 0x49,
1605 	0x01, 0x8d, 0x24, 0x4c, 0x82,
1606 	0x47, 0x72, 0xf2, 0x23, 0xad,
1607 	0x4f, 0x93, 0x52, 0x93, 0xf1,
1608 	0x78, 0x9f, 0xc3, 0xa0, 0x8d,
1609 	0x8c, 0x58
1610 
1611 
1612 }, bm101a[] = {
1613 	0xa1, 0x01, 0x05
1614 }, bm101b[] = {
1615 	0xa1, 0x01, 0x27
1616 }, bm101c[] = {
1617 	0x31, 0x31
1618 }, bm101d[] = {
1619 	0xb4, 0x92, 0x4b, 0x18, 0xeb,
1620 	0x4e, 0x04, 0x73, 0x13, 0xc7,
1621 	0x07, 0xb0, 0xed, 0xa4, 0xab,
1622 	0x84, 0x43, 0x45, 0xf2, 0xc4,
1623 	0x49, 0x87, 0xd6, 0xf9, 0xeb,
1624 	0xcc, 0x77, 0x7e, 0xfd, 0x40,
1625 	0x78, 0xcc, 0x0f, 0x4c, 0x10,
1626 	0x8d, 0xef, 0x95, 0x9f, 0x78,
1627 	0xf1, 0xed, 0xb2, 0x76, 0x54,
1628 	0x25, 0x78, 0x5f, 0xcd, 0x17,
1629 	0xd5, 0x12, 0xbe, 0x31, 0xee,
1630 	0xb6, 0x6b, 0xef, 0xf1, 0xe8,
1631 	0xfc, 0x27, 0x47, 0x07
1632 }, bm101e[] = {
1633 	0xa1, 0x01, 0x26
1634 }, bm101f[] = {
1635 	0x31, 0x31
1636 }, bm101g[] = {
1637 	0x6a, 0xcd, 0x94, 0xd3, 0xcc,
1638 	0xf7, 0x1d, 0x19, 0x2e, 0x85,
1639 	0x28, 0x36, 0x0b, 0xa7, 0xe3,
1640 	0x46, 0xda, 0xc4, 0x64, 0xe9,
1641 	0xed, 0xca, 0x4c, 0xfe, 0xb6,
1642 	0xce, 0xb6, 0xbd, 0xe7, 0xba,
1643 	0xec, 0x9f, 0xf2, 0x6c, 0xa6,
1644 	0xbd, 0xf7, 0x3d, 0x0b, 0xe4,
1645 	0x1e, 0x36, 0x12, 0x9d, 0xcf,
1646 	0xf7, 0x51, 0xdd, 0x2b, 0x5a,
1647 	0xd5, 0xce, 0x11, 0x6e, 0x8a,
1648 	0x96, 0x3a, 0x27, 0x38, 0xa2,
1649 	0x99, 0x47, 0x7a, 0x68
1650 }, bm101h[] = {
1651 	0x54, 0x68, 0x69, 0x73, 0x20,
1652 	0x69, 0x73, 0x20, 0x74, 0x68,
1653 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1654 	0x74, 0x65, 0x6e, 0x74, 0x2e
1655 }, bm101i[] = {
1656 	0x2b, 0xdc, 0xc8, 0x9f, 0x05,
1657 	0x82, 0x16, 0xb8, 0xa2, 0x08,
1658 	0xdd, 0xc6, 0xd8, 0xb5, 0x4a,
1659 	0xa9, 0x1f, 0x48, 0xbd, 0x63,
1660 	0x48, 0x49, 0x86, 0x56, 0x51,
1661 	0x05, 0xc9, 0xad, 0x5a, 0x66,
1662 	0x82, 0xf6
1663 }, bm101j[] = {
1664 	0x6f, 0x75, 0x72, 0x2d, 0x73,
1665 	0x65, 0x63, 0x72, 0x65, 0x74
1666 
1667 }, bm102a[] = { /* mac0-01 */
1668 	0xa1, 0x01, 0x05
1669 }, bm102b[] = {
1670 	0xa1, 0x01, 0x27
1671 }, bm102c[] = {
1672 	0x31, 0x31
1673 }, bm102d[] = {
1674 	0xb4, 0x92, 0x4b, 0x18, 0xeb,
1675 	0x4e, 0x04, 0x73, 0x13, 0xc7,
1676 	0x07, 0xb0, 0xed, 0xa4, 0xab,
1677 	0x84, 0x43, 0x45, 0xf2, 0xc4,
1678 	0x49, 0x87, 0xd6, 0xf9, 0xeb,
1679 	0xcc, 0x77, 0x7e, 0xfd, 0x40,
1680 	0x78, 0xcc, 0x0f, 0x4c, 0x10,
1681 	0x8d, 0xef, 0x95, 0x9f, 0x78,
1682 	0xf1, 0xed, 0xb2, 0x76, 0x54,
1683 	0x25, 0x78, 0x5f, 0xcd, 0x17,
1684 	0xd5, 0x12, 0xbe, 0x31, 0xee,
1685 	0xb6, 0x6b, 0xef, 0xf1, 0xe8,
1686 	0xfc, 0x27, 0x47, 0x07
1687 }, bm102e[] = {
1688 	0x54, 0x68, 0x69, 0x73, 0x20,
1689 	0x69, 0x73, 0x20, 0x74, 0x68,
1690 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1691 	0x74, 0x65, 0x6e, 0x74, 0x2e
1692 }, bm102f[] = {
1693 	0xa1, 0xa8, 0x48, 0xd3, 0x47,
1694 	0x1f, 0x9d, 0x61, 0xee, 0x49,
1695 	0x01, 0x8d, 0x24, 0x4c, 0x82,
1696 	0x47, 0x72, 0xf2, 0x23, 0xad,
1697 	0x4f, 0x93, 0x52, 0x93, 0xf1,
1698 	0x78, 0x9f, 0xc3, 0xa0, 0x8d,
1699 	0x8c, 0x58
1700 
1701 }, bm103a[] = {
1702 	0xa1, 0x01, 0x05
1703 }, bm103b[] = {
1704 	0xa1, 0x01, 0x27
1705 }, bm103c[] = {
1706 	0x31, 0x31
1707 }, bm103d[] = {
1708 	0xb4, 0x92, 0x4b, 0x18, 0xeb,
1709 	0x4e, 0x04, 0x73, 0x13, 0xc7,
1710 	0x07, 0xb0, 0xed, 0xa4, 0xab,
1711 	0x84, 0x43, 0x45, 0xf2, 0xc4,
1712 	0x49, 0x87, 0xd6, 0xf9, 0xeb,
1713 	0xcc, 0x77, 0x7e, 0xfd, 0x40,
1714 	0x78, 0xcc, 0x0f, 0x4c, 0x10,
1715 	0x8d, 0xef, 0x95, 0x9f, 0x78,
1716 	0xf1, 0xed, 0xb2, 0x76, 0x54,
1717 	0x25, 0x78, 0x5f, 0xcd, 0x17,
1718 	0xd5, 0x12, 0xbe, 0x31, 0xee,
1719 	0xb6, 0x6b, 0xef, 0xf1, 0xe8,
1720 	0xfc, 0x27, 0x47, 0x07
1721 }, bm103e[] = {
1722 	0xa1, 0x01, 0x26
1723 }, bm103f[] = {
1724 	0x31, 0x31
1725 }, bm103g[] = {
1726 	0x6a, 0xcd, 0x94, 0xd3, 0xcc,
1727 	0xf7, 0x1d, 0x19, 0x2e, 0x85,
1728 	0x28, 0x36, 0x0b, 0xa7, 0xe3,
1729 	0x46, 0xda, 0xc4, 0x64, 0xe9,
1730 	0xed, 0xca, 0x4c, 0xfe, 0xb6,
1731 	0xce, 0xb6, 0xbd, 0xe7, 0xba,
1732 	0xec, 0x9f, 0xf2, 0x6c, 0xa6,
1733 	0xbd, 0xf7, 0x3d, 0x0b, 0xe4,
1734 	0x1e, 0x36, 0x12, 0x9d, 0xcf,
1735 	0xf7, 0x51, 0xdd, 0x2b, 0x5a,
1736 	0xd5, 0xce, 0x11, 0x6e, 0x8a,
1737 	0x96, 0x3a, 0x27, 0x38, 0xa2,
1738 	0x99, 0x47, 0x7a, 0x68
1739 }, bm103h[] = {
1740 	0x54, 0x68, 0x69, 0x73, 0x20,
1741 	0x69, 0x73, 0x20, 0x74, 0x68,
1742 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1743 	0x74, 0x65, 0x6e, 0x74, 0x2e
1744 }, bm103i[] = {
1745 	0xa1, 0xa8, 0x48, 0xd3, 0x47,
1746 	0x1f, 0x9d, 0x61, 0xee, 0x49,
1747 	0x01, 0x8d, 0x24, 0x4c, 0x82,
1748 	0x47, 0x72, 0xf2, 0x23, 0xad,
1749 	0x4f, 0x93, 0x52, 0x93, 0xf1,
1750 	0x78, 0x9f, 0xc3, 0xa0, 0x8d,
1751 	0x8c, 0x58
1752 
1753 }, bm104a[] = {
1754 	0xa1, 0x03, 0x00
1755 }, bm104b[] = {
1756 	0x54, 0x68, 0x69, 0x73, 0x20,
1757 	0x69, 0x73, 0x20, 0x74, 0x68,
1758 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1759 	0x74, 0x65, 0x6e, 0x74, 0x2e
1760 }, bm104c[] = {
1761 	0xa1, 0x01, 0x27
1762 }, bm104d[] = {
1763 	0xa1, 0x01, 0x27
1764 }, bm104e[] = {
1765 	0x31, 0x31
1766 }, bm104f[] = {
1767 	0x8e, 0x1b, 0xe2, 0xf9, 0x45,
1768 	0x3d, 0x26, 0x48, 0x12, 0xe5,
1769 	0x90, 0x49, 0x91, 0x32, 0xbe,
1770 	0xf3, 0xfb, 0xf9, 0xee, 0x9d,
1771 	0xb2, 0x7c, 0x2c, 0x16, 0x87,
1772 	0x88, 0xe3, 0xb7, 0xeb, 0xe5,
1773 	0x06, 0xc0, 0x4f, 0xd3, 0xd1,
1774 	0x9f, 0xaa, 0x9f, 0x51, 0x23,
1775 	0x2a, 0xf5, 0xc9, 0x59, 0xe4,
1776 	0xef, 0x47, 0x92, 0x88, 0x34,
1777 	0x64, 0x7f, 0x56, 0xdf, 0xbe,
1778 	0x93, 0x91, 0x12, 0x88, 0x4d,
1779 	0x08, 0xef, 0x25, 0x05
1780 }, bm104g[] = {
1781 	0x31, 0x31
1782 }, bm104h[] = {
1783 	0x77, 0xf3, 0xea, 0xcd, 0x11,
1784 	0x85, 0x2c, 0x4b, 0xf9, 0xcb,
1785 	0x1d, 0x72, 0xfa, 0xbe, 0x6b,
1786 	0x26, 0xfb, 0xa1, 0xd7, 0x60,
1787 	0x92, 0xb2, 0xb5, 0xb7, 0xec,
1788 	0x83, 0xb8, 0x35, 0x57, 0x65,
1789 	0x22, 0x64, 0xe6, 0x96, 0x90,
1790 	0xdb, 0xc1, 0x17, 0x2d, 0xdc,
1791 	0x0b, 0xf8, 0x84, 0x11, 0xc0,
1792 	0xd2, 0x5a, 0x50, 0x7f, 0xdb,
1793 	0x24, 0x7a, 0x20, 0xc4, 0x0d,
1794 	0x5e, 0x24, 0x5f, 0xab, 0xd3,
1795 	0xfc, 0x9e, 0xc1, 0x06
1796 
1797 }, bm105a[] = {
1798 	0xa1, 0x03, 0x00
1799 }, bm105b[] = {
1800 	0x54, 0x68, 0x69, 0x73, 0x20,
1801 	0x69, 0x73, 0x20, 0x74, 0x68,
1802 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1803 	0x74, 0x65, 0x6e, 0x74, 0x2e
1804 }, bm105c[] = {
1805 	0xa1, 0x01, 0x27
1806 }, bm105d[] = {
1807 	0xa1, 0x01, 0x27
1808 }, bm105e[] = {
1809 	0x31, 0x31
1810 }, bm105f[] = {
1811 		0x8e, 0x1b, 0xe2, 0xf9, 0x45,
1812 		0x3d, 0x26, 0x48, 0x12, 0xe5,
1813 		0x90, 0x49, 0x91, 0x32, 0xbe,
1814 		0xf3, 0xfb, 0xf9, 0xee, 0x9d,
1815 		0xb2, 0x7c, 0x2c, 0x16, 0x87,
1816 		0x88, 0xe3, 0xb7, 0xeb, 0xe5,
1817 		0x06, 0xc0, 0x4f, 0xd3, 0xd1,
1818 		0x9f, 0xaa, 0x9f, 0x51, 0x23,
1819 		0x2a, 0xf5, 0xc9, 0x59, 0xe4,
1820 		0xef, 0x47, 0x92, 0x88, 0x34,
1821 		0x64, 0x7f, 0x56, 0xdf, 0xbe,
1822 		0x93, 0x91, 0x12, 0x88, 0x4d,
1823 		0x08, 0xef, 0x25, 0x05
1824 }, bm105g[] = {
1825 	0xa1, 0x01, 0x26
1826 }, bm105h[] = {
1827 	0x31, 0x31
1828 }, bm105i[] = {
1829 		0xaf, 0x04, 0x9b, 0x80, 0xd5,
1830 		0x2c, 0x36, 0x69, 0xb2, 0x99,
1831 		0x70, 0xc1, 0x33, 0x54, 0x37,
1832 		0x54, 0xf9, 0xcc, 0x60, 0x8c,
1833 		0xe4, 0x11, 0x23, 0xae, 0x1c,
1834 		0x82, 0x7e, 0x36, 0xb3, 0x8c,
1835 		0xb8, 0x25, 0x98, 0x7f, 0x01,
1836 		0xf2, 0x2b, 0xb8, 0xab, 0x13,
1837 		0xe9, 0xc6, 0x62, 0x26, 0xee,
1838 		0x23, 0x17, 0x8f, 0xfa, 0x00,
1839 		0xa4, 0xfc, 0x22, 0x05, 0x93,
1840 		0xb6, 0xe5, 0xac, 0x38, 0x96,
1841 		0x00, 0x71, 0xc9, 0xc8
1842 }, bm105j[] = {
1843 	0x31, 0x31
1844 }, bm105k[] = {
1845 		0x77, 0xf3, 0xea, 0xcd, 0x11,
1846 		0x85, 0x2c, 0x4b, 0xf9, 0xcb,
1847 		0x1d, 0x72, 0xfa, 0xbe, 0x6b,
1848 		0x26, 0xfb, 0xa1, 0xd7, 0x60,
1849 		0x92, 0xb2, 0xb5, 0xb7, 0xec,
1850 		0x83, 0xb8, 0x35, 0x57, 0x65,
1851 		0x22, 0x64, 0xe6, 0x96, 0x90,
1852 		0xdb, 0xc1, 0x17, 0x2d, 0xdc,
1853 		0x0b, 0xf8, 0x84, 0x11, 0xc0,
1854 		0xd2, 0x5a, 0x50, 0x7f, 0xdb,
1855 		0x24, 0x7a, 0x20, 0xc4, 0x0d,
1856 		0x5e, 0x24, 0x5f, 0xab, 0xd3,
1857 		0xfc, 0x9e, 0xc1, 0x06
1858 
1859 }, bm106a[] = {
1860 	0xa1, 0x03, 0x00
1861 }, bm106b[] = {
1862 	0xa1, 0x01, 0x27
1863 }, bm106c[] = {
1864 	0x31, 0x31
1865 }, bm106d[] = {
1866 		0xb7, 0xca, 0xcb, 0xa2, 0x85,
1867 		0xc4, 0xcd, 0x3e, 0xd2, 0xf0,
1868 		0x14, 0x6f, 0x41, 0x98, 0x86,
1869 		0x14, 0x4c, 0xa6, 0x38, 0xd0,
1870 		0x87, 0xde, 0x12, 0x3d, 0x40,
1871 		0x01, 0x67, 0x30, 0x8a, 0xce,
1872 		0xab, 0xc4, 0xb5, 0xe5, 0xc6,
1873 		0xa4, 0x0c, 0x0d, 0xe0, 0xb7,
1874 		0x11, 0x67, 0xa3, 0x91, 0x75,
1875 		0xea, 0x56, 0xc1, 0xfe, 0x96,
1876 		0xc8, 0x9e, 0x5e, 0x7d, 0x30,
1877 		0xda, 0xf2, 0x43, 0x8a, 0x45,
1878 		0x61, 0x59, 0xa2, 0x0a
1879 }, bm106e[] = {
1880 	0x54, 0x68, 0x69, 0x73, 0x20,
1881 	0x69, 0x73, 0x20, 0x74, 0x68,
1882 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1883 	0x74, 0x65, 0x6e, 0x74, 0x2e
1884 }, bm106f[] = {
1885 	0xa1, 0x01, 0x27
1886 }, bm106g[] = {
1887 	0x31, 0x31
1888 }, bm106h[] = {
1889 		0x77, 0xf3, 0xea, 0xcd, 0x11,
1890 		0x85, 0x2c, 0x4b, 0xf9, 0xcb,
1891 		0x1d, 0x72, 0xfa, 0xbe, 0x6b,
1892 		0x26, 0xfb, 0xa1, 0xd7, 0x60,
1893 		0x92, 0xb2, 0xb5, 0xb7, 0xec,
1894 		0x83, 0xb8, 0x35, 0x57, 0x65,
1895 		0x22, 0x64, 0xe6, 0x96, 0x90,
1896 		0xdb, 0xc1, 0x17, 0x2d, 0xdc,
1897 		0x0b, 0xf8, 0x84, 0x11, 0xc0,
1898 		0xd2, 0x5a, 0x50, 0x7f, 0xdb,
1899 		0x24, 0x7a, 0x20, 0xc4, 0x0d,
1900 		0x5e, 0x24, 0x5f, 0xab, 0xd3,
1901 		0xfc, 0x9e, 0xc1, 0x06
1902 
1903 }, bm107a[] = {
1904 	0xa2, 0x01, 0x27, 0x03, 0x00
1905 }, bm107b[] = {
1906 	0xa1, 0x01, 0x27,
1907 }, bm107c[] = {
1908 	0x31, 0x31
1909 }, bm107d[] = {
1910 	0x6d, 0xae, 0xd1, 0x58, 0xaf,
1911 	0xe4, 0x03, 0x2e, 0x8d, 0xd4,
1912 	0x77, 0xd3, 0xd2, 0xb7, 0xf6,
1913 	0x67, 0xe7, 0x95, 0x7a, 0xa8,
1914 	0x30, 0x2b, 0xb5, 0xe5, 0x68,
1915 	0xb4, 0xdc, 0xbc, 0xce, 0x3c,
1916 	0xf0, 0xed, 0x5a, 0x90, 0xf8,
1917 	0x31, 0x35, 0x1c, 0x85, 0xd6,
1918 	0x15, 0x5a, 0x42, 0xa1, 0x7c,
1919 	0xa1, 0xf2, 0x5f, 0x50, 0x1c,
1920 	0xc1, 0x3f, 0x67, 0x10, 0x8a,
1921 	0xe5, 0x3b, 0xda, 0x92, 0xdb,
1922 	0x88, 0x27, 0x2e, 0x00
1923 }, bm107e[] = {
1924 	0x31, 0x31
1925 }, bm107f[] = {
1926 	0x54, 0x68, 0x69, 0x73, 0x20,
1927 	0x69, 0x73, 0x20, 0x74, 0x68,
1928 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1929 	0x74, 0x65, 0x6e, 0x74, 0x2e
1930 }, bm107g[] = {
1931 	0x71, 0x42, 0xfd, 0x2f, 0xf9,
1932 	0x6d, 0x56, 0xdb, 0x85, 0xbe,
1933 	0xe9, 0x05, 0xa7, 0x6b, 0xa1,
1934 	0xd0, 0xb7, 0x32, 0x1a, 0x95,
1935 	0xc8, 0xc4, 0xd3, 0x60, 0x7c,
1936 	0x57, 0x81, 0x93, 0x2b, 0x7a,
1937 	0xfb, 0x87, 0x11, 0x49, 0x7d,
1938 	0xfa, 0x75, 0x1b, 0xf4, 0x0b,
1939 	0x58, 0xb3, 0xbc, 0xc3, 0x23,
1940 	0x00, 0xb1, 0x48, 0x7f, 0x3d,
1941 	0xb3, 0x40, 0x85, 0xee, 0xf0,
1942 	0x13, 0xbf, 0x08, 0xf4, 0xa4,
1943 	0x4d, 0x6f, 0xef, 0x0d
1944 
1945 }, bm108a[] = {
1946 	0xa2, 0x01, 0x27, 0x03, 0x00
1947 }, bm108b[] = {
1948 	0xa1, 0x01, 0x27
1949 }, bm108c[] = {
1950 	0x31, 0x31
1951 }, bm108d[] = {
1952 	0x6d, 0xae, 0xd1, 0x58, 0xaf,
1953 	0xe4, 0x03, 0x2e, 0x8d, 0xd4,
1954 	0x77, 0xd3, 0xd2, 0xb7, 0xf6,
1955 	0x67, 0xe7, 0x95, 0x7a, 0xa8,
1956 	0x30, 0x2b, 0xb5, 0xe5, 0x68,
1957 	0xb4, 0xdc, 0xbc, 0xce, 0x3c,
1958 	0xf0, 0xed, 0x5a, 0x90, 0xf8,
1959 	0x31, 0x35, 0x1c, 0x85, 0xd6,
1960 	0x15, 0x5a, 0x42, 0xa1, 0x7c,
1961 	0xa1, 0xf2, 0x5f, 0x50, 0x1c,
1962 	0xc1, 0x3f, 0x67, 0x10, 0x8a,
1963 	0xe5, 0x3b, 0xda, 0x92, 0xdb,
1964 	0x88, 0x27, 0x2e, 0x00
1965 }, bm108e[] = {
1966 	0xa1, 0x01, 0x26
1967 }, bm108f[] = {
1968 	0x31, 0x31
1969 }, bm108g[] = {
1970 	0x93, 0x48, 0x7d, 0x09, 0x25,
1971 	0x6a, 0x3e, 0xf4, 0x96, 0x37,
1972 	0x19, 0xba, 0x5c, 0xf1, 0x01,
1973 	0xac, 0xe2, 0xfc, 0x13, 0xd6,
1974 	0x31, 0x4b, 0x49, 0x58, 0x21,
1975 	0x71, 0xff, 0xa4, 0xa1, 0x31,
1976 	0x4d, 0xc9, 0x3e, 0x4a, 0x4a,
1977 	0xdf, 0xa4, 0x2a, 0x79, 0xe3,
1978 	0x1b, 0x35, 0xd7, 0x30, 0x43,
1979 	0x58, 0x58, 0x5b, 0x41, 0x79,
1980 	0x96, 0x78, 0xce, 0x00, 0xca,
1981 	0x47, 0xc3, 0xe0, 0x23, 0x86,
1982 	0x39, 0x23, 0xf8, 0xc8
1983 }, bm108h[] = {
1984 	0x31, 0x31
1985 }, bm108i[] = {
1986 	0x54, 0x68, 0x69, 0x73, 0x20,
1987 	0x69, 0x73, 0x20, 0x74, 0x68,
1988 	0x65, 0x20, 0x63, 0x6f, 0x6e,
1989 	0x74, 0x65, 0x6e, 0x74, 0x2e
1990 }, bm108j[] = {
1991 	0x71, 0x42, 0xfd, 0x2f, 0xf9,
1992 	0x6d, 0x56, 0xdb, 0x85, 0xbe,
1993 	0xe9, 0x05, 0xa7, 0x6b, 0xa1,
1994 	0xd0, 0xb7, 0x32, 0x1a, 0x95,
1995 	0xc8, 0xc4, 0xd3, 0x60, 0x7c,
1996 	0x57, 0x81, 0x93, 0x2b, 0x7a,
1997 	0xfb, 0x87, 0x11, 0x49, 0x7d,
1998 	0xfa, 0x75, 0x1b, 0xf4, 0x0b,
1999 	0x58, 0xb3, 0xbc, 0xc3, 0x23,
2000 	0x00, 0xb1, 0x48, 0x7f, 0x3d,
2001 	0xb3, 0x40, 0x85, 0xee, 0xf0,
2002 	0x13, 0xbf, 0x08, 0xf4, 0xa4,
2003 	0x4d, 0x6f, 0xef, 0x0d
2004 };
2005 
2006 static const struct seq
2007 seq1[] = {
2008 	{ .reason = LECPCB_CONSTRUCTED },
2009 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 0 } },
2010 	{ .reason = LECPCB_DESTRUCTED },
2011 }, seq2[] = {
2012 	{ .reason = LECPCB_CONSTRUCTED },
2013 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2014 	{ .reason = LECPCB_DESTRUCTED },
2015 }, seq3[] = {
2016 	{ .reason = LECPCB_CONSTRUCTED },
2017 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 10 } },
2018 	{ .reason = LECPCB_DESTRUCTED },
2019 }, seq4[] = {
2020 	{ .reason = LECPCB_CONSTRUCTED },
2021 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 23 } },
2022 	{ .reason = LECPCB_DESTRUCTED },
2023 }, seq5[] = {
2024 	{ .reason = LECPCB_CONSTRUCTED },
2025 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 24 } },
2026 	{ .reason = LECPCB_DESTRUCTED },
2027 }, seq6[] = {
2028 	{ .reason = LECPCB_CONSTRUCTED },
2029 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 25 } },
2030 	{ .reason = LECPCB_DESTRUCTED },
2031 }, seq7[] = {
2032 	{ .reason = LECPCB_CONSTRUCTED },
2033 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 100 } },
2034 	{ .reason = LECPCB_DESTRUCTED },
2035 }, seq8[] = {
2036 	{ .reason = LECPCB_CONSTRUCTED },
2037 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1000 } },
2038 	{ .reason = LECPCB_DESTRUCTED },
2039 }, seq9[] = {
2040 	{ .reason = LECPCB_CONSTRUCTED },
2041 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1000000 } },
2042 	{ .reason = LECPCB_DESTRUCTED },
2043 }, seq10[] = {
2044 	{ .reason = LECPCB_CONSTRUCTED },
2045 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1000000000000 } },
2046 	{ .reason = LECPCB_DESTRUCTED },
2047 }, seq11[] = {
2048 	{ .reason = LECPCB_CONSTRUCTED },
2049 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 18446744073709551615ull } },
2050 	{ .reason = LECPCB_DESTRUCTED },
2051 }, seq12[] = {
2052 	{ .reason = LECPCB_CONSTRUCTED },
2053 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 0 } },
2054 	{ .reason = LECPCB_VAL_BLOB_START, },
2055 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm12, .buf_len = sizeof(bm12)},
2056 	{ .reason = LECPCB_TAG_END },
2057 	{ .reason = LECPCB_DESTRUCTED },
2058 }, seq13[] = {
2059 	{ .reason = LECPCB_CONSTRUCTED },
2060 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = 0ull } },
2061 	{ .reason = LECPCB_DESTRUCTED },
2062 }, seq14[] = {
2063 	{ .reason = LECPCB_CONSTRUCTED },
2064 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 3 } },
2065 	{ .reason = LECPCB_VAL_BLOB_START, },
2066 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm12, .buf_len = sizeof(bm12)},
2067 	{ .reason = LECPCB_TAG_END },
2068 	{ .reason = LECPCB_DESTRUCTED },
2069 }, seq15[] = {
2070 	{ .reason = LECPCB_CONSTRUCTED },
2071 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -1ll } },
2072 	{ .reason = LECPCB_DESTRUCTED },
2073 }, seq16[] = {
2074 	{ .reason = LECPCB_CONSTRUCTED },
2075 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -10ll } },
2076 	{ .reason = LECPCB_DESTRUCTED },
2077 }, seq17[] = {
2078 	{ .reason = LECPCB_CONSTRUCTED },
2079 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -100ll } },
2080 	{ .reason = LECPCB_DESTRUCTED },
2081 }, seq18[] = {
2082 	{ .reason = LECPCB_CONSTRUCTED },
2083 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -1000ll } },
2084 	{ .reason = LECPCB_DESTRUCTED },
2085 }, seq19[] = {
2086 	{ .reason = LECPCB_CONSTRUCTED },
2087 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0 } },
2088 	{ .reason = LECPCB_DESTRUCTED },
2089 }, seq20[] = {
2090 	{ .reason = LECPCB_CONSTRUCTED },
2091 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0x8000 } },
2092 	{ .reason = LECPCB_DESTRUCTED },
2093 }, seq21[] = {
2094 	{ .reason = LECPCB_CONSTRUCTED },
2095 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0x3c00 } },
2096 	{ .reason = LECPCB_DESTRUCTED },
2097 }, seq22[] = {
2098 	{ .reason = LECPCB_CONSTRUCTED },
2099 #if defined(LWS_WITH_CBOR_FLOAT)
2100 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.d = 1.1 } },
2101 #else
2102 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.u64 = 0x3ff199999999999aull } },
2103 #endif
2104 	{ .reason = LECPCB_DESTRUCTED },
2105 }, seq23[] = {
2106 	{ .reason = LECPCB_CONSTRUCTED },
2107 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0x3e00 } },
2108 	{ .reason = LECPCB_DESTRUCTED },
2109 }, seq24[] = {
2110 	{ .reason = LECPCB_CONSTRUCTED },
2111 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0x7bff } },
2112 	{ .reason = LECPCB_DESTRUCTED },
2113 }, seq25[] = {
2114 	{ .reason = LECPCB_CONSTRUCTED },
2115 #if defined(LWS_WITH_CBOR_FLOAT)
2116 	{ .reason = LECPCB_VAL_FLOAT32, .item = { .u.f =  100000.0  } },
2117 #else
2118 	{ .reason = LECPCB_VAL_FLOAT32, .item = { .u.f = 0x47c35000 } },
2119 #endif
2120 	{ .reason = LECPCB_DESTRUCTED },
2121 }, seq26[] = {
2122 	{ .reason = LECPCB_CONSTRUCTED },
2123 #if defined(LWS_WITH_CBOR_FLOAT)
2124 	{ .reason = LECPCB_VAL_FLOAT32, .item = { .u.f = 3.4028234663852886e+38 } },
2125 #else
2126 	{ .reason = LECPCB_VAL_FLOAT32, .item = { .u.f = 0x7f7fffff } },
2127 #endif
2128 	{ .reason = LECPCB_DESTRUCTED },
2129 }, seq27[] = {
2130 	{ .reason = LECPCB_CONSTRUCTED },
2131 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.u64 = 0x7e37e43c8800759cull } },
2132 	{ .reason = LECPCB_DESTRUCTED },
2133 }, seq28[] = {
2134 	{ .reason = LECPCB_CONSTRUCTED },
2135 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0x0001 } },
2136 	{ .reason = LECPCB_DESTRUCTED },
2137 }, seq29[] = {
2138 	{ .reason = LECPCB_CONSTRUCTED },
2139 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0x0400 } },
2140 	{ .reason = LECPCB_DESTRUCTED },
2141 }, seq30[] = {
2142 	{ .reason = LECPCB_CONSTRUCTED },
2143 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0xc400 } },
2144 	{ .reason = LECPCB_DESTRUCTED },
2145 }, seq31[] = {
2146 	{ .reason = LECPCB_CONSTRUCTED },
2147 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.u64 = 0xc010666666666666ull } },
2148 	{ .reason = LECPCB_DESTRUCTED },
2149 }, seq32[] = {
2150 	{ .reason = LECPCB_CONSTRUCTED },
2151 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0x7c00 } },
2152 	{ .reason = LECPCB_DESTRUCTED },
2153 }, seq33[] = {
2154 	{ .reason = LECPCB_CONSTRUCTED },
2155 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0x7e00 } },
2156 	{ .reason = LECPCB_DESTRUCTED },
2157 }, seq34[] = {
2158 	{ .reason = LECPCB_CONSTRUCTED },
2159 	{ .reason = LECPCB_VAL_FLOAT16, .item = { .u.hf = 0xfc00 } },
2160 	{ .reason = LECPCB_DESTRUCTED },
2161 }, seq35[] = {
2162 	{ .reason = LECPCB_CONSTRUCTED },
2163 #if defined(LWS_WITH_CBOR_FLOAT)
2164 	{ .reason = LECPCB_VAL_FLOAT32, .item = { .u.u32 = 0x7f800000 } },
2165 #else
2166 	{ .reason = LECPCB_VAL_FLOAT32, .item = { .u.f = 0x7f800000 } },
2167 #endif
2168 	{ .reason = LECPCB_DESTRUCTED },
2169 }, seq36[] = {
2170 	{ .reason = LECPCB_CONSTRUCTED },
2171 #if defined(LWS_WITH_CBOR_FLOAT)
2172 	{ .reason = LECPCB_VAL_FLOAT32, .item = { .u.f = NAN } },
2173 #else
2174 	{ .reason = LECPCB_VAL_FLOAT32, .item = { .u.f = 0x7fc00000 } },
2175 #endif
2176 	{ .reason = LECPCB_DESTRUCTED },
2177 }, seq37[] = {
2178 	{ .reason = LECPCB_CONSTRUCTED },
2179 #if defined(LWS_WITH_CBOR_FLOAT)
2180 	{ .reason = LECPCB_VAL_FLOAT32, .item = { .u.u32 = 0xff800000 } },
2181 #else
2182 	{ .reason = LECPCB_VAL_FLOAT32, .item = { .u.f = 0xff800000 } },
2183 #endif
2184 	{ .reason = LECPCB_DESTRUCTED },
2185 }, seq38[] = {
2186 	{ .reason = LECPCB_CONSTRUCTED },
2187 #if defined(LWS_WITH_CBOR_FLOAT)
2188 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.u64 = 0x7ff0000000000000ull } },
2189 #else
2190 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.u64 = 0x7ff0000000000000ull } },
2191 #endif
2192 	{ .reason = LECPCB_DESTRUCTED },
2193 }, seq39[] = {
2194 	{ .reason = LECPCB_CONSTRUCTED },
2195 #if defined(LWS_WITH_CBOR_FLOAT)
2196 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.u64 = 0x7ff8000000000000ull } },
2197 #else
2198 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.u64 = 0x7ff8000000000000ull } },
2199 #endif
2200 	{ .reason = LECPCB_DESTRUCTED },
2201 }, seq40[] = {
2202 	{ .reason = LECPCB_CONSTRUCTED },
2203 #if defined(LWS_WITH_CBOR_FLOAT)
2204 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.u64 = 0xfff0000000000000ull } },
2205 #else
2206 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.u64 = 0xfff0000000000000ull } },
2207 #endif
2208 	{ .reason = LECPCB_DESTRUCTED },
2209 }, seq41[] = {
2210 	{ .reason = LECPCB_CONSTRUCTED },
2211 	{ .reason = LECPCB_VAL_FALSE },
2212 	{ .reason = LECPCB_DESTRUCTED },
2213 }, seq42[] = {
2214 	{ .reason = LECPCB_CONSTRUCTED },
2215 	{ .reason = LECPCB_VAL_TRUE },
2216 	{ .reason = LECPCB_DESTRUCTED },
2217 }, seq43[] = {
2218 	{ .reason = LECPCB_CONSTRUCTED },
2219 	{ .reason = LECPCB_VAL_NULL },
2220 	{ .reason = LECPCB_DESTRUCTED },
2221 }, seq44[] = {
2222 	{ .reason = LECPCB_CONSTRUCTED },
2223 	{ .reason = LECPCB_VAL_UNDEFINED },
2224 	{ .reason = LECPCB_DESTRUCTED },
2225 }, seq45[] = {
2226 	{ .reason = LECPCB_CONSTRUCTED },
2227 	{ .reason = LECPCB_VAL_SIMPLE, .item = { .u.u64 = 16 } },
2228 	{ .reason = LECPCB_DESTRUCTED },
2229 }, seq46[] = {
2230 	{ .reason = LECPCB_CONSTRUCTED },
2231 	{ .reason = LECPCB_FAILED }, /* example disallowed by RFC! */
2232 	{ .reason = LECPCB_DESTRUCTED },
2233 }, seq47[] = {
2234 	{ .reason = LECPCB_CONSTRUCTED },
2235 	{ .reason = LECPCB_VAL_SIMPLE, .item = { .u.u64 = 255 } },
2236 	{ .reason = LECPCB_DESTRUCTED },
2237 }, seq48[] = {
2238 	{ .reason = LECPCB_CONSTRUCTED },
2239 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 0 } },
2240 	{ .reason = LECPCB_VAL_STR_START, },
2241 	{ .reason = LECPCB_VAL_STR_END, .buf = bm48, .buf_len = sizeof(bm48)},
2242 	{ .reason = LECPCB_TAG_END },
2243 	{ .reason = LECPCB_DESTRUCTED },
2244 }, seq49[] = {
2245 	{ .reason = LECPCB_CONSTRUCTED },
2246 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 1 } },
2247 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1363896240 } },
2248 	{ .reason = LECPCB_TAG_END },
2249 	{ .reason = LECPCB_DESTRUCTED },
2250 }, seq50[] = {
2251 	{ .reason = LECPCB_CONSTRUCTED },
2252 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 1 } },
2253 	{ .reason = LECPCB_VAL_FLOAT64, .item = { .u.u64 = 0x41d452d9ec200000ull } },
2254 	{ .reason = LECPCB_TAG_END },
2255 	{ .reason = LECPCB_DESTRUCTED },
2256 }, seq51[] = {
2257 	{ .reason = LECPCB_CONSTRUCTED },
2258 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 23 } },
2259 	{ .reason = LECPCB_VAL_BLOB_START, },
2260 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm51, .buf_len = sizeof(bm51)},
2261 	{ .reason = LECPCB_TAG_END },
2262 	{ .reason = LECPCB_DESTRUCTED },
2263 }, seq52[] = {
2264 	{ .reason = LECPCB_CONSTRUCTED },
2265 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 24 } },
2266 	{ .reason = LECPCB_VAL_BLOB_START, },
2267 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm52, .buf_len = sizeof(bm52)},
2268 	{ .reason = LECPCB_TAG_END },
2269 	{ .reason = LECPCB_DESTRUCTED },
2270 }, seq53[] = {
2271 	{ .reason = LECPCB_CONSTRUCTED },
2272 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 32 } },
2273 	{ .reason = LECPCB_VAL_STR_START, },
2274 	{ .reason = LECPCB_VAL_STR_END, .buf = bm53, .buf_len = sizeof(bm53)},
2275 	{ .reason = LECPCB_TAG_END },
2276 	{ .reason = LECPCB_DESTRUCTED },
2277 }, seq54[] = {
2278 	{ .reason = LECPCB_CONSTRUCTED },
2279 	{ .reason = LECPCB_VAL_BLOB_START, },
2280 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm53, .buf_len = 0},
2281 	{ .reason = LECPCB_DESTRUCTED },
2282 }, seq55[] = {
2283 	{ .reason = LECPCB_CONSTRUCTED },
2284 	{ .reason = LECPCB_VAL_BLOB_START, },
2285 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm51, .buf_len = sizeof(bm51)},
2286 	{ .reason = LECPCB_DESTRUCTED },
2287 }, seq56[] = {
2288 	{ .reason = LECPCB_CONSTRUCTED },
2289 	{ .reason = LECPCB_VAL_STR_START, },
2290 	{ .reason = LECPCB_VAL_STR_END, .buf = bm53, .buf_len = 0},
2291 	{ .reason = LECPCB_DESTRUCTED },
2292 }, seq57[] = {
2293 	{ .reason = LECPCB_CONSTRUCTED },
2294 	{ .reason = LECPCB_VAL_STR_START, },
2295 	{ .reason = LECPCB_VAL_STR_END, .buf = bm57, .buf_len = sizeof(bm57)},
2296 	{ .reason = LECPCB_DESTRUCTED },
2297 }, seq58[] = {
2298 	{ .reason = LECPCB_CONSTRUCTED },
2299 	{ .reason = LECPCB_VAL_STR_START, },
2300 	{ .reason = LECPCB_VAL_STR_END, .buf = bm58, .buf_len = sizeof(bm58)},
2301 	{ .reason = LECPCB_DESTRUCTED },
2302 }, seq59[] = {
2303 	{ .reason = LECPCB_CONSTRUCTED },
2304 	{ .reason = LECPCB_VAL_STR_START, },
2305 	{ .reason = LECPCB_VAL_STR_END, .buf = bm59, .buf_len = sizeof(bm59)},
2306 	{ .reason = LECPCB_DESTRUCTED },
2307 }, seq60[] = {
2308 	{ .reason = LECPCB_CONSTRUCTED },
2309 	{ .reason = LECPCB_VAL_STR_START, },
2310 	{ .reason = LECPCB_VAL_STR_END, .buf = bm60, .buf_len = sizeof(bm60)},
2311 	{ .reason = LECPCB_DESTRUCTED },
2312 }, seq61[] = {
2313 	{ .reason = LECPCB_CONSTRUCTED },
2314 	{ .reason = LECPCB_VAL_STR_START, },
2315 	{ .reason = LECPCB_VAL_STR_END, .buf = bm61, .buf_len = sizeof(bm61)},
2316 	{ .reason = LECPCB_DESTRUCTED },
2317 }, seq62[] = {
2318 	{ .reason = LECPCB_CONSTRUCTED },
2319 	{ .reason = LECPCB_VAL_STR_START, },
2320 	{ .reason = LECPCB_VAL_STR_END, .buf = bm62, .buf_len = sizeof(bm62)},
2321 	{ .reason = LECPCB_DESTRUCTED },
2322 }, seq63[] = {
2323 	{ .reason = LECPCB_CONSTRUCTED },
2324 	{ .reason = LECPCB_ARRAY_START, },
2325 	{ .reason = LECPCB_ARRAY_END },
2326 	{ .reason = LECPCB_DESTRUCTED },
2327 }, seq64[] = {
2328 	{ .reason = LECPCB_CONSTRUCTED },
2329 	{ .reason = LECPCB_ARRAY_START, },
2330 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2331 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2332 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2333 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2334 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2335 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2336 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2337 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2338 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2339 	{ .reason = LECPCB_ARRAY_END },
2340 	{ .reason = LECPCB_DESTRUCTED },
2341 }, seq65[] = {
2342 	{ .reason = LECPCB_CONSTRUCTED },
2343 	{ .reason = LECPCB_ARRAY_START, },
2344 
2345 	 { .reason = LECPCB_ARRAY_ITEM_START, },
2346 	  { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2347 	 { .reason = LECPCB_ARRAY_ITEM_END, },
2348 
2349 	 { .reason = LECPCB_ARRAY_ITEM_START, },
2350 	  { .reason = LECPCB_ARRAY_START, },
2351 	   { .reason = LECPCB_ARRAY_ITEM_START, },
2352 	    { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2353 	   { .reason = LECPCB_ARRAY_ITEM_END, },
2354 	   { .reason = LECPCB_ARRAY_ITEM_START, },
2355 	    { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2356 	   { .reason = LECPCB_ARRAY_ITEM_END, },
2357 	  { .reason = LECPCB_ARRAY_END },
2358 	 { .reason = LECPCB_ARRAY_ITEM_END, },
2359 
2360 	 { .reason = LECPCB_ARRAY_ITEM_START, },
2361 	  { .reason = LECPCB_ARRAY_START, },
2362 	   { .reason = LECPCB_ARRAY_ITEM_START, },
2363 	    { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2364 	   { .reason = LECPCB_ARRAY_ITEM_END, },
2365 	   { .reason = LECPCB_ARRAY_ITEM_START, },
2366 	    { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
2367 	   { .reason = LECPCB_ARRAY_ITEM_END, },
2368 	  { .reason = LECPCB_ARRAY_END },
2369 	 { .reason = LECPCB_ARRAY_ITEM_END, },
2370 
2371 	{ .reason = LECPCB_ARRAY_END },
2372 	{ .reason = LECPCB_DESTRUCTED },
2373 }, seq66[] = {
2374 	{ .reason = LECPCB_CONSTRUCTED },
2375 	{ .reason = LECPCB_ARRAY_START, },
2376 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2377 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2378 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2379 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2380 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2381 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2382 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2383 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2384 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2385 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2386 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2387 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2388 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2389 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
2390 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2391 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2392 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 6 } },
2393 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2394 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2395 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
2396 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2397 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2398 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 8 } },
2399 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2400 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2401 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 9 } },
2402 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2403 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2404 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 10 } },
2405 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2406 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2407 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 11 } },
2408 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2409 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2410 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 12 } },
2411 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2412 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2413 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 13 } },
2414 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2415 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2416 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 14 } },
2417 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2418 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2419 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 15 } },
2420 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2421 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2422 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 16 } },
2423 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2424 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2425 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 17 } },
2426 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2427 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2428 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 18 } },
2429 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2430 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2431 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 19 } },
2432 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2433 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2434 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 20 } },
2435 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2436 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2437 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 21 } },
2438 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2439 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2440 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 22 } },
2441 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2442 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2443 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 23 } },
2444 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2445 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2446 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 24 } },
2447 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2448 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2449 	 { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 25 } },
2450 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2451 	{ .reason = LECPCB_ARRAY_END },
2452 	{ .reason = LECPCB_DESTRUCTED },
2453 }, seq67[] = {
2454 	{ .reason = LECPCB_CONSTRUCTED },
2455 	{ .reason = LECPCB_OBJECT_START, },
2456 	{ .reason = LECPCB_OBJECT_END },
2457 	{ .reason = LECPCB_DESTRUCTED },
2458 }, seq68[] = {
2459 	{ .reason = LECPCB_CONSTRUCTED },
2460 	{ .reason = LECPCB_OBJECT_START, },
2461 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2462 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2463 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2464 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2465 	{ .reason = LECPCB_OBJECT_END },
2466 	{ .reason = LECPCB_DESTRUCTED },
2467 }, seq69[] = {
2468 	{ .reason = LECPCB_CONSTRUCTED },
2469 	{ .reason = LECPCB_OBJECT_START, },
2470 	{ .reason = LECPCB_VAL_STR_START, },
2471 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"a", .buf_len = 1},
2472 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2473 	{ .reason = LECPCB_VAL_STR_START, },
2474 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"b", .buf_len = 1},
2475 	{ .reason = LECPCB_ARRAY_START, },
2476 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2477 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2478 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2479 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2480 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2481 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2482 	{ .reason = LECPCB_ARRAY_END, },
2483 	{ .reason = LECPCB_OBJECT_END },
2484 	{ .reason = LECPCB_DESTRUCTED },
2485 }, seq70[] = {
2486 	{ .reason = LECPCB_CONSTRUCTED },
2487 	{ .reason = LECPCB_ARRAY_START, },
2488 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2489 	{ .reason = LECPCB_VAL_STR_START, },
2490 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"a", .buf_len = 1},
2491 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2492 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2493 	{ .reason = LECPCB_OBJECT_START, },
2494 	{ .reason = LECPCB_VAL_STR_START, },
2495 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"b", .buf_len = 1},
2496 	{ .reason = LECPCB_VAL_STR_START, },
2497 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"c", .buf_len = 1},
2498 	{ .reason = LECPCB_OBJECT_END },
2499 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2500 	{ .reason = LECPCB_ARRAY_END, },
2501 	{ .reason = LECPCB_DESTRUCTED },
2502 }, seq71[] = {
2503 	{ .reason = LECPCB_CONSTRUCTED },
2504 	{ .reason = LECPCB_OBJECT_START, },
2505 	{ .reason = LECPCB_VAL_STR_START, },
2506 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"a", .buf_len = 1},
2507 	{ .reason = LECPCB_VAL_STR_START, },
2508 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"A", .buf_len = 1},
2509 	{ .reason = LECPCB_VAL_STR_START, },
2510 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"b", .buf_len = 1},
2511 	{ .reason = LECPCB_VAL_STR_START, },
2512 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"B", .buf_len = 1},
2513 	{ .reason = LECPCB_VAL_STR_START, },
2514 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"c", .buf_len = 1},
2515 	{ .reason = LECPCB_VAL_STR_START, },
2516 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"C", .buf_len = 1},
2517 	{ .reason = LECPCB_VAL_STR_START, },
2518 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"d", .buf_len = 1},
2519 	{ .reason = LECPCB_VAL_STR_START, },
2520 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"D", .buf_len = 1},
2521 	{ .reason = LECPCB_VAL_STR_START, },
2522 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"e", .buf_len = 1},
2523 	{ .reason = LECPCB_VAL_STR_START, },
2524 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"E", .buf_len = 1},
2525 	{ .reason = LECPCB_OBJECT_END },
2526 	{ .reason = LECPCB_DESTRUCTED },
2527 }, seq72[] = {
2528 	{ .reason = LECPCB_CONSTRUCTED },
2529 	{ .reason = LECPCB_VAL_BLOB_START, },
2530 	{ .reason = LECPCB_VAL_BLOB_CHUNK, .buf = bm72a, .buf_len = sizeof(bm72a)},
2531 	{ .reason = LECPCB_VAL_BLOB_CHUNK, .buf = bm72b, .buf_len = sizeof(bm72b)},
2532 	{ .reason = LECPCB_VAL_BLOB_END, },
2533 	{ .reason = LECPCB_DESTRUCTED },
2534 }, seq73[] = {
2535 	{ .reason = LECPCB_CONSTRUCTED },
2536 	{ .reason = LECPCB_VAL_STR_START, },
2537 	{ .reason = LECPCB_VAL_STR_CHUNK, .buf = (const uint8_t *)"stream", .buf_len = 5},
2538 	{ .reason = LECPCB_VAL_STR_CHUNK, .buf = (const uint8_t *)"ming", .buf_len = 4},
2539 	{ .reason = LECPCB_VAL_STR_END, },
2540 	{ .reason = LECPCB_DESTRUCTED },
2541 }, seq74[] = {
2542 	{ .reason = LECPCB_CONSTRUCTED },
2543 	{ .reason = LECPCB_ARRAY_START, },
2544 	{ .reason = LECPCB_ARRAY_END },
2545 	{ .reason = LECPCB_DESTRUCTED },
2546 }, seq75[] = {
2547 	{ .reason = LECPCB_CONSTRUCTED },
2548 	{ .reason = LECPCB_ARRAY_START, },
2549 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2550 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2551 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2552 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2553 	{ .reason = LECPCB_ARRAY_START, },
2554 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2555 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2556 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2557 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2558 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2559 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2560 	{ .reason = LECPCB_ARRAY_END },
2561 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2562 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2563 	{ .reason = LECPCB_ARRAY_START, },
2564 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2565 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2566 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2567 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2568 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
2569 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2570 	{ .reason = LECPCB_ARRAY_END },
2571 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2572 	{ .reason = LECPCB_ARRAY_END },
2573 	{ .reason = LECPCB_DESTRUCTED },
2574 }, seq76[] = {
2575 	{ .reason = LECPCB_CONSTRUCTED },
2576 	{ .reason = LECPCB_ARRAY_START, },
2577 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2578 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2579 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2580 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2581 	{ .reason = LECPCB_ARRAY_START, },
2582 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2583 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2584 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2585 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2586 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2587 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2588 	{ .reason = LECPCB_ARRAY_END },
2589 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2590 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2591 	{ .reason = LECPCB_ARRAY_START, },
2592 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2593 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2594 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2595 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2596 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
2597 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2598 	{ .reason = LECPCB_ARRAY_END },
2599 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2600 	{ .reason = LECPCB_ARRAY_END },
2601 	{ .reason = LECPCB_DESTRUCTED },
2602 }, seq77[] = {
2603 	{ .reason = LECPCB_CONSTRUCTED },
2604 	{ .reason = LECPCB_ARRAY_START, },
2605 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2606 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2607 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2608 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2609 	{ .reason = LECPCB_ARRAY_START, },
2610 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2611 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2612 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2613 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2614 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2615 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2616 	{ .reason = LECPCB_ARRAY_END },
2617 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2618 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2619 	{ .reason = LECPCB_ARRAY_START, },
2620 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2621 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2622 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2623 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2624 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
2625 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2626 	{ .reason = LECPCB_ARRAY_END },
2627 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2628 	{ .reason = LECPCB_ARRAY_END },
2629 	{ .reason = LECPCB_DESTRUCTED },
2630 }, seq78[] = {
2631 	{ .reason = LECPCB_CONSTRUCTED },
2632 	{ .reason = LECPCB_ARRAY_START, },
2633 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2634 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2635 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2636 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2637 	{ .reason = LECPCB_ARRAY_START, },
2638 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2639 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2640 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2641 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2642 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2643 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2644 	{ .reason = LECPCB_ARRAY_END },
2645 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2646 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2647 	{ .reason = LECPCB_ARRAY_START, },
2648 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2649 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2650 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2651 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2652 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
2653 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2654 	{ .reason = LECPCB_ARRAY_END },
2655 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2656 	{ .reason = LECPCB_ARRAY_END },
2657 	{ .reason = LECPCB_DESTRUCTED },
2658 }, seq79[] = {
2659 	{ .reason = LECPCB_CONSTRUCTED },
2660 	{ .reason = LECPCB_ARRAY_START, },
2661 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2662 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2663 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2664 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2665 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2666 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2667 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2668 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2669 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2670 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2671 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2672 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2673 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2674 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
2675 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2676 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2677 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 6 } },
2678 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2679 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2680 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
2681 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2682 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2683 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 8 } },
2684 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2685 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2686 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 9 } },
2687 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2688 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2689 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 10 } },
2690 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2691 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2692 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 11 } },
2693 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2694 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2695 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 12 } },
2696 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2697 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2698 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 13 } },
2699 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2700 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2701 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 14 } },
2702 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2703 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2704 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 15 } },
2705 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2706 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2707 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 16 } },
2708 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2709 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2710 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 17 } },
2711 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2712 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2713 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 18 } },
2714 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2715 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2716 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 19 } },
2717 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2718 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2719 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 20 } },
2720 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2721 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2722 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 21 } },
2723 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2724 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2725 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 22 } },
2726 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2727 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2728 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 23 } },
2729 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2730 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2731 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 24 } },
2732 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2733 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2734 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 25 } },
2735 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2736 	{ .reason = LECPCB_ARRAY_END },
2737 	{ .reason = LECPCB_DESTRUCTED },
2738 }, seq80[] = {
2739 	{ .reason = LECPCB_CONSTRUCTED },
2740 	{ .reason = LECPCB_OBJECT_START, },
2741 	{ .reason = LECPCB_VAL_STR_START, },
2742 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"a", .buf_len = 1},
2743 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2744 	{ .reason = LECPCB_VAL_STR_START, },
2745 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"b", .buf_len = 1},
2746 	{ .reason = LECPCB_ARRAY_START, },
2747 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2748 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 2 } },
2749 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2750 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2751 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 3 } },
2752 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2753 	{ .reason = LECPCB_ARRAY_END, },
2754 	{ .reason = LECPCB_OBJECT_END },
2755 	{ .reason = LECPCB_DESTRUCTED },
2756 }, seq81[] = {
2757 	{ .reason = LECPCB_CONSTRUCTED },
2758 	{ .reason = LECPCB_ARRAY_START, },
2759 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2760 	{ .reason = LECPCB_VAL_STR_START, },
2761 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"a", .buf_len = 1},
2762 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2763 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2764 	{ .reason = LECPCB_OBJECT_START, },
2765 	{ .reason = LECPCB_VAL_STR_START, },
2766 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"b", .buf_len = 1},
2767 	{ .reason = LECPCB_VAL_STR_START, },
2768 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"c", .buf_len = 1},
2769 	{ .reason = LECPCB_OBJECT_END, },
2770 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2771 	{ .reason = LECPCB_ARRAY_END },
2772 	{ .reason = LECPCB_DESTRUCTED },
2773 }, seq82[] = {
2774 	{ .reason = LECPCB_CONSTRUCTED },
2775 	{ .reason = LECPCB_OBJECT_START, },
2776 	{ .reason = LECPCB_VAL_STR_START, },
2777 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"Fun", .buf_len = 3},
2778 	{ .reason = LECPCB_VAL_TRUE },
2779 	{ .reason = LECPCB_VAL_STR_START, },
2780 	{ .reason = LECPCB_VAL_STR_END, .buf = (const uint8_t *)"Amt", .buf_len = 3},
2781 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = (int64_t)-2ll } },
2782 	{ .reason = LECPCB_OBJECT_END },
2783 	{ .reason = LECPCB_DESTRUCTED },
2784 
2785 }, seq83[] = {
2786 	{ .reason = LECPCB_CONSTRUCTED },
2787 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 97 } },
2788 	{ .reason = LECPCB_ARRAY_START, },
2789 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2790 	{ .reason = LECPCB_VAL_BLOB_START, },
2791 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm83a, .buf_len = sizeof(bm83a) },
2792 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2793 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2794 	{ .reason = LECPCB_OBJECT_START, },
2795 	{ .reason = LECPCB_OBJECT_END },
2796 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2797 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2798 	{ .reason = LECPCB_VAL_BLOB_START, },
2799 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm83b, .buf_len = sizeof(bm83b) },
2800 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2801 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2802 	{ .reason = LECPCB_VAL_BLOB_START, },
2803 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm83c, .buf_len = sizeof(bm83c) },
2804 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2805 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2806 	{ .reason = LECPCB_ARRAY_START, },
2807 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2808 	{ .reason = LECPCB_ARRAY_START, },
2809 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2810 	{ .reason = LECPCB_VAL_BLOB_START, },
2811 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm83a, .buf_len = 0 },
2812 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2813 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2814 	{ .reason = LECPCB_OBJECT_START, },
2815 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2816 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
2817 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2818 	{ .reason = LECPCB_VAL_BLOB_START, },
2819 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm83d, .buf_len = sizeof(bm83d) },
2820 	{ .reason = LECPCB_OBJECT_END },
2821 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2822 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2823 	{ .reason = LECPCB_VAL_BLOB_START, },
2824 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm83a, .buf_len = 0 },
2825 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2826 	{ .reason = LECPCB_ARRAY_END, },
2827 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2828 	{ .reason = LECPCB_ARRAY_END, },
2829 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2830 	{ .reason = LECPCB_ARRAY_END, },
2831 	{ .reason = LECPCB_TAG_END, },
2832 	{ .reason = LECPCB_DESTRUCTED },
2833 
2834 }, seq84[] = {
2835 	{ .reason = LECPCB_CONSTRUCTED },
2836 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 97 } },
2837 	{ .reason = LECPCB_ARRAY_START, },
2838 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2839 	{ .reason = LECPCB_VAL_BLOB_START, },
2840 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm84a, .buf_len = sizeof(bm84a) },
2841 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2842 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2843 	{ .reason = LECPCB_OBJECT_START, },
2844 	{ .reason = LECPCB_OBJECT_END },
2845 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2846 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2847 	{ .reason = LECPCB_VAL_BLOB_START, },
2848 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm84b, .buf_len = sizeof(bm84b) },
2849 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2850 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2851 	{ .reason = LECPCB_VAL_BLOB_START, },
2852 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm84c, .buf_len = sizeof(bm84c) },
2853 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2854 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2855 	{ .reason = LECPCB_ARRAY_START, },
2856 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2857 	{ .reason = LECPCB_ARRAY_START, },
2858 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2859 	{ .reason = LECPCB_VAL_BLOB_START, },
2860 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm84a, .buf_len = 0 },
2861 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2862 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2863 	{ .reason = LECPCB_OBJECT_START, },
2864 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2865 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
2866 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2867 	{ .reason = LECPCB_VAL_BLOB_START, },
2868 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm84d, .buf_len = sizeof(bm84d) },
2869 	{ .reason = LECPCB_OBJECT_END },
2870 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2871 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2872 	{ .reason = LECPCB_VAL_BLOB_START, },
2873 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm84a, .buf_len = 0 },
2874 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2875 	{ .reason = LECPCB_ARRAY_END, },
2876 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2877 	{ .reason = LECPCB_ARRAY_END, },
2878 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2879 	{ .reason = LECPCB_ARRAY_END, },
2880 	{ .reason = LECPCB_TAG_END, },
2881 	{ .reason = LECPCB_DESTRUCTED },
2882 
2883 }, seq85[] = {
2884 	{ .reason = LECPCB_CONSTRUCTED },
2885 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 97 } },
2886 	{ .reason = LECPCB_ARRAY_START, },
2887 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2888 	{ .reason = LECPCB_VAL_BLOB_START, },
2889 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm85a, .buf_len = sizeof(bm85a) },
2890 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2891 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2892 	{ .reason = LECPCB_OBJECT_START, },
2893 	{ .reason = LECPCB_OBJECT_END },
2894 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2895 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2896 	{ .reason = LECPCB_VAL_BLOB_START, },
2897 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm85b, .buf_len = sizeof(bm85b) },
2898 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2899 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2900 	{ .reason = LECPCB_VAL_BLOB_START, },
2901 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm85c, .buf_len = sizeof(bm85c) },
2902 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2903 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2904 	{ .reason = LECPCB_ARRAY_START, },
2905 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2906 	{ .reason = LECPCB_ARRAY_START, },
2907 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2908 	{ .reason = LECPCB_VAL_BLOB_START, },
2909 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm85a, .buf_len = 0 },
2910 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2911 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2912 	{ .reason = LECPCB_OBJECT_START, },
2913 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2914 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
2915 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2916 	{ .reason = LECPCB_VAL_BLOB_START, },
2917 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm85d, .buf_len = sizeof(bm85d) },
2918 	{ .reason = LECPCB_OBJECT_END },
2919 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2920 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2921 	{ .reason = LECPCB_VAL_BLOB_START, },
2922 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm85a, .buf_len = 0 },
2923 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2924 	{ .reason = LECPCB_ARRAY_END, },
2925 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2926 	{ .reason = LECPCB_ARRAY_END, },
2927 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2928 	{ .reason = LECPCB_ARRAY_END, },
2929 	{ .reason = LECPCB_TAG_END, },
2930 	{ .reason = LECPCB_DESTRUCTED },
2931 
2932 }, seq86[] = {
2933 	{ .reason = LECPCB_CONSTRUCTED },
2934 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 97 } },
2935 	{ .reason = LECPCB_ARRAY_START, },
2936 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2937 	{ .reason = LECPCB_VAL_BLOB_START, },
2938 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm86a, .buf_len = sizeof(bm86a) },
2939 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2940 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2941 	{ .reason = LECPCB_OBJECT_START, },
2942 	{ .reason = LECPCB_OBJECT_END },
2943 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2944 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2945 	{ .reason = LECPCB_VAL_BLOB_START, },
2946 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm86b, .buf_len = sizeof(bm86b) },
2947 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2948 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2949 	{ .reason = LECPCB_VAL_BLOB_START, },
2950 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm86c, .buf_len = sizeof(bm86c) },
2951 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2952 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2953 	{ .reason = LECPCB_ARRAY_START, },
2954 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2955 	{ .reason = LECPCB_ARRAY_START, },
2956 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2957 	{ .reason = LECPCB_VAL_BLOB_START, },
2958 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm86a, .buf_len = 0 },
2959 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2960 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2961 	{ .reason = LECPCB_OBJECT_START, },
2962 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
2963 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
2964 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
2965 	{ .reason = LECPCB_VAL_BLOB_START, },
2966 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm86d, .buf_len = sizeof(bm86d) },
2967 	{ .reason = LECPCB_OBJECT_END },
2968 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2969 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2970 	{ .reason = LECPCB_VAL_BLOB_START, },
2971 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm86a, .buf_len = 0 },
2972 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2973 	{ .reason = LECPCB_ARRAY_END, },
2974 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2975 	{ .reason = LECPCB_ARRAY_END, },
2976 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2977 	{ .reason = LECPCB_ARRAY_END, },
2978 	{ .reason = LECPCB_TAG_END, },
2979 	{ .reason = LECPCB_DESTRUCTED },
2980 }, seq87[] = {
2981 	{ .reason = LECPCB_CONSTRUCTED },
2982 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 97 } },
2983 	{ .reason = LECPCB_ARRAY_START, },
2984 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2985 	{ .reason = LECPCB_VAL_BLOB_START, },
2986 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm87a, .buf_len = sizeof(bm87a) },
2987 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2988 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2989 	{ .reason = LECPCB_OBJECT_START, },
2990 	{ .reason = LECPCB_OBJECT_END },
2991 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2992 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2993 	{ .reason = LECPCB_VAL_BLOB_START, },
2994 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm87b, .buf_len = sizeof(bm87b) },
2995 	{ .reason = LECPCB_ARRAY_ITEM_END, },
2996 	{ .reason = LECPCB_ARRAY_ITEM_START, },
2997 	{ .reason = LECPCB_VAL_BLOB_START, },
2998 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm87c, .buf_len = sizeof(bm87c) },
2999 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3000 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3001 	{ .reason = LECPCB_ARRAY_START, },
3002 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3003 	{ .reason = LECPCB_ARRAY_START, },
3004 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3005 	{ .reason = LECPCB_VAL_BLOB_START, },
3006 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm87a, .buf_len = 0 },
3007 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3008 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3009 	{ .reason = LECPCB_OBJECT_START, },
3010 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
3011 	{ .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
3012 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3013 	{ .reason = LECPCB_VAL_BLOB_START, },
3014 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm87d, .buf_len = sizeof(bm87d) },
3015 	{ .reason = LECPCB_OBJECT_END },
3016 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3017 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3018 	{ .reason = LECPCB_VAL_BLOB_START, },
3019 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm87a, .buf_len = 0 },
3020 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3021 	{ .reason = LECPCB_ARRAY_END, },
3022 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3023 	{ .reason = LECPCB_ARRAY_END, },
3024 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3025 	{ .reason = LECPCB_ARRAY_END, },
3026 	{ .reason = LECPCB_TAG_END, },
3027 	{ .reason = LECPCB_DESTRUCTED },
3028 }, seq88[] = {
3029 	{ .reason = LECPCB_CONSTRUCTED },
3030 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 17 } },
3031 	{ .reason = LECPCB_ARRAY_START, },
3032 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3033 	{ .reason = LECPCB_VAL_BLOB_START, },
3034 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm88a, .buf_len = sizeof(bm88a) },
3035 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3036 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3037 	{ .reason = LECPCB_OBJECT_START, },
3038 	{ .reason = LECPCB_OBJECT_END },
3039 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3040 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3041 	{ .reason = LECPCB_VAL_BLOB_START, },
3042 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm88b, .buf_len = sizeof(bm88b) },
3043 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3044 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3045 	{ .reason = LECPCB_VAL_BLOB_START, },
3046 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm88c, .buf_len = sizeof(bm88c) },
3047 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3048 	{ .reason = LECPCB_ARRAY_END, },
3049 	{ .reason = LECPCB_TAG_END, },
3050 	{ .reason = LECPCB_DESTRUCTED },
3051 }, seq89[] = {
3052 	{ .reason = LECPCB_CONSTRUCTED },
3053 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 17 } },
3054 	{ .reason = LECPCB_ARRAY_START, },
3055 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3056 	{ .reason = LECPCB_VAL_BLOB_START, },
3057 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm89a, .buf_len = sizeof(bm89a) },
3058 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3059 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3060 	{ .reason = LECPCB_OBJECT_START, },
3061 	{ .reason = LECPCB_OBJECT_END },
3062 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3063 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3064 	{ .reason = LECPCB_VAL_BLOB_START, },
3065 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm89b, .buf_len = sizeof(bm89b) },
3066 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3067 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3068 	{ .reason = LECPCB_VAL_BLOB_START, },
3069 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm89c, .buf_len = sizeof(bm89c) },
3070 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3071 	{ .reason = LECPCB_ARRAY_END, },
3072 	{ .reason = LECPCB_TAG_END, },
3073 	{ .reason = LECPCB_DESTRUCTED },
3074 }, seq90[] = {
3075 	{ .reason = LECPCB_CONSTRUCTED },
3076 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 17 } },
3077 	{ .reason = LECPCB_ARRAY_START, },
3078 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3079 	{ .reason = LECPCB_VAL_BLOB_START, },
3080 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm90a, .buf_len = sizeof(bm90a) },
3081 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3082 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3083 	{ .reason = LECPCB_OBJECT_START, },
3084 	{ .reason = LECPCB_OBJECT_END },
3085 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3086 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3087 	{ .reason = LECPCB_VAL_BLOB_START, },
3088 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm90b, .buf_len = sizeof(bm90b) },
3089 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3090 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3091 	{ .reason = LECPCB_VAL_BLOB_START, },
3092 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm90c, .buf_len = sizeof(bm90c) },
3093 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3094 	{ .reason = LECPCB_ARRAY_END, },
3095 	{ .reason = LECPCB_TAG_END, },
3096 	{ .reason = LECPCB_DESTRUCTED },
3097 }, seq91[] = {
3098 	{ .reason = LECPCB_CONSTRUCTED },
3099 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 17 } },
3100 	{ .reason = LECPCB_ARRAY_START, },
3101 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3102 	{ .reason = LECPCB_VAL_BLOB_START, },
3103 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm91a, .buf_len = sizeof(bm91a) },
3104 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3105 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3106 	{ .reason = LECPCB_OBJECT_START, },
3107 	{ .reason = LECPCB_OBJECT_END },
3108 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3109 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3110 	{ .reason = LECPCB_VAL_BLOB_START, },
3111 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm91b, .buf_len = sizeof(bm91b) },
3112 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3113 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3114 	{ .reason = LECPCB_VAL_BLOB_START, },
3115 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm91c, .buf_len = sizeof(bm91c) },
3116 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3117 	{ .reason = LECPCB_ARRAY_END, },
3118 	{ .reason = LECPCB_TAG_END, },
3119 	{ .reason = LECPCB_DESTRUCTED },
3120 }, seq92[] = {
3121 	{ .reason = LECPCB_CONSTRUCTED },
3122 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 17 } },
3123 	{ .reason = LECPCB_ARRAY_START, },
3124 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3125 	{ .reason = LECPCB_VAL_BLOB_START, },
3126 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm92a, .buf_len = sizeof(bm92a) },
3127 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3128 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3129 	{ .reason = LECPCB_OBJECT_START, },
3130 	{ .reason = LECPCB_OBJECT_END },
3131 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3132 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3133 	{ .reason = LECPCB_VAL_BLOB_START, },
3134 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm92b, .buf_len = sizeof(bm92b) },
3135 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3136 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3137 	{ .reason = LECPCB_VAL_BLOB_START, },
3138 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm92c, .buf_len = sizeof(bm92c) },
3139 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3140 	{ .reason = LECPCB_ARRAY_END, },
3141 	{ .reason = LECPCB_TAG_END, },
3142 	{ .reason = LECPCB_DESTRUCTED },
3143 }, seq93[] = {
3144 	{ .reason = LECPCB_CONSTRUCTED },
3145 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 16 } },
3146 	{ .reason = LECPCB_ARRAY_START, },
3147 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3148 	{ .reason = LECPCB_VAL_BLOB_START, },
3149 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm93a, .buf_len = sizeof(bm93a) },
3150 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3151 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3152 	{ .reason = LECPCB_OBJECT_START, },
3153 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
3154 	{ .reason = LECPCB_VAL_BLOB_START, },
3155 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm93b, .buf_len = sizeof(bm93b) },
3156 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3157 	{ .reason = LECPCB_ARRAY_START, },
3158 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3159 	{ .reason = LECPCB_VAL_BLOB_START, },
3160 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm93c, .buf_len = sizeof(bm93c) },
3161 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3162 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3163 	{ .reason = LECPCB_OBJECT_START, },
3164 	{ .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3165 	{ .reason = LECPCB_VAL_BLOB_START, },
3166 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm93d, .buf_len = sizeof(bm93d) },
3167 	{ .reason = LECPCB_OBJECT_END },
3168 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3169 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3170 	{ .reason = LECPCB_VAL_BLOB_START, },
3171 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm93e, .buf_len = sizeof(bm93e) },
3172 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3173 	{ .reason = LECPCB_ARRAY_END, },
3174 	{ .reason = LECPCB_OBJECT_END },
3175 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3176 	{ .reason = LECPCB_ARRAY_ITEM_START, },
3177 	{ .reason = LECPCB_VAL_BLOB_START, },
3178 	{ .reason = LECPCB_VAL_BLOB_END, .buf = bm93f, .buf_len = sizeof(bm93f) },
3179 	{ .reason = LECPCB_ARRAY_ITEM_END, },
3180 	{ .reason = LECPCB_ARRAY_END, },
3181 	{ .reason = LECPCB_TAG_END, },
3182 	{ .reason = LECPCB_DESTRUCTED },
3183 }, seq94[] = {
3184 	{ .reason = LECPCB_CONSTRUCTED },
3185 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 16 } },
3186 	 { .reason = LECPCB_ARRAY_START, },
3187 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3188 	  { .reason = LECPCB_VAL_BLOB_START, },
3189 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm94a, .buf_len = sizeof(bm94a) },
3190 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3191 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3192 	  { .reason = LECPCB_OBJECT_START, },
3193 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
3194 	   { .reason = LECPCB_VAL_BLOB_START, },
3195 	   { .reason = LECPCB_VAL_BLOB_END, .buf = bm94b, .buf_len = sizeof(bm94b) },
3196 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3197 	   { .reason = LECPCB_ARRAY_START, },
3198 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3199 	    { .reason = LECPCB_ARRAY_START, },
3200 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3201 	     { .reason = LECPCB_VAL_BLOB_START, },
3202 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm94c, .buf_len = sizeof(bm94c) },
3203 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3204 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3205 	     { .reason = LECPCB_OBJECT_START, },
3206 	      { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3207 	      { .reason = LECPCB_VAL_BLOB_START, },
3208 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm94d, .buf_len = sizeof(bm94d) },
3209 	     { .reason = LECPCB_OBJECT_END },
3210 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3211 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3212 	     { .reason = LECPCB_VAL_BLOB_START, },
3213 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm94e, .buf_len = sizeof(bm94e) },
3214 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3215 	    { .reason = LECPCB_ARRAY_END, },
3216 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3217 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3218 	    { .reason = LECPCB_ARRAY_START, },
3219 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3220 	     { .reason = LECPCB_VAL_BLOB_START, },
3221 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm94f, .buf_len = sizeof(bm94f) },
3222 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3223 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3224 	     { .reason = LECPCB_OBJECT_START, },
3225 	      { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3226 	      { .reason = LECPCB_VAL_BLOB_START, },
3227 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm94g, .buf_len = sizeof(bm94g) },
3228 	     { .reason = LECPCB_OBJECT_END },
3229 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3230 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3231 	     { .reason = LECPCB_VAL_BLOB_START, },
3232 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm94h, .buf_len = sizeof(bm94h) },
3233 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3234 	    { .reason = LECPCB_ARRAY_END, },
3235 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3236 	   { .reason = LECPCB_ARRAY_END, },
3237 	  { .reason = LECPCB_OBJECT_END },
3238 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3239 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3240 	  { .reason = LECPCB_VAL_BLOB_START, },
3241 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm94i, .buf_len = sizeof(bm94i) },
3242 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3243 	 { .reason = LECPCB_ARRAY_END, },
3244 	{ .reason = LECPCB_TAG_END, },
3245 	{ .reason = LECPCB_DESTRUCTED },
3246 }, seq95[] = {
3247 	{ .reason = LECPCB_CONSTRUCTED },
3248 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 96 } },
3249 	 { .reason = LECPCB_ARRAY_START, },
3250 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3251 	  { .reason = LECPCB_VAL_BLOB_START, },
3252 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm95a, .buf_len = sizeof(bm95a) },
3253 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3254 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3255 	  { .reason = LECPCB_OBJECT_START, },
3256 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
3257 	   { .reason = LECPCB_VAL_BLOB_START, },
3258 	   { .reason = LECPCB_VAL_BLOB_END, .buf = bm95b, .buf_len = sizeof(bm95b) },
3259 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3260 	   { .reason = LECPCB_ARRAY_START, },
3261 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3262 	    { .reason = LECPCB_VAL_BLOB_START, },
3263 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm95c, .buf_len = sizeof(bm95c) },
3264 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3265 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3266 	    { .reason = LECPCB_OBJECT_START, },
3267 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3268 	     { .reason = LECPCB_VAL_BLOB_START, },
3269 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm95d, .buf_len = sizeof(bm95d) },
3270 	    { .reason = LECPCB_OBJECT_END },
3271 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3272 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3273 	    { .reason = LECPCB_VAL_BLOB_START, },
3274 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm95e, .buf_len = sizeof(bm95e) },
3275 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3276 	   { .reason = LECPCB_ARRAY_END, },
3277 	  { .reason = LECPCB_OBJECT_END },
3278 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3279 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3280 	  { .reason = LECPCB_VAL_BLOB_START, },
3281 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm95f, .buf_len = sizeof(bm95f) },
3282 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3283 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3284 	  { .reason = LECPCB_ARRAY_START, },
3285 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3286 	   { .reason = LECPCB_ARRAY_START, },
3287 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3288 	    { .reason = LECPCB_VAL_BLOB_START, },
3289 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm95f, .buf_len = 0 },
3290 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3291 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3292 	    { .reason = LECPCB_OBJECT_START, },
3293 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
3294 	     { .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
3295 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3296 	     { .reason = LECPCB_VAL_BLOB_START, },
3297 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm95g, .buf_len = sizeof(bm95g) },
3298 	     { .reason = LECPCB_OBJECT_END },
3299 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3300 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3301 	    { .reason = LECPCB_VAL_BLOB_START, },
3302 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm95f, .buf_len = 0 },
3303 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3304 	   { .reason = LECPCB_ARRAY_END, },
3305 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3306 	  { .reason = LECPCB_ARRAY_END, },
3307 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3308 	 { .reason = LECPCB_ARRAY_END, },
3309 	{ .reason = LECPCB_TAG_END, },
3310 	{ .reason = LECPCB_DESTRUCTED },
3311 }, seq96[] = {
3312 	{ .reason = LECPCB_CONSTRUCTED },
3313 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 96 } },
3314 	 { .reason = LECPCB_ARRAY_START, },
3315 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3316 	  { .reason = LECPCB_VAL_BLOB_START, },
3317 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm96a, .buf_len = sizeof(bm96a) },
3318 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3319 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3320 	  { .reason = LECPCB_OBJECT_START, },
3321 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
3322 	   { .reason = LECPCB_VAL_BLOB_START, },
3323 	   { .reason = LECPCB_VAL_BLOB_END, .buf = bm96b, .buf_len = sizeof(bm96b) },
3324 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3325 	   { .reason = LECPCB_ARRAY_START, },
3326 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3327 	    { .reason = LECPCB_ARRAY_START, },
3328 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3329 	     { .reason = LECPCB_VAL_BLOB_START, },
3330 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm96c, .buf_len = sizeof(bm96c) },
3331 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3332 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3333 	     { .reason = LECPCB_OBJECT_START, },
3334 	      { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3335 	      { .reason = LECPCB_VAL_BLOB_START, },
3336 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm96d, .buf_len = sizeof(bm96d) },
3337 	     { .reason = LECPCB_OBJECT_END },
3338 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3339 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3340 	     { .reason = LECPCB_VAL_BLOB_START, },
3341 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm96e, .buf_len = sizeof(bm96e) },
3342 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3343 	    { .reason = LECPCB_ARRAY_END, },
3344 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3345 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3346 	    { .reason = LECPCB_ARRAY_START, },
3347 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3348 	     { .reason = LECPCB_VAL_BLOB_START, },
3349 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm96f, .buf_len = sizeof(bm96f) },
3350 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3351 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3352 	     { .reason = LECPCB_OBJECT_START, },
3353 	      { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3354 	      { .reason = LECPCB_VAL_BLOB_START, },
3355 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm96g, .buf_len = sizeof(bm96g) },
3356 	     { .reason = LECPCB_OBJECT_END },
3357 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3358 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3359 	     { .reason = LECPCB_VAL_BLOB_START, },
3360 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm96h, .buf_len = sizeof(bm96h) },
3361 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3362 	    { .reason = LECPCB_ARRAY_END, },
3363 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3364 	   { .reason = LECPCB_ARRAY_END, },
3365 	  { .reason = LECPCB_OBJECT_END },
3366 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3367 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3368 	  { .reason = LECPCB_VAL_BLOB_START, },
3369 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm96i, .buf_len = sizeof(bm96i) },
3370 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3371 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3372 	  { .reason = LECPCB_ARRAY_START, },
3373 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3374 	   { .reason = LECPCB_ARRAY_START, },
3375 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3376 	    { .reason = LECPCB_VAL_BLOB_START, },
3377 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm96f, .buf_len = 0 },
3378 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3379 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3380 	    { .reason = LECPCB_OBJECT_START, },
3381 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
3382 	     { .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
3383 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3384 	     { .reason = LECPCB_VAL_BLOB_START, },
3385 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm96j, .buf_len = sizeof(bm96j) },
3386 	     { .reason = LECPCB_OBJECT_END },
3387 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3388 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3389 	    { .reason = LECPCB_VAL_BLOB_START, },
3390 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm96f, .buf_len = 0 },
3391 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3392 	   { .reason = LECPCB_ARRAY_END, },
3393 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3394 	  { .reason = LECPCB_ARRAY_END, },
3395 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3396 	 { .reason = LECPCB_ARRAY_END, },
3397 	{ .reason = LECPCB_TAG_END, },
3398 	{ .reason = LECPCB_DESTRUCTED },
3399 }, seq97[] = {
3400 	{ .reason = LECPCB_CONSTRUCTED },
3401 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 96 } },
3402 	 { .reason = LECPCB_ARRAY_START, },
3403 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3404 	  { .reason = LECPCB_VAL_BLOB_START, },
3405 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm97a, .buf_len = sizeof(bm97a) },
3406 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3407 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3408 	  { .reason = LECPCB_OBJECT_START, },
3409 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 5 } },
3410 	   { .reason = LECPCB_VAL_BLOB_START, },
3411 	   { .reason = LECPCB_VAL_BLOB_END, .buf = bm97b, .buf_len = sizeof(bm97b) },
3412 	  { .reason = LECPCB_OBJECT_END },
3413 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3414 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3415 	  { .reason = LECPCB_VAL_BLOB_START, },
3416 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm97c, .buf_len = sizeof(bm97c) },
3417 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3418 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3419 	  { .reason = LECPCB_ARRAY_START, },
3420 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3421 	   { .reason = LECPCB_ARRAY_START, },
3422 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3423 	    { .reason = LECPCB_VAL_BLOB_START, },
3424 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm97f, .buf_len = 0 },
3425 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3426 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3427 	    { .reason = LECPCB_OBJECT_START, },
3428 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
3429 	     { .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
3430 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3431 	     { .reason = LECPCB_VAL_BLOB_START, },
3432 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm97d, .buf_len = sizeof(bm97d) },
3433 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3434 	     { .reason = LECPCB_ARRAY_START, },
3435 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3436 	      { .reason = LECPCB_VAL_BLOB_START, },
3437 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm97e, .buf_len = sizeof(bm97e) },
3438 	      { .reason = LECPCB_ARRAY_ITEM_END, },
3439 	      { .reason = LECPCB_ARRAY_ITEM_START, },
3440 	      { .reason = LECPCB_OBJECT_START, },
3441 	       { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3442 	       { .reason = LECPCB_VAL_BLOB_START, },
3443 	       { .reason = LECPCB_VAL_BLOB_END, .buf = bm97f, .buf_len = sizeof(bm97f) },
3444 	      { .reason = LECPCB_OBJECT_END },
3445 	      { .reason = LECPCB_ARRAY_ITEM_END, },
3446 	      { .reason = LECPCB_ARRAY_ITEM_START, },
3447 	      { .reason = LECPCB_VAL_BLOB_START, },
3448 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm97g, .buf_len = sizeof(bm97g) },
3449 	      { .reason = LECPCB_ARRAY_ITEM_END, },
3450              { .reason = LECPCB_ARRAY_END, },
3451 	    { .reason = LECPCB_OBJECT_END },
3452 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3453 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3454 	    { .reason = LECPCB_VAL_BLOB_START, },
3455 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm97e, .buf_len = 0 },
3456 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3457 	   { .reason = LECPCB_ARRAY_END, },
3458 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3459 	  { .reason = LECPCB_ARRAY_END, },
3460 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3461 	 { .reason = LECPCB_ARRAY_END, },
3462 	{ .reason = LECPCB_TAG_END, },
3463 	{ .reason = LECPCB_DESTRUCTED },
3464 }, seq98[] = {
3465 	{ .reason = LECPCB_CONSTRUCTED },
3466 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 97 } },
3467 	 { .reason = LECPCB_ARRAY_START, },
3468 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3469 	  { .reason = LECPCB_VAL_BLOB_START, },
3470 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm98a, .buf_len = sizeof(bm98a) },
3471 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3472 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3473 	  { .reason = LECPCB_OBJECT_START, },
3474 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3475 	   { .reason = LECPCB_ARRAY_START, },
3476 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3477 	    { .reason = LECPCB_VAL_BLOB_START, },
3478 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm98b, .buf_len = sizeof(bm98b) },
3479 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3480 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3481 	    { .reason = LECPCB_OBJECT_START, },
3482 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3483 	     { .reason = LECPCB_VAL_BLOB_START, },
3484 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm98c, .buf_len = sizeof(bm98c) },
3485 	    { .reason = LECPCB_OBJECT_END },
3486 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3487 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3488 	    { .reason = LECPCB_VAL_BLOB_START, },
3489 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm98d, .buf_len = sizeof(bm98d) },
3490 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3491 	   { .reason = LECPCB_ARRAY_END, },
3492 	  { .reason = LECPCB_OBJECT_END },
3493 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3494 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3495 	  { .reason = LECPCB_VAL_BLOB_START, },
3496 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm98e, .buf_len = sizeof(bm98e) },
3497 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3498 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3499 	  { .reason = LECPCB_VAL_BLOB_START, },
3500 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm98f, .buf_len = sizeof(bm98f) },
3501 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3502 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3503 	  { .reason = LECPCB_ARRAY_START, },
3504 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3505 	   { .reason = LECPCB_ARRAY_START, },
3506 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3507 	    { .reason = LECPCB_VAL_BLOB_START, },
3508 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm98e, .buf_len = 0 },
3509 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3510 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3511 	    { .reason = LECPCB_OBJECT_START, },
3512 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
3513 	     { .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
3514 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3515 	     { .reason = LECPCB_VAL_BLOB_START, },
3516 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm98g, .buf_len = sizeof(bm98g) },
3517 	    { .reason = LECPCB_OBJECT_END },
3518 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3519 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3520 	    { .reason = LECPCB_VAL_BLOB_START, },
3521 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm98e, .buf_len = 0 },
3522 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3523 	   { .reason = LECPCB_ARRAY_END, },
3524 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3525 	  { .reason = LECPCB_ARRAY_END, },
3526 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3527 	 { .reason = LECPCB_ARRAY_END, },
3528 	{ .reason = LECPCB_TAG_END, },
3529 	{ .reason = LECPCB_DESTRUCTED },
3530 
3531 }, seq99[] = {
3532 	{ .reason = LECPCB_CONSTRUCTED },
3533 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 97 } },
3534 	 { .reason = LECPCB_ARRAY_START, },
3535 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3536 	  { .reason = LECPCB_VAL_BLOB_START, },
3537 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm99a, .buf_len = sizeof(bm99a) },
3538 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3539 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3540 	  { .reason = LECPCB_OBJECT_START, },
3541 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3542 	   { .reason = LECPCB_ARRAY_START, },
3543 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3544 	    { .reason = LECPCB_ARRAY_START, },
3545 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3546 	     { .reason = LECPCB_VAL_BLOB_START, },
3547 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm99b, .buf_len = sizeof(bm99b) },
3548 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3549 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3550 	     { .reason = LECPCB_OBJECT_START, },
3551 	      { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3552 	      { .reason = LECPCB_VAL_BLOB_START, },
3553 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm99c, .buf_len = sizeof(bm99c) },
3554 	     { .reason = LECPCB_OBJECT_END },
3555 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3556 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3557 	     { .reason = LECPCB_VAL_BLOB_START, },
3558 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm99d, .buf_len = sizeof(bm99d) },
3559 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3560 	    { .reason = LECPCB_ARRAY_END, },
3561 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3562 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3563 	    { .reason = LECPCB_ARRAY_START, },
3564 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3565 	     { .reason = LECPCB_VAL_BLOB_START, },
3566 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm99e, .buf_len = sizeof(bm99e) },
3567 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3568 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3569 	     { .reason = LECPCB_OBJECT_START, },
3570 	      { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3571 	      { .reason = LECPCB_VAL_BLOB_START, },
3572 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm99f, .buf_len = sizeof(bm99f) },
3573 	     { .reason = LECPCB_OBJECT_END },
3574 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3575 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3576 	     { .reason = LECPCB_VAL_BLOB_START, },
3577 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm99g, .buf_len = sizeof(bm99g) },
3578 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3579 	    { .reason = LECPCB_ARRAY_END, },
3580 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3581 	   { .reason = LECPCB_ARRAY_END, },
3582 	  { .reason = LECPCB_OBJECT_END },
3583 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3584 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3585 	  { .reason = LECPCB_VAL_BLOB_START, },
3586 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm99h, .buf_len = sizeof(bm99h) },
3587 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3588 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3589 	  { .reason = LECPCB_VAL_BLOB_START, },
3590 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm99i, .buf_len = sizeof(bm99i) },
3591 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3592 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3593 	  { .reason = LECPCB_ARRAY_START, },
3594 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3595 	   { .reason = LECPCB_ARRAY_START, },
3596 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3597 	    { .reason = LECPCB_VAL_BLOB_START, },
3598 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm99a, .buf_len = 0 },
3599 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3600 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3601 	    { .reason = LECPCB_OBJECT_START, },
3602 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
3603 	     { .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
3604 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3605 	     { .reason = LECPCB_VAL_BLOB_START, },
3606 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm99j, .buf_len = sizeof(bm99j) },
3607 	    { .reason = LECPCB_OBJECT_END },
3608 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3609 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3610 	    { .reason = LECPCB_VAL_BLOB_START, },
3611 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm98e, .buf_len = 0 },
3612 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3613 	   { .reason = LECPCB_ARRAY_END, },
3614 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3615 	  { .reason = LECPCB_ARRAY_END, },
3616 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3617 	 { .reason = LECPCB_ARRAY_END, },
3618 	{ .reason = LECPCB_TAG_END, },
3619 	{ .reason = LECPCB_DESTRUCTED },
3620 
3621 }, seq100[] = {
3622 	{ .reason = LECPCB_CONSTRUCTED },
3623 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 17 } },
3624 	 { .reason = LECPCB_ARRAY_START, },
3625 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3626 	  { .reason = LECPCB_VAL_BLOB_START, },
3627 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm100a, .buf_len = sizeof(bm100a) },
3628 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3629 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3630 	  { .reason = LECPCB_OBJECT_START, },
3631 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3632 	   { .reason = LECPCB_ARRAY_START, },
3633 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3634 	    { .reason = LECPCB_VAL_BLOB_START, },
3635 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm100b, .buf_len = sizeof(bm100b) },
3636 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3637 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3638 	    { .reason = LECPCB_OBJECT_START, },
3639 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3640 	     { .reason = LECPCB_VAL_BLOB_START, },
3641 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm100c, .buf_len = sizeof(bm100c) },
3642 	    { .reason = LECPCB_OBJECT_END },
3643 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3644 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3645 	    { .reason = LECPCB_VAL_BLOB_START, },
3646 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm100d, .buf_len = sizeof(bm100d) },
3647 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3648 	   { .reason = LECPCB_ARRAY_END, },
3649 	  { .reason = LECPCB_OBJECT_END },
3650 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3651 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3652 	  { .reason = LECPCB_VAL_BLOB_START, },
3653 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm100e, .buf_len = sizeof(bm100e) },
3654 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3655 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3656 	  { .reason = LECPCB_VAL_BLOB_START, },
3657 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm100f, .buf_len = sizeof(bm100f) },
3658 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3659 	 { .reason = LECPCB_ARRAY_END, },
3660 	{ .reason = LECPCB_TAG_END, },
3661 	{ .reason = LECPCB_DESTRUCTED },
3662 
3663 }, seq101[] = {
3664 	{ .reason = LECPCB_CONSTRUCTED },
3665 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 17 } },
3666 	 { .reason = LECPCB_ARRAY_START, },
3667 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3668 	  { .reason = LECPCB_VAL_BLOB_START, },
3669 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm101a, .buf_len = sizeof(bm101a) },
3670 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3671 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3672 	  { .reason = LECPCB_OBJECT_START, },
3673 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3674 	   { .reason = LECPCB_ARRAY_START, },
3675 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3676 	    { .reason = LECPCB_ARRAY_START, },
3677 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3678 	     { .reason = LECPCB_VAL_BLOB_START, },
3679 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm101b, .buf_len = sizeof(bm101b) },
3680 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3681 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3682 	     { .reason = LECPCB_OBJECT_START, },
3683 	      { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3684 	      { .reason = LECPCB_VAL_BLOB_START, },
3685 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm101c, .buf_len = sizeof(bm101c) },
3686 	     { .reason = LECPCB_OBJECT_END },
3687 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3688 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3689 	     { .reason = LECPCB_VAL_BLOB_START, },
3690 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm101d, .buf_len = sizeof(bm101d) },
3691 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3692 	    { .reason = LECPCB_ARRAY_END, },
3693 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3694 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3695 	    { .reason = LECPCB_ARRAY_START, },
3696 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3697 	     { .reason = LECPCB_VAL_BLOB_START, },
3698 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm101e, .buf_len = sizeof(bm101e) },
3699 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3700 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3701 	     { .reason = LECPCB_OBJECT_START, },
3702 	      { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3703 	      { .reason = LECPCB_VAL_BLOB_START, },
3704 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm101f, .buf_len = sizeof(bm101f) },
3705 	     { .reason = LECPCB_OBJECT_END },
3706 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3707 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3708 	     { .reason = LECPCB_VAL_BLOB_START, },
3709 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm101g, .buf_len = sizeof(bm101g) },
3710 	     { .reason = LECPCB_ARRAY_ITEM_END, },
3711 	    { .reason = LECPCB_ARRAY_END, },
3712 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3713 	   { .reason = LECPCB_ARRAY_END, },
3714 	  { .reason = LECPCB_OBJECT_END },
3715 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3716 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3717 	  { .reason = LECPCB_VAL_BLOB_START, },
3718 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm101h, .buf_len = sizeof(bm101h) },
3719 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3720 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3721 	  { .reason = LECPCB_VAL_BLOB_START, },
3722 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm101i, .buf_len = sizeof(bm101i) },
3723 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3724 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3725 	  { .reason = LECPCB_ARRAY_START, },
3726 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3727 	   { .reason = LECPCB_ARRAY_START, },
3728 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3729 	    { .reason = LECPCB_VAL_BLOB_START, },
3730 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm101j, .buf_len = 0 },
3731 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3732 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3733 	    { .reason = LECPCB_OBJECT_START, },
3734 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 1 } },
3735 	     { .reason = LECPCB_VAL_NUM_INT, .item = { .u.i64 = -6 } },
3736 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3737 	     { .reason = LECPCB_VAL_BLOB_START, },
3738 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm101j, .buf_len = sizeof(bm101j) },
3739 	    { .reason = LECPCB_OBJECT_END },
3740 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3741 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3742 	    { .reason = LECPCB_VAL_BLOB_START, },
3743 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm101j, .buf_len = 0 },
3744 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3745 	   { .reason = LECPCB_ARRAY_END, },
3746 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3747 	  { .reason = LECPCB_ARRAY_END, },
3748 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3749 	 { .reason = LECPCB_ARRAY_END, },
3750 	{ .reason = LECPCB_TAG_END, },
3751 	{ .reason = LECPCB_DESTRUCTED },
3752 }, seq102[] = {
3753 	{ .reason = LECPCB_CONSTRUCTED },
3754 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 17 } },
3755 	 { .reason = LECPCB_ARRAY_START, },
3756 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3757 	  { .reason = LECPCB_VAL_BLOB_START, },
3758 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm102a, .buf_len = sizeof(bm102a) },
3759 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3760 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3761 	  { .reason = LECPCB_OBJECT_START, },
3762 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3763 	   { .reason = LECPCB_ARRAY_START, },
3764 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3765 	    { .reason = LECPCB_VAL_BLOB_START, },
3766 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm102b, .buf_len = sizeof(bm102b) },
3767 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3768 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3769 	    { .reason = LECPCB_OBJECT_START, },
3770 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3771 	     { .reason = LECPCB_VAL_BLOB_START, },
3772 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm102c, .buf_len = sizeof(bm102c) },
3773 	    { .reason = LECPCB_OBJECT_END },
3774 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3775 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3776 	    { .reason = LECPCB_VAL_BLOB_START, },
3777 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm102d, .buf_len = sizeof(bm102d) },
3778 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3779 	   { .reason = LECPCB_ARRAY_END, },
3780 	  { .reason = LECPCB_OBJECT_END },
3781 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3782 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3783 	  { .reason = LECPCB_VAL_BLOB_START, },
3784 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm102e, .buf_len = sizeof(bm102e) },
3785 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3786 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3787 	  { .reason = LECPCB_VAL_BLOB_START, },
3788 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm102f, .buf_len = sizeof(bm102f) },
3789 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3790 	 { .reason = LECPCB_ARRAY_END, },
3791 	{ .reason = LECPCB_TAG_END, },
3792 	{ .reason = LECPCB_DESTRUCTED },
3793 }, seq103[] = {
3794 	{ .reason = LECPCB_CONSTRUCTED },
3795 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 17 } },
3796 	 { .reason = LECPCB_ARRAY_START, },
3797 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3798 	  { .reason = LECPCB_VAL_BLOB_START, },
3799 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm103a, .buf_len = sizeof(bm103a) },
3800 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3801 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3802 	  { .reason = LECPCB_OBJECT_START, },
3803 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3804 	   { .reason = LECPCB_ARRAY_START, },
3805 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3806 	   { .reason = LECPCB_ARRAY_START, },
3807 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3808 	    { .reason = LECPCB_VAL_BLOB_START, },
3809 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm103b, .buf_len = sizeof(bm103b) },
3810 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3811 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3812 	    { .reason = LECPCB_OBJECT_START, },
3813 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3814 	     { .reason = LECPCB_VAL_BLOB_START, },
3815 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm103c, .buf_len = sizeof(bm103c) },
3816 	    { .reason = LECPCB_OBJECT_END },
3817 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3818 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3819 	    { .reason = LECPCB_VAL_BLOB_START, },
3820 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm103d, .buf_len = sizeof(bm103d) },
3821 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3822 	   { .reason = LECPCB_ARRAY_END, },
3823 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3824 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3825 	   { .reason = LECPCB_ARRAY_START, },
3826 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3827 		  { .reason = LECPCB_VAL_BLOB_START, },
3828 		  { .reason = LECPCB_VAL_BLOB_END, .buf = bm103e, .buf_len = sizeof(bm103e) },
3829 		  { .reason = LECPCB_ARRAY_ITEM_END, },
3830 		  { .reason = LECPCB_ARRAY_ITEM_START, },
3831 		  { .reason = LECPCB_OBJECT_START, },
3832 		     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3833 			  { .reason = LECPCB_VAL_BLOB_START, },
3834 			  { .reason = LECPCB_VAL_BLOB_END, .buf = bm103f, .buf_len = sizeof(bm103f) },
3835 
3836 	  { .reason = LECPCB_OBJECT_END },
3837 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3838 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3839 	  { .reason = LECPCB_VAL_BLOB_START, },
3840 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm103g, .buf_len = sizeof(bm103g) },
3841 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3842 	   { .reason = LECPCB_ARRAY_END, },
3843 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3844 	   { .reason = LECPCB_ARRAY_END, },
3845 	    { .reason = LECPCB_OBJECT_END },
3846 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3847 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3848 	  { .reason = LECPCB_VAL_BLOB_START, },
3849 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm103h, .buf_len = sizeof(bm103h) },
3850 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3851 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3852 	  { .reason = LECPCB_VAL_BLOB_START, },
3853 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm103i, .buf_len = sizeof(bm103i) },
3854 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3855 	 { .reason = LECPCB_ARRAY_END, },
3856 	{ .reason = LECPCB_TAG_END, },
3857 	{ .reason = LECPCB_DESTRUCTED },
3858 
3859 }, seq104[] = {
3860 	{ .reason = LECPCB_CONSTRUCTED },
3861 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 98 } },
3862 	 { .reason = LECPCB_ARRAY_START, },
3863 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3864 	  { .reason = LECPCB_VAL_BLOB_START, },
3865 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm104a, .buf_len = sizeof(bm104a) },
3866 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3867 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3868 	  { .reason = LECPCB_OBJECT_START, },
3869 	  { .reason = LECPCB_OBJECT_END },
3870 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3871 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3872 	  { .reason = LECPCB_VAL_BLOB_START, },
3873 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm104b, .buf_len = sizeof(bm104b) },
3874 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3875 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3876 	  { .reason = LECPCB_ARRAY_START, },
3877 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3878 	   { .reason = LECPCB_ARRAY_START, },
3879 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3880 	    { .reason = LECPCB_VAL_BLOB_START, },
3881 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm104c, .buf_len = sizeof(bm104c) },
3882 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3883 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3884 	    { .reason = LECPCB_OBJECT_START, },
3885 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3886 	     { .reason = LECPCB_ARRAY_START, },
3887 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3888 	      { .reason = LECPCB_VAL_BLOB_START, },
3889 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm104d, .buf_len = sizeof(bm104d) },
3890 	      { .reason = LECPCB_ARRAY_ITEM_END, },
3891 	      { .reason = LECPCB_ARRAY_ITEM_START, },
3892 	      { .reason = LECPCB_OBJECT_START },
3893 	       { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3894 	       { .reason = LECPCB_VAL_BLOB_START, },
3895 	       { .reason = LECPCB_VAL_BLOB_END, .buf = bm104e, .buf_len = sizeof(bm104e) },
3896 	      { .reason = LECPCB_OBJECT_END },
3897 	      { .reason = LECPCB_ARRAY_ITEM_END, },
3898 	      { .reason = LECPCB_ARRAY_ITEM_START, },
3899 	      { .reason = LECPCB_VAL_BLOB_START, },
3900 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm104f, .buf_len = sizeof(bm104f) },
3901 	      { .reason = LECPCB_ARRAY_ITEM_END, },
3902 	     { .reason = LECPCB_ARRAY_END, },
3903 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3904 	     { .reason = LECPCB_VAL_BLOB_START, },
3905 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm104g, .buf_len = sizeof(bm104g) },
3906 	    { .reason = LECPCB_OBJECT_END },
3907 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3908 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3909 	    { .reason = LECPCB_VAL_BLOB_START, },
3910 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm104h, .buf_len = sizeof(bm104h) },
3911 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3912 	   { .reason = LECPCB_ARRAY_END, },
3913 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3914 	  { .reason = LECPCB_ARRAY_END, },
3915 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3916 	 { .reason = LECPCB_ARRAY_END, },
3917 	{ .reason = LECPCB_TAG_END, },
3918 	{ .reason = LECPCB_DESTRUCTED },
3919 }, seq105[] = {
3920 	{ .reason = LECPCB_CONSTRUCTED },
3921 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 98 } },
3922 	 { .reason = LECPCB_ARRAY_START, },
3923 	 { .reason = LECPCB_ARRAY_ITEM_START, },
3924 	  { .reason = LECPCB_VAL_BLOB_START, },
3925 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm105a, .buf_len = sizeof(bm105a) },
3926 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3927 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3928 	  { .reason = LECPCB_OBJECT_START, },
3929 	  { .reason = LECPCB_OBJECT_END, },
3930 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3931 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3932 	  { .reason = LECPCB_VAL_BLOB_START, },
3933 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm105b, .buf_len = sizeof(bm105b) },
3934 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3935 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3936 	  { .reason = LECPCB_ARRAY_START, },
3937 	  { .reason = LECPCB_ARRAY_ITEM_START, },
3938 	   { .reason = LECPCB_ARRAY_START, },
3939 	   { .reason = LECPCB_ARRAY_ITEM_START, },
3940 	    { .reason = LECPCB_VAL_BLOB_START, },
3941 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm105c, .buf_len = sizeof(bm105c) },
3942 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3943 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3944 	    { .reason = LECPCB_OBJECT_START, },
3945 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
3946 	     { .reason = LECPCB_ARRAY_START, },
3947 	     { .reason = LECPCB_ARRAY_ITEM_START, },
3948 	      { .reason = LECPCB_ARRAY_START, },
3949 	      { .reason = LECPCB_ARRAY_ITEM_START, },
3950 	       { .reason = LECPCB_VAL_BLOB_START, },
3951 	       { .reason = LECPCB_VAL_BLOB_END, .buf = bm105d, .buf_len = sizeof(bm105d) },
3952 	       { .reason = LECPCB_ARRAY_ITEM_END, },
3953 	       { .reason = LECPCB_ARRAY_ITEM_START, },
3954 	       { .reason = LECPCB_OBJECT_START, },
3955 	        { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3956 	        { .reason = LECPCB_VAL_BLOB_START, },
3957 	        { .reason = LECPCB_VAL_BLOB_END, .buf = bm105e, .buf_len = sizeof(bm105e) },
3958 	       { .reason = LECPCB_OBJECT_END, },
3959 	       { .reason = LECPCB_ARRAY_ITEM_END, },
3960 	       { .reason = LECPCB_ARRAY_ITEM_START, },
3961 	       { .reason = LECPCB_VAL_BLOB_START, },
3962 	       { .reason = LECPCB_VAL_BLOB_END, .buf = bm105f, .buf_len = sizeof(bm105f) },
3963 	       { .reason = LECPCB_ARRAY_ITEM_END, },
3964 	      { .reason = LECPCB_ARRAY_END, },
3965 	      { .reason = LECPCB_ARRAY_ITEM_END, },
3966 	      { .reason = LECPCB_ARRAY_ITEM_START, },
3967 	      { .reason = LECPCB_ARRAY_START, },
3968 	      { .reason = LECPCB_ARRAY_ITEM_START, },
3969 	       { .reason = LECPCB_VAL_BLOB_START, },
3970 	       { .reason = LECPCB_VAL_BLOB_END, .buf = bm105g, .buf_len = sizeof(bm105g) },
3971 	       { .reason = LECPCB_ARRAY_ITEM_END, },
3972 	       { .reason = LECPCB_ARRAY_ITEM_START, },
3973 	       { .reason = LECPCB_OBJECT_START, },
3974 	        { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3975 	        { .reason = LECPCB_VAL_BLOB_START, },
3976 		{ .reason = LECPCB_VAL_BLOB_END, .buf = bm105h, .buf_len = sizeof(bm105h) },
3977 	       { .reason = LECPCB_OBJECT_END, },
3978 	       { .reason = LECPCB_ARRAY_ITEM_END, },
3979 	       { .reason = LECPCB_ARRAY_ITEM_START, },
3980 	       { .reason = LECPCB_VAL_BLOB_START, },
3981 	       { .reason = LECPCB_VAL_BLOB_END, .buf = bm105i, .buf_len = sizeof(bm105i) },
3982 	       { .reason = LECPCB_ARRAY_ITEM_END, },
3983 	      { .reason = LECPCB_ARRAY_END, },
3984 	      { .reason = LECPCB_ARRAY_ITEM_END, },
3985 	     { .reason = LECPCB_ARRAY_END, },
3986 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
3987 	     { .reason = LECPCB_VAL_BLOB_START, },
3988 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm105j, .buf_len = sizeof(bm105j) },
3989 	    { .reason = LECPCB_OBJECT_END, },
3990 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3991 	    { .reason = LECPCB_ARRAY_ITEM_START, },
3992 	    { .reason = LECPCB_VAL_BLOB_START, },
3993 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm105k, .buf_len = sizeof(bm105k) },
3994 	    { .reason = LECPCB_ARRAY_ITEM_END, },
3995 	   { .reason = LECPCB_ARRAY_END, },
3996 	   { .reason = LECPCB_ARRAY_ITEM_END, },
3997 	  { .reason = LECPCB_ARRAY_END, },
3998 	  { .reason = LECPCB_ARRAY_ITEM_END, },
3999 	 { .reason = LECPCB_ARRAY_END, },
4000 	{ .reason = LECPCB_TAG_END, },
4001 	{ .reason = LECPCB_DESTRUCTED },
4002 }, seq106[] = {
4003 	{ .reason = LECPCB_CONSTRUCTED },
4004 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 98 } },
4005 	 { .reason = LECPCB_ARRAY_START, },
4006 	  { .reason = LECPCB_ARRAY_ITEM_START, },
4007 	  { .reason = LECPCB_VAL_BLOB_START, },
4008 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm106a, .buf_len = sizeof(bm106a) },
4009 	  { .reason = LECPCB_ARRAY_ITEM_END, },
4010 	  { .reason = LECPCB_ARRAY_ITEM_START, },
4011 	  { .reason = LECPCB_OBJECT_START, },
4012 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
4013 	   { .reason = LECPCB_ARRAY_START, },
4014 	   { .reason = LECPCB_ARRAY_ITEM_START, },
4015 	    { .reason = LECPCB_VAL_BLOB_START, },
4016 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm106b, .buf_len = sizeof(bm106b) },
4017 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4018 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4019 	    { .reason = LECPCB_OBJECT_START, },
4020 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
4021 	     { .reason = LECPCB_VAL_BLOB_START, },
4022 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm106c, .buf_len = sizeof(bm106c) },
4023 	    { .reason = LECPCB_OBJECT_END },
4024 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4025 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4026 	    { .reason = LECPCB_VAL_BLOB_START, },
4027 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm106d, .buf_len = sizeof(bm106d) },
4028 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4029 	   { .reason = LECPCB_ARRAY_END, },
4030 	  { .reason = LECPCB_OBJECT_END },
4031 	  { .reason = LECPCB_ARRAY_ITEM_END, },
4032 	  { .reason = LECPCB_ARRAY_ITEM_START, },
4033 	  { .reason = LECPCB_VAL_BLOB_START, },
4034 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm106e, .buf_len = sizeof(bm106e) },
4035 	  { .reason = LECPCB_ARRAY_ITEM_END, },
4036 	  { .reason = LECPCB_ARRAY_ITEM_START, },
4037 	  { .reason = LECPCB_ARRAY_START, },
4038 	  { .reason = LECPCB_ARRAY_ITEM_START, },
4039 	   { .reason = LECPCB_ARRAY_START, },
4040 	   { .reason = LECPCB_ARRAY_ITEM_START, },
4041 	    { .reason = LECPCB_VAL_BLOB_START, },
4042 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm106f, .buf_len = sizeof(bm106f) },
4043 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4044 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4045 	    { .reason = LECPCB_OBJECT_START, },
4046 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
4047 	     { .reason = LECPCB_VAL_BLOB_START, },
4048 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm106g, .buf_len = sizeof(bm106g) },
4049 	    { .reason = LECPCB_OBJECT_END },
4050 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4051 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4052 	    { .reason = LECPCB_VAL_BLOB_START, },
4053 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm106h, .buf_len = sizeof(bm106h) },
4054 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4055 	   { .reason = LECPCB_ARRAY_END, },
4056 	   { .reason = LECPCB_ARRAY_ITEM_END, },
4057 	  { .reason = LECPCB_ARRAY_END, },
4058 	  { .reason = LECPCB_ARRAY_ITEM_END, },
4059 	 { .reason = LECPCB_ARRAY_END, },
4060 	{ .reason = LECPCB_TAG_END, },
4061 	{ .reason = LECPCB_DESTRUCTED },
4062 }, seq107[] = {
4063 	{ .reason = LECPCB_CONSTRUCTED },
4064 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 17 } },
4065 	 { .reason = LECPCB_ARRAY_START, },
4066 	 { .reason = LECPCB_ARRAY_ITEM_START, },
4067 	  { .reason = LECPCB_VAL_BLOB_START, },
4068 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm107a, .buf_len = sizeof(bm107a) },
4069 	  { .reason = LECPCB_ARRAY_ITEM_END, },
4070 	  { .reason = LECPCB_ARRAY_ITEM_START, },
4071 	  { .reason = LECPCB_OBJECT_START, },
4072 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
4073 	   { .reason = LECPCB_ARRAY_START, },
4074 	   { .reason = LECPCB_ARRAY_ITEM_START, },
4075 	    { .reason = LECPCB_VAL_BLOB_START, },
4076 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm107b, .buf_len = sizeof(bm107b) },
4077 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4078 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4079 	    { .reason = LECPCB_OBJECT_START, },
4080 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
4081 	     { .reason = LECPCB_VAL_BLOB_START, },
4082 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm107c, .buf_len = sizeof(bm107c) },
4083 	    { .reason = LECPCB_OBJECT_END },
4084 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4085 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4086 	    { .reason = LECPCB_VAL_BLOB_START, },
4087 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm107d, .buf_len = sizeof(bm107d) },
4088 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4089 	   { .reason = LECPCB_ARRAY_END, },
4090 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
4091 	  { .reason = LECPCB_VAL_BLOB_START, },
4092 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm107e, .buf_len = sizeof(bm107e) },
4093 	    { .reason = LECPCB_OBJECT_END },
4094 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4095 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4096 	  { .reason = LECPCB_VAL_BLOB_START, },
4097 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm107f, .buf_len = sizeof(bm107f) },
4098 	  { .reason = LECPCB_ARRAY_ITEM_END, },
4099 	  { .reason = LECPCB_ARRAY_ITEM_START, },
4100 	  { .reason = LECPCB_VAL_BLOB_START, },
4101 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm107g, .buf_len = sizeof(bm107g) },
4102 	  { .reason = LECPCB_ARRAY_ITEM_END, },
4103 	 { .reason = LECPCB_ARRAY_END, },
4104 	{ .reason = LECPCB_TAG_END, },
4105 	{ .reason = LECPCB_DESTRUCTED },
4106 }, seq108[] = {
4107 	{ .reason = LECPCB_CONSTRUCTED },
4108 	{ .reason = LECPCB_TAG_START, .item = { .u.u64 = 18 } },
4109 	 { .reason = LECPCB_ARRAY_START, },
4110 	 { .reason = LECPCB_ARRAY_ITEM_START, },
4111 	  { .reason = LECPCB_VAL_BLOB_START, },
4112 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm108a, .buf_len = sizeof(bm108a) },
4113 	  { .reason = LECPCB_ARRAY_ITEM_END, },
4114 	  { .reason = LECPCB_ARRAY_ITEM_START, },
4115 	  { .reason = LECPCB_OBJECT_START, },
4116 	   { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 7 } },
4117 	   { .reason = LECPCB_ARRAY_START, },
4118 	   { .reason = LECPCB_ARRAY_ITEM_START, },
4119 	    { .reason = LECPCB_ARRAY_START, },
4120 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4121 	     { .reason = LECPCB_VAL_BLOB_START, },
4122 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm108b, .buf_len = sizeof(bm108b) },
4123 	     { .reason = LECPCB_ARRAY_ITEM_END, },
4124 	     { .reason = LECPCB_ARRAY_ITEM_START, },
4125 	     { .reason = LECPCB_OBJECT_START, },
4126 	      { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
4127 	      { .reason = LECPCB_VAL_BLOB_START, },
4128 	      { .reason = LECPCB_VAL_BLOB_END, .buf = bm108c, .buf_len = sizeof(bm108c) },
4129 	     { .reason = LECPCB_OBJECT_END },
4130 	     { .reason = LECPCB_ARRAY_ITEM_END, },
4131 	     { .reason = LECPCB_ARRAY_ITEM_START, },
4132 	     { .reason = LECPCB_VAL_BLOB_START, },
4133 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm108d, .buf_len = sizeof(bm108d) },
4134 	     { .reason = LECPCB_ARRAY_ITEM_END, },
4135 	    { .reason = LECPCB_ARRAY_END, },
4136 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4137 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4138 	    { .reason = LECPCB_ARRAY_START, },
4139 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4140 	    { .reason = LECPCB_VAL_BLOB_START, },
4141 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm108e, .buf_len = sizeof(bm108e) },
4142 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4143 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4144 	    { .reason = LECPCB_OBJECT_START, },
4145 	     { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
4146 	     { .reason = LECPCB_VAL_BLOB_START, },
4147 	     { .reason = LECPCB_VAL_BLOB_END, .buf = bm108f, .buf_len = sizeof(bm108f) },
4148 	    { .reason = LECPCB_OBJECT_END },
4149 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4150 	    { .reason = LECPCB_ARRAY_ITEM_START, },
4151 	    { .reason = LECPCB_VAL_BLOB_START, },
4152 	    { .reason = LECPCB_VAL_BLOB_END, .buf = bm108g, .buf_len = sizeof(bm108g) },
4153 	    { .reason = LECPCB_ARRAY_ITEM_END, },
4154 	   { .reason = LECPCB_ARRAY_END, },
4155 	   { .reason = LECPCB_ARRAY_ITEM_END, },
4156 	  { .reason = LECPCB_ARRAY_END, },
4157 	  { .reason = LECPCB_VAL_NUM_UINT, .item = { .u.u64 = 4 } },
4158 	  { .reason = LECPCB_VAL_BLOB_START, },
4159 	  { .reason = LECPCB_VAL_BLOB_END, .buf = bm108h, .buf_len = sizeof(bm108h) },
4160 	 { .reason = LECPCB_OBJECT_END },
4161 	 { .reason = LECPCB_ARRAY_ITEM_END, },
4162 	 { .reason = LECPCB_ARRAY_ITEM_START, },
4163 	 { .reason = LECPCB_VAL_BLOB_START, },
4164 	 { .reason = LECPCB_VAL_BLOB_END, .buf = bm108i, .buf_len = sizeof(bm108i) },
4165 	 { .reason = LECPCB_ARRAY_ITEM_END, },
4166 	 { .reason = LECPCB_ARRAY_ITEM_START, },
4167 	 { .reason = LECPCB_VAL_BLOB_START, },
4168 	 { .reason = LECPCB_VAL_BLOB_END, .buf = bm108j, .buf_len = sizeof(bm108j) },
4169 	 { .reason = LECPCB_ARRAY_ITEM_END, },
4170 	 { .reason = LECPCB_ARRAY_END, },
4171 	{ .reason = LECPCB_TAG_END, },
4172 	{ .reason = LECPCB_DESTRUCTED },
4173 };
4174 
4175 
4176 struct cbort {
4177 	const uint8_t		*b;
4178 	size_t			blen;
4179 	const struct seq	*seq;
4180 	size_t			seq_size;
4181 };
4182 
4183 static const struct cbort cbor_tests[] = {
4184 	{ .b = test1,  .blen = sizeof(test1),
4185 			.seq = seq1,  .seq_size = LWS_ARRAY_SIZE(seq1) },
4186 	{ .b = test2,  .blen = sizeof(test2),
4187 			.seq = seq2,  .seq_size = LWS_ARRAY_SIZE(seq2) },
4188 	{ .b = test3,  .blen = sizeof(test3),
4189 			.seq = seq3,  .seq_size = LWS_ARRAY_SIZE(seq3) },
4190 	{ .b = test4,  .blen = sizeof(test4),
4191 			.seq = seq4,  .seq_size = LWS_ARRAY_SIZE(seq4) },
4192 	{ .b = test5,  .blen = sizeof(test5),
4193 			.seq = seq5,  .seq_size = LWS_ARRAY_SIZE(seq5) },
4194 	{ .b = test6,  .blen = sizeof(test6),
4195 			.seq = seq6,  .seq_size = LWS_ARRAY_SIZE(seq6) },
4196 	{ .b = test7,  .blen = sizeof(test7),
4197 			.seq = seq7,  .seq_size = LWS_ARRAY_SIZE(seq7) },
4198 	{ .b = test8,  .blen = sizeof(test8),
4199 			.seq = seq8,  .seq_size = LWS_ARRAY_SIZE(seq8) },
4200 	{ .b = test9,  .blen = sizeof(test9),
4201 			.seq = seq9,  .seq_size = LWS_ARRAY_SIZE(seq9) },
4202 	{ .b = test10, .blen = sizeof(test10),
4203 			.seq = seq10, .seq_size = LWS_ARRAY_SIZE(seq10) },
4204 	{ .b = test11, .blen = sizeof(test11),
4205 			.seq = seq11, .seq_size = LWS_ARRAY_SIZE(seq11) },
4206 	{ .b = test12, .blen = sizeof(test12),
4207 			.seq = seq12, .seq_size = LWS_ARRAY_SIZE(seq12) },
4208 	{ .b = test13, .blen = sizeof(test13),
4209 			.seq = seq13, .seq_size = LWS_ARRAY_SIZE(seq13) },
4210 	{ .b = test14, .blen = sizeof(test14),
4211 			.seq = seq14, .seq_size = LWS_ARRAY_SIZE(seq14) },
4212 	{ .b = test15, .blen = sizeof(test15),
4213 			.seq = seq15, .seq_size = LWS_ARRAY_SIZE(seq15) },
4214 	{ .b = test16, .blen = sizeof(test16),
4215 			.seq = seq16, .seq_size = LWS_ARRAY_SIZE(seq16) },
4216 	{ .b = test17, .blen = sizeof(test17),
4217 			.seq = seq17, .seq_size = LWS_ARRAY_SIZE(seq17) },
4218 	{ .b = test18, .blen = sizeof(test18),
4219 			.seq = seq18, .seq_size = LWS_ARRAY_SIZE(seq18) },
4220 	{ .b = test19, .blen = sizeof(test19),
4221 			.seq = seq19, .seq_size = LWS_ARRAY_SIZE(seq19) },
4222 	{ .b = test20, .blen = sizeof(test20),
4223 			.seq = seq20, .seq_size = LWS_ARRAY_SIZE(seq20) },
4224 	{ .b = test21, .blen = sizeof(test21),
4225 			.seq = seq21, .seq_size = LWS_ARRAY_SIZE(seq21) },
4226 	{ .b = test22, .blen = sizeof(test22),
4227 			.seq = seq22, .seq_size = LWS_ARRAY_SIZE(seq22) },
4228 	{ .b = test23, .blen = sizeof(test23),
4229 			.seq = seq23, .seq_size = LWS_ARRAY_SIZE(seq23) },
4230 	{ .b = test24, .blen = sizeof(test24),
4231 			.seq = seq24, .seq_size = LWS_ARRAY_SIZE(seq24) },
4232 	{ .b = test25, .blen = sizeof(test25),
4233 			.seq = seq25, .seq_size = LWS_ARRAY_SIZE(seq25) },
4234 	{ .b = test26, .blen = sizeof(test26),
4235 			.seq = seq26, .seq_size = LWS_ARRAY_SIZE(seq26) },
4236 	{ .b = test27, .blen = sizeof(test27),
4237 			.seq = seq27, .seq_size = LWS_ARRAY_SIZE(seq27) },
4238 	{ .b = test28, .blen = sizeof(test28),
4239 			.seq = seq28, .seq_size = LWS_ARRAY_SIZE(seq28) },
4240 	{ .b = test29, .blen = sizeof(test29),
4241 			.seq = seq29, .seq_size = LWS_ARRAY_SIZE(seq29) },
4242 	{ .b = test30, .blen = sizeof(test30),
4243 			.seq = seq30, .seq_size = LWS_ARRAY_SIZE(seq30) },
4244 	{ .b = test31, .blen = sizeof(test31),
4245 			.seq = seq31, .seq_size = LWS_ARRAY_SIZE(seq31) },
4246 	{ .b = test32, .blen = sizeof(test32),
4247 			.seq = seq32, .seq_size = LWS_ARRAY_SIZE(seq32) },
4248 	{ .b = test33, .blen = sizeof(test33),
4249 			.seq = seq33, .seq_size = LWS_ARRAY_SIZE(seq33) },
4250 	{ .b = test34, .blen = sizeof(test34),
4251 			.seq = seq34, .seq_size = LWS_ARRAY_SIZE(seq34) },
4252 	{ .b = test35, .blen = sizeof(test35),
4253 			.seq = seq35, .seq_size = LWS_ARRAY_SIZE(seq35) },
4254 	{ .b = test36, .blen = sizeof(test36),
4255 			.seq = seq36, .seq_size = LWS_ARRAY_SIZE(seq36) },
4256 	{ .b = test37, .blen = sizeof(test37),
4257 			.seq = seq37, .seq_size = LWS_ARRAY_SIZE(seq37) },
4258 	{ .b = test38, .blen = sizeof(test38),
4259 			.seq = seq38, .seq_size = LWS_ARRAY_SIZE(seq38) },
4260 	{ .b = test39, .blen = sizeof(test39),
4261 			.seq = seq39, .seq_size = LWS_ARRAY_SIZE(seq39) },
4262 	{ .b = test40, .blen = sizeof(test40),
4263 			.seq = seq40, .seq_size = LWS_ARRAY_SIZE(seq40) },
4264 	{ .b = test41, .blen = sizeof(test41),
4265 			.seq = seq41, .seq_size = LWS_ARRAY_SIZE(seq41) },
4266 	{ .b = test42, .blen = sizeof(test42),
4267 			.seq = seq42, .seq_size = LWS_ARRAY_SIZE(seq42) },
4268 	{ .b = test43, .blen = sizeof(test43),
4269 			.seq = seq43, .seq_size = LWS_ARRAY_SIZE(seq43) },
4270 	{ .b = test44, .blen = sizeof(test44),
4271 			.seq = seq44, .seq_size = LWS_ARRAY_SIZE(seq44) },
4272 	{ .b = test45, .blen = sizeof(test45),
4273 			.seq = seq45, .seq_size = LWS_ARRAY_SIZE(seq45) },
4274 	{ .b = test46, .blen = sizeof(test46),
4275 			.seq = seq46, .seq_size = LWS_ARRAY_SIZE(seq46) },
4276 	{ .b = test47, .blen = sizeof(test47),
4277 			.seq = seq47, .seq_size = LWS_ARRAY_SIZE(seq47) },
4278 	{ .b = test48, .blen = sizeof(test48),
4279 			.seq = seq48, .seq_size = LWS_ARRAY_SIZE(seq48) },
4280 	{ .b = test49, .blen = sizeof(test49),
4281 			.seq = seq49, .seq_size = LWS_ARRAY_SIZE(seq49) },
4282 	{ .b = test50, .blen = sizeof(test50),
4283 			.seq = seq50, .seq_size = LWS_ARRAY_SIZE(seq50) },
4284 	{ .b = test51, .blen = sizeof(test51),
4285 			.seq = seq51, .seq_size = LWS_ARRAY_SIZE(seq51) },
4286 	{ .b = test52, .blen = sizeof(test52),
4287 			.seq = seq52, .seq_size = LWS_ARRAY_SIZE(seq52) },
4288 	{ .b = test53, .blen = sizeof(test53),
4289 			.seq = seq53, .seq_size = LWS_ARRAY_SIZE(seq53) },
4290 	{ .b = test54, .blen = sizeof(test54),
4291 			.seq = seq54, .seq_size = LWS_ARRAY_SIZE(seq54) },
4292 	{ .b = test55, .blen = sizeof(test55),
4293 			.seq = seq55, .seq_size = LWS_ARRAY_SIZE(seq55) },
4294 	{ .b = test56, .blen = sizeof(test56),
4295 			.seq = seq56, .seq_size = LWS_ARRAY_SIZE(seq56) },
4296 	{ .b = test57, .blen = sizeof(test57),
4297 			.seq = seq57, .seq_size = LWS_ARRAY_SIZE(seq57) },
4298 	{ .b = test58, .blen = sizeof(test58),
4299 			.seq = seq58, .seq_size = LWS_ARRAY_SIZE(seq58) },
4300 	{ .b = test59, .blen = sizeof(test59),
4301 			.seq = seq59, .seq_size = LWS_ARRAY_SIZE(seq59) },
4302 	{ .b = test60, .blen = sizeof(test60),
4303 			.seq = seq60, .seq_size = LWS_ARRAY_SIZE(seq60) },
4304 	{ .b = test61, .blen = sizeof(test61),
4305 			.seq = seq61, .seq_size = LWS_ARRAY_SIZE(seq61) },
4306 	{ .b = test62, .blen = sizeof(test62),
4307 			.seq = seq62, .seq_size = LWS_ARRAY_SIZE(seq62) },
4308 	{ .b = test63, .blen = sizeof(test63),
4309 			.seq = seq63, .seq_size = LWS_ARRAY_SIZE(seq63) },
4310 	{ .b = test64, .blen = sizeof(test64),
4311 			.seq = seq64, .seq_size = LWS_ARRAY_SIZE(seq64) },
4312 	{ .b = test65, .blen = sizeof(test65),
4313 			.seq = seq65, .seq_size = LWS_ARRAY_SIZE(seq65) },
4314 	{ .b = test66, .blen = sizeof(test66),
4315 			.seq = seq66, .seq_size = LWS_ARRAY_SIZE(seq66) },
4316 	{ .b = test67, .blen = sizeof(test67),
4317 			.seq = seq67, .seq_size = LWS_ARRAY_SIZE(seq67) },
4318 	{ .b = test68, .blen = sizeof(test68),
4319 			.seq = seq68, .seq_size = LWS_ARRAY_SIZE(seq68) },
4320 	{ .b = test69, .blen = sizeof(test69),
4321 			.seq = seq69, .seq_size = LWS_ARRAY_SIZE(seq69) },
4322 	{ .b = test70, .blen = sizeof(test70),
4323 			.seq = seq70, .seq_size = LWS_ARRAY_SIZE(seq70) },
4324 	{ .b = test71, .blen = sizeof(test71),
4325 			.seq = seq71, .seq_size = LWS_ARRAY_SIZE(seq71) },
4326 	{ .b = test72, .blen = sizeof(test72),
4327 			.seq = seq72, .seq_size = LWS_ARRAY_SIZE(seq72) },
4328 	{ .b = test73, .blen = sizeof(test73),
4329 			.seq = seq73, .seq_size = LWS_ARRAY_SIZE(seq73) },
4330 	{ .b = test74, .blen = sizeof(test74),
4331 			.seq = seq74, .seq_size = LWS_ARRAY_SIZE(seq74) },
4332 	{ .b = test75, .blen = sizeof(test75),
4333 			.seq = seq75, .seq_size = LWS_ARRAY_SIZE(seq75) },
4334 	{ .b = test76, .blen = sizeof(test76),
4335 			.seq = seq76, .seq_size = LWS_ARRAY_SIZE(seq76) },
4336 	{ .b = test77, .blen = sizeof(test77),
4337 			.seq = seq77, .seq_size = LWS_ARRAY_SIZE(seq77) },
4338 	{ .b = test78, .blen = sizeof(test78),
4339 			.seq = seq78, .seq_size = LWS_ARRAY_SIZE(seq78) },
4340 	{ .b = test79, .blen = sizeof(test79),
4341 			.seq = seq79, .seq_size = LWS_ARRAY_SIZE(seq79) },
4342 	{ .b = test80, .blen = sizeof(test80),
4343 			.seq = seq80, .seq_size = LWS_ARRAY_SIZE(seq80) },
4344 	{ .b = test81, .blen = sizeof(test81),
4345 			.seq = seq81, .seq_size = LWS_ARRAY_SIZE(seq81) },
4346 	{ .b = test82, .blen = sizeof(test82),
4347 			.seq = seq82, .seq_size = LWS_ARRAY_SIZE(seq82) },
4348 
4349 	/* COSE-dervied test vectors */
4350 
4351 	{ .b = test83, .blen = sizeof(test83),
4352 			.seq = seq83, .seq_size = LWS_ARRAY_SIZE(seq83) },
4353 	{ .b = test84, .blen = sizeof(test84),
4354 			.seq = seq84, .seq_size = LWS_ARRAY_SIZE(seq84) },
4355 	{ .b = test85, .blen = sizeof(test85),
4356 			.seq = seq85, .seq_size = LWS_ARRAY_SIZE(seq85) },
4357 	{ .b = test86, .blen = sizeof(test86),
4358 			.seq = seq86, .seq_size = LWS_ARRAY_SIZE(seq86) },
4359 	{ .b = test87, .blen = sizeof(test87),
4360 			.seq = seq87, .seq_size = LWS_ARRAY_SIZE(seq87) },
4361 	{ .b = test88, .blen = sizeof(test88),
4362 			.seq = seq88, .seq_size = LWS_ARRAY_SIZE(seq88) },
4363 	{ .b = test89, .blen = sizeof(test89),
4364 			.seq = seq89, .seq_size = LWS_ARRAY_SIZE(seq89) },
4365 	{ .b = test90, .blen = sizeof(test90),
4366 			.seq = seq90, .seq_size = LWS_ARRAY_SIZE(seq90) },
4367 	{ .b = test91, .blen = sizeof(test91),
4368 			.seq = seq91, .seq_size = LWS_ARRAY_SIZE(seq91) },
4369 	{ .b = test92, .blen = sizeof(test92),
4370 			.seq = seq92, .seq_size = LWS_ARRAY_SIZE(seq92) },
4371 	{ .b = test93, .blen = sizeof(test93),
4372 			.seq = seq93, .seq_size = LWS_ARRAY_SIZE(seq93) },
4373 	{ .b = test94, .blen = sizeof(test94),
4374 			.seq = seq94, .seq_size = LWS_ARRAY_SIZE(seq94) },
4375 	{ .b = test95, .blen = sizeof(test95),
4376 			.seq = seq95, .seq_size = LWS_ARRAY_SIZE(seq95) },
4377 	{ .b = test96, .blen = sizeof(test96),
4378 			.seq = seq96, .seq_size = LWS_ARRAY_SIZE(seq96) },
4379 	{ .b = test97, .blen = sizeof(test97),
4380 			.seq = seq97, .seq_size = LWS_ARRAY_SIZE(seq97) },
4381 	{ .b = test98, .blen = sizeof(test98),
4382 			.seq = seq98, .seq_size = LWS_ARRAY_SIZE(seq98) },
4383 	{ .b = test99, .blen = sizeof(test99),
4384 			.seq = seq99, .seq_size = LWS_ARRAY_SIZE(seq99) },
4385 	{ .b = test100, .blen = sizeof(test100),
4386 			.seq = seq100, .seq_size = LWS_ARRAY_SIZE(seq100) },
4387 	{ .b = test101, .blen = sizeof(test101),
4388 			.seq = seq101, .seq_size = LWS_ARRAY_SIZE(seq101) },
4389 	{ .b = test102, .blen = sizeof(test102),
4390 			.seq = seq102, .seq_size = LWS_ARRAY_SIZE(seq102) },
4391 	{ .b = test103, .blen = sizeof(test103),
4392 			.seq = seq103, .seq_size = LWS_ARRAY_SIZE(seq103) },
4393 	{ .b = test104, .blen = sizeof(test104),
4394 			.seq = seq104, .seq_size = LWS_ARRAY_SIZE(seq104) },
4395 	{ .b = test105, .blen = sizeof(test105),
4396 			.seq = seq105, .seq_size = LWS_ARRAY_SIZE(seq105) },
4397 	{ .b = test106, .blen = sizeof(test106),
4398 			.seq = seq106, .seq_size = LWS_ARRAY_SIZE(seq106) },
4399 	{ .b = test107, .blen = sizeof(test107),
4400 			.seq = seq107, .seq_size = LWS_ARRAY_SIZE(seq107) },
4401 	{ .b = test108, .blen = sizeof(test108),
4402 			.seq = seq108, .seq_size = LWS_ARRAY_SIZE(seq108) },
4403 };
4404 
4405 static const uint8_t
4406 	w1[] = { 0x65, 0x68, 0x65, 0x6C,
4407 		 0x6C, 0x6F },
4408 	w2[] = { 0xc2 },
4409 	w3[] = { 0x82, 0x63, 0x61, 0x62,
4410 		 0x63, 0x63, 0x64, 0x65,
4411 		 0x66 },
4412 	w4[] = { 0xA2, 0x63, 0x67, 0x68,
4413 		 0x69, 0x01, 0x63, 0x6A,
4414 		 0x6B, 0x6C, 0x02 },
4415 	w5[] = { 0xD8, 0x7B, 0xA2, 0x63,
4416 		 0x67, 0x68, 0x69, 0x01,
4417 		 0x63, 0x6A, 0x6B, 0x6C,
4418 		 0x02 },
4419 	w6[] = { 0xCC, 0xA2, 0x63, 0x67,
4420 		 0x68, 0x69, 0x01, 0x63,
4421 		 0x6A, 0x6B, 0x6C, 0x82,
4422 		 0x61, 0x61, 0x61, 0x62 },
4423 	w7[] = { 0x20, },
4424 	w8[] = { 0x0c, },
4425 	w13[] = { 0x18, 0x34 },
4426 	w14[] = { 0x19, 0x12, 0x34 },
4427 	w15[] = { 0x1a, 0x12, 0x34, 0x56, 0x78 },
4428 	w16[] = { 0x1b, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0 },
4429 	w17[] = { 0x65, 0x68, 0x65, 0x6C, 0x6C, 0x6F },
4430 	w18[] = { 0x25 },
4431 	w19[] = {
4432 			0xd8, 0x7b, 0x58, 0xb7,
4433 			0xd8, 0x62, 0x84, 0x43, 0xa1,
4434 			0x03, 0x00, 0xa1, 0x07, 0x83,
4435 			0x43, 0xa1, 0x01, 0x27, 0xa1,
4436 			0x04, 0x42, 0x31, 0x31, 0x58,
4437 			0x40, 0xb7, 0xca, 0xcb, 0xa2,
4438 			0x85, 0xc4, 0xcd, 0x3e, 0xd2,
4439 			0xf0, 0x14, 0x6f, 0x41, 0x98,
4440 			0x86, 0x14, 0x4c, 0xa6, 0x38,
4441 			0xd0, 0x87, 0xde, 0x12, 0x3d,
4442 			0x40, 0x01, 0x67, 0x30, 0x8a,
4443 			0xce, 0xab, 0xc4, 0xb5, 0xe5,
4444 			0xc6, 0xa4, 0x0c, 0x0d, 0xe0,
4445 			},
4446 	w19a[] = {
4447 			0xb7, 0x11, 0x67, 0xa3, 0x91,
4448 			0x75, 0xea, 0x56, 0xc1, 0xfe,
4449 			0x96, 0xc8, 0x9e, 0x5e, 0x7d,
4450 			0x30, 0xda, 0xf2, 0x43, 0x8a,
4451 			0x45, 0x61, 0x59, 0xa2, 0x0a,
4452 			0x54, 0x54, 0x68, 0x69, 0x73,
4453 			0x20, 0x69, 0x73, 0x20, 0x74,
4454 			0x68, 0x65, 0x20, 0x63, 0x6f,
4455 			0x6e, 0x74, 0x65, 0x6e, 0x74,
4456 			0x2e, 0x81, 0x83, 0x43, 0xa1,
4457 			0x01, 0x27, 0xa1, 0x04, 0x42,
4458 			0x31, 0x31, 0x58, 0x40, 0x77,
4459 			0xf3, 0xea, 0xcd, 0x11,},
4460 	w19b[] = {
4461 			0x85, 0x2c, 0x4b, 0xf9, 0xcb, 0x1d,
4462 			0x72, 0xfa, 0xbe, 0x6b, 0x26,
4463 			0xfb, 0xa1, 0xd7, 0x60, 0x92,
4464 			0xb2, 0xb5, 0xb7, 0xec, 0x83,
4465 			0xb8, 0x35, 0x57, 0x65, 0x22,
4466 			0x64, 0xe6, 0x96, 0x90, 0xdb,
4467 			0xc1, 0x17, 0x2d, 0xdc, 0x0b,
4468 			0xf8, 0x84, 0x11, 0xc0, 0xd2,
4469 			0x5a, 0x50, 0x7f, 0xdb, 0x24,
4470 			0x7a, 0x20, 0xc4, 0x0d, 0x5e,
4471 			0x24, 0x5f, 0xab, 0xd3, 0xfc,
4472 			0x9e, 0xc1, 0x06 },
4473 	w22[] = { 0xD8, 0x7B, 0x19, 0x01, 0xC8 },
4474 	w24[] = { 0xDB, 0x12, 0x34, 0x56, 0x78, 0x9A,
4475 			0xBC, 0xED, 0xF0, 0x19, 0x01, 0xC8},
4476 	w25[] = { 0xF9, 0x3C, 0x00 },
4477 	w26[] = { 0xF9, 0x3E, 0x00 },
4478 	w27[] = { 0xFB, 0x3F, 0xF1, 0xF7, 0xCE, 0xD9, 0x16, 0x87, 0x2B },
4479 	w28[] = { 0xA2, 0x61, 0x61, 0x01, 0x61, 0x62, 0x82, 0x02, 0x03 },
4480 	w29[] = { 0x7F, 0x65, 0x68, 0x65, 0x6C, 0x6C, 0x6F, 0xFF
4481 }
4482 ;
4483 
4484 static const char * const tok[] = {
4485 	"something",
4486 };
4487 
4488 struct priv {
4489 	const struct cbort *cbt;
4490 	size_t idx;
4491 };
4492 
4493 static int pass;
4494 
4495 static signed char
test_cb(struct lecp_ctx * ctx,char reason)4496 test_cb(struct lecp_ctx *ctx, char reason)
4497 {
4498 	struct priv *priv = (struct priv *)ctx->user;
4499 	size_t i = priv->idx++;
4500 
4501 #if defined(VERBOSE)
4502 	 lwsl_notice("%s: %s, ctx->path %s\n", __func__,
4503 			 reason_names[(int)reason & 0x1f], ctx->path);
4504 #endif
4505 
4506 	// if (ctx->npos)
4507 	//	lwsl_hexdump_notice(ctx->buf, ctx->npos);
4508 
4509 	if (!priv->cbt->seq)
4510 		return 0;
4511 
4512 	if (i >= priv->cbt->seq_size) {
4513 		lwsl_warn("%s: unexpected parse states\n", __func__);
4514 		return 1;
4515 	}
4516 
4517 	if (priv->cbt->seq[i].reason != reason) {
4518 		lwsl_warn("%s: reason mismatch\n", __func__);
4519 		return 1;
4520 	}
4521 
4522 	if (priv->cbt->seq[i].buf &&
4523 	    (priv->cbt->seq[i].buf_len != ctx->npos ||
4524 	     memcmp(priv->cbt->seq[i].buf, ctx->buf, ctx->npos))) {
4525 		lwsl_warn("%s: buf mismatch\n", __func__);
4526 		lwsl_hexdump_notice(ctx->buf, (size_t)ctx->npos);
4527 		return 1;
4528 	}
4529 
4530 	switch (reason) {
4531 	case LECPCB_VAL_SIMPLE:
4532 	case LECPCB_VAL_NUM_UINT:
4533 	case LECPCB_VAL_NUM_INT:
4534 		if (ctx->item.u.u64 != priv->cbt->seq[i].item.u.u64) {
4535 			lwsl_warn("%s: number mismatch %llu %llu\n", __func__,
4536 				(unsigned long long)ctx->item.u.u64,
4537 				(unsigned long long)priv->cbt->seq[i].item.u.u64);
4538 			return 1;
4539 		}
4540 		break;
4541 
4542 	case LECPCB_VAL_FLOAT16:
4543 		if (ctx->item.u.hf != priv->cbt->seq[i].item.u.hf) {
4544 			lwsl_warn("%s: number mismatch %llu %llu\n", __func__,
4545 				(unsigned long long)ctx->item.u.hf,
4546 				(unsigned long long)priv->cbt->seq[i].item.u.hf);
4547 			return 1;
4548 		}
4549 		break;
4550 	case LECPCB_VAL_FLOAT32:
4551 #if defined(LWS_WITH_CBOR_FLOAT)
4552 		if (!isfinite(ctx->item.u.f) &&
4553 		    !isfinite(priv->cbt->seq[i].item.u.f))
4554 			break;
4555 		if (isnan(ctx->item.u.f) &&
4556 		    isnan(priv->cbt->seq[i].item.u.f))
4557 			break;
4558 #endif
4559 		if (ctx->item.u.f != priv->cbt->seq[i].item.u.f) {
4560 #if defined(LWS_WITH_CBOR_FLOAT)
4561 			lwsl_warn("%s: number mismatch %f %f\n", __func__,
4562 				ctx->item.u.f,
4563 				priv->cbt->seq[i].item.u.f);
4564 #else
4565 			lwsl_warn("%s: f32 number mismatch %llu %llu\n", __func__,
4566 				(unsigned long long)ctx->item.u.f,
4567 				(unsigned long long)priv->cbt->seq[i].item.u.f);
4568 #endif
4569 			return 1;
4570 		}
4571 		break;
4572 	case LECPCB_VAL_FLOAT64:
4573 #if defined(LWS_WITH_CBOR_FLOAT)
4574 		if (!isfinite(ctx->item.u.d) &&
4575 		    !isfinite(priv->cbt->seq[i].item.u.d))
4576 			break;
4577 		if (isnan(ctx->item.u.d) &&
4578 		    isnan(priv->cbt->seq[i].item.u.d))
4579 			break;
4580 #endif
4581 		if (ctx->item.u.d != priv->cbt->seq[i].item.u.d) {
4582 #if defined(LWS_WITH_CBOR_FLOAT)
4583 			lwsl_warn("%s: f64 number mismatch %f %f\n", __func__,
4584 				ctx->item.u.d,
4585 				priv->cbt->seq[i].item.u.d);
4586 #else
4587 			lwsl_warn("%s: number mismatch %llu %llu\n", __func__,
4588 				(unsigned long long)ctx->item.u.d,
4589 				(unsigned long long)priv->cbt->seq[i].item.u.d);
4590 #endif
4591 			return 1;
4592 		}
4593 		break;
4594 
4595 	case LECPCB_DESTRUCTED:
4596 		pass++;
4597 		break;
4598 	}
4599 
4600 	return 0;
4601 }
4602 
main(int argc,const char ** argv)4603 int main(int argc, const char **argv)
4604 {
4605 	int n, m, e = 0, logs = LLL_USER | LLL_ERR | LLL_WARN | LLL_NOTICE,
4606 			expected = (int)LWS_ARRAY_SIZE(cbor_tests) +
4607 					29 /* <-- how many write tests */;
4608 	struct lecp_ctx ctx;
4609 	const char *p;
4610 
4611 	if ((p = lws_cmdline_option(argc, argv, "-d")))
4612 		logs = atoi(p);
4613 
4614 	lws_set_log_level(logs, NULL);
4615 	lwsl_user("LWS API selftest: LECP CBOR parser\n");
4616 
4617 	for (m = 0; m < (int)LWS_ARRAY_SIZE(cbor_tests); m++) {
4618 
4619 		struct priv priv;
4620 
4621 		priv.cbt = &cbor_tests[m];
4622 		priv.idx = 0;
4623 
4624 		lwsl_notice("%s: ++++++++++++++++ test %d\n", __func__, m + 1);
4625 
4626 		lecp_construct(&ctx, test_cb, &priv, tok, LWS_ARRAY_SIZE(tok));
4627 
4628 		lwsl_hexdump_info(cbor_tests[m].b, cbor_tests[m].blen);
4629 
4630 #if 0
4631 		{
4632 			char fn[128];
4633 			int fd;
4634 
4635 			lws_snprintf(fn, sizeof(fn), "/tmp/cbor-%d", m + 1);
4636 			fd = open(fn, LWS_O_CREAT | LWS_O_TRUNC | LWS_O_WRONLY, 0600);
4637 			if (fd != -1) {
4638 				write(fd,  cbor_tests[m].b,
4639 					   cbor_tests[m].blen);
4640 				close(fd);
4641 			}
4642 		}
4643 #endif
4644 
4645 		n = lecp_parse(&ctx, cbor_tests[m].b,
4646 				     cbor_tests[m].blen);
4647 
4648 		lecp_destruct(&ctx);
4649 
4650 		if (n < 0 && m + 1 != 46 /* expected to fail */) {
4651 			lwsl_err("%s: test %d: CBOR decode failed %d '%s'\n",
4652 					__func__, m + 1, n,
4653 					lecp_error_to_string(n));
4654 			e++;
4655 		}
4656 	}
4657 
4658 	{
4659 		lws_lec_pctx_t ctx;
4660 		uint8_t buf[64];
4661 
4662 		lws_lec_init(&ctx, buf, sizeof(buf));
4663 
4664 		if (lws_lec_printf(&ctx, "'hello'") !=
4665 						LWS_LECPCTX_RET_FINISHED ||
4666 		    ctx.used != sizeof(w1) || memcmp(w1, buf, ctx.used)) {
4667 			lwsl_hexdump_notice(ctx.start, ctx.used);
4668 			e++;
4669 		} else
4670 			pass++;
4671 
4672 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4673 
4674 		if (lws_lec_printf(&ctx, "2()") !=
4675 						LWS_LECPCTX_RET_FINISHED ||
4676 		    ctx.used != sizeof(w2) || memcmp(w2, buf, ctx.used)) {
4677 			lwsl_hexdump_notice(ctx.start, ctx.used);
4678 			e++;
4679 		} else
4680 			pass++;
4681 
4682 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4683 
4684 		if (lws_lec_printf(&ctx, "['abc','def']") !=
4685 						LWS_LECPCTX_RET_FINISHED ||
4686 		    ctx.used != sizeof(w3) || memcmp(w3, buf, ctx.used)) {
4687 			lwsl_hexdump_notice(ctx.start, ctx.used);
4688 			e++;
4689 		} else
4690 			pass++;
4691 
4692 		lwsl_user("%s: test4\n", __func__);
4693 
4694 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4695 
4696 		if (lws_lec_printf(&ctx, "{'ghi':1,'jkl':2}") !=
4697 						LWS_LECPCTX_RET_FINISHED ||
4698 		    ctx.used != sizeof(w4) || memcmp(w4, buf, ctx.used)) {
4699 			lwsl_hexdump_notice(ctx.start, ctx.used);
4700 			e++;
4701 		} else
4702 			pass++;
4703 
4704 		lwsl_user("%s: test5\n", __func__);
4705 
4706 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4707 
4708 		if (lws_lec_printf(&ctx, "123({'ghi':1,'jkl':2})") !=
4709 						LWS_LECPCTX_RET_FINISHED ||
4710 		    ctx.used != sizeof(w5) || memcmp(w5, buf, ctx.used)) {
4711 			lwsl_hexdump_notice(ctx.start, ctx.used);
4712 			e++;
4713 		} else
4714 			pass++;
4715 
4716 		lwsl_user("%s: test6\n", __func__);
4717 
4718 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4719 
4720 		if (lws_lec_printf(&ctx, "12({'ghi':1,'jkl':['a', 'b']})") !=
4721 						LWS_LECPCTX_RET_FINISHED ||
4722 		    ctx.used != sizeof(w6) || memcmp(w6, buf, ctx.used)) {
4723 			lwsl_hexdump_notice(ctx.start, ctx.used);
4724 			e++;
4725 		} else
4726 			pass++;
4727 
4728 		lwsl_user("%s: test7\n", __func__);
4729 
4730 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4731 
4732 		if (lws_lec_printf(&ctx, "%d", -1) !=
4733 						LWS_LECPCTX_RET_FINISHED ||
4734 		    ctx.used != sizeof(w7) || memcmp(w7, buf, ctx.used)) {
4735 			lwsl_hexdump_notice(ctx.start, ctx.used);
4736 			e++;
4737 		} else
4738 			pass++;
4739 
4740 		lwsl_user("%s: test8\n", __func__);
4741 
4742 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4743 
4744 		if (lws_lec_printf(&ctx, "%ld", -1l) !=
4745 						LWS_LECPCTX_RET_FINISHED ||
4746 		    ctx.used != sizeof(w7) || memcmp(w7, buf, ctx.used)) {
4747 			lwsl_hexdump_notice(ctx.start, ctx.used);
4748 			e++;
4749 		} else
4750 			pass++;
4751 
4752 		lwsl_user("%s: test9\n", __func__);
4753 
4754 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4755 
4756 		if (lws_lec_printf(&ctx, "%lld", -1ll) !=
4757 						LWS_LECPCTX_RET_FINISHED ||
4758 		    ctx.used != sizeof(w7) || memcmp(w7, buf, ctx.used)) {
4759 			lwsl_hexdump_notice(ctx.start, ctx.used);
4760 			e++;
4761 		} else
4762 			pass++;
4763 
4764 		lwsl_user("%s: test10\n", __func__);
4765 
4766 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4767 
4768 		if (lws_lec_printf(&ctx, "%u", 12) !=
4769 						LWS_LECPCTX_RET_FINISHED ||
4770 		    ctx.used != sizeof(w8) || memcmp(w8, buf, ctx.used)) {
4771 			lwsl_hexdump_notice(ctx.start, ctx.used);
4772 			e++;
4773 		} else
4774 			pass++;
4775 
4776 		lwsl_user("%s: test11\n", __func__);
4777 
4778 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4779 
4780 		if (lws_lec_printf(&ctx, "%ld", 12l) !=
4781 						LWS_LECPCTX_RET_FINISHED ||
4782 		    ctx.used != sizeof(w8) || memcmp(w8, buf, ctx.used)) {
4783 			lwsl_hexdump_notice(ctx.start, ctx.used);
4784 			e++;
4785 		} else
4786 			pass++;
4787 
4788 		lwsl_user("%s: test12\n", __func__);
4789 
4790 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4791 
4792 		if (lws_lec_printf(&ctx, "%lld", 12ll) !=
4793 						LWS_LECPCTX_RET_FINISHED ||
4794 		    ctx.used != sizeof(w8) || memcmp(w8, buf, ctx.used)) {
4795 			lwsl_hexdump_notice(ctx.start, ctx.used);
4796 			e++;
4797 		} else
4798 			pass++;
4799 
4800 		lwsl_user("%s: test13\n", __func__);
4801 
4802 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4803 
4804 		if (lws_lec_printf(&ctx, "%u", 0x34u) !=
4805 						LWS_LECPCTX_RET_FINISHED ||
4806 		    ctx.used != sizeof(w13) || memcmp(w13, buf, ctx.used)) {
4807 			lwsl_hexdump_notice(ctx.start, ctx.used);
4808 			e++;
4809 		} else
4810 			pass++;
4811 
4812 		lwsl_user("%s: test14\n", __func__);
4813 
4814 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4815 
4816 		if (lws_lec_printf(&ctx, "%ld", 0x1234ul) !=
4817 						LWS_LECPCTX_RET_FINISHED ||
4818 		    ctx.used != sizeof(w14) || memcmp(w14, buf, ctx.used)) {
4819 			lwsl_hexdump_notice(ctx.start, ctx.used);
4820 			e++;
4821 		} else
4822 			pass++;
4823 
4824 		lwsl_user("%s: test15\n", __func__);
4825 
4826 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4827 
4828 		if (lws_lec_printf(&ctx, "%lld", 0x12345678ull) !=
4829 						LWS_LECPCTX_RET_FINISHED ||
4830 		    ctx.used != sizeof(w15) || memcmp(w15, buf, ctx.used)) {
4831 			lwsl_hexdump_notice(ctx.start, ctx.used);
4832 			e++;
4833 		} else
4834 			pass++;
4835 
4836 		lwsl_user("%s: test16\n", __func__);
4837 
4838 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4839 
4840 		if (lws_lec_printf(&ctx, "%lld", 0x123456789abcdef0ull) !=
4841 						LWS_LECPCTX_RET_FINISHED ||
4842 		    ctx.used != sizeof(w16) || memcmp(w16, buf, ctx.used)) {
4843 			lwsl_hexdump_notice(ctx.start, ctx.used);
4844 			e++;
4845 		} else
4846 			pass++;
4847 
4848 		lwsl_user("%s: test17\n", __func__);
4849 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4850 
4851 		if (lws_lec_printf(&ctx, "%s", "hello") !=
4852 						LWS_LECPCTX_RET_FINISHED ||
4853 		    ctx.used != sizeof(w17) || memcmp(w17, buf, ctx.used)) {
4854 			lwsl_hexdump_notice(ctx.start, ctx.used);
4855 			e++;
4856 		} else
4857 			pass++;
4858 
4859 		lwsl_user("%s: test18\n", __func__);
4860 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4861 
4862 		if (lws_lec_printf(&ctx, "-6") !=
4863 						LWS_LECPCTX_RET_FINISHED ||
4864 		    ctx.used != sizeof(w18) || memcmp(w18, buf, ctx.used)) {
4865 			lwsl_hexdump_notice(ctx.start, ctx.used);
4866 			e++;
4867 		} else
4868 			pass++;
4869 
4870 		/*
4871 		 * A big binary blob is going to get emitted in 3 output
4872 		 * buffers, by calling it two more times while still handling
4873 		 * the same format object, format objects before that which
4874 		 * were completed are skipped on the subsequent calls
4875 		 */
4876 
4877 		lwsl_user("%s: test19\n", __func__);
4878 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4879 
4880 		if (lws_lec_printf(&ctx, "123(%.*b)", (int)sizeof(test106), test106) !=
4881 				LWS_LECPCTX_RET_AGAIN ||
4882 		    ctx.used != sizeof(w19) || memcmp(w19, buf, ctx.used)) {
4883 			lwsl_hexdump_notice(ctx.start, ctx.used);
4884 			e++;
4885 		} else
4886 			pass++;
4887 
4888 		lwsl_user("%s: test20\n", __func__);
4889 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4890 
4891 		if (lws_lec_printf(&ctx, "123(%.*b)", (int)sizeof(test106), test106) !=
4892 				LWS_LECPCTX_RET_AGAIN ||
4893 		    ctx.used != sizeof(w19a) || memcmp(w19a, buf, ctx.used)) {
4894 			lwsl_hexdump_notice(ctx.start, ctx.used);
4895 			e++;
4896 		} else
4897 			pass++;
4898 
4899 		lwsl_user("%s: test21\n", __func__);
4900 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4901 
4902 		if (lws_lec_printf(&ctx, "123(%.*b)", (int)sizeof(test106), test106) !=
4903 				LWS_LECPCTX_RET_FINISHED ||
4904 		    ctx.used != sizeof(w19b) || memcmp(w19b, buf, ctx.used)) {
4905 			lwsl_hexdump_notice(ctx.start, ctx.used);
4906 			e++;
4907 		} else
4908 			pass++;
4909 
4910 		lwsl_user("%s: test22\n", __func__);
4911 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4912 
4913 		if (lws_lec_printf(&ctx, "%t(456)", 123) !=
4914 				LWS_LECPCTX_RET_FINISHED ||
4915 		    ctx.used != sizeof(w22) || memcmp(w22, buf, ctx.used)) {
4916 			lwsl_hexdump_notice(ctx.start, ctx.used);
4917 			e++;
4918 		} else
4919 			pass++;
4920 
4921 		lwsl_user("%s: test23\n", __func__);
4922 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4923 
4924 		if (lws_lec_printf(&ctx, "%lt(456)", 123ul) !=
4925 				LWS_LECPCTX_RET_FINISHED ||
4926 		    ctx.used != sizeof(w22) || memcmp(w22, buf, ctx.used)) {
4927 			lwsl_hexdump_notice(ctx.start, ctx.used);
4928 			e++;
4929 		} else
4930 			pass++;
4931 
4932 		lwsl_user("%s: test24\n", __func__);
4933 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4934 
4935 		if (lws_lec_printf(&ctx, "%llt(456)", 0x123456789abcedf0ull) !=
4936 				LWS_LECPCTX_RET_FINISHED ||
4937 		    ctx.used != sizeof(w24) || memcmp(w24, buf, ctx.used)) {
4938 			lwsl_hexdump_notice(ctx.start, ctx.used);
4939 			e++;
4940 		} else
4941 			pass++;
4942 
4943 		lwsl_user("%s: test25\n", __func__);
4944 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4945 
4946 		if (lws_lec_printf(&ctx, "%f", 1.0) !=
4947 				LWS_LECPCTX_RET_FINISHED ||
4948 		    ctx.used != sizeof(w25) || memcmp(w25, buf, ctx.used)) {
4949 			lwsl_hexdump_notice(ctx.start, ctx.used);
4950 			e++;
4951 		} else
4952 			pass++;
4953 
4954 		lwsl_user("%s: test26\n", __func__);
4955 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4956 
4957 		if (lws_lec_printf(&ctx, "%f", 1.5) !=
4958 				LWS_LECPCTX_RET_FINISHED ||
4959 		    ctx.used != sizeof(w26) || memcmp(w26, buf, ctx.used)) {
4960 			lwsl_hexdump_notice(ctx.start, ctx.used);
4961 			e++;
4962 		} else
4963 			pass++;
4964 
4965 		lwsl_user("%s: test27\n", __func__);
4966 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4967 
4968 		if (lws_lec_printf(&ctx, "%f", 1.123) !=
4969 				LWS_LECPCTX_RET_FINISHED ||
4970 		    ctx.used != sizeof(w27) || memcmp(w27, buf, ctx.used)) {
4971 			lwsl_hexdump_notice(ctx.start, ctx.used);
4972 			e++;
4973 		} else
4974 			pass++;
4975 
4976 		{
4977 			int args[3] = { 1, 2, 3 };
4978 
4979 			lwsl_user("%s: test28\n", __func__);
4980 			lws_lec_setbuf(&ctx, buf, sizeof(buf));
4981 
4982 			if (lws_lec_printf(&ctx, "{'a':%d,'b':[%d,%d]}",
4983 						args[0], args[1], args[2]) !=
4984 					LWS_LECPCTX_RET_FINISHED ||
4985 			    ctx.used != sizeof(w28) ||
4986 			    memcmp(w28, buf, ctx.used)) {
4987 				lwsl_hexdump_notice(ctx.start, ctx.used);
4988 				e++;
4989 			} else
4990 				pass++;
4991 		}
4992 
4993 		lwsl_user("%s: test29\n", __func__);
4994 		lws_lec_setbuf(&ctx, buf, sizeof(buf));
4995 
4996 		if (lws_lec_printf(&ctx, "<t'hello'>") !=
4997 				LWS_LECPCTX_RET_FINISHED ||
4998 		    ctx.used != sizeof(w29) || memcmp(w29, buf, ctx.used)) {
4999 			lwsl_hexdump_notice(ctx.start, ctx.used);
5000 			e++;
5001 		} else
5002 			pass++;
5003 	}
5004 
5005 	if (e)
5006 		goto bail;
5007 
5008 	if (pass != expected)
5009 		goto bail;
5010 
5011 	lwsl_user("Completed: PASS %d / %d\n", pass, expected);
5012 
5013 	return 0;
5014 
5015 bail:
5016 	lwsl_user("Completed: FAIL, passed %d / %d (e %d)\n", pass,
5017 				expected, e);
5018 
5019 	return 1;
5020 }
5021