Add '__all__' to _encoded_words and mark QByteMap as private.
diff --git a/Lib/email/_encoded_words.py b/Lib/email/_encoded_words.py
index 01fe42f..e9f6e20 100644
--- a/Lib/email/_encoded_words.py
+++ b/Lib/email/_encoded_words.py
@@ -46,6 +46,16 @@
 from string import ascii_letters, digits
 from email import errors
 
+__all__ = ['decode_q',
+           'encode_q',
+           'decode_b',
+           'encode_b',
+           'len_q',
+           'len_b',
+           'decode',
+           'encode',
+           ]
+
 #
 # Quoted Printable
 #
@@ -60,7 +70,7 @@
 
 
 # dict mapping bytes to their encoded form
-class QByteMap(dict):
+class _QByteMap(dict):
 
     safe = b'-!*+/' + ascii_letters.encode('ascii') + digits.encode('ascii')
 
@@ -71,7 +81,7 @@
             self[key] = "={:02X}".format(key)
         return self[key]
 
-_q_byte_map = QByteMap()
+_q_byte_map = _QByteMap()
 
 # In headers spaces are mapped to '_'.
 _q_byte_map[ord(' ')] = '_'