summaryrefslogtreecommitdiffstats
path: root/labb6/res/output/expected-output-3.txt
diff options
context:
space:
mode:
Diffstat (limited to 'labb6/res/output/expected-output-3.txt')
-rwxr-xr-xlabb6/res/output/expected-output-3.txt572
1 files changed, 572 insertions, 0 deletions
diff --git a/labb6/res/output/expected-output-3.txt b/labb6/res/output/expected-output-3.txt
new file mode 100755
index 0000000..ff89f76
--- /dev/null
+++ b/labb6/res/output/expected-output-3.txt
@@ -0,0 +1,572 @@
+Welcome to TDDD86 Shrink-It!
+This program uses the Huffman coding algorithm for compression.
+Any file can be compressed by this method, often with substantial
+savings. Decompression will faithfully reproduce the original.
+
+
+1) build character frequency table
+2) build encoding tree
+3) build encoding map
+4) encode data
+5) decode data
+
+C) compress file
+D) decompress file
+F) free tree memory
+
+B) binary file viewer
+T) text file viewer
+S) side-by-side file comparison
+Q) quit
+
+Your choice? 1
+Read from a s)tring or f)ile? f
+File name to process: medium.txt
+Building frequency table ...
+ 10: '\n' => 9
+ 13: '\r' => 9
+ 32: ' ' => 502
+ 34: '"' => 8
+ 39: ''' => 4
+ 40: '(' => 3
+ 41: ')' => 5
+ 44: ',' => 36
+ 45: '-' => 7
+ 46: '.' => 27
+ 48: '0' => 2
+ 50: '2' => 1
+ 52: '4' => 1
+ 58: ':' => 2
+ 65: 'A' => 3
+ 66: 'B' => 2
+ 67: 'C' => 3
+ 68: 'D' => 3
+ 70: 'F' => 2
+ 71: 'G' => 2
+ 72: 'H' => 1
+ 73: 'I' => 4
+ 75: 'K' => 1
+ 77: 'M' => 1
+ 79: 'O' => 5
+ 80: 'P' => 3
+ 82: 'R' => 3
+ 83: 'S' => 4
+ 84: 'T' => 15
+ 87: 'W' => 3
+ 97: 'a' => 188
+ 98: 'b' => 28
+ 99: 'c' => 89
+ 100: 'd' => 82
+ 101: 'e' => 300
+ 102: 'f' => 53
+ 103: 'g' => 55
+ 104: 'h' => 89
+ 105: 'i' => 210
+ 106: 'j' => 1
+ 107: 'k' => 10
+ 108: 'l' => 102
+ 109: 'm' => 57
+ 110: 'n' => 205
+ 111: 'o' => 213
+ 112: 'p' => 59
+ 113: 'q' => 2
+ 114: 'r' => 187
+ 115: 's' => 182
+ 116: 't' => 220
+ 117: 'u' => 77
+ 118: 'v' => 36
+ 119: 'w' => 34
+ 120: 'x' => 1
+ 121: 'y' => 59
+ 122: 'z' => 2
+ 256: EOF => 1
+57 character frequencies found.
+
+1) build character frequency table
+2) build encoding tree
+3) build encoding map
+4) encode data
+5) decode data
+
+C) compress file
+D) decompress file
+F) free tree memory
+
+B) binary file viewer
+T) text file viewer
+S) side-by-side file comparison
+Q) quit
+
+Your choice? 2
+Building encoding tree ...
+ {' ' (32), count=502}
+ {NOT, count=981}
+ {'v' (118), count=36}
+ {NOT, count=72}
+ {',' (44), count=36}
+ {NOT, count=138}
+ {'w' (119), count=34}
+ {NOT, count=66}
+ {'j' (106), count=1}
+ {NOT, count=2}
+ {'M' (77), count=1}
+ {NOT, count=4}
+ {'K' (75), count=1}
+ {NOT, count=2}
+ {'H' (72), count=1}
+ {NOT, count=8}
+ {'4' (52), count=1}
+ {NOT, count=2}
+ {'2' (50), count=1}
+ {NOT, count=4}
+ {'z' (122), count=2}
+ {NOT, count=16}
+ {'q' (113), count=2}
+ {NOT, count=4}
+ {'G' (71), count=2}
+ {NOT, count=8}
+ {'F' (70), count=2}
+ {NOT, count=4}
+ {'B' (66), count=2}
+ {NOT, count=32}
+ {':' (58), count=2}
+ {NOT, count=4}
+ {'0' (48), count=2}
+ {NOT, count=8}
+ {'S' (83), count=4}
+ {NOT, count=16}
+ {'I' (73), count=4}
+ {NOT, count=8}
+ {''' (39), count=4}
+ {NOT, count=256}
+ {'y' (121), count=59}
+ {NOT, count=118}
+ {'p' (112), count=59}
+ {NOT, count=479}
+ {'"' (34), count=8}
+ {NOT, count=15}
+ {'-' (45), count=7}
+ {NOT, count=30}
+ {'T' (84), count=15}
+ {NOT, count=58}
+ {'b' (98), count=28}
+ {NOT, count=115}
+ {'m' (109), count=57}
+ {NOT, count=223}
+ {'g' (103), count=55}
+ {NOT, count=108}
+ {'f' (102), count=53}
+ {NOT, count=1829}
+ {'t' (116), count=220}
+ {NOT, count=433}
+ {'o' (111), count=213}
+ {NOT, count=848}
+ {'i' (105), count=210}
+ {NOT, count=415}
+ {'n' (110), count=205}
+{NOT, count=3213}
+ {'l' (108), count=102}
+ {NOT, count=191}
+ {'h' (104), count=89}
+ {NOT, count=379}
+ {'a' (97), count=188}
+ {NOT, count=748}
+ {'r' (114), count=187}
+ {NOT, count=369}
+ {'s' (115), count=182}
+ {NOT, count=1384}
+ {'c' (99), count=89}
+ {NOT, count=177}
+ {'.' (46), count=27}
+ {NOT, count=50}
+ {'W' (87), count=3}
+ {NOT, count=6}
+ {'R' (82), count=3}
+ {NOT, count=12}
+ {'P' (80), count=3}
+ {NOT, count=6}
+ {'D' (68), count=3}
+ {NOT, count=23}
+ {'C' (67), count=3}
+ {NOT, count=6}
+ {'A' (65), count=3}
+ {NOT, count=11}
+ {'(' (40), count=3}
+ {NOT, count=5}
+ {EOF (256), count=1}
+ {NOT, count=2}
+ {'x' (120), count=1}
+ {NOT, count=88}
+ {'O' (79), count=5}
+ {NOT, count=10}
+ {')' (41), count=5}
+ {NOT, count=20}
+ {'k' (107), count=10}
+ {NOT, count=38}
+ {'\r' (13), count=9}
+ {NOT, count=18}
+ {'\n' (10), count=9}
+ {NOT, count=336}
+ {'d' (100), count=82}
+ {NOT, count=159}
+ {'u' (117), count=77}
+ {NOT, count=636}
+ {'e' (101), count=300}
+
+1) build character frequency table
+2) build encoding tree
+3) build encoding map
+4) encode data
+5) decode data
+
+C) compress file
+D) decompress file
+F) free tree memory
+
+B) binary file viewer
+T) text file viewer
+S) side-by-side file comparison
+Q) quit
+
+Your choice? 3
+Building encoding map ...
+ 10: '\n' => 00110000
+ 13: '\r' => 00110001
+ 32: ' ' => 111
+ 34: '"' => 110011111
+ 39: ''' => 1101100000
+ 40: '(' => 0011010001
+ 41: ')' => 001100110
+ 44: ',' => 1101110
+ 45: '-' => 110011110
+ 46: '.' => 0011011
+ 48: '0' => 11011000110
+ 50: '2' => 110110011010
+ 52: '4' => 110110011011
+ 58: ':' => 11011000111
+ 65: 'A' => 0011010010
+ 66: 'B' => 11011001000
+ 67: 'C' => 0011010011
+ 68: 'D' => 0011010100
+ 70: 'F' => 11011001001
+ 71: 'G' => 11011001010
+ 72: 'H' => 110110011100
+ 73: 'I' => 1101100001
+ 75: 'K' => 110110011101
+ 77: 'M' => 110110011110
+ 79: 'O' => 001100111
+ 80: 'P' => 0011010101
+ 82: 'R' => 0011010110
+ 83: 'S' => 1101100010
+ 84: 'T' => 11001110
+ 87: 'W' => 0011010111
+ 97: 'a' => 0110
+ 98: 'b' => 1100110
+ 99: 'c' => 00111
+ 100: 'd' => 00101
+ 101: 'e' => 000
+ 102: 'f' => 110000
+ 103: 'g' => 110001
+ 104: 'h' => 01110
+ 105: 'i' => 1001
+ 106: 'j' => 110110011111
+ 107: 'k' => 00110010
+ 108: 'l' => 01111
+ 109: 'm' => 110010
+ 110: 'n' => 1000
+ 111: 'o' => 1010
+ 112: 'p' => 110100
+ 113: 'q' => 11011001011
+ 114: 'r' => 0101
+ 115: 's' => 0100
+ 116: 't' => 1011
+ 117: 'u' => 00100
+ 118: 'v' => 1101111
+ 119: 'w' => 1101101
+ 120: 'x' => 00110100000
+ 121: 'y' => 110101
+ 122: 'z' => 11011001100
+ 256: EOF => 00110100001
+57 character encodings found.
+
+1) build character frequency table
+2) build encoding tree
+3) build encoding map
+4) encode data
+5) decode data
+
+C) compress file
+D) decompress file
+F) free tree memory
+
+B) binary file viewer
+T) text file viewer
+S) side-by-side file comparison
+Q) quit
+
+Your choice? 4
+Reuse your previous string/file data for encoding? y
+Encoding data ...
+Here is the binary encoded data (1775 bytes):
+11001110 10100101 11011000 11111100 11001111 00010011 01010001 11001101
+01101010 00100101 11001100 01100011 11110110 01110010 01101101 00111101
+10111000 01111101 10010001 00111000 11111100 11101001 11001000 00011000
+10011000 00011000 10011000 01100111 00111000 01111001 00101000 01101111
+01011000 01111010 10001001 10101000 11101011 01000100 10111001 10001100
+01111100 10100111 10001010 10111111 00000011 01101001 10111111 10110000
+11000111 10110111 00001111 10100011 00100101 11101110 11101110 10101101
+10100011 01111000 01011101 11011101 10101110 11000110 01011010 01011010
+01110110 10111110 01010001 10111100 00111110 10110100 10011000 11000111
+11010100 01001101 01000111 01011010 00100101 11001100 01100011 11100000
+01011110 11011010 01010011 00100100 11101110 01101101 11100011 11100100
+00101111 11101101 10011011 01110111 01111000 01000100 11110110 11100110
+10001110 10000100 00111001 11000010 00100001 10111110 01101010 10000101
+11000010 10010111 00100110 10000011 10001101 11011101 00000001 11001000
+10110011 01111010 11101110 11101000 01110110 01111011 01100110 10010111
+11001101 11101011 10111011 10110100 00010111 11001100 00011100 01000101
+11001110 11110001 11011100 11011011 11000110 11101110 01000100 00100011
+00111101 11111010 11111001 10001111 01101101 00000101 00011001 01101110
+11111001 10010110 10001001 10001011 10101111 11101000 10100011 01111100
+11010001 00010011 10110101 11011000 11001011 01001011 01001110 01011010
+11011011 00000110 11111110 01110101 00101110 11101111 00110001 01101011
+01000101 00100001 11000001 01111100 11000111 01101110 10000001 11111000
+01100111 10101110 01101101 11100000 10111111 01000110 11010000 00101111
+11001101 10101111 00110101 10101011 00010000 10111100 11010100 10011000
+11000101 11100000 10110011 00000011 10001011 11101100 11110011 01111011
+10111111 10010100 11101101 11010010 10110011 11000111 01100111 10111100
+00010111 11100111 11010000 00011110 10100000 10111111 00010001 00000001
+01011010 11100110 10100011 00111111 11101010 00100110 10100011 10101101
+00010010 11100110 00110001 11100101 00001001 00111000 11000111 01101000
+00101111 10011100 10110100 01111000 11001000 01000101 10110101 11001101
+01000001 10111111 10110000 11011111 01000000 00001100 10010011 11011101
+01110100 10100111 11101111 00011111 00100110 10001101 01111101 01100001
+11101101 11000011 11101000 10110101 10011001 11100011 00100100 11110110
+11100110 10111111 10100011 11011011 00010010 00000010 11110000 11001010
+11111001 00001011 11101010 00100110 10100011 10101101 00010010 11000010
+10100110 11101110 11010000 01011110 01011010 00001001 11010000 10000111
+00111000 01000100 11000000 10001111 01111110 10111101 10001010 01010101
+00001000 10011111 00100110 10001101 01111100 11100101 10100101 00101101
+10110100 01011111 00111101 01000001 11000010 11000010 00011011 00110001
+00110000 00110001 00110000 00110011 11000100 11010100 01110101 10100010
+01011100 11000110 00111110 01010011 10110100 01110110 11001100 10010110
+10101100 01111011 11101001 10101010 01011000 11001011 11010110 00011111
+00100000 10001000 11011000 10001110 10110100 01001011 10011000 11000111
+11001100 01111101 10101110 10010011 10111011 10110111 00100010 00000101
+11111010 00000101 11000010 10010111 00100100 11111001 00010001 11110111
+00111010 00111100 01110111 10110110 10100001 01010011 11010110 00011100
+01000001 11010111 01011101 00101110 01101010 00111101 01000111 01101111
+10010000 01000100 01101100 01000111 11010001 01100110 10010111 11011101
+01110100 00010000 01011001 10001100 01111100 11011001 10111110 01101001
+00100111 10110111 00001111 10010000 01000100 01101100 01000111 10110101
+01101101 11100001 11101001 11101101 11001011 01000100 11000101 11011101
+10111001 10010100 01010110 11011000 11101000 00101111 11010110 00011101
+01101000 10010110 00010101 00110111 01110000 11000111 01110111 01011010
+00100101 10000101 11111001 11111101 00000000 01111010 01111010 11000011
+00001100 11111111 01101110 11110110 11010100 00101111 10101100 00111000
+10000011 10101110 10111010 01011100 11010100 01111011 10101111 10110101
+11010010 01110111 01111001 10111110 11001111 10101000 00011110 01010011
+11101000 10110011 10111111 01010011 01111100 11010111 01110000 10001111
+01101110 00011111 00100000 10001000 11011000 10001110 11001010 10110011
+10111100 00100111 01101011 11110011 01101001 11001010 00010010 11100110
+00011010 11100110 10100011 01110111 10110111 00001111 01010000 11111101
+01111010 10001100 10011010 01100010 01100011 00011110 00100000 11101011
+10101110 10010111 00110101 00011110 01010011 10101000 11001010 10110111
+10110110 01100111 10001111 10011011 01011111 01101110 00011100 10001000
+00010111 11010100 01111011 01110000 11110101 01101110 00001011 11000100
+00010111 11010110 00011110 11011100 00111110 10010011 10100000 00110111
+11110011 10101001 01111100 11100101 10100010 11010110 11110000 10011100
+10011010 01010100 01110100 10011100 10110100 01111100 10100101 11001001
+11111101 01000100 11010100 01110101 10100010 01011100 11000110 00111111
+00110110 10111101 10001110 11101001 00011011 11100110 00110001 11111000
+00010001 11101111 11111000 01010010 11101101 01100101 00101111 01000000
+01110101 00000111 11010111 01110111 00100010 01001100 01100011 11011011
+10100101 10110100 00010101 10010100 10110011 10110011 00000001 01111110
+01110001 10100110 01101010 11110110 11010011 01000111 11001001 11011010
+11100110 10100011 11101000 10110101 01110100 01111010 01111111 00110100
+01110110 00100011 00111001 10100111 10110011 10111011 00010001 10011011
+01110111 01111101 01101101 00001011 00110001 10001111 10101101 11100001
+01011100 00011000 10111111 00110110 10111111 00100010 00111110 11100111
+01000111 10000011 01000001 00110001 10001111 11001110 00110100 11001101
+01011110 10010110 10100001 10110010 01001111 01101110 01011010 00100110
+00101110 11101001 00110001 10001011 11000111 00111100 10101001 11001001
+00110110 10011011 10111100 11100101 10100010 11010110 11111001 10001100
+01111001 11101010 00110001 00001001 01110011 01010001 11001111 01010001
+01101011 01001111 11011101 11011010 00001011 11011011 11101101 10010010
+10001110 11001010 10101101 10101111 10101100 00111101 01011011 10000010
+11111011 01110100 11000110 00101000 01101111 10011001 11100010 01101010
+00111010 11010001 00101100 00101010 01111011 01110000 11001001 00000011
+11110111 10000100 11100111 01101000 11111001 10000111 01010010 01000111
+11001101 10101111 11011111 01001111 00100100 01011000 00001010 10011101
+10100000 10111100 11110101 00011000 01001110 00100100 01010000 01011111
+01110101 11101101 11010100 10000011 11101111 10100111 10010010 00101100
+00000101 01001101 10000011 10100110 10000000 11110011 10000100 10011101
+10101110 01101010 00010011 01110111 01100111 10111110 10110110 11001100
+01100011 11101101 11000011 11000000 10111101 10110100 10100110 01011110
+11101011 11100010 10110101 10110111 11001100 00010100 01100001 00110001
+00110110 00011111 10101111 11011011 00110110 11101010 00100101 11110011
+10001000 10110101 01100111 11001110 11001100 00000101 11100011 00001100
+00101001 01101100 11011111 00110100 10010011 11010110 00011111 01100110
+10110110 00110110 11000110 11011001 10111101 11011111 00111010 10010111
+11001010 01110110 10001110 11011011 11011010 01011110 11011001 10011110
+00111110 10001011 01000101 00100001 11101111 01110111 01010010 01000100
+01001100 01100011 11101010 00111110 01001100 01110111 01001100 00000100
+11101100 10110100 01001000 00101111 10110111 00001111 10110110 10010101
+11100101 00110111 11110110 00011011 01001110 01110101 00001101 01110100
+10101001 11011100 11011011 11000111 01000000 00100011 11011011 10000100
+10101111 01100101 11000100 10011001 00001000 10110100 11111011 00111110
+01000100 10111001 11000010 01000001 01111110 01101101 01111110 11011001
+00101000 01001101 00010100 00110001 01111011 00010110 10110100 10111001
+10101000 11110101 10000111 10110111 01010010 00001110 11001011 10001001
+00110010 00010001 01101001 11011010 00001011 11101101 11000011 11101000
+10110100 01010010 00011110 11111101 10111000 01101011 11001110 10100001
+10101100 00010100 11011001 10001001 10000001 10001001 10000110 01110011
+10000111 01100010 01011011 10101001 01010011 01100000 11111010 00110110
+10000001 01110111 01111100 11111110 01110101 00101110 11000111 11111001
+11001110 00011111 01100010 00000111 10101000 00101110 01111011 01100101
+00001000 00001010 11010111 00110101 00011100 11001111 00010011 01010001
+11001101 01101010 00100101 10000101 11011101 10011111 11110010 10011101
+10001111 01100100 01100111 10111111 01011111 10111100 00101110 10111111
+01101000 01111011 11111001 11101010 00010010 11010100 10000111 10110000
+01010011 01111100 11010111 01110100 10111100 01111001 10111111 00101001
+11011001 01110001 00100011 01100110 01111110 10111101 11101100 01110011
+00101001 10001100 01111011 01110111 11010101 11111010 11000011 11001100
+01100001 01001011 10010011 01011100 11010100 01110110 10000010 11110110
+10000110 01111110 10101001 00101001 10111011 11001101 11111001 01001111
+00010101 01111110 11011100 11010000 01100100 10011110 11101011 11001100
+00011110 10110010 11010000 01011000 10000011 10001101 11011111 00110001
+00101111 10101011 01011011 10000010 11111100 11011010 11110010 10000100
+10011100 01100000 11011111 11001110 01110000 11111000 11010011 00111101
+00111010 00001011 11111001 10110101 11110110 11100001 11001110 10100001
+10101110 10010101 00111110 11010000 10100011 11101111 00001011 10101111
+00111011 11000011 00101110 11101110 11010000 01011110 01011001 00101111
+10001010 10111111 00110000 01110111 10010000 10100011 10011100 00101101
+10110100 11000111 10101100 11011011 11100110 10001000 10011011 10111011
+01000001 01111110 11110000 10111010 11110010 10000100 10010101 01101100
+11001111 00011111 00011010 01100111 10100001 10111111 10110011 11010100
+10010111 11101011 00001111 01101110 00011111 00011010 01100111 10100111
+11001010 10101110 01110111 10110101 11001100 01100011 11110110 00100111
+11101011 10110010 01100111 10011010 00110110 10100100 00011101 10100010
+10100011 01011100 10100110 11110101 00110011 01110110 01010001 11110010
+10010100 01001001 10001100 01111110 00001011 01011001 01111100 11101010
+01010011 01111111 01100100 01101011 11101101 11000011 10110001 00101101
+11010100 10101001 10110000 01111010 11011011 00011101 10001011 10010100
+10100010 01001101 01000110 11101111 01101110 00010010 10111101 11110101
+10110111 00111100 11110110 10110001 00000111 11010111 10110100 01010100
+01101011 10010100 11011110 10111110 00000101 11101101 10100101 00110010
+11110010 10011101 00101110 01011110 11111111 10111100 10001111 10000000
+10101101 10011001 11100011 11011101 01111101 00010110 10110000 10010111
+11001100 01100011 11011010 00001011 11000100 00010111 00111101 01110101
+10011110 00010000 01011111 01101010 11011000 01100001 00100111 11100111
+10101000 11000010 01010111 00100110 10111001 10101000 00110111 11110011
+10101011 11011011 10000100 10101111 00111010 10000010 11001101 11110111
+01010110 11010001 10111100 00101110 11101110 01101010 01001100 01100010
+11110000 01011001 10000001 11000101 11110110 01111001 10111110 10011010
+00001000 00101111 01101111 10001101 01010001 01111001 01000011 00111111
+11010110 00011110 11100111 00100001 11001011 00101000 01110010 00100010
+01001100 01100011 11101101 11000001 00000111 10010100 01000010 00000100
+11011101 11011001 00111110 11010000 11110111 11110110 01001111 01101110
+00011110 10110011 01101111 10011010 00100010 01110010 11001010 10000011
+11011100 11010100 00100111 11000010 10010111 11100000 01000101 10110111
+00000101 11101010 00010000 00110010 10011101 11011110 01100011 11011011
+10000111 10000000 11001011 11110000 00100101 10010001 01000001 10110011
+00010011 00000011 00010011 00000011 01010000 00100110 10010011 01100011
+11011011 10000111 01111101 01000110 00111101 11101100 01001000 00101010
+11101011 11011111 00101001 01111110 10110000 11110101 10100000 10001111
+10110010 11001000 00010010 11100110 10100001 00111100 11000001 11011110
+01000010 10000010 11110110 10111111 01101110 00011100 01000001 01111101
+01100001 11101101 11000011 11101000 11011010 00000101 11011101 11100110
+11110110 00000100 11101000 11011000 00001111 01110101 11010001 10110101
+11110110 11100110 10111111 01101110 00011110 11110110 11010111 11001100
+10110100 11000101 11100111 01101011 00011000 11010010 11001000 01001111
+01011000 01110010 01000010 01010011 11110111 10000010 11111101 00010110
+10110011 00111100 01100101 11011001 01000111 01100011 00110111 10011000
+00111010 10000110 01000001 11100110 00111010 00000011 10010001 01100110
+11110101 11101101 00000101 11101101 00010101 00011010 11100101 00110111
+10101110 11101110 11010000 01011111 10011000 11001101 11001010 00001110
+10100001 10010000 01111001 10001110 11110110 10110001 00000111 11010111
+10110100 00010111 11100010 00100000 00101011 00111111 11001100 00011101
+01000011 00100000 11110011 00011111 01000000 10111000 01010010 11100100
+11010000 01110001 11001101 00011001 10000011 10111100 10000101 10011000
+11000111 10100001 11011001 11101101 10011010 01011111 00110111 10101001
+10011000 11011111 11001110 10100101 11011101 11110110 10111010 01011110
+00111110 01100001 00110001 10001111 01101110 10101101 01101110 00001011
+11010000 10000111 00111000 01000100 11000000 10001111 11111001 11110111
+11010110 11011100 11110011 11011010 11000100 00011111 01011100 11111111
+01101000 10101000 11010111 00101010 00100010 01110011 11010110 01011001
+00010010 00100100 11101101 01110011 01010001 11010000 00101110 11111001
+00111000 11011101 11100101 00111110 11001011 00100100 11011000 11101000
+11111010 11011010 01101111 11101100 10011010 01011110 10010101 10010000
+11101101 10100110 10001111 10010011 10110101 11001101 01000010 01111001
+10111111 00101001 11110100 01011010 01110100 11100110 10011011 10011101
+11100001 11111010 11110100 10100011 01111100 11010010 01001111 10100010
+10001101 11110011 01000100 01000111 11101011 11110010 00010001 01110011
+01010000 00001011 10111011 11011011 10000010 10001110 11001010 00111011
+00111101 00101011 10110111 11011011 00100101 00011111 01111011 00101100
+10001011 11010111 11010110 00011100 11001010 00101011 01101100 01110110
+01010000 11001001 11110110 10111000 00101000 11101000 00001110 01000101
+10011011 11010111 11001010 01111101 10100001 10001100 10111101 00101111
+00001100 10010010 11111101 01111100 11100101 10100010 11010110 11110000
+01010011 01111100 11010111 01110011 01011111 11001001 10001100 10000010
+01111011 01110100 10100111 01101111 10100011 00101101 11001001 11001000
+11110110 01010111 11101011 11110110 10001001 11000101 11010111 10101111
+11010001 10100101 01111101 01100001 11010100 00100000 01100101 00111011
+10111011 00101000 01100100 11110010 10011110 11011100 11010111 11101101
+11000011 01011110 11001010 00111100 11000011 10000010 10001000 10110111
+11101011 11100110 00111101 01101001 10100101 00100100 11011100 11010100
+00011011 11111011 00101001 01000011 01011000 01011110 10000000 11100100
+01011001 10111101 01111110 01010100 10010111 11101011 00001011 00010001
+11001111 01011001 00000100 11101101 01111110 11011100 00111001 11101001
+00101111 11010110 00011111 01000000 10111000 01010010 11100100 11010000
+01110001 10111011 10110100 00010111 11101111 10010011 10001111 10111100
+00101010 00110001 10111111 10110000 11011111 10010100 11111000 01010010
+11111011 01110100 10100111 01010000 11001001 01010001 11101101 11001101
+01111110 11011100 00010000 01111011 11011011 01011100 11110101 00000111
+00001011 00001001 11011001 01000111 11010000 00101011 10011011 01000100
+11101001 01011001 00001111 01011000 01111011 01110000 11111001 01010010
+01011111 10011100 10110100 10100101 10110110 10001011 11110110 11100110
+10111110 10100001 00000011 00101001 11011100 00010101 00111100 11000111
+10110111 01001010 01111100 00100100 00111100 10111011 10111011 01000001
+01111100 11000111 10110111 00001111 10011001 01101001 10001010 00010111
+11100001 00100001 11100101 11110101 10000111 00111101 01100101 10100001
+00101100 00101111 01000000 01110010 00101100 11011110 10111011 10111110
+00001100 01110000 01101100 11000100 11000000 11010000 10000000
+
+1) build character frequency table
+2) build encoding tree
+3) build encoding map
+4) encode data
+5) decode data
+
+C) compress file
+D) decompress file
+F) free tree memory
+
+B) binary file viewer
+T) text file viewer
+S) side-by-side file comparison
+Q) quit
+
+Your choice? 5
+Read from a s)tring or f)ile? s
+Type the string to process: 110011101010010111011000111111001100111100000110100001
+Decoding data ...
+Here is the decoded data (7 bytes):
+Tor: On
+
+1) build character frequency table
+2) build encoding tree
+3) build encoding map
+4) encode data
+5) decode data
+
+C) compress file
+D) decompress file
+F) free tree memory
+
+B) binary file viewer
+T) text file viewer
+S) side-by-side file comparison
+Q) quit
+
+Your choice? q
+Exiting.