--- /dev/null
+# Stubs for base64\r
+\r
+from typing import IO, Union, Text\r
+import sys\r
+\r
+if sys.version_info < (3,):\r
+ _encodable = Union[bytes, Text]\r
+ _decodable = Union[bytes, Text]\r
+elif sys.version_info < (3, 3):\r
+ _encodable = bytes\r
+ _decodable = bytes\r
+elif sys.version_info[:2] == (3, 3):\r
+ _encodable = bytes\r
+ _decodable = Union[bytes, str]\r
+elif sys.version_info >= (3, 4):\r
+ _encodable = Union[bytes, bytearray, memoryview]\r
+ _decodable = Union[bytes, bytearray, memoryview, str]\r
+\r
+def b64encode(s: _encodable, altchars: bytes = ...) -> bytes: ...\r
+def b64decode(s: _decodable, altchars: bytes = ...,\r
+ validate: bool = ...) -> bytes: ...\r
+def standard_b64encode(s: _encodable) -> bytes: ...\r
+def standard_b64decode(s: _decodable) -> bytes: ...\r
+def urlsafe_b64encode(s: _encodable) -> bytes: ...\r
+def urlsafe_b64decode(s: _decodable) -> bytes: ...\r
+def b32encode(s: _encodable) -> bytes: ...\r
+def b32decode(s: _decodable, casefold: bool = ...,\r
+ map01: bytes = ...) -> bytes: ...\r
+def b16encode(s: _encodable) -> bytes: ...\r
+def b16decode(s: _decodable, casefold: bool = ...) -> bytes: ...\r
+if sys.version_info >= (3, 4):\r
+ def a85encode(b: _encodable, *, foldspaces: bool = ..., wrapcol: int = ...,\r
+ pad: bool = ..., adobe: bool = ...) -> bytes: ...\r
+ def a85decode(b: _decodable, *, foldspaces: bool = ...,\r
+ adobe: bool = ..., ignorechars: Union[str, bytes] = ...) -> bytes: ...\r
+ def b85encode(b: _encodable, pad: bool = ...) -> bytes: ...\r
+ def b85decode(b: _decodable) -> bytes: ...\r
+\r
+def decode(input: IO[bytes], output: IO[bytes]) -> None: ...\r
+def decodebytes(s: bytes) -> bytes: ...\r
+def decodestring(s: bytes) -> bytes: ...\r
+def encode(input: IO[bytes], output: IO[bytes]) -> None: ...\r
+def encodebytes(s: bytes) -> bytes: ...\r
+def encodestring(s: bytes) -> bytes: ...\r