I am using FIO tool on linux to run some IO's. I am interested to look at data contents that are generated as part of the FIO command.
My command:
sudo fio --name=randwrite --ioengine=libaio --iodepth=1 --rw=write --bs=4k --direct=0 --size=512M --numjobs=1 --runtime=240 --group_reporting --filename=venkata --buffer_compress_percentage=50 --output=fioad
I am interested to see how the data is generated with 50% compress buffer option. Is there any way to look / output the FIO IO input data?
Is there any way to look / output the FIO IO input data?
Just examine the file the I/O is being done on (venkata) with a tool like hexdump? The one thing I'd caution is because your I/O file is 512 megabytes big you will almost certainly want to use the -n flag of hexdump or pipe the output to less to prevent your terminal overflowing... Here's a safe reduced example job to make analysis quicker/easier:
$ fio --name=bufcontents --filename=/tmp/fio.tmp --size=4k --bs=4k --buffer_compress_percentage=50
bufcontents: (g=0): rw=read, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1
[...]
Run status group 0 (all jobs):
READ: bw=4000KiB/s (4096kB/s), 4000KiB/s-4000KiB/s (4096kB/s-4096kB/s), io=4096B (4096B), run=1-1msec
$ hexdump -C /tmp/fio.tmp
00000000 35 e0 28 cc 38 a0 99 16 06 9c 6a a9 f2 cd e9 0a |5.(.8.....j.....|
00000010 80 53 2a 07 09 e5 0d 15 70 4a 25 f7 0b 39 9d 18 |.S*.....pJ%..9..|
00000020 4e a9 ac d9 8e ab 9d 13 29 95 8e 86 9b 48 4e 12 |N.......)....HN.|
00000030 a5 52 3d 26 cc 05 db 1b 54 2a 75 db 9a 4d d8 1d |.R=&....T*u..M..|
00000040 4a a5 44 c6 f8 9b 39 00 a9 94 23 c6 5c d0 90 0c |J.D...9...#.\...|
00000050 95 f2 6f ce f9 b6 c2 13 52 7e 83 40 a7 6f ce 07 |..o.....R~.#.o..|
00000060 ca 6f e7 28 b3 2d e4 10 f9 ed 37 ad 42 f1 48 0f |.o.(.-....7.B.H.|
00000070 bf 7d aa 5e 8c c7 d6 00 b7 cf f5 4c 9c a9 cd 08 |.}.^.......L....|
00000080 f6 39 c3 a1 b8 8e 8c 18 3e 67 3d 77 f5 40 ef 0b |.9......>g=w.#..|
00000090 e7 ac 48 fb 7f 2c 35 1c 9c 95 f5 a8 eb a7 d7 19 |..H..,5.........|
000000a0 b3 b2 50 aa 82 20 89 0f 56 96 f0 fb e7 ce d4 03 |..P.. ..V.......|
000000b0 ca 12 53 b4 e4 9b e0 17 59 62 25 0d 53 b9 0f 0e |..S.....Yb%.S...|
000000c0 4b 2c 78 b0 97 70 47 13 89 85 e9 df d6 15 6a 09 |K,x..pG.......j.|
000000d0 b1 b0 38 19 c6 d2 c0 0e 16 96 ce 6a bc 0d 0c 15 |..8........j....|
000000e0 c2 d2 4e 42 50 4c dd 08 58 da e8 9e 62 88 c1 15 |..NBPL..X...b...|
000000f0 4b 1b b1 e6 97 e1 ee 00 69 a3 30 6f da e8 9e 17 |K.......i.0o....|
00000100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200 a8 71 09 48 d3 ad 5f c5 35 2e 2d b0 b5 51 5a 13 |.q.H.._.5.-..QZ.|
[...]
(100 in hex is 256 in decimal, 200 in hex is 512 in decimal etc)
Alternatively, since you asked this on Stack Overflow (which is for programming questions), fio is open source and the fio source is available on GitHub, we can read the source there (note that you didn't say WHICH version of fio you are using so I shall assume the very latest at the tile of writing which is fio-3.21):
https://github.com/axboe/fio/blob/fio-3.21/io_u.c#L2166 (fill_io_buffer() in io_u.c): when compress_percentage is non-zero, fio will try to repeatedly call fill_random_buf_percentage() until it has created a block sized buffer worth of data. In the example job you set a block size of 4k (so the min and max block sizes will both be 4k) and compress_chunk will be 512 (its default). Therefore fill_random_buf_percentage() will be called 8 times and each time with its segment and len parameters being 512.
https://github.com/axboe/fio/blob/fio-3.21/lib/rand.c#L137 (__fill_random_buf_percentage() in rand.c): This works out the percentage of the segment it is filling that needs to be random data and the rest is set to either zeros (the default) or the buffer_pattern (if set). With your example the first 256 bytes will be random data and the next 256 will be zeros.
Related
How can I parse form-data manually at node js?
I get chunks of the large file at the server side. And can't merge it, because it will borrow RAM equals to the (file size + file info size).
As far as I understand, I can't use the libraries, such as multer/connect-busboy/connect-multiparty etc.
In simple terms, now I get following data at server side and can't figure out how to receive, example, a file name, and how to determine, which byte is responsible for the beginning of the file.
[1] Get request...
[1] data: <Buffer 2d 2d 2d 2d 2d 2d 57 65 62 4b 69 74 46 6f 72 6d 42 6f 75 6e 64 61 72 79 62 66 30 31 63 62 36 38 71 4d 41 4d 36 6d 51 31 0d 0a 43 6f 6e 74 65 6e 74 2d ... 65486 more bytes>
[1] data: <Buffer 02 10 00 00 01 ce 00 00 01 ef 00 00 14 e4 00 00 01 de 00 00 01 b2 00 00 01 d8 00 05 f0 1a 00 00 06 70 00 00 00 fa 00 00 00 cf 00 00 0a 3b 00 00 01 4a ... 65486 more bytes>
[1] data: <Buffer 31 52 2e 9a 5b df 11 19 5f c2 5d 38 ed db 23 00 06 05 bd 8f 71 e7 6b 03 9d 3a 88 e3 24 10 00 0f a1 10 43 82 ff 67 bd 5d eb 8e 59 fe a9 d3 e6 45 f2 9e ... 65486 more bytes>
[1] data: <Buffer 2b 6c cf 18 40 13 d8 fd 09 fa 56 25 e6 6d 6a 57 94 8c a4 9c d1 7b 99 bb 20 c0 21 e7 4a 1f 72 5a a5 3d 8e 84 5d 97 eb 1b 0f db b1 a9 81 f9 db ef 06 36 ... 65486 more bytes>
[1] data: <Buffer bb 29 4b 0d 06 1d 69 e1 c7 47 a7 99 c6 e4 c3 48 2e 85 6a b3 57 01 68 09 00 aa 6d b4 7b c7 07 2f 73 c0 c4 6b c4 48 9b 8f 81 64 8e 25 c7 a3 de c3 4f 2a ... 65486 more bytes>
[1] data: <Buffer 21 2b 1c dd 57 02 23 f5 43 a1 70 72 b4 8d 8d a8 4a 4b c1 e1 21 75 84 ed 07 00 34 de 5c 8d b0 0a 6f 99 60 28 34 b1 c5 bd a2 3c 3e d5 01 0f 62 57 a8 e8 ... 65486 more bytes>
[1] data: <Buffer 2d 96 e3 47 75 ce 25 63 77 26 15 96 b6 43 b9 d2 59 7d 12 c9 64 b2 11 f2 39 29 3e bf 83 1a f3 15 7b 14 ee f3 33 52 5c 39 34 75 06 41 2f e7 11 e8 26 4e ... 65486 more bytes>
[1] data: <Buffer 4a 9d 20 c7 a8 55 35 22 26 ff c7 b4 11 d9 6c 4d ce e1 a0 b2 b3 01 37 da 6a ad ae 98 fd 9b 8e 9c 8b 4a 27 8e e3 10 4a dc 80 f2 50 df 88 d9 c8 f9 ef 48 ... 65486 more bytes>
[1] data: <Buffer 52 ee b3 96 1f 7c af df fa 3f 9c 9a f7 01 20 7d 3f ea 4e 7e aa 4e d9 57 31 cb b5 f3 09 49 c7 ee 92 83 2e cb 58 d2 ea 1b b0 35 2a 3c 6c 27 75 0c d0 39 ... 65486 more bytes>
...more
...more
...and more
After receiving all the above data, I need to get file name and send each chunk of the file(not other info, such as name/mime type) to another client. (It's file sharing web resource)
Another solutions?
At the same time, I could to send the file separated manually by the chunks of type ArrayBuffer. Each chunk would be encoded additional information, like a "file name", "mime type". But in this case, I should to separate file at client side and get again the above problem the lack of memory.
A working solution, but a bit insecure. Send the file name and mime type separately from the main file data.
The part of the code responsible for sending data:
app.get(`/${senderId}/get`, (request, response) => {
let countChunks = 0;
// waiting for the sender's request now...
app.post(`/${senderId}/send`, (requestSender, responseSender) => {
// start sharing...
let countChunks = 0;
requestSender.on("data", (chunk) => {
if (countChunks === 0) {
// need get the name from the chunks
const fileName = "test_name";
response.setHeader("Content-Disposition", `attachment; filename="${fileName}"`);
}
countChunks += 1;
// need to get the first byte of the file data and start sending starting with it
response.write(chunk);
})
requestSender.on("end", () => {
response.end();
})
})
})
I have the following buffer:
<Buffer bf 58 e6 c6 00 8f fd 32 84 0f d1 d4 bd 7f ba 95 fa f1 b0 af cf 2a 54 43 49 f5 0f 42 e6 c3 60 e2 a5 1b 05 61 30 3a 75 50 42 60 ff ff 2e 57 d7 1f 8a da ... 269 more bytes>
Why is it that the following are not equal?
0xbf58e6c6008ffd32 //13788023997282124000
Number(buffer.readBigInt64BE(0)) // -4658720076427429000
Unsurprisingly, the little endian version returns another number also:
Number(buffer.readBigInt64LE(0)) // 3674250104503949300
0xbf58e6c6008ffd32 is considered to be a unsigned int (why, I don't know, I will need to also figure that out), so I need to read a big unsigned 64bit integer (readBigUInt64BE instead of readBigInt64BE).
I'm looking at socket.io packets and they are TCP. When I review the value, I see encrypted data. Where and how is socket.io encrypting the messages that pass through the soccket? Is it really secure? This is a VM running with requests over http.
For example, I see
0000 bc ec 23 c3 64 6a 00 15 5d 01 59 06 08 00 45 08 ..#.dj..].Y...E.
0010 00 58 68 cc 40 00 40 06 4e 6c c0 a8 01 05 c0 a8 .Xh.#.#.Nl......
0020 01 0a 00 16 c6 51 15 15 7f 44 69 87 60 58 50 18 .....Q...Di.\XP.`
0030 0b 2e 6c ae 00 00 8b 6f 92 7f b9 1b c2 d6 54 60 ..l....o......T
0040 5e 24 65 2a 0c d6 87 90 fd 87 63 30 9d 69 11 26 ^$e*......c0.i.&
0050 4d 75 8c 7b 5e b2 ad 47 12 9d 05 d0 7c 3b 7c 9e Mu.{^..G....|;|.
0060 b1 0d a0 b7 f1 88 ......
I'm spying on some RS485 communication between two devices. The only information I know is that the master is 'pinging' the slave constantly. Its checking if it is still connected and functioning.
The first i need to detect is the correct properties of the signal (baud rate, data bits, parity, stop bits).
My idea is to listen on the communication using all the most common settings. Then I would write an algorithm that would look for patterns in the string of hex numbers. Is that a good approach? (note. I don't have an oscilloscope )
I first used most common settings 115200 8n1, and at a first glance it seems that they are correct.
There are 6 repeating patterns in the raw code. I'm assuming that those are the actual commands for the protocol. Now how to decode the protocol used here? If it is not some in-house protocol that they used. Note here that the slave is disconnected and this is just transmissions from master.
1. 00 02 c0 fe ff 22 00 08 2a
2. 00 02 c0 ff fe 12 00 19 6e
3. 00 02 c0 ff 01 12 00 7a a1
4. 00 02 c0 01 ff 62 00 67 6c
5. 00 02 c0 01 ff 32 00 d8 62
6. 00 02 c0 01 ff 22 00 ab 61
There are a bunch of random hex values in between the patterns. Due to the nature of the RS485 signal I'm assuming that this is just noise?
Here is the the full captured data
02 c0 ff fe 12 00 19 6e 28 68 cb c2 9f 12 ed 13
c5 13 3f 09 92 dd 26 d6 64 7f 00 02 c0 fe ff 22
00 08 2a 2f 20 0d 0c 37 3a 0c 0a c1 58 f4 8e 21
4b ce 12 a8 b0 4e 16 80 8c a8 06 3a 09 9c c8 24
49 33 01 42 04 00 02 c0 ff fe 12 00 19 6e 77 92
59 43 9e 65 85 63 ab ff 71 62 a8 69 46 d3 53 b9
00 02 c0 fe ff 22 00 08 2a bd 4a ef 4d 60 00 1a
37 6c df e1 fc 1f 3e 04 61 a8 ad 4d e3 28 c8 23
68 31 28 39 ee 01 d9 12 27 5e 6d 00 02 c0 ff fe
12 00 19 6e df 00 76 b4 f9 aa 22 47 a7 47 9f b9
a4 4b 44 84 cf e5 00 02 c0 fe ff 22 00 08 2a 2a
a4 4a cb a0 ca a9 ca ad ca 00 72 ca 0f c2 ac b4
1c c8 37 21 97 bc c3 af f8 27 71 be 3e 75 f0 94
54 00 02 c0 ff 01 12 00 7a a1 7a bd 2b b0 f5 64
e7 b2 76 76 33 1b 7e 22 b2 a1 17 30 00 02 c0 01
ff 62 00 67 6c 45 c3 4a 8c 3a d0 d2 03 c7 39 1a
c5 15 8c e0 ac 9e e9 01 46 0d 6f 75 cd ad af 17
08 c8 e1 29 78 66 9a 29 0e 2b 30 56 8e 1f 0e 5a
7b 16 15 b2 51 2c e9 4b 4c 40 6b a2 8b 73 6a d2
8b f9 da 58 9b 02 de 71 f8 1c 0a c0 08 38 72 51
ac c8 bc 75 c8 2f 69 3d 53 ed c1 46 90 6a 26 44
09 4e f9 13 ed 0b 71 00 02 c0 ff 01 12 00 7a a1
19 4f a5 ce 15 02 50 ff 81 7f 10 db 8e 38 d1 da
b3 11 00 02 c0 01 ff 32 00 d8 62 fa f6 0b e8 e0
6f 8a 82 d3 e0 36 f5 be 79 cb ab 32 b8 17 a9 dd
a1 7c 9e 9b 22 b9 19 8c ef 26 55 a0 6c be 0d 64
d6 c3 e3 55 d9 dd eb b2 c7 00 80 f6 89 00 02 c0
ff 01 12 00 7a a1 19 8e b3 8e 01 3a d6 eb 29 bc
4c de 32 31 13 18 0d ae 00 02 c0 01 ff 22 00 ab
61 d9 fa 8f 29 fc 41 9e 19 a9 0c 55 eb 79 92 9d
17 5f 9d 88 3a e1 d3 2d 42 27 2e 43 f8 05 a4 03
4b a3 fe 00 02 c0 ff fe 12 00 19 6e a4 52 a3 b6
91 d2 90 21 4f fd c4 5e ba 0e 1f 10 6c 30 00 02
c0 fe ff 22 00 08 2a a7 8c b3 71 8b 91 d2 a1 0f
c6 b6 cb 0f 9b fe e3 50 0b 1d cc c8 9c d5 e5 f8
85 ff 0d 3e e9 54 b7 ec 0d 00 02 c0 ff fe 12 00
19 6e 75 13 65 35 e1 17 ef 6f be 91 3a b1 52 43
4b b7 74 2e 00 02 c0 fe ff 22 00 08 2a 5e 46 3e
84 e5 ae e6 c8 45 01 e8 a7 a7 7c 27 d3 ff bf 90
a9 2f 4c b6 2d 6b 8a 18 c1 15 aa 8e d6 8e c9 00
02 c0 ff 01 12 00 7a a1 f3 05 85 da 10 da c0 60
10 31 9e 04 89 23 1f 51 9b e5 00 02 c0 01 ff 62
00 67 6c 89 50 18 c5 74 d1 48 ef ca 80 e5 0e 86
24 59 ad c2 71 39 12 1f 7f b9 14 40 5d 06 0e 98
ad b3 84 18 9c 59 0b d6 fb ae 86 b0 4f b8 cb a6
a8 d9 74 a4 e8 fe 07 95 dc 42 b9 92 38 6b f7 ad
a5 9b ce 7a 9c b3 3b 0c bb 5c d7 b8 ca 9e 18 d7
cb 2e 11 0f 45 31 65 7b 5f 5c b5 44 b7 30 fb 6e
8d 3c f4 5f 28 00 02 c0 ff 01 12 00 7a a1 15 7e
be ae 7e e4 a9 98 cf 87 3e ef cb 9a c0 ed 76 d5
00 02 c0 01 ff 32 00 d8 62 6f 12 b4 55 2d ad 42
19 9b 91 05 0f c1 a9 c1 e4 46 13 a4 e0 50 c1 ca
c9 7d 6a 02 3f 94 8b ae 0f 01 68 58 ff ad 18 04
43 c7 98 2e ce 43 f5 64 31 78 fa 00 02 c0 ff fe
12 00 19 6e a7 a5 37 aa 6e da 26 79 58 90 47 33
5f f0 a5 33 09 5d 00 02 c0 fe ff 22 00 08 2a 5e
6c 21 68 d2 aa 0e b6 e8 03 21 5e 3a bc b5 5f 9f
21 2e 3d ad cb d6 d8 2d 12 77 48 7b b0 3b 33 18
df 00 02 c0 ff fe 12 00 19 6e 79 8f aa 97 56 ac
a4 86 8b 5b 39 8c cf 9a 09 ab fa 63 00 02 c0 fe
ff 22 00 08 2a 43 2d 94 ba a3 06 0b de 34 00 5c
24 f6 e9 45 4c 0d 69 17 ed 70 fd c0 00 ba ab 8b
ca fc 6c e1 c4 76 76 00 02 c0 ff fe 12 00 19 6e
e1 b8 57 cd f3 6c 75 86 9a 0d 7d 9f 91 a5 59 08
ae 1d 00 02 c0 fe ff 22 00 08 2a 3c cb 32 3e 78
bc 88 6d 8c 16 64 7b 74 74 36 d1 0b 10 36 cb 08
c6 60 69 42 0d 8c ce bc d5 ca ec 41 fc 00 02 c0
ff 01 12 00 7a a1 f1 45 3a be 4f ce bd 22 a9 e8
e4 1f 60 fb ff ad 0c 7f 00 02 c0 01 ff 62 00 67
6c dd 09 fd 95 dc 92 77 0e 57 bf 2c c5 b9 ae 64
f6 9e c4 c8 e3 47 75 b4 75 89 97 a9 41 c6 d4 f7
bd c8 9e 28 2b 09 98 6d 15 53 12 6d 5e 57 37 fc
e4 59 cc bc 88 25 07 0b 26 b1 fa 4d 0f 3f 87 f9
04 fe 25 41 7d 97 9c 0c 46 70 b4 b4 4b f7 19 4d
02 8e 18 4c b7 83 2c 94 0f 9b aa 1a 2a f8 39 90
8a 74 5d 00 02 c0 ff 01 12 00 7a a1 39 b7 63 f0
10 8b 5c 7c 9d 34 34 4a a2 35 f0 c0 5b 24 00 02
c0 01 ff 22 00 ab 61 5a 91 b4 24 c9 62 1c 0b 72
83 e7 d2 68 9b 2b 55 7d f4 1a f0 7e f3 4b ac e1
ae fb ad 4c 60 bc cb 05 75 00 02 c0 ff 01 12 00
7a a1 6e b3 8f 72 fb b1 9a 48 c8 4e 79 52 b4 f5
13 fb 43 c9 00 02 c0 01 ff 32 00 d8 62 8a 20 4e
3d 67 d2 12 bb c5 e4 a7 ce 4c 64 db 17 f4 51 bb
b7 f7 ea 2c 0a 11 5e 65 c8 ea e2 7d 60 9b d2 c8
ae 52 b1 7f b3 50 2e 32 df 57 d7 2e 2e cb cf 00
02 c0 ff fe 12 00 19 6e 38 bb 48 00 2e 70 28 93
5a 47 cd 1b 44 d5 eb d0 13 2b 00 02 c0 fe ff 22
00 08 2a 54 a8 6b 65 2c d0 c7 89 a3 63 85 47 55
4e 6d b7 23 32 c5 5b df 12 93 be 11 4f c2 ba d0
13 76 b3 be 82 00 02 c0 ff 01 12 00 7a a1 c7 23
14 2c 9a dc ea 73 12 b4 18 3e 4a 6d 54 49 c4 4d
00 02 c0 01 ff 22 00 ab 61 90 33 f8 0e 6d 9c 2f
05 02 41 28 d1 55 2c c5 3d 64 c4 0f df 07 1a 4a
fc 1f ed a8 2f f4 2a a4 a2 0f aa 00 02 c0 ff fe
12 00 19 6e 31 c4 36 83 7f ad ac 53 ac e3 21 64
b8 28 5f ea 33 28 00 02 c0 fe ff 22 00 08 2a 1a
b8 af 63 ef 64 dc 2d 32 5b 48 1c e3 b8 a7 f0 ed
32 65 af 21 1a 09 d4 1d 29 82 5b c7 cd 42 1c ff
3a 00 02 c0 ff 01 12 00 7a a1 28 fc d5 32 2b 5c
8b f8 bc a1 8d 7b 86 89 e6 b6 66 e5 00 02 c0 01
ff 62 00 67 6c 92 66 ea a2 63 4a 02 81 05 21 a0
32 f6 f1 1e 1a 92 36 92 e2 67 89 5d 73 92 13 fe
fa fa aa 8e 06 f8 c4 f7 a3 42 a2 78 05 31 07 1c
42 78 ec 0b 88 8e a8 ae 67 59 a6 93 eb 3b dd aa
32 ca dd 77 f7 d0 3d 6e a2 61 e8 63 13 b0 65 3f
d3 d0 22 1f 26 18 e9 62 b3 9a 8b f7 5d c1 27 77
3c f8 37 5a 42 9a 7a 00 02 c0 ff 01 12 00 7a a1
9e f1 fc 84 34 e5 ce 59 9c 7a 24 75 c7 76 55 52
01 0b 00 02 c0 01 ff 32 00 d8 62 41 31 93 a0 fd
3a 0a 8a 0c 90 fb 6a 15 9f 46 8f d2 db 4a 99 85
5a 01 fb dd 7a 05 7a 73 3b a8 24 c8 c4 a5 31 30
b3 11 0b 8e 7b 20 ac b8 ba 66 c0 c7 88 00 02 c0
ff fe 12 00 19 6e d5 48 35 ab a7 4e fb ec 6e 99
37 df 89 9e c7 bb 44 2f 00 02 c0 fe ff 22 00 08
2a 93 d0 d9 92 c0 30 05 d7 5a da e3 9f b7 24 9c
dc 14 f5 02 81 89 b9 c0 a7 14 59 a6 39 c9 f6 92
9f 79 5a 00 02 c0 ff fe 12 00 19 6e f7 57 db 1a
53 6c 5b 2d 31 ee f2 8d 08 33 1b 02 fb 1c 00 02
c0 fe ff 22 00 08 2a 89 a2 19 9e fd 2d 83 a4 e8
7c 25 a8 aa e2 5d d8 14 85 34 66 cc 1f 98 56 f0
60 95 f9 67 4e 85 60 09 a4 00 02 c0 ff fe 12 00
19 6e ac 66 8d fe ce 6a 61 77 e1 1f 2c 76 f1 17
14 17 34 87 00 02 c0 fe ff 22 00 08 2a 69 69 d4
80 7f fa aa bc 97 1b 37 b1 89 64 06 af 6c 80 4c
6f 53 fe 6a 78 39 66 83 a7 71 cb f4 7b ba a7 00
02 c0 ff 01 12 00 7a a1 46 d4 ab 96 8b 93 62 a0
c5 d4 b1 68 a5 94 64 61 87 d5 00 02 c0 01 ff 22
00 ab 61 a1 ac a1 97 2f 69 82 d3 c1 5b 94 3c 92
7e 36 4a 3f 7f 44 69 d5 cc 2f cd 54 41 60 f0 43
97 90 1f 8c 6d 00 02 c0 ff 01 12 00 7a a1 1e d9
f4 c5 ec e5 40 50 5c bc 61 2a 04 10 5e c8 fd 73
00 02 c0 01 ff 62 00 67 6c 33 f2 d5 1f 5d b4 43
64 c3 83 f2 a8 ed 4f dd b2 eb 08 d9 ac fa 23 64
52 5c 49 09 fb d4 bf bd 69 20 e8 76 84 c4 27 21
58 d6 12 eb f8 56 01 86 ca 0c 8b 61 4d 5b 6d 42
5a c6 83 8f f7 31 f6 7a ca 42 e7 13 5a f6 35 50
f7 46 a0 5e 3d 0a 89 57 a7 13 88 87 00 03 ab 73
26 f1 b2 73 34 6d d9 56 3c b5 f0 00 02 c0 ff 01
12 00 7a a1 d2 fa f4 0f 57 4d 06 8c b8 74 f0 ac
ef 17 01 93 f1 09 00 02 c0 01 ff 32 00 d8 62 ac
85 4d ca c0 d3 48 02 b1 e3 b9 a9 c0 88 ba e5 69
80 9a d8 13 dc 7f 2f 98 41 43 41 1f 38 c2 e0 02
b7 e5 71 cf fd 99 9b f8 40 ec 16 0c 0c 76 51 34
ab 00 02 c0 ff fe 12 00 19 6e 27 6d a3 4a e4 a4
ee 5a 6e c2 f2 4f 7b 31 f6 61 84 04 00 02 c0 fe
ff 22 00 08 2a d5 dd 0f 67 a3 23 5b 2e 7a 1f 65
49 80 55 f6 f5 91 14 b4 19 ae 51 8e ed 87 df 31
d4 4a a3 48 aa 61 5f 00 02 c0 ff fe 12 00 19 6e
24 dc ff 2a 70 9b af 7e 7c a0 96 3f ca ec 58 f7
e0 d3 00 02 c0 fe ff 22 00 08 2a 47 e0 02 03 c8
49 11 2c bc e2 b8 85 dd 24 b3 f5 bd 0d 00 29 04
01 e1 4f 95 a7 7c 4d 65 e1 6f da 18 b7 00 02 c0
ff fe 12 00 19 6e fa b4 8e 15 b5 6b b0 bd ff 25
f4 62 8b 63 77 de a7 2b 00 02 c0 fe ff 22 00 08
2a e1 c4 dd 89 b9 67 47 7d 1e 9b 47 58 52 03 90
6b 70 e7 ec e7 99 67 49 57 c5 04 ec 85 7c e0 b6
03 b4 e6 00 02 c0 ff 01 12 00 7a a1 47 7f e8 39
0d fa 71 81 30 6a be c4 d0 a2 0d 79 0f d9 00 02
c0 01 ff 62 00 67 6c e1 f9 68 c7 a1 57 b7 56 dd
8c f7 f9 33 28 7f 42 a8 8f e8 e8 5e 97 52 9b 5a
4b 9d 40 48 f9 c3 cd 2a fb 41 29 8d 44 06 0f 47
1a bb 85 c4 90 0f fe 1d a6 a3 a4 81 78 84 28 4e
f7 63 2f 06 8b af 90 45 0b 6d b8 79 c3 e0 f6 b1
e3 ca fd ea bd a8 6e 68 d6 1b d8 f2 8a 0a 1d 3a
32 8b f8 4b 52 6e c0 90 f0 00 02 c0 ff 01 12 00
7a a1 06 2f 7e 85 03 16 5b 4f 59 47 7d 72 ba df
6a 2d a5 d9 00 02 c0 01 ff 32 00 d8 62 97 cc 1d
63 a1 93 18 d3 3a 0f e2 11 bc c7 ca 49 3b 6a 62
59 80 a4 7c 98 a5 bf 68 25 f2 4e a2 71 6f 43 d1
65 0e cc 92 b4 69 c3 61 85 6b 38 9a cc bc 6d 00
02 c0 ff fe 12 00 19 6e 9a 08 1f 9a 70 7c 3d dd
f9 fd 33 1c 67 c0 7a 81 15 d1 00 02 c0 fe ff 22
00 08 2a 37 43 2d bc a8 f7 96 9f d1 29 bd 5f f1
5f db 46 8f 24 5b 80 86 be 69 e0 97 54 e0 23 5d
f8 47 39 b6 e2 00 02 c0 ff fe 12 00 19 6e 4b 2d
b9 28 7a 4e 36 3c 44 3c 1b 42 9e f9 be 20 1a 2f
00 02 c0 fe ff 22 00 08 2a 0a 36 07 6b 1e 1b 69
c8 12 e8 38 18 1c 0c de cb 05 bc 8b e1 94 e2 91
bc 1e 02 d2 09 4b a9 7a dc a7 e8 00 02 c0 ff 01
12 00 7a a1 52 2d 31 20 02 aa e5 4d 2c 5d 5a b7
71 1a b5 5e 45 19 00 02 c0 01 ff 22 00 ab 61 4a
2a 17 6c 19 c6 5a b4 a7 d5 a1 17 7d 1a 96 f6 63
e5 a6 5e 98 0b 09 7d 4b 5e 5f 67 43 2d 24 7a 20
05 00 02 c0 ff 01 12 00 7a a1 8b 07 bf a0 db 8f
c9 ff 71 32 eb 84 ac 52 69 c3 45 05 00 02 c0 01
ff 62 00 67 6c c2 55 6a d3 4d 1b 98 72 22 3a 1d
73 73 dd 2b 98 1b 65 c5 95 e7 0c bc a8 d0 b9 87
9a 3d b0 f4 53 18 13 a1 6c 95 9a a5 9e e3 d4 9e
a3 02 0c 81 46 f4 43 26 4b e5 fc 84 11 1b 79 a6
dc fe 5c 03 f1 b2 31 5b fb 93 47 9c 2c 65 62 4b
13 93 47 af b9 02 7d df ba ea 4b b1 aa 69 8f 69
3c ae 1b 05 e4 fe a6 00 02 c0 ff 01 12 00 7a a1
9f e9 11 5f 36 e1 3d fa c0 8c ec c3 68 b1 32 18
c6 71 00 02 c0 01 ff 32 00 d8 62 bd cf c7 e1 66
0d c7 2f 3f 7b be 68 55 ca 96 0d 15 75 7c ce 31
69 f0 c5 dd c1 f1 d4 29 03 17 38 e8 0e bc dc 43
41 47 a8 4b 8f 47 5c b6 d4 be bf 32 5f 00 02 c0
ff fe 12 00 19 6e 97 d8 44 4a 3a e6 cd f7 eb d7
bb 7e ff 22 e1 c8 ac fc 00 02 c0 fe ff 22 00 08
2a 88 a5 23 8e 29 64 42 fd d2 eb 33 38 04 4d a5
5e 69 27 a6 be 1e d6 0d 32 66 20 4c c1 a6 f9 d2
00 17 40 00 02 c0 ff 01 12 00 7a a1 0d 3f 76 e7
d7 38 dc 4d dc 74 f1 c3 c5 1d 99 c2 fd 09 00 02
c0 01 ff 22 00 ab 61 3e af bf 0d ff 5d ac 58 00
1b 17 8a a5 93 6d 3b b2 60 eb 2f 1d df 1c b4 92
b8 47 e3 82 69 0e bf af 29 00 02 c0 ff fe 12 00
19 6e 6b c1 33 cd 4a 9c d2 d7 65 57 30 0b 19 ba
39 82 b3 8a 00 02 c0 fe ff 22 00 08 2a 5c 02 b3
e6 8b 55 8c f3 ae 81 0a 2e a8 d9 d0 17 d8 9b 82
c0 9d 8e f7 a6 c8 ea b5 f1 80 d1 bd 7e 08 b9 00
02 c0 ff 01 12 00 7a a1 cf c1 3c b3 2d 15 3d d4
f6 f5 99 a2 7e 17 16 bd 6c 06 00 02 c0 01 ff 62
00 67 6c 80 01 29 5c 58 88 b3 a2 ad ec 23 20 57
39 7a e6 37 c3 7d d5 d8 78 6f ac c2 56 78 4d ee
da 48 be ab 3a 7c 8d 7f e6 d8 cb cb 67 d9 df 03
a7 6f 8a 72 0f 02 d5 68 21 48 f2 1a 73 ab 78 55
d5 fe 89 1a 9a 76 98 73 e5 5c de 28 8c 8a 62 b2
07 3f 54 1c ad 15 39 d3 9d 85 54 9c 52 30 3f c2
b2 70 96 e5 32 00 02 c0 ff 01 12 00 7a a1 15 9d
3a 08 7b 14 3a 48 a6 ec bd 1a ea 94 ed 35 34 6c
00 02 c0 01 ff 32 00 d8 62 30 b8 b9 56 dc 4c ef
5c df e5 d2 41 02 c0 7d d6 1c c3 31 d0 be 2e 0c
d2 e1 51 b5 61 2f 63 b3 c4 b4 b3 bf c4 30 c2 2f
2e b4 19 29 da 3b 75 c8 3a 6c e8 00 02 c0 ff fe
12 00 19 6e 6f 23 40 dc f0 85 e7 33 d6 86 64 e0
a1 23 76 ce df 52 00 02 c0 fe ff 22 00 08 2a c2
4b 02 d7 ba a9 c2 4b 5a 4e e4 6d 04 56 3c 14 a3
1e b9 90 28 bc 00 3d 3a d6 44 db d4 fe 80 19 31
f5 00 02 c0 ff fe 12 00 19 6e 56 1d 31 7c fd 98
51 da ef 4f 6c 1d 6d 51 73 65 f9 0b 00 02 c0 fe
ff 22 00 08 2a 36 bf 1c 8c 59 6f 33 cc 8c 28 72
cb 84 fe e5 f2 3f 07 c4 8f a9 05 cb a8 97 b6 11
b4 2c 64 d0 7f 28 f1 00 02 c0 ff fe 12 00 19 6e
9c d9 c0 1e b2 36 68 f9 5c 9f 20 2c cf 13 5e cc
87 f3 00 02 c0 fe ff 22 00 08 2a b6 83 e2 56 38
00 2a 6d 43 6f 34 a3 73 93 64 ab 9a f3 ad 75 63
38 2e 74 39 11 e4 c9 84 98 57 6a 15 65 00 02 c0
ff 01 12 00 7a a1 d6 b2 f3 56 b3 b6 cb 34 08 ef
5c 5c da e5 37 97 f3 3d 00 02 c0 01 ff 22 00 ab
61 83 5f 46 c1 e6 6b 81 f1 14 7a 04 91 35 88 d7
00 b0 d7 39 f0 9d 1f b2 57 66 06 9c 8b 9d 13 34
08 fe a9 00 02 c0 ff 01 12 00 7a a1 e9 ba fe 70
bc 32 fd fb b5 6b bc 39 be 61 38 5b f9 ee 00 02
c0 01 ff 62 00 67 6c fe a2 30 a7 1d 0c f3 e7 13
de 75 64 ed 85 58 da 67 2f c2 0a 24 df 40 32 75
fe e5 e5 20 41 28 4b 46 e4 6a 76 f0 60 c0 87 a3
45 46 f4 d3 75 47 74 0a e8 f0 c4 a9 e1 4c bc 11
5b 41 25 eb bd 5c 95 0a 3b 83 f1 78 e9 ef 3f 84
8f af e5 02 1a a9 a9 9e c1 13 f3 0b e8 05 72 37
d0 57 8f dc 49 18 eb 80 7d 00 02 c0 ff fe 12 00
19 6e 82 70 d2 aa d4 7f 4c 57 af 76 ee 95 01 07
84 4d 3b 78 00 02 c0 fe ff 22 00 08 2a 80 41 ab
37 bc b3 8d ca bb 41 95 93 ae f9 fe 19 a5 82 01
8a 4b 90 6d 99 b3 f6 c6 db 0c 01 56 ba a9 99 00
02 c0 ff 01 12 00 7a a1 e3 c9 a8 14 77 6a 4f 07
6e f1 14 d6 ae fd de 59 c1 6c 00 02 c0 01 ff 32
00 d8 62 6e ba ad ea 99 a6 eb ed dd e1 2c 95 29
18 f7 e4 56 00 0a f7 0f 69 62 52 a7 22 43 c5 f6
c9 23 14 d3 7f 64 40 d2 26 0d 80 53 dc 70 12 89
a0 0b 9d e4 b5 00 02 c0 ff fe 12 00 19 6e 29 f3
ea 85 6f f2 56 13 6e 58 1a 89 0c 8d 6a 2f 31 1a
00 02 c0 fe ff 22 00 08 2a bf 37 b0 6c fb d3 ca
9a ef c4 b8 cd 11 44 40 95 86 d2 fc d2 b8 73 e5
d9 db 82 ad c1 58 a6 ca 5f 92 20 00 02 c0 ff fe
12 00 19 6e 22 5e a8 ad 1c f7 c1 03 87 6b 04 c9
28 9d 06 96 25 11 00 02 c0 fe ff 22 00 08 2a 90
db ed 21 5b 65 2c c7 ac c5 e0 85 07 f9 e6 6e ef
c9 f4 49 04 0b 06 70 ff 1b 26 82 23 ef 31 ac 7c
e5 00 02 c0 ff 01 12 00 7a a1 01 b9 7d 05 fe 9f
fa e1 40 7e 1f 38 cf 66 f7 f8 a9 aa 00 02 c0 01
ff 62 00 67 6c 46 7d c8 e6 7c 9a db b5 60 94 24
c7 c0 60 06 cc ed 81 c4 6d cf 1e 13 b2 ed 65 b3
87 78 f2 42 6e 7f f9 17 48 45 cd c9 52 4b 98 d4
77 de 47 df 3d a5 f7 2a 22 9c 92 1a 20 8c 7b bb
c9 f6 a5 d0 29 07 fe 19 79 2e 2d e3 65 2a 8d bc
9c af 5a da e2 bc 05 52 5f a4 0b f3 14 f2 8f 56
3a 12 70 35 d9 31 6d 00 02 c0 ff 01 12 00 7a a1
52 4d aa 97 e3 14 57 9d 1b 04 48 fd be 10 73 25
66 53 00 02 c0 01 ff 32 00 d8 62 d0 65 46 22 83
8f f7 12 79 39 f0 a1 dd 6d 75 56 22 9e f4 73 9b
89 1e ff 81 f8 81 6a 5b e4 04 7b 53 17 c2 a0 70
2e 77 8d 18 03 cb 3e 18 83 3b 7d 1c 7b 00 02 c0
ff fe 12 00 19 6e a6 4c 38 f3 7f 3c 95 c7 6d 2c
1e 51 66 c5 68 e0 51 c5 00 02 c0 fe ff 22 00 08
2a 9d 2a 3e 74 89 19 02 bd 06 5c 2f a9 7b 97 7b
ce 48 6f 9f 6b 81 b0 f3 50 0f 8c 4c 48 0b 18 97
55 32 53 00 02 c0 ff 01 12 00 7a a1 03 b3 af 73
5a dd a5 b1 8c ad 7f 08 61 ca 29 f2 29 74 00 02
c0 01 ff 22 00 ab 61 11 a2 4d 7d c2 c9 2f fe 52
52 3c 9c af 8e 81 ba a1 c3 14 0f 3b 05 29 5a 1e
11 65 97 6b 6f fd 2b 21 10 00 02 c0 ff fe 12 00
19 6e 9f 19 5b 4b 76 a4 23 96 af fc d4 d4 5f 4d
d8 76 3d 01 00 02 c0 fe ff 22 00 08 2a 8d 57 1b
27 75 a6 e8 73 1a 13 af fe b7 b1 ae 6c b5 dc 7d
61 50 71 9c 61 ef 68 41 9e 73 85 96 74 40 ad 00
02 40 ff 00 04 00 4f 1d 04 00 c4 cc 00 02 c0 ff
fe 12 00 19 6e 91 f9 15 f3 28 b9 36 e4 4b 92 06
a5 cf e6 f1 3e 5d 5a 00 02 c0 fe ff 22 00 08 2a
16 ee 05 70 48 8e ec 58 74 7c f9 54 38 3d 80 77
32 64 2d 13 3d 30 a9 0e 5e ca 4a 14 eb ed 4e 9f
49 19 00 02 c0 ff 01 12 00 7a a1 58 40 58 b5 0f
95 a7 39 3b 15 9c ab f3 74 c2 69 cb bd 00 02 c0
01 ff 22 00 ab 61 e7 2c 3e 52 fe 76 67 e8 34 6d
43 c3 4d 3b 58 15 a0 c7 02 2e cc 97 04 13 fe fb
f2 5c 58 dd d0 1c cf fb 00 02 c0 ff 01 12 00 7a
a1 1c 3c b9 45 e3 bd 77 0e ed b2 e4 38 3a 69 04
bc 62 76 00 02 c0 01 ff 62 00 67 6c 1e c3 b9 36
00 bb cd a9 d4 9d 70 b7 e6 c3 63 35 2d 72 ea 5f
bb e1 8f de c7 77 9c e1 0b 95 f9 5f 94 3b 3b 8f
4c a8 c3 ee 3c ac 3b 2a ed cf 72 bd 6f 53 4a be
7c ca 0b 92 fe 20 06 c0 a1 45 da d2 b8 c8 d1 06
49 77 45 41 cb 81 9b 75 26 67 dd 6a 9b b8 c1 a6
fe 49 1a ad 09 35 a8 a2 d7 8a 8a 38 f0 f1 00 02
c0 ff 01 12 00 7a a1 9c 6f 7d dd 1d 34 30 9c 26
a5 9b 21 d4 1e ea 44 44 a0 00 02 c0 01 ff 32 00
d8 62 be de fc 74 07 86 bd 0b c2 da 6b f6 0d 19
00 63 da 57 db db dc d6 cd 25 98 47 4d 8e 16 c4
17 c9 be c1 2b 7f 0b ef 76 c3 98 53 84 d5 98 81
ea 7b 9a 87 00 02 c0 ff fe 12 00 19 6e d2 fc ef
c6 55 2d 0e ec 4e 1b 7d 0a ba 95 eb 24 f1 b9 00
02 c0 fe ff 22 00 08 2a 23 0e ad 40 67 b1 cf b8
8a a6 cb 27 8d 0c ac 92 bd 97 96 c6 6a 3b c7 2f
69 9d c8 09 d3 38 91 09 fb 2e 00 02 c0 ff fe 12
00 19 6e 82 f0 c2 07 2b bd d1 40 1f 07 a3 47 7d
4e f8 a2 91 6c 00 02 c0 fe ff 22 00 08 2a ad 34
70 8f d8 ee 26 38 d3 45 83 50 86 42 2c 99 7c 76
e4 bc 9c 57 c2 c9 c5 58 ef b8 16 a8 e0 1f 29 38
00 02 c0 ff 01 12 00 7a a1 5a fc 5c da 93 6c 12
c8 62 f0 21 da 56 15 32 92 bd 7c 00 02 c0 01 ff
62 00 67 6c 3a 44 38 2c da eb 81 d7 1a ea 2c 43
36 b8 d0 5c 5e 35 2c 25 4c bc 38 38 1e 4f 5b 23
84 b5 7a 85 bb a9 2f 2f 9c c5 eb f0 e9 ca d0 97
ef ea 8e 2e 5c 2b c4 3b 67 ef 0e cd 45 06 ba f8
e2 12 42 40 73 3b 6d d8 12 24 dd 32 22 db 6c 63
d4 de 0a 51 52 37 c5 85 da 49 33 1f 24 b7 3e 22
7e e6 d5 56 e1 2b 00 02 c0 ff fe 12 00 19 6e fe
09 10 60 af 1c 06 49 db 0a 3b 87 70 39 f0 c6 07
9e 00 02 c0 fe ff 22 00 08 2a 9a 89 0b 79 e8 ff
64 8f 9e d4 2a e0 e7 e5 53 0d 82 5e ba 17 77 c1
5e d5 ad ae 84 d0 84 8b 99 54 63 a4 00 02 c0 ff
01 12 00 7a a1 b3 2b c8 cf b3 af c3 7b e3 f4 cc
36 cc fb 24 86 81 45 00 02 c0 01 ff 32 00 d8 62
74 82 24 fa cc 3e d4 36 ed 57 0d 49 af 55 d9 6f
96 a9 a2 af 5a 5f f7 4d 11 fa 15 0f cb 98 80 6a
4c 98 46 a3 02 86 3f 70 39 75 e6 30 d7 72 7b 39
62 4d 00 02 c0 ff fe 12 00 19 6e 57 c8 ed 3f e7
c8 ac 5e 57 0c 94 1c 35 0d 78 ac 28 ed 00 02 c0
fe ff 22 00 08 2a 98 23 61 ac 0d 70 ce 89 d4 c6
66 2b 06 b2 91 43 ee 90 a6 e9 a7 95 0f 99 3e 84
48 8b 0c 44 42 62 12 19 00 02 c0 ff 01 12 00 7a
a1 61 89 92 d8 93 39 d4 e5 bc cf e3 4f 3f ec 77
98 29 71 00 02 c0 01 ff 22 00 ab 61 15 c3 bd 73
4c d9 e7 8f ee 36 c6 78 ef 2c 61 4a 4d 69 44 ea
eb 7d 54 f7 5a 62 7a 2d 8f fa 23 fb 27 a2 00 02
c0 ff fe 12 00 19 6e f9 21 59 19 8b ca bb 5e e7
71 8c c4 77 5e 92 60 8a 52 00 02 c0 fe ff 22 00
08 2a e9 c4 0c d5 54 bd 47 2b a3 eb b4 d5 ef 43
e2 d2 ed ad f4 34 29 b6 c9 40 68 fb 67 6e 6a 21
f5 db 6b b2 00 02 c0 ff 01 12 00 7a a1 43 14 64
f5 0d a6 a8 54 00 75 6a cf 1f 7b ee b7 d1 df 00
02 c0 01 ff 62 00 67 6c 96 5a d6 9f 43 78 c8 a3
a2 10 83 53 a9 66 b1 cc c1 60 62 9d bd 4d 0a dc
b5 01 cc 3a ad a5 4a 7c 50 2c 97 ce c3 36 30 ff
7d 2a ae 08 db 08 e7 c3 90 29 e2 d4 d2 06 86 14
e5 d1 49 81 b4 b4 14 0d a6 25 ea 50 45 df 8b d6
1f b5 83 b2 b3 e4 de 27 af 49 bb 58 1e f1 74 83
9e 33 17 63 59 42 9d 1f 6c a2 00 02 c0 ff 01 12
00 7a a1 fb b7 80 52 1e d6 26 cb e4 ca 70 5e 1e
b1 a5 40 2e 29 00 02 c0 01 ff 32 00 d8 62 77 c8
c6 57 f1 47 fd 9a 8c 2a ec 19 7e e1 6b 46 4d ff
82 3b 9c b0 b0 7b ac 7b cb f1 8f ce eb b2 73 c4
ac ff 9c 2c 76 a6 ca 68 f2 ee d7 ed 97 27 f9 c9
00 02 c0 ff fe 12 00 19 6e 67 2f 16 65 c6 e0 3c
86 21 30 61 ac fa 5c 1b c4 4f 6a 00 02 c0 fe ff
22 00 08 2a 1f b1 95 5d 63 1e a0 54 23 18 f5 53
b7 5f e9 7a 8e 5e d5 9f be f8 82 a2 6d ef a0 14
1c 04 10 1a 2c df 00 02 c0 ff fe 12 00 19 6e 0d
d9 a5 87 d8 58 b5 97 4a ef 7a 58 a2 ae e9 d5 97
3c 00 02 c0 fe ff 22 00 08 2a c0 1a 92 df 88 4d
48 4d 6b 2b dd d4 ea 7b ac e7 a9 c5 26 9b 3f df
ac 93 5c 1a 05 e0 f0 50 24 31 19 1e 00 02 c0 ff
fe 12 00 19 6e c9 2c de a4 7a c0 68 6b 30 08 1d
84 e7 f2 01 bf 9b 65 00 02 c0 fe ff 22 00 08 2a
20 66 15 64 f4 68 c3 ba 39 06 39 ea a4 d4 80 b6
bb 3c fc a7 70 7c f0 a4 07 b4 e9 90 ec 35 4d 7b
77 7a 00 02 c0 ff 01 12 00 7a a1 18 22 1f 60 23
99 1c 14 d4 2b 98 a8 d7 8b c5 6d 27 28 00 02 c0
01 ff 62 00 67 6c 4f 4f 9a 7d 4d 0e 81 61 fc 71
6f 3d d6 5c bf 57 41 36 25 eb 01 6d c6 77 4f de
0f 6f 00 9f 70 5b 94 16 31 fd c8 b2 a7 10 eb d8
64 ca 15 ab f1 84 0b 55 ce 60 fd 6d 4a 11 99 6c
12 96 45 a6 fa 69 b1 bf e7 c6 7a 50 df 66 2e 48
cb 6f 9f 80 40 92 11 5f 04 19 89 d7 f3 25 10 9f
6a 16 fe 4b 9e fb a5 3d 00 02 c0 ff 01 12 00 7a
a1 e3 a0 11 0e ab d2 2a 04 e0 16 d2 72 9d c4 c3
30 a9 e9 00 02 c0 01 ff 32 00 d8 62 93 9f 3d 93
60 28 1a fa 16 0d 3e 47 13 94 37 5c fb 87 25 2e
2a 86 fb 1b d3 5e c7 0b 46 54 59 ce c8 11 22 a5
3a e4 58 9c e3 02 84 6e d3 74 87 27 f6 12 00 02
c0 ff 01 12 00 7a a1 f1 4a 8b c8 4e 3a b9 d3 cc
58 a2 2f 2d 20 07 1a ad d8 00 02 c0 01 ff 22 00
ab 61 cb 62 13 3e a0 1a 2f fc 1e 86 83 7e 7a d5
31 c1 f5 68 cb 03 bc 0c c7 69 11 91 d0 08 21 f2
63 05 b1 71 00 02 c0 ff fe 12 00 19 6e c0 2d af
35 23 bf 89 b5 31 36 a6 b6 7b fd 91 55 19 e0 00
02 c0 fe ff 22 00 08 2a f9 8b 60 f7 e2 e0 4b 3e
de 0b 1a 6b b9 61 0e 64 3b 4f fd b4 5d 81 93 2b
ad 80 e2 19 35 a7 4f 72 fc 89 00 02 c0 ff 01 12
00 7a a1 8f 77 18 5a 62 3f ba ea cb f7 77 fd 20
6f 5d 3f 88 e3 00 02 c0 01 ff 22 00 ab 61 3b 34
a6 7f 69 85 2a 3e 29 41 e4 26 a7 d4 e8 0f 8f 36
d3 61 0c 82 a9 ef 7e 7f 37 03 3a f8 36 a5 04 f2
00 02 c0 ff fe 12 00 19 6e 36 89 d1 70 39 4c 22
89 77 85 3e ca cc 09 19 2a 3a 95 00 02 c0 fe ff
22 00 08 2a 00 d9 76 db 9c f6 ef 75 fc 6c 67 5f
4b 7e 66 6d 52 e1 db 8b c9 96 cb da b4 e0 38 38
e0 62 12 41 a3 12 00 02 c0 ff 01 12 00 7a a1 4b
ca 4b 50 d4 94 34 4d ba 91 4b 94 52 0c 06 90 54
6d 00 02 c0 01 ff 62 00 67 6c ff e4 d5 53 e4 78
11 6d 40 cc f5 a1 08 b0 9f a6 66 aa 00 da 3b 43
74 72 56 1e a3 fc 56 33 45 4f fc c1 77 02 3e 57
b5 c1 5e 0b 6d a7 4c ed ee fe 4e 0b 56 b6 54 1a
0f 74 69 97 47 a9 86 64 08 ab e6 10 da 1c 1e d8
88 34 36 f6 15 70 a2 0c 11 a9 4b 30 f2 11 0e 4e
5e 3c 51 1f 66 92 0f ac 7e b5 35 cd 00 02 c0 ff
01 12 00 7a a1 dd b7 48 04 55 0f a3 82 77 d4 41
07 ba 43 1f a0 1b 1a 00 02 c0 01 ff 32 00 d8 62
43 b3 2d 70 1d d0 98 4d 1e 6a e2 a2 44 33 aa 50
de 85 9e 0f ca f1 07 11 c0 58 e4 82 6b 17 e1 6e
26 5a ca c0 85 d2 99 85 53 9c 90 f0 61 43 be 52
99 76 00 02 c0 ff fe 12 00 19 6e 5e 6a b1 67 dd
34 1e 4a a9 c3 a0 55 1d 3e ad a3 85 3b 00 02 c0
fe ff 22 00 08 2a f5 d5 c1 b6 d0 12 71 76 cb 5c
bb 0b 9b f6 2c 30 09 d0 74 64 d7 d9 7b 9e 8b 8b
b2 1b fc dc ef 5f c1 e4 00 02 c0 ff fe 12 00 19
6e 71 39 a5 4d fd 53 dd 39 94 60 25 17 e4 e7 81
de 36 a8 00 02 c0 fe ff 22 00 08 2a 21 2a a6 37
d3 85 f6 90 7f 93 0f fc 48 63 a1 b4 d7 17 26 24
50 15 60 b1 51 c6 05 b3 56 d0 51 ad 3f 8f 00 02
c0 ff fe 12 00 19 6e da 32 e3 14 b1 72 89 d0 a8
9f 7c fe c9 01 ae c2 a3 0e 00 02 c0 fe ff 22 00
08 2a fd 9c aa de c6 5e 6d 5f 58 8f 55 a0 be 72
43 13 f5 e3 0b aa 59 2c 9b 34 85 43 02 8e 34 74
b5 06 a9 b3 00 02 c0 ff 01 12 00 7a a1 ad cc eb
40 1d df fb 8a ab 17 d7 58 03 1e 98 b4 ef 79 00
02 c0 01 ff 62 00 67 6c 89 b3 e8 5d e4 c0 bb 4a
76 43 da 38 d1 35 0a 7d 15 5a 7a a9 38 a8 dd 48
4f 8c 1e b7 54 a2 51 a5 0d 18 cd 4e 02 c7 15 b3
6e 7b d5 df a8 ee 55 ea 5e 19 1a fa d3 60 13 2c
6b 0c b2 46 bc b0 ac 59 af a2 49 5a 01 00 b6 4f
34 c4 51 59 19 fe fb 3b 2b 70 f9 d3 13 b7 13 48
8e 2c 11 6d 16 89 73 b4 b7 3b 00 02 c0 ff 01 12
00 7a a1 e4 b9 c3 88 99 17 9a 22 29 d2 03 59 07
15 74 3e 9a e5 00 02 c0 01 ff 32 00 d8 62 4a 8b
a5 56 3e a2 50 75 e7 08 2e a4 4f b5 8a c9 5e cb
40 53 88 43 8c 53 ed 14 61 d5 69 c1 75 cf 8b 2d
8e 92 c2 13 2b 11 f4 ea 08 bd 37 80 c9 d2 20 0b
00 02 c0 ff fe 12 00 19 6e 9a 3d 95 2e 6f 12 1c
f4 31 68 c2 df 06 31 91 0a ba b2 00 02 c0 fe ff
22 00 08 2a 3a 7b 0c 52 49 b1 3d a3 8b 7a 5a 83
1b 60 fe ab 06 01 b4 39 7a 9a 62 71 14 4e c7 c8
35 9a af 67 d2 89 00 02 c0 ff 01 12 00 7a a1 04
e6 a7 c8 99 6a 9f 35 f9 44 fe 13 f3 73 23 e8 2b
7e 00 02 c0 01 ff 22 00 ab 61 7b ad fe 14 3d a4
7a be bd 9c 43 ea 05 6c f6 7d 7d 5b d8 c0 56 cd
57 e8 dc 03 9e bf ca 7c c7 61 1a 10 00 02 c0 ff
fe 12 00 19 6e e3 6e 28 c5 3b 23 4f 6e fb f7 9e
dd f4 51 e7 f1 af 30 00 02 c0 fe ff 22 00 08 2a
58 c5 ca c9 9b 7d db a3 7a 42 e1 f3 c1 73 30 e6
2a 91 b3 d1 09 6c 1c a7 78 f2 47 99 81 b8 3c 27
de ee 00 02 c0 ff fe 12 00 19 6e f9 6e d3 4e 30
8d c6 97 8c d4 f5 1e dd f2 c0 6a d3 06 00 02 c0
fe ff 22 00 08 2a b0 42 60 64 c0 c8 87 6e 3a ab
34 1f f7 3f 43 d3 52 5a 7b 5f f6 2e a4 3e b0 21
51 57 96 6d 22 69 55 34 00 02 c0 ff 01 12 00 7a
a1 f3 12 30 21 55 c8 c5 dd 62 3e 87 6f c9 a2 85
89 6e 75 00 02 c0 01 ff 62 00 67 6c 36 99 60 30
e0 88 3c 80 60 46 22 bf 8f ad 0f 87 53 8a 2b f7
b3 b8 b7 a7 9c b6 ba 43 5f 39 a7 70 5a 35 2d 83
b5 dd a1 22 81 94 08 16 46 ea ee af 2c 81 3b c4
3e df 7b 66 ac 80 f6 c5 8e 8e bb ec fc f3 d6 38
05 cb eb 27 9c b3 df 79 e9 1d bf 88 7e 14 6c 5f
66 62 50 27 19 d8 bb 44 17 b2 13 69 f6 a4 00 02
c0 ff 01 12 00 7a a1 d7 e3 5f 66 fc 09 47 08 45
fe 43 90 0c a7 15 93 c3 5d 00 02 c0 01 ff 32 00
d8 62 59 35 0c 12 49 36 3b a5 fa de 52 1e 8a 92
0d 69 33 d6 b0 14 cb cb e4 c2 c6 74 4e c5 0b 1e
97 d6 0e 88 62 d2 09 c0 f1 94 ed 38 a8 71 c2 3e
9b 22 4f 3c 00 02 c0 ff fe 12 00 19 6e 7e 94 d1
13 4a bd 7c 83 ea 80 f1 a8 d1 52 35 98 23 36 00
02 c0 fe ff 22 00 08 2a 1e c1 e0 42 6b cd f9 b7
9f d4 88 15 5d 19 a0 fd 1c cb 12 8f b5 cf 09 20
1c 02 e1 52 b2 ff 70 b4 a2 44 00 02 c0 ff fe 12
00 19 6e c0 81 82 7f 75 52 38 eb 93 c5 ae d0 27
d0 b6 4e 2e af 00 02 c0 fe ff 22 00 08 2a 65 14
56 77 6f 85 64 c0 23 66 31 ea 0e cf 45 32 e2 b5
af 40 1b 09 e4 4c 45 c9 8d b5 74 3e e8 b3 c2 e8
00 02 c0 ff 01 12 00 7a a1 65 f0 87 52 d4 03 3d
b8 44 81 a8 c9 2a 0a 8c cb 98 ef 00 02 c0 01 ff
62 00 67 6c 63 bf 37 1f 0f 71 fc 3f 32 67 c7 49
5b c7 bf c7 eb bf 64 2d 8a 87 48 81 bf 46 04 4f
07 9e 6c 37 ec df f4 0b a3 0c 64 6d a1 e9 ed ba
6e 47 35 4c 9b 8c ca bb 3e 96 be 7d 56 51 2d ea
90 b4 43 42 02 51 4d ed 58 1c 1f 76 c5 fb 6e 76
7f 28 09 5c 2a ba e7 9d 2f b6 4f 6c 03 1b 94 59
3b 28 15 1a 86 8a 00 02 c0 ff 01 12 00 7a a1 2c
95 a2 f6 4c 56 f6 cc b6 23 29 fd 05 65 cb 78 bb
be 00 02 c0 01 ff 32 00 d8 62 de e2 b6 3f 05 92
d5 8c 37 5a 16 d5 05 16 62 1a a8 b3 10 cd 4f 32
80 a7 69 f1 5d 94 36 3d e8 c3 00 41 34 7d f4 2b
af 3f 5c 2a 24 58 14 f3 55 e7 44 9f 00 02 c0 ff
01 12 00 7a a1 05 f2 fa 47 69 d1 bf a8 28 57 fc
1d 80 ef 2f eb 00 85 00 02 c0 01 ff 22 00 ab 61
b5 d6 45 36 f8 6f f8 ca 6b 62 3f 66 69 c2 99 fc
0b a8 52 ba 64 f2 d7 99 a7 99 eb 72 04 e1 d1 51
f7 71 00 02 c0 ff fe 12 00 19 6e c1 0d fa 73 42
8c 7d 38 4b c1 f2 b6 da 51 d8 c1 f8 6a 00 02 c0
fe ff 22 00 08 2a 1f 1f ce aa 11 b5 bd 74 ac ef
98 96 77 9b c6 53 40 8f 6f 8e 2e b1 26 a3 7a 3b
b6 2a a3 08 9e 78 26 bc 00 02 c0 ff 01 12 00 7a
a1 92 0a 20 2f e4 2a d0 a1 b2 07 bd f6 7a 57 4f
d2 b2 50 00 02 c0 01 ff 22 00 ab 61 98 ef f0 8c
34 47 1b 00 cb 07 05 5d 13 3b d4 44 9d c3 36 5d
fb f5 0e cc 9c 01 0c da d4 10 b2 96 89 31 00 02
c0 ff fe 12 00 19 6e ea 6d bd e8 af fb 15 1f 87
ff c3 ee 58 97 6c 5a cb 9f 00 02 c0 fe ff 22 00
08 2a 40 2a 69 d4 25 46 bb 59 0d 34 75 47 a0 91
6c 2e d4 1e 7a 57 e8 95 15 7c 50 5d da 33 94 d8
2a 79 57 22 00 02 c0 ff 01 12 00 7a a1 43 db 54
8d 13 22 f8 62 eb 36 4f e7 c8 76 cf 5f bd 55 00
02 c0 01 ff 62 00 67 6c a3 52 91 a4 be 33 6f 86
88 38 96 01 78 ea 38 fa 19 30 86 33 b4 c0 f3 d2
8a 7a 05 d9 af fb 17 ea 9b a5 07 f1 ba 65 9d 83
49 88 8b 32 da cc e2 af 63 51 7f 00 b1 6a 7b 25
18 ca a3 82 a5 3e a0 2e 7c 9a 3e 05 ec cd e1 e3
ee d8 79 df e4 e0 f1 cb 02 f3 4e d5 8e 8c ed 17
8c 82 e1 f5 c1 e2 af 55 17 58 00 02 c0 ff 01 12
00 7a a1 8c 32 73 da 85 5d 6f d1 32 cf f4 48 06
0b a2 ac a9 30 00 02 c0 01 ff 32 00 d8 62 f4 bd
91 11 ca 66 dc de bf af 65 3b 7a c5 21 99 42 01
9e 8c d4 bd a7 c5 3b 9a e9 41 18 8c 9c ea 62 28
fa 83 93 61 4c 9d 1c 33 d3 3f 47 3a 5f bc 38 19
00 02 c0 ff fe 12 00 19 6e 8f 54 a1 ad 9f 45 5d
cb 22 de ab 90 5e f4 97 13 8d ed 00 02 c0 fe ff
22 00 08 2a 8a eb 1a 5b ee 12 60 fd eb ca be 61
1b 64 a6 57 f5 5f 92 1c eb 39 b0 95 1d 28 b1 c3
6d 95 54 a2 cf 7c 00 02 c0 ff fe 12 00 19 6e 8f
52 81 b6 06 a9 b9 59 75 68 b2 9c 65 63 86 55 c0
1c 00 02 c0 fe ff 22 00 08 2a 10 d9 9b 3d 3e 42
e9 3e 64 20 b1 36 b3 0d dd 83 5f f9 35 f9 7d 08
e0 ee d9 12 16 41 d7 31 b2 5f 11 bc 00 02 c0 ff
fe 12 00 19 6e 4a 42 1e 1c 6f 20 a6 ac 65 b7 ac
48 15 a7 8d c0 d3 71 00 02 c0 fe ff 22 00 08 2a
02 4c 52 d6 af 36 a3 1f 01 c8 3b d4 97 fd dc b9
be 71 64 c5 29 c7 ae 44 b8 ff fb 82 3b 68 59 08
6a 6f 00 02 c0 ff fe 12 00 19 6e 85 4d 84 21 eb
c8 47 c1 63 ba cf c5 73 87 1c 54 5d c3 00 02 c0
fe ff 22 00 08 2a 34 bd e3 99 75 02 3b 55 83 db
6a c3 fc 49 b1 a7 8a 80 bb 15 c2 4c 65 0d 53 b2
33 47 bc 7e 2c 21 49 f2 00 02 c0 ff 01 12 00 7a
a1 bf 81 13 e2 71 79 5a 5d 28 61 60 c0 1e d1 51
d9 32 05 00 02 c0 01 ff 62 00 67 6c 46 b1 40 0f
5c 7a db 02 7e 2e 1d c5 39 37 f3 ab 2c ee ae fa
69 d4 18 09 84 b4 95 f2 f0 ad 29 23 70 ba a6 49
d6 9b c0 fe 3f 9b 83 83 75 9b 28 73 6f e8 1f 9a
67 3c f2 37 33 83 cc ad 61 fb 76 4d de fa 16 33
68 15 85 e0 99 f9 ae d5 d4 25 c6 de 6a 0e b4 b5
ef 1d d6 56 40 e9 91 1f 1b e9 02 a1 ea 8a 00 02
c0 ff 01 12 00 7a a1 32 69 9a 88 af a2 ed 68 39
4f fe 8e d1 98 74 43 e8 8c 00 02 c0 01 ff 22 00
ab 61 24 21 12 1d d1 c6 6c ad 05
A partial answer, since nobody had other insights to offer:
Your serial settings are correct, and your master telegrams are ended by a non-standard 16 byte CRC checksum. I found this with a modified CRC puzzle solver I wrote for other CRC Stackoverflow posts. The Docklight CRC specs are CRC:16,1021,0000,0000,No,No and your checksum is in Little Endian format (low significant byte first) at the end of the telegram.
Here is the Docklight output including a test where I correctly re-created the first three master telegram checksums
Trying CRC spec : CRC:16,1021,0000,0000,No,No (LittleEndian)
Found it!
Relevant sequence for checksum from startpos=1 to endpos=7
00 02 C0 FE FF 22 00
CRC spec: CRC:16,1021,0000,0000,No,No (LittleEndian)
CRC result: 2A 08 (Integer = 10760)
Use the Send button to send some predefined sequences...
30.08.2017 14:00:08.494 [TX] - 00 02 C0 FE FF 22 00 08 2A
30.08.2017 14:00:09.028 [TX] - 00 02 C0 FF FE 12 00 19 6E
30.08.2017 14:00:09.411 [TX] - 00 02 C0 FF 01 12 00 7A A1
I will improve this answer later. Knowing now that every message has this CRC checksum at the end, Docklight should be able to split the full transfer into its individual protoocol frames.
I got some ADTS AAC raw data from somewhere(actually it is extracted from a demuxed file) and in theory it should be corrected encoded. it looks like this:
Frame1:
21 19 94 ED A1 09 45 58 09
40 02 CA AA 85 D4 E5 C5 58 A9 73 00 0C 75 1C 5D
A7 4E 52 40 90 38 71 9C 65 D5 C4 22 0B 28 7D EF
F8 42 33 15 03 BA 6C DE B1 74 B4 A1 4E 0A 21 05
15 34 6B FD D9 E7 8F BF FF 79 5C D3 7D 90 79 F6
65 57 08 3A F7 C5 14 85 5E D7 C3 7D 2A 85 E1 7A
86 BA 3A AC 13 0D AE D1 1B 65 69 B6 71 92 E5 8A
BC CB 5C 7A 6F D7 F2 2B 38 C9 0E 2A 40 2F 8E 90
9B 1F A2 3A 9C 39 A8 35 CE 69 14 CD 64 54 70 00
50 07 CE 37 83 6E F0 01 18 AA A8 49 B2 8B 8F A1
37 17 1C 06 00 00 00 06 00 72
Frames2:
21 19 95 14 C2 0A A9 61 19 8B CB 9B 56 AE A7
0A A0 34 DA EA D9 34 28 0C F8 DC 0C 30 97 12 A7
DD 3F F5 FE 7B 65 52 61 6D 7F DA BE D3 EB 30 CA
A6 94 54 8E D4 0A 32 E1 EA FD AD 02 82 B5 1E 40
4C 04 3A BE 56 21 5D 7D 5D B3 31 2A 5D AF 4E FF
A6 48 B9 42 E3 87 DE 5C 59 4B B9 BB C3 2C AD 50
6B 35 C8 24 6C 06 82 86 B2 26 17 E2 C6 DD 9A 43
53 91 D3 68 8D 67 8E 7D 0A 28 EB 7D F1 BB FC 56
5E 13 25 F9 77 E6 27 BF DA 4E 09 38 86 20 0A 00
F9 C6 F0 1D DE 00 21 05 4F 28 C0 A0 5F 0E 18 00
03 00 0E
.....
And for each following frames there is a quite strange similiar header as:
21 19 xx xx
For examples:
21 19 94 E1 ..
21 19 95 03 ..
....
So do you know what does this header mean?
This is how ADTS AAC looks like, for example for stereo:
adts_header()
channel_pair_element()
adts_header()
channel_pair_element()
adts_header()
channel_pair_element()
adts_header()
channel_pair_element()
etc...
This seems like it's not ADTS header at all. ADTS header is typicaly not used in some other container, like mp4, but is used for standalone AAC files only. ADTS header starts with 12 bit syncword 1111 1111 1111. So all ones, and this is not the case in your example.
In case muxer stripped out any header there was, you might have raw AAC which should start with single_channel_element() in case of mono or channel_pair_element() in case of stereo.
single_channel_element() starts with 3 bits 000
cannel_pair_element() starts with 3 bits 001
Your sample starts with 0010 0001 0001 1001 so it might be channel_pair_element().
You probably have stereo but without any header, like so:
channel_pair_element()
channel_pair_element()
channel_pair_element()
channel_pair_element()
etc.
You should ask the muxer to tell you the number of channels, sampling rate, etc, and you are ready to continue decoding. Muxer should grab this info from mp4 or whichever container your AAC was originaly in.
It most likely a mpeg4 latm format. if you run mediainfo tool to check, it will output as below:
$mediainfo a.aac
General
Complete name : a.aac
Format : LATM
File size : 821 KiB
Overall bit rate mode : Variable
Audio
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : HE-AACv2 / HE-AAC / LC
Bit rate mode : Variable
Channel(s) : 2 channels / 1 channel / 1 channel
Channel positions : Front: L R / Front: C / Front: C
Sampling rate : 48.0 KHz / 48.0 KHz / 24.0 KHz
Compression mode : Lossy
Such format usually generated after ADTS header removed or from DTV channel. DTV data transfer use LATM format to save bandwidth, so no ADTS header there but use some codec config buffer to initialize decoder.