#define T0_INT4(x) T0_VBYTE(x, 21), T0_VBYTE(x, 14), T0_VBYTE(x, 7), T0_FBYTE(x, 0)
#define T0_INT5(x) T0_SBYTE(x), T0_VBYTE(x, 21), T0_VBYTE(x, 14), T0_VBYTE(x, 7), T0_FBYTE(x, 0)
-static const uint8_t t0_datablock[];
+/* static const unsigned char t0_datablock[]; */
void br_ssl_hs_client_init_main(void *t0ctx);
/*
* OID for hash functions in RSA signatures.
*/
-static const unsigned char HASH_OID_SHA1[] = {
- 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A
-};
-
-static const unsigned char HASH_OID_SHA224[] = {
- 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x04
-};
-
-static const unsigned char HASH_OID_SHA256[] = {
- 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01
-};
-
-static const unsigned char HASH_OID_SHA384[] = {
- 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02
-};
-
-static const unsigned char HASH_OID_SHA512[] = {
- 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03
-};
-
static const unsigned char *HASH_OID[] = {
- HASH_OID_SHA1,
- HASH_OID_SHA224,
- HASH_OID_SHA256,
- HASH_OID_SHA384,
- HASH_OID_SHA512
+ BR_HASH_OID_SHA1,
+ BR_HASH_OID_SHA224,
+ BR_HASH_OID_SHA256,
+ BR_HASH_OID_SHA384,
+ BR_HASH_OID_SHA512
};
/*
{
int curve;
unsigned char key[66], point[133];
- const unsigned char *generator, *order, *point_src;
- size_t glen, olen, point_len;
+ const unsigned char *order, *point_src;
+ size_t glen, olen, point_len, xoff, xlen;
unsigned char mask;
if (ecdhe) {
* Compute the common ECDH point, whose X coordinate is the
* pre-master secret.
*/
- generator = ctx->eng.iec->generator(curve, &glen);
+ ctx->eng.iec->generator(curve, &glen);
if (glen != point_len) {
return -BR_ERR_INVALID_ALGORITHM;
}
/*
* The pre-master secret is the X coordinate.
*/
- br_ssl_engine_compute_master(&ctx->eng, prf_id, point + 1, glen >> 1);
+ xoff = ctx->eng.iec->xoff(curve, &xlen);
+ br_ssl_engine_compute_master(&ctx->eng, prf_id, point + xoff, xlen);
- memcpy(point, generator, glen);
- if (!ctx->eng.iec->mul(point, glen, key, olen, curve)) {
- return -BR_ERR_INVALID_ALGORITHM;
- }
+ ctx->eng.iec->mulgen(point, key, olen, curve);
memcpy(ctx->eng.pad, point, glen);
return (int)glen;
}
}
memcpy(point, pk->key.ec.q, point_len);
if (!(*ctx->client_auth_vtable)->do_keyx(
- ctx->client_auth_vtable, point, point_len))
+ ctx->client_auth_vtable, point, &point_len))
{
return -1;
}
br_ssl_engine_compute_master(&ctx->eng,
- prf_id, point + 1, point_len >> 1);
+ prf_id, point, point_len);
return 0;
}
-static const uint8_t t0_datablock[] = {
+static const unsigned char t0_datablock[] = {
0x00, 0x00, 0x0A, 0x00, 0x24, 0x00, 0x2F, 0x01, 0x24, 0x00, 0x35, 0x02,
0x24, 0x00, 0x3C, 0x01, 0x44, 0x00, 0x3D, 0x02, 0x44, 0x00, 0x9C, 0x03,
0x04, 0x00, 0x9D, 0x04, 0x05, 0xC0, 0x03, 0x40, 0x24, 0xC0, 0x04, 0x41,
0x04, 0xCC, 0xA9, 0x25, 0x04, 0x00, 0x00
};
-static const uint8_t t0_codeblock[] = {
+static const unsigned char t0_codeblock[] = {
0x00, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x0D, 0x00, 0x00, 0x01,
0x00, 0x0E, 0x00, 0x00, 0x01, 0x00, 0x0F, 0x00, 0x00, 0x01, 0x01, 0x08,
0x00, 0x00, 0x01, 0x01, 0x09, 0x00, 0x00, 0x01, 0x02, 0x08, 0x00, 0x00,
- 0x01, 0x02, 0x09, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00, 0x01,
+ 0x01, 0x02, 0x09, 0x00, 0x00, 0x25, 0x25, 0x00, 0x00, 0x01,
T0_INT1(BR_ERR_BAD_CCS), 0x00, 0x00, 0x01,
T0_INT1(BR_ERR_BAD_CIPHER_SUITE), 0x00, 0x00, 0x01,
T0_INT1(BR_ERR_BAD_COMPRESSION), 0x00, 0x00, 0x01,
0x00, 0x00, 0x01,
T0_INT2(offsetof(br_ssl_client_context, min_clienthello_len)), 0x00,
0x00, 0x01, T0_INT2(offsetof(br_ssl_engine_context, pad)), 0x00, 0x00,
- 0x01, T0_INT2(offsetof(br_ssl_engine_context, record_type_in)), 0x00,
- 0x00, 0x01, T0_INT2(offsetof(br_ssl_engine_context, record_type_out)),
- 0x00, 0x00, 0x01, T0_INT2(offsetof(br_ssl_engine_context, reneg)),
+ 0x01, T0_INT2(offsetof(br_ssl_engine_context, protocol_names_num)),
+ 0x00, 0x00, 0x01,
+ T0_INT2(offsetof(br_ssl_engine_context, record_type_in)), 0x00, 0x00,
+ 0x01, T0_INT2(offsetof(br_ssl_engine_context, record_type_out)), 0x00,
+ 0x00, 0x01, T0_INT2(offsetof(br_ssl_engine_context, reneg)), 0x00,
+ 0x00, 0x01, T0_INT2(offsetof(br_ssl_engine_context, saved_finished)),
0x00, 0x00, 0x01,
- T0_INT2(offsetof(br_ssl_engine_context, saved_finished)), 0x00, 0x00,
- 0x01, T0_INT2(offsetof(br_ssl_engine_context, server_name)), 0x00,
- 0x00, 0x01, T0_INT2(offsetof(br_ssl_engine_context, server_random)),
+ T0_INT2(offsetof(br_ssl_engine_context, selected_protocol)), 0x00,
+ 0x00, 0x01, T0_INT2(offsetof(br_ssl_engine_context, server_name)),
0x00, 0x00, 0x01,
+ T0_INT2(offsetof(br_ssl_engine_context, server_random)), 0x00, 0x00,
+ 0x01,
T0_INT2(offsetof(br_ssl_engine_context, session) + offsetof(br_ssl_session_parameters, session_id)),
0x00, 0x00, 0x01,
T0_INT2(offsetof(br_ssl_engine_context, session) + offsetof(br_ssl_session_parameters, session_id_len)),
T0_INT2(offsetof(br_ssl_engine_context, version_max)), 0x00, 0x00,
0x01, T0_INT2(offsetof(br_ssl_engine_context, version_min)), 0x00,
0x00, 0x01, T0_INT2(offsetof(br_ssl_engine_context, version_out)),
- 0x00, 0x00, 0x09, 0x25, 0x52, 0x06, 0x02, 0x62, 0x26, 0x00, 0x00, 0x06,
- 0x08, 0x2A, 0x0E, 0x05, 0x02, 0x6B, 0x26, 0x04, 0x01, 0x3A, 0x00, 0x00,
- 0x01, 0x01, 0x00, 0x01, 0x03, 0x00, 0x91, 0x25, 0x58, 0x41, 0x95, 0x25,
- 0x05, 0x04, 0x5A, 0x01, 0x00, 0x00, 0x02, 0x00, 0x0E, 0x06, 0x02, 0x95,
- 0x00, 0x58, 0x04, 0x6B, 0x00, 0x06, 0x02, 0x62, 0x26, 0x00, 0x00, 0x25,
- 0x82, 0x41, 0x05, 0x03, 0x01, 0x0C, 0x08, 0x41, 0x73, 0x2A, 0xA3, 0x1C,
- 0x7E, 0x01, 0x0C, 0x2F, 0x00, 0x00, 0x25, 0x1E, 0x01, 0x08, 0x0B, 0x41,
- 0x56, 0x1E, 0x08, 0x00, 0x01, 0x03, 0x00, 0x01, 0x00, 0x71, 0x3B, 0x27,
- 0x1A, 0x34, 0x06, 0x07, 0x02, 0x00, 0xC5, 0x03, 0x00, 0x04, 0x75, 0x01,
- 0x00, 0xBC, 0x02, 0x00, 0x25, 0x1A, 0x17, 0x06, 0x02, 0x69, 0x26, 0xC5,
- 0x04, 0x76, 0x01, 0x01, 0x00, 0x71, 0x3B, 0x01, 0x16, 0x80, 0x3B, 0x32,
- 0xCB, 0x27, 0xAB, 0x06, 0x09, 0x01, 0x7F, 0xA6, 0x01, 0x7F, 0xC8, 0x04,
- 0x80, 0x53, 0xA8, 0x73, 0x2A, 0x99, 0x01, T0_INT1(BR_KEYTYPE_SIGN),
- 0x17, 0x06, 0x01, 0xAC, 0xAF, 0x25, 0x01, 0x0D, 0x0E, 0x06, 0x07, 0x24,
- 0xAE, 0xAF, 0x01, 0x7F, 0x04, 0x02, 0x01, 0x00, 0x03, 0x00, 0x01, 0x0E,
- 0x0E, 0x05, 0x02, 0x6C, 0x26, 0x06, 0x02, 0x61, 0x26, 0x31, 0x06, 0x02,
- 0x6C, 0x26, 0x02, 0x00, 0x06, 0x1C, 0xC9, 0x7A, 0x2C, 0x01, 0x81, 0x7F,
- 0x0E, 0x06, 0x0D, 0x24, 0x01, 0x10, 0xD4, 0x01, 0x00, 0xD3, 0x73, 0x2A,
- 0xA3, 0x23, 0x04, 0x04, 0xCC, 0x06, 0x01, 0xCA, 0x04, 0x01, 0xCC, 0x01,
- 0x7F, 0xC8, 0x01, 0x7F, 0xA6, 0x01, 0x01, 0x71, 0x3B, 0x01, 0x17, 0x80,
- 0x3B, 0x00, 0x00, 0x36, 0x36, 0x00, 0x00, 0x92, 0x01, 0x0C, 0x11, 0x01,
- 0x00, 0x36, 0x0E, 0x06, 0x05, 0x24, 0x01,
+ 0x00, 0x00, 0x09, 0x26, 0x56, 0x06, 0x02, 0x66, 0x28, 0x00, 0x00, 0x06,
+ 0x08, 0x2C, 0x0E, 0x05, 0x02, 0x6F, 0x28, 0x04, 0x01, 0x3C, 0x00, 0x00,
+ 0x01, 0x01, 0x00, 0x01, 0x03, 0x00, 0x97, 0x26, 0x5C, 0x44, 0x9B, 0x26,
+ 0x05, 0x04, 0x5E, 0x01, 0x00, 0x00, 0x02, 0x00, 0x0E, 0x06, 0x02, 0x9B,
+ 0x00, 0x5C, 0x04, 0x6B, 0x00, 0x06, 0x02, 0x66, 0x28, 0x00, 0x00, 0x26,
+ 0x87, 0x44, 0x05, 0x03, 0x01, 0x0C, 0x08, 0x44, 0x77, 0x2C, 0xA9, 0x1C,
+ 0x82, 0x01, 0x0C, 0x31, 0x00, 0x00, 0x26, 0x1F, 0x01, 0x08, 0x0B, 0x44,
+ 0x5A, 0x1F, 0x08, 0x00, 0x01, 0x03, 0x00, 0x75, 0x2E, 0x02, 0x00, 0x36,
+ 0x17, 0x01, 0x01, 0x0B, 0x75, 0x3E, 0x29, 0x1A, 0x36, 0x06, 0x07, 0x02,
+ 0x00, 0xCC, 0x03, 0x00, 0x04, 0x75, 0x01, 0x00, 0xC3, 0x02, 0x00, 0x26,
+ 0x1A, 0x17, 0x06, 0x02, 0x6D, 0x28, 0xCC, 0x04, 0x76, 0x01, 0x01, 0x00,
+ 0x75, 0x3E, 0x01, 0x16, 0x85, 0x3E, 0x01, 0x00, 0x88, 0x3C, 0x34, 0xD2,
+ 0x29, 0xB2, 0x06, 0x09, 0x01, 0x7F, 0xAD, 0x01, 0x7F, 0xCF, 0x04, 0x80,
+ 0x53, 0xAF, 0x77, 0x2C, 0x9F, 0x01, T0_INT1(BR_KEYTYPE_SIGN), 0x17,
+ 0x06, 0x01, 0xB3, 0xB6, 0x26, 0x01, 0x0D, 0x0E, 0x06, 0x07, 0x25, 0xB5,
+ 0xB6, 0x01, 0x7F, 0x04, 0x02, 0x01, 0x00, 0x03, 0x00, 0x01, 0x0E, 0x0E,
+ 0x05, 0x02, 0x70, 0x28, 0x06, 0x02, 0x65, 0x28, 0x33, 0x06, 0x02, 0x70,
+ 0x28, 0x02, 0x00, 0x06, 0x1C, 0xD0, 0x7E, 0x2E, 0x01, 0x81, 0x7F, 0x0E,
+ 0x06, 0x0D, 0x25, 0x01, 0x10, 0xDB, 0x01, 0x00, 0xDA, 0x77, 0x2C, 0xA9,
+ 0x24, 0x04, 0x04, 0xD3, 0x06, 0x01, 0xD1, 0x04, 0x01, 0xD3, 0x01, 0x7F,
+ 0xCF, 0x01, 0x7F, 0xAD, 0x01, 0x01, 0x75, 0x3E, 0x01, 0x17, 0x85, 0x3E,
+ 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x98, 0x01, 0x0C, 0x11, 0x01, 0x00,
+ 0x38, 0x0E, 0x06, 0x05, 0x25, 0x01,
T0_INT1(BR_KEYTYPE_RSA | BR_KEYTYPE_KEYX), 0x04, 0x30, 0x01, 0x01,
- 0x36, 0x0E, 0x06, 0x05, 0x24, 0x01,
+ 0x38, 0x0E, 0x06, 0x05, 0x25, 0x01,
T0_INT1(BR_KEYTYPE_RSA | BR_KEYTYPE_SIGN), 0x04, 0x25, 0x01, 0x02,
- 0x36, 0x0E, 0x06, 0x05, 0x24, 0x01,
+ 0x38, 0x0E, 0x06, 0x05, 0x25, 0x01,
T0_INT1(BR_KEYTYPE_EC | BR_KEYTYPE_SIGN), 0x04, 0x1A, 0x01, 0x03,
- 0x36, 0x0E, 0x06, 0x05, 0x24, 0x01,
+ 0x38, 0x0E, 0x06, 0x05, 0x25, 0x01,
T0_INT1(BR_KEYTYPE_EC | BR_KEYTYPE_KEYX), 0x04, 0x0F, 0x01, 0x04,
- 0x36, 0x0E, 0x06, 0x05, 0x24, 0x01,
+ 0x38, 0x0E, 0x06, 0x05, 0x25, 0x01,
T0_INT1(BR_KEYTYPE_EC | BR_KEYTYPE_KEYX), 0x04, 0x04, 0x01, 0x00,
- 0x41, 0x24, 0x00, 0x00, 0x7C, 0x2C, 0x01, 0x0E, 0x0E, 0x06, 0x04, 0x01,
- 0x00, 0x04, 0x02, 0x01, 0x05, 0x00, 0x00, 0x3D, 0x06, 0x04, 0x01, 0x06,
- 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x81, 0x2C, 0x25, 0x06, 0x08, 0x01,
- 0x01, 0x09, 0x01, 0x11, 0x07, 0x04, 0x03, 0x24, 0x01, 0x05, 0x00, 0x01,
- 0x3E, 0x03, 0x00, 0x24, 0x01, 0x00, 0x40, 0x06, 0x03, 0x02, 0x00, 0x08,
- 0x3F, 0x06, 0x03, 0x02, 0x00, 0x08, 0x25, 0x06, 0x06, 0x01, 0x01, 0x0B,
- 0x01, 0x06, 0x08, 0x00, 0x00, 0x83, 0x3C, 0x25, 0x06, 0x03, 0x01, 0x09,
- 0x08, 0x00, 0x01, 0x3D, 0x25, 0x06, 0x1E, 0x01, 0x00, 0x03, 0x00, 0x25,
- 0x06, 0x0E, 0x25, 0x01, 0x01, 0x17, 0x02, 0x00, 0x08, 0x03, 0x00, 0x01,
- 0x01, 0x11, 0x04, 0x6F, 0x24, 0x02, 0x00, 0x01, 0x01, 0x0B, 0x01, 0x06,
- 0x08, 0x00, 0x00, 0x79, 0x2B, 0x41, 0x11, 0x01, 0x01, 0x17, 0x33, 0x00,
- 0x00, 0x97, 0xC4, 0x25, 0x01, 0x07, 0x17, 0x01, 0x00, 0x36, 0x0E, 0x06,
- 0x09, 0x24, 0x01, 0x10, 0x17, 0x06, 0x01, 0x97, 0x04, 0x2D, 0x01, 0x01,
- 0x36, 0x0E, 0x06, 0x24, 0x24, 0x24, 0x01, 0x00, 0x71, 0x3B, 0xAA, 0x81,
- 0x2C, 0x01, 0x01, 0x0E, 0x01, 0x01, 0xA0, 0x35, 0x06, 0x0F, 0x27, 0x1A,
- 0x34, 0x06, 0x04, 0xC4, 0x24, 0x04, 0x78, 0x01, 0x80, 0x64, 0xBC, 0x04,
- 0x01, 0x97, 0x04, 0x03, 0x6C, 0x26, 0x24, 0x04, 0xFF, 0x3C, 0x01, 0x25,
- 0x03, 0x00, 0x09, 0x25, 0x52, 0x06, 0x02, 0x62, 0x26, 0x02, 0x00, 0x00,
- 0x00, 0x92, 0x01, 0x0F, 0x17, 0x00, 0x00, 0x70, 0x2C, 0x01, 0x00, 0x36,
- 0x0E, 0x06, 0x10, 0x24, 0x25, 0x01, 0x01, 0x0D, 0x06, 0x03, 0x24, 0x01,
- 0x02, 0x70, 0x3B, 0x01, 0x00, 0x04, 0x22, 0x01, 0x01, 0x36, 0x0E, 0x06,
- 0x15, 0x24, 0x01, 0x00, 0x70, 0x3B, 0x25, 0x01, 0x80, 0x64, 0x0E, 0x06,
- 0x05, 0x01, 0x82, 0x00, 0x08, 0x26, 0x54, 0x00, 0x04, 0x07, 0x24, 0x01,
- 0x82, 0x00, 0x08, 0x26, 0x24, 0x00, 0x00, 0x01, 0x00, 0x2D, 0x06, 0x05,
- 0x38, 0xA4, 0x35, 0x04, 0x78, 0x25, 0x06, 0x04, 0x01, 0x01, 0x87, 0x3B,
- 0x00, 0x00, 0x2D, 0x06, 0x0B, 0x7F, 0x2C, 0x01, 0x14, 0x0D, 0x06, 0x02,
- 0x6C, 0x26, 0x04, 0x11, 0xC4, 0x01, 0x07, 0x17, 0x25, 0x01, 0x02, 0x0D,
- 0x06, 0x06, 0x06, 0x02, 0x6C, 0x26, 0x04, 0x70, 0x24, 0xB9, 0x01, 0x01,
- 0x0D, 0x31, 0x35, 0x06, 0x02, 0x5B, 0x26, 0x25, 0x01, 0x01, 0xBF, 0x34,
- 0xA9, 0x00, 0x01, 0xAF, 0x01, 0x0B, 0x0E, 0x05, 0x02, 0x6C, 0x26, 0x25,
- 0x01, 0x03, 0x0E, 0x06, 0x08, 0xB7, 0x06, 0x02, 0x62, 0x26, 0x41, 0x24,
- 0x00, 0x41, 0x51, 0xB7, 0xA2, 0x25, 0x06, 0x23, 0xB7, 0xA2, 0x25, 0x50,
- 0x25, 0x06, 0x18, 0x25, 0x01, 0x82, 0x00, 0x0F, 0x06, 0x05, 0x01, 0x82,
- 0x00, 0x04, 0x01, 0x25, 0x03, 0x00, 0x7E, 0x02, 0x00, 0xAD, 0x02, 0x00,
- 0x4D, 0x04, 0x65, 0x93, 0x4E, 0x04, 0x5A, 0x93, 0x93, 0x4F, 0x25, 0x06,
- 0x02, 0x33, 0x00, 0x24, 0x29, 0x00, 0x00, 0x73, 0x2A, 0x99, 0x01, 0x7F,
- 0xA7, 0x25, 0x52, 0x06, 0x02, 0x33, 0x26, 0x25, 0x05, 0x02, 0x6C, 0x26,
- 0x36, 0x17, 0x0D, 0x06, 0x02, 0x6E, 0x26, 0x39, 0x00, 0x00, 0x94, 0xAF,
- 0x01, 0x14, 0x0D, 0x06, 0x02, 0x6C, 0x26, 0x7E, 0x01, 0x0C, 0x08, 0x01,
- 0x0C, 0xAD, 0x93, 0x7E, 0x25, 0x01, 0x0C, 0x08, 0x01, 0x0C, 0x2E, 0x05,
- 0x02, 0x5E, 0x26, 0x00, 0x00, 0xB0, 0x06, 0x02, 0x6C, 0x26, 0x06, 0x02,
- 0x60, 0x26, 0x00, 0x09, 0xAF, 0x01, 0x02, 0x0E, 0x05, 0x02, 0x6C, 0x26,
- 0xB6, 0x03, 0x00, 0x02, 0x00, 0x8D, 0x2A, 0x0A, 0x02, 0x00, 0x8C, 0x2A,
- 0x0F, 0x35, 0x06, 0x02, 0x6D, 0x26, 0x02, 0x00, 0x8B, 0x2A, 0x0D, 0x06,
- 0x02, 0x65, 0x26, 0x02, 0x00, 0x8E, 0x3A, 0x84, 0x01, 0x20, 0xAD, 0x01,
- 0x00, 0x03, 0x01, 0xB8, 0x03, 0x02, 0x02, 0x02, 0x01, 0x20, 0x0F, 0x06,
- 0x02, 0x6A, 0x26, 0x7E, 0x02, 0x02, 0xAD, 0x02, 0x02, 0x86, 0x2C, 0x0E,
- 0x02, 0x02, 0x01, 0x00, 0x0F, 0x17, 0x06, 0x0B, 0x85, 0x7E, 0x02, 0x02,
- 0x2E, 0x06, 0x04, 0x01, 0x7F, 0x03, 0x01, 0x85, 0x7E, 0x02, 0x02, 0x2F,
- 0x02, 0x02, 0x86, 0x3B, 0x02, 0x00, 0x8A, 0x02, 0x01, 0x90, 0xB6, 0x25,
- 0xBA, 0x52, 0x06, 0x02, 0x5C, 0x26, 0x73, 0x02, 0x01, 0x90, 0xB8, 0x06,
- 0x02, 0x5D, 0x26, 0x25, 0x06, 0x81, 0x2D, 0xB6, 0xA2, 0x9E, 0x03, 0x03,
- 0x9C, 0x03, 0x04, 0x9A, 0x03, 0x05, 0x9D, 0x03, 0x06, 0x9F, 0x03, 0x07,
- 0x9B, 0x03, 0x08, 0x25, 0x06, 0x81, 0x03, 0xB6, 0x01, 0x00, 0x36, 0x0E,
- 0x06, 0x0F, 0x24, 0x02, 0x03, 0x05, 0x02, 0x66, 0x26, 0x01, 0x00, 0x03,
- 0x03, 0xB5, 0x04, 0x80, 0x6A, 0x01, 0x01, 0x36, 0x0E, 0x06, 0x0F, 0x24,
- 0x02, 0x05, 0x05, 0x02, 0x66, 0x26, 0x01, 0x00, 0x03, 0x05, 0xB3, 0x04,
- 0x80, 0x55, 0x01, 0x83, 0xFE, 0x01, 0x36, 0x0E, 0x06, 0x0E, 0x24, 0x02,
- 0x04, 0x05, 0x02, 0x66, 0x26, 0x01, 0x00, 0x03, 0x04, 0xB4, 0x04, 0x3F,
- 0x01, 0x0D, 0x36, 0x0E, 0x06, 0x0E, 0x24, 0x02, 0x06, 0x05, 0x02, 0x66,
- 0x26, 0x01, 0x00, 0x03, 0x06, 0xB1, 0x04, 0x2B, 0x01, 0x0A, 0x36, 0x0E,
- 0x06, 0x0E, 0x24, 0x02, 0x07, 0x05, 0x02, 0x66, 0x26, 0x01, 0x00, 0x03,
- 0x07, 0xB1, 0x04, 0x17, 0x01, 0x0B, 0x36, 0x0E, 0x06, 0x0E, 0x24, 0x02,
- 0x08, 0x05, 0x02, 0x66, 0x26, 0x01, 0x00, 0x03, 0x08, 0xB1, 0x04, 0x03,
- 0x66, 0x26, 0x24, 0x04, 0xFE, 0x79, 0x02, 0x04, 0x06, 0x0D, 0x02, 0x04,
- 0x01, 0x05, 0x0F, 0x06, 0x02, 0x63, 0x26, 0x01, 0x01, 0x81, 0x3B, 0x93,
- 0x93, 0x02, 0x01, 0x00, 0x04, 0xAF, 0x01, 0x0C, 0x0E, 0x05, 0x02, 0x6C,
- 0x26, 0xB8, 0x01, 0x03, 0x0E, 0x05, 0x02, 0x67, 0x26, 0xB6, 0x25, 0x76,
- 0x3B, 0x25, 0x01, 0x20, 0x10, 0x06, 0x02, 0x67, 0x26, 0x3D, 0x41, 0x11,
- 0x01, 0x01, 0x17, 0x05, 0x02, 0x67, 0x26, 0xB8, 0x25, 0x01, 0x81, 0x05,
- 0x0F, 0x06, 0x02, 0x67, 0x26, 0x25, 0x78, 0x3B, 0x77, 0x41, 0xAD, 0x8A,
- 0x2A, 0x01, 0x86, 0x03, 0x10, 0x03, 0x00, 0x73, 0x2A, 0xC2, 0x03, 0x01,
- 0x01, 0x02, 0x03, 0x02, 0x02, 0x00, 0x06, 0x21, 0xB8, 0x25, 0x25, 0x01,
- 0x02, 0x0A, 0x41, 0x01, 0x06, 0x0F, 0x35, 0x06, 0x02, 0x67, 0x26, 0x03,
- 0x02, 0xB8, 0x02, 0x01, 0x01, 0x01, 0x0B, 0x01, 0x03, 0x08, 0x0E, 0x05,
- 0x02, 0x67, 0x26, 0x04, 0x08, 0x02, 0x01, 0x06, 0x04, 0x01, 0x00, 0x03,
- 0x02, 0xB6, 0x25, 0x03, 0x03, 0x25, 0x01, 0x84, 0x00, 0x0F, 0x06, 0x02,
- 0x68, 0x26, 0x7E, 0x41, 0xAD, 0x02, 0x02, 0x02, 0x01, 0x02, 0x03, 0x4A,
- 0x25, 0x06, 0x01, 0x26, 0x24, 0x93, 0x00, 0x02, 0x03, 0x00, 0x03, 0x01,
- 0x02, 0x00, 0x8F, 0x02, 0x01, 0x02, 0x00, 0x37, 0x25, 0x01, 0x00, 0x0E,
- 0x06, 0x02, 0x5A, 0x00, 0xC6, 0x04, 0x74, 0x02, 0x01, 0x00, 0x03, 0x00,
- 0xB8, 0xA2, 0x25, 0x06, 0x80, 0x43, 0xB8, 0x01, 0x01, 0x36, 0x0E, 0x06,
- 0x06, 0x24, 0x01, 0x81, 0x7F, 0x04, 0x2E, 0x01, 0x80, 0x40, 0x36, 0x0E,
- 0x06, 0x07, 0x24, 0x01, 0x83, 0xFE, 0x00, 0x04, 0x20, 0x01, 0x80, 0x41,
- 0x36, 0x0E, 0x06, 0x07, 0x24, 0x01, 0x84, 0x80, 0x00, 0x04, 0x12, 0x01,
- 0x80, 0x42, 0x36, 0x0E, 0x06, 0x07, 0x24, 0x01, 0x88, 0x80, 0x00, 0x04,
- 0x04, 0x01, 0x00, 0x41, 0x24, 0x02, 0x00, 0x35, 0x03, 0x00, 0x04, 0xFF,
- 0x39, 0x93, 0x73, 0x2A, 0xC0, 0x05, 0x09, 0x02, 0x00, 0x01, 0x83, 0xFF,
- 0x7F, 0x17, 0x03, 0x00, 0x8A, 0x2A, 0x01, 0x86, 0x03, 0x10, 0x06, 0x3A,
- 0xB2, 0x25, 0x7B, 0x3A, 0x3E, 0x24, 0x25, 0x01, 0x08, 0x0B, 0x35, 0x01,
- 0x8C, 0x80, 0x00, 0x35, 0x17, 0x02, 0x00, 0x17, 0x02, 0x00, 0x01, 0x8C,
- 0x80, 0x00, 0x17, 0x06, 0x19, 0x25, 0x01, 0x81, 0x7F, 0x17, 0x06, 0x05,
- 0x01, 0x84, 0x80, 0x00, 0x35, 0x25, 0x01, 0x83, 0xFE, 0x00, 0x17, 0x06,
- 0x05, 0x01, 0x88, 0x80, 0x00, 0x35, 0x03, 0x00, 0x04, 0x09, 0x02, 0x00,
- 0x01, 0x8C, 0x88, 0x01, 0x17, 0x03, 0x00, 0x16, 0xB6, 0xA2, 0x25, 0x06,
- 0x23, 0xB6, 0xA2, 0x25, 0x15, 0x25, 0x06, 0x18, 0x25, 0x01, 0x82, 0x00,
- 0x0F, 0x06, 0x05, 0x01, 0x82, 0x00, 0x04, 0x01, 0x25, 0x03, 0x01, 0x7E,
- 0x02, 0x01, 0xAD, 0x02, 0x01, 0x12, 0x04, 0x65, 0x93, 0x13, 0x04, 0x5A,
- 0x93, 0x14, 0x93, 0x02, 0x00, 0x28, 0x00, 0x00, 0xB0, 0x25, 0x54, 0x06,
- 0x07, 0x24, 0x06, 0x02, 0x60, 0x26, 0x04, 0x74, 0x00, 0x00, 0xB9, 0x01,
- 0x03, 0xB7, 0x41, 0x24, 0x41, 0x00, 0x00, 0xB6, 0xBD, 0x00, 0x03, 0x01,
- 0x00, 0x03, 0x00, 0xB6, 0xA2, 0x25, 0x06, 0x32, 0xB8, 0x03, 0x01, 0xB8,
- 0x03, 0x02, 0x02, 0x01, 0x01, 0x02, 0x10, 0x02, 0x01, 0x01, 0x06, 0x0C,
- 0x17, 0x02, 0x02, 0x01, 0x01, 0x0E, 0x02, 0x02, 0x01, 0x03, 0x0E, 0x35,
- 0x17, 0x06, 0x11, 0x02, 0x00, 0x01, 0x01, 0x02, 0x02, 0x57, 0x01, 0x02,
- 0x0B, 0x02, 0x01, 0x08, 0x0B, 0x35, 0x03, 0x00, 0x04, 0x4B, 0x93, 0x02,
- 0x00, 0x00, 0x00, 0xB6, 0x01, 0x01, 0x0E, 0x05, 0x02, 0x5F, 0x26, 0xB8,
- 0x01, 0x08, 0x08, 0x7C, 0x2C, 0x0E, 0x05, 0x02, 0x5F, 0x26, 0x00, 0x00,
- 0xB6, 0x81, 0x2C, 0x05, 0x15, 0x01, 0x01, 0x0E, 0x05, 0x02, 0x63, 0x26,
- 0xB8, 0x01, 0x00, 0x0E, 0x05, 0x02, 0x63, 0x26, 0x01, 0x02, 0x81, 0x3B,
- 0x04, 0x1C, 0x01, 0x19, 0x0E, 0x05, 0x02, 0x63, 0x26, 0xB8, 0x01, 0x18,
- 0x0E, 0x05, 0x02, 0x63, 0x26, 0x7E, 0x01, 0x18, 0xAD, 0x82, 0x7E, 0x01,
- 0x18, 0x2E, 0x05, 0x02, 0x63, 0x26, 0x00, 0x00, 0xB6, 0x06, 0x02, 0x64,
- 0x26, 0x00, 0x00, 0x01, 0x02, 0x8F, 0xB9, 0x01, 0x08, 0x0B, 0xB9, 0x08,
- 0x00, 0x00, 0x01, 0x03, 0x8F, 0xB9, 0x01, 0x08, 0x0B, 0xB9, 0x08, 0x01,
- 0x08, 0x0B, 0xB9, 0x08, 0x00, 0x00, 0x01, 0x01, 0x8F, 0xB9, 0x00, 0x00,
- 0x38, 0x25, 0x52, 0x05, 0x01, 0x00, 0x24, 0xC6, 0x04, 0x76, 0x02, 0x03,
- 0x00, 0x89, 0x2C, 0x03, 0x01, 0x01, 0x00, 0x25, 0x02, 0x01, 0x0A, 0x06,
- 0x10, 0x25, 0x01, 0x01, 0x0B, 0x88, 0x08, 0x2A, 0x02, 0x00, 0x0E, 0x06,
- 0x01, 0x00, 0x56, 0x04, 0x6A, 0x24, 0x01, 0x7F, 0x00, 0x00, 0x01, 0x15,
- 0x80, 0x3B, 0x41, 0x4C, 0x24, 0x4C, 0x24, 0x27, 0x00, 0x00, 0x01, 0x01,
- 0x41, 0xBB, 0x00, 0x00, 0x41, 0x36, 0x8F, 0x41, 0x25, 0x06, 0x05, 0xB9,
- 0x24, 0x57, 0x04, 0x78, 0x24, 0x00, 0x00, 0x25, 0x01, 0x81, 0xAC, 0x00,
- 0x0E, 0x06, 0x04, 0x24, 0x01, 0x7F, 0x00, 0x92, 0x53, 0x00, 0x02, 0x03,
- 0x00, 0x73, 0x2A, 0x92, 0x03, 0x01, 0x02, 0x01, 0x01, 0x0F, 0x17, 0x02,
- 0x01, 0x01, 0x04, 0x11, 0x01, 0x0F, 0x17, 0x02, 0x01, 0x01, 0x08, 0x11,
- 0x01, 0x0F, 0x17, 0x01, 0x00, 0x36, 0x0E, 0x06, 0x10, 0x24, 0x01, 0x00,
- 0x01, 0x18, 0x02, 0x00, 0x06, 0x03, 0x44, 0x04, 0x01, 0x45, 0x04, 0x80,
- 0x68, 0x01, 0x01, 0x36, 0x0E, 0x06, 0x10, 0x24, 0x01, 0x01, 0x01, 0x10,
- 0x02, 0x00, 0x06, 0x03, 0x44, 0x04, 0x01, 0x45, 0x04, 0x80, 0x52, 0x01,
- 0x02, 0x36, 0x0E, 0x06, 0x0F, 0x24, 0x01, 0x01, 0x01, 0x20, 0x02, 0x00,
- 0x06, 0x03, 0x44, 0x04, 0x01, 0x45, 0x04, 0x3D, 0x01, 0x03, 0x36, 0x0E,
- 0x06, 0x0E, 0x24, 0x24, 0x01, 0x10, 0x02, 0x00, 0x06, 0x03, 0x42, 0x04,
- 0x01, 0x43, 0x04, 0x29, 0x01, 0x04, 0x36, 0x0E, 0x06, 0x0E, 0x24, 0x24,
- 0x01, 0x20, 0x02, 0x00, 0x06, 0x03, 0x42, 0x04, 0x01, 0x43, 0x04, 0x15,
- 0x01, 0x05, 0x36, 0x0E, 0x06, 0x0C, 0x24, 0x24, 0x02, 0x00, 0x06, 0x03,
- 0x46, 0x04, 0x01, 0x47, 0x04, 0x03, 0x62, 0x26, 0x24, 0x00, 0x00, 0x92,
- 0x01, 0x0C, 0x11, 0x01, 0x02, 0x0F, 0x00, 0x00, 0x92, 0x01, 0x0C, 0x11,
- 0x25, 0x55, 0x41, 0x01, 0x03, 0x0A, 0x17, 0x00, 0x00, 0x92, 0x01, 0x0C,
- 0x11, 0x01, 0x01, 0x0E, 0x00, 0x00, 0x92, 0x01, 0x0C, 0x11, 0x54, 0x00,
- 0x00, 0x1B, 0x01, 0x00, 0x6F, 0x2C, 0x25, 0x06, 0x1F, 0x01, 0x01, 0x36,
- 0x0E, 0x06, 0x06, 0x24, 0x01, 0x00, 0x96, 0x04, 0x11, 0x01, 0x02, 0x36,
- 0x0E, 0x06, 0x0A, 0x24, 0x71, 0x2C, 0x06, 0x03, 0x01, 0x10, 0x35, 0x04,
- 0x01, 0x24, 0x04, 0x01, 0x24, 0x75, 0x2C, 0x05, 0x33, 0x2D, 0x06, 0x30,
- 0x7F, 0x2C, 0x01, 0x14, 0x36, 0x0E, 0x06, 0x06, 0x24, 0x01, 0x02, 0x35,
- 0x04, 0x22, 0x01, 0x15, 0x36, 0x0E, 0x06, 0x09, 0x24, 0xA5, 0x06, 0x03,
- 0x01, 0x7F, 0x96, 0x04, 0x13, 0x01, 0x16, 0x36, 0x0E, 0x06, 0x06, 0x24,
- 0x01, 0x01, 0x35, 0x04, 0x07, 0x24, 0x01, 0x04, 0x35, 0x01, 0x00, 0x24,
- 0x1A, 0x06, 0x03, 0x01, 0x08, 0x35, 0x00, 0x00, 0x1B, 0x25, 0x05, 0x0F,
- 0x2D, 0x06, 0x0C, 0x7F, 0x2C, 0x01, 0x15, 0x0E, 0x06, 0x04, 0x24, 0xA5,
- 0x04, 0x01, 0x1F, 0x00, 0x00, 0xC4, 0x01, 0x07, 0x17, 0x01, 0x01, 0x0F,
- 0x06, 0x02, 0x6C, 0x26, 0x00, 0x01, 0x03, 0x00, 0x27, 0x1A, 0x06, 0x05,
- 0x02, 0x00, 0x80, 0x3B, 0x00, 0xC4, 0x24, 0x04, 0x74, 0x00, 0x01, 0x14,
- 0xC7, 0x01, 0x01, 0xD4, 0x27, 0x25, 0x01, 0x00, 0xBF, 0x01, 0x16, 0xC7,
- 0xCD, 0x27, 0x00, 0x00, 0x01, 0x0B, 0xD4, 0x48, 0x25, 0x25, 0x01, 0x03,
- 0x08, 0xD3, 0xD3, 0x18, 0x25, 0x52, 0x06, 0x02, 0x24, 0x00, 0xD3, 0x1D,
- 0x25, 0x06, 0x05, 0x7E, 0x41, 0xCE, 0x04, 0x77, 0x24, 0x04, 0x6C, 0x00,
- 0x20, 0x01, 0x0F, 0xD4, 0x25, 0x8A, 0x2A, 0x01, 0x86, 0x03, 0x10, 0x06,
- 0x0C, 0x01, 0x04, 0x08, 0xD3, 0x7A, 0x2C, 0xD4, 0x72, 0x2C, 0xD4, 0x04,
- 0x02, 0x58, 0xD3, 0x25, 0xD2, 0x7E, 0x41, 0xCE, 0x00, 0x02, 0x9C, 0x9E,
- 0x08, 0x9A, 0x08, 0x9D, 0x08, 0x9F, 0x08, 0x9B, 0x08, 0x03, 0x00, 0x01,
- 0x01, 0xD4, 0x01, 0x27, 0x86, 0x2C, 0x08, 0x89, 0x2C, 0x01, 0x01, 0x0B,
- 0x08, 0x02, 0x00, 0x06, 0x04, 0x58, 0x02, 0x00, 0x08, 0x7D, 0x2A, 0x36,
- 0x09, 0x25, 0x55, 0x06, 0x24, 0x02, 0x00, 0x05, 0x04, 0x41, 0x58, 0x41,
- 0x59, 0x01, 0x04, 0x09, 0x25, 0x52, 0x06, 0x03, 0x24, 0x01, 0x00, 0x25,
- 0x01, 0x04, 0x08, 0x02, 0x00, 0x08, 0x03, 0x00, 0x41, 0x01, 0x04, 0x08,
- 0x36, 0x08, 0x41, 0x04, 0x03, 0x24, 0x01, 0x7F, 0x03, 0x01, 0xD3, 0x8C,
- 0x2A, 0xD2, 0x74, 0x01, 0x04, 0x19, 0x74, 0x01, 0x04, 0x08, 0x01, 0x1C,
- 0x30, 0x74, 0x01, 0x20, 0xCE, 0x85, 0x86, 0x2C, 0xD0, 0x89, 0x2C, 0x25,
- 0x01, 0x01, 0x0B, 0xD2, 0x88, 0x41, 0x25, 0x06, 0x0F, 0x57, 0x36, 0x2A,
- 0x25, 0xBE, 0x05, 0x02, 0x5C, 0x26, 0xD2, 0x41, 0x58, 0x41, 0x04, 0x6E,
- 0x5A, 0x01, 0x01, 0xD4, 0x01, 0x00, 0xD4, 0x02, 0x00, 0x06, 0x81, 0x22,
- 0x02, 0x00, 0xD2, 0x9C, 0x06, 0x0E, 0x01, 0x83, 0xFE, 0x01, 0xD2, 0x82,
- 0x9C, 0x01, 0x04, 0x09, 0x25, 0xD2, 0x57, 0xD0, 0x9E, 0x06, 0x16, 0x01,
- 0x00, 0xD2, 0x83, 0x9E, 0x01, 0x04, 0x09, 0x25, 0xD2, 0x01, 0x02, 0x09,
- 0x25, 0xD2, 0x01, 0x00, 0xD4, 0x01, 0x03, 0x09, 0xCF, 0x9A, 0x06, 0x0C,
- 0x01, 0x01, 0xD2, 0x01, 0x01, 0xD2, 0x7C, 0x2C, 0x01, 0x08, 0x09, 0xD4,
- 0x9D, 0x06, 0x19, 0x01, 0x0D, 0xD2, 0x9D, 0x01, 0x04, 0x09, 0x25, 0xD2,
- 0x01, 0x02, 0x09, 0xD2, 0x3F, 0x06, 0x03, 0x01, 0x03, 0xD1, 0x40, 0x06,
- 0x03, 0x01, 0x01, 0xD1, 0x9F, 0x25, 0x06, 0x22, 0x01, 0x0A, 0xD2, 0x01,
- 0x04, 0x09, 0x25, 0xD2, 0x59, 0xD2, 0x3D, 0x01, 0x00, 0x25, 0x01, 0x20,
- 0x0A, 0x06, 0x0C, 0x98, 0x11, 0x01, 0x01, 0x17, 0x06, 0x02, 0x25, 0xD2,
- 0x56, 0x04, 0x6E, 0x5A, 0x04, 0x01, 0x24, 0x9B, 0x06, 0x0A, 0x01, 0x0B,
- 0xD2, 0x01, 0x02, 0xD2, 0x01, 0x82, 0x00, 0xD2, 0x02, 0x01, 0x52, 0x05,
- 0x11, 0x01, 0x15, 0xD2, 0x02, 0x01, 0x25, 0xD2, 0x25, 0x06, 0x06, 0x57,
- 0x01, 0x00, 0xD4, 0x04, 0x77, 0x24, 0x00, 0x00, 0x01, 0x10, 0xD4, 0x73,
- 0x2A, 0x25, 0xC3, 0x06, 0x0C, 0xA3, 0x22, 0x25, 0x58, 0xD3, 0x25, 0xD2,
- 0x7E, 0x41, 0xCE, 0x04, 0x0D, 0x25, 0xC1, 0x41, 0xA3, 0x21, 0x25, 0x56,
- 0xD3, 0x25, 0xD4, 0x7E, 0x41, 0xCE, 0x00, 0x00, 0x94, 0x01, 0x14, 0xD4,
- 0x01, 0x0C, 0xD3, 0x7E, 0x01, 0x0C, 0xCE, 0x00, 0x00, 0x4B, 0x25, 0x01,
- 0x00, 0x0E, 0x06, 0x02, 0x5A, 0x00, 0xC4, 0x24, 0x04, 0x73, 0x00, 0x25,
- 0xD2, 0xCE, 0x00, 0x00, 0x25, 0xD4, 0xCE, 0x00, 0x01, 0x03, 0x00, 0x3E,
- 0x24, 0x25, 0x01, 0x10, 0x17, 0x06, 0x06, 0x01, 0x04, 0xD4, 0x02, 0x00,
- 0xD4, 0x25, 0x01, 0x08, 0x17, 0x06, 0x06, 0x01, 0x03, 0xD4, 0x02, 0x00,
- 0xD4, 0x25, 0x01, 0x20, 0x17, 0x06, 0x06, 0x01, 0x05, 0xD4, 0x02, 0x00,
- 0xD4, 0x25, 0x01, 0x80, 0x40, 0x17, 0x06, 0x06, 0x01, 0x06, 0xD4, 0x02,
- 0x00, 0xD4, 0x01, 0x04, 0x17, 0x06, 0x06, 0x01, 0x02, 0xD4, 0x02, 0x00,
- 0xD4, 0x00, 0x00, 0x25, 0x01, 0x08, 0x49, 0xD4, 0xD4, 0x00, 0x00, 0x25,
- 0x01, 0x10, 0x49, 0xD4, 0xD2, 0x00, 0x00, 0x25, 0x4C, 0x06, 0x02, 0x24,
- 0x00, 0xC4, 0x24, 0x04, 0x76
+ 0x44, 0x25, 0x00, 0x00, 0x80, 0x2E, 0x01, 0x0E, 0x0E, 0x06, 0x04, 0x01,
+ 0x00, 0x04, 0x02, 0x01, 0x05, 0x00, 0x00, 0x40, 0x06, 0x04, 0x01, 0x06,
+ 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x86, 0x2E, 0x26, 0x06, 0x08, 0x01,
+ 0x01, 0x09, 0x01, 0x11, 0x07, 0x04, 0x03, 0x25, 0x01, 0x05, 0x00, 0x01,
+ 0x41, 0x03, 0x00, 0x25, 0x01, 0x00, 0x43, 0x06, 0x03, 0x02, 0x00, 0x08,
+ 0x42, 0x06, 0x03, 0x02, 0x00, 0x08, 0x26, 0x06, 0x06, 0x01, 0x01, 0x0B,
+ 0x01, 0x06, 0x08, 0x00, 0x00, 0x89, 0x3F, 0x26, 0x06, 0x03, 0x01, 0x09,
+ 0x08, 0x00, 0x01, 0x40, 0x26, 0x06, 0x1E, 0x01, 0x00, 0x03, 0x00, 0x26,
+ 0x06, 0x0E, 0x26, 0x01, 0x01, 0x17, 0x02, 0x00, 0x08, 0x03, 0x00, 0x01,
+ 0x01, 0x11, 0x04, 0x6F, 0x25, 0x02, 0x00, 0x01, 0x01, 0x0B, 0x01, 0x06,
+ 0x08, 0x00, 0x00, 0x7D, 0x2D, 0x44, 0x11, 0x01, 0x01, 0x17, 0x35, 0x00,
+ 0x00, 0x9D, 0xCB, 0x26, 0x01, 0x07, 0x17, 0x01, 0x00, 0x38, 0x0E, 0x06,
+ 0x09, 0x25, 0x01, 0x10, 0x17, 0x06, 0x01, 0x9D, 0x04, 0x35, 0x01, 0x01,
+ 0x38, 0x0E, 0x06, 0x2C, 0x25, 0x25, 0x01, 0x00, 0x75, 0x3E, 0xB1, 0x86,
+ 0x2E, 0x01, 0x01, 0x0E, 0x01, 0x01, 0xA6, 0x37, 0x06, 0x17, 0x29, 0x1A,
+ 0x36, 0x06, 0x04, 0xCB, 0x25, 0x04, 0x78, 0x01, 0x80, 0x64, 0xC3, 0x01,
+ 0x01, 0x75, 0x3E, 0x01, 0x17, 0x85, 0x3E, 0x04, 0x01, 0x9D, 0x04, 0x03,
+ 0x70, 0x28, 0x25, 0x04, 0xFF, 0x34, 0x01, 0x26, 0x03, 0x00, 0x09, 0x26,
+ 0x56, 0x06, 0x02, 0x66, 0x28, 0x02, 0x00, 0x00, 0x00, 0x98, 0x01, 0x0F,
+ 0x17, 0x00, 0x00, 0x74, 0x2E, 0x01, 0x00, 0x38, 0x0E, 0x06, 0x10, 0x25,
+ 0x26, 0x01, 0x01, 0x0D, 0x06, 0x03, 0x25, 0x01, 0x02, 0x74, 0x3E, 0x01,
+ 0x00, 0x04, 0x21, 0x01, 0x01, 0x38, 0x0E, 0x06, 0x14, 0x25, 0x01, 0x00,
+ 0x74, 0x3E, 0x26, 0x01, 0x80, 0x64, 0x0E, 0x06, 0x05, 0x01, 0x82, 0x00,
+ 0x08, 0x28, 0x58, 0x04, 0x07, 0x25, 0x01, 0x82, 0x00, 0x08, 0x28, 0x25,
+ 0x00, 0x00, 0x01, 0x00, 0x2F, 0x06, 0x05, 0x3A, 0xAA, 0x37, 0x04, 0x78,
+ 0x26, 0x06, 0x04, 0x01, 0x01, 0x8D, 0x3E, 0x00, 0x01, 0xBD, 0xA8, 0xBD,
+ 0xA8, 0xBF, 0x82, 0x44, 0x26, 0x03, 0x00, 0xB4, 0x99, 0x99, 0x02, 0x00,
+ 0x4B, 0x26, 0x56, 0x06, 0x0A, 0x01, 0x03, 0xA6, 0x06, 0x02, 0x70, 0x28,
+ 0x25, 0x04, 0x03, 0x5A, 0x88, 0x3C, 0x00, 0x00, 0x2F, 0x06, 0x0B, 0x84,
+ 0x2E, 0x01, 0x14, 0x0D, 0x06, 0x02, 0x70, 0x28, 0x04, 0x11, 0xCB, 0x01,
+ 0x07, 0x17, 0x26, 0x01, 0x02, 0x0D, 0x06, 0x06, 0x06, 0x02, 0x70, 0x28,
+ 0x04, 0x70, 0x25, 0xC0, 0x01, 0x01, 0x0D, 0x33, 0x37, 0x06, 0x02, 0x5F,
+ 0x28, 0x26, 0x01, 0x01, 0xC6, 0x36, 0xB0, 0x00, 0x01, 0xB6, 0x01, 0x0B,
+ 0x0E, 0x05, 0x02, 0x70, 0x28, 0x26, 0x01, 0x03, 0x0E, 0x06, 0x08, 0xBE,
+ 0x06, 0x02, 0x66, 0x28, 0x44, 0x25, 0x00, 0x44, 0x55, 0xBE, 0xA8, 0x26,
+ 0x06, 0x23, 0xBE, 0xA8, 0x26, 0x54, 0x26, 0x06, 0x18, 0x26, 0x01, 0x82,
+ 0x00, 0x0F, 0x06, 0x05, 0x01, 0x82, 0x00, 0x04, 0x01, 0x26, 0x03, 0x00,
+ 0x82, 0x02, 0x00, 0xB4, 0x02, 0x00, 0x51, 0x04, 0x65, 0x99, 0x52, 0x04,
+ 0x5A, 0x99, 0x99, 0x53, 0x26, 0x06, 0x02, 0x35, 0x00, 0x25, 0x2B, 0x00,
+ 0x00, 0x77, 0x2C, 0x9F, 0x01, 0x7F, 0xAE, 0x26, 0x56, 0x06, 0x02, 0x35,
+ 0x28, 0x26, 0x05, 0x02, 0x70, 0x28, 0x38, 0x17, 0x0D, 0x06, 0x02, 0x72,
+ 0x28, 0x3B, 0x00, 0x00, 0x9A, 0xB6, 0x01, 0x14, 0x0D, 0x06, 0x02, 0x70,
+ 0x28, 0x82, 0x01, 0x0C, 0x08, 0x01, 0x0C, 0xB4, 0x99, 0x82, 0x26, 0x01,
+ 0x0C, 0x08, 0x01, 0x0C, 0x30, 0x05, 0x02, 0x62, 0x28, 0x00, 0x00, 0xB7,
+ 0x06, 0x02, 0x70, 0x28, 0x06, 0x02, 0x64, 0x28, 0x00, 0x0A, 0xB6, 0x01,
+ 0x02, 0x0E, 0x05, 0x02, 0x70, 0x28, 0xBD, 0x03, 0x00, 0x02, 0x00, 0x93,
+ 0x2C, 0x0A, 0x02, 0x00, 0x92, 0x2C, 0x0F, 0x37, 0x06, 0x02, 0x71, 0x28,
+ 0x02, 0x00, 0x91, 0x2C, 0x0D, 0x06, 0x02, 0x69, 0x28, 0x02, 0x00, 0x94,
+ 0x3C, 0x8A, 0x01, 0x20, 0xB4, 0x01, 0x00, 0x03, 0x01, 0xBF, 0x03, 0x02,
+ 0x02, 0x02, 0x01, 0x20, 0x0F, 0x06, 0x02, 0x6E, 0x28, 0x82, 0x02, 0x02,
+ 0xB4, 0x02, 0x02, 0x8C, 0x2E, 0x0E, 0x02, 0x02, 0x01, 0x00, 0x0F, 0x17,
+ 0x06, 0x0B, 0x8B, 0x82, 0x02, 0x02, 0x30, 0x06, 0x04, 0x01, 0x7F, 0x03,
+ 0x01, 0x8B, 0x82, 0x02, 0x02, 0x31, 0x02, 0x02, 0x8C, 0x3E, 0x02, 0x00,
+ 0x90, 0x02, 0x01, 0x96, 0xBD, 0x26, 0xC1, 0x56, 0x06, 0x02, 0x60, 0x28,
+ 0x77, 0x02, 0x01, 0x96, 0xBF, 0x06, 0x02, 0x61, 0x28, 0x26, 0x06, 0x81,
+ 0x47, 0xBD, 0xA8, 0xA4, 0x03, 0x03, 0xA2, 0x03, 0x04, 0xA0, 0x03, 0x05,
+ 0xA3, 0x03, 0x06, 0xA5, 0x03, 0x07, 0xA1, 0x03, 0x08, 0x27, 0x03, 0x09,
+ 0x26, 0x06, 0x81, 0x18, 0xBD, 0x01, 0x00, 0x38, 0x0E, 0x06, 0x0F, 0x25,
+ 0x02, 0x03, 0x05, 0x02, 0x6A, 0x28, 0x01, 0x00, 0x03, 0x03, 0xBC, 0x04,
+ 0x80, 0x7F, 0x01, 0x01, 0x38, 0x0E, 0x06, 0x0F, 0x25, 0x02, 0x05, 0x05,
+ 0x02, 0x6A, 0x28, 0x01, 0x00, 0x03, 0x05, 0xBA, 0x04, 0x80, 0x6A, 0x01,
+ 0x83, 0xFE, 0x01, 0x38, 0x0E, 0x06, 0x0F, 0x25, 0x02, 0x04, 0x05, 0x02,
+ 0x6A, 0x28, 0x01, 0x00, 0x03, 0x04, 0xBB, 0x04, 0x80, 0x53, 0x01, 0x0D,
+ 0x38, 0x0E, 0x06, 0x0E, 0x25, 0x02, 0x06, 0x05, 0x02, 0x6A, 0x28, 0x01,
+ 0x00, 0x03, 0x06, 0xB8, 0x04, 0x3F, 0x01, 0x0A, 0x38, 0x0E, 0x06, 0x0E,
+ 0x25, 0x02, 0x07, 0x05, 0x02, 0x6A, 0x28, 0x01, 0x00, 0x03, 0x07, 0xB8,
+ 0x04, 0x2B, 0x01, 0x0B, 0x38, 0x0E, 0x06, 0x0E, 0x25, 0x02, 0x08, 0x05,
+ 0x02, 0x6A, 0x28, 0x01, 0x00, 0x03, 0x08, 0xB8, 0x04, 0x17, 0x01, 0x10,
+ 0x38, 0x0E, 0x06, 0x0E, 0x25, 0x02, 0x09, 0x05, 0x02, 0x6A, 0x28, 0x01,
+ 0x00, 0x03, 0x09, 0xAC, 0x04, 0x03, 0x6A, 0x28, 0x25, 0x04, 0xFE, 0x64,
+ 0x02, 0x04, 0x06, 0x0D, 0x02, 0x04, 0x01, 0x05, 0x0F, 0x06, 0x02, 0x67,
+ 0x28, 0x01, 0x01, 0x86, 0x3E, 0x99, 0x04, 0x0C, 0xA2, 0x01, 0x05, 0x0F,
+ 0x06, 0x02, 0x67, 0x28, 0x01, 0x01, 0x86, 0x3E, 0x99, 0x02, 0x01, 0x00,
+ 0x04, 0xB6, 0x01, 0x0C, 0x0E, 0x05, 0x02, 0x70, 0x28, 0xBF, 0x01, 0x03,
+ 0x0E, 0x05, 0x02, 0x6B, 0x28, 0xBD, 0x26, 0x7A, 0x3E, 0x26, 0x01, 0x20,
+ 0x10, 0x06, 0x02, 0x6B, 0x28, 0x40, 0x44, 0x11, 0x01, 0x01, 0x17, 0x05,
+ 0x02, 0x6B, 0x28, 0xBF, 0x26, 0x01, 0x81, 0x05, 0x0F, 0x06, 0x02, 0x6B,
+ 0x28, 0x26, 0x7C, 0x3E, 0x7B, 0x44, 0xB4, 0x90, 0x2C, 0x01, 0x86, 0x03,
+ 0x10, 0x03, 0x00, 0x77, 0x2C, 0xC9, 0x03, 0x01, 0x01, 0x02, 0x03, 0x02,
+ 0x02, 0x00, 0x06, 0x21, 0xBF, 0x26, 0x26, 0x01, 0x02, 0x0A, 0x44, 0x01,
+ 0x06, 0x0F, 0x37, 0x06, 0x02, 0x6B, 0x28, 0x03, 0x02, 0xBF, 0x02, 0x01,
+ 0x01, 0x01, 0x0B, 0x01, 0x03, 0x08, 0x0E, 0x05, 0x02, 0x6B, 0x28, 0x04,
+ 0x08, 0x02, 0x01, 0x06, 0x04, 0x01, 0x00, 0x03, 0x02, 0xBD, 0x26, 0x03,
+ 0x03, 0x26, 0x01, 0x84, 0x00, 0x0F, 0x06, 0x02, 0x6C, 0x28, 0x82, 0x44,
+ 0xB4, 0x02, 0x02, 0x02, 0x01, 0x02, 0x03, 0x4E, 0x26, 0x06, 0x01, 0x28,
+ 0x25, 0x99, 0x00, 0x02, 0x03, 0x00, 0x03, 0x01, 0x02, 0x00, 0x95, 0x02,
+ 0x01, 0x02, 0x00, 0x39, 0x26, 0x01, 0x00, 0x0E, 0x06, 0x02, 0x5E, 0x00,
+ 0xCD, 0x04, 0x74, 0x02, 0x01, 0x00, 0x03, 0x00, 0xBF, 0xA8, 0x26, 0x06,
+ 0x80, 0x43, 0xBF, 0x01, 0x01, 0x38, 0x0E, 0x06, 0x06, 0x25, 0x01, 0x81,
+ 0x7F, 0x04, 0x2E, 0x01, 0x80, 0x40, 0x38, 0x0E, 0x06, 0x07, 0x25, 0x01,
+ 0x83, 0xFE, 0x00, 0x04, 0x20, 0x01, 0x80, 0x41, 0x38, 0x0E, 0x06, 0x07,
+ 0x25, 0x01, 0x84, 0x80, 0x00, 0x04, 0x12, 0x01, 0x80, 0x42, 0x38, 0x0E,
+ 0x06, 0x07, 0x25, 0x01, 0x88, 0x80, 0x00, 0x04, 0x04, 0x01, 0x00, 0x44,
+ 0x25, 0x02, 0x00, 0x37, 0x03, 0x00, 0x04, 0xFF, 0x39, 0x99, 0x77, 0x2C,
+ 0xC7, 0x05, 0x09, 0x02, 0x00, 0x01, 0x83, 0xFF, 0x7F, 0x17, 0x03, 0x00,
+ 0x90, 0x2C, 0x01, 0x86, 0x03, 0x10, 0x06, 0x3A, 0xB9, 0x26, 0x7F, 0x3D,
+ 0x41, 0x25, 0x26, 0x01, 0x08, 0x0B, 0x37, 0x01, 0x8C, 0x80, 0x00, 0x37,
+ 0x17, 0x02, 0x00, 0x17, 0x02, 0x00, 0x01, 0x8C, 0x80, 0x00, 0x17, 0x06,
+ 0x19, 0x26, 0x01, 0x81, 0x7F, 0x17, 0x06, 0x05, 0x01, 0x84, 0x80, 0x00,
+ 0x37, 0x26, 0x01, 0x83, 0xFE, 0x00, 0x17, 0x06, 0x05, 0x01, 0x88, 0x80,
+ 0x00, 0x37, 0x03, 0x00, 0x04, 0x09, 0x02, 0x00, 0x01, 0x8C, 0x88, 0x01,
+ 0x17, 0x03, 0x00, 0x16, 0xBD, 0xA8, 0x26, 0x06, 0x23, 0xBD, 0xA8, 0x26,
+ 0x15, 0x26, 0x06, 0x18, 0x26, 0x01, 0x82, 0x00, 0x0F, 0x06, 0x05, 0x01,
+ 0x82, 0x00, 0x04, 0x01, 0x26, 0x03, 0x01, 0x82, 0x02, 0x01, 0xB4, 0x02,
+ 0x01, 0x12, 0x04, 0x65, 0x99, 0x13, 0x04, 0x5A, 0x99, 0x14, 0x99, 0x02,
+ 0x00, 0x2A, 0x00, 0x00, 0xB7, 0x26, 0x58, 0x06, 0x07, 0x25, 0x06, 0x02,
+ 0x64, 0x28, 0x04, 0x74, 0x00, 0x00, 0xC0, 0x01, 0x03, 0xBE, 0x44, 0x25,
+ 0x44, 0x00, 0x00, 0xBD, 0xC4, 0x00, 0x03, 0x01, 0x00, 0x03, 0x00, 0xBD,
+ 0xA8, 0x26, 0x06, 0x80, 0x50, 0xBF, 0x03, 0x01, 0xBF, 0x03, 0x02, 0x02,
+ 0x01, 0x01, 0x08, 0x0E, 0x06, 0x16, 0x02, 0x02, 0x01, 0x0F, 0x0C, 0x06,
+ 0x0D, 0x01, 0x01, 0x02, 0x02, 0x01, 0x10, 0x08, 0x0B, 0x02, 0x00, 0x37,
+ 0x03, 0x00, 0x04, 0x2A, 0x02, 0x01, 0x01, 0x02, 0x10, 0x02, 0x01, 0x01,
+ 0x06, 0x0C, 0x17, 0x02, 0x02, 0x01, 0x01, 0x0E, 0x02, 0x02, 0x01, 0x03,
+ 0x0E, 0x37, 0x17, 0x06, 0x11, 0x02, 0x00, 0x01, 0x01, 0x02, 0x02, 0x5B,
+ 0x01, 0x02, 0x0B, 0x02, 0x01, 0x08, 0x0B, 0x37, 0x03, 0x00, 0x04, 0xFF,
+ 0x2C, 0x99, 0x02, 0x00, 0x00, 0x00, 0xBD, 0x01, 0x01, 0x0E, 0x05, 0x02,
+ 0x63, 0x28, 0xBF, 0x01, 0x08, 0x08, 0x80, 0x2E, 0x0E, 0x05, 0x02, 0x63,
+ 0x28, 0x00, 0x00, 0xBD, 0x86, 0x2E, 0x05, 0x15, 0x01, 0x01, 0x0E, 0x05,
+ 0x02, 0x67, 0x28, 0xBF, 0x01, 0x00, 0x0E, 0x05, 0x02, 0x67, 0x28, 0x01,
+ 0x02, 0x86, 0x3E, 0x04, 0x1C, 0x01, 0x19, 0x0E, 0x05, 0x02, 0x67, 0x28,
+ 0xBF, 0x01, 0x18, 0x0E, 0x05, 0x02, 0x67, 0x28, 0x82, 0x01, 0x18, 0xB4,
+ 0x87, 0x82, 0x01, 0x18, 0x30, 0x05, 0x02, 0x67, 0x28, 0x00, 0x00, 0xBD,
+ 0x06, 0x02, 0x68, 0x28, 0x00, 0x00, 0x01, 0x02, 0x95, 0xC0, 0x01, 0x08,
+ 0x0B, 0xC0, 0x08, 0x00, 0x00, 0x01, 0x03, 0x95, 0xC0, 0x01, 0x08, 0x0B,
+ 0xC0, 0x08, 0x01, 0x08, 0x0B, 0xC0, 0x08, 0x00, 0x00, 0x01, 0x01, 0x95,
+ 0xC0, 0x00, 0x00, 0x3A, 0x26, 0x56, 0x05, 0x01, 0x00, 0x25, 0xCD, 0x04,
+ 0x76, 0x02, 0x03, 0x00, 0x8F, 0x2E, 0x03, 0x01, 0x01, 0x00, 0x26, 0x02,
+ 0x01, 0x0A, 0x06, 0x10, 0x26, 0x01, 0x01, 0x0B, 0x8E, 0x08, 0x2C, 0x02,
+ 0x00, 0x0E, 0x06, 0x01, 0x00, 0x5A, 0x04, 0x6A, 0x25, 0x01, 0x7F, 0x00,
+ 0x00, 0x01, 0x15, 0x85, 0x3E, 0x44, 0x50, 0x25, 0x50, 0x25, 0x29, 0x00,
+ 0x00, 0x01, 0x01, 0x44, 0xC2, 0x00, 0x00, 0x44, 0x38, 0x95, 0x44, 0x26,
+ 0x06, 0x05, 0xC0, 0x25, 0x5B, 0x04, 0x78, 0x25, 0x00, 0x00, 0x26, 0x01,
+ 0x81, 0xAC, 0x00, 0x0E, 0x06, 0x04, 0x25, 0x01, 0x7F, 0x00, 0x98, 0x57,
+ 0x00, 0x02, 0x03, 0x00, 0x77, 0x2C, 0x98, 0x03, 0x01, 0x02, 0x01, 0x01,
+ 0x0F, 0x17, 0x02, 0x01, 0x01, 0x04, 0x11, 0x01, 0x0F, 0x17, 0x02, 0x01,
+ 0x01, 0x08, 0x11, 0x01, 0x0F, 0x17, 0x01, 0x00, 0x38, 0x0E, 0x06, 0x10,
+ 0x25, 0x01, 0x00, 0x01, 0x18, 0x02, 0x00, 0x06, 0x03, 0x47, 0x04, 0x01,
+ 0x48, 0x04, 0x80, 0x68, 0x01, 0x01, 0x38, 0x0E, 0x06, 0x10, 0x25, 0x01,
+ 0x01, 0x01, 0x10, 0x02, 0x00, 0x06, 0x03, 0x47, 0x04, 0x01, 0x48, 0x04,
+ 0x80, 0x52, 0x01, 0x02, 0x38, 0x0E, 0x06, 0x0F, 0x25, 0x01, 0x01, 0x01,
+ 0x20, 0x02, 0x00, 0x06, 0x03, 0x47, 0x04, 0x01, 0x48, 0x04, 0x3D, 0x01,
+ 0x03, 0x38, 0x0E, 0x06, 0x0E, 0x25, 0x25, 0x01, 0x10, 0x02, 0x00, 0x06,
+ 0x03, 0x45, 0x04, 0x01, 0x46, 0x04, 0x29, 0x01, 0x04, 0x38, 0x0E, 0x06,
+ 0x0E, 0x25, 0x25, 0x01, 0x20, 0x02, 0x00, 0x06, 0x03, 0x45, 0x04, 0x01,
+ 0x46, 0x04, 0x15, 0x01, 0x05, 0x38, 0x0E, 0x06, 0x0C, 0x25, 0x25, 0x02,
+ 0x00, 0x06, 0x03, 0x49, 0x04, 0x01, 0x4A, 0x04, 0x03, 0x66, 0x28, 0x25,
+ 0x00, 0x00, 0x98, 0x01, 0x0C, 0x11, 0x01, 0x02, 0x0F, 0x00, 0x00, 0x98,
+ 0x01, 0x0C, 0x11, 0x26, 0x59, 0x44, 0x01, 0x03, 0x0A, 0x17, 0x00, 0x00,
+ 0x98, 0x01, 0x0C, 0x11, 0x01, 0x01, 0x0E, 0x00, 0x00, 0x98, 0x01, 0x0C,
+ 0x11, 0x58, 0x00, 0x00, 0x1B, 0x01, 0x00, 0x73, 0x2E, 0x26, 0x06, 0x22,
+ 0x01, 0x01, 0x38, 0x0E, 0x06, 0x06, 0x25, 0x01, 0x00, 0x9C, 0x04, 0x14,
+ 0x01, 0x02, 0x38, 0x0E, 0x06, 0x0D, 0x25, 0x75, 0x2E, 0x01, 0x01, 0x0E,
+ 0x06, 0x03, 0x01, 0x10, 0x37, 0x04, 0x01, 0x25, 0x04, 0x01, 0x25, 0x79,
+ 0x2E, 0x05, 0x33, 0x2F, 0x06, 0x30, 0x84, 0x2E, 0x01, 0x14, 0x38, 0x0E,
+ 0x06, 0x06, 0x25, 0x01, 0x02, 0x37, 0x04, 0x22, 0x01, 0x15, 0x38, 0x0E,
+ 0x06, 0x09, 0x25, 0xAB, 0x06, 0x03, 0x01, 0x7F, 0x9C, 0x04, 0x13, 0x01,
+ 0x16, 0x38, 0x0E, 0x06, 0x06, 0x25, 0x01, 0x01, 0x37, 0x04, 0x07, 0x25,
+ 0x01, 0x04, 0x37, 0x01, 0x00, 0x25, 0x1A, 0x06, 0x03, 0x01, 0x08, 0x37,
+ 0x00, 0x00, 0x1B, 0x26, 0x05, 0x13, 0x2F, 0x06, 0x10, 0x84, 0x2E, 0x01,
+ 0x15, 0x0E, 0x06, 0x08, 0x25, 0xAB, 0x01, 0x00, 0x75, 0x3E, 0x04, 0x01,
+ 0x20, 0x00, 0x00, 0xCB, 0x01, 0x07, 0x17, 0x01, 0x01, 0x0F, 0x06, 0x02,
+ 0x70, 0x28, 0x00, 0x01, 0x03, 0x00, 0x29, 0x1A, 0x06, 0x05, 0x02, 0x00,
+ 0x85, 0x3E, 0x00, 0xCB, 0x25, 0x04, 0x74, 0x00, 0x01, 0x14, 0xCE, 0x01,
+ 0x01, 0xDB, 0x29, 0x26, 0x01, 0x00, 0xC6, 0x01, 0x16, 0xCE, 0xD4, 0x29,
+ 0x00, 0x00, 0x01, 0x0B, 0xDB, 0x4C, 0x26, 0x26, 0x01, 0x03, 0x08, 0xDA,
+ 0xDA, 0x18, 0x26, 0x56, 0x06, 0x02, 0x25, 0x00, 0xDA, 0x1D, 0x26, 0x06,
+ 0x05, 0x82, 0x44, 0xD5, 0x04, 0x77, 0x25, 0x04, 0x6C, 0x00, 0x21, 0x01,
+ 0x0F, 0xDB, 0x26, 0x90, 0x2C, 0x01, 0x86, 0x03, 0x10, 0x06, 0x0C, 0x01,
+ 0x04, 0x08, 0xDA, 0x7E, 0x2E, 0xDB, 0x76, 0x2E, 0xDB, 0x04, 0x02, 0x5C,
+ 0xDA, 0x26, 0xD9, 0x82, 0x44, 0xD5, 0x00, 0x02, 0xA2, 0xA4, 0x08, 0xA0,
+ 0x08, 0xA3, 0x08, 0xA5, 0x08, 0xA1, 0x08, 0x27, 0x08, 0x03, 0x00, 0x01,
+ 0x01, 0xDB, 0x01, 0x27, 0x8C, 0x2E, 0x08, 0x8F, 0x2E, 0x01, 0x01, 0x0B,
+ 0x08, 0x02, 0x00, 0x06, 0x04, 0x5C, 0x02, 0x00, 0x08, 0x81, 0x2C, 0x38,
+ 0x09, 0x26, 0x59, 0x06, 0x24, 0x02, 0x00, 0x05, 0x04, 0x44, 0x5C, 0x44,
+ 0x5D, 0x01, 0x04, 0x09, 0x26, 0x56, 0x06, 0x03, 0x25, 0x01, 0x00, 0x26,
+ 0x01, 0x04, 0x08, 0x02, 0x00, 0x08, 0x03, 0x00, 0x44, 0x01, 0x04, 0x08,
+ 0x38, 0x08, 0x44, 0x04, 0x03, 0x25, 0x01, 0x7F, 0x03, 0x01, 0xDA, 0x92,
+ 0x2C, 0xD9, 0x78, 0x01, 0x04, 0x19, 0x78, 0x01, 0x04, 0x08, 0x01, 0x1C,
+ 0x32, 0x78, 0x01, 0x20, 0xD5, 0x8B, 0x8C, 0x2E, 0xD7, 0x8F, 0x2E, 0x26,
+ 0x01, 0x01, 0x0B, 0xD9, 0x8E, 0x44, 0x26, 0x06, 0x0F, 0x5B, 0x38, 0x2C,
+ 0x26, 0xC5, 0x05, 0x02, 0x60, 0x28, 0xD9, 0x44, 0x5C, 0x44, 0x04, 0x6E,
+ 0x5E, 0x01, 0x01, 0xDB, 0x01, 0x00, 0xDB, 0x02, 0x00, 0x06, 0x81, 0x5A,
+ 0x02, 0x00, 0xD9, 0xA2, 0x06, 0x0E, 0x01, 0x83, 0xFE, 0x01, 0xD9, 0x87,
+ 0xA2, 0x01, 0x04, 0x09, 0x26, 0xD9, 0x5B, 0xD7, 0xA4, 0x06, 0x16, 0x01,
+ 0x00, 0xD9, 0x89, 0xA4, 0x01, 0x04, 0x09, 0x26, 0xD9, 0x01, 0x02, 0x09,
+ 0x26, 0xD9, 0x01, 0x00, 0xDB, 0x01, 0x03, 0x09, 0xD6, 0xA0, 0x06, 0x0C,
+ 0x01, 0x01, 0xD9, 0x01, 0x01, 0xD9, 0x80, 0x2E, 0x01, 0x08, 0x09, 0xDB,
+ 0xA3, 0x06, 0x19, 0x01, 0x0D, 0xD9, 0xA3, 0x01, 0x04, 0x09, 0x26, 0xD9,
+ 0x01, 0x02, 0x09, 0xD9, 0x42, 0x06, 0x03, 0x01, 0x03, 0xD8, 0x43, 0x06,
+ 0x03, 0x01, 0x01, 0xD8, 0xA5, 0x26, 0x06, 0x36, 0x01, 0x0A, 0xD9, 0x01,
+ 0x04, 0x09, 0x26, 0xD9, 0x5D, 0xD9, 0x40, 0x01, 0x00, 0x26, 0x01, 0x82,
+ 0x80, 0x80, 0x80, 0x00, 0x17, 0x06, 0x0A, 0x01, 0xFD, 0xFF, 0xFF, 0xFF,
+ 0x7F, 0x17, 0x01, 0x1D, 0xD9, 0x26, 0x01, 0x20, 0x0A, 0x06, 0x0C, 0x9E,
+ 0x11, 0x01, 0x01, 0x17, 0x06, 0x02, 0x26, 0xD9, 0x5A, 0x04, 0x6E, 0x5E,
+ 0x04, 0x01, 0x25, 0xA1, 0x06, 0x0A, 0x01, 0x0B, 0xD9, 0x01, 0x02, 0xD9,
+ 0x01, 0x82, 0x00, 0xD9, 0x27, 0x26, 0x06, 0x1F, 0x01, 0x10, 0xD9, 0x01,
+ 0x04, 0x09, 0x26, 0xD9, 0x5D, 0xD9, 0x83, 0x2C, 0x01, 0x00, 0x9E, 0x0F,
+ 0x06, 0x0A, 0x26, 0x1E, 0x26, 0xDB, 0x82, 0x44, 0xD5, 0x5A, 0x04, 0x72,
+ 0x5E, 0x04, 0x01, 0x25, 0x02, 0x01, 0x56, 0x05, 0x11, 0x01, 0x15, 0xD9,
+ 0x02, 0x01, 0x26, 0xD9, 0x26, 0x06, 0x06, 0x5B, 0x01, 0x00, 0xDB, 0x04,
+ 0x77, 0x25, 0x00, 0x00, 0x01, 0x10, 0xDB, 0x77, 0x2C, 0x26, 0xCA, 0x06,
+ 0x0C, 0xA9, 0x23, 0x26, 0x5C, 0xDA, 0x26, 0xD9, 0x82, 0x44, 0xD5, 0x04,
+ 0x0D, 0x26, 0xC8, 0x44, 0xA9, 0x22, 0x26, 0x5A, 0xDA, 0x26, 0xDB, 0x82,
+ 0x44, 0xD5, 0x00, 0x00, 0x9A, 0x01, 0x14, 0xDB, 0x01, 0x0C, 0xDA, 0x82,
+ 0x01, 0x0C, 0xD5, 0x00, 0x00, 0x4F, 0x26, 0x01, 0x00, 0x0E, 0x06, 0x02,
+ 0x5E, 0x00, 0xCB, 0x25, 0x04, 0x73, 0x00, 0x26, 0xD9, 0xD5, 0x00, 0x00,
+ 0x26, 0xDB, 0xD5, 0x00, 0x01, 0x03, 0x00, 0x41, 0x25, 0x26, 0x01, 0x10,
+ 0x17, 0x06, 0x06, 0x01, 0x04, 0xDB, 0x02, 0x00, 0xDB, 0x26, 0x01, 0x08,
+ 0x17, 0x06, 0x06, 0x01, 0x03, 0xDB, 0x02, 0x00, 0xDB, 0x26, 0x01, 0x20,
+ 0x17, 0x06, 0x06, 0x01, 0x05, 0xDB, 0x02, 0x00, 0xDB, 0x26, 0x01, 0x80,
+ 0x40, 0x17, 0x06, 0x06, 0x01, 0x06, 0xDB, 0x02, 0x00, 0xDB, 0x01, 0x04,
+ 0x17, 0x06, 0x06, 0x01, 0x02, 0xDB, 0x02, 0x00, 0xDB, 0x00, 0x00, 0x26,
+ 0x01, 0x08, 0x4D, 0xDB, 0xDB, 0x00, 0x00, 0x26, 0x01, 0x10, 0x4D, 0xDB,
+ 0xD9, 0x00, 0x00, 0x26, 0x50, 0x06, 0x02, 0x25, 0x00, 0xCB, 0x25, 0x04,
+ 0x76
};
static const uint16_t t0_caddr[] = {
274,
279,
284,
- 293,
- 306,
- 310,
- 335,
- 341,
- 360,
- 371,
- 405,
- 521,
- 525,
- 590,
- 605,
- 616,
- 634,
- 663,
- 673,
- 709,
- 719,
- 789,
- 803,
- 809,
- 869,
- 888,
- 937,
- 1013,
- 1040,
- 1071,
- 1082,
- 1383,
- 1530,
- 1554,
- 1770,
- 1784,
- 1793,
- 1797,
- 1861,
- 1882,
- 1938,
- 1945,
- 1956,
- 1972,
- 1978,
- 1989,
- 2024,
- 2036,
- 2042,
- 2057,
- 2073,
- 2229,
- 2238,
- 2251,
- 2260,
- 2267,
+ 289,
+ 294,
+ 303,
+ 316,
+ 320,
+ 345,
+ 351,
+ 370,
+ 381,
+ 422,
+ 542,
+ 546,
+ 611,
+ 626,
+ 637,
+ 655,
+ 684,
+ 694,
+ 730,
+ 740,
+ 818,
+ 832,
+ 838,
+ 897,
+ 916,
+ 951,
+ 1000,
+ 1076,
+ 1103,
+ 1134,
+ 1145,
+ 1484,
+ 1631,
+ 1655,
+ 1871,
+ 1885,
+ 1894,
+ 1898,
+ 1993,
+ 2014,
+ 2070,
+ 2077,
+ 2088,
+ 2104,
+ 2110,
+ 2121,
+ 2156,
+ 2168,
+ 2174,
+ 2189,
+ 2205,
+ 2361,
2370,
- 2391,
- 2404,
- 2420,
- 2438,
- 2470,
- 2504,
- 2814,
- 2850,
- 2863,
- 2877,
- 2882,
- 2887,
- 2953,
- 2961,
- 2969
+ 2383,
+ 2392,
+ 2399,
+ 2505,
+ 2530,
+ 2543,
+ 2559,
+ 2577,
+ 2609,
+ 2643,
+ 3011,
+ 3047,
+ 3060,
+ 3074,
+ 3079,
+ 3084,
+ 3150,
+ 3158,
+ 3166
};
-#define T0_INTERPRETED 82
+#define T0_INTERPRETED 86
#define T0_ENTER(ip, rp, slot) do { \
const unsigned char *t0_newip; \
T0_ENTER(t0ctx->ip, t0ctx->rp, slot); \
}
-T0_DEFENTRY(br_ssl_hs_client_init_main, 161)
+T0_DEFENTRY(br_ssl_hs_client_init_main, 167)
#define T0_NEXT(t0ipp) (*(*(t0ipp)) ++)
int prf_id = T0_POP();
int from_client = T0_POPi();
- unsigned char seed[48];
- size_t seed_len;
+ unsigned char tmp[48];
+ br_tls_prf_seed_chunk seed;
br_tls_prf_impl prf = br_ssl_engine_get_PRF(ENG, prf_id);
+ seed.data = tmp;
if (ENG->session.version >= BR_TLS12) {
- seed_len = br_multihash_out(&ENG->mhash, prf_id, seed);
+ seed.len = br_multihash_out(&ENG->mhash, prf_id, tmp);
} else {
- br_multihash_out(&ENG->mhash, br_md5_ID, seed);
- br_multihash_out(&ENG->mhash, br_sha1_ID, seed + 16);
- seed_len = 36;
+ br_multihash_out(&ENG->mhash, br_md5_ID, tmp);
+ br_multihash_out(&ENG->mhash, br_sha1_ID, tmp + 16);
+ seed.len = 36;
}
prf(ENG->pad, 12, ENG->session.master_secret,
sizeof ENG->session.master_secret,
from_client ? "client finished" : "server finished",
- seed, seed_len);
+ 1, &seed);
}
break;
}
break;
case 30: {
+ /* copy-protocol-name */
+
+ size_t idx = T0_POP();
+ size_t len = strlen(ENG->protocol_names[idx]);
+ memcpy(ENG->pad, ENG->protocol_names[idx], len);
+ T0_PUSH(len);
+
+ }
+ break;
+ case 31: {
/* data-get8 */
size_t addr = T0_POP();
}
break;
- case 31: {
+ case 32: {
/* discard-input */
ENG->hlen_in = 0;
}
break;
- case 32: {
+ case 33: {
/* do-client-sign */
size_t sig_len;
}
break;
- case 33: {
+ case 34: {
/* do-ecdh */
unsigned prf_id = T0_POP();
}
break;
- case 34: {
+ case 35: {
/* do-rsa-encrypt */
int x;
}
break;
- case 35: {
+ case 36: {
/* do-static-ecdh */
unsigned prf_id = T0_POP();
}
break;
- case 36: {
+ case 37: {
/* drop */
(void)T0_POP();
}
break;
- case 37: {
+ case 38: {
/* dup */
T0_PUSH(T0_PEEK(0));
}
break;
- case 38: {
+ case 39: {
+ /* ext-ALPN-length */
+
+ size_t u, len;
+
+ if (ENG->protocol_names_num == 0) {
+ T0_PUSH(0);
+ T0_RET();
+ }
+ len = 6;
+ for (u = 0; u < ENG->protocol_names_num; u ++) {
+ len += 1 + strlen(ENG->protocol_names[u]);
+ }
+ T0_PUSH(len);
+
+ }
+ break;
+ case 40: {
/* fail */
br_ssl_engine_fail(ENG, (int)T0_POPi());
}
break;
- case 39: {
+ case 41: {
/* flush-record */
br_ssl_engine_flush_record(ENG);
}
break;
- case 40: {
+ case 42: {
/* get-client-chain */
uint32_t auth_types;
}
break;
- case 41: {
+ case 43: {
/* get-key-type-usages */
const br_x509_class *xc;
}
break;
- case 42: {
+ case 44: {
/* get16 */
size_t addr = (size_t)T0_POP();
}
break;
- case 43: {
+ case 45: {
/* get32 */
size_t addr = (size_t)T0_POP();
}
break;
- case 44: {
+ case 46: {
/* get8 */
size_t addr = (size_t)T0_POP();
}
break;
- case 45: {
+ case 47: {
/* has-input? */
T0_PUSHi(-(ENG->hlen_in != 0));
}
break;
- case 46: {
+ case 48: {
/* memcmp */
size_t len = (size_t)T0_POP();
}
break;
- case 47: {
+ case 49: {
/* memcpy */
size_t len = (size_t)T0_POP();
}
break;
- case 48: {
+ case 50: {
/* mkrand */
size_t len = (size_t)T0_POP();
}
break;
- case 49: {
+ case 51: {
/* more-incoming-bytes? */
T0_PUSHi(ENG->hlen_in != 0 || !br_ssl_engine_recvrec_finished(ENG));
}
break;
- case 50: {
+ case 52: {
/* multihash-init */
br_multihash_init(&ENG->mhash);
}
break;
- case 51: {
+ case 53: {
/* neg */
uint32_t a = T0_POP();
}
break;
- case 52: {
+ case 54: {
/* not */
uint32_t a = T0_POP();
}
break;
- case 53: {
+ case 55: {
/* or */
uint32_t b = T0_POP();
}
break;
- case 54: {
+ case 56: {
/* over */
T0_PUSH(T0_PEEK(1));
}
break;
- case 55: {
+ case 57: {
/* read-chunk-native */
size_t clen = ENG->hlen_in;
}
break;
- case 56: {
+ case 58: {
/* read8-native */
if (ENG->hlen_in > 0) {
}
break;
- case 57: {
+ case 59: {
/* set-server-curve */
const br_x509_class *xc;
}
break;
- case 58: {
+ case 60: {
/* set16 */
size_t addr = (size_t)T0_POP();
}
break;
- case 59: {
+ case 61: {
+ /* set32 */
+
+ size_t addr = (size_t)T0_POP();
+ *(uint32_t *)((unsigned char *)ENG + addr) = (uint32_t)T0_POP();
+
+ }
+ break;
+ case 62: {
/* set8 */
size_t addr = (size_t)T0_POP();
}
break;
- case 60: {
+ case 63: {
/* strlen */
void *str = (unsigned char *)ENG + (size_t)T0_POP();
}
break;
- case 61: {
+ case 64: {
/* supported-curves */
uint32_t x = ENG->iec == NULL ? 0 : ENG->iec->supported_curves;
}
break;
- case 62: {
+ case 65: {
/* supported-hash-functions */
int i;
}
break;
- case 63: {
+ case 66: {
/* supports-ecdsa? */
T0_PUSHi(-(ENG->iecdsa != 0));
}
break;
- case 64: {
+ case 67: {
/* supports-rsa-sign? */
T0_PUSHi(-(ENG->irsavrfy != 0));
}
break;
- case 65: {
+ case 68: {
/* swap */
T0_SWAP();
}
break;
- case 66: {
+ case 69: {
/* switch-aesgcm-in */
int is_client, prf_id;
}
break;
- case 67: {
+ case 70: {
/* switch-aesgcm-out */
int is_client, prf_id;
}
break;
- case 68: {
+ case 71: {
/* switch-cbc-in */
int is_client, prf_id, mac_id, aes;
}
break;
- case 69: {
+ case 72: {
/* switch-cbc-out */
int is_client, prf_id, mac_id, aes;
}
break;
- case 70: {
+ case 73: {
/* switch-chapol-in */
int is_client, prf_id;
}
break;
- case 71: {
+ case 74: {
/* switch-chapol-out */
int is_client, prf_id;
}
break;
- case 72: {
+ case 75: {
+ /* test-protocol-name */
+
+ size_t len = T0_POP();
+ size_t u;
+
+ for (u = 0; u < ENG->protocol_names_num; u ++) {
+ const char *name;
+
+ name = ENG->protocol_names[u];
+ if (len == strlen(name) && memcmp(ENG->pad, name, len) == 0) {
+ T0_PUSH(u);
+ T0_RET();
+ }
+ }
+ T0_PUSHi(-1);
+
+ }
+ break;
+ case 76: {
/* total-chain-length */
size_t u;
}
break;
- case 73: {
+ case 77: {
/* u>> */
int c = (int)T0_POPi();
}
break;
- case 74: {
+ case 78: {
/* verify-SKE-sig */
size_t sig_len = T0_POP();
}
break;
- case 75: {
+ case 79: {
/* write-blob-chunk */
size_t clen = ENG->hlen_out;
}
break;
- case 76: {
+ case 80: {
/* write8-native */
unsigned char x;
}
break;
- case 77: {
+ case 81: {
/* x509-append */
const br_x509_class *xc;
}
break;
- case 78: {
+ case 82: {
/* x509-end-cert */
const br_x509_class *xc;
}
break;
- case 79: {
+ case 83: {
/* x509-end-chain */
const br_x509_class *xc;
}
break;
- case 80: {
+ case 84: {
/* x509-start-cert */
const br_x509_class *xc;
}
break;
- case 81: {
+ case 85: {
/* x509-start-chain */
const br_x509_class *xc;