A completely dissected GZIP file
My very first post on this blog, 5 years ago, was a walk-through of the source code for a sample gunzip implementation. I've gotten quite a bit of feedback on it, mostly positive; it's still the most detailed post I've been able to put up here. Part of that write-up included bits and pieces of a gunzip session of an attached gzipped file, bit-for-bit. Recently, a very attentive commenter named Djibi pointed out that the attachment didn't quite match the examples in the post. My memory from that far back is hazy, but the only way I can imagine that happening is if I wrote the post based on one version of the attachment and then made a modification to the attachment without subsequently reviewing the text to ensure that it matched. Although I've gone through and updated the text to match the attachment per Djibi's very detailed analysis, I must admit that, after 5 years, I myself found the post hard to read through, as I was jumping around from one section to another. It occurred to me that a good companion piece would be a complete walk through of the gunzip process for the sample attachment. After all, this is the web and I don't have to worry about page count here! You may want to familiarize yourself with the original post before going through this one, as I assume below that you have a good understanding of Huffman codes and the LZ77 algorithm.
If you download the Attachment in
question, you'll see that it's a 4704 byte file containing the gzipped representation of the source
code presented in the original post, gunzip.c
. Of course, if you try to open up a
gzipped file the normal way, by double-clicking on it or whatever your desktop equivalent is,
your OS is likely to decompress it on your behalf — but for the purposes of
following along with this post, you don't want that: you want the "before" representation, as
I'll be walking through the process of going from the before to the after. If you're using a
Unix-type OS, you probably have the od
(objectdump) utility installed that
can be used to see a byte-level representation of any file. If you run that utility (or any
similar hexadecimal viewer or editor), you'll see that the unambiguous, canonical representation
of the file, shown in figure 1, below.
$ od -t x1 ./gunzip.c.gz
0000000 1f 8b 08 08 a2 42 b8 4d 00 03 67 75 6e 7a 69 70
0000020 2e 63 00 bd 1b fd 6f da c8 f2 77 fe 8a 6d 4e 4d
0000040 49 02 14 43 20 a4 84 9c 7a 6d aa ab 74 6d 9f fa
0000060 21 9d 5e 5f 85 8c bd 04 a7 c6 46 b6 49 9a bb cb
0000100 ff fe 66 66 3f bc bb 36 90 e4 4e 97 7e 04 d6 33
0000120 b3 b3 b3 f3 bd eb 9f a2 24 88 d7 21 67 67 79 11
0000140 46 69 67 71 de f8 c9 1c 8a a3 99 3b 96 45 c9 a5
0000160 3d c6 b3 2c 71 50 fd 3c e7 59 81 63 8d e7 cf d9
0000200 82 fb 21 cf 58 ce 57 7e e6 17 3c 64 f3 2c 5d b2
0000220 a5 1f 25 0c e8 ad 83 82 cd d3 8c 15 0b ce f6 f2
0000240 e8 0f 9e ce f7 d8 8c c7 e9 4d a3 b8 5d f1 90 cf
0000260 25 54 e3 cf 06 63 eb 24 8f 2e 13 a0 11 2c fc 8c
0000300 45 e1 57 d6 63 df c6 95 07 41 ba 5c 65 3c cf a3
0000320 34 99 2e 79 b1 48 c3 2a cc 3c f6 2f f3 ea f0 b2
0000340 88 96 fc 2b 3b ae 23 cb 7f 14 99 3f dd 80 98 c2
0000360 d8 5d e3 f2 8f 68 35 15 2b 1e 37 ea 56 60 00 30
0000400 05 67 90 ca 17 69 56 b0 1f 31 4f aa 33 1c d2 fc
0000420 35 e3 f3 c4 5f f2 ba 71 90 c3 92 27 45 cd 0c 41
0000440 16 78 c3 31 83 ed 29 16 51 ce 56 59 5a f0 a0 c8
0000460 69 1b 04 5b 26 4e 9c 26 97 88 d2 ef 8d 59 3d 4e
0000500 98 06 6b 9c aa 82 15 e1 9e 6a c9 cc a3 18 be 34
0000520 7e 02 a1 44 09 67 6f 3e 5f fc fe 99 e1 4f f7 47
0000540 d7 2b 87 7f 7d f5 f1 95 1a ee 95 c3 00 fc f1 a5
0000560 1c 3e 2e 87 df bf 7c 77 a1 a0 47 e5 f0 ab 0f ef
0000600 de 5d bc ff 8c c3 5e b7 76 2f 34 a7 51 52 30 57
0000620 e4 38 16 a4 21 f2 ce 1a 45 c6 f9 34 a1 6f 0e 21
0000640 b6 58 cf e7 4b 3f a1 a7 53 41 57 a3 a2 ac da 1e
0000660 e9 77 92 26 ed 98 fb 73 86 70 39 00 d5 a2 b3 c3
0000700 3f 78 96 8e 37 3f 4e 13 12 a6 39 5c af 67 c8 03
0000720 4f 48 ef f1 e3 2c 2a a6 b0 c2 cb 62 61 a2 67 7e
0000740 72 89 f8 79 e1 17 51 c0 ae d3 28 64 b3 75 14 87
0000760 53 05 81 0b 6f 5a 5c b0 c3 2c 4d 8b 56 83 ed f8
0001000 c1 59 89 3e ce bb 1b dc 62 09 e6 a0 5f 07 7a 29
0001020 87 b3 78 1a a4 6b a1 cb 34 90 80 35 4c c5 06 31
0001040 a6 f7 87 1d e2 47 58 92 5e 76 3e 36 76 84 4d 58
0001060 57 7d 4f d4 07 3f 28 a2 6b ae 84 21 c6 96 fe 8f
0001100 a9 29 b3 06 e9 7d 5e f0 15 f3 58 9b cd a3 cb 75
0001120 c6 59 ba 86 1d 4a 6f 84 a6 2b 0e 5b 4c b3 d6 22
0001140 c6 18 2f 82 8e 24 b0 48 d7 31 c8 98 b3 99 9f 83
0001160 92 a5 09 59 0f 4d 4d 16 75 1d 85 9c 36 cd 66 40
0001200 f1 8d 9a d4 64 09 7d 85 5f 67 a5 84 e1 eb d1 11
0001220 08 8c b1 3f 49 d6 d1 1c 00 e9 e9 57 00 fc d6 31
0001240 68 9d bb c4 0f 08 e3 4f b9 47 95 99 6b a9 8c 09
0001260 fa ae 21 fe a9 b5 03 f4 d2 8f e3 34 68 32 e1 cb
0001300 9b 24 cd 03 76 08 dc 38 84 8f 40 92 07 ec 00 09
0001320 69 81 3d 12 9f a4 5c 45 2d b5 42 10 90 0b d1 32
0001340 83 8d f4 60 51 60 26 25 31 14 3d 5f e6 bc 68 1a
0001360 1b fa ec 7f dd 67 ad 07 70 f4 a0 9d 52 d3 7c dd
0001400 b0 5d df d8 d1 84 c9 bd 31 20 90 eb 36 4c 81 93
0001420 9c b3 2e 4c fc 73 f9 b8 5c d8 0b 74 40 24 a4 3b
0001440 53 89 7b 2d 16 46 19 b8 ef f8 56 c4 e3 8f 6f 5e
0001460 19 4b 37 34 f8 a1 6b 57 4b 47 d3 83 d5 7b 63 f1
0001500 e9 6c e2 da 14 8d 5b 92 90 1a d0 14 1f 8e 0c c9
0001520 10 09 5a 14 4c 72 76 06 54 4b 25 77 a0 be 39 ea
0001540 ac 97 a2 9f 4f 98 72 1b 4a 81 0d c1 f4 b7 0b 06
0001560 55 ca 95 89 ad 66 44 f6 7e ba c6 2c d7 b3 c9 c6
0001600 27 5b 68 d5 5a 3d ea 83 44 b1 e8 8b d9 6d e9 98
0001620 00 47 47 4a 26 15 0f e2 d0 d9 e8 3b 50 14 42 3d
0001640 91 cd c9 4e f4 71 43 22 d2 64 36 f6 93 09 6a b5
0001660 7c ae 26 30 a7 90 ea 62 6c b0 4d e0 db 58 23 6d
0001700 86 51 8b 16 aa 60 2b c4 87 ef e0 cb c1 bd bf 65
0001720 0b ff 9a 93 a7 46 1a 79 a7 d3 81 0f c9 35 24 b9
0001740 38 b8 44 ab 48 99 0f a4 01 2c cb fd 59 cc 99 a0
0001760 20 a3 1a 4d 0a 23 18 39 db e7 92 ef b6 f7 77 77
0002000 db 0e cb 89 56 ea 44 4c 80 b3 19 76 62 2f dc de
0002020 37 cb 64 2d 40 61 a6 e2 ff 76 bb 66 3f 1c da b4
0002040 b8 7d 18 f2 d0 4e 9b a5 e5 1e e0 1f 8d 55 e2 4b
0002060 0a 4f 90 e9 f6 39 e4 37 06 94 0d 27 16 26 60 d0
0002100 4b 6c 48 91 60 1e 27 db 70 e3 82 25 37 69 89 06
0002120 b4 f2 81 6a 32 d7 de b7 a3 6b 34 67 a3 d5 cf 5d
0002140 c3 86 a5 a5 d8 3b 09 44 35 95 12 b5 44 e4 71 ce
0002160 77 4a 12 13 c9 9d a2 24 a0 7f 4d 96 38 db 63 84
0002200 89 78 ff 80 34 55 6a 6d 63 aa df a2 68 55 ac 8a
0002220 c9 26 3a 78 96 cc 28 af e3 c4 8f 39 25 ca 3a 0f
0002240 12 81 90 c6 ca e4 c6 18 a4 8c e5 00 73 f1 c6 f3
0002260 43 0c 1a 87 ec 17 4c bc c1 8b fc 6a f8 0c 5d 1a
0002300 cf 53 10 fb 0d 14 df ec da 8f d7 3c 7f 81 18 50
0002320 da a0 69 1d f7 5f b0 6e d7 f3 ba f0 c3 70 00 3e
0002340 e3 0f 31 dd 1c 1d 20 a8 77 7c 0c 4f 7a 83 c1 0b
0002360 86 80 02 16 40 d5 0f 81 9e 12 68 6f 30 44 d0 93
0002400 53 a4 da 15 44 61 00 91 14 51 d6 3c 11 a0 23 24
0002420 d2 1b 9d 08 aa 9a 01 fc ec 30 f0 32 08 d2 2c c4
0002440 05 80 ab c4 15 41 5c 65 de e9 c0 63 d9 3a 86 dc
0002460 17 bb 01 10 75 a1 62 67 fd 4e af d3 43 9c cf 58
0002500 66 c2 df 35 a6 ca 80 d6 0c f9 81 2a ed 59 8e 9a
0002520 08 68 ab 75 91 43 76 7d f8 bc a6 8a 99 47 3f f8
0002540 ee 5a 46 96 19 76 05 22 bd 30 f5 01 1a 3a f1 ea
0002560 ca 20 3a 41 a9 8f ed 71 2b 67 1e 19 0f 3d 8d 04
0002600 f2 77 c6 2d a4 53 e3 61 af 44 3a 71 c7 2d a4 13
0002620 e3 61 bf 44 1a b9 e3 2e 7b 77 b5 65 e3 9b b7 bf
0002640 5d b0 c3 3c 5d 67 41 4d 47 61 b6 9e d7 74 4c fc
0002660 fc 3b 55 ba c1 3a cb b8 28 ba d8 2a cd 23 da cc
0002700 9b a8 58 c0 de 22 26 1b e1 66 be fb f4 0b cc 8d
0002720 dc c0 b4 dc 5f 8e c9 02 70 bb 3f 72 1f f5 1f d1
0002740 29 f3 42 2d 11 30 62 7f ad d2 9c ac 0a 40 29 c2
0002760 48 52 c0 b8 f8 7d 50 2d ef 91 2a 25 58 58 ad d0
0003000 e7 a6 24 de 3e 07 e6 20 64 a9 6f b8 1e ca a6 3d
0003020 48 9e 29 23 83 b5 61 f7 82 e5 2b 1e 44 f3 88 8b
0003040 96 07 45 36 b9 3c e0 fa b6 e0 6c 6f e6 07 df 6f
0003060 fc 2c cc f7 64 c1 07 69 c2 7c 9d 63 d3 4c d4 f4
0003100 e5 0c 67 67 98 1c 53 a1 4a 5e db 9e 5e c7 78 6b
0003120 78 42 7d 12 23 a6 83 33 f1 c3 26 db 37 56 d2 62
0003140 1e fd 55 43 62 2f 31 6d c6 20 6c 45 fd 15 cf b2
0003160 34 6b b2 bd 0b fc cd 90 16 1a a8 32 31 92 1c 98
0003200 d7 5e e9 02 61 45 9f 3f bc fe 00 d2 e7 b8 55 54
0003220 f7 5e ad 97 2b b4 4e fe 03 c4 ba e0 58 16 67 2c
0003240 4f b1 ef 06 d4 6c 2f 99 f1 62 9d 25 28 3a cb f5
0003260 d1 ce ef 91 e7 dc 13 72 75 14 a0 c5 7c 50 6b 89
0003300 0d c3 51 26 fc a0 50 0c 6a 35 00 09 d4 87 bc 4e
0003320 21 5a b2 01 40 9e 59 f7 14 10 7a 4a 64 b4 66 dc
0003340 2c 22 c8 dd 9a 02 54 a6 3b b2 4a 33 81 9b e6 d7
0003360 33 12 2c fb cb 50 49 a5 86 e3 ea ba 25 16 2d df
0003400 e2 7b 1a 25 d7 8f e7 5d 8c 46 e6 17 12 b2 ce 30
0003420 c5 23 f8 75 26 68 c1 47 bb 0a 25 9b a8 5f 82 b5
0003440 fa bf e4 f2 71 dd d1 ce 25 ba c1 6d 61 05 37 dc
0003460 64 52 31 88 be da ba 42 37 16 9c 54 bc 3b 09 2d
0003500 bc 4d fc 65 14 38 ee bd 4e 80 4e 0a b3 f1 c7 0e
0003520 0d 71 54 f0 cc 8f f3 e9 fd fa 5d b5 34 c2 08 d8
0003540 4e 02 2e 88 18 fb b7 88 23 dd ca 5a 20 94 fe 12
0003560 c8 46 24 ed 67 8b 5d 99 ed 2b e9 c0 73 88 1d a7
0003600 a2 bc b1 83 96 01 23 46 0c 48 6a 9a f9 f1 6a e1
0003620 cf 78 51 45 d5 8f 24 a2 09 41 6b 31 e7 9f aa d2
0003640 c2 5e ad 05 22 5b 93 e8 c1 68 e3 9c 35 4c d3 f9
0003660 1c 52 c3 fc 2b d6 e3 42 05 bd 21 38 ae 13 f8 37
0003700 6a b1 6e 8b c1 ff f0 e5 b4 c5 70 18 be 0f e0 17
0003720 f8 b5 63 f8 d5 6b 61 9d ee c1 3f f8 e4 1d 0b 97
0003740 37 60 77 34 1f 8a 16 ab 1f db b0 94 2e 0c 84 ca
0003760 92 cc 77 43 05 b2 8c ad 87 3a 76 1a 46 e6 fa dd
0004000 3c d7 7c 66 37 4a 0c cb 6c ca 19 8f 88 b4 63 a1
0004020 b6 02 d4 89 12 68 7c a3 fe c6 06 7e fb 76 23 e8
0004040 b3 70 a6 69 ce 65 01 4b 26 47 d5 ab 6c 48 aa ec
0004060 d3 b2 da 2c 5d 17 51 82 05 c8 95 e0 1c 69 5d b1
0004100 19 87 b8 21 43 a3 cc 33 d2 79 d9 dd 64 7e 96 f9
0004120 b7 75 8b f6 4e dd 95 52 68 43 18 d1 d7 da df 67
0004140 4d 67 f5 b8 d0 27 93 ca a0 ea 10 d9 61 ee aa 6c
0004160 6c 38 72 d4 46 72 a5 13 a7 68 bc 15 c8 ca a2 2a
0004200 3c 69 e9 2a 8d d8 af 58 cd 7d ea 9f ba 16 7c 1d
0004220 a5 2b 6c 25 b5 6a 78 95 7a 09 fb 82 9a 20 b6 44
0004240 78 b3 e7 92 79 ed 08 c4 59 0e fc e5 09 d2 09 19
0004260 65 2b e6 ae 0b 42 a5 c3 c6 47 90 1f 5c 47 e9 3a
0004300 a7 9e 19 3a 17 15 78 14 5d 0a 92 e4 72 60 51 aa
0004320 66 6c 0a db 3c 92 d6 77 04 f9 f0 88 7a 66 76 77
0004340 f1 c0 24 a4 56 64 d6 75 d2 63 3d 84 b2 8d 2a e7
0004360 a8 f8 2b 98 a5 2a e7 b1 91 17 48 23 ad 9b cb 6d
0004400 c2 55 22 a9 a3 95 75 93 57 c6 8c 16 80 50 5e 5d
0004420 fa 3f 90 4c 59 fb 9a dd bd 1a 40 2a 54 9f 88 c2
0004440 d7 9a 68 2b c2 39 ba df 9a de 10 25 38 2b ee 57
0004460 fa 7d 10 16 20 75 0e 16 5b 68 d6 37 8b 02 1f dc
0004500 95 37 7c 61 c5 63 6b 8e cd fe af 07 9b 70 c4 fa
0004520 76 8b 61 06 cf be 8f 2b 33 9c 3c 6a 86 fe 03 66
0004540 18 3d 6a 86 13 9a c1 f3 b6 4e 71 57 8a 59 69 ae
0004560 45 de 68 e4 d5 34 90 36 6d c8 04 0a 96 e1 96 96
0004600 92 32 59 e1 9e 27 d6 77 f2 cc 9b 1a 37 56 3f 6b
0004620 17 d5 ee 26 2a 51 d9 ca ad 76 77 8c 29 4a f2 2e
0004640 e9 0d 0b 2f a9 46 66 b7 78 8b 01 d6 3b 11 bb b9
0004660 9c a4 37 10 05 56 e8 4a d0 a3 6a c7 09 c9 6f 71
0004700 93 b2 95 9f 41 19 84 55 0f a5 d5 dc 07 5b 91 6d
0004720 e6 8a 5f 76 da d5 16 39 95 72 50 07 7b c6 21 b9
0004740 40 c5 ea 30 11 fd a7 14 fe a7 02 5f 92 87 e4 1d
0004760 53 6c 72 94 21 0f 62 bc b5 81 a9 38 f2 42 91 49
0005000 34 a4 a2 c4 8f 6d 56 48 49 44 4e 5f 74 74 7a 50
0005020 13 f2 27 a5 0f ed 0d 4e aa 99 4e 5d fc b7 f7 ea
0005040 49 8d 76 ed 8a fb 4e 44 a9 09 fa b5 10 56 c4 b7
0005060 b8 d0 d1 be 2e 5e db d5 03 bb 6a 55 22 9a 88 d1
0005100 51 bb 3d ae ca aa 14 93 8c 31 5a 5c a3 ad e2 6a
0005120 92 40 25 f8 c1 bf 23 3b 3a 85 34 a7 fd e7 85 69
0005140 97 51 5b a4 29 9a ab 5a f9 8d 86 6b 0d fc 5d 79
0005160 11 e5 dd cb df a7 af df 7e fa fc f2 fd ab 0b c6
0005200 fa bd 93 e1 48 df 8a a0 42 2c 99 c7 7e c1 35 5b
0005220 74 0c f4 e8 62 f3 6f d6 99 f7 28 31 eb 4f 86 70
0005240 25 79 91 ae d4 51 7b b7 b6 c3 f7 d5 96 46 cd 3d
0005260 a8 c3 55 91 01 3a 75 03 25 59 71 35 4a 26 a1 7e
0005300 18 82 6e 88 ca 4e c8 03 0b 37 2c d7 bc 81 2c f1
0005320 a0 ac eb 61 f9 76 22 16 dc 87 e7 7d 78 76 0c 63
0005340 03 f8 3c c0 b2 0f e0 46 7d f1 fc f4 14 8b 3f 44
0005360 46 48 6f 88 a4 4e e1 6b af 77 82 13 dc 8d 2d 36
0005400 50 24 16 13 44 e3 98 2a c9 91 28 1f b1 d6 ec c1
0005420 48 1f 3e 1f 8f c4 24 43 f8 7e 8a c5 66 0f 81 4e
0005440 e1 49 6f 00 5f fb a3 63 f1 7c 80 88 a0 19 58 8e
0005460 22 ae 37 e8 23 95 ae c2 ef 77 4f 90 5a 17 69 0c
0005500 bd 63 80 18 21 15 21 80 5e 6f 34 22 ce 81 1a cc
0005520 3c 38 19 4a c6 1b fa e0 c2 52 04 ab 1d f5 a4 dc
0005540 35 c7 ec e7 94 dd 56 7a 7d ce e9 de 2a 03 e1 10
0005560 5c c8 b3 ac c5 f6 fe 93 f1 a5 5f e0 15 16 34 62
0005600 a8 d3 f0 62 56 e7 7f 89 d1 ea 93 fd 1c af 9a 35
0005620 ee 4c 6d e5 7a ee 97 c0 5a c0 f5 69 ea 8e cc 14
0005640 42 cf 9b 74 9d 50 43 12 6f 58 45 e2 52 0d 5d 04
0005660 c2 08 86 78 3e cb 6f 97 b3 34 96 28 35 87 3d 67
0005700 ac 37 1a a2 73 35 ee e9 24 fc 1a af e9 f9 ab 15
0005720 c4 cd e6 cf 07 e5 84 fa 2a d7 18 2f 01 61 07 2b
0005740 2a cc 44 d9 26 3c 18 d6 24 c7 87 4d 30 a3 a3 a3
0005760 03 bd 78 33 d7 b8 db 40 6c 32 d9 40 cd b4 6b 23
0006000 39 b4 12 c3 4d 44 cf 37 d0 94 d7 e2 f4 6d 1f 35
0006020 a6 fa 55 e5 88 b0 3b 75 db 4a 4b 49 1d e0 f8 0c
0006040 1b e3 ed 55 0a b0 20 50 4a 33 f4 09 81 dc 2e a1
0006060 4b 26 f6 5b 04 86 4a b3 30 7b 0a d4 60 76 bb 85
0006100 d8 25 1c 94 0c 55 37 60 38 d8 90 f0 ea 60 64 c0
0006120 e3 39 d9 f1 c3 cf 5d 1d 5d 1a 6c c9 94 4b 71 6d
0006140 4e f4 9b 0e 4b 43 6c 32 3f d7 3d a7 9a 25 18 54
0006160 8f 6a 1d b2 4b 71 f0 c8 94 5c cf 08 e9 48 3d 01
0006200 a3 00 21 35 d0 db 17 e5 f2 28 13 36 6e 76 2b ae
0006220 8e ca 00 d6 71 51 d4 03 44 12 bd 09 d8 ea 01 75
0006240 98 c5 79 c0 d2 bf 85 94 d6 44 33 69 93 04 c4 69
0006260 c2 3d f4 c5 09 a3 60 67 ef bf fc f6 db 06 ad 81
0006300 99 7e f5 b3 50 30 a5 31 0d 00 b7 bb 58 e9 2c ba
0006320 02 db a8 5a 30 d5 6b d1 e8 ae 9d 48 7a 4f 9b 7b
0006340 73 4f 54 08 a9 1e 6b 6f dc de ed 4e be 1e 67 93
0006360 d3 af ae b4 b2 da 9d c4 ec 73 7b 97 da 5d 55 ec
0006400 75 a5 9b a1 91 7a bf c1 f1 f5 37 15 c2 56 32 b1
0006420 cd 4a e9 79 9b 7a 0b cf f1 7f cb 3a 61 f7 2e 96
0006440 33 2e 5b 70 e9 25 a5 93 22 3a 51 9f d5 17 be 4d
0006460 06 61 5b 2d f5 72 0c 3e 8e 6a 32 1c c5 c1 b1 69
0006500 cd 8e 01 e2 99 1d a4 6e 58 d2 e1 61 a7 ac f4 82
0006520 28 0b d6 50 df 89 de 2c cb f1 60 de 37 22 99 a8
0006540 ea fc 04 22 60 12 c6 9c 92 84 1c 19 c5 ae 1a 0a
0006560 0f f3 64 3a f9 cc 6b 85 e8 64 8d 18 03 44 e6 88
0006600 ff b7 15 df 9e 25 31 a5 af 35 8d 0a 57 4d 80 b9
0006620 f7 69 c1 05 d3 48 72 9f a9 29 90 e9 14 62 77 ec
0006640 af 2c 14 23 e6 1e 36 25 30 7c dd e4 c4 ec df f5
0006660 69 9a 82 20 89 cb cc 18 5b bc f8 44 e5 5d 7b 4f
0006700 73 c8 ad 5a 24 7b a1 20 32 bb ea 5a 87 64 af b9
0006720 be dd e0 27 f2 60 4c 5a 1f 3e 88 23 1f b4 12 76
0006740 4e 5f 9d 80 ea 25 a6 e2 dc ba 00 61 14 2c 4d 79
0006760 a0 5f 1e e9 4e 05 59 51 26 80 04 f1 24 6f c4 72
0007000 6a 3c 84 51 00 38 b9 10 a8 ea 0b 93 e6 fa b0 53
0007020 b3 38 0d be 6b a4 9c 9d 80 bc 87 1a cb 7c e7 82
0007040 e1 c5 82 6a 69 81 f8 53 a8 6f 21 f3 a4 2e 77 59
0007060 3c a9 9b 00 32 e5 80 d9 a6 04 5d 39 62 aa c8 de
0007100 7a ea 7a c1 86 3a 3e ef c8 c4 78 c2 5c 41 c8 02
0007120 d1 38 44 ef 18 67 e8 55 b1 8d 4b 9a d6 89 3c 0c
0007140 87 a9 4e cd cb 15 58 67 aa fb ce a1 aa 21 90 aa
0007160 87 d9 37 ba 96 d2 42 74 cb d4 c2 74 da ca d8 5b
0007200 04 9e ba 65 77 51 6b e1 97 c4 38 da 27 1a 76 ca
0007220 5f 57 29 ac 2b 38 b4 bb 60 0c a0 9b eb d5 2a cd
0007240 0a 1e ba 64 ec da 81 d6 6a e6 a1 d2 70 5b 4c 5f
0007260 97 30 ce fb 21 4e e3 e9 08 c6 7d 7d cb c2 cf b0
0007300 77 85 e7 12 28 a4 92 4a 16 5d 2e 8a 76 91 b6 63
0007320 3e 2f 3a 8e 04 bc 52 02 fa 38 c6 e9 ca dc f7 2a
0007340 da e6 db 44 36 45 13 67 43 cb 40 6f ab cb 8b 48
0007360 37 36 48 4c ad a9 f7 cf ad 49 e3 bb cd 95 fb 12
0007400 d8 72 08 bf 71 91 fb 6e b7 e2 f1 f2 da 42 ca 12
0007420 1d f8 48 7f 1d 17 2f b6 e8 38 5d 7f 69 a1 bb 52
0007440 0a 6d 6a fa d3 1f 1d e1 bc 2d a3 bb a7 b2 ab 17
0007460 24 74 25 6f b8 86 9a 48 60 f6 a3 7e f9 f2 06 2f
0007500 8c b9 d7 a3 92 75 1c b7 41 12 cb 28 a1 b7 e9 c4
0007520 3b 79 c2 80 7c 51 c7 33 f6 1e 80 58 09 84 e8 02
0007540 8e 2e da 89 38 9e af c1 fe dd b8 41 9b 2a 40 55
0007560 ec 88 92 96 1b c9 0f 0b 3f bb e4 2a 8a 6c e8 20
0007600 21 ff 75 cd 23 00 98 42 98 14 37 b1 c4 67 a3 99
0007620 a4 b2 95 90 fb 31 dd ae d2 8c 9f 2b aa b6 af 35
0007640 ef 41 49 72 ca 7d c3 52 1f 70 ed 49 0a 92 ee ae
0007660 6c e9 83 d8 fb 79 a8 27 c5 96 ac dc 52 25 1e 6c
0007700 e0 3a 8b 37 ce 2c d5 da db 2a 2d a0 c8 12 ac 6e
0007720 9b 8a c0 b6 84 01 b7 f4 13 70 bc 82 7c 6c 8e e9
0007740 82 4c 0a 7a ed 32 55 a0 4b 6b b8 d9 ea 1d 4c 48
0007760 e3 10 2f 2c f3 0c c8 26 c0 0c d2 75 51 de a4 c2
0010000 37 33 c5 51 2c 30 01 be 58 30 0e 9f af bf d2 cb
0010020 15 28 46 a5 19 c8 b4 7e b1 8f 3e 11 b3 f8 a1 23
0010040 ea 2f 51 47 29 b8 0e bd aa 58 19 94 ef 29 ea f1
0010060 86 dc 56 64 00 8b 69 a3 eb 55 b5 de 2f b9 7f c9
0010100 5f b0 a7 39 3b 43 6a 2b 75 6d 8d 56 7e 4e a6 2b
0010120 98 ef 22 fb 62 1b f1 ae 1a 5e 51 2f ef 43 44 78
0010140 cf 63 9e ae 78 d2 94 e0 1e fb 06 d4 33 a9 0a 8a
0010160 a5 27 51 b2 9d 1b 71 81 02 e4 8a b4 84 f4 9f 3d
0010200 cd 9f 51 63 5f aa 5a c7 60 ca db c6 94 32 86 74
0010220 0d 71 0e 69 1a 56 41 af 71 22 c1 9c 7a 22 0d db
0010240 12 f6 49 b0 62 db 4b 67 6e be 7c 7a 50 35 11 b1
0010260 a6 0d e6 21 d0 b4 61 5c a6 c8 8e ac f3 ee 1a fa
0010300 14 c2 98 b7 83 ef e7 76 c5 89 43 f7 87 37 c7 4b
0010320 72 7f d5 80 78 0a 64 34 b3 ce d1 ab c2 7d 4b fb
0010340 8a a9 07 f0 2d b4 9b dc b1 99 7f d4 33 66 ce 59
0010360 7d 3b 18 a7 1f ed d8 d6 0c 8c e6 32 01 41 86 56
0010400 aa 2b 08 6c 61 a0 8e 03 7a 85 18 d2 67 f9 46 6b
0010420 39 b1 da 70 cc 82 20 29 87 10 8d bb ae 73 6c 2b
0010440 31 87 78 58 c4 bc 0d 25 20 18 fb 58 a1 2f 8a 34
0010460 11 17 77 66 d1 a5 7c 08 26 1d 2c 20 ac e4 3f 57
0010500 3c a6 d0 13 7c df 58 dc a5 7a a8 d3 24 23 cf 65
0010520 b5 66 78 4d 4b 08 aa 84 b2 dc c2 36 d7 a8 99 52
0010540 04 4d 96 4b 2a 2d 66 70 ff 48 d6 77 f1 ac 76 24
0010560 b2 9a 91 62 11 a1 5f f8 ae a9 02 a7 e2 85 64 98
0010600 49 bd 82 dc aa 04 6d f2 82 29 bd a8 8e 8e 2f 6f
0010620 18 dd ab 4e a7 b3 55 67 88 ba fb a2 a7 19 b6 31
0010640 60 ef 1b de d6 6d cf d7 ac 73 87 9a aa 57 a9 ef
0010660 39 ab 72 e7 7f 7f 62 7a 11 dc 3d f2 30 35 97 de
0010700 63 7f 9c ea 02 69 6f b8 7d fb d5 ce ba 25 90 6a
0010720 62 2a de 75 b5 4d 1c 94 fc 56 5d 81 52 13 ba 97
0010740 85 3d 4c 3a 6d 47 db 06 76 fa 3d 58 f3 db 4f 6f
0010760 ff 7b 81 f9 05 54 7a 58 f7 88 a3 0c 1f e2 48 26
0011000 f0 c5 0b 20 5a 47 5c 71 e0 89 56 8d 38 b6 fa 76
0011020 9a 7b 97 03 b3 26 a2 d7 fa 1f 3e 11 a1 6d 99 a8
0011040 ec 55 71 4c bf 17 52 2c 8d 06 42 61 0a 2f 0e 73
0011060 0d 47 62 1c f1 9a 2a ef 8e 6a 95 2c 93 8b 79 10
0011100 a7 79 75 cf 34 e7 65 24 27 40 23 a9 30 bd 7d 35
0011120 68 8b 91 ae 38 61 fe 3f 5f 7a 96 2c 63 43 00 00
The objectdump
facility is byte-oriented; with the arguments shown above, you'll
get a hexadecimal representation of every byte in the referenced file. However, compressed files,
by their nature, need to take maximum advantage of every single bit — so, to get a good
gzip-eye view of this file, you need to break it down to its individual bits. However, if you learned to program any time in the past 40 years or so, you're probably used to
the big-endian representation of binary data, where the most-significant bit is shown in the
left-most position and the least-significant bit is shown in the right-most position. So the
first byte of this file, hexadecimal 1F would be represented in binary as 00011111 and the second byte, hexadecimal 8B, as
10001011. The LZ77 specification that the gzip format is based on, though, is centered around
the little-endian format: here, the first two bytes would be represented as 1111100011010001. In other
circumstances, this wouldn't make a difference, since you'd be doing byte-for-byte comparisons
anyway, but since compression algorithms make optimal use of every bit, the conceptual ordering
of the bits makes a big difference, as codes span bytes and you have to put the bits into the
correct order to reconstruct the file. Keep in mind as you read this post that the bits shown
probably appear "backwards".
The first 10 bytes of figure 1 are the standard GZIP header, which is defined in bytes so the bit-ordering is immaterial. This breaks down to the representation shown in figure 2.
1f 8b | Standard GZIP declaration |
08 | Compression method: 0x08 represents GZIP |
08 | Flags (see below) |
a2 42 b8 4d | Timestamp |
00 | Extra flags |
03 | Operating System |
Bit mask (in big-endian format) | Meaning |
---|---|
00000001 | Text follows |
00000010 | Header CRC follows |
00000100 | "Extra" follows |
00001000 | Name follows |
00010000 | Comment follows |
In essence, the flags byte indicates that the header can be followed by up to five null-
terminated strings, which must at least be skipped over before the actual gzipped-proper
content appears. In this case, it is the 9-byte ASCII-encoded string:
or "
67 75 6e 7a 69 70 2e 63 00
gunzip.c
". After these first 19 bytes, bit ordering begins to matter. Figure 3
presents the binary representation of the remaining 4,685 bytes of the gzipped attachment
file, in little-endian order, with the least significant bits appearing first.
bd 1b fd 6f da c8 f2 77 fe 8a 6d 4e 4d
10111101 11011000 10111111 11110110 01011011 00010011 01001111 11101110 01111111 01010001 10110110 01110010 10110010
49 02 14 43 20 a4 84 9c 7a 6d aa ab 74 6d 9f fa
10010010 01000000 00101000 11000010 00000100 00100101 00100001 00111001 01011110 10110110 01010101 11010101 00101110 10110110 11111001 01011111
21 9d 5e 5f 85 8c bd 04 a7 c6 46 b6 49 9a bb cb
10000100 10111001 01111010 11111010 10100001 00110001 10111101 00100000 11100101 01100011 01100010 01101101 10010010 01011001 11011101 11010011
ff fe 66 66 3f bc bb 36 90 e4 4e 97 7e 04 d6 33
11111111 01111111 01100110 01100110 11111100 00111101 11011101 01101100 00001001 00100111 01110010 11101001 01111110 00100000 01101011 11001100
b3 b3 b3 f3 bd eb 9f a2 24 88 d7 21 67 67 79 11
11001101 11001101 11001101 11001111 10111101 11010111 11111001 01000101 00100100 00010001 11101011 10000100 11100110 11100110 10011110 10001000
46 69 67 71 de f8 c9 1c 8a a3 99 3b 96 45 c9 a5
01100010 10010110 11100110 10001110 01111011 00011111 10010011 00111000 01010001 11000101 10011001 11011100 01101001 10100010 10010011 10100101
3d c6 b3 2c 71 50 fd 3c e7 59 81 63 8d e7 cf d9
10111100 01100011 11001101 00110100 10001110 00001010 10111111 00111100 11100111 10011010 10000001 11000110 10110001 11100111 11110011 10011011
82 fb 21 cf 58 ce 57 7e e6 17 3c 64 f3 2c 5d b2
01000001 11011111 10000100 11110011 00011010 01110011 11101010 01111110 01100111 11101000 00111100 00100110 11001111 00110100 10111010 01001101
a5 1f 25 0c e8 ad 83 82 cd d3 8c 15 0b ce f6 f2
10100101 11111000 10100100 00110000 00010111 10110101 11000001 01000001 10110011 11001011 00110001 10101000 11010000 01110011 01101111 01001111
e8 0f 9e ce f7 d8 8c c7 e9 4d a3 b8 5d f1 90 cf
00010111 11110000 01111001 01110011 11101111 00011011 00110001 11100011 10010111 10110010 11000101 00011101 10111010 10001111 00001001 11110011
25 54 e3 cf 06 63 eb 24 8f 2e 13 a0 11 2c fc 8c
10100100 00101010 11000111 11110011 01100000 11000110 11010111 00100100 11110001 01110100 11001000 00000101 10001000 00110100 00111111 00110001
45 e1 57 d6 63 df c6 95 07 41 ba 5c 65 3c cf a3
10100010 10000111 11101010 01101011 11000110 11111011 01100011 10101001 11100000 10000010 01011101 00111010 10100110 00111100 11110011 11000101
34 99 2e 79 b1 48 c3 2a cc 3c f6 2f f3 ea f0 b2
00101100 10011001 01110100 10011110 10001101 00010010 11000011 01010100 00110011 00111100 01101111 11110100 11001111 01010111 00001111 01001101
88 96 fc 2b 3b ae 23 cb 7f 14 99 3f dd 80 98 c2
00010001 01101001 00111111 11010100 11011100 01110101 11000100 11010011 11111110 00101000 10011001 11111100 10111011 00000001 00011001 01000011
d8 5d e3 f2 8f 68 35 15 2b 1e 37 ea 56 60 00 30
00011011 10111010 11000111 01001111 11110001 00010110 10101100 10101000 11010100 01111000 11101100 01010111 01101010 00000110 00000000 00001100
05 67 90 ca 17 69 56 b0 1f 31 4f aa 33 1c d2 fc
10100000 11100110 00001001 01010011 11101000 10010110 01101010 00001101 11111000 10001100 11110010 01010101 11001100 00111000 01001011 00111111
35 e3 f3 c4 5f f2 ba 71 90 c3 92 27 45 cd 0c 41
10101100 11000111 11001111 00100011 11111010 01001111 01011101 10001110 00001001 11000011 01001001 11100100 10100010 10110011 00110000 10000010
16 78 c3 31 83 ed 29 16 51 ce 56 59 5a f0 a0 c8
01101000 00011110 11000011 10001100 11000001 10110111 10010100 01101000 10001010 01110011 01101010 10011010 01011010 00001111 00000101 00010011
69 1b 04 5b 26 4e 9c 26 97 88 d2 ef 8d 59 3d 4e
10010110 11011000 00100000 11011010 01100100 01110010 00111001 01100100 11101001 00010001 01001011 11110111 10110001 10011010 10111100 01110010
98 06 6b 9c aa 82 15 e1 9e 6a c9 cc a3 18 be 34
00011001 01100000 11010110 00111001 01010101 01000001 10101000 10000111 01111001 01010110 10010011 00110011 11000101 00011000 01111101 00101100
7e 02 a1 44 09 67 6f 3e 5f fc fe 99 e1 4f f7 47
01111110 01000000 10000101 00100010 10010000 11100110 11110110 01111100 11111010 00111111 01111111 10011001 10000111 11110010 11101111 11100010
d7 2b 87 7f 7d f5 f1 95 1a ee 95 c3 00 fc f1 a5
11101011 11010100 11100001 11111110 10111110 10101111 10001111 10101001 01011000 01110111 10101001 11000011 00000000 00111111 10001111 10100101
1c 3e 2e 87 df bf 7c 77 a1 a0 47 e5 f0 ab 0f ef
00111000 01111100 01110100 11100001 11111011 11111101 00111110 11101110 10000101 00000101 11100010 10100111 00001111 11010101 11110000 11110111
de 5d bc ff 8c c3 5e b7 76 2f 34 a7 51 52 30 57
01111011 10111010 00111101 11111111 00110001 11000011 01111010 11101101 01101110 11110100 00101100 11100101 10001010 01001010 00001100 11101010
e4 38 16 a4 21 f2 ce 1a 45 c6 f9 34 a1 6f 0e 21
00100111 00011100 01101000 00100101 10000100 01001111 01110011 01011000 10100010 01100011 10011111 00101100 10000101 11110110 01110000 10000100
b6 58 cf e7 4b 3f a1 a7 53 41 57 a3 a2 ac da 1e
01101101 00011010 11110011 11100111 11010010 11111100 10000101 11100101 11001010 10000010 11101010 11000101 01000101 00110101 01011011 01111000
e9 77 92 26 ed 98 fb 73 86 70 39 00 d5 a2 b3 c3
10010111 11101110 01001001 01100100 10110111 00011001 11011111 11001110 01100001 00001110 10011100 00000000 10101011 01000101 11001101 11000011
3f 78 96 8e 37 3f 4e 13 12 a6 39 5c af 67 c8 03
11111100 00011110 01101001 01110001 11101100 11111100 01110010 11001000 01001000 01100101 10011100 00111010 11110101 11100110 00010011 11000000
4f 48 ef f1 e3 2c 2a a6 b0 c2 cb 62 61 a2 67 7e
11110010 00010010 11110111 10001111 11000111 00110100 01010100 01100101 00001101 01000011 11010011 01000110 10000110 01000101 11100110 01111110
72 89 f8 79 e1 17 51 c0 ae d3 28 64 b3 75 14 87
01001110 10010001 00011111 10011110 10000111 11101000 10001010 00000011 01110101 11001011 00010100 00100110 11001101 10101110 00101000 11100001
53 05 81 0b 6f 5a 5c b0 c3 2c 4d 8b 56 83 ed f8
11001010 10100000 10000001 11010000 11110110 01011010 00111010 00001101 11000011 00110100 10110010 11010001 01101010 11000001 10110111 00011111
c1 59 89 3e ce bb 1b dc 62 09 e6 a0 5f 07 7a 29
10000011 10011010 10010001 01111100 01110011 11011101 11011000 00111011 01000110 10010000 01100111 00000101 11111010 11100000 01011110 10010100
87 b3 78 1a a4 6b a1 cb 34 90 80 35 4c c5 06 31
11100001 11001101 00011110 01011000 00100101 11010110 10000101 11010011 00101100 00001001 00000001 10101100 00110010 10100011 01100000 10001100
a6 f7 87 1d e2 47 58 92 5e 76 3e 36 76 84 4d 58
01100101 11101111 11100001 10111000 01000111 11100010 00011010 01001001 01111010 01101110 01111100 01101100 01101110 00100001 10110010 00011010
57 7d 4f d4 07 3f 28 a2 6b ae 84 21 c6 96 fe 8f
11101010 10111110 11110010 00101011 11100000 11111100 00010100 01000101 11010110 01110101 00100001 10000100 01100011 01101001 01111111 11110001
a9 29 b3 06 e9 7d 5e f0 15 f3 58 9b cd a3 cb 75
10010101 10010100 11001101 01100000 10010111 10111110 01111010 00001111 10101000 11001111 00011010 11011001 10110011 11000101 11010011 10101110
c6 59 ba 86 1d 4a 6f 84 a6 2b 0e 5b 4c b3 d6 22
01100011 10011010 01011101 01100001 10111000 01010010 11110110 00100001 01100101 11010100 01110000 11011010 00110010 11001101 01101011 01000100
c6 18 2f 82 8e 24 b0 48 d7 31 c8 98 b3 99 9f 83
01100011 00011000 11110100 01000001 01110001 00100100 00001101 00010010 11101011 10001100 00010011 00011001 11001101 10011001 11111001 11000001
92 a5 09 59 0f 4d 4d 16 75 1d 85 9c 36 cd 66 40
01001001 10100101 10010000 10011010 11110000 10110010 10110010 01101000 10101110 10111000 10100001 00111001 01101100 10110011 01100110 00000010
f1 8d 9a d4 64 09 7d 85 5f 67 a5 84 e1 eb d1 11
10001111 10110001 01011001 00101011 00100110 10010000 10111110 10100001 11111010 11100110 10100101 00100001 10000111 11010111 10001011 10001000
08 8c b1 3f 49 d6 d1 1c 00 e9 e9 57 00 fc d6 31
00010000 00110001 10001101 11111100 10010010 01101011 10001011 00111000 00000000 10010111 10010111 11101010 00000000 00111111 01101011 10001100
68 9d bb c4 0f 08 e3 4f b9 47 95 99 6b a9 8c 09
00010110 10111001 11011101 00100011 11110000 00010000 11000111 11110010 10011101 11100010 10101001 10011001 11010110 10010101 00110001 10010000
fa ae 21 fe a9 b5 03 f4 d2 8f e3 34 68 32 e1 cb
01011111 01110101 10000100 01111111 10010101 10101101 11000000 00101111 01001011 11110001 11000111 00101100 00010110 01001100 10000111 11010011
9b 24 cd 03 76 08 dc 38 84 8f 40 92 07 ec 00 09
11011001 00100100 10110011 11000000 01101110 00010000 00111011 00011100 00100001 11110001 00000010 01001001 11100000 00110111 00000000 10010000
69 81 3d 12 9f a4 5c 45 2d b5 42 10 90 0b d1 32
10010110 10000001 10111100 01001000 11111001 00100101 00111010 10100010 10110100 10101101 01000010 00001000 00001001 11010000 10001011 01001100
83 8d f4 60 51 60 26 25 31 14 3d 5f e6 bc 68 1a
11000001 10110001 00101111 00000110 10001010 00000110 01100100 10100100 10001100 00101000 10111100 11111010 01100111 00111101 00010110 01011000
1b fa ec 7f dd 67 ad 07 70 f4 a0 9d 52 d3 7c dd
11011000 01011111 00110111 11111110 10111011 11100110 10110101 11100000 00001110 00101111 00000101 10111001 01001010 11001011 00111110 10111011
b0 5d df d8 d1 84 c9 bd 31 20 90 eb 36 4c 81 93
00001101 10111010 11111011 00011011 10001011 00100001 10010011 10111101 10001100 00000100 00001001 11010111 01101100 00110010 10000001 11001001
9c b3 2e 4c fc 73 f9 b8 5c d8 0b 74 40 24 a4 3b
00111001 11001101 01110100 00110010 00111111 11001110 10011111 00011101 00111010 00011011 11010000 00101110 00000010 00100100 00100101 11011100
53 89 7b 2d 16 46 19 b8 ef f8 56 c4 e3 8f 6f 5e
11001010 10010001 11011110 10110100 01101000 01100010 10011000 00011101 11110111 00011111 01101010 00100011 11000111 11110001 11110110 01111010
19 4b 37 34 f8 a1 6b 57 4b 47 d3 83 d5 7b 63 f1
10011000 11010010 11101100 00101100 00011111 10000101 11010110 11101010 11010010 11100010 11001011 11000001 10101011 11011110 11000110 10001111
e9 6c e2 da 14 8d 5b 92 90 1a d0 14 1f 8e 0c c9
10010111 00110110 01000111 01011011 00101000 10110001 11011010 01001001 00001001 01011000 00001011 00101000 11111000 01110001 00110000 10010011
10 09 5a 14 4c 72 76 06 54 4b 25 77 a0 be 39 ea
00001000 10010000 01011010 00101000 00110010 01001110 01101110 01100000 00101010 11010010 10100100 11101110 00000101 01111101 10011100 01010111
ac 97 a2 9f 4f 98 72 1b 4a 81 0d c1 f4 b7 0b 06
00110101 11101001 01000101 11111001 11110010 00011001 01001110 11011000 01010010 10000001 10110000 10000011 00101111 11101101 11010000 01100000
55 ca 95 89 ad 66 44 f6 7e ba c6 2c d7 b3 c9 c6
10101010 01010011 10101001 10010001 10110101 01100110 00100010 01101111 01111110 01011101 01100011 00110100 11101011 11001101 10010011 01100011
27 5b 68 d5 5a 3d ea 83 44 b1 e8 8b d9 6d e9 98
11100100 11011010 00010110 10101011 01011010 10111100 01010111 11000001 00100010 10001101 00010111 11010001 10011011 10110110 10010111 00011001
00 47 47 4a 26 15 0f e2 d0 d9 e8 3b 50 14 42 3d
00000000 11100010 11100010 01010010 01100100 10101000 11110000 01000111 00001011 10011011 00010111 11011100 00001010 00101000 01000010 10111100
91 cd c9 4e f4 71 43 22 d2 64 36 f6 93 09 6a b5
10001001 10110011 10010011 01110010 00101111 10001110 11000010 01000100 01001011 00100110 01101100 01101111 11001001 10010000 01010110 10101101
7c ae 26 30 a7 90 ea 62 6c b0 4d e0 db 58 23 6d
00111110 01110101 01100100 00001100 11100101 00001001 01010111 01000110 00110110 00001101 10110010 00000111 11011011 00011010 11000100 10110110
86 51 8b 16 aa 60 2b c4 87 ef e0 cb c1 bd bf 65
01100001 10001010 11010001 01101000 01010101 00000110 11010100 00100011 11100001 11110111 00000111 11010011 10000011 10111101 11111101 10100110
0b ff 9a 93 a7 46 1a 79 a7 d3 81 0f c9 35 24 b9
11010000 11111111 01011001 11001001 11100101 01100010 01011000 10011110 11100101 11001011 10000001 11110000 10010011 10101100 00100100 10011101
38 b8 44 ab 48 99 0f a4 01 2c cb fd 59 cc 99 a0
00011100 00011101 00100010 11010101 00010010 10011001 11110000 00100101 10000000 00110100 11010011 10111111 10011010 00110011 10011001 00000101
20 a3 1a 4d 0a 23 18 39 db e7 92 ef b6 f7 77 77
00000100 11000101 01011000 10110010 01010000 11000100 00011000 10011100 11011011 11100111 01001001 11110111 01101101 11101111 11101110 11101110
db 0e cb 89 56 ea 44 4c 80 b3 19 76 62 2f dc de
11011011 01110000 11010011 10010001 01101010 01010111 00100010 00110010 00000001 11001101 10011000 01101110 01000110 11110100 00111011 01111011
37 cb 64 2d 40 61 a6 e2 ff 76 bb 66 3f 1c da b4
11101100 11010011 00100110 10110100 00000010 10000110 01100101 01000111 11111111 01101110 11011101 01100110 11111100 00111000 01011011 00101101
b8 7d 18 f2 d0 4e 9b a5 e5 1e e0 1f 8d 55 e2 4b
00011101 10111110 00011000 01001111 00001011 01110010 11011001 10100101 10100111 01111000 00000111 11111000 10110001 10101010 01000111 11010010
0a 4f 90 e9 f6 39 e4 37 06 94 0d 27 16 26 60 d0
01010000 11110010 00001001 10010111 01101111 10011100 00100111 11101100 01100000 00101001 10110000 11100100 01101000 01100100 00000110 00001011
4b 6c 48 91 60 1e 27 db 70 e3 82 25 37 69 89 06
11010010 00110110 00010010 10001001 00000110 01111000 11100100 11011011 00001110 11000111 01000001 10100100 11101100 10010110 10010001 01100000
b4 f2 81 6a 32 d7 de b7 a3 6b 34 67 a3 d5 cf 5d
00101101 01001111 10000001 01010110 01001100 11101011 01111011 11101101 11000101 11010110 00101100 11100110 11000101 10101011 11110011 10111010
c3 86 a5 a5 d8 3b 09 44 35 95 12 b5 44 e4 71 ce
11000011 01100001 10100101 10100101 00011011 11011100 10010000 00100010 10101100 10101001 01001000 10101101 00100010 00100111 10001110 01110011
77 4a 12 13 c9 9d a2 24 a0 7f 4d 96 38 db 63 84
11101110 01010010 01001000 11001000 10010011 10111001 01000101 00100100 00000101 11111110 10110010 01101001 00011100 11011011 11000110 00100001
89 78 ff 80 34 55 6a 6d 63 aa df a2 68 55 ac 8a
10010001 00011110 11111111 00000001 00101100 10101010 01010110 10110110 11000110 01010101 11111011 01000101 00010110 10101010 00110101 01010001
c9 26 3a 78 96 cc 28 af e3 c4 8f 39 25 ca 3a 0f
10010011 01100100 01011100 00011110 01101001 00110011 00010100 11110101 11000111 00100011 11110001 10011100 10100100 01010011 01011100 11110000
12 81 90 c6 ca e4 c6 18 a4 8c e5 00 73 f1 c6 f3
01001000 10000001 00001001 01100011 01010011 00100111 01100011 00011000 00100101 00110001 10100111 00000000 11001110 10001111 01100011 11001111
43 0c 1a 87 ec 17 4c bc c1 8b fc 6a f8 0c 5d 1a
11000010 00110000 01011000 11100001 00110111 11101000 00110010 00111101 10000011 11010001 00111111 01010110 00011111 00110000 10111010 01011000
cf 53 10 fb 0d 14 df ec da 8f d7 3c 7f 81 18 50
11110011 11001010 00001000 11011111 10110000 00101000 11111011 00110111 01011011 11110001 11101011 00111100 11111110 10000001 00011000 00001010
da a0 69 1d f7 5f b0 6e d7 f3 ba f0 c3 70 00 3e
01011011 00000101 10010110 10111000 11101111 11111010 00001101 01110110 11101011 11001111 01011101 00001111 11000011 00001110 00000000 01111100
e3 0f 31 dd 1c 1d 20 a8 77 7c 0c 4f 7a 83 c1 0b
11000111 11110000 10001100 10111011 00111000 10111000 00000100 00010101 11101110 00111110 00110000 11110010 01011110 11000001 10000011 11010000
86 80 02 16 40 d5 0f 81 9e 12 68 6f 30 44 d0 93
01100001 00000001 01000000 01101000 00000010 10101011 11110000 10000001 01111001 01001000 00010110 11110110 00001100 00100010 00001011 11001001
53 a4 da 15 44 61 00 91 14 51 d6 3c 11 a0 23 24
11001010 00100101 01011011 10101000 00100010 10000110 00000000 10001001 00101000 10001010 01101011 00111100 10001000 00000101 11000100 00100100
d2 1b 9d 08 aa 9a 01 fc ec 30 f0 32 08 d2 2c c4
01001011 11011000 10111001 00010000 01010101 01011001 10000000 00111111 00110111 00001100 00001111 01001100 00010000 01001011 00110100 00100011
05 80 ab c4 15 41 5c 65 de e9 c0 63 d9 3a 86 dc
10100000 00000001 11010101 00100011 10101000 10000010 00111010 10100110 01111011 10010111 00000011 11000110 10011011 01011100 01100001 00111011
17 bb 01 10 75 a1 62 67 fd 4e af d3 43 9c cf 58
11101000 11011101 10000000 00001000 10101110 10000101 01000110 11100110 10111111 01110010 11110101 11001011 11000010 00111001 11110011 00011010
66 c2 df 35 a6 ca 80 d6 0c f9 81 2a ed 59 8e 9a
01100110 01000011 11111011 10101100 01100101 01010011 00000001 01101011 00110000 10011111 10000001 01010100 10110111 10011010 01110001 01011001
08 68 ab 75 91 43 76 7d f8 bc a6 8a 99 47 3f f8
00010000 00010110 11010101 10101110 10001001 11000010 01101110 10111110 00011111 00111101 01100101 01010001 10011001 11100010 11111100 00011111
ee 5a 46 96 19 76 05 22 bd 30 f5 01 1a 3a f1 ea
01110111 01011010 01100010 01101001 10011000 01101110 10100000 01000100 10111101 00001100 10101111 10000000 01011000 01011100 10001111 01010111
ca 20 3a 41 a9 8f ed 71 2b 67 1e 19 0f 3d 8d 04
01010011 00000100 01011100 10000010 10010101 11110001 10110111 10001110 11010100 11100110 01111000 10011000 11110000 10111100 10110001 00100000
f2 77 c6 2d a4 53 e3 61 af 44 3a 71 c7 2d a4 13
01001111 11101110 01100011 10110100 00100101 11001010 11000111 10000110 11110101 00100010 01011100 10001110 11100011 10110100 00100101 11001000
e3 61 bf 44 1a b9 e3 2e 7b 77 b5 65 e3 9b b7 bf
11000111 10000110 11111101 00100010 01011000 10011101 11000111 01110100 11011110 11101110 10101101 10100110 11000111 11011001 11101101 11111101
5d b0 c3 3c 5d 67 41 4d 47 61 b6 9e d7 74 4c fc
10111010 00001101 11000011 00111100 10111010 11100110 10000010 10110010 11100010 10000110 01101101 01111001 11101011 00101110 00110010 00111111
fc 3b 55 ba c1 3a cb b8 28 ba d8 2a cd 23 da cc
00111111 11011100 10101010 01011101 10000011 01011100 11010011 00011101 00010100 01011101 00011011 01010100 10110011 11000100 01011011 00110011
9b a8 58 c0 de 22 26 1b e1 66 be fb f4 0b cc 8d
11011001 00010101 00011010 00000011 01111011 01000100 01100100 11011000 10000111 01100110 01111101 11011111 00101111 11010000 00110011 10110001
dc c0 b4 dc 5f 8e c9 02 70 bb 3f 72 1f f5 1f d1
00111011 00000011 00101101 00111011 11111010 01110001 10010011 01000000 00001110 11011101 11111100 01001110 11111000 10101111 11111000 10001011
29 f3 42 2d 11 30 62 7f ad d2 9c ac 0a 40 29 c2
10010100 11001111 01000010 10110100 10001000 00001100 01000110 11111110 10110101 01001011 00111001 00110101 01010000 00000010 10010100 01000011
48 52 c0 b8 f8 7d 50 2d ef 91 2a 25 58 58 ad d0
00010010 01001010 00000011 00011101 00011111 10111110 00001010 10110100 11110111 10001001 01010100 10100100 00011010 00011010 10110101 00001011
e7 a6 24 de 3e 07 e6 20 64 a9 6f b8 1e ca a6 3d
11100111 01100101 00100100 01111011 01111100 11100000 01100111 00000100 00100110 10010101 11110110 00011101 01111000 01010011 01100101 10111100
48 9e 29 23 83 b5 61 f7 82 e5 2b 1e 44 f3 88 8b
00010010 01111001 10010100 11000100 11000001 10101101 10000110 11101111 01000001 10100111 11010100 01111000 00100010 11001111 00010001 11010001
96 07 45 36 b9 3c e0 fa b6 e0 6c 6f e6 07 df 6f
01101001 11100000 10100010 01101100 10011101 00111100 00000111 01011111 01101101 00000111 00110110 11110110 01100111 11100000 11111011 11110110
fc 2c cc f7 64 c1 07 69 c2 7c 9d 63 d3 4c d4 f4
00111111 00110100 00110011 11101111 00100110 10000011 11100000 10010110 01000011 00111110 10111001 11000110 11001011 00110010 00101011 00101111
e5 0c 67 67 98 1c 53 a1 4a 5e db 9e 5e c7 78 6b
10100111 00110000 11100110 11100110 00011001 00111000 11001010 10000101 01010010 01111010 11011011 01111001 01111010 11100011 00011110 11010110
78 42 7d 12 23 a6 83 33 f1 c3 26 db 37 56 d2 62
00011110 01000010 10111110 01001000 11000100 01100101 11000001 11001100 10001111 11000011 01100100 11011011 11101100 01101010 01001011 01000110
1e fd 55 43 62 2f 31 6d c6 20 6c 45 fd 15 cf b2
01111000 10111111 10101010 11000010 01000110 11110100 10001100 10110110 01100011 00000100 00110110 10100010 10111111 10101000 11110011 01001101
34 6b b2 bd 0b fc cd 90 16 1a a8 32 31 92 1c 98
00101100 11010110 01001101 10111101 11010000 00111111 10110011 00001001 01101000 01011000 00010101 01001100 10001100 01001001 00111000 00011001
d7 5e e9 02 61 45 9f 3f bc fe 00 d2 e7 b8 55 54
11101011 01111010 10010111 01000000 10000110 10100010 11111001 11111100 00111101 01111111 00000000 01001011 11100111 00011101 10101010 00101010
f7 5e ad 97 2b b4 4e fe 03 c4 ba e0 58 16 67 2c
11101111 01111010 10110101 11101001 11010100 00101101 01110010 01111111 11000000 00100011 01011101 00000111 00011010 01101000 11100110 00110100
4f b1 ef 06 d4 6c 2f 99 f1 62 9d 25 28 3a cb f5
11110010 10001101 11110111 01100000 00101011 00110110 11110100 10011001 10001111 01000110 10111001 10100100 00010100 01011100 11010011 10101111
d1 ce ef 91 e7 dc 13 72 75 14 a0 c5 7c 50 6b 89
10001011 01110011 11110111 10001001 11100111 00111011 11001000 01001110 10101110 00101000 00000101 10100011 00111110 00001010 11010110 10010001
0d c3 51 26 fc a0 50 0c 6a 35 00 09 d4 87 bc 4e
10110000 11000011 10001010 01100100 00111111 00000101 00001010 00110000 01010110 10101100 00000000 10010000 00101011 11100001 00111101 01110010
21 5a b2 01 40 9e 59 f7 14 10 7a 4a 64 b4 66 dc
10000100 01011010 01001101 10000000 00000010 01111001 10011010 11101111 00101000 00001000 01011110 01010010 00100110 00101101 01100110 00111011
2c 22 c8 dd 9a 02 54 a6 3b b2 4a 33 81 9b e6 d7
00110100 01000100 00010011 10111011 01011001 01000000 00101010 01100101 11011100 01001101 01010010 11001100 10000001 11011001 01100111 11101011
33 12 2c fb cb 50 49 a5 86 e3 ea ba 25 16 2d df
11001100 01001000 00110100 11011111 11010011 00001010 10010010 10100101 01100001 11000111 01010111 01011101 10100100 01101000 10110100 11111011
e2 7b 1a 25 d7 8f e7 5d 8c 46 e6 17 12 b2 ce 30
01000111 11011110 01011000 10100100 11101011 11110001 11100111 10111010 00110001 01100010 01100111 11101000 01001000 01001101 01110011 00001100
c5 23 f8 75 26 68 c1 47 bb 0a 25 9b a8 5f 82 b5
10100011 11000100 00011111 10101110 01100100 00010110 10000011 11100010 11011101 01010000 10100100 11011001 00010101 11111010 01000001 10101101
fa bf e4 f2 71 dd d1 ce 25 ba c1 6d 61 05 37 dc
01011111 11111101 00100111 01001111 10001110 10111011 10001011 01110011 10100100 01011101 10000011 10110110 10000110 10100000 11101100 00111011
64 52 31 88 be da ba 42 37 16 9c 54 bc 3b 09 2d
00100110 01001010 10001100 00010001 01111101 01011011 01011101 01000010 11101100 01101000 00111001 00101010 00111101 11011100 10010000 10110100
bc 4d fc 65 14 38 ee bd 4e 80 4e 0a b3 f1 c7 0e
00111101 10110010 00111111 10100110 00101000 00011100 01110111 10111101 01110010 00000001 01110010 01010000 11001101 10001111 11100011 01110000
0d 71 54 f0 cc 8f f3 e9 fd fa 5d b5 34 c2 08 d8
10110000 10001110 00101010 00001111 00110011 11110001 11001111 10010111 10111111 01011111 10111010 10101101 00101100 01000011 00010000 00011011
4e 02 2e 88 18 fb b7 88 23 dd ca 5a 20 94 fe 12
01110010 01000000 01110100 00010001 00011000 11011111 11101101 00010001 11000100 10111011 01010011 01011010 00000100 00101001 01111111 01001000
c8 46 24 ed 67 8b 5d 99 ed 2b e9 c0 73 88 1d a7
00010011 01100010 00100100 10110111 11100110 11010001 10111010 10011001 10110111 11010100 10010111 00000011 11001110 00010001 10111000 11100101
a2 bc b1 83 96 01 23 46 0c 48 6a 9a f9 f1 6a e1
01000101 00111101 10001101 11000001 01101001 10000000 11000100 01100010 00110000 00010010 01010110 01011001 10011111 10001111 01010110 10000111
cf 78 51 45 d5 8f 24 a2 09 41 6b 31 e7 9f aa d2
11110011 00011110 10001010 10100010 10101011 11110001 00100100 01000101 10010000 10000010 11010110 10001100 11100111 11111001 01010101 01001011
c2 5e ad 05 22 5b 93 e8 c1 68 e3 9c 35 4c d3 f9
01000011 01111010 10110101 10100000 01000100 11011010 11001001 00010111 10000011 00010110 11000111 00111001 10101100 00110010 11001011 10011111
1c 52 c3 fc 2b d6 e3 42 05 bd 21 38 ae 13 f8 37
00111000 01001010 11000011 00111111 11010100 01101011 11000111 01000010 10100000 10111101 10000100 00011100 01110101 11001000 00011111 11101100
6a b1 6e 8b c1 ff f0 e5 b4 c5 70 18 be 0f e0 17
01010110 10001101 01110110 11010001 10000011 11111111 00001111 10100111 00101101 10100011 00001110 00011000 01111101 11110000 00000111 11101000
f8 b5 63 f8 d5 6b 61 9d ee c1 3f f8 e4 1d 0b 97
00011111 10101101 11000110 00011111 10101011 11010110 10000110 10111001 01110111 10000011 11111100 00011111 00100111 10111000 11010000 11101001
37 60 77 34 1f 8a 16 ab 1f db b0 94 2e 0c 84 ca
11101100 00000110 11101110 00101100 11111000 01010001 01101000 11010101 11111000 11011011 00001101 00101001 01110100 00110000 00100001 01010011
92 cc 77 43 05 b2 8c ad 87 3a 76 1a 46 e6 fa dd
01001001 00110011 11101110 11000010 10100000 01001101 00110001 10110101 11100001 01011100 01101110 01011000 01100010 01100111 01011111 10111011
3c d7 7c 66 37 4a 0c cb 6c ca 19 8f 88 b4 63 a1
00111100 11101011 00111110 01100110 11101100 01010010 00110000 11010011 00110110 01010011 10011000 11110001 00010001 00101101 11000110 10000101
b6 02 d4 89 12 68 7c a3 fe c6 06 7e fb 76 23 e8
01101101 01000000 00101011 10010001 01001000 00010110 00111110 11000101 01111111 01100011 01100000 01111110 11011111 01101110 11000100 00010111
b3 70 a6 69 ce 65 01 4b 26 47 d5 ab 6c 48 aa ec
11001101 00001110 01100101 10010110 01110011 10100110 10000000 11010010 01100100 11100010 10101011 11010101 00110110 00010010 01010101 00110111
d3 b2 da 2c 5d 17 51 82 05 c8 95 e0 1c 69 5d b1
11001011 01001101 01011011 00110100 10111010 11101000 10001010 01000001 10100000 00010011 10101001 00000111 00111000 10010110 10111010 10001101
19 87 b8 21 43 a3 cc 33 d2 79 d9 dd 64 7e 96 f9
10011000 11100001 00011101 10000100 11000010 11000101 00110011 11001100 01001011 10011110 10011011 10111011 00100110 01111110 01101001 10011111
b7 75 8b f6 4e dd 95 52 68 43 18 d1 d7 da df 67
11101101 10101110 11010001 01101111 01110010 10111011 10101001 01001010 00010110 11000010 00011000 10001011 11101011 01011011 11111011 11100110
4d 67 f5 b8 d0 27 93 ca a0 ea 10 d9 61 ee aa 6c
10110010 11100110 10101111 00011101 00001011 11100100 11001001 01010011 00000101 01010111 00001000 10011011 10000110 01110111 01010101 00110110
6c 38 72 d4 46 72 a5 13 a7 68 bc 15 c8 ca a2 2a
00110110 00011100 01001110 00101011 01100010 01001110 10100101 11001000 11100101 00010110 00111101 10101000 00010011 01010011 01000101 01010100
3c 69 e9 2a 8d d8 af 58 cd 7d ea 9f ba 16 7c 1d
00111100 10010110 10010111 01010100 10110001 00011011 11110101 00011010 10110011 10111110 01010111 11111001 01011101 01101000 00111110 10111000
a5 2b 6c 25 b5 6a 78 95 7a 09 fb 82 9a 20 b6 44
10100101 11010100 00110110 10100100 10101101 01010110 00011110 10101001 01011110 10010000 11011111 01000001 01011001 00000100 01101101 00100010
78 b3 e7 92 79 ed 08 c4 59 0e fc e5 09 d2 09 19
00011110 11001101 11100111 01001001 10011110 10110111 00010000 00100011 10011010 01110000 00111111 10100111 10010000 01001011 10010000 10011000
65 2b e6 ae 0b 42 a5 c3 c6 47 90 1f 5c 47 e9 3a
10100110 11010100 01100111 01110101 11010000 01000010 10100101 11000011 01100011 11100010 00001001 11111000 00111010 11100010 10010111 01011100
a7 9e 19 3a 17 15 78 14 5d 0a 92 e4 72 60 51 aa
11100101 01111001 10011000 01011100 11101000 10101000 00011110 00101000 10111010 01010000 01001001 00100111 01001110 00000110 10001010 01010101
66 6c 0a db 3c 92 d6 77 04 f9 f0 88 7a 66 76 77
01100110 00110110 01010000 11011011 00111100 01001001 01101011 11101110 00100000 10011111 00001111 00010001 01011110 01100110 01101110 11101110
f1 c0 24 a4 56 64 d6 75 d2 63 3d 84 b2 8d 2a e7
10001111 00000011 00100100 00100101 01101010 00100110 01101011 10101110 01001011 11000110 10111100 00100001 01001101 10110001 01010100 11100111
a8 f8 2b 98 a5 2a e7 b1 91 17 48 23 ad 9b cb 6d
00010101 00011111 11010100 00011001 10100101 01010100 11100111 10001101 10001001 11101000 00010010 11000100 10110101 11011001 11010011 10110110
c2 55 22 a9 a3 95 75 93 57 c6 8c 16 80 50 5e 5d
01000011 10101010 01000100 10010101 11000101 10101001 10101110 11001001 11101010 01100011 00110001 01101000 00000001 00001010 01111010 10111010
fa 3f 90 4c 59 fb 9a dd bd 1a 40 2a 54 9f 88 c2
01011111 11111100 00001001 00110010 10011010 11011111 01011001 10111011 10111101 01011000 00000010 01010100 00101010 11111001 00010001 01000011
d7 9a 68 2b c2 39 ba df 9a de 10 25 38 2b ee 57
11101011 01011001 00010110 11010100 01000011 10011100 01011101 11111011 01011001 01111011 00001000 10100100 00011100 11010100 01110111 11101010
fa 7d 10 16 20 75 0e 16 5b 68 d6 37 8b 02 1f dc
01011111 10111110 00001000 01101000 00000100 10101110 01110000 01101000 11011010 00010110 01101011 11101100 11010001 01000000 11111000 00111011
95 37 7c 61 c5 63 6b 8e cd fe af 07 9b 70 c4 fa
10101001 11101100 00111110 10000110 10100011 11000110 11010110 01110001 10110011 01111111 11110101 11100000 11011001 00001110 00100011 01011111
76 8b 61 06 cf be 8f 2b 33 9c 3c 6a 86 fe 03 66
01101110 11010001 10000110 01100000 11110011 01111101 11110001 11010100 11001100 00111001 00111100 01010110 01100001 01111111 11000000 01100110
18 3d 6a 86 13 9a c1 f3 b6 4e 71 57 8a 59 69 ae
00011000 10111100 01010110 01100001 11001000 01011001 10000011 11001111 01101101 01110010 10001110 11101010 01010001 10011010 10010110 01110101
45 de 68 e4 d5 34 90 36 6d c8 04 0a 96 e1 96 96
10100010 01111011 00010110 00100111 10101011 00101100 00001001 01101100 10110110 00010011 00100000 01010000 01101001 10000111 01101001 01101001
92 32 59 e1 9e 27 d6 77 f2 cc 9b 1a 37 56 3f 6b
01001001 01001100 10011010 10000111 01111001 11100100 01101011 11101110 01001111 00110011 11011001 01011000 11101100 01101010 11111100 11010110
17 d5 ee 26 2a 51 d9 ca ad 76 77 8c 29 4a f2 2e
11101000 10101011 01110111 01100100 01010100 10001010 10011011 01010011 10110101 01101110 11101110 00110001 10010100 01010010 01001111 01110100
e9 0d 0b 2f a9 46 66 b7 78 8b 01 d6 3b 11 bb b9
10010111 10110000 11010000 11110100 10010101 01100010 01100110 11101101 00011110 11010001 10000000 01101011 11011100 10001000 11011101 10011101
9c a4 37 10 05 56 e8 4a d0 a3 6a c7 09 c9 6f 71
00111001 00100101 11101100 00001000 10100000 01101010 00010111 01010010 00001011 11000101 01010110 11100011 10010000 10010011 11110110 10001110
93 b2 95 9f 41 19 84 55 0f a5 d5 dc 07 5b 91 6d
11001001 01001101 10101001 11111001 10000010 10011000 00100001 10101010 11110000 10100101 10101011 00111011 11100000 11011010 10001001 10110110
e6 8a 5f 76 da d5 16 39 95 72 50 07 7b c6 21 b9
01100111 01010001 11111010 01101110 01011011 10101011 01101000 10011100 10101001 01001110 00001010 11100000 11011110 01100011 10000100 10011101
40 c5 ea 30 11 fd a7 14 fe a7 02 5f 92 87 e4 1d
00000010 10100011 01010111 00001100 10001000 10111111 11100101 00101000 01111111 11100101 01000000 11111010 01001001 11100001 00100111 10111000
53 6c 72 94 21 0f 62 bc b5 81 a9 38 f2 42 91 49
11001010 00110110 01001110 00101001 10000100 11110000 01000110 00111101 10101101 10000001 10010101 00011100 01001111 01000010 10001001 10010010
34 a4 a2 c4 8f 6d 56 48 49 44 4e 5f 74 74 7a 50
00101100 00100101 01000101 00100011 11110001 10110110 01101010 00010010 10010010 00100010 01110010 11111010 00101110 00101110 01011110 00001010
13 f2 27 a5 0f ed 0d 4e aa 99 4e 5d fc b7 f7 ea
11001000 01001111 11100100 10100101 11110000 10110111 10110000 01110010 01010101 10011001 01110010 10111010 00111111 11101101 11101111 01010111
49 8d 76 ed 8a fb 4e 44 a9 09 fa b5 10 56 c4 b7
10010010 10110001 01101110 10110111 01010001 11011111 01110010 00100010 10010101 10010000 01011111 10101101 00001000 01101010 00100011 11101101
b8 d0 d1 be 2e 5e db d5 03 bb 6a 55 22 9a 88 d1
00011101 00001011 10001011 01111101 01110100 01111010 11011011 10101011 11000000 11011101 01010110 10101010 01000100 01011001 00010001 10001011
51 bb 3d ae ca aa 14 93 8c 31 5a 5c a3 ad e2 6a
10001010 11011101 10111100 01110101 01010011 01010101 00101000 11001001 00110001 10001100 01011010 00111010 11000101 10110101 01000111 01010110
92 40 25 f8 c1 bf 23 3b 3a 85 34 a7 fd e7 85 69
01001001 00000010 10100100 00011111 10000011 11111101 11000100 11011100 01011100 10100001 00101100 11100101 10111111 11100111 10100001 10010110
97 51 5b a4 29 9a ab 5a f9 8d 86 6b 0d fc 5d 79
11101001 10001010 11011010 00100101 10010100 01011001 11010101 01011010 10011111 10110001 01100001 11010110 10110000 00111111 10111010 10011110
11 e5 dd cb df a7 af df 7e fa fc f2 fd ab 0b c6
10001000 10100111 10111011 11010011 11111011 11100101 11110101 11111011 01111110 01011111 00111111 01001111 10111111 11010101 11010000 01100011
fa bd 93 e1 48 df 8a a0 42 2c 99 c7 7e c1 35 5b
01011111 10111101 11001001 10000111 00010010 11111011 01010001 00000101 01000010 00110100 10011001 11100011 01111110 10000011 10101100 11011010
74 0c f4 e8 62 f3 6f d6 99 f7 28 31 eb 4f 86 70
00101110 00110000 00101111 00010111 01000110 11001111 11110110 01101011 10011001 11101111 00010100 10001100 11010111 11110010 01100001 00001110
25 79 91 ae d4 51 7b b7 b6 c3 f7 d5 96 46 cd 3d
10100100 10011110 10001001 01110101 00101011 10001010 11011110 11101101 01101101 11000011 11101111 10101011 01101001 01100010 10110011 10111100
a8 c3 55 91 01 3a 75 03 25 59 71 35 4a 26 a1 7e
00010101 11000011 10101010 10001001 10000000 01011100 10101110 11000000 10100100 10011010 10001110 10101100 01010010 01100100 10000101 01111110
18 82 6e 88 ca 4e c8 03 0b 37 2c d7 bc 81 2c f1
00011000 01000001 01110110 00010001 01010011 01110010 00010011 11000000 11010000 11101100 00110100 11101011 00111101 10000001 00110100 10001111
a0 ac eb 61 f9 76 22 16 dc 87 e7 7d 78 76 0c 63
00000101 00110101 11010111 10000110 10011111 01101110 01000100 01101000 00111011 11100001 11100111 10111110 00011110 01101110 00110000 11000110
03 f8 3c c0 b2 0f e0 46 7d f1 fc f4 14 8b 3f 44
11000000 00011111 00111100 00000011 01001101 11110000 00000111 01100010 10111110 10001111 00111111 00101111 00101000 11010001 11111100 00100010
46 48 6f 88 a4 4e e1 6b af 77 82 13 dc 8d 2d 36
01100010 00010010 11110110 00010001 00100101 01110010 10000111 11010110 11110101 11101110 01000001 11001000 00111011 10110001 10110100 01101100
50 24 16 13 44 e3 98 2a c9 91 28 1f b1 d6 ec c1
00001010 00100100 01101000 11001000 00100010 11000111 00011001 01010100 10010011 10001001 00010100 11111000 10001101 01101011 00110111 10000011
48 1f 3e 1f 8f c4 24 43 f8 7e 8a c5 66 0f 81 4e
00010010 11111000 01111100 11111000 11110001 00100011 00100100 11000010 00011111 01111110 01010001 10100011 01100110 11110000 10000001 01110010
e1 49 6f 00 5f fb a3 63 f1 7c 80 88 a0 19 58 8e
10000111 10010010 11110110 00000000 11111010 11011111 11000101 11000110 10001111 00111110 00000001 00010001 00000101 10011000 00011010 01110001
22 ae 37 e8 23 95 ae c2 ef 77 4f 90 5a 17 69 0c
01000100 01110101 11101100 00010111 11000100 10101001 01110101 01000011 11110111 11101110 11110010 00001001 01011010 11101000 10010110 00110000
bd 63 80 18 21 15 21 80 5e 6f 34 22 ce 81 1a cc
10111101 11000110 00000001 00011000 10000100 10101000 10000100 00000001 01111010 11110110 00101100 01000100 01110011 10000001 01011000 00110011
3c 38 19 4a c6 1b fa e0 c2 52 04 ab 1d f5 a4 dc
00111100 00011100 10011000 01010010 01100011 11011000 01011111 00000111 01000011 01001010 00100000 11010101 10111000 10101111 00100101 00111011
35 c7 ec e7 94 dd 56 7a 7d ce e9 de 2a 03 e1 10
10101100 11100011 00110111 11100111 00101001 10111011 01101010 01011110 10111110 01110011 10010111 01111011 01010100 11000000 10000111 00001000
5c c8 b3 ac c5 f6 fe 93 f1 a5 5f e0 15 16 34 62
00111010 00010011 11001101 00110101 10100011 01101111 01111111 11001001 10001111 10100101 11111010 00000111 10101000 01101000 00101100 01000110
a8 d3 f0 62 56 e7 7f 89 d1 ea 93 fd 1c af 9a 35
00010101 11001011 00001111 01000110 01101010 11100111 11111110 10010001 10001011 01010111 11001001 10111111 00111000 11110101 01011001 10101100
ee 4c 6d e5 7a ee 97 c0 5a c0 f5 69 ea 8e cc 14
01110111 00110010 10110110 10100111 01011110 01110111 11101001 00000011 01011010 00000011 10101111 10010110 01010111 01110001 00110011 00101000
42 cf 9b 74 9d 50 43 12 6f 58 45 e2 52 0d 5d 04
01000010 11110011 11011001 00101110 10111001 00001010 11000010 01001000 11110110 00011010 10100010 01000111 01001010 10110000 10111010 00100000
c2 08 86 78 3e cb 6f 97 b3 34 96 28 35 87 3d 67
01000011 00010000 01100001 00011110 01111100 11010011 11110110 11101001 11001101 00101100 01101001 00010100 10101100 11100001 10111100 11100110
ac 37 1a a2 73 35 ee e9 24 fc 1a af e9 f9 ab 15
00110101 11101100 01011000 01000101 11001110 10101100 01110111 10010111 00100100 00111111 01011000 11110101 10010111 10011111 11010101 10101000
c4 cd e6 cf 07 e5 84 fa 2a d7 18 2f 01 61 07 2b
00100011 10110011 01100111 11110011 11100000 10100111 00100001 01011111 01010100 11101011 00011000 11110100 10000000 10000110 11100000 11010100
2a cc 44 d9 26 3c 18 d6 24 c7 87 4d 30 a3 a3 a3
01010100 00110011 00100010 10011011 01100100 00111100 00011000 01101011 00100100 11100011 11100001 10110010 00001100 11000101 11000101 11000101
03 bd 78 33 d7 b8 db 40 6c 32 d9 40 cd b4 6b 23
11000000 10111101 00011110 11001100 11101011 00011101 11011011 00000010 00110110 01001100 10011011 00000010 10110011 00101101 11010110 11000100
39 b4 12 c3 4d 44 cf 37 d0 94 d7 e2 f4 6d 1f 35
10011100 00101101 01001000 11000011 10110010 00100010 11110011 11101100 00001011 00101001 11101011 01000111 00101111 10110110 11111000 10101100
a6 fa 55 e5 88 b0 3b 75 db 4a 4b 49 1d e0 f8 0c
01100101 01011111 10101010 10100111 00010001 00001101 11011100 10101110 11011011 01010010 11010010 10010010 10111000 00000111 00011111 00110000
1b e3 ed 55 0a b0 20 50 4a 33 f4 09 81 dc 2e a1
11011000 11000111 10110111 10101010 01010000 00001101 00000100 00001010 01010010 11001100 00101111 10010000 10000001 00111011 01110100 10000101
4b 26 f6 5b 04 86 4a b3 30 7b 0a d4 60 76 bb 85
11010010 01100100 01101111 11011010 00100000 01100001 01010010 11001101 00001100 11011110 01010000 00101011 00000110 01101110 11011101 10100001
d8 25 1c 94 0c 55 37 60 38 d8 90 f0 ea 60 64 c0
00011011 10100100 00111000 00101001 00110000 10101010 11101100 00000110 00011100 00011011 00001001 00001111 01010111 00000110 00100110 00000011
e3 39 d9 f1 c3 cf 5d 1d 5d 1a 6c c9 94 4b 71 6d
11000111 10011100 10011011 10001111 11000011 11110011 10111010 10111000 10111010 01011000 00110110 10010011 00101001 11010010 10001110 10110110
4e f4 9b 0e 4b 43 6c 32 3f d7 3d a7 9a 25 18 54
01110010 00101111 11011001 01110000 11010010 11000010 00110110 01001100 11111100 11101011 10111100 11100101 01011001 10100100 00011000 00101010
8f 6a 1d b2 4b 71 f0 c8 94 5c cf 08 e9 48 3d 01
11110001 01010110 10111000 01001101 11010010 10001110 00001111 00010011 00101001 00111010 11110011 00010000 10010111 00010010 10111100 10000000
a3 00 21 35 d0 db 17 e5 f2 28 13 36 6e 76 2b ae
11000101 00000000 10000100 10101100 00001011 11011011 11101000 10100111 01001111 00010100 11001000 01101100 01110110 01101110 11010100 01110101
8e ca 00 d6 71 51 d4 03 44 12 bd 09 d8 ea 01 75
01110001 01010011 00000000 01101011 10001110 10001010 00101011 11000000 00100010 01001000 10111101 10010000 00011011 01010111 10000000 10101110
98 c5 79 c0 d2 bf 85 94 d6 44 33 69 93 04 c4 69
00011001 10100011 10011110 00000011 01001011 11111101 10100001 00101001 01101011 00100010 11001100 10010110 11001001 00100000 00100011 10010110
c2 3d f4 c5 09 a3 60 67 ef bf fc f6 db 06 ad 81
01000011 10111100 00101111 10100011 10010000 11000101 00000110 11100110 11110111 11111101 00111111 01101111 11011011 01100000 10110101 10000001
99 7e f5 b3 50 30 a5 31 0d 00 b7 bb 58 e9 2c ba
10011001 01111110 10101111 11001101 00001010 00001100 10100101 10001100 10110000 00000000 11101101 11011101 00011010 10010111 00110100 01011101
02 db a8 5a 30 d5 6b d1 e8 ae 9d 48 7a 4f 9b 7b
01000000 11011011 00010101 01011010 00001100 10101011 11010110 10001011 00010111 01110101 10111001 00010010 01011110 11110010 11011001 11011110
73 4f 54 08 a9 1e 6b 6f dc de ed 4e be 1e 67 93
11001110 11110010 00101010 00010000 10010101 01111000 11010110 11110110 00111011 01111011 10110111 01110010 01111101 01111000 11100110 11001001
d3 af ae b4 b2 da 9d c4 ec 73 7b 97 da 5d 55 ec
11001011 11110101 01110101 00101101 01001101 01011011 10111001 00100011 00110111 11001110 11011110 11101001 01011011 10111010 10101010 00110111
75 a5 9b a1 91 7a bf c1 f1 f5 37 15 c2 56 32 b1
10101110 10100101 11011001 10000101 10001001 01011110 11111101 10000011 10001111 10101111 11101100 10101000 01000011 01101010 01001100 10001101
cd 4a e9 79 9b 7a 0b cf f1 7f cb 3a 61 f7 2e 96
10110011 01010010 10010111 10011110 11011001 01011110 11010000 11110011 10001111 11111110 11010011 01011100 10000110 11101111 01110100 01101001
33 2e 5b 70 e9 25 a5 93 22 3a 51 9f d5 17 be 4d
11001100 01110100 11011010 00001110 10010111 10100100 10100101 11001001 01000100 01011100 10001010 11111001 10101011 11101000 01111101 10110010
06 61 5b 2d f5 72 0c 3e 8e 6a 32 1c c5 c1 b1 69
01100000 10000110 11011010 10110100 10101111 01001110 00110000 01111100 01110001 01010110 01001100 00111000 10100011 10000011 10001101 10010110
cd 8e 01 e2 99 1d a4 6e 58 d2 e1 61 a7 ac f4 82
10110011 01110001 10000000 01000111 10011001 10111000 00100101 01110110 00011010 01001011 10000111 10000110 11100101 00110101 00101111 01000001
28 0b d6 50 df 89 de 2c cb f1 60 de 37 22 99 a8
00010100 11010000 01101011 00001010 11111011 10010001 01111011 00110100 11010011 10001111 00000110 01111011 11101100 01000100 10011001 00010101
ea fc 04 22 60 12 c6 9c 92 84 1c 19 c5 ae 1a 0a
01010111 00111111 00100000 01000100 00000110 01001000 01100011 00111001 01001001 00100001 00111000 10011000 10100011 01110101 01011000 01010000
0f f3 64 3a f9 cc 6b 85 e8 64 8d 18 03 44 e6 88
11110000 11001111 00100110 01011100 10011111 00110011 11010110 10100001 00010111 00100110 10110001 00011000 11000000 00100010 01100111 00010001
ff b7 15 df 9e 25 31 a5 af 35 8d 0a 57 4d 80 b9
11111111 11101101 10101000 11111011 01111001 10100100 10001100 10100101 11110101 10101100 10110001 01010000 11101010 10110010 00000001 10011101
f7 69 c1 05 d3 48 72 9f a9 29 90 e9 14 62 77 ec
11101111 10010110 10000011 10100000 11001011 00010010 01001110 11111001 10010101 10010100 00001001 10010111 00101000 01000110 11101110 00110111
af 2c 14 23 e6 1e 36 25 30 7c dd e4 c4 ec df f5
11110101 00110100 00101000 11000100 01100111 01111000 01101100 10100100 00001100 00111110 10111011 00100111 00100011 00110111 11111011 10101111
69 9a 82 20 89 cb cc 18 5b bc f8 44 e5 5d 7b 4f
10010110 01011001 01000001 00000100 10010001 11010011 00110011 00011000 11011010 00111101 00011111 00100010 10100111 10111010 11011110 11110010
73 c8 ad 5a 24 7b a1 20 32 bb ea 5a 87 64 af b9
11001110 00010011 10110101 01011010 00100100 11011110 10000101 00000100 01001100 11011101 01010111 01011010 11100001 00100110 11110101 10011101
be dd e0 27 f2 60 4c 5a 1f 3e 88 23 1f b4 12 76
01111101 10111011 00000111 11100100 01001111 00000110 00110010 01011010 11111000 01111100 00010001 11000100 11111000 00101101 01001000 01101110
4e 5f 9d 80 ea 25 a6 e2 dc ba 00 61 14 2c 4d 79
01110010 11111010 10111001 00000001 01010111 10100100 01100101 01000111 00111011 01011101 00000000 10000110 00101000 00110100 10110010 10011110
a0 5f 1e e9 4e 05 59 51 26 80 04 f1 24 6f c4 72
00000101 11111010 01111000 10010111 01110010 10100000 10011010 10001010 01100100 00000001 00100000 10001111 00100100 11110110 00100011 01001110
6a 3c 84 51 00 38 b9 10 a8 ea 0b 93 e6 fa b0 53
01010110 00111100 00100001 10001010 00000000 00011100 10011101 00001000 00010101 01010111 11010000 11001001 01100111 01011111 00001101 11001010
b3 38 0d be 6b a4 9c 9d 80 bc 87 1a cb 7c e7 82
11001101 00011100 10110000 01111101 11010110 00100101 00111001 10111001 00000001 00111101 11100001 01011000 11010011 00111110 11100111 01000001
e1 c5 82 6a 69 81 f8 53 a8 6f 21 f3 a4 2e 77 59
10000111 10100011 01000001 01010110 10010110 10000001 00011111 11001010 00010101 11110110 10000100 11001111 00100101 01110100 11101110 10011010
3c a9 9b 00 32 e5 80 d9 a6 04 5d 39 62 aa c8 de
00111100 10010101 11011001 00000000 01001100 10100111 00000001 10011011 01100101 00100000 10111010 10011100 01000110 01010101 00010011 01111011
7a ea 7a c1 86 3a 3e ef c8 c4 78 c2 5c 41 c8 02
01011110 01010111 01011110 10000011 01100001 01011100 01111100 11110111 00010011 00100011 00011110 01000011 00111010 10000010 00010011 01000000
d1 38 44 ef 18 67 e8 55 b1 8d 4b 9a d6 89 3c 0c
10001011 00011100 00100010 11110111 00011000 11100110 00010111 10101010 10001101 10110001 11010010 01011001 01101011 10010001 00111100 00110000
87 a9 4e cd cb 15 58 67 aa fb ce a1 aa 21 90 aa
11100001 10010101 01110010 10110011 11010011 10101000 00011010 11100110 01010101 11011111 01110011 10000101 01010101 10000100 00001001 01010101
87 d9 37 ba 96 d2 42 74 cb d4 c2 74 da ca d8 5b
11100001 10011011 11101100 01011101 01101001 01001011 01000010 00101110 11010011 00101011 01000011 00101110 01011011 01010011 00011011 11011010
04 9e ba 65 77 51 6b e1 97 c4 38 da 27 1a 76 ca
00100000 01111001 01011101 10100110 11101110 10001010 11010110 10000111 11101001 00100011 00011100 01011011 11100100 01011000 01101110 01010011
5f 57 29 ac 2b 38 b4 bb 60 0c a0 9b eb d5 2a cd
11111010 11101010 10010100 00110101 11010100 00011100 00101101 11011101 00000110 00110000 00000101 11011001 11010111 10101011 01010100 10110011
0a 1e ba 64 ec da 81 d6 6a e6 a1 d2 70 5b 4c 5f
01010000 01111000 01011101 00100110 00110111 01011011 10000001 01101011 01010110 01100111 10000101 01001011 00001110 11011010 00110010 11111010
97 30 ce fb 21 4e e3 e9 08 c6 7d 7d cb c2 cf b0
11101001 00001100 01110011 11011111 10000100 01110010 11000111 10010111 00010000 01100011 10111110 10111110 11010011 01000011 11110011 00001101
77 85 e7 12 28 a4 92 4a 16 5d 2e 8a 76 91 b6 63
11101110 10100001 11100111 01001000 00010100 00100101 01001001 01010010 01101000 10111010 01110100 01010001 01101110 10001001 01101101 11000110
3e 2f 3a 8e 04 bc 52 02 fa 38 c6 e9 ca dc f7 2a
01111100 11110100 01011100 01110001 00100000 00111101 01001010 01000000 01011111 00011100 01100011 10010111 01010011 00111011 11101111 01010100
da e6 db 44 36 45 13 67 43 cb 40 6f ab cb 8b 48
01011011 01100111 11011011 00100010 01101100 10100010 11001000 11100110 11000010 11010011 00000010 11110110 11010101 11010011 11010001 00010010
37 36 48 4c ad a9 f7 cf ad 49 e3 bb cd 95 fb 12
11101100 01101100 00010010 00110010 10110101 10010101 11101111 11110011 10110101 10010010 11000111 11011101 10110011 10101001 11011111 01001000
d8 72 08 bf 71 91 fb 6e b7 e2 f1 f2 da 42 ca 12
00011011 01001110 00010000 11111101 10001110 10001001 11011111 01110110 11101101 01000111 10001111 01001111 01011011 01000010 01010011 01001000
1d f8 48 7f 1d 17 2f b6 e8 38 5d 7f 69 a1 bb 52
10111000 00011111 00010010 11111110 10111000 11101000 11110100 01101101 00010111 00011100 10111010 11111110 10010110 10000101 11011101 01001010
0a 6d 6a fa d3 1f 1d e1 bc 2d a3 bb a7 b2 ab 17
01010000 10110110 01010110 01011111 11001011 11111000 10111000 10000111 00111101 10110100 11000101 11011101 11100101 01001101 11010101 11101000
24 74 25 6f b8 86 9a 48 60 f6 a3 7e f9 f2 06 2f
00100100 00101110 10100100 11110110 00011101 01100001 01011001 00010010 00000110 01101111 11000101 01111110 10011111 01001111 01100000 11110100
8c b9 d7 a3 92 75 1c b7 41 12 cb 28 a1 b7 e9 c4
00110001 10011101 11101011 11000101 01001001 10101110 00111000 11101101 10000010 01001000 11010011 00010100 10000101 11101101 10010111 00100011
3b 79 c2 80 7c 51 c7 33 f6 1e 80 58 09 84 e8 02
11011100 10011110 01000011 00000001 00111110 10001010 11100011 11001100 01101111 01111000 00000001 00011010 10010000 00100001 00010111 01000000
8e 2e da 89 38 9e af c1 fe dd b8 41 9b 2a 40 55
01110001 01110100 01011011 10010001 00011100 01111001 11110101 10000011 01111111 10111011 00011101 10000010 11011001 01010100 00000010 10101010
ec 88 92 96 1b c9 0f 0b 3f bb e4 2a 8a 6c e8 20
00110111 00010001 01001001 01101001 11011000 10010011 11110000 11010000 11111100 11011101 00100111 01010100 01010001 00110110 00010111 00000100
21 ff 75 cd 23 00 98 42 98 14 37 b1 c4 67 a3 99
10000100 11111111 10101110 10110011 11000100 00000000 00011001 01000010 00011001 00101000 11101100 10001101 00100011 11100110 11000101 10011001
a4 b2 95 90 fb 31 dd ae d2 8c 9f 2b aa b6 af 35
00100101 01001101 10101001 00001001 11011111 10001100 10111011 01110101 01001011 00110001 11111001 11010100 01010101 01101101 11110101 10101100
ef 41 49 72 ca 7d c3 52 1f 70 ed 49 0a 92 ee ae
11110111 10000010 10010010 01001110 01010011 10111110 11000011 01001010 11111000 00001110 10110111 10010010 01010000 01001001 01110111 01110101
6c e9 83 d8 fb 79 a8 27 c5 96 ac dc 52 25 1e 6c
00110110 10010111 11000001 00011011 11011111 10011110 00010101 11100100 10100011 01101001 00110101 00111011 01001010 10100100 01111000 00110110
e0 3a 8b 37 ce 2c d5 da db 2a 2d a0 c8 12 ac 6e
00000111 01011100 11010001 11101100 01110011 00110100 10101011 01011011 11011011 01010100 10110100 00000101 00010011 01001000 00110101 01110110
9b 8a c0 b6 84 01 b7 f4 13 70 bc 82 7c 6c 8e e9
11011001 01010001 00000011 01101101 00100001 10000000 11101101 00101111 11001000 00001110 00111101 01000001 00111110 00110110 01110001 10010111
82 4c 0a 7a ed 32 55 a0 4b 6b b8 d9 ea 1d 4c 48
01000001 00110010 01010000 01011110 10110111 01001100 10101010 00000101 11010010 11010110 00011101 10011011 01010111 10111000 00110010 00010010
e3 10 2f 2c f3 0c c8 26 c0 0c d2 75 51 de a4 c2
11000111 00001000 11110100 00110100 11001111 00110000 00010011 01100100 00000011 00110000 01001011 10101110 10001010 01111011 00100101 01000011
37 33 c5 51 2c 30 01 be 58 30 0e 9f af bf d2 cb
11101100 11001100 10100011 10001010 00110100 00001100 10000000 01111101 00011010 00001100 01110000 11111001 11110101 11111101 01001011 11010011
15 28 46 a5 19 c8 b4 7e b1 8f 3e 11 b3 f8 a1 23
10101000 00010100 01100010 10100101 10011000 00010011 00101101 01111110 10001101 11110001 01111100 10001000 11001101 00011111 10000101 11000100
ea 2f 51 47 29 b8 0e bd aa 58 19 94 ef 29 ea f1
01010111 11110100 10001010 11100010 10010100 00011101 01110000 10111101 01010101 00011010 10011000 00101001 11110111 10010100 01010111 10001111
86 dc 56 64 00 8b 69 a3 eb 55 b5 de 2f b9 7f c9
01100001 00111011 01101010 00100110 00000000 11010001 10010110 11000101 11010111 10101010 10101101 01111011 11110100 10011101 11111110 10010011
5f b0 a7 39 3b 43 6a 2b 75 6d 8d 56 7e 4e a6 2b
11111010 00001101 11100101 10011100 11011100 11000010 01010110 11010100 10101110 10110110 10110001 01101010 01111110 01110010 01100101 11010100
98 ef 22 fb 62 1b f1 ae 1a 5e 51 2f ef 43 44 78
00011001 11110111 01000100 11011111 01000110 11011000 10001111 01110101 01011000 01111010 10001010 11110100 11110111 11000010 00100010 00011110
cf 63 9e ae 78 d2 94 e0 1e fb 06 d4 33 a9 0a 8a
11110011 11000110 01111001 01110101 00011110 01001011 00101001 00000111 01111000 11011111 01100000 00101011 11001100 10010101 01010000 01010001
a5 27 51 b2 9d 1b 71 81 02 e4 8a b4 84 f4 9f 3d
10100101 11100100 10001010 01001101 10111001 11011000 10001110 10000001 01000000 00100111 01010001 00101101 00100001 00101111 11111001 10111100
cd 9f 51 63 5f aa 5a c7 60 ca db c6 94 32 86 74
10110011 11111001 10001010 11000110 11111010 01010101 01011010 11100011 00000110 01010011 11011011 01100011 00101001 01001100 01100001 00101110
0d 71 0e 69 1a 56 41 af 71 22 c1 9c 7a 22 0d db
10110000 10001110 01110000 10010110 01011000 01101010 10000010 11110101 10001110 01000100 10000011 00111001 01011110 01000100 10110000 11011011
12 f6 49 b0 62 db 4b 67 6e be 7c 7a 50 35 11 b1
01001000 01101111 10010010 00001101 01000110 11011011 11010010 11100110 01110110 01111101 00111110 01011110 00001010 10101100 10001000 10001101
a6 0d e6 21 d0 b4 61 5c a6 c8 8e ac f3 ee 1a fa
01100101 10110000 01100111 10000100 00001011 00101101 10000110 00111010 01100101 00010011 01110001 00110101 11001111 01110111 01011000 01011111
14 c2 98 b7 83 ef e7 76 c5 89 43 f7 87 37 c7 4b
00101000 01000011 00011001 11101101 11000001 11110111 11100111 01101110 10100011 10010001 11000010 11101111 11100001 11101100 11100011 11010010
72 7f d5 80 78 0a 64 34 b3 ce d1 ab c2 7d 4b fb
01001110 11111110 10101011 00000001 00011110 01010000 00100110 00101100 11001101 01110011 10001011 11010101 01000011 10111110 11010010 11011111
8a a9 07 f0 2d b4 9b dc b1 99 7f d4 33 66 ce 59
01010001 10010101 11100000 00001111 10110100 00101101 11011001 00111011 10001101 10011001 11111110 00101011 11001100 01100110 01110011 10011010
7d 3b 18 a7 1f ed d8 d6 0c 8c e6 32 01 41 86 56
10111110 11011100 00011000 11100101 11111000 10110111 00011011 01101011 00110000 00110001 01100111 01001100 10000000 10000010 01100001 01101010
aa 2b 08 6c 61 a0 8e 03 7a 85 18 d2 67 f9 46 6b
01010101 11010100 00010000 00110110 10000110 00000101 01110001 11000000 01011110 10100001 00011000 01001011 11100110 10011111 01100010 11010110
39 b1 da 70 cc 82 20 29 87 10 8d bb ae 73 6c 2b
10011100 10001101 01011011 00001110 00110011 01000001 00000100 10010100 11100001 00001000 10110001 11011101 01110101 11001110 00110110 11010100
31 87 78 58 c4 bc 0d 25 20 18 fb 58 a1 2f 8a 34
10001100 11100001 00011110 00011010 00100011 00111101 10110000 10100100 00000100 00011000 11011111 00011010 10000101 11110100 01010001 00101100
11 17 77 66 d1 a5 7c 08 26 1d 2c 20 ac e4 3f 57
10001000 11101000 11101110 01100110 10001011 10100101 00111110 00010000 01100100 10111000 00110100 00000100 00110101 00100111 11111100 11101010
3c a6 d0 13 7c df 58 dc a5 7a a8 d3 24 23 cf 65
00111100 01100101 00001011 11001000 00111110 11111011 00011010 00111011 10100101 01011110 00010101 11001011 00100100 11000100 11110011 10100110
b5 66 78 4d 4b 08 aa 84 b2 dc c2 36 d7 a8 99 52
10101101 01100110 00011110 10110010 11010010 00010000 01010101 00100001 01001101 00111011 01000011 01101100 11101011 00010101 10011001 01001010
04 4d 96 4b 2a 2d 66 70 ff 48 d6 77 f1 ac 76 24
00100000 10110010 01101001 11010010 01010100 10110100 01100110 00001110 11111111 00010010 01101011 11101110 10001111 00110101 01101110 00100100
b2 9a 91 62 11 a1 5f f8 ae a9 02 a7 e2 85 64 98
01001101 01011001 10001001 01000110 10001000 10000101 11111010 00011111 01110101 10010101 01000000 11100101 01000111 10100001 00100110 00011001
49 bd 82 dc aa 04 6d f2 82 29 bd a8 8e 8e 2f 6f
10010010 10111101 01000001 00111011 01010101 00100000 10110110 01001111 01000001 10010100 10111101 00010101 01110001 01110001 11110100 11110110
18 dd ab 4e a7 b3 55 67 88 ba fb a2 a7 19 b6 31
00011000 10111011 11010101 01110010 11100101 11001101 10101010 11100110 00010001 01011101 11011111 01000101 11100101 10011000 01101101 10001100
60 ef 1b de d6 6d cf d7 ac 73 87 9a aa 57 a9 ef
00000110 11110111 11011000 01111011 01101011 10110110 11110011 11101011 00110101 11001110 11100001 01011001 01010101 11101010 10010101 11110111
39 ab 72 e7 7f 7f 62 7a 11 dc 3d f2 30 35 97 de
10011100 11010101 01001110 11100111 11111110 11111110 01000110 01011110 10001000 00111011 10111100 01001111 00001100 10101100 11101001 01111011
63 7f 9c ea 02 69 6f b8 7d fb d5 ce ba 25 90 6a
11000110 11111110 00111001 01010111 01000000 10010110 11110110 00011101 10111110 11011111 10101011 01110011 01011101 10100100 00001001 01010110
62 2a de 75 b5 4d 1c 94 fc 56 5d 81 52 13 ba 97
01000110 01010100 01111011 10101110 10101101 10110010 00111000 00101001 00111111 01101010 10111010 10000001 01001010 11001000 01011101 11101001
85 3d 4c 3a 6d 47 db 06 76 fa 3d 58 f3 db 4f 6f
10100001 10111100 00110010 01011100 10110110 11100010 11011011 01100000 01101110 01011111 10111100 00011010 11001111 11011011 11110010 11110110
ff 7b 81 f9 05 54 7a 58 f7 88 a3 0c 1f e2 48 26
11111111 11011110 10000001 10011111 10100000 00101010 01011110 00011010 11101111 00010001 11000101 00110000 11111000 01000111 00010010 01100100
f0 c5 0b 20 5a 47 5c 71 e0 89 56 8d 38 b6 fa 76
00001111 10100011 11010000 00000100 01011010 11100010 00111010 10001110 00000111 10010001 01101010 10110001 00011100 01101101 01011111 01101110
9a 7b 97 03 b3 26 a2 d7 fa 1f 3e 11 a1 6d 99 a8
01011001 11011110 11101001 11000000 11001101 01100100 01000101 11101011 01011111 11111000 01111100 10001000 10000101 10110110 10011001 00010101
ec 55 71 4c bf 17 52 2c 8d 06 42 61 0a 2f 0e 73
00110111 10101010 10001110 00110010 11111101 11101000 01001010 00110100 10110001 01100000 01000010 10000110 01010000 11110100 01110000 11001110
0d 47 62 1c f1 9a 2a ef 8e 6a 95 2c 93 8b 79 10
10110000 11100010 01000110 00111000 10001111 01011001 01010100 11110111 01110001 01010110 10101001 00110100 11001001 11010001 10011110 00001000
a7 79 75 cf 34 e7 65 24 27 40 23 a9 30 bd 7d 35
11100101 10011110 10101110 11110011 00101100 11100111 10100110 00100100 11100100 00000010 11000100 10010101 00001100 10111101 10111110 10101100
68 8b 91 ae 38 61 fe 3f 5f 7a 96 2c 63 43 00 00
00010110 11010001 10001001 01110101 00011100 10000110 01111111 11111100 11111010 01011110 01101001 00110100 11000110 11000010 00000000 00000000
I'll start by focusing on the first line of figure 3:
20 21 22 23 24 25 26 27 28 29 30 31 32
bd 1b fd 6f da c8 f2 77 fe 8a 6d 4e 4d
10111101 11011000 10111111 11110110 01011011 00010011 01001111 11101110 01111111 01010001 10110110 01110010 10110010
As described in part 1, the first bit is a "block" indicator - if it's set to 1, which it is in
this case, then this is the last "block" in the file. You'll see multiple blocks in very large
gzipped files, but this one is small enough that it only needs one block. The following two bits,
01
in this case, are the block format. Here
the block format is "dynamic huffman tree" indicating that the next bit sequence is a Huffman
key to a Huffman coded representation of another Huffman key to the Huffman coded
representation of the actual gzipped content. This is followed by the 5-bit length of the
literals tree, the 5-bit length of the distance tree and the 3-bit length of the initial Huffman
key.
So, bytes 20-22 of the attached file — 0xbd 0x1b 0xfd
, whose little-endian bit
representation is 1 01 11101 11011 0001 0111111
— are interpreted as (remember to
read the bits in the table "backwards"):
1 | last block in this file |
01 | 2: dynamic huffman table |
11101 | 23 literals codes |
11011 | 27 distance codes |
0001 | 8 keys in the following huffman key table |
0111111
of byte 22, 0xFD
, are unused (so
far).
Since there are always at least five entries in the dynamic huffman key table, add 4 to 8 to get the actual count of twelve. That means that there are 12 3-bit codes that describe a Huffman table that is itself the key to the following Huffman table.
Bit pattern | numeric value | length of huffman code |
---|---|---|
011 | 6 | 16 |
111 | 7 | 17 |
111 | 7 | 18 |
110 | 3 | 0 |
110 | 3 | 8 |
010 | 2 | 7 |
110 | 3 | 9 |
110 | 3 | 6 |
001 | 4 | 10 |
001 | 4 | 5 |
101 | 5 | 11 |
001 | 4 | 4 |
Indicating that the Huffman codes that encode the subsequent table are:
010: 0
1100: 4
1101: 5
011: 6
00: 7
100: 8
101: 9
1110: 10
11110: 11
111110: 16
1111110: 17
1111111: 18
At this point, I've read a little more than half-way through byte 26 of the first line of figure 3, and the file
pointer is set to:
26 27 28 29 30 31 32
f2 77 fe 8a 6d 4e 4d
01001111 11101110 01111111 01010001 10110110 01110010 10110010
^
This is followed by the 308 codes-worth of Huffman-code lengths shown in figure 7 (recall that this is additionally run-length encoded, so there aren't 308 actual code values here):
Jump to bottomHuffman code | value | repeat count | Notes |
---|---|---|---|
1111110 | 17 | 10 | first 10 codes (0-9) are empty, don't appear |
00 | 7 | The code for the literal value 10 is seven bits | |
1111111 | 18 | 21 | 21 more zeros; values 11-31 don't appear |
1101 | 5 | The code for value 32 is five bits | |
101 | 9 | The code for value 33 is 9 bits | |
100 | 8 | ... | |
1110 | 10 | ||
010 | 0 | ||
101 | 9 | ||
100 | 8 | ||
101 | 9 | ||
00 | 7 | ||
100 | 8 | ||
100 | 8 | ||
100 | 8 | ||
00 | 7 | ||
00 | 7 | ||
00 | 7 | ||
101 | 9 | ||
00 | 7 | ||
011 | 6 | ||
00 | 7 | ||
00 | 7 | ||
100 | 8 | ||
00 | 7 | ||
00 | 7 | ||
100 | 8 | ||
00 | 7 | ||
100 | 8 | ||
101 | 9 | ||
00 | 7 | ||
100 | 8 | ||
00 | 7 | ||
100 | 8 | ||
1110 | 10 | ||
010 | 0 | ||
101 | 9 | ||
1110 | 10 | ||
101 | 9 | ||
101 | 9 | ||
100 | 8 | ||
101 | 9 | ||
010 | 0 | ||
1110 | 10 | ||
101 | 9 | ||
010 | 0 | ||
010 | 0 | ||
1110 | 10 | ||
101 | 9 | ||
101 | 9 | ||
101 | 9 | ||
11110 | 11 | ||
010 | 0 | ||
101 | 9 | ||
111110 | 16 | 3 | |
010 | 0 | ||
010 | 0 | ||
1110 | 10 | ||
010 | 0 | ||
11110 | 11 | ||
101 | 9 | ||
11110 | 11 | ||
101 | 9 | ||
010 | 0 | ||
00 | 7 | ||
010 | 0 | ||
011 | 6 | ||
00 | 7 | ||
011 | 6 | ||
011 | 6 | ||
1101 | 5 | ||
00 | 7 | ||
100 | 8 | ||
00 | 7 | ||
011 | 6 | ||
100 | 8 | ||
101 | 9 | ||
011 | 6 | ||
00 | 7 | ||
011 | 6 | ||
011 | 6 | ||
00 | 7 | ||
010 | 0 | ||
011 | 6 | ||
011 | 6 | ||
011 | 6 | ||
00 | 7 | ||
100 | 8 | ||
100 | 8 | ||
101 | 9 | ||
100 | 8 | ||
1110 | 10 | ||
1110 | 10 | ||
1110 | 10 | ||
100 | 8 | ||
1111111 | 18 | 130 | 130 consecutive 0's, indicating that the codes from 126-255 are not included in this table |
11110 | 11 | ||
1100 | 4 | ||
1100 | 4 | ||
1100 | 4 | ||
1101 | 5 | ||
111110 | 16 | 3 | |
011 | 6 | ||
1101 | 5 | ||
1101 | 5 | ||
1101 | 5 | ||
011 | 6 | ||
011 | 6 | ||
00 | 7 | ||
00 | 7 | ||
00 | 7 | ||
100 | 8 | ||
100 | 8 | ||
100 | 8 | ||
1110 | 10 | ||
1110 | 10 | ||
010 | 0 | ||
1110 | 10 | ||
100 | 8 | ||
101 | 9 | ||
111110 | 16 | 3 | |
100 | 8 | ||
00 | 7 | ||
00 | 7 | ||
1101 | 5 | ||
011 | 6 | ||
1100 | 4 | ||
1100 | 4 | ||
1100 | 4 | ||
1101 | 5 | ||
1100 | 4 | ||
1101 | 5 | ||
1100 | 4 | ||
1101 | 5 | ||
1100 | 4 | ||
111110 | 16 | 6 | |
1101 | 5 | ||
1101 | 5 | ||
011 | 6 |
Which work out to two Huffman code trees — one for the literals:
1011000: 10
00110: 32
111100100: 33
11011110: 34
1111110010: 35
111100101: 37
11011111: 38
111100110: 39
1011001: 40
11100000: 41
11100001: 42
11100010: 43
1011010: 44
1011011: 45
1011100: 46
111100111: 47
1011101: 48
011110: 49
1011110: 50
1011111: 51
11100011: 52
1100000: 53
1100001: 54
11100100: 55
1100010: 56
11100101: 57
111101000: 58
1100011: 59
11100110: 60
1100100: 61
11100111: 62
1111110011: 63
111101001: 65
1111110100: 66
111101010: 67
111101011: 68
11101000: 69
111101100: 70
1111110101: 72
111101101: 73
1111110110: 76
111101110: 77
111101111: 78
111110000: 79
11111111100: 80
111110001: 82
111110010: 83
111110011: 84
111110100: 85
1111110111: 88
11111111101: 90
111110101: 91
11111111110: 92
111110110: 93
1100101: 95
011111: 97
1100110: 98
100000: 99
100001: 100
00111: 101
1100111: 102
11101001: 103
1101000: 104
100010: 105
11101010: 106
111110111: 107
100011: 108
1101001: 109
100100: 110
100101: 111
1101010: 112
100110: 114
100111: 115
101000: 116
1101011: 117
11101011: 118
11101100: 119
111111000: 120
11101101: 121
1111111000: 122
1111111001: 123
1111111010: 124
11101110: 125
11111111111: 256
0000: 257
0001: 258
0010: 259
01000: 260
01001: 261
01010: 262
01011: 263
101001: 264
01100: 265
01101: 266
01110: 267
101010: 268
101011: 269
1101100: 270
1101101: 271
1101110: 272
11101111: 273
11110000: 274
11110001: 275
1111111011: 276
1111111100: 277
1111111101: 279
and a smaller one for the distances:
11111100: 0
111111100: 1
111111101: 2
111111110: 3
111111111: 4
11111101: 5
1111100: 6
1111101: 7
11000: 8
111100: 9
0000: 10
0001: 11
0010: 12
11001: 13
0011: 14
11010: 15
0100: 16
11011: 17
0101: 18
0110: 19
0111: 20
1000: 21
1001: 22
1010: 23
1011: 24
11100: 25
11101: 26
111101: 27
These tables make a lot of sense if you think about the nature of the file that was compressed — it's C source code, so it's ASCII-encoded. The byte value 10 appears fairly often: that's the line-ending code, so it gets a literal code. 32 is the ASCII code for a space character, so it gets a short Huffman code since it appears quite a bit. Although there are codes here for 33, 34 and 35 (ASCII !, " and #, respectively), the $ character 36 never appears in the zipped source, so no code is defined for it. There are codes here for most of the capital letters (range 65-90), but notice that their literals codes are relatively long, since there aren't many capital letters in the actual source code file. The lower-case letters (97-122) get shorter codes in the literals table, since they appear more often than the upper-case characters. The non-printable ASCII characters less than 32 (other than the CR code 10) and greater than 128 don't have codes because they don't appear in the source file.
At this point, the decompression values have read the full Huffman codes for the actual payload,
which follows immediately. The last few bits that were read by the decompressor were:
1101 1101 011, which were 5, 5 and 6, according to the dynamic Huffman table from
Figure 6. At this point, 86 bytes of the file have been consumed, and the
file pointer is at the sixth byte of the fifth line of Figure 3 (hexadecimal eb
), pointed at the very last bit of the byte (remember, this is the most
significant bit, because we're working LSB to MSB):
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
b3 b3 b3 f3 bd eb 9f a2 24 88 d7 21 67 67 79 11
11001101 11001101 11001101 11001111 10111101 11010111 11111001 01000101 00100100 00010001 11101011 10000100 11100110 11100110 10011110 10001000
^
Almost all of the remainder of the file (until the trailer, which begins on byte 4696) is interpreted according to the Huffman tables in figures 8 and 9. As you can see, the Huffman compression tables are very efficient; only 65 bytes of the 4,704-byte gzipped file are "dictionary" information that's needed to interpret the remainder of the file, with an additional 20 bytes of header information and 8 bytes of trailer information.
So far, though, I haven't shown any Lempel-Ziv compression! At this point, all I have are the Huffman codes that represent four types of codes: a "normal" byte that should be inflated to its representative value, a stop code that indicates that compression should halt (i.e. EOF), a length code that indicates a "back pointer" to a prior part of the uncompressed output that should be represented and length codes that indicate how much of the previous data should be copied. Figure 10, below, shows the entire process and details how each code is interpreted; again, refer to RFC 1951 or my earlier discussion of GZIP/DEFLATE to fully interpret the details below.
Jump to bottomByte number | Bits read | Corresponding (Huffman code) | Type (normal, stop or distance) | ASCII value (for normal codes) | Extra bits (codes 265-285) | Length | Distance bits read | Extra distance (distance codes 3+) | Distance (Huffman code) | copied value |
---|---|---|---|---|---|---|---|---|---|---|
86 | 1111110010 | 35 | normal byte | # | ||||||
88 | 100010 | 105 | normal byte | i | ||||||
88 | 100100 | 110 | normal byte | n | ||||||
89 | 100000 | 99 | normal byte | c | ||||||
90 | 100011 | 108 | normal byte | l | ||||||
91 | 1101011 | 117 | normal byte | u | ||||||
92 | 100001 | 100 | normal byte | d | ||||||
92 | 00111 | 101 | normal byte | e | ||||||
93 | 00110 | 32 | normal byte | |||||||
94 | 11100110 | 60 | normal byte | < | ||||||
95 | 100111 | 115 | normal byte | s | ||||||
95 | 101000 | 116 | normal byte | t | ||||||
96 | 100001 | 100 | normal byte | d | ||||||
97 | 100010 | 105 | normal byte | i | ||||||
98 | 100101 | 111 | normal byte | o | ||||||
98 | 1011100 | 46 | normal byte | . | ||||||
99 | 1101000 | 104 | normal byte | h | ||||||
100 | 11100111 | 62 | normal byte | > | ||||||
101 | 1011000 | 10 | normal byte | \n | ||||||
102 | 1111110010 | 35 | normal byte | # | ||||||
103 | 01100 | 265 | distance code | 1 | 12 | 11000 | 2 | 18 | include <std | |
105 | 100011 | 108 | normal byte | l | ||||||
106 | 100010 | 105 | normal byte | i | ||||||
106 | 1100110 | 98 | normal byte | b | ||||||
107 | 01110 | 267 | distance code | 1 | 16 | 11000 | 3 | 19 | .h>\n#include <st | |
109 | 100110 | 114 | normal byte | r | ||||||
110 | 100010 | 105 | normal byte | i | ||||||
111 | 100100 | 110 | normal byte | n | ||||||
111 | 11101001 | 103 | normal byte | g | ||||||
112 | 01101 | 266 | distance code | 1 | 14 | 11000 | 3 | 19 | .h>\n#include < | |
114 | 00111 | 101 | normal byte | e | ||||||
115 | 100110 | 114 | normal byte | r | ||||||
115 | 100110 | 114 | normal byte | r | ||||||
116 | 100100 | 110 | normal byte | n | ||||||
117 | 01110 | 267 | distance code | 0 | 15 | 0001 | 10 | 58 | o.h>\n#include < | |
119 | 011111 | 97 | normal byte | a | ||||||
119 | 100111 | 115 | normal byte | s | ||||||
120 | 100111 | 115 | normal byte | s | ||||||
121 | 00111 | 101 | normal byte | e | ||||||
122 | 100110 | 114 | normal byte | r | ||||||
122 | 101000 | 116 | normal byte | t | ||||||
123 | 0001 | 258 | distance code | 4 | 11000 | 3 | 19 | .h>\n | ||
125 | 1011000 | 10 | normal byte | \n | ||||||
125 | 111100111 | 47 | normal byte | / | ||||||
127 | 111100111 | 47 | normal byte | / | ||||||
128 | 00110 | 32 | normal byte | |||||||
128 | 1101000 | 104 | normal byte | h | ||||||
129 | 00111 | 101 | normal byte | e | ||||||
130 | 011111 | 97 | normal byte | a | ||||||
131 | 100001 | 100 | normal byte | d | ||||||
131 | 00111 | 101 | normal byte | e | ||||||
132 | 100110 | 114 | normal byte | r | ||||||
133 | 00110 | 32 | normal byte | |||||||
133 | 100111 | 115 | normal byte | s | ||||||
134 | 00111 | 101 | normal byte | e | ||||||
135 | 1101010 | 112 | normal byte | p | ||||||
136 | 011111 | 97 | normal byte | a | ||||||
136 | 100110 | 114 | normal byte | r | ||||||
137 | 011111 | 97 | normal byte | a | ||||||
138 | 101000 | 116 | normal byte | t | ||||||
139 | 00111 | 101 | normal byte | e | ||||||
139 | 100001 | 100 | normal byte | d | ||||||
140 | 00110 | 32 | normal byte | |||||||
141 | 1100111 | 102 | normal byte | f | ||||||
141 | 100110 | 114 | normal byte | r | ||||||
142 | 100101 | 111 | normal byte | o | ||||||
143 | 1101001 | 109 | normal byte | m | ||||||
144 | 00110 | 32 | normal byte | |||||||
144 | 1101001 | 109 | normal byte | m | ||||||
145 | 011111 | 97 | normal byte | a | ||||||
146 | 100010 | 105 | normal byte | i | ||||||
147 | 100100 | 110 | normal byte | n | ||||||
148 | 00110 | 32 | normal byte | |||||||
148 | 0000 | 257 | distance code | 3 | 0010 | 15 | 79 | str | ||
150 | 1101011 | 117 | normal byte | u | ||||||
151 | 100000 | 99 | normal byte | c | ||||||
151 | 101000 | 116 | normal byte | t | ||||||
152 | 00110 | 32 | normal byte | |||||||
153 | 1100111 | 102 | normal byte | f | ||||||
154 | 100101 | 111 | normal byte | o | ||||||
154 | 100110 | 114 | normal byte | r | ||||||
155 | 00110 | 32 | normal byte | |||||||
156 | 101000 | 116 | normal byte | t | ||||||
157 | 1101000 | 104 | normal byte | h | ||||||
157 | 00111 | 101 | normal byte | e | ||||||
158 | 00110 | 32 | normal byte | |||||||
159 | 11011110 | 34 | normal byte | " | ||||||
160 | 100111 | 115 | normal byte | s | ||||||
160 | 100010 | 105 | normal byte | i | ||||||
161 | 1111111000 | 122 | normal byte | z | ||||||
162 | 00111 | 101 | normal byte | e | ||||||
163 | 100101 | 111 | normal byte | o | ||||||
164 | 1100111 | 102 | normal byte | f | ||||||
165 | 11011110 | 34 | normal byte | " | ||||||
166 | 00110 | 32 | normal byte | |||||||
166 | 1100110 | 98 | normal byte | b | ||||||
167 | 00111 | 101 | normal byte | e | ||||||
168 | 100011 | 108 | normal byte | l | ||||||
169 | 100101 | 111 | normal byte | o | ||||||
169 | 11101100 | 119 | normal byte | w | ||||||
170 | 1011000 | 10 | normal byte | \n | ||||||
171 | 101000 | 116 | normal byte | t | ||||||
172 | 11101101 | 121 | normal byte | y | ||||||
173 | 1101010 | 112 | normal byte | p | ||||||
174 | 00111 | 101 | normal byte | e | ||||||
174 | 100001 | 100 | normal byte | d | ||||||
175 | 00111 | 101 | normal byte | e | ||||||
176 | 1100111 | 102 | normal byte | f | ||||||
177 | 01001 | 261 | distance code | 7 | 0000 | 5 | 37 | struct | ||
178 | 1011000 | 10 | normal byte | \n | ||||||
179 | 1111111001 | 123 | normal byte | { | ||||||
180 | 1011000 | 10 | normal byte | \n | ||||||
181 | 00110 | 32 | normal byte | |||||||
182 | 00110 | 32 | normal byte | |||||||
183 | 1101011 | 117 | normal byte | u | ||||||
183 | 100100 | 110 | normal byte | n | ||||||
184 | 100111 | 115 | normal byte | s | ||||||
185 | 100010 | 105 | normal byte | i | ||||||
186 | 11101001 | 103 | normal byte | g | ||||||
187 | 100100 | 110 | normal byte | n | ||||||
187 | 0000 | 257 | distance code | 3 | 0010 | 3 | 67 | ed | ||
189 | 100000 | 99 | normal byte | c | ||||||
190 | 1101000 | 104 | normal byte | h | ||||||
191 | 011111 | 97 | normal byte | a | ||||||
191 | 100110 | 114 | normal byte | r | ||||||
192 | 00110 | 32 | normal byte | |||||||
193 | 100010 | 105 | normal byte | i | ||||||
194 | 100001 | 100 | normal byte | d | ||||||
194 | 111110101 | 91 | normal byte | [ | ||||||
195 | 00110 | 32 | normal byte | |||||||
196 | 1011110 | 50 | normal byte | 2 | ||||||
197 | 00110 | 32 | normal byte | |||||||
198 | 111110110 | 93 | normal byte | ] | ||||||
199 | 1100011 | 59 | normal byte | ; | ||||||
200 | 101010 | 268 | distance code | 0 | 17 | 111100 | 0 | 24 | \n unsigned char | |
202 | 100000 | 99 | normal byte | c | ||||||
202 | 100101 | 111 | normal byte | o | ||||||
203 | 1101001 | 109 | normal byte | m | ||||||
204 | 1101010 | 112 | normal byte | p | ||||||
205 | 100110 | 114 | normal byte | r | ||||||
206 | 00111 | 101 | normal byte | e | ||||||
206 | 100111 | 115 | normal byte | s | ||||||
207 | 100111 | 115 | normal byte | s | ||||||
208 | 100010 | 105 | normal byte | i | ||||||
208 | 100101 | 111 | normal byte | o | ||||||
209 | 100100 | 110 | normal byte | n | ||||||
210 | 1100101 | 95 | normal byte | _ | ||||||
211 | 1101001 | 109 | normal byte | m | ||||||
212 | 00111 | 101 | normal byte | e | ||||||
212 | 101000 | 116 | normal byte | t | ||||||
213 | 1101000 | 104 | normal byte | h | ||||||
214 | 100101 | 111 | normal byte | o | ||||||
215 | 100001 | 100 | normal byte | d | ||||||
215 | 101010 | 268 | distance code | 1 | 18 | 0000 | 3 | 35 | ;\n unsigned char | |
217 | 1100111 | 102 | normal byte | f | ||||||
218 | 100011 | 108 | normal byte | l | ||||||
219 | 011111 | 97 | normal byte | a | ||||||
220 | 11101001 | 103 | normal byte | g | ||||||
221 | 100111 | 115 | normal byte | s | ||||||
221 | 101010 | 268 | distance code | 1 | 18 | 11000 | 6 | 22 | ;\n unsigned char | |
223 | 1101001 | 109 | normal byte | m | ||||||
224 | 101000 | 116 | normal byte | t | ||||||
225 | 100010 | 105 | normal byte | i | ||||||
226 | 1101001 | 109 | normal byte | m | ||||||
227 | 00111 | 101 | normal byte | e | ||||||
227 | 111110101 | 91 | normal byte | [ | ||||||
228 | 00110 | 32 | normal byte | |||||||
229 | 11100011 | 52 | normal byte | 4 | ||||||
230 | 101011 | 269 | distance code | 1 | 20 | 0010 | 22 | 86 | ];\n unsigned char | |
232 | 00111 | 101 | normal byte | e | ||||||
233 | 111111000 | 120 | normal byte | x | ||||||
234 | 101000 | 116 | normal byte | t | ||||||
235 | 100110 | 114 | normal byte | r | ||||||
235 | 011111 | 97 | normal byte | a | ||||||
236 | 1100101 | 95 | normal byte | _ | ||||||
237 | 1101100 | 270 | distance code | 0 | 23 | 0001 | 8 | 56 | flags;\n unsigned char | |
239 | 100101 | 111 | normal byte | o | ||||||
240 | 0000 | 257 | distance code | 3 | 11000 | 3 | 19 | s;\n | ||
241 | 11101110 | 125 | normal byte | } | ||||||
242 | 1011000 | 10 | normal byte | \n | ||||||
243 | 11101001 | 103 | normal byte | g | ||||||
244 | 1111111000 | 122 | normal byte | z | ||||||
245 | 100010 | 105 | normal byte | i | ||||||
246 | 1101010 | 112 | normal byte | p | ||||||
247 | 1100101 | 95 | normal byte | _ | ||||||
248 | 01000 | 260 | distance code | 6 | 11010 | 49 | 241 | header | ||
250 | 1100011 | 59 | normal byte | ; | ||||||
251 | 1011000 | 10 | normal byte | \n | ||||||
252 | 101011 | 269 | distance code | 1 | 20 | 11010 | 1 | 193 | \ntypedef struct\n{\n | |
254 | 01100 | 265 | distance code | 0 | 11 | 0000 | 0 | 32 | gzip_header | |
256 | 00110 | 32 | normal byte | |||||||
256 | 01010 | 262 | distance code | 8 | 0000 | 7 | 39 | header;\n | ||
258 | 01100 | 265 | distance code | 0 | 11 | 0010 | 10 | 74 | unsigned | |
260 | 100111 | 115 | normal byte | s | ||||||
261 | 1101000 | 104 | normal byte | h | ||||||
262 | 100101 | 111 | normal byte | o | ||||||
262 | 100110 | 114 | normal byte | r | ||||||
263 | 101000 | 116 | normal byte | t | ||||||
264 | 00110 | 32 | normal byte | |||||||
264 | 111111000 | 120 | normal byte | x | ||||||
266 | 100011 | 108 | normal byte | l | ||||||
266 | 00111 | 101 | normal byte | e | ||||||
267 | 100100 | 110 | normal byte | n | ||||||
268 | 101010 | 268 | distance code | 1 | 18 | 11001 | 1 | 97 | ;\n unsigned char | |
270 | 11100001 | 42 | normal byte | * | ||||||
271 | 0010 | 259 | distance code | 5 | 11001 | 31 | 127 | extra | ||
273 | 101011 | 269 | distance code | 0 | 19 | 11000 | 7 | 23 | ;\n unsigned char * | |
275 | 1100111 | 102 | normal byte | f | ||||||
275 | 100100 | 110 | normal byte | n | ||||||
276 | 011111 | 97 | normal byte | a | ||||||
277 | 1101001 | 109 | normal byte | m | ||||||
278 | 00111 | 101 | normal byte | e | ||||||
278 | 101011 | 269 | distance code | 1 | 20 | 11000 | 7 | 23 | ;\n unsigned char *f | |
280 | 0000 | 257 | distance code | 3 | 0100 | 7 | 263 | com | ||
282 | 1101001 | 109 | normal byte | m | ||||||
283 | 00111 | 101 | normal byte | e | ||||||
284 | 100100 | 110 | normal byte | n | ||||||
285 | 101000 | 116 | normal byte | t | ||||||
285 | 101011 | 269 | distance code | 0 | 19 | 11001 | 1 | 97 | ;\n unsigned short | |
288 | 100000 | 99 | normal byte | c | ||||||
288 | 100110 | 114 | normal byte | r | ||||||
289 | 100000 | 99 | normal byte | c | ||||||
290 | 011110 | 49 | normal byte | 1 | ||||||
291 | 1100001 | 54 | normal byte | 6 | ||||||
291 | 1100011 | 59 | normal byte | ; | ||||||
292 | 00110 | 32 | normal byte | |||||||
293 | 0000 | 257 | distance code | 3 | 11011 | 30 | 414 | // | ||
295 | 101000 | 116 | normal byte | t | ||||||
296 | 1101000 | 104 | normal byte | h | ||||||
297 | 100010 | 105 | normal byte | i | ||||||
297 | 100111 | 115 | normal byte | s | ||||||
298 | 00110 | 32 | normal byte | |||||||
299 | 1101010 | 112 | normal byte | p | ||||||
300 | 100110 | 114 | normal byte | r | ||||||
300 | 100101 | 111 | normal byte | o | ||||||
301 | 101000 | 116 | normal byte | t | ||||||
302 | 00111 | 101 | normal byte | e | ||||||
302 | 100000 | 99 | normal byte | c | ||||||
303 | 101000 | 116 | normal byte | t | ||||||
304 | 100111 | 115 | normal byte | s | ||||||
305 | 0010 | 259 | distance code | 5 | 11011 | 6 | 390 | the | ||
307 | 01000 | 260 | distance code | 6 | 0011 | 22 | 150 | header | ||
309 | 01100 | 265 | distance code | 1 | 12 | 0001 | 3 | 51 | \n unsigned | |
310 | 100011 | 108 | normal byte | l | ||||||
311 | 100101 | 111 | normal byte | o | ||||||
312 | 100100 | 110 | normal byte | n | ||||||
313 | 11101001 | 103 | normal byte | g | ||||||
314 | 0001 | 258 | distance code | 4 | 0001 | 2 | 50 | crc | ||
315 | 1011111 | 51 | normal byte | 3 | ||||||
316 | 1011110 | 50 | normal byte | 2 | ||||||
317 | 1100011 | 59 | normal byte | ; | ||||||
318 | 00110 | 32 | normal byte | |||||||
318 | 101011 | 269 | distance code | 3 | 22 | 0001 | 3 | 51 | // this protects the | |
320 | 100001 | 100 | normal byte | d | ||||||
321 | 100101 | 111 | normal byte | o | ||||||
322 | 100000 | 99 | normal byte | c | ||||||
323 | 1101011 | 117 | normal byte | u | ||||||
323 | 0001 | 258 | distance code | 4 | 11001 | 10 | 106 | ment | ||
325 | 101010 | 268 | distance code | 0 | 17 | 0001 | 5 | 53 | \n unsigned long | |
327 | 100010 | 105 | normal byte | i | ||||||
328 | 0001 | 258 | distance code | 4 | 11011 | 83 | 467 | size | ||
330 | 01011 | 263 | distance code | 9 | 0100 | 25 | 281 | ;\n}\ngzip_ | ||
332 | 1100111 | 102 | normal byte | f | ||||||
333 | 100010 | 105 | normal byte | i | ||||||
333 | 100011 | 108 | normal byte | l | ||||||
334 | 0000 | 257 | distance code | 3 | 1111101 | 0 | 12 | e;\n | ||
336 | 1011000 | 10 | normal byte | \n | ||||||
337 | 1111110010 | 35 | normal byte | # | ||||||
338 | 0000 | 257 | distance code | 3 | 0100 | 20 | 276 | def | ||
340 | 100010 | 105 | normal byte | i | ||||||
341 | 100100 | 110 | normal byte | n | ||||||
341 | 00111 | 101 | normal byte | e | ||||||
342 | 00110 | 32 | normal byte | |||||||
343 | 111101100 | 70 | normal byte | F | ||||||
344 | 111110011 | 84 | normal byte | T | ||||||
345 | 11101000 | 69 | normal byte | E | ||||||
346 | 1111110111 | 88 | normal byte | X | ||||||
347 | 111110011 | 84 | normal byte | T | ||||||
348 | 00110 | 32 | normal byte | |||||||
349 | 0001 | 258 | distance code | 4 | 11111100 | 0 | ||||
350 | 1011101 | 48 | normal byte | 0 | ||||||
351 | 111111000 | 120 | normal byte | x | ||||||
352 | 1011101 | 48 | normal byte | 0 | ||||||
353 | 011110 | 49 | normal byte | 1 | ||||||
354 | 101001 | 264 | distance code | 10 | 11000 | 6 | 22 | \n#define F | ||
356 | 1111110101 | 72 | normal byte | H | ||||||
357 | 111101010 | 67 | normal byte | C | ||||||
358 | 111110001 | 82 | normal byte | R | ||||||
359 | 111101010 | 67 | normal byte | C | ||||||
360 | 01010 | 262 | distance code | 8 | 11000 | 6 | 22 | 0x0 | ||
362 | 1011110 | 50 | normal byte | 2 | ||||||
363 | 101001 | 264 | distance code | 10 | 11000 | 6 | 22 | \n#define F | ||
365 | 0000 | 257 | distance code | 3 | 0000 | 12 | 44 | EXT | ||
366 | 111110001 | 82 | normal byte | R | ||||||
367 | 111101001 | 65 | normal byte | A | ||||||
368 | 01001 | 261 | distance code | 7 | 11000 | 6 | 22 | 0x0 | ||
370 | 11100011 | 52 | normal byte | 4 | ||||||
371 | 101001 | 264 | distance code | 10 | 11000 | 6 | 22 | \n#define F | ||
373 | 111101111 | 78 | normal byte | N | ||||||
374 | 111101001 | 65 | normal byte | A | ||||||
375 | 111101110 | 77 | normal byte | M | ||||||
376 | 11101000 | 69 | normal byte | E | ||||||
377 | 01010 | 262 | distance code | 8 | 0000 | 13 | 45 | 0x0 | ||
379 | 1100010 | 56 | normal byte | 8 | ||||||
380 | 101001 | 264 | distance code | 10 | 11000 | 6 | 22 | \n#define F | ||
381 | 111101010 | 67 | normal byte | C | ||||||
382 | 111110000 | 79 | normal byte | O | ||||||
384 | 111101110 | 77 | normal byte | M | ||||||
385 | 111101110 | 77 | normal byte | M | ||||||
386 | 11101000 | 69 | normal byte | E | ||||||
387 | 111101111 | 78 | normal byte | N | ||||||
388 | 111110011 | 84 | normal byte | T | ||||||
389 | 0001 | 258 | distance code | 4 | 11000 | 6 | 22 | 0x | ||
391 | 011110 | 49 | normal byte | 1 | ||||||
391 | 1011101 | 48 | normal byte | 0 | ||||||
392 | 101011 | 269 | distance code | 2 | 21 | 11011 | 11 | 395 | \n\ntypedef struct\n{\n | |
395 | 01011 | 263 | distance code | 9 | 0011 | 41 | 169 | unsigned | ||
397 | 100010 | 105 | normal byte | i | ||||||
397 | 100100 | 110 | normal byte | n | ||||||
398 | 101000 | 116 | normal byte | t | ||||||
399 | 00110 | 32 | normal byte | |||||||
399 | 01110 | 267 | distance code | 1 | 16 | 0100 | 114 | 370 | len;\n unsigned | |
402 | 0001 | 258 | distance code | 4 | 11000 | 3 | 19 | int | ||
403 | 100000 | 99 | normal byte | c | ||||||
404 | 100101 | 111 | normal byte | o | ||||||
405 | 100001 | 100 | normal byte | d | ||||||
405 | 0001 | 258 | distance code | 4 | 0011 | 59 | 187 | e;\n} | ||
407 | 00110 | 32 | normal byte | |||||||
408 | 1011000 | 10 | normal byte | \n | ||||||
409 | 101000 | 116 | normal byte | t | ||||||
409 | 100110 | 114 | normal byte | r | ||||||
410 | 00111 | 101 | normal byte | e | ||||||
411 | 00111 | 101 | normal byte | e | ||||||
411 | 1100101 | 95 | normal byte | _ | ||||||
412 | 100100 | 110 | normal byte | n | ||||||
413 | 0010 | 259 | distance code | 5 | 1111101 | 1 | 13 | ode;\n | ||
415 | 01110 | 267 | distance code | 0 | 15 | 0010 | 8 | 72 | \ntypedef struct | |
416 | 00110 | 32 | normal byte | |||||||
417 | 1101000 | 104 | normal byte | h | ||||||
418 | 1101011 | 117 | normal byte | u | ||||||
419 | 1100111 | 102 | normal byte | f | ||||||
420 | 1100111 | 102 | normal byte | f | ||||||
421 | 1101001 | 109 | normal byte | m | ||||||
421 | 011111 | 97 | normal byte | a | ||||||
422 | 100100 | 110 | normal byte | n | ||||||
423 | 0010 | 259 | distance code | 5 | 111100 | 5 | 29 | _node | ||
425 | 1100101 | 95 | normal byte | _ | ||||||
425 | 01000 | 260 | distance code | 6 | 0010 | 23 | 87 | t\n{\n | ||
427 | 01011 | 263 | distance code | 9 | 0001 | 10 | 58 | int code; | ||
429 | 0001 | 258 | distance code | 4 | 0100 | 43 | 299 | // | ||
431 | 1011011 | 45 | normal byte | - | ||||||
432 | 011110 | 49 | normal byte | 1 | ||||||
432 | 0010 | 259 | distance code | 5 | 0101 | 223 | 735 | for | ||
434 | 100100 | 110 | normal byte | n | ||||||
435 | 100101 | 111 | normal byte | o | ||||||
436 | 100100 | 110 | normal byte | n | ||||||
437 | 1011011 | 45 | normal byte | - | ||||||
437 | 100011 | 108 | normal byte | l | ||||||
438 | 00111 | 101 | normal byte | e | ||||||
439 | 011111 | 97 | normal byte | a | ||||||
440 | 1100111 | 102 | normal byte | f | ||||||
440 | 00110 | 32 | normal byte | |||||||
441 | 0001 | 258 | distance code | 4 | 0000 | 7 | 39 | node | ||
443 | 100111 | 115 | normal byte | s | ||||||
443 | 0000 | 257 | distance code | 3 | 0000 | 4 | 36 | \n | ||
445 | 101011 | 269 | distance code | 2 | 21 | 0001 | 14 | 62 | struct huffman_node_t | |
447 | 00110 | 32 | normal byte | |||||||
447 | 11100001 | 42 | normal byte | * | ||||||
448 | 1111111000 | 122 | normal byte | z | ||||||
450 | 00111 | 101 | normal byte | e | ||||||
450 | 100110 | 114 | normal byte | r | ||||||
451 | 100101 | 111 | normal byte | o | ||||||
452 | 1100011 | 59 | normal byte | ; | ||||||
453 | 1101100 | 270 | distance code | 3 | 26 | 111100 | 6 | 30 | \n struct huffman_node_t * | |
455 | 100101 | 111 | normal byte | o | ||||||
456 | 100100 | 110 | normal byte | n | ||||||
456 | 0010 | 259 | distance code | 5 | 0100 | 76 | 332 | e;\n}\n | ||
458 | 01100 | 265 | distance code | 1 | 12 | 11000 | 6 | 22 | huffman_node | |
460 | 101011 | 269 | distance code | 3 | 22 | 0101 | 103 | 615 | ;\n\ntypedef struct\n{\n | |
463 | 0001 | 258 | distance code | 4 | 0011 | 3 | 131 | int | ||
464 | 00111 | 101 | normal byte | e | ||||||
465 | 100100 | 110 | normal byte | n | ||||||
466 | 0010 | 259 | distance code | 5 | 0101 | 247 | 759 | d;\n | ||
468 | 0001 | 258 | distance code | 4 | 1111100 | 2 | 10 | int | ||
469 | 1100110 | 98 | normal byte | b | ||||||
470 | 100010 | 105 | normal byte | i | ||||||
471 | 101000 | 116 | normal byte | t | ||||||
472 | 1100101 | 95 | normal byte | _ | ||||||
473 | 0000 | 257 | distance code | 3 | 11010 | 33 | 225 | len | ||
474 | 11101001 | 103 | normal byte | g | ||||||
475 | 101000 | 116 | normal byte | t | ||||||
476 | 1101000 | 104 | normal byte | h | ||||||
477 | 01100 | 265 | distance code | 1 | 12 | 0001 | 14 | 62 | ;\n}\nhuffman_ | |
479 | 100110 | 114 | normal byte | r | ||||||
480 | 011111 | 97 | normal byte | a | ||||||
480 | 100100 | 110 | normal byte | n | ||||||
481 | 11101001 | 103 | normal byte | g | ||||||
482 | 0001 | 258 | distance code | 4 | 0001 | 15 | 63 | e;\n\n | ||
484 | 100111 | 115 | normal byte | s | ||||||
484 | 101000 | 116 | normal byte | t | ||||||
485 | 011111 | 97 | normal byte | a | ||||||
486 | 101000 | 116 | normal byte | t | ||||||
487 | 100010 | 105 | normal byte | i | ||||||
487 | 100000 | 99 | normal byte | c | ||||||
488 | 00110 | 32 | normal byte | |||||||
489 | 11101011 | 118 | normal byte | v | ||||||
490 | 100101 | 111 | normal byte | o | ||||||
490 | 100010 | 105 | normal byte | i | ||||||
491 | 100001 | 100 | normal byte | d | ||||||
492 | 00110 | 32 | normal byte | |||||||
493 | 1100110 | 98 | normal byte | b | ||||||
493 | 1101011 | 117 | normal byte | u | ||||||
494 | 100010 | 105 | normal byte | i | ||||||
495 | 100011 | 108 | normal byte | l | ||||||
496 | 100001 | 100 | normal byte | d | ||||||
497 | 1100101 | 95 | normal byte | _ | ||||||
497 | 01010 | 262 | distance code | 8 | 0000 | 1 | 33 | huffman_ | ||
499 | 0001 | 258 | distance code | 4 | 11010 | 56 | 248 | tree | ||
501 | 1011001 | 40 | normal byte | ( | ||||||
502 | 01101 | 266 | distance code | 0 | 13 | 0011 | 5 | 133 | huffman_node | |
504 | 00110 | 32 | normal byte | |||||||
504 | 11100001 | 42 | normal byte | * | ||||||
505 | 100110 | 114 | normal byte | r | ||||||
506 | 100101 | 111 | normal byte | o | ||||||
507 | 100101 | 111 | normal byte | o | ||||||
508 | 101000 | 116 | normal byte | t | ||||||
508 | 1011010 | 44 | normal byte | , | ||||||
509 | 1011000 | 10 | normal byte | \n | ||||||
510 | 00110 | 32 | normal byte | |||||||
511 | 1101110 | 272 | distance code | 0 | 31 | 11111100 | 0 | |||
513 | 0001 | 258 | distance code | 4 | 11001 | 21 | 117 | int | ||
515 | 0010 | 259 | distance code | 5 | 0010 | 31 | 95 | range | ||
516 | 0001 | 258 | distance code | 4 | 11001 | 23 | 119 | _len | ||
518 | 1101110 | 272 | distance code | 3 | 34 | 0000 | 14 | 46 | ,\n | |
520 | 01101 | 266 | distance code | 0 | 13 | 0011 | 18 | 146 | huffman_range | |
522 | 0000 | 257 | distance code | 3 | 11001 | 3 | 99 | *r | ||
524 | 0010 | 259 | distance code | 5 | 11111101 | 0 | 6 | ange | ||
526 | 11100000 | 41 | normal byte | ) | ||||||
527 | 01011 | 263 | distance code | 9 | 11010 | 10 | 202 | \n{\n int | ||
529 | 11100001 | 42 | normal byte | * | ||||||
530 | 1100110 | 98 | normal byte | b | ||||||
530 | 100011 | 108 | normal byte | l | ||||||
531 | 1100101 | 95 | normal byte | _ | ||||||
532 | 100000 | 99 | normal byte | c | ||||||
533 | 100101 | 111 | normal byte | o | ||||||
534 | 1101011 | 117 | normal byte | u | ||||||
534 | 01000 | 260 | distance code | 6 | 0101 | 203 | 715 | nt;\n | ||
537 | 0010 | 259 | distance code | 5 | 11000 | 0 | 16 | int * | ||
538 | 100100 | 110 | normal byte | n | ||||||
539 | 0000 | 257 | distance code | 3 | 0110 | 13 | 781 | ext | ||
541 | 1100101 | 95 | normal byte | _ | ||||||
542 | 01000 | 260 | distance code | 6 | 11011 | 32 | 416 | code;\n | ||
544 | 00110 | 32 | normal byte | |||||||
544 | 00110 | 32 | normal byte | |||||||
545 | 01011 | 263 | distance code | 9 | 11011 | 31 | 415 | tree_node | ||
547 | 00110 | 32 | normal byte | |||||||
548 | 11100001 | 42 | normal byte | * | ||||||
549 | 0001 | 258 | distance code | 4 | 1111100 | 2 | 10 | tree | ||
550 | 0000 | 257 | distance code | 3 | 11010 | 18 | 210 | ;\n\n | ||
552 | 01011 | 263 | distance code | 9 | 11010 | 54 | 246 | int bit | ||
554 | 100111 | 115 | normal byte | s | ||||||
555 | 1100011 | 59 | normal byte | ; | ||||||
556 | 01100 | 265 | distance code | 0 | 11 | 11011 | 17 | 401 | \n int code | |
558 | 00110 | 32 | normal byte | |||||||
559 | 1100100 | 61 | normal byte | = | ||||||
560 | 00110 | 32 | normal byte | |||||||
560 | 1011101 | 48 | normal byte | 0 | ||||||
561 | 01010 | 262 | distance code | 8 | 1111101 | 3 | 15 | ;\n int | ||
563 | 100100 | 110 | normal byte | n | ||||||
564 | 01010 | 262 | distance code | 8 | 1111100 | 0 | 8 | ;\n int | ||
565 | 011111 | 97 | normal byte | a | ||||||
566 | 100000 | 99 | normal byte | c | ||||||
567 | 101000 | 116 | normal byte | t | ||||||
568 | 100010 | 105 | normal byte | i | ||||||
568 | 11101011 | 118 | normal byte | v | ||||||
569 | 00111 | 101 | normal byte | e | ||||||
570 | 01010 | 262 | distance code | 8 | 0100 | 12 | 268 | _range;\n | ||
572 | 01000 | 260 | distance code | 6 | 11000 | 3 | 19 | int | ||
574 | 1101001 | 109 | normal byte | m | ||||||
575 | 011111 | 97 | normal byte | a | ||||||
575 | 111111000 | 120 | normal byte | x | ||||||
576 | 1100101 | 95 | normal byte | _ | ||||||
577 | 01100 | 265 | distance code | 1 | 12 | 0100 | 51 | 307 | bit_length;\n | |
579 | 1011000 | 10 | normal byte | \n | ||||||
580 | 0010 | 259 | distance code | 5 | 0101 | 247 | 759 | // | ||
582 | 100111 | 115 | normal byte | s | ||||||
583 | 101000 | 116 | normal byte | t | ||||||
584 | 00111 | 101 | normal byte | e | ||||||
584 | 1101010 | 112 | normal byte | p | ||||||
585 | 00110 | 32 | normal byte | |||||||
586 | 011110 | 49 | normal byte | 1 | ||||||
587 | 00110 | 32 | normal byte | |||||||
587 | 1011011 | 45 | normal byte | - | ||||||
588 | 00110 | 32 | normal byte | |||||||
589 | 1100111 | 102 | normal byte | f | ||||||
590 | 100010 | 105 | normal byte | i | ||||||
590 | 11101001 | 103 | normal byte | g | ||||||
591 | 1101011 | 117 | normal byte | u | ||||||
592 | 100110 | 114 | normal byte | r | ||||||
593 | 00111 | 101 | normal byte | e | ||||||
594 | 00110 | 32 | normal byte | |||||||
594 | 100101 | 111 | normal byte | o | ||||||
595 | 1101011 | 117 | normal byte | u | ||||||
596 | 0000 | 257 | distance code | 3 | 11011 | 33 | 417 | t h | ||
598 | 100101 | 111 | normal byte | o | ||||||
599 | 11101100 | 119 | normal byte | w | ||||||
600 | 01000 | 260 | distance code | 6 | 0101 | 233 | 745 | long | ||
602 | 01010 | 262 | distance code | 8 | 0011 | 33 | 161 | bl_count | ||
604 | 1011010 | 44 | normal byte | , | ||||||
605 | 00110 | 32 | normal byte | |||||||
605 | 01011 | 263 | distance code | 9 | 0011 | 26 | 154 | next_code | ||
607 | 1011010 | 44 | normal byte | , | ||||||
608 | 0010 | 259 | distance code | 5 | 0011 | 24 | 152 | tree | ||
610 | 00110 | 32 | normal byte | |||||||
610 | 00111 | 101 | normal byte | e | ||||||
611 | 101000 | 116 | normal byte | t | ||||||
612 | 100000 | 99 | normal byte | c | ||||||
612 | 1011100 | 46 | normal byte | . | ||||||
613 | 01001 | 261 | distance code | 7 | 0010 | 0 | 64 | \n // s | ||
615 | 1101000 | 104 | normal byte | h | ||||||
616 | 100101 | 111 | normal byte | o | ||||||
617 | 1101011 | 117 | normal byte | u | ||||||
618 | 100011 | 108 | normal byte | l | ||||||
618 | 0000 | 257 | distance code | 3 | 0100 | 99 | 355 | d b | ||
620 | 00111 | 101 | normal byte | e | ||||||
621 | 00110 | 32 | normal byte | |||||||
621 | 1100110 | 98 | normal byte | b | ||||||
622 | 011111 | 97 | normal byte | a | ||||||
623 | 100111 | 115 | normal byte | s | ||||||
624 | 0000 | 257 | distance code | 3 | 0101 | 100 | 612 | ed | ||
626 | 100101 | 111 | normal byte | o | ||||||
627 | 100100 | 110 | normal byte | n | ||||||
627 | 0010 | 259 | distance code | 5 | 0110 | 61 | 829 | the | ||
629 | 0010 | 259 | distance code | 5 | 11001 | 26 | 122 | range | ||
631 | 0010 | 259 | distance code | 5 | 0110 | 81 | 849 | s pro | ||
633 | 11101011 | 118 | normal byte | v | ||||||
634 | 100010 | 105 | normal byte | i | ||||||
635 | 100001 | 100 | normal byte | d | ||||||
636 | 00111 | 101 | normal byte | e | ||||||
636 | 0010 | 259 | distance code | 5 | 11011 | 52 | 436 | d;\n | ||
638 | 01101 | 266 | distance code | 1 | 14 | 0011 | 0 | 128 | max_bit_length | |
640 | 01010 | 262 | distance code | 8 | 0011 | 55 | 183 | = 0;\n | ||
642 | 0001 | 258 | distance code | 4 | 0101 | 73 | 585 | for | ||
644 | 1011001 | 40 | normal byte | ( | ||||||
645 | 00110 | 32 | normal byte | |||||||
646 | 100100 | 110 | normal byte | n | ||||||
646 | 0010 | 259 | distance code | 5 | 1111101 | 2 | 14 | = 0; | ||
648 | 0000 | 257 | distance code | 3 | 11111101 | 0 | 6 | n | ||
650 | 11100110 | 60 | normal byte | < | ||||||
651 | 101001 | 264 | distance code | 10 | 0100 | 97 | 353 | range_len | ||
653 | 0000 | 257 | distance code | 3 | 1111101 | 2 | 14 | ; n | ||
654 | 11100010 | 43 | normal byte | + | ||||||
655 | 11100010 | 43 | normal byte | + | ||||||
656 | 0000 | 257 | distance code | 3 | 0100 | 48 | 304 | )\n | ||
658 | 00110 | 32 | normal byte | |||||||
659 | 00110 | 32 | normal byte | |||||||
659 | 1111111001 | 123 | normal byte | { | ||||||
661 | 0010 | 259 | distance code | 5 | 0100 | 107 | 363 | \n | ||
663 | 100010 | 105 | normal byte | i | ||||||
663 | 1100111 | 102 | normal byte | f | ||||||
664 | 0000 | 257 | distance code | 3 | 0000 | 8 | 40 | ( | ||
666 | 0010 | 259 | distance code | 5 | 111100 | 5 | 29 | range | ||
667 | 111110101 | 91 | normal byte | [ | ||||||
668 | 0000 | 257 | distance code | 3 | 0000 | 8 | 40 | n | ||
670 | 111110110 | 93 | normal byte | ] | ||||||
671 | 1011100 | 46 | normal byte | . | ||||||
672 | 01100 | 265 | distance code | 0 | 11 | 0010 | 11 | 75 | bit_length | |
674 | 11100111 | 62 | normal byte | > | ||||||
675 | 01110 | 267 | distance code | 1 | 16 | 0010 | 28 | 92 | max_bit_length | |
677 | 11100000 | 41 | normal byte | ) | ||||||
678 | 0010 | 259 | distance code | 5 | 0001 | 1 | 49 | \n | ||
679 | 1111111001 | 123 | normal byte | { | ||||||
680 | 01001 | 261 | distance code | 7 | 11011 | 35 | 419 | \n | ||
683 | 101010 | 268 | distance code | 0 | 17 | 11001 | 25 | 121 | max_bit_length = | |
685 | 101011 | 269 | distance code | 2 | 21 | 0010 | 5 | 69 | range[ n ].bit_length | |
687 | 1100011 | 59 | normal byte | ; | ||||||
688 | 0010 | 259 | distance code | 5 | 0000 | 13 | 45 | \n | ||
689 | 11101110 | 125 | normal byte | } | ||||||
690 | 1011000 | 10 | normal byte | \n | ||||||
691 | 01000 | 260 | distance code | 6 | 111111110 | 3 | }\n | |||
693 | 01010 | 262 | distance code | 8 | 11010 | 59 | 251 | bl_count | ||
695 | 0000 | 257 | distance code | 3 | 0000 | 13 | 45 | = | ||
696 | 1101001 | 109 | normal byte | m | ||||||
697 | 011111 | 97 | normal byte | a | ||||||
698 | 100011 | 108 | normal byte | l | ||||||
699 | 100011 | 108 | normal byte | l | ||||||
699 | 100101 | 111 | normal byte | o | ||||||
700 | 100000 | 99 | normal byte | c | ||||||
701 | 1011001 | 40 | normal byte | ( | ||||||
702 | 00110 | 32 | normal byte | |||||||
702 | 01000 | 260 | distance code | 6 | 0111 | 459 | 1483 | sizeof | ||
705 | 1011001 | 40 | normal byte | ( | ||||||
706 | 0010 | 259 | distance code | 5 | 0100 | 77 | 333 | int | ||
707 | 11100000 | 41 | normal byte | ) | ||||||
708 | 00110 | 32 | normal byte | |||||||
709 | 11100001 | 42 | normal byte | * | ||||||
710 | 0000 | 257 | distance code | 3 | 0011 | 13 | 141 | ( | ||
712 | 01110 | 267 | distance code | 0 | 15 | 0010 | 24 | 88 | max_bit_length | |
714 | 11100010 | 43 | normal byte | + | ||||||
715 | 0000 | 257 | distance code | 3 | 0100 | 73 | 329 | 1 | ||
717 | 11100000 | 41 | normal byte | ) | ||||||
718 | 00110 | 32 | normal byte | |||||||
718 | 11100000 | 41 | normal byte | ) | ||||||
719 | 0001 | 258 | distance code | 4 | 0010 | 8 | 72 | ;\n | ||
721 | 01011 | 263 | distance code | 9 | 0100 | 48 | 304 | next_code | ||
723 | 11110001 | 275 | distance code | 4 | 55 | 0001 | 15 | 63 | = malloc( sizeof( int ) * ( max_bit_length + 1 ) );\n | |
725 | 0010 | 259 | distance code | 5 | 0100 | 101 | 357 | tree | ||
727 | 101010 | 268 | distance code | 1 | 18 | 0001 | 10 | 58 | = malloc( sizeof( | |
729 | 101001 | 264 | distance code | 10 | 0101 | 21 | 533 | tree_node | ||
731 | 01000 | 260 | distance code | 6 | 0010 | 0 | 64 | ) * ( | ||
733 | 01001 | 261 | distance code | 7 | 11010 | 8 | 200 | range[ | ||
735 | 01011 | 263 | distance code | 9 | 0100 | 51 | 307 | range_len | ||
737 | 0000 | 257 | distance code | 3 | 11011 | 72 | 456 | - | ||
739 | 011110 | 49 | normal byte | 1 | ||||||
740 | 0000 | 257 | distance code | 3 | 11010 | 20 | 212 | ]. | ||
742 | 0000 | 257 | distance code | 3 | 0110 | 38 | 806 | end | ||
744 | 101001 | 264 | distance code | 10 | 0010 | 12 | 76 | + 1 ) );\n | ||
745 | 0001 | 258 | distance code | 4 | 0100 | 122 | 378 | \n m | ||
747 | 00111 | 101 | normal byte | e | ||||||
748 | 1101001 | 109 | normal byte | m | ||||||
749 | 100111 | 115 | normal byte | s | ||||||
750 | 00111 | 101 | normal byte | e | ||||||
750 | 101000 | 116 | normal byte | t | ||||||
751 | 1011001 | 40 | normal byte | ( | ||||||
752 | 01100 | 265 | distance code | 0 | 11 | 11011 | 80 | 464 | bl_count, | |
754 | 111100110 | 39 | normal byte | ' | ||||||
755 | 11111111110 | 92 | normal byte | \ | ||||||
757 | 1011101 | 48 | normal byte | 0 | ||||||
757 | 111100110 | 39 | normal byte | ' | ||||||
759 | 1011010 | 44 | normal byte | , | ||||||
759 | 11110000 | 274 | distance code | 0 | 43 | 0011 | 17 | 145 | sizeof( int ) * ( max_bit_length + 1 ) );\n | |
762 | 11110000 | 274 | distance code | 2 | 45 | 11011 | 41 | 425 | \n for ( n = 0; n < range_len; n++ )\n {\n | |
765 | 01010 | 262 | distance code | 8 | 11001 | 6 | 102 | bl_count | ||
767 | 111110101 | 91 | normal byte | [ | ||||||
768 | 1101100 | 270 | distance code | 0 | 23 | 11011 | 46 | 430 | range[ n ].bit_length | |
771 | 111110110 | 93 | normal byte | ] | ||||||
772 | 00110 | 32 | normal byte | |||||||
772 | 11100010 | 43 | normal byte | + | ||||||
773 | 1100100 | 61 | normal byte | = | ||||||
774 | 00110 | 32 | normal byte | |||||||
775 | 01001 | 261 | distance code | 7 | 11011 | 27 | 411 | \n | ||
777 | 01100 | 265 | distance code | 0 | 11 | 0000 | 1 | 33 | range[ n ]. | |
779 | 0001 | 258 | distance code | 4 | 0011 | 53 | 181 | end | ||
780 | 1011011 | 45 | normal byte | - | ||||||
781 | 0000 | 257 | distance code | 3 | 11001 | 2 | 98 | ( | ||
783 | 0001 | 258 | distance code | 4 | 11001 | 4 | 100 | ( n | ||
785 | 11100111 | 62 | normal byte | > | ||||||
786 | 00110 | 32 | normal byte | |||||||
786 | 1011101 | 48 | normal byte | 0 | ||||||
787 | 0000 | 257 | distance code | 3 | 11001 | 24 | 120 | ) | ||
789 | 1111110011 | 63 | normal byte | ? | ||||||
790 | 101001 | 264 | distance code | 10 | 111100 | 6 | 30 | range[ n | ||
792 | 101001 | 264 | distance code | 10 | 11010 | 24 | 216 | - 1 ].end | ||
794 | 111101000 | 58 | normal byte | : | ||||||
795 | 0001 | 258 | distance code | 4 | 0111 | 128 | 1152 | -1 | ||
798 | 0010 | 259 | distance code | 5 | 0100 | 36 | 292 | );\n | ||
799 | 11101110 | 125 | normal byte | } | ||||||
800 | 01100 | 265 | distance code | 1 | 12 | 0101 | 196 | 708 | \n\n // step | |
803 | 1011110 | 50 | normal byte | 2 | ||||||
804 | 1011010 | 44 | normal byte | , | ||||||
804 | 00110 | 32 | normal byte | |||||||
805 | 100001 | 100 | normal byte | d | ||||||
806 | 100010 | 105 | normal byte | i | ||||||
807 | 100110 | 114 | normal byte | r | ||||||
807 | 0000 | 257 | distance code | 3 | 0111 | 446 | 1470 | ect | ||
809 | 100011 | 108 | normal byte | l | ||||||
810 | 11101101 | 121 | normal byte | y | ||||||
811 | 01000 | 260 | distance code | 6 | 1000 | 399 | 1935 | from | ||
813 | 111110001 | 82 | normal byte | R | ||||||
815 | 111101100 | 70 | normal byte | F | ||||||
816 | 111101010 | 67 | normal byte | C | ||||||
817 | 01100 | 265 | distance code | 0 | 11 | 11010 | 58 | 250 | \n memset( | |
819 | 01100 | 265 | distance code | 0 | 11 | 0101 | 193 | 705 | next_code, | |
821 | 11110000 | 274 | distance code | 5 | 48 | 11010 | 59 | 251 | '\0', sizeof( int ) * ( max_bit_length + 1 ) );\n | |
824 | 01010 | 262 | distance code | 8 | 11010 | 58 | 250 | for ( | ||
826 | 0001 | 258 | distance code | 4 | 0110 | 122 | 890 | bits | ||
828 | 0000 | 257 | distance code | 3 | 11010 | 61 | 253 | = | ||
830 | 011110 | 49 | normal byte | 1 | ||||||
831 | 1100011 | 59 | normal byte | ; | ||||||
831 | 01000 | 260 | distance code | 6 | 1111100 | 1 | 9 | bits | ||
833 | 11100110 | 60 | normal byte | < | ||||||
834 | 1100100 | 61 | normal byte | = | ||||||
835 | 01110 | 267 | distance code | 1 | 16 | 0110 | 83 | 851 | max_bit_length; | |
837 | 0010 | 259 | distance code | 5 | 11000 | 7 | 23 | bits | ||
839 | 01101 | 266 | distance code | 0 | 13 | 0100 | 9 | 265 | ++ )\n {\n | |
841 | 01001 | 261 | distance code | 7 | 0101 | 1 | 513 | code = | ||
843 | 1011001 | 40 | normal byte | ( | ||||||
844 | 01000 | 260 | distance code | 6 | 1111100 | 0 | 8 | code | ||
846 | 11100010 | 43 | normal byte | + | ||||||
847 | 01100 | 265 | distance code | 0 | 11 | 0100 | 25 | 281 | bl_count[ | |
849 | 0010 | 259 | distance code | 5 | 0010 | 2 | 66 | bits | ||
850 | 0010 | 259 | distance code | 5 | 11010 | 20 | 212 | - 1 ] | ||
852 | 0000 | 257 | distance code | 3 | 11001 | 4 | 100 | ) | ||
854 | 11100110 | 60 | normal byte | < | ||||||
855 | 11100110 | 60 | normal byte | < | ||||||
856 | 0000 | 257 | distance code | 3 | 0010 | 21 | 85 | 1; | ||
858 | 101001 | 264 | distance code | 10 | 0101 | 228 | 740 | \n if ( | ||
860 | 01110 | 267 | distance code | 0 | 15 | 0000 | 5 | 37 | bl_count[ bits | |
862 | 111110110 | 93 | normal byte | ] | ||||||
863 | 01110 | 267 | distance code | 0 | 15 | 0101 | 206 | 718 | )\n {\n | |
865 | 01011 | 263 | distance code | 9 | 11010 | 10 | 202 | next_code | ||
867 | 01011 | 263 | distance code | 9 | 111100 | 7 | 31 | [ bits ] | ||
869 | 1100100 | 61 | normal byte | = | ||||||
870 | 00110 | 32 | normal byte | |||||||
870 | 01010 | 262 | distance code | 8 | 0111 | 54 | 1078 | code;\n | ||
873 | 01010 | 262 | distance code | 8 | 0101 | 192 | 704 | }\n }\n | ||
875 | 01100 | 265 | distance code | 0 | 11 | 0100 | 24 | 280 | \n // step | |
877 | 1011111 | 51 | normal byte | 3 | ||||||
878 | 1101101 | 271 | distance code | 3 | 30 | 0100 | 24 | 280 | , directly from RFC\n memset( | |
880 | 0001 | 258 | distance code | 4 | 0101 | 82 | 594 | tree | ||
882 | 01110 | 267 | distance code | 1 | 16 | 0100 | 19 | 275 | , '\0', sizeof( | |
884 | 01101 | 266 | distance code | 1 | 14 | 0101 | 102 | 614 | tree_node ) * | |
887 | 0010 | 259 | distance code | 5 | 0010 | 22 | 86 | \n | ||
888 | 11101111 | 273 | distance code | 3 | 38 | 0101 | 107 | 619 | ( range[ range_len - 1 ].end + 1 ) );\n | |
891 | 00110 | 32 | normal byte | |||||||
892 | 01101 | 266 | distance code | 0 | 13 | 0111 | 122 | 1146 | active_range | |
894 | 1101100 | 270 | distance code | 1 | 24 | 0110 | 227 | 995 | = 0;\n for ( n = 0; n < | |
897 | 1100100 | 61 | normal byte | = | ||||||
898 | 1101101 | 271 | distance code | 0 | 27 | 0010 | 11 | 75 | range[ range_len - 1 ].end | |
900 | 101011 | 269 | distance code | 2 | 21 | 0110 | 245 | 1013 | ; n++ )\n {\n if ( | |
902 | 0001 | 258 | distance code | 4 | 0101 | 15 | 527 | n > | ||
904 | 01001 | 261 | distance code | 7 | 0001 | 2 | 50 | range[ | ||
906 | 01101 | 266 | distance code | 0 | 13 | 0010 | 31 | 95 | active_range | |
908 | 01000 | 260 | distance code | 6 | 11001 | 29 | 125 | ].end | ||
910 | 01101 | 266 | distance code | 1 | 14 | 0100 | 29 | 285 | )\n {\n | |
912 | 01100 | 265 | distance code | 1 | 12 | 0000 | 0 | 32 | active_range | |
914 | 11100010 | 43 | normal byte | + | ||||||
915 | 11100010 | 43 | normal byte | + | ||||||
916 | 01010 | 262 | distance code | 8 | 0100 | 19 | 275 | ;\n }\n | ||
918 | 101010 | 268 | distance code | 0 | 17 | 0111 | 65 | 1089 | \n if ( range[ | |
920 | 01110 | 267 | distance code | 0 | 15 | 0010 | 7 | 71 | active_range ]. | |
922 | 1101100 | 270 | distance code | 2 | 25 | 0111 | 59 | 1083 | bit_length )\n {\n | |
925 | 0001 | 258 | distance code | 4 | 0100 | 10 | 266 | tree | ||
927 | 01000 | 260 | distance code | 6 | 0101 | 158 | 670 | [ n ]. | ||
929 | 0001 | 258 | distance code | 4 | 0011 | 38 | 166 | len | ||
930 | 1100100 | 61 | normal byte | = | ||||||
931 | 1101110 | 272 | distance code | 2 | 33 | 0001 | 14 | 62 | range[ active_range ].bit_length | |
933 | 1100011 | 59 | normal byte | ; | ||||||
934 | 1011000 | 10 | normal byte | \n | ||||||
935 | 01001 | 261 | distance code | 7 | 0001 | 8 | 56 | \n | ||
937 | 0010 | 259 | distance code | 5 | 11001 | 12 | 108 | if ( | ||
939 | 01101 | 266 | distance code | 1 | 14 | 0001 | 13 | 61 | tree[ n ].len | |
940 | 111100100 | 33 | normal byte | ! | ||||||
941 | 1100100 | 61 | normal byte | = | ||||||
942 | 0001 | 258 | distance code | 4 | 0101 | 213 | 725 | 0 ) | ||
944 | 01001 | 261 | distance code | 7 | 111100 | 7 | 31 | \n | ||
946 | 01010 | 262 | distance code | 8 | 11001 | 0 | 96 | {\n | ||
948 | 01100 | 265 | distance code | 1 | 12 | 11001 | 2 | 98 | tree[ n ]. | |
950 | 01001 | 261 | distance code | 7 | 0101 | 46 | 558 | code = | ||
952 | 01100 | 265 | distance code | 0 | 11 | 11011 | 96 | 480 | next_code[ | |
954 | 01101 | 266 | distance code | 1 | 14 | 0010 | 0 | 64 | tree[ n ].len | |
956 | 111110110 | 93 | normal byte | ] | ||||||
957 | 1100011 | 59 | normal byte | ; | ||||||
958 | 01011 | 263 | distance code | 9 | 0001 | 4 | 52 | \n | ||
960 | 1101100 | 270 | distance code | 3 | 26 | 0000 | 3 | 35 | next_code[ tree[ n ].len ] | |
962 | 01010 | 262 | distance code | 8 | 11010 | 52 | 244 | ++;\n | ||
964 | 01000 | 260 | distance code | 6 | 0101 | 10 | 522 | }\n | ||
966 | 01101 | 266 | distance code | 1 | 14 | 0101 | 16 | 528 | }\n }\n\n // | |
968 | 111110000 | 79 | normal byte | O | ||||||
969 | 111110111 | 107 | normal byte | k | ||||||
971 | 0000 | 257 | distance code | 3 | 0111 | 459 | 1483 | , n | ||
973 | 0000 | 257 | distance code | 3 | 0111 | 478 | 1502 | ow | ||
975 | 111101101 | 73 | normal byte | I | ||||||
976 | 00110 | 32 | normal byte | |||||||
977 | 1101000 | 104 | normal byte | h | ||||||
977 | 011111 | 97 | normal byte | a | ||||||
978 | 11101011 | 118 | normal byte | v | ||||||
979 | 00111 | 101 | normal byte | e | ||||||
980 | 0010 | 259 | distance code | 5 | 0111 | 425 | 1449 | the | ||
982 | 0001 | 258 | distance code | 4 | 0010 | 3 | 67 | code | ||
984 | 100111 | 115 | normal byte | s | ||||||
984 | 1011100 | 46 | normal byte | . | ||||||
985 | 1011100 | 46 | normal byte | . | ||||||
986 | 1011100 | 46 | normal byte | . | ||||||
987 | 0000 | 257 | distance code | 3 | 1111100 | 0 | 8 | co | ||
989 | 100100 | 110 | normal byte | n | ||||||
989 | 11101011 | 118 | normal byte | v | ||||||
990 | 0000 | 257 | distance code | 3 | 1001 | 740 | 2788 | ert | ||
993 | 0001 | 258 | distance code | 4 | 11000 | 4 | 20 | the | ||
994 | 1101001 | 109 | normal byte | m | ||||||
995 | 0001 | 258 | distance code | 4 | 0110 | 21 | 789 | int | ||
997 | 100101 | 111 | normal byte | o | ||||||
998 | 00110 | 32 | normal byte | |||||||
998 | 011111 | 97 | normal byte | a | ||||||
999 | 0000 | 257 | distance code | 3 | 0010 | 26 | 90 | tr | ||
1001 | 0000 | 257 | distance code | 3 | 0000 | 6 | 38 | ave | ||
1002 | 100110 | 114 | normal byte | r | ||||||
1003 | 100111 | 115 | normal byte | s | ||||||
1004 | 011111 | 97 | normal byte | a | ||||||
1004 | 1100110 | 98 | normal byte | b | ||||||
1005 | 100011 | 108 | normal byte | l | ||||||
1006 | 00111 | 101 | normal byte | e | ||||||
1007 | 00110 | 32 | normal byte | |||||||
1007 | 01000 | 260 | distance code | 6 | 0010 | 1 | 65 | \n // | ||
1009 | 01001 | 261 | distance code | 7 | 1000 | 213 | 1749 | huffman | ||
1011 | 0010 | 259 | distance code | 5 | 11001 | 20 | 116 | tree | ||
1013 | 0000 | 257 | distance code | 3 | 11000 | 1 | 17 | \n | ||
1015 | 0001 | 258 | distance code | 4 | 1000 | 313 | 1849 | root | ||
1017 | 1011011 | 45 | normal byte | - | ||||||
1018 | 11100111 | 62 | normal byte | > | ||||||
1019 | 01001 | 261 | distance code | 7 | 0011 | 55 | 183 | code = | ||
1020 | 1011011 | 45 | normal byte | - | ||||||
1021 | 011110 | 49 | normal byte | 1 | ||||||
1022 | 1111111011 | 276 | distance code | 5 | 64 | 11011 | 109 | 493 | ;\n for ( n = 0; n <= range[ range_len - 1 ].end; n++ )\n {\n | |
1025 | 01101 | 266 | distance code | 1 | 14 | 1000 | 406 | 1942 | huffman_node * | |
1028 | 100100 | 110 | normal byte | n | ||||||
1028 | 01011 | 263 | distance code | 9 | 0101 | 212 | 724 | ode;\n | ||
1030 | 100100 | 110 | normal byte | n | ||||||
1031 | 01000 | 260 | distance code | 6 | 11001 | 0 | 96 | ode = | ||
1033 | 0001 | 258 | distance code | 4 | 11001 | 13 | 109 | root | ||
1035 | 01100 | 265 | distance code | 0 | 11 | 0110 | 39 | 807 | ;\n if ( | |
1037 | 01101 | 266 | distance code | 1 | 14 | 11010 | 56 | 248 | tree[ n ].len | |
1039 | 01101 | 266 | distance code | 1 | 14 | 11011 | 55 | 439 | )\n {\n | |
1041 | 01101 | 266 | distance code | 0 | 13 | 0110 | 178 | 946 | for ( bits = | |
1044 | 01101 | 266 | distance code | 0 | 13 | 0000 | 8 | 40 | tree[ n ].len | |
1045 | 01000 | 260 | distance code | 6 | 0110 | 166 | 934 | ; bits | ||
1048 | 01000 | 260 | distance code | 6 | 111111111 | 1 | 5 | ; bits | ||
1049 | 1011011 | 45 | normal byte | - | ||||||
1050 | 1011011 | 45 | normal byte | - | ||||||
1051 | 101011 | 269 | distance code | 0 | 19 | 11011 | 15 | 399 | )\n {\n | |
1054 | 01110 | 267 | distance code | 0 | 15 | 0010 | 27 | 91 | if ( tree[ n ]. | |
1056 | 0010 | 259 | distance code | 5 | 11010 | 28 | 220 | code | ||
1057 | 11011111 | 38 | normal byte | & | ||||||
1058 | 0000 | 257 | distance code | 3 | 11000 | 2 | 18 | ( | ||
1060 | 011110 | 49 | normal byte | 1 | ||||||
1061 | 0001 | 258 | distance code | 4 | 0110 | 167 | 935 | << | ||
1063 | 1011001 | 40 | normal byte | ( | ||||||
1064 | 101001 | 264 | distance code | 10 | 0110 | 185 | 953 | bits - 1 | ||
1066 | 11100000 | 41 | normal byte | ) | ||||||
1067 | 0001 | 258 | distance code | 4 | 111111100 | 1 | ) ) | |||
1068 | 01011 | 263 | distance code | 9 | 0001 | 5 | 53 | \n | ||
1070 | 101001 | 264 | distance code | 10 | 0001 | 15 | 63 | {\n | ||
1072 | 01001 | 261 | distance code | 7 | 0010 | 1 | 65 | if ( | ||
1074 | 111100100 | 33 | normal byte | ! | ||||||
1075 | 0001 | 258 | distance code | 4 | 0011 | 52 | 180 | node | ||
1076 | 1011011 | 45 | normal byte | - | ||||||
1077 | 11100111 | 62 | normal byte | > | ||||||
1078 | 0000 | 257 | distance code | 3 | 1001 | 223 | 2271 | one | ||
1081 | 01100 | 265 | distance code | 0 | 11 | 0000 | 5 | 37 | )\n | |
1082 | 01101 | 266 | distance code | 1 | 14 | 0000 | 7 | 39 | {\n | |
1084 | 01000 | 260 | distance code | 6 | 11010 | 24 | 216 | node | ||
1086 | 01000 | 260 | distance code | 6 | 0000 | 3 | 35 | ->one | ||
1088 | 0001 | 258 | distance code | 4 | 0111 | 37 | 1061 | = ( | ||
1090 | 1101100 | 270 | distance code | 0 | 23 | 1001 | 290 | 2338 | struct huffman_node_t * | |
1093 | 0000 | 257 | distance code | 3 | 11001 | 7 | 103 | ) | ||
1094 | 01110 | 267 | distance code | 0 | 15 | 1001 | 109 | 2157 | \n | |
1097 | 01110 | 267 | distance code | 1 | 16 | 1000 | 23 | 1559 | malloc( sizeof( | |
1099 | 01101 | 266 | distance code | 0 | 13 | 0100 | 55 | 311 | huffman_node | |
1101 | 01001 | 261 | distance code | 7 | 0110 | 137 | 905 | ) );\n | ||
1104 | 01100 | 265 | distance code | 0 | 11 | 0000 | 13 | 45 | m | |
1105 | 01010 | 262 | distance code | 8 | 0111 | 259 | 1283 | emset( n | ||
1108 | 01010 | 262 | distance code | 8 | 11001 | 12 | 108 | ode->one | ||
1109 | 01110 | 267 | distance code | 1 | 16 | 0110 | 239 | 1007 | , '\0', sizeof( | |
1112 | 1101101 | 271 | distance code | 3 | 30 | 0001 | 14 | 62 | huffman_node ) );\n | |
1114 | 01011 | 263 | distance code | 9 | 0001 | 6 | 54 | node->one | ||
1115 | 01110 | 267 | distance code | 0 | 15 | 11011 | 104 | 488 | ->code = -1;\n | |
1118 | 01010 | 262 | distance code | 8 | 11111100 | 0 | ||||
1119 | 11101110 | 125 | normal byte | } | ||||||
1120 | 1011000 | 10 | normal byte | \n | ||||||
1121 | 01101 | 266 | distance code | 1 | 14 | 0000 | 11 | 43 | node | |
1123 | 0010 | 259 | distance code | 5 | 11010 | 10 | 202 | = ( | ||
1125 | 01101 | 266 | distance code | 1 | 14 | 11011 | 73 | 457 | huffman_node * | |
1127 | 0000 | 257 | distance code | 3 | 0010 | 20 | 84 | ) | ||
1129 | 01011 | 263 | distance code | 9 | 0010 | 5 | 69 | node->one | ||
1130 | 101001 | 264 | distance code | 10 | 0001 | 10 | 58 | ;\n | ||
1132 | 101001 | 264 | distance code | 10 | 0001 | 8 | 56 | }\n | ||
1134 | 00111 | 101 | normal byte | e | ||||||
1135 | 100011 | 108 | normal byte | l | ||||||
1135 | 100111 | 115 | normal byte | s | ||||||
1136 | 00111 | 101 | normal byte | e | ||||||
1137 | 1101110 | 272 | distance code | 2 | 33 | 0100 | 73 | 329 | \n {\n if ( !node-> | |
1139 | 0001 | 258 | distance code | 4 | 1001 | 584 | 2632 | zero | ||
1141 | 1101110 | 272 | distance code | 2 | 33 | 0100 | 74 | 330 | )\n {\n node-> | |
1144 | 0010 | 259 | distance code | 5 | 0000 | 4 | 36 | zero | ||
1145 | 1111111101 | 279 | distance code | 6 | 105 | 0100 | 75 | 331 | = ( struct huffman_node_t * ) \n malloc( sizeof( huffman_node ) );\n memset( node-> | |
1149 | 0001 | 258 | distance code | 4 | 11001 | 13 | 109 | zero | ||
1150 | 11110001 | 275 | distance code | 1 | 52 | 0100 | 76 | 332 | , '\0', sizeof( huffman_node ) );\n node-> | |
1153 | 0001 | 258 | distance code | 4 | 0001 | 7 | 55 | zero | ||
1155 | 1111111100 | 277 | distance code | 0 | 67 | 0100 | 77 | 333 | ->code = -1;\n }\n node = ( huffman_node * ) node-> | |
1158 | 01010 | 262 | distance code | 8 | 1001 | 858 | 2906 | zero;\n | ||
1160 | 01101 | 266 | distance code | 1 | 14 | 0001 | 9 | 57 | }\n | |
1162 | 01010 | 262 | distance code | 8 | 11111101 | 1 | 7 | }\n | ||
1164 | 01000 | 260 | distance code | 6 | 1010 | 692 | 3764 | assert | ||
1166 | 01010 | 262 | distance code | 8 | 0011 | 42 | 170 | ( node-> | ||
1168 | 01000 | 260 | distance code | 6 | 11001 | 12 | 108 | code = | ||
1170 | 1100100 | 61 | normal byte | = | ||||||
1171 | 01011 | 263 | distance code | 9 | 1000 | 316 | 1852 | -1 );\n | ||
1173 | 101001 | 264 | distance code | 10 | 0011 | 12 | 140 | node-> | ||
1175 | 01010 | 262 | distance code | 8 | 0111 | 117 | 1141 | code = n | ||
1177 | 01110 | 267 | distance code | 0 | 15 | 1000 | 63 | 1599 | ;\n }\n }\n\n | |
1179 | 1100111 | 102 | normal byte | f | ||||||
1180 | 0010 | 259 | distance code | 5 | 1001 | 808 | 2856 | ree( | ||
1183 | 01011 | 263 | distance code | 9 | 1001 | 263 | 2311 | bl_count | ||
1185 | 01000 | 260 | distance code | 6 | 1000 | 264 | 1800 | );\n f | ||
1187 | 0010 | 259 | distance code | 5 | 11000 | 3 | 19 | ree( | ||
1189 | 101001 | 264 | distance code | 10 | 1001 | 220 | 2268 | next_code | ||
1191 | 01100 | 265 | distance code | 0 | 11 | 11000 | 4 | 20 | );\n free( | |
1193 | 0010 | 259 | distance code | 5 | 1001 | 177 | 2225 | tree | ||
1195 | 11100000 | 41 | normal byte | ) | ||||||
1196 | 0001 | 258 | distance code | 4 | 1001 | 907 | 2955 | ;\n}\n | ||
1198 | 1011000 | 10 | normal byte | \n | ||||||
1199 | 111100111 | 47 | normal byte | / | ||||||
1200 | 11100001 | 42 | normal byte | * | ||||||
1201 | 0001 | 258 | distance code | 4 | 1000 | 52 | 1588 | * \n | ||
1204 | 11100001 | 42 | normal byte | * | ||||||
1205 | 00110 | 32 | normal byte | |||||||
1205 | 1111110100 | 66 | normal byte | B | ||||||
1206 | 0001 | 258 | distance code | 4 | 1001 | 888 | 2936 | uild | ||
1209 | 0000 | 257 | distance code | 3 | 0111 | 69 | 1093 | a | ||
1211 | 1111110101 | 72 | normal byte | H | ||||||
1212 | 01100 | 265 | distance code | 0 | 11 | 0111 | 51 | 1075 | uffman tree | |
1214 | 01011 | 263 | distance code | 9 | 1010 | 794 | 3866 | for the | ||
1217 | 1100111 | 102 | normal byte | f | ||||||
1218 | 100101 | 111 | normal byte | o | ||||||
1218 | 0000 | 257 | distance code | 3 | 0100 | 118 | 374 | llo | ||
1220 | 11101100 | 119 | normal byte | w | ||||||
1221 | 0000 | 257 | distance code | 3 | 1010 | 892 | 3964 | ing | ||
1224 | 00110 | 32 | normal byte | |||||||
1224 | 11101011 | 118 | normal byte | v | ||||||
1225 | 011111 | 97 | normal byte | a | ||||||
1226 | 100011 | 108 | normal byte | l | ||||||
1227 | 1101011 | 117 | normal byte | u | ||||||
1228 | 00111 | 101 | normal byte | e | ||||||
1228 | 100111 | 115 | normal byte | s | ||||||
1229 | 111101000 | 58 | normal byte | : | ||||||
1230 | 0001 | 258 | distance code | 4 | 0001 | 1 | 49 | \n * | ||
1232 | 0000 | 257 | distance code | 3 | 1010 | 218 | 3290 | 0 | ||
1234 | 0001 | 258 | distance code | 4 | 0110 | 90 | 858 | - 1 | ||
1236 | 11100011 | 52 | normal byte | 4 | ||||||
1237 | 1011111 | 51 | normal byte | 3 | ||||||
1238 | 111101000 | 58 | normal byte | : | ||||||
1239 | 00110 | 32 | normal byte | |||||||
1239 | 1011101 | 48 | normal byte | 0 | ||||||
1240 | 1011101 | 48 | normal byte | 0 | ||||||
1241 | 011110 | 49 | normal byte | 1 | ||||||
1242 | 011110 | 49 | normal byte | 1 | ||||||
1243 | 1011101 | 48 | normal byte | 0 | ||||||
1244 | 0000 | 257 | distance code | 3 | 11111100 | 0 | 000 | |||
1245 | 00110 | 32 | normal byte | |||||||
1246 | 0001 | 258 | distance code | 4 | 11000 | 0 | 16 | - 1 | ||
1247 | 0000 | 257 | distance code | 3 | 1111100 | 3 | 11 | 011 | ||
1249 | 0001 | 258 | distance code | 4 | 11111100 | 0 | 1111 | |||
1250 | 0010 | 259 | distance code | 5 | 0011 | 52 | 180 | |||
1252 | 1011001 | 40 | normal byte | ( | ||||||
1253 | 1100010 | 56 | normal byte | 8 | ||||||
1254 | 11100000 | 41 | normal byte | ) | ||||||
1255 | 0001 | 258 | distance code | 4 | 0000 | 10 | 42 | \n * | ||
1256 | 011110 | 49 | normal byte | 1 | ||||||
1257 | 11100011 | 52 | normal byte | 4 | ||||||
1258 | 11100011 | 52 | normal byte | 4 | ||||||
1259 | 0000 | 257 | distance code | 3 | 111100 | 1 | 25 | - | ||
1261 | 1011110 | 50 | normal byte | 2 | ||||||
1262 | 1100000 | 53 | normal byte | 5 | ||||||
1262 | 1100000 | 53 | normal byte | 5 | ||||||
1263 | 111101000 | 58 | normal byte | : | ||||||
1264 | 00110 | 32 | normal byte | |||||||
1265 | 0001 | 258 | distance code | 4 | 0000 | 8 | 40 | 1100 | ||
1267 | 01000 | 260 | distance code | 6 | 0000 | 11 | 43 | 10000 | ||
1268 | 0000 | 257 | distance code | 3 | 0000 | 10 | 42 | - 1 | ||
1270 | 01010 | 262 | distance code | 8 | 11111100 | 0 | 11111111 | |||
1271 | 0010 | 259 | distance code | 5 | 0000 | 10 | 42 | ( | ||
1273 | 11100101 | 57 | normal byte | 9 | ||||||
1274 | 0010 | 259 | distance code | 5 | 0000 | 10 | 42 | )\n * | ||
1275 | 1011110 | 50 | normal byte | 2 | ||||||
1276 | 1100000 | 53 | normal byte | 5 | ||||||
1277 | 1100001 | 54 | normal byte | 6 | ||||||
1278 | 0001 | 258 | distance code | 4 | 0000 | 10 | 42 | - 2 | ||
1279 | 11100100 | 55 | normal byte | 7 | ||||||
1280 | 11100101 | 57 | normal byte | 9 | ||||||
1281 | 0001 | 258 | distance code | 4 | 0010 | 21 | 85 | : 00 | ||
1283 | 1011101 | 48 | normal byte | 0 | ||||||
1284 | 01000 | 260 | distance code | 6 | 0010 | 20 | 84 | 0000 | ||
1286 | 0000 | 257 | distance code | 3 | 11000 | 0 | 16 | - | ||
1287 | 0001 | 258 | distance code | 4 | 0001 | 4 | 52 | 0010 | ||
1289 | 01010 | 262 | distance code | 8 | 0010 | 20 | 84 | 111 | ||
1290 | 00110 | 32 | normal byte | |||||||
1291 | 1011001 | 40 | normal byte | ( | ||||||
1292 | 11100100 | 55 | normal byte | 7 | ||||||
1293 | 01000 | 260 | distance code | 6 | 0000 | 10 | 42 | )\n * 2 | ||
1295 | 1100010 | 56 | normal byte | 8 | ||||||
1295 | 0001 | 258 | distance code | 4 | 0010 | 4 | 68 | 0 - | ||
1297 | 1011110 | 50 | normal byte | 2 | ||||||
1298 | 1100010 | 56 | normal byte | 8 | ||||||
1299 | 11100100 | 55 | normal byte | 7 | ||||||
1300 | 01000 | 260 | distance code | 6 | 0010 | 21 | 85 | : 1100 | ||
1302 | 01011 | 263 | distance code | 9 | 0011 | 0 | 128 | 0000 - 1 | ||
1303 | 0001 | 258 | distance code | 4 | 1111100 | 3 | 11 | 1000 | ||
1305 | 01110 | 267 | distance code | 0 | 15 | 0011 | 0 | 128 | 111 (8)\n * | |
1307 | 111101001 | 65 | normal byte | A | ||||||
1308 | 100000 | 99 | normal byte | c | ||||||
1309 | 100000 | 99 | normal byte | c | ||||||
1310 | 100101 | 111 | normal byte | o | ||||||
1310 | 100110 | 114 | normal byte | r | ||||||
1311 | 100001 | 100 | normal byte | d | ||||||
1312 | 0001 | 258 | distance code | 4 | 11010 | 0 | 192 | ing | ||
1314 | 0000 | 257 | distance code | 3 | 0111 | 298 | 1322 | to | ||
1316 | 0001 | 258 | distance code | 4 | 11010 | 17 | 209 | the | ||
1318 | 0000 | 257 | distance code | 3 | 1000 | 343 | 1879 | RFC | ||
1320 | 00110 | 32 | normal byte | |||||||
1321 | 011110 | 49 | normal byte | 1 | ||||||
1321 | 11100101 | 57 | normal byte | 9 | ||||||
1322 | 1100000 | 53 | normal byte | 5 | ||||||
1323 | 011110 | 49 | normal byte | 1 | ||||||
1324 | 00110 | 32 | normal byte | |||||||
1325 | 100110 | 114 | normal byte | r | ||||||
1325 | 1101011 | 117 | normal byte | u | ||||||
1326 | 100011 | 108 | normal byte | l | ||||||
1327 | 0000 | 257 | distance code | 3 | 1001 | 763 | 2811 | es | ||
1329 | 0001 | 258 | distance code | 4 | 1011 | 13 | 4109 | in s | ||
1332 | 0000 | 257 | distance code | 3 | 1000 | 373 | 1909 | ect | ||
1334 | 0000 | 257 | distance code | 3 | 1010 | 945 | 4017 | ion | ||
1336 | 00110 | 32 | normal byte | |||||||
1337 | 1011111 | 51 | normal byte | 3 | ||||||
1337 | 1011100 | 46 | normal byte | . | ||||||
1338 | 1011110 | 50 | normal byte | 2 | ||||||
1339 | 1011100 | 46 | normal byte | . | ||||||
1340 | 1011110 | 50 | normal byte | 2 | ||||||
1341 | 0001 | 258 | distance code | 4 | 0001 | 3 | 51 | \n * | ||
1342 | 111110011 | 84 | normal byte | T | ||||||
1344 | 0001 | 258 | distance code | 4 | 1010 | 614 | 3686 | his | ||
1346 | 0000 | 257 | distance code | 3 | 111111101 | 2 | is | |||
1347 | 1101011 | 117 | normal byte | u | ||||||
1348 | 0001 | 258 | distance code | 4 | 1001 | 810 | 2858 | sed | ||
1351 | 0000 | 257 | distance code | 3 | 0001 | 6 | 54 | to | ||
1352 | 1011001 | 40 | normal byte | ( | ||||||
1353 | 100001 | 100 | normal byte | d | ||||||
1354 | 00111 | 101 | normal byte | e | ||||||
1354 | 11100000 | 41 | normal byte | ) | ||||||
1355 | 01010 | 262 | distance code | 8 | 1010 | 986 | 4058 | compress | ||
1358 | 00110 | 32 | normal byte | |||||||
1358 | 100111 | 115 | normal byte | s | ||||||
1359 | 0001 | 258 | distance code | 4 | 0101 | 137 | 649 | mall | ||
1361 | 0000 | 257 | distance code | 3 | 0001 | 6 | 54 | in | ||
1363 | 1101010 | 112 | normal byte | p | ||||||
1363 | 1101011 | 117 | normal byte | u | ||||||
1364 | 101000 | 116 | normal byte | t | ||||||
1365 | 100111 | 115 | normal byte | s | ||||||
1366 | 0000 | 257 | distance code | 3 | 1001 | 861 | 2909 | .\n | ||
1368 | 11100001 | 42 | normal byte | * | ||||||
1369 | 111100111 | 47 | normal byte | / | ||||||
1370 | 101011 | 269 | distance code | 0 | 19 | 1010 | 197 | 3269 | \nstatic void build_ | |
1373 | 1100111 | 102 | normal byte | f | ||||||
1374 | 100010 | 105 | normal byte | i | ||||||
1375 | 111111000 | 120 | normal byte | x | ||||||
1376 | 00111 | 101 | normal byte | e | ||||||
1376 | 1101110 | 272 | distance code | 3 | 34 | 1010 | 203 | 3275 | d_huffman_tree( huffman_node *root | |
1379 | 01001 | 261 | distance code | 7 | 1010 | 102 | 3174 | )\n{\n | ||
1382 | 01101 | 266 | distance code | 1 | 14 | 1010 | 129 | 3201 | huffman_range | |
1384 | 01001 | 261 | distance code | 7 | 0111 | 389 | 1413 | range[ | ||
1386 | 0010 | 259 | distance code | 5 | 1011 | 7 | 4103 | 4 ];\n | ||
1389 | 1011000 | 10 | normal byte | \n | ||||||
1390 | 01011 | 263 | distance code | 9 | 1001 | 376 | 2424 | range[ | ||
1392 | 1011101 | 48 | normal byte | 0 | ||||||
1393 | 01001 | 261 | distance code | 7 | 1000 | 324 | 1860 | ].end | ||
1395 | 1100100 | 61 | normal byte | = | ||||||
1396 | 0001 | 258 | distance code | 4 | 0100 | 117 | 373 | 143 | ||
1398 | 1100011 | 59 | normal byte | ; | ||||||
1399 | 01101 | 266 | distance code | 1 | 14 | 11000 | 7 | 23 | \n range[ 0 ]. | |
1400 | 01101 | 266 | distance code | 0 | 13 | 1001 | 819 | 2867 | bit_length = | |
1403 | 1100010 | 56 | normal byte | 8 | ||||||
1404 | 01100 | 265 | distance code | 0 | 11 | 111100 | 4 | 28 | ;\n range[ | |
1406 | 011110 | 49 | normal byte | 1 | ||||||
1406 | 01011 | 263 | distance code | 9 | 0001 | 4 | 52 | ].end = | ||
1408 | 0000 | 257 | distance code | 3 | 0100 | 127 | 383 | 255 | ||
1410 | 01110 | 267 | distance code | 0 | 15 | 11000 | 7 | 23 | ;\n range[ 1 ]. | |
1412 | 01101 | 266 | distance code | 0 | 13 | 0001 | 4 | 52 | bit_length = | |
1413 | 11100101 | 57 | normal byte | 9 | ||||||
1414 | 01100 | 265 | distance code | 0 | 11 | 111100 | 4 | 28 | ;\n range[ | |
1416 | 1011110 | 50 | normal byte | 2 | ||||||
1417 | 101001 | 264 | distance code | 10 | 0001 | 4 | 52 | ].end = 2 | ||
1419 | 11100100 | 55 | normal byte | 7 | ||||||
1420 | 01110 | 267 | distance code | 1 | 16 | 11000 | 7 | 23 | 9;\n range[ 2 ]. | |
1422 | 01101 | 266 | distance code | 0 | 13 | 0001 | 4 | 52 | bit_length = | |
1423 | 11100100 | 55 | normal byte | 7 | ||||||
1424 | 01100 | 265 | distance code | 0 | 11 | 111100 | 4 | 28 | ;\n range[ | |
1426 | 1011111 | 51 | normal byte | 3 | ||||||
1427 | 101001 | 264 | distance code | 10 | 0001 | 4 | 52 | ].end = 2 | ||
1429 | 1100010 | 56 | normal byte | 8 | ||||||
1430 | 01110 | 267 | distance code | 1 | 16 | 11000 | 7 | 23 | 7;\n range[ 3 ]. | |
1432 | 01110 | 267 | distance code | 1 | 16 | 0011 | 30 | 158 | bit_length = 8;\n | |
1434 | 11101110 | 125 | normal byte | } | ||||||
1435 | 101011 | 269 | distance code | 2 | 21 | 1010 | 566 | 3638 | \n\ntypedef struct\n{\n | |
1437 | 111101100 | 70 | normal byte | F | ||||||
1438 | 111101101 | 73 | normal byte | I | ||||||
1440 | 1111110110 | 76 | normal byte | L | ||||||
1441 | 11101000 | 69 | normal byte | E | ||||||
1442 | 00110 | 32 | normal byte | |||||||
1442 | 11100001 | 42 | normal byte | * | ||||||
1443 | 100111 | 115 | normal byte | s | ||||||
1444 | 100101 | 111 | normal byte | o | ||||||
1445 | 1101011 | 117 | normal byte | u | ||||||
1446 | 100110 | 114 | normal byte | r | ||||||
1447 | 100000 | 99 | normal byte | c | ||||||
1447 | 101011 | 269 | distance code | 0 | 19 | 1011 | 81 | 4177 | e;\n unsigned char | |
1450 | 1100110 | 98 | normal byte | b | ||||||
1451 | 1101011 | 117 | normal byte | u | ||||||
1452 | 1100111 | 102 | normal byte | f | ||||||
1453 | 101011 | 269 | distance code | 0 | 19 | 1011 | 305 | 4401 | ;\n unsigned char m | |
1456 | 011111 | 97 | normal byte | a | ||||||
1456 | 100111 | 115 | normal byte | s | ||||||
1457 | 111110111 | 107 | normal byte | k | ||||||
1458 | 0010 | 259 | distance code | 5 | 1010 | 745 | 3817 | ; // | ||
1461 | 100000 | 99 | normal byte | c | ||||||
1461 | 1101011 | 117 | normal byte | u | ||||||
1462 | 100110 | 114 | normal byte | r | ||||||
1463 | 100110 | 114 | normal byte | r | ||||||
1464 | 00111 | 101 | normal byte | e | ||||||
1464 | 01000 | 260 | distance code | 6 | 1010 | 372 | 3444 | nt bit | ||
1467 | 00110 | 32 | normal byte | |||||||
1467 | 1101010 | 112 | normal byte | p | ||||||
1468 | 100101 | 111 | normal byte | o | ||||||
1469 | 100111 | 115 | normal byte | s | ||||||
1470 | 100010 | 105 | normal byte | i | ||||||
1470 | 0010 | 259 | distance code | 5 | 11011 | 76 | 460 | tion | ||
1472 | 11101100 | 119 | normal byte | w | ||||||
1473 | 100010 | 105 | normal byte | i | ||||||
1474 | 101000 | 116 | normal byte | t | ||||||
1475 | 1101000 | 104 | normal byte | h | ||||||
1476 | 0000 | 257 | distance code | 3 | 11011 | 91 | 475 | in | ||
1478 | 0001 | 258 | distance code | 4 | 0001 | 9 | 57 | buf; | ||
1479 | 00110 | 32 | normal byte | |||||||
1480 | 1100010 | 56 | normal byte | 8 | ||||||
1481 | 0001 | 258 | distance code | 4 | 11011 | 76 | 460 | is | ||
1483 | 111101110 | 77 | normal byte | M | ||||||
1484 | 111110010 | 83 | normal byte | S | ||||||
1485 | 1111110100 | 66 | normal byte | B | ||||||
1486 | 0000 | 257 | distance code | 3 | 11001 | 27 | 123 | \n}\n | ||
1488 | 0001 | 258 | distance code | 4 | 0011 | 13 | 141 | bit_ | ||
1490 | 0000 | 257 | distance code | 3 | 11001 | 22 | 118 | str | ||
1492 | 00111 | 101 | normal byte | e | ||||||
1492 | 011111 | 97 | normal byte | a | ||||||
1493 | 1101001 | 109 | normal byte | m | ||||||
1494 | 1100011 | 59 | normal byte | ; | ||||||
1495 | 0010 | 259 | distance code | 5 | 0110 | 1 | 769 | \n\n/** | ||
1497 | 0001 | 258 | distance code | 4 | 11011 | 110 | 494 | \n * | ||
1499 | 111110001 | 82 | normal byte | R | ||||||
1500 | 00111 | 101 | normal byte | e | ||||||
1500 | 011111 | 97 | normal byte | a | ||||||
1501 | 0001 | 258 | distance code | 4 | 0101 | 255 | 767 | d a | ||
1503 | 0001 | 258 | distance code | 4 | 0001 | 14 | 62 | bit | ||
1505 | 0010 | 259 | distance code | 5 | 1001 | 377 | 2425 | from | ||
1507 | 0001 | 258 | distance code | 4 | 0101 | 37 | 549 | the | ||
1509 | 01000 | 260 | distance code | 6 | 0000 | 3 | 35 | stream | ||
1511 | 01000 | 260 | distance code | 6 | 11011 | 95 | 479 | .\n */\n | ||
1513 | 01101 | 266 | distance code | 0 | 13 | 1010 | 922 | 3994 | unsigned int | |
1515 | 0010 | 259 | distance code | 5 | 0110 | 85 | 853 | next_ | ||
1517 | 0000 | 257 | distance code | 3 | 0000 | 10 | 42 | bit | ||
1519 | 0010 | 259 | distance code | 5 | 1000 | 97 | 1633 | ( bit | ||
1521 | 01001 | 261 | distance code | 7 | 0010 | 10 | 74 | _stream | ||
1523 | 0000 | 257 | distance code | 3 | 0011 | 56 | 184 | *s | ||
1524 | 01000 | 260 | distance code | 6 | 11111101 | 1 | 7 | tream | ||
1526 | 11100000 | 41 | normal byte | ) | ||||||
1527 | 101010 | 268 | distance code | 1 | 18 | 1010 | 990 | 4062 | \n{\n unsigned int | |
1530 | 0001 | 258 | distance code | 4 | 0010 | 21 | 85 | bit | ||
1531 | 0010 | 259 | distance code | 5 | 1001 | 352 | 2400 | = 0;\n | ||
1534 | 0001 | 258 | distance code | 4 | 1010 | 173 | 3245 | \n b | ||
1536 | 0010 | 259 | distance code | 5 | 1111100 | 3 | 11 | it = | ||
1537 | 1011001 | 40 | normal byte | ( | ||||||
1538 | 01001 | 261 | distance code | 7 | 0010 | 28 | 92 | stream | ||
1540 | 1011011 | 45 | normal byte | - | ||||||
1541 | 11100111 | 62 | normal byte | > | ||||||
1542 | 0000 | 257 | distance code | 3 | 0011 | 28 | 156 | buf | ||
1544 | 0000 | 257 | distance code | 3 | 1000 | 178 | 1714 | & | ||
1546 | 01010 | 262 | distance code | 8 | 1111101 | 1 | 13 | stream-> | ||
1548 | 0001 | 258 | distance code | 4 | 11010 | 15 | 207 | mask | ||
1549 | 0010 | 259 | distance code | 5 | 1001 | 845 | 2893 | ) ? | ||
1552 | 011110 | 49 | normal byte | 1 | ||||||
1552 | 0000 | 257 | distance code | 3 | 1001 | 828 | 2876 | : | ||
1555 | 0010 | 259 | distance code | 5 | 1001 | 401 | 2449 | 0;\n | ||
1557 | 0000 | 257 | distance code | 3 | 11010 | 27 | 219 | // | ||
1559 | 0001 | 258 | distance code | 4 | 1011 | 189 | 4285 | gzip | ||
1561 | 00110 | 32 | normal byte | |||||||
1562 | 100111 | 115 | normal byte | s | ||||||
1563 | 1101010 | 112 | normal byte | p | ||||||
1563 | 00111 | 101 | normal byte | e | ||||||
1564 | 100000 | 99 | normal byte | c | ||||||
1565 | 100010 | 105 | normal byte | i | ||||||
1566 | 1100111 | 102 | normal byte | f | ||||||
1566 | 100010 | 105 | normal byte | i | ||||||
1567 | 00111 | 101 | normal byte | e | ||||||
1568 | 01000 | 260 | distance code | 6 | 1011 | 242 | 4338 | s the | ||
1570 | 0010 | 259 | distance code | 5 | 1000 | 217 | 1753 | bits | ||
1572 | 01001 | 261 | distance code | 7 | 11010 | 30 | 222 | within | ||
1574 | 0000 | 257 | distance code | 3 | 0011 | 53 | 181 | a b | ||
1576 | 11101101 | 121 | normal byte | y | ||||||
1577 | 101000 | 116 | normal byte | t | ||||||
1578 | 00111 | 101 | normal byte | e | ||||||
1579 | 00110 | 32 | normal byte | |||||||
1579 | 11011110 | 34 | normal byte | " | ||||||
1580 | 1100110 | 98 | normal byte | b | ||||||
1581 | 011111 | 97 | normal byte | a | ||||||
1582 | 100000 | 99 | normal byte | c | ||||||
1583 | 111110111 | 107 | normal byte | k | ||||||
1584 | 11101100 | 119 | normal byte | w | ||||||
1585 | 011111 | 97 | normal byte | a | ||||||
1585 | 100110 | 114 | normal byte | r | ||||||
1586 | 100001 | 100 | normal byte | d | ||||||
1587 | 100111 | 115 | normal byte | s | ||||||
1588 | 11011110 | 34 | normal byte | " | ||||||
1589 | 01001 | 261 | distance code | 7 | 1010 | 496 | 3568 | .\n // | ||
1591 | 0000 | 257 | distance code | 3 | 1001 | 38 | 2086 | con | ||
1593 | 1100111 | 102 | normal byte | f | ||||||
1594 | 1101011 | 117 | normal byte | u | ||||||
1595 | 100111 | 115 | normal byte | s | ||||||
1596 | 0001 | 258 | distance code | 4 | 1011 | 820 | 4916 | ing. | ||
1598 | 01000 | 260 | distance code | 6 | 1010 | 979 | 4051 | \n str | ||
1601 | 101001 | 264 | distance code | 10 | 11001 | 1 | 97 | eam->mask | ||
1603 | 11100110 | 60 | normal byte | < | ||||||
1604 | 11100110 | 60 | normal byte | < | ||||||
1605 | 0001 | 258 | distance code | 4 | 1001 | 796 | 2844 | = 1; | ||
1607 | 0010 | 259 | distance code | 5 | 1010 | 680 | 3752 | \n\n i | ||
1609 | 0010 | 259 | distance code | 5 | 0111 | 437 | 1461 | f ( ! | ||
1611 | 01101 | 266 | distance code | 1 | 14 | 11001 | 30 | 126 | stream->mask ) | |
1613 | 01011 | 263 | distance code | 9 | 1000 | 483 | 2019 | \n {\n | ||
1615 | 01101 | 266 | distance code | 0 | 13 | 11000 | 6 | 22 | stream->mask | |
1617 | 1100100 | 61 | normal byte | = | ||||||
1618 | 0010 | 259 | distance code | 5 | 1011 | 295 | 4391 | 0x01 | ||
1620 | 01100 | 265 | distance code | 0 | 11 | 1000 | 467 | 2003 | ;\n if ( | |
1623 | 0000 | 257 | distance code | 3 | 0111 | 76 | 1100 | fre | ||
1625 | 011111 | 97 | normal byte | a | ||||||
1626 | 100001 | 100 | normal byte | d | ||||||
1626 | 1011001 | 40 | normal byte | ( | ||||||
1627 | 00110 | 32 | normal byte | |||||||
1628 | 11011111 | 38 | normal byte | & | ||||||
1629 | 01100 | 265 | distance code | 0 | 11 | 11010 | 9 | 201 | stream->buf | |
1631 | 1011010 | 44 | normal byte | , | ||||||
1632 | 00110 | 32 | normal byte | |||||||
1633 | 011110 | 49 | normal byte | 1 | ||||||
1633 | 0010 | 259 | distance code | 5 | 111111101 | 2 | , 1, | |||
1635 | 01010 | 262 | distance code | 8 | 11000 | 2 | 18 | stream-> | ||
1637 | 01000 | 260 | distance code | 6 | 11011 | 75 | 459 | source | ||
1639 | 0001 | 258 | distance code | 4 | 1001 | 822 | 2870 | ) < | ||
1641 | 0001 | 258 | distance code | 4 | 1000 | 388 | 1924 | 1 ) | ||
1643 | 01101 | 266 | distance code | 0 | 13 | 1000 | 501 | 2037 | \n {\n | |
1645 | 1101010 | 112 | normal byte | p | ||||||
1646 | 00111 | 101 | normal byte | e | ||||||
1647 | 100110 | 114 | normal byte | r | ||||||
1648 | 100110 | 114 | normal byte | r | ||||||
1648 | 100101 | 111 | normal byte | o | ||||||
1649 | 100110 | 114 | normal byte | r | ||||||
1650 | 1011001 | 40 | normal byte | ( | ||||||
1651 | 00110 | 32 | normal byte | |||||||
1651 | 11011110 | 34 | normal byte | " | ||||||
1652 | 11101000 | 69 | normal byte | E | ||||||
1653 | 0001 | 258 | distance code | 4 | 11111101 | 1 | 7 | rror | ||
1655 | 00110 | 32 | normal byte | |||||||
1656 | 0001 | 258 | distance code | 4 | 0010 | 11 | 75 | read | ||
1657 | 0001 | 258 | distance code | 4 | 0110 | 160 | 928 | ing | ||
1659 | 01010 | 262 | distance code | 8 | 0110 | 98 | 866 | compress | ||
1661 | 0010 | 259 | distance code | 5 | 0100 | 57 | 313 | ed in | ||
1663 | 0000 | 257 | distance code | 3 | 0110 | 94 | 862 | put | ||
1665 | 11011110 | 34 | normal byte | " | ||||||
1666 | 101001 | 264 | distance code | 10 | 0111 | 258 | 1282 | );\n | ||
1669 | 0000 | 257 | distance code | 3 | 11010 | 17 | 209 | // | ||
1671 | 111110011 | 84 | normal byte | T | ||||||
1672 | 111110000 | 79 | normal byte | O | ||||||
1673 | 111101011 | 68 | normal byte | D | ||||||
1674 | 111110000 | 79 | normal byte | O | ||||||
1675 | 0000 | 257 | distance code | 3 | 0100 | 125 | 381 | ne | ||
1677 | 00111 | 101 | normal byte | e | ||||||
1678 | 0001 | 258 | distance code | 4 | 11011 | 42 | 426 | d a | ||
1680 | 0010 | 259 | distance code | 5 | 1010 | 759 | 3831 | long | ||
1682 | 11101010 | 106 | normal byte | j | ||||||
1683 | 1101011 | 117 | normal byte | u | ||||||
1684 | 1101001 | 109 | normal byte | m | ||||||
1685 | 1101010 | 112 | normal byte | p | ||||||
1685 | 0001 | 258 | distance code | 4 | 0110 | 157 | 925 | to | ||
1687 | 00111 | 101 | normal byte | e | ||||||
1688 | 111111000 | 120 | normal byte | x | ||||||
1689 | 0000 | 257 | distance code | 3 | 0100 | 86 | 342 | it | ||
1691 | 1101000 | 104 | normal byte | h | ||||||
1692 | 00111 | 101 | normal byte | e | ||||||
1693 | 0001 | 258 | distance code | 4 | 1010 | 790 | 3862 | re o | ||
1695 | 100110 | 114 | normal byte | r | ||||||
1696 | 00110 | 32 | normal byte | |||||||
1696 | 100111 | 115 | normal byte | s | ||||||
1697 | 100101 | 111 | normal byte | o | ||||||
1698 | 0001 | 258 | distance code | 4 | 1011 | 887 | 4983 | meth | ||
1700 | 0000 | 257 | distance code | 3 | 0010 | 13 | 77 | ing | ||
1702 | 01101 | 266 | distance code | 1 | 14 | 0111 | 293 | 1317 | \n }\n }\n\n | |
1704 | 100110 | 114 | normal byte | r | ||||||
1705 | 00111 | 101 | normal byte | e | ||||||
1705 | 101000 | 116 | normal byte | t | ||||||
1706 | 1101011 | 117 | normal byte | u | ||||||
1707 | 100110 | 114 | normal byte | r | ||||||
1708 | 100100 | 110 | normal byte | n | ||||||
1709 | 0001 | 258 | distance code | 4 | 0100 | 58 | 314 | bit | ||
1710 | 01101 | 266 | distance code | 0 | 13 | 0111 | 250 | 1274 | ;\n}\n\n/** \n * | |
1713 | 0010 | 259 | distance code | 5 | 11011 | 121 | 505 | Read | ||
1715 | 11011110 | 34 | normal byte | " | ||||||
1716 | 0010 | 259 | distance code | 5 | 0111 | 313 | 1337 | count | ||
1718 | 11011110 | 34 | normal byte | " | ||||||
1719 | 01000 | 260 | distance code | 6 | 0100 | 87 | 343 | bits | ||
1721 | 01110 | 267 | distance code | 0 | 15 | 0101 | 0 | 512 | from the stream | |
1723 | 1011010 | 44 | normal byte | , | ||||||
1724 | 00110 | 32 | normal byte | |||||||
1725 | 011111 | 97 | normal byte | a | ||||||
1725 | 0000 | 257 | distance code | 3 | 0101 | 214 | 726 | nd | ||
1727 | 01001 | 261 | distance code | 7 | 0001 | 13 | 61 | return | ||
1729 | 0000 | 257 | distance code | 3 | 11000 | 6 | 22 | the | ||
1731 | 100010 | 105 | normal byte | i | ||||||
1731 | 100110 | 114 | normal byte | r | ||||||
1732 | 01000 | 260 | distance code | 6 | 0111 | 263 | 1287 | value | ||
1734 | 01000 | 260 | distance code | 6 | 0101 | 24 | 536 | .\n */\n | ||
1736 | 0010 | 259 | distance code | 5 | 1011 | 106 | 4202 | int r | ||
1739 | 0000 | 257 | distance code | 3 | 0010 | 2 | 66 | ead | ||
1740 | 0001 | 258 | distance code | 4 | 0101 | 15 | 527 | _bit | ||
1742 | 100111 | 115 | normal byte | s | ||||||
1743 | 101011 | 269 | distance code | 1 | 20 | 0101 | 16 | 528 | ( bit_stream *stream | |
1746 | 1011010 | 44 | normal byte | , | ||||||
1747 | 01001 | 261 | distance code | 7 | 1011 | 0 | 4096 | int co | ||
1749 | 0010 | 259 | distance code | 5 | 0111 | 409 | 1433 | unt ) | ||
1751 | 01011 | 263 | distance code | 9 | 1011 | 83 | 4179 | \n{\n int | ||
1754 | 0001 | 258 | distance code | 4 | 0000 | 13 | 45 | bits | ||
1755 | 1100101 | 95 | normal byte | _ | ||||||
1756 | 0010 | 259 | distance code | 5 | 0010 | 6 | 70 | value | ||
1758 | 01011 | 263 | distance code | 9 | 0101 | 25 | 537 | = 0;\n\n | ||
1760 | 11101100 | 119 | normal byte | w | ||||||
1761 | 1101000 | 104 | normal byte | h | ||||||
1762 | 100010 | 105 | normal byte | i | ||||||
1762 | 0000 | 257 | distance code | 3 | 1001 | 443 | 2491 | le | ||
1765 | 1011001 | 40 | normal byte | ( | ||||||
1766 | 01000 | 260 | distance code | 6 | 0000 | 10 | 42 | count | ||
1767 | 01001 | 261 | distance code | 7 | 1001 | 238 | 2286 | -- )\n | ||
1770 | 01001 | 261 | distance code | 7 | 1010 | 421 | 3493 | {\n b | ||
1772 | 01100 | 265 | distance code | 1 | 12 | 0000 | 12 | 44 | its_value = | |
1774 | 1011001 | 40 | normal byte | ( | ||||||
1775 | 01100 | 265 | distance code | 1 | 12 | 1111101 | 2 | 14 | bits_value | |
1776 | 11100110 | 60 | normal byte | < | ||||||
1777 | 0010 | 259 | distance code | 5 | 0100 | 88 | 344 | < 1 ) | ||
1779 | 00110 | 32 | normal byte | |||||||
1780 | 1111111010 | 124 | normal byte | | | ||||||
1781 | 01100 | 265 | distance code | 0 | 11 | 0101 | 146 | 658 | next_bit( | |
1783 | 01010 | 262 | distance code | 8 | 0101 | 134 | 646 | stream ) | ||
1786 | 1100011 | 59 | normal byte | ; | ||||||
1786 | 101010 | 268 | distance code | 1 | 18 | 11010 | 55 | 247 | \n }\n\n return bit | |
1789 | 01001 | 261 | distance code | 7 | 0001 | 5 | 53 | s_value | ||
1790 | 0010 | 259 | distance code | 5 | 11010 | 62 | 254 | ;\n}\n\n | ||
1792 | 01101 | 266 | distance code | 0 | 13 | 0011 | 55 | 183 | int read_bits | |
1794 | 1100101 | 95 | normal byte | _ | ||||||
1795 | 100010 | 105 | normal byte | i | ||||||
1796 | 100100 | 110 | normal byte | n | ||||||
1797 | 11101011 | 118 | normal byte | v | ||||||
1798 | 11110001 | 275 | distance code | 7 | 58 | 0011 | 59 | 187 | ( bit_stream *stream, int count )\n{\n int bits_value = 0;\n | |
1800 | 01000 | 260 | distance code | 6 | 11000 | 5 | 21 | int | ||
1802 | 100010 | 105 | normal byte | i | ||||||
1803 | 01100 | 265 | distance code | 1 | 12 | 1111101 | 0 | 12 | = 0;\n int | |
1804 | 0010 | 259 | distance code | 5 | 0100 | 100 | 356 | bit;\n | ||
1806 | 01011 | 263 | distance code | 9 | 1001 | 609 | 2657 | \n for ( | ||
1809 | 01000 | 260 | distance code | 6 | 111100 | 2 | 26 | i = 0; | ||
1810 | 0000 | 257 | distance code | 3 | 11111101 | 0 | 6 | i | ||
1812 | 11100110 | 60 | normal byte | < | ||||||
1813 | 01000 | 260 | distance code | 6 | 0010 | 11 | 75 | count | ||
1815 | 0000 | 257 | distance code | 3 | 1111100 | 2 | 10 | ; i | ||
1816 | 01101 | 266 | distance code | 1 | 14 | 1010 | 645 | 3717 | ++ )\n {\n b | |
1819 | 0010 | 259 | distance code | 5 | 0110 | 19 | 787 | it = | ||
1821 | 101011 | 269 | distance code | 3 | 22 | 11010 | 2 | 194 | next_bit( stream );\n | |
1823 | 01101 | 266 | distance code | 0 | 13 | 11010 | 61 | 253 | bits_value | |
1825 | 1111111010 | 124 | normal byte | | | ||||||
1827 | 01001 | 261 | distance code | 7 | 11010 | 62 | 254 | = ( bit | ||
1829 | 0001 | 258 | distance code | 4 | 11010 | 55 | 247 | << | ||
1831 | 100010 | 105 | normal byte | i | ||||||
1831 | 1101110 | 272 | distance code | 2 | 33 | 11010 | 34 | 226 | );\n }\n\n return bits_value;\n}\n\n | |
1834 | 01110 | 267 | distance code | 1 | 16 | 1000 | 220 | 1756 | /** \n * Build a | |
1836 | 1101000 | 104 | normal byte | h | ||||||
1837 | 01101 | 266 | distance code | 0 | 13 | 1000 | 220 | 1756 | uffman tree f | |
1839 | 0001 | 258 | distance code | 4 | 11011 | 100 | 484 | rom | ||
1841 | 0010 | 259 | distance code | 5 | 0101 | 98 | 610 | input | ||
1843 | 0000 | 257 | distance code | 3 | 1000 | 381 | 1917 | as | ||
1846 | 01011 | 263 | distance code | 9 | 0110 | 93 | 861 | specifie | ||
1848 | 100001 | 100 | normal byte | d | ||||||
1848 | 01110 | 267 | distance code | 1 | 16 | 1000 | 11 | 1547 | in section 3.2. | |
1851 | 11100100 | 55 | normal byte | 7 | ||||||
1852 | 101010 | 268 | distance code | 0 | 17 | 0111 | 477 | 1501 | \n */\nstatic void | |
1854 | 0010 | 259 | distance code | 5 | 0100 | 52 | 308 | read_ | ||
1856 | 100001 | 100 | normal byte | d | ||||||
1857 | 11101101 | 121 | normal byte | y | ||||||
1858 | 100100 | 110 | normal byte | n | ||||||
1859 | 011111 | 97 | normal byte | a | ||||||
1859 | 1101001 | 109 | normal byte | m | ||||||
1860 | 100010 | 105 | normal byte | i | ||||||
1861 | 100000 | 99 | normal byte | c | ||||||
1862 | 01110 | 267 | distance code | 0 | 15 | 0111 | 478 | 1502 | _huffman_tree( | |
1864 | 101011 | 269 | distance code | 1 | 20 | 0100 | 64 | 320 | bit_stream *stream, | |
1867 | 01110 | 267 | distance code | 0 | 15 | 1001 | 194 | 2242 | \n | |
1869 | 1101100 | 270 | distance code | 2 | 25 | 11111100 | 0 | |||
1871 | 01101 | 266 | distance code | 1 | 14 | 1000 | 26 | 1562 | huffman_node * | |
1874 | 100011 | 108 | normal byte | l | ||||||
1874 | 100010 | 105 | normal byte | i | ||||||
1875 | 101000 | 116 | normal byte | t | ||||||
1876 | 00111 | 101 | normal byte | e | ||||||
1876 | 100110 | 114 | normal byte | r | ||||||
1877 | 011111 | 97 | normal byte | a | ||||||
1878 | 100011 | 108 | normal byte | l | ||||||
1879 | 100111 | 115 | normal byte | s | ||||||
1879 | 1100101 | 95 | normal byte | _ | ||||||
1880 | 11101111 | 273 | distance code | 3 | 38 | 1011 | 751 | 4847 | root,\n | |
1884 | 101011 | 269 | distance code | 2 | 21 | 0010 | 3 | 67 | huffman_node * | |
1886 | 100001 | 100 | normal byte | d | ||||||
1886 | 100010 | 105 | normal byte | i | ||||||
1887 | 0000 | 257 | distance code | 3 | 0011 | 54 | 182 | sta | ||
1889 | 100100 | 110 | normal byte | n | ||||||
1890 | 100000 | 99 | normal byte | c | ||||||
1890 | 00111 | 101 | normal byte | e | ||||||
1891 | 01000 | 260 | distance code | 6 | 0010 | 4 | 68 | s_root | ||
1893 | 01100 | 265 | distance code | 0 | 11 | 11011 | 63 | 447 | )\n{\n int | |
1895 | 1101000 | 104 | normal byte | h | ||||||
1896 | 100011 | 108 | normal byte | l | ||||||
1897 | 100010 | 105 | normal byte | i | ||||||
1897 | 01011 | 263 | distance code | 9 | 1011 | 714 | 4810 | t;\n int | ||
1900 | 1101000 | 104 | normal byte | h | ||||||
1901 | 0001 | 258 | distance code | 4 | 0000 | 5 | 37 | dist | ||
1902 | 01011 | 263 | distance code | 9 | 1111101 | 0 | 12 | ;\n int h | ||
1904 | 100000 | 99 | normal byte | c | ||||||
1905 | 01001 | 261 | distance code | 7 | 1011 | 1160 | 5256 | len;\n | ||
1907 | 0010 | 259 | distance code | 5 | 11011 | 79 | 463 | int i | ||
1909 | 1011010 | 44 | normal byte | , | ||||||
1910 | 00110 | 32 | normal byte | |||||||
1911 | 11101010 | 106 | normal byte | j | ||||||
1912 | 01100 | 265 | distance code | 1 | 12 | 1011 | 702 | 4798 | ;\n int code | |
1914 | 01001 | 261 | distance code | 7 | 0111 | 448 | 1472 | _length | ||
1917 | 100111 | 115 | normal byte | s | ||||||
1917 | 0000 | 257 | distance code | 3 | 1000 | 59 | 1595 | [ 1 | ||
1920 | 11100101 | 57 | normal byte | 9 | ||||||
1921 | 01000 | 260 | distance code | 6 | 1010 | 222 | 3294 | ];\n | ||
1923 | 01101 | 266 | distance code | 1 | 14 | 1000 | 180 | 1716 | huffman_range | |
1925 | 01100 | 265 | distance code | 0 | 11 | 0000 | 3 | 35 | code_length | |
1927 | 01000 | 260 | distance code | 6 | 11000 | 1 | 17 | _range | ||
1929 | 01100 | 265 | distance code | 0 | 11 | 0000 | 9 | 41 | s[ 19 ];\n | |
1930 | 0010 | 259 | distance code | 5 | 1011 | 820 | 4916 | int * | ||
1933 | 011111 | 97 | normal byte | a | ||||||
1934 | 100011 | 108 | normal byte | l | ||||||
1934 | 1101010 | 112 | normal byte | p | ||||||
1935 | 1101000 | 104 | normal byte | h | ||||||
1936 | 011111 | 97 | normal byte | a | ||||||
1937 | 1100110 | 98 | normal byte | b | ||||||
1938 | 00111 | 101 | normal byte | e | ||||||
1938 | 101000 | 116 | normal byte | t | ||||||
1939 | 101010 | 268 | distance code | 1 | 18 | 0001 | 10 | 58 | ;\n huffman_range | |
1941 | 01011 | 263 | distance code | 9 | 111100 | 2 | 26 | *alphabet | ||
1943 | 01001 | 261 | distance code | 7 | 0001 | 8 | 56 | _ranges | ||
1944 | 01100 | 265 | distance code | 1 | 12 | 0000 | 1 | 33 | ;\n huffman_ | |
1946 | 0010 | 259 | distance code | 5 | 11010 | 11 | 203 | node | ||
1948 | 01100 | 265 | distance code | 1 | 12 | 11001 | 31 | 127 | code_lengths | |
1950 | 1100101 | 95 | normal byte | _ | ||||||
1951 | 01010 | 262 | distance code | 8 | 1010 | 90 | 3162 | root;\n | ||
1953 | 01101 | 266 | distance code | 1 | 14 | 11010 | 45 | 237 | huffman_node * | |
1955 | 01101 | 266 | distance code | 0 | 13 | 0000 | 2 | 34 | code_lengths_ | |
1957 | 01001 | 261 | distance code | 7 | 1011 | 1178 | 5274 | node;\n\n | ||
1960 | 0001 | 258 | distance code | 4 | 0111 | 193 | 1217 | st | ||
1962 | 0010 | 259 | distance code | 5 | 11011 | 56 | 440 | atic | ||
1964 | 01110 | 267 | distance code | 0 | 15 | 11010 | 3 | 195 | int code_length | |
1966 | 1100101 | 95 | normal byte | _ | ||||||
1967 | 100101 | 111 | normal byte | o | ||||||
1967 | 1100111 | 102 | normal byte | f | ||||||
1968 | 1100111 | 102 | normal byte | f | ||||||
1969 | 0000 | 257 | distance code | 3 | 1001 | 538 | 2586 | set | ||
1971 | 100111 | 115 | normal byte | s | ||||||
1972 | 111110101 | 91 | normal byte | [ | ||||||
1973 | 0001 | 258 | distance code | 4 | 1010 | 911 | 3983 | ] = | ||
1976 | 01000 | 260 | distance code | 6 | 0101 | 130 | 642 | {\n | ||
1978 | 011110 | 49 | normal byte | 1 | ||||||
1978 | 1100001 | 54 | normal byte | 6 | ||||||
1979 | 0000 | 257 | distance code | 3 | 0111 | 184 | 1208 | , 1 | ||
1981 | 11100100 | 55 | normal byte | 7 | ||||||
1982 | 0000 | 257 | distance code | 3 | 111111110 | 3 | , 1 | |||
1984 | 1100010 | 56 | normal byte | 8 | ||||||
1985 | 1011010 | 44 | normal byte | , | ||||||
1986 | 00110 | 32 | normal byte | |||||||
1986 | 1011101 | 48 | normal byte | 0 | ||||||
1987 | 1011010 | 44 | normal byte | , | ||||||
1988 | 00110 | 32 | normal byte | |||||||
1989 | 0000 | 257 | distance code | 3 | 111111111 | 1 | 5 | 8, | ||
1991 | 0000 | 257 | distance code | 3 | 1111101 | 0 | 12 | 7, | ||
1992 | 11100101 | 57 | normal byte | 9 | ||||||
1993 | 1011010 | 44 | normal byte | , | ||||||
1994 | 00110 | 32 | normal byte | |||||||
1995 | 0001 | 258 | distance code | 4 | 11000 | 6 | 22 | 6, 1 | ||
1996 | 0000 | 257 | distance code | 3 | 1111101 | 3 | 15 | 0, | ||
1998 | 1100000 | 53 | normal byte | 5 | ||||||
1999 | 0000 | 257 | distance code | 3 | 11111101 | 0 | 6 | , 1 | ||
2000 | 0000 | 257 | distance code | 3 | 0111 | 215 | 1239 | 1, | ||
2002 | 11100011 | 52 | normal byte | 4 | ||||||
2003 | 0000 | 257 | distance code | 3 | 11111101 | 0 | 6 | , 1 | ||
2005 | 1011110 | 50 | normal byte | 2 | ||||||
2006 | 1011010 | 44 | normal byte | , | ||||||
2007 | 0001 | 258 | distance code | 4 | 1010 | 935 | 4007 | 3, | ||
2009 | 011110 | 49 | normal byte | 1 | ||||||
2010 | 0000 | 257 | distance code | 3 | 111111110 | 3 | 3, | |||
2011 | 0000 | 257 | distance code | 3 | 1111100 | 1 | 9 | 2, | ||
2013 | 011110 | 49 | normal byte | 1 | ||||||
2014 | 11100011 | 52 | normal byte | 4 | ||||||
2015 | 01000 | 260 | distance code | 6 | 0111 | 242 | 1266 | , 1, 1 | ||
2017 | 1100000 | 53 | normal byte | 5 | ||||||
2018 | 00110 | 32 | normal byte | |||||||
2019 | 11101110 | 125 | normal byte | } | ||||||
2020 | 0010 | 259 | distance code | 5 | 11001 | 15 | 111 | ;\n\n | ||
2021 | 0001 | 258 | distance code | 4 | 0100 | 90 | 346 | hlit | ||
2023 | 0001 | 258 | distance code | 4 | 1010 | 253 | 3325 | = r | ||
2025 | 01101 | 266 | distance code | 1 | 14 | 0110 | 88 | 856 | ead_bits_inv( | |
2028 | 01010 | 262 | distance code | 8 | 0101 | 11 | 523 | stream, | ||
2030 | 1100000 | 53 | normal byte | 5 | ||||||
2031 | 01000 | 260 | distance code | 6 | 0101 | 178 | 690 | );\n | ||
2033 | 0010 | 259 | distance code | 5 | 0100 | 115 | 371 | hdist | ||
2035 | 1101110 | 272 | distance code | 3 | 34 | 0000 | 5 | 37 | = read_bits_inv( stream, 5 );\n h | |
2037 | 100000 | 99 | normal byte | c | ||||||
2038 | 01001 | 261 | distance code | 7 | 1010 | 710 | 3782 | len = r | ||
2040 | 101011 | 269 | distance code | 3 | 22 | 0000 | 5 | 37 | ead_bits_inv( stream, | |
2042 | 11100011 | 52 | normal byte | 4 | ||||||
2043 | 01110 | 267 | distance code | 0 | 15 | 1011 | 560 | 4656 | );\n\n memset( | |
2046 | 01100 | 265 | distance code | 1 | 12 | 11010 | 63 | 255 | code_lengths | |
2048 | 01110 | 267 | distance code | 1 | 16 | 1001 | 743 | 2791 | , '\0', sizeof( | |
2050 | 01100 | 265 | distance code | 1 | 12 | 111100 | 3 | 27 | code_lengths | |
2052 | 01101 | 266 | distance code | 1 | 14 | 1011 | 296 | 4392 | ) );\n for ( | |
2055 | 01100 | 265 | distance code | 0 | 11 | 0110 | 153 | 921 | i = 0; i < | |
2057 | 1011001 | 40 | normal byte | ( | ||||||
2058 | 01001 | 261 | distance code | 7 | 11001 | 17 | 113 | hclen | ||
2060 | 11100010 | 43 | normal byte | + | ||||||
2061 | 0010 | 259 | distance code | 5 | 0010 | 26 | 90 | 4 ); | ||
2062 | 01110 | 267 | distance code | 0 | 15 | 0110 | 161 | 929 | i++ )\n {\n | |
2065 | 01101 | 266 | distance code | 1 | 14 | 0101 | 0 | 512 | code_lengths[ | |
2067 | 101011 | 269 | distance code | 1 | 20 | 0100 | 74 | 330 | code_length_offsets[ | |
2069 | 0000 | 257 | distance code | 3 | 0010 | 3 | 67 | i | ||
2071 | 111110110 | 93 | normal byte | ] | ||||||
2072 | 0010 | 259 | distance code | 5 | 1011 | 223 | 4319 | ] = | ||
2074 | 1101100 | 270 | distance code | 0 | 23 | 0011 | 47 | 175 | read_bits_inv( stream, | |
2077 | 1011111 | 51 | normal byte | 3 | ||||||
2078 | 01101 | 266 | distance code | 1 | 14 | 1011 | 520 | 4616 | );\n }\n\n // | |
2080 | 111110011 | 84 | normal byte | T | ||||||
2081 | 01000 | 260 | distance code | 6 | 0111 | 332 | 1356 | urn th | ||
2084 | 100101 | 111 | normal byte | o | ||||||
2084 | 100111 | 115 | normal byte | s | ||||||
2085 | 00111 | 101 | normal byte | e | ||||||
2086 | 01001 | 261 | distance code | 7 | 1010 | 704 | 3776 | into a | ||
2088 | 0010 | 259 | distance code | 5 | 0110 | 114 | 882 | ction | ||
2090 | 0010 | 259 | distance code | 5 | 1010 | 701 | 3773 | able | ||
2092 | 01001 | 261 | distance code | 7 | 1011 | 1168 | 5264 | ranges | ||
2095 | 01010 | 262 | distance code | 8 | 1001 | 637 | 2685 | for the | ||
2097 | 01101 | 266 | distance code | 0 | 13 | 0110 | 181 | 949 | huffman tree | |
2099 | 100110 | 114 | normal byte | r | ||||||
2100 | 100101 | 111 | normal byte | o | ||||||
2101 | 1101011 | 117 | normal byte | u | ||||||
2102 | 101000 | 116 | normal byte | t | ||||||
2103 | 100010 | 105 | normal byte | i | ||||||
2103 | 100100 | 110 | normal byte | n | ||||||
2104 | 0001 | 258 | distance code | 4 | 1010 | 128 | 3200 | e\n | ||
2106 | 11101010 | 106 | normal byte | j | ||||||
2107 | 01000 | 260 | distance code | 6 | 0011 | 57 | 185 | = 0; | ||
2109 | 0001 | 258 | distance code | 4 | 0010 | 11 | 75 | // | ||
2111 | 11101010 | 106 | normal byte | j | ||||||
2112 | 00110 | 32 | normal byte | |||||||
2112 | 1100110 | 98 | normal byte | b | ||||||
2113 | 00111 | 101 | normal byte | e | ||||||
2114 | 0000 | 257 | distance code | 3 | 1000 | 55 | 1591 | com | ||
2116 | 01001 | 261 | distance code | 7 | 1000 | 282 | 1818 | es the | ||
2118 | 01001 | 261 | distance code | 7 | 1001 | 103 | 2151 | length | ||
2121 | 100101 | 111 | normal byte | o | ||||||
2121 | 1100111 | 102 | normal byte | f | ||||||
2122 | 101001 | 264 | distance code | 10 | 1011 | 1245 | 5341 | the range | ||
2125 | 00110 | 32 | normal byte | |||||||
2126 | 011111 | 97 | normal byte | a | ||||||
2126 | 100110 | 114 | normal byte | r | ||||||
2127 | 100110 | 114 | normal byte | r | ||||||
2128 | 011111 | 97 | normal byte | a | ||||||
2129 | 11101101 | 121 | normal byte | y | ||||||
2130 | 101011 | 269 | distance code | 1 | 20 | 11010 | 52 | 244 | \n for ( i = 0; i < | |
2132 | 011110 | 49 | normal byte | 1 | ||||||
2133 | 11100101 | 57 | normal byte | 9 | ||||||
2134 | 01110 | 267 | distance code | 1 | 16 | 11010 | 41 | 233 | ; i++ )\n {\n | |
2136 | 0010 | 259 | distance code | 5 | 1000 | 218 | 1754 | if ( | ||
2138 | 0001 | 258 | distance code | 4 | 0000 | 3 | 35 | ( i | ||
2139 | 01000 | 260 | distance code | 6 | 1011 | 727 | 4823 | > 0 ) | ||
2142 | 11011111 | 38 | normal byte | & | ||||||
2143 | 11011111 | 38 | normal byte | & | ||||||
2144 | 00110 | 32 | normal byte | |||||||
2145 | 1011001 | 40 | normal byte | ( | ||||||
2145 | 01110 | 267 | distance code | 0 | 15 | 11010 | 61 | 253 | code_lengths[ | |
2148 | 0001 | 258 | distance code | 4 | 11010 | 40 | 232 | i ] | ||
2149 | 111100100 | 33 | normal byte | ! | ||||||
2151 | 1100100 | 61 | normal byte | = | ||||||
2151 | 101010 | 268 | distance code | 0 | 17 | 11000 | 4 | 20 | code_lengths[ i | |
2153 | 01010 | 262 | distance code | 8 | 1011 | 545 | 4641 | - 1 ] ) | ||
2156 | 01101 | 266 | distance code | 1 | 14 | 1000 | 230 | 1766 | )\n {\n | |
2158 | 11101010 | 106 | normal byte | j | ||||||
2159 | 101001 | 264 | distance code | 10 | 1011 | 216 | 4312 | ++;\n }\n | ||
2162 | 01110 | 267 | distance code | 0 | 15 | 0100 | 71 | 327 | code_length | |
2164 | 01011 | 263 | distance code | 9 | 0110 | 36 | 804 | _ranges[ | ||
2166 | 11101010 | 106 | normal byte | j | ||||||
2167 | 01011 | 263 | distance code | 9 | 1001 | 312 | 2360 | ].end = | ||
2169 | 100010 | 105 | normal byte | i | ||||||
2170 | 1100011 | 59 | normal byte | ; | ||||||
2171 | 1101101 | 271 | distance code | 2 | 29 | 0000 | 4 | 36 | \n code_length_ranges[ j ]. | |
2173 | 01101 | 266 | distance code | 0 | 13 | 1001 | 325 | 2373 | bit_length = | |
2176 | 101010 | 268 | distance code | 0 | 17 | 0011 | 19 | 147 | code_lengths[ i ] | |
2178 | 01011 | 263 | distance code | 9 | 0100 | 93 | 349 | ;\n }\n\n | ||
2180 | 01010 | 262 | distance code | 8 | 0101 | 17 | 529 | memset( | ||
2182 | 11011111 | 38 | normal byte | & | ||||||
2183 | 101010 | 268 | distance code | 0 | 17 | 0110 | 53 | 821 | code_lengths_root | |
2185 | 11101111 | 273 | distance code | 1 | 36 | 1010 | 255 | 3327 | , '\0', sizeof( huffman_node ) );\n | |
2188 | 101011 | 269 | distance code | 1 | 20 | 1011 | 1922 | 6018 | build_huffman_tree( | |
2191 | 101011 | 269 | distance code | 1 | 20 | 0010 | 9 | 73 | &code_lengths_root, | |
2193 | 11101010 | 106 | normal byte | j | ||||||
2194 | 0001 | 258 | distance code | 4 | 1011 | 586 | 4682 | + 1 | ||
2197 | 1011010 | 44 | normal byte | , | ||||||
2198 | 101011 | 269 | distance code | 0 | 19 | 0011 | 43 | 171 | code_length_ranges | |
2200 | 01001 | 261 | distance code | 7 | 0101 | 151 | 663 | );\n\n | ||
2202 | 0000 | 257 | distance code | 3 | 11011 | 23 | 407 | // | ||
2204 | 0001 | 258 | distance code | 4 | 0101 | 9 | 521 | read | ||
2206 | 01000 | 260 | distance code | 6 | 11011 | 18 | 402 | the l | ||
2208 | 01000 | 260 | distance code | 6 | 0111 | 205 | 1229 | iteral | ||
2210 | 111100111 | 47 | normal byte | / | ||||||
2212 | 01001 | 261 | distance code | 7 | 0011 | 60 | 188 | length | ||
2213 | 01011 | 263 | distance code | 9 | 0111 | 8 | 1032 | alphabet; | ||
2216 | 01000 | 260 | distance code | 6 | 11100 | 459 | 6603 | this | ||
2218 | 0000 | 257 | distance code | 3 | 111111101 | 2 | is | |||
2220 | 00111 | 101 | normal byte | e | ||||||
2221 | 100100 | 110 | normal byte | n | ||||||
2221 | 0001 | 258 | distance code | 4 | 0010 | 7 | 71 | code | ||
2223 | 100001 | 100 | normal byte | d | ||||||
2224 | 00110 | 32 | normal byte | |||||||
2224 | 0010 | 259 | distance code | 5 | 1001 | 173 | 2221 | using | ||
2227 | 01100 | 265 | distance code | 1 | 12 | 11011 | 117 | 501 | the huffman | |
2229 | 01000 | 260 | distance code | 6 | 0010 | 8 | 72 | \n // | ||
2231 | 101001 | 264 | distance code | 10 | 0111 | 432 | 1456 | tree from | ||
2233 | 0001 | 258 | distance code | 4 | 111100 | 2 | 26 | the | ||
2235 | 0000 | 257 | distance code | 3 | 1001 | 31 | 2079 | pre | ||
2237 | 11101011 | 118 | normal byte | v | ||||||
2238 | 100010 | 105 | normal byte | i | ||||||
2239 | 100101 | 111 | normal byte | o | ||||||
2239 | 1101011 | 117 | normal byte | u | ||||||
2240 | 100111 | 115 | normal byte | s | ||||||
2241 | 0010 | 259 | distance code | 5 | 1011 | 819 | 4915 | step | ||
2243 | 0001 | 258 | distance code | 4 | 0111 | 92 | 1116 | \n i | ||
2245 | 01010 | 262 | distance code | 8 | 1000 | 120 | 1656 | = 0;\n | ||
2248 | 01010 | 262 | distance code | 8 | 0010 | 23 | 87 | alphabet | ||
2249 | 0010 | 259 | distance code | 5 | 1000 | 292 | 1828 | = ( | ||
2252 | 0010 | 259 | distance code | 5 | 0111 | 114 | 1138 | int * | ||
2254 | 0000 | 257 | distance code | 3 | 11010 | 20 | 212 | ) | ||
2256 | 01010 | 262 | distance code | 8 | 1010 | 563 | 3635 | malloc( | ||
2258 | 1011001 | 40 | normal byte | ( | ||||||
2259 | 01000 | 260 | distance code | 6 | 0110 | 155 | 923 | hlit | ||
2261 | 11100010 | 43 | normal byte | + | ||||||
2262 | 01001 | 261 | distance code | 7 | 0110 | 125 | 893 | hdist | ||
2264 | 11100010 | 43 | normal byte | + | ||||||
2265 | 0000 | 257 | distance code | 3 | 1001 | 783 | 2831 | 25 | ||
2267 | 1100010 | 56 | normal byte | 8 | ||||||
2268 | 0010 | 259 | distance code | 5 | 1011 | 819 | 4915 | ) * | ||
2271 | 01101 | 266 | distance code | 1 | 14 | 1011 | 1117 | 5213 | sizeof( int ) | |
2273 | 11100000 | 41 | normal byte | ) | ||||||
2274 | 01100 | 265 | distance code | 1 | 12 | 0010 | 8 | 72 | ;\n alphabet | |
2276 | 01010 | 262 | distance code | 8 | 11010 | 17 | 209 | _ranges | ||
2278 | 01100 | 265 | distance code | 1 | 12 | 1010 | 471 | 3543 | = ( huffman_ | |
2281 | 01001 | 261 | distance code | 7 | 0111 | 177 | 1201 | range * | ||
2283 | 11110000 | 274 | distance code | 1 | 44 | 0010 | 25 | 89 | ) malloc( ( hlit + hdist + 258 ) * sizeof( | |
2285 | 01101 | 266 | distance code | 1 | 14 | 0001 | 10 | 58 | huffman_range | |
2287 | 01001 | 261 | distance code | 7 | 11001 | 3 | 99 | ) );\n | ||
2289 | 101010 | 268 | distance code | 0 | 17 | 0111 | 175 | 1199 | code_lengths_node | |
2291 | 0000 | 257 | distance code | 3 | 11001 | 5 | 101 | = | ||
2293 | 101010 | 268 | distance code | 1 | 18 | 0100 | 103 | 359 | &code_lengths_root | |
2295 | 1100011 | 59 | normal byte | ; | ||||||
2296 | 01100 | 265 | distance code | 0 | 11 | 1001 | 23 | 2071 | \n while ( | |
2299 | 01001 | 261 | distance code | 7 | 0110 | 164 | 932 | i < ( h | ||
2301 | 101011 | 269 | distance code | 1 | 20 | 11001 | 11 | 107 | lit + hdist + 258 ) | |
2303 | 01110 | 267 | distance code | 1 | 16 | 1011 | 900 | 4996 | )\n {\n if ( n | |
2306 | 101010 | 268 | distance code | 0 | 17 | 1000 | 329 | 1865 | ext_bit( stream ) | |
2308 | 01110 | 267 | distance code | 0 | 15 | 0101 | 149 | 661 | )\n {\n | |
2311 | 101011 | 269 | distance code | 1 | 20 | 11001 | 28 | 124 | code_lengths_node = | |
2313 | 101010 | 268 | distance code | 0 | 17 | 11000 | 3 | 19 | code_lengths_node | |
2315 | 01100 | 265 | distance code | 0 | 11 | 1011 | 2 | 4098 | ->one;\n | |
2317 | 01000 | 260 | distance code | 6 | 0101 | 188 | 700 | }\n | ||
2319 | 01011 | 263 | distance code | 9 | 1010 | 1018 | 4090 | else\n | ||
2322 | 11110000 | 274 | distance code | 4 | 47 | 0010 | 6 | 70 | {\n code_lengths_node = code_lengths_node-> | |
2324 | 101001 | 264 | distance code | 10 | 1010 | 763 | 3835 | zero;\n | ||
2327 | 01100 | 265 | distance code | 1 | 12 | 1011 | 989 | 5085 | }\n\n if ( | |
2329 | 101011 | 269 | distance code | 0 | 19 | 0000 | 8 | 40 | code_lengths_node-> | |
2331 | 0010 | 259 | distance code | 5 | 1010 | 680 | 3752 | code | ||
2334 | 111100100 | 33 | normal byte | ! | ||||||
2335 | 01000 | 260 | distance code | 6 | 1010 | 760 | 3832 | = -1 ) | ||
2337 | 01101 | 266 | distance code | 0 | 13 | 11001 | 8 | 104 | \n {\n | |
2339 | 1101101 | 271 | distance code | 2 | 29 | 0001 | 0 | 48 | if ( code_lengths_node->code | |
2341 | 11100111 | 62 | normal byte | > | ||||||
2342 | 0001 | 258 | distance code | 4 | 0111 | 382 | 1406 | 15 | ||
2344 | 101011 | 269 | distance code | 0 | 19 | 1011 | 539 | 4635 | )\n {\n i | |
2347 | 0010 | 259 | distance code | 5 | 1001 | 224 | 2272 | nt re | ||
2350 | 1101010 | 112 | normal byte | p | ||||||
2350 | 00111 | 101 | normal byte | e | ||||||
2351 | 011111 | 97 | normal byte | a | ||||||
2352 | 101010 | 268 | distance code | 0 | 17 | 1011 | 1007 | 5103 | t_length;\n\n | |
2355 | 0000 | 257 | distance code | 3 | 1000 | 22 | 1558 | s | ||
2357 | 0000 | 257 | distance code | 3 | 1001 | 826 | 2874 | wit | ||
2359 | 100000 | 99 | normal byte | c | ||||||
2360 | 1101000 | 104 | normal byte | h | ||||||
2361 | 1101101 | 271 | distance code | 0 | 27 | 0010 | 19 | 83 | ( code_lengths_node->code | |
2363 | 101011 | 269 | distance code | 3 | 22 | 1011 | 556 | 4652 | )\n {\n | |
2366 | 100000 | 99 | normal byte | c | ||||||
2366 | 011111 | 97 | normal byte | a | ||||||
2367 | 0000 | 257 | distance code | 3 | 0111 | 174 | 1198 | se | ||
2369 | 011110 | 49 | normal byte | 1 | ||||||
2370 | 1100001 | 54 | normal byte | 6 | ||||||
2371 | 111101000 | 58 | normal byte | : | ||||||
2372 | 01101 | 266 | distance code | 0 | 13 | 1000 | 399 | 1935 | \n | |
2374 | 01101 | 266 | distance code | 0 | 13 | 11001 | 3 | 99 | repeat_length | |
2376 | 1101100 | 270 | distance code | 3 | 26 | 0111 | 255 | 1279 | = read_bits_inv( stream, | |
2379 | 1011110 | 50 | normal byte | 2 | ||||||
2380 | 0000 | 257 | distance code | 3 | 11011 | 4 | 388 | ) | ||
2382 | 11100010 | 43 | normal byte | + | ||||||
2383 | 00110 | 32 | normal byte | |||||||
2384 | 1011111 | 51 | normal byte | 3 | ||||||
2385 | 01101 | 266 | distance code | 1 | 14 | 1011 | 98 | 4194 | ;\n | |
2387 | 1100110 | 98 | normal byte | b | ||||||
2388 | 0000 | 257 | distance code | 3 | 111100 | 3 | 27 | rea | ||
2390 | 111110111 | 107 | normal byte | k | ||||||
2391 | 1100011 | 59 | normal byte | ; | ||||||
2392 | 101010 | 268 | distance code | 0 | 17 | 11001 | 1 | 97 | \n case 1 | |
2394 | 11100100 | 55 | normal byte | 7 | ||||||
2395 | 11110001 | 275 | distance code | 2 | 53 | 11001 | 1 | 97 | :\n repeat_length = read_bits_inv( stream, | |
2397 | 1011111 | 51 | normal byte | 3 | ||||||
2398 | 11110000 | 274 | distance code | 0 | 43 | 11001 | 1 | 97 | ) + 3;\n break;\n case 1 | |
2401 | 1100010 | 56 | normal byte | 8 | ||||||
2402 | 11110001 | 275 | distance code | 2 | 53 | 11001 | 1 | 97 | :\n repeat_length = read_bits_inv( stream, | |
2404 | 11100100 | 55 | normal byte | 7 | ||||||
2405 | 0010 | 259 | distance code | 5 | 11001 | 1 | 97 | ) + | ||
2407 | 011110 | 49 | normal byte | 1 | ||||||
2408 | 011110 | 49 | normal byte | 1 | ||||||
2409 | 1101101 | 271 | distance code | 2 | 29 | 11001 | 2 | 98 | ;\n break;\n | |
2411 | 11101110 | 125 | normal byte | } | ||||||
2412 | 101001 | 264 | distance code | 10 | 0100 | 102 | 358 | \n\n | ||
2414 | 01010 | 262 | distance code | 8 | 0101 | 185 | 697 | while ( | ||
2416 | 01101 | 266 | distance code | 0 | 13 | 0010 | 30 | 94 | repeat_length | |
2418 | 01100 | 265 | distance code | 0 | 11 | 1011 | 968 | 5064 | -- )\n | |
2421 | 101011 | 269 | distance code | 0 | 19 | 1011 | 576 | 4672 | {\n if ( | |
2424 | 1101100 | 270 | distance code | 1 | 24 | 11011 | 16 | 400 | code_lengths_node->code | |
2426 | 1100100 | 61 | normal byte | = | ||||||
2427 | 0000 | 257 | distance code | 3 | 1010 | 176 | 3248 | = 1 | ||
2429 | 1100001 | 54 | normal byte | 6 | ||||||
2430 | 1101101 | 271 | distance code | 0 | 27 | 1011 | 594 | 4690 | )\n {\n | |
2433 | 01010 | 262 | distance code | 8 | 0110 | 178 | 946 | alphabet | ||
2435 | 01000 | 260 | distance code | 6 | 0111 | 414 | 1438 | [ i ] | ||
2438 | 1100100 | 61 | normal byte | = | ||||||
2439 | 01101 | 266 | distance code | 0 | 13 | 1111101 | 3 | 15 | alphabet[ i | |
2440 | 0010 | 259 | distance code | 5 | 0111 | 409 | 1433 | - 1 ] | ||
2443 | 1101100 | 270 | distance code | 1 | 24 | 1011 | 440 | 4536 | ;\n }\n | |
2446 | 01101 | 266 | distance code | 0 | 13 | 1011 | 719 | 4815 | else\n | |
2448 | 1101110 | 272 | distance code | 1 | 32 | 0010 | 21 | 85 | {\n alphabet[ i ] = | |
2450 | 1011101 | 48 | normal byte | 0 | ||||||
2451 | 1101100 | 270 | distance code | 1 | 24 | 0010 | 5 | 69 | ;\n }\n | |
2454 | 100010 | 105 | normal byte | i | ||||||
2454 | 101001 | 264 | distance code | 10 | 1011 | 1482 | 5578 | ++;\n | ||
2457 | 101010 | 268 | distance code | 1 | 18 | 1011 | 477 | 4573 | }\n }\n | |
2460 | 01100 | 265 | distance code | 0 | 11 | 11001 | 2 | 98 | else\n | |
2462 | 101001 | 264 | distance code | 10 | 0010 | 30 | 94 | {\n | ||
2464 | 01110 | 267 | distance code | 1 | 16 | 0010 | 26 | 90 | alphabet[ i ] = | |
2465 | 1101100 | 270 | distance code | 0 | 23 | 11010 | 56 | 248 | code_lengths_node->code | |
2468 | 101001 | 264 | distance code | 10 | 0010 | 21 | 85 | ;\n | ||
2470 | 100010 | 105 | normal byte | i | ||||||
2471 | 01100 | 265 | distance code | 1 | 12 | 1011 | 1581 | 5677 | ++;\n }\n | |
2473 | 1101101 | 271 | distance code | 0 | 27 | 0110 | 128 | 896 | \n code_lengths_node = | |
2476 | 101011 | 269 | distance code | 3 | 22 | 0111 | 68 | 1092 | &code_lengths_root;\n | |
2478 | 01101 | 266 | distance code | 1 | 14 | 1011 | 1628 | 5724 | }\n }\n\n // | |
2481 | 100100 | 110 | normal byte | n | ||||||
2482 | 100101 | 111 | normal byte | o | ||||||
2483 | 11101100 | 119 | normal byte | w | ||||||
2484 | 0000 | 257 | distance code | 3 | 1000 | 5 | 1541 | , s | ||
2486 | 1101010 | 112 | normal byte | p | ||||||
2487 | 0001 | 258 | distance code | 4 | 0111 | 74 | 1098 | lit | ||
2489 | 0001 | 258 | distance code | 4 | 0111 | 337 | 1361 | the | ||
2491 | 01011 | 263 | distance code | 9 | 0111 | 312 | 1336 | alphabet | ||
2493 | 0000 | 257 | distance code | 3 | 1001 | 764 | 2812 | in | ||
2495 | 101000 | 116 | normal byte | t | ||||||
2496 | 11101100 | 119 | normal byte | w | ||||||
2497 | 100101 | 111 | normal byte | o | ||||||
2498 | 00110 | 32 | normal byte | |||||||
2498 | 1101010 | 112 | normal byte | p | ||||||
2499 | 011111 | 97 | normal byte | a | ||||||
2500 | 100110 | 114 | normal byte | r | ||||||
2501 | 0000 | 257 | distance code | 3 | 1010 | 262 | 3334 | ts | ||
2503 | 0001 | 258 | distance code | 4 | 1010 | 245 | 3317 | and | ||
2505 | 0010 | 259 | distance code | 5 | 1001 | 854 | 2902 | turn | ||
2508 | 00111 | 101 | normal byte | e | ||||||
2508 | 011111 | 97 | normal byte | a | ||||||
2509 | 0000 | 257 | distance code | 3 | 0110 | 43 | 811 | ch | ||
2511 | 01001 | 261 | distance code | 7 | 1011 | 1638 | 5734 | into a | ||
2513 | 101010 | 268 | distance code | 0 | 17 | 0111 | 407 | 1431 | huffman\n // tree | |
2516 | 01110 | 267 | distance code | 0 | 15 | 1011 | 1710 | 5806 | \n\n // Ok, now | |
2519 | 01101 | 266 | distance code | 0 | 13 | 0010 | 14 | 78 | the alphabet | |
2520 | 01010 | 262 | distance code | 8 | 1001 | 114 | 2162 | lengths | ||
2523 | 0010 | 259 | distance code | 5 | 1011 | 1729 | 5825 | have | ||
2525 | 1100110 | 98 | normal byte | b | ||||||
2526 | 00111 | 101 | normal byte | e | ||||||
2527 | 0000 | 257 | distance code | 3 | 1001 | 92 | 2140 | en | ||
2529 | 0001 | 258 | distance code | 4 | 0101 | 88 | 600 | read | ||
2531 | 1011100 | 46 | normal byte | . | ||||||
2532 | 00110 | 32 | normal byte | |||||||
2532 | 01000 | 260 | distance code | 6 | 1000 | 509 | 2045 | Turn | ||
2535 | 1100101 | 95 | normal byte | _ | ||||||
2536 | 0010 | 259 | distance code | 5 | 1000 | 510 | 2046 | those | ||
2538 | 1100101 | 95 | normal byte | _ | ||||||
2539 | 01000 | 260 | distance code | 6 | 0001 | 15 | 63 | \n // | ||
2540 | 01001 | 261 | distance code | 7 | 0010 | 30 | 94 | into a | ||
2542 | 0000 | 257 | distance code | 3 | 1001 | 956 | 3004 | val | ||
2544 | 0001 | 258 | distance code | 4 | 1001 | 866 | 2914 | id r | ||
2546 | 0010 | 259 | distance code | 5 | 0111 | 296 | 1320 | ange | ||
2549 | 100001 | 100 | normal byte | d | ||||||
2549 | 00111 | 101 | normal byte | e | ||||||
2550 | 100000 | 99 | normal byte | c | ||||||
2551 | 100011 | 108 | normal byte | l | ||||||
2551 | 0001 | 258 | distance code | 4 | 11101 | 437 | 8629 | arat | ||
2554 | 0001 | 258 | distance code | 4 | 1001 | 906 | 2954 | ion | ||
2556 | 0001 | 258 | distance code | 4 | 0011 | 11 | 139 | and | ||
2558 | 0010 | 259 | distance code | 5 | 1000 | 153 | 1689 | build | ||
2560 | 01000 | 260 | distance code | 6 | 1011 | 656 | 4752 | the f | ||
2563 | 100010 | 105 | normal byte | i | ||||||
2563 | 100100 | 110 | normal byte | n | ||||||
2564 | 011111 | 97 | normal byte | a | ||||||
2565 | 100011 | 108 | normal byte | l | ||||||
2566 | 01101 | 266 | distance code | 1 | 14 | 0011 | 10 | 138 | huffman\n // | |
2568 | 0010 | 259 | distance code | 5 | 0101 | 36 | 548 | code | ||
2570 | 01000 | 260 | distance code | 6 | 1001 | 979 | 3027 | from i | ||
2572 | 101000 | 116 | normal byte | t | ||||||
2573 | 1011100 | 46 | normal byte | . | ||||||
2574 | 01011 | 263 | distance code | 9 | 1001 | 30 | 2078 | \n j = 0; | ||
2576 | 101011 | 269 | distance code | 0 | 19 | 1000 | 498 | 2034 | \n for ( i = 0; i < | |
2579 | 1100100 | 61 | normal byte | = | ||||||
2580 | 101001 | 264 | distance code | 10 | 0111 | 323 | 1347 | ( hlit + | ||
2582 | 1011110 | 50 | normal byte | 2 | ||||||
2583 | 1100000 | 53 | normal byte | 5 | ||||||
2584 | 11100100 | 55 | normal byte | 7 | ||||||
2585 | 101010 | 268 | distance code | 1 | 18 | 1001 | 233 | 2281 | ); i++ )\n {\n | |
2587 | 101011 | 269 | distance code | 1 | 20 | 1000 | 511 | 2047 | if ( ( i > 0 ) && ( | |
2590 | 01101 | 266 | distance code | 1 | 14 | 11011 | 43 | 427 | alphabet[ i ] | |
2592 | 111100100 | 33 | normal byte | ! | ||||||
2593 | 101011 | 269 | distance code | 0 | 19 | 0101 | 93 | 605 | = alphabet[ i - 1 ] | |
2596 | 1101110 | 272 | distance code | 1 | 32 | 1000 | 503 | 2039 | ) )\n {\n j++;\n }\n | |
2599 | 01110 | 267 | distance code | 0 | 15 | 1000 | 81 | 1617 | alphabet_ranges | |
2601 | 101011 | 269 | distance code | 0 | 19 | 1000 | 500 | 2036 | [ j ].end = i;\n | |
2604 | 101011 | 269 | distance code | 2 | 21 | 0000 | 1 | 33 | alphabet_ranges[ j ]. | |
2606 | 01101 | 266 | distance code | 0 | 13 | 1000 | 497 | 2033 | bit_length = | |
2608 | 01101 | 266 | distance code | 0 | 13 | 0011 | 5 | 133 | alphabet[ i ] | |
2610 | 01011 | 263 | distance code | 9 | 1000 | 493 | 2029 | ;\n }\n\n | ||
2612 | 101011 | 269 | distance code | 1 | 20 | 1000 | 431 | 1967 | build_huffman_tree( | |
2615 | 01101 | 266 | distance code | 1 | 14 | 1010 | 61 | 3133 | literals_root, | |
2617 | 00110 | 32 | normal byte | |||||||
2618 | 11101010 | 106 | normal byte | j | ||||||
2619 | 1011010 | 44 | normal byte | , | ||||||
2620 | 101010 | 268 | distance code | 0 | 17 | 1000 | 209 | 1745 | alphabet_ranges | |
2622 | 01000 | 260 | distance code | 6 | 1000 | 419 | 1955 | );\n\n | ||
2625 | 100010 | 105 | normal byte | i | ||||||
2625 | 1011011 | 45 | normal byte | - | ||||||
2626 | 1011011 | 45 | normal byte | - | ||||||
2627 | 1100011 | 59 | normal byte | ; | ||||||
2628 | 101010 | 268 | distance code | 1 | 18 | 0100 | 43 | 299 | \n j = 0;\n for ( | |
2630 | 101001 | 264 | distance code | 10 | 0100 | 38 | 294 | ; i <= ( h | ||
2632 | 01001 | 261 | distance code | 7 | 1000 | 99 | 1635 | dist + | ||
2635 | 01011 | 263 | distance code | 9 | 0100 | 46 | 302 | hlit + 25 | ||
2637 | 1100010 | 56 | normal byte | 8 | ||||||
2637 | 1101101 | 271 | distance code | 2 | 29 | 0100 | 46 | 302 | ); i++ )\n {\n if ( ( i > | |
2640 | 1011001 | 40 | normal byte | ( | ||||||
2641 | 0010 | 259 | distance code | 5 | 0100 | 80 | 336 | 257 | ||
2643 | 01001 | 261 | distance code | 7 | 0000 | 14 | 46 | + hlit | ||
2644 | 11100000 | 41 | normal byte | ) | ||||||
2645 | 1111111101 | 279 | distance code | 3 | 102 | 0100 | 59 | 315 | ) && ( alphabet[ i ] != alphabet[ i - 1 ] ) )\n {\n j++;\n }\n alphabet_ranges[ j ].end = i | |
2648 | 0010 | 259 | distance code | 5 | 11100 | 1157 | 7301 | - ( | ||
2651 | 01100 | 265 | distance code | 1 | 12 | 11001 | 22 | 118 | 257 + hlit ) | |
2653 | 1111111100 | 277 | distance code | 15 | 82 | 0100 | 76 | 332 | ;\n alphabet_ranges[ j ].bit_length = alphabet[ i ];\n }\n\n build_huffman_tree( | |
2656 | 01101 | 266 | distance code | 1 | 14 | 1010 | 326 | 3398 | distances_root | |
2659 | 1101101 | 271 | distance code | 0 | 27 | 0100 | 77 | 333 | , j, alphabet_ranges );\n\n | |
2661 | 01000 | 260 | distance code | 6 | 1011 | 1372 | 5468 | free( | ||
2664 | 01011 | 263 | distance code | 9 | 0101 | 252 | 764 | alphabet | ||
2666 | 01100 | 265 | distance code | 0 | 11 | 1011 | 1392 | 5488 | );\n free( | |
2668 | 101011 | 269 | distance code | 0 | 19 | 0000 | 15 | 47 | alphabet_ranges );\n | |
2670 | 11101110 | 125 | normal byte | } | ||||||
2671 | 101001 | 264 | distance code | 10 | 11101 | 648 | 8840 | \n\n#define | ||
2674 | 111101110 | 77 | normal byte | M | ||||||
2675 | 111101001 | 65 | normal byte | A | ||||||
2676 | 1111110111 | 88 | normal byte | X | ||||||
2678 | 1100101 | 95 | normal byte | _ | ||||||
2679 | 111101011 | 68 | normal byte | D | ||||||
2680 | 111101101 | 73 | normal byte | I | ||||||
2681 | 111110010 | 83 | normal byte | S | ||||||
2682 | 111110011 | 84 | normal byte | T | ||||||
2683 | 111101001 | 65 | normal byte | A | ||||||
2684 | 111101111 | 78 | normal byte | N | ||||||
2685 | 111101010 | 67 | normal byte | C | ||||||
2686 | 11101000 | 69 | normal byte | E | ||||||
2687 | 00110 | 32 | normal byte | |||||||
2688 | 00110 | 32 | normal byte | |||||||
2689 | 1011111 | 51 | normal byte | 3 | ||||||
2690 | 1011110 | 50 | normal byte | 2 | ||||||
2690 | 11100100 | 55 | normal byte | 7 | ||||||
2691 | 1100001 | 54 | normal byte | 6 | ||||||
2692 | 1100010 | 56 | normal byte | 8 | ||||||
2693 | 01011 | 263 | distance code | 9 | 11101 | 277 | 8469 | \n\nstatic | ||
2696 | 0010 | 259 | distance code | 5 | 1010 | 392 | 3464 | int i | ||
2698 | 100100 | 110 | normal byte | n | ||||||
2699 | 1100111 | 102 | normal byte | f | ||||||
2700 | 100011 | 108 | normal byte | l | ||||||
2701 | 011111 | 97 | normal byte | a | ||||||
2701 | 101000 | 116 | normal byte | t | ||||||
2702 | 00111 | 101 | normal byte | e | ||||||
2703 | 01011 | 263 | distance code | 9 | 0011 | 22 | 150 | _huffman_ | ||
2705 | 0010 | 259 | distance code | 5 | 11100 | 518 | 6662 | codes | ||
2707 | 11110001 | 275 | distance code | 6 | 57 | 1010 | 620 | 3692 | ( bit_stream *stream, \n | |
2710 | 1111111011 | 276 | distance code | 4 | 63 | 1010 | 615 | 3687 | huffman_node *literals_root,\n | |
2714 | 11101111 | 273 | distance code | 0 | 35 | 1010 | 610 | 3682 | huffman_node *distances_root )\n{\n | |
2717 | 101011 | 269 | distance code | 3 | 22 | 11100 | 537 | 6681 | huffman_node *node;\n | |
2720 | 0001 | 258 | distance code | 4 | 11010 | 9 | 201 | int | ||
2722 | 100111 | 115 | normal byte | s | ||||||
2722 | 101000 | 116 | normal byte | t | ||||||
2723 | 100101 | 111 | normal byte | o | ||||||
2724 | 1101010 | 112 | normal byte | p | ||||||
2725 | 01010 | 262 | distance code | 8 | 11100 | 1898 | 8042 | _code = | ||
2727 | 1011101 | 48 | normal byte | 0 | ||||||
2728 | 101011 | 269 | distance code | 2 | 21 | 1011 | 993 | 5089 | ;\n unsigned char buf | |
2731 | 111110101 | 91 | normal byte | [ | ||||||
2732 | 01101 | 266 | distance code | 1 | 14 | 0100 | 13 | 269 | MAX_DISTANCE | |
2734 | 101011 | 269 | distance code | 0 | 19 | 11101 | 1287 | 9479 | ];\n unsigned char | |
2737 | 11100001 | 42 | normal byte | * | ||||||
2738 | 1101010 | 112 | normal byte | p | ||||||
2739 | 101000 | 116 | normal byte | t | ||||||
2740 | 100110 | 114 | normal byte | r | ||||||
2741 | 0000 | 257 | distance code | 3 | 0001 | 14 | 62 | = | ||
2742 | 0010 | 259 | distance code | 5 | 1011 | 1037 | 5133 | buf;\n | ||
2745 | 01001 | 261 | distance code | 7 | 0010 | 22 | 86 | \n int | ||
2746 | 01000 | 260 | distance code | 6 | 11101 | 1306 | 9498 | extra_ | ||
2749 | 01001 | 261 | distance code | 7 | 1001 | 644 | 2692 | length_ | ||
2752 | 011111 | 97 | normal byte | a | ||||||
2752 | 100001 | 100 | normal byte | d | ||||||
2753 | 100001 | 100 | normal byte | d | ||||||
2754 | 0000 | 257 | distance code | 3 | 0101 | 27 | 539 | end | ||
2756 | 01000 | 260 | distance code | 6 | 1010 | 473 | 3545 | [] = { | ||
2758 | 01000 | 260 | distance code | 6 | 0100 | 15 | 271 | \n | ||
2760 | 0001 | 258 | distance code | 4 | 1010 | 440 | 3512 | 11, | ||
2762 | 0001 | 258 | distance code | 4 | 1010 | 430 | 3502 | 13, | ||
2765 | 011110 | 49 | normal byte | 1 | ||||||
2765 | 1100000 | 53 | normal byte | 5 | ||||||
2766 | 01001 | 261 | distance code | 7 | 1010 | 482 | 3554 | , 17, 1 | ||
2769 | 0000 | 257 | distance code | 3 | 1010 | 470 | 3542 | 9, | ||
2771 | 1011110 | 50 | normal byte | 2 | ||||||
2772 | 0001 | 258 | distance code | 4 | 1010 | 446 | 3518 | 3, 2 | ||
2774 | 11100100 | 55 | normal byte | 7 | ||||||
2775 | 01000 | 260 | distance code | 6 | 11010 | 48 | 240 | ,\n | ||
2777 | 1011111 | 51 | normal byte | 3 | ||||||
2778 | 0000 | 257 | distance code | 3 | 111100 | 7 | 31 | 1, | ||
2780 | 1011111 | 51 | normal byte | 3 | ||||||
2780 | 0000 | 257 | distance code | 3 | 111100 | 3 | 27 | 5, | ||
2782 | 11100011 | 52 | normal byte | 4 | ||||||
2783 | 0000 | 257 | distance code | 3 | 11000 | 3 | 19 | 3, | ||
2785 | 1100000 | 53 | normal byte | 5 | ||||||
2785 | 0000 | 257 | distance code | 3 | 1111100 | 3 | 11 | 1, | ||
2787 | 1100000 | 53 | normal byte | 5 | ||||||
2788 | 0001 | 258 | distance code | 4 | 1010 | 502 | 3574 | 9, 6 | ||
2790 | 0000 | 257 | distance code | 3 | 0000 | 7 | 39 | 7, | ||
2792 | 1100010 | 56 | normal byte | 8 | ||||||
2793 | 1011111 | 51 | normal byte | 3 | ||||||
2793 | 01000 | 260 | distance code | 6 | 111100 | 7 | 31 | ,\n | ||
2795 | 11100101 | 57 | normal byte | 9 | ||||||
2796 | 11100101 | 57 | normal byte | 9 | ||||||
2797 | 0001 | 258 | distance code | 4 | 1010 | 508 | 3580 | , 11 | ||
2799 | 0001 | 258 | distance code | 4 | 0001 | 12 | 60 | 5, 1 | ||
2801 | 0001 | 258 | distance code | 4 | 0000 | 9 | 41 | 31, | ||
2802 | 011110 | 49 | normal byte | 1 | ||||||
2803 | 1100001 | 54 | normal byte | 6 | ||||||
2804 | 0001 | 258 | distance code | 4 | 0010 | 10 | 74 | 3, 1 | ||
2806 | 11100101 | 57 | normal byte | 9 | ||||||
2807 | 0000 | 257 | distance code | 3 | 1111101 | 2 | 14 | 5, | ||
2808 | 1011110 | 50 | normal byte | 2 | ||||||
2809 | 1011110 | 50 | normal byte | 2 | ||||||
2810 | 11100100 | 55 | normal byte | 7 | ||||||
2811 | 0001 | 258 | distance code | 4 | 11001 | 0 | 96 | \n | ||
2813 | 11101110 | 125 | normal byte | } | ||||||
2814 | 1100011 | 59 | normal byte | ; | ||||||
2815 | 01101 | 266 | distance code | 0 | 13 | 0011 | 6 | 134 | \n int extra_ | |
2817 | 0001 | 258 | distance code | 4 | 0100 | 18 | 274 | dist | ||
2819 | 01101 | 266 | distance code | 0 | 13 | 0011 | 4 | 132 | _addend[] = { | |
2821 | 0010 | 259 | distance code | 5 | 0010 | 3 | 67 | \n | ||
2822 | 11100011 | 52 | normal byte | 4 | ||||||
2823 | 0010 | 259 | distance code | 5 | 1010 | 585 | 3657 | , 6, | ||
2825 | 1100010 | 56 | normal byte | 8 | ||||||
2826 | 01000 | 260 | distance code | 6 | 1010 | 574 | 3646 | , 12, | ||
2829 | 0001 | 258 | distance code | 4 | 1010 | 619 | 3691 | 16, | ||
2831 | 1011110 | 50 | normal byte | 2 | ||||||
2832 | 0000 | 257 | distance code | 3 | 11000 | 1 | 17 | 4, | ||
2833 | 1011111 | 51 | normal byte | 3 | ||||||
2834 | 0000 | 257 | distance code | 3 | 1111100 | 3 | 11 | 2, | ||
2836 | 11100011 | 52 | normal byte | 4 | ||||||
2837 | 1100010 | 56 | normal byte | 8 | ||||||
2838 | 01000 | 260 | distance code | 6 | 11001 | 4 | 100 | ,\n | ||
2840 | 1100001 | 54 | normal byte | 6 | ||||||
2840 | 0000 | 257 | distance code | 3 | 1111101 | 3 | 15 | 4, | ||
2842 | 11100101 | 57 | normal byte | 9 | ||||||
2843 | 0001 | 258 | distance code | 4 | 1010 | 620 | 3692 | 6, 1 | ||
2845 | 1011110 | 50 | normal byte | 2 | ||||||
2846 | 0001 | 258 | distance code | 4 | 0000 | 4 | 36 | 8, 1 | ||
2848 | 11100101 | 57 | normal byte | 9 | ||||||
2849 | 0000 | 257 | distance code | 3 | 111100 | 1 | 25 | 2, | ||
2850 | 1011110 | 50 | normal byte | 2 | ||||||
2851 | 1100000 | 53 | normal byte | 5 | ||||||
2852 | 0000 | 257 | distance code | 3 | 1111101 | 2 | 14 | 6, | ||
2854 | 1011111 | 51 | normal byte | 3 | ||||||
2855 | 1100010 | 56 | normal byte | 8 | ||||||
2855 | 11100011 | 52 | normal byte | 4 | ||||||
2856 | 01000 | 260 | distance code | 6 | 111100 | 7 | 31 | ,\n | ||
2858 | 1100000 | 53 | normal byte | 5 | ||||||
2859 | 0001 | 258 | distance code | 4 | 0001 | 8 | 56 | 12, | ||
2861 | 0000 | 257 | distance code | 3 | 0101 | 25 | 537 | 768 | ||
2863 | 0001 | 258 | distance code | 4 | 1010 | 654 | 3726 | , 10 | ||
2865 | 0001 | 258 | distance code | 4 | 0001 | 11 | 59 | 24, | ||
2866 | 011110 | 49 | normal byte | 1 | ||||||
2867 | 1100000 | 53 | normal byte | 5 | ||||||
2868 | 1011111 | 51 | normal byte | 3 | ||||||
2869 | 0001 | 258 | distance code | 4 | 0010 | 5 | 69 | 6, 2 | ||
2870 | 1011101 | 48 | normal byte | 0 | ||||||
2871 | 01010 | 262 | distance code | 8 | 0001 | 15 | 63 | 48,\n | ||
2873 | 1011111 | 51 | normal byte | 3 | ||||||
2874 | 1011101 | 48 | normal byte | 0 | ||||||
2875 | 11100100 | 55 | normal byte | 7 | ||||||
2876 | 0001 | 258 | distance code | 4 | 0010 | 13 | 77 | 2, 4 | ||
2877 | 1011101 | 48 | normal byte | 0 | ||||||
2878 | 0001 | 258 | distance code | 4 | 0010 | 3 | 67 | 96, | ||
2880 | 1100001 | 54 | normal byte | 6 | ||||||
2881 | 011110 | 49 | normal byte | 1 | ||||||
2881 | 11100011 | 52 | normal byte | 4 | ||||||
2882 | 0000 | 257 | distance code | 3 | 0000 | 1 | 33 | 4, | ||
2884 | 1100010 | 56 | normal byte | 8 | ||||||
2885 | 0001 | 258 | distance code | 4 | 0010 | 5 | 69 | 192, | ||
2886 | 01000 | 260 | distance code | 6 | 0100 | 0 | 256 | \n 1 | ||
2888 | 1011110 | 50 | normal byte | 2 | ||||||
2889 | 1011110 | 50 | normal byte | 2 | ||||||
2890 | 1100010 | 56 | normal byte | 8 | ||||||
2891 | 1100010 | 56 | normal byte | 8 | ||||||
2892 | 0010 | 259 | distance code | 5 | 0011 | 57 | 185 | , 163 | ||
2894 | 0000 | 257 | distance code | 3 | 0010 | 13 | 77 | 84, | ||
2895 | 0000 | 257 | distance code | 3 | 11001 | 25 | 121 | 24 | ||
2897 | 1100000 | 53 | normal byte | 5 | ||||||
2898 | 11100100 | 55 | normal byte | 7 | ||||||
2899 | 1100001 | 54 | normal byte | 6 | ||||||
2900 | 01001 | 261 | distance code | 7 | 0011 | 56 | 184 | \n };\n | ||
2902 | 1011000 | 10 | normal byte | \n | ||||||
2903 | 01011 | 263 | distance code | 9 | 11100 | 184 | 6328 | node = | ||
2905 | 01101 | 266 | distance code | 0 | 13 | 0101 | 8 | 520 | literals_root | |
2907 | 01101 | 266 | distance code | 0 | 13 | 1011 | 654 | 4750 | ;\n\n while ( | |
2910 | 111100100 | 33 | normal byte | ! | ||||||
2911 | 101001 | 264 | distance code | 10 | 11011 | 53 | 437 | stop_code | ||
2913 | 01110 | 267 | distance code | 0 | 15 | 0110 | 246 | 1014 | )\n {\n if ( | |
2916 | 1100111 | 102 | normal byte | f | ||||||
2917 | 0010 | 259 | distance code | 5 | 1001 | 733 | 2781 | eof( | ||
2919 | 101010 | 268 | distance code | 0 | 17 | 1011 | 1003 | 5099 | stream->source ) | |
2922 | 01110 | 267 | distance code | 0 | 15 | 11100 | 989 | 7133 | )\n {\n f | |
2924 | 1101010 | 112 | normal byte | p | ||||||
2925 | 100110 | 114 | normal byte | r | ||||||
2926 | 0000 | 257 | distance code | 3 | 0100 | 28 | 284 | int | ||
2928 | 0010 | 259 | distance code | 5 | 0000 | 7 | 39 | f( st | ||
2929 | 100001 | 100 | normal byte | d | ||||||
2930 | 00111 | 101 | normal byte | e | ||||||
2931 | 100110 | 114 | normal byte | r | ||||||
2931 | 100110 | 114 | normal byte | r | ||||||
2932 | 1011010 | 44 | normal byte | , | ||||||
2933 | 00110 | 32 | normal byte | |||||||
2934 | 11011110 | 34 | normal byte | " | ||||||
2935 | 11111111100 | 80 | normal byte | P | ||||||
2936 | 100110 | 114 | normal byte | r | ||||||
2937 | 00111 | 101 | normal byte | e | ||||||
2937 | 1101001 | 109 | normal byte | m | ||||||
2938 | 011111 | 97 | normal byte | a | ||||||
2939 | 101000 | 116 | normal byte | t | ||||||
2940 | 0001 | 258 | distance code | 4 | 11101 | 706 | 8898 | ure | ||
2942 | 0001 | 258 | distance code | 4 | 0110 | 196 | 964 | end | ||
2944 | 0000 | 257 | distance code | 3 | 1010 | 423 | 3495 | of | ||
2947 | 0001 | 258 | distance code | 4 | 11101 | 1432 | 9624 | file | ||
2949 | 1011100 | 46 | normal byte | . | ||||||
2950 | 11111111110 | 92 | normal byte | \ | ||||||
2952 | 100100 | 110 | normal byte | n | ||||||
2952 | 01100 | 265 | distance code | 0 | 11 | 1011 | 1002 | 5098 | " );\n | |
2955 | 01001 | 261 | distance code | 7 | 1011 | 463 | 4559 | return | ||
2957 | 011110 | 49 | normal byte | 1 | ||||||
2958 | 101010 | 268 | distance code | 1 | 18 | 1001 | 565 | 2613 | ;\n }\n\n if ( | |
2961 | 1101110 | 272 | distance code | 2 | 33 | 1001 | 730 | 2778 | next_bit( stream ) )\n {\n | |
2964 | 01001 | 261 | distance code | 7 | 11010 | 15 | 207 | node = | ||
2966 | 11101111 | 273 | distance code | 3 | 38 | 1001 | 704 | 2752 | node->one;\n }\n else\n {\n | |
2969 | 01101 | 266 | distance code | 0 | 13 | 0000 | 12 | 44 | node = node-> | |
2971 | 101011 | 269 | distance code | 3 | 22 | 1001 | 678 | 2726 | zero;\n }\n\n if ( | |
2973 | 1101110 | 272 | distance code | 0 | 31 | 1001 | 665 | 2713 | node->code != -1 )\n {\n | |
2976 | 0000 | 257 | distance code | 3 | 1000 | 122 | 1658 | // | ||
2978 | 111101100 | 70 | normal byte | F | ||||||
2979 | 100101 | 111 | normal byte | o | ||||||
2980 | 1101011 | 117 | normal byte | u | ||||||
2981 | 100100 | 110 | normal byte | n | ||||||
2982 | 0010 | 259 | distance code | 5 | 1011 | 1168 | 5264 | d a l | ||
2984 | 0001 | 258 | distance code | 4 | 11101 | 1377 | 9569 | eaf | ||
2987 | 100010 | 105 | normal byte | i | ||||||
2988 | 01000 | 260 | distance code | 6 | 11101 | 852 | 9044 | n the | ||
2990 | 0010 | 259 | distance code | 5 | 11101 | 1032 | 9224 | tree; | ||
2993 | 0001 | 258 | distance code | 4 | 1000 | 193 | 1729 | dec | ||
2995 | 0001 | 258 | distance code | 4 | 0001 | 7 | 55 | ode | ||
2997 | 011111 | 97 | normal byte | a | ||||||
2997 | 00110 | 32 | normal byte | |||||||
2998 | 100111 | 115 | normal byte | s | ||||||
2999 | 11101101 | 121 | normal byte | y | ||||||
3000 | 1101001 | 109 | normal byte | m | ||||||
3001 | 1100110 | 98 | normal byte | b | ||||||
3001 | 100101 | 111 | normal byte | o | ||||||
3002 | 100011 | 108 | normal byte | l | ||||||
3003 | 01001 | 261 | distance code | 7 | 0001 | 2 | 50 | \n | ||
3005 | 101011 | 269 | distance code | 0 | 19 | 11100 | 492 | 6636 | assert( node->code | |
3008 | 11100110 | 60 | normal byte | < | ||||||
3009 | 00110 | 32 | normal byte | |||||||
3009 | 1011110 | 50 | normal byte | 2 | ||||||
3010 | 1100010 | 56 | normal byte | 8 | ||||||
3011 | 1100001 | 54 | normal byte | 6 | ||||||
3012 | 0001 | 258 | distance code | 4 | 0111 | 348 | 1372 | ); | ||
3014 | 01100 | 265 | distance code | 0 | 11 | 11101 | 935 | 9127 | // should | |
3017 | 100100 | 110 | normal byte | n | ||||||
3018 | 00111 | 101 | normal byte | e | ||||||
3018 | 11101011 | 118 | normal byte | v | ||||||
3019 | 0001 | 258 | distance code | 4 | 11101 | 1958 | 10150 | er h | ||
3022 | 011111 | 97 | normal byte | a | ||||||
3023 | 1101010 | 112 | normal byte | p | ||||||
3023 | 1101010 | 112 | normal byte | p | ||||||
3024 | 0000 | 257 | distance code | 3 | 1000 | 311 | 1847 | en | ||
3026 | 1011001 | 40 | normal byte | ( | ||||||
3027 | 1111110011 | 63 | normal byte | ? | ||||||
3029 | 11100000 | 41 | normal byte | ) | ||||||
3030 | 101001 | 264 | distance code | 10 | 11001 | 16 | 112 | \n // | ||
3032 | 01011 | 263 | distance code | 9 | 11101 | 1482 | 9674 | leaf node | ||
3034 | 1100011 | 59 | normal byte | ; | ||||||
3035 | 0001 | 258 | distance code | 4 | 11101 | 1028 | 9220 | out | ||
3038 | 0001 | 258 | distance code | 4 | 1011 | 705 | 4801 | put | ||
3040 | 100010 | 105 | normal byte | i | ||||||
3041 | 101000 | 116 | normal byte | t | ||||||
3042 | 01100 | 265 | distance code | 1 | 12 | 1001 | 808 | 2856 | \n if ( | |
3044 | 01101 | 266 | distance code | 1 | 14 | 0010 | 24 | 88 | node->code < 2 | |
3046 | 1100000 | 53 | normal byte | 5 | ||||||
3047 | 1100001 | 54 | normal byte | 6 | ||||||
3048 | 101011 | 269 | distance code | 0 | 19 | 1001 | 796 | 2844 | )\n {\n | |
3051 | 11100001 | 42 | normal byte | * | ||||||
3052 | 1011001 | 40 | normal byte | ( | ||||||
3052 | 0000 | 257 | distance code | 3 | 0110 | 70 | 838 | ptr | ||
3054 | 11100010 | 43 | normal byte | + | ||||||
3055 | 11100010 | 43 | normal byte | + | ||||||
3056 | 11100000 | 41 | normal byte | ) | ||||||
3057 | 01011 | 263 | distance code | 9 | 11010 | 60 | 252 | = node-> | ||
3059 | 01100 | 265 | distance code | 1 | 12 | 1001 | 107 | 2155 | code;\n | |
3062 | 11101110 | 125 | normal byte | } | ||||||
3063 | 1101100 | 270 | distance code | 0 | 23 | 0010 | 12 | 76 | \n if ( node->code | |
3065 | 1100100 | 61 | normal byte | = | ||||||
3066 | 1100100 | 61 | normal byte | = | ||||||
3067 | 1101100 | 270 | distance code | 0 | 23 | 0010 | 13 | 77 | 256 )\n {\n | |
3069 | 01100 | 265 | distance code | 1 | 12 | 0110 | 215 | 983 | stop_code = | |
3071 | 01100 | 265 | distance code | 0 | 11 | 1001 | 540 | 2588 | 1;\n | |
3074 | 01101 | 266 | distance code | 0 | 13 | 1001 | 536 | 2584 | break;\n | |
3076 | 1101100 | 270 | distance code | 1 | 24 | 0010 | 20 | 84 | }\n if ( node->code | |
3079 | 11100111 | 62 | normal byte | > | ||||||
3080 | 1101100 | 270 | distance code | 0 | 23 | 0010 | 19 | 83 | 256 )\n {\n | |
3082 | 01001 | 261 | distance code | 7 | 11101 | 1814 | 10006 | int len | ||
3085 | 01011 | 263 | distance code | 9 | 11101 | 1005 | 9197 | gth;\n | ||
3087 | 01010 | 262 | distance code | 8 | 11000 | 3 | 19 | int | ||
3089 | 01010 | 262 | distance code | 8 | 1011 | 687 | 4783 | dist;\n | ||
3092 | 101001 | 264 | distance code | 10 | 11000 | 1 | 17 | int | ||
3093 | 01000 | 260 | distance code | 6 | 0110 | 119 | 887 | extra_ | ||
3095 | 01010 | 262 | distance code | 8 | 11101 | 1389 | 9581 | bits;\n | ||
3098 | 01011 | 263 | distance code | 9 | 0100 | 37 | 293 | // | ||
3100 | 01010 | 262 | distance code | 8 | 11100 | 448 | 6592 | This is | ||
3103 | 011111 | 97 | normal byte | a | ||||||
3104 | 00110 | 32 | normal byte | |||||||
3104 | 0001 | 258 | distance code | 4 | 1011 | 1816 | 5912 | back | ||
3107 | 1011011 | 45 | normal byte | - | ||||||
3107 | 1101010 | 112 | normal byte | p | ||||||
3108 | 100101 | 111 | normal byte | o | ||||||
3109 | 0000 | 257 | distance code | 3 | 0000 | 11 | 43 | int | ||
3111 | 0000 | 257 | distance code | 3 | 0100 | 80 | 336 | er | ||
3112 | 0010 | 259 | distance code | 5 | 1001 | 102 | 2150 | to a | ||
3115 | 01011 | 263 | distance code | 9 | 11100 | 33 | 6177 | position | ||
3117 | 01001 | 261 | distance code | 7 | 11011 | 46 | 430 | in the | ||
3119 | 01000 | 260 | distance code | 6 | 0101 | 75 | 587 | stream | ||
3122 | 01100 | 265 | distance code | 1 | 12 | 0001 | 13 | 61 | \n // | |
3123 | 111101101 | 73 | normal byte | I | ||||||
3124 | 0001 | 258 | distance code | 4 | 0000 | 12 | 44 | nter | ||
3126 | 0000 | 257 | distance code | 3 | 1010 | 617 | 3689 | pre | ||
3128 | 101000 | 116 | normal byte | t | ||||||
3129 | 01100 | 265 | distance code | 1 | 12 | 1011 | 83 | 4179 | the length | |
3132 | 0010 | 259 | distance code | 5 | 1011 | 1632 | 5728 | here | ||
3134 | 01110 | 267 | distance code | 1 | 16 | 1011 | 1069 | 5165 | as specified in | |
3137 | 0001 | 258 | distance code | 4 | 1011 | 1061 | 5157 | 3.2. | ||
3139 | 1100000 | 53 | normal byte | 5 | ||||||
3140 | 101001 | 264 | distance code | 10 | 0011 | 16 | 144 | \n i | ||
3142 | 101010 | 268 | distance code | 1 | 18 | 11011 | 0 | 384 | f ( node->code < 2 | |
3144 | 1100001 | 54 | normal byte | 6 | ||||||
3145 | 1100000 | 53 | normal byte | 5 | ||||||
3146 | 1101100 | 270 | distance code | 0 | 23 | 1001 | 752 | 2800 | )\n {\n | |
3149 | 01011 | 263 | distance code | 9 | 1000 | 140 | 1676 | length = | ||
3151 | 01100 | 265 | distance code | 0 | 11 | 0000 | 15 | 47 | node->code | |
3153 | 0001 | 258 | distance code | 4 | 11100 | 807 | 6951 | - 25 | ||
3155 | 11100011 | 52 | normal byte | 4 | ||||||
3156 | 11110000 | 274 | distance code | 7 | 50 | 11100 | 1399 | 7543 | ;\n }\n else\n {\n if ( | |
3160 | 01110 | 267 | distance code | 0 | 15 | 0101 | 75 | 587 | node->code < 28 | |
3162 | 1100000 | 53 | normal byte | 5 | ||||||
3163 | 1101101 | 271 | distance code | 0 | 27 | 1001 | 809 | 2857 | )\n {\n | |
3166 | 101001 | 264 | distance code | 10 | 0100 | 46 | 302 | extra_bits | ||
3168 | 1101100 | 270 | distance code | 3 | 26 | 1001 | 1000 | 3048 | = read_bits_inv( stream, | |
3171 | 1011001 | 40 | normal byte | ( | ||||||
3172 | 01110 | 267 | distance code | 0 | 15 | 0011 | 18 | 146 | node->code - 2 | |
3174 | 1100001 | 54 | normal byte | 6 | ||||||
3174 | 0001 | 258 | distance code | 4 | 1011 | 1636 | 5732 | 1 ) | ||
3177 | 111100111 | 47 | normal byte | / | ||||||
3178 | 01011 | 263 | distance code | 9 | 1011 | 627 | 4723 | 4 );\n\n | ||
3180 | 101011 | 269 | distance code | 0 | 19 | 11010 | 2 | 194 | length = | |
3183 | 01100 | 265 | distance code | 0 | 11 | 0010 | 21 | 85 | extra_bits | |
3185 | 11100010 | 43 | normal byte | + | ||||||
3186 | 101011 | 269 | distance code | 2 | 21 | 0111 | 400 | 1424 | extra_length_addend[ | |
3188 | 01110 | 267 | distance code | 1 | 16 | 0010 | 17 | 81 | node->code - 26 | |
3190 | 1100000 | 53 | normal byte | 5 | ||||||
3191 | 11110001 | 275 | distance code | 4 | 55 | 1001 | 914 | 2962 | ];\n }\n else\n {\n | |
3194 | 01011 | 263 | distance code | 9 | 11001 | 17 | 113 | length = | ||
3196 | 0000 | 257 | distance code | 3 | 1001 | 142 | 2190 | 258 | ||
3198 | 101011 | 269 | distance code | 3 | 22 | 0010 | 0 | 64 | ;\n }\n | |
3200 | 01100 | 265 | distance code | 0 | 11 | 1010 | 128 | 3200 | }\n\n | |
3203 | 0010 | 259 | distance code | 5 | 0101 | 6 | 518 | // Th | ||
3205 | 01011 | 263 | distance code | 9 | 11011 | 62 | 446 | e length | ||
3207 | 100010 | 105 | normal byte | i | ||||||
3208 | 100111 | 115 | normal byte | s | ||||||
3209 | 01001 | 261 | distance code | 7 | 11100 | 1226 | 7370 | follow | ||
3211 | 0000 | 257 | distance code | 3 | 11011 | 56 | 440 | ed | ||
3213 | 1100110 | 98 | normal byte | b | ||||||
3214 | 11101101 | 121 | normal byte | y | ||||||
3215 | 01000 | 260 | distance code | 6 | 11101 | 2618 | 10810 | the d | ||
3218 | 01001 | 261 | distance code | 7 | 1000 | 192 | 1728 | istance | ||
3220 | 1011100 | 46 | normal byte | . | ||||||
3221 | 01110 | 267 | distance code | 1 | 16 | 0001 | 2 | 50 | \n // The | |
3223 | 01010 | 262 | distance code | 8 | 111100 | 0 | 24 | distance | ||
3224 | 0001 | 258 | distance code | 4 | 0001 | 4 | 52 | is | ||
3226 | 01000 | 260 | distance code | 6 | 1011 | 155 | 4251 | coded | ||
3228 | 0000 | 257 | distance code | 3 | 11011 | 106 | 490 | in | ||
3230 | 1100000 | 53 | normal byte | 5 | ||||||
3231 | 0010 | 259 | distance code | 5 | 1011 | 1633 | 5729 | bits | ||
3234 | 01000 | 260 | distance code | 6 | 11100 | 15 | 6159 | , and | ||
3236 | 1101001 | 109 | normal byte | m | ||||||
3237 | 011111 | 97 | normal byte | a | ||||||
3238 | 11101101 | 121 | normal byte | y | ||||||
3239 | 0000 | 257 | distance code | 3 | 1001 | 722 | 2770 | be | ||
3241 | 01100 | 265 | distance code | 1 | 12 | 0001 | 6 | 54 | \n // | |
3243 | 01100 | 265 | distance code | 1 | 12 | 0010 | 27 | 91 | followed by | |
3245 | 0010 | 259 | distance code | 5 | 0100 | 1 | 257 | extra | ||
3247 | 01000 | 260 | distance code | 6 | 11100 | 77 | 6221 | bits | ||
3249 | 11101111 | 273 | distance code | 0 | 35 | 0101 | 47 | 559 | as specified in 3.2.5\n if ( | |
3252 | 01110 | 267 | distance code | 0 | 15 | 1000 | 326 | 1862 | distances_root | |
3255 | 0000 | 257 | distance code | 3 | 0110 | 103 | 871 | == | ||
3257 | 111101111 | 78 | normal byte | N | ||||||
3258 | 111110100 | 85 | normal byte | U | ||||||
3259 | 1111110110 | 76 | normal byte | L | ||||||
3260 | 1111110110 | 76 | normal byte | L | ||||||
3261 | 1101100 | 270 | distance code | 0 | 23 | 0101 | 53 | 565 | )\n {\n | |
3264 | 0000 | 257 | distance code | 3 | 11001 | 9 | 105 | // | ||
3266 | 1111110101 | 72 | normal byte | H | ||||||
3267 | 011111 | 97 | normal byte | a | ||||||
3268 | 100110 | 114 | normal byte | r | ||||||
3268 | 100001 | 100 | normal byte | d | ||||||
3269 | 01000 | 260 | distance code | 6 | 0011 | 20 | 148 | coded | ||
3271 | 01011 | 263 | distance code | 9 | 0001 | 9 | 57 | distances | ||
3273 | 01100 | 265 | distance code | 0 | 11 | 0000 | 0 | 32 | \n | |
3274 | 01110 | 267 | distance code | 1 | 16 | 1011 | 1117 | 5213 | dist = read_bits | |
3277 | 101010 | 268 | distance code | 0 | 17 | 1011 | 1113 | 5209 | ( stream, 5 );\n | |
3280 | 01110 | 267 | distance code | 1 | 16 | 0100 | 48 | 304 | }\n | |
3282 | 1101100 | 270 | distance code | 2 | 25 | 0101 | 90 | 602 | else\n {\n | |
3285 | 0000 | 257 | distance code | 3 | 11001 | 10 | 106 | // | ||
3286 | 111101011 | 68 | normal byte | D | ||||||
3287 | 01000 | 260 | distance code | 6 | 1011 | 1768 | 5864 | ynamic | ||
3290 | 101011 | 269 | distance code | 2 | 21 | 11001 | 8 | 104 | distances\n | |
3292 | 01001 | 261 | distance code | 7 | 0111 | 317 | 1341 | node = | ||
3294 | 01101 | 266 | distance code | 1 | 14 | 0011 | 61 | 189 | distances_root | |
3296 | 01100 | 265 | distance code | 1 | 12 | 11011 | 19 | 403 | ;\n | |
3299 | 01010 | 262 | distance code | 8 | 1000 | 66 | 1602 | while ( | ||
3301 | 101010 | 268 | distance code | 1 | 18 | 11100 | 1750 | 7894 | node->code == -1 ) | |
3304 | 1101100 | 270 | distance code | 2 | 25 | 11011 | 94 | 478 | \n {\n | |
3306 | 1101101 | 271 | distance code | 3 | 30 | 0111 | 484 | 1508 | if ( next_bit( stream ) )\n | |
3309 | 101011 | 269 | distance code | 3 | 22 | 0001 | 3 | 51 | {\n | |
3311 | 1101100 | 270 | distance code | 1 | 24 | 0111 | 500 | 1524 | node = node->one;\n | |
3314 | 101010 | 268 | distance code | 1 | 18 | 11010 | 41 | 233 | }\n | |
3316 | 101010 | 268 | distance code | 0 | 17 | 11010 | 45 | 237 | else\n | |
3318 | 1101110 | 272 | distance code | 2 | 33 | 0010 | 12 | 76 | {\n node = node-> | |
3321 | 01101 | 266 | distance code | 1 | 14 | 11100 | 1975 | 8119 | zero;\n | |
3323 | 01110 | 267 | distance code | 1 | 16 | 0010 | 13 | 77 | }\n | |
3325 | 11101110 | 125 | normal byte | } | ||||||
3326 | 101010 | 268 | distance code | 1 | 18 | 0100 | 118 | 374 | \n dist = | |
3329 | 101011 | 269 | distance code | 1 | 20 | 1010 | 442 | 3514 | node->code;\n | |
3331 | 01100 | 265 | distance code | 0 | 11 | 0101 | 145 | 657 | }\n\n | |
3334 | 01011 | 263 | distance code | 9 | 11011 | 111 | 495 | if ( dist | ||
3336 | 0000 | 257 | distance code | 3 | 0111 | 248 | 1272 | > | ||
3338 | 1011111 | 51 | normal byte | 3 | ||||||
3339 | 1101100 | 270 | distance code | 1 | 24 | 1010 | 776 | 3848 | )\n {\n i | |
3342 | 01101 | 266 | distance code | 0 | 13 | 1001 | 76 | 2124 | nt extra_dist | |
3344 | 1101101 | 271 | distance code | 1 | 28 | 0110 | 165 | 933 | = read_bits_inv( stream, ( | |
3347 | 0010 | 259 | distance code | 5 | 111100 | 7 | 31 | dist | ||
3348 | 1011011 | 45 | normal byte | - | ||||||
3349 | 0010 | 259 | distance code | 5 | 1011 | 91 | 4187 | 2 ) | ||
3352 | 111100111 | 47 | normal byte | / | ||||||
3353 | 0001 | 258 | distance code | 4 | 111111111 | 1 | 5 | 2 ) | ||
3354 | 01101 | 266 | distance code | 0 | 13 | 0110 | 157 | 925 | ;\n\n | |
3357 | 0000 | 257 | distance code | 3 | 11011 | 61 | 445 | // | ||
3359 | 11101000 | 69 | normal byte | E | ||||||
3360 | 1101001 | 109 | normal byte | m | ||||||
3361 | 1100110 | 98 | normal byte | b | ||||||
3361 | 00111 | 101 | normal byte | e | ||||||
3362 | 01001 | 261 | distance code | 7 | 1011 | 898 | 4994 | d the l | ||
3365 | 100101 | 111 | normal byte | o | ||||||
3365 | 11101001 | 103 | normal byte | g | ||||||
3366 | 0010 | 259 | distance code | 5 | 1001 | 590 | 2638 | ic in | ||
3369 | 01000 | 260 | distance code | 6 | 1000 | 157 | 1693 | the t | ||
3371 | 0010 | 259 | distance code | 5 | 1011 | 1383 | 5479 | able | ||
3373 | 011111 | 97 | normal byte | a | ||||||
3374 | 01000 | 260 | distance code | 6 | 0111 | 219 | 1243 | t the | ||
3376 | 01001 | 261 | distance code | 7 | 1000 | 388 | 1924 | end of | ||
3378 | 01101 | 266 | distance code | 1 | 14 | 0101 | 150 | 662 | 3.2.5\n | |
3381 | 01011 | 263 | distance code | 9 | 11010 | 14 | 206 | dist = | ||
3383 | 01100 | 265 | distance code | 0 | 11 | 0011 | 7 | 135 | extra_dist | |
3385 | 11100010 | 43 | normal byte | + | ||||||
3386 | 101011 | 269 | distance code | 0 | 19 | 1001 | 225 | 2273 | extra_dist_addend[ | |
3388 | 01010 | 262 | distance code | 8 | 0011 | 1 | 129 | dist - | ||
3390 | 11100011 | 52 | normal byte | 4 | ||||||
3391 | 01100 | 265 | distance code | 1 | 12 | 0110 | 205 | 973 | ];\n | |
3394 | 01110 | 267 | distance code | 0 | 15 | 0110 | 128 | 896 | }\n\n // T | |
3396 | 0001 | 258 | distance code | 4 | 11100 | 947 | 7091 | ODO | ||
3398 | 0000 | 257 | distance code | 3 | 1001 | 442 | 2490 | cha | ||
3401 | 0001 | 258 | distance code | 4 | 1010 | 466 | 3538 | nge | ||
3403 | 0001 | 258 | distance code | 4 | 11100 | 1260 | 7404 | buf | ||
3405 | 01001 | 261 | distance code | 7 | 1010 | 489 | 3561 | into a | ||
3408 | 100000 | 99 | normal byte | c | ||||||
3408 | 100010 | 105 | normal byte | i | ||||||
3409 | 100110 | 114 | normal byte | r | ||||||
3410 | 100000 | 99 | normal byte | c | ||||||
3411 | 1101011 | 117 | normal byte | u | ||||||
3412 | 0000 | 257 | distance code | 3 | 1010 | 479 | 3551 | lar | ||
3414 | 01000 | 260 | distance code | 6 | 1011 | 1435 | 5531 | array | ||
3416 | 00110 | 32 | normal byte | |||||||
3417 | 100111 | 115 | normal byte | s | ||||||
3418 | 0001 | 258 | distance code | 4 | 11100 | 1944 | 8088 | o th | ||
3420 | 011111 | 97 | normal byte | a | ||||||
3421 | 01100 | 265 | distance code | 0 | 11 | 1000 | 201 | 1737 | t it\n | |
3423 | 01000 | 260 | distance code | 6 | 1010 | 469 | 3541 | // c | ||
3426 | 011111 | 97 | normal byte | a | ||||||
3426 | 100100 | 110 | normal byte | n | ||||||
3427 | 0000 | 257 | distance code | 3 | 1000 | 257 | 1793 | ha | ||
3429 | 100100 | 110 | normal byte | n | ||||||
3430 | 100001 | 100 | normal byte | d | ||||||
3431 | 100011 | 108 | normal byte | l | ||||||
3432 | 00111 | 101 | normal byte | e | ||||||
3432 | 0010 | 259 | distance code | 5 | 1001 | 36 | 2084 | file | ||
3434 | 100111 | 115 | normal byte | s | ||||||
3435 | 0001 | 258 | distance code | 4 | 0011 | 40 | 168 | of | ||
3437 | 0001 | 258 | distance code | 4 | 1011 | 853 | 4949 | size | ||
3439 | 0001 | 258 | distance code | 4 | 0100 | 60 | 316 | > 3 | ||
3441 | 0001 | 258 | distance code | 4 | 1001 | 807 | 2855 | 2768 | ||
3443 | 0010 | 259 | distance code | 5 | 11100 | 1273 | 7417 | byte | ||
3446 | 100111 | 115 | normal byte | s | ||||||
3447 | 101011 | 269 | distance code | 2 | 21 | 0100 | 68 | 324 | \n {\n | |
3449 | 01110 | 267 | distance code | 0 | 15 | 1001 | 565 | 2613 | unsigned char * | |
3452 | 0001 | 258 | distance code | 4 | 1000 | 3 | 1539 | back | ||
3454 | 01000 | 260 | distance code | 6 | 1001 | 569 | 2617 | ptr = | ||
3456 | 0001 | 258 | distance code | 4 | 111111111 | 1 | 5 | ptr | ||
3458 | 1011011 | 45 | normal byte | - | ||||||
3459 | 01010 | 262 | distance code | 8 | 0011 | 55 | 183 | dist - | ||
3461 | 011110 | 49 | normal byte | 1 | ||||||
3461 | 01101 | 266 | distance code | 0 | 13 | 0100 | 49 | 305 | ;\n\n | |
3463 | 01010 | 262 | distance code | 8 | 0101 | 175 | 687 | while ( | ||
3466 | 101011 | 269 | distance code | 0 | 19 | 1011 | 168 | 4264 | length-- )\n | |
3468 | 01110 | 267 | distance code | 1 | 16 | 0101 | 38 | 550 | {\n | |
3471 | 0000 | 257 | distance code | 3 | 0011 | 28 | 156 | // | ||
3472 | 111101111 | 78 | normal byte | N | ||||||
3474 | 100101 | 111 | normal byte | o | ||||||
3474 | 101000 | 116 | normal byte | t | ||||||
3475 | 00111 | 101 | normal byte | e | ||||||
3476 | 01000 | 260 | distance code | 6 | 0011 | 52 | 180 | that | ||
3478 | 0001 | 258 | distance code | 4 | 0010 | 18 | 82 | ptr | ||
3479 | 11011111 | 38 | normal byte | & | ||||||
3480 | 00110 | 32 | normal byte | |||||||
3481 | 01010 | 262 | distance code | 8 | 11001 | 2 | 98 | backptr | ||
3483 | 0001 | 258 | distance code | 4 | 0011 | 52 | 180 | can | ||
3484 | 100101 | 111 | normal byte | o | ||||||
3485 | 0000 | 257 | distance code | 3 | 1000 | 443 | 1979 | ver | ||
3487 | 100011 | 108 | normal byte | l | ||||||
3488 | 011111 | 97 | normal byte | a | ||||||
3489 | 1101010 | 112 | normal byte | p | ||||||
3490 | 01101 | 266 | distance code | 0 | 13 | 0001 | 2 | 50 | \n | |
3491 | 01100 | 265 | distance code | 0 | 11 | 1000 | 371 | 1907 | *(ptr++) = | |
3494 | 11100001 | 42 | normal byte | * | ||||||
3495 | 1011001 | 40 | normal byte | ( | ||||||
3496 | 01001 | 261 | distance code | 7 | 0000 | 12 | 44 | backptr | ||
3497 | 0000 | 257 | distance code | 3 | 1111101 | 2 | 14 | ++) | ||
3499 | 1101100 | 270 | distance code | 1 | 24 | 0111 | 196 | 1220 | ;\n }\n }\n | |
3502 | 01101 | 266 | distance code | 1 | 14 | 11111101 | 1 | 7 | }\n | |
3504 | 101011 | 269 | distance code | 3 | 22 | 1001 | 422 | 2470 | node = literals_root;\n | |
3506 | 01010 | 262 | distance code | 8 | 0000 | 1 | 33 | }\n | ||
3508 | 0010 | 259 | distance code | 5 | 0100 | 113 | 369 | }\n\n | ||
3510 | 01001 | 261 | distance code | 7 | 1001 | 793 | 2841 | *ptr = | ||
3512 | 0001 | 258 | distance code | 4 | 1011 | 1506 | 5602 | '\0' | ||
3515 | 0001 | 258 | distance code | 4 | 111100 | 1 | 25 | ;\n | ||
3516 | 01010 | 262 | distance code | 8 | 1001 | 375 | 2423 | printf( | ||
3519 | 11011110 | 34 | normal byte | " | ||||||
3520 | 111100101 | 37 | normal byte | % | ||||||
3521 | 100111 | 115 | normal byte | s | ||||||
3521 | 0000 | 257 | distance code | 3 | 1001 | 347 | 2395 | \n" | ||
3524 | 1011010 | 44 | normal byte | , | ||||||
3525 | 0010 | 259 | distance code | 5 | 0100 | 123 | 379 | buf | ||
3526 | 01000 | 260 | distance code | 6 | 0101 | 32 | 544 | );\n\n | ||
3529 | 01001 | 261 | distance code | 7 | 1001 | 349 | 2397 | return | ||
3531 | 1011101 | 48 | normal byte | 0 | ||||||
3532 | 01101 | 266 | distance code | 0 | 13 | 11100 | 804 | 6948 | ;\n}\n\n/** \n * | |
3535 | 111101011 | 68 | normal byte | D | ||||||
3536 | 00111 | 101 | normal byte | e | ||||||
3536 | 01011 | 263 | distance code | 9 | 11101 | 221 | 8413 | compress | ||
3539 | 011111 | 97 | normal byte | a | ||||||
3540 | 100100 | 110 | normal byte | n | ||||||
3541 | 01001 | 261 | distance code | 7 | 11100 | 792 | 6936 | input | ||
3543 | 01001 | 261 | distance code | 7 | 0110 | 125 | 893 | stream | ||
3545 | 0001 | 258 | distance code | 4 | 111100 | 0 | 24 | comp | ||
3547 | 100011 | 108 | normal byte | l | ||||||
3548 | 100010 | 105 | normal byte | i | ||||||
3548 | 011111 | 97 | normal byte | a | ||||||
3549 | 0000 | 257 | distance code | 3 | 0101 | 149 | 661 | nt | ||
3551 | 0000 | 257 | distance code | 3 | 11011 | 57 | 441 | to | ||
3553 | 01011 | 263 | distance code | 9 | 11101 | 314 | 8506 | RFC 1951 | ||
3556 | 0000 | 257 | distance code | 3 | 1010 | 189 | 3261 | def | ||
3558 | 100011 | 108 | normal byte | l | ||||||
3559 | 0010 | 259 | distance code | 5 | 1010 | 924 | 3996 | ation | ||
3561 | 01101 | 266 | distance code | 0 | 13 | 11101 | 256 | 8448 | .\n */\nstatic | |
3564 | 01100 | 265 | distance code | 0 | 11 | 1010 | 176 | 3248 | int inflate | |
3567 | 1011001 | 40 | normal byte | ( | ||||||
3567 | 01001 | 261 | distance code | 7 | 11100 | 2000 | 8144 | FILE * | ||
3570 | 101001 | 264 | distance code | 10 | 11100 | 1490 | 7634 | compressed | ||
3573 | 1100101 | 95 | normal byte | _ | ||||||
3574 | 01000 | 260 | distance code | 6 | 0010 | 22 | 86 | input | ||
3575 | 01000 | 260 | distance code | 6 | 1010 | 38 | 3110 | )\n{\n | ||
3578 | 0000 | 257 | distance code | 3 | 0100 | 65 | 321 | // | ||
3580 | 0001 | 258 | distance code | 4 | 11100 | 969 | 7113 | bit | ||
3582 | 1100010 | 56 | normal byte | 8 | ||||||
3583 | 00110 | 32 | normal byte | |||||||
3584 | 100111 | 115 | normal byte | s | ||||||
3584 | 0010 | 259 | distance code | 5 | 1011 | 120 | 4216 | et in | ||
3587 | 100001 | 100 | normal byte | d | ||||||
3588 | 100010 | 105 | normal byte | i | ||||||
3588 | 100000 | 99 | normal byte | c | ||||||
3589 | 0000 | 257 | distance code | 3 | 0001 | 3 | 51 | ate | ||
3591 | 100111 | 115 | normal byte | s | ||||||
3591 | 01000 | 260 | distance code | 6 | 0100 | 80 | 336 | that | ||
3593 | 01010 | 262 | distance code | 8 | 1011 | 1559 | 5655 | this is | ||
3596 | 0010 | 259 | distance code | 5 | 0101 | 185 | 697 | the l | ||
3598 | 011111 | 97 | normal byte | a | ||||||
3599 | 0000 | 257 | distance code | 3 | 11011 | 41 | 425 | st | ||
3601 | 1100110 | 98 | normal byte | b | ||||||
3601 | 100011 | 108 | normal byte | l | ||||||
3602 | 100101 | 111 | normal byte | o | ||||||
3603 | 100000 | 99 | normal byte | c | ||||||
3604 | 111110111 | 107 | normal byte | k | ||||||
3605 | 01011 | 263 | distance code | 9 | 0001 | 4 | 52 | \n // bit | ||
3606 | 100111 | 115 | normal byte | s | ||||||
3607 | 00110 | 32 | normal byte | |||||||
3608 | 11100100 | 55 | normal byte | 7 | ||||||
3609 | 0000 | 257 | distance code | 3 | 0100 | 111 | 367 | & | ||
3611 | 1100001 | 54 | normal byte | 6 | ||||||
3612 | 01011 | 263 | distance code | 9 | 0001 | 5 | 53 | indicate | ||
3613 | 01100 | 265 | distance code | 1 | 12 | 111101 | 371 | 12659 | compression | |
3616 | 00110 | 32 | normal byte | |||||||
3617 | 0001 | 258 | distance code | 4 | 11101 | 88 | 8280 | type | ||
3619 | 101010 | 268 | distance code | 1 | 18 | 1010 | 90 | 3162 | \n unsigned char b | |
3622 | 0001 | 258 | distance code | 4 | 0001 | 15 | 63 | lock | ||
3624 | 1100101 | 95 | normal byte | _ | ||||||
3624 | 0000 | 257 | distance code | 3 | 1010 | 735 | 3807 | for | ||
3627 | 0000 | 257 | distance code | 3 | 1001 | 633 | 2681 | mat | ||
3629 | 0010 | 259 | distance code | 5 | 1011 | 1765 | 5861 | ;\n b | ||
3631 | 101001 | 264 | distance code | 10 | 1010 | 316 | 3388 | it_stream | ||
3634 | 01010 | 262 | distance code | 8 | 11101 | 9 | 8201 | stream;\n | ||
3637 | 01001 | 261 | distance code | 7 | 1001 | 114 | 2162 | int l | ||
3639 | 0000 | 257 | distance code | 3 | 11001 | 13 | 109 | ast | ||
3641 | 1100101 | 95 | normal byte | _ | ||||||
3642 | 0010 | 259 | distance code | 5 | 0000 | 13 | 45 | block | ||
3643 | 101010 | 268 | distance code | 0 | 17 | 11100 | 610 | 6754 | ;\n huffman_node | |
3646 | 101010 | 268 | distance code | 0 | 17 | 0100 | 123 | 379 | literals_root;\n | |
3648 | 01101 | 266 | distance code | 0 | 13 | 111100 | 5 | 29 | huffman_node | |
3650 | 01110 | 267 | distance code | 1 | 16 | 0111 | 261 | 1285 | distances_root;\n | |
3652 | 1011000 | 10 | normal byte | \n | ||||||
3653 | 01010 | 262 | distance code | 8 | 11100 | 1854 | 7998 | stream | ||
3656 | 1011100 | 46 | normal byte | . | ||||||
3657 | 01001 | 261 | distance code | 7 | 1001 | 792 | 2840 | source | ||
3659 | 1100100 | 61 | normal byte | = | ||||||
3660 | 00110 | 32 | normal byte | |||||||
3661 | 01110 | 267 | distance code | 1 | 16 | 0100 | 8 | 264 | compressed_input | |
3663 | 01001 | 261 | distance code | 7 | 1010 | 544 | 3616 | ;\n fre | ||
3665 | 01100 | 265 | distance code | 0 | 11 | 11100 | 1860 | 8004 | ad( &stream | |
3668 | 1011100 | 46 | normal byte | . | ||||||
3669 | 01100 | 265 | distance code | 0 | 11 | 11100 | 1859 | 8003 | buf, 1, 1, | |
3672 | 101010 | 268 | distance code | 1 | 18 | 0100 | 54 | 310 | compressed_input ) | |
3674 | 1100011 | 59 | normal byte | ; | ||||||
3675 | 101001 | 264 | distance code | 10 | 0010 | 19 | 83 | \n stream. | ||
3677 | 01101 | 266 | distance code | 0 | 13 | 11100 | 1937 | 8081 | mask = 0x01;\n | |
3679 | 0000 | 257 | distance code | 3 | 11000 | 6 | 22 | \n | ||
3681 | 100001 | 100 | normal byte | d | ||||||
3682 | 100101 | 111 | normal byte | o | ||||||
3682 | 01011 | 263 | distance code | 9 | 1001 | 922 | 2970 | \n {\n | ||
3685 | 101001 | 264 | distance code | 10 | 11010 | 1 | 193 | last_block | ||
3687 | 01101 | 266 | distance code | 0 | 13 | 11100 | 1363 | 7507 | = next_bit( | |
3690 | 11011111 | 38 | normal byte | & | ||||||
3691 | 01110 | 267 | distance code | 0 | 15 | 11100 | 1364 | 7508 | stream );\n b | |
3693 | 01100 | 265 | distance code | 0 | 11 | 0100 | 16 | 272 | lock_format | |
3695 | 101010 | 268 | distance code | 1 | 18 | 0111 | 97 | 1121 | = read_bits_inv( | |
3698 | 11011111 | 38 | normal byte | & | ||||||
3699 | 01100 | 265 | distance code | 0 | 11 | 1011 | 1205 | 5301 | stream, 2 ) | |
3702 | 01001 | 261 | distance code | 7 | 0110 | 33 | 801 | ;\n\n | ||
3704 | 01011 | 263 | distance code | 9 | 1011 | 1330 | 5426 | switch ( | ||
3706 | 01101 | 266 | distance code | 0 | 13 | 0001 | 9 | 57 | block_format | |
3708 | 01110 | 267 | distance code | 0 | 15 | 1011 | 1622 | 5718 | )\n {\n c | |
3711 | 0001 | 258 | distance code | 4 | 1011 | 1115 | 5211 | ase | ||
3713 | 0000 | 257 | distance code | 3 | 0011 | 19 | 147 | 0x0 | ||
3715 | 1011101 | 48 | normal byte | 0 | ||||||
3716 | 101001 | 264 | distance code | 10 | 1011 | 1117 | 5213 | :\n | ||
3718 | 01011 | 263 | distance code | 9 | 0101 | 133 | 645 | printf( " | ||
3720 | 111110100 | 85 | normal byte | U | ||||||
3721 | 100100 | 110 | normal byte | n | ||||||
3722 | 01100 | 265 | distance code | 0 | 11 | 11100 | 2010 | 8154 | compressed | |
3725 | 0010 | 259 | distance code | 5 | 0010 | 3 | 67 | block | ||
3727 | 01101 | 266 | distance code | 1 | 14 | 1001 | 1010 | 3058 | .\n" );\n | |
3729 | 101011 | 269 | distance code | 1 | 20 | 1010 | 41 | 3113 | fprintf( stderr, " | |
3732 | 1101011 | 117 | normal byte | u | ||||||
3733 | 101010 | 268 | distance code | 0 | 17 | 0001 | 3 | 51 | ncompressed block | |
3735 | 0010 | 259 | distance code | 5 | 11011 | 93 | 477 | type | ||
3737 | 0000 | 257 | distance code | 3 | 0110 | 12 | 780 | no | ||
3739 | 0000 | 257 | distance code | 3 | 0101 | 155 | 667 | t s | ||
3741 | 1101011 | 117 | normal byte | u | ||||||
3741 | 1101010 | 112 | normal byte | p | ||||||
3742 | 1101010 | 112 | normal byte | p | ||||||
3743 | 100101 | 111 | normal byte | o | ||||||
3744 | 100110 | 114 | normal byte | r | ||||||
3745 | 101000 | 116 | normal byte | t | ||||||
3745 | 00111 | 101 | normal byte | e | ||||||
3746 | 100001 | 100 | normal byte | d | ||||||
3747 | 01110 | 267 | distance code | 1 | 16 | 0010 | 6 | 70 | .\n" );\n | |
3749 | 01101 | 266 | distance code | 1 | 14 | 1010 | 59 | 3131 | return 1;\n | |
3751 | 0010 | 259 | distance code | 5 | 11010 | 43 | 235 | b | ||
3753 | 01100 | 265 | distance code | 1 | 12 | 1001 | 647 | 2695 | reak;\n | |
3756 | 01001 | 261 | distance code | 7 | 0110 | 184 | 952 | // Note | ||
3758 | 1011010 | 44 | normal byte | , | ||||||
3759 | 00110 | 32 | normal byte | |||||||
3759 | 01011 | 263 | distance code | 9 | 11101 | 302 | 8494 | backwards | ||
3762 | 01100 | 265 | distance code | 0 | 11 | 11100 | 2031 | 8175 | from the s | |
3765 | 0000 | 257 | distance code | 3 | 1000 | 423 | 1959 | pec | ||
3767 | 0001 | 258 | distance code | 4 | 11100 | 285 | 6429 | , si | ||
3769 | 0001 | 258 | distance code | 4 | 1000 | 503 | 2039 | nce | ||
3771 | 01011 | 263 | distance code | 9 | 11101 | 357 | 8549 | the bits | ||
3774 | 011111 | 97 | normal byte | a | ||||||
3775 | 100110 | 114 | normal byte | r | ||||||
3776 | 0001 | 258 | distance code | 4 | 1011 | 699 | 4795 | e be | ||
3778 | 0001 | 258 | distance code | 4 | 11100 | 151 | 6295 | ing | ||
3781 | 0001 | 258 | distance code | 4 | 0100 | 36 | 292 | read | ||
3782 | 101001 | 264 | distance code | 10 | 0010 | 5 | 69 | \n // | ||
3784 | 100110 | 114 | normal byte | r | ||||||
3785 | 100010 | 105 | normal byte | i | ||||||
3786 | 11101001 | 103 | normal byte | g | ||||||
3787 | 1101000 | 104 | normal byte | h | ||||||
3788 | 101000 | 116 | normal byte | t | ||||||
3788 | 1011011 | 45 | normal byte | - | ||||||
3789 | 101000 | 116 | normal byte | t | ||||||
3790 | 100101 | 111 | normal byte | o | ||||||
3791 | 1011011 | 45 | normal byte | - | ||||||
3792 | 100011 | 108 | normal byte | l | ||||||
3792 | 00111 | 101 | normal byte | e | ||||||
3793 | 1100111 | 102 | normal byte | f | ||||||
3794 | 101000 | 116 | normal byte | t | ||||||
3795 | 1011100 | 46 | normal byte | . | ||||||
3796 | 01110 | 267 | distance code | 0 | 15 | 0100 | 1 | 257 | \n case 0x0 | |
3798 | 011110 | 49 | normal byte | 1 | ||||||
3798 | 101001 | 264 | distance code | 10 | 0100 | 1 | 257 | :\n | ||
3801 | 01011 | 263 | distance code | 9 | 11100 | 398 | 6542 | memset( & | ||
3803 | 01110 | 267 | distance code | 0 | 15 | 1011 | 405 | 4501 | literals_root, | |
3806 | 11101111 | 273 | distance code | 5 | 40 | 11101 | 1674 | 9866 | '\0', sizeof( huffman_node ) );\n | |
3809 | 1101100 | 270 | distance code | 3 | 26 | 11101 | 1101 | 9293 | build_fixed_huffman_tree( | |
3813 | 01101 | 266 | distance code | 1 | 14 | 0010 | 17 | 81 | &literals_root | |
3814 | 01100 | 265 | distance code | 1 | 12 | 0001 | 3 | 51 | );\n | |
3816 | 1101100 | 270 | distance code | 0 | 23 | 1011 | 50 | 4146 | inflate_huffman_codes( | |
3819 | 01011 | 263 | distance code | 9 | 11011 | 86 | 470 | &stream, | ||
3821 | 01110 | 267 | distance code | 1 | 16 | 0011 | 11 | 139 | &literals_root, | |
3823 | 01000 | 260 | distance code | 6 | 1001 | 110 | 2158 | NULL ) | ||
3826 | 1101100 | 270 | distance code | 0 | 23 | 0100 | 49 | 305 | ;\n break;\n | |
3828 | 01010 | 262 | distance code | 8 | 11010 | 19 | 211 | case 0x0 | ||
3830 | 1011110 | 50 | normal byte | 2 | ||||||
3831 | 1111111100 | 277 | distance code | 7 | 74 | 11010 | 19 | 211 | :\n memset( &literals_root, '\0', sizeof( huffman_node ) );\n | |
3834 | 01011 | 263 | distance code | 9 | 0001 | 15 | 63 | memset( & | ||
3836 | 01110 | 267 | distance code | 1 | 16 | 1011 | 348 | 4444 | distances_root, | |
3838 | 11101111 | 273 | distance code | 5 | 40 | 0010 | 0 | 64 | '\0', sizeof( huffman_node ) );\n | |
3841 | 1101101 | 271 | distance code | 0 | 27 | 11100 | 1924 | 8068 | read_dynamic_huffman_tree( | |
3844 | 1101100 | 270 | distance code | 2 | 25 | 11010 | 36 | 228 | &stream, &literals_root, | |
3847 | 11011111 | 38 | normal byte | & | ||||||
3848 | 01110 | 267 | distance code | 1 | 16 | 1011 | 173 | 4269 | distances_root ) | |
3850 | 11110001 | 275 | distance code | 7 | 58 | 0100 | 47 | 303 | ;\n inflate_huffman_codes( &stream, &literals_root, | |
3853 | 1101101 | 271 | distance code | 0 | 27 | 0010 | 10 | 74 | &distances_root );\n | |
3855 | 01101 | 266 | distance code | 0 | 13 | 0100 | 58 | 314 | break;\n | |
3857 | 0000 | 257 | distance code | 3 | 0111 | 291 | 1315 | def | ||
3859 | 011111 | 97 | normal byte | a | ||||||
3860 | 1101011 | 117 | normal byte | u | ||||||
3861 | 100011 | 108 | normal byte | l | ||||||
3862 | 101000 | 116 | normal byte | t | ||||||
3863 | 111101000 | 58 | normal byte | : | ||||||
3864 | 1101101 | 271 | distance code | 0 | 27 | 0101 | 227 | 739 | \n fprintf( stderr, " | |
3866 | 0010 | 259 | distance code | 5 | 11101 | 766 | 8958 | Error | ||
3869 | 1011010 | 44 | normal byte | , | ||||||
3870 | 0001 | 258 | distance code | 4 | 0111 | 174 | 1198 | uns | ||
3872 | 01010 | 262 | distance code | 8 | 0101 | 208 | 720 | upported | ||
3874 | 01100 | 265 | distance code | 1 | 12 | 0101 | 233 | 745 | block type | |
3876 | 111100101 | 37 | normal byte | % | ||||||
3877 | 111111000 | 120 | normal byte | x | ||||||
3879 | 1011100 | 46 | normal byte | . | ||||||
3879 | 01000 | 260 | distance code | 6 | 0111 | 444 | 1468 | \n", b | ||
3882 | 01101 | 266 | distance code | 0 | 13 | 0110 | 116 | 884 | lock_format ) | |
3884 | 11101111 | 273 | distance code | 4 | 39 | 0101 | 236 | 748 | ;\n return 1;\n break;\n | |
3887 | 01010 | 262 | distance code | 8 | 111101 | 288 | 12576 | }\n }\n | ||
3890 | 01011 | 263 | distance code | 9 | 1010 | 969 | 4041 | while ( ! | ||
3892 | 01100 | 265 | distance code | 0 | 11 | 0111 | 26 | 1050 | last_block | |
3894 | 101011 | 269 | distance code | 0 | 19 | 1000 | 9 | 1545 | );\n\n return 0;\n}\n\n | |
3897 | 01100 | 265 | distance code | 1 | 12 | 1011 | 655 | 4751 | #define MAX_ | |
3900 | 1111110100 | 66 | normal byte | B | ||||||
3901 | 111110100 | 85 | normal byte | U | ||||||
3902 | 111101100 | 70 | normal byte | F | ||||||
3903 | 0001 | 258 | distance code | 4 | 11101 | 1584 | 9776 | 255 | ||
3906 | 01110 | 267 | distance code | 1 | 16 | 11101 | 1310 | 9502 | \n\n/**\n * Read a | |
3909 | 100100 | 110 | normal byte | n | ||||||
3909 | 1101011 | 117 | normal byte | u | ||||||
3910 | 100011 | 108 | normal byte | l | ||||||
3911 | 100011 | 108 | normal byte | l | ||||||
3912 | 1011011 | 45 | normal byte | - | ||||||
3913 | 0000 | 257 | distance code | 3 | 0100 | 9 | 265 | ter | ||
3915 | 1101001 | 109 | normal byte | m | ||||||
3915 | 100010 | 105 | normal byte | i | ||||||
3916 | 100100 | 110 | normal byte | n | ||||||
3917 | 0010 | 259 | distance code | 5 | 111101 | 1869 | 14157 | ated | ||
3920 | 01000 | 260 | distance code | 6 | 111101 | 1939 | 14227 | string | ||
3923 | 01000 | 260 | distance code | 6 | 0110 | 64 | 832 | from | ||
3925 | 011111 | 97 | normal byte | a | ||||||
3925 | 01000 | 260 | distance code | 6 | 1010 | 967 | 4039 | file. | ||
3928 | 00110 | 32 | normal byte | |||||||
3928 | 00110 | 32 | normal byte | |||||||
3929 | 111101111 | 78 | normal byte | N | ||||||
3930 | 0000 | 257 | distance code | 3 | 0000 | 4 | 36 | ull | ||
3932 | 00110 | 32 | normal byte | |||||||
3932 | 101001 | 264 | distance code | 10 | 0000 | 4 | 36 | terminated | ||
3934 | 0001 | 258 | distance code | 4 | 0001 | 14 | 62 | \n * | ||
3936 | 01000 | 260 | distance code | 6 | 0000 | 7 | 39 | string | ||
3937 | 0010 | 259 | distance code | 5 | 11101 | 1896 | 10088 | s in | ||
3940 | 01000 | 260 | distance code | 6 | 1000 | 455 | 1991 | files | ||
3942 | 100111 | 115 | normal byte | s | ||||||
3943 | 1101011 | 117 | normal byte | u | ||||||
3944 | 0000 | 257 | distance code | 3 | 0110 | 255 | 1023 | ck. | ||
3946 | 01110 | 267 | distance code | 1 | 16 | 1000 | 55 | 1591 | \n */\nstatic int | |
3948 | 0010 | 259 | distance code | 5 | 11011 | 84 | 468 | read_ | ||
3950 | 01000 | 260 | distance code | 6 | 0000 | 10 | 42 | string | ||
3952 | 01010 | 262 | distance code | 8 | 1000 | 59 | 1595 | ( FILE * | ||
3954 | 100010 | 105 | normal byte | i | ||||||
3955 | 100100 | 110 | normal byte | n | ||||||
3955 | 1011010 | 44 | normal byte | , | ||||||
3956 | 01110 | 267 | distance code | 1 | 16 | 1000 | 457 | 1993 | unsigned char * | |
3959 | 11100001 | 42 | normal byte | * | ||||||
3960 | 101000 | 116 | normal byte | t | ||||||
3960 | 011111 | 97 | normal byte | a | ||||||
3961 | 100110 | 114 | normal byte | r | ||||||
3962 | 11101001 | 103 | normal byte | g | ||||||
3963 | 00111 | 101 | normal byte | e | ||||||
3964 | 01010 | 262 | distance code | 8 | 1000 | 69 | 1605 | t )\n{\n | ||
3966 | 1101100 | 270 | distance code | 0 | 23 | 1011 | 577 | 4673 | unsigned char buf[ MAX_ | |
3969 | 0001 | 258 | distance code | 4 | 0011 | 63 | 191 | BUF | ||
3971 | 101011 | 269 | distance code | 1 | 20 | 1011 | 572 | 4668 | ];\n unsigned char * | |
3973 | 0000 | 257 | distance code | 3 | 0000 | 0 | 32 | buf | ||
3975 | 1100101 | 95 | normal byte | _ | ||||||
3976 | 0000 | 257 | distance code | 3 | 1000 | 294 | 1830 | ptr | ||
3978 | 01000 | 260 | distance code | 6 | 11101 | 1417 | 9609 | ;\n\n b | ||
3981 | 01000 | 260 | distance code | 6 | 1111100 | 3 | 11 | uf_ptr | ||
3982 | 01100 | 265 | distance code | 0 | 11 | 1011 | 588 | 4684 | = buf;\n\n | |
3985 | 01010 | 262 | distance code | 8 | 1001 | 173 | 2221 | // TODO | ||
3987 | 100001 | 100 | normal byte | d | ||||||
3988 | 00111 | 101 | normal byte | e | ||||||
3989 | 011111 | 97 | normal byte | a | ||||||
3990 | 100011 | 108 | normal byte | l | ||||||
3990 | 0010 | 259 | distance code | 5 | 11101 | 1373 | 9565 | with | ||
3993 | 01011 | 263 | distance code | 9 | 0011 | 56 | 184 | strings | ||
3995 | 11100111 | 62 | normal byte | > | ||||||
3996 | 01010 | 262 | distance code | 8 | 0010 | 21 | 85 | MAX_BUF | ||
3998 | 01101 | 266 | distance code | 1 | 14 | 0111 | 363 | 1387 | \n do\n {\n | |
4000 | 01100 | 265 | distance code | 1 | 12 | 11101 | 1287 | 9479 | if ( fread( | |
4003 | 01001 | 261 | distance code | 7 | 0010 | 14 | 78 | buf_ptr | ||
4005 | 01010 | 262 | distance code | 8 | 0111 | 446 | 1470 | , 1, 1, | ||
4007 | 0000 | 257 | distance code | 3 | 11010 | 42 | 234 | in | ||
4009 | 11110000 | 274 | distance code | 0 | 43 | 11101 | 1270 | 9462 | ) < 1 )\n {\n perror( "Error reading | |
4012 | 01001 | 261 | distance code | 7 | 0100 | 72 | 328 | string | ||
4014 | 0010 | 259 | distance code | 5 | 11101 | 699 | 8891 | value | ||
4017 | 1101101 | 271 | distance code | 0 | 27 | 1011 | 263 | 4359 | " );\n return 1;\n }\n | |
4020 | 01101 | 266 | distance code | 1 | 14 | 11011 | 79 | 463 | }\n while ( | |
4022 | 11100001 | 42 | normal byte | * | ||||||
4023 | 01011 | 263 | distance code | 9 | 11001 | 20 | 116 | ( buf_ptr | ||
4025 | 0001 | 258 | distance code | 4 | 1011 | 1426 | 5522 | ++ ) | ||
4027 | 01001 | 261 | distance code | 7 | 11011 | 82 | 466 | );\n\n | ||
4029 | 01010 | 262 | distance code | 8 | 0100 | 30 | 286 | *target | ||
4031 | 0001 | 258 | distance code | 4 | 1011 | 1472 | 5568 | = ( | ||
4034 | 01110 | 267 | distance code | 0 | 15 | 11010 | 60 | 252 | unsigned char * | |
4036 | 01100 | 265 | distance code | 0 | 11 | 11100 | 1203 | 7347 | ) malloc( | |
4039 | 01010 | 262 | distance code | 8 | 11010 | 59 | 251 | buf_ptr | ||
4041 | 1011011 | 45 | normal byte | - | ||||||
4042 | 01010 | 262 | distance code | 8 | 1001 | 22 | 2070 | buf );\n | ||
4044 | 0010 | 259 | distance code | 5 | 1000 | 89 | 1625 | str | ||
4046 | 100000 | 99 | normal byte | c | ||||||
4047 | 1101010 | 112 | normal byte | p | ||||||
4048 | 11101101 | 121 | normal byte | y | ||||||
4049 | 1011001 | 40 | normal byte | ( | ||||||
4050 | 01010 | 262 | distance code | 8 | 0010 | 0 | 64 | *target | ||
4051 | 1101101 | 271 | distance code | 1 | 28 | 1001 | 48 | 2096 | , buf );\n\n return 0;\n}\n\n/** | |
4054 | 0001 | 258 | distance code | 4 | 11011 | 82 | 466 | \n * | ||
4056 | 111110010 | 83 | normal byte | S | ||||||
4057 | 0000 | 257 | distance code | 3 | 0011 | 49 | 177 | tri | ||
4059 | 1101010 | 112 | normal byte | p | ||||||
4060 | 0000 | 257 | distance code | 3 | 1001 | 399 | 2447 | of | ||
4062 | 1100111 | 102 | normal byte | f | ||||||
4063 | 0001 | 258 | distance code | 4 | 1001 | 46 | 2094 | an | ||
4065 | 01001 | 261 | distance code | 7 | 1001 | 20 | 2068 | RFC 195 | ||
4068 | 1011110 | 50 | normal byte | 2 | ||||||
4069 | 1011011 | 45 | normal byte | - | ||||||
4069 | 101001 | 264 | distance code | 10 | 1001 | 42 | 2090 | compliant | ||
4072 | 0010 | 259 | distance code | 5 | 11101 | 1716 | 9908 | gzip | ||
4075 | 0001 | 258 | distance code | 4 | 11011 | 108 | 492 | file | ||
4077 | 01010 | 262 | distance code | 8 | 111101 | 2435 | 14723 | header | ||
4079 | 0000 | 257 | distance code | 3 | 1001 | 454 | 2502 | and | ||
4082 | 0001 | 258 | distance code | 4 | 0001 | 7 | 55 | \n * | ||
4083 | 100001 | 100 | normal byte | d | ||||||
4084 | 101001 | 264 | distance code | 10 | 1001 | 103 | 2151 | ecompress | ||
4086 | 0000 | 257 | distance code | 3 | 1001 | 77 | 2125 | to | ||
4089 | 0000 | 257 | distance code | 3 | 0110 | 6 | 774 | std | ||
4091 | 100101 | 111 | normal byte | o | ||||||
4091 | 1101011 | 117 | normal byte | u | ||||||
4092 | 101000 | 116 | normal byte | t | ||||||
4093 | 101001 | 264 | distance code | 10 | 11101 | 1353 | 9545 | .\n */\nint | ||
4096 | 0001 | 258 | distance code | 4 | 111101 | 2457 | 14745 | main | ||
4099 | 01000 | 260 | distance code | 6 | 11100 | 1418 | 7562 | ( int | ||
4101 | 0000 | 257 | distance code | 3 | 0011 | 4 | 132 | arg | ||
4103 | 0000 | 257 | distance code | 3 | 0111 | 395 | 1419 | c, | ||
4105 | 01000 | 260 | distance code | 6 | 0011 | 56 | 184 | char * | ||
4107 | 0000 | 257 | distance code | 3 | 1111100 | 3 | 11 | arg | ||
4109 | 11101011 | 118 | normal byte | v | ||||||
4110 | 111110101 | 91 | normal byte | [ | ||||||
4111 | 0010 | 259 | distance code | 5 | 111101 | 348 | 12636 | ] )\n | ||
4114 | 0001 | 258 | distance code | 4 | 0100 | 70 | 326 | {\n | ||
4115 | 01010 | 262 | distance code | 8 | 0101 | 25 | 537 | FILE *in | ||
4118 | 0001 | 258 | distance code | 4 | 0011 | 52 | 180 | ;\n | ||
4119 | 01011 | 263 | distance code | 9 | 111101 | 2008 | 14296 | gzip_file | ||
4122 | 0010 | 259 | distance code | 5 | 1111100 | 1 | 9 | gzip | ||
4124 | 0010 | 259 | distance code | 5 | 0011 | 44 | 172 | ;\n\n | ||
4126 | 0001 | 258 | distance code | 4 | 1111100 | 0 | 8 | gzip | ||
4127 | 1011100 | 46 | normal byte | . | ||||||
4128 | 01000 | 260 | distance code | 6 | 1010 | 383 | 3455 | extra | ||
4130 | 01000 | 260 | distance code | 6 | 1010 | 327 | 3399 | = NULL | ||
4133 | 01010 | 262 | distance code | 8 | 0000 | 7 | 39 | ;\n gzip | ||
4134 | 1011100 | 46 | normal byte | . | ||||||
4135 | 0010 | 259 | distance code | 5 | 111101 | 2218 | 14506 | fname | ||
4138 | 101010 | 268 | distance code | 0 | 17 | 11000 | 4 | 20 | = NULL;\n gzip.f | |
4140 | 01001 | 261 | distance code | 7 | 111101 | 2215 | 14503 | comment | ||
4143 | 01011 | 263 | distance code | 9 | 11000 | 7 | 23 | = NULL;\n | ||
4144 | 1011000 | 10 | normal byte | \n | ||||||
4145 | 01001 | 261 | distance code | 7 | 11011 | 86 | 470 | if ( | ||
4147 | 0001 | 258 | distance code | 4 | 0011 | 0 | 128 | argc | ||
4149 | 0001 | 258 | distance code | 4 | 1010 | 844 | 3916 | < 2 | ||
4151 | 01100 | 265 | distance code | 0 | 11 | 1011 | 757 | 4853 | )\n {\n | |
4154 | 101010 | 268 | distance code | 1 | 18 | 0110 | 189 | 957 | fprintf( stderr, " | |
4156 | 111110100 | 85 | normal byte | U | ||||||
4158 | 100111 | 115 | normal byte | s | ||||||
4158 | 011111 | 97 | normal byte | a | ||||||
4159 | 11101001 | 103 | normal byte | g | ||||||
4160 | 00111 | 101 | normal byte | e | ||||||
4161 | 111101000 | 58 | normal byte | : | ||||||
4162 | 00110 | 32 | normal byte | |||||||
4162 | 111100101 | 37 | normal byte | % | ||||||
4164 | 100111 | 115 | normal byte | s | ||||||
4164 | 00110 | 32 | normal byte | |||||||
4165 | 11100110 | 60 | normal byte | < | ||||||
4166 | 0001 | 258 | distance code | 4 | 0010 | 13 | 77 | gzip | ||
4168 | 1101010 | 112 | normal byte | p | ||||||
4168 | 01010 | 262 | distance code | 8 | 11101 | 1718 | 9910 | ed input | ||
4171 | 0010 | 259 | distance code | 5 | 11010 | 57 | 249 | file | ||
4173 | 11100111 | 62 | normal byte | > | ||||||
4174 | 0010 | 259 | distance code | 5 | 0110 | 186 | 954 | \n", | ||
4176 | 01000 | 260 | distance code | 6 | 0011 | 60 | 188 | argv[ | ||
4178 | 1011101 | 48 | normal byte | 0 | ||||||
4179 | 0001 | 258 | distance code | 4 | 0011 | 62 | 190 | ] ) | ||
4181 | 01000 | 260 | distance code | 6 | 11011 | 70 | 454 | ;\n | ||
4183 | 0001 | 258 | distance code | 4 | 11101 | 1707 | 9899 | exit | ||
4185 | 0001 | 258 | distance code | 4 | 11101 | 3746 | 11938 | ( 1 | ||
4188 | 101001 | 264 | distance code | 10 | 11101 | 271 | 8463 | );\n }\n\n | ||
4191 | 100010 | 105 | normal byte | i | ||||||
4192 | 0001 | 258 | distance code | 4 | 11101 | 487 | 8679 | n = | ||
4194 | 1100111 | 102 | normal byte | f | ||||||
4195 | 100101 | 111 | normal byte | o | ||||||
4196 | 1101010 | 112 | normal byte | p | ||||||
4197 | 00111 | 101 | normal byte | e | ||||||
4197 | 100100 | 110 | normal byte | n | ||||||
4198 | 1011001 | 40 | normal byte | ( | ||||||
4199 | 01001 | 261 | distance code | 7 | 0000 | 14 | 46 | argv[ | ||
4201 | 011110 | 49 | normal byte | 1 | ||||||
4201 | 00110 | 32 | normal byte | |||||||
4202 | 111110110 | 93 | normal byte | ] | ||||||
4203 | 0000 | 257 | distance code | 3 | 0010 | 29 | 93 | , " | ||
4205 | 100110 | 114 | normal byte | r | ||||||
4205 | 01001 | 261 | distance code | 7 | 0101 | 10 | 522 | " );\n | ||
4208 | 01010 | 262 | distance code | 8 | 0011 | 18 | 146 | \n if ( | ||
4209 | 111100100 | 33 | normal byte | ! | ||||||
4211 | 100010 | 105 | normal byte | i | ||||||
4211 | 100100 | 110 | normal byte | n | ||||||
4212 | 1101101 | 271 | distance code | 3 | 30 | 0011 | 13 | 141 | )\n {\n fprintf( stderr, "U | |
4214 | 01000 | 260 | distance code | 6 | 11101 | 320 | 8512 | nable | ||
4217 | 0000 | 257 | distance code | 3 | 0100 | 87 | 343 | to | ||
4219 | 0001 | 258 | distance code | 4 | 0010 | 11 | 75 | open | ||
4221 | 01000 | 260 | distance code | 6 | 0100 | 125 | 381 | file | ||
4223 | 111100110 | 39 | normal byte | ' | ||||||
4224 | 111100101 | 37 | normal byte | % | ||||||
4225 | 100111 | 115 | normal byte | s | ||||||
4226 | 111100110 | 39 | normal byte | ' | ||||||
4227 | 0010 | 259 | distance code | 5 | 1011 | 2008 | 6104 | for | ||
4229 | 01001 | 261 | distance code | 7 | 0101 | 106 | 618 | reading | ||
4231 | 1011100 | 46 | normal byte | . | ||||||
4232 | 01100 | 265 | distance code | 0 | 11 | 0011 | 20 | 148 | \n", argv[ | |
4234 | 011110 | 49 | normal byte | 1 | ||||||
4235 | 1101101 | 271 | distance code | 1 | 28 | 0011 | 20 | 148 | ] );\n exit( 1 );\n }\n\n | |
4237 | 01010 | 262 | distance code | 8 | 0110 | 12 | 780 | // TODO | ||
4239 | 100101 | 111 | normal byte | o | ||||||
4240 | 1101011 | 117 | normal byte | u | ||||||
4241 | 0000 | 257 | distance code | 3 | 1000 | 231 | 1767 | ght | ||
4243 | 0001 | 258 | distance code | 4 | 0010 | 19 | 83 | to | ||
4245 | 01100 | 265 | distance code | 0 | 11 | 0110 | 21 | 789 | deal with s | |
4247 | 0010 | 259 | distance code | 5 | 111101 | 2502 | 14790 | hort | ||
4250 | 0001 | 258 | distance code | 4 | 0010 | 16 | 80 | read | ||
4251 | 100111 | 115 | normal byte | s | ||||||
4252 | 0010 | 259 | distance code | 5 | 1011 | 275 | 4371 | here | ||
4255 | 1011000 | 10 | normal byte | \n | ||||||
4255 | 01101 | 266 | distance code | 1 | 14 | 0110 | 9 | 777 | if ( fread( | |
4258 | 11011111 | 38 | normal byte | & | ||||||
4259 | 0010 | 259 | distance code | 5 | 0100 | 88 | 344 | gzip. | ||
4261 | 01000 | 260 | distance code | 6 | 11011 | 118 | 502 | header | ||
4263 | 101001 | 264 | distance code | 10 | 0111 | 460 | 1484 | , sizeof( | ||
4265 | 01100 | 265 | distance code | 1 | 12 | 111101 | 2684 | 14972 | gzip_header | |
4268 | 11100000 | 41 | normal byte | ) | ||||||
4269 | 101010 | 268 | distance code | 1 | 18 | 0110 | 34 | 802 | , 1, in ) < 1 )\n | |
4271 | 01000 | 260 | distance code | 6 | 11010 | 19 | 211 | {\n | ||
4273 | 1101100 | 270 | distance code | 0 | 23 | 0110 | 30 | 798 | perror( "Error reading | |
4276 | 01000 | 260 | distance code | 6 | 0001 | 6 | 54 | header | ||
4278 | 01011 | 263 | distance code | 9 | 0110 | 24 | 792 | " );\n | ||
4280 | 11101001 | 103 | normal byte | g | ||||||
4281 | 100101 | 111 | normal byte | o | ||||||
4282 | 0001 | 258 | distance code | 4 | 0011 | 14 | 142 | to d | ||
4283 | 01001 | 261 | distance code | 7 | 1010 | 487 | 3559 | one;\n | ||
4286 | 11101110 | 125 | normal byte | } | ||||||
4287 | 1011000 | 10 | normal byte | \n | ||||||
4288 | 01011 | 263 | distance code | 9 | 11100 | 133 | 6277 | if ( ( | ||
4290 | 01100 | 265 | distance code | 0 | 11 | 11001 | 23 | 119 | gzip.header | |
4292 | 1011100 | 46 | normal byte | . | ||||||
4293 | 0001 | 258 | distance code | 4 | 111101 | 2975 | 15263 | id[ | ||
4296 | 1011101 | 48 | normal byte | 0 | ||||||
4297 | 01000 | 260 | distance code | 6 | 11100 | 113 | 6257 | ] != | ||
4299 | 1011101 | 48 | normal byte | 0 | ||||||
4300 | 111111000 | 120 | normal byte | x | ||||||
4301 | 011110 | 49 | normal byte | 1 | ||||||
4302 | 1100111 | 102 | normal byte | f | ||||||
4303 | 0001 | 258 | distance code | 4 | 11101 | 1828 | 10020 | ) | | ||
4306 | 1111111010 | 124 | normal byte | | | ||||||
4307 | 101011 | 269 | distance code | 0 | 19 | 0000 | 2 | 34 | ( gzip.header.id[ | |
4309 | 011110 | 49 | normal byte | 1 | ||||||
4310 | 01010 | 262 | distance code | 8 | 0000 | 2 | 34 | ] != 0x | ||
4311 | 1100010 | 56 | normal byte | 8 | ||||||
4312 | 1100110 | 98 | normal byte | b | ||||||
4313 | 01101 | 266 | distance code | 0 | 13 | 11100 | 1863 | 8007 | ) )\n {\n | |
4316 | 101010 | 268 | distance code | 1 | 18 | 0100 | 92 | 348 | fprintf( stderr, " | |
4318 | 111101101 | 73 | normal byte | I | ||||||
4319 | 0010 | 259 | distance code | 5 | 11011 | 87 | 471 | nput | ||
4321 | 0001 | 258 | distance code | 4 | 1001 | 122 | 2170 | not | ||
4323 | 0000 | 257 | distance code | 3 | 0011 | 55 | 183 | in | ||
4325 | 01000 | 260 | distance code | 6 | 0101 | 221 | 733 | gzip f | ||
4327 | 0010 | 259 | distance code | 5 | 0111 | 398 | 1422 | ormat | ||
4329 | 01100 | 265 | distance code | 1 | 12 | 1001 | 127 | 2175 | .\n" );\n | |
4332 | 101011 | 269 | distance code | 3 | 22 | 0011 | 24 | 152 | goto done;\n }\n if ( | |
4334 | 01100 | 265 | distance code | 1 | 12 | 11001 | 19 | 115 | gzip.header. | |
4336 | 101010 | 268 | distance code | 1 | 18 | 111101 | 3101 | 15389 | compression_method | |
4339 | 0001 | 258 | distance code | 4 | 11001 | 30 | 126 | != | ||
4341 | 1100010 | 56 | normal byte | 8 | ||||||
4342 | 1101110 | 272 | distance code | 0 | 31 | 11011 | 86 | 470 | )\n {\n fprintf( stderr, "Un | |
4344 | 100110 | 114 | normal byte | r | ||||||
4345 | 0000 | 257 | distance code | 3 | 0110 | 52 | 820 | eco | ||
4347 | 11101001 | 103 | normal byte | g | ||||||
4348 | 100100 | 110 | normal byte | n | ||||||
4349 | 0000 | 257 | distance code | 3 | 0100 | 72 | 328 | ize | ||
4351 | 100001 | 100 | normal byte | d | ||||||
4352 | 01101 | 266 | distance code | 0 | 13 | 1001 | 746 | 2794 | compression | |
4354 | 01000 | 260 | distance code | 6 | 0010 | 0 | 64 | method | ||
4356 | 1101101 | 271 | distance code | 0 | 27 | 0011 | 0 | 128 | .\n" );\n goto done;\n }\n | |
4358 | 101011 | 269 | distance code | 1 | 20 | 0011 | 1 | 129 | \n if ( gzip.header. | |
4360 | 0010 | 259 | distance code | 5 | 111101 | 3138 | 15426 | flags | ||
4363 | 0000 | 257 | distance code | 3 | 1001 | 830 | 2878 | & | ||
4365 | 01001 | 261 | distance code | 7 | 111101 | 2769 | 15057 | FEXTRA | ||
4368 | 101001 | 264 | distance code | 10 | 11001 | 24 | 120 | )\n {\n | ||
4370 | 01010 | 262 | distance code | 8 | 11011 | 112 | 496 | // TODO | ||
4372 | 0001 | 258 | distance code | 4 | 1001 | 261 | 2309 | spec | ||
4375 | 0000 | 257 | distance code | 3 | 1001 | 916 | 2964 | se | ||
4377 | 0000 | 257 | distance code | 3 | 1000 | 418 | 1954 | ems | ||
4379 | 0001 | 258 | distance code | 4 | 11011 | 117 | 501 | to | ||
4381 | 01011 | 263 | distance code | 9 | 1001 | 867 | 2915 | indicate | ||
4383 | 01101 | 266 | distance code | 0 | 13 | 1001 | 920 | 2968 | that this is | |
4386 | 0000 | 257 | distance code | 3 | 1000 | 271 | 1807 | lit | ||
4388 | 101000 | 116 | normal byte | t | ||||||
4389 | 100011 | 108 | normal byte | l | ||||||
4390 | 00111 | 101 | normal byte | e | ||||||
4390 | 1011011 | 45 | normal byte | - | ||||||
4391 | 0000 | 257 | distance code | 3 | 1010 | 514 | 3586 | end | ||
4393 | 0000 | 257 | distance code | 3 | 0110 | 236 | 1004 | ian | ||
4395 | 1100011 | 59 | normal byte | ; | ||||||
4396 | 01010 | 262 | distance code | 8 | 0001 | 14 | 62 | \n // | ||
4398 | 1101000 | 104 | normal byte | h | ||||||
4399 | 101000 | 116 | normal byte | t | ||||||
4399 | 100101 | 111 | normal byte | o | ||||||
4400 | 100100 | 110 | normal byte | n | ||||||
4401 | 01000 | 260 | distance code | 6 | 11101 | 952 | 9144 | s for | ||
4404 | 1100110 | 98 | normal byte | b | ||||||
4405 | 100010 | 105 | normal byte | i | ||||||
4405 | 11101001 | 103 | normal byte | g | ||||||
4406 | 01001 | 261 | distance code | 7 | 111100 | 4 | 28 | -endian | ||
4408 | 0000 | 257 | distance code | 3 | 0110 | 210 | 978 | ma | ||
4410 | 100000 | 99 | normal byte | c | ||||||
4411 | 1101000 | 104 | normal byte | h | ||||||
4412 | 0000 | 257 | distance code | 3 | 1000 | 86 | 1622 | ine | ||
4414 | 100111 | 115 | normal byte | s | ||||||
4415 | 1111110011 | 63 | normal byte | ? | ||||||
4416 | 101010 | 268 | distance code | 0 | 17 | 0111 | 305 | 1329 | \n if ( fread( | |
4418 | 01000 | 260 | distance code | 6 | 0101 | 39 | 551 | &gzip. | ||
4420 | 0001 | 258 | distance code | 4 | 111101 | 3183 | 15471 | xlen | ||
4423 | 01000 | 260 | distance code | 6 | 11101 | 1355 | 9547 | , 2, 1 | ||
4426 | 11110000 | 274 | distance code | 5 | 48 | 0111 | 308 | 1332 | , in ) < 1 )\n {\n perror( "Error reading | |
4429 | 0010 | 259 | distance code | 5 | 0110 | 228 | 996 | extra | ||
4431 | 100111 | 115 | normal byte | s | ||||||
4432 | 01001 | 261 | distance code | 7 | 1010 | 429 | 3501 | length | ||
4434 | 01100 | 265 | distance code | 0 | 11 | 0111 | 309 | 1333 | " );\n | |
4436 | 01101 | 266 | distance code | 0 | 13 | 0100 | 4 | 260 | goto done;\n | |
4439 | 01010 | 262 | distance code | 8 | 1010 | 322 | 3394 | }\n | ||
4441 | 01101 | 266 | distance code | 0 | 13 | 0111 | 22 | 1046 | gzip.extra = | |
4443 | 1101101 | 271 | distance code | 1 | 28 | 0111 | 282 | 1306 | ( unsigned char * ) malloc( | |
4446 | 01011 | 263 | distance code | 9 | 0011 | 20 | 148 | gzip.xlen | ||
4448 | 01010 | 262 | distance code | 8 | 0010 | 16 | 80 | );\n | ||
4450 | 01100 | 265 | distance code | 1 | 12 | 0011 | 50 | 178 | if ( fread( | |
4452 | 101001 | 264 | distance code | 10 | 0010 | 5 | 69 | gzip.extra | ||
4454 | 1011010 | 44 | normal byte | , | ||||||
4454 | 00110 | 32 | normal byte | |||||||
4455 | 01100 | 265 | distance code | 0 | 11 | 0011 | 61 | 189 | gzip.xlen, | |
4457 | 11110001 | 275 | distance code | 4 | 55 | 0011 | 58 | 186 | 1, in ) < 1 )\n {\n perror( "Error reading extras | |
4460 | 1101110 | 272 | distance code | 1 | 32 | 0011 | 51 | 179 | " );\n goto done;\n }\n | |
4462 | 01010 | 262 | distance code | 8 | 11011 | 17 | 401 | // TODO | ||
4464 | 100010 | 105 | normal byte | i | ||||||
4465 | 01101 | 266 | distance code | 0 | 13 | 1011 | 1164 | 5260 | nterpret the | |
4468 | 01000 | 260 | distance code | 6 | 11010 | 4 | 196 | extra | ||
4470 | 100001 | 100 | normal byte | d | ||||||
4470 | 011111 | 97 | normal byte | a | ||||||
4471 | 101000 | 116 | normal byte | t | ||||||
4472 | 011111 | 97 | normal byte | a | ||||||
4473 | 01110 | 267 | distance code | 1 | 16 | 0110 | 170 | 938 | \n }\n\n // TODO | |
4475 | 0000 | 257 | distance code | 3 | 0011 | 41 | 169 | if | ||
4477 | 01000 | 260 | distance code | 6 | 111101 | 3216 | 15504 | FNAME | ||
4479 | 0000 | 257 | distance code | 3 | 11001 | 9 | 105 | or | ||
4481 | 01010 | 262 | distance code | 8 | 111101 | 3202 | 15490 | FCOMMENT | ||
4484 | 1011010 | 44 | normal byte | , | ||||||
4485 | 101010 | 268 | distance code | 0 | 17 | 1000 | 436 | 1972 | null-terminated | |
4487 | 0010 | 259 | distance code | 5 | 0111 | 261 | 1285 | name | ||
4490 | 100101 | 111 | normal byte | o | ||||||
4490 | 0010 | 259 | distance code | 5 | 111101 | 3752 | 16040 | r com | ||
4493 | 0001 | 258 | distance code | 4 | 0111 | 248 | 1272 | ment | ||
4495 | 100111 | 115 | normal byte | s | ||||||
4496 | 1011000 | 10 | normal byte | \n | ||||||
4497 | 01100 | 265 | distance code | 0 | 11 | 1011 | 701 | 4797 | // follow | |
4499 | 1011100 | 46 | normal byte | . | ||||||
4500 | 1011100 | 46 | normal byte | . | ||||||
4501 | 1011100 | 46 | normal byte | . | ||||||
4502 | 1101101 | 271 | distance code | 2 | 29 | 0101 | 51 | 563 | \n if ( gzip.header.flags & F | |
4505 | 0010 | 259 | distance code | 5 | 0010 | 29 | 93 | NAME | ||
4506 | 01110 | 267 | distance code | 1 | 16 | 111101 | 2536 | 14824 | )\n {\n if ( r | |
4509 | 01100 | 265 | distance code | 1 | 12 | 1000 | 438 | 1974 | ead_string( | |
4512 | 0001 | 258 | distance code | 4 | 1000 | 432 | 1968 | in, | ||
4514 | 11011111 | 38 | normal byte | & | ||||||
4515 | 01100 | 265 | distance code | 0 | 11 | 0111 | 365 | 1389 | gzip.fname | |
4517 | 01110 | 267 | distance code | 1 | 16 | 1011 | 1950 | 6046 | ) )\n {\n | |
4520 | 101011 | 269 | distance code | 0 | 19 | 11010 | 39 | 231 | goto done;\n }\n | |
4522 | 1101110 | 272 | distance code | 0 | 31 | 0101 | 166 | 678 | }\n\n if ( gzip.header.flags & F | |
4525 | 01010 | 262 | distance code | 8 | 111101 | 3402 | 15690 | COMMENT | ||
4528 | 11101111 | 273 | distance code | 4 | 39 | 11001 | 21 | 117 | )\n {\n if ( read_string( in, &gzip.f | |
4530 | 01010 | 262 | distance code | 8 | 0111 | 462 | 1486 | comment | ||
4533 | 1111111011 | 276 | distance code | 7 | 66 | 11001 | 24 | 120 | ) )\n {\n goto done;\n }\n }\n\n if ( gzip.header.flags & F | |
4535 | 0010 | 259 | distance code | 5 | 111101 | 3592 | 15880 | HCRC | ||
4538 | 01110 | 267 | distance code | 1 | 16 | 11100 | 242 | 6386 | )\n {\n if ( f | |
4541 | 01100 | 265 | distance code | 1 | 12 | 0101 | 185 | 697 | read( &gzip. | |
4543 | 0010 | 259 | distance code | 5 | 111101 | 3783 | 16071 | crc16 | ||
4546 | 11110001 | 275 | distance code | 3 | 54 | 0101 | 186 | 698 | , 2, 1, in ) < 1 )\n {\n perror( "Error reading | |
4549 | 0000 | 257 | distance code | 3 | 0010 | 26 | 90 | CRC | ||
4550 | 011110 | 49 | normal byte | 1 | ||||||
4551 | 1100001 | 54 | normal byte | 6 | ||||||
4552 | 1101101 | 271 | distance code | 3 | 30 | 11011 | 126 | 510 | " );\n goto done;\n }\n | |
4555 | 01010 | 262 | distance code | 8 | 11011 | 89 | 473 | }\n\n // | ||
4557 | 01110 | 267 | distance code | 1 | 16 | 1010 | 258 | 3330 | compressed block | |
4559 | 01010 | 262 | distance code | 8 | 1011 | 1220 | 5316 | s follow | ||
4562 | 01010 | 262 | distance code | 8 | 0011 | 59 | 187 | \n if ( | ||
4564 | 01011 | 263 | distance code | 9 | 1010 | 877 | 3949 | inflate( | ||
4566 | 0010 | 259 | distance code | 5 | 0011 | 1 | 129 | in ) | ||
4568 | 101001 | 264 | distance code | 10 | 0011 | 47 | 175 | )\n {\n | ||
4570 | 101010 | 268 | distance code | 1 | 18 | 0111 | 10 | 1034 | goto done;\n }\n\n | |
4572 | 01010 | 262 | distance code | 8 | 0101 | 38 | 550 | // TODO | ||
4574 | 0010 | 259 | distance code | 5 | 11101 | 1431 | 9623 | read | ||
4577 | 0001 | 258 | distance code | 4 | 1011 | 1219 | 5315 | and | ||
4579 | 0010 | 259 | distance code | 5 | 11100 | 1901 | 8045 | valid | ||
4582 | 0001 | 258 | distance code | 4 | 0110 | 219 | 987 | ate | ||
4584 | 0000 | 257 | distance code | 3 | 0011 | 14 | 142 | CRC | ||
4586 | 1011111 | 51 | normal byte | 3 | ||||||
4587 | 1011110 | 50 | normal byte | 2 | ||||||
4587 | 0000 | 257 | distance code | 3 | 11010 | 51 | 243 | & | ||
4589 | 111101101 | 73 | normal byte | I | ||||||
4590 | 111110010 | 83 | normal byte | S | ||||||
4592 | 111101101 | 73 | normal byte | I | ||||||
4593 | 11111111101 | 90 | normal byte | Z | ||||||
4594 | 11101000 | 69 | normal byte | E | ||||||
4595 | 0001 | 258 | distance code | 4 | 1001 | 95 | 2143 | whi | ||
4597 | 0000 | 257 | distance code | 3 | 1010 | 489 | 3561 | ch | ||
4600 | 0001 | 258 | distance code | 4 | 1010 | 247 | 3319 | are | ||
4602 | 01000 | 260 | distance code | 6 | 11100 | 202 | 6346 | the tr | ||
4604 | 011111 | 97 | normal byte | a | ||||||
4605 | 0000 | 257 | distance code | 3 | 1000 | 71 | 1607 | ile | ||
4607 | 100110 | 114 | normal byte | r | ||||||
4608 | 01000 | 260 | distance code | 6 | 0001 | 15 | 63 | \n // | ||
4610 | 01000 | 260 | distance code | 6 | 111101 | 512 | 12800 | values | ||
4613 | 01011 | 263 | distance code | 9 | 0101 | 35 | 547 | .\n if ( | ||
4615 | 01110 | 267 | distance code | 1 | 16 | 0100 | 14 | 270 | fread( &gzip.crc | |
4617 | 0001 | 258 | distance code | 4 | 11100 | 721 | 6865 | 32, | ||
4619 | 101011 | 269 | distance code | 0 | 19 | 0100 | 14 | 270 | 2, 1, in ) < 1 )\n | |
4622 | 1101101 | 271 | distance code | 2 | 29 | 0111 | 475 | 1499 | {\n perror( "Error reading | |
4624 | 0010 | 259 | distance code | 5 | 11001 | 27 | 123 | CRC32 | ||
4626 | 1101110 | 272 | distance code | 1 | 32 | 0111 | 192 | 1216 | " );\n goto done;\n }\n\n if ( | |
4629 | 01101 | 266 | distance code | 0 | 13 | 11001 | 8 | 104 | fread( &gzip. | |
4631 | 0010 | 259 | distance code | 5 | 111101 | 4054 | 16342 | isize | ||
4634 | 11110000 | 274 | distance code | 7 | 50 | 11001 | 8 | 104 | , 2, 1, in ) < 1 )\n {\n perror( "Error reading | |
4636 | 0010 | 259 | distance code | 5 | 0001 | 6 | 54 | isize | ||
4638 | 1101101 | 271 | distance code | 0 | 27 | 11001 | 8 | 104 | " );\n goto done;\n }\n\n | |
4640 | 101001 | 264 | distance code | 10 | 1011 | 683 | 4779 | // TODO ch | ||
4643 | 00111 | 101 | normal byte | e | ||||||
4643 | 0001 | 258 | distance code | 4 | 1001 | 894 | 2942 | ck t | ||
4646 | 1101000 | 104 | normal byte | h | ||||||
4647 | 01001 | 261 | distance code | 7 | 0100 | 22 | 278 | e CRC32 | ||
4649 | 1011000 | 10 | normal byte | \n | ||||||
4649 | 1011000 | 10 | normal byte | \n | ||||||
4650 | 0001 | 258 | distance code | 4 | 0000 | 5 | 37 | done | ||
4652 | 0001 | 258 | distance code | 4 | 1001 | 962 | 3010 | :\n | ||
4654 | 01000 | 260 | distance code | 6 | 11100 | 1484 | 7628 | free( | ||
4657 | 01100 | 265 | distance code | 0 | 11 | 0111 | 72 | 1096 | gzip.extra | |
4659 | 01100 | 265 | distance code | 0 | 11 | 11100 | 1506 | 7650 | );\n free( | |
4662 | 01100 | 265 | distance code | 1 | 12 | 0101 | 242 | 754 | gzip.fname ) | |
4664 | 01110 | 267 | distance code | 1 | 16 | 11000 | 5 | 21 | ;\n free( gzip.f | |
4666 | 01011 | 263 | distance code | 9 | 0101 | 146 | 658 | comment ) | ||
4668 | 101001 | 264 | distance code | 10 | 1001 | 92 | 2140 | ;\n\n if ( | ||
4670 | 1100111 | 102 | normal byte | f | ||||||
4671 | 100000 | 99 | normal byte | c | ||||||
4672 | 100011 | 108 | normal byte | l | ||||||
4673 | 100101 | 111 | normal byte | o | ||||||
4674 | 100111 | 115 | normal byte | s | ||||||
4674 | 101010 | 268 | distance code | 1 | 18 | 11011 | 51 | 435 | e( in ) )\n {\n | |
4677 | 01011 | 263 | distance code | 9 | 0011 | 57 | 185 | perror( " | ||
4679 | 101001 | 264 | distance code | 10 | 1000 | 457 | 1993 | Unable to | ||
4681 | 0010 | 259 | distance code | 5 | 0000 | 8 | 40 | close | ||
4682 | 01100 | 265 | distance code | 0 | 11 | 1001 | 84 | 2132 | input file | |
4685 | 01100 | 265 | distance code | 1 | 12 | 0111 | 493 | 1517 | .\n" );\n | |
4687 | 101010 | 268 | distance code | 1 | 18 | 1000 | 436 | 1972 | exit( 1 );\n }\n\n | |
4690 | 01000 | 260 | distance code | 6 | 11000 | 1 | 17 | exit( | ||
4691 | 1011101 | 48 | normal byte | 0 | ||||||
4692 | 01000 | 260 | distance code | 6 | 11100 | 1633 | 7777 | );\n}\n | ||
4695 | 11111111111 | 256 | stop code |
Here, all code values less than 256 represent their respective ASCII values. Codes in the range 257 to 265 indicate (after subtracting 254) the length of the region to be copied from a previous section of the file. This happens for the first time in this file at byte #123, when the distance code 258 appears, indicating that a prior (258 - 254 = 4) bytes of the file should be copied to the current location. However, there are distance codes before byte #123: literal codes in the range 266 - 285 indicate that the decompressor should read the subsequent n bits of the file, where n is (code - 261) / 4, and add those, along with a specific number, to get the length that should be copied (again, refer to previous references for more detail).
Of course, when a literal code > 256 appears, indicating that a range should be copied from further back in the decompressed file, the length of the range is only half the story: the decompressor also needs to know how far back to jump — that is, the distance. The distances are specified in a separate Huffman table and are also subject to "extra bits" and lookup codes as specified in RFC 1951.
As you can see from figure 10, the algorithm starts out slow but begins to build up steam as it goes along and finds redundancies until standalone characters, as opposed to back-pointers, are the exception rather than the rule.
Finally, the decompression is halted by the appearance of the stop code
of 11
consecutive 1 bits. This is followed by an 8-byte trailer which consists of a 4-byte CRC32 and
a 4-byte size marker.
So there you have it: a complete walk-through a non-trivial GZIP session. As always, please let me know if you spot any errors; I'll try to be more proactive in getting them addressed this time.
Add a comment:
Thank you for writing this blog. It's was very helpful
Quick Question: The last 8 bytes(CRC+File Size) should start from a new byte aligned location or they should be merged with 256(1111111) ? The RFC 1952 Spec doesn't mention this clearly
I have no idea what this code is for at all but I have had someone hacking into all of my accounts for a year now and i’m trying to find someone, anyone that can help me stop this man from doing this to me I used to live above him and I found out he was hacking into my computers and phones I just found this code on my iphone 11 can someone PLEASE tell me what it means I need help asap, please email me at nra-1988@protonmail.com. Thanks
this post is brilliant!
I am trying to find an easy way to locate the end of a gzip file from a memory dump. Whilst the beginning might be easy 1b8f, ending with 11x1 causes multiple matches even in your small gzip example. Is there an easier way to locate the end, short of testing all examples if they are valid gzip files?
Regards