Improved accuracy

pull/61/head
Pieter Robyns 2017-08-03 15:05:33 +02:00
rodzic 8dfcc3df3a
commit fdcdc005c9
3 zmienionych plików z 40 dodań i 39 usunięć

Wyświetl plik

@ -1,13 +1,13 @@
-------- Test Results on 2017-08-03 14:37:40 ---------
-------- Test Results on 2017-08-03 14:59:58 ---------
Test serie 0: [u'01 23 45 67 89 ab cd ef'] * 10
Test 1 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
Test 2 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 9 out of 10 ( 90.00%)
Test 2 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 7 out of 10 ( 70.00%)
Test 3 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 4 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 5 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
Test 6 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 7 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
=> Total passed: 39 out of 70 (55.71%)
=> Total passed: 37 out of 70 (52.86%)
Test serie 1: [u'11 11 11'] * 1
Test 8 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
@ -22,42 +22,42 @@ Test serie 1: [u'11 11 11'] * 1
Test serie 2: [u'11 11 11'] * 5
Test 15 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
Test 16 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 5 out of 5 (100.00%)
Test 17 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 3 out of 5 ( 60.00%)
Test 18 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 5 out of 5 (100.00%)
Test 17 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
Test 18 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 4 out of 5 ( 80.00%)
Test 19 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
Test 20 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 4 out of 5 ( 80.00%)
Test 20 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
Test 21 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
=> Total passed: 32 out of 35 (91.43%)
=> Total passed: 24 out of 35 (68.57%)
Test serie 3: [u'aa aa aa aa'] * 3
Test 22 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 0 out of 3 ( 0.00%)
Test 22 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
Test 23 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 3 out of 3 (100.00%)
Test 24 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 3 ( 0.00%)
Test 25 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 0 out of 3 ( 0.00%)
Test 26 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
Test 27 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 3 ( 0.00%)
Test 28 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 0 out of 3 ( 0.00%)
=> Total passed: 6 out of 21 (28.57%)
Test 28 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
=> Total passed: 12 out of 21 (57.14%)
Test serie 4: [u'ff ff ff ff'] * 1
Test 29 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
Test 30 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
Test 29 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
Test 30 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 1 out of 1 (100.00%)
Test 31 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
Test 32 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
Test 33 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
Test 34 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
Test 35 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
=> Total passed: 1 out of 7 (14.29%)
=> Total passed: 3 out of 7 (42.86%)
Test serie 5: [u'ff ff ff ff'] * 10
Test 36 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 37 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 36 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 9 out of 10 ( 90.00%)
Test 37 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 8 out of 10 ( 80.00%)
Test 38 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 39 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 40 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
Test 41 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 42 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
=> Total passed: 10 out of 70 (14.29%)
Test 42 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
=> Total passed: 37 out of 70 (52.86%)
Test serie 6: [u'55 55 55 55'] * 3
Test 43 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
@ -80,35 +80,35 @@ Test serie 7: [u'55 55 55 55'] * 10
=> Total passed: 40 out of 70 (57.14%)
Test serie 8: [u'88 88 88 88'] * 1
Test 57 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
Test 57 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
Test 58 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 1 out of 1 (100.00%)
Test 59 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
Test 60 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
Test 61 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
Test 62 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
Test 63 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
=> Total passed: 2 out of 7 (28.57%)
Test 63 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
=> Total passed: 4 out of 7 (57.14%)
Test serie 9: [u'88 88 88 88'] * 5
Test 64 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
Test 64 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
Test 65 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 5 out of 5 (100.00%)
Test 66 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
Test 67 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
Test 68 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
Test 69 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
Test 70 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
=> Total passed: 10 out of 35 (28.57%)
Test 70 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
=> Total passed: 20 out of 35 (57.14%)
Test serie 10: [u'88 88 88 88'] * 10
Test 71 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 71 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
Test 72 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 10 out of 10 (100.00%)
Test 73 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 74 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 75 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
Test 76 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
Test 77 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
=> Total passed: 20 out of 70 (28.57%)
Test 77 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
=> Total passed: 40 out of 70 (57.14%)
====== Total passed: 177 out of 413 (42.86%) ======
====== Total passed: 234 out of 413 (56.66%) ======

Wyświetl plik

@ -476,18 +476,21 @@ namespace gr {
this->instantaneous_frequency(samples, samples_ifreq, this->d_samples_per_symbol);
for (uint32_t i = 1u; i < this->d_number_of_bins - 2u; i++) {
if (samples_ifreq[this->d_decim_factor * i] - samples_ifreq[this->d_decim_factor * (i + 1u)] > 0.2f) {
return (i + !is_header) ^ (uint32_t)pow(2, d_sf);
float max_gradient = 0.2f;
float gradient = 0.0f;
uint32_t max_index = 0;
for (uint32_t i = 0u; i < this->d_number_of_bins - 2u; i++) {
gradient = samples_ifreq[this->d_decim_factor * i] - samples_ifreq[this->d_decim_factor * (i + 1u)];
if (gradient > max_gradient) {
max_gradient = gradient;
max_index = i+1;
}
}
const float zero_bin = samples_ifreq[0u] - samples_ifreq[this->d_decim_factor * 2u];
const float high_bin = samples_ifreq[(this->d_number_of_bins - 2u) * this->d_decim_factor] - samples_ifreq[this->d_number_of_bins * this->d_decim_factor - 1u];
// Prefer first bin over last. (First bin == 0 or 1?)
return zero_bin > 0.2f || zero_bin > high_bin
? this->d_number_of_bins : 1u;
if(max_index == 0)
return max_index;
else
return this->d_number_of_bins - 1 - max_index;
}
bool decoder_impl::demodulate(const gr_complex *samples, const bool is_header) {

Wyświetl plik

@ -37,9 +37,7 @@ namespace gr {
const uint8_t prng_payload[] = {
0xff, 0xff, 0x2d, 0xff, 0x78, 0xff, 0xe1, 0xff, 0x00, 0xff, 0xd2, 0x2d, 0x55, 0x78, 0x4b, 0xe1, 0x66, 0x00, 0x1e, 0xd2, 0xff, 0x55, 0x2d, 0x4b, 0x78, 0x66, 0xe1, 0x1e, 0xd2, 0xff, 0x87, 0x2d, 0xcc, 0x78, 0xaa, 0xe1, 0xb4, 0xd2, 0x99, 0x87, 0xe1, 0xcc, 0x00, 0xaa, 0x00, 0xb4, 0x00, 0x99, 0x00, 0xe1, 0xd2, 0x00, 0x55, 0x00, 0x99, 0x00, 0xe1, 0x00, 0xd2, 0xd2, 0x87, 0x55, 0x1e, 0x99, 0x2d, 0xe1, 0x78, 0xd2, 0xe1, 0x87, 0xd2, 0x1e, 0x55, 0x2d, 0x99, 0x78, 0x33, 0xe1, 0x55, 0xd2, 0x4b, 0x55, 0x66, 0x99, 0x1e, 0x33, 0x2d, 0x55, 0x78, 0x4b, 0xe1, 0x66, 0x00, 0x1e, 0x00, 0x2d, 0x00, 0x78, 0xd2, 0xe1, 0x87, 0x00, 0xcc, 0x00, 0x78, 0x00, 0x33, 0xd2, 0x55, 0x87, 0x99, 0xcc, 0x33, 0x78, 0x55, 0x33, 0x99, 0x55, 0x33, 0x99, 0x87, 0x33, 0xcc, 0x55, 0xaa, 0x99, 0x66, 0x33, 0x1e, 0x87, 0x2d, 0xcc, 0x78, 0xaa, 0x33, 0x66, 0x55, 0x1e, 0x99, 0x2d, 0xe1, 0x78, 0x00, 0x33, 0x00, 0x55, 0xd2, 0x99, 0x55, 0xe1, 0x4b, 0x00, 0xb4, 0x00, 0x4b, 0xd2, 0x66, 0x55, 0xcc, 0x4b, 0xaa, 0xb4, 0x66, 0x4b, 0xcc, 0x66, 0xaa, 0xcc, 0xb4, 0xaa, 0x4b, 0x66, 0x66, 0xcc, 0xcc, 0xaa, 0x78, 0xb4, 0x33, 0x4b, 0x55, 0x66, 0x4b, 0xcc, 0x66, 0x78, 0xcc, 0x33, 0x78, 0x55, 0xe1, 0x4b, 0x00, 0x66, 0xd2, 0xcc, 0x87, 0x78, 0x1e, 0xe1, 0xff, 0x00, 0xff, 0xd2, 0x2d, 0x87, 0xaa, 0x1e, 0x66, 0xff, 0xcc, 0xff, 0xaa, 0x2d, 0x66, 0xaa, 0x1e, 0x66, 0xff, 0xcc, 0x2d, 0xaa, 0xaa, 0x66, 0xb4, 0x1e, 0x4b, 0xff, 0x66, 0x2d, 0x1e, 0xaa, 0x2d, 0xb4, 0xaa, 0x4b, 0xb4, 0x66, 0x99, 0x1e, 0xe1, 0x2d, 0xd2, 0xaa, 0x55, 0xb4, 0x99, 0x99, 0xe1, 0xe1, 0x00, 0xd2, 0xd2, 0x55, 0x87, 0x99, 0xcc, 0xe1, 0xaa, 0x00, 0x66, 0xd2, 0xcc, 0x87, 0x78, 0xcc, 0xe1, 0xaa, 0xd2, 0x66, 0x87, 0xcc, 0x1e, 0x78, 0xff, 0xe1, 0x2d, 0xd2, 0x78, 0x87, 0x33, 0x1e, 0x87, 0xff, 0x1e, 0x2d, 0x2d, 0x78, 0x78, 0x33, 0x33, 0x87, 0x87, 0x1e, 0xcc, 0x2d, 0x78, 0x78, 0xe1, 0x33, 0xd2, 0x87, 0x55, 0xcc, 0x4b, 0x78, 0x66, 0xe1, 0xcc, 0xd2, 0xaa, 0x55, 0xb4, 0x4b, 0x99, 0x66, 0x33, 0xcc, 0x55, 0xaa, 0x99, 0xb4, 0xe1, 0x99, 0xd2, 0x33, 0x55, 0x55, 0x4b, 0x99, 0xb4, 0xe1, 0x99, 0xd2, 0x33, 0x55, 0x55, 0x4b, 0x4b, 0xb4, 0xb4, 0x99, 0x4b, 0x33, 0xb4, 0x55, 0x99, 0x4b, 0x33, 0xb4, 0x87, 0x4b, 0x1e, 0xb4, 0x2d, 0x99, 0xaa, 0x33, 0x66, 0x87, 0x1e, 0x1e, 0x2d, 0x2d, 0xaa, 0xaa, 0x66, 0x66, 0xcc, 0x1e, 0x78, 0x2f, 0x37, 0xa2, 0xa7, 0x76, 0x1f, 0x8c, 0x7f, 0x78, 0x2f, 0x33, 0xa2, 0xa7, 0x62, 0x1e, 0x0e, 0x7f, 0xbe, 0x2d, 0xff, 0xa4, 0xdf, 0x76, 0x2d, 0x5f, 0xaa, 0x7f, 0xf4, 0xfb, 0x93, 0xdf, 0x33, 0x3c, 0x87, 0xaa, 0x4c, 0xb6, 0x78, 0x91, 0x13, 0x33, 0x97, 0x82, 0x4c, 0x8c, 0xa8, 0x7c, 0xb4, 0x33, 0x6b, 0x8e, 0xb4, 0x5c, 0xd9, 0xa8, 0xe5, 0xbc, 0xf2, 0x5b, 0x86, 0xf4, 0x4c, 0x99, 0x68, 0xc5, 0xe9, 0xd2, 0x02, 0x87, 0x41, 0x4c, 0xd2, 0x2a, 0x87, 0xed, 0x3e, 0x00, 0x2d, 0x01, 0x2a, 0xd2, 0xb4, 0x83, 0x49, 0x16, 0xa4, 0x0c, 0x0b, 0xaa, 0x34, 0xb6, 0x4f, 0x4b, 0x6e, 0x94, 0x0f, 0x4b, 0x3f, 0xb4, 0xfd, 0x4f, 0x25, 0x46, 0x68, 0x1f, 0x73, 0x7f, 0x55, 0xff, 0x4d, 0x2d, 0x9c, 0x68, 0x99, 0x32, 0x61, 0x15, 0x00, 0x4f, 0xd0, 0xb4, 0x65, 0x98, 0xd1, 0xe1, 0xb3, 0x02, 0x87, 0xde, 0x1e, 0x55, 0xee, 0xf9, 0xff, 0xb3, 0xff, 0x95, 0xfb, 0x36, 0x00, 0x01, 0x40, 0x80, 0x87, 0x75, 0xc0, 0x03,
/*
0xff, 0xff, 0x2e, 0xff, 0x5c, 0xff, 0xe8, 0xff, 0x00, 0xff, 0xd1, 0x2e, 0x72, 0x5c, 0x65, 0xe8, 0x4b, 0x00, 0x17, 0xd1, 0xff, 0x72, 0x2e, 0x65, 0x5c, 0x4b, 0xe8, 0x17, 0xd1, 0xff, 0xa3, 0x2e, 0xc6, 0x5c, 0x8d, 0xe8, 0x9a, 0xd1, 0xb4, 0xa3, 0xe8, 0xc6, 0x00, 0x8d, 0x00, 0x9a, 0x00, 0xb4, 0x00, 0xe8, 0xd1, 0x00, 0x72, 0x00, 0xb4, 0x00, 0xe8, 0x00, 0xd1, 0xd1, 0xa3, 0x72, 0x17, 0xb4, 0x2e, 0xe8, 0x5c, 0xd1, 0xe8, 0xa3, 0xd1, 0x17, 0x72, 0x2e, 0xb4, 0x5c, 0x39, 0xe8, 0x72, 0xd1, 0x65, 0x72, 0x4b, 0xb4, 0x17, 0x39, 0x2e, 0x72, 0x5c, 0x65, 0xe8, 0x4b, 0x00, 0x17, 0x00, 0x2e, 0x00, 0x5c, 0xd1, 0xe8, 0xa3, 0x00, 0xc6, 0x00, 0x5c, 0x00, 0x39, 0xd1, 0x72, 0xa3, 0xb4, 0xc6, 0x39, 0x5c, 0x72, 0x39, 0xb4, 0x72, 0x39, 0xb4, 0xa3, 0x39, 0xc6, 0x72, 0x8d, 0xb4, 0x4b, 0x39, 0x17, 0xa3, 0x2e, 0xc6, 0x5c, 0x8d, 0x39, 0x4b, 0x72, 0x17, 0xb4, 0x2e, 0xe8, 0x5c, 0x00, 0x39, 0x00, 0x72, 0xd1, 0xb4, 0x72, 0xe8, 0x65, 0x00, 0x9a, 0x00, 0x65, 0xd1, 0x4b, 0x72, 0xc6, 0x65, 0x8d, 0x9a, 0x4b, 0x65, 0xc6, 0x4b, 0x8d, 0xc6, 0x9a, 0x8d, 0x65, 0x4b, 0x4b, 0xc6, 0xc6, 0x8d, 0x5c, 0x9a, 0x39, 0x65, 0x72, 0x4b, 0x65, 0xc6, 0x4b, 0x5c, 0xc6, 0x39, 0x5c, 0x72, 0xe8, 0x65, 0x00, 0x4b, 0xd1, 0xc6, 0xa3, 0x5c, 0x17, 0xe8, 0xff, 0x00, 0xff, 0xd1, 0x2e, 0xa3, 0x8d, 0x17, 0x4b, 0xff, 0xc6, 0xff, 0x8d, 0x2e, 0x4b, 0x8d, 0x17, 0x4b, 0xff, 0xc6, 0x2e, 0x8d, 0x8d, 0x4b, 0x9a, 0x17, 0x65, 0xff, 0x4b, 0x2e, 0x17, 0x8d, 0x2e, 0x9a, 0x8d, 0x65, 0x9a, 0x4b, 0xb4, 0x17, 0xe8, 0x2e, 0xd1, 0x8d, 0x72, 0x9a, 0xb4, 0xb4, 0xe8, 0xe8, 0x00, 0xd1, 0xd1, 0x72, 0xa3, 0xb4
*/
/*0xff, 0xff, 0x2e, 0xff, 0x5c, 0xff, 0xe8, 0xff, 0x00, 0xff, 0xd1, 0x2e, 0x72, 0x5c, 0x65, 0xe8, 0x4b, 0x00, 0x17, 0xd1, 0xff, 0x72, 0x2e, 0x65, 0x5c, 0x4b, 0xe8, 0x17, 0xd1, 0xff, 0xa3, 0x2e, 0xc6, 0x5c, 0x8d, 0xe8, 0x9a, 0xd1, 0xb4, 0xa3, 0xe8, 0xc6, 0x00, 0x8d, 0x00, 0x9a, 0x00, 0xb4, 0x00, 0xe8, 0xd1, 0x00, 0x72, 0x00, 0xb4, 0x00, 0xe8, 0x00, 0xd1, 0xd1, 0xa3, 0x72, 0x17, 0xb4, 0x2e, 0xe8, 0x5c, 0xd1, 0xe8, 0xa3, 0xd1, 0x17, 0x72, 0x2e, 0xb4, 0x5c, 0x39, 0xe8, 0x72, 0xd1, 0x65, 0x72, 0x4b, 0xb4, 0x17, 0x39, 0x2e, 0x72, 0x5c, 0x65, 0xe8, 0x4b, 0x00, 0x17, 0x00, 0x2e, 0x00, 0x5c, 0xd1, 0xe8, 0xa3, 0x00, 0xc6, 0x00, 0x5c, 0x00, 0x39, 0xd1, 0x72, 0xa3, 0xb4, 0xc6, 0x39, 0x5c, 0x72, 0x39, 0xb4, 0x72, 0x39, 0xb4, 0xa3, 0x39, 0xc6, 0x72, 0x8d, 0xb4, 0x4b, 0x39, 0x17, 0xa3, 0x2e, 0xc6, 0x5c, 0x8d, 0x39, 0x4b, 0x72, 0x17, 0xb4, 0x2e, 0xe8, 0x5c, 0x00, 0x39, 0x00, 0x72, 0xd1, 0xb4, 0x72, 0xe8, 0x65, 0x00, 0x9a, 0x00, 0x65, 0xd1, 0x4b, 0x72, 0xc6, 0x65, 0x8d, 0x9a, 0x4b, 0x65, 0xc6, 0x4b, 0x8d, 0xc6, 0x9a, 0x8d, 0x65, 0x4b, 0x4b, 0xc6, 0xc6, 0x8d, 0x5c, 0x9a, 0x39, 0x65, 0x72, 0x4b, 0x65, 0xc6, 0x4b, 0x5c, 0xc6, 0x39, 0x5c, 0x72, 0xe8, 0x65, 0x00, 0x4b, 0xd1, 0xc6, 0xa3, 0x5c, 0x17, 0xe8, 0xff, 0x00, 0xff, 0xd1, 0x2e, 0xa3, 0x8d, 0x17, 0x4b, 0xff, 0xc6, 0xff, 0x8d, 0x2e, 0x4b, 0x8d, 0x17, 0x4b, 0xff, 0xc6, 0x2e, 0x8d, 0x8d, 0x4b, 0x9a, 0x17, 0x65, 0xff, 0x4b, 0x2e, 0x17, 0x8d, 0x2e, 0x9a, 0x8d, 0x65, 0x9a, 0x4b, 0xb4, 0x17, 0xe8, 0x2e, 0xd1, 0x8d, 0x72, 0x9a, 0xb4, 0xb4, 0xe8, 0xe8, 0x00, 0xd1, 0xd1, 0x72, 0xa3, 0xb4*/
};
}
}