From bd844fc913fc9cd4214250c04a93a0b038268612 Mon Sep 17 00:00:00 2001
From: j2-caldwell <james2.caldwell@live.uwe.ac.uk>
Date: Sat, 22 Jul 2023 08:47:26 +0100
Subject: [PATCH] Established connection to server, and response

---
 iot_env/bin/Activate.ps1                      |  241 +
 iot_env/bin/activate                          |   76 +
 iot_env/bin/activate.csh                      |   37 +
 iot_env/bin/activate.fish                     |   75 +
 iot_env/bin/easy_install                      |    8 +
 iot_env/bin/easy_install-3.8                  |    8 +
 iot_env/bin/pip                               |    8 +
 iot_env/bin/pip3                              |    8 +
 iot_env/bin/pip3.8                            |    8 +
 iot_env/bin/python                            |    1 +
 iot_env/bin/python3                           |    1 +
 .../__pycache__/easy_install.cpython-38.pyc   |  Bin 0 -> 281 bytes
 .../python3.8/site-packages/easy_install.py   |    5 +
 .../pip-20.0.2.dist-info/INSTALLER            |    1 +
 .../pip-20.0.2.dist-info/LICENSE.txt          |   20 +
 .../pip-20.0.2.dist-info/METADATA             |   84 +
 .../site-packages/pip-20.0.2.dist-info/RECORD |  246 +
 .../site-packages/pip-20.0.2.dist-info/WHEEL  |    6 +
 .../pip-20.0.2.dist-info/entry_points.txt     |    5 +
 .../pip-20.0.2.dist-info/top_level.txt        |    1 +
 .../python3.8/site-packages/pip/__init__.py   |   18 +
 .../python3.8/site-packages/pip/__main__.py   |   19 +
 .../pip/__pycache__/__init__.cpython-38.pyc   |  Bin 0 -> 629 bytes
 .../pip/__pycache__/__main__.cpython-38.pyc   |  Bin 0 -> 422 bytes
 .../site-packages/pip/_internal/__init__.py   |   18 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 678 bytes
 .../__pycache__/build_env.cpython-38.pyc      |  Bin 0 -> 7483 bytes
 .../__pycache__/cache.cpython-38.pyc          |  Bin 0 -> 8700 bytes
 .../__pycache__/configuration.cpython-38.pyc  |  Bin 0 -> 10645 bytes
 .../__pycache__/exceptions.cpython-38.pyc     |  Bin 0 -> 12482 bytes
 .../__pycache__/legacy_resolve.cpython-38.pyc |  Bin 0 -> 9898 bytes
 .../__pycache__/locations.cpython-38.pyc      |  Bin 0 -> 4492 bytes
 .../_internal/__pycache__/main.cpython-38.pyc |  Bin 0 -> 615 bytes
 .../__pycache__/pep425tags.cpython-38.pyc     |  Bin 0 -> 3584 bytes
 .../__pycache__/pyproject.cpython-38.pyc      |  Bin 0 -> 3732 bytes
 .../self_outdated_check.cpython-38.pyc        |  Bin 0 -> 5493 bytes
 .../__pycache__/wheel_builder.cpython-38.pyc  |  Bin 0 -> 6699 bytes
 .../site-packages/pip/_internal/build_env.py  |  221 +
 .../site-packages/pip/_internal/cache.py      |  329 +
 .../pip/_internal/cli/__init__.py             |    4 +
 .../cli/__pycache__/__init__.cpython-38.pyc   |  Bin 0 -> 236 bytes
 .../__pycache__/autocompletion.cpython-38.pyc |  Bin 0 -> 4953 bytes
 .../__pycache__/base_command.cpython-38.pyc   |  Bin 0 -> 5847 bytes
 .../cli/__pycache__/cmdoptions.cpython-38.pyc |  Bin 0 -> 20328 bytes
 .../command_context.cpython-38.pyc            |  Bin 0 -> 1311 bytes
 .../cli/__pycache__/main.cpython-38.pyc       |  Bin 0 -> 1406 bytes
 .../__pycache__/main_parser.cpython-38.pyc    |  Bin 0 -> 2159 bytes
 .../cli/__pycache__/parser.cpython-38.pyc     |  Bin 0 -> 8977 bytes
 .../__pycache__/req_command.cpython-38.pyc    |  Bin 0 -> 8289 bytes
 .../__pycache__/status_codes.cpython-38.pyc   |  Bin 0 -> 365 bytes
 .../pip/_internal/cli/autocompletion.py       |  164 +
 .../pip/_internal/cli/base_command.py         |  226 +
 .../pip/_internal/cli/cmdoptions.py           |  957 +++
 .../pip/_internal/cli/command_context.py      |   36 +
 .../site-packages/pip/_internal/cli/main.py   |   75 +
 .../pip/_internal/cli/main_parser.py          |   99 +
 .../site-packages/pip/_internal/cli/parser.py |  265 +
 .../pip/_internal/cli/req_command.py          |  333 +
 .../pip/_internal/cli/status_codes.py         |    8 +
 .../pip/_internal/commands/__init__.py        |  114 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 2852 bytes
 .../commands/__pycache__/check.cpython-38.pyc |  Bin 0 -> 1312 bytes
 .../__pycache__/completion.cpython-38.pyc     |  Bin 0 -> 3013 bytes
 .../__pycache__/configuration.cpython-38.pyc  |  Bin 0 -> 6575 bytes
 .../commands/__pycache__/debug.cpython-38.pyc |  Bin 0 -> 4089 bytes
 .../__pycache__/download.cpython-38.pyc       |  Bin 0 -> 3921 bytes
 .../__pycache__/freeze.cpython-38.pyc         |  Bin 0 -> 2929 bytes
 .../commands/__pycache__/hash.cpython-38.pyc  |  Bin 0 -> 1990 bytes
 .../commands/__pycache__/help.cpython-38.pyc  |  Bin 0 -> 1186 bytes
 .../__pycache__/install.cpython-38.pyc        |  Bin 0 -> 16661 bytes
 .../commands/__pycache__/list.cpython-38.pyc  |  Bin 0 -> 9042 bytes
 .../__pycache__/search.cpython-38.pyc         |  Bin 0 -> 4484 bytes
 .../commands/__pycache__/show.cpython-38.pyc  |  Bin 0 -> 6325 bytes
 .../__pycache__/uninstall.cpython-38.pyc      |  Bin 0 -> 2694 bytes
 .../commands/__pycache__/wheel.cpython-38.pyc |  Bin 0 -> 5246 bytes
 .../pip/_internal/commands/check.py           |   45 +
 .../pip/_internal/commands/completion.py      |   96 +
 .../pip/_internal/commands/configuration.py   |  233 +
 .../pip/_internal/commands/debug.py           |  142 +
 .../pip/_internal/commands/download.py        |  147 +
 .../pip/_internal/commands/freeze.py          |  103 +
 .../pip/_internal/commands/hash.py            |   58 +
 .../pip/_internal/commands/help.py            |   41 +
 .../pip/_internal/commands/install.py         |  727 +++
 .../pip/_internal/commands/list.py            |  315 +
 .../pip/_internal/commands/search.py          |  145 +
 .../pip/_internal/commands/show.py            |  180 +
 .../pip/_internal/commands/uninstall.py       |   82 +
 .../pip/_internal/commands/wheel.py           |  197 +
 .../pip/_internal/configuration.py            |  422 ++
 .../pip/_internal/distributions/__init__.py   |   24 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 812 bytes
 .../__pycache__/base.cpython-38.pyc           |  Bin 0 -> 1928 bytes
 .../__pycache__/installed.cpython-38.pyc      |  Bin 0 -> 1208 bytes
 .../__pycache__/sdist.cpython-38.pyc          |  Bin 0 -> 3471 bytes
 .../__pycache__/wheel.cpython-38.pyc          |  Bin 0 -> 1560 bytes
 .../pip/_internal/distributions/base.py       |   45 +
 .../pip/_internal/distributions/installed.py  |   24 +
 .../pip/_internal/distributions/sdist.py      |  104 +
 .../pip/_internal/distributions/wheel.py      |   36 +
 .../site-packages/pip/_internal/exceptions.py |  308 +
 .../pip/_internal/index/__init__.py           |    2 +
 .../index/__pycache__/__init__.cpython-38.pyc |  Bin 0 -> 190 bytes
 .../__pycache__/collector.cpython-38.pyc      |  Bin 0 -> 14156 bytes
 .../__pycache__/package_finder.cpython-38.pyc |  Bin 0 -> 25749 bytes
 .../pip/_internal/index/collector.py          |  544 ++
 .../pip/_internal/index/package_finder.py     | 1013 +++
 .../pip/_internal/legacy_resolve.py           |  430 ++
 .../site-packages/pip/_internal/locations.py  |  194 +
 .../site-packages/pip/_internal/main.py       |   16 +
 .../pip/_internal/models/__init__.py          |    2 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 224 bytes
 .../__pycache__/candidate.cpython-38.pyc      |  Bin 0 -> 1421 bytes
 .../__pycache__/format_control.cpython-38.pyc |  Bin 0 -> 2416 bytes
 .../models/__pycache__/index.cpython-38.pyc   |  Bin 0 -> 1146 bytes
 .../models/__pycache__/link.cpython-38.pyc    |  Bin 0 -> 6659 bytes
 .../models/__pycache__/scheme.cpython-38.pyc  |  Bin 0 -> 862 bytes
 .../__pycache__/search_scope.cpython-38.pyc   |  Bin 0 -> 3253 bytes
 .../selection_prefs.cpython-38.pyc            |  Bin 0 -> 1596 bytes
 .../__pycache__/target_python.cpython-38.pyc  |  Bin 0 -> 3219 bytes
 .../models/__pycache__/wheel.cpython-38.pyc   |  Bin 0 -> 3207 bytes
 .../pip/_internal/models/candidate.py         |   36 +
 .../pip/_internal/models/format_control.py    |   84 +
 .../pip/_internal/models/index.py             |   31 +
 .../pip/_internal/models/link.py              |  227 +
 .../pip/_internal/models/scheme.py            |   25 +
 .../pip/_internal/models/search_scope.py      |  114 +
 .../pip/_internal/models/selection_prefs.py   |   47 +
 .../pip/_internal/models/target_python.py     |  107 +
 .../pip/_internal/models/wheel.py             |   78 +
 .../pip/_internal/network/__init__.py         |    2 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 212 bytes
 .../network/__pycache__/auth.cpython-38.pyc   |  Bin 0 -> 6978 bytes
 .../network/__pycache__/cache.cpython-38.pyc  |  Bin 0 -> 2691 bytes
 .../__pycache__/download.cpython-38.pyc       |  Bin 0 -> 4370 bytes
 .../__pycache__/session.cpython-38.pyc        |  Bin 0 -> 8851 bytes
 .../network/__pycache__/utils.cpython-38.pyc  |  Bin 0 -> 706 bytes
 .../network/__pycache__/xmlrpc.cpython-38.pyc |  Bin 0 -> 1574 bytes
 .../pip/_internal/network/auth.py             |  298 +
 .../pip/_internal/network/cache.py            |   81 +
 .../pip/_internal/network/download.py         |  200 +
 .../pip/_internal/network/session.py          |  405 ++
 .../pip/_internal/network/utils.py            |   48 +
 .../pip/_internal/network/xmlrpc.py           |   44 +
 .../pip/_internal/operations/__init__.py      |    0
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 160 bytes
 .../__pycache__/check.cpython-38.pyc          |  Bin 0 -> 3656 bytes
 .../__pycache__/freeze.cpython-38.pyc         |  Bin 0 -> 5803 bytes
 .../__pycache__/prepare.cpython-38.pyc        |  Bin 0 -> 11162 bytes
 .../_internal/operations/build/__init__.py    |    0
 .../build/__pycache__/__init__.cpython-38.pyc |  Bin 0 -> 166 bytes
 .../build/__pycache__/metadata.cpython-38.pyc |  Bin 0 -> 1208 bytes
 .../metadata_legacy.cpython-38.pyc            |  Bin 0 -> 3268 bytes
 .../build/__pycache__/wheel.cpython-38.pyc    |  Bin 0 -> 1306 bytes
 .../__pycache__/wheel_legacy.cpython-38.pyc   |  Bin 0 -> 2567 bytes
 .../_internal/operations/build/metadata.py    |   40 +
 .../operations/build/metadata_legacy.py       |  122 +
 .../pip/_internal/operations/build/wheel.py   |   46 +
 .../operations/build/wheel_legacy.py          |  115 +
 .../pip/_internal/operations/check.py         |  163 +
 .../pip/_internal/operations/freeze.py        |  265 +
 .../_internal/operations/install/__init__.py  |    2 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 224 bytes
 .../editable_legacy.cpython-38.pyc            |  Bin 0 -> 1302 bytes
 .../install/__pycache__/legacy.cpython-38.pyc |  Bin 0 -> 3048 bytes
 .../install/__pycache__/wheel.cpython-38.pyc  |  Bin 0 -> 14582 bytes
 .../operations/install/editable_legacy.py     |   52 +
 .../_internal/operations/install/legacy.py    |  129 +
 .../pip/_internal/operations/install/wheel.py |  615 ++
 .../pip/_internal/operations/prepare.py       |  591 ++
 .../site-packages/pip/_internal/pep425tags.py |  167 +
 .../site-packages/pip/_internal/pyproject.py  |  196 +
 .../pip/_internal/req/__init__.py             |   92 +
 .../req/__pycache__/__init__.cpython-38.pyc   |  Bin 0 -> 2194 bytes
 .../__pycache__/constructors.cpython-38.pyc   |  Bin 0 -> 10363 bytes
 .../req/__pycache__/req_file.cpython-38.pyc   |  Bin 0 -> 12702 bytes
 .../__pycache__/req_install.cpython-38.pyc    |  Bin 0 -> 21338 bytes
 .../req/__pycache__/req_set.cpython-38.pyc    |  Bin 0 -> 6021 bytes
 .../__pycache__/req_tracker.cpython-38.pyc    |  Bin 0 -> 4041 bytes
 .../__pycache__/req_uninstall.cpython-38.pyc  |  Bin 0 -> 17427 bytes
 .../pip/_internal/req/constructors.py         |  436 ++
 .../pip/_internal/req/req_file.py             |  546 ++
 .../pip/_internal/req/req_install.py          |  830 +++
 .../pip/_internal/req/req_set.py              |  209 +
 .../pip/_internal/req/req_tracker.py          |  150 +
 .../pip/_internal/req/req_uninstall.py        |  644 ++
 .../pip/_internal/self_outdated_check.py      |  242 +
 .../pip/_internal/utils/__init__.py           |    0
 .../utils/__pycache__/__init__.cpython-38.pyc |  Bin 0 -> 155 bytes
 .../utils/__pycache__/appdirs.cpython-38.pyc  |  Bin 0 -> 1351 bytes
 .../utils/__pycache__/compat.cpython-38.pyc   |  Bin 0 -> 6120 bytes
 .../__pycache__/deprecation.cpython-38.pyc    |  Bin 0 -> 2826 bytes
 .../__pycache__/distutils_args.cpython-38.pyc |  Bin 0 -> 1139 bytes
 .../utils/__pycache__/encoding.cpython-38.pyc |  Bin 0 -> 1247 bytes
 .../__pycache__/entrypoints.cpython-38.pyc    |  Bin 0 -> 1299 bytes
 .../__pycache__/filesystem.cpython-38.pyc     |  Bin 0 -> 4035 bytes
 .../__pycache__/filetypes.cpython-38.pyc      |  Bin 0 -> 556 bytes
 .../utils/__pycache__/glibc.cpython-38.pyc    |  Bin 0 -> 1708 bytes
 .../utils/__pycache__/hashes.cpython-38.pyc   |  Bin 0 -> 4144 bytes
 .../inject_securetransport.cpython-38.pyc     |  Bin 0 -> 932 bytes
 .../utils/__pycache__/logging.cpython-38.pyc  |  Bin 0 -> 9159 bytes
 .../__pycache__/marker_files.cpython-38.pyc   |  Bin 0 -> 928 bytes
 .../utils/__pycache__/misc.cpython-38.pyc     |  Bin 0 -> 23778 bytes
 .../utils/__pycache__/models.cpython-38.pyc   |  Bin 0 -> 1924 bytes
 .../__pycache__/packaging.cpython-38.pyc      |  Bin 0 -> 2608 bytes
 .../__pycache__/pkg_resources.cpython-38.pyc  |  Bin 0 -> 1822 bytes
 .../setuptools_build.cpython-38.pyc           |  Bin 0 -> 2927 bytes
 .../__pycache__/subprocess.cpython-38.pyc     |  Bin 0 -> 5598 bytes
 .../utils/__pycache__/temp_dir.cpython-38.pyc |  Bin 0 -> 6711 bytes
 .../utils/__pycache__/typing.cpython-38.pyc   |  Bin 0 -> 1437 bytes
 .../utils/__pycache__/ui.cpython-38.pyc       |  Bin 0 -> 11802 bytes
 .../__pycache__/unpacking.cpython-38.pyc      |  Bin 0 -> 6075 bytes
 .../utils/__pycache__/urls.cpython-38.pyc     |  Bin 0 -> 1465 bytes
 .../__pycache__/virtualenv.cpython-38.pyc     |  Bin 0 -> 3280 bytes
 .../utils/__pycache__/wheel.cpython-38.pyc    |  Bin 0 -> 6325 bytes
 .../pip/_internal/utils/appdirs.py            |   44 +
 .../pip/_internal/utils/compat.py             |  269 +
 .../pip/_internal/utils/deprecation.py        |  104 +
 .../pip/_internal/utils/distutils_args.py     |   48 +
 .../pip/_internal/utils/encoding.py           |   42 +
 .../pip/_internal/utils/entrypoints.py        |   31 +
 .../pip/_internal/utils/filesystem.py         |  171 +
 .../pip/_internal/utils/filetypes.py          |   16 +
 .../pip/_internal/utils/glibc.py              |   98 +
 .../pip/_internal/utils/hashes.py             |  131 +
 .../_internal/utils/inject_securetransport.py |   36 +
 .../pip/_internal/utils/logging.py            |  398 ++
 .../pip/_internal/utils/marker_files.py       |   25 +
 .../site-packages/pip/_internal/utils/misc.py |  904 +++
 .../pip/_internal/utils/models.py             |   42 +
 .../pip/_internal/utils/packaging.py          |   94 +
 .../pip/_internal/utils/pkg_resources.py      |   44 +
 .../pip/_internal/utils/setuptools_build.py   |  181 +
 .../pip/_internal/utils/subprocess.py         |  278 +
 .../pip/_internal/utils/temp_dir.py           |  250 +
 .../pip/_internal/utils/typing.py             |   38 +
 .../site-packages/pip/_internal/utils/ui.py   |  428 ++
 .../pip/_internal/utils/unpacking.py          |  272 +
 .../site-packages/pip/_internal/utils/urls.py |   54 +
 .../pip/_internal/utils/virtualenv.py         |  115 +
 .../pip/_internal/utils/wheel.py              |  225 +
 .../pip/_internal/vcs/__init__.py             |   15 +
 .../vcs/__pycache__/__init__.cpython-38.pyc   |  Bin 0 -> 448 bytes
 .../vcs/__pycache__/bazaar.cpython-38.pyc     |  Bin 0 -> 3747 bytes
 .../vcs/__pycache__/git.cpython-38.pyc        |  Bin 0 -> 9559 bytes
 .../vcs/__pycache__/mercurial.cpython-38.pyc  |  Bin 0 -> 4888 bytes
 .../vcs/__pycache__/subversion.cpython-38.pyc |  Bin 0 -> 8487 bytes
 .../__pycache__/versioncontrol.cpython-38.pyc |  Bin 0 -> 19216 bytes
 .../site-packages/pip/_internal/vcs/bazaar.py |  120 +
 .../site-packages/pip/_internal/vcs/git.py    |  395 ++
 .../pip/_internal/vcs/mercurial.py            |  155 +
 .../pip/_internal/vcs/subversion.py           |  333 +
 .../pip/_internal/vcs/versioncontrol.py       |  700 ++
 .../pip/_internal/wheel_builder.py            |  305 +
 .../site-packages/pip/_vendor/__init__.py     |  119 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 3037 bytes
 .../pkg_resources-0.0.0.dist-info/AUTHORS.txt |  562 ++
 .../pkg_resources-0.0.0.dist-info/INSTALLER   |    1 +
 .../pkg_resources-0.0.0.dist-info/LICENSE.txt |   20 +
 .../pkg_resources-0.0.0.dist-info/METADATA    |   13 +
 .../pkg_resources-0.0.0.dist-info/RECORD      |   38 +
 .../pkg_resources-0.0.0.dist-info/WHEEL       |    6 +
 .../site-packages/pkg_resources/__init__.py   | 3296 ++++++++++
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 100356 bytes
 .../__pycache__/py31compat.cpython-38.pyc     |  Bin 0 -> 600 bytes
 .../pkg_resources/_vendor/__init__.py         |    0
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 157 bytes
 .../__pycache__/appdirs.cpython-38.pyc        |  Bin 0 -> 20510 bytes
 .../__pycache__/pyparsing.cpython-38.pyc      |  Bin 0 -> 201634 bytes
 .../_vendor/__pycache__/six.cpython-38.pyc    |  Bin 0 -> 24430 bytes
 .../pkg_resources/_vendor/appdirs.py          |  608 ++
 .../_vendor/packaging/__about__.py            |   21 +
 .../_vendor/packaging/__init__.py             |   14 +
 .../__pycache__/__about__.cpython-38.pyc      |  Bin 0 -> 707 bytes
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 545 bytes
 .../__pycache__/_compat.cpython-38.pyc        |  Bin 0 -> 981 bytes
 .../__pycache__/_structures.cpython-38.pyc    |  Bin 0 -> 2763 bytes
 .../__pycache__/markers.cpython-38.pyc        |  Bin 0 -> 8919 bytes
 .../__pycache__/requirements.cpython-38.pyc   |  Bin 0 -> 3878 bytes
 .../__pycache__/specifiers.cpython-38.pyc     |  Bin 0 -> 19787 bytes
 .../__pycache__/utils.cpython-38.pyc          |  Bin 0 -> 466 bytes
 .../__pycache__/version.cpython-38.pyc        |  Bin 0 -> 10634 bytes
 .../_vendor/packaging/_compat.py              |   30 +
 .../_vendor/packaging/_structures.py          |   68 +
 .../_vendor/packaging/markers.py              |  301 +
 .../_vendor/packaging/requirements.py         |  127 +
 .../_vendor/packaging/specifiers.py           |  774 +++
 .../pkg_resources/_vendor/packaging/utils.py  |   14 +
 .../_vendor/packaging/version.py              |  393 ++
 .../pkg_resources/_vendor/pyparsing.py        | 5742 +++++++++++++++++
 .../pkg_resources/_vendor/six.py              |  868 +++
 .../pkg_resources/extern/__init__.py          |   73 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 2406 bytes
 .../site-packages/pkg_resources/py31compat.py |   23 +
 .../setuptools-44.0.0.dist-info/AUTHORS.txt   |  562 ++
 .../setuptools-44.0.0.dist-info/INSTALLER     |    1 +
 .../setuptools-44.0.0.dist-info/LICENSE.txt   |   20 +
 .../setuptools-44.0.0.dist-info/METADATA      |   82 +
 .../setuptools-44.0.0.dist-info/RECORD        |  163 +
 .../setuptools-44.0.0.dist-info/WHEEL         |    6 +
 .../dependency_links.txt                      |    2 +
 .../entry_points.txt                          |   68 +
 .../setuptools-44.0.0.dist-info/top_level.txt |    3 +
 .../setuptools-44.0.0.dist-info/zip-safe      |    1 +
 .../site-packages/setuptools/__init__.py      |  228 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 7768 bytes
 .../_deprecation_warning.cpython-38.pyc       |  Bin 0 -> 516 bytes
 .../__pycache__/_imp.cpython-38.pyc           |  Bin 0 -> 1890 bytes
 .../__pycache__/archive_util.cpython-38.pyc   |  Bin 0 -> 5128 bytes
 .../__pycache__/build_meta.cpython-38.pyc     |  Bin 0 -> 8495 bytes
 .../__pycache__/config.cpython-38.pyc         |  Bin 0 -> 17896 bytes
 .../__pycache__/dep_util.cpython-38.pyc       |  Bin 0 -> 819 bytes
 .../__pycache__/depends.cpython-38.pyc        |  Bin 0 -> 5216 bytes
 .../__pycache__/dist.cpython-38.pyc           |  Bin 0 -> 42326 bytes
 .../__pycache__/errors.cpython-38.pyc         |  Bin 0 -> 816 bytes
 .../__pycache__/extension.cpython-38.pyc      |  Bin 0 -> 1961 bytes
 .../__pycache__/glob.cpython-38.pyc           |  Bin 0 -> 3733 bytes
 .../__pycache__/installer.cpython-38.pyc      |  Bin 0 -> 4102 bytes
 .../__pycache__/launch.cpython-38.pyc         |  Bin 0 -> 824 bytes
 .../__pycache__/lib2to3_ex.cpython-38.pyc     |  Bin 0 -> 2411 bytes
 .../__pycache__/monkey.cpython-38.pyc         |  Bin 0 -> 4644 bytes
 .../__pycache__/msvc.cpython-38.pyc           |  Bin 0 -> 39631 bytes
 .../__pycache__/namespaces.cpython-38.pyc     |  Bin 0 -> 3616 bytes
 .../__pycache__/package_index.cpython-38.pyc  |  Bin 0 -> 32981 bytes
 .../__pycache__/py27compat.cpython-38.pyc     |  Bin 0 -> 1749 bytes
 .../__pycache__/py31compat.cpython-38.pyc     |  Bin 0 -> 1191 bytes
 .../__pycache__/py33compat.cpython-38.pyc     |  Bin 0 -> 1408 bytes
 .../__pycache__/py34compat.cpython-38.pyc     |  Bin 0 -> 450 bytes
 .../__pycache__/sandbox.cpython-38.pyc        |  Bin 0 -> 15536 bytes
 .../__pycache__/site-patch.cpython-38.pyc     |  Bin 0 -> 1474 bytes
 .../__pycache__/ssl_support.cpython-38.pyc    |  Bin 0 -> 6855 bytes
 .../__pycache__/unicode_utils.cpython-38.pyc  |  Bin 0 -> 1151 bytes
 .../__pycache__/version.cpython-38.pyc        |  Bin 0 -> 292 bytes
 .../__pycache__/wheel.cpython-38.pyc          |  Bin 0 -> 7383 bytes
 .../windows_support.cpython-38.pyc            |  Bin 0 -> 989 bytes
 .../setuptools/_deprecation_warning.py        |    7 +
 .../site-packages/setuptools/_imp.py          |   73 +
 .../setuptools/_vendor/__init__.py            |    0
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 154 bytes
 .../__pycache__/ordered_set.cpython-38.pyc    |  Bin 0 -> 16412 bytes
 .../__pycache__/pyparsing.cpython-38.pyc      |  Bin 0 -> 201631 bytes
 .../_vendor/__pycache__/six.cpython-38.pyc    |  Bin 0 -> 24427 bytes
 .../setuptools/_vendor/ordered_set.py         |  488 ++
 .../setuptools/_vendor/packaging/__about__.py |   27 +
 .../setuptools/_vendor/packaging/__init__.py  |   26 +
 .../__pycache__/__about__.cpython-38.pyc      |  Bin 0 -> 704 bytes
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 542 bytes
 .../__pycache__/_compat.cpython-38.pyc        |  Bin 0 -> 978 bytes
 .../__pycache__/_structures.cpython-38.pyc    |  Bin 0 -> 2760 bytes
 .../__pycache__/markers.cpython-38.pyc        |  Bin 0 -> 8927 bytes
 .../__pycache__/requirements.cpython-38.pyc   |  Bin 0 -> 3995 bytes
 .../__pycache__/specifiers.cpython-38.pyc     |  Bin 0 -> 19734 bytes
 .../packaging/__pycache__/tags.cpython-38.pyc |  Bin 0 -> 10811 bytes
 .../__pycache__/utils.cpython-38.pyc          |  Bin 0 -> 1435 bytes
 .../__pycache__/version.cpython-38.pyc        |  Bin 0 -> 12065 bytes
 .../setuptools/_vendor/packaging/_compat.py   |   31 +
 .../_vendor/packaging/_structures.py          |   68 +
 .../setuptools/_vendor/packaging/markers.py   |  296 +
 .../_vendor/packaging/requirements.py         |  138 +
 .../_vendor/packaging/specifiers.py           |  749 +++
 .../setuptools/_vendor/packaging/tags.py      |  404 ++
 .../setuptools/_vendor/packaging/utils.py     |   57 +
 .../setuptools/_vendor/packaging/version.py   |  420 ++
 .../setuptools/_vendor/pyparsing.py           | 5742 +++++++++++++++++
 .../site-packages/setuptools/_vendor/six.py   |  868 +++
 .../site-packages/setuptools/archive_util.py  |  173 +
 .../site-packages/setuptools/build_meta.py    |  257 +
 .../site-packages/setuptools/cli-32.exe       |  Bin 0 -> 65536 bytes
 .../site-packages/setuptools/cli-64.exe       |  Bin 0 -> 74752 bytes
 .../site-packages/setuptools/cli.exe          |  Bin 0 -> 65536 bytes
 .../setuptools/command/__init__.py            |   17 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 712 bytes
 .../command/__pycache__/alias.cpython-38.pyc  |  Bin 0 -> 2392 bytes
 .../__pycache__/bdist_egg.cpython-38.pyc      |  Bin 0 -> 14182 bytes
 .../__pycache__/bdist_rpm.cpython-38.pyc      |  Bin 0 -> 1784 bytes
 .../__pycache__/bdist_wininst.cpython-38.pyc  |  Bin 0 -> 954 bytes
 .../__pycache__/build_clib.cpython-38.pyc     |  Bin 0 -> 2437 bytes
 .../__pycache__/build_ext.cpython-38.pyc      |  Bin 0 -> 9895 bytes
 .../__pycache__/build_py.cpython-38.pyc       |  Bin 0 -> 8641 bytes
 .../__pycache__/develop.cpython-38.pyc        |  Bin 0 -> 6501 bytes
 .../__pycache__/dist_info.cpython-38.pyc      |  Bin 0 -> 1361 bytes
 .../__pycache__/easy_install.cpython-38.pyc   |  Bin 0 -> 66694 bytes
 .../__pycache__/egg_info.cpython-38.pyc       |  Bin 0 -> 21773 bytes
 .../__pycache__/install.cpython-38.pyc        |  Bin 0 -> 4016 bytes
 .../install_egg_info.cpython-38.pyc           |  Bin 0 -> 2900 bytes
 .../__pycache__/install_lib.cpython-38.pyc    |  Bin 0 -> 5083 bytes
 .../install_scripts.cpython-38.pyc            |  Bin 0 -> 2273 bytes
 .../__pycache__/py36compat.cpython-38.pyc     |  Bin 0 -> 4610 bytes
 .../__pycache__/register.cpython-38.pyc       |  Bin 0 -> 811 bytes
 .../command/__pycache__/rotate.cpython-38.pyc |  Bin 0 -> 2520 bytes
 .../__pycache__/saveopts.cpython-38.pyc       |  Bin 0 -> 889 bytes
 .../command/__pycache__/sdist.cpython-38.pyc  |  Bin 0 -> 7859 bytes
 .../command/__pycache__/setopt.cpython-38.pyc |  Bin 0 -> 4537 bytes
 .../command/__pycache__/test.cpython-38.pyc   |  Bin 0 -> 8475 bytes
 .../command/__pycache__/upload.cpython-38.pyc |  Bin 0 -> 784 bytes
 .../__pycache__/upload_docs.cpython-38.pyc    |  Bin 0 -> 6140 bytes
 .../site-packages/setuptools/command/alias.py |   80 +
 .../setuptools/command/bdist_egg.py           |  502 ++
 .../setuptools/command/bdist_rpm.py           |   43 +
 .../setuptools/command/bdist_wininst.py       |   21 +
 .../setuptools/command/build_clib.py          |   98 +
 .../setuptools/command/build_ext.py           |  327 +
 .../setuptools/command/build_py.py            |  270 +
 .../setuptools/command/develop.py             |  221 +
 .../setuptools/command/dist_info.py           |   36 +
 .../setuptools/command/easy_install.py        | 2402 +++++++
 .../setuptools/command/egg_info.py            |  717 ++
 .../setuptools/command/install.py             |  125 +
 .../setuptools/command/install_egg_info.py    |   82 +
 .../setuptools/command/install_lib.py         |  147 +
 .../setuptools/command/install_scripts.py     |   65 +
 .../setuptools/command/launcher manifest.xml  |   15 +
 .../setuptools/command/py36compat.py          |  136 +
 .../setuptools/command/register.py            |   18 +
 .../setuptools/command/rotate.py              |   66 +
 .../setuptools/command/saveopts.py            |   22 +
 .../site-packages/setuptools/command/sdist.py |  252 +
 .../setuptools/command/setopt.py              |  149 +
 .../site-packages/setuptools/command/test.py  |  279 +
 .../setuptools/command/upload.py              |   17 +
 .../setuptools/command/upload_docs.py         |  206 +
 .../site-packages/setuptools/config.py        |  659 ++
 .../site-packages/setuptools/dep_util.py      |   23 +
 .../site-packages/setuptools/depends.py       |  176 +
 .../site-packages/setuptools/dist.py          | 1274 ++++
 .../site-packages/setuptools/errors.py        |   16 +
 .../site-packages/setuptools/extension.py     |   57 +
 .../setuptools/extern/__init__.py             |   73 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 2420 bytes
 .../site-packages/setuptools/glob.py          |  174 +
 .../site-packages/setuptools/gui-32.exe       |  Bin 0 -> 65536 bytes
 .../site-packages/setuptools/gui-64.exe       |  Bin 0 -> 75264 bytes
 .../site-packages/setuptools/gui.exe          |  Bin 0 -> 65536 bytes
 .../site-packages/setuptools/installer.py     |  150 +
 .../site-packages/setuptools/launch.py        |   35 +
 .../site-packages/setuptools/lib2to3_ex.py    |   62 +
 .../site-packages/setuptools/monkey.py        |  179 +
 .../site-packages/setuptools/msvc.py          | 1679 +++++
 .../site-packages/setuptools/namespaces.py    |  107 +
 .../site-packages/setuptools/package_index.py | 1136 ++++
 .../site-packages/setuptools/py27compat.py    |   60 +
 .../site-packages/setuptools/py31compat.py    |   32 +
 .../site-packages/setuptools/py33compat.py    |   59 +
 .../site-packages/setuptools/py34compat.py    |   13 +
 .../site-packages/setuptools/sandbox.py       |  491 ++
 .../setuptools/script (dev).tmpl              |    6 +
 .../site-packages/setuptools/script.tmpl      |    3 +
 .../site-packages/setuptools/site-patch.py    |   74 +
 .../site-packages/setuptools/ssl_support.py   |  260 +
 .../site-packages/setuptools/unicode_utils.py |   44 +
 .../site-packages/setuptools/version.py       |    6 +
 .../site-packages/setuptools/wheel.py         |  220 +
 .../setuptools/windows_support.py             |   29 +
 .../websockets-11.0.3.dist-info/INSTALLER     |    1 +
 .../websockets-11.0.3.dist-info/LICENSE       |   24 +
 .../websockets-11.0.3.dist-info/METADATA      |  176 +
 .../websockets-11.0.3.dist-info/RECORD        |   87 +
 .../websockets-11.0.3.dist-info/WHEEL         |    8 +
 .../websockets-11.0.3.dist-info/top_level.txt |    1 +
 .../site-packages/websockets/__init__.py      |  114 +
 .../site-packages/websockets/__main__.py      |  159 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 1996 bytes
 .../__pycache__/__main__.cpython-38.pyc       |  Bin 0 -> 3503 bytes
 .../__pycache__/auth.cpython-38.pyc           |  Bin 0 -> 221 bytes
 .../__pycache__/client.cpython-38.pyc         |  Bin 0 -> 10599 bytes
 .../__pycache__/connection.cpython-38.pyc     |  Bin 0 -> 465 bytes
 .../__pycache__/datastructures.cpython-38.pyc |  Bin 0 -> 7039 bytes
 .../__pycache__/exceptions.cpython-38.pyc     |  Bin 0 -> 12953 bytes
 .../__pycache__/frames.cpython-38.pyc         |  Bin 0 -> 10573 bytes
 .../__pycache__/headers.cpython-38.pyc        |  Bin 0 -> 13312 bytes
 .../__pycache__/http.cpython-38.pyc           |  Bin 0 -> 615 bytes
 .../__pycache__/http11.cpython-38.pyc         |  Bin 0 -> 9054 bytes
 .../__pycache__/imports.cpython-38.pyc        |  Bin 0 -> 2631 bytes
 .../__pycache__/protocol.cpython-38.pyc       |  Bin 0 -> 15946 bytes
 .../__pycache__/server.cpython-38.pyc         |  Bin 0 -> 16578 bytes
 .../__pycache__/streams.cpython-38.pyc        |  Bin 0 -> 4159 bytes
 .../__pycache__/typing.cpython-38.pyc         |  Bin 0 -> 683 bytes
 .../websockets/__pycache__/uri.cpython-38.pyc |  Bin 0 -> 2862 bytes
 .../__pycache__/utils.cpython-38.pyc          |  Bin 0 -> 1443 bytes
 .../__pycache__/version.cpython-38.pyc        |  Bin 0 -> 1565 bytes
 .../site-packages/websockets/auth.py          |    4 +
 .../site-packages/websockets/client.py        |  358 +
 .../site-packages/websockets/connection.py    |   13 +
 .../websockets/datastructures.py              |  200 +
 .../site-packages/websockets/exceptions.py    |  403 ++
 .../websockets/extensions/__init__.py         |    4 +
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 258 bytes
 .../__pycache__/base.cpython-38.pyc           |  Bin 0 -> 3973 bytes
 .../permessage_deflate.cpython-38.pyc         |  Bin 0 -> 13049 bytes
 .../websockets/extensions/base.py             |  133 +
 .../extensions/permessage_deflate.py          |  660 ++
 .../site-packages/websockets/frames.py        |  449 ++
 .../site-packages/websockets/headers.py       |  587 ++
 .../site-packages/websockets/http.py          |   30 +
 .../site-packages/websockets/http11.py        |  364 ++
 .../site-packages/websockets/imports.py       |   99 +
 .../websockets/legacy/__init__.py             |    0
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 153 bytes
 .../__pycache__/async_timeout.cpython-38.pyc  |  Bin 0 -> 7087 bytes
 .../legacy/__pycache__/auth.cpython-38.pyc    |  Bin 0 -> 5736 bytes
 .../legacy/__pycache__/client.cpython-38.pyc  |  Bin 0 -> 19206 bytes
 .../__pycache__/compatibility.cpython-38.pyc  |  Bin 0 -> 847 bytes
 .../legacy/__pycache__/framing.cpython-38.pyc |  Bin 0 -> 4585 bytes
 .../__pycache__/handshake.cpython-38.pyc      |  Bin 0 -> 5018 bytes
 .../legacy/__pycache__/http.cpython-38.pyc    |  Bin 0 -> 5026 bytes
 .../__pycache__/protocol.cpython-38.pyc       |  Bin 0 -> 40978 bytes
 .../legacy/__pycache__/server.cpython-38.pyc  |  Bin 0 -> 33989 bytes
 .../websockets/legacy/async_timeout.py        |  265 +
 .../site-packages/websockets/legacy/auth.py   |  184 +
 .../site-packages/websockets/legacy/client.py |  713 ++
 .../websockets/legacy/compatibility.py        |   33 +
 .../websockets/legacy/framing.py              |  176 +
 .../websockets/legacy/handshake.py            |  165 +
 .../site-packages/websockets/legacy/http.py   |  201 +
 .../websockets/legacy/protocol.py             | 1642 +++++
 .../site-packages/websockets/legacy/server.py | 1196 ++++
 .../site-packages/websockets/protocol.py      |  707 ++
 .../site-packages/websockets/py.typed         |    0
 .../site-packages/websockets/server.py        |  575 ++
 .../site-packages/websockets/speedups.c       |  223 +
 .../speedups.cpython-38-x86_64-linux-gnu.so   |  Bin 0 -> 34072 bytes
 .../site-packages/websockets/streams.py       |  151 +
 .../site-packages/websockets/sync/__init__.py |    0
 .../sync/__pycache__/__init__.cpython-38.pyc  |  Bin 0 -> 151 bytes
 .../sync/__pycache__/client.cpython-38.pyc    |  Bin 0 -> 9067 bytes
 .../__pycache__/compatibility.cpython-38.pyc  |  Bin 0 -> 657 bytes
 .../__pycache__/connection.cpython-38.pyc     |  Bin 0 -> 18319 bytes
 .../sync/__pycache__/messages.cpython-38.pyc  |  Bin 0 -> 5451 bytes
 .../sync/__pycache__/server.cpython-38.pyc    |  Bin 0 -> 14836 bytes
 .../sync/__pycache__/utils.cpython-38.pyc     |  Bin 0 -> 1434 bytes
 .../site-packages/websockets/sync/client.py   |  328 +
 .../websockets/sync/compatibility.py          |   21 +
 .../websockets/sync/connection.py             |  764 +++
 .../site-packages/websockets/sync/messages.py |  281 +
 .../site-packages/websockets/sync/server.py   |  529 ++
 .../site-packages/websockets/sync/utils.py    |   46 +
 .../site-packages/websockets/typing.py        |   60 +
 .../python3.8/site-packages/websockets/uri.py |  108 +
 .../site-packages/websockets/utils.py         |   51 +
 .../site-packages/websockets/version.py       |   78 +
 iot_env/lib64                                 |    1 +
 iot_env/pyvenv.cfg                            |    3 +
 .../CacheControl-0.12.6-py2.py3-none-any.whl  |  Bin 0 -> 28023 bytes
 .../appdirs-1.4.3-py2.py3-none-any.whl        |  Bin 0 -> 18776 bytes
 .../certifi-2019.11.28-py2.py3-none-any.whl   |  Bin 0 -> 164552 bytes
 .../chardet-3.0.4-py2.py3-none-any.whl        |  Bin 0 -> 141487 bytes
 .../colorama-0.4.3-py2.py3-none-any.whl       |  Bin 0 -> 25094 bytes
 .../contextlib2-0.6.0-py2.py3-none-any.whl    |  Bin 0 -> 17188 bytes
 .../distlib-0.3.0-py2.py3-none-any.whl        |  Bin 0 -> 152027 bytes
 .../distro-1.4.0-py2.py3-none-any.whl         |  Bin 0 -> 23898 bytes
 .../html5lib-1.0.1-py2.py3-none-any.whl       |  Bin 0 -> 120020 bytes
 .../idna-2.8-py2.py3-none-any.whl             |  Bin 0 -> 66836 bytes
 .../ipaddr-2.2.0-py2.py3-none-any.whl         |  Bin 0 -> 24287 bytes
 .../lockfile-0.12.2-py2.py3-none-any.whl      |  Bin 0 -> 21972 bytes
 .../msgpack-0.6.2-py2.py3-none-any.whl        |  Bin 0 -> 92927 bytes
 .../packaging-20.3-py2.py3-none-any.whl       |  Bin 0 -> 42242 bytes
 .../pep517-0.8.2-py2.py3-none-any.whl         |  Bin 0 -> 26686 bytes
 .../pip-20.0.2-py2.py3-none-any.whl           |  Bin 0 -> 262440 bytes
 .../pkg_resources-0.0.0-py2.py3-none-any.whl  |  Bin 0 -> 127312 bytes
 .../progress-1.5-py2.py3-none-any.whl         |  Bin 0 -> 17547 bytes
 .../pyparsing-2.4.6-py2.py3-none-any.whl      |  Bin 0 -> 77093 bytes
 .../requests-2.22.0-py2.py3-none-any.whl      |  Bin 0 -> 67543 bytes
 .../retrying-1.3.3-py2.py3-none-any.whl       |  Bin 0 -> 16358 bytes
 .../setuptools-44.0.0-py2.py3-none-any.whl    |  Bin 0 -> 477455 bytes
 .../six-1.14.0-py2.py3-none-any.whl           |  Bin 0 -> 20256 bytes
 .../toml-0.10.0-py2.py3-none-any.whl          |  Bin 0 -> 24106 bytes
 .../urllib3-1.25.8-py2.py3-none-any.whl       |  Bin 0 -> 127068 bytes
 .../webencodings-0.5.1-py2.py3-none-any.whl   |  Bin 0 -> 20484 bytes
 .../wheel-0.34.2-py2.py3-none-any.whl         |  Bin 0 -> 35613 bytes
 requirements.txt                              |    2 +
 server.py                                     |   31 +
 571 files changed, 73129 insertions(+)
 create mode 100644 iot_env/bin/Activate.ps1
 create mode 100644 iot_env/bin/activate
 create mode 100644 iot_env/bin/activate.csh
 create mode 100644 iot_env/bin/activate.fish
 create mode 100755 iot_env/bin/easy_install
 create mode 100755 iot_env/bin/easy_install-3.8
 create mode 100755 iot_env/bin/pip
 create mode 100755 iot_env/bin/pip3
 create mode 100755 iot_env/bin/pip3.8
 create mode 120000 iot_env/bin/python
 create mode 120000 iot_env/bin/python3
 create mode 100644 iot_env/lib/python3.8/site-packages/__pycache__/easy_install.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/easy_install.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/INSTALLER
 create mode 100644 iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/LICENSE.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/METADATA
 create mode 100644 iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/RECORD
 create mode 100644 iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/WHEEL
 create mode 100644 iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/entry_points.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/top_level.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/__main__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/__pycache__/__main__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/build_env.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/cache.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/configuration.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/exceptions.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/legacy_resolve.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/locations.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/main.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/pep425tags.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/pyproject.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/build_env.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cache.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/parser.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/base_command.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/command_context.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/main.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/parser.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/req_command.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/check.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/completion.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/debug.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/download.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/hash.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/help.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/install.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/list.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/search.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/check.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/completion.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/configuration.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/debug.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/download.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/freeze.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/hash.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/help.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/install.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/list.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/search.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/show.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/commands/wheel.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/configuration.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/base.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/distributions/base.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/distributions/installed.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/exceptions.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/index/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/index/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/index/__pycache__/collector.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/index/collector.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/index/package_finder.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/locations.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/main.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/candidate.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/format_control.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/index.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/link.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/scheme.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/target_python.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/wheel.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/candidate.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/format_control.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/index.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/link.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/scheme.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/search_scope.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/target_python.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/models/wheel.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/auth.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/cache.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/download.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/session.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/utils.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/auth.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/cache.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/download.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/session.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/utils.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/check.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/check.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/freeze.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/operations/prepare.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/pep425tags.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/pyproject.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/constructors.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_file.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_install.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_set.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/constructors.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/req_file.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/req_install.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/req_set.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compat.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/logging.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/marker_files.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/misc.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/models.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/typing.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/ui.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/urls.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/compat.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/encoding.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/glibc.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/hashes.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/logging.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/marker_files.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/misc.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/models.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/packaging.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/typing.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/ui.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/urls.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/utils/wheel.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/git.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/git.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_internal/wheel_builder.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_vendor/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pip/_vendor/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/AUTHORS.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/INSTALLER
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/LICENSE.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/METADATA
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/RECORD
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/WHEEL
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/__pycache__/py31compat.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/six.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/extern/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/pkg_resources/py31compat.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/AUTHORS.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/INSTALLER
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/LICENSE.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/METADATA
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/RECORD
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/WHEEL
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/dependency_links.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/entry_points.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/top_level.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/zip-safe
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/_imp.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/archive_util.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/build_meta.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/config.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/dep_util.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/depends.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/dist.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/errors.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/extension.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/installer.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/launch.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/monkey.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/msvc.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/namespaces.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py27compat.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py31compat.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py33compat.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py34compat.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/sandbox.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/site-patch.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/unicode_utils.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/version.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/__pycache__/windows_support.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_deprecation_warning.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_imp.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/six.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/_vendor/six.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/archive_util.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/build_meta.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/cli-32.exe
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/cli-64.exe
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/cli.exe
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/alias.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/build_clib.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/build_py.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/develop.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/dist_info.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/easy_install.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install_lib.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install_scripts.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/py36compat.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/register.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/rotate.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/saveopts.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/sdist.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/test.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/upload.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/upload_docs.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/alias.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/bdist_egg.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/bdist_wininst.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/build_clib.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/build_ext.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/build_py.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/develop.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/dist_info.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/easy_install.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/egg_info.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/install.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/install_egg_info.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/install_lib.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/install_scripts.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/py36compat.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/register.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/rotate.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/saveopts.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/sdist.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/setopt.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/test.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/upload.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/command/upload_docs.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/config.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/dep_util.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/depends.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/dist.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/errors.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/extension.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/extern/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/extern/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/glob.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/gui-32.exe
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/gui-64.exe
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/gui.exe
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/installer.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/launch.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/lib2to3_ex.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/monkey.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/msvc.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/namespaces.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/package_index.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/py27compat.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/py31compat.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/py33compat.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/py34compat.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/sandbox.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/script (dev).tmpl
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/script.tmpl
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/site-patch.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/ssl_support.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/unicode_utils.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/version.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/wheel.py
 create mode 100644 iot_env/lib/python3.8/site-packages/setuptools/windows_support.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/INSTALLER
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/LICENSE
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/METADATA
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/RECORD
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/WHEEL
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/top_level.txt
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__main__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/__main__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/auth.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/client.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/connection.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/datastructures.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/exceptions.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/frames.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/headers.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/http.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/http11.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/imports.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/protocol.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/server.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/streams.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/typing.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/uri.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/utils.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/__pycache__/version.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/auth.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/client.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/connection.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/datastructures.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/exceptions.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/extensions/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/extensions/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/extensions/__pycache__/base.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/extensions/__pycache__/permessage_deflate.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/extensions/base.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/extensions/permessage_deflate.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/frames.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/headers.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/http.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/http11.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/imports.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/async_timeout.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/auth.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/client.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/compatibility.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/framing.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/handshake.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/http.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/protocol.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/server.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/async_timeout.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/auth.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/client.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/compatibility.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/framing.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/handshake.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/http.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/protocol.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/legacy/server.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/protocol.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/py.typed
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/server.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/speedups.c
 create mode 100755 iot_env/lib/python3.8/site-packages/websockets/speedups.cpython-38-x86_64-linux-gnu.so
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/streams.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/__init__.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/__init__.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/client.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/compatibility.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/connection.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/messages.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/server.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/utils.cpython-38.pyc
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/client.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/compatibility.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/connection.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/messages.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/server.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/sync/utils.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/typing.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/uri.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/utils.py
 create mode 100644 iot_env/lib/python3.8/site-packages/websockets/version.py
 create mode 120000 iot_env/lib64
 create mode 100644 iot_env/pyvenv.cfg
 create mode 100644 iot_env/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/idna-2.8-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/packaging-20.3-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/progress-1.5-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/six-1.14.0-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/toml-0.10.0-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl
 create mode 100644 iot_env/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl
 create mode 100644 requirements.txt
 create mode 100644 server.py

diff --git a/iot_env/bin/Activate.ps1 b/iot_env/bin/Activate.ps1
new file mode 100644
index 0000000..2fb3852
--- /dev/null
+++ b/iot_env/bin/Activate.ps1
@@ -0,0 +1,241 @@
+<#
+.Synopsis
+Activate a Python virtual environment for the current PowerShell session.
+
+.Description
+Pushes the python executable for a virtual environment to the front of the
+$Env:PATH environment variable and sets the prompt to signify that you are
+in a Python virtual environment. Makes use of the command line switches as
+well as the `pyvenv.cfg` file values present in the virtual environment.
+
+.Parameter VenvDir
+Path to the directory that contains the virtual environment to activate. The
+default value for this is the parent of the directory that the Activate.ps1
+script is located within.
+
+.Parameter Prompt
+The prompt prefix to display when this virtual environment is activated. By
+default, this prompt is the name of the virtual environment folder (VenvDir)
+surrounded by parentheses and followed by a single space (ie. '(.venv) ').
+
+.Example
+Activate.ps1
+Activates the Python virtual environment that contains the Activate.ps1 script.
+
+.Example
+Activate.ps1 -Verbose
+Activates the Python virtual environment that contains the Activate.ps1 script,
+and shows extra information about the activation as it executes.
+
+.Example
+Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
+Activates the Python virtual environment located in the specified location.
+
+.Example
+Activate.ps1 -Prompt "MyPython"
+Activates the Python virtual environment that contains the Activate.ps1 script,
+and prefixes the current prompt with the specified string (surrounded in
+parentheses) while the virtual environment is active.
+
+.Notes
+On Windows, it may be required to enable this Activate.ps1 script by setting the
+execution policy for the user. You can do this by issuing the following PowerShell
+command:
+
+PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
+
+For more information on Execution Policies: 
+https://go.microsoft.com/fwlink/?LinkID=135170
+
+#>
+Param(
+    [Parameter(Mandatory = $false)]
+    [String]
+    $VenvDir,
+    [Parameter(Mandatory = $false)]
+    [String]
+    $Prompt
+)
+
+<# Function declarations --------------------------------------------------- #>
+
+<#
+.Synopsis
+Remove all shell session elements added by the Activate script, including the
+addition of the virtual environment's Python executable from the beginning of
+the PATH variable.
+
+.Parameter NonDestructive
+If present, do not remove this function from the global namespace for the
+session.
+
+#>
+function global:deactivate ([switch]$NonDestructive) {
+    # Revert to original values
+
+    # The prior prompt:
+    if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
+        Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
+        Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
+    }
+
+    # The prior PYTHONHOME:
+    if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
+        Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
+        Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
+    }
+
+    # The prior PATH:
+    if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
+        Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
+        Remove-Item -Path Env:_OLD_VIRTUAL_PATH
+    }
+
+    # Just remove the VIRTUAL_ENV altogether:
+    if (Test-Path -Path Env:VIRTUAL_ENV) {
+        Remove-Item -Path env:VIRTUAL_ENV
+    }
+
+    # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
+    if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
+        Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
+    }
+
+    # Leave deactivate function in the global namespace if requested:
+    if (-not $NonDestructive) {
+        Remove-Item -Path function:deactivate
+    }
+}
+
+<#
+.Description
+Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
+given folder, and returns them in a map.
+
+For each line in the pyvenv.cfg file, if that line can be parsed into exactly
+two strings separated by `=` (with any amount of whitespace surrounding the =)
+then it is considered a `key = value` line. The left hand string is the key,
+the right hand is the value.
+
+If the value starts with a `'` or a `"` then the first and last character is
+stripped from the value before being captured.
+
+.Parameter ConfigDir
+Path to the directory that contains the `pyvenv.cfg` file.
+#>
+function Get-PyVenvConfig(
+    [String]
+    $ConfigDir
+) {
+    Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
+
+    # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
+    $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
+
+    # An empty map will be returned if no config file is found.
+    $pyvenvConfig = @{ }
+
+    if ($pyvenvConfigPath) {
+
+        Write-Verbose "File exists, parse `key = value` lines"
+        $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
+
+        $pyvenvConfigContent | ForEach-Object {
+            $keyval = $PSItem -split "\s*=\s*", 2
+            if ($keyval[0] -and $keyval[1]) {
+                $val = $keyval[1]
+
+                # Remove extraneous quotations around a string value.
+                if ("'""".Contains($val.Substring(0, 1))) {
+                    $val = $val.Substring(1, $val.Length - 2)
+                }
+
+                $pyvenvConfig[$keyval[0]] = $val
+                Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
+            }
+        }
+    }
+    return $pyvenvConfig
+}
+
+
+<# Begin Activate script --------------------------------------------------- #>
+
+# Determine the containing directory of this script
+$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
+$VenvExecDir = Get-Item -Path $VenvExecPath
+
+Write-Verbose "Activation script is located in path: '$VenvExecPath'"
+Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
+Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
+
+# Set values required in priority: CmdLine, ConfigFile, Default
+# First, get the location of the virtual environment, it might not be
+# VenvExecDir if specified on the command line.
+if ($VenvDir) {
+    Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
+}
+else {
+    Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
+    $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
+    Write-Verbose "VenvDir=$VenvDir"
+}
+
+# Next, read the `pyvenv.cfg` file to determine any required value such
+# as `prompt`.
+$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
+
+# Next, set the prompt from the command line, or the config file, or
+# just use the name of the virtual environment folder.
+if ($Prompt) {
+    Write-Verbose "Prompt specified as argument, using '$Prompt'"
+}
+else {
+    Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
+    if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
+        Write-Verbose "  Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
+        $Prompt = $pyvenvCfg['prompt'];
+    }
+    else {
+        Write-Verbose "  Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virutal environment)"
+        Write-Verbose "  Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
+        $Prompt = Split-Path -Path $venvDir -Leaf
+    }
+}
+
+Write-Verbose "Prompt = '$Prompt'"
+Write-Verbose "VenvDir='$VenvDir'"
+
+# Deactivate any currently active virtual environment, but leave the
+# deactivate function in place.
+deactivate -nondestructive
+
+# Now set the environment variable VIRTUAL_ENV, used by many tools to determine
+# that there is an activated venv.
+$env:VIRTUAL_ENV = $VenvDir
+
+if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
+
+    Write-Verbose "Setting prompt to '$Prompt'"
+
+    # Set the prompt to include the env name
+    # Make sure _OLD_VIRTUAL_PROMPT is global
+    function global:_OLD_VIRTUAL_PROMPT { "" }
+    Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
+    New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
+
+    function global:prompt {
+        Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
+        _OLD_VIRTUAL_PROMPT
+    }
+}
+
+# Clear PYTHONHOME
+if (Test-Path -Path Env:PYTHONHOME) {
+    Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
+    Remove-Item -Path Env:PYTHONHOME
+}
+
+# Add the venv to the PATH
+Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
+$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
diff --git a/iot_env/bin/activate b/iot_env/bin/activate
new file mode 100644
index 0000000..36f6d0b
--- /dev/null
+++ b/iot_env/bin/activate
@@ -0,0 +1,76 @@
+# This file must be used with "source bin/activate" *from bash*
+# you cannot run it directly
+
+deactivate () {
+    # reset old environment variables
+    if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
+        PATH="${_OLD_VIRTUAL_PATH:-}"
+        export PATH
+        unset _OLD_VIRTUAL_PATH
+    fi
+    if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
+        PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
+        export PYTHONHOME
+        unset _OLD_VIRTUAL_PYTHONHOME
+    fi
+
+    # This should detect bash and zsh, which have a hash command that must
+    # be called to get it to forget past commands.  Without forgetting
+    # past commands the $PATH changes we made may not be respected
+    if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
+        hash -r
+    fi
+
+    if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
+        PS1="${_OLD_VIRTUAL_PS1:-}"
+        export PS1
+        unset _OLD_VIRTUAL_PS1
+    fi
+
+    unset VIRTUAL_ENV
+    if [ ! "${1:-}" = "nondestructive" ] ; then
+    # Self destruct!
+        unset -f deactivate
+    fi
+}
+
+# unset irrelevant variables
+deactivate nondestructive
+
+VIRTUAL_ENV="/home/james2.caldwell/worksheet3/iot_env"
+export VIRTUAL_ENV
+
+_OLD_VIRTUAL_PATH="$PATH"
+PATH="$VIRTUAL_ENV/bin:$PATH"
+export PATH
+
+# unset PYTHONHOME if set
+# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
+# could use `if (set -u; : $PYTHONHOME) ;` in bash
+if [ -n "${PYTHONHOME:-}" ] ; then
+    _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
+    unset PYTHONHOME
+fi
+
+if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
+    _OLD_VIRTUAL_PS1="${PS1:-}"
+    if [ "x(iot_env) " != x ] ; then
+	PS1="(iot_env) ${PS1:-}"
+    else
+    if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
+        # special case for Aspen magic directories
+        # see https://aspen.io/
+        PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
+    else
+        PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
+    fi
+    fi
+    export PS1
+fi
+
+# This should detect bash and zsh, which have a hash command that must
+# be called to get it to forget past commands.  Without forgetting
+# past commands the $PATH changes we made may not be respected
+if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
+    hash -r
+fi
diff --git a/iot_env/bin/activate.csh b/iot_env/bin/activate.csh
new file mode 100644
index 0000000..df82849
--- /dev/null
+++ b/iot_env/bin/activate.csh
@@ -0,0 +1,37 @@
+# This file must be used with "source bin/activate.csh" *from csh*.
+# You cannot run it directly.
+# Created by Davide Di Blasi <davidedb@gmail.com>.
+# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
+
+alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate'
+
+# Unset irrelevant variables.
+deactivate nondestructive
+
+setenv VIRTUAL_ENV "/home/james2.caldwell/worksheet3/iot_env"
+
+set _OLD_VIRTUAL_PATH="$PATH"
+setenv PATH "$VIRTUAL_ENV/bin:$PATH"
+
+
+set _OLD_VIRTUAL_PROMPT="$prompt"
+
+if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
+    if ("iot_env" != "") then
+        set env_name = "iot_env"
+    else
+        if (`basename "VIRTUAL_ENV"` == "__") then
+            # special case for Aspen magic directories
+            # see https://aspen.io/
+            set env_name = `basename \`dirname "$VIRTUAL_ENV"\``
+        else
+            set env_name = `basename "$VIRTUAL_ENV"`
+        endif
+    endif
+    set prompt = "[$env_name] $prompt"
+    unset env_name
+endif
+
+alias pydoc python -m pydoc
+
+rehash
diff --git a/iot_env/bin/activate.fish b/iot_env/bin/activate.fish
new file mode 100644
index 0000000..405b184
--- /dev/null
+++ b/iot_env/bin/activate.fish
@@ -0,0 +1,75 @@
+# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org)
+# you cannot run it directly
+
+function deactivate  -d "Exit virtualenv and return to normal shell environment"
+    # reset old environment variables
+    if test -n "$_OLD_VIRTUAL_PATH"
+        set -gx PATH $_OLD_VIRTUAL_PATH
+        set -e _OLD_VIRTUAL_PATH
+    end
+    if test -n "$_OLD_VIRTUAL_PYTHONHOME"
+        set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
+        set -e _OLD_VIRTUAL_PYTHONHOME
+    end
+
+    if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
+        functions -e fish_prompt
+        set -e _OLD_FISH_PROMPT_OVERRIDE
+        functions -c _old_fish_prompt fish_prompt
+        functions -e _old_fish_prompt
+    end
+
+    set -e VIRTUAL_ENV
+    if test "$argv[1]" != "nondestructive"
+        # Self destruct!
+        functions -e deactivate
+    end
+end
+
+# unset irrelevant variables
+deactivate nondestructive
+
+set -gx VIRTUAL_ENV "/home/james2.caldwell/worksheet3/iot_env"
+
+set -gx _OLD_VIRTUAL_PATH $PATH
+set -gx PATH "$VIRTUAL_ENV/bin" $PATH
+
+# unset PYTHONHOME if set
+if set -q PYTHONHOME
+    set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
+    set -e PYTHONHOME
+end
+
+if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
+    # fish uses a function instead of an env var to generate the prompt.
+
+    # save the current fish_prompt function as the function _old_fish_prompt
+    functions -c fish_prompt _old_fish_prompt
+
+    # with the original prompt function renamed, we can override with our own.
+    function fish_prompt
+        # Save the return status of the last command
+        set -l old_status $status
+
+        # Prompt override?
+        if test -n "(iot_env) "
+            printf "%s%s" "(iot_env) " (set_color normal)
+        else
+            # ...Otherwise, prepend env
+            set -l _checkbase (basename "$VIRTUAL_ENV")
+            if test $_checkbase = "__"
+                # special case for Aspen magic directories
+                # see https://aspen.io/
+                printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal)
+            else
+                printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal)
+            end
+        end
+
+        # Restore the return status of the previous command.
+        echo "exit $old_status" | .
+        _old_fish_prompt
+    end
+
+    set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
+end
diff --git a/iot_env/bin/easy_install b/iot_env/bin/easy_install
new file mode 100755
index 0000000..18bcac6
--- /dev/null
+++ b/iot_env/bin/easy_install
@@ -0,0 +1,8 @@
+#!/home/james2.caldwell/worksheet3/iot_env/bin/python3
+# -*- coding: utf-8 -*-
+import re
+import sys
+from setuptools.command.easy_install import main
+if __name__ == '__main__':
+    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+    sys.exit(main())
diff --git a/iot_env/bin/easy_install-3.8 b/iot_env/bin/easy_install-3.8
new file mode 100755
index 0000000..18bcac6
--- /dev/null
+++ b/iot_env/bin/easy_install-3.8
@@ -0,0 +1,8 @@
+#!/home/james2.caldwell/worksheet3/iot_env/bin/python3
+# -*- coding: utf-8 -*-
+import re
+import sys
+from setuptools.command.easy_install import main
+if __name__ == '__main__':
+    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+    sys.exit(main())
diff --git a/iot_env/bin/pip b/iot_env/bin/pip
new file mode 100755
index 0000000..2d415bf
--- /dev/null
+++ b/iot_env/bin/pip
@@ -0,0 +1,8 @@
+#!/home/james2.caldwell/worksheet3/iot_env/bin/python3
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+    sys.exit(main())
diff --git a/iot_env/bin/pip3 b/iot_env/bin/pip3
new file mode 100755
index 0000000..2d415bf
--- /dev/null
+++ b/iot_env/bin/pip3
@@ -0,0 +1,8 @@
+#!/home/james2.caldwell/worksheet3/iot_env/bin/python3
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+    sys.exit(main())
diff --git a/iot_env/bin/pip3.8 b/iot_env/bin/pip3.8
new file mode 100755
index 0000000..2d415bf
--- /dev/null
+++ b/iot_env/bin/pip3.8
@@ -0,0 +1,8 @@
+#!/home/james2.caldwell/worksheet3/iot_env/bin/python3
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+    sys.exit(main())
diff --git a/iot_env/bin/python b/iot_env/bin/python
new file mode 120000
index 0000000..b8a0adb
--- /dev/null
+++ b/iot_env/bin/python
@@ -0,0 +1 @@
+python3
\ No newline at end of file
diff --git a/iot_env/bin/python3 b/iot_env/bin/python3
new file mode 120000
index 0000000..ae65fda
--- /dev/null
+++ b/iot_env/bin/python3
@@ -0,0 +1 @@
+/usr/bin/python3
\ No newline at end of file
diff --git a/iot_env/lib/python3.8/site-packages/__pycache__/easy_install.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/__pycache__/easy_install.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a2ac1b6454a2f132de2f669097511d023b48dd06
GIT binary patch
literal 281
zcmWIL<>g{vU|{fR*_~3yz`*br#6iYP3=9ko3=9m#N(>APDGX5zsf;O%*-S-pDNHHM
zIZV0CQOt}Csm#p`j0`C(!3>(LRnkGFc?u;NsS2)%#g(3U#U+V3ISR@7xw(mXDYrP{
z<8u=;^Wx)Qf-KQwyu||I`f0M<Vvmnc$xn`t2Pw%*%uS7tkCHD=Eh#N1$<NOz)`J?L
zmzr2y8J`I;wTPL4fng;>5gP*og!pBkUy@s(Uyxa#Tbfspn4F!OqFbJknwq0qX=zbq
jY-C=kkE~y>pz;=nO>TZlX-=vgBgm5=lUSHI7<m{0SQSgs

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/easy_install.py b/iot_env/lib/python3.8/site-packages/easy_install.py
new file mode 100644
index 0000000..d87e984
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/easy_install.py
@@ -0,0 +1,5 @@
+"""Run the EasyInstall command"""
+
+if __name__ == '__main__':
+    from setuptools.command.easy_install import main
+    main()
diff --git a/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/INSTALLER b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/INSTALLER
new file mode 100644
index 0000000..a1b589e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/INSTALLER
@@ -0,0 +1 @@
+pip
diff --git a/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/LICENSE.txt b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/LICENSE.txt
new file mode 100644
index 0000000..737fec5
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2008-2019 The pip developers (see AUTHORS.txt file)
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/METADATA b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/METADATA
new file mode 100644
index 0000000..5183c4e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/METADATA
@@ -0,0 +1,84 @@
+Metadata-Version: 2.1
+Name: pip
+Version: 20.0.2
+Summary: The PyPA recommended tool for installing Python packages.
+Home-page: https://pip.pypa.io/
+Author: The pip developers
+Author-email: pypa-dev@groups.google.com
+License: MIT
+Project-URL: Documentation, https://pip.pypa.io
+Project-URL: Source, https://github.com/pypa/pip
+Keywords: distutils easy_install egg setuptools wheel virtualenv
+Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Topic :: Software Development :: Build Tools
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*
+
+pip - The Python Package Installer
+==================================
+
+.. image:: https://img.shields.io/pypi/v/pip.svg
+   :target: https://pypi.org/project/pip/
+
+.. image:: https://readthedocs.org/projects/pip/badge/?version=latest
+   :target: https://pip.pypa.io/en/latest
+
+pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.
+
+Please take a look at our documentation for how to install and use pip:
+
+* `Installation`_
+* `Usage`_
+
+Updates are released regularly, with a new version every 3 months. More details can be found in our documentation:
+
+* `Release notes`_
+* `Release process`_
+
+If you find bugs, need help, or want to talk to the developers please use our mailing lists or chat rooms:
+
+* `Issue tracking`_
+* `Discourse channel`_
+* `User IRC`_
+
+If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:
+
+* `GitHub page`_
+* `Dev documentation`_
+* `Dev mailing list`_
+* `Dev IRC`_
+
+Code of Conduct
+---------------
+
+Everyone interacting in the pip project's codebases, issue trackers, chat
+rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_.
+
+.. _package installer: https://packaging.python.org/guides/tool-recommendations/
+.. _Python Package Index: https://pypi.org
+.. _Installation: https://pip.pypa.io/en/stable/installing.html
+.. _Usage: https://pip.pypa.io/en/stable/
+.. _Release notes: https://pip.pypa.io/en/stable/news.html
+.. _Release process: https://pip.pypa.io/en/latest/development/release-process/
+.. _GitHub page: https://github.com/pypa/pip
+.. _Dev documentation: https://pip.pypa.io/en/latest/development
+.. _Issue tracking: https://github.com/pypa/pip/issues
+.. _Discourse channel: https://discuss.python.org/c/packaging
+.. _Dev mailing list: https://groups.google.com/forum/#!forum/pypa-dev
+.. _User IRC: https://webchat.freenode.net/?channels=%23pypa
+.. _Dev IRC: https://webchat.freenode.net/?channels=%23pypa-dev
+.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/
+
+
diff --git a/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/RECORD b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/RECORD
new file mode 100644
index 0000000..c160d03
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/RECORD
@@ -0,0 +1,246 @@
+../../../bin/pip,sha256=jdOV30hyNjBpOPZbewcYbWqclE4SCkq0w8JuU5eWS00,257
+../../../bin/pip3,sha256=jdOV30hyNjBpOPZbewcYbWqclE4SCkq0w8JuU5eWS00,257
+../../../bin/pip3.8,sha256=jdOV30hyNjBpOPZbewcYbWqclE4SCkq0w8JuU5eWS00,257
+pip-20.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
+pip-20.0.2.dist-info/LICENSE.txt,sha256=W6Ifuwlk-TatfRU2LR7W1JMcyMj5_y1NkRkOEJvnRDE,1090
+pip-20.0.2.dist-info/METADATA,sha256=MSgjT2JTt8usp4Hopp5AGEmc-7sKR2Jd7HTMJqCoRhw,3352
+pip-20.0.2.dist-info/RECORD,,
+pip-20.0.2.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
+pip-20.0.2.dist-info/entry_points.txt,sha256=HtfDOwpUlr9s73jqLQ6wF9V0_0qvUXJwCBz7Vwx0Ue0,125
+pip-20.0.2.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
+pip/__init__.py,sha256=U1AM82iShMaw90K6Yq0Q2-AZ1EsOcqQLQRB-rxwFtII,455
+pip/__main__.py,sha256=NM95x7KuQr-lwPoTjAC0d_QzLJsJjpmAoxZg0mP8s98,632
+pip/__pycache__/__init__.cpython-38.pyc,,
+pip/__pycache__/__main__.cpython-38.pyc,,
+pip/_internal/__init__.py,sha256=j5fiII6yCeZjpW7_7wAVRMM4DwE-gyARGVU4yAADDeE,517
+pip/_internal/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/__pycache__/build_env.cpython-38.pyc,,
+pip/_internal/__pycache__/cache.cpython-38.pyc,,
+pip/_internal/__pycache__/configuration.cpython-38.pyc,,
+pip/_internal/__pycache__/exceptions.cpython-38.pyc,,
+pip/_internal/__pycache__/legacy_resolve.cpython-38.pyc,,
+pip/_internal/__pycache__/locations.cpython-38.pyc,,
+pip/_internal/__pycache__/main.cpython-38.pyc,,
+pip/_internal/__pycache__/pep425tags.cpython-38.pyc,,
+pip/_internal/__pycache__/pyproject.cpython-38.pyc,,
+pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc,,
+pip/_internal/__pycache__/wheel_builder.cpython-38.pyc,,
+pip/_internal/build_env.py,sha256=--aNgzIdYrCOclHMwoAdpclCpfdFE_jooRuCy5gczwg,7532
+pip/_internal/cache.py,sha256=16GrnDRLBQNlfKWIuIF6Sa-EFS78kez_w1WEjT3ykTI,11605
+pip/_internal/cli/__init__.py,sha256=FkHBgpxxb-_gd6r1FjnNhfMOzAUYyXoXKJ6abijfcFU,132
+pip/_internal/cli/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc,,
+pip/_internal/cli/__pycache__/base_command.cpython-38.pyc,,
+pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc,,
+pip/_internal/cli/__pycache__/command_context.cpython-38.pyc,,
+pip/_internal/cli/__pycache__/main.cpython-38.pyc,,
+pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc,,
+pip/_internal/cli/__pycache__/parser.cpython-38.pyc,,
+pip/_internal/cli/__pycache__/req_command.cpython-38.pyc,,
+pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc,,
+pip/_internal/cli/autocompletion.py,sha256=ekGNtcDI0p7rFVc-7s4T9Tbss4Jgb7vsB649XJIblRg,6547
+pip/_internal/cli/base_command.py,sha256=v6yl5XNRqye8BT9ep8wvpMu6lylP_Hu6D95r_HqbpbQ,7948
+pip/_internal/cli/cmdoptions.py,sha256=f1TVHuu_fR3lLlMo6b367H_GsWFv26tLI9cAS-kZfE0,28114
+pip/_internal/cli/command_context.py,sha256=ygMVoTy2jpNilKT-6416gFSQpaBtrKRBbVbi2fy__EU,975
+pip/_internal/cli/main.py,sha256=8iq3bHe5lxJTB2EvKOqZ38NS0MmoS79_S1kgj4QuH8A,2610
+pip/_internal/cli/main_parser.py,sha256=W9OWeryh7ZkqELohaFh0Ko9sB98ZkSeDmnYbOZ1imBc,2819
+pip/_internal/cli/parser.py,sha256=O9djTuYQuSfObiY-NU6p4MJCfWsRUnDpE2YGA_fwols,9487
+pip/_internal/cli/req_command.py,sha256=pAUAglpTn0mUA6lRs7KN71yOm1KDabD0ySVTQTqWTSA,12463
+pip/_internal/cli/status_codes.py,sha256=F6uDG6Gj7RNKQJUDnd87QKqI16Us-t-B0wPF_4QMpWc,156
+pip/_internal/commands/__init__.py,sha256=uTSj58QlrSKeXqCUSdL-eAf_APzx5BHy1ABxb0j5ZNE,3714
+pip/_internal/commands/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/check.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/completion.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/configuration.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/debug.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/download.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/freeze.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/hash.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/help.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/install.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/list.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/search.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/show.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc,,
+pip/_internal/commands/__pycache__/wheel.cpython-38.pyc,,
+pip/_internal/commands/check.py,sha256=mgLNYT3bd6Kmynwh4zzcBmVlFZ-urMo40jTgk6U405E,1505
+pip/_internal/commands/completion.py,sha256=UFQvq0Q4_B96z1bvnQyMOq82aPSu05RejbLmqeTZjC0,2975
+pip/_internal/commands/configuration.py,sha256=6riioZjMhsNSEct7dE-X8SobGodk3WERKJvuyjBje4Q,7226
+pip/_internal/commands/debug.py,sha256=a8llax2hRkxgK-tvwdJgaCaZCYPIx0fDvrlMDoYr8bQ,4209
+pip/_internal/commands/download.py,sha256=zX_0-IeFb4C8dxSmGHxk-6H5kehtyTSsdWpjNpAhSww,5007
+pip/_internal/commands/freeze.py,sha256=QS-4ib8jbKJ2wrDaDbTuyaB3Y_iJ5CQC2gAVHuAv9QU,3481
+pip/_internal/commands/hash.py,sha256=47teimfAPhpkaVbSDaafck51BT3XXYuL83lAqc5lOcE,1735
+pip/_internal/commands/help.py,sha256=Nhecq--ydFn80Gm1Zvbf9943EcRJfO0TnXUhsF0RO7s,1181
+pip/_internal/commands/install.py,sha256=T4P3J1rw7CQrZX4OUamtcoWMkTrJBfUe6gWpTfZW1bQ,27286
+pip/_internal/commands/list.py,sha256=2l0JiqHxjxDHNTCb2HZOjwwdo4duS1R0MsqZb6HSMKk,10660
+pip/_internal/commands/search.py,sha256=7Il8nKZ9mM7qF5jlnBoPvSIFY9f-0-5IbYoX3miTuZY,5148
+pip/_internal/commands/show.py,sha256=Vzsj2oX0JBl94MPyF3LV8YoMcigl8B2UsMM8zp0pH2s,6792
+pip/_internal/commands/uninstall.py,sha256=8mldFbrQecSoWDZRqxBgJkrlvx6Y9Iy7cs-2BIgtXt4,2983
+pip/_internal/commands/wheel.py,sha256=TMU5ZhjLo7BIZQApGPsYfoCsbGTnvP-N9jkgPJXhj1Y,7170
+pip/_internal/configuration.py,sha256=MgKrLFBJBkF3t2VJM4tvlnEspfSuS4scp_LhHWh53nY,14222
+pip/_internal/distributions/__init__.py,sha256=ECBUW5Gtu9TjJwyFLvim-i6kUMYVuikNh9I5asL6tbA,959
+pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/distributions/__pycache__/base.cpython-38.pyc,,
+pip/_internal/distributions/__pycache__/installed.cpython-38.pyc,,
+pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc,,
+pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc,,
+pip/_internal/distributions/base.py,sha256=ruprpM_L2T2HNi3KLUHlbHimZ1sWVw-3Q0Lb8O7TDAI,1425
+pip/_internal/distributions/installed.py,sha256=YqlkBKr6TVP1MAYS6SG8ojud21wVOYLMZ8jMLJe9MSU,760
+pip/_internal/distributions/sdist.py,sha256=D4XTMlCwgPlK69l62GLYkNSVTVe99fR5iAcVt2EbGok,4086
+pip/_internal/distributions/wheel.py,sha256=95uD-TfaYoq3KiKBdzk9YMN4RRqJ28LNoSTS2K46gek,1294
+pip/_internal/exceptions.py,sha256=6YRuwXAK6F1iyUWKIkCIpWWN2khkAn1sZOgrFA9S8Ro,10247
+pip/_internal/index/__init__.py,sha256=vpt-JeTZefh8a-FC22ZeBSXFVbuBcXSGiILhQZJaNpQ,30
+pip/_internal/index/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/index/__pycache__/collector.cpython-38.pyc,,
+pip/_internal/index/__pycache__/package_finder.cpython-38.pyc,,
+pip/_internal/index/collector.py,sha256=YS7Ix4oylU7ZbPTPFugh-244GSRqMvdHsGUG6nmz2gE,17892
+pip/_internal/index/package_finder.py,sha256=2Rg75AOpLj8BN1jyL8EI-Iw-Hv6ibJkrYVARCht3bX8,37542
+pip/_internal/legacy_resolve.py,sha256=L7R72I7CjVgJlPTggmA1j4b-H8NmxNu_dKVhrpGXGps,16277
+pip/_internal/locations.py,sha256=VifFEqhc7FWFV8QGoEM3CpECRY8Doq7kTytytxsEgx0,6734
+pip/_internal/main.py,sha256=IVBnUQ-FG7DK6617uEXRB5_QJqspAsBFmTmTesYkbdQ,437
+pip/_internal/models/__init__.py,sha256=3DHUd_qxpPozfzouoqa9g9ts1Czr5qaHfFxbnxriepM,63
+pip/_internal/models/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/models/__pycache__/candidate.cpython-38.pyc,,
+pip/_internal/models/__pycache__/format_control.cpython-38.pyc,,
+pip/_internal/models/__pycache__/index.cpython-38.pyc,,
+pip/_internal/models/__pycache__/link.cpython-38.pyc,,
+pip/_internal/models/__pycache__/scheme.cpython-38.pyc,,
+pip/_internal/models/__pycache__/search_scope.cpython-38.pyc,,
+pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc,,
+pip/_internal/models/__pycache__/target_python.cpython-38.pyc,,
+pip/_internal/models/__pycache__/wheel.cpython-38.pyc,,
+pip/_internal/models/candidate.py,sha256=Y58Bcm6oXUj0iS-yhmerlGo5CQJI2p0Ww9h6hR9zQDw,1150
+pip/_internal/models/format_control.py,sha256=ICzVjjGwfZYdX-eLLKHjMHLutEJlAGpfj09OG_eMqac,2673
+pip/_internal/models/index.py,sha256=K59A8-hVhBM20Xkahr4dTwP7OjkJyEqXH11UwHFVgqM,1060
+pip/_internal/models/link.py,sha256=y0H2ZOk0P6d1lfGUL2Pl09xFgZcRt5HwN2LElMifOpI,6827
+pip/_internal/models/scheme.py,sha256=vvhBrrno7eVDXcdKHiZWwxhPHf4VG5uSCEkC0QDR2RU,679
+pip/_internal/models/search_scope.py,sha256=2LXbU4wV8LwqdtXQXNXFYKv-IxiDI_QwSz9ZgbwtAfk,3898
+pip/_internal/models/selection_prefs.py,sha256=rPeif2KKjhTPXeMoQYffjqh10oWpXhdkxRDaPT1HO8k,1908
+pip/_internal/models/target_python.py,sha256=c-cFi6zCuo5HYbXNS3rVVpKRaHVh5yQlYEjEW23SidQ,3799
+pip/_internal/models/wheel.py,sha256=UQJyd3V1TTTcFLrsOXHKpoxO5PJfPaIC9y9NbOLNfvc,2791
+pip/_internal/network/__init__.py,sha256=jf6Tt5nV_7zkARBrKojIXItgejvoegVJVKUbhAa5Ioc,50
+pip/_internal/network/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/network/__pycache__/auth.cpython-38.pyc,,
+pip/_internal/network/__pycache__/cache.cpython-38.pyc,,
+pip/_internal/network/__pycache__/download.cpython-38.pyc,,
+pip/_internal/network/__pycache__/session.cpython-38.pyc,,
+pip/_internal/network/__pycache__/utils.cpython-38.pyc,,
+pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc,,
+pip/_internal/network/auth.py,sha256=K3G1ukKb3PiH8w_UnpXTz8qQsTULO-qdbfOE9zTo1fE,11119
+pip/_internal/network/cache.py,sha256=51CExcRkXWrgMZ7WsrZ6cmijKfViD5tVgKbBvJHO1IE,2394
+pip/_internal/network/download.py,sha256=3D9vdJmVwmCUMxzC-TaVI_GvVOpQna3BLEYNPCSx3Fc,6260
+pip/_internal/network/session.py,sha256=u1IXQfv21R1xv86ulyiB58-be4sYm90eFB0Wp8fVMYw,14702
+pip/_internal/network/utils.py,sha256=iiixo1OeaQ3niUWiBjg59PN6f1w7vvTww1vFriTD_IU,1959
+pip/_internal/network/xmlrpc.py,sha256=AL115M3vFJ8xiHVJneb8Hi0ZFeRvdPhblC89w25OG5s,1597
+pip/_internal/operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
+pip/_internal/operations/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/operations/__pycache__/check.cpython-38.pyc,,
+pip/_internal/operations/__pycache__/freeze.cpython-38.pyc,,
+pip/_internal/operations/__pycache__/prepare.cpython-38.pyc,,
+pip/_internal/operations/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
+pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc,,
+pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc,,
+pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc,,
+pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc,,
+pip/_internal/operations/build/metadata.py,sha256=yHMi5gHYXcXyHcvUPWHdO-UyOo3McFWljn_nHfM1O9c,1307
+pip/_internal/operations/build/metadata_legacy.py,sha256=4n6N7BTysqVmEpITzT2UVClyt0Peij_Im8Qm965IWB4,3957
+pip/_internal/operations/build/wheel.py,sha256=ntltdNP6D2Tpr4V0agssu6rE0F9LaBpJkYT6zSdhEbw,1469
+pip/_internal/operations/build/wheel_legacy.py,sha256=DYSxQKutwSZnmNvWkwsl2HzE2XQBxV0i0wTphjtUe90,3349
+pip/_internal/operations/check.py,sha256=a6uHG0daoWpmSPCdL7iYJaGQYZ-CRvPvTnCv2PnIIs0,5353
+pip/_internal/operations/freeze.py,sha256=td4BeRnW10EXFTZrx6VgygO3CrjqD5B9f0BGzjQm-Ew,10180
+pip/_internal/operations/install/__init__.py,sha256=mX7hyD2GNBO2mFGokDQ30r_GXv7Y_PLdtxcUv144e-s,51
+pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc,,
+pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc,,
+pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc,,
+pip/_internal/operations/install/editable_legacy.py,sha256=rJ_xs2qtDUjpY2-n6eYlVyZiNoKbOtZXZrYrcnIELt4,1488
+pip/_internal/operations/install/legacy.py,sha256=eBV8gHbO9sBlBc-4nuR3Sd2nikHgEcnC9khfeLiypio,4566
+pip/_internal/operations/install/wheel.py,sha256=xdCjH6uIUyg39Pf8tUaMFUN4a7eozJAFMb_wKcgQlsY,23012
+pip/_internal/operations/prepare.py,sha256=ro2teBlbBpkRJhBKraP9CoJgVLpueSk62ziWhRToXww,20942
+pip/_internal/pep425tags.py,sha256=SlIQokevkoKnXhoK3PZvXiDoj8hFKoJ7thDifDtga3k,5490
+pip/_internal/pyproject.py,sha256=VJKsrXORGiGoDPVKCQhuu4tWlQSTOhoiRlVLRNu4rx4,7400
+pip/_internal/req/__init__.py,sha256=UVaYPlHZVGRBQQPjvGC_6jJDQtewXm0ws-8Lxhg_TiY,2671
+pip/_internal/req/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/req/__pycache__/constructors.cpython-38.pyc,,
+pip/_internal/req/__pycache__/req_file.cpython-38.pyc,,
+pip/_internal/req/__pycache__/req_install.cpython-38.pyc,,
+pip/_internal/req/__pycache__/req_set.cpython-38.pyc,,
+pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc,,
+pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc,,
+pip/_internal/req/constructors.py,sha256=w5-kWWVCqlSqcIBitw86yq7XGMPpKrHDfQZSE2mJ_xc,14388
+pip/_internal/req/req_file.py,sha256=ECqRUicCw5Y08R1YynZAAp8dSKQhDXoc1Q-mY3a9b6I,18485
+pip/_internal/req/req_install.py,sha256=wjsIr4lDpbVSLqANKJI9mXwRVHaRxcnj8q30UiHoLRA,30442
+pip/_internal/req/req_set.py,sha256=GsrKmupRKhNMhjkofVfCEHEHfgEvYBxClaQH5xLBQHg,8066
+pip/_internal/req/req_tracker.py,sha256=27fvVG8Y2MJS1KpU2rBMnQyUEMHG4lkHT_bzbzQK-c0,4723
+pip/_internal/req/req_uninstall.py,sha256=DWnOsuyYGju6-sylyoCm7GtUNevn9qMAVhjAGLcdXUE,23609
+pip/_internal/self_outdated_check.py,sha256=3KO1pTJUuYaiV9X0t87I9PimkGL82HbhLWbocqKZpBU,8009
+pip/_internal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
+pip/_internal/utils/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/compat.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/encoding.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/glibc.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/hashes.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/logging.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/marker_files.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/misc.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/models.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/packaging.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/typing.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/ui.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/urls.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc,,
+pip/_internal/utils/__pycache__/wheel.cpython-38.pyc,,
+pip/_internal/utils/appdirs.py,sha256=PVo_7-IQWHa9qNuNbWSFiF2QGqeLbSAR4eLcYYhQ9ek,1307
+pip/_internal/utils/compat.py,sha256=D7FKGLBdQwWH-dHIGaoWMawDZWBYApvtJVL1kFPJ930,8869
+pip/_internal/utils/deprecation.py,sha256=pBnNogoA4UGTxa_JDnPXBRRYpKMbExAhXpBwAwklOBs,3318
+pip/_internal/utils/distutils_args.py,sha256=a56mblNxk9BGifbpEETG61mmBrqhjtjRkJ4HYn-oOEE,1350
+pip/_internal/utils/encoding.py,sha256=hxZz0t3Whw3d4MHQEiofxalTlfKwxFdLc8fpeGfhKo8,1320
+pip/_internal/utils/entrypoints.py,sha256=vHcNpnksCv6mllihU6hfifdsKPEjwcaJ1aLIXEaynaU,1152
+pip/_internal/utils/filesystem.py,sha256=PXa3vMcz4mbEKtkD0joFI8pBwddLQxhfPFOkVH5xjfE,5255
+pip/_internal/utils/filetypes.py,sha256=R2FwzoeX7b-rZALOXx5cuO8VPPMhUQ4ne7wm3n3IcWA,571
+pip/_internal/utils/glibc.py,sha256=LOeNGgawCKS-4ke9fii78fwXD73dtNav3uxz1Bf-Ab8,3297
+pip/_internal/utils/hashes.py,sha256=my-wSnAWEDvl_8rQaOQcVIWjwh1-f_QiEvGy9TPf53U,3942
+pip/_internal/utils/inject_securetransport.py,sha256=M17ZlFVY66ApgeASVjKKLKNz0LAfk-SyU0HZ4ZB6MmI,810
+pip/_internal/utils/logging.py,sha256=aJL7NldPhS5KGFof6Qt3o3MG5cjm5TOoo7bGRu9_wsg,13033
+pip/_internal/utils/marker_files.py,sha256=CO5djQlrPIozJpJybViH_insoAaBGY1aqEt6-cC-iW0,741
+pip/_internal/utils/misc.py,sha256=uIb58Hiu_g2HRORo2aMcgnW_7R5d-5wUAuoW0fA2ZME,26085
+pip/_internal/utils/models.py,sha256=IA0hw_T4awQzui0kqfIEASm5yLtgZAB08ag59Nip5G8,1148
+pip/_internal/utils/packaging.py,sha256=VtiwcAAL7LBi7tGL2je7LeW4bE11KMHGCsJ1NZY5XtM,3035
+pip/_internal/utils/pkg_resources.py,sha256=ZX-k7V5q_aNWyDse92nN7orN1aCpRLsaxzpkBZ1XKzU,1254
+pip/_internal/utils/setuptools_build.py,sha256=DouaVolV9olDDFIIN9IszaL-FHdNaZt10ufOZFH9ZAU,5070
+pip/_internal/utils/subprocess.py,sha256=Ph3x5eHQBxFotyGhpZN8asSMBud-BBkmgaNfARG-di8,9922
+pip/_internal/utils/temp_dir.py,sha256=87Ib8aNic_hoSDEmUYJHTQIn5-prL2AYL5u_yZ3s4sI,7768
+pip/_internal/utils/typing.py,sha256=xkYwOeHlf4zsHXBDC4310HtEqwhQcYXFPq2h35Tcrl0,1401
+pip/_internal/utils/ui.py,sha256=0FNxXlGtbpPtTviv2oXS9t8bQG_NBdfUgP4GbubhS9U,13911
+pip/_internal/utils/unpacking.py,sha256=M944JTSiapBOSKLWu7lbawpVHSE7flfzZTEr3TAG7v8,9438
+pip/_internal/utils/urls.py,sha256=aNV9wq5ClUmrz6sG-al7hEWJ4ToitOy7l82CmFGFNW8,1481
+pip/_internal/utils/virtualenv.py,sha256=Q3S1WPlI7JWpGOT2jUVJ8l2chm_k7VPJ9cHA_cUluEU,3396
+pip/_internal/utils/wheel.py,sha256=grTRwZtMQwApwbbSPmRVLtac6FKy6SVKeCXNkWyyePA,7302
+pip/_internal/vcs/__init__.py,sha256=viJxJRqRE_mVScum85bgQIXAd6o0ozFt18VpC-qIJrM,617
+pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc,,
+pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc,,
+pip/_internal/vcs/__pycache__/git.cpython-38.pyc,,
+pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc,,
+pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc,,
+pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc,,
+pip/_internal/vcs/bazaar.py,sha256=84q1-kj1_nJ9AMzMu8RmMp-riRZu81M7K9kowcYgi3U,3957
+pip/_internal/vcs/git.py,sha256=CdLz3DTsZsLMLPZpEuUwiS40npvDaVB1CNRzoXgcuJQ,14352
+pip/_internal/vcs/mercurial.py,sha256=2mg7BdYI_Fe00fF6omaNccFQLPHBsDBG5CAEzvqn5sA,5110
+pip/_internal/vcs/subversion.py,sha256=Fpwy71AmuqXnoKi6h1SrXRtPjEMn8fieuM1O4j01IBg,12292
+pip/_internal/vcs/versioncontrol.py,sha256=nqoaM1_rzx24WnHtihXA8RcPpnUae0sV2sR_LS_5HFA,22600
+pip/_internal/wheel_builder.py,sha256=gr9jE14W5ZuYblpldo-tpRuyG0e0AVmHLttImuAvXlE,9441
+pip/_vendor/__init__.py,sha256=RcHf8jwLPL0ZEaa6uMhTSfyCrA_TpWgDWAW5br9xD7Y,4975
+pip/_vendor/__pycache__/__init__.cpython-38.pyc,,
diff --git a/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/WHEEL b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/WHEEL
new file mode 100644
index 0000000..ef99c6c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/WHEEL
@@ -0,0 +1,6 @@
+Wheel-Version: 1.0
+Generator: bdist_wheel (0.34.2)
+Root-Is-Purelib: true
+Tag: py2-none-any
+Tag: py3-none-any
+
diff --git a/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/entry_points.txt b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/entry_points.txt
new file mode 100644
index 0000000..d48bd8a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/entry_points.txt
@@ -0,0 +1,5 @@
+[console_scripts]
+pip = pip._internal.cli.main:main
+pip3 = pip._internal.cli.main:main
+pip3.8 = pip._internal.cli.main:main
+
diff --git a/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/top_level.txt b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/top_level.txt
new file mode 100644
index 0000000..a1b589e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip-20.0.2.dist-info/top_level.txt
@@ -0,0 +1 @@
+pip
diff --git a/iot_env/lib/python3.8/site-packages/pip/__init__.py b/iot_env/lib/python3.8/site-packages/pip/__init__.py
new file mode 100644
index 0000000..827a4e2
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/__init__.py
@@ -0,0 +1,18 @@
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional
+
+
+__version__ = "20.0.2"
+
+
+def main(args=None):
+    # type: (Optional[List[str]]) -> int
+    """This is an internal API only meant for use by pip's own console scripts.
+
+    For additional details, see https://github.com/pypa/pip/issues/7498.
+    """
+    from pip._internal.utils.entrypoints import _wrapper
+
+    return _wrapper(args)
diff --git a/iot_env/lib/python3.8/site-packages/pip/__main__.py b/iot_env/lib/python3.8/site-packages/pip/__main__.py
new file mode 100644
index 0000000..e83b9e0
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/__main__.py
@@ -0,0 +1,19 @@
+from __future__ import absolute_import
+
+import os
+import sys
+
+# If we are running from a wheel, add the wheel to sys.path
+# This allows the usage python pip-*.whl/pip install pip-*.whl
+if __package__ == '':
+    # __file__ is pip-*.whl/pip/__main__.py
+    # first dirname call strips of '/__main__.py', second strips off '/pip'
+    # Resulting path is the name of the wheel itself
+    # Add that to sys.path so we can import pip
+    path = os.path.dirname(os.path.dirname(__file__))
+    sys.path.insert(0, path)
+
+from pip._internal.cli.main import main as _main  # isort:skip # noqa
+
+if __name__ == '__main__':
+    sys.exit(_main())
diff --git a/iot_env/lib/python3.8/site-packages/pip/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3056e22ee11bbbb714b9e47cb0fbc6f0523f5c4a
GIT binary patch
literal 629
zcmWIL<>g{vU|{fR*`0Enk%8ech=Yuo85kHG7#J9ejTjghQW#Pga~N_NqZk<(QW=XB
zQW#R0a+q?NqnLA9qF5LiQkbJyQ`l2jQ`lM<qu5edf*CY9UV=>1WV|Kh8yOH8@9g2~
z>>VEz>gVU_=dQ_gi^V6ixa1axe?duReqLfu6`PTPo`If`Uos;|8x%7!Fff3yGsqnx
zAa^jPFoE1r%gD%3!&t-6%oxm|$y_x(BqOs}A+uN^F;5{guOzi7FEK~KF~CzHKQE_J
zAvZNKuS6j&zeu69I8`C3QlTKTK)qNYzdTPNIX|yBKPOe8IJqdZprlxji%UU4LBTD*
zNFgyLB@^N_g_P8i#LS#x9fji5RE3O^l7eC@ef{*zl8n+Mz2y8{{esGZME!!y0{zV5
z;?mS&eRC5_3q7zwMIg^;GT!2dFE2_gC`c{RWV$6^kXfJ?4|AnnX-Q^Iv0iFkNl|4%
zer8@taS<y60|O|45{uFyoRthk91IK$zYO$CatlBf>6YddBqnF4rs$Suq^9QR=A_1F
z8s!(IfaLV!<1_OzOXB183My~0<R)h3fugyX1r(xeJWNF(o+hK8Ci^WZYz`@@EXd4D
zF9HSnEjB0zloE<S2HfI~k1tCtD$dN$i;oAJ1a=q_!O6hDaErqxH$SB`C)Ez*`(lvO
Md6-xj1(;cw0al@-ZvX%Q

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/__pycache__/__main__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/__pycache__/__main__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..83ffd61686740facd484853fa7cbc1c05a01ae97
GIT binary patch
literal 422
zcmWIL<>g{vU|{fR*_~3s#K7<v#6iZa3=9ko3=9m#SquyeDGVu$ISjdsQH+crHd78$
z6jKUA3R4bq6mu#|3UfA7ky|QL7V82wD9OH%aUo+AYbtXV>jI7xhE&#tOkkZXIh?s%
zQQV9SsXQsH*-S-gsmu#_Q@NWN7J^J>3TDt`dkJ!dCgUys#H8Z<oYIoi_{`jb{Gt-S
zTMU|vw^(u$GxKh7#K(i^_;^jeTU_z+X{9BlMXB-eMNA9~47Zr_i*GR(R~Fymj*l-$
zOwLYBPmPbi#Zr)1l5vYYC9^0mF*g-tLRw}HNP;ahuQ;`+<d#@LW`SOOW?o5ZQC?z>
zUUE*R9>|U&7Lb{&VEaJ2K)ON3rB-B?tYjz>Vqky}zYO$CatrheG7EG|^FY?7rs$Su
zq^9QR=A_1F8s!(IfaLUH4%aKFyv1RYo1apelWNBZ3TFWZ1_mA`4n__Z4ptFHJ|++w
E0IDW+P5=M^

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/__init__.py
new file mode 100644
index 0000000..3aa8a46
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/__init__.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+import pip._internal.utils.inject_securetransport  # noqa
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, List
+
+
+def main(args=None):
+    # type: (Optional[List[str]]) -> int
+    """This is preserved for old console scripts that may still be referencing
+    it.
+
+    For additional details, see https://github.com/pypa/pip/issues/7498.
+    """
+    from pip._internal.utils.entrypoints import _wrapper
+
+    return _wrapper(args)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ffb0679fb95cc9e056f3131283ce5648b8efee68
GIT binary patch
literal 678
zcmWIL<>g{vU|{fR*`315#K7<v#6iZ)3=9ko3=9m#W(*7rDGVu$ISf&ZDGVu0IZV0C
zQOt}Csmw(hDGVvhIV`!XQLMRaQEZG1DQqb$DXcAwQS2#<!3>)0FF_{yX)@jt@{J6L
zjCb~Mb@q-A3ib2z^mEr_y2asNP?DLSmzZ;l#V514B$*MU9EzD37#Kj<8RP~LkQ*3N
zm~t3$8EY9C8EP177@9#gFjvhB$;d2L$ShVUC`v6(Eh<Y*QAo=#QpnFqQAp0uE6&eJ
zRVYp_$}A`;Rw&6xEK$f!tW+p2$;`=7NJ>>GN=-{GO3h2o%uDA|P*70FEYafvGu-lv
z6cSTXG9k`WNJ%Y8%*-j)Q7BGLRmdnQDJZtm*H6zZ$tX?IOU}>LFQ_a?)Gx>^(9bL`
zE=?`gH#f1g&;uJ(1oD$6<1LQ(@}k6og47~Srd#p_nFV_BnRz9tMR|!idZi_qImLRZ
zc_l@a1^JnICB;Ro3=9mKOt)APi_#&Sl?+833=9mvtn^EA3qTg>mgW^CCTFLn=$2=s
zrsnA8q{e3&<rk%Z<n-Z2>&M4u=4F<|$LkeT-eSp3%*^8ig(eFqh}n6Via;qqlhIF;
z<CYdSCuQbkr6!le7pEqd7NwRHCFT_u<QJ9PVlK!mxFv;6LrG;pW?p&`DB5nZK{=pw
oR0OgSY#Z1cNCe0|w>WHa^HWN5Qtdz*i$NacVB}$9VH98n02_9<E&u=k

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/build_env.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/build_env.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b146451219b77510d81574e9bcaa76dc67d31f28
GIT binary patch
literal 7483
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
J2-Gu30RTsXblv~}

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/cache.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/cache.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..058d4a086f14da06351fcbce6ec9b1542e05c929
GIT binary patch
literal 8700
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/configuration.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/configuration.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..52acaa18ca5faa5ab4dc420e55fa2e2fbc87128e
GIT binary patch
literal 10645
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
GAr1g^C(g_O

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/exceptions.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/exceptions.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7fc5a5e9ac62f6dc6834d7f221eee91a657fcc60
GIT binary patch
literal 12482
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
OfKxzKfK$L+fE55Bk?zI-

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/legacy_resolve.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/legacy_resolve.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..96d37fca4db6276f5265c27eb7294fa4f7c27bdf
GIT binary patch
literal 9898
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
R$n~FvS%8U)jo~ks0RVW7Gt~e9

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/locations.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/locations.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f4a641f6907624b59f5773b7898e922c1d959569
GIT binary patch
literal 4492
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
W1=P*}<p2hT|6ESs0RvEf=NAAC_yA-8

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/main.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/main.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8125987f49e3fdf0242a57adfe94c5c5c7694661
GIT binary patch
literal 615
zcmWIL<>g{vU|{fR*`2bLk%8ech=Yuo85kHG7#J9e^%xi!QW#Pga~N_NqZk<(QW=XB
zQW#R0a+q?NqnLA9qF5LiQrJ>hQdnCUqgYdzgBdj0UxG~1WV|Kh8yOH8@9g2~>>VEz
z>gVU_=dQ_gi^IR5Br`uRG3OSGPiAq6Uos;|ITSN7Fff3yGstcckll<aOdz{!85tRB
z7;6}s8G{)#nXBf7WMmdAWELwF6r~oY7L}!@D5T{VDdgv*C?x0S73b%qDikLdWfqha
zE0km;mMG*VRw@*iWai{3B&8}8rKY78rRF7P=B0BfC@3gomgsST8E*MS3W+HxnGp9W
zq@<Q4X66*@C={orDrA(D6ck(O>!)XyWRxc9CFker7gQD`>K9}d=w}uem!=l$o10i#
z=z$F?0{Kak@fJsXc~N3PL28jE(=GXe%mTgm%)FA+qP)Z$z0#7*oMOGyypp2Ig8a<9
zlHwv(1_lOArduqDMd=XEN`@j11_p*-X8I+$1t5!bOY;g6le1G(bjveRQ*(54QsXm?
z@{3YHa{6$i^>Y(5^YjWTZ?S+F?4Xcj0R=BR4^t5+)-@UZG}&%RVRKGNWkF_MdJ!lF
vZm~f*prlX)G61X@>>?zBlYxQZ7Kcr4eoARhsvXGN#cT`=3_MIMi~`I6xyGPS

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/pep425tags.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/pep425tags.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..be7092ff3cda7d6c7b0822656c288f47b26ade00
GIT binary patch
literal 3584
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
QjDv@RgNuuS5e)wT0H!9CIRF3v

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/pyproject.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/pyproject.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3eca3aa7b75a636c9eab0e457bb057448a7161de
GIT binary patch
literal 3732
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9db7daa32f70a00ba178490845aeedf0b8866ae7
GIT binary patch
literal 5493
zcmWIL<>g{vU|{fR*`4Ak&%p2)#6iX^3=9ko3=9m#L5vIxDGVu$ISjdsQH+crHd78$
z6jKUA3R4bq6f>A+iDCiMtWm6Bnk|YQOmjqWq%fo~=Wyn7MR9@kvgB~*@<j21*{nHy
zx%^T5U^ZKhK(1hvAehabBa|x~B@AYB<cQ>oMu~#ioH=5-;!)yYHdl^Bu4I&Cu2hs%
zu5^?%Sd2SICRa8}Hdii6E>}KE9xTR_qmZi@r3hy8<|ySVM=3Khq$*EfEaC&ZP$fzw
zg&~D6M<rJ^N)@b%KSwQBJxV=SBT6GzGfFd8D@qG2E|8<0s}rTe$dDo!rJKsSKrdB)
zA!C$5ifoE-ibxA%lwpc!idYLnl#x3_ig=1d3qy)Ts&O-Olu3$Yic||jlxd1|icAYb
zlvxT>FoUMtOHgQQGT!1(Oe)ULDJ@Bj&&(~zFDmiVWW2>&kewc1lv<o$T9lkxtjTzb
zy)3n;I5R&FB$t|3Tw0VGpOl%GSX2oT@X5@}cFxbqNlh-vF9Hb!BqnDkrl-1P=B1>9
z1h|7!6N{2Ff|K(LQZ*TGi3F#D)Mn=A1r(*Gr52^;fh=LZC776!m6)8GR}x>6TM(a?
znUi`;AUPv7IXk`}u_PltzdSFs=oWiXYC%q7a;hftEiR}_QZkEfiKeHP#AoIemn7!o
zq^86}oqJ29C^aQ9xg<WZv?L=wttdY?zO*O@<V0lUASVj>Mg~O2JA1e~d&dWb`uTbK
zxoa}sVhc;mDNQZbWVyxcm{)m=#U(Sj<Q7XvYDLK{*3djicyI+|76hjjgF>fDNHtPd
zHCI<PB}CQ3O4Zj&H8{#GnHdz&P|VK2zyQL|pp>1!z`#($n8lFJSi_jbD9%vJT*H{f
zRAf=ZRBTbgynrQzF@<RXYYKA;OAA8{vkOBr<3h%TOpFZa5S45N4(SZFEG6t&95pO8
z%qgtBOtq{foHYzJtSM~0Otow^Y{3kg>{Z*i6ciK`tO^o~5_1)bAuhF22+2rQfI3^D
zBwwMlI2A<YCT6E96r~oHrWThJ>!D~YEhs2TEiR7F%Z~@eYlW3Uct&bTMrsjAUuJq<
zeo?AINk*!Iu5MnwE?9*^enClQejeBqkQ2%?Qu7p&^Ye;Jib|79GV{{G>XFihLVi+K
zYH|t0-YOAKkf9)DVAE2ItrS#?e=+JLGeQFsL@_ZiFn|KM7!;slpa5lv<*Q{ZVW?qj
zW(;FsWGG}xVF+ee$>^uaSj5l3z@W)=i%HMm7ISG)&Ps+N83qQ1U#|Kkxdr+KnFYF~
zc?F5d*{LbI<r%4|Il4Ki@tH>XMJXUT{rJqhlGLKS#2o$N)SR^V{L+$?#FEsMcyJ2U
zE2zB1X_KCsms(L!WM>a@45$EOVPImYQUe8Qd`@Owc6>4{m+0B#<R>TQ6x->+HEA;4
z;!4ZRO987azQqOhG$^?iYckzphsN72o?>uTiZ2G|C9YeXaAmgyQY%V|5+RWT)_02o
z7FV~}a`MyDQ;Tk~rlcm7rr%=8%FoOzl4oFGDB@sXV7SGWT$Gwvl3K(D3Ly3(MUWUf
zB=(AL2^OPAeUSo4Cs?}@NGTtx=fI%~A!I?)!dL>p02D-^&}ZQ0W8`9FVPs+y`p3e;
z!pz0Q!pOwH^q-A|hp9-Hfq?-fx<OG5!r=TP#lXN&!cfD|%vj4<!nlB`hH)X|0_KGb
zwM;ck!3;%`AkVNAv4Whyo{?Cbk&~Hpi>){#(a6Z;7H39kMM`FRYH^7s^DXA=)XH0&
z*{PNBNtGq3#kW}U5_3}_9soJ92;z%)P?=F&l30=oDw^U!YWzXI00kNY69*$7W048S
zy`W@?j6v=N*JK(D3=F9ZQH&`JQB0t`-NF#XoXP^p-_49stSPK1Y%L5?Y$@!)44NFb
z_<~b&(wsr%UognhWKdFvnF}%#RDXiQA&-H9A(NqoA)X-xL^9Se7G;$%Wic;csbNfE
zEMcu-$YN_|T*zF*5YJepR>EGxkj2={*e_JeRKl@<vxaFQBS>#JgDFEGLl8p*LpVd8
z6bnNMR|$6sPa1PJS5XEd0|-Vk<S|7sfU=V&liw{)P&NQ3eofw6tl)6D#RsOq!2>F?
zZ!zT;-(mr=ia>q`2Tze9C_Y&73sUoLv1AqJ=iOq-$xlqV#qR0vT2z!@bc+jI=0eyU
z-l>&fmL~Hp7La|nIFl2TGg9M0MLs9oGW4k8h>y?A%PfhH4+q5$D48%Yu`#kSvoNxO
z(iQ{9e>P?&Mjl2fMiJ&JanxYegXu*{cc3B%gu&qritrMKEJj!wW4gs$Tv>dJt)M71
zEwe(CvB(jWJ-{gkOn{OP*xQ*P=YXS;sY(dV+U(Ryl$ru$2`2*s1K7r8;DRlSp_mI4
z`X!9e*k#CKSjgDSSgZgRWknTbWB|o`4buYl5{`w8pp-C&xt6(vGmEQ+IfV(7>Ux=L
zSxUHT7_u0e8T&<QS!-Aq@Rab@uz>0rMg~NBs1hpSt6|OJ2diWP$>fQ!Fq8;na}_NB
zr3*#|q?Ezxr^yWV>@BXG#NrZ2@py};pt2wnRx5{SG8IXH3SLGlO{QC%#rZ`g@!6@B
z#kaVMQ$e*<Nq$kWreKi;C=|Itge8cu0;L=Fl*}Sf#w+3l34xOmM{!9}T1jSZ>MfyQ
zS06V>74G5~;u`Pf8&YHg(#4umnp;p@1j;bCSj&qtOH#q5LJ<$h5Mz)EcK={VI%9)G
zo(D*fC%Lq!2;3aW%uOva2MMv1fa-q6H1rh5Qk+<pnhT0vP|?W1%*M#VEX2sdBE-tV
z$ic|;n~g(&iHA{wiHTW=k&mfL7%lQay8SfSZ*jzfi<S8JTU_z+x%nxjIjQmSw|L^?
z3riDoK>m)8FLD97gQK7*zaX`!q!Jv|MWG;%fYTa+0H-=r1_p*Okh4I=JO?9(5ECO8
za}h`sC3%C=BuE7~v6(S2FjPsDFf3rKVOYpm3o1gGK(%Q$Q#eB~0}De5Ll&q|Fn~op
zs5u$Ikis0ypvh9T6<lByE0jaq1_jya3gwB#3h<_xLQ<tdL1qCLxK$96ky)&eSqy4@
zq$uR&mw=iQDVfCuIf<3vwn1q@dQoCZszPpRadBdLD#+A4kZzEk%shp(#N-mNIVh$V
zR~DC~<|=?{a*&?f#Jt4x)FK^);?m>{g~Vcol)N;B{5%D>)Rg?9L`YlX7IQ&nft#Nu
zOA)AGy(IuD=~FU`ONug+N<mGSA^}jKi?|>O`Q?|m<(KBAXfoYmF33*5#R6838vM6J
z$`gx`TBS*q@dcR$6G8C-N{bBaOpIKNe2fB&Me(4D0~8Ce0v^;<fyYP)BdDTFVQgju
zRc*xrpb!UFcuWf!YnfA+YFQ>QR&kYpnvX0g%)N}YtR<{jtP9u{GSsrAu+*?-v1hXt
zRi&`PSYTNW5HE#AlA(liAyX}T4O<Pn1j7QZg$yZd*$hQhU|Cj4hFX>ymK3IJj-p$j
zqN0W|g*}C%m${asgeQeFg)@b#m#LPsgg1+?hNFfvg}axjmaB$q0e=ePLdGnCTJ9Qd
zu-+r#3}814)^KMDH8a+-)UYlPu3@QR12t#CK4DqNSj$txT*H&ikpHiSIZLF5Crc!o
zIsadYDA?b;HM|oTi+LdCr0^^dD-q9<Sjbq*S0cGUDuuU(xrU{NZy^h~a8hAmD3Q+Q
zn!s4(2T7wPl36k-d@1ZH{Jl)@!V1(05~#WjPOl1S`9%tec?zWkpf(+tSCCnt2T7zp
znYo!I;N+MFZW-q#S1RPEDS)fKVo-|B&r42KC`c_*C{Inz)>8o2)}RzxT#{dunxc@J
z32r54LK?!LCURnONoHB9LRn@}NoitEYF?Q_evv|E9@vi3;?yGbVujFP*PwW3M`sV$
zco)wgh3wSI)D(sMv^209NJRrq`T0<h%mRht<f6=i5`}`qk_<?yE{bAcU;wpyoj}Ed
zJBR?4YncsJoD85cSPLYg&A`Cmrpa`RCov}{zdXJ&F)uqc<(4Rfmza|iUr>}<l$w*8
zSe#m{$yB5R$_V_$unrtZHm$gdv$|G6Hy4yMt2!g|OBE7}QWZ*zK~499%mM{yXG}r0
z*jgbYzdW@Jlp7I(prA@DOU%qkOv*{s;{xd~&d4v#Ndfm2GE-8E6d>gQ$h@-5L~szO
ztHR3^1zlZ;d@9HR>I%vExw(mXDSB0=AsMMfso>%#F;5{C)VhGg8pt3}Jme&nq!yRJ
z-It#RGC-5@7DsADa(rf9TE3=i5g*9If{?-_GcO%hhuvZ=NGvK&1sA17pzyuL0ZKaH
zdWfyGBsnj?98zO|s;2^waFHL#B;JzzlEj?&;?(5)yp&>a1Gk716c3<YVUZ?Ci7>bq
zkdz9lJQMR$GC}6v;zQ#z7nc+jfw~yrvi}xOQetr`%x&P(<Q7|6eo<~>Ns%kaOs>?5
z)a23<PzV>Pfdtsg6N~aP^U`l|x>h8og8OMj>YxTQKe+W@1WFsX1T!%@)Z7J`1#o*n
zsR``Mq9BkLz$pxrK#Gz;R<MEmky=!g4dU<>rRL_Bz@2zY4BY>LnG~N{9G{<)0_xs_
z%umiuL9bxNK;oblAY2PL|IG)Lr8%HNlY@hig^`7ci;;zig^`Dei%Eo$4OI31V_^|s
z<YMMvVqyftzib>}`X3uBsMEppkBx<gk%N(qk&Bs!iHn(ok?TJb6Wd=Vb~Z*fHXcyN
zgqewfiGk@42b%zh$H?@rr~(vFjBc9dplUj;v;;I95?=%=zKha80ig#Xz%37UP`?Wl
z%<TEadZ3(H1a8ZK;{+6xdhuncc`5lt;Cd%Y6jbOyMfBiF4ie2N3=9lW{KyK5Gb_N&
zm|L=7QCRm>58NZvgLgH-ow{2}*wjF*NR5X^6etPaQbbjlo1c=JQ>=&F>x6U}RdA?-
zj_g1R25{28C5NiCv?Md9SP#@mfYj9Bc3Ba)p$BS^-IBnjJU6pA8PezjWym5>^@#3o
zh`A6yW#*+r>TD@&hLuznfD{OV5++A}K?x))3xT+7P&r{x6pDZdQ4j$dSwOchFSVpR
zzbIP|+BGi{2Pp(+a?bSB5+87fy9m_y0_QkLRyP6L0U73ilpUa&ADp0&Qard70cyY9
z;;@0V0_{Lqy%?0Fc$hdC;gE@kk%y57LNf9&im-~Xg7~0>4{B}lFtadou`&GRlILI-
Iu;$<c0D%J7U;qFB

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5e6e8af08cdcecaf5ca9312359b42a3941bf8e8d
GIT binary patch
literal 6699
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/build_env.py b/iot_env/lib/python3.8/site-packages/pip/_internal/build_env.py
new file mode 100644
index 0000000..f55f0e6
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/build_env.py
@@ -0,0 +1,221 @@
+"""Build Environment used for isolation during sdist building
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+# mypy: disallow-untyped-defs=False
+
+import logging
+import os
+import sys
+import textwrap
+from collections import OrderedDict
+from distutils.sysconfig import get_python_lib
+from sysconfig import get_paths
+
+from pip._vendor.pkg_resources import Requirement, VersionConflict, WorkingSet
+
+from pip import __file__ as pip_location
+from pip._internal.utils.subprocess import call_subprocess
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.ui import open_spinner
+
+if MYPY_CHECK_RUNNING:
+    from typing import Tuple, Set, Iterable, Optional, List
+    from pip._internal.index.package_finder import PackageFinder
+
+logger = logging.getLogger(__name__)
+
+
+class _Prefix:
+
+    def __init__(self, path):
+        # type: (str) -> None
+        self.path = path
+        self.setup = False
+        self.bin_dir = get_paths(
+            'nt' if os.name == 'nt' else 'posix_prefix',
+            vars={'base': path, 'platbase': path}
+        )['scripts']
+        # Note: prefer distutils' sysconfig to get the
+        # library paths so PyPy is correctly supported.
+        purelib = get_python_lib(plat_specific=False, prefix=path)
+        platlib = get_python_lib(plat_specific=True, prefix=path)
+        if purelib == platlib:
+            self.lib_dirs = [purelib]
+        else:
+            self.lib_dirs = [purelib, platlib]
+
+
+class BuildEnvironment(object):
+    """Creates and manages an isolated environment to install build deps
+    """
+
+    def __init__(self):
+        # type: () -> None
+        self._temp_dir = TempDirectory(kind="build-env")
+
+        self._prefixes = OrderedDict((
+            (name, _Prefix(os.path.join(self._temp_dir.path, name)))
+            for name in ('normal', 'overlay')
+        ))
+
+        self._bin_dirs = []  # type: List[str]
+        self._lib_dirs = []  # type: List[str]
+        for prefix in reversed(list(self._prefixes.values())):
+            self._bin_dirs.append(prefix.bin_dir)
+            self._lib_dirs.extend(prefix.lib_dirs)
+
+        # Customize site to:
+        # - ensure .pth files are honored
+        # - prevent access to system site packages
+        system_sites = {
+            os.path.normcase(site) for site in (
+                get_python_lib(plat_specific=False),
+                get_python_lib(plat_specific=True),
+            )
+        }
+        self._site_dir = os.path.join(self._temp_dir.path, 'site')
+        if not os.path.exists(self._site_dir):
+            os.mkdir(self._site_dir)
+        with open(os.path.join(self._site_dir, 'sitecustomize.py'), 'w') as fp:
+            fp.write(textwrap.dedent(
+                '''
+                import os, site, sys
+
+                # First, drop system-sites related paths.
+                original_sys_path = sys.path[:]
+                known_paths = set()
+                for path in {system_sites!r}:
+                    site.addsitedir(path, known_paths=known_paths)
+                system_paths = set(
+                    os.path.normcase(path)
+                    for path in sys.path[len(original_sys_path):]
+                )
+                original_sys_path = [
+                    path for path in original_sys_path
+                    if os.path.normcase(path) not in system_paths
+                ]
+                sys.path = original_sys_path
+
+                # Second, add lib directories.
+                # ensuring .pth file are processed.
+                for path in {lib_dirs!r}:
+                    assert not path in sys.path
+                    site.addsitedir(path)
+                '''
+            ).format(system_sites=system_sites, lib_dirs=self._lib_dirs))
+
+    def __enter__(self):
+        self._save_env = {
+            name: os.environ.get(name, None)
+            for name in ('PATH', 'PYTHONNOUSERSITE', 'PYTHONPATH')
+        }
+
+        path = self._bin_dirs[:]
+        old_path = self._save_env['PATH']
+        if old_path:
+            path.extend(old_path.split(os.pathsep))
+
+        pythonpath = [self._site_dir]
+
+        os.environ.update({
+            'PATH': os.pathsep.join(path),
+            'PYTHONNOUSERSITE': '1',
+            'PYTHONPATH': os.pathsep.join(pythonpath),
+        })
+
+    def __exit__(self, exc_type, exc_val, exc_tb):
+        for varname, old_value in self._save_env.items():
+            if old_value is None:
+                os.environ.pop(varname, None)
+            else:
+                os.environ[varname] = old_value
+
+    def cleanup(self):
+        # type: () -> None
+        self._temp_dir.cleanup()
+
+    def check_requirements(self, reqs):
+        # type: (Iterable[str]) -> Tuple[Set[Tuple[str, str]], Set[str]]
+        """Return 2 sets:
+            - conflicting requirements: set of (installed, wanted) reqs tuples
+            - missing requirements: set of reqs
+        """
+        missing = set()
+        conflicting = set()
+        if reqs:
+            ws = WorkingSet(self._lib_dirs)
+            for req in reqs:
+                try:
+                    if ws.find(Requirement.parse(req)) is None:
+                        missing.add(req)
+                except VersionConflict as e:
+                    conflicting.add((str(e.args[0].as_requirement()),
+                                     str(e.args[1])))
+        return conflicting, missing
+
+    def install_requirements(
+        self,
+        finder,  # type: PackageFinder
+        requirements,  # type: Iterable[str]
+        prefix_as_string,  # type: str
+        message  # type: Optional[str]
+    ):
+        # type: (...) -> None
+        prefix = self._prefixes[prefix_as_string]
+        assert not prefix.setup
+        prefix.setup = True
+        if not requirements:
+            return
+        args = [
+            sys.executable, os.path.dirname(pip_location), 'install',
+            '--ignore-installed', '--no-user', '--prefix', prefix.path,
+            '--no-warn-script-location',
+        ]  # type: List[str]
+        if logger.getEffectiveLevel() <= logging.DEBUG:
+            args.append('-v')
+        for format_control in ('no_binary', 'only_binary'):
+            formats = getattr(finder.format_control, format_control)
+            args.extend(('--' + format_control.replace('_', '-'),
+                         ','.join(sorted(formats or {':none:'}))))
+
+        index_urls = finder.index_urls
+        if index_urls:
+            args.extend(['-i', index_urls[0]])
+            for extra_index in index_urls[1:]:
+                args.extend(['--extra-index-url', extra_index])
+        else:
+            args.append('--no-index')
+        for link in finder.find_links:
+            args.extend(['--find-links', link])
+
+        for host in finder.trusted_hosts:
+            args.extend(['--trusted-host', host])
+        if finder.allow_all_prereleases:
+            args.append('--pre')
+        args.append('--')
+        args.extend(requirements)
+        with open_spinner(message) as spinner:
+            call_subprocess(args, spinner=spinner)
+
+
+class NoOpBuildEnvironment(BuildEnvironment):
+    """A no-op drop-in replacement for BuildEnvironment
+    """
+
+    def __init__(self):
+        pass
+
+    def __enter__(self):
+        pass
+
+    def __exit__(self, exc_type, exc_val, exc_tb):
+        pass
+
+    def cleanup(self):
+        pass
+
+    def install_requirements(self, finder, requirements, prefix, message):
+        raise NotImplementedError()
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cache.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cache.py
new file mode 100644
index 0000000..abecd78
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cache.py
@@ -0,0 +1,329 @@
+"""Cache Management
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+import hashlib
+import json
+import logging
+import os
+
+from pip._vendor.packaging.tags import interpreter_name, interpreter_version
+from pip._vendor.packaging.utils import canonicalize_name
+
+from pip._internal.exceptions import InvalidWheelFilename
+from pip._internal.models.link import Link
+from pip._internal.models.wheel import Wheel
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.urls import path_to_url
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, Set, List, Any, Dict
+
+    from pip._vendor.packaging.tags import Tag
+
+    from pip._internal.models.format_control import FormatControl
+
+logger = logging.getLogger(__name__)
+
+
+def _hash_dict(d):
+    # type: (Dict[str, str]) -> str
+    """Return a stable sha224 of a dictionary."""
+    s = json.dumps(d, sort_keys=True, separators=(",", ":"), ensure_ascii=True)
+    return hashlib.sha224(s.encode("ascii")).hexdigest()
+
+
+class Cache(object):
+    """An abstract class - provides cache directories for data from links
+
+
+        :param cache_dir: The root of the cache.
+        :param format_control: An object of FormatControl class to limit
+            binaries being read from the cache.
+        :param allowed_formats: which formats of files the cache should store.
+            ('binary' and 'source' are the only allowed values)
+    """
+
+    def __init__(self, cache_dir, format_control, allowed_formats):
+        # type: (str, FormatControl, Set[str]) -> None
+        super(Cache, self).__init__()
+        assert not cache_dir or os.path.isabs(cache_dir)
+        self.cache_dir = cache_dir or None
+        self.format_control = format_control
+        self.allowed_formats = allowed_formats
+
+        _valid_formats = {"source", "binary"}
+        assert self.allowed_formats.union(_valid_formats) == _valid_formats
+
+    def _get_cache_path_parts_legacy(self, link):
+        # type: (Link) -> List[str]
+        """Get parts of part that must be os.path.joined with cache_dir
+
+        Legacy cache key (pip < 20) for compatibility with older caches.
+        """
+
+        # We want to generate an url to use as our cache key, we don't want to
+        # just re-use the URL because it might have other items in the fragment
+        # and we don't care about those.
+        key_parts = [link.url_without_fragment]
+        if link.hash_name is not None and link.hash is not None:
+            key_parts.append("=".join([link.hash_name, link.hash]))
+        key_url = "#".join(key_parts)
+
+        # Encode our key url with sha224, we'll use this because it has similar
+        # security properties to sha256, but with a shorter total output (and
+        # thus less secure). However the differences don't make a lot of
+        # difference for our use case here.
+        hashed = hashlib.sha224(key_url.encode()).hexdigest()
+
+        # We want to nest the directories some to prevent having a ton of top
+        # level directories where we might run out of sub directories on some
+        # FS.
+        parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]]
+
+        return parts
+
+    def _get_cache_path_parts(self, link):
+        # type: (Link) -> List[str]
+        """Get parts of part that must be os.path.joined with cache_dir
+        """
+
+        # We want to generate an url to use as our cache key, we don't want to
+        # just re-use the URL because it might have other items in the fragment
+        # and we don't care about those.
+        key_parts = {"url": link.url_without_fragment}
+        if link.hash_name is not None and link.hash is not None:
+            key_parts[link.hash_name] = link.hash
+        if link.subdirectory_fragment:
+            key_parts["subdirectory"] = link.subdirectory_fragment
+
+        # Include interpreter name, major and minor version in cache key
+        # to cope with ill-behaved sdists that build a different wheel
+        # depending on the python version their setup.py is being run on,
+        # and don't encode the difference in compatibility tags.
+        # https://github.com/pypa/pip/issues/7296
+        key_parts["interpreter_name"] = interpreter_name()
+        key_parts["interpreter_version"] = interpreter_version()
+
+        # Encode our key url with sha224, we'll use this because it has similar
+        # security properties to sha256, but with a shorter total output (and
+        # thus less secure). However the differences don't make a lot of
+        # difference for our use case here.
+        hashed = _hash_dict(key_parts)
+
+        # We want to nest the directories some to prevent having a ton of top
+        # level directories where we might run out of sub directories on some
+        # FS.
+        parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]]
+
+        return parts
+
+    def _get_candidates(self, link, canonical_package_name):
+        # type: (Link, Optional[str]) -> List[Any]
+        can_not_cache = (
+            not self.cache_dir or
+            not canonical_package_name or
+            not link
+        )
+        if can_not_cache:
+            return []
+
+        formats = self.format_control.get_allowed_formats(
+            canonical_package_name
+        )
+        if not self.allowed_formats.intersection(formats):
+            return []
+
+        candidates = []
+        path = self.get_path_for_link(link)
+        if os.path.isdir(path):
+            for candidate in os.listdir(path):
+                candidates.append((candidate, path))
+        # TODO remove legacy path lookup in pip>=21
+        legacy_path = self.get_path_for_link_legacy(link)
+        if os.path.isdir(legacy_path):
+            for candidate in os.listdir(legacy_path):
+                candidates.append((candidate, legacy_path))
+        return candidates
+
+    def get_path_for_link_legacy(self, link):
+        # type: (Link) -> str
+        raise NotImplementedError()
+
+    def get_path_for_link(self, link):
+        # type: (Link) -> str
+        """Return a directory to store cached items in for link.
+        """
+        raise NotImplementedError()
+
+    def get(
+        self,
+        link,            # type: Link
+        package_name,    # type: Optional[str]
+        supported_tags,  # type: List[Tag]
+    ):
+        # type: (...) -> Link
+        """Returns a link to a cached item if it exists, otherwise returns the
+        passed link.
+        """
+        raise NotImplementedError()
+
+    def cleanup(self):
+        # type: () -> None
+        pass
+
+
+class SimpleWheelCache(Cache):
+    """A cache of wheels for future installs.
+    """
+
+    def __init__(self, cache_dir, format_control):
+        # type: (str, FormatControl) -> None
+        super(SimpleWheelCache, self).__init__(
+            cache_dir, format_control, {"binary"}
+        )
+
+    def get_path_for_link_legacy(self, link):
+        # type: (Link) -> str
+        parts = self._get_cache_path_parts_legacy(link)
+        return os.path.join(self.cache_dir, "wheels", *parts)
+
+    def get_path_for_link(self, link):
+        # type: (Link) -> str
+        """Return a directory to store cached wheels for link
+
+        Because there are M wheels for any one sdist, we provide a directory
+        to cache them in, and then consult that directory when looking up
+        cache hits.
+
+        We only insert things into the cache if they have plausible version
+        numbers, so that we don't contaminate the cache with things that were
+        not unique. E.g. ./package might have dozens of installs done for it
+        and build a version of 0.0...and if we built and cached a wheel, we'd
+        end up using the same wheel even if the source has been edited.
+
+        :param link: The link of the sdist for which this will cache wheels.
+        """
+        parts = self._get_cache_path_parts(link)
+
+        # Store wheels within the root cache_dir
+        return os.path.join(self.cache_dir, "wheels", *parts)
+
+    def get(
+        self,
+        link,            # type: Link
+        package_name,    # type: Optional[str]
+        supported_tags,  # type: List[Tag]
+    ):
+        # type: (...) -> Link
+        candidates = []
+
+        if not package_name:
+            return link
+
+        canonical_package_name = canonicalize_name(package_name)
+        for wheel_name, wheel_dir in self._get_candidates(
+            link, canonical_package_name
+        ):
+            try:
+                wheel = Wheel(wheel_name)
+            except InvalidWheelFilename:
+                continue
+            if canonicalize_name(wheel.name) != canonical_package_name:
+                logger.debug(
+                    "Ignoring cached wheel {} for {} as it "
+                    "does not match the expected distribution name {}.".format(
+                        wheel_name, link, package_name
+                    )
+                )
+                continue
+            if not wheel.supported(supported_tags):
+                # Built for a different python/arch/etc
+                continue
+            candidates.append(
+                (
+                    wheel.support_index_min(supported_tags),
+                    wheel_name,
+                    wheel_dir,
+                )
+            )
+
+        if not candidates:
+            return link
+
+        _, wheel_name, wheel_dir = min(candidates)
+        return Link(path_to_url(os.path.join(wheel_dir, wheel_name)))
+
+
+class EphemWheelCache(SimpleWheelCache):
+    """A SimpleWheelCache that creates it's own temporary cache directory
+    """
+
+    def __init__(self, format_control):
+        # type: (FormatControl) -> None
+        self._temp_dir = TempDirectory(kind="ephem-wheel-cache")
+
+        super(EphemWheelCache, self).__init__(
+            self._temp_dir.path, format_control
+        )
+
+    def cleanup(self):
+        # type: () -> None
+        self._temp_dir.cleanup()
+
+
+class WheelCache(Cache):
+    """Wraps EphemWheelCache and SimpleWheelCache into a single Cache
+
+    This Cache allows for gracefully degradation, using the ephem wheel cache
+    when a certain link is not found in the simple wheel cache first.
+    """
+
+    def __init__(self, cache_dir, format_control):
+        # type: (str, FormatControl) -> None
+        super(WheelCache, self).__init__(
+            cache_dir, format_control, {'binary'}
+        )
+        self._wheel_cache = SimpleWheelCache(cache_dir, format_control)
+        self._ephem_cache = EphemWheelCache(format_control)
+
+    def get_path_for_link_legacy(self, link):
+        # type: (Link) -> str
+        return self._wheel_cache.get_path_for_link_legacy(link)
+
+    def get_path_for_link(self, link):
+        # type: (Link) -> str
+        return self._wheel_cache.get_path_for_link(link)
+
+    def get_ephem_path_for_link(self, link):
+        # type: (Link) -> str
+        return self._ephem_cache.get_path_for_link(link)
+
+    def get(
+        self,
+        link,            # type: Link
+        package_name,    # type: Optional[str]
+        supported_tags,  # type: List[Tag]
+    ):
+        # type: (...) -> Link
+        retval = self._wheel_cache.get(
+            link=link,
+            package_name=package_name,
+            supported_tags=supported_tags,
+        )
+        if retval is not link:
+            return retval
+
+        return self._ephem_cache.get(
+            link=link,
+            package_name=package_name,
+            supported_tags=supported_tags,
+        )
+
+    def cleanup(self):
+        # type: () -> None
+        self._wheel_cache.cleanup()
+        self._ephem_cache.cleanup()
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__init__.py
new file mode 100644
index 0000000..e589bb9
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__init__.py
@@ -0,0 +1,4 @@
+"""Subpackage containing all of pip's command line interface related code
+"""
+
+# This file intentionally does not import submodules
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..175884a65225f4e3f4f12b9cd9ac297e15c9deaa
GIT binary patch
literal 236
zcmWIL<>g{vU|{fR*`3nDz`*br#6iZ43=9ko3=9m#91IK$DGX5zDU87knoL#h!KFzB
ziOJcC>8T3I`FSOYnR%Ic=?aNCISTn{3I&-3>ctAl`MJ4?c_|7xnR%%SnRz9tMQMr2
zsR~7@If*5yDGJH?DXCn3nvA#D<Kt8EljGx8G88c}FhGc3cKRi`1^NY<1-hkqAd6B{
zbjveRQ*(54QsXm?@{3YHa{BRLWAhSo^pkTk_2c6+^D;}~<Mj$EZ*kb<=BJeAq}qXe
I@EPPK0E>x3wg3PC

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2558c852b50cb0d4b60da93ac603b1c17c4d3390
GIT binary patch
literal 4953
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
T;$Z|eDR`Jz7$ulF;yJ_t^0)OE

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e66d9cf66edf134f31264c3ae26e9af2c0ae88d8
GIT binary patch
literal 5847
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
T7zMzY5tKbe7<ri3n7Eh$Qig+7

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..018992cd0079348269d4c9fdf5a17496def764a1
GIT binary patch
literal 20328
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..afe55dfa7b56b369eac730a50c75af241e3da2b4
GIT binary patch
literal 1311
zcmWIL<>g{vU|{fR*`0EpnStRkh=Yt-7#J8F7#J9eV;C41QW#Pga~N_NqZk=MY^EHh
zT;?cdFq=7tC6_gdm60Kpwa6odA%!J}EtfrtJ(nYjBbPIZlaV2nGleyUErq?8DT>RT
zA%!D_vxOmrGnKoUIf^HRE0{r(`z6R;O~zY%$@zIDsTC!;iFt|XsYRNMw>VuZGE0I>
z5|gtv8E*;sMg~O2JA1e~d&dWb`uTbKxoa}t;_xg<ElMoOFS^C&4AJfj(SD0Pq_QA2
zEV1YoQ+!AW$gt%6vc#gy#JrMZkcG&Y8OkX(U|?WKWr$)-VTfXCXGmjAVN79a;fP{R
zWl3R9VQFD#W{hG5d8dUTimjc2g&~SPm_d{MmaubvZf;^;3d{wW6`py?j8H>C6o?J7
z1cZwf7#J8z7)lsx7@C<DFfC+YWJqDGVTflgVQFTlVTfl<VF+f>Wb$*<WV^*$Tw0J?
zR0N8uTO9H6nR%Hd@$t6=;xqH&a}zW3;-Mi{1Tyy)FN)Yo##=1KsX1vY8E<jM$0z3`
z78l3IuVnb;s$Y^@pkI(#pj(<(keHmEnxb2tk(!#Lo0A%!X_Q}-0+Q2@&&(@HEy_#G
z(NE6F)K7+Z4`!WSL1hsS0|NseD1ESj{Kv${$i`SDgC!XBV6Mgp4^9RK22e~CTQM*&
z)G%Z*6mgX>HZg+3f}u*Lh9Qfop9hr2!WbAC!Wm2%0vUoBBEYN^rW%HLh6o05NHP0`
zxM?yM@iH(l+~RXAE>0~f$;{7lEh@?{DgwE%h@XLhp-31`h=3IGAO{~vq!{EO24*fM
zHby2!4n`5CDg|u5LDrVc1oAo*gV>;0a0Z2m7}Q6_U>|{evVggUaUo+cgC?V&CJWfD
zMWP@VfgE^?Hx(4vu+Y_HDiQ!WQ2-jb@dZWsWtl0dMQDB~5@%pw0Hvj3P+nzV;$o^&
z#O7pF!#Qqo#K-3)=BCES-{Ojo&&^LM%>l7_;^PZT6LTOk;Mgq!d8r8G6|haWc%i8%
zIW;FIJ|4+2f*_B8!VsKJLGe(`!N9=4!N|kL#K^@B7WLEQy~PFfP)=qN*z73rg3JQF
z__EZzl>8z+grpH9IZJ_MVd+q>v?Md9Sg)kAATuw$2;}2iY)}p>$bL{VEMf<-Kz83^
p%TLNmO)df3jpS5tDgZh47KaVQ>vo{5366XoCJ<y{6k+0F1_10rJk9_B

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c0df537473411f1ac7a74c216759bae2f0caae59
GIT binary patch
literal 1406
zcmWIL<>g{vU|{fR*_~p<#lY|w#6iZ)3=9ko3=9m#OBfg!QW&BbQW#U1au{=&qL>&#
zY~~#1DCQK#6y_Y3C>Aiy8pR5x*`nA|7*kks*mF6eIKXOIb2xLkqPW0pwjAzUo+utL
zn>~j&moJJB%;w19&lQLg0JAxB1apO=gcuo8g^GGo7*n`%gmXorL~=!=L>U=USr&+;
ziZ5i0l1SlA;ZEUcVT_VYVGd@{<f~E$D9X%DEUHvUEGWpyOinDx%+FIu%_}LYEXdEy
zE79Y63G$&P<1PNgq~iRX(vsBp%-n+fq7pw%##=mzr6u{v`MCu-sU@kJjJJ3T5{rsc
z<CF7qa})DYG#PL4B^RY8mLQ981Y{Pt78T_eX)@m8PDw2&N`=^|$#_f1H!>hH-r2*|
z**iWc)X&e;&s~%07K=}2amg(X{{oQ95_6InLGFQKHU<U;P?R`>0{tEX149i%3PUzW
zkyr^s7Gnxy3PUTCBttDj3DW}Rg$#@gB`nPhj0{x*C9E|J&5SWjwT!h);S70REDR-V
z*<3|+j10BRj0{yeB@9{Y3pi4kYM8|s7BVt2K=>t`SzHj_0`3$>5G$O)lp%$ombs2O
zf+3P2k12woN~nZq0dEOU7GDbULMBFraE3es7KRd@EdFe+qC<=fwJc!!1r`XVu+*?X
zRDjK3sbhheQ6f~sn8I4al+BjH*2`4OTEn_PxQ1yVV=#jzyWdNY_p3NvgM$2ntQ1s>
zZ!uJ<dZy>)7iH$9E2M(LRYA2_p*$lsPoX%qqy!|Ilb@WJlUl{4tD9MzpOaXU3W^vG
zI9ucvb8%(yEtbTh^s*v$1_p*(VwrixC5bsX@#Tp{d6{|X@j3bF>8V9UpyXY|!oa{#
z1Pb?CY{exhsYOM%Sj&qtOHyw!<rm*#&&kY7Elw@C#gbZ)S#paFV)ZS~;?xo-lg-CD
z-qFYB7ArUnfK-5tzQvl7npB!z#0s*WB{wlMPm>MoqT*W|$+;=<d5O8H5LRMQdhsph
z)QaR=jH$QSp$TmzLy<BA1H&&X{gT`Q{esK_-O{{*#N_PM6y5TS)YKf^oYeSCqx_;2
zkeq&eW?o5ZQC?z>esWHxKFBh?g32Np1_lO0P%=^gr7b27Mm}Z^CN?G}MgcJ7W0YZG
zViaN&Vv=JNU;?YwWc1UNy2TzJpOT*(AAgH0K0d9qq_ikCKE8+v6i8wq&#;5SE;BE^
zNEjr<2NF^!$Slx<J3=oxCsPk88)fF_fdl%MET%G$TjRl5tOy(rx5UuYK=NHNBpfAB
zB~vSsQ^9$t7#w|3!l=@vC7C(JkocFvBBNJQSpf0|2gnC(P!1=^PoVsFi!(j7#0Q*8
zZgIqeqbokXND3qk3RiIKAQ37cLpW@5^HWN5Qtdz~x>$~Zfq{jIhlzs`44HTs;gE@i
JQGkg{76535fExe+

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..468bd9d9fc19f18ce73b505a4100d43849b67ed3
GIT binary patch
literal 2159
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
GhcW<jgjOd2

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/parser.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/parser.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..010801359c043dd01bc5babdeb841a1f61161dbf
GIT binary patch
literal 8977
zcmWIL<>g{vU|{fR*`30#%E0g##6iX^3=9ko3=9m#rx+L*QW&BbQW#U1au{=&qL>&#
zY~~#1DCQK#6y_Y3C>Aiy8pR5x*`nA|7*kks*mF6eIKXOIb2xLkqPW0pwjAzUo+utL
zn>~j&moJJhmp_Uh%;(4v$Q6tdWMoKXULcezypS<U#GN69Gli>#A%!cIB}=rKIZDi(
zA%#1Ir-dPfCsnMOIZE7}A%!=EuZ1CnFO?-rqM12L(w!lNKSiL0Aw?invY9zbDn&3w
zsD&X)I)yoyK~uO&!YQ#hRUyBiBr`uxp&+rSIJHQjIJKm-;3dfanvA#j6O)Sbb4p86
z<1=#$@{3CRG#PJk7MB#2<R|6l=V&tC;wdgE%FIiTFR3g@E!Jeb#T)A9?dKov7w;Mr
z<R7HTbc@$HKQApay|gG1WXUZd6s~JgQGSso<1NAT)ROp;)S}$Xyu_UN;>@blWRL@p
zF*7U@f*2SWQW>HcQy8L{QW&F{Q<zeiTNt8PQdm-0TNt8PQ$$lZQaD=}qu5foQn*_f
zqS#Y-Qg~Y!qBv6cQutdKqBv6oQUqHVqPS9oQiNL=qPSB;f*CZ$ZV3kzrIwUbdZgwQ
zxaAk+CYF?>7FC%zDinZ(GgFK7b5e_o70ObJlJbjF6*5wD3KY^{>Od?|ID*4aFPRa^
z<sgTHus<jTS%FdzV+~UZlMO=(a}84piw#2wLo-7Pt0Y4Tn*>7*QwqBcLkVLRQx<a#
zLmFcZ<2<GsraneSh7^Wi22BpXmvRgY47UVx6D#6DE{HG4FU|x7>`Rc9w*)ftQd09u
z;xqG-i&Aq_^Gb?9!Y`RXdRWUdQ%W*4S&BG7JdXT=60l=$iF$(dq^6*F{1!)id}dx|
zNqoE}^DUO*)SR?iEQv+w#kbh9%R%%?h9WTr28LfY`X#vq`URN<x}|vqiOJciDZ1qu
zsi`@-IjQlPM)^f4AUXZ`%)FA+qP)Z${p6fXeXzYndIgn5LJSNHQlM}Fxru>^gOP(#
zh_OlrOGN0woRbXl3@ms-Y*q#a24|2Nd<+Z>H4F<FY8XNJb0H{&GyDBwRj^Slw)@4T
zqoB!nODrA|WATtA9}h{q#VeVLgh7GA1`!7P3_^&5ghjDxQUuuvasUHkl_oY9W7Sn8
z!N9;!B+0<QkPIqTU>;#(U|@iIq=tckA)TR?rG_z!p-8HRWdS3ImBJ{=u#l0Fp@uPw
zsmK5-$^;WFVXk3mW=vtqW-0QhVOhYE!c@b&kO`!E0qa7BqM{ncEVhEU8pbU41sn?*
zYFWYhnQB-;JTb7jDa;EvYgiUC1~X`~BnmPzFmNeAK~QQ*X;Gd+qC#?hZf>G(acV(g
zQDRAIib76iafw2H8Ytm|3J_>$DkSEmDCDM=B$g!>73*=qjj;l0%Y`boQcx%<Eyzg)
zY1b&u$S*1ZN$4o#<maV>SeiNtse0*F3L5IVY3e!(>bkm+;8fQ{H!rs=u_!IK#0q95
zC@bbBmMB16qoAvhT9%ko3U+T|u>w@Jf+|cox^ejhCB>-)RtgGGZ{`=lRe&>75f3Oy
zFlch!;*JNq8<ducZ?Pp76r|>*+~SG{`2ZruoRgY&i!C#+IJKzc7I#Tvc4~1v$StY2
z*rCC5izOwsxa1aVPJVf6(Jhv&{LDN}HgH-jk^x!64t4G=P|7S$Ex5%3a$b=tC=G$K
zA0m+!fwGYbC`p3E88}#&*cb&EL70b;hlztxfKiC4N();u#hxWFvKc6)gR_|kD4Q{+
zFlI9q@uV;XgR&d5IH+)9@w>(D53Wjzi$JAR6_XVg*nyhR?8TmunwXNAmkt($5a9g9
z2Z`EvsI)c67oZHmz{tVK!dRt*&DE${P+SWtY(d(=t_1~43L~gkC}CW{RKvKCF@<R%
zlNduSQw>uvgC=uT6+C)f^NLH0QWZ)vQj1a*GK&@R^KvQ`^7B#^@>0ulGV@Xul2S{`
zQ&aO4N{bWIQ^BdcBqLQJEwiY&L;>n{xM7)T2!rzS6;e`*lZ!IJfujdkQ^m~{3Np${
zLA99c7n6d5Ci5*GXbBFou=o~7Noqw&c~N4)Ew+?YP|2>z3{D-lSix?%#hhD=5t=;E
zpaH7@H(S634XYSql>(lS1S`h~M|hbO29EV2zY>NThAhSu#%87>u@t6SraYDu=31s2
z#sy3%EDITH8EY69FfU}N1%)_E3F`tjaEP-mWU6IMVXI-PVN3&sJ!1`HFhdG^FsxF$
z#gdztnRkoB8C1UHr4--dc0q*KEk>>)eFg@GDt6UkD=yVyE^y+~WWU9pkyxBqQc`q_
z4N{@pV#@*L`GQ+)MPRzf0F+G(L4*+l0|PARxRK)G7HdvoQfdw)ErK#m5ja5#L4y!U
zr3WZcf|5Q16AL2`BO4P76BiQ)lMo{hBMVcN8lHefG6W@fK^Y2EJA;#{03>)hzySja
z98iX0@&kJn>^fK;VoNQ^%*n@ybY7^7A+k{*$AYo|$gwO;Rf>3=2houX$~3Ub2$Wtx
z7$jD##K6GN&X5MKQ(HJ{7#A?4FfU|uVQ6NoWlmvUz*xf!sWSXf8a*J-fs6oEtHq#T
zOJ}HIh~=qe>|m&26la*oRLBwxX+c1JcZ*5S;1&xg)vsg(m6@Q#4wiz%2$v10u1U_%
zEwD=hc@AVY8v_$Vl?gVlA?G1Io1FaQ#GGO~J%kZOmZ0>&bc?mPASbh=NCU)Ufn+Qe
zP>w5d0~NlUd8y^`AQu%w9O4Q}NucxrPFRUBXD~2I;K*6X&hXP@LR9^lJfP-PUSe))
zeEco0`1suXl+qj!n<qZLurx6TD#IQhpOT*(9}jLO70H6E2Nh>UdLWi5hyZ2pA}0_F
zoYui97(syD%E`dM0Adt_+FBfpEKD5i9L!we9IPB196}uIMId>M#x^MWKxP+%S}WKa
z+rbQ)thZ!C3sMqGGV{`1QqvMkb4rR)+K^T2oJ)&K@^i7Zl}n3L6*BV_AiV)dtq}n3
ze?S`yAsLy)phCD5WI<{%s4!JXfm))Fl$w@bl&X+gQIMDis!%|(xjG7oIXU^|nR)5p
z0=6V0HCLe|U!gc7zg(fTKp{E5s3<kLB&QN&EvVcEHJ`yPn9RI%NSTb0Jwd4qoIOD)
zq=q4jA%!8Evq%cWTEGY*vzS0FvJ&PjmIbUe3^j}kL3IkFpC(%os1my+5D#&FJj~^{
zIAE+IP>wGW1f?@Rh(BP8iljmDi582XPERf<#es7*BNw9pW0elxz}G`H)lZYP$Qxv^
z4~Xyu5q=;7WH2OoquB`RuB3r%1O);IBMVy*NCYFLfXWDPN>M=RmZdPYFhnt@vZOGl
zu(U8VGe)tdum&?|vfUDbBnjjgM+tUNg#)q?WLYsR*lU<-nEM!OSwL0K0;YuwjNnRW
z0doyw4GXxD%M#3>$ylZ332tgBB<3kV%y%!!FD+0=EKx{QNY5-w%~OE&mh?1PZV4o&
zq=4FKnfZC~=^%x-cp=Sy2(S1Sb3uMVkus=kV1<+o%$X?_MWDj0NE8%rtYBS8fd|TF
zw}c_>Jrt8mLE#AL;_xtWG4e50sbL0#9u|!#WhyABK|upfky@Y%1C$~eQy5#BB*8Uq
z7NZM8tN^4ou3^dox9ST;Kvjw+Q<aT-DkvO4#VDxFotTpYYG!BV=N0QHWacI3ltMES
zsBfE@2bEI*d$Cy0Pm}o;H#BrWCKQE&0)Q>Gq9iph1y->#7o`^8V$4Jj5Pl?m@rgM(
zb@0Go=3@j0h7y**K+^=uQfSFH666Gqf};F_)S{BgqBu}$Mx<dd3lt$m!65rU7?gE5
zm^e6@7{Ou~Nf}<~fzmVfLJvB^z?Q<^!Vtv<9%lfJFF?i_IH2PUoGE<444V9~p$<q=
zgcNR7#SpK;f)~<oQ7F&IOwLe%loiDanI*+YMO~#raz<)$c4l5WsFVX2ZOO<ZDhg?t
zIjP0q)@W*8S!Pjw9;n}+n4?gZSd^KVl#^PFl88VF2!z4;%LSB(m=-XkFfL@QVTfm}
z0kN4<m=`kDGM6ybFgJrlnL)X(Sf_-giLrz=i!F;C%eVxK-z^qUrFDxVvp7Eo)Yo#;
z<R}8Q8H+&mWDzLnZ?Qq#eT&br7}O)m%+CW4|A0%vTRh0Y1g`KjAvH20!xe#QezepD
zR@noJUGNYdBM%b~BNr1FW0f?Pngu?D015zDV+T~=fb@cM6{tw8;sZ5uKt;|%rf`N}
z1{Ma;a7;E=kq09~Eej(<l~f6H3S$k67(+87BSQ(x0@f68EfCIN%8<fP%TmV@!4S!i
z#}ol+-7@=CX*uR8q=H7e6!MdkON)w9QxsB4L8E30kPv~6je)uWFF~1HlkFBaIMN}#
zMMwY%KmsT%F{d;Y9B#K*3yL!HN^UV1R~Fx5Nv+5%(S(#!kgg+hc53A<=CZ_`Tg<5y
z$!NiLix*-(v^JWG2tX!AK1NWZwhCL-jG_r8S+PUMFF={9cnV~Y3sgEWr8CzuLMnk8
zNTZPnl$=0?xC=w9OAJ#jb1h2^OR-%E^8%I>R>+t|p-K(&0@f6^6!wKoF-*0rwQM!4
zHH_J8MJhE+HLQ{h3)pJdYFN_1p<bv0GB;MCmK7rB!VoJI!&J*w%K}jo#=yu>SXGz@
z9X`9omY$QJl$cY+YL%K-W`*JhQ2qy{3~+$~YAt1g+N@llK218qWQ-PT5h%q#k~g@p
z0TZAS=N6YuN@j8ixUsqr6tbYy4{EG3F;ux@OO~L)&-|j4)S}dsc$5?opIMTcTa46#
zg_~Pt?wOvKkC}!PvQsM+)K!bs6%s)OiF&aDc)$VFl1j}jD5=!D#i$1!!O&!fI2{yW
zw^+gU++xegPft%Ry2YB3npB!z1nTk>fvR;)c1ZolmtU4zRFs*L8V`2uE#BhPWYE|n
z#F@9aVchK0$|6u><rX_sq$mfqa0Z8xLOcO~&jE!UXdr=siHDhwQHY6!k%f_ok?9``
z3loz7BL|}hGiY3+%9xBWMQL+@YGzIb1_n^xEB0VyU?^c&z}UeAYTR`&#WR<%G&9sP
zbufVj(p(rOFvc>)Fm*E2GIua7U`t`_U=U|m$k@r)0UCVcD6%V*>0r!aPhrkxD{86Y
zDd7N>qP5K740$>%3?-b|Tty9x3?Nv-1ya|+P{Z8JT+7nIw168l_{In=I`SrgWK&qO
znTpocFfZU)$WY7N&d|=-&XmTS!kWU?!coHv>4W8EfK{?*GfiMD;;3O-z}vx?#RqDZ
zb}%mB2MzUgFfI_N0cWjR<_^Xz!GcFA9JOp6j9EejZ!#Hb**h4sggY2PDms|bSZdhj
zG1ahxMx68bI+zxSbbz{S%nO-onQNG97(r&+FciwvFu5?qighxSh;}e#F?TRDGu1G5
zFxW6mU@TNiVFHC3xY@y3wFulug*M<JjWB4TQ>;*)S&{)spT!DkMftg)3JzK%B5E~o
zjRzWt1hv_rHJqM;OFpR1Q^?6IDalDyC@x4%&P>cv$Vkjf$pO`rY57G8$*DypiJ5r{
z;F$@9{4}^hkfuekf(EE1Q>>|1#iXkXYT$4cm*f|v#+MY8rrzR)u+tKAic@c~Cg+#t
zm4LGXMu7n;_`sc9P|pn9$rY+)>|k2J01h|Ch0I7@T}{TKd{A?e30!pCVk}$949OWX
zpzHxM1yW3dvPY3S0|Ub)P!0eUNubiB${brdhcp`EVPT3?R)Bm5E`x4yBq!$NBqb(i
zgN@e|gH$MN;Hsp!C=k?+VgnZw#kZJ?Q%j1fKq6e=+zB4By2X|V&gVs-404MLtPfHJ
z$z<l0CFW$pimiBXEf=4gS_~T2y2T3Sg3FOx%!w%}MQR{}`Je_v2j6e;Cg<msr52Sy
zD!W^}FvrG&rWtPW!?}=ohoS~hSb>7^7JGVX326LBlLK5lK|I0<YJJ3mhI}DK5GU9T
z@wvt6x7hOwN<fw(wJ5-4c0I^MaF_=$FfeQZg*m7N$iT+O$i^hZ#K+3P$i&3O$i&FQ
z$j8XU$il$H!1SMmS%`^?k%Li!k%y6ok%JM`uIFNuV&Y>0jkby~vN2XE6A@o1=?PR%
zz?&j#Ky5RIEQVqs@W3TQ7I>Vcim!$N)Y$~}fx;Q`j93^-*s{5bf*2WU85tR>L~0lo
zu$OR@aMmz3GlF_X;6@2!En^)ctWi?Kuz;(EA&Yqd_d<q+jI~TP44~4*g(23YmKjuf
z)G&iek6M-z{u-7Nfo7(noEqi@f}nDwhIxTd4J)X}1!^2+@!2pG=78PC1Reoms_OQK
z)DNH>Sdy=ho0y#nY1D!RGExz(+QhVy)FOq<yyB9?ypqgBP$hz#LqS;`l1pKek_Gw2
z#hFPtsX7YiU1|+Yg%nU>0Me6^SyWP~P@Z3ut>>pHd`qmLC_g#1xEPi@AStXEocxO#
zL9q@>`$ga?kR>NSF{KEUn~SnRGN5MRE#~5qq9RbDxW$s3Ur>2V09<7y=Hx(ocg44u
z(^E?z$(k#(7~-Gg)FM!pE$RXplMc%7kP-b`%&A31;6w^(ps_>qY|%uJLU2k16QGoM
zODH|H1kKq`K?xI7$}ljqG4U{i8fpTJN=yRa1PDrsB8*k4Sdtv3Nhp;csMQ1VET}b8
z465xRW96XAj}bJT#$3XZ!dSy7#sErA;8qlqUlp@zF_$LmEpBiNG#)&3T$BaM+-$`q
zDIjmc!w@=dS!9Cg$)XO>1R}^+pzvZ~<YBCmz~X*z2KLkB!a95bYNmk;RdAsNj;o^C
zAge%TgNr*P0u-`E2@DJjAjx9TbRh>L3o{2N2RnxZharb3SPo?*6jb1W9ETJ*DWHa^
zND9*eh8oax0#h(U3NwPO$x;;vnJz0<NCZt7fYLeG2MW+qQK38|HBSLrZbEB2Xa@k=
zD+E_mnZ*hPMfqi!DXA%XnoLF2AU}cT1*`I_4QfHnxx9Q(cOG2&Lh4Y^yq7|?VJ*}Y
z9fg9NRM6}`xN=OZ1UV-^KPNRY52`#TGdoqGGPPJgFJDIiRO#u1YdeMfA_YTz190X{
zO-#|NiYDK}ywcp%qReD)XEdiYRRL@zvf-MHx7Z*f*P6^ltsp;wTZ*8@BYM2GGcYjx
z2PGCzlru1MFtRW)F@V~F5V{B?uPIXm>cN4ARMSdJN{dqC<BLG)`xZN>Web{l0*|_Z
zQfd)sUf>pAN@j6MX-Q^Iu^xy7S8!4M1(^kU@nxxbDfvZu#hDf0?0icOEDD>))=SRG
z)GIDYEGaFHPtH$CEiMA(p<B{uijX_%;7%~Ogt;Y!stjaxu^y<dPAq}U&U2=xmiT}h
z<B(Ke0ty<?U?F(87CaJHlnN39^;N*h7VLkdFhdk295#^QWjoMh12~7Xu!8C+&}2KP
V-U4-*1wi!|vyi_4uaKxfIRH8X9TNZm

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4a0138b56c2ef259e66616d5addfc993cc70e611
GIT binary patch
literal 8289
zcmWIL<>g{vU|{fR*`2c9fPvvLh=Yt-85kHG7#J9evltl|QW&BbQW#U1au}l+!8B78
zQwn1Wa}IMZOB4$uNRB0kHJ2@l4a{cEVbA4=;sCSRayWCjqPW0p_8jh9o+utLn<Ixe
zmoJJB%;wDD&lQLg0JFJr1apO=gura>9N}D%C=oE5Cr30_EJ_T_=FJh$m57qam5h?i
zm5P!Ai}B@1=gLIMfZ6;xvbl0ma=G$R@?gF|jzX?tlp-TTs^SF3BCQn06u}&&T;(Wb
zu&hvyO0H^@YOY$8TCRGOI#^6NM<Z7=N)yZ$$<fNyj?xCRMRRm=b)$5_Y_S}@T>U70
zFk3vwAlER;kdYykae+~)@j}KZ6L*Fbi4@5eh7`$Ej%Ma4Q+I|GsTAoJh7{>kwp7z*
zmMAlKh7_3;*%pQr*;KP;<|y+NreFq5xkN!m1_tN+ypqJsykdotj8p~Z{M_8cycC6`
z#Nt$i<ebFf;#81CVu?aZYC&pVib8&#LO^CgaB6XJW`3R?7gtCILS1H_LP<tuu|jTs
zN@-52LSj*>LS~*qqC#<ML1Iy2Nh(aDI3H|RGQ_T8g}nR{uDsOLl+3(zg_QjAyqx^R
z6a{^SfW+kN#Pn3R%)FG;B8B9{g2bfEoXnC+g_Qg}^%8~Byu8%p)Z*gAqRgC1h0NT7
z{Gt+&xm>9Faubs?GV@Z4DiuKfO3cYo$Sf&VC`-*t$uCMxfqE-7FF7-{SVtkXBw3H^
zB`9tBX)@koFGwsZ$xO@vF`)sY$#_c`$^?a5YDI}}W`$>-CgUw0sIY5MQGSso<1Jnk
zXJ|6s;s{DD&d(`J1xbnor{<(4mt^MW1r(*Gr52^;C8ri^GT!2HfqEaTiVG3aAbW#S
z3rjPLQgc)DN&<>NL7G~m$$U#PGq1QLF()U!D77#?ttdY?J~bt?Brz!`^_D1xR8D4I
z>MdyuVUX71lA_GKbWO%vLIsIM#i=0UV73)&GTjo+P0UV>&&kZoj!(|d0XaUu=$2SP
zW<h*$YED{wS!xj|LBuC#q$X#B4DpQ&h>UmkaCP>M4+{13^YnAqWW2=|mY7qTTCB-@
zi^V6ixa1axe*q{A5_4{`hLjfMq=G^qJR>zV$2l=M1H|JANi0fFEeWVB$;bx<G9OYH
z1gDmOEJ6|qDN0Pv28SGPNNR3@OJ-4Oa!GzsWilv2kufurQ*6h;z>vxi#hAhXDrBOV
z+ZoarQ<zeiTR5UvQdv`2QdnCUni-?mQrJ@1TNt9)Q@B$&Q@C0fqd3|bSQw%>gBdh=
zZV5wk12h5nW>#e8Rk?C0C@3g6Lh_J8E=WuvEx$+sn&=_osl^JgbRVBonwgUlUku4u
z8k%}w{mG0_mx3q|8{~2jE|y?mU?^cIVXR?jW?I0skb#jQg`tKao;igfm|-QOpC-#K
z*5cBF)S@C81_p*(9P#m)d6^~g@wYf&R%kNbVgW_nO2%89@$ulS9v{Dw;g_R+Np69D
zL1uw&X<h*+JX3VbK~bWclNz6ClwXtrlGBgR%qvMP%1g}APtM8I2c;jV$Mgy+i{u#?
z7>pPg7>Zdy&Sv6ctdhYJM0zkcB{PAPK{2Q<0BLgu>Gxq^U`S`EWh!B)0oMi1%*9$@
zHggI~GjlC-4ReuJ4buX~8s>$Jj0|8IR<I094NH+r4buXq8WxaD4O4+v3QI79CR>$x
zP-;nO5vWwk$t*5W$WK!M6)zPErA0Z#3ZU$xP+FW?q+3vwUzVAYnxc>oPNBtmw>a|h
z<H1VZZgGO?_|l>rzgq&S6(vQ95E+mNC~>o=r<Np^loZ`!ODq5tnzz_eD@s!HQZ!j_
zF(>B~-(rUvdW#EgQ1LD1(xRMOEFfnTsW31wKnPV(<nhO+r<NeuU=9izAy9a+urTs4
z@-VV6azRL@DrKwzjjA6dyg^|P3UhFH8!#|1)G%Z*q%dZ46lv8kEMTl*Sin@nxR7xn
zV+}(*OpdcytAx3U5u`GhL6fOU&ONn6AyFYEH7&6;r$je5F)uMaHAMlMmi7EJS&9@u
z9^p*|C7Sr;{JfIXijrG=sA>KdpJQ=xY7wYFfRv$3MT($+&;=1_K_U$D5!60df_4K1
z3kN7zn7J5*Soj#L)UgEy7M*^{pcDtv3BsVzU}s=p0EfsHP>3*QF%(IZFlI3=V6I`z
zVpzynEK$PJ#8|=#;uRTyW!OOM6vl;2c}yt`HB2cC*_=goHB5OdHH=y8HH=vtH4F<l
zK_QvK)XP!}66GpNs$tCHs$q%eu3^mLDJlSwH7xO5HH=xj#Z@)TMSV5QU~}4Pn8D`o
z*099$)-Y!A6)gdgAe_QHhpC1op1+1MOMr)=h9yfdUZ@6?(pmg&v1F8#6o3kXWKd~(
zi@hkdq$o4B_!e(TQE72WYD#=YesM{0ksbpBgC<jv87PKWL0XD6g>P|!^~9%S7TsdX
zFTTZ6kXVv&i#4-2F{!x71Qa2l7TqnDto+QpA`1}T5=0n+%wS1QEh@RiR+d_nnO1p=
zJ2@vaHLoNdEXZDxnVXtlT5^lEpeVnh@)kRY0yznixe7{4Zm}emmSo)GEGWv)Ehqt1
zNUTVy0BjQ|UT(2N6Bi_#fKvx3uM`<GFfasy5`qpWDw!l0nV4Dr3o$Y=2{5uSa{OfD
zW@F@F24OBHf&VP5Y)mYSEdMyzc$lh`uq77M6spPO=cma9Dopbdb5rBvZ*j%P=Yrch
z@$t8K;^PZT6LX+4?D6p_`N{F|;Ia@D2#LkTxv3=?`6)%9Kq@i?1sBM%w|Jq2Z*po*
zPJBF)f0RH<z@7pX;h<bl%)`LIz`?}A%)`pW$i>IO4KCa<YBx}p1~;ccbp&$l2Cmr{
zqFBI1A?qzc&%Bh>3iqP?(gJAJRW%J<>o_JAmlP!?mmswQk?XEvh4Rdj3{X=GQg+6t
zgN%Telw4plLO>0{#GK-Mh2;FAqSWGo{JfN6g%Y%uUr9z{i9$hYQEn!<>84PSS)c%I
zN+^Jv63}W8<Rwsqf-tE1<AmkU5O6gJsvVk{iup<yn;2^tvzUsdY8bPai{wD9+!}@~
zmKw$s<`UKvP_AQZW=di0Wv*qaVd@uPWGG>;VX9$lW@2OrXE0?5WC&u2U;ydTWUFcb
z`vX*qyFgrx;W&lNG*H`BAqA8#a#B<DAYKP)0ee5cEVZa8GX>m&PK6bZ3Q4IMiDjAj
zMWDJTFTX?~B_Gu81vS2rd<-(9NR5Gk!LJBZ?Y{&SN}5cNtOm*enjE*-GZKqIwG22v
z-jakmA|BKvg9ag_H3l{YoH1@O=Vs;=fwUJ1f-*fbQr7YWr8aOr0u!KgcS|B8F)t-2
z71PK@P!1CTMFs~S6AvQ`GYcaVBNHRnUp7`Y#wsn0bft&OAU{pkA}^55-XH>0-52?S
zSfL;S><|P2a#B$M0|P@P$aYYP&B4UN1{T4{0-*E(&H|uH0hR?)nN#?|S%9&bF^VOX
zIYl6aJ%ytM#A5|F>lmWgQkhe@Q+U9QKK2yB6y6j*P-8EJF_=M9=#~&tTN9dN{E|69
z!2rdeLJ^clK|x&X1WB5pDuXeFv6rcqqlO`isg|>bGleOevseLCg_f|?aMmzpvDUEF
zfGP>L8m1bK8c;H2uVGDL?&S(*&}69!geOGjqEt{fDp3K+A+WB10=QM5mz)aDs-WbQ
zo>`WfrvU1D<))UT78OJC5-4SXx+?`m`RPTe#l`VSiAA7NjT6!U1(o>h#YM^BqMrxW
z8w2x%!0o_z6fu5?uFT^6oJ3H~eTy5^76g?Z*{MahxL|5ii*B){ff_qSxA=-6-I(}{
z#NrH4ZB$yE8V_o7#TRFmq-t^$f#R+x9FzcTK?JzA;RdlHK|~CQNC2f?u3LO1sksHv
zB043rs0dU>7R7=TfKzikh?NK;qCiA6h=>E#P{OGC;z5-gQo##KXtyN6{T--VL0zu+
z0%)IW7AX12fnuDWkBN<uhY6JQAsGNdGBL6+GJUJkL5d`3YSF`Ks9VS{{*rv%;>427
z;<QTL{JfmXWRRyp)_^c5Re>-#Wr3P$;I=<g7E=v#4QC2tFH0?V33ClY4Py;=4NDDE
z7E28zO>xw4r7(fh5p$IrwsZvPl9H5om~U}F;yX3v7B?hKfLjZ<xIj@^kXm4BXb!3-
zVF6YIiileRV84SCDWtPn1d5tl!kOuL`9-Pmkl_VLKm3*eR1m5<HRYBVR0J9!#qkB;
zF5xZywEUuEP-hjY^p-$rL3&YQN@_f)3M)xXue`-yPzmpzX6B{kYqA!Bs*@r<P*UK9
z`2<vvrxt<QeMQ-z)WuVj2}&;@r$f?JI*1E$a#0S5l?x*BKtw)>$N&)qAR-Gypq5&<
zc)@-zg7*J+gAx!(1%nVg>HJ}11F<0(mW-G{$p|^Gqa`Cq+$Dn?4N4;*3`!%Q3<ORm
z0gMa`HOyHIE)21Hwd^H~HS8&jH7qsEptO;~)XV0=5Gzv4k-}KR5zkb^xPZBa1Jqe6
zlq+PbVRB)J)vDzLl}{<mHOyJ8HOyITHEby?y{uStSk*9RvAZzDYSeO;aMW<3sAs{V
zKBtB`i_?W6)&Sxvn43U$q_E<2*S5krpaydZsJYC!fM+2?Gov^|EmsLIq<3D!<-*X+
z*vwe;D}}L!Ii9bEX#!)h56ERuniE8)fJ$NhOvYO78s;p435-P!C4woOB|<gaDO?ML
zL1GITQ@DGX#2A_xn;7$WN(57QYPcc16y{(CP2MVdcs}w?EGo`O%uz_rO;G?1ttccG
zr57t?=9T0tBq~6YDyZyGC{8Uwl)fRFthcz5^YcI{G&8RRoIN0E3|wr15}KbTb5R;7
zA%W8sNJNtro4O*9Jjx&eC~1RmF({FNs^}VqSe{x?tB4_tfsvt*2{b@ZBnwL7jJE_b
z5{tp*a6Gg}s>yVVNzdRGb5Uv`dV$Dklb)KFT2WABC(a1%+Ose)F;v-MDdr0D3rcem
zOF;P&K4cXS3Im&*{N%)(Vmm#!VYgU7E#|7Y$ox`;+|uF_1yHS}kXWLSlbQ(XpXa5b
z1Y}9Rf~p2chi0*YMs8wdQmR5FNM~wdUWtMdsD%cXR@DHFRuyX&E7@!QVpPy%yu}I@
zsPZAluHw{Gi1`_*IR$VxC~0bn+~P*WWpNQds8r$1EC$t>smUd`_!Co7kjK)BctO!x
z2qHjncZ(A?T31{I%DcCCkdjUDEs@eZkY`a$D89u48oIc}Rt6qSyTzQCS6KwA5sNB7
zc5{L1S@1wzaS^E1c#9<^Gr6S59u(s|;0E6<ek40U(Q=Cglx`tO5M1EF)8Q?Sw9K4T
zkP~ikfh+d>_{5ZyqB4;4>p`}$<QJ3_qbC&!T=D+^lqf;2WZ>ljw-}iim>8HCnHZS<
za<Q;6@-cCML>ZVESU^=MxHZYc1W^eV`NPJ>#>m4A5rOJuWckCz%ErhC8VmW)^q+}E
zh>?v+jFF2GY!;KyKc@d|tl)C>KhyszZ4y!|O1=X1IzSj)u!2T2K%*a^e6@gaAp@v4
zQ6y6W8XsT+6`|nvA`^5B5Y*rTjZCJ3x>K3S3ZOcuC>PvXQb<h7FD(K0q!0s6Nm;4M
zB}k1m&{!T%acW{waz=b{a(+STEpgBoMp{0|5KuQBl&3&#ui{&5Ir-`7sYSO~Kz3*{
zLrRPuP&{$M6`@C#0I0E+8lRL{oS7UC(x(Q>-r!a(I~yYhBMW1dGL}F?*Od%PYoHnk
zgh4eD2!jI))PO5t0Cls#tzgy?#uO${Ck@m^t6|JysbNWB?q#iID`CxI1Jz75%qc9r
zppurg>NdQjg|~b`Lz0Q<sS2P}o?4`kSWr-uUr>|@Y8Hb#mzl*V<ppe1645iW0yl^i
zu(v0y6v8u7OEOZ6Ks{B65{1mX<ow)%#FEUUoK(1bK#{5h4VGeE$oRC90whO*COyC<
zjh=!FWJnC$@pVhgDNaSy0-B8A3<s(VcoK7R^2_5Z6Z5iDQ*QA=Vir71R+OJ}OB5mt
z8saY~N-atS6^x*Ea{+kfAU-KGFR`ey2-F_YWWL1*vKVQEp1&A2(Ew_{rhx{3z$5C=
z_LC-ikpL(!gQB}=GAN-igY1|J5@Q2#*^<Fs4o!A&$pLn85x8`i0a608v}hWLH628N
z+BA^l1#Uu%LYwB$D2s<gnGq;?Nr6%c9}g(EGlFt93nSBSHV$aJ=Wmq;G-N?_C#=nb
z)iCgg42Pdvh?`qcDyX;Y2NvN(>r~$2DK1GY$xMchz@&g2TLdDyLBvE5F&ji6JOE~a
zd{Gp}z`y|VY_SG-@P&zkfsx?{j{*}b10xFj%A>;J#>B|Q&%ns=8>~yy0^FIs#SY4q
znR)3&HlPsYOe@VxF3Hc&DF!z~Z^;#87U;o;)Af>bGW9@{Z}HHSTLda}ZYg3ag35!F
z31|!&)FHklfvPUGA~_W@ehsM#KoumCU7!wGg&u136oI2%2GyLL)bzyU%6M1<7L>Jb
zsh}#!%}+_qDb_<vZbhJkh3>_?)ROZ2qHH}_=MdcEyCsWi9!wEzoDbBsz6BZ|LUMn8
zL241W94*#^^)*0!CUpCXQVaDURdgw6ItWtHLh4~qA0SE!)n<@#P+bSA`5@IfTIhpj
zP2%%QOHvX+r7w8U29k?FgDSVsOe-zP%qi9@sVo2`0MMZQEsp$x67UpTkuWGdutDWO
zZM7m%P%0Dy2@9h-3f#de5(mkkMItodOOUg55oqKuN)puwn7@isONt~x2BC#GOdeFS
zXQvhwf%51rw1fcl4XE1<>TpYgjNwdAE%5=@JCI!02l4}G$Pzp>1I`JMLIIqozyv5`
z-Quu;jGfwn2DpkrL%S^O9E=={JWQZD4OA?`%EKtY!UO7VGm3!cJiziyT+9MKLh=A)
C(H24g

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8a3f5d7b893578043b24030e1cb060d282bc6232
GIT binary patch
literal 365
zcmWIL<>g{vU|{fR*_|?nfq~&Mh=Yuo7#J8F7#J9eH5eEeQW#Pga~N_NqZk<(QW&C`
zQkbHcQ<$SzQdpu`Q&^+eQrM!{Q`mzUG&x>^%+O@K#h;i|oS#!#k{X|xTaaH=@{*B(
zf#D^{(3i|077K_FXJBCP)8x3t6(65gT2fk+8XsQ-QgVwuIMmtMH8}Vdt7}k@f6y)7
zP(N=!|8T!}2v;P`Gbkj~(Z|&<EZ)yQB;L(G)X(LXL_m;hn5TbeaJ*Bfr;kg#i)Rp2
zy?~#8ysu-3vxjRiMD0q3B7O!22=U8Fza+OnzaX<fw=}OHF*!RmMYlX7H8n>!CpA9P
zD8DELB&Q#rnOBlpl$V&JpPZAaUtE${Qd%6JoS%|ftXEKZi^C>2KczG$)ehv%Vjczt
L1|B9BMi>MDPJ&;4

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py
new file mode 100644
index 0000000..329de60
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py
@@ -0,0 +1,164 @@
+"""Logic that powers autocompletion installed by ``pip completion``.
+"""
+
+import optparse
+import os
+import sys
+from itertools import chain
+
+from pip._internal.cli.main_parser import create_main_parser
+from pip._internal.commands import commands_dict, create_command
+from pip._internal.utils.misc import get_installed_distributions
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Any, Iterable, List, Optional
+
+
+def autocomplete():
+    # type: () -> None
+    """Entry Point for completion of main and subcommand options.
+    """
+    # Don't complete if user hasn't sourced bash_completion file.
+    if 'PIP_AUTO_COMPLETE' not in os.environ:
+        return
+    cwords = os.environ['COMP_WORDS'].split()[1:]
+    cword = int(os.environ['COMP_CWORD'])
+    try:
+        current = cwords[cword - 1]
+    except IndexError:
+        current = ''
+
+    parser = create_main_parser()
+    subcommands = list(commands_dict)
+    options = []
+
+    # subcommand
+    subcommand_name = None  # type: Optional[str]
+    for word in cwords:
+        if word in subcommands:
+            subcommand_name = word
+            break
+    # subcommand options
+    if subcommand_name is not None:
+        # special case: 'help' subcommand has no options
+        if subcommand_name == 'help':
+            sys.exit(1)
+        # special case: list locally installed dists for show and uninstall
+        should_list_installed = (
+            subcommand_name in ['show', 'uninstall'] and
+            not current.startswith('-')
+        )
+        if should_list_installed:
+            installed = []
+            lc = current.lower()
+            for dist in get_installed_distributions(local_only=True):
+                if dist.key.startswith(lc) and dist.key not in cwords[1:]:
+                    installed.append(dist.key)
+            # if there are no dists installed, fall back to option completion
+            if installed:
+                for dist in installed:
+                    print(dist)
+                sys.exit(1)
+
+        subcommand = create_command(subcommand_name)
+
+        for opt in subcommand.parser.option_list_all:
+            if opt.help != optparse.SUPPRESS_HELP:
+                for opt_str in opt._long_opts + opt._short_opts:
+                    options.append((opt_str, opt.nargs))
+
+        # filter out previously specified options from available options
+        prev_opts = [x.split('=')[0] for x in cwords[1:cword - 1]]
+        options = [(x, v) for (x, v) in options if x not in prev_opts]
+        # filter options by current input
+        options = [(k, v) for k, v in options if k.startswith(current)]
+        # get completion type given cwords and available subcommand options
+        completion_type = get_path_completion_type(
+            cwords, cword, subcommand.parser.option_list_all,
+        )
+        # get completion files and directories if ``completion_type`` is
+        # ``<file>``, ``<dir>`` or ``<path>``
+        if completion_type:
+            paths = auto_complete_paths(current, completion_type)
+            options = [(path, 0) for path in paths]
+        for option in options:
+            opt_label = option[0]
+            # append '=' to options which require args
+            if option[1] and option[0][:2] == "--":
+                opt_label += '='
+            print(opt_label)
+    else:
+        # show main parser options only when necessary
+
+        opts = [i.option_list for i in parser.option_groups]
+        opts.append(parser.option_list)
+        flattened_opts = chain.from_iterable(opts)
+        if current.startswith('-'):
+            for opt in flattened_opts:
+                if opt.help != optparse.SUPPRESS_HELP:
+                    subcommands += opt._long_opts + opt._short_opts
+        else:
+            # get completion type given cwords and all available options
+            completion_type = get_path_completion_type(cwords, cword,
+                                                       flattened_opts)
+            if completion_type:
+                subcommands = list(auto_complete_paths(current,
+                                                       completion_type))
+
+        print(' '.join([x for x in subcommands if x.startswith(current)]))
+    sys.exit(1)
+
+
+def get_path_completion_type(cwords, cword, opts):
+    # type: (List[str], int, Iterable[Any]) -> Optional[str]
+    """Get the type of path completion (``file``, ``dir``, ``path`` or None)
+
+    :param cwords: same as the environmental variable ``COMP_WORDS``
+    :param cword: same as the environmental variable ``COMP_CWORD``
+    :param opts: The available options to check
+    :return: path completion type (``file``, ``dir``, ``path`` or None)
+    """
+    if cword < 2 or not cwords[cword - 2].startswith('-'):
+        return None
+    for opt in opts:
+        if opt.help == optparse.SUPPRESS_HELP:
+            continue
+        for o in str(opt).split('/'):
+            if cwords[cword - 2].split('=')[0] == o:
+                if not opt.metavar or any(
+                        x in ('path', 'file', 'dir')
+                        for x in opt.metavar.split('/')):
+                    return opt.metavar
+    return None
+
+
+def auto_complete_paths(current, completion_type):
+    # type: (str, str) -> Iterable[str]
+    """If ``completion_type`` is ``file`` or ``path``, list all regular files
+    and directories starting with ``current``; otherwise only list directories
+    starting with ``current``.
+
+    :param current: The word to be completed
+    :param completion_type: path completion type(`file`, `path` or `dir`)i
+    :return: A generator of regular files and/or directories
+    """
+    directory, filename = os.path.split(current)
+    current_path = os.path.abspath(directory)
+    # Don't complete paths if they can't be accessed
+    if not os.access(current_path, os.R_OK):
+        return
+    filename = os.path.normcase(filename)
+    # list all files that start with ``filename``
+    file_list = (x for x in os.listdir(current_path)
+                 if os.path.normcase(x).startswith(filename))
+    for f in file_list:
+        opt = os.path.join(current_path, f)
+        comp_file = os.path.normcase(os.path.join(directory, f))
+        # complete regular files when there is not ``<dir>`` after option
+        # complete directories when there is ``<file>``, ``<path>`` or
+        # ``<dir>``after option
+        if completion_type != 'dir' and os.path.isfile(opt):
+            yield comp_file
+        elif os.path.isdir(opt):
+            yield os.path.join(comp_file, '')
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/base_command.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/base_command.py
new file mode 100644
index 0000000..628faa3
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/base_command.py
@@ -0,0 +1,226 @@
+"""Base Command class, and related routines"""
+
+from __future__ import absolute_import, print_function
+
+import logging
+import logging.config
+import optparse
+import os
+import platform
+import sys
+import traceback
+
+from pip._internal.cli import cmdoptions
+from pip._internal.cli.command_context import CommandContextMixIn
+from pip._internal.cli.parser import (
+    ConfigOptionParser,
+    UpdatingDefaultsHelpFormatter,
+)
+from pip._internal.cli.status_codes import (
+    ERROR,
+    PREVIOUS_BUILD_DIR_ERROR,
+    SUCCESS,
+    UNKNOWN_ERROR,
+    VIRTUALENV_NOT_FOUND,
+)
+from pip._internal.exceptions import (
+    BadCommand,
+    CommandError,
+    InstallationError,
+    PreviousBuildDirError,
+    UninstallationError,
+)
+from pip._internal.utils.deprecation import deprecated
+from pip._internal.utils.filesystem import check_path_owner
+from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging
+from pip._internal.utils.misc import get_prog, normalize_path
+from pip._internal.utils.temp_dir import global_tempdir_manager
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.virtualenv import running_under_virtualenv
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Tuple, Any
+    from optparse import Values
+
+__all__ = ['Command']
+
+logger = logging.getLogger(__name__)
+
+
+class Command(CommandContextMixIn):
+    usage = None  # type: str
+    ignore_require_venv = False  # type: bool
+
+    def __init__(self, name, summary, isolated=False):
+        # type: (str, str, bool) -> None
+        super(Command, self).__init__()
+        parser_kw = {
+            'usage': self.usage,
+            'prog': '%s %s' % (get_prog(), name),
+            'formatter': UpdatingDefaultsHelpFormatter(),
+            'add_help_option': False,
+            'name': name,
+            'description': self.__doc__,
+            'isolated': isolated,
+        }
+
+        self.name = name
+        self.summary = summary
+        self.parser = ConfigOptionParser(**parser_kw)
+
+        # Commands should add options to this option group
+        optgroup_name = '%s Options' % self.name.capitalize()
+        self.cmd_opts = optparse.OptionGroup(self.parser, optgroup_name)
+
+        # Add the general options
+        gen_opts = cmdoptions.make_option_group(
+            cmdoptions.general_group,
+            self.parser,
+        )
+        self.parser.add_option_group(gen_opts)
+
+    def handle_pip_version_check(self, options):
+        # type: (Values) -> None
+        """
+        This is a no-op so that commands by default do not do the pip version
+        check.
+        """
+        # Make sure we do the pip version check if the index_group options
+        # are present.
+        assert not hasattr(options, 'no_index')
+
+    def run(self, options, args):
+        # type: (Values, List[Any]) -> Any
+        raise NotImplementedError
+
+    def parse_args(self, args):
+        # type: (List[str]) -> Tuple[Any, Any]
+        # factored out for testability
+        return self.parser.parse_args(args)
+
+    def main(self, args):
+        # type: (List[str]) -> int
+        try:
+            with self.main_context():
+                return self._main(args)
+        finally:
+            logging.shutdown()
+
+    def _main(self, args):
+        # type: (List[str]) -> int
+        # Intentionally set as early as possible so globally-managed temporary
+        # directories are available to the rest of the code.
+        self.enter_context(global_tempdir_manager())
+
+        options, args = self.parse_args(args)
+
+        # Set verbosity so that it can be used elsewhere.
+        self.verbosity = options.verbose - options.quiet
+
+        level_number = setup_logging(
+            verbosity=self.verbosity,
+            no_color=options.no_color,
+            user_log_file=options.log,
+        )
+
+        if (
+            sys.version_info[:2] == (2, 7) and
+            not options.no_python_version_warning
+        ):
+            message = (
+                "A future version of pip will drop support for Python 2.7. "
+                "More details about Python 2 support in pip, can be found at "
+                "https://pip.pypa.io/en/latest/development/release-process/#python-2-support"  # noqa
+            )
+            if platform.python_implementation() == "CPython":
+                message = (
+                    "Python 2.7 reached the end of its life on January "
+                    "1st, 2020. Please upgrade your Python as Python 2.7 "
+                    "is no longer maintained. "
+                ) + message
+            deprecated(message, replacement=None, gone_in=None)
+
+        if options.skip_requirements_regex:
+            deprecated(
+                "--skip-requirements-regex is unsupported and will be removed",
+                replacement=(
+                    "manage requirements/constraints files explicitly, "
+                    "possibly generating them from metadata"
+                ),
+                gone_in="20.1",
+                issue=7297,
+            )
+
+        # TODO: Try to get these passing down from the command?
+        #       without resorting to os.environ to hold these.
+        #       This also affects isolated builds and it should.
+
+        if options.no_input:
+            os.environ['PIP_NO_INPUT'] = '1'
+
+        if options.exists_action:
+            os.environ['PIP_EXISTS_ACTION'] = ' '.join(options.exists_action)
+
+        if options.require_venv and not self.ignore_require_venv:
+            # If a venv is required check if it can really be found
+            if not running_under_virtualenv():
+                logger.critical(
+                    'Could not find an activated virtualenv (required).'
+                )
+                sys.exit(VIRTUALENV_NOT_FOUND)
+
+        if options.cache_dir:
+            options.cache_dir = normalize_path(options.cache_dir)
+            if not check_path_owner(options.cache_dir):
+                logger.warning(
+                    "The directory '%s' or its parent directory is not owned "
+                    "or is not writable by the current user. The cache "
+                    "has been disabled. Check the permissions and owner of "
+                    "that directory. If executing pip with sudo, you may want "
+                    "sudo's -H flag.",
+                    options.cache_dir,
+                )
+                options.cache_dir = None
+
+        try:
+            status = self.run(options, args)
+            # FIXME: all commands should return an exit status
+            # and when it is done, isinstance is not needed anymore
+            if isinstance(status, int):
+                return status
+        except PreviousBuildDirError as exc:
+            logger.critical(str(exc))
+            logger.debug('Exception information:', exc_info=True)
+
+            return PREVIOUS_BUILD_DIR_ERROR
+        except (InstallationError, UninstallationError, BadCommand) as exc:
+            logger.critical(str(exc))
+            logger.debug('Exception information:', exc_info=True)
+
+            return ERROR
+        except CommandError as exc:
+            logger.critical('%s', exc)
+            logger.debug('Exception information:', exc_info=True)
+
+            return ERROR
+        except BrokenStdoutLoggingError:
+            # Bypass our logger and write any remaining messages to stderr
+            # because stdout no longer works.
+            print('ERROR: Pipe to stdout was broken', file=sys.stderr)
+            if level_number <= logging.DEBUG:
+                traceback.print_exc(file=sys.stderr)
+
+            return ERROR
+        except KeyboardInterrupt:
+            logger.critical('Operation cancelled by user')
+            logger.debug('Exception information:', exc_info=True)
+
+            return ERROR
+        except BaseException:
+            logger.critical('Exception:', exc_info=True)
+
+            return UNKNOWN_ERROR
+        finally:
+            self.handle_pip_version_check(options)
+
+        return SUCCESS
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py
new file mode 100644
index 0000000..447f319
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py
@@ -0,0 +1,957 @@
+"""
+shared options and groups
+
+The principle here is to define options once, but *not* instantiate them
+globally. One reason being that options with action='append' can carry state
+between parses. pip parses general options twice internally, and shouldn't
+pass on state. To be consistent, all options will follow this design.
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import logging
+import os
+import textwrap
+import warnings
+from distutils.util import strtobool
+from functools import partial
+from optparse import SUPPRESS_HELP, Option, OptionGroup
+from textwrap import dedent
+
+from pip._internal.exceptions import CommandError
+from pip._internal.locations import USER_CACHE_DIR, get_src_prefix
+from pip._internal.models.format_control import FormatControl
+from pip._internal.models.index import PyPI
+from pip._internal.models.target_python import TargetPython
+from pip._internal.utils.hashes import STRONG_HASHES
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.ui import BAR_TYPES
+
+if MYPY_CHECK_RUNNING:
+    from typing import Any, Callable, Dict, Optional, Tuple
+    from optparse import OptionParser, Values
+    from pip._internal.cli.parser import ConfigOptionParser
+
+logger = logging.getLogger(__name__)
+
+
+def raise_option_error(parser, option, msg):
+    # type: (OptionParser, Option, str) -> None
+    """
+    Raise an option parsing error using parser.error().
+
+    Args:
+      parser: an OptionParser instance.
+      option: an Option instance.
+      msg: the error text.
+    """
+    msg = '{} error: {}'.format(option, msg)
+    msg = textwrap.fill(' '.join(msg.split()))
+    parser.error(msg)
+
+
+def make_option_group(group, parser):
+    # type: (Dict[str, Any], ConfigOptionParser) -> OptionGroup
+    """
+    Return an OptionGroup object
+    group  -- assumed to be dict with 'name' and 'options' keys
+    parser -- an optparse Parser
+    """
+    option_group = OptionGroup(parser, group['name'])
+    for option in group['options']:
+        option_group.add_option(option())
+    return option_group
+
+
+def check_install_build_global(options, check_options=None):
+    # type: (Values, Optional[Values]) -> None
+    """Disable wheels if per-setup.py call options are set.
+
+    :param options: The OptionParser options to update.
+    :param check_options: The options to check, if not supplied defaults to
+        options.
+    """
+    if check_options is None:
+        check_options = options
+
+    def getname(n):
+        # type: (str) -> Optional[Any]
+        return getattr(check_options, n, None)
+    names = ["build_options", "global_options", "install_options"]
+    if any(map(getname, names)):
+        control = options.format_control
+        control.disallow_binaries()
+        warnings.warn(
+            'Disabling all use of wheels due to the use of --build-option '
+            '/ --global-option / --install-option.', stacklevel=2,
+        )
+
+
+def check_dist_restriction(options, check_target=False):
+    # type: (Values, bool) -> None
+    """Function for determining if custom platform options are allowed.
+
+    :param options: The OptionParser options.
+    :param check_target: Whether or not to check if --target is being used.
+    """
+    dist_restriction_set = any([
+        options.python_version,
+        options.platform,
+        options.abi,
+        options.implementation,
+    ])
+
+    binary_only = FormatControl(set(), {':all:'})
+    sdist_dependencies_allowed = (
+        options.format_control != binary_only and
+        not options.ignore_dependencies
+    )
+
+    # Installations or downloads using dist restrictions must not combine
+    # source distributions and dist-specific wheels, as they are not
+    # guaranteed to be locally compatible.
+    if dist_restriction_set and sdist_dependencies_allowed:
+        raise CommandError(
+            "When restricting platform and interpreter constraints using "
+            "--python-version, --platform, --abi, or --implementation, "
+            "either --no-deps must be set, or --only-binary=:all: must be "
+            "set and --no-binary must not be set (or must be set to "
+            ":none:)."
+        )
+
+    if check_target:
+        if dist_restriction_set and not options.target_dir:
+            raise CommandError(
+                "Can not use any platform or abi specific options unless "
+                "installing via '--target'"
+            )
+
+
+def _path_option_check(option, opt, value):
+    # type: (Option, str, str) -> str
+    return os.path.expanduser(value)
+
+
+class PipOption(Option):
+    TYPES = Option.TYPES + ("path",)
+    TYPE_CHECKER = Option.TYPE_CHECKER.copy()
+    TYPE_CHECKER["path"] = _path_option_check
+
+
+###########
+# options #
+###########
+
+help_ = partial(
+    Option,
+    '-h', '--help',
+    dest='help',
+    action='help',
+    help='Show help.',
+)  # type: Callable[..., Option]
+
+isolated_mode = partial(
+    Option,
+    "--isolated",
+    dest="isolated_mode",
+    action="store_true",
+    default=False,
+    help=(
+        "Run pip in an isolated mode, ignoring environment variables and user "
+        "configuration."
+    ),
+)  # type: Callable[..., Option]
+
+require_virtualenv = partial(
+    Option,
+    # Run only if inside a virtualenv, bail if not.
+    '--require-virtualenv', '--require-venv',
+    dest='require_venv',
+    action='store_true',
+    default=False,
+    help=SUPPRESS_HELP
+)  # type: Callable[..., Option]
+
+verbose = partial(
+    Option,
+    '-v', '--verbose',
+    dest='verbose',
+    action='count',
+    default=0,
+    help='Give more output. Option is additive, and can be used up to 3 times.'
+)  # type: Callable[..., Option]
+
+no_color = partial(
+    Option,
+    '--no-color',
+    dest='no_color',
+    action='store_true',
+    default=False,
+    help="Suppress colored output",
+)  # type: Callable[..., Option]
+
+version = partial(
+    Option,
+    '-V', '--version',
+    dest='version',
+    action='store_true',
+    help='Show version and exit.',
+)  # type: Callable[..., Option]
+
+quiet = partial(
+    Option,
+    '-q', '--quiet',
+    dest='quiet',
+    action='count',
+    default=0,
+    help=(
+        'Give less output. Option is additive, and can be used up to 3'
+        ' times (corresponding to WARNING, ERROR, and CRITICAL logging'
+        ' levels).'
+    ),
+)  # type: Callable[..., Option]
+
+progress_bar = partial(
+    Option,
+    '--progress-bar',
+    dest='progress_bar',
+    type='choice',
+    choices=list(BAR_TYPES.keys()),
+    default='on',
+    help=(
+        'Specify type of progress to be displayed [' +
+        '|'.join(BAR_TYPES.keys()) + '] (default: %default)'
+    ),
+)  # type: Callable[..., Option]
+
+log = partial(
+    PipOption,
+    "--log", "--log-file", "--local-log",
+    dest="log",
+    metavar="path",
+    type="path",
+    help="Path to a verbose appending log."
+)  # type: Callable[..., Option]
+
+no_input = partial(
+    Option,
+    # Don't ask for input
+    '--no-input',
+    dest='no_input',
+    action='store_true',
+    default=False,
+    help=SUPPRESS_HELP
+)  # type: Callable[..., Option]
+
+proxy = partial(
+    Option,
+    '--proxy',
+    dest='proxy',
+    type='str',
+    default='',
+    help="Specify a proxy in the form [user:passwd@]proxy.server:port."
+)  # type: Callable[..., Option]
+
+retries = partial(
+    Option,
+    '--retries',
+    dest='retries',
+    type='int',
+    default=5,
+    help="Maximum number of retries each connection should attempt "
+         "(default %default times).",
+)  # type: Callable[..., Option]
+
+timeout = partial(
+    Option,
+    '--timeout', '--default-timeout',
+    metavar='sec',
+    dest='timeout',
+    type='float',
+    default=15,
+    help='Set the socket timeout (default %default seconds).',
+)  # type: Callable[..., Option]
+
+skip_requirements_regex = partial(
+    Option,
+    # A regex to be used to skip requirements
+    '--skip-requirements-regex',
+    dest='skip_requirements_regex',
+    type='str',
+    default='',
+    help=SUPPRESS_HELP,
+)  # type: Callable[..., Option]
+
+
+def exists_action():
+    # type: () -> Option
+    return Option(
+        # Option when path already exist
+        '--exists-action',
+        dest='exists_action',
+        type='choice',
+        choices=['s', 'i', 'w', 'b', 'a'],
+        default=[],
+        action='append',
+        metavar='action',
+        help="Default action when a path already exists: "
+             "(s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.",
+    )
+
+
+cert = partial(
+    PipOption,
+    '--cert',
+    dest='cert',
+    type='path',
+    metavar='path',
+    help="Path to alternate CA bundle.",
+)  # type: Callable[..., Option]
+
+client_cert = partial(
+    PipOption,
+    '--client-cert',
+    dest='client_cert',
+    type='path',
+    default=None,
+    metavar='path',
+    help="Path to SSL client certificate, a single file containing the "
+         "private key and the certificate in PEM format.",
+)  # type: Callable[..., Option]
+
+index_url = partial(
+    Option,
+    '-i', '--index-url', '--pypi-url',
+    dest='index_url',
+    metavar='URL',
+    default=PyPI.simple_url,
+    help="Base URL of the Python Package Index (default %default). "
+         "This should point to a repository compliant with PEP 503 "
+         "(the simple repository API) or a local directory laid out "
+         "in the same format.",
+)  # type: Callable[..., Option]
+
+
+def extra_index_url():
+    # type: () -> Option
+    return Option(
+        '--extra-index-url',
+        dest='extra_index_urls',
+        metavar='URL',
+        action='append',
+        default=[],
+        help="Extra URLs of package indexes to use in addition to "
+             "--index-url. Should follow the same rules as "
+             "--index-url.",
+    )
+
+
+no_index = partial(
+    Option,
+    '--no-index',
+    dest='no_index',
+    action='store_true',
+    default=False,
+    help='Ignore package index (only looking at --find-links URLs instead).',
+)  # type: Callable[..., Option]
+
+
+def find_links():
+    # type: () -> Option
+    return Option(
+        '-f', '--find-links',
+        dest='find_links',
+        action='append',
+        default=[],
+        metavar='url',
+        help="If a url or path to an html file, then parse for links to "
+             "archives. If a local path or file:// url that's a directory, "
+             "then look for archives in the directory listing.",
+    )
+
+
+def trusted_host():
+    # type: () -> Option
+    return Option(
+        "--trusted-host",
+        dest="trusted_hosts",
+        action="append",
+        metavar="HOSTNAME",
+        default=[],
+        help="Mark this host or host:port pair as trusted, even though it "
+             "does not have valid or any HTTPS.",
+    )
+
+
+def constraints():
+    # type: () -> Option
+    return Option(
+        '-c', '--constraint',
+        dest='constraints',
+        action='append',
+        default=[],
+        metavar='file',
+        help='Constrain versions using the given constraints file. '
+        'This option can be used multiple times.'
+    )
+
+
+def requirements():
+    # type: () -> Option
+    return Option(
+        '-r', '--requirement',
+        dest='requirements',
+        action='append',
+        default=[],
+        metavar='file',
+        help='Install from the given requirements file. '
+        'This option can be used multiple times.'
+    )
+
+
+def editable():
+    # type: () -> Option
+    return Option(
+        '-e', '--editable',
+        dest='editables',
+        action='append',
+        default=[],
+        metavar='path/url',
+        help=('Install a project in editable mode (i.e. setuptools '
+              '"develop mode") from a local project path or a VCS url.'),
+    )
+
+
+def _handle_src(option, opt_str, value, parser):
+    # type: (Option, str, str, OptionParser) -> None
+    value = os.path.abspath(value)
+    setattr(parser.values, option.dest, value)
+
+
+src = partial(
+    PipOption,
+    '--src', '--source', '--source-dir', '--source-directory',
+    dest='src_dir',
+    type='path',
+    metavar='dir',
+    default=get_src_prefix(),
+    action='callback',
+    callback=_handle_src,
+    help='Directory to check out editable projects into. '
+    'The default in a virtualenv is "<venv path>/src". '
+    'The default for global installs is "<current dir>/src".'
+)  # type: Callable[..., Option]
+
+
+def _get_format_control(values, option):
+    # type: (Values, Option) -> Any
+    """Get a format_control object."""
+    return getattr(values, option.dest)
+
+
+def _handle_no_binary(option, opt_str, value, parser):
+    # type: (Option, str, str, OptionParser) -> None
+    existing = _get_format_control(parser.values, option)
+    FormatControl.handle_mutual_excludes(
+        value, existing.no_binary, existing.only_binary,
+    )
+
+
+def _handle_only_binary(option, opt_str, value, parser):
+    # type: (Option, str, str, OptionParser) -> None
+    existing = _get_format_control(parser.values, option)
+    FormatControl.handle_mutual_excludes(
+        value, existing.only_binary, existing.no_binary,
+    )
+
+
+def no_binary():
+    # type: () -> Option
+    format_control = FormatControl(set(), set())
+    return Option(
+        "--no-binary", dest="format_control", action="callback",
+        callback=_handle_no_binary, type="str",
+        default=format_control,
+        help="Do not use binary packages. Can be supplied multiple times, and "
+             "each time adds to the existing value. Accepts either :all: to "
+             "disable all binary packages, :none: to empty the set, or one or "
+             "more package names with commas between them (no colons). Note "
+             "that some packages are tricky to compile and may fail to "
+             "install when this option is used on them.",
+    )
+
+
+def only_binary():
+    # type: () -> Option
+    format_control = FormatControl(set(), set())
+    return Option(
+        "--only-binary", dest="format_control", action="callback",
+        callback=_handle_only_binary, type="str",
+        default=format_control,
+        help="Do not use source packages. Can be supplied multiple times, and "
+             "each time adds to the existing value. Accepts either :all: to "
+             "disable all source packages, :none: to empty the set, or one or "
+             "more package names with commas between them. Packages without "
+             "binary distributions will fail to install when this option is "
+             "used on them.",
+    )
+
+
+platform = partial(
+    Option,
+    '--platform',
+    dest='platform',
+    metavar='platform',
+    default=None,
+    help=("Only use wheels compatible with <platform>. "
+          "Defaults to the platform of the running system."),
+)  # type: Callable[..., Option]
+
+
+# This was made a separate function for unit-testing purposes.
+def _convert_python_version(value):
+    # type: (str) -> Tuple[Tuple[int, ...], Optional[str]]
+    """
+    Convert a version string like "3", "37", or "3.7.3" into a tuple of ints.
+
+    :return: A 2-tuple (version_info, error_msg), where `error_msg` is
+        non-None if and only if there was a parsing error.
+    """
+    if not value:
+        # The empty string is the same as not providing a value.
+        return (None, None)
+
+    parts = value.split('.')
+    if len(parts) > 3:
+        return ((), 'at most three version parts are allowed')
+
+    if len(parts) == 1:
+        # Then we are in the case of "3" or "37".
+        value = parts[0]
+        if len(value) > 1:
+            parts = [value[0], value[1:]]
+
+    try:
+        version_info = tuple(int(part) for part in parts)
+    except ValueError:
+        return ((), 'each version part must be an integer')
+
+    return (version_info, None)
+
+
+def _handle_python_version(option, opt_str, value, parser):
+    # type: (Option, str, str, OptionParser) -> None
+    """
+    Handle a provided --python-version value.
+    """
+    version_info, error_msg = _convert_python_version(value)
+    if error_msg is not None:
+        msg = (
+            'invalid --python-version value: {!r}: {}'.format(
+                value, error_msg,
+            )
+        )
+        raise_option_error(parser, option=option, msg=msg)
+
+    parser.values.python_version = version_info
+
+
+python_version = partial(
+    Option,
+    '--python-version',
+    dest='python_version',
+    metavar='python_version',
+    action='callback',
+    callback=_handle_python_version, type='str',
+    default=None,
+    help=dedent("""\
+    The Python interpreter version to use for wheel and "Requires-Python"
+    compatibility checks. Defaults to a version derived from the running
+    interpreter. The version can be specified using up to three dot-separated
+    integers (e.g. "3" for 3.0.0, "3.7" for 3.7.0, or "3.7.3"). A major-minor
+    version can also be given as a string without dots (e.g. "37" for 3.7.0).
+    """),
+)  # type: Callable[..., Option]
+
+
+implementation = partial(
+    Option,
+    '--implementation',
+    dest='implementation',
+    metavar='implementation',
+    default=None,
+    help=("Only use wheels compatible with Python "
+          "implementation <implementation>, e.g. 'pp', 'jy', 'cp', "
+          " or 'ip'. If not specified, then the current "
+          "interpreter implementation is used.  Use 'py' to force "
+          "implementation-agnostic wheels."),
+)  # type: Callable[..., Option]
+
+
+abi = partial(
+    Option,
+    '--abi',
+    dest='abi',
+    metavar='abi',
+    default=None,
+    help=("Only use wheels compatible with Python "
+          "abi <abi>, e.g. 'pypy_41'.  If not specified, then the "
+          "current interpreter abi tag is used.  Generally "
+          "you will need to specify --implementation, "
+          "--platform, and --python-version when using "
+          "this option."),
+)  # type: Callable[..., Option]
+
+
+def add_target_python_options(cmd_opts):
+    # type: (OptionGroup) -> None
+    cmd_opts.add_option(platform())
+    cmd_opts.add_option(python_version())
+    cmd_opts.add_option(implementation())
+    cmd_opts.add_option(abi())
+
+
+def make_target_python(options):
+    # type: (Values) -> TargetPython
+    target_python = TargetPython(
+        platform=options.platform,
+        py_version_info=options.python_version,
+        abi=options.abi,
+        implementation=options.implementation,
+    )
+
+    return target_python
+
+
+def prefer_binary():
+    # type: () -> Option
+    return Option(
+        "--prefer-binary",
+        dest="prefer_binary",
+        action="store_true",
+        default=False,
+        help="Prefer older binary packages over newer source packages."
+    )
+
+
+cache_dir = partial(
+    PipOption,
+    "--cache-dir",
+    dest="cache_dir",
+    default=USER_CACHE_DIR,
+    metavar="dir",
+    type='path',
+    help="Store the cache data in <dir>."
+)  # type: Callable[..., Option]
+
+
+def _handle_no_cache_dir(option, opt, value, parser):
+    # type: (Option, str, str, OptionParser) -> None
+    """
+    Process a value provided for the --no-cache-dir option.
+
+    This is an optparse.Option callback for the --no-cache-dir option.
+    """
+    # The value argument will be None if --no-cache-dir is passed via the
+    # command-line, since the option doesn't accept arguments.  However,
+    # the value can be non-None if the option is triggered e.g. by an
+    # environment variable, like PIP_NO_CACHE_DIR=true.
+    if value is not None:
+        # Then parse the string value to get argument error-checking.
+        try:
+            strtobool(value)
+        except ValueError as exc:
+            raise_option_error(parser, option=option, msg=str(exc))
+
+    # Originally, setting PIP_NO_CACHE_DIR to a value that strtobool()
+    # converted to 0 (like "false" or "no") caused cache_dir to be disabled
+    # rather than enabled (logic would say the latter).  Thus, we disable
+    # the cache directory not just on values that parse to True, but (for
+    # backwards compatibility reasons) also on values that parse to False.
+    # In other words, always set it to False if the option is provided in
+    # some (valid) form.
+    parser.values.cache_dir = False
+
+
+no_cache = partial(
+    Option,
+    "--no-cache-dir",
+    dest="cache_dir",
+    action="callback",
+    callback=_handle_no_cache_dir,
+    help="Disable the cache.",
+)  # type: Callable[..., Option]
+
+no_deps = partial(
+    Option,
+    '--no-deps', '--no-dependencies',
+    dest='ignore_dependencies',
+    action='store_true',
+    default=False,
+    help="Don't install package dependencies.",
+)  # type: Callable[..., Option]
+
+
+def _handle_build_dir(option, opt, value, parser):
+    # type: (Option, str, str, OptionParser) -> None
+    if value:
+        value = os.path.abspath(value)
+    setattr(parser.values, option.dest, value)
+
+
+build_dir = partial(
+    PipOption,
+    '-b', '--build', '--build-dir', '--build-directory',
+    dest='build_dir',
+    type='path',
+    metavar='dir',
+    action='callback',
+    callback=_handle_build_dir,
+    help='Directory to unpack packages into and build in. Note that '
+         'an initial build still takes place in a temporary directory. '
+         'The location of temporary directories can be controlled by setting '
+         'the TMPDIR environment variable (TEMP on Windows) appropriately. '
+         'When passed, build directories are not cleaned in case of failures.'
+)  # type: Callable[..., Option]
+
+ignore_requires_python = partial(
+    Option,
+    '--ignore-requires-python',
+    dest='ignore_requires_python',
+    action='store_true',
+    help='Ignore the Requires-Python information.'
+)  # type: Callable[..., Option]
+
+no_build_isolation = partial(
+    Option,
+    '--no-build-isolation',
+    dest='build_isolation',
+    action='store_false',
+    default=True,
+    help='Disable isolation when building a modern source distribution. '
+         'Build dependencies specified by PEP 518 must be already installed '
+         'if this option is used.'
+)  # type: Callable[..., Option]
+
+
+def _handle_no_use_pep517(option, opt, value, parser):
+    # type: (Option, str, str, OptionParser) -> None
+    """
+    Process a value provided for the --no-use-pep517 option.
+
+    This is an optparse.Option callback for the no_use_pep517 option.
+    """
+    # Since --no-use-pep517 doesn't accept arguments, the value argument
+    # will be None if --no-use-pep517 is passed via the command-line.
+    # However, the value can be non-None if the option is triggered e.g.
+    # by an environment variable, for example "PIP_NO_USE_PEP517=true".
+    if value is not None:
+        msg = """A value was passed for --no-use-pep517,
+        probably using either the PIP_NO_USE_PEP517 environment variable
+        or the "no-use-pep517" config file option. Use an appropriate value
+        of the PIP_USE_PEP517 environment variable or the "use-pep517"
+        config file option instead.
+        """
+        raise_option_error(parser, option=option, msg=msg)
+
+    # Otherwise, --no-use-pep517 was passed via the command-line.
+    parser.values.use_pep517 = False
+
+
+use_pep517 = partial(
+    Option,
+    '--use-pep517',
+    dest='use_pep517',
+    action='store_true',
+    default=None,
+    help='Use PEP 517 for building source distributions '
+         '(use --no-use-pep517 to force legacy behaviour).'
+)  # type: Any
+
+no_use_pep517 = partial(
+    Option,
+    '--no-use-pep517',
+    dest='use_pep517',
+    action='callback',
+    callback=_handle_no_use_pep517,
+    default=None,
+    help=SUPPRESS_HELP
+)  # type: Any
+
+install_options = partial(
+    Option,
+    '--install-option',
+    dest='install_options',
+    action='append',
+    metavar='options',
+    help="Extra arguments to be supplied to the setup.py install "
+         "command (use like --install-option=\"--install-scripts=/usr/local/"
+         "bin\"). Use multiple --install-option options to pass multiple "
+         "options to setup.py install. If you are using an option with a "
+         "directory path, be sure to use absolute path.",
+)  # type: Callable[..., Option]
+
+global_options = partial(
+    Option,
+    '--global-option',
+    dest='global_options',
+    action='append',
+    metavar='options',
+    help="Extra global options to be supplied to the setup.py "
+         "call before the install command.",
+)  # type: Callable[..., Option]
+
+no_clean = partial(
+    Option,
+    '--no-clean',
+    action='store_true',
+    default=False,
+    help="Don't clean up build directories."
+)  # type: Callable[..., Option]
+
+pre = partial(
+    Option,
+    '--pre',
+    action='store_true',
+    default=False,
+    help="Include pre-release and development versions. By default, "
+         "pip only finds stable versions.",
+)  # type: Callable[..., Option]
+
+disable_pip_version_check = partial(
+    Option,
+    "--disable-pip-version-check",
+    dest="disable_pip_version_check",
+    action="store_true",
+    default=True,
+    help="Don't periodically check PyPI to determine whether a new version "
+         "of pip is available for download. Implied with --no-index.",
+)  # type: Callable[..., Option]
+
+
+# Deprecated, Remove later
+always_unzip = partial(
+    Option,
+    '-Z', '--always-unzip',
+    dest='always_unzip',
+    action='store_true',
+    help=SUPPRESS_HELP,
+)  # type: Callable[..., Option]
+
+
+def _handle_merge_hash(option, opt_str, value, parser):
+    # type: (Option, str, str, OptionParser) -> None
+    """Given a value spelled "algo:digest", append the digest to a list
+    pointed to in a dict by the algo name."""
+    if not parser.values.hashes:
+        parser.values.hashes = {}
+    try:
+        algo, digest = value.split(':', 1)
+    except ValueError:
+        parser.error('Arguments to %s must be a hash name '
+                     'followed by a value, like --hash=sha256:abcde...' %
+                     opt_str)
+    if algo not in STRONG_HASHES:
+        parser.error('Allowed hash algorithms for %s are %s.' %
+                     (opt_str, ', '.join(STRONG_HASHES)))
+    parser.values.hashes.setdefault(algo, []).append(digest)
+
+
+hash = partial(
+    Option,
+    '--hash',
+    # Hash values eventually end up in InstallRequirement.hashes due to
+    # __dict__ copying in process_line().
+    dest='hashes',
+    action='callback',
+    callback=_handle_merge_hash,
+    type='string',
+    help="Verify that the package's archive matches this "
+         'hash before installing. Example: --hash=sha256:abcdef...',
+)  # type: Callable[..., Option]
+
+
+require_hashes = partial(
+    Option,
+    '--require-hashes',
+    dest='require_hashes',
+    action='store_true',
+    default=False,
+    help='Require a hash to check each requirement against, for '
+         'repeatable installs. This option is implied when any package in a '
+         'requirements file has a --hash option.',
+)  # type: Callable[..., Option]
+
+
+list_path = partial(
+    PipOption,
+    '--path',
+    dest='path',
+    type='path',
+    action='append',
+    help='Restrict to the specified installation path for listing '
+         'packages (can be used multiple times).'
+)  # type: Callable[..., Option]
+
+
+def check_list_path_option(options):
+    # type: (Values) -> None
+    if options.path and (options.user or options.local):
+        raise CommandError(
+            "Cannot combine '--path' with '--user' or '--local'"
+        )
+
+
+no_python_version_warning = partial(
+    Option,
+    '--no-python-version-warning',
+    dest='no_python_version_warning',
+    action='store_true',
+    default=False,
+    help='Silence deprecation warnings for upcoming unsupported Pythons.',
+)  # type: Callable[..., Option]
+
+
+##########
+# groups #
+##########
+
+general_group = {
+    'name': 'General Options',
+    'options': [
+        help_,
+        isolated_mode,
+        require_virtualenv,
+        verbose,
+        version,
+        quiet,
+        log,
+        no_input,
+        proxy,
+        retries,
+        timeout,
+        skip_requirements_regex,
+        exists_action,
+        trusted_host,
+        cert,
+        client_cert,
+        cache_dir,
+        no_cache,
+        disable_pip_version_check,
+        no_color,
+        no_python_version_warning,
+    ]
+}  # type: Dict[str, Any]
+
+index_group = {
+    'name': 'Package Index Options',
+    'options': [
+        index_url,
+        extra_index_url,
+        no_index,
+        find_links,
+    ]
+}  # type: Dict[str, Any]
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/command_context.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/command_context.py
new file mode 100644
index 0000000..d1a64a7
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/command_context.py
@@ -0,0 +1,36 @@
+from contextlib import contextmanager
+
+from pip._vendor.contextlib2 import ExitStack
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Iterator, ContextManager, TypeVar
+
+    _T = TypeVar('_T', covariant=True)
+
+
+class CommandContextMixIn(object):
+    def __init__(self):
+        # type: () -> None
+        super(CommandContextMixIn, self).__init__()
+        self._in_main_context = False
+        self._main_context = ExitStack()
+
+    @contextmanager
+    def main_context(self):
+        # type: () -> Iterator[None]
+        assert not self._in_main_context
+
+        self._in_main_context = True
+        try:
+            with self._main_context:
+                yield
+        finally:
+            self._in_main_context = False
+
+    def enter_context(self, context_provider):
+        # type: (ContextManager[_T]) -> _T
+        assert self._in_main_context
+
+        return self._main_context.enter_context(context_provider)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/main.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/main.py
new file mode 100644
index 0000000..5e97a51
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/main.py
@@ -0,0 +1,75 @@
+"""Primary application entrypoint.
+"""
+from __future__ import absolute_import
+
+import locale
+import logging
+import os
+import sys
+
+from pip._internal.cli.autocompletion import autocomplete
+from pip._internal.cli.main_parser import parse_command
+from pip._internal.commands import create_command
+from pip._internal.exceptions import PipError
+from pip._internal.utils import deprecation
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional
+
+logger = logging.getLogger(__name__)
+
+
+# Do not import and use main() directly! Using it directly is actively
+# discouraged by pip's maintainers. The name, location and behavior of
+# this function is subject to change, so calling it directly is not
+# portable across different pip versions.
+
+# In addition, running pip in-process is unsupported and unsafe. This is
+# elaborated in detail at
+# https://pip.pypa.io/en/stable/user_guide/#using-pip-from-your-program.
+# That document also provides suggestions that should work for nearly
+# all users that are considering importing and using main() directly.
+
+# However, we know that certain users will still want to invoke pip
+# in-process. If you understand and accept the implications of using pip
+# in an unsupported manner, the best approach is to use runpy to avoid
+# depending on the exact location of this entry point.
+
+# The following example shows how to use runpy to invoke pip in that
+# case:
+#
+#     sys.argv = ["pip", your, args, here]
+#     runpy.run_module("pip", run_name="__main__")
+#
+# Note that this will exit the process after running, unlike a direct
+# call to main. As it is not safe to do any processing after calling
+# main, this should not be an issue in practice.
+
+def main(args=None):
+    # type: (Optional[List[str]]) -> int
+    if args is None:
+        args = sys.argv[1:]
+
+    # Configure our deprecation warnings to be sent through loggers
+    deprecation.install_warning_logger()
+
+    autocomplete()
+
+    try:
+        cmd_name, cmd_args = parse_command(args)
+    except PipError as exc:
+        sys.stderr.write("ERROR: %s" % exc)
+        sys.stderr.write(os.linesep)
+        sys.exit(1)
+
+    # Needed for locale.getpreferredencoding(False) to work
+    # in pip._internal.utils.encoding.auto_decode
+    try:
+        locale.setlocale(locale.LC_ALL, '')
+    except locale.Error as e:
+        # setlocale can apparently crash if locale are uninitialized
+        logger.debug("Ignoring error %s when setting locale", e)
+    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
+
+    return command.main(cmd_args)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py
new file mode 100644
index 0000000..a89821d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py
@@ -0,0 +1,99 @@
+"""A single place for constructing and exposing the main parser
+"""
+
+import os
+import sys
+
+from pip._internal.cli import cmdoptions
+from pip._internal.cli.parser import (
+    ConfigOptionParser,
+    UpdatingDefaultsHelpFormatter,
+)
+from pip._internal.commands import commands_dict, get_similar_commands
+from pip._internal.exceptions import CommandError
+from pip._internal.utils.misc import get_pip_version, get_prog
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Tuple, List
+
+
+__all__ = ["create_main_parser", "parse_command"]
+
+
+def create_main_parser():
+    # type: () -> ConfigOptionParser
+    """Creates and returns the main parser for pip's CLI
+    """
+
+    parser_kw = {
+        'usage': '\n%prog <command> [options]',
+        'add_help_option': False,
+        'formatter': UpdatingDefaultsHelpFormatter(),
+        'name': 'global',
+        'prog': get_prog(),
+    }
+
+    parser = ConfigOptionParser(**parser_kw)
+    parser.disable_interspersed_args()
+
+    parser.version = get_pip_version()
+
+    # add the general options
+    gen_opts = cmdoptions.make_option_group(cmdoptions.general_group, parser)
+    parser.add_option_group(gen_opts)
+
+    # so the help formatter knows
+    parser.main = True  # type: ignore
+
+    # create command listing for description
+    description = [''] + [
+        '%-27s %s' % (name, command_info.summary)
+        for name, command_info in commands_dict.items()
+    ]
+    parser.description = '\n'.join(description)
+
+    return parser
+
+
+def parse_command(args):
+    # type: (List[str]) -> Tuple[str, List[str]]
+    parser = create_main_parser()
+
+    # Note: parser calls disable_interspersed_args(), so the result of this
+    # call is to split the initial args into the general options before the
+    # subcommand and everything else.
+    # For example:
+    #  args: ['--timeout=5', 'install', '--user', 'INITools']
+    #  general_options: ['--timeout==5']
+    #  args_else: ['install', '--user', 'INITools']
+    general_options, args_else = parser.parse_args(args)
+
+    # --version
+    if general_options.version:
+        sys.stdout.write(parser.version)  # type: ignore
+        sys.stdout.write(os.linesep)
+        sys.exit()
+
+    # pip || pip help -> print_help()
+    if not args_else or (args_else[0] == 'help' and len(args_else) == 1):
+        parser.print_help()
+        sys.exit()
+
+    # the subcommand name
+    cmd_name = args_else[0]
+
+    if cmd_name not in commands_dict:
+        guess = get_similar_commands(cmd_name)
+
+        msg = ['unknown command "%s"' % cmd_name]
+        if guess:
+            msg.append('maybe you meant "%s"' % guess)
+
+        raise CommandError(' - '.join(msg))
+
+    # all the args without the subcommand
+    cmd_args = args[:]
+    cmd_args.remove(cmd_name)
+
+    return cmd_name, cmd_args
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/parser.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/parser.py
new file mode 100644
index 0000000..c99456b
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/parser.py
@@ -0,0 +1,265 @@
+"""Base option parser setup"""
+
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import optparse
+import sys
+import textwrap
+from distutils.util import strtobool
+
+from pip._vendor.six import string_types
+
+from pip._internal.cli.status_codes import UNKNOWN_ERROR
+from pip._internal.configuration import Configuration, ConfigurationError
+from pip._internal.utils.compat import get_terminal_size
+
+logger = logging.getLogger(__name__)
+
+
+class PrettyHelpFormatter(optparse.IndentedHelpFormatter):
+    """A prettier/less verbose help formatter for optparse."""
+
+    def __init__(self, *args, **kwargs):
+        # help position must be aligned with __init__.parseopts.description
+        kwargs['max_help_position'] = 30
+        kwargs['indent_increment'] = 1
+        kwargs['width'] = get_terminal_size()[0] - 2
+        optparse.IndentedHelpFormatter.__init__(self, *args, **kwargs)
+
+    def format_option_strings(self, option):
+        return self._format_option_strings(option, ' <%s>', ', ')
+
+    def _format_option_strings(self, option, mvarfmt=' <%s>', optsep=', '):
+        """
+        Return a comma-separated list of option strings and metavars.
+
+        :param option:  tuple of (short opt, long opt), e.g: ('-f', '--format')
+        :param mvarfmt: metavar format string - evaluated as mvarfmt % metavar
+        :param optsep:  separator
+        """
+        opts = []
+
+        if option._short_opts:
+            opts.append(option._short_opts[0])
+        if option._long_opts:
+            opts.append(option._long_opts[0])
+        if len(opts) > 1:
+            opts.insert(1, optsep)
+
+        if option.takes_value():
+            metavar = option.metavar or option.dest.lower()
+            opts.append(mvarfmt % metavar.lower())
+
+        return ''.join(opts)
+
+    def format_heading(self, heading):
+        if heading == 'Options':
+            return ''
+        return heading + ':\n'
+
+    def format_usage(self, usage):
+        """
+        Ensure there is only one newline between usage and the first heading
+        if there is no description.
+        """
+        msg = '\nUsage: %s\n' % self.indent_lines(textwrap.dedent(usage), "  ")
+        return msg
+
+    def format_description(self, description):
+        # leave full control over description to us
+        if description:
+            if hasattr(self.parser, 'main'):
+                label = 'Commands'
+            else:
+                label = 'Description'
+            # some doc strings have initial newlines, some don't
+            description = description.lstrip('\n')
+            # some doc strings have final newlines and spaces, some don't
+            description = description.rstrip()
+            # dedent, then reindent
+            description = self.indent_lines(textwrap.dedent(description), "  ")
+            description = '%s:\n%s\n' % (label, description)
+            return description
+        else:
+            return ''
+
+    def format_epilog(self, epilog):
+        # leave full control over epilog to us
+        if epilog:
+            return epilog
+        else:
+            return ''
+
+    def indent_lines(self, text, indent):
+        new_lines = [indent + line for line in text.split('\n')]
+        return "\n".join(new_lines)
+
+
+class UpdatingDefaultsHelpFormatter(PrettyHelpFormatter):
+    """Custom help formatter for use in ConfigOptionParser.
+
+    This is updates the defaults before expanding them, allowing
+    them to show up correctly in the help listing.
+    """
+
+    def expand_default(self, option):
+        if self.parser is not None:
+            self.parser._update_defaults(self.parser.defaults)
+        return optparse.IndentedHelpFormatter.expand_default(self, option)
+
+
+class CustomOptionParser(optparse.OptionParser):
+
+    def insert_option_group(self, idx, *args, **kwargs):
+        """Insert an OptionGroup at a given position."""
+        group = self.add_option_group(*args, **kwargs)
+
+        self.option_groups.pop()
+        self.option_groups.insert(idx, group)
+
+        return group
+
+    @property
+    def option_list_all(self):
+        """Get a list of all options, including those in option groups."""
+        res = self.option_list[:]
+        for i in self.option_groups:
+            res.extend(i.option_list)
+
+        return res
+
+
+class ConfigOptionParser(CustomOptionParser):
+    """Custom option parser which updates its defaults by checking the
+    configuration files and environmental variables"""
+
+    def __init__(self, *args, **kwargs):
+        self.name = kwargs.pop('name')
+
+        isolated = kwargs.pop("isolated", False)
+        self.config = Configuration(isolated)
+
+        assert self.name
+        optparse.OptionParser.__init__(self, *args, **kwargs)
+
+    def check_default(self, option, key, val):
+        try:
+            return option.check_value(key, val)
+        except optparse.OptionValueError as exc:
+            print("An error occurred during configuration: %s" % exc)
+            sys.exit(3)
+
+    def _get_ordered_configuration_items(self):
+        # Configuration gives keys in an unordered manner. Order them.
+        override_order = ["global", self.name, ":env:"]
+
+        # Pool the options into different groups
+        section_items = {name: [] for name in override_order}
+        for section_key, val in self.config.items():
+            # ignore empty values
+            if not val:
+                logger.debug(
+                    "Ignoring configuration key '%s' as it's value is empty.",
+                    section_key
+                )
+                continue
+
+            section, key = section_key.split(".", 1)
+            if section in override_order:
+                section_items[section].append((key, val))
+
+        # Yield each group in their override order
+        for section in override_order:
+            for key, val in section_items[section]:
+                yield key, val
+
+    def _update_defaults(self, defaults):
+        """Updates the given defaults with values from the config files and
+        the environ. Does a little special handling for certain types of
+        options (lists)."""
+
+        # Accumulate complex default state.
+        self.values = optparse.Values(self.defaults)
+        late_eval = set()
+        # Then set the options with those values
+        for key, val in self._get_ordered_configuration_items():
+            # '--' because configuration supports only long names
+            option = self.get_option('--' + key)
+
+            # Ignore options not present in this parser. E.g. non-globals put
+            # in [global] by users that want them to apply to all applicable
+            # commands.
+            if option is None:
+                continue
+
+            if option.action in ('store_true', 'store_false', 'count'):
+                try:
+                    val = strtobool(val)
+                except ValueError:
+                    error_msg = invalid_config_error_message(
+                        option.action, key, val
+                    )
+                    self.error(error_msg)
+
+            elif option.action == 'append':
+                val = val.split()
+                val = [self.check_default(option, key, v) for v in val]
+            elif option.action == 'callback':
+                late_eval.add(option.dest)
+                opt_str = option.get_opt_string()
+                val = option.convert_value(opt_str, val)
+                # From take_action
+                args = option.callback_args or ()
+                kwargs = option.callback_kwargs or {}
+                option.callback(option, opt_str, val, self, *args, **kwargs)
+            else:
+                val = self.check_default(option, key, val)
+
+            defaults[option.dest] = val
+
+        for key in late_eval:
+            defaults[key] = getattr(self.values, key)
+        self.values = None
+        return defaults
+
+    def get_default_values(self):
+        """Overriding to make updating the defaults after instantiation of
+        the option parser possible, _update_defaults() does the dirty work."""
+        if not self.process_default_values:
+            # Old, pre-Optik 1.5 behaviour.
+            return optparse.Values(self.defaults)
+
+        # Load the configuration, or error out in case of an error
+        try:
+            self.config.load()
+        except ConfigurationError as err:
+            self.exit(UNKNOWN_ERROR, str(err))
+
+        defaults = self._update_defaults(self.defaults.copy())  # ours
+        for option in self._get_all_options():
+            default = defaults.get(option.dest)
+            if isinstance(default, string_types):
+                opt_str = option.get_opt_string()
+                defaults[option.dest] = option.check_value(opt_str, default)
+        return optparse.Values(defaults)
+
+    def error(self, msg):
+        self.print_usage(sys.stderr)
+        self.exit(UNKNOWN_ERROR, "%s\n" % msg)
+
+
+def invalid_config_error_message(action, key, val):
+    """Returns a better error message when invalid configuration option
+    is provided."""
+    if action in ('store_true', 'store_false'):
+        return ("{0} is not a valid value for {1} option, "
+                "please specify a boolean value like yes/no, "
+                "true/false or 1/0 instead.").format(val, key)
+
+    return ("{0} is not a valid value for {1} option, "
+            "please specify a numerical value like 1/0 "
+            "instead.").format(val, key)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/req_command.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/req_command.py
new file mode 100644
index 0000000..9383b3b
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/req_command.py
@@ -0,0 +1,333 @@
+"""Contains the Command base classes that depend on PipSession.
+
+The classes in this module are in a separate module so the commands not
+needing download / PackageFinder capability don't unnecessarily import the
+PackageFinder machinery and all its vendored dependencies, etc.
+"""
+
+import logging
+import os
+from functools import partial
+
+from pip._internal.cli.base_command import Command
+from pip._internal.cli.command_context import CommandContextMixIn
+from pip._internal.exceptions import CommandError
+from pip._internal.index.package_finder import PackageFinder
+from pip._internal.legacy_resolve import Resolver
+from pip._internal.models.selection_prefs import SelectionPreferences
+from pip._internal.network.download import Downloader
+from pip._internal.network.session import PipSession
+from pip._internal.operations.prepare import RequirementPreparer
+from pip._internal.req.constructors import (
+    install_req_from_editable,
+    install_req_from_line,
+    install_req_from_req_string,
+)
+from pip._internal.req.req_file import parse_requirements
+from pip._internal.self_outdated_check import (
+    make_link_collector,
+    pip_self_version_check,
+)
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from optparse import Values
+    from typing import List, Optional, Tuple
+    from pip._internal.cache import WheelCache
+    from pip._internal.models.target_python import TargetPython
+    from pip._internal.req.req_set import RequirementSet
+    from pip._internal.req.req_tracker import RequirementTracker
+    from pip._internal.utils.temp_dir import TempDirectory
+
+logger = logging.getLogger(__name__)
+
+
+class SessionCommandMixin(CommandContextMixIn):
+
+    """
+    A class mixin for command classes needing _build_session().
+    """
+    def __init__(self):
+        # type: () -> None
+        super(SessionCommandMixin, self).__init__()
+        self._session = None  # Optional[PipSession]
+
+    @classmethod
+    def _get_index_urls(cls, options):
+        # type: (Values) -> Optional[List[str]]
+        """Return a list of index urls from user-provided options."""
+        index_urls = []
+        if not getattr(options, "no_index", False):
+            url = getattr(options, "index_url", None)
+            if url:
+                index_urls.append(url)
+        urls = getattr(options, "extra_index_urls", None)
+        if urls:
+            index_urls.extend(urls)
+        # Return None rather than an empty list
+        return index_urls or None
+
+    def get_default_session(self, options):
+        # type: (Values) -> PipSession
+        """Get a default-managed session."""
+        if self._session is None:
+            self._session = self.enter_context(self._build_session(options))
+            # there's no type annotation on requests.Session, so it's
+            # automatically ContextManager[Any] and self._session becomes Any,
+            # then https://github.com/python/mypy/issues/7696 kicks in
+            assert self._session is not None
+        return self._session
+
+    def _build_session(self, options, retries=None, timeout=None):
+        # type: (Values, Optional[int], Optional[int]) -> PipSession
+        assert not options.cache_dir or os.path.isabs(options.cache_dir)
+        session = PipSession(
+            cache=(
+                os.path.join(options.cache_dir, "http")
+                if options.cache_dir else None
+            ),
+            retries=retries if retries is not None else options.retries,
+            trusted_hosts=options.trusted_hosts,
+            index_urls=self._get_index_urls(options),
+        )
+
+        # Handle custom ca-bundles from the user
+        if options.cert:
+            session.verify = options.cert
+
+        # Handle SSL client certificate
+        if options.client_cert:
+            session.cert = options.client_cert
+
+        # Handle timeouts
+        if options.timeout or timeout:
+            session.timeout = (
+                timeout if timeout is not None else options.timeout
+            )
+
+        # Handle configured proxies
+        if options.proxy:
+            session.proxies = {
+                "http": options.proxy,
+                "https": options.proxy,
+            }
+
+        # Determine if we can prompt the user for authentication or not
+        session.auth.prompting = not options.no_input
+
+        return session
+
+
+class IndexGroupCommand(Command, SessionCommandMixin):
+
+    """
+    Abstract base class for commands with the index_group options.
+
+    This also corresponds to the commands that permit the pip version check.
+    """
+
+    def handle_pip_version_check(self, options):
+        # type: (Values) -> None
+        """
+        Do the pip version check if not disabled.
+
+        This overrides the default behavior of not doing the check.
+        """
+        # Make sure the index_group options are present.
+        assert hasattr(options, 'no_index')
+
+        if options.disable_pip_version_check or options.no_index:
+            return
+
+        # Otherwise, check if we're using the latest version of pip available.
+        session = self._build_session(
+            options,
+            retries=0,
+            timeout=min(5, options.timeout)
+        )
+        with session:
+            pip_self_version_check(session, options)
+
+
+class RequirementCommand(IndexGroupCommand):
+
+    @staticmethod
+    def make_requirement_preparer(
+        temp_build_dir,           # type: TempDirectory
+        options,                  # type: Values
+        req_tracker,              # type: RequirementTracker
+        session,                  # type: PipSession
+        finder,                   # type: PackageFinder
+        use_user_site,            # type: bool
+        download_dir=None,        # type: str
+        wheel_download_dir=None,  # type: str
+    ):
+        # type: (...) -> RequirementPreparer
+        """
+        Create a RequirementPreparer instance for the given parameters.
+        """
+        downloader = Downloader(session, progress_bar=options.progress_bar)
+
+        temp_build_dir_path = temp_build_dir.path
+        assert temp_build_dir_path is not None
+
+        return RequirementPreparer(
+            build_dir=temp_build_dir_path,
+            src_dir=options.src_dir,
+            download_dir=download_dir,
+            wheel_download_dir=wheel_download_dir,
+            build_isolation=options.build_isolation,
+            req_tracker=req_tracker,
+            downloader=downloader,
+            finder=finder,
+            require_hashes=options.require_hashes,
+            use_user_site=use_user_site,
+        )
+
+    @staticmethod
+    def make_resolver(
+        preparer,                            # type: RequirementPreparer
+        finder,                              # type: PackageFinder
+        options,                             # type: Values
+        wheel_cache=None,                    # type: Optional[WheelCache]
+        use_user_site=False,                 # type: bool
+        ignore_installed=True,               # type: bool
+        ignore_requires_python=False,        # type: bool
+        force_reinstall=False,               # type: bool
+        upgrade_strategy="to-satisfy-only",  # type: str
+        use_pep517=None,                     # type: Optional[bool]
+        py_version_info=None            # type: Optional[Tuple[int, ...]]
+    ):
+        # type: (...) -> Resolver
+        """
+        Create a Resolver instance for the given parameters.
+        """
+        make_install_req = partial(
+            install_req_from_req_string,
+            isolated=options.isolated_mode,
+            wheel_cache=wheel_cache,
+            use_pep517=use_pep517,
+        )
+        return Resolver(
+            preparer=preparer,
+            finder=finder,
+            make_install_req=make_install_req,
+            use_user_site=use_user_site,
+            ignore_dependencies=options.ignore_dependencies,
+            ignore_installed=ignore_installed,
+            ignore_requires_python=ignore_requires_python,
+            force_reinstall=force_reinstall,
+            upgrade_strategy=upgrade_strategy,
+            py_version_info=py_version_info,
+        )
+
+    def populate_requirement_set(
+        self,
+        requirement_set,  # type: RequirementSet
+        args,             # type: List[str]
+        options,          # type: Values
+        finder,           # type: PackageFinder
+        session,          # type: PipSession
+        wheel_cache,      # type: Optional[WheelCache]
+    ):
+        # type: (...) -> None
+        """
+        Marshal cmd line args into a requirement set.
+        """
+        for filename in options.constraints:
+            for req_to_add in parse_requirements(
+                    filename,
+                    constraint=True, finder=finder, options=options,
+                    session=session, wheel_cache=wheel_cache):
+                req_to_add.is_direct = True
+                requirement_set.add_requirement(req_to_add)
+
+        for req in args:
+            req_to_add = install_req_from_line(
+                req, None, isolated=options.isolated_mode,
+                use_pep517=options.use_pep517,
+                wheel_cache=wheel_cache
+            )
+            req_to_add.is_direct = True
+            requirement_set.add_requirement(req_to_add)
+
+        for req in options.editables:
+            req_to_add = install_req_from_editable(
+                req,
+                isolated=options.isolated_mode,
+                use_pep517=options.use_pep517,
+                wheel_cache=wheel_cache
+            )
+            req_to_add.is_direct = True
+            requirement_set.add_requirement(req_to_add)
+
+        # NOTE: options.require_hashes may be set if --require-hashes is True
+        for filename in options.requirements:
+            for req_to_add in parse_requirements(
+                    filename,
+                    finder=finder, options=options, session=session,
+                    wheel_cache=wheel_cache,
+                    use_pep517=options.use_pep517):
+                req_to_add.is_direct = True
+                requirement_set.add_requirement(req_to_add)
+
+        # If any requirement has hash options, enable hash checking.
+        requirements = (
+            requirement_set.unnamed_requirements +
+            list(requirement_set.requirements.values())
+        )
+        if any(req.has_hash_options for req in requirements):
+            options.require_hashes = True
+
+        if not (args or options.editables or options.requirements):
+            opts = {'name': self.name}
+            if options.find_links:
+                raise CommandError(
+                    'You must give at least one requirement to %(name)s '
+                    '(maybe you meant "pip %(name)s %(links)s"?)' %
+                    dict(opts, links=' '.join(options.find_links)))
+            else:
+                raise CommandError(
+                    'You must give at least one requirement to %(name)s '
+                    '(see "pip help %(name)s")' % opts)
+
+    @staticmethod
+    def trace_basic_info(finder):
+        # type: (PackageFinder) -> None
+        """
+        Trace basic information about the provided objects.
+        """
+        # Display where finder is looking for packages
+        search_scope = finder.search_scope
+        locations = search_scope.get_formatted_locations()
+        if locations:
+            logger.info(locations)
+
+    def _build_package_finder(
+        self,
+        options,               # type: Values
+        session,               # type: PipSession
+        target_python=None,    # type: Optional[TargetPython]
+        ignore_requires_python=None,  # type: Optional[bool]
+    ):
+        # type: (...) -> PackageFinder
+        """
+        Create a package finder appropriate to this requirement command.
+
+        :param ignore_requires_python: Whether to ignore incompatible
+            "Requires-Python" values in links. Defaults to False.
+        """
+        link_collector = make_link_collector(session, options=options)
+        selection_prefs = SelectionPreferences(
+            allow_yanked=True,
+            format_control=options.format_control,
+            allow_all_prereleases=options.pre,
+            prefer_binary=options.prefer_binary,
+            ignore_requires_python=ignore_requires_python,
+        )
+
+        return PackageFinder.create(
+            link_collector=link_collector,
+            selection_prefs=selection_prefs,
+            target_python=target_python,
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py
new file mode 100644
index 0000000..275360a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+
+SUCCESS = 0
+ERROR = 1
+UNKNOWN_ERROR = 2
+VIRTUALENV_NOT_FOUND = 3
+PREVIOUS_BUILD_DIR_ERROR = 4
+NO_MATCHES_FOUND = 23
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__init__.py
new file mode 100644
index 0000000..2a311f8
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__init__.py
@@ -0,0 +1,114 @@
+"""
+Package containing all pip commands
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import importlib
+from collections import OrderedDict, namedtuple
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Any
+    from pip._internal.cli.base_command import Command
+
+
+CommandInfo = namedtuple('CommandInfo', 'module_path, class_name, summary')
+
+# The ordering matters for help display.
+#    Also, even though the module path starts with the same
+# "pip._internal.commands" prefix in each case, we include the full path
+# because it makes testing easier (specifically when modifying commands_dict
+# in test setup / teardown by adding info for a FakeCommand class defined
+# in a test-related module).
+#    Finally, we need to pass an iterable of pairs here rather than a dict
+# so that the ordering won't be lost when using Python 2.7.
+commands_dict = OrderedDict([
+    ('install', CommandInfo(
+        'pip._internal.commands.install', 'InstallCommand',
+        'Install packages.',
+    )),
+    ('download', CommandInfo(
+        'pip._internal.commands.download', 'DownloadCommand',
+        'Download packages.',
+    )),
+    ('uninstall', CommandInfo(
+        'pip._internal.commands.uninstall', 'UninstallCommand',
+        'Uninstall packages.',
+    )),
+    ('freeze', CommandInfo(
+        'pip._internal.commands.freeze', 'FreezeCommand',
+        'Output installed packages in requirements format.',
+    )),
+    ('list', CommandInfo(
+        'pip._internal.commands.list', 'ListCommand',
+        'List installed packages.',
+    )),
+    ('show', CommandInfo(
+        'pip._internal.commands.show', 'ShowCommand',
+        'Show information about installed packages.',
+    )),
+    ('check', CommandInfo(
+        'pip._internal.commands.check', 'CheckCommand',
+        'Verify installed packages have compatible dependencies.',
+    )),
+    ('config', CommandInfo(
+        'pip._internal.commands.configuration', 'ConfigurationCommand',
+        'Manage local and global configuration.',
+    )),
+    ('search', CommandInfo(
+        'pip._internal.commands.search', 'SearchCommand',
+        'Search PyPI for packages.',
+    )),
+    ('wheel', CommandInfo(
+        'pip._internal.commands.wheel', 'WheelCommand',
+        'Build wheels from your requirements.',
+    )),
+    ('hash', CommandInfo(
+        'pip._internal.commands.hash', 'HashCommand',
+        'Compute hashes of package archives.',
+    )),
+    ('completion', CommandInfo(
+        'pip._internal.commands.completion', 'CompletionCommand',
+        'A helper command used for command completion.',
+    )),
+    ('debug', CommandInfo(
+        'pip._internal.commands.debug', 'DebugCommand',
+        'Show information useful for debugging.',
+    )),
+    ('help', CommandInfo(
+        'pip._internal.commands.help', 'HelpCommand',
+        'Show help for commands.',
+    )),
+])  # type: OrderedDict[str, CommandInfo]
+
+
+def create_command(name, **kwargs):
+    # type: (str, **Any) -> Command
+    """
+    Create an instance of the Command class with the given name.
+    """
+    module_path, class_name, summary = commands_dict[name]
+    module = importlib.import_module(module_path)
+    command_class = getattr(module, class_name)
+    command = command_class(name=name, summary=summary, **kwargs)
+
+    return command
+
+
+def get_similar_commands(name):
+    """Command name auto-correct."""
+    from difflib import get_close_matches
+
+    name = name.lower()
+
+    close_commands = get_close_matches(name, commands_dict.keys())
+
+    if close_commands:
+        return close_commands[0]
+    else:
+        return False
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b9c89fcf3df8f39a469ee86731456ac105ec597a
GIT binary patch
literal 2852
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
NECbFu&1S>F3jlSUftLUP

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/check.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/check.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2a6e035bdea4b28a16171cb6af80ade72a2304a0
GIT binary patch
literal 1312
zcmWIL<>g{vU|{fR*`4x`m4V?gh=Yt-7#J8F7#J9e{TLV+QW#Pga~PsPG*b>^E>jc}
zBZ$qM!<@?!#gfY!#R}%L<gn$kN3k<9q%thvNab9}7{%qzkiwe6*20j&mde!39L1f&
z7|fu_{t{%9pC;oicIW)u+{C;TO{QCd$r-81+3^L5$=QkNsqw|BCASoli&7IyQjx{t
z(~9zQ<1_P$OA>Q(Qd2Y;Z}F5DWtODI=a-fgl$Ioe3`WLGFmK2(FfgPtL@}l?L@}i>
zMlq)_MX{tXr?9jzM6sr@1~X`~-QsZuxd7^-D)X?^qRg~P1-M-bP^T3uWF(fQDkSIU
z79^HrCgr3mq@)(4=B1?OC1<7<>s5(yDS&}$K~a9XLUevXNoIatacnX(lDl{r7#KJi
z7#N&EA-sTrfuV$<nIVR$mbsRtgt3OXnK6c`mbI3xhSh~3R<D-5hPj4ak|B$!mZOFh
z#ByPX6|3beVNPMJVXxt+;Y?wYWN2n#WGFN!l&WEKVTd(B(ZdGSBNM}1%T>!=%TvOf
z!VK2QQ^Qrm-OR?wP?%EaSHoI7p@yw^LJdpNloXa=h7#r!)@DXf%z}c)uS!d`SV6T|
zp(wSmG_xob#MV(L&&W*9P{=G+$jdK51eIP9BLf3Nl`cd>Mj~8OZfahMf@-mjLQ-jo
zLS=p_Bq+hk^j?DX$ol0gBo*anr{=*d0_iDMNXswHOVQJ0DFP+TB2ZY~VlPWAD$dN$
zD`I6}V9?~f#ZsJ_lXi<88sN8B5{uG{Z*fCo4V0jwcncDXiZk=l;|q%NlZtP#=Vlgz
zxVN~I^YhYjGLuU(^U`ne6cpuWr6!le=OyN*7I82zFx=vT$8hB>j+E2_u+%MX5DV&t
zTg*kNg)13~L>L$temUru<QC``WESX_=7FqFP0=mSNKMVr%}I^VG|DeZ0m<pdXXcfp
z7Ud=8=qE!mL9sqK3+NS8-eN8)%@YHq4I@yZVdP@uVd4Ohj7%WNz{J4zkAoE?A_U?y
zGBH5mKMqzNMi!<j0pz5tS5%tkr^$AUBOdJT`1o5~@$tF&DWy57@$t8K;^PZT6LUbG
zjgP;@9v`2QpBx{5i?y^kF+H^i<Or~*kO)x*28JRw1_lNJkPAT!4n`Ix7G|)RCeJPQ
zoc#23P)N!ZWESYby{VU+lc|@KSezOU^=}a<bKXKzlwXiqlnBl-df?CiM>ROoZ%LpU
zS6Y&pQ>>SpS)2?`0Jk{PQ%ijE)6-Lnio`*Y#s+dmY7y8~NUjIPP!Y%rw>WGdfnWzp
TQpKR+kb{YbQGkVqiHjKku%u<&

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/completion.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/completion.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4768816fa02aaeb3ddd870d0b71d165366ef26cb
GIT binary patch
literal 3013
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
JnO?Ig0|3%&6psJ^

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9f85d21d8592fc3f140789114d2a4c683a7d2f2e
GIT binary patch
literal 6575
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/debug.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/debug.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5059f2b8efdbb807c6846e9f31ff0b00468972ad
GIT binary patch
literal 4089
zcmWIL<>g{vU|{fR*_~1-z`*br#6iX^3=9ko3=9m#?-&>uQW#Pga~N_NqZk=MY^EHh
zD5eyK6s8>JC}uFt62$_hS)*7}7*d#X*mBvU*uiR9ayW81qd38A)*P-}?kH|Bn=OYY
zmp6(R%x2Hw%jJ*a2eUbH1abwV1i@_19HCs{C}A+0D@P<(G)k0_Ayu?!LkdF*caB)D
zc$9dqM3h9XWRxUW4Ns0#u5^?%BSR|l0-03Vg^W>hDZD9sEeuieDf}q{Eeuf#DS|0N
zEeuhLDZ(itEeugg?hGlSDPk=QDPpPI&CF5CDNMl(n&K}(A)(25i$5``I6tSfBsD%W
zw;;c$#7~p)7HfG%YEh~t<1Mb_+?4!+lFa<PVok<d?9TbQxruoxnvA!Eauc&t<4Y2Y
z(o;*~3o1)8^7B9nf<v91U4w%`Iy3W9Qu9jUbMn(cmVlLI7Q~mO78PfL)e8AW21Ld?
zd$>A##|MS_`FZ-eYck(rcFe21#p07$Tyl%UA8c`Ajwa(Rwy?yU($wN)CXl0{7{q2{
zU|?_t#h@4i149YJ0>%`^1xz&zHH-_H7J}n3m_d`tuZpd@)=HteR+IS_TTXs@dTP-v
zmdw1g{99~k`9-;jC7MjPSn?8cQ*W`Bfvj1{P$a^@!0^jKza+OnzaX<fw=}OHF*!Rm
zMYlX7H8n>!CpA9PD8DELB&Q#rnOBlpl$V&Jp9~3|V*QlVq|$V~g34Q5#TohK@nAz`
zK&}KinSrSY<k)1WFTfN?oD=31H@H_oUMOKIVNPLcW-3xDVa{TyWvF4uVy$J&V@YAI
zWh`N9X6P4SWGG=zVX0wkW@2OrXE0?5WC&u2U`SyIX3%8ys}e4*EY{1+EyzjDP0cGw
z1VyFQEk0C%TMR`)3=9mK97X&L3=BmA3=9mn*fSD~6H7{pZZQ{E78i+w#6fC`I6y3r
z2Q-<$qPK)m&58#FBslyageb@`ad0>kR~CcP7?MjAL4m>t3IZlBMlMD+Mh+$xCJx3T
zP+%o9g2bU16gVIZj_W<3+{#$XSi(@l(9BrNRKv7@aUnx3a}Co1riBc(EGbO2tTik}
zdMV5cm}^)TGS;%Duq<FMVX0wmW~^ad$W+T#!n%O1h7A<FH4ItoDXiHHMFmiK#%z|N
zf)ut|_8R6Ch8o6JCP{``<~)`Z_FDE5j%J2_3r2<-W*3H7p;``*DJ7gW9L<a%lL{MZ
z*o)SsaAYypFs5+!G9uf87A;(UFF^%Ukpu$+Llv)r1|%C<fl_FdsB?a9L1IZ}QckKu
zNn(02NVK~4B`7dL+^X#L^z^u*-7<@cOBAY064T>zGIKLaYQZWMK!Kd6rx1`>T&$q0
zTb5dslwX{xP?8UpP)N+l(Tmk&yu}IErpZ+V%0IU_K$#O{*DW4Meuz)cEKAKR5(GsZ
zb53d=a<YIL3r+{On2Sq_G&ygvLyL$ad5{iXh<Bi+!Yvk%$x#9jlS@)lpoPXQw&K#X
zw9JZI%(=zsQ9K|;5YMEh++r?COoyZ%P(CaICm~Ld@8Utq^gxM52b3_tiG_oigOP=i
zg^`O%fRT$yjFE+r4<gPez{JAD^q+~D=`R~gkv0PZ14@!&Wnf?cd7l|%Tn;$TH8a#Q
z)-Zq)lM6$vObk;kQ!R51s6b&_z?{OkkTHcxk^vmmd^L>4CMnFp3@I!rtSM~i%$*GF
z3~7uh>?s^A95swCpk&EX!%`fP!Wqm^!?=JYg%hMNg=+z84dX(_U<OTYzgvuYMW9%%
z;`PffQ7A4*P0mcqOij7Po|#u%l9-bNE`(EaZgHgKm*?f=C#Imd9#mq0sxM)X>p|%#
zouP&yR-l%#hOvVoo2`hYhH)ZOAxki%C<6zkCetk@J%d}UIjLo-IV%~Xq`{2h_>zpo
zlKA|x)S{xyl+^h2ocyH39IysRz;oH;WEPhs=jRsKMS?5?g&7+o69WfBl~QtId{Sv%
z3aC8HOUu`@$;nSn%qh0hLuk3h1~IUTNk>7G?G|%!YRN6u%#zgH;#<s#DJi#Diwklx
zOK!0hrRL_BrQTx6%FoQxWWB|foS&DLnSP56;>KId*{PL9AiqY5L(GFYI5RIj9;^o9
zVk1!L1Wqq}sBQ}YIb8~rXc*ZT1sKJcSQuHrWe(GSHf9LB$PSc5KuVA?D0zVR#Rd!v
z45<uJj42FJOeu^}%qdJ!EGf)Utl)@eNnvf_h+<1&OJQ$eh+=PNU}1>j2xidaxW(fF
zstlkNXO#+<f`WpAOJ;FFPGY43xSmh|)kL6LC^J7#4=i0J2Bs7gR11po(-mx>xyvpD
zB?W+DAA~_gb}^_GQ^HWfSi{iFl*LrTSi{uE$Ox({m}{9!SQfC>FoV)x4MP^&0`?Tf
z8s>#eU|F^-js=_x89)sSa777DkeXb#Sc^*wQj3c0LD`ujK0Y%qvm`$L7DsY!N_>7n
zNpTU#-dmE1DX`28&FdgZP*dR+TR~z`aca>m;mo|^)S?ooczk+MerZ9GHON#JP>R-M
zxy4ePnv-^mC9x>I_!d)kd65$X1H($jTb%Ln$vKI|#qsfwcm+jiks|{G11O^wg9=Xu
zMj<9PMlMD^#wt<dAl8F9HyIXlpx6VkK^Y!gf9wEfc2HXZ6euN3DNH5I%?zOGvxF&y
zxr8N)70PBQVaZ~HvRO-57O*dbsbVW(S-=73v6pZz;DYlwN?5YE!Mb>w85kK#m{K@P
zcxxE4__Fw$!Ig9gQwmp!K$hSFp%ku#FcEI32sd1Wr$iX)Dv=t-W=2Ma6477=O<upM
z9U&Q+#R|~YhC*hsLVjLOr9y6MVqS?tT7D5ES*2&@rRyoU<SXRmmnf8i>H(0Z^30M9
zg~Za5{9JHL0IVDoSDAU~3W<3s3hAjOB_MW5Mrv`YLP}~$VrEXUjzV!}UUI5JNk*zd
zerZWTX$e>@G+8R-rzw<x%!WBAH?dM7IU_MIJyii@U4Cf^$PJmvsd`o11(^j3&?aCN
zH>hO-<M4qvsTHZor6q|;IjL1*AbxskNlI#3VrfoEYF=`FN@iYql_XR=Ei)&zxU#qe
z)T)6>NrOwDRK4`nl7gbtwA7-a)D*Zr9+19*oWv4PJya#Eo}5}#qOJfbWfZ^-v|B<!
zu7RPh!6Cu%&W`a;p?)qtuDAG{LxX$}{3_{!%mTgmvedkk{31P&8JTIBdf>*ghNh+%
zxSqVlUY=N#mzkFiZsrwnf=VP%!E=ip>epLb2!GxZ!t~=U(e%_3O#gwJuE~ixskcP1
zdGHno%yZzz6SyoZask;5&TdTk#kbf~^U5-d^7C#nr>B+_fpP@6QY>NzHT{^2+(C*}
zL4*g00N1==0+jb|F&CBQm4M1n4N!JsVqs+Z&%(yT2!ec!e2h$tObl%QS(tek*_ebF
zL6C=ugQ-dYC1)0u=4o=?;)n+~5#!@;amB~y=BJeAq{heJ;)#zhEKSS-H6G*RZ?VV6
zr{pKc$KPTtElx~Ny(OHPo|j*g8ef!JSejXs3W|U-aB)xss*-N;LQ9L})SMhxi2-)H
z7sw|d_k)WvP?H;6c5pDVu&^+(F!6AJ#WhtxPDv{*DJ@Ekk1qmMtwq70LW&*KSpdak
z7|0w@Bt{8iNdVxmj1mOPz&ZnZ$vK&jVp0x6TrVlHI5i%cU5Y@(Qj`p)B1F#%(n`Z(
zPH{<MNojF>a(+r`F*q7;LDDDO5v3)WImLP~Ux1qKw<J()f~d&NEKUZe)LT;6q)RFb
zK%oFCc5kskIozNi;Q<l6prGQ&FDL;OB&kK9=KL+r^wbg`a8Ii!3Zw>9NkQ@hsA&&L
zccAJP9R83Z9vop{0u*7lIBXzk!wyu}6l*asFz_&OFoGcy4-+We!7&pHqX;7p6BjcF
LD+e!!5{EDVa??mQ

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/download.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/download.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c8b84ec88b98366a565c692eada66a579eab2d7b
GIT binary patch
literal 3921
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
WU|`^3;$Y-p;$ehA5k?*+E@l9#Lw&md

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..04a2bb8efb26ccb43befb801faf318a8943c324f
GIT binary patch
literal 2929
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/hash.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/hash.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6be693a29e440e1268f4d5a12a7198355f651352
GIT binary patch
literal 1990
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
Hm<5yo&%g`y

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/help.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/help.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..eda2a6a83afd04bfcd4c1a0d85011f1461de8cd0
GIT binary patch
literal 1186
zcmWIL<>g{vU|{fR*_|?%g@NHQh=Yt-7#J8F7#J9eT^JY`QW#Pga~N_NqZk=MY^EHh
zT;?cdFq=7tC6_gd70hPIVasKYVrOJ<XGmd9VQXPXVM}FhW{%=WVGm}|<ah}(Uz70`
ze_~Q`eokpgYJ6sHL4Hw*CgUx3=ltB<#Jm&`GdR@Q*)=#=lkpZ0RMfSoD8DEfq#GGC
z!Ca`oz`&5o5XG3n5XF?j7{#2z6vdLl9L1W#lET`;5XF|l7R;c@ev8{9HKzb-VwG5M
zMt-?MMruxhLRx;2LNdhq;wmvN1u#%8D9TS)uz`x(g(Nd0Sq%y~4h9AWXHfWbfx?F|
zg$WcswamFpwJf>JwXBQ`RXjCJDU6Z~wQS)Gc@iuPB`n!oMHY+<AXvi6#t_L6%n-p)
z!&bwb&0bVe!&<}E%vj5w!d$~9#*off%TdE#lvcyBfGvfkhFy$dAtNJ03403b0*)Gv
zg^bONO^h`xU>%$_oLQU;xE3-nGL*0eGib8;6)`d}FlaL0;)OcCI6fsax#SjKa#3nx
zNoqV)^p;3^YDs)?W^QIqVi8QRxJslnFFP;4JP#Hk3QDTQN>w7ciIqvI3YGb#3c0C?
zc_k20W(8dZP3~J_1(^kU@tJugsYQ8-IeJj@i;LJ97#NB`!BoV_z`$^e%QG(}wE`TK
zMWDoWi!HIBAT=+gh!rHul9ivCcZ;ncv8Xt;=oVK&QD$CAJSciJxo)u(r{<*HV$Uxq
z$;{6yzQvMQl#XFKM{;gTd|qO1>Mhpv($wPOTg<t|>9^RSj#<f2B+kIV@XKDmB)34n
zAhSTXG_N2rIXg8)w>%>?HAgomH9pfQzbFMHrw{jwK2&?LKFB3{1(mm$i%Ro^K(Q_Z
zN)C)7EKE#1jC_n-OdO0HOk9jCjC@RdOdO0{OjZ0ysZFn_G|x|y{T4?&*opD+x47ct
zbMsS5b5i5uZ}G&(7nUaGfE*tme~UdnJ|#anKK>SKX>nqD>Mh~S^t}9{)cB&*!qUv5
z)cCU0ys{!mP|$*W1ojq$kN}CXF)%Q2gWLxScMe7tCJ-zFiTY`Bf^1DIEh#NZjgKz^
z<(^w|Xi=Awsh5;k3{N9PphS;NQE^FPNojF>a(+r`F(fi2P)$m$NKS=B7dU#sE`T@_
d;cAeBZ*kZ_!od!dB#J?<=3(Mt<YDAt1^|o=IgS7T

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/install.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/install.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..43284abcad744702c99a1d255dd84bb5f13bce76
GIT binary patch
literal 16661
zcmWIL<>g{vU|{fR*_|>ii-F-Wh=Yt-7#J8F7#J9enV1+DQW#Pga~N_NqZk=MY^EHh
zD5eyK6s8>JC}uFt62$_hS)*9NG+PuKm}ZY+Phm)5&f&=AjN%0AWy#^n<&NS8vsrU^
za(Sb8!ECl1zFht&elVLoM<7=)N)XKE$PvmFjuHm5IdepEMWaN)Y_1%!T=6LJT!|<N
zFrPa|GFK`}Dpxv6I#(u21}w&tBbzH1B?o5n=E&zNL@9vTd^w7_N>NI=%2CQ-K7Wo%
zu4<Gjm@SZ_ma8764rUAHXyj@}X@c28Ia;~eQQBa(aE?x{Zj^4WUX)(0ew2Q$L6iYl
zTqMUZ*C@&e%ofct&NYcL0kg$&Omoem%)o5%9P?a@D2rUnC`(3$RFeseMaxncQY3OX
za;>7Qz$zqjtaELmY;tX*Y;*0R>~ig+?7`wvIS#pwQI24?bdFQ5bCfffEt6xO>k{Px
zX3OTt=DJ3?GBTtxFK|nBU&t8cks_BO-@*{(>CTX%kfPYakfN9>+RPl~m7<iQ+`<s$
zouZPW+QJa!lcJlVo}$sh80DLynWELg5apMmoubpi5apl36wIKh_Y#ykG#PL4Cngo=
z=aiPD#%Jah<QJ9rX)@m84Gs+m2yzV$j`wi&2>=NcWT(d$r55Lx7A2<^Yck#vOis+p
z&&y0s%*m`ujn7NWP1R()#TA~BnwsOBn4AITCFiE(7nEe?=Ycc`<tApQ#+M`(rKgs}
z7gUyH<mYKJ-VzE*EiBC}O3h8pD{;=x%}vZp(PX;C>KYW}A9Ra7IMmtMH8@z4`4$gU
z(zU24zvz~rXI^nhVopvX$Z&{|Xh2bFS!RA|u~TVgPKrxr5m<O7<1K-d%;J*LlFXdq
z_~PV@RIoe6lQUA2v*R-%ro<=b=cVOjCYKazGTq`sa!_z;$t@w6qV&wN)V%nj)IyMF
z#6g}YLO4CXq$n{tJGBTD1}UipMXAY&C8;TzjJHGz5{rsc;}LF1EJ`n4$#_e!B(=CC
zzPu>2Brz!mBwwV-a*Hc9ueh`b%)2EDvH@y$YD#=rYEf}!e%>vOf};GA)Z~)*g3N;W
zw4(gn_}u)I%(Tp8a8ShO=f#(2=B4D97vJIm8J-%SUs_U7S^|o}kks4)m&~Hn<dXcN
zN>I@IMg~O2JA1e~d&dWb`uTbKxq}>BmRVF%nwXQCR~Da_AD^C+pOlybijpKyxZYAI
z&d4v#Nr?yZ;?werkOC1BdyKc(!V+^zQ;RiOZZSLNRo>$8EJ-Z_`SKQvPiAq+Ee?Nh
znn=t6Im#`+C^xahIX|zYC?6ys1dUmwSkPp=CFYcwmsnKkn3I!Vo|+O+l$rwaFer^l
z6qV-XW#*;Fm*%CU7R4hRpUenK-cZcMz`(!^#l->)3=HiIX^bh1DNHRKwTv~4!3>(r
zekdAXiiJT1rWykSLk&X~LlIXBV=zMrV+}(VQ!`^NV+X?m<{HL@jI~TDOf^i|Y+z$T
zZm}hS9Se%j(&E(kg46<2L-Qh51_p*(ETDXHOBfWji4eblf-pC+q*#;r7IRT*;VnLR
zwgTs=Tl{G1Rx;k=O9O`)DAj@jZ6(7mC;gJ#0{w!_0^QQQ0#G_k(JcpMMBSX!_)Mex
zq7;yvetc$LNorAEVvc??B%>AUL(`XDLFFwGNS1)OJsxT+xV`{aD@<&RER0-?T#Qv_
zAlGA4tY?#xpPZOeY^R4!w#bBmfkBh0$e4kFp~wtGfCP$+KrB;G*ht_q*A5g1pxTRp
ziHD=eoPmKM85*r{3KU%+PO%LG14Al96k`fQ6jKUg6mtqw6bm@6nNwI=IHFinSX0<q
z7^2ux*i$%K7^2uyI8(S<7@|1Z8CV#iID;89xo`17Qy{d!N%Ul7VBk_vP*8x1D}X{c
zF+H_d0hIl$xWIC{3IUY?o(dX?c_|9{B^jwj3YmE+sTHZknhK@GnR)37NM(gWaY1Tw
zW?E)yQL!FWbC`3mLP1e}R%&vILTOPBT-*l~pm3QKXy(mKMN^Ppq)?Qan_rTu04bjp
z5{r^EGRr{9z!nr_7APd<6z3}xmll9Z_+kZU#DiQ0@`ZvDlKYAk(lT>Wi<NW~$}=*P
zGeFjtWu~NpO-jsDNKGuRR47lZR4B=Z`lM1JQK38|KPOcoHLonQC_fKWn1iH~QehUQ
zra-)!s0s^B1qIcDqWpA)=zMT#P#mjZgX9LN$(gA|b_&tZ0M`WvsV-c-o*u+ZOp|nr
zPz-~3h#Z5WbyH&%Y|4_0L4g2^9XkcwHbXRk^8s8-L1IY;K0P+j*aF48K3p+MaRe$n
zI2afh_(55rfQf;j1Y8U?Gi5Q=FxD{jF*1S*DCSz`8s-HoC9DhB7BVaZi9vYmC_D}n
z9w!Qq3&zW00hNv^%qgH&AZrR+FB>C63F`vx8fJ*OSuCI&1j;=r+`TM}3^mMIEGaxG
zyeXU|JV+vZDg0m)1X9>~S)r-~Q-r``!boBwAe||qFr8pO@WR{z=JCOJSu81HDdH&-
zDV!;iDco>VrBb9*WKv{OWYd{I?IXCjLW*JvXNnTc<SdpHWl;Mlg)>DBrW<TNKg@hE
zPXL7{h{6*>;R&PgL}0uumK60A&J+z$%PU12?i!sG-4u-!y%c?Tm>Hz#rWmGZrWhfq
zGEUJ=F-g%(F@=eN-6RS#8_W|!;fbU0Bv5#gC_E_$uY`4hbO~#gObtVp>_Vnm77)Ea
zF2$^dWg!zdEy;p;%phJ0LokD;xnC8NZb=n~t}dhncZ&-`$ERc#-C|D3EUH?HQ9fqo
zmE<efq+}M^=_xo>Dx{>QC6?xtD3oMm7Aurz=Hw{k<(DWFr55BQCZ{T-R%8~JfXgFL
z;iI3HpOcbW1S+UtCWIEJD(LE#7Ni#?rlf*O7Yv=yasr`Ap**uBLm@A<TmjmAD%R6v
zxy6!_T3m9AJvX%^u`IFZ7CY2kw^%Y#a|){1bahLMQ;Tl#g6eJ%E510hB=r_oaY=qr
zYJ5piX=<W8BLf4>vnBZoB^jv-0pRwm0!Tfq$Wwq7*Odxs`9%tq`K3h)1v!Z&pxRqc
zA*8YZ)OOCPRH)O}1D6;2Ituwk3aX9)0WOXqj;b+GBlGhV!XYg>Jq3;6)Kp~aQu32a
zL1itt?FY66<W{}VVAr5{C&yq{uuxiQPL4uKYDr>dPO+Y*f`WgZf=g;rW@4T~ab<By
zYHqO(Bt|le!A3(vL!mq)HBSNBxKhY3Eh)}SNma;CQ%F>Rwy{tOdr-Xxip|7gg`)iY
z5<N}kB5P2k&X$-AYN8i`>hLN~UEREVNazZKLKk9xJjnMTMWCPuX}-k?BI7|NVU;Z`
zoKwqEiz-VpKnbKM71Zu81E&FST1w0Tw`)pL!FD6UT@RF83yM<HGAnLzLuiPpo={UE
z;RcZbdAKN5Aty6QM<FRQPXXj3NKIanU!a?lT9%rl085mKMX8{uOioP!*#PlIl?&8R
zXoU|-6%ZK(NVh{lBfl)Qs3<cfwHTC+i&Kjf^3kJ0vx-SK6ckR-WPXbs%BX4zg(m#O
zoE&)Nn1X1FK+|DfYI$mLi9%voVrCAg$qh^RdI}*KsR|j1c_}%dAk0rwNJ%Y7%}Ytm
zOU_I!hH{EQ4g$FwYN>8<Nl{`+YI-FoU8m?(3Bj`;T;`SlRBb#=Z53aBUQVTMW}0qZ
zYHCVq$}QH^#PrmnM0Z982A9;5)S}$XywqZajQnz_t*Lp*l?o73Ku&}7FBFoXu1!r*
zh=wLfD+N_3D^^cI32ds8f-b@okVil<12HQ#MWHA)J+UYyC$+d3lyJ*4Qo#)~kOz}X
zi;7b7N^&Y;nKd;97E%hui6xoEX&}QuDv{bGU{gS1a0{RXjz+Pjo`Mppw?QsbKyeL7
z9+b%PK-sKPAtfJN{6TE11c@QH5%Jok$pX$?MYf<E#-5y!pP8Im49Q}Gy1HrkMaikU
zMXAsx-YtHxKs;Qa$~p)prvOS!P)`&qq?V=TDP*RBoKgvPdSXsdYGMi~a&$}bbyE^c
zQuV5sbUi`oATvELzbI7~YDa3yEdhuKtT&jNQnkSotOjHpQYgc0(@_BB22d9j6zL@y
zskxvenpv!noS3JORFs;S4Jk39SqS1RL?r<=Mj;a%P>BjDnQ3XMpeTh$V}6lBc_OGP
z01p(Tra<ZfWR);8auf4FDO3@Z?~?O#3o>(3Z?QueAyw+m5FuC*4{c$Co5-MAD5<g}
zH90>eRg<O25!9Cf6?@>AfkX%oxXgo^c8eQQi=-vy6sK0{xj>QtRFa?t%t#i1%Tr0P
z+2x5vdAh~PMVSR9y0D`3mIz2R9wLe;U=5%)f+QhH5gLJ@IDjZFhL`mLjv*dZ!U!wi
zgCtPH6O-~wOF*4a$k0iZDzf2VNrj}M{Or^`lpI<F>XvKD-(oE;El4dYvH&Gvj`;Y@
zyv&mL_*)#wxhe7a1trC|xDr#qtjzqpB6g4>9^{;Oi#s_#4^-l0=9LuRV$aKuPf0B(
zzQtTnlzNLJH3c%La!V3q2DF(18E^ub4H}Lr0(BT~aY6<$z%7{KqU2j*&@>FSsTev+
zbxSBOA3ENVS)325d-C&&bU<$6&C8DmRb-GZ{w;oJXu@o{#RnNZf%7>*27w0$ZgGQ(
zgLp`9`xY;#3Q8@4aXIqx<CAkz6Z3BIL7ftxkyxCOT6~KK)MYA4EiR5vN-Vl12p&;`
z^oQcpi}FhgZgGSANKg(Nc<ia@mT+cXacWTs)EN*-P1aj1#i==Iw^%>}Qn#40%Zma*
zUgCln0E&Z^jJG)B<CAj|i;Lsqi@?2gP)EHefPsM_9@G)}0_t)z3Nf)U@iBrS6CWcB
zBNGD?BNYB-<Kkjsf${#ZaU-!=;cP~x-)!tCJPtVT4;wol6CcP7n5lo*IAOAEAf0?L
z9@8JNDF}63U^g-Hfm{bN0p^b1Y$)c#^@B`9a|hG}knfmS7+Dxu{;{y~F;<B~t9s}V
zfgUXVCWDd{C{RFHoq>UY4>smBfd$lOTfhh!E@EUzVXS4YVa#GGlB!|MVy<N_VaQ^s
zVN794VeSRBz8SMvi!5pwvslv^YgzJGQW$DkY8bQFigRihv)I8T2bkn6&MDz)W+=`n
z;a<SAkRgR7o4F__g{g)yo~?#4i?gUAg%!ju;m+b+z*obV#lMiThB2PMhA~T^U_v@W
zEo+G&$Xt-AHH=vtHH=w8HH=x{ei=w#3PUYh3PUYBNNxgS5f|8G5x8j_VAD9jd{K~^
zg^WeNz&tSsulQGqcnW(nV-sVEL<&a=XD?$dTMb(lFW5xM35*3I=?t|TH4F=+K%r90
zSt4D-*vweVRl|@aQ^Q!pS;JMsm?fLS)yq=LUBj3qH-WLhqlPg{o`<29r$nKKF-x(A
zF-xhLsg}1yxtU=Cb3a!tUx@@rMGa31cM4B0^8}{;H?{mFDj@gpFr@JIGS&)AV5-_R
zfvHNPhGBtvjX({k|IA&(S;M;!)Wg-N5deiwGbk1qvNUV>YZz<zYB*~^_Oqq%^|I9p
z)-Ysg)d+$_YIvccCjxS34P%ye4JcN1QuuqhYK3YT7U<S+gL}(D3-oFPK&&dh8i57+
zDFO=_YlXuZ@}yW8N({2OCNLFgF*1N)3PY_(Btsrg1VfE*mSGA*Hb<>UiBXM6ieN7z
zBSVRC4R@AOGh-)Y^in8AxP_xeAj@Qd=|Tn<hGxcE(Gs&7(Hh=#hIED$kzSS<rdqLD
z@f6V%;TDD(aj*)B8i@%^MJr0oQ^Xcnq=+xDOp!>DY+<O80Ld<7T*wHDts0>PRv`D*
zO4cxDS@SSVV9GyG!<c1LD^(*kfvM<H4Z{N48cC3UY8bQZYNbJ;JAtX_NeXMNbcub9
zWDRQ#BrSnb4hTEcfYh+1NcD2o%9J>QLk%PjN^KxoI7PabwN|#oX@PT%>_Wy`xf+=)
zmlD?nZYeSg8B=6Ieotqpm9LR;VTcW?Rj5(Oa<5gaQYrBOv1;T}<a(KEm1>kGFc%fn
zD5l8QD2X$eGt?@EGvtY}FqC*^b4_3_>Hvi=BSR!Z9#aHEjr;<y8by!~CNLMeq$n(~
ztdU>HSgTy4Jb}4rQ;BzqVvRB=4TLk~b+Is%_+)cUU@1~!WT;hPWT^71VaW1LQOahm
zRW0$WQK?Y{`KOt=R;|Q8E1*WLMm0qll#5FO*%-nZA{iFRg)=Pj2xnkoFl7j22x3^w
zfXohNNMWc|sZ)snxlE3Qp(F@wmmS2l;2bB{1d?NlU<hY0WdP>`mg1Nifd#4y85kLA
zco(RFXoxJxd}J0lW>|`PY8Vy-gV;5oa)D_fGb2MuNHBw@ieD9fNxm+$391XKkwP>X
zZ}C8eZy^;YxW0DNWGQk1HEt|Hgfpm~;DuC$sVSiOhtw+D5b(T?0;tmlX{8k_B$bwc
z+GpTyA)-^JgXsDv=jWAV=9Q-E-C~1Srpb7VB|9@OMU&+gJEU4GzQtagS`41~;DxAx
zR?0=uAXl(MYg|pHTWl$*IiT)EF=&{X@s=3G6VL(A)RcJefOxSc+bzD5)Z7ASeV&q8
zR8#^oh`T7YFdjOGQ&b8PVM_zmghfU6AoI9xaTFA#79<v>78TWi!T_QPY-W5iXu1om
zuE+}{2Xa}FCy3<+BET&L=7P)u&~yiQvZfL=Ur~@*fHK4fnxX&=^MPj^q!<_&(iv(P
zVuflMOBiYxI~baoidbqGCo&bX1T%o^Vok;(MFs|jl}xvo^bBq>7OiAN8dV3?)3>;6
zax#lcK&?x=az+M*Vjczt1~y0~$iVcU<$skLS~XTwnui#}M`+e$E~*2C2rs0$1dW&?
zP!j;d2cQZt7}PcpgZY3DG{KU^fa!WrxD+*lLI~Wn023g07qv1lFm!<&%m#5V0~<qC
zfHP>;3EX1>y8_gDP0c9=4{%i1LI<i#i&GT>TmuwL4b8#b_vFMpP~t-#g@&fXoXRRD
z9R&>6gW>>`eu_oFGd{6A5VwahFftS}fri0WGWuyU7U_Z<jm71+IBn8X^HM7citHwW
z+z*<wU}0cls8Yon&@erkY`0iIBOkX|GV*g%Z?S<Ig_#w%I14I4ahREtTI36|7@Qzk
zZ?S;Jnu@wWBAp<j8x%zxuv`gtqbB1m=Im6^R3CSFeo;0k)fK0f{9@Go#i&pv8C;s2
zoLXEA8XiLK2CEjo1U1oDGT!1ytw@f~%uCDH423kor673<n&+Td2-3tYas{~ol-^-E
z4>aQmnlLUY$^;Jq-Qt5b!J$KOkPL$;Rh&QuXn{PzlwW*{Jw3G~wKOy377M6Exy7EC
zR19Gh7bSy+9E;*WDuq*0lQUCNL2YpOJY*55cq%FcnFh*@x7fe~i^aECGmAmF9h3=*
zWI?i^^b47agN`c1Lra<>&`A3&QK<i*y~KEEaRAQTp!uhwNRT0*BzlVzTmpcd1)kjk
zrJf=okOO(a&G^!ScyM>|7CV%COQImZpfo43Bo#ED44eLrFHSAFB@gPGfqFC0DP&lO
z8rpa-z9k86^h5gvpuxX*SjlvY7b;bpp930c0vAD`Ty{$URI;VUCnXkVLSpn5J7_9D
zr!4grKWNqs$+TM>-l>(~sq<SrkcuHQH6=c&vPc@_UC`uP5h#D(Vk-mB@fIn7gn2=J
zWdjXtCYIb{$;!{nyCnuP7n)MQ!))>SMJcJEz6f|!0OUjX@Kcc=NWW-2*z4e)BcfXg
zN%NpWvB(>w3Oq}glbHnX)W)ZmrWO~c78ikX+byneNJ0nA+_Mzt7nR)N$S+7ON-W7Q
zy2X`PQUY3hP?A~%&K^aeQuY?7YejM@cnazkTVerdOsq%-WRZX?VlE339-L*VMM?R^
znI)CCB$A6#L9qv#Bu@pcNQlo(EiO(>Prb#Klb@cRT6BvQEL;SdJ1qkB0&WS#gGb-s
zD<D9LksDOEs262{!VpxW6lH^0;9SIynp=t?37#KX2ZF0GP`_0KO#nQ;2`-w!wOCOZ
z$Usnyb&CgFZpK4vNl<}aR1NYcCw!Rt7C%xt042tvT95(`Xi_P<#SU6?P?TC&)BqCa
z1ucb$FM)QAZ!yN-;)7U`mYA7ST9jIROBB*ChGrzVFjq-FELGo<h79-Nj`~}i&_tA)
za*G!^-iwPSfLy_v2^zw_#a5JBT$)pIiv`5JB?#98UpK*r5K2icPA)nC(#%(!kzWq3
z_EVD*le0l{0^nE#SFlAbps)kgNVk}aO7s4LYPB{{(a6Nb$im3R$i~FS#Ky?Q#KO$O
z$nu{FgqegG*_c2w0*qWtOrZWE1pnsX0QDX@7}*#F82K1^{xdN#F*5yUVdG+CW8z`r
zV&VYxo558x%O5s20Y*M19!5~j!StU4q>_>CKN|~J4FeMdGBW*RVP#@uVqp2t!h+O;
zWn}rqhUncwYzLdo@{Ns`iwWc^K1KmXE*373ZU5O=K<;K?;bP?Y&&CezwKFpP;o@Oq
zWcts>3~Da0FbVx*`p*LDuY+C8@{fsyjggCmjgf<q1?)PIK9Czgeq>@~`Od}z@;eB#
zFtYq+W9MQLVq{?i`5vs20b;TMqW~itBOfCdBghse2B!ZU%tGLB1No8VKMOM-lL=T2
z4>JcN2csM~lt7^Z@^ckzp$M!GUR0Ww3@QRZU2hNu74)32?spm^sQV4-UNSPIgSyj9
z6Bzrw7#T_!Qy6QQvY1ksdYNijYgkj5B^hejYFJZPBtact))ZDrhFXpi<}9WKEH!Kk
z8H)mHSQfB?Sd0u%QTBz5MR_&sHEh|;MR{OZc2LIxD$B8uv8V+s$^jCsVR2!IJy*+F
z!n}a3hI1jK3q$O_TCN(-8jftHq6=U>>@^%UTnm{x8A>?73m4c@*jqSiK+~`stxS^O
zj$Sik(S^ckP}Phe)wSGU9t)_$If1dru7<hzUkT>|t`yE1ZqO7SR5dqLUJ5M7g(AlT
zl`|;;4Hkequ6bM~%nSHI;*1O>ybA=tcCdpw<_no%dJ8*1-4aO01Jpv&<o3J8pvees
znA~D7C@o6O$xOP%4x0D^F<4R(OA;~KU7&aa)tto=kam{<sNJ=Ip@U%|Bckn9)D9{w
z89_5~iA5#Fps77grlKZLK4t{1sA5S06{(13WCsHS!+(@!m<d`l46{T=YW~7nWiS8#
z|Np<r8`{5t7nTaD#R{<TaYze8Pazn*uA>q(y91r9Dai-5P?J+(vz(y%TCb{wuwmf#
zYi6-RqC!q)Ubdb>KxP4=-;`KdlAoJc0-ZmEO@o3I7V9V!<fJARgDlL=FG~dt=R@T|
zR)e}@DXGPoMX4!znu0}=paKrG8meeEh&2;L%m)#>L4nE+>OFvhbR&qzoS0Wxv>(J`
z2UXLVdFi*<GK)cW7A*jYvK425*4W)*E6Ob?N=*e7$RG#YVgZqwJdipL+<iO@vH{dw
zyu|}5&r>ps;z2guVuMVR-QtEO8c=)c7B@8EfH@qX!~<rrLv<Ei0oe_!6+vY`NE%Xn
zKLFVSD!z*jGB7Ya1*HVg$Rz_K2MY@m2Qwcds8Hcx;$h@s6k+6I<Y5FA!yr*UMma_%
z(2yUv_+(;Y`U@&*!9$xYOut#!L2{r%n}v~wk?CKRBEeLZ4C+^a$|Mj5l}n&j0jQZ;
zyn}&(p-KSM!)s=YVX9@SWe#V^Q(<8!Va(<#GJy;NlrUv6Ll$Fzh7}?iK)Eb}p@unz
zsg|Xd6<nei)w0zv)v!r2K+7!_5Zi?zR-%@pglPdw3Tq8p4SNko3Y#RuLKa4b!l**0
z8devESPL|LtWbS&G0e4`wOqB_VBPFs-Jn4-F3=!Z;iSSUkQ+2P{HkQZEh7bRzW_9c
z0GjBA&lBi{6iore0jSQb(o!u3Wf^D-1H^_cFUl+ickAHwvtH3;P^h>;G-QBglo9JJ
z6;z9Lzyk}F`K9VPISLtxWvL)@Rg0m0z)aAT52(MCSdy8Pld7l5S|kW^#4Zp4O23er
zpCh>_6P$ryN%I^iA#uYR`=FLMC#a1I?*H6k&&@0bt>OYtJAkJ<K<OVe7!O(#1X-xZ
z4(-?6;)2htR^H-BNiBd#bAwn=B}Mum$AC*JFab`aTNoG^WSJNkia|mQj7;E`0w_6h
zFmo{SF!F$FaZt_3_K$-VBm$~anV3K#VEngA1wA2xGHN_pds>t07DqhTN%8TwxZ**h
zH>EkL@$t8K;^PZT6LUZd6yxJ>vB$@!<R{0+-(oEVHEY3R{zW%I&IV<sB9LQm@j@pD
zl2dbXU=su&#~0;+)PX$(n%)65+reutIT%@ZSlD^$8RR+Y88SI6z>`0qt`sO+fH7$F
z0EGQPZ7n$lP@SE^Qo}HhsfMwSv6iWZDTPUrp@s=mOQ(aDFthp<-2&Nl8${dzR}T;Y
z&^jqiW^i-*7F%{XXo{og4M-8#eP9CYzO4)l3>Kh32h~6fjC_nmAQ2Qdfl@E1mk0KS
z48%>Kg`*55j3rEI3^fdWjLnRo;nQX;%Sb^PALOB8kcU7+A~g)Le2^iXX7sA9NF3w=
zSdEqfDZ~&?1yyHuFsFiMS*kQai#_6@NwyfimKaMNrpbJZIWZ^a7ISfG3D}34j73b0
z43L2&h((~_xFv?&L|c%xpfF%y<Y46aU&O}9z~Gh)8mt1x8Uq6Zhz$xtaG|yYT#2VJ
zW^)!v)i4xGl`t$|Okn~we^Qu(8EP1c+-ew$v`Uy#SU{uACCtqXMHVG2DXd@~NG%&!
zEjvhU3S%}$aZm|s6Jrfyaa0XcQ3lvFaAOK&S_xYgdvOg|j1#PjIhdh@qlUSLC55Y(
zsc0Hl2Hcndt7cfhnZg5B#~#d}$(tC3yeI)QrUY3bkPn)jPXw)c0IlN$ParEKB^IZq
zz!pek<`tBdC_qQT^dL(>J<~uMAY&1ra0FGhZlH-?9fiDng~XJUOwb~i#2iRzSqz?G
zPsz_qg)CykraPplG*w3-6FiCvE@D$tK+OpSSn-yblUY&;nb!udQ~|HhggXknWEG2>
z{POcsK}&v8;R~{oQZo`kOXrKAGqvz_AV|wOb-;#07KCPkmqUWqgr+DYL6$Cn?N>-F
zN(Zk;f-X<>t5WgH&jT;`fvo@lsZXsa$jMC31TFn4EKMygajOb*PRs*W0?GNgNtt=6
z3hKIGUFzUwkh-oeWGGBsArZVrsZt>`w;-nyY0@8Bd4LBR6kwC!#Z^%-a|=?7K%)~1
zi3pRSTJ#h`K`U`U5vB{vO5msgjU1L`7K17gg-p<zjm%=$%BR%4GQBE@KBy_!ycJSq
zjN$u~Qt+xJn1?_MzF-ULpsA_K1Vd9&YH}iIXcIKxr-16vl+0q#DxVZhrXuhlU>~UF
zG{9*Bs^;>d%#u`)_9|bORPfR~P!(R14@$=HbPowqm=p3qE6;P#909Gs;l^olK^lsz
zDXB@N=|!LhPmw&R@C6SO@i`WQCZjX+^T2I~TPz?)-4by1b9C}?jR!AX3-%0g1s5{6
zSir-NtVN(PPqY~b$Pgd6d;}Aq0<35r0|SFIsI&qJF$jU$b}ZnDTX1)q1>Dj659;o+
zFoQakT#PKtY>ZrtEG!U}TufjSP}*yt!9WlO7j5ep7#Kipu@;6}CeV%m$X<X2%nKQs
z8O0fDnZbQaW^l`jwT3l|WdUmnb2`I9rdqZVwi>o(##;6o_9B%UmIdr7EDJblm}=M;
zaDw#Kur34_kcBEWj74oFY@nVhSZy0vEi1BG&@>$*Lk&xDUkY0=LkU+3`vQ&>js@H`
zEFc-klH3#?&;nDCye4neB+oR3#Joy)zR*q1NX$zI#kDSM0S|OhH6jBml&6B$xFr^Y
z3ca-aB5>}9Hr_xziDFRF%?D+RR8VmQ+P0&clL;+Y@)SVhDhi39;siX5nVFxb0BVe6
z=A}bQJCq(EsD=eql%R3NV$fI_B!p|geO>UL3KZoarJx7_D+e_az!N26wTvkY3m9q`
z7l8M5fPxb;S)$2Y#iFZQU0ZY-lmsV2>evmS)*d^wX9Vp<LdFC^2?tRlg6AUIKnV&|
zyRm`B^1VSG0W}T5K1)r34Q0UwXc5&fsKiNxt-2^ih$CiJz!rgK+#rQExLH;V7K9L>
zG!5VG0Z~)j0&)!~3>cWI%*k{McrdYwr&_V77QBf;p}Mw848enL4*_*OQ~j!HL7Naj
zRTm=NK%JtHmS38e0xBKR6OxrebuDZ?SAJevW_oE6q#(&ntW<!OW}u0Z)Z~)X6a{Gg
zQv@#UGm8~U^Wf8VdR0u;3RTXKJrtk~E|7(oFbCvhW`h?67pE5KD8Ncp5DPSqq60P$
zR=!rT7#ZjpW%kN2Fle%Xx~GZ7`FXdvp=kh=rf;#Q=jWxyXXb(C3W`fpHF<7{l;(jN
z#3{(b^u@PWK>bzlFnG~=P@)12-QHqOPc10|HSvl-z2_ou3S-Gmtt>7Q1*rjbqBS{+
zj)T}B^+kN3_7^A(-{Q<qO9PFC7Zrn?1K$k?j-*=xu-Xikz91<BoJ>K<qi8t;14BJ1
zO@O9S7+5)2SwQ29|Cv}>m^c_g{Rhyf919~C1Ji$||7>iaaX6^Rf6xdd3up|FiG`Wt
zFB3ZxGZQ1zXRwJVD_KBIKM)2NfwRC9d*Gc03@MDDwp0ycu}%&10tQGM55xi$i_KuU
zJT4GFg&C}lIfaFlL6RYb)trHu!3MNrfeF;P&1Nd<NMWmGNnx*LtzjxI0qtR^VM*br
zVO_wwkRctc7h+BgE5w`y3@MP-9@hdk(2j%!><bxESj9o>)VZswAzR86KwDKnL-PvI
zp?PrADKSq0eOw>fdMi-?rOo{0<Wf*NtSrgQO;t!KEdmvjpf#VV6{*Rkpj-f2N(vHy
z)%?)R0x8$3OcC>xFa_{d1+?<V;)E(DD}`H(dPR>w#S$Y|m6CIQ9%#LF5z<=X1W1!8
z0oG0sbp~x=1h1|v04=HoPm&i`v49HZDkeQHa7Rd!1DqOfF&CFWrX=$6Z?U;Lf;Lrx
zCdNuq^HOfHg7(xE6@e1yE!N_aqRawKHgG4o=sL(b{NTKYXx83hEdUL_-4XybN1%x^
z9wc;20LdL-5%i?GkAZ<<8z`xQHq<e&vM_@N(zzG~n7Eh)SU??IXkE>~#0cu-axro-
z6@m0<viSM=xoHM~`m1TBC7>OW@kO8_ut=7Xf#DWAXv!rsFTDsfno<NF#d;3PW}F~N
zj{JfW$TB!kKkOEFL1uwod|7H<N`4V!#z-1TL=O^IplS*<m{knfv?mN!0oy#M2cGOJ
z0_BG&K{T11Oz=c$lnjQr9%3sjWO`8+QweAZ0yH%hfkv)x$ziG~E=epYEsh5*I4y=u
zE`jEdZb_i3OodHp6+>EIpoSM@7D^mdA*^sIE&>e$qFV@=IRmYigzV@8kEEb`8Z;jS
zn(HhA&C%UL^Hx!6p&rOvp!vt_)S@EL%;+t7R5yS_S`W5q7PQ_IRAAmx!m0|sl^5Kl
z2Nk#Ij)oWqo^J(jZzuwdDWeAvL{V;LaWZ5O6f_eEnc)QW@Nc2TA4D~5&J8?!d`k+O
z^GYfUK<N<FD8cS5=+=qUyfSc$_!cDb!IKtbJqdUgEwu<TwF+9}QKSUQh-^^Pl|gA+
z1w^QV2vA<SrHtyD-29Z(oMJs_0|d0prYJwB2(%y(R|G)|t0E1Mk(wYv3uGr}dTNOe
zctW%24@eL^fCiof294~1hZ4XIb#Sv8TycOiEK<gYS5&t+Y;yBcN^?@}K#jNJBnAcs
z9wzV*EMy>-k%x%~g2AI*0*oT8piwUYFb~9%U;~jni~>w-j694IAk`rCOkB(yyaM$M
VAXvb`%E19%Nyo_Wo6Cm78~}^j`#}Hz

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/list.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/list.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e6f729f817290d3106d54d829f5e823d74cab9df
GIT binary patch
literal 9042
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
B8&v=R

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/search.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/search.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..db251b67d3b3ea6380841755302d493b76e4b41b
GIT binary patch
literal 4484
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
RP>O|OCN5?nT@D#8O#q1&g!}*i

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d38ff67b51efba10b192c0ed1f70976edfaf0563
GIT binary patch
literal 6325
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
M!^Fibpv(~g04>ZizyJUM

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c4bc7c2c2cd25790903d9b20c0b5789d76791355
GIT binary patch
literal 2694
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
Xl+v73JCHAmLE*;3#KXkH2#3r7u>BK}

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c666d46c62969d1191ddd7f135a23c090053618a
GIT binary patch
literal 5246
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
AApigX

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/check.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/check.py
new file mode 100644
index 0000000..9689446
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/check.py
@@ -0,0 +1,45 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+import logging
+
+from pip._internal.cli.base_command import Command
+from pip._internal.operations.check import (
+    check_package_set,
+    create_package_set_from_installed,
+)
+from pip._internal.utils.misc import write_output
+
+logger = logging.getLogger(__name__)
+
+
+class CheckCommand(Command):
+    """Verify installed packages have compatible dependencies."""
+
+    usage = """
+      %prog [options]"""
+
+    def run(self, options, args):
+        package_set, parsing_probs = create_package_set_from_installed()
+        missing, conflicting = check_package_set(package_set)
+
+        for project_name in missing:
+            version = package_set[project_name].version
+            for dependency in missing[project_name]:
+                write_output(
+                    "%s %s requires %s, which is not installed.",
+                    project_name, version, dependency[0],
+                )
+
+        for project_name in conflicting:
+            version = package_set[project_name].version
+            for dep_name, dep_version, req in conflicting[project_name]:
+                write_output(
+                    "%s %s has requirement %s, but you have %s %s.",
+                    project_name, version, req, dep_name, dep_version,
+                )
+
+        if missing or conflicting or parsing_probs:
+            return 1
+        else:
+            write_output("No broken requirements found.")
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/completion.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/completion.py
new file mode 100644
index 0000000..c532806
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/completion.py
@@ -0,0 +1,96 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import sys
+import textwrap
+
+from pip._internal.cli.base_command import Command
+from pip._internal.utils.misc import get_prog
+
+BASE_COMPLETION = """
+# pip %(shell)s completion start%(script)s# pip %(shell)s completion end
+"""
+
+COMPLETION_SCRIPTS = {
+    'bash': """
+        _pip_completion()
+        {
+            COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \\
+                           COMP_CWORD=$COMP_CWORD \\
+                           PIP_AUTO_COMPLETE=1 $1 2>/dev/null ) )
+        }
+        complete -o default -F _pip_completion %(prog)s
+    """,
+    'zsh': """
+        function _pip_completion {
+          local words cword
+          read -Ac words
+          read -cn cword
+          reply=( $( COMP_WORDS="$words[*]" \\
+                     COMP_CWORD=$(( cword-1 )) \\
+                     PIP_AUTO_COMPLETE=1 $words[1] 2>/dev/null ))
+        }
+        compctl -K _pip_completion %(prog)s
+    """,
+    'fish': """
+        function __fish_complete_pip
+            set -lx COMP_WORDS (commandline -o) ""
+            set -lx COMP_CWORD ( \\
+                math (contains -i -- (commandline -t) $COMP_WORDS)-1 \\
+            )
+            set -lx PIP_AUTO_COMPLETE 1
+            string split \\  -- (eval $COMP_WORDS[1])
+        end
+        complete -fa "(__fish_complete_pip)" -c %(prog)s
+    """,
+}
+
+
+class CompletionCommand(Command):
+    """A helper command to be used for command completion."""
+
+    ignore_require_venv = True
+
+    def __init__(self, *args, **kw):
+        super(CompletionCommand, self).__init__(*args, **kw)
+
+        cmd_opts = self.cmd_opts
+
+        cmd_opts.add_option(
+            '--bash', '-b',
+            action='store_const',
+            const='bash',
+            dest='shell',
+            help='Emit completion code for bash')
+        cmd_opts.add_option(
+            '--zsh', '-z',
+            action='store_const',
+            const='zsh',
+            dest='shell',
+            help='Emit completion code for zsh')
+        cmd_opts.add_option(
+            '--fish', '-f',
+            action='store_const',
+            const='fish',
+            dest='shell',
+            help='Emit completion code for fish')
+
+        self.parser.insert_option_group(0, cmd_opts)
+
+    def run(self, options, args):
+        """Prints the completion code of the given shell"""
+        shells = COMPLETION_SCRIPTS.keys()
+        shell_options = ['--' + shell for shell in sorted(shells)]
+        if options.shell in shells:
+            script = textwrap.dedent(
+                COMPLETION_SCRIPTS.get(options.shell, '') % {
+                    'prog': get_prog(),
+                }
+            )
+            print(BASE_COMPLETION % {'script': script, 'shell': options.shell})
+        else:
+            sys.stderr.write(
+                'ERROR: You must pass %s\n' % ' or '.join(shell_options)
+            )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/configuration.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/configuration.py
new file mode 100644
index 0000000..efcf5bb
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/configuration.py
@@ -0,0 +1,233 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+import logging
+import os
+import subprocess
+
+from pip._internal.cli.base_command import Command
+from pip._internal.cli.status_codes import ERROR, SUCCESS
+from pip._internal.configuration import (
+    Configuration,
+    get_configuration_files,
+    kinds,
+)
+from pip._internal.exceptions import PipError
+from pip._internal.utils.misc import get_prog, write_output
+
+logger = logging.getLogger(__name__)
+
+
+class ConfigurationCommand(Command):
+    """Manage local and global configuration.
+
+        Subcommands:
+
+        list: List the active configuration (or from the file specified)
+        edit: Edit the configuration file in an editor
+        get: Get the value associated with name
+        set: Set the name=value
+        unset: Unset the value associated with name
+
+        If none of --user, --global and --site are passed, a virtual
+        environment configuration file is used if one is active and the file
+        exists. Otherwise, all modifications happen on the to the user file by
+        default.
+    """
+
+    ignore_require_venv = True
+    usage = """
+        %prog [<file-option>] list
+        %prog [<file-option>] [--editor <editor-path>] edit
+
+        %prog [<file-option>] get name
+        %prog [<file-option>] set name value
+        %prog [<file-option>] unset name
+    """
+
+    def __init__(self, *args, **kwargs):
+        super(ConfigurationCommand, self).__init__(*args, **kwargs)
+
+        self.configuration = None
+
+        self.cmd_opts.add_option(
+            '--editor',
+            dest='editor',
+            action='store',
+            default=None,
+            help=(
+                'Editor to use to edit the file. Uses VISUAL or EDITOR '
+                'environment variables if not provided.'
+            )
+        )
+
+        self.cmd_opts.add_option(
+            '--global',
+            dest='global_file',
+            action='store_true',
+            default=False,
+            help='Use the system-wide configuration file only'
+        )
+
+        self.cmd_opts.add_option(
+            '--user',
+            dest='user_file',
+            action='store_true',
+            default=False,
+            help='Use the user configuration file only'
+        )
+
+        self.cmd_opts.add_option(
+            '--site',
+            dest='site_file',
+            action='store_true',
+            default=False,
+            help='Use the current environment configuration file only'
+        )
+
+        self.parser.insert_option_group(0, self.cmd_opts)
+
+    def run(self, options, args):
+        handlers = {
+            "list": self.list_values,
+            "edit": self.open_in_editor,
+            "get": self.get_name,
+            "set": self.set_name_value,
+            "unset": self.unset_name
+        }
+
+        # Determine action
+        if not args or args[0] not in handlers:
+            logger.error("Need an action ({}) to perform.".format(
+                ", ".join(sorted(handlers)))
+            )
+            return ERROR
+
+        action = args[0]
+
+        # Determine which configuration files are to be loaded
+        #    Depends on whether the command is modifying.
+        try:
+            load_only = self._determine_file(
+                options, need_value=(action in ["get", "set", "unset", "edit"])
+            )
+        except PipError as e:
+            logger.error(e.args[0])
+            return ERROR
+
+        # Load a new configuration
+        self.configuration = Configuration(
+            isolated=options.isolated_mode, load_only=load_only
+        )
+        self.configuration.load()
+
+        # Error handling happens here, not in the action-handlers.
+        try:
+            handlers[action](options, args[1:])
+        except PipError as e:
+            logger.error(e.args[0])
+            return ERROR
+
+        return SUCCESS
+
+    def _determine_file(self, options, need_value):
+        file_options = [key for key, value in (
+            (kinds.USER, options.user_file),
+            (kinds.GLOBAL, options.global_file),
+            (kinds.SITE, options.site_file),
+        ) if value]
+
+        if not file_options:
+            if not need_value:
+                return None
+            # Default to user, unless there's a site file.
+            elif any(
+                os.path.exists(site_config_file)
+                for site_config_file in get_configuration_files()[kinds.SITE]
+            ):
+                return kinds.SITE
+            else:
+                return kinds.USER
+        elif len(file_options) == 1:
+            return file_options[0]
+
+        raise PipError(
+            "Need exactly one file to operate upon "
+            "(--user, --site, --global) to perform."
+        )
+
+    def list_values(self, options, args):
+        self._get_n_args(args, "list", n=0)
+
+        for key, value in sorted(self.configuration.items()):
+            write_output("%s=%r", key, value)
+
+    def get_name(self, options, args):
+        key = self._get_n_args(args, "get [name]", n=1)
+        value = self.configuration.get_value(key)
+
+        write_output("%s", value)
+
+    def set_name_value(self, options, args):
+        key, value = self._get_n_args(args, "set [name] [value]", n=2)
+        self.configuration.set_value(key, value)
+
+        self._save_configuration()
+
+    def unset_name(self, options, args):
+        key = self._get_n_args(args, "unset [name]", n=1)
+        self.configuration.unset_value(key)
+
+        self._save_configuration()
+
+    def open_in_editor(self, options, args):
+        editor = self._determine_editor(options)
+
+        fname = self.configuration.get_file_to_edit()
+        if fname is None:
+            raise PipError("Could not determine appropriate file.")
+
+        try:
+            subprocess.check_call([editor, fname])
+        except subprocess.CalledProcessError as e:
+            raise PipError(
+                "Editor Subprocess exited with exit code {}"
+                .format(e.returncode)
+            )
+
+    def _get_n_args(self, args, example, n):
+        """Helper to make sure the command got the right number of arguments
+        """
+        if len(args) != n:
+            msg = (
+                'Got unexpected number of arguments, expected {}. '
+                '(example: "{} config {}")'
+            ).format(n, get_prog(), example)
+            raise PipError(msg)
+
+        if n == 1:
+            return args[0]
+        else:
+            return args
+
+    def _save_configuration(self):
+        # We successfully ran a modifying command. Need to save the
+        # configuration.
+        try:
+            self.configuration.save()
+        except Exception:
+            logger.error(
+                "Unable to save configuration. Please report this as a bug.",
+                exc_info=1
+            )
+            raise PipError("Internal Error.")
+
+    def _determine_editor(self, options):
+        if options.editor is not None:
+            return options.editor
+        elif "VISUAL" in os.environ:
+            return os.environ["VISUAL"]
+        elif "EDITOR" in os.environ:
+            return os.environ["EDITOR"]
+        else:
+            raise PipError("Could not determine editor to use.")
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/debug.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/debug.py
new file mode 100644
index 0000000..fe93b3a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/debug.py
@@ -0,0 +1,142 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import locale
+import logging
+import os
+import sys
+
+from pip._vendor.certifi import where
+
+from pip._internal.cli import cmdoptions
+from pip._internal.cli.base_command import Command
+from pip._internal.cli.cmdoptions import make_target_python
+from pip._internal.cli.status_codes import SUCCESS
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.misc import get_pip_version
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Any, List, Optional
+    from optparse import Values
+
+logger = logging.getLogger(__name__)
+
+
+def show_value(name, value):
+    # type: (str, Optional[str]) -> None
+    logger.info('{}: {}'.format(name, value))
+
+
+def show_sys_implementation():
+    # type: () -> None
+    logger.info('sys.implementation:')
+    if hasattr(sys, 'implementation'):
+        implementation = sys.implementation  # type: ignore
+        implementation_name = implementation.name
+    else:
+        implementation_name = ''
+
+    with indent_log():
+        show_value('name', implementation_name)
+
+
+def show_tags(options):
+    # type: (Values) -> None
+    tag_limit = 10
+
+    target_python = make_target_python(options)
+    tags = target_python.get_tags()
+
+    # Display the target options that were explicitly provided.
+    formatted_target = target_python.format_given()
+    suffix = ''
+    if formatted_target:
+        suffix = ' (target: {})'.format(formatted_target)
+
+    msg = 'Compatible tags: {}{}'.format(len(tags), suffix)
+    logger.info(msg)
+
+    if options.verbose < 1 and len(tags) > tag_limit:
+        tags_limited = True
+        tags = tags[:tag_limit]
+    else:
+        tags_limited = False
+
+    with indent_log():
+        for tag in tags:
+            logger.info(str(tag))
+
+        if tags_limited:
+            msg = (
+                '...\n'
+                '[First {tag_limit} tags shown. Pass --verbose to show all.]'
+            ).format(tag_limit=tag_limit)
+            logger.info(msg)
+
+
+def ca_bundle_info(config):
+    levels = set()
+    for key, value in config.items():
+        levels.add(key.split('.')[0])
+
+    if not levels:
+        return "Not specified"
+
+    levels_that_override_global = ['install', 'wheel', 'download']
+    global_overriding_level = [
+        level for level in levels if level in levels_that_override_global
+    ]
+    if not global_overriding_level:
+        return 'global'
+
+    levels.remove('global')
+    return ", ".join(levels)
+
+
+class DebugCommand(Command):
+    """
+    Display debug information.
+    """
+
+    usage = """
+      %prog <options>"""
+    ignore_require_venv = True
+
+    def __init__(self, *args, **kw):
+        super(DebugCommand, self).__init__(*args, **kw)
+
+        cmd_opts = self.cmd_opts
+        cmdoptions.add_target_python_options(cmd_opts)
+        self.parser.insert_option_group(0, cmd_opts)
+        self.parser.config.load()
+
+    def run(self, options, args):
+        # type: (Values, List[Any]) -> int
+        logger.warning(
+            "This command is only meant for debugging. "
+            "Do not use this with automation for parsing and getting these "
+            "details, since the output and options of this command may "
+            "change without notice."
+        )
+        show_value('pip version', get_pip_version())
+        show_value('sys.version', sys.version)
+        show_value('sys.executable', sys.executable)
+        show_value('sys.getdefaultencoding', sys.getdefaultencoding())
+        show_value('sys.getfilesystemencoding', sys.getfilesystemencoding())
+        show_value(
+            'locale.getpreferredencoding', locale.getpreferredencoding(),
+        )
+        show_value('sys.platform', sys.platform)
+        show_sys_implementation()
+
+        show_value("'cert' config value", ca_bundle_info(self.parser.config))
+        show_value("REQUESTS_CA_BUNDLE", os.environ.get('REQUESTS_CA_BUNDLE'))
+        show_value("CURL_CA_BUNDLE", os.environ.get('CURL_CA_BUNDLE'))
+        show_value("pip._vendor.certifi.where()", where())
+
+        show_tags(options)
+
+        return SUCCESS
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/download.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/download.py
new file mode 100644
index 0000000..24da3eb
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/download.py
@@ -0,0 +1,147 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import os
+
+from pip._internal.cli import cmdoptions
+from pip._internal.cli.cmdoptions import make_target_python
+from pip._internal.cli.req_command import RequirementCommand
+from pip._internal.req import RequirementSet
+from pip._internal.req.req_tracker import get_requirement_tracker
+from pip._internal.utils.misc import ensure_dir, normalize_path, write_output
+from pip._internal.utils.temp_dir import TempDirectory
+
+logger = logging.getLogger(__name__)
+
+
+class DownloadCommand(RequirementCommand):
+    """
+    Download packages from:
+
+    - PyPI (and other indexes) using requirement specifiers.
+    - VCS project urls.
+    - Local project directories.
+    - Local or remote source archives.
+
+    pip also supports downloading from "requirements files", which provide
+    an easy way to specify a whole environment to be downloaded.
+    """
+
+    usage = """
+      %prog [options] <requirement specifier> [package-index-options] ...
+      %prog [options] -r <requirements file> [package-index-options] ...
+      %prog [options] <vcs project url> ...
+      %prog [options] <local project path> ...
+      %prog [options] <archive url/path> ..."""
+
+    def __init__(self, *args, **kw):
+        super(DownloadCommand, self).__init__(*args, **kw)
+
+        cmd_opts = self.cmd_opts
+
+        cmd_opts.add_option(cmdoptions.constraints())
+        cmd_opts.add_option(cmdoptions.requirements())
+        cmd_opts.add_option(cmdoptions.build_dir())
+        cmd_opts.add_option(cmdoptions.no_deps())
+        cmd_opts.add_option(cmdoptions.global_options())
+        cmd_opts.add_option(cmdoptions.no_binary())
+        cmd_opts.add_option(cmdoptions.only_binary())
+        cmd_opts.add_option(cmdoptions.prefer_binary())
+        cmd_opts.add_option(cmdoptions.src())
+        cmd_opts.add_option(cmdoptions.pre())
+        cmd_opts.add_option(cmdoptions.no_clean())
+        cmd_opts.add_option(cmdoptions.require_hashes())
+        cmd_opts.add_option(cmdoptions.progress_bar())
+        cmd_opts.add_option(cmdoptions.no_build_isolation())
+        cmd_opts.add_option(cmdoptions.use_pep517())
+        cmd_opts.add_option(cmdoptions.no_use_pep517())
+
+        cmd_opts.add_option(
+            '-d', '--dest', '--destination-dir', '--destination-directory',
+            dest='download_dir',
+            metavar='dir',
+            default=os.curdir,
+            help=("Download packages into <dir>."),
+        )
+
+        cmdoptions.add_target_python_options(cmd_opts)
+
+        index_opts = cmdoptions.make_option_group(
+            cmdoptions.index_group,
+            self.parser,
+        )
+
+        self.parser.insert_option_group(0, index_opts)
+        self.parser.insert_option_group(0, cmd_opts)
+
+    def run(self, options, args):
+        options.ignore_installed = True
+        # editable doesn't really make sense for `pip download`, but the bowels
+        # of the RequirementSet code require that property.
+        options.editables = []
+
+        cmdoptions.check_dist_restriction(options)
+
+        options.download_dir = normalize_path(options.download_dir)
+
+        ensure_dir(options.download_dir)
+
+        session = self.get_default_session(options)
+
+        target_python = make_target_python(options)
+        finder = self._build_package_finder(
+            options=options,
+            session=session,
+            target_python=target_python,
+        )
+        build_delete = (not (options.no_clean or options.build_dir))
+
+        with get_requirement_tracker() as req_tracker, TempDirectory(
+            options.build_dir, delete=build_delete, kind="download"
+        ) as directory:
+
+            requirement_set = RequirementSet()
+            self.populate_requirement_set(
+                requirement_set,
+                args,
+                options,
+                finder,
+                session,
+                None
+            )
+
+            preparer = self.make_requirement_preparer(
+                temp_build_dir=directory,
+                options=options,
+                req_tracker=req_tracker,
+                session=session,
+                finder=finder,
+                download_dir=options.download_dir,
+                use_user_site=False,
+            )
+
+            resolver = self.make_resolver(
+                preparer=preparer,
+                finder=finder,
+                options=options,
+                py_version_info=options.python_version,
+            )
+
+            self.trace_basic_info(finder)
+
+            resolver.resolve(requirement_set)
+
+            downloaded = ' '.join([
+                req.name for req in requirement_set.successfully_downloaded
+            ])
+            if downloaded:
+                write_output('Successfully downloaded %s', downloaded)
+
+            # Clean up
+            if not options.no_clean:
+                requirement_set.cleanup_files()
+
+        return requirement_set
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/freeze.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/freeze.py
new file mode 100644
index 0000000..e96c083
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/freeze.py
@@ -0,0 +1,103 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import sys
+
+from pip._internal.cache import WheelCache
+from pip._internal.cli import cmdoptions
+from pip._internal.cli.base_command import Command
+from pip._internal.models.format_control import FormatControl
+from pip._internal.operations.freeze import freeze
+from pip._internal.utils.compat import stdlib_pkgs
+
+DEV_PKGS = {'pip', 'setuptools', 'distribute', 'wheel', 'pkg-resources'}
+
+
+class FreezeCommand(Command):
+    """
+    Output installed packages in requirements format.
+
+    packages are listed in a case-insensitive sorted order.
+    """
+
+    usage = """
+      %prog [options]"""
+    log_streams = ("ext://sys.stderr", "ext://sys.stderr")
+
+    def __init__(self, *args, **kw):
+        super(FreezeCommand, self).__init__(*args, **kw)
+
+        self.cmd_opts.add_option(
+            '-r', '--requirement',
+            dest='requirements',
+            action='append',
+            default=[],
+            metavar='file',
+            help="Use the order in the given requirements file and its "
+                 "comments when generating output. This option can be "
+                 "used multiple times.")
+        self.cmd_opts.add_option(
+            '-f', '--find-links',
+            dest='find_links',
+            action='append',
+            default=[],
+            metavar='URL',
+            help='URL for finding packages, which will be added to the '
+                 'output.')
+        self.cmd_opts.add_option(
+            '-l', '--local',
+            dest='local',
+            action='store_true',
+            default=False,
+            help='If in a virtualenv that has global access, do not output '
+                 'globally-installed packages.')
+        self.cmd_opts.add_option(
+            '--user',
+            dest='user',
+            action='store_true',
+            default=False,
+            help='Only output packages installed in user-site.')
+        self.cmd_opts.add_option(cmdoptions.list_path())
+        self.cmd_opts.add_option(
+            '--all',
+            dest='freeze_all',
+            action='store_true',
+            help='Do not skip these packages in the output:'
+                 ' %s' % ', '.join(DEV_PKGS))
+        self.cmd_opts.add_option(
+            '--exclude-editable',
+            dest='exclude_editable',
+            action='store_true',
+            help='Exclude editable package from output.')
+
+        self.parser.insert_option_group(0, self.cmd_opts)
+
+    def run(self, options, args):
+        format_control = FormatControl(set(), set())
+        wheel_cache = WheelCache(options.cache_dir, format_control)
+        skip = set(stdlib_pkgs)
+        if not options.freeze_all:
+            skip.update(DEV_PKGS)
+
+        cmdoptions.check_list_path_option(options)
+
+        freeze_kwargs = dict(
+            requirement=options.requirements,
+            find_links=options.find_links,
+            local_only=options.local,
+            user_only=options.user,
+            paths=options.path,
+            skip_regex=options.skip_requirements_regex,
+            isolated=options.isolated_mode,
+            wheel_cache=wheel_cache,
+            skip=skip,
+            exclude_editable=options.exclude_editable,
+        )
+
+        try:
+            for line in freeze(**freeze_kwargs):
+                sys.stdout.write(line + '\n')
+        finally:
+            wheel_cache.cleanup()
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/hash.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/hash.py
new file mode 100644
index 0000000..1dc7fb0
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/hash.py
@@ -0,0 +1,58 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import hashlib
+import logging
+import sys
+
+from pip._internal.cli.base_command import Command
+from pip._internal.cli.status_codes import ERROR
+from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES
+from pip._internal.utils.misc import read_chunks, write_output
+
+logger = logging.getLogger(__name__)
+
+
+class HashCommand(Command):
+    """
+    Compute a hash of a local package archive.
+
+    These can be used with --hash in a requirements file to do repeatable
+    installs.
+    """
+
+    usage = '%prog [options] <file> ...'
+    ignore_require_venv = True
+
+    def __init__(self, *args, **kw):
+        super(HashCommand, self).__init__(*args, **kw)
+        self.cmd_opts.add_option(
+            '-a', '--algorithm',
+            dest='algorithm',
+            choices=STRONG_HASHES,
+            action='store',
+            default=FAVORITE_HASH,
+            help='The hash algorithm to use: one of %s' %
+                 ', '.join(STRONG_HASHES))
+        self.parser.insert_option_group(0, self.cmd_opts)
+
+    def run(self, options, args):
+        if not args:
+            self.parser.print_usage(sys.stderr)
+            return ERROR
+
+        algorithm = options.algorithm
+        for path in args:
+            write_output('%s:\n--hash=%s:%s',
+                         path, algorithm, _hash_of_file(path, algorithm))
+
+
+def _hash_of_file(path, algorithm):
+    """Return the hash digest of a file."""
+    with open(path, 'rb') as archive:
+        hash = hashlib.new(algorithm)
+        for chunk in read_chunks(archive):
+            hash.update(chunk)
+    return hash.hexdigest()
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/help.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/help.py
new file mode 100644
index 0000000..75af999
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/help.py
@@ -0,0 +1,41 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+from pip._internal.cli.base_command import Command
+from pip._internal.cli.status_codes import SUCCESS
+from pip._internal.exceptions import CommandError
+
+
+class HelpCommand(Command):
+    """Show help for commands"""
+
+    usage = """
+      %prog <command>"""
+    ignore_require_venv = True
+
+    def run(self, options, args):
+        from pip._internal.commands import (
+            commands_dict, create_command, get_similar_commands,
+        )
+
+        try:
+            # 'pip help' with no args is handled by pip.__init__.parseopt()
+            cmd_name = args[0]  # the command we need help for
+        except IndexError:
+            return SUCCESS
+
+        if cmd_name not in commands_dict:
+            guess = get_similar_commands(cmd_name)
+
+            msg = ['unknown command "%s"' % cmd_name]
+            if guess:
+                msg.append('maybe you meant "%s"' % guess)
+
+            raise CommandError(' - '.join(msg))
+
+        command = create_command(cmd_name)
+        command.parser.print_help()
+
+        return SUCCESS
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/install.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/install.py
new file mode 100644
index 0000000..cb2fb28
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/install.py
@@ -0,0 +1,727 @@
+# The following comment should be removed at some point in the future.
+# It's included for now because without it InstallCommand.run() has a
+# couple errors where we have to know req.name is str rather than
+# Optional[str] for the InstallRequirement req.
+# mypy: strict-optional=False
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import errno
+import logging
+import operator
+import os
+import shutil
+import site
+from optparse import SUPPRESS_HELP
+
+from pip._vendor import pkg_resources
+from pip._vendor.packaging.utils import canonicalize_name
+
+from pip._internal.cache import WheelCache
+from pip._internal.cli import cmdoptions
+from pip._internal.cli.cmdoptions import make_target_python
+from pip._internal.cli.req_command import RequirementCommand
+from pip._internal.cli.status_codes import ERROR, SUCCESS
+from pip._internal.exceptions import (
+    CommandError,
+    InstallationError,
+    PreviousBuildDirError,
+)
+from pip._internal.locations import distutils_scheme
+from pip._internal.operations.check import check_install_conflicts
+from pip._internal.req import RequirementSet, install_given_reqs
+from pip._internal.req.req_tracker import get_requirement_tracker
+from pip._internal.utils.deprecation import deprecated
+from pip._internal.utils.distutils_args import parse_distutils_args
+from pip._internal.utils.filesystem import test_writable_dir
+from pip._internal.utils.misc import (
+    ensure_dir,
+    get_installed_version,
+    protect_pip_from_modification_on_windows,
+    write_output,
+)
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.virtualenv import virtualenv_no_global
+from pip._internal.wheel_builder import build, should_build_for_install_command
+
+if MYPY_CHECK_RUNNING:
+    from optparse import Values
+    from typing import Any, Iterable, List, Optional
+
+    from pip._internal.models.format_control import FormatControl
+    from pip._internal.req.req_install import InstallRequirement
+    from pip._internal.wheel_builder import BinaryAllowedPredicate
+
+from pip._internal.locations import running_under_virtualenv
+
+logger = logging.getLogger(__name__)
+
+
+def get_check_binary_allowed(format_control):
+    # type: (FormatControl) -> BinaryAllowedPredicate
+    def check_binary_allowed(req):
+        # type: (InstallRequirement) -> bool
+        if req.use_pep517:
+            return True
+        canonical_name = canonicalize_name(req.name)
+        allowed_formats = format_control.get_allowed_formats(canonical_name)
+        return "binary" in allowed_formats
+
+    return check_binary_allowed
+
+
+class InstallCommand(RequirementCommand):
+    """
+    Install packages from:
+
+    - PyPI (and other indexes) using requirement specifiers.
+    - VCS project urls.
+    - Local project directories.
+    - Local or remote source archives.
+
+    pip also supports installing from "requirements files", which provide
+    an easy way to specify a whole environment to be installed.
+    """
+
+    usage = """
+      %prog [options] <requirement specifier> [package-index-options] ...
+      %prog [options] -r <requirements file> [package-index-options] ...
+      %prog [options] [-e] <vcs project url> ...
+      %prog [options] [-e] <local project path> ...
+      %prog [options] <archive url/path> ..."""
+
+    def __init__(self, *args, **kw):
+        super(InstallCommand, self).__init__(*args, **kw)
+
+        cmd_opts = self.cmd_opts
+
+        cmd_opts.add_option(cmdoptions.requirements())
+        cmd_opts.add_option(cmdoptions.constraints())
+        cmd_opts.add_option(cmdoptions.no_deps())
+        cmd_opts.add_option(cmdoptions.pre())
+
+        cmd_opts.add_option(cmdoptions.editable())
+        cmd_opts.add_option(
+            '-t', '--target',
+            dest='target_dir',
+            metavar='dir',
+            default=None,
+            help='Install packages into <dir>. '
+                 'By default this will not replace existing files/folders in '
+                 '<dir>. Use --upgrade to replace existing packages in <dir> '
+                 'with new versions.'
+        )
+        cmdoptions.add_target_python_options(cmd_opts)
+
+        cmd_opts.add_option(
+            '--user',
+            dest='use_user_site',
+            action='store_true',
+            help="Install to the Python user install directory for your "
+                 "platform. Typically ~/.local/, or %APPDATA%\\Python on "
+                 "Windows. (See the Python documentation for site.USER_BASE "
+                 "for full details.)  On Debian systems, this is the "
+                 "default when running outside of a virtual environment "
+                 "and not as root.")
+
+        cmd_opts.add_option(
+            '--no-user',
+            dest='use_system_location',
+            action='store_true',
+            help=SUPPRESS_HELP)
+        cmd_opts.add_option(
+            '--root',
+            dest='root_path',
+            metavar='dir',
+            default=None,
+            help="Install everything relative to this alternate root "
+                 "directory.")
+        cmd_opts.add_option(
+            '--prefix',
+            dest='prefix_path',
+            metavar='dir',
+            default=None,
+            help="Installation prefix where lib, bin and other top-level "
+                 "folders are placed")
+
+        cmd_opts.add_option(
+            '--system',
+            dest='use_system_location',
+            action='store_true',
+            help="Install using the system scheme (overrides --user on "
+                 "Debian systems)")
+
+        cmd_opts.add_option(cmdoptions.build_dir())
+
+        cmd_opts.add_option(cmdoptions.src())
+
+        cmd_opts.add_option(
+            '-U', '--upgrade',
+            dest='upgrade',
+            action='store_true',
+            help='Upgrade all specified packages to the newest available '
+                 'version. The handling of dependencies depends on the '
+                 'upgrade-strategy used.'
+        )
+
+        cmd_opts.add_option(
+            '--upgrade-strategy',
+            dest='upgrade_strategy',
+            default='only-if-needed',
+            choices=['only-if-needed', 'eager'],
+            help='Determines how dependency upgrading should be handled '
+                 '[default: %default]. '
+                 '"eager" - dependencies are upgraded regardless of '
+                 'whether the currently installed version satisfies the '
+                 'requirements of the upgraded package(s). '
+                 '"only-if-needed" -  are upgraded only when they do not '
+                 'satisfy the requirements of the upgraded package(s).'
+        )
+
+        cmd_opts.add_option(
+            '--force-reinstall',
+            dest='force_reinstall',
+            action='store_true',
+            help='Reinstall all packages even if they are already '
+                 'up-to-date.')
+
+        cmd_opts.add_option(
+            '-I', '--ignore-installed',
+            dest='ignore_installed',
+            action='store_true',
+            help='Ignore the installed packages, overwriting them. '
+                 'This can break your system if the existing package '
+                 'is of a different version or was installed '
+                 'with a different package manager!'
+        )
+
+        cmd_opts.add_option(cmdoptions.ignore_requires_python())
+        cmd_opts.add_option(cmdoptions.no_build_isolation())
+        cmd_opts.add_option(cmdoptions.use_pep517())
+        cmd_opts.add_option(cmdoptions.no_use_pep517())
+
+        cmd_opts.add_option(cmdoptions.install_options())
+        cmd_opts.add_option(cmdoptions.global_options())
+
+        cmd_opts.add_option(
+            "--compile",
+            action="store_true",
+            dest="compile",
+            default=True,
+            help="Compile Python source files to bytecode",
+        )
+
+        cmd_opts.add_option(
+            "--no-compile",
+            action="store_false",
+            dest="compile",
+            help="Do not compile Python source files to bytecode",
+        )
+
+        cmd_opts.add_option(
+            "--no-warn-script-location",
+            action="store_false",
+            dest="warn_script_location",
+            default=True,
+            help="Do not warn when installing scripts outside PATH",
+        )
+        cmd_opts.add_option(
+            "--no-warn-conflicts",
+            action="store_false",
+            dest="warn_about_conflicts",
+            default=True,
+            help="Do not warn about broken dependencies",
+        )
+
+        cmd_opts.add_option(cmdoptions.no_binary())
+        cmd_opts.add_option(cmdoptions.only_binary())
+        cmd_opts.add_option(cmdoptions.prefer_binary())
+        cmd_opts.add_option(cmdoptions.no_clean())
+        cmd_opts.add_option(cmdoptions.require_hashes())
+        cmd_opts.add_option(cmdoptions.progress_bar())
+
+        index_opts = cmdoptions.make_option_group(
+            cmdoptions.index_group,
+            self.parser,
+        )
+
+        self.parser.insert_option_group(0, index_opts)
+        self.parser.insert_option_group(0, cmd_opts)
+
+    def run(self, options, args):
+        # type: (Values, List[Any]) -> int
+        cmdoptions.check_install_build_global(options)
+        upgrade_strategy = "to-satisfy-only"
+        if options.upgrade:
+            upgrade_strategy = options.upgrade_strategy
+
+        cmdoptions.check_dist_restriction(options, check_target=True)
+
+        if options.python_version:
+            python_versions = [options.python_version]
+        else:
+            python_versions = None
+
+        # compute install location defaults
+        if (not options.use_user_site and not options.prefix_path and not
+                options.target_dir and not options.use_system_location):
+            if not running_under_virtualenv() and os.geteuid() != 0:
+                options.use_user_site = True
+
+        if options.use_system_location:
+            options.use_user_site = False
+
+        options.src_dir = os.path.abspath(options.src_dir)
+        install_options = options.install_options or []
+
+        options.use_user_site = decide_user_install(
+            options.use_user_site,
+            prefix_path=options.prefix_path,
+            target_dir=options.target_dir,
+            root_path=options.root_path,
+            isolated_mode=options.isolated_mode,
+        )
+
+        target_temp_dir = None  # type: Optional[TempDirectory]
+        target_temp_dir_path = None  # type: Optional[str]
+        if options.target_dir:
+            options.ignore_installed = True
+            options.target_dir = os.path.abspath(options.target_dir)
+            if (os.path.exists(options.target_dir) and not
+                    os.path.isdir(options.target_dir)):
+                raise CommandError(
+                    "Target path exists but is not a directory, will not "
+                    "continue."
+                )
+
+            # Create a target directory for using with the target option
+            target_temp_dir = TempDirectory(kind="target")
+            target_temp_dir_path = target_temp_dir.path
+
+        global_options = options.global_options or []
+
+        session = self.get_default_session(options)
+
+        target_python = make_target_python(options)
+        finder = self._build_package_finder(
+            options=options,
+            session=session,
+            target_python=target_python,
+            ignore_requires_python=options.ignore_requires_python,
+        )
+        build_delete = (not (options.no_clean or options.build_dir))
+        wheel_cache = WheelCache(options.cache_dir, options.format_control)
+
+        with get_requirement_tracker() as req_tracker, TempDirectory(
+            options.build_dir, delete=build_delete, kind="install"
+        ) as directory:
+            requirement_set = RequirementSet(
+                check_supported_wheels=not options.target_dir,
+            )
+
+            try:
+                self.populate_requirement_set(
+                    requirement_set, args, options, finder, session,
+                    wheel_cache
+                )
+
+                warn_deprecated_install_options(
+                    requirement_set, options.install_options
+                )
+
+                preparer = self.make_requirement_preparer(
+                    temp_build_dir=directory,
+                    options=options,
+                    req_tracker=req_tracker,
+                    session=session,
+                    finder=finder,
+                    use_user_site=options.use_user_site,
+                )
+                resolver = self.make_resolver(
+                    preparer=preparer,
+                    finder=finder,
+                    options=options,
+                    wheel_cache=wheel_cache,
+                    use_user_site=options.use_user_site,
+                    ignore_installed=options.ignore_installed,
+                    ignore_requires_python=options.ignore_requires_python,
+                    force_reinstall=options.force_reinstall,
+                    upgrade_strategy=upgrade_strategy,
+                    use_pep517=options.use_pep517,
+                )
+
+                self.trace_basic_info(finder)
+
+                resolver.resolve(requirement_set)
+
+                try:
+                    pip_req = requirement_set.get_requirement("pip")
+                except KeyError:
+                    modifying_pip = None
+                else:
+                    # If we're not replacing an already installed pip,
+                    # we're not modifying it.
+                    modifying_pip = pip_req.satisfied_by is None
+                protect_pip_from_modification_on_windows(
+                    modifying_pip=modifying_pip
+                )
+
+                check_binary_allowed = get_check_binary_allowed(
+                    finder.format_control
+                )
+
+                reqs_to_build = [
+                    r for r in requirement_set.requirements.values()
+                    if should_build_for_install_command(
+                        r, check_binary_allowed
+                    )
+                ]
+
+                _, build_failures = build(
+                    reqs_to_build,
+                    wheel_cache=wheel_cache,
+                    build_options=[],
+                    global_options=[],
+                )
+
+                # If we're using PEP 517, we cannot do a direct install
+                # so we fail here.
+                # We don't care about failures building legacy
+                # requirements, as we'll fall through to a direct
+                # install for those.
+                pep517_build_failures = [
+                    r for r in build_failures if r.use_pep517
+                ]
+                if pep517_build_failures:
+                    raise InstallationError(
+                        "Could not build wheels for {} which use"
+                        " PEP 517 and cannot be installed directly".format(
+                            ", ".join(r.name for r in pep517_build_failures)))
+
+                to_install = resolver.get_installation_order(
+                    requirement_set
+                )
+
+                # Consistency Checking of the package set we're installing.
+                should_warn_about_conflicts = (
+                    not options.ignore_dependencies and
+                    options.warn_about_conflicts
+                )
+                if should_warn_about_conflicts:
+                    self._warn_about_conflicts(to_install)
+
+                # Don't warn about script install locations if
+                # --target has been specified
+                warn_script_location = options.warn_script_location
+                if options.target_dir:
+                    warn_script_location = False
+
+                installed = install_given_reqs(
+                    to_install,
+                    install_options,
+                    global_options,
+                    root=options.root_path,
+                    home=target_temp_dir_path,
+                    prefix=options.prefix_path,
+                    pycompile=options.compile,
+                    warn_script_location=warn_script_location,
+                    use_user_site=options.use_user_site,
+                )
+
+                lib_locations = get_lib_location_guesses(
+                    user=options.use_user_site,
+                    home=target_temp_dir_path,
+                    root=options.root_path,
+                    prefix=options.prefix_path,
+                    isolated=options.isolated_mode,
+                )
+                working_set = pkg_resources.WorkingSet(lib_locations)
+
+                installed.sort(key=operator.attrgetter('name'))
+                items = []
+                for result in installed:
+                    item = result.name
+                    try:
+                        installed_version = get_installed_version(
+                            result.name, working_set=working_set
+                        )
+                        if installed_version:
+                            item += '-' + installed_version
+                    except Exception:
+                        pass
+                    items.append(item)
+                installed_desc = ' '.join(items)
+                if installed_desc:
+                    write_output(
+                        'Successfully installed %s', installed_desc,
+                    )
+            except EnvironmentError as error:
+                show_traceback = (self.verbosity >= 1)
+
+                message = create_env_error_message(
+                    error, show_traceback, options.use_user_site,
+                )
+                logger.error(message, exc_info=show_traceback)
+
+                return ERROR
+            except PreviousBuildDirError:
+                options.no_clean = True
+                raise
+            finally:
+                # Clean up
+                if not options.no_clean:
+                    requirement_set.cleanup_files()
+                    wheel_cache.cleanup()
+
+        if options.target_dir:
+            self._handle_target_dir(
+                options.target_dir, target_temp_dir, options.upgrade
+            )
+
+        return SUCCESS
+
+    def _handle_target_dir(self, target_dir, target_temp_dir, upgrade):
+        ensure_dir(target_dir)
+
+        # Checking both purelib and platlib directories for installed
+        # packages to be moved to target directory
+        lib_dir_list = []
+
+        with target_temp_dir:
+            # Checking both purelib and platlib directories for installed
+            # packages to be moved to target directory
+            scheme = distutils_scheme('', home=target_temp_dir.path)
+            purelib_dir = scheme['purelib']
+            platlib_dir = scheme['platlib']
+            data_dir = scheme['data']
+
+            if os.path.exists(purelib_dir):
+                lib_dir_list.append(purelib_dir)
+            if os.path.exists(platlib_dir) and platlib_dir != purelib_dir:
+                lib_dir_list.append(platlib_dir)
+            if os.path.exists(data_dir):
+                lib_dir_list.append(data_dir)
+
+            for lib_dir in lib_dir_list:
+                for item in os.listdir(lib_dir):
+                    if lib_dir == data_dir:
+                        ddir = os.path.join(data_dir, item)
+                        if any(s.startswith(ddir) for s in lib_dir_list[:-1]):
+                            continue
+                    target_item_dir = os.path.join(target_dir, item)
+                    if os.path.exists(target_item_dir):
+                        if not upgrade:
+                            logger.warning(
+                                'Target directory %s already exists. Specify '
+                                '--upgrade to force replacement.',
+                                target_item_dir
+                            )
+                            continue
+                        if os.path.islink(target_item_dir):
+                            logger.warning(
+                                'Target directory %s already exists and is '
+                                'a link. Pip will not automatically replace '
+                                'links, please remove if replacement is '
+                                'desired.',
+                                target_item_dir
+                            )
+                            continue
+                        if os.path.isdir(target_item_dir):
+                            shutil.rmtree(target_item_dir)
+                        else:
+                            os.remove(target_item_dir)
+
+                    shutil.move(
+                        os.path.join(lib_dir, item),
+                        target_item_dir
+                    )
+
+    def _warn_about_conflicts(self, to_install):
+        try:
+            package_set, _dep_info = check_install_conflicts(to_install)
+        except Exception:
+            logger.error("Error checking for conflicts.", exc_info=True)
+            return
+        missing, conflicting = _dep_info
+
+        # NOTE: There is some duplication here from pip check
+        for project_name in missing:
+            version = package_set[project_name][0]
+            for dependency in missing[project_name]:
+                logger.critical(
+                    "%s %s requires %s, which is not installed.",
+                    project_name, version, dependency[1],
+                )
+
+        for project_name in conflicting:
+            version = package_set[project_name][0]
+            for dep_name, dep_version, req in conflicting[project_name]:
+                logger.critical(
+                    "%s %s has requirement %s, but you'll have %s %s which is "
+                    "incompatible.",
+                    project_name, version, req, dep_name, dep_version,
+                )
+
+
+def get_lib_location_guesses(*args, **kwargs):
+    scheme = distutils_scheme('', *args, **kwargs)
+    return [scheme['purelib'], scheme['platlib']]
+
+
+def site_packages_writable(**kwargs):
+    return all(
+        test_writable_dir(d) for d in set(get_lib_location_guesses(**kwargs))
+    )
+
+
+def decide_user_install(
+    use_user_site,  # type: Optional[bool]
+    prefix_path=None,  # type: Optional[str]
+    target_dir=None,  # type: Optional[str]
+    root_path=None,  # type: Optional[str]
+    isolated_mode=False,  # type: bool
+):
+    # type: (...) -> bool
+    """Determine whether to do a user install based on the input options.
+
+    If use_user_site is False, no additional checks are done.
+    If use_user_site is True, it is checked for compatibility with other
+    options.
+    If use_user_site is None, the default behaviour depends on the environment,
+    which is provided by the other arguments.
+    """
+    # In some cases (config from tox), use_user_site can be set to an integer
+    # rather than a bool, which 'use_user_site is False' wouldn't catch.
+    if (use_user_site is not None) and (not use_user_site):
+        logger.debug("Non-user install by explicit request")
+        return False
+
+    if use_user_site:
+        if prefix_path:
+            raise CommandError(
+                "Can not combine '--user' and '--prefix' as they imply "
+                "different installation locations"
+            )
+        if virtualenv_no_global():
+            raise InstallationError(
+                "Can not perform a '--user' install. User site-packages "
+                "are not visible in this virtualenv."
+            )
+        logger.debug("User install by explicit request")
+        return True
+
+    # If we are here, user installs have not been explicitly requested/avoided
+    assert use_user_site is None
+
+    # user install incompatible with --prefix/--target
+    if prefix_path or target_dir:
+        logger.debug("Non-user install due to --prefix or --target option")
+        return False
+
+    # If user installs are not enabled, choose a non-user install
+    if not site.ENABLE_USER_SITE:
+        logger.debug("Non-user install because user site-packages disabled")
+        return False
+
+    # If we have permission for a non-user install, do that,
+    # otherwise do a user install.
+    if site_packages_writable(root=root_path, isolated=isolated_mode):
+        logger.debug("Non-user install because site-packages writeable")
+        return False
+
+    logger.info("Defaulting to user installation because normal site-packages "
+                "is not writeable")
+    return True
+
+
+def warn_deprecated_install_options(requirement_set, options):
+    # type: (RequirementSet, Optional[List[str]]) -> None
+    """If any location-changing --install-option arguments were passed for
+    requirements or on the command-line, then show a deprecation warning.
+    """
+    def format_options(option_names):
+        # type: (Iterable[str]) -> List[str]
+        return ["--{}".format(name.replace("_", "-")) for name in option_names]
+
+    requirements = (
+        requirement_set.unnamed_requirements +
+        list(requirement_set.requirements.values())
+    )
+
+    offenders = []
+
+    for requirement in requirements:
+        install_options = requirement.options.get("install_options", [])
+        location_options = parse_distutils_args(install_options)
+        if location_options:
+            offenders.append(
+                "{!r} from {}".format(
+                    format_options(location_options.keys()), requirement
+                )
+            )
+
+    if options:
+        location_options = parse_distutils_args(options)
+        if location_options:
+            offenders.append(
+                "{!r} from command line".format(
+                    format_options(location_options.keys())
+                )
+            )
+
+    if not offenders:
+        return
+
+    deprecated(
+        reason=(
+            "Location-changing options found in --install-option: {}. "
+            "This configuration may cause unexpected behavior and is "
+            "unsupported.".format(
+                "; ".join(offenders)
+            )
+        ),
+        replacement=(
+            "using pip-level options like --user, --prefix, --root, and "
+            "--target"
+        ),
+        gone_in="20.2",
+        issue=7309,
+    )
+
+
+def create_env_error_message(error, show_traceback, using_user_site):
+    """Format an error message for an EnvironmentError
+
+    It may occur anytime during the execution of the install command.
+    """
+    parts = []
+
+    # Mention the error if we are not going to show a traceback
+    parts.append("Could not install packages due to an EnvironmentError")
+    if not show_traceback:
+        parts.append(": ")
+        parts.append(str(error))
+    else:
+        parts.append(".")
+
+    # Spilt the error indication from a helper message (if any)
+    parts[-1] += "\n"
+
+    # Suggest useful actions to the user:
+    #  (1) using user site-packages or (2) verifying the permissions
+    if error.errno == errno.EACCES:
+        user_option_part = "Consider using the `--user` option"
+        permissions_part = "Check the permissions"
+
+        if not using_user_site:
+            parts.extend([
+                user_option_part, " or ",
+                permissions_part.lower(),
+            ])
+        else:
+            parts.append(permissions_part)
+        parts.append(".\n")
+
+    return "".join(parts).strip() + "\n"
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/list.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/list.py
new file mode 100644
index 0000000..d006206
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/list.py
@@ -0,0 +1,315 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import json
+import logging
+
+from pip._vendor import six
+from pip._vendor.six.moves import zip_longest
+
+from pip._internal.cli import cmdoptions
+from pip._internal.cli.req_command import IndexGroupCommand
+from pip._internal.exceptions import CommandError
+from pip._internal.index.package_finder import PackageFinder
+from pip._internal.models.selection_prefs import SelectionPreferences
+from pip._internal.self_outdated_check import make_link_collector
+from pip._internal.utils.misc import (
+    dist_is_editable,
+    get_installed_distributions,
+    write_output,
+)
+from pip._internal.utils.packaging import get_installer
+
+from pip._vendor.packaging.version import parse
+
+logger = logging.getLogger(__name__)
+
+
+class ListCommand(IndexGroupCommand):
+    """
+    List installed packages, including editables.
+
+    Packages are listed in a case-insensitive sorted order.
+    """
+
+    usage = """
+      %prog [options]"""
+
+    def __init__(self, *args, **kw):
+        super(ListCommand, self).__init__(*args, **kw)
+
+        cmd_opts = self.cmd_opts
+
+        cmd_opts.add_option(
+            '-o', '--outdated',
+            action='store_true',
+            default=False,
+            help='List outdated packages')
+        cmd_opts.add_option(
+            '-u', '--uptodate',
+            action='store_true',
+            default=False,
+            help='List uptodate packages')
+        cmd_opts.add_option(
+            '-e', '--editable',
+            action='store_true',
+            default=False,
+            help='List editable projects.')
+        cmd_opts.add_option(
+            '-l', '--local',
+            action='store_true',
+            default=False,
+            help=('If in a virtualenv that has global access, do not list '
+                  'globally-installed packages.'),
+        )
+        self.cmd_opts.add_option(
+            '--user',
+            dest='user',
+            action='store_true',
+            default=False,
+            help='Only output packages installed in user-site.')
+        cmd_opts.add_option(cmdoptions.list_path())
+        cmd_opts.add_option(
+            '--pre',
+            action='store_true',
+            default=False,
+            help=("Include pre-release and development versions. By default, "
+                  "pip only finds stable versions."),
+        )
+
+        cmd_opts.add_option(
+            '--format',
+            action='store',
+            dest='list_format',
+            default="columns",
+            choices=('columns', 'freeze', 'json'),
+            help="Select the output format among: columns (default), freeze, "
+                 "or json",
+        )
+
+        cmd_opts.add_option(
+            '--not-required',
+            action='store_true',
+            dest='not_required',
+            help="List packages that are not dependencies of "
+                 "installed packages.",
+        )
+
+        cmd_opts.add_option(
+            '--exclude-editable',
+            action='store_false',
+            dest='include_editable',
+            help='Exclude editable package from output.',
+        )
+        cmd_opts.add_option(
+            '--include-editable',
+            action='store_true',
+            dest='include_editable',
+            help='Include editable package from output.',
+            default=True,
+        )
+        index_opts = cmdoptions.make_option_group(
+            cmdoptions.index_group, self.parser
+        )
+
+        self.parser.insert_option_group(0, index_opts)
+        self.parser.insert_option_group(0, cmd_opts)
+
+    def _build_package_finder(self, options, session):
+        """
+        Create a package finder appropriate to this list command.
+        """
+        link_collector = make_link_collector(session, options=options)
+
+        # Pass allow_yanked=False to ignore yanked versions.
+        selection_prefs = SelectionPreferences(
+            allow_yanked=False,
+            allow_all_prereleases=options.pre,
+        )
+
+        return PackageFinder.create(
+            link_collector=link_collector,
+            selection_prefs=selection_prefs,
+        )
+
+    def run(self, options, args):
+        if options.outdated and options.uptodate:
+            raise CommandError(
+                "Options --outdated and --uptodate cannot be combined.")
+
+        cmdoptions.check_list_path_option(options)
+
+        packages = get_installed_distributions(
+            local_only=options.local,
+            user_only=options.user,
+            editables_only=options.editable,
+            include_editables=options.include_editable,
+            paths=options.path,
+        )
+
+        # get_not_required must be called firstly in order to find and
+        # filter out all dependencies correctly. Otherwise a package
+        # can't be identified as requirement because some parent packages
+        # could be filtered out before.
+        if options.not_required:
+            packages = self.get_not_required(packages, options)
+
+        if options.outdated:
+            packages = self.get_outdated(packages, options)
+        elif options.uptodate:
+            packages = self.get_uptodate(packages, options)
+
+        self.output_package_listing(packages, options)
+
+    def get_outdated(self, packages, options):
+        return [
+            dist for dist in self.iter_packages_latest_infos(packages, options)
+            if parse(str(dist.latest_version)) > parse(str(dist.parsed_version))
+        ]
+
+    def get_uptodate(self, packages, options):
+        return [
+            dist for dist in self.iter_packages_latest_infos(packages, options)
+            if parse(str(dist.latest_version)) == parse(str(dist.parsed_version))
+        ]
+
+    def get_not_required(self, packages, options):
+        dep_keys = set()
+        for dist in packages:
+            dep_keys.update(requirement.key for requirement in dist.requires())
+        return {pkg for pkg in packages if pkg.key not in dep_keys}
+
+    def iter_packages_latest_infos(self, packages, options):
+        with self._build_session(options) as session:
+            finder = self._build_package_finder(options, session)
+
+            for dist in packages:
+                typ = 'unknown'
+                all_candidates = finder.find_all_candidates(dist.key)
+                if not options.pre:
+                    # Remove prereleases
+                    all_candidates = [candidate for candidate in all_candidates
+                                      if not candidate.version.is_prerelease]
+
+                evaluator = finder.make_candidate_evaluator(
+                    project_name=dist.project_name,
+                )
+                best_candidate = evaluator.sort_best_candidate(all_candidates)
+                if best_candidate is None:
+                    continue
+
+                remote_version = best_candidate.version
+                if best_candidate.link.is_wheel:
+                    typ = 'wheel'
+                else:
+                    typ = 'sdist'
+                # This is dirty but makes the rest of the code much cleaner
+                dist.latest_version = remote_version
+                dist.latest_filetype = typ
+                yield dist
+
+    def output_package_listing(self, packages, options):
+        packages = sorted(
+            packages,
+            key=lambda dist: dist.project_name.lower(),
+        )
+        if options.list_format == 'columns' and packages:
+            data, header = format_for_columns(packages, options)
+            self.output_package_listing_columns(data, header)
+        elif options.list_format == 'freeze':
+            for dist in packages:
+                if options.verbose >= 1:
+                    write_output("%s==%s (%s)", dist.project_name,
+                                 dist.version, dist.location)
+                else:
+                    write_output("%s==%s", dist.project_name, dist.version)
+        elif options.list_format == 'json':
+            write_output(format_for_json(packages, options))
+
+    def output_package_listing_columns(self, data, header):
+        # insert the header first: we need to know the size of column names
+        if len(data) > 0:
+            data.insert(0, header)
+
+        pkg_strings, sizes = tabulate(data)
+
+        # Create and add a separator.
+        if len(data) > 0:
+            pkg_strings.insert(1, " ".join(map(lambda x: '-' * x, sizes)))
+
+        for val in pkg_strings:
+            write_output(val)
+
+
+def tabulate(vals):
+    # From pfmoore on GitHub:
+    # https://github.com/pypa/pip/issues/3651#issuecomment-216932564
+    assert len(vals) > 0
+
+    sizes = [0] * max(len(x) for x in vals)
+    for row in vals:
+        sizes = [max(s, len(str(c))) for s, c in zip_longest(sizes, row)]
+
+    result = []
+    for row in vals:
+        display = " ".join([str(c).ljust(s) if c is not None else ''
+                            for s, c in zip_longest(sizes, row)])
+        result.append(display)
+
+    return result, sizes
+
+
+def format_for_columns(pkgs, options):
+    """
+    Convert the package data into something usable
+    by output_package_listing_columns.
+    """
+    running_outdated = options.outdated
+    # Adjust the header for the `pip list --outdated` case.
+    if running_outdated:
+        header = ["Package", "Version", "Latest", "Type"]
+    else:
+        header = ["Package", "Version"]
+
+    data = []
+    if options.verbose >= 1 or any(dist_is_editable(x) for x in pkgs):
+        header.append("Location")
+    if options.verbose >= 1:
+        header.append("Installer")
+
+    for proj in pkgs:
+        # if we're working on the 'outdated' list, separate out the
+        # latest_version and type
+        row = [proj.project_name, proj.version]
+
+        if running_outdated:
+            row.append(proj.latest_version)
+            row.append(proj.latest_filetype)
+
+        if options.verbose >= 1 or dist_is_editable(proj):
+            row.append(proj.location)
+        if options.verbose >= 1:
+            row.append(get_installer(proj))
+
+        data.append(row)
+
+    return data, header
+
+
+def format_for_json(packages, options):
+    data = []
+    for dist in packages:
+        info = {
+            'name': dist.project_name,
+            'version': six.text_type(dist.version),
+        }
+        if options.verbose >= 1:
+            info['location'] = dist.location
+            info['installer'] = get_installer(dist)
+        if options.outdated:
+            info['latest_version'] = six.text_type(dist.latest_version)
+            info['latest_filetype'] = dist.latest_filetype
+        data.append(info)
+    return json.dumps(data)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/search.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/search.py
new file mode 100644
index 0000000..2e880ee
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/search.py
@@ -0,0 +1,145 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import sys
+import textwrap
+from collections import OrderedDict
+
+from pip._vendor import pkg_resources
+from pip._vendor.packaging.version import parse as parse_version
+# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is
+#       why we ignore the type on this import
+from pip._vendor.six.moves import xmlrpc_client  # type: ignore
+
+from pip._internal.cli.base_command import Command
+from pip._internal.cli.req_command import SessionCommandMixin
+from pip._internal.cli.status_codes import NO_MATCHES_FOUND, SUCCESS
+from pip._internal.exceptions import CommandError
+from pip._internal.models.index import PyPI
+from pip._internal.network.xmlrpc import PipXmlrpcTransport
+from pip._internal.utils.compat import get_terminal_size
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.misc import write_output
+
+logger = logging.getLogger(__name__)
+
+
+class SearchCommand(Command, SessionCommandMixin):
+    """Search for PyPI packages whose name or summary contains <query>."""
+
+    usage = """
+      %prog [options] <query>"""
+    ignore_require_venv = True
+
+    def __init__(self, *args, **kw):
+        super(SearchCommand, self).__init__(*args, **kw)
+        self.cmd_opts.add_option(
+            '-i', '--index',
+            dest='index',
+            metavar='URL',
+            default=PyPI.pypi_url,
+            help='Base URL of Python Package Index (default %default)')
+
+        self.parser.insert_option_group(0, self.cmd_opts)
+
+    def run(self, options, args):
+        if not args:
+            raise CommandError('Missing required argument (search query).')
+        query = args
+        pypi_hits = self.search(query, options)
+        hits = transform_hits(pypi_hits)
+
+        terminal_width = None
+        if sys.stdout.isatty():
+            terminal_width = get_terminal_size()[0]
+
+        print_results(hits, terminal_width=terminal_width)
+        if pypi_hits:
+            return SUCCESS
+        return NO_MATCHES_FOUND
+
+    def search(self, query, options):
+        index_url = options.index
+
+        session = self.get_default_session(options)
+
+        transport = PipXmlrpcTransport(index_url, session)
+        pypi = xmlrpc_client.ServerProxy(index_url, transport)
+        hits = pypi.search({'name': query, 'summary': query}, 'or')
+        return hits
+
+
+def transform_hits(hits):
+    """
+    The list from pypi is really a list of versions. We want a list of
+    packages with the list of versions stored inline. This converts the
+    list from pypi into one we can use.
+    """
+    packages = OrderedDict()
+    for hit in hits:
+        name = hit['name']
+        summary = hit['summary']
+        version = hit['version']
+
+        if name not in packages.keys():
+            packages[name] = {
+                'name': name,
+                'summary': summary,
+                'versions': [version],
+            }
+        else:
+            packages[name]['versions'].append(version)
+
+            # if this is the highest version, replace summary and score
+            if version == highest_version(packages[name]['versions']):
+                packages[name]['summary'] = summary
+
+    return list(packages.values())
+
+
+def print_results(hits, name_column_width=None, terminal_width=None):
+    if not hits:
+        return
+    if name_column_width is None:
+        name_column_width = max([
+            len(hit['name']) + len(highest_version(hit.get('versions', ['-'])))
+            for hit in hits
+        ]) + 4
+
+    installed_packages = [p.project_name for p in pkg_resources.working_set]
+    for hit in hits:
+        name = hit['name']
+        summary = hit['summary'] or ''
+        latest = highest_version(hit.get('versions', ['-']))
+        if terminal_width is not None:
+            target_width = terminal_width - name_column_width - 5
+            if target_width > 10:
+                # wrap and indent summary to fit terminal
+                summary = textwrap.wrap(summary, target_width)
+                summary = ('\n' + ' ' * (name_column_width + 3)).join(summary)
+
+        line = '%-*s - %s' % (name_column_width,
+                              '%s (%s)' % (name, latest), summary)
+        try:
+            write_output(line)
+            if name in installed_packages:
+                dist = pkg_resources.get_distribution(name)
+                with indent_log():
+                    if dist.version == latest:
+                        write_output('INSTALLED: %s (latest)', dist.version)
+                    else:
+                        write_output('INSTALLED: %s', dist.version)
+                        if parse_version(latest).pre:
+                            write_output('LATEST:    %s (pre-release; install'
+                                         ' with "pip install --pre")', latest)
+                        else:
+                            write_output('LATEST:    %s', latest)
+        except UnicodeEncodeError:
+            pass
+
+
+def highest_version(versions):
+    return max(versions, key=parse_version)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/show.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/show.py
new file mode 100644
index 0000000..a46b08e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/show.py
@@ -0,0 +1,180 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import os
+from email.parser import FeedParser
+
+from pip._vendor import pkg_resources
+from pip._vendor.packaging.utils import canonicalize_name
+
+from pip._internal.cli.base_command import Command
+from pip._internal.cli.status_codes import ERROR, SUCCESS
+from pip._internal.utils.misc import write_output
+
+logger = logging.getLogger(__name__)
+
+
+class ShowCommand(Command):
+    """
+    Show information about one or more installed packages.
+
+    The output is in RFC-compliant mail header format.
+    """
+
+    usage = """
+      %prog [options] <package> ..."""
+    ignore_require_venv = True
+
+    def __init__(self, *args, **kw):
+        super(ShowCommand, self).__init__(*args, **kw)
+        self.cmd_opts.add_option(
+            '-f', '--files',
+            dest='files',
+            action='store_true',
+            default=False,
+            help='Show the full list of installed files for each package.')
+
+        self.parser.insert_option_group(0, self.cmd_opts)
+
+    def run(self, options, args):
+        if not args:
+            logger.warning('ERROR: Please provide a package name or names.')
+            return ERROR
+        query = args
+
+        results = search_packages_info(query)
+        if not print_results(
+                results, list_files=options.files, verbose=options.verbose):
+            return ERROR
+        return SUCCESS
+
+
+def search_packages_info(query):
+    """
+    Gather details from installed distributions. Print distribution name,
+    version, location, and installed files. Installed files requires a
+    pip generated 'installed-files.txt' in the distributions '.egg-info'
+    directory.
+    """
+    installed = {}
+    for p in pkg_resources.working_set:
+        installed[canonicalize_name(p.project_name)] = p
+
+    query_names = [canonicalize_name(name) for name in query]
+    missing = sorted(
+        [name for name, pkg in zip(query, query_names) if pkg not in installed]
+    )
+    if missing:
+        logger.warning('Package(s) not found: %s', ', '.join(missing))
+
+    def get_requiring_packages(package_name):
+        canonical_name = canonicalize_name(package_name)
+        return [
+            pkg.project_name for pkg in pkg_resources.working_set
+            if canonical_name in
+               [canonicalize_name(required.name) for required in
+                pkg.requires()]
+        ]
+
+    for dist in [installed[pkg] for pkg in query_names if pkg in installed]:
+        package = {
+            'name': dist.project_name,
+            'version': dist.version,
+            'location': dist.location,
+            'requires': [dep.project_name for dep in dist.requires()],
+            'required_by': get_requiring_packages(dist.project_name)
+        }
+        file_list = None
+        metadata = None
+        if isinstance(dist, pkg_resources.DistInfoDistribution):
+            # RECORDs should be part of .dist-info metadatas
+            if dist.has_metadata('RECORD'):
+                lines = dist.get_metadata_lines('RECORD')
+                paths = [l.split(',')[0] for l in lines]
+                paths = [os.path.join(dist.location, p) for p in paths]
+                file_list = [os.path.relpath(p, dist.location) for p in paths]
+
+            if dist.has_metadata('METADATA'):
+                metadata = dist.get_metadata('METADATA')
+        else:
+            # Otherwise use pip's log for .egg-info's
+            if dist.has_metadata('installed-files.txt'):
+                paths = dist.get_metadata_lines('installed-files.txt')
+                paths = [os.path.join(dist.egg_info, p) for p in paths]
+                file_list = [os.path.relpath(p, dist.location) for p in paths]
+
+            if dist.has_metadata('PKG-INFO'):
+                metadata = dist.get_metadata('PKG-INFO')
+
+        if dist.has_metadata('entry_points.txt'):
+            entry_points = dist.get_metadata_lines('entry_points.txt')
+            package['entry_points'] = entry_points
+
+        if dist.has_metadata('INSTALLER'):
+            for line in dist.get_metadata_lines('INSTALLER'):
+                if line.strip():
+                    package['installer'] = line.strip()
+                    break
+
+        # @todo: Should pkg_resources.Distribution have a
+        # `get_pkg_info` method?
+        feed_parser = FeedParser()
+        feed_parser.feed(metadata)
+        pkg_info_dict = feed_parser.close()
+        for key in ('metadata-version', 'summary',
+                    'home-page', 'author', 'author-email', 'license'):
+            package[key] = pkg_info_dict.get(key)
+
+        # It looks like FeedParser cannot deal with repeated headers
+        classifiers = []
+        for line in metadata.splitlines():
+            if line.startswith('Classifier: '):
+                classifiers.append(line[len('Classifier: '):])
+        package['classifiers'] = classifiers
+
+        if file_list:
+            package['files'] = sorted(file_list)
+        yield package
+
+
+def print_results(distributions, list_files=False, verbose=False):
+    """
+    Print the informations from installed distributions found.
+    """
+    results_printed = False
+    for i, dist in enumerate(distributions):
+        results_printed = True
+        if i > 0:
+            write_output("---")
+
+        write_output("Name: %s", dist.get('name', ''))
+        write_output("Version: %s", dist.get('version', ''))
+        write_output("Summary: %s", dist.get('summary', ''))
+        write_output("Home-page: %s", dist.get('home-page', ''))
+        write_output("Author: %s", dist.get('author', ''))
+        write_output("Author-email: %s", dist.get('author-email', ''))
+        write_output("License: %s", dist.get('license', ''))
+        write_output("Location: %s", dist.get('location', ''))
+        write_output("Requires: %s", ', '.join(dist.get('requires', [])))
+        write_output("Required-by: %s", ', '.join(dist.get('required_by', [])))
+
+        if verbose:
+            write_output("Metadata-Version: %s",
+                         dist.get('metadata-version', ''))
+            write_output("Installer: %s", dist.get('installer', ''))
+            write_output("Classifiers:")
+            for classifier in dist.get('classifiers', []):
+                write_output("  %s", classifier)
+            write_output("Entry-points:")
+            for entry in dist.get('entry_points', []):
+                write_output("  %s", entry.strip())
+        if list_files:
+            write_output("Files:")
+            for line in dist.get('files', []):
+                write_output("  %s", line.strip())
+            if "files" not in dist:
+                write_output("Cannot locate installed-files.txt")
+    return results_printed
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py
new file mode 100644
index 0000000..1bde414
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py
@@ -0,0 +1,82 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+from pip._vendor.packaging.utils import canonicalize_name
+
+from pip._internal.cli.base_command import Command
+from pip._internal.cli.req_command import SessionCommandMixin
+from pip._internal.exceptions import InstallationError
+from pip._internal.req import parse_requirements
+from pip._internal.req.constructors import install_req_from_line
+from pip._internal.utils.misc import protect_pip_from_modification_on_windows
+
+
+class UninstallCommand(Command, SessionCommandMixin):
+    """
+    Uninstall packages.
+
+    pip is able to uninstall most installed packages. Known exceptions are:
+
+    - Pure distutils packages installed with ``python setup.py install``, which
+      leave behind no metadata to determine what files were installed.
+    - Script wrappers installed by ``python setup.py develop``.
+    """
+
+    usage = """
+      %prog [options] <package> ...
+      %prog [options] -r <requirements file> ..."""
+
+    def __init__(self, *args, **kw):
+        super(UninstallCommand, self).__init__(*args, **kw)
+        self.cmd_opts.add_option(
+            '-r', '--requirement',
+            dest='requirements',
+            action='append',
+            default=[],
+            metavar='file',
+            help='Uninstall all the packages listed in the given requirements '
+                 'file.  This option can be used multiple times.',
+        )
+        self.cmd_opts.add_option(
+            '-y', '--yes',
+            dest='yes',
+            action='store_true',
+            help="Don't ask for confirmation of uninstall deletions.")
+
+        self.parser.insert_option_group(0, self.cmd_opts)
+
+    def run(self, options, args):
+        session = self.get_default_session(options)
+
+        reqs_to_uninstall = {}
+        for name in args:
+            req = install_req_from_line(
+                name, isolated=options.isolated_mode,
+            )
+            if req.name:
+                reqs_to_uninstall[canonicalize_name(req.name)] = req
+        for filename in options.requirements:
+            for req in parse_requirements(
+                    filename,
+                    options=options,
+                    session=session):
+                if req.name:
+                    reqs_to_uninstall[canonicalize_name(req.name)] = req
+        if not reqs_to_uninstall:
+            raise InstallationError(
+                'You must give at least one requirement to %(name)s (see '
+                '"pip help %(name)s")' % dict(name=self.name)
+            )
+
+        protect_pip_from_modification_on_windows(
+            modifying_pip="pip" in reqs_to_uninstall
+        )
+
+        for req in reqs_to_uninstall.values():
+            uninstall_pathset = req.uninstall(
+                auto_confirm=options.yes, verbose=self.verbosity > 0,
+            )
+            if uninstall_pathset:
+                uninstall_pathset.commit()
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/commands/wheel.py b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/wheel.py
new file mode 100644
index 0000000..eb44bce
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/commands/wheel.py
@@ -0,0 +1,197 @@
+# -*- coding: utf-8 -*-
+
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import os
+import shutil
+
+from pip._internal.cache import WheelCache
+from pip._internal.cli import cmdoptions
+from pip._internal.cli.req_command import RequirementCommand
+from pip._internal.exceptions import CommandError, PreviousBuildDirError
+from pip._internal.req import RequirementSet
+from pip._internal.req.req_tracker import get_requirement_tracker
+from pip._internal.utils.misc import ensure_dir, normalize_path
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.wheel_builder import build, should_build_for_wheel_command
+
+if MYPY_CHECK_RUNNING:
+    from optparse import Values
+    from typing import Any, List
+
+
+logger = logging.getLogger(__name__)
+
+
+class WheelCommand(RequirementCommand):
+    """
+    Build Wheel archives for your requirements and dependencies.
+
+    Wheel is a built-package format, and offers the advantage of not
+    recompiling your software during every install. For more details, see the
+    wheel docs: https://wheel.readthedocs.io/en/latest/
+
+    Requirements: setuptools>=0.8, and wheel.
+
+    'pip wheel' uses the bdist_wheel setuptools extension from the wheel
+    package to build individual wheels.
+
+    """
+
+    usage = """
+      %prog [options] <requirement specifier> ...
+      %prog [options] -r <requirements file> ...
+      %prog [options] [-e] <vcs project url> ...
+      %prog [options] [-e] <local project path> ...
+      %prog [options] <archive url/path> ..."""
+
+    def __init__(self, *args, **kw):
+        super(WheelCommand, self).__init__(*args, **kw)
+
+        cmd_opts = self.cmd_opts
+
+        cmd_opts.add_option(
+            '-w', '--wheel-dir',
+            dest='wheel_dir',
+            metavar='dir',
+            default=os.curdir,
+            help=("Build wheels into <dir>, where the default is the "
+                  "current working directory."),
+        )
+        cmd_opts.add_option(cmdoptions.no_binary())
+        cmd_opts.add_option(cmdoptions.only_binary())
+        cmd_opts.add_option(cmdoptions.prefer_binary())
+        cmd_opts.add_option(
+            '--build-option',
+            dest='build_options',
+            metavar='options',
+            action='append',
+            help="Extra arguments to be supplied to 'setup.py bdist_wheel'.",
+        )
+        cmd_opts.add_option(cmdoptions.no_build_isolation())
+        cmd_opts.add_option(cmdoptions.use_pep517())
+        cmd_opts.add_option(cmdoptions.no_use_pep517())
+        cmd_opts.add_option(cmdoptions.constraints())
+        cmd_opts.add_option(cmdoptions.editable())
+        cmd_opts.add_option(cmdoptions.requirements())
+        cmd_opts.add_option(cmdoptions.src())
+        cmd_opts.add_option(cmdoptions.ignore_requires_python())
+        cmd_opts.add_option(cmdoptions.no_deps())
+        cmd_opts.add_option(cmdoptions.build_dir())
+        cmd_opts.add_option(cmdoptions.progress_bar())
+
+        cmd_opts.add_option(
+            '--global-option',
+            dest='global_options',
+            action='append',
+            metavar='options',
+            help="Extra global options to be supplied to the setup.py "
+            "call before the 'bdist_wheel' command.")
+
+        cmd_opts.add_option(
+            '--pre',
+            action='store_true',
+            default=False,
+            help=("Include pre-release and development versions. By default, "
+                  "pip only finds stable versions."),
+        )
+
+        cmd_opts.add_option(cmdoptions.no_clean())
+        cmd_opts.add_option(cmdoptions.require_hashes())
+
+        index_opts = cmdoptions.make_option_group(
+            cmdoptions.index_group,
+            self.parser,
+        )
+
+        self.parser.insert_option_group(0, index_opts)
+        self.parser.insert_option_group(0, cmd_opts)
+
+    def run(self, options, args):
+        # type: (Values, List[Any]) -> None
+        cmdoptions.check_install_build_global(options)
+
+        session = self.get_default_session(options)
+
+        finder = self._build_package_finder(options, session)
+        build_delete = (not (options.no_clean or options.build_dir))
+        wheel_cache = WheelCache(options.cache_dir, options.format_control)
+
+        options.wheel_dir = normalize_path(options.wheel_dir)
+        ensure_dir(options.wheel_dir)
+
+        with get_requirement_tracker() as req_tracker, TempDirectory(
+            options.build_dir, delete=build_delete, kind="wheel"
+        ) as directory:
+
+            requirement_set = RequirementSet()
+
+            try:
+                self.populate_requirement_set(
+                    requirement_set, args, options, finder, session,
+                    wheel_cache
+                )
+
+                preparer = self.make_requirement_preparer(
+                    temp_build_dir=directory,
+                    options=options,
+                    req_tracker=req_tracker,
+                    session=session,
+                    finder=finder,
+                    wheel_download_dir=options.wheel_dir,
+                    use_user_site=False,
+                )
+
+                resolver = self.make_resolver(
+                    preparer=preparer,
+                    finder=finder,
+                    options=options,
+                    wheel_cache=wheel_cache,
+                    ignore_requires_python=options.ignore_requires_python,
+                    use_pep517=options.use_pep517,
+                )
+
+                self.trace_basic_info(finder)
+
+                resolver.resolve(requirement_set)
+
+                reqs_to_build = [
+                    r for r in requirement_set.requirements.values()
+                    if should_build_for_wheel_command(r)
+                ]
+
+                # build wheels
+                build_successes, build_failures = build(
+                    reqs_to_build,
+                    wheel_cache=wheel_cache,
+                    build_options=options.build_options or [],
+                    global_options=options.global_options or [],
+                )
+                for req in build_successes:
+                    assert req.link and req.link.is_wheel
+                    assert req.local_file_path
+                    # copy from cache to target directory
+                    try:
+                        shutil.copy(req.local_file_path, options.wheel_dir)
+                    except OSError as e:
+                        logger.warning(
+                            "Building wheel for %s failed: %s",
+                            req.name, e,
+                        )
+                        build_failures.append(req)
+                if len(build_failures) != 0:
+                    raise CommandError(
+                        "Failed to build one or more wheels"
+                    )
+            except PreviousBuildDirError:
+                options.no_clean = True
+                raise
+            finally:
+                if not options.no_clean:
+                    requirement_set.cleanup_files()
+                    wheel_cache.cleanup()
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/configuration.py b/iot_env/lib/python3.8/site-packages/pip/_internal/configuration.py
new file mode 100644
index 0000000..f09a1ae
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/configuration.py
@@ -0,0 +1,422 @@
+"""Configuration management setup
+
+Some terminology:
+- name
+  As written in config files.
+- value
+  Value associated with a name
+- key
+  Name combined with it's section (section.name)
+- variant
+  A single word describing where the configuration key-value pair came from
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+import locale
+import logging
+import os
+import sys
+
+from pip._vendor.six.moves import configparser
+
+from pip._internal.exceptions import (
+    ConfigurationError,
+    ConfigurationFileCouldNotBeLoaded,
+)
+from pip._internal.utils import appdirs
+from pip._internal.utils.compat import WINDOWS, expanduser
+from pip._internal.utils.misc import ensure_dir, enum
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Any, Dict, Iterable, List, NewType, Optional, Tuple
+    )
+
+    RawConfigParser = configparser.RawConfigParser  # Shorthand
+    Kind = NewType("Kind", str)
+
+logger = logging.getLogger(__name__)
+
+
+# NOTE: Maybe use the optionx attribute to normalize keynames.
+def _normalize_name(name):
+    # type: (str) -> str
+    """Make a name consistent regardless of source (environment or file)
+    """
+    name = name.lower().replace('_', '-')
+    if name.startswith('--'):
+        name = name[2:]  # only prefer long opts
+    return name
+
+
+def _disassemble_key(name):
+    # type: (str) -> List[str]
+    if "." not in name:
+        error_message = (
+            "Key does not contain dot separated section and key. "
+            "Perhaps you wanted to use 'global.{}' instead?"
+        ).format(name)
+        raise ConfigurationError(error_message)
+    return name.split(".", 1)
+
+
+# The kinds of configurations there are.
+kinds = enum(
+    USER="user",        # User Specific
+    GLOBAL="global",    # System Wide
+    SITE="site",        # [Virtual] Environment Specific
+    ENV="env",          # from PIP_CONFIG_FILE
+    ENV_VAR="env-var",  # from Environment Variables
+)
+
+
+CONFIG_BASENAME = 'pip.ini' if WINDOWS else 'pip.conf'
+
+
+def get_configuration_files():
+    # type: () -> Dict[Kind, List[str]]
+    global_config_files = [
+        os.path.join(path, CONFIG_BASENAME)
+        for path in appdirs.site_config_dirs('pip')
+    ]
+
+    site_config_file = os.path.join(sys.prefix, CONFIG_BASENAME)
+    legacy_config_file = os.path.join(
+        expanduser('~'),
+        'pip' if WINDOWS else '.pip',
+        CONFIG_BASENAME,
+    )
+    new_config_file = os.path.join(
+        appdirs.user_config_dir("pip"), CONFIG_BASENAME
+    )
+    return {
+        kinds.GLOBAL: global_config_files,
+        kinds.SITE: [site_config_file],
+        kinds.USER: [legacy_config_file, new_config_file],
+    }
+
+
+class Configuration(object):
+    """Handles management of configuration.
+
+    Provides an interface to accessing and managing configuration files.
+
+    This class converts provides an API that takes "section.key-name" style
+    keys and stores the value associated with it as "key-name" under the
+    section "section".
+
+    This allows for a clean interface wherein the both the section and the
+    key-name are preserved in an easy to manage form in the configuration files
+    and the data stored is also nice.
+    """
+
+    def __init__(self, isolated, load_only=None):
+        # type: (bool, Kind) -> None
+        super(Configuration, self).__init__()
+
+        _valid_load_only = [kinds.USER, kinds.GLOBAL, kinds.SITE, None]
+        if load_only not in _valid_load_only:
+            raise ConfigurationError(
+                "Got invalid value for load_only - should be one of {}".format(
+                    ", ".join(map(repr, _valid_load_only[:-1]))
+                )
+            )
+        self.isolated = isolated  # type: bool
+        self.load_only = load_only  # type: Optional[Kind]
+
+        # The order here determines the override order.
+        self._override_order = [
+            kinds.GLOBAL, kinds.USER, kinds.SITE, kinds.ENV, kinds.ENV_VAR
+        ]
+
+        self._ignore_env_names = ["version", "help"]
+
+        # Because we keep track of where we got the data from
+        self._parsers = {
+            variant: [] for variant in self._override_order
+        }  # type: Dict[Kind, List[Tuple[str, RawConfigParser]]]
+        self._config = {
+            variant: {} for variant in self._override_order
+        }  # type: Dict[Kind, Dict[str, Any]]
+        self._modified_parsers = []  # type: List[Tuple[str, RawConfigParser]]
+
+    def load(self):
+        # type: () -> None
+        """Loads configuration from configuration files and environment
+        """
+        self._load_config_files()
+        if not self.isolated:
+            self._load_environment_vars()
+
+    def get_file_to_edit(self):
+        # type: () -> Optional[str]
+        """Returns the file with highest priority in configuration
+        """
+        assert self.load_only is not None, \
+            "Need to be specified a file to be editing"
+
+        try:
+            return self._get_parser_to_modify()[0]
+        except IndexError:
+            return None
+
+    def items(self):
+        # type: () -> Iterable[Tuple[str, Any]]
+        """Returns key-value pairs like dict.items() representing the loaded
+        configuration
+        """
+        return self._dictionary.items()
+
+    def get_value(self, key):
+        # type: (str) -> Any
+        """Get a value from the configuration.
+        """
+        try:
+            return self._dictionary[key]
+        except KeyError:
+            raise ConfigurationError("No such key - {}".format(key))
+
+    def set_value(self, key, value):
+        # type: (str, Any) -> None
+        """Modify a value in the configuration.
+        """
+        self._ensure_have_load_only()
+
+        fname, parser = self._get_parser_to_modify()
+
+        if parser is not None:
+            section, name = _disassemble_key(key)
+
+            # Modify the parser and the configuration
+            if not parser.has_section(section):
+                parser.add_section(section)
+            parser.set(section, name, value)
+
+        self._config[self.load_only][key] = value
+        self._mark_as_modified(fname, parser)
+
+    def unset_value(self, key):
+        # type: (str) -> None
+        """Unset a value in the configuration.
+        """
+        self._ensure_have_load_only()
+
+        if key not in self._config[self.load_only]:
+            raise ConfigurationError("No such key - {}".format(key))
+
+        fname, parser = self._get_parser_to_modify()
+
+        if parser is not None:
+            section, name = _disassemble_key(key)
+
+            # Remove the key in the parser
+            modified_something = False
+            if parser.has_section(section):
+                # Returns whether the option was removed or not
+                modified_something = parser.remove_option(section, name)
+
+            if modified_something:
+                # name removed from parser, section may now be empty
+                section_iter = iter(parser.items(section))
+                try:
+                    val = next(section_iter)
+                except StopIteration:
+                    val = None
+
+                if val is None:
+                    parser.remove_section(section)
+
+                self._mark_as_modified(fname, parser)
+            else:
+                raise ConfigurationError(
+                    "Fatal Internal error [id=1]. Please report as a bug."
+                )
+
+        del self._config[self.load_only][key]
+
+    def save(self):
+        # type: () -> None
+        """Save the current in-memory state.
+        """
+        self._ensure_have_load_only()
+
+        for fname, parser in self._modified_parsers:
+            logger.info("Writing to %s", fname)
+
+            # Ensure directory exists.
+            ensure_dir(os.path.dirname(fname))
+
+            with open(fname, "w") as f:
+                parser.write(f)
+
+    #
+    # Private routines
+    #
+
+    def _ensure_have_load_only(self):
+        # type: () -> None
+        if self.load_only is None:
+            raise ConfigurationError("Needed a specific file to be modifying.")
+        logger.debug("Will be working with %s variant only", self.load_only)
+
+    @property
+    def _dictionary(self):
+        # type: () -> Dict[str, Any]
+        """A dictionary representing the loaded configuration.
+        """
+        # NOTE: Dictionaries are not populated if not loaded. So, conditionals
+        #       are not needed here.
+        retval = {}
+
+        for variant in self._override_order:
+            retval.update(self._config[variant])
+
+        return retval
+
+    def _load_config_files(self):
+        # type: () -> None
+        """Loads configuration from configuration files
+        """
+        config_files = dict(self._iter_config_files())
+        if config_files[kinds.ENV][0:1] == [os.devnull]:
+            logger.debug(
+                "Skipping loading configuration files due to "
+                "environment's PIP_CONFIG_FILE being os.devnull"
+            )
+            return
+
+        for variant, files in config_files.items():
+            for fname in files:
+                # If there's specific variant set in `load_only`, load only
+                # that variant, not the others.
+                if self.load_only is not None and variant != self.load_only:
+                    logger.debug(
+                        "Skipping file '%s' (variant: %s)", fname, variant
+                    )
+                    continue
+
+                parser = self._load_file(variant, fname)
+
+                # Keeping track of the parsers used
+                self._parsers[variant].append((fname, parser))
+
+    def _load_file(self, variant, fname):
+        # type: (Kind, str) -> RawConfigParser
+        logger.debug("For variant '%s', will try loading '%s'", variant, fname)
+        parser = self._construct_parser(fname)
+
+        for section in parser.sections():
+            items = parser.items(section)
+            self._config[variant].update(self._normalized_keys(section, items))
+
+        return parser
+
+    def _construct_parser(self, fname):
+        # type: (str) -> RawConfigParser
+        parser = configparser.RawConfigParser()
+        # If there is no such file, don't bother reading it but create the
+        # parser anyway, to hold the data.
+        # Doing this is useful when modifying and saving files, where we don't
+        # need to construct a parser.
+        if os.path.exists(fname):
+            try:
+                parser.read(fname)
+            except UnicodeDecodeError:
+                # See https://github.com/pypa/pip/issues/4963
+                raise ConfigurationFileCouldNotBeLoaded(
+                    reason="contains invalid {} characters".format(
+                        locale.getpreferredencoding(False)
+                    ),
+                    fname=fname,
+                )
+            except configparser.Error as error:
+                # See https://github.com/pypa/pip/issues/4893
+                raise ConfigurationFileCouldNotBeLoaded(error=error)
+        return parser
+
+    def _load_environment_vars(self):
+        # type: () -> None
+        """Loads configuration from environment variables
+        """
+        self._config[kinds.ENV_VAR].update(
+            self._normalized_keys(":env:", self._get_environ_vars())
+        )
+
+    def _normalized_keys(self, section, items):
+        # type: (str, Iterable[Tuple[str, Any]]) -> Dict[str, Any]
+        """Normalizes items to construct a dictionary with normalized keys.
+
+        This routine is where the names become keys and are made the same
+        regardless of source - configuration files or environment.
+        """
+        normalized = {}
+        for name, val in items:
+            key = section + "." + _normalize_name(name)
+            normalized[key] = val
+        return normalized
+
+    def _get_environ_vars(self):
+        # type: () -> Iterable[Tuple[str, str]]
+        """Returns a generator with all environmental vars with prefix PIP_"""
+        for key, val in os.environ.items():
+            should_be_yielded = (
+                key.startswith("PIP_") and
+                key[4:].lower() not in self._ignore_env_names
+            )
+            if should_be_yielded:
+                yield key[4:].lower(), val
+
+    # XXX: This is patched in the tests.
+    def _iter_config_files(self):
+        # type: () -> Iterable[Tuple[Kind, List[str]]]
+        """Yields variant and configuration files associated with it.
+
+        This should be treated like items of a dictionary.
+        """
+        # SMELL: Move the conditions out of this function
+
+        # environment variables have the lowest priority
+        config_file = os.environ.get('PIP_CONFIG_FILE', None)
+        if config_file is not None:
+            yield kinds.ENV, [config_file]
+        else:
+            yield kinds.ENV, []
+
+        config_files = get_configuration_files()
+
+        # at the base we have any global configuration
+        yield kinds.GLOBAL, config_files[kinds.GLOBAL]
+
+        # per-user configuration next
+        should_load_user_config = not self.isolated and not (
+            config_file and os.path.exists(config_file)
+        )
+        if should_load_user_config:
+            # The legacy config file is overridden by the new config file
+            yield kinds.USER, config_files[kinds.USER]
+
+        # finally virtualenv configuration first trumping others
+        yield kinds.SITE, config_files[kinds.SITE]
+
+    def _get_parser_to_modify(self):
+        # type: () -> Tuple[str, RawConfigParser]
+        # Determine which parser to modify
+        parsers = self._parsers[self.load_only]
+        if not parsers:
+            # This should not happen if everything works correctly.
+            raise ConfigurationError(
+                "Fatal Internal error [id=2]. Please report as a bug."
+            )
+
+        # Use the highest priority parser.
+        return parsers[-1]
+
+    # XXX: This is patched in the tests.
+    def _mark_as_modified(self, fname, parser):
+        # type: (str, RawConfigParser) -> None
+        file_parser_tuple = (fname, parser)
+        if file_parser_tuple not in self._modified_parsers:
+            self._modified_parsers.append(file_parser_tuple)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py
new file mode 100644
index 0000000..d5c1afc
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py
@@ -0,0 +1,24 @@
+from pip._internal.distributions.sdist import SourceDistribution
+from pip._internal.distributions.wheel import WheelDistribution
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from pip._internal.distributions.base import AbstractDistribution
+    from pip._internal.req.req_install import InstallRequirement
+
+
+def make_distribution_for_install_requirement(install_req):
+    # type: (InstallRequirement) -> AbstractDistribution
+    """Returns a Distribution for the given InstallRequirement
+    """
+    # Editable requirements will always be source distributions. They use the
+    # legacy logic until we create a modern standard for them.
+    if install_req.editable:
+        return SourceDistribution(install_req)
+
+    # If it's a wheel, it's a WheelDistribution
+    if install_req.is_wheel:
+        return WheelDistribution(install_req)
+
+    # Otherwise, a SourceDistribution
+    return SourceDistribution(install_req)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ce0c15e9792b1de18c7b9d8a3d55b36fc0458e30
GIT binary patch
literal 812
zcmWIL<>g{vU|{fR*`2bVnStRkh=Yuo7#J8F7#J9eeHa)RQW#Pga~N_NqZk=MY^EHh
zT;?cdFq=7tC6_gdm60Kpwa6ibA%!J}Etfrt9W2M1!;#Aw#mUH!!j{6`!Vtxk!V%1%
z$@vmwk0#?Sq2T<|qU2PU%;J)w%%swi%=|n}##@5n8L6o`Xo5n%kpYqM&K|DL-tj@9
zetw>Q?wX9ZL>!ZfONtVcOVCw&<`tJD=HvvW7M5lfrRJvQl_WEQEQMka8{|J{kpEN|
z7#M08vKWf^N*HSxni+#ZJf<R<5@rYwCaTF;WfPQIQd*Q(tdOXHY@<S2evv{+Myf)3
zW?5>U0;c6$3JMAenk=_CQd2TZ5|eULi$J#D;>awHF9&(Hh?#+bL6h+ocP7N$@kObH
zD;bJF5%kMLza+OnzaX<fw=}OHF*!RmMHj3`Hzzed(<r|v1tg~*pP5&ZT9lWVqo0Bl
zn#KC@@tJv<CGqik1(mlna}%>u<B{d#)AEbrk?e#87Rcga5W&F4#>l}8!bLm`3=Dpn
z+_w}9G7I$J*6AS|SFBeI=7K$kR~^^~U|-*oLN%|nBr~U2ucWddGcUb}g@J+LmIA5*
zuno}EQmmJhSe#nK3Q{JEs;nrrP_HPp5azogHU<U;uphvoibQaOG;`SG=BJeAq}qW}
SMlr~%Jd8YyJWMPgk{JL8;^{2_

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/base.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/base.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..53ca4c1d23e0439e1dedfd9f762c869fbdc25ef7
GIT binary patch
literal 1928
zcmWIL<>g{vU|{fR*_|?xm4V?gh=Yt-85kHG7#J9eix?OfQW#Pga~PsPG*b>^E>jc}
zBZ$qM!<@?!#lpyt%2E`P!jQs}!<x$$#RisR&0){wh~faV*>X5@xuUqhZ1x=PT%IT%
zMut?TRE8|xW=4006pj?m7KRkgRK8~BX2vM~6vki%O|F+9*Z65N-r`M6Nr}%*ElEty
zNh~hbWV|Kh8yOH8@9g2~>>VEz>gVU_=dQ_ki^IR5Br`uRF-Mc}7LQA2aY<2TQYlCT
zq{B0>xFj(rCn&YBG_xo*H#M&WWN<)Ya&}^Rs#|7WN@`Iu$UbDu4CNHtFfcHrGDI<^
zFhnt>Fh()AGo&%5Fr_fJa73}BvSzWRu%xiIFf=npv4eSRDePb#M>_)xLlkE)gC@r<
z5yzzBlA^@q5@d%Z@-i_nI4UG17N;tJ{icwXU!;(cn3s~1nU}7R32}2`QckKuVo^zE
zT4HiZu^tzff`WoVNJgqc5yCUYV4aD1l_eRNI#U%ALGn2{`Q^n{5bX-O3gxK^xuwM=
z3Q4I7U>i#E6;e`5Qj2mk^HLQ`P>ol}OUz9L+pD0Uppjn$(wv-_r(U9voL^Lwnp~1o
z32`<=XI_4uZfQY!QDRD}LULkpswULY3c6rt7C=J1SfM<#BtxM%wWPEF#V<M_<H2rA
z%qh-?IS^(&x;rzAP&9)L%`Yv1g&rt45>rw#K?xx-2WAM|2^ydf2l=)*F&7k~iN*PO
zpx`Ph&C@N(%uQ8DNi9gtOG(X3&P*-V#20wUMX8A;sS1e-$T6&tpOlrFT%wR#QIKB@
za!N@CJRB2~^2<^cK<PRqu_RFs?6hPiXqp32AT}rsf^e|}0|P?|LkVLILo?F?riBcQ
z3^j~34Drk<48aU58T~X_Zm|}Z7NiyxaWF72+~SCj&&<m#iI2a<T$Ea<$#jdQI5j7&
zh=+lJVI|`&&iHt6a*K~&$?(fXza+OnzaX<fw=@qFEU78F<r%4|Il4Ki@tH>XMJXUT
z{rJqhlGLKS#2oz;q?}c(4@$dw1(ikI3=9kkpwfZ`>~cQFDp_nPUJvH3WJZuWC<d`X
z*coI1s8lLpXl7_)1bMB96XIlHzx)!<+=3i%)=f=uEh@?{(qt^+Wnf?^5`YteAiv9{
zr<TMQWT(d$r55Lx7A2<^$0NI06=Vr0Xc?HRjIp{Azy4%UbU+=>0Ak~Fd65tU1A`_r
z*qyi7(!k}+E&im^%$$_?%;Nl<L{PFs_ke6cQEEYAQ7VeF!37{Fp=cqw-w3Pw@oLxP
z0woSmevXg7#T6f)o1apelNuj?izhz5urx6TD#IQhpOT*(9}kY$Tg-_`$+!3tlORP{
zZfZ$JeoB!DDA>h8A<hd;Psyn{Iq~sG-r)l&0YwTpRq}&e4oZR?Of397tSpRNEG&#*
z8BKvA83qQ1DE@-X0=@XM)V!4ZBE90wiXu=v-I4-}!V;ifX-Q^Iv0h1KL1tch5hwy~
zu|YYYv==1_Rt+@+B^eZfs<bFUusqzfqSV47HjpQjP{lz}RiOvU5Q*uj@sOA+Vh1T?
zcXV?0O)W{h#RkdTU>_iP8k`(Kp1#Fl0|{L_P!cHyB?S&99wr_p7DgT>9!4HU9%c?k
E05Ve`_W%F@

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2c50a37335d8c7df8ec2216b7459dbf0498bada3
GIT binary patch
literal 1208
zcmWIL<>g{vU|{fR*`4x(iGkrUh=Yt-7#J8F7#J9eLl_tsQW#Pga~N_NqZk=MY^EHh
zT;?cdMut@8B8L=)6y_Y3T-GR7upCPcTP}MPJDAOy!;#Aw#mUIv&XB^E!rsD=!k)_5
z%pAp)!V%1%$@vmwpC;oi5yzzBlA^@q5|_;4lA_F{(vr;lJWa-1LcWm!k@3zRuFl@^
zL7{$ro__9{jJG)a3qbOTIhu^Oc+hn41|%kDC#I*mW#*-%7A1qsN5)JrKPfOUFr+d>
zF{Us?F{Lm@F{d!4Ft;#7v81r1u(mKnv8J#EGib8k67|e0E=kPENlihvr>Y|;wV)`q
zI5n@NSRpY_Arq!Zp#WmL9v7E_f`URwMrN@>N`7jwLSBA}LSAZWib7&ur9webYC&RA
zBFGO4iNy*f8L0|IsfDGPMX4zYnR#jXMY#~UjKpGv#GInk#FR>~aY?DEc?!w-xdo*q
zsVRD3p=3rR-+|a5><o%D4h9B>8ip)}EXH7lm5hFxOt+YeQVVbK6epHs7N=#Vro<;z
zYBJtpDNfBvTggzw!@$7s%TvE3w?Mxjvp}~r59E{76y5TS)YKf^oYeSCqx_;2keq&e
zW?o5ZQC?z>ehN}-73;%8L9d|lmRx#jNqj+edVEo8aeir0a%yorvT7la6G4%|z*J>|
zHH`J}8<5P5<Z%!i?r~7EO<@RTC<285*k78=McfPw47b?Qz=`4(e^O~?PD*@caefXs
zpuvhD1TRRPEF^+bQCu9Kn_7~Xl30=`hU9c(>`uq4-%pe67Ds%1USe))eEco0`1suX
zl+qj!n<qZLurx6TD#IQhpOT*(A78}Bz`#%>2qHj{1aT*r1#)Z=I|Bm)$alqT3=9k$
zj4W&%EMPG|P3~I?1(^kU@aWP*j(}plq{QOXB2X0El0sEhT9TPltXEQ5keQcW1Pa<)
zY)}p;Xrm;-s>@RIQu2%RP-3`<6%=|(V0l;?(E|l}g&rt1C8npwLt>x^<W{gNk$eO9
d(k%`fNRZfp;<Okf&cn#V#KOqK#KXwL3;=z2QN;iN

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..eca5a988bbcb48efeb41bbcadc69f4f6916b9e1c
GIT binary patch
literal 3471
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
ZsCio~2C8(KKyeSoOe~B7ARaRpGXOal0a5?}

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0ed385fbe17b105a918bb168f8c8d35ff0a4b77e
GIT binary patch
literal 1560
zcmWIL<>g{vU|{fR*`312%E0g##6iX^3=9ko3=9m#2@DJjDGVu$ISjdsQH+crHd78$
zE^`z!n9ZESlFJ&!3TCt9u;sExu`@EHvKINIFr={NaO84Eaf0R8a=3E2qqrFv+!<2X
zQ#e`}QaDnXo0+3{QaFPdG`U`a?ABzw#U7Pe;Fg(_s>ygu#4)M3q$n}D#3i%1q$o3~
zv?Mb>Pm}SMkZ)u_WW2M7tFw1}P^h1ur=Pnf<1Lkf?DY7e)Z+ZoqU6-#_!J~P@oD)*
z@#Pt*sX3aAw|LM@;|)km&Q45Eb<504Ni9kSIRhCp!Gb}7fq@~FA&N1DA&M!5F^V~b
zDTTR(A&Mo1C55$xA&NDHEto-*{gz-j$R1=nstSWr3yM;UQ}arS6%rM|?odE>o*oyM
zf`WoVNJeI{LP~yWu|i&ci9%j#YKlT)UZp}oQEEYAQ6k9i3W>!K?ZpboiFpc1sR}8X
zMXAXpIh6{fc?F5d*{LadV55>5k-Px%0Vt}SL6I54z`#($kj0S2Sj<zx)Wis8GZ#yM
z*d;7r9%Bk)3R5przfvt@32O~h1w^KqIh=us!IUA8A&6lyLok?*U`SyOX3%7*TI7?T
zm{P1zl98&An_7~Xl30?ckXDqR3l@R+IxRCNRUtF4BwrynH8;PgQXw%fMWHCQq_iln
zSRoPYbWlhjhn_-7Mq-IVX>n??LS~5$IB1Geb1F0Q(iQUa(2dS7f}2s4T3DJ{l$x8G
zR{{wWkij9EjJLQFb8_;_qcRK3O#C$2ZZQ|77T)5|$xlwqi3d3^z96wA;})M|adB!9
zD9l}pit>wYvE(J@rWS!hvWS&|fkBh$7E5tzPTDQTs+9~y0t^fczg+c8atrheG7EHJ
zQK1X=vu;jme5O%;Q3^;-KRz?BB(*3nF-IRc0Tk<lmFg8#-jYjCEs4jSl7&EV2(piX
zorj5sNr;h&k%@tgf$e{l0Y<vh!*5hFGg2A>u|a7DoJK%7KZPNfL6gxB>^Dv3B0dHN
zhFffD;4E^BKdCe`CnY|!I6nuREWwH(gdj+rEF{UMqUJ$Znot6H0Thx9OjY`rj>fAO
z6k#0k@u0|vkH5tgAD^3_Qks(*AAgG{KEALtF$XHc9v`2QpBx`w1PZSrQ3eJ`BthH=
z3cezcLyI^V7#Mg!&S7I<VBlb6VdW42i}`8t-eRxHEC8hkaHQW-D99|(gGZhoO62J!
zB^IX^fkN<>6soe)lFXc9y^_j;%)Im>P^jLL#HIio`QUUF1(7dH%}dEI(nCoGMIblc
zQbN@aijN9CP|i<GPmPB}PZ2xFyCAP2c^B^ITO2l!FtY<icQGhld6;+@c^G+^SU@B*
E02pDp#{d8T

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/base.py b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/base.py
new file mode 100644
index 0000000..b836b98
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/base.py
@@ -0,0 +1,45 @@
+import abc
+
+from pip._vendor.six import add_metaclass
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional
+
+    from pip._vendor.pkg_resources import Distribution
+    from pip._internal.req import InstallRequirement
+    from pip._internal.index.package_finder import PackageFinder
+
+
+@add_metaclass(abc.ABCMeta)
+class AbstractDistribution(object):
+    """A base class for handling installable artifacts.
+
+    The requirements for anything installable are as follows:
+
+     - we must be able to determine the requirement name
+       (or we can't correctly handle the non-upgrade case).
+
+     - for packages with setup requirements, we must also be able
+       to determine their requirements without installing additional
+       packages (for the same reason as run-time dependencies)
+
+     - we must be able to create a Distribution object exposing the
+       above metadata.
+    """
+
+    def __init__(self, req):
+        # type: (InstallRequirement) -> None
+        super(AbstractDistribution, self).__init__()
+        self.req = req
+
+    @abc.abstractmethod
+    def get_pkg_resources_distribution(self):
+        # type: () -> Optional[Distribution]
+        raise NotImplementedError()
+
+    @abc.abstractmethod
+    def prepare_distribution_metadata(self, finder, build_isolation):
+        # type: (PackageFinder, bool) -> None
+        raise NotImplementedError()
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/installed.py b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/installed.py
new file mode 100644
index 0000000..0d15bf4
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/installed.py
@@ -0,0 +1,24 @@
+from pip._internal.distributions.base import AbstractDistribution
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional
+
+    from pip._vendor.pkg_resources import Distribution
+    from pip._internal.index.package_finder import PackageFinder
+
+
+class InstalledDistribution(AbstractDistribution):
+    """Represents an installed package.
+
+    This does not need any preparation as the required information has already
+    been computed.
+    """
+
+    def get_pkg_resources_distribution(self):
+        # type: () -> Optional[Distribution]
+        return self.req.satisfied_by
+
+    def prepare_distribution_metadata(self, finder, build_isolation):
+        # type: (PackageFinder, bool) -> None
+        pass
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py
new file mode 100644
index 0000000..be3d7d9
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py
@@ -0,0 +1,104 @@
+import logging
+
+from pip._internal.build_env import BuildEnvironment
+from pip._internal.distributions.base import AbstractDistribution
+from pip._internal.exceptions import InstallationError
+from pip._internal.utils.subprocess import runner_with_spinner_message
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Set, Tuple
+
+    from pip._vendor.pkg_resources import Distribution
+    from pip._internal.index.package_finder import PackageFinder
+
+
+logger = logging.getLogger(__name__)
+
+
+class SourceDistribution(AbstractDistribution):
+    """Represents a source distribution.
+
+    The preparation step for these needs metadata for the packages to be
+    generated, either using PEP 517 or using the legacy `setup.py egg_info`.
+    """
+
+    def get_pkg_resources_distribution(self):
+        # type: () -> Distribution
+        return self.req.get_dist()
+
+    def prepare_distribution_metadata(self, finder, build_isolation):
+        # type: (PackageFinder, bool) -> None
+        # Load pyproject.toml, to determine whether PEP 517 is to be used
+        self.req.load_pyproject_toml()
+
+        # Set up the build isolation, if this requirement should be isolated
+        should_isolate = self.req.use_pep517 and build_isolation
+        if should_isolate:
+            self._setup_isolation(finder)
+
+        self.req.prepare_metadata()
+
+    def _setup_isolation(self, finder):
+        # type: (PackageFinder) -> None
+        def _raise_conflicts(conflicting_with, conflicting_reqs):
+            # type: (str, Set[Tuple[str, str]]) -> None
+            format_string = (
+                "Some build dependencies for {requirement} "
+                "conflict with {conflicting_with}: {description}."
+            )
+            error_message = format_string.format(
+                requirement=self.req,
+                conflicting_with=conflicting_with,
+                description=', '.join(
+                    '{} is incompatible with {}'.format(installed, wanted)
+                    for installed, wanted in sorted(conflicting)
+                )
+            )
+            raise InstallationError(error_message)
+
+        # Isolate in a BuildEnvironment and install the build-time
+        # requirements.
+        pyproject_requires = self.req.pyproject_requires
+        assert pyproject_requires is not None
+
+        self.req.build_env = BuildEnvironment()
+        self.req.build_env.install_requirements(
+            finder, pyproject_requires, 'overlay',
+            "Installing build dependencies"
+        )
+        conflicting, missing = self.req.build_env.check_requirements(
+            self.req.requirements_to_check
+        )
+        if conflicting:
+            _raise_conflicts("PEP 517/518 supported requirements",
+                             conflicting)
+        if missing:
+            logger.warning(
+                "Missing build requirements in pyproject.toml for %s.",
+                self.req,
+            )
+            logger.warning(
+                "The project does not specify a build backend, and "
+                "pip cannot fall back to setuptools without %s.",
+                " and ".join(map(repr, sorted(missing)))
+            )
+        # Install any extra build dependencies that the backend requests.
+        # This must be done in a second pass, as the pyproject.toml
+        # dependencies must be installed before we can call the backend.
+        with self.req.build_env:
+            runner = runner_with_spinner_message(
+                "Getting requirements to build wheel"
+            )
+            backend = self.req.pep517_backend
+            assert backend is not None
+            with backend.subprocess_runner(runner):
+                reqs = backend.get_requires_for_build_wheel()
+
+        conflicting, missing = self.req.build_env.check_requirements(reqs)
+        if conflicting:
+            _raise_conflicts("the backend dependencies", conflicting)
+        self.req.build_env.install_requirements(
+            finder, missing, 'normal',
+            "Installing backend dependencies"
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py
new file mode 100644
index 0000000..bf3482b
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py
@@ -0,0 +1,36 @@
+from zipfile import ZipFile
+
+from pip._internal.distributions.base import AbstractDistribution
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.wheel import pkg_resources_distribution_for_wheel
+
+if MYPY_CHECK_RUNNING:
+    from pip._vendor.pkg_resources import Distribution
+    from pip._internal.index.package_finder import PackageFinder
+
+
+class WheelDistribution(AbstractDistribution):
+    """Represents a wheel distribution.
+
+    This does not need any preparation as wheels can be directly unpacked.
+    """
+
+    def get_pkg_resources_distribution(self):
+        # type: () -> Distribution
+        """Loads the metadata from the wheel file into memory and returns a
+        Distribution that uses it, not relying on the wheel file or
+        requirement.
+        """
+        # Set as part of preparation during download.
+        assert self.req.local_file_path
+        # Wheels are never unnamed.
+        assert self.req.name
+
+        with ZipFile(self.req.local_file_path, allowZip64=True) as z:
+            return pkg_resources_distribution_for_wheel(
+                z, self.req.name, self.req.local_file_path
+            )
+
+    def prepare_distribution_metadata(self, finder, build_isolation):
+        # type: (PackageFinder, bool) -> None
+        pass
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/exceptions.py b/iot_env/lib/python3.8/site-packages/pip/_internal/exceptions.py
new file mode 100644
index 0000000..dddec78
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/exceptions.py
@@ -0,0 +1,308 @@
+"""Exceptions used throughout package"""
+
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+from itertools import chain, groupby, repeat
+
+from pip._vendor.six import iteritems
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional
+    from pip._vendor.pkg_resources import Distribution
+    from pip._internal.req.req_install import InstallRequirement
+
+
+class PipError(Exception):
+    """Base pip exception"""
+
+
+class ConfigurationError(PipError):
+    """General exception in configuration"""
+
+
+class InstallationError(PipError):
+    """General exception during installation"""
+
+
+class UninstallationError(PipError):
+    """General exception during uninstallation"""
+
+
+class NoneMetadataError(PipError):
+    """
+    Raised when accessing "METADATA" or "PKG-INFO" metadata for a
+    pip._vendor.pkg_resources.Distribution object and
+    `dist.has_metadata('METADATA')` returns True but
+    `dist.get_metadata('METADATA')` returns None (and similarly for
+    "PKG-INFO").
+    """
+
+    def __init__(self, dist, metadata_name):
+        # type: (Distribution, str) -> None
+        """
+        :param dist: A Distribution object.
+        :param metadata_name: The name of the metadata being accessed
+            (can be "METADATA" or "PKG-INFO").
+        """
+        self.dist = dist
+        self.metadata_name = metadata_name
+
+    def __str__(self):
+        # type: () -> str
+        # Use `dist` in the error message because its stringification
+        # includes more information, like the version and location.
+        return (
+            'None {} metadata found for distribution: {}'.format(
+                self.metadata_name, self.dist,
+            )
+        )
+
+
+class DistributionNotFound(InstallationError):
+    """Raised when a distribution cannot be found to satisfy a requirement"""
+
+
+class RequirementsFileParseError(InstallationError):
+    """Raised when a general error occurs parsing a requirements file line."""
+
+
+class BestVersionAlreadyInstalled(PipError):
+    """Raised when the most up-to-date version of a package is already
+    installed."""
+
+
+class BadCommand(PipError):
+    """Raised when virtualenv or a command is not found"""
+
+
+class CommandError(PipError):
+    """Raised when there is an error in command-line arguments"""
+
+
+class PreviousBuildDirError(PipError):
+    """Raised when there's a previous conflicting build directory"""
+
+
+class InvalidWheelFilename(InstallationError):
+    """Invalid wheel filename."""
+
+
+class UnsupportedWheel(InstallationError):
+    """Unsupported wheel."""
+
+
+class HashErrors(InstallationError):
+    """Multiple HashError instances rolled into one for reporting"""
+
+    def __init__(self):
+        self.errors = []
+
+    def append(self, error):
+        self.errors.append(error)
+
+    def __str__(self):
+        lines = []
+        self.errors.sort(key=lambda e: e.order)
+        for cls, errors_of_cls in groupby(self.errors, lambda e: e.__class__):
+            lines.append(cls.head)
+            lines.extend(e.body() for e in errors_of_cls)
+        if lines:
+            return '\n'.join(lines)
+
+    def __nonzero__(self):
+        return bool(self.errors)
+
+    def __bool__(self):
+        return self.__nonzero__()
+
+
+class HashError(InstallationError):
+    """
+    A failure to verify a package against known-good hashes
+
+    :cvar order: An int sorting hash exception classes by difficulty of
+        recovery (lower being harder), so the user doesn't bother fretting
+        about unpinned packages when he has deeper issues, like VCS
+        dependencies, to deal with. Also keeps error reports in a
+        deterministic order.
+    :cvar head: A section heading for display above potentially many
+        exceptions of this kind
+    :ivar req: The InstallRequirement that triggered this error. This is
+        pasted on after the exception is instantiated, because it's not
+        typically available earlier.
+
+    """
+    req = None  # type: Optional[InstallRequirement]
+    head = ''
+
+    def body(self):
+        """Return a summary of me for display under the heading.
+
+        This default implementation simply prints a description of the
+        triggering requirement.
+
+        :param req: The InstallRequirement that provoked this error, with
+            populate_link() having already been called
+
+        """
+        return '    %s' % self._requirement_name()
+
+    def __str__(self):
+        return '%s\n%s' % (self.head, self.body())
+
+    def _requirement_name(self):
+        """Return a description of the requirement that triggered me.
+
+        This default implementation returns long description of the req, with
+        line numbers
+
+        """
+        return str(self.req) if self.req else 'unknown package'
+
+
+class VcsHashUnsupported(HashError):
+    """A hash was provided for a version-control-system-based requirement, but
+    we don't have a method for hashing those."""
+
+    order = 0
+    head = ("Can't verify hashes for these requirements because we don't "
+            "have a way to hash version control repositories:")
+
+
+class DirectoryUrlHashUnsupported(HashError):
+    """A hash was provided for a version-control-system-based requirement, but
+    we don't have a method for hashing those."""
+
+    order = 1
+    head = ("Can't verify hashes for these file:// requirements because they "
+            "point to directories:")
+
+
+class HashMissing(HashError):
+    """A hash was needed for a requirement but is absent."""
+
+    order = 2
+    head = ('Hashes are required in --require-hashes mode, but they are '
+            'missing from some requirements. Here is a list of those '
+            'requirements along with the hashes their downloaded archives '
+            'actually had. Add lines like these to your requirements files to '
+            'prevent tampering. (If you did not enable --require-hashes '
+            'manually, note that it turns on automatically when any package '
+            'has a hash.)')
+
+    def __init__(self, gotten_hash):
+        """
+        :param gotten_hash: The hash of the (possibly malicious) archive we
+            just downloaded
+        """
+        self.gotten_hash = gotten_hash
+
+    def body(self):
+        # Dodge circular import.
+        from pip._internal.utils.hashes import FAVORITE_HASH
+
+        package = None
+        if self.req:
+            # In the case of URL-based requirements, display the original URL
+            # seen in the requirements file rather than the package name,
+            # so the output can be directly copied into the requirements file.
+            package = (self.req.original_link if self.req.original_link
+                       # In case someone feeds something downright stupid
+                       # to InstallRequirement's constructor.
+                       else getattr(self.req, 'req', None))
+        return '    %s --hash=%s:%s' % (package or 'unknown package',
+                                        FAVORITE_HASH,
+                                        self.gotten_hash)
+
+
+class HashUnpinned(HashError):
+    """A requirement had a hash specified but was not pinned to a specific
+    version."""
+
+    order = 3
+    head = ('In --require-hashes mode, all requirements must have their '
+            'versions pinned with ==. These do not:')
+
+
+class HashMismatch(HashError):
+    """
+    Distribution file hash values don't match.
+
+    :ivar package_name: The name of the package that triggered the hash
+        mismatch. Feel free to write to this after the exception is raise to
+        improve its error message.
+
+    """
+    order = 4
+    head = ('THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS '
+            'FILE. If you have updated the package versions, please update '
+            'the hashes. Otherwise, examine the package contents carefully; '
+            'someone may have tampered with them.')
+
+    def __init__(self, allowed, gots):
+        """
+        :param allowed: A dict of algorithm names pointing to lists of allowed
+            hex digests
+        :param gots: A dict of algorithm names pointing to hashes we
+            actually got from the files under suspicion
+        """
+        self.allowed = allowed
+        self.gots = gots
+
+    def body(self):
+        return '    %s:\n%s' % (self._requirement_name(),
+                                self._hash_comparison())
+
+    def _hash_comparison(self):
+        """
+        Return a comparison of actual and expected hash values.
+
+        Example::
+
+               Expected sha256 abcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcde
+                            or 123451234512345123451234512345123451234512345
+                    Got        bcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdef
+
+        """
+        def hash_then_or(hash_name):
+            # For now, all the decent hashes have 6-char names, so we can get
+            # away with hard-coding space literals.
+            return chain([hash_name], repeat('    or'))
+
+        lines = []
+        for hash_name, expecteds in iteritems(self.allowed):
+            prefix = hash_then_or(hash_name)
+            lines.extend(('        Expected %s %s' % (next(prefix), e))
+                         for e in expecteds)
+            lines.append('             Got        %s\n' %
+                         self.gots[hash_name].hexdigest())
+        return '\n'.join(lines)
+
+
+class UnsupportedPythonVersion(InstallationError):
+    """Unsupported python version according to Requires-Python package
+    metadata."""
+
+
+class ConfigurationFileCouldNotBeLoaded(ConfigurationError):
+    """When there are errors while loading a configuration file
+    """
+
+    def __init__(self, reason="could not be loaded", fname=None, error=None):
+        super(ConfigurationFileCouldNotBeLoaded, self).__init__(error)
+        self.reason = reason
+        self.fname = fname
+        self.error = error
+
+    def __str__(self):
+        if self.fname is not None:
+            message_part = " in {}.".format(self.fname)
+        else:
+            assert self.error is not None
+            message_part = ".\n{}\n".format(self.error.message)
+        return "Configuration file {}{}".format(self.reason, message_part)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/index/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/index/__init__.py
new file mode 100644
index 0000000..7a17b7b
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/index/__init__.py
@@ -0,0 +1,2 @@
+"""Index interaction code
+"""
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/index/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/index/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..889ef923236e1005a66fc4b31799eb6b0597a8d9
GIT binary patch
literal 190
zcmWIL<>g{vU|{fR*_|TCz`*br#6iZ43=9ko3=9m#91IK$DGX5zDU87knoL#Vo_Q&$
z6$+VoC8<S;$t9Wjc?!w-DXCn3nvA#D<Kt8EljGx8G88c}FhGc34*Dgz1^NY<1-hkq
z1&PVosVTbU8L6o`x;d%wnMV0VDIhuhc(8$ai8=b2AoKO(<1_OzOXB183My}L*yQG?
Ol;)(`f!y>N<VXOwk1~(|

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/index/__pycache__/collector.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/index/__pycache__/collector.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c8c2dfa922795403ec6c052e298c39eae4c4f684
GIT binary patch
literal 14156
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0d9dcd87c21c104f71ea7e11515dbc5f7eff665a
GIT binary patch
literal 25749
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
Po*`7Ao}r$hl0zB*_4(l%

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/index/collector.py b/iot_env/lib/python3.8/site-packages/pip/_internal/index/collector.py
new file mode 100644
index 0000000..8330793
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/index/collector.py
@@ -0,0 +1,544 @@
+"""
+The main purpose of this module is to expose LinkCollector.collect_links().
+"""
+
+import cgi
+import itertools
+import logging
+import mimetypes
+import os
+from collections import OrderedDict
+
+from pip._vendor import html5lib, requests
+from pip._vendor.distlib.compat import unescape
+from pip._vendor.requests.exceptions import HTTPError, RetryError, SSLError
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+from pip._vendor.six.moves.urllib import request as urllib_request
+
+from pip._internal.models.link import Link
+from pip._internal.utils.filetypes import ARCHIVE_EXTENSIONS
+from pip._internal.utils.misc import redact_auth_from_url
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.urls import path_to_url, url_to_path
+from pip._internal.vcs import is_url, vcs
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Callable, Iterable, List, MutableMapping, Optional, Sequence, Tuple,
+        Union,
+    )
+    import xml.etree.ElementTree
+
+    from pip._vendor.requests import Response
+
+    from pip._internal.models.search_scope import SearchScope
+    from pip._internal.network.session import PipSession
+
+    HTMLElement = xml.etree.ElementTree.Element
+    ResponseHeaders = MutableMapping[str, str]
+
+
+logger = logging.getLogger(__name__)
+
+
+def _match_vcs_scheme(url):
+    # type: (str) -> Optional[str]
+    """Look for VCS schemes in the URL.
+
+    Returns the matched VCS scheme, or None if there's no match.
+    """
+    for scheme in vcs.schemes:
+        if url.lower().startswith(scheme) and url[len(scheme)] in '+:':
+            return scheme
+    return None
+
+
+def _is_url_like_archive(url):
+    # type: (str) -> bool
+    """Return whether the URL looks like an archive.
+    """
+    filename = Link(url).filename
+    for bad_ext in ARCHIVE_EXTENSIONS:
+        if filename.endswith(bad_ext):
+            return True
+    return False
+
+
+class _NotHTML(Exception):
+    def __init__(self, content_type, request_desc):
+        # type: (str, str) -> None
+        super(_NotHTML, self).__init__(content_type, request_desc)
+        self.content_type = content_type
+        self.request_desc = request_desc
+
+
+def _ensure_html_header(response):
+    # type: (Response) -> None
+    """Check the Content-Type header to ensure the response contains HTML.
+
+    Raises `_NotHTML` if the content type is not text/html.
+    """
+    content_type = response.headers.get("Content-Type", "")
+    if not content_type.lower().startswith("text/html"):
+        raise _NotHTML(content_type, response.request.method)
+
+
+class _NotHTTP(Exception):
+    pass
+
+
+def _ensure_html_response(url, session):
+    # type: (str, PipSession) -> None
+    """Send a HEAD request to the URL, and ensure the response contains HTML.
+
+    Raises `_NotHTTP` if the URL is not available for a HEAD request, or
+    `_NotHTML` if the content type is not text/html.
+    """
+    scheme, netloc, path, query, fragment = urllib_parse.urlsplit(url)
+    if scheme not in {'http', 'https'}:
+        raise _NotHTTP()
+
+    resp = session.head(url, allow_redirects=True)
+    resp.raise_for_status()
+
+    _ensure_html_header(resp)
+
+
+def _get_html_response(url, session):
+    # type: (str, PipSession) -> Response
+    """Access an HTML page with GET, and return the response.
+
+    This consists of three parts:
+
+    1. If the URL looks suspiciously like an archive, send a HEAD first to
+       check the Content-Type is HTML, to avoid downloading a large file.
+       Raise `_NotHTTP` if the content type cannot be determined, or
+       `_NotHTML` if it is not HTML.
+    2. Actually perform the request. Raise HTTP exceptions on network failures.
+    3. Check the Content-Type header to make sure we got HTML, and raise
+       `_NotHTML` otherwise.
+    """
+    if _is_url_like_archive(url):
+        _ensure_html_response(url, session=session)
+
+    logger.debug('Getting page %s', redact_auth_from_url(url))
+
+    resp = session.get(
+        url,
+        headers={
+            "Accept": "text/html",
+            # We don't want to blindly returned cached data for
+            # /simple/, because authors generally expecting that
+            # twine upload && pip install will function, but if
+            # they've done a pip install in the last ~10 minutes
+            # it won't. Thus by setting this to zero we will not
+            # blindly use any cached data, however the benefit of
+            # using max-age=0 instead of no-cache, is that we will
+            # still support conditional requests, so we will still
+            # minimize traffic sent in cases where the page hasn't
+            # changed at all, we will just always incur the round
+            # trip for the conditional GET now instead of only
+            # once per 10 minutes.
+            # For more information, please see pypa/pip#5670.
+            "Cache-Control": "max-age=0",
+        },
+    )
+    resp.raise_for_status()
+
+    # The check for archives above only works if the url ends with
+    # something that looks like an archive. However that is not a
+    # requirement of an url. Unless we issue a HEAD request on every
+    # url we cannot know ahead of time for sure if something is HTML
+    # or not. However we can check after we've downloaded it.
+    _ensure_html_header(resp)
+
+    return resp
+
+
+def _get_encoding_from_headers(headers):
+    # type: (ResponseHeaders) -> Optional[str]
+    """Determine if we have any encoding information in our headers.
+    """
+    if headers and "Content-Type" in headers:
+        content_type, params = cgi.parse_header(headers["Content-Type"])
+        if "charset" in params:
+            return params['charset']
+    return None
+
+
+def _determine_base_url(document, page_url):
+    # type: (HTMLElement, str) -> str
+    """Determine the HTML document's base URL.
+
+    This looks for a ``<base>`` tag in the HTML document. If present, its href
+    attribute denotes the base URL of anchor tags in the document. If there is
+    no such tag (or if it does not have a valid href attribute), the HTML
+    file's URL is used as the base URL.
+
+    :param document: An HTML document representation. The current
+        implementation expects the result of ``html5lib.parse()``.
+    :param page_url: The URL of the HTML document.
+    """
+    for base in document.findall(".//base"):
+        href = base.get("href")
+        if href is not None:
+            return href
+    return page_url
+
+
+def _clean_link(url):
+    # type: (str) -> str
+    """Makes sure a link is fully encoded.  That is, if a ' ' shows up in
+    the link, it will be rewritten to %20 (while not over-quoting
+    % or other characters)."""
+    # Split the URL into parts according to the general structure
+    # `scheme://netloc/path;parameters?query#fragment`. Note that the
+    # `netloc` can be empty and the URI will then refer to a local
+    # filesystem path.
+    result = urllib_parse.urlparse(url)
+    # In both cases below we unquote prior to quoting to make sure
+    # nothing is double quoted.
+    if result.netloc == "":
+        # On Windows the path part might contain a drive letter which
+        # should not be quoted. On Linux where drive letters do not
+        # exist, the colon should be quoted. We rely on urllib.request
+        # to do the right thing here.
+        path = urllib_request.pathname2url(
+            urllib_request.url2pathname(result.path))
+    else:
+        # In addition to the `/` character we protect `@` so that
+        # revision strings in VCS URLs are properly parsed.
+        path = urllib_parse.quote(urllib_parse.unquote(result.path), safe="/@")
+    return urllib_parse.urlunparse(result._replace(path=path))
+
+
+def _create_link_from_element(
+    anchor,    # type: HTMLElement
+    page_url,  # type: str
+    base_url,  # type: str
+):
+    # type: (...) -> Optional[Link]
+    """
+    Convert an anchor element in a simple repository page to a Link.
+    """
+    href = anchor.get("href")
+    if not href:
+        return None
+
+    url = _clean_link(urllib_parse.urljoin(base_url, href))
+    pyrequire = anchor.get('data-requires-python')
+    pyrequire = unescape(pyrequire) if pyrequire else None
+
+    yanked_reason = anchor.get('data-yanked')
+    if yanked_reason:
+        # This is a unicode string in Python 2 (and 3).
+        yanked_reason = unescape(yanked_reason)
+
+    link = Link(
+        url,
+        comes_from=page_url,
+        requires_python=pyrequire,
+        yanked_reason=yanked_reason,
+    )
+
+    return link
+
+
+def parse_links(page):
+    # type: (HTMLPage) -> Iterable[Link]
+    """
+    Parse an HTML document, and yield its anchor elements as Link objects.
+    """
+    document = html5lib.parse(
+        page.content,
+        transport_encoding=page.encoding,
+        namespaceHTMLElements=False,
+    )
+
+    url = page.url
+    base_url = _determine_base_url(document, url)
+    for anchor in document.findall(".//a"):
+        link = _create_link_from_element(
+            anchor,
+            page_url=url,
+            base_url=base_url,
+        )
+        if link is None:
+            continue
+        yield link
+
+
+class HTMLPage(object):
+    """Represents one page, along with its URL"""
+
+    def __init__(
+        self,
+        content,   # type: bytes
+        encoding,  # type: Optional[str]
+        url,       # type: str
+    ):
+        # type: (...) -> None
+        """
+        :param encoding: the encoding to decode the given content.
+        :param url: the URL from which the HTML was downloaded.
+        """
+        self.content = content
+        self.encoding = encoding
+        self.url = url
+
+    def __str__(self):
+        # type: () -> str
+        return redact_auth_from_url(self.url)
+
+
+def _handle_get_page_fail(
+    link,  # type: Link
+    reason,  # type: Union[str, Exception]
+    meth=None  # type: Optional[Callable[..., None]]
+):
+    # type: (...) -> None
+    if meth is None:
+        meth = logger.debug
+    meth("Could not fetch URL %s: %s - skipping", link, reason)
+
+
+def _make_html_page(response):
+    # type: (Response) -> HTMLPage
+    encoding = _get_encoding_from_headers(response.headers)
+    return HTMLPage(response.content, encoding=encoding, url=response.url)
+
+
+def _get_html_page(link, session=None):
+    # type: (Link, Optional[PipSession]) -> Optional[HTMLPage]
+    if session is None:
+        raise TypeError(
+            "_get_html_page() missing 1 required keyword argument: 'session'"
+        )
+
+    url = link.url.split('#', 1)[0]
+
+    # Check for VCS schemes that do not support lookup as web pages.
+    vcs_scheme = _match_vcs_scheme(url)
+    if vcs_scheme:
+        logger.debug('Cannot look at %s URL %s', vcs_scheme, link)
+        return None
+
+    # Tack index.html onto file:// URLs that point to directories
+    scheme, _, path, _, _, _ = urllib_parse.urlparse(url)
+    if (scheme == 'file' and os.path.isdir(urllib_request.url2pathname(path))):
+        # add trailing slash if not present so urljoin doesn't trim
+        # final segment
+        if not url.endswith('/'):
+            url += '/'
+        url = urllib_parse.urljoin(url, 'index.html')
+        logger.debug(' file: URL is directory, getting %s', url)
+
+    try:
+        resp = _get_html_response(url, session=session)
+    except _NotHTTP:
+        logger.debug(
+            'Skipping page %s because it looks like an archive, and cannot '
+            'be checked by HEAD.', link,
+        )
+    except _NotHTML as exc:
+        logger.debug(
+            'Skipping page %s because the %s request got Content-Type: %s',
+            link, exc.request_desc, exc.content_type,
+        )
+    except HTTPError as exc:
+        _handle_get_page_fail(link, exc)
+    except RetryError as exc:
+        _handle_get_page_fail(link, exc)
+    except SSLError as exc:
+        reason = "There was a problem confirming the ssl certificate: "
+        reason += str(exc)
+        _handle_get_page_fail(link, reason, meth=logger.info)
+    except requests.ConnectionError as exc:
+        _handle_get_page_fail(link, "connection error: %s" % exc)
+    except requests.Timeout:
+        _handle_get_page_fail(link, "timed out")
+    else:
+        return _make_html_page(resp)
+    return None
+
+
+def _remove_duplicate_links(links):
+    # type: (Iterable[Link]) -> List[Link]
+    """
+    Return a list of links, with duplicates removed and ordering preserved.
+    """
+    # We preserve the ordering when removing duplicates because we can.
+    return list(OrderedDict.fromkeys(links))
+
+
+def group_locations(locations, expand_dir=False):
+    # type: (Sequence[str], bool) -> Tuple[List[str], List[str]]
+    """
+    Divide a list of locations into two groups: "files" (archives) and "urls."
+
+    :return: A pair of lists (files, urls).
+    """
+    files = []
+    urls = []
+
+    # puts the url for the given file path into the appropriate list
+    def sort_path(path):
+        # type: (str) -> None
+        url = path_to_url(path)
+        if mimetypes.guess_type(url, strict=False)[0] == 'text/html':
+            urls.append(url)
+        else:
+            files.append(url)
+
+    for url in locations:
+
+        is_local_path = os.path.exists(url)
+        is_file_url = url.startswith('file:')
+
+        if is_local_path or is_file_url:
+            if is_local_path:
+                path = url
+            else:
+                path = url_to_path(url)
+            if os.path.isdir(path):
+                if expand_dir:
+                    path = os.path.realpath(path)
+                    for item in os.listdir(path):
+                        sort_path(os.path.join(path, item))
+                elif is_file_url:
+                    urls.append(url)
+                else:
+                    logger.warning(
+                        "Path '{0}' is ignored: "
+                        "it is a directory.".format(path),
+                    )
+            elif os.path.isfile(path):
+                sort_path(path)
+            else:
+                logger.warning(
+                    "Url '%s' is ignored: it is neither a file "
+                    "nor a directory.", url,
+                )
+        elif is_url(url):
+            # Only add url with clear scheme
+            urls.append(url)
+        else:
+            logger.warning(
+                "Url '%s' is ignored. It is either a non-existing "
+                "path or lacks a specific scheme.", url,
+            )
+
+    return files, urls
+
+
+class CollectedLinks(object):
+
+    """
+    Encapsulates the return value of a call to LinkCollector.collect_links().
+
+    The return value includes both URLs to project pages containing package
+    links, as well as individual package Link objects collected from other
+    sources.
+
+    This info is stored separately as:
+
+    (1) links from the configured file locations,
+    (2) links from the configured find_links, and
+    (3) urls to HTML project pages, as described by the PEP 503 simple
+        repository API.
+    """
+
+    def __init__(
+        self,
+        files,         # type: List[Link]
+        find_links,    # type: List[Link]
+        project_urls,  # type: List[Link]
+    ):
+        # type: (...) -> None
+        """
+        :param files: Links from file locations.
+        :param find_links: Links from find_links.
+        :param project_urls: URLs to HTML project pages, as described by
+            the PEP 503 simple repository API.
+        """
+        self.files = files
+        self.find_links = find_links
+        self.project_urls = project_urls
+
+
+class LinkCollector(object):
+
+    """
+    Responsible for collecting Link objects from all configured locations,
+    making network requests as needed.
+
+    The class's main method is its collect_links() method.
+    """
+
+    def __init__(
+        self,
+        session,       # type: PipSession
+        search_scope,  # type: SearchScope
+    ):
+        # type: (...) -> None
+        self.search_scope = search_scope
+        self.session = session
+
+    @property
+    def find_links(self):
+        # type: () -> List[str]
+        return self.search_scope.find_links
+
+    def fetch_page(self, location):
+        # type: (Link) -> Optional[HTMLPage]
+        """
+        Fetch an HTML page containing package links.
+        """
+        return _get_html_page(location, session=self.session)
+
+    def collect_links(self, project_name):
+        # type: (str) -> CollectedLinks
+        """Find all available links for the given project name.
+
+        :return: All the Link objects (unfiltered), as a CollectedLinks object.
+        """
+        search_scope = self.search_scope
+        index_locations = search_scope.get_index_urls_locations(project_name)
+        index_file_loc, index_url_loc = group_locations(index_locations)
+        fl_file_loc, fl_url_loc = group_locations(
+            self.find_links, expand_dir=True,
+        )
+
+        file_links = [
+            Link(url) for url in itertools.chain(index_file_loc, fl_file_loc)
+        ]
+
+        # We trust every directly linked archive in find_links
+        find_link_links = [Link(url, '-f') for url in self.find_links]
+
+        # We trust every url that the user has given us whether it was given
+        # via --index-url or --find-links.
+        # We want to filter out anything that does not have a secure origin.
+        url_locations = [
+            link for link in itertools.chain(
+                (Link(url) for url in index_url_loc),
+                (Link(url) for url in fl_url_loc),
+            )
+            if self.session.is_secure_origin(link)
+        ]
+
+        url_locations = _remove_duplicate_links(url_locations)
+        lines = [
+            '{} location(s) to search for versions of {}:'.format(
+                len(url_locations), project_name,
+            ),
+        ]
+        for link in url_locations:
+            lines.append('* {}'.format(link))
+        logger.debug('\n'.join(lines))
+
+        return CollectedLinks(
+            files=file_links,
+            find_links=find_link_links,
+            project_urls=url_locations,
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/index/package_finder.py b/iot_env/lib/python3.8/site-packages/pip/_internal/index/package_finder.py
new file mode 100644
index 0000000..a74d78d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/index/package_finder.py
@@ -0,0 +1,1013 @@
+"""Routines related to PyPI, indexes"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import logging
+import re
+
+from pip._vendor.packaging import specifiers
+from pip._vendor.packaging.utils import canonicalize_name
+from pip._vendor.packaging.version import parse as parse_version
+
+from pip._internal.exceptions import (
+    BestVersionAlreadyInstalled,
+    DistributionNotFound,
+    InvalidWheelFilename,
+    UnsupportedWheel,
+)
+from pip._internal.index.collector import parse_links
+from pip._internal.models.candidate import InstallationCandidate
+from pip._internal.models.format_control import FormatControl
+from pip._internal.models.link import Link
+from pip._internal.models.selection_prefs import SelectionPreferences
+from pip._internal.models.target_python import TargetPython
+from pip._internal.models.wheel import Wheel
+from pip._internal.utils.filetypes import WHEEL_EXTENSION
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.misc import build_netloc
+from pip._internal.utils.packaging import check_requires_python
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.unpacking import SUPPORTED_EXTENSIONS
+from pip._internal.utils.urls import url_to_path
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        FrozenSet, Iterable, List, Optional, Set, Text, Tuple, Union,
+    )
+
+    from pip._vendor.packaging.tags import Tag
+    from pip._vendor.packaging.version import _BaseVersion
+
+    from pip._internal.index.collector import LinkCollector
+    from pip._internal.models.search_scope import SearchScope
+    from pip._internal.req import InstallRequirement
+    from pip._internal.utils.hashes import Hashes
+
+    BuildTag = Union[Tuple[()], Tuple[int, str]]
+    CandidateSortingKey = (
+        Tuple[int, int, int, _BaseVersion, BuildTag, Optional[int]]
+    )
+
+
+__all__ = ['FormatControl', 'BestCandidateResult', 'PackageFinder']
+
+
+logger = logging.getLogger(__name__)
+
+
+def _check_link_requires_python(
+    link,  # type: Link
+    version_info,  # type: Tuple[int, int, int]
+    ignore_requires_python=False,  # type: bool
+):
+    # type: (...) -> bool
+    """
+    Return whether the given Python version is compatible with a link's
+    "Requires-Python" value.
+
+    :param version_info: A 3-tuple of ints representing the Python
+        major-minor-micro version to check.
+    :param ignore_requires_python: Whether to ignore the "Requires-Python"
+        value if the given Python version isn't compatible.
+    """
+    try:
+        is_compatible = check_requires_python(
+            link.requires_python, version_info=version_info,
+        )
+    except specifiers.InvalidSpecifier:
+        logger.debug(
+            "Ignoring invalid Requires-Python (%r) for link: %s",
+            link.requires_python, link,
+        )
+    else:
+        if not is_compatible:
+            version = '.'.join(map(str, version_info))
+            if not ignore_requires_python:
+                logger.debug(
+                    'Link requires a different Python (%s not in: %r): %s',
+                    version, link.requires_python, link,
+                )
+                return False
+
+            logger.debug(
+                'Ignoring failed Requires-Python check (%s not in: %r) '
+                'for link: %s',
+                version, link.requires_python, link,
+            )
+
+    return True
+
+
+class LinkEvaluator(object):
+
+    """
+    Responsible for evaluating links for a particular project.
+    """
+
+    _py_version_re = re.compile(r'-py([123]\.?[0-9]?)$')
+
+    # Don't include an allow_yanked default value to make sure each call
+    # site considers whether yanked releases are allowed. This also causes
+    # that decision to be made explicit in the calling code, which helps
+    # people when reading the code.
+    def __init__(
+        self,
+        project_name,    # type: str
+        canonical_name,  # type: str
+        formats,         # type: FrozenSet[str]
+        target_python,   # type: TargetPython
+        allow_yanked,    # type: bool
+        ignore_requires_python=None,  # type: Optional[bool]
+    ):
+        # type: (...) -> None
+        """
+        :param project_name: The user supplied package name.
+        :param canonical_name: The canonical package name.
+        :param formats: The formats allowed for this package. Should be a set
+            with 'binary' or 'source' or both in it.
+        :param target_python: The target Python interpreter to use when
+            evaluating link compatibility. This is used, for example, to
+            check wheel compatibility, as well as when checking the Python
+            version, e.g. the Python version embedded in a link filename
+            (or egg fragment) and against an HTML link's optional PEP 503
+            "data-requires-python" attribute.
+        :param allow_yanked: Whether files marked as yanked (in the sense
+            of PEP 592) are permitted to be candidates for install.
+        :param ignore_requires_python: Whether to ignore incompatible
+            PEP 503 "data-requires-python" values in HTML links. Defaults
+            to False.
+        """
+        if ignore_requires_python is None:
+            ignore_requires_python = False
+
+        self._allow_yanked = allow_yanked
+        self._canonical_name = canonical_name
+        self._ignore_requires_python = ignore_requires_python
+        self._formats = formats
+        self._target_python = target_python
+
+        self.project_name = project_name
+
+    def evaluate_link(self, link):
+        # type: (Link) -> Tuple[bool, Optional[Text]]
+        """
+        Determine whether a link is a candidate for installation.
+
+        :return: A tuple (is_candidate, result), where `result` is (1) a
+            version string if `is_candidate` is True, and (2) if
+            `is_candidate` is False, an optional string to log the reason
+            the link fails to qualify.
+        """
+        version = None
+        if link.is_yanked and not self._allow_yanked:
+            reason = link.yanked_reason or '<none given>'
+            # Mark this as a unicode string to prevent "UnicodeEncodeError:
+            # 'ascii' codec can't encode character" in Python 2 when
+            # the reason contains non-ascii characters.
+            return (False, u'yanked for reason: {}'.format(reason))
+
+        if link.egg_fragment:
+            egg_info = link.egg_fragment
+            ext = link.ext
+        else:
+            egg_info, ext = link.splitext()
+            if not ext:
+                return (False, 'not a file')
+            if ext not in SUPPORTED_EXTENSIONS:
+                return (False, 'unsupported archive format: %s' % ext)
+            if "binary" not in self._formats and ext == WHEEL_EXTENSION:
+                reason = 'No binaries permitted for %s' % self.project_name
+                return (False, reason)
+            if "macosx10" in link.path and ext == '.zip':
+                return (False, 'macosx10 one')
+            if ext == WHEEL_EXTENSION:
+                try:
+                    wheel = Wheel(link.filename)
+                except InvalidWheelFilename:
+                    return (False, 'invalid wheel filename')
+                if canonicalize_name(wheel.name) != self._canonical_name:
+                    reason = 'wrong project name (not %s)' % self.project_name
+                    return (False, reason)
+
+                supported_tags = self._target_python.get_tags()
+                if not wheel.supported(supported_tags):
+                    # Include the wheel's tags in the reason string to
+                    # simplify troubleshooting compatibility issues.
+                    file_tags = wheel.get_formatted_file_tags()
+                    reason = (
+                        "none of the wheel's tags match: {}".format(
+                            ', '.join(file_tags)
+                        )
+                    )
+                    return (False, reason)
+
+                version = wheel.version
+
+        # This should be up by the self.ok_binary check, but see issue 2700.
+        if "source" not in self._formats and ext != WHEEL_EXTENSION:
+            return (False, 'No sources permitted for %s' % self.project_name)
+
+        if not version:
+            version = _extract_version_from_fragment(
+                egg_info, self._canonical_name,
+            )
+        if not version:
+            return (
+                False, 'Missing project version for %s' % self.project_name,
+            )
+
+        match = self._py_version_re.search(version)
+        if match:
+            version = version[:match.start()]
+            py_version = match.group(1)
+            if py_version != self._target_python.py_version:
+                return (False, 'Python version is incorrect')
+
+        supports_python = _check_link_requires_python(
+            link, version_info=self._target_python.py_version_info,
+            ignore_requires_python=self._ignore_requires_python,
+        )
+        if not supports_python:
+            # Return None for the reason text to suppress calling
+            # _log_skipped_link().
+            return (False, None)
+
+        logger.debug('Found link %s, version: %s', link, version)
+
+        return (True, version)
+
+
+def filter_unallowed_hashes(
+    candidates,    # type: List[InstallationCandidate]
+    hashes,        # type: Hashes
+    project_name,  # type: str
+):
+    # type: (...) -> List[InstallationCandidate]
+    """
+    Filter out candidates whose hashes aren't allowed, and return a new
+    list of candidates.
+
+    If at least one candidate has an allowed hash, then all candidates with
+    either an allowed hash or no hash specified are returned.  Otherwise,
+    the given candidates are returned.
+
+    Including the candidates with no hash specified when there is a match
+    allows a warning to be logged if there is a more preferred candidate
+    with no hash specified.  Returning all candidates in the case of no
+    matches lets pip report the hash of the candidate that would otherwise
+    have been installed (e.g. permitting the user to more easily update
+    their requirements file with the desired hash).
+    """
+    if not hashes:
+        logger.debug(
+            'Given no hashes to check %s links for project %r: '
+            'discarding no candidates',
+            len(candidates),
+            project_name,
+        )
+        # Make sure we're not returning back the given value.
+        return list(candidates)
+
+    matches_or_no_digest = []
+    # Collect the non-matches for logging purposes.
+    non_matches = []
+    match_count = 0
+    for candidate in candidates:
+        link = candidate.link
+        if not link.has_hash:
+            pass
+        elif link.is_hash_allowed(hashes=hashes):
+            match_count += 1
+        else:
+            non_matches.append(candidate)
+            continue
+
+        matches_or_no_digest.append(candidate)
+
+    if match_count:
+        filtered = matches_or_no_digest
+    else:
+        # Make sure we're not returning back the given value.
+        filtered = list(candidates)
+
+    if len(filtered) == len(candidates):
+        discard_message = 'discarding no candidates'
+    else:
+        discard_message = 'discarding {} non-matches:\n  {}'.format(
+            len(non_matches),
+            '\n  '.join(str(candidate.link) for candidate in non_matches)
+        )
+
+    logger.debug(
+        'Checked %s links for project %r against %s hashes '
+        '(%s matches, %s no digest): %s',
+        len(candidates),
+        project_name,
+        hashes.digest_count,
+        match_count,
+        len(matches_or_no_digest) - match_count,
+        discard_message
+    )
+
+    return filtered
+
+
+class CandidatePreferences(object):
+
+    """
+    Encapsulates some of the preferences for filtering and sorting
+    InstallationCandidate objects.
+    """
+
+    def __init__(
+        self,
+        prefer_binary=False,  # type: bool
+        allow_all_prereleases=False,  # type: bool
+    ):
+        # type: (...) -> None
+        """
+        :param allow_all_prereleases: Whether to allow all pre-releases.
+        """
+        self.allow_all_prereleases = allow_all_prereleases
+        self.prefer_binary = prefer_binary
+
+
+class BestCandidateResult(object):
+    """A collection of candidates, returned by `PackageFinder.find_best_candidate`.
+
+    This class is only intended to be instantiated by CandidateEvaluator's
+    `compute_best_candidate()` method.
+    """
+
+    def __init__(
+        self,
+        candidates,             # type: List[InstallationCandidate]
+        applicable_candidates,  # type: List[InstallationCandidate]
+        best_candidate,         # type: Optional[InstallationCandidate]
+    ):
+        # type: (...) -> None
+        """
+        :param candidates: A sequence of all available candidates found.
+        :param applicable_candidates: The applicable candidates.
+        :param best_candidate: The most preferred candidate found, or None
+            if no applicable candidates were found.
+        """
+        assert set(applicable_candidates) <= set(candidates)
+
+        if best_candidate is None:
+            assert not applicable_candidates
+        else:
+            assert best_candidate in applicable_candidates
+
+        self._applicable_candidates = applicable_candidates
+        self._candidates = candidates
+
+        self.best_candidate = best_candidate
+
+    def iter_all(self):
+        # type: () -> Iterable[InstallationCandidate]
+        """Iterate through all candidates.
+        """
+        return iter(self._candidates)
+
+    def iter_applicable(self):
+        # type: () -> Iterable[InstallationCandidate]
+        """Iterate through the applicable candidates.
+        """
+        return iter(self._applicable_candidates)
+
+
+class CandidateEvaluator(object):
+
+    """
+    Responsible for filtering and sorting candidates for installation based
+    on what tags are valid.
+    """
+
+    @classmethod
+    def create(
+        cls,
+        project_name,         # type: str
+        target_python=None,   # type: Optional[TargetPython]
+        prefer_binary=False,  # type: bool
+        allow_all_prereleases=False,  # type: bool
+        specifier=None,       # type: Optional[specifiers.BaseSpecifier]
+        hashes=None,          # type: Optional[Hashes]
+    ):
+        # type: (...) -> CandidateEvaluator
+        """Create a CandidateEvaluator object.
+
+        :param target_python: The target Python interpreter to use when
+            checking compatibility. If None (the default), a TargetPython
+            object will be constructed from the running Python.
+        :param specifier: An optional object implementing `filter`
+            (e.g. `packaging.specifiers.SpecifierSet`) to filter applicable
+            versions.
+        :param hashes: An optional collection of allowed hashes.
+        """
+        if target_python is None:
+            target_python = TargetPython()
+        if specifier is None:
+            specifier = specifiers.SpecifierSet()
+
+        supported_tags = target_python.get_tags()
+
+        return cls(
+            project_name=project_name,
+            supported_tags=supported_tags,
+            specifier=specifier,
+            prefer_binary=prefer_binary,
+            allow_all_prereleases=allow_all_prereleases,
+            hashes=hashes,
+        )
+
+    def __init__(
+        self,
+        project_name,         # type: str
+        supported_tags,       # type: List[Tag]
+        specifier,            # type: specifiers.BaseSpecifier
+        prefer_binary=False,  # type: bool
+        allow_all_prereleases=False,  # type: bool
+        hashes=None,                  # type: Optional[Hashes]
+    ):
+        # type: (...) -> None
+        """
+        :param supported_tags: The PEP 425 tags supported by the target
+            Python in order of preference (most preferred first).
+        """
+        self._allow_all_prereleases = allow_all_prereleases
+        self._hashes = hashes
+        self._prefer_binary = prefer_binary
+        self._project_name = project_name
+        self._specifier = specifier
+        self._supported_tags = supported_tags
+
+    def get_applicable_candidates(
+        self,
+        candidates,  # type: List[InstallationCandidate]
+    ):
+        # type: (...) -> List[InstallationCandidate]
+        """
+        Return the applicable candidates from a list of candidates.
+        """
+        # Using None infers from the specifier instead.
+        allow_prereleases = self._allow_all_prereleases or None
+        specifier = self._specifier
+        versions = {
+            str(v) for v in specifier.filter(
+                # We turn the version object into a str here because otherwise
+                # when we're debundled but setuptools isn't, Python will see
+                # packaging.version.Version and
+                # pkg_resources._vendor.packaging.version.Version as different
+                # types. This way we'll use a str as a common data interchange
+                # format. If we stop using the pkg_resources provided specifier
+                # and start using our own, we can drop the cast to str().
+                (str(c.version) for c in candidates),
+                prereleases=allow_prereleases,
+            )
+        }
+
+        # Again, converting version to str to deal with debundling.
+        applicable_candidates = [
+            c for c in candidates if str(c.version) in versions
+        ]
+
+        filtered_applicable_candidates = filter_unallowed_hashes(
+            candidates=applicable_candidates,
+            hashes=self._hashes,
+            project_name=self._project_name,
+        )
+
+        return sorted(filtered_applicable_candidates, key=self._sort_key)
+
+    def _sort_key(self, candidate):
+        # type: (InstallationCandidate) -> CandidateSortingKey
+        """
+        Function to pass as the `key` argument to a call to sorted() to sort
+        InstallationCandidates by preference.
+
+        Returns a tuple such that tuples sorting as greater using Python's
+        default comparison operator are more preferred.
+
+        The preference is as follows:
+
+        First and foremost, candidates with allowed (matching) hashes are
+        always preferred over candidates without matching hashes. This is
+        because e.g. if the only candidate with an allowed hash is yanked,
+        we still want to use that candidate.
+
+        Second, excepting hash considerations, candidates that have been
+        yanked (in the sense of PEP 592) are always less preferred than
+        candidates that haven't been yanked. Then:
+
+        If not finding wheels, they are sorted by version only.
+        If finding wheels, then the sort order is by version, then:
+          1. existing installs
+          2. wheels ordered via Wheel.support_index_min(self._supported_tags)
+          3. source archives
+        If prefer_binary was set, then all wheels are sorted above sources.
+
+        Note: it was considered to embed this logic into the Link
+              comparison operators, but then different sdist links
+              with the same version, would have to be considered equal
+        """
+        valid_tags = self._supported_tags
+        support_num = len(valid_tags)
+        build_tag = ()  # type: BuildTag
+        binary_preference = 0
+        link = candidate.link
+        if link.is_wheel:
+            # can raise InvalidWheelFilename
+            wheel = Wheel(link.filename)
+            if not wheel.supported(valid_tags):
+                raise UnsupportedWheel(
+                    "%s is not a supported wheel for this platform. It "
+                    "can't be sorted." % wheel.filename
+                )
+            if self._prefer_binary:
+                binary_preference = 1
+            pri = -(wheel.support_index_min(valid_tags))
+            if wheel.build_tag is not None:
+                match = re.match(r'^(\d+)(.*)$', wheel.build_tag)
+                build_tag_groups = match.groups()
+                build_tag = (int(build_tag_groups[0]), build_tag_groups[1])
+        else:  # sdist
+            pri = -(support_num)
+        has_allowed_hash = int(link.is_hash_allowed(self._hashes))
+        yank_value = -1 * int(link.is_yanked)  # -1 for yanked.
+        return (
+            has_allowed_hash, yank_value, binary_preference, candidate.version,
+            build_tag, pri,
+        )
+
+    def sort_best_candidate(
+        self,
+        candidates,    # type: List[InstallationCandidate]
+    ):
+        # type: (...) -> Optional[InstallationCandidate]
+        """
+        Return the best candidate per the instance's sort order, or None if
+        no candidate is acceptable.
+        """
+        if not candidates:
+            return None
+
+        best_candidate = max(candidates, key=self._sort_key)
+
+        # Log a warning per PEP 592 if necessary before returning.
+        link = best_candidate.link
+        if link.is_yanked:
+            reason = link.yanked_reason or '<none given>'
+            msg = (
+                # Mark this as a unicode string to prevent
+                # "UnicodeEncodeError: 'ascii' codec can't encode character"
+                # in Python 2 when the reason contains non-ascii characters.
+                u'The candidate selected for download or install is a '
+                'yanked version: {candidate}\n'
+                'Reason for being yanked: {reason}'
+            ).format(candidate=best_candidate, reason=reason)
+            logger.warning(msg)
+
+        return best_candidate
+
+    def compute_best_candidate(
+        self,
+        candidates,      # type: List[InstallationCandidate]
+    ):
+        # type: (...) -> BestCandidateResult
+        """
+        Compute and return a `BestCandidateResult` instance.
+        """
+        applicable_candidates = self.get_applicable_candidates(candidates)
+
+        best_candidate = self.sort_best_candidate(applicable_candidates)
+
+        return BestCandidateResult(
+            candidates,
+            applicable_candidates=applicable_candidates,
+            best_candidate=best_candidate,
+        )
+
+
+class PackageFinder(object):
+    """This finds packages.
+
+    This is meant to match easy_install's technique for looking for
+    packages, by reading pages and looking for appropriate links.
+    """
+
+    def __init__(
+        self,
+        link_collector,       # type: LinkCollector
+        target_python,        # type: TargetPython
+        allow_yanked,         # type: bool
+        format_control=None,  # type: Optional[FormatControl]
+        candidate_prefs=None,         # type: CandidatePreferences
+        ignore_requires_python=None,  # type: Optional[bool]
+    ):
+        # type: (...) -> None
+        """
+        This constructor is primarily meant to be used by the create() class
+        method and from tests.
+
+        :param format_control: A FormatControl object, used to control
+            the selection of source packages / binary packages when consulting
+            the index and links.
+        :param candidate_prefs: Options to use when creating a
+            CandidateEvaluator object.
+        """
+        if candidate_prefs is None:
+            candidate_prefs = CandidatePreferences()
+
+        format_control = format_control or FormatControl(set(), set())
+
+        self._allow_yanked = allow_yanked
+        self._candidate_prefs = candidate_prefs
+        self._ignore_requires_python = ignore_requires_python
+        self._link_collector = link_collector
+        self._target_python = target_python
+
+        self.format_control = format_control
+
+        # These are boring links that have already been logged somehow.
+        self._logged_links = set()  # type: Set[Link]
+
+    # Don't include an allow_yanked default value to make sure each call
+    # site considers whether yanked releases are allowed. This also causes
+    # that decision to be made explicit in the calling code, which helps
+    # people when reading the code.
+    @classmethod
+    def create(
+        cls,
+        link_collector,      # type: LinkCollector
+        selection_prefs,     # type: SelectionPreferences
+        target_python=None,  # type: Optional[TargetPython]
+    ):
+        # type: (...) -> PackageFinder
+        """Create a PackageFinder.
+
+        :param selection_prefs: The candidate selection preferences, as a
+            SelectionPreferences object.
+        :param target_python: The target Python interpreter to use when
+            checking compatibility. If None (the default), a TargetPython
+            object will be constructed from the running Python.
+        """
+        if target_python is None:
+            target_python = TargetPython()
+
+        candidate_prefs = CandidatePreferences(
+            prefer_binary=selection_prefs.prefer_binary,
+            allow_all_prereleases=selection_prefs.allow_all_prereleases,
+        )
+
+        return cls(
+            candidate_prefs=candidate_prefs,
+            link_collector=link_collector,
+            target_python=target_python,
+            allow_yanked=selection_prefs.allow_yanked,
+            format_control=selection_prefs.format_control,
+            ignore_requires_python=selection_prefs.ignore_requires_python,
+        )
+
+    @property
+    def search_scope(self):
+        # type: () -> SearchScope
+        return self._link_collector.search_scope
+
+    @search_scope.setter
+    def search_scope(self, search_scope):
+        # type: (SearchScope) -> None
+        self._link_collector.search_scope = search_scope
+
+    @property
+    def find_links(self):
+        # type: () -> List[str]
+        return self._link_collector.find_links
+
+    @property
+    def index_urls(self):
+        # type: () -> List[str]
+        return self.search_scope.index_urls
+
+    @property
+    def trusted_hosts(self):
+        # type: () -> Iterable[str]
+        for host_port in self._link_collector.session.pip_trusted_origins:
+            yield build_netloc(*host_port)
+
+    @property
+    def allow_all_prereleases(self):
+        # type: () -> bool
+        return self._candidate_prefs.allow_all_prereleases
+
+    def set_allow_all_prereleases(self):
+        # type: () -> None
+        self._candidate_prefs.allow_all_prereleases = True
+
+    def make_link_evaluator(self, project_name):
+        # type: (str) -> LinkEvaluator
+        canonical_name = canonicalize_name(project_name)
+        formats = self.format_control.get_allowed_formats(canonical_name)
+
+        return LinkEvaluator(
+            project_name=project_name,
+            canonical_name=canonical_name,
+            formats=formats,
+            target_python=self._target_python,
+            allow_yanked=self._allow_yanked,
+            ignore_requires_python=self._ignore_requires_python,
+        )
+
+    def _sort_links(self, links):
+        # type: (Iterable[Link]) -> List[Link]
+        """
+        Returns elements of links in order, non-egg links first, egg links
+        second, while eliminating duplicates
+        """
+        eggs, no_eggs = [], []
+        seen = set()  # type: Set[Link]
+        for link in links:
+            if link not in seen:
+                seen.add(link)
+                if link.egg_fragment:
+                    eggs.append(link)
+                else:
+                    no_eggs.append(link)
+        return no_eggs + eggs
+
+    def _log_skipped_link(self, link, reason):
+        # type: (Link, Text) -> None
+        if link not in self._logged_links:
+            # Mark this as a unicode string to prevent "UnicodeEncodeError:
+            # 'ascii' codec can't encode character" in Python 2 when
+            # the reason contains non-ascii characters.
+            #   Also, put the link at the end so the reason is more visible
+            # and because the link string is usually very long.
+            logger.debug(u'Skipping link: %s: %s', reason, link)
+            self._logged_links.add(link)
+
+    def get_install_candidate(self, link_evaluator, link):
+        # type: (LinkEvaluator, Link) -> Optional[InstallationCandidate]
+        """
+        If the link is a candidate for install, convert it to an
+        InstallationCandidate and return it. Otherwise, return None.
+        """
+        is_candidate, result = link_evaluator.evaluate_link(link)
+        if not is_candidate:
+            if result:
+                self._log_skipped_link(link, reason=result)
+            return None
+
+        return InstallationCandidate(
+            name=link_evaluator.project_name,
+            link=link,
+            # Convert the Text result to str since InstallationCandidate
+            # accepts str.
+            version=str(result),
+        )
+
+    def evaluate_links(self, link_evaluator, links):
+        # type: (LinkEvaluator, Iterable[Link]) -> List[InstallationCandidate]
+        """
+        Convert links that are candidates to InstallationCandidate objects.
+        """
+        candidates = []
+        for link in self._sort_links(links):
+            candidate = self.get_install_candidate(link_evaluator, link)
+            if candidate is not None:
+                candidates.append(candidate)
+
+        return candidates
+
+    def process_project_url(self, project_url, link_evaluator):
+        # type: (Link, LinkEvaluator) -> List[InstallationCandidate]
+        logger.debug(
+            'Fetching project page and analyzing links: %s', project_url,
+        )
+        html_page = self._link_collector.fetch_page(project_url)
+        if html_page is None:
+            return []
+
+        page_links = list(parse_links(html_page))
+
+        with indent_log():
+            package_links = self.evaluate_links(
+                link_evaluator,
+                links=page_links,
+            )
+
+        return package_links
+
+    def find_all_candidates(self, project_name):
+        # type: (str) -> List[InstallationCandidate]
+        """Find all available InstallationCandidate for project_name
+
+        This checks index_urls and find_links.
+        All versions found are returned as an InstallationCandidate list.
+
+        See LinkEvaluator.evaluate_link() for details on which files
+        are accepted.
+        """
+        collected_links = self._link_collector.collect_links(project_name)
+
+        link_evaluator = self.make_link_evaluator(project_name)
+
+        find_links_versions = self.evaluate_links(
+            link_evaluator,
+            links=collected_links.find_links,
+        )
+
+        page_versions = []
+        for project_url in collected_links.project_urls:
+            package_links = self.process_project_url(
+                project_url, link_evaluator=link_evaluator,
+            )
+            page_versions.extend(package_links)
+
+        file_versions = self.evaluate_links(
+            link_evaluator,
+            links=collected_links.files,
+        )
+        if file_versions:
+            file_versions.sort(reverse=True)
+            logger.debug(
+                'Local files found: %s',
+                ', '.join([
+                    url_to_path(candidate.link.url)
+                    for candidate in file_versions
+                ])
+            )
+
+        # This is an intentional priority ordering
+        return file_versions + find_links_versions + page_versions
+
+    def make_candidate_evaluator(
+        self,
+        project_name,    # type: str
+        specifier=None,  # type: Optional[specifiers.BaseSpecifier]
+        hashes=None,     # type: Optional[Hashes]
+    ):
+        # type: (...) -> CandidateEvaluator
+        """Create a CandidateEvaluator object to use.
+        """
+        candidate_prefs = self._candidate_prefs
+        return CandidateEvaluator.create(
+            project_name=project_name,
+            target_python=self._target_python,
+            prefer_binary=candidate_prefs.prefer_binary,
+            allow_all_prereleases=candidate_prefs.allow_all_prereleases,
+            specifier=specifier,
+            hashes=hashes,
+        )
+
+    def find_best_candidate(
+        self,
+        project_name,       # type: str
+        specifier=None,     # type: Optional[specifiers.BaseSpecifier]
+        hashes=None,        # type: Optional[Hashes]
+    ):
+        # type: (...) -> BestCandidateResult
+        """Find matches for the given project and specifier.
+
+        :param specifier: An optional object implementing `filter`
+            (e.g. `packaging.specifiers.SpecifierSet`) to filter applicable
+            versions.
+
+        :return: A `BestCandidateResult` instance.
+        """
+        candidates = self.find_all_candidates(project_name)
+        candidate_evaluator = self.make_candidate_evaluator(
+            project_name=project_name,
+            specifier=specifier,
+            hashes=hashes,
+        )
+        return candidate_evaluator.compute_best_candidate(candidates)
+
+    def find_requirement(self, req, upgrade):
+        # type: (InstallRequirement, bool) -> Optional[Link]
+        """Try to find a Link matching req
+
+        Expects req, an InstallRequirement and upgrade, a boolean
+        Returns a Link if found,
+        Raises DistributionNotFound or BestVersionAlreadyInstalled otherwise
+        """
+        hashes = req.hashes(trust_internet=False)
+        best_candidate_result = self.find_best_candidate(
+            req.name, specifier=req.specifier, hashes=hashes,
+        )
+        best_candidate = best_candidate_result.best_candidate
+
+        installed_version = None    # type: Optional[_BaseVersion]
+        if req.satisfied_by is not None:
+            installed_version = parse_version(req.satisfied_by.version)
+
+        def _format_versions(cand_iter):
+            # type: (Iterable[InstallationCandidate]) -> str
+            # This repeated parse_version and str() conversion is needed to
+            # handle different vendoring sources from pip and pkg_resources.
+            # If we stop using the pkg_resources provided specifier and start
+            # using our own, we can drop the cast to str().
+            return ", ".join(sorted(
+                {str(c.version) for c in cand_iter},
+                key=parse_version,
+            )) or "none"
+
+        if installed_version is None and best_candidate is None:
+            logger.critical(
+                'Could not find a version that satisfies the requirement %s '
+                '(from versions: %s)',
+                req,
+                _format_versions(best_candidate_result.iter_all()),
+            )
+
+            raise DistributionNotFound(
+                'No matching distribution found for %s' % req
+            )
+
+        best_installed = False
+        if installed_version and (
+                best_candidate is None or
+                best_candidate.version <= installed_version):
+            best_installed = True
+
+        if not upgrade and installed_version is not None:
+            if best_installed:
+                logger.debug(
+                    'Existing installed version (%s) is most up-to-date and '
+                    'satisfies requirement',
+                    installed_version,
+                )
+            else:
+                logger.debug(
+                    'Existing installed version (%s) satisfies requirement '
+                    '(most up-to-date version is %s)',
+                    installed_version,
+                    best_candidate.version,
+                )
+            return None
+
+        if best_installed:
+            # We have an existing version, and its the best version
+            logger.debug(
+                'Installed version (%s) is most up-to-date (past versions: '
+                '%s)',
+                installed_version,
+                _format_versions(best_candidate_result.iter_applicable()),
+            )
+            raise BestVersionAlreadyInstalled
+
+        logger.debug(
+            'Using version %s (newest of versions: %s)',
+            best_candidate.version,
+            _format_versions(best_candidate_result.iter_applicable()),
+        )
+        return best_candidate.link
+
+
+def _find_name_version_sep(fragment, canonical_name):
+    # type: (str, str) -> int
+    """Find the separator's index based on the package's canonical name.
+
+    :param fragment: A <package>+<version> filename "fragment" (stem) or
+        egg fragment.
+    :param canonical_name: The package's canonical name.
+
+    This function is needed since the canonicalized name does not necessarily
+    have the same length as the egg info's name part. An example::
+
+    >>> fragment = 'foo__bar-1.0'
+    >>> canonical_name = 'foo-bar'
+    >>> _find_name_version_sep(fragment, canonical_name)
+    8
+    """
+    # Project name and version must be separated by one single dash. Find all
+    # occurrences of dashes; if the string in front of it matches the canonical
+    # name, this is the one separating the name and version parts.
+    for i, c in enumerate(fragment):
+        if c != "-":
+            continue
+        if canonicalize_name(fragment[:i]) == canonical_name:
+            return i
+    raise ValueError("{} does not match {}".format(fragment, canonical_name))
+
+
+def _extract_version_from_fragment(fragment, canonical_name):
+    # type: (str, str) -> Optional[str]
+    """Parse the version string from a <package>+<version> filename
+    "fragment" (stem) or egg fragment.
+
+    :param fragment: The string to parse. E.g. foo-2.1
+    :param canonical_name: The canonicalized name of the package this
+        belongs to.
+    """
+    try:
+        version_start = _find_name_version_sep(fragment, canonical_name) + 1
+    except ValueError:
+        return None
+    version = fragment[version_start:]
+    if not version:
+        return None
+    return version
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py b/iot_env/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py
new file mode 100644
index 0000000..ca26912
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py
@@ -0,0 +1,430 @@
+"""Dependency Resolution
+
+The dependency resolution in pip is performed as follows:
+
+for top-level requirements:
+    a. only one spec allowed per project, regardless of conflicts or not.
+       otherwise a "double requirement" exception is raised
+    b. they override sub-dependency requirements.
+for sub-dependencies
+    a. "first found, wins" (where the order is breadth first)
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+# mypy: disallow-untyped-defs=False
+
+import logging
+import sys
+from collections import defaultdict
+from itertools import chain
+
+from pip._vendor.packaging import specifiers
+
+from pip._internal.exceptions import (
+    BestVersionAlreadyInstalled,
+    DistributionNotFound,
+    HashError,
+    HashErrors,
+    UnsupportedPythonVersion,
+)
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.misc import dist_in_usersite, normalize_version_info
+from pip._internal.utils.packaging import (
+    check_requires_python,
+    get_requires_python,
+)
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Callable, DefaultDict, List, Optional, Set, Tuple
+    from pip._vendor import pkg_resources
+
+    from pip._internal.distributions import AbstractDistribution
+    from pip._internal.index.package_finder import PackageFinder
+    from pip._internal.operations.prepare import RequirementPreparer
+    from pip._internal.req.req_install import InstallRequirement
+    from pip._internal.req.req_set import RequirementSet
+
+    InstallRequirementProvider = Callable[
+        [str, InstallRequirement], InstallRequirement
+    ]
+    DiscoveredDependencies = DefaultDict[str, List[InstallRequirement]]
+
+logger = logging.getLogger(__name__)
+
+
+def _check_dist_requires_python(
+    dist,  # type: pkg_resources.Distribution
+    version_info,  # type: Tuple[int, int, int]
+    ignore_requires_python=False,  # type: bool
+):
+    # type: (...) -> None
+    """
+    Check whether the given Python version is compatible with a distribution's
+    "Requires-Python" value.
+
+    :param version_info: A 3-tuple of ints representing the Python
+        major-minor-micro version to check.
+    :param ignore_requires_python: Whether to ignore the "Requires-Python"
+        value if the given Python version isn't compatible.
+
+    :raises UnsupportedPythonVersion: When the given Python version isn't
+        compatible.
+    """
+    requires_python = get_requires_python(dist)
+    try:
+        is_compatible = check_requires_python(
+            requires_python, version_info=version_info,
+        )
+    except specifiers.InvalidSpecifier as exc:
+        logger.warning(
+            "Package %r has an invalid Requires-Python: %s",
+            dist.project_name, exc,
+        )
+        return
+
+    if is_compatible:
+        return
+
+    version = '.'.join(map(str, version_info))
+    if ignore_requires_python:
+        logger.debug(
+            'Ignoring failed Requires-Python check for package %r: '
+            '%s not in %r',
+            dist.project_name, version, requires_python,
+        )
+        return
+
+    raise UnsupportedPythonVersion(
+        'Package {!r} requires a different Python: {} not in {!r}'.format(
+            dist.project_name, version, requires_python,
+        ))
+
+
+class Resolver(object):
+    """Resolves which packages need to be installed/uninstalled to perform \
+    the requested operation without breaking the requirements of any package.
+    """
+
+    _allowed_strategies = {"eager", "only-if-needed", "to-satisfy-only"}
+
+    def __init__(
+        self,
+        preparer,  # type: RequirementPreparer
+        finder,  # type: PackageFinder
+        make_install_req,  # type: InstallRequirementProvider
+        use_user_site,  # type: bool
+        ignore_dependencies,  # type: bool
+        ignore_installed,  # type: bool
+        ignore_requires_python,  # type: bool
+        force_reinstall,  # type: bool
+        upgrade_strategy,  # type: str
+        py_version_info=None,  # type: Optional[Tuple[int, ...]]
+    ):
+        # type: (...) -> None
+        super(Resolver, self).__init__()
+        assert upgrade_strategy in self._allowed_strategies
+
+        if py_version_info is None:
+            py_version_info = sys.version_info[:3]
+        else:
+            py_version_info = normalize_version_info(py_version_info)
+
+        self._py_version_info = py_version_info
+
+        self.preparer = preparer
+        self.finder = finder
+
+        self.upgrade_strategy = upgrade_strategy
+        self.force_reinstall = force_reinstall
+        self.ignore_dependencies = ignore_dependencies
+        self.ignore_installed = ignore_installed
+        self.ignore_requires_python = ignore_requires_python
+        self.use_user_site = use_user_site
+        self._make_install_req = make_install_req
+
+        self._discovered_dependencies = \
+            defaultdict(list)  # type: DiscoveredDependencies
+
+    def resolve(self, requirement_set):
+        # type: (RequirementSet) -> None
+        """Resolve what operations need to be done
+
+        As a side-effect of this method, the packages (and their dependencies)
+        are downloaded, unpacked and prepared for installation. This
+        preparation is done by ``pip.operations.prepare``.
+
+        Once PyPI has static dependency metadata available, it would be
+        possible to move the preparation to become a step separated from
+        dependency resolution.
+        """
+        # If any top-level requirement has a hash specified, enter
+        # hash-checking mode, which requires hashes from all.
+        root_reqs = (
+            requirement_set.unnamed_requirements +
+            list(requirement_set.requirements.values())
+        )
+
+        # Actually prepare the files, and collect any exceptions. Most hash
+        # exceptions cannot be checked ahead of time, because
+        # req.populate_link() needs to be called before we can make decisions
+        # based on link type.
+        discovered_reqs = []  # type: List[InstallRequirement]
+        hash_errors = HashErrors()
+        for req in chain(root_reqs, discovered_reqs):
+            try:
+                discovered_reqs.extend(self._resolve_one(requirement_set, req))
+            except HashError as exc:
+                exc.req = req
+                hash_errors.append(exc)
+
+        if hash_errors:
+            raise hash_errors
+
+    def _is_upgrade_allowed(self, req):
+        # type: (InstallRequirement) -> bool
+        if self.upgrade_strategy == "to-satisfy-only":
+            return False
+        elif self.upgrade_strategy == "eager":
+            return True
+        else:
+            assert self.upgrade_strategy == "only-if-needed"
+            return req.is_direct
+
+    def _set_req_to_reinstall(self, req):
+        # type: (InstallRequirement) -> None
+        """
+        Set a requirement to be installed.
+        """
+        # Don't uninstall the conflict if doing a user install and the
+        # conflict is not a user install.
+        if not self.use_user_site or dist_in_usersite(req.satisfied_by):
+            req.should_reinstall = True
+        req.satisfied_by = None
+
+    def _check_skip_installed(self, req_to_install):
+        # type: (InstallRequirement) -> Optional[str]
+        """Check if req_to_install should be skipped.
+
+        This will check if the req is installed, and whether we should upgrade
+        or reinstall it, taking into account all the relevant user options.
+
+        After calling this req_to_install will only have satisfied_by set to
+        None if the req_to_install is to be upgraded/reinstalled etc. Any
+        other value will be a dist recording the current thing installed that
+        satisfies the requirement.
+
+        Note that for vcs urls and the like we can't assess skipping in this
+        routine - we simply identify that we need to pull the thing down,
+        then later on it is pulled down and introspected to assess upgrade/
+        reinstalls etc.
+
+        :return: A text reason for why it was skipped, or None.
+        """
+        if self.ignore_installed:
+            return None
+
+        req_to_install.check_if_exists(self.use_user_site)
+        if not req_to_install.satisfied_by:
+            return None
+
+        if self.force_reinstall:
+            self._set_req_to_reinstall(req_to_install)
+            return None
+
+        if not self._is_upgrade_allowed(req_to_install):
+            if self.upgrade_strategy == "only-if-needed":
+                return 'already satisfied, skipping upgrade'
+            return 'already satisfied'
+
+        # Check for the possibility of an upgrade.  For link-based
+        # requirements we have to pull the tree down and inspect to assess
+        # the version #, so it's handled way down.
+        if not req_to_install.link:
+            try:
+                self.finder.find_requirement(req_to_install, upgrade=True)
+            except BestVersionAlreadyInstalled:
+                # Then the best version is installed.
+                return 'already up-to-date'
+            except DistributionNotFound:
+                # No distribution found, so we squash the error.  It will
+                # be raised later when we re-try later to do the install.
+                # Why don't we just raise here?
+                pass
+
+        self._set_req_to_reinstall(req_to_install)
+        return None
+
+    def _get_abstract_dist_for(self, req):
+        # type: (InstallRequirement) -> AbstractDistribution
+        """Takes a InstallRequirement and returns a single AbstractDist \
+        representing a prepared variant of the same.
+        """
+        if req.editable:
+            return self.preparer.prepare_editable_requirement(req)
+
+        # satisfied_by is only evaluated by calling _check_skip_installed,
+        # so it must be None here.
+        assert req.satisfied_by is None
+        skip_reason = self._check_skip_installed(req)
+
+        if req.satisfied_by:
+            return self.preparer.prepare_installed_requirement(
+                req, skip_reason
+            )
+
+        upgrade_allowed = self._is_upgrade_allowed(req)
+
+        # We eagerly populate the link, since that's our "legacy" behavior.
+        require_hashes = self.preparer.require_hashes
+        req.populate_link(self.finder, upgrade_allowed, require_hashes)
+        abstract_dist = self.preparer.prepare_linked_requirement(req)
+
+        # NOTE
+        # The following portion is for determining if a certain package is
+        # going to be re-installed/upgraded or not and reporting to the user.
+        # This should probably get cleaned up in a future refactor.
+
+        # req.req is only avail after unpack for URL
+        # pkgs repeat check_if_exists to uninstall-on-upgrade
+        # (#14)
+        if not self.ignore_installed:
+            req.check_if_exists(self.use_user_site)
+
+        if req.satisfied_by:
+            should_modify = (
+                self.upgrade_strategy != "to-satisfy-only" or
+                self.force_reinstall or
+                self.ignore_installed or
+                req.link.scheme == 'file'
+            )
+            if should_modify:
+                self._set_req_to_reinstall(req)
+            else:
+                logger.info(
+                    'Requirement already satisfied (use --upgrade to upgrade):'
+                    ' %s', req,
+                )
+
+        return abstract_dist
+
+    def _resolve_one(
+        self,
+        requirement_set,  # type: RequirementSet
+        req_to_install,  # type: InstallRequirement
+    ):
+        # type: (...) -> List[InstallRequirement]
+        """Prepare a single requirements file.
+
+        :return: A list of additional InstallRequirements to also install.
+        """
+        # Tell user what we are doing for this requirement:
+        # obtain (editable), skipping, processing (local url), collecting
+        # (remote url or package name)
+        if req_to_install.constraint or req_to_install.prepared:
+            return []
+
+        req_to_install.prepared = True
+
+        # register tmp src for cleanup in case something goes wrong
+        requirement_set.reqs_to_cleanup.append(req_to_install)
+
+        abstract_dist = self._get_abstract_dist_for(req_to_install)
+
+        # Parse and return dependencies
+        dist = abstract_dist.get_pkg_resources_distribution()
+        # This will raise UnsupportedPythonVersion if the given Python
+        # version isn't compatible with the distribution's Requires-Python.
+        _check_dist_requires_python(
+            dist, version_info=self._py_version_info,
+            ignore_requires_python=self.ignore_requires_python,
+        )
+
+        more_reqs = []  # type: List[InstallRequirement]
+
+        def add_req(subreq, extras_requested):
+            sub_install_req = self._make_install_req(
+                str(subreq),
+                req_to_install,
+            )
+            parent_req_name = req_to_install.name
+            to_scan_again, add_to_parent = requirement_set.add_requirement(
+                sub_install_req,
+                parent_req_name=parent_req_name,
+                extras_requested=extras_requested,
+            )
+            if parent_req_name and add_to_parent:
+                self._discovered_dependencies[parent_req_name].append(
+                    add_to_parent
+                )
+            more_reqs.extend(to_scan_again)
+
+        with indent_log():
+            # We add req_to_install before its dependencies, so that we
+            # can refer to it when adding dependencies.
+            if not requirement_set.has_requirement(req_to_install.name):
+                # 'unnamed' requirements will get added here
+                # 'unnamed' requirements can only come from being directly
+                # provided by the user.
+                assert req_to_install.is_direct
+                requirement_set.add_requirement(
+                    req_to_install, parent_req_name=None,
+                )
+
+            if not self.ignore_dependencies:
+                if req_to_install.extras:
+                    logger.debug(
+                        "Installing extra requirements: %r",
+                        ','.join(req_to_install.extras),
+                    )
+                missing_requested = sorted(
+                    set(req_to_install.extras) - set(dist.extras)
+                )
+                for missing in missing_requested:
+                    logger.warning(
+                        '%s does not provide the extra \'%s\'',
+                        dist, missing
+                    )
+
+                available_requested = sorted(
+                    set(dist.extras) & set(req_to_install.extras)
+                )
+                for subreq in dist.requires(available_requested):
+                    add_req(subreq, extras_requested=available_requested)
+
+            if not req_to_install.editable and not req_to_install.satisfied_by:
+                # XXX: --no-install leads this to report 'Successfully
+                # downloaded' for only non-editable reqs, even though we took
+                # action on them.
+                requirement_set.successfully_downloaded.append(req_to_install)
+
+        return more_reqs
+
+    def get_installation_order(self, req_set):
+        # type: (RequirementSet) -> List[InstallRequirement]
+        """Create the installation order.
+
+        The installation order is topological - requirements are installed
+        before the requiring thing. We break cycles at an arbitrary point,
+        and make no other guarantees.
+        """
+        # The current implementation, which we may change at any point
+        # installs the user specified things in the order given, except when
+        # dependencies must come earlier to achieve topological order.
+        order = []
+        ordered_reqs = set()  # type: Set[InstallRequirement]
+
+        def schedule(req):
+            if req.satisfied_by or req in ordered_reqs:
+                return
+            if req.constraint:
+                return
+            ordered_reqs.add(req)
+            for dep in self._discovered_dependencies[req.name]:
+                schedule(dep)
+            order.append(req)
+
+        for install_req in req_set.requirements.values():
+            schedule(install_req)
+        return order
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/locations.py b/iot_env/lib/python3.8/site-packages/pip/_internal/locations.py
new file mode 100644
index 0000000..0c11553
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/locations.py
@@ -0,0 +1,194 @@
+"""Locations where we look for configs, install stuff, etc"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import os
+import os.path
+import platform
+import site
+import sys
+import sysconfig
+from distutils import sysconfig as distutils_sysconfig
+from distutils.command.install import SCHEME_KEYS  # type: ignore
+from distutils.command.install import install as distutils_install_command
+
+from pip._internal.models.scheme import Scheme
+from pip._internal.utils import appdirs
+from pip._internal.utils.compat import WINDOWS
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast
+from pip._internal.utils.virtualenv import running_under_virtualenv
+
+if MYPY_CHECK_RUNNING:
+    from typing import Dict, List, Optional, Union
+
+    from distutils.cmd import Command as DistutilsCommand
+
+
+# Application Directories
+USER_CACHE_DIR = appdirs.user_cache_dir("pip")
+
+
+def get_major_minor_version():
+    # type: () -> str
+    """
+    Return the major-minor version of the current Python as a string, e.g.
+    "3.7" or "3.10".
+    """
+    return '{}.{}'.format(*sys.version_info)
+
+
+def get_src_prefix():
+    # type: () -> str
+    if running_under_virtualenv():
+        src_prefix = os.path.join(sys.prefix, 'src')
+    else:
+        # FIXME: keep src in cwd for now (it is not a temporary folder)
+        try:
+            src_prefix = os.path.join(os.getcwd(), 'src')
+        except OSError:
+            # In case the current working directory has been renamed or deleted
+            sys.exit(
+                "The folder you are executing pip from can no longer be found."
+            )
+
+    # under macOS + virtualenv sys.prefix is not properly resolved
+    # it is something like /path/to/python/bin/..
+    return os.path.abspath(src_prefix)
+
+
+# FIXME doesn't account for venv linked to global site-packages
+
+site_packages = sysconfig.get_path("purelib")  # type: Optional[str]
+
+# This is because of a bug in PyPy's sysconfig module, see
+# https://bitbucket.org/pypy/pypy/issues/2506/sysconfig-returns-incorrect-paths
+# for more information.
+if platform.python_implementation().lower() == "pypy":
+    site_packages = distutils_sysconfig.get_python_lib()
+try:
+    # Use getusersitepackages if this is present, as it ensures that the
+    # value is initialised properly.
+    user_site = site.getusersitepackages()
+except AttributeError:
+    user_site = site.USER_SITE
+
+if WINDOWS:
+    bin_py = os.path.join(sys.prefix, 'Scripts')
+    bin_user = os.path.join(user_site, 'Scripts')
+    # buildout uses 'bin' on Windows too?
+    if not os.path.exists(bin_py):
+        bin_py = os.path.join(sys.prefix, 'bin')
+        bin_user = os.path.join(user_site, 'bin')
+else:
+    bin_py = os.path.join(sys.prefix, 'bin')
+    bin_user = os.path.join(user_site, 'bin')
+
+    # Forcing to use /usr/local/bin for standard macOS framework installs
+    # Also log to ~/Library/Logs/ for use with the Console.app log viewer
+    if sys.platform[:6] == 'darwin' and sys.prefix[:16] == '/System/Library/':
+        bin_py = '/usr/local/bin'
+
+
+def distutils_scheme(
+    dist_name, user=False, home=None, root=None, isolated=False, prefix=None
+):
+    # type:(str, bool, str, str, bool, str) -> Dict[str, str]
+    """
+    Return a distutils install scheme
+    """
+    from distutils.dist import Distribution
+
+    dist_args = {'name': dist_name}  # type: Dict[str, Union[str, List[str]]]
+    if isolated:
+        dist_args["script_args"] = ["--no-user-cfg"]
+
+    d = Distribution(dist_args)
+    d.parse_config_files()
+    obj = None  # type: Optional[DistutilsCommand]
+    obj = d.get_command_obj('install', create=True)
+    assert obj is not None
+    i = cast(distutils_install_command, obj)
+    # NOTE: setting user or home has the side-effect of creating the home dir
+    # or user base for installations during finalize_options()
+    # ideally, we'd prefer a scheme class that has no side-effects.
+    assert not (user and prefix), "user={} prefix={}".format(user, prefix)
+    assert not (home and prefix), "home={} prefix={}".format(home, prefix)
+    i.user = user or i.user
+    if user or home:
+        i.prefix = ""
+    i.prefix = prefix or i.prefix
+    i.home = home or i.home
+    i.root = root or i.root
+    i.finalize_options()
+
+    scheme = {}
+    for key in SCHEME_KEYS:
+        scheme[key] = getattr(i, 'install_' + key)
+
+    # install_lib specified in setup.cfg should install *everything*
+    # into there (i.e. it takes precedence over both purelib and
+    # platlib).  Note, i.install_lib is *always* set after
+    # finalize_options(); we only want to override here if the user
+    # has explicitly requested it hence going back to the config
+    if 'install_lib' in d.get_option_dict('install'):
+        scheme.update(dict(purelib=i.install_lib, platlib=i.install_lib))
+
+    if running_under_virtualenv():
+        scheme['headers'] = os.path.join(
+            sys.prefix,
+            'include',
+            'site',
+            'python{}'.format(get_major_minor_version()),
+            dist_name,
+        )
+
+        if root is not None:
+            path_no_drive = os.path.splitdrive(
+                os.path.abspath(scheme["headers"]))[1]
+            scheme["headers"] = os.path.join(
+                root,
+                path_no_drive[1:],
+            )
+
+    return scheme
+
+
+def get_scheme(
+    dist_name,  # type: str
+    user=False,  # type: bool
+    home=None,  # type: Optional[str]
+    root=None,  # type: Optional[str]
+    isolated=False,  # type: bool
+    prefix=None,  # type: Optional[str]
+):
+    # type: (...) -> Scheme
+    """
+    Get the "scheme" corresponding to the input parameters. The distutils
+    documentation provides the context for the available schemes:
+    https://docs.python.org/3/install/index.html#alternate-installation
+
+    :param dist_name: the name of the package to retrieve the scheme for, used
+        in the headers scheme path
+    :param user: indicates to use the "user" scheme
+    :param home: indicates to use the "home" scheme and provides the base
+        directory for the same
+    :param root: root under which other directories are re-based
+    :param isolated: equivalent to --no-user-cfg, i.e. do not consider
+        ~/.pydistutils.cfg (posix) or ~/pydistutils.cfg (non-posix) for
+        scheme paths
+    :param prefix: indicates to use the "prefix" scheme and provides the
+        base directory for the same
+    """
+    scheme = distutils_scheme(
+        dist_name, user, home, root, isolated, prefix
+    )
+    return Scheme(
+        platlib=scheme["platlib"],
+        purelib=scheme["purelib"],
+        headers=scheme["headers"],
+        scripts=scheme["scripts"],
+        data=scheme["data"],
+    )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/main.py b/iot_env/lib/python3.8/site-packages/pip/_internal/main.py
new file mode 100644
index 0000000..3208d5b
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/main.py
@@ -0,0 +1,16 @@
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, List
+
+
+def main(args=None):
+    # type: (Optional[List[str]]) -> int
+    """This is preserved for old console scripts that may still be referencing
+    it.
+
+    For additional details, see https://github.com/pypa/pip/issues/7498.
+    """
+    from pip._internal.utils.entrypoints import _wrapper
+
+    return _wrapper(args)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__init__.py
new file mode 100644
index 0000000..7855226
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__init__.py
@@ -0,0 +1,2 @@
+"""A package that contains models that represent entities.
+"""
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c6199f86088a0e67136e9c47835e31f1ba2ab7ff
GIT binary patch
literal 224
zcmWIL<>g{vU|{fR*_~p~z`*br#6iZ43=9ko3=9m#91IK$DGX5zDU87knoLy|jtT{d
z$=QkNsR|_-i6sij`FSOYnR&$ux%nxnImHmcqSS(-)Z)~<5{1;flFX9K)M7m@KTXD4
z?D6p_`N{F|D;bKI7#JYLFGu~7+yecA%mUrgJdn|;DZ1qusi`@-IjQlPM)^f4AUXZ`
r%)FA+qP)Z$eTYT+@$s2?nI-Y@dIgoYIBatBQ%ZAE?Le;n4Dtp53;#c9

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/candidate.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/candidate.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7d754ca7d3ceb993b4195fe677a009e45c3605e0
GIT binary patch
literal 1421
zcmWIL<>g{vU|{fR*_~3y!octt#6iX^3=9ko3=9m#Aq)%*DGVu$ISjdsQA~^=Hd79B
zE=v>(n9ZESn#&f&#>kM$R^*VvkiwF~kjoy$4whrh;mGBT;$&oSXGmd7VQ*nbVNYdg
zW{%=Y;Rt5X<a`OTPm}Q$Ye8aBajGWcEfMe3N~gr))D-9Z+=9fSRNu^s%sfrTTSC5(
z0g>^}9<I*b@j;<}ex82rnvA!2;z4S|Qj3Z+^FgXud@}R0lR;)8V`eC)*nok7A(bJD
zF@+(DDTOhLxt$@6F@-6GxrHN&C50u0wS^&y72?V$wsr;<hA8%622GAzqMmuhC5bsX
zi6xo&dCrM>DVZsWC8<@GL8%2rsl};zCB+Jf3I+Kksd*)ti8%^N$uK2K3TgR83Ykc{
z^|%xi6cmy{Aq#aB1Bea6AXgS!F)%RHFxD`{Gn6paFg1f%Of}3k4Drk*EG4Wp49!eg
zY&8s73^fc{Of?Ky%xTOetSOAW;5Z3p&}8z{WV*$iomzQ|FC{fCGcPkQJw7=nvA9^1
z{T54JVs7d!UT{FimqCK;7CVf=l9QR2eT%iYv>>&ph@F9f;TA`Hd}dx|NqoE}%Pp4T
z)SR>;P--dSVPIe=;$>i9Sjl*cGah1keEdp=UrzcZxdr+KnFYF~c?F5d*{LbI<r%4|
zIl4Ki@tH>XMJXUT{rJqhlGLKS#2o$H{FKz3VtsgE=@nEK@iQ<mfN(J%D0G<E7`YhP
zn7A1E7@7W6$zhEJJ(w$#89`d07{q2}U|?_trCt$G>SbI23NuDnxGiJ`hgOxQ4OUY%
zsuhcBbrcY!rrk=GTWo3hMY)M37~xPP016XfI03Q{6nsUg1x4}kQXn^gf{uZSg^`7U
zg@NTiZofdZkmnagkaHE_;i;ejja!B4T7|?Ch3Z<(B2kbV#X$s`YuV%Di%W{);}x(t
zRu*dz=|Od9a)7)FN?Y;qx47ctbMsS5b5i5uZ}G&(7nUaGKxNqD<5TjJ<Kw|mTqFT<
zf+Q%F@j{bOa%xUae0&kYS%M%XppXQoMsAS1I2afhI2c)&dAK>)z@mPd+)=UxnFV_B
zWvO{7`9*r5beEW(nU}5y^?MN$$QY3BTT)<!u;iy#T9TPltOrSiMWDQgT|r4@L1tch
z5h#Nefl|~hNmOGX2IzruPZ1l)E>PY<@&?#LAaC5_uz>`P9Vl@YgR&716AvQ~6AL2`
HBM&nG+2m%?

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/format_control.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/format_control.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4fdbd0b95843deccee244ccbd020a8f5b1253360
GIT binary patch
literal 2416
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
H6k!Gc?r%ke

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/index.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/index.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6bdf45ee3b0dee1c3d869ffe1765ad6fc0830095
GIT binary patch
literal 1146
zcmWIL<>g{vU|{fR*`1=o!octt#6iX^3=9ko3=9m#77PpwDGVu$ISjdsQA~^s?hGkR
zDa<VlDa@(N&CF3OsVpfhDXb}My-ZQ8sVph%DI8!nTMB0|gC^HYkeQl{w^$1ji;7c|
zK|Ey44CNGSFfcHrGDI<^Fhnt>Fh()AGo&$s?cs<5o8Q6^#oErm!Vtw4%%I73izgs4
zIXf{u)iW<8wW7*BD7By{wKz4eq*x(Q0V<^cmQzT~OHn8&$}h`INi9}LO)Sn#EmBBK
zPEIW@Rw&6=NX<(r$j{6xDdtj8P*6yQIS1q_5F3VzT^JY`N*GEQYZ#iD7BDSjU}UIa
ztYL^}E@4@~TEn=IF^jE+A)c*<VF7yz<3f-O2bj$SW^>js)iA_!r7#3DXfpfVVk^$f
zEyzi|#ZpjNkg3Uii?z74AhoCnWY;Z@`1s7c%#!%{Tg;_JIk$L9i*j-@lj6aFcZ;L6
zD5tm}C$r=hTV85OPJZ$&-uTj@ocOf-qWFTul8jqi5R*ZIw>UtigIU69nK`NP#U=Sg
ziRr2FDfzjHnR%Mbw^)i(bJB`97#J9e_!$@&Rx;k=jE_&wNh~gok6+2~%TB)}w?Mxj
zvp}~ruOKlwJ2geOJR>zVM>i)mKGP__C<P>^AD@|5l3J9Pn4_PYpOTtWte**r5WRxR
zB6bD_29V*!JfOg2;$viE<YVMv<YBE6g+>rKe)M1-PG$nBgJKXHlmMMU36KvQ_6rzm
z7_yjZ7#A`HGiWmUX)+gaGB7aQVlOSq$;!{n1A9c1sYn1M$N~zDB4Lo%z=Q~h1#*Wd
z$UKnY3`|v0sLntRNKJN7MC2vrrpCwL;);*Y%}*)K0kL`F;|og@bD%Qp@$o77$?@@E
zzZQYazr_m;!sOJPocMSoCkTR^0Coo`o<V*qW&?!~BMUPRFF5Y21T#uX3W}}t^+7SG
zmtT~wUnK^Lx?;V8%94!yyo~(flGGHCgeD_6%BsX*I!aQDOY{)hq(OXL?0Wq)*`s6%
zG7I$L%Tn`F@{9C}Gb{9R^UG3;^&p9@2oye$z-7x%%1TWx0Xy#&OF(6S=Pizq)Z!8l
l3(0TrFuuiM0|_cSMo>TtF)%RjFbjw=F)}eQ{byr_&;Y>GESdlS

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/link.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/link.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2f618d2abf34d9e3ba035c3eb531e974255cca0c
GIT binary patch
literal 6659
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/scheme.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/scheme.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3db0c4ea73b199d1ad3efdf47c0e839f8db6f269
GIT binary patch
literal 862
zcmWIL<>g{vU|{fR*`2bSiGkrUh=Yt-7#J8F7#J9eB^VeOQW&Bb+!<0BQ<z#9QkYU1
zo0+4SQka7oG+C;4ak=FeDU?(eq!ueA78mCyXC{`UrYMwWmSiYo<`tJD=Hw)nWaj57
z6enk-=B5_wae*}?Dx|08r4}XTDCC!=7L{eDmMi3^DI}I9X67U&<)p$?D<tNnD3oNR
zW)>+V=jWBAR+Q){6sM+gWt5Z@6kF-*r{pIW>lIX%WaQ`R<rk&v8|y>u)X&UINv+V!
zD9O!HPRuDuEy_zQN!5i)f*qvCm5l6P5St0v&#4Sij42FJOeu^}%qdJM%q<L2EGaC(
z44SOB*n+`+sVZ?)fUp!Y@^ey(6$%ndGKv+-GcuDi6cUS46-tX!Qxp=5K^{;@N-R!Q
zNXaZpO)kkV%1kX*NXswcQczG(NGvMJOiN5I!3@4cg#fV66bcfPvlG)(^}y<r*+5Q(
zVh|hTYG+VPDKRiG)G*dC#52?|)iA^})-cyF#52{f)G)*|*Ra+w#IvL@1T$zd`f0M>
zVlT)^EXm1Cy2V~lT9gWAWTYmhq!tz5VlPfE$}A`;zQvM~Sdys8c8jGrH7BhIWK9t>
z0|P@5C}|Y2f><EyS27fFFfcIuvez%kEzmE>EYK~@135S~MYlX7H8n>!CpA9PD8DEL
zB&Q#rnFo%H9R1w<l+>JJeMqv<E2zB15g(tKmst`Y&kOPlICXNcF+yM!KO~^_U}`{q
z;E0dUOUzA;kH5tgAD^3_Qknx|^Tfv&mL}#vW!U56Q}UDJ<BLG%fgOrOaDx26$iTn=
zVibeC#lgtJTm%yF(_}8<V_;yo#g?Cxm6}`v7DUnt@^TSK+bs?oh}Cu=ZN;EaV&MP)
DR%hq}

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e7cdc3f2dd0562cb193e79e270f03a656f28a70a
GIT binary patch
literal 3253
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
QGYT;BFtIT5Fmo{j07Cgzxc~qF

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..bd92bac8ee24230a070dcdbae4e4d8c61108e4c1
GIT binary patch
literal 1596
zcmWIL<>g{vU|{fR*_~3t&cN^(#6iX^3=9ko3=9m#HVh05DGVu$ISjdsQH+cXsf<M$
zDGVu0IZV0CQOt}WIp!ReT-GR7Mh16=6qXd$7KRkoRJLa3DE1V#U<OV0mmqUB8E*;s
zMg~O2JA1e~d&dWb`uTbKxoa}s;_xph$;{77%+X}L#p{+|l$%)MoS#=xl%JCf(ua)U
zZjxePU`S<%VoYI(VoG6*VoqTL+shcmlEMtK@s>z%YEEi0$lQRU)U?#1)V$=>;;Ixb
z1qB5K*SzG!g5uJg#FErvg_4X^h2+G%l+2XGl2nCam@b6^gf@k={33;v{PMh<{KS;Z
zymYW3iFqjsnR&$}i8(o$dFcvinK`M&dSDqhzhpKfM}yc*3=9m;ps>_qU|^_WO<~OD
zDB?+Bs%5QVtYL^}s9~yMh-a)}u3?C0s$r>Nh-a>0tzn2~Nns3T&}2?5XJTM*E=mQt
zFHr%TzZCM5vQm>v^tizGgS==}kXV$MtB{zJlV2WRnV6TInqs98o{?ITky-?Ct3qyK
zQFdyILSnH3L|#E7GY=dZ#i@D4sc@4(rsbz81h@t$m|7ZXDkK)ADiov^<z|+Yq^2m8
z<SQg0g<ml^sGz|D2@Q~bsB6-|aT}iuiCilMM+KDFhWbJwzevF^KQC2JA+#7`15^Ww
zlR(jih^+iHh2s3uqU2PCg2d$P#Prl+1$~92%)G>+N`y#xMrxiya(-TMX-)|&7D289
zVUTf|c`2zC3ZQt+$;``!MkYuS>U>Cwh=&-92+fjwXj)N7%u~qENzqYADlJhcOU%gx
zF~M#?ad}E+afw2HS!$6&qC#G3In3c8VT=&VOwY?NN{uf{EiBC}N-d5rs4U6I&qJ{r
zqC_DxFF8NAAh9GfDF-#~l!Bm|bpybfl|W7_O)XZ)%u|5)Q^6%QEwMDGq!<*NZizX?
zsR(!YxoNWA;z3SEw?rYl#GIV?f}+%-)ST4B;?&|>e5kQ|ix(xhZizwMiS89mwp%R4
zsX1vypj=YK&cMJ>!~r5WK?JCLTFFqv!@$7s%R|2;w?Mxjvp}~r4;06#DZ1qusi`@-
zIjQlPM)^f4AUXZ`%)FA+qP)Z${oMSN)SO~{coG4*HLX~$pz;<+e0*kJW=VX!FepRv
zfpV%S2O|p;8zTf($zsc5dN5s@EN*^oewwTxbMg{%Q{&@ramB~y=BJeAfY?0o@r9*{
zIZzq)`1q9k<oNg^kTqbBAQ8MEKe93~Fo1kq4Duxh6AKRmBN+ZF0?GJka@>+C$Slx<
zdrYsiBr~U2ucWddGcUaeRIc1&gL0S|7#MCTqpF4kgC1(!6oHD-TWpX*18fhHt3d83
b0y*s#hYiG6c8s8a0y&b0iG`7ek%t)oTRzLJ

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/target_python.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/target_python.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..56342afe74475548b914b05318084749e781a31e
GIT binary patch
literal 3219
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/wheel.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/models/__pycache__/wheel.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..63cea8730674442f086fb35a0c031c2616492b56
GIT binary patch
literal 3207
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/candidate.py b/iot_env/lib/python3.8/site-packages/pip/_internal/models/candidate.py
new file mode 100644
index 0000000..1dc1a57
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/models/candidate.py
@@ -0,0 +1,36 @@
+from pip._vendor.packaging.version import parse as parse_version
+
+from pip._internal.utils.models import KeyBasedCompareMixin
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from pip._vendor.packaging.version import _BaseVersion
+    from pip._internal.models.link import Link
+
+
+class InstallationCandidate(KeyBasedCompareMixin):
+    """Represents a potential "candidate" for installation.
+    """
+
+    def __init__(self, name, version, link):
+        # type: (str, str, Link) -> None
+        self.name = name
+        self.version = parse_version(version)  # type: _BaseVersion
+        self.link = link
+
+        super(InstallationCandidate, self).__init__(
+            key=(self.name, self.version, self.link),
+            defining_class=InstallationCandidate
+        )
+
+    def __repr__(self):
+        # type: () -> str
+        return "<InstallationCandidate({!r}, {!r}, {!r})>".format(
+            self.name, self.version, self.link,
+        )
+
+    def __str__(self):
+        # type: () -> str
+        return '{!r} candidate (version {} at {})'.format(
+            self.name, self.version, self.link,
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/format_control.py b/iot_env/lib/python3.8/site-packages/pip/_internal/models/format_control.py
new file mode 100644
index 0000000..2e13727
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/models/format_control.py
@@ -0,0 +1,84 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from pip._vendor.packaging.utils import canonicalize_name
+
+from pip._internal.exceptions import CommandError
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, Set, FrozenSet
+
+
+class FormatControl(object):
+    """Helper for managing formats from which a package can be installed.
+    """
+
+    def __init__(self, no_binary=None, only_binary=None):
+        # type: (Optional[Set[str]], Optional[Set[str]]) -> None
+        if no_binary is None:
+            no_binary = set()
+        if only_binary is None:
+            only_binary = set()
+
+        self.no_binary = no_binary
+        self.only_binary = only_binary
+
+    def __eq__(self, other):
+        # type: (object) -> bool
+        return self.__dict__ == other.__dict__
+
+    def __ne__(self, other):
+        # type: (object) -> bool
+        return not self.__eq__(other)
+
+    def __repr__(self):
+        # type: () -> str
+        return "{}({}, {})".format(
+            self.__class__.__name__,
+            self.no_binary,
+            self.only_binary
+        )
+
+    @staticmethod
+    def handle_mutual_excludes(value, target, other):
+        # type: (str, Optional[Set[str]], Optional[Set[str]]) -> None
+        if value.startswith('-'):
+            raise CommandError(
+                "--no-binary / --only-binary option requires 1 argument."
+            )
+        new = value.split(',')
+        while ':all:' in new:
+            other.clear()
+            target.clear()
+            target.add(':all:')
+            del new[:new.index(':all:') + 1]
+            # Without a none, we want to discard everything as :all: covers it
+            if ':none:' not in new:
+                return
+        for name in new:
+            if name == ':none:':
+                target.clear()
+                continue
+            name = canonicalize_name(name)
+            other.discard(name)
+            target.add(name)
+
+    def get_allowed_formats(self, canonical_name):
+        # type: (str) -> FrozenSet[str]
+        result = {"binary", "source"}
+        if canonical_name in self.only_binary:
+            result.discard('source')
+        elif canonical_name in self.no_binary:
+            result.discard('binary')
+        elif ':all:' in self.only_binary:
+            result.discard('source')
+        elif ':all:' in self.no_binary:
+            result.discard('binary')
+        return frozenset(result)
+
+    def disallow_binaries(self):
+        # type: () -> None
+        self.handle_mutual_excludes(
+            ':all:', self.no_binary, self.only_binary,
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/index.py b/iot_env/lib/python3.8/site-packages/pip/_internal/models/index.py
new file mode 100644
index 0000000..ead1efb
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/models/index.py
@@ -0,0 +1,31 @@
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+
+
+class PackageIndex(object):
+    """Represents a Package Index and provides easier access to endpoints
+    """
+
+    def __init__(self, url, file_storage_domain):
+        # type: (str, str) -> None
+        super(PackageIndex, self).__init__()
+        self.url = url
+        self.netloc = urllib_parse.urlsplit(url).netloc
+        self.simple_url = self._url_for_path('simple')
+        self.pypi_url = self._url_for_path('pypi')
+
+        # This is part of a temporary hack used to block installs of PyPI
+        # packages which depend on external urls only necessary until PyPI can
+        # block such packages themselves
+        self.file_storage_domain = file_storage_domain
+
+    def _url_for_path(self, path):
+        # type: (str) -> str
+        return urllib_parse.urljoin(self.url, path)
+
+
+PyPI = PackageIndex(
+    'https://pypi.org/', file_storage_domain='files.pythonhosted.org'
+)
+TestPyPI = PackageIndex(
+    'https://test.pypi.org/', file_storage_domain='test-files.pythonhosted.org'
+)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/link.py b/iot_env/lib/python3.8/site-packages/pip/_internal/models/link.py
new file mode 100644
index 0000000..34fbcbf
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/models/link.py
@@ -0,0 +1,227 @@
+import os
+import posixpath
+import re
+
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+
+from pip._internal.utils.filetypes import WHEEL_EXTENSION
+from pip._internal.utils.misc import (
+    redact_auth_from_url,
+    split_auth_from_netloc,
+    splitext,
+)
+from pip._internal.utils.models import KeyBasedCompareMixin
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.urls import path_to_url, url_to_path
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, Text, Tuple, Union
+    from pip._internal.index.collector import HTMLPage
+    from pip._internal.utils.hashes import Hashes
+
+
+class Link(KeyBasedCompareMixin):
+    """Represents a parsed link from a Package Index's simple URL
+    """
+
+    def __init__(
+        self,
+        url,                   # type: str
+        comes_from=None,       # type: Optional[Union[str, HTMLPage]]
+        requires_python=None,  # type: Optional[str]
+        yanked_reason=None,    # type: Optional[Text]
+    ):
+        # type: (...) -> None
+        """
+        :param url: url of the resource pointed to (href of the link)
+        :param comes_from: instance of HTMLPage where the link was found,
+            or string.
+        :param requires_python: String containing the `Requires-Python`
+            metadata field, specified in PEP 345. This may be specified by
+            a data-requires-python attribute in the HTML link tag, as
+            described in PEP 503.
+        :param yanked_reason: the reason the file has been yanked, if the
+            file has been yanked, or None if the file hasn't been yanked.
+            This is the value of the "data-yanked" attribute, if present, in
+            a simple repository HTML link. If the file has been yanked but
+            no reason was provided, this should be the empty string. See
+            PEP 592 for more information and the specification.
+        """
+
+        # url can be a UNC windows share
+        if url.startswith('\\\\'):
+            url = path_to_url(url)
+
+        self._parsed_url = urllib_parse.urlsplit(url)
+        # Store the url as a private attribute to prevent accidentally
+        # trying to set a new value.
+        self._url = url
+
+        self.comes_from = comes_from
+        self.requires_python = requires_python if requires_python else None
+        self.yanked_reason = yanked_reason
+
+        super(Link, self).__init__(key=url, defining_class=Link)
+
+    def __str__(self):
+        # type: () -> str
+        if self.requires_python:
+            rp = ' (requires-python:%s)' % self.requires_python
+        else:
+            rp = ''
+        if self.comes_from:
+            return '%s (from %s)%s' % (redact_auth_from_url(self._url),
+                                       self.comes_from, rp)
+        else:
+            return redact_auth_from_url(str(self._url))
+
+    def __repr__(self):
+        # type: () -> str
+        return '<Link %s>' % self
+
+    @property
+    def url(self):
+        # type: () -> str
+        return self._url
+
+    @property
+    def filename(self):
+        # type: () -> str
+        path = self.path.rstrip('/')
+        name = posixpath.basename(path)
+        if not name:
+            # Make sure we don't leak auth information if the netloc
+            # includes a username and password.
+            netloc, user_pass = split_auth_from_netloc(self.netloc)
+            return netloc
+
+        name = urllib_parse.unquote(name)
+        assert name, ('URL %r produced no filename' % self._url)
+        return name
+
+    @property
+    def file_path(self):
+        # type: () -> str
+        return url_to_path(self.url)
+
+    @property
+    def scheme(self):
+        # type: () -> str
+        return self._parsed_url.scheme
+
+    @property
+    def netloc(self):
+        # type: () -> str
+        """
+        This can contain auth information.
+        """
+        return self._parsed_url.netloc
+
+    @property
+    def path(self):
+        # type: () -> str
+        return urllib_parse.unquote(self._parsed_url.path)
+
+    def splitext(self):
+        # type: () -> Tuple[str, str]
+        return splitext(posixpath.basename(self.path.rstrip('/')))
+
+    @property
+    def ext(self):
+        # type: () -> str
+        return self.splitext()[1]
+
+    @property
+    def url_without_fragment(self):
+        # type: () -> str
+        scheme, netloc, path, query, fragment = self._parsed_url
+        return urllib_parse.urlunsplit((scheme, netloc, path, query, None))
+
+    _egg_fragment_re = re.compile(r'[#&]egg=([^&]*)')
+
+    @property
+    def egg_fragment(self):
+        # type: () -> Optional[str]
+        match = self._egg_fragment_re.search(self._url)
+        if not match:
+            return None
+        return match.group(1)
+
+    _subdirectory_fragment_re = re.compile(r'[#&]subdirectory=([^&]*)')
+
+    @property
+    def subdirectory_fragment(self):
+        # type: () -> Optional[str]
+        match = self._subdirectory_fragment_re.search(self._url)
+        if not match:
+            return None
+        return match.group(1)
+
+    _hash_re = re.compile(
+        r'(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)'
+    )
+
+    @property
+    def hash(self):
+        # type: () -> Optional[str]
+        match = self._hash_re.search(self._url)
+        if match:
+            return match.group(2)
+        return None
+
+    @property
+    def hash_name(self):
+        # type: () -> Optional[str]
+        match = self._hash_re.search(self._url)
+        if match:
+            return match.group(1)
+        return None
+
+    @property
+    def show_url(self):
+        # type: () -> str
+        return posixpath.basename(self._url.split('#', 1)[0].split('?', 1)[0])
+
+    @property
+    def is_file(self):
+        # type: () -> bool
+        return self.scheme == 'file'
+
+    def is_existing_dir(self):
+        # type: () -> bool
+        return self.is_file and os.path.isdir(self.file_path)
+
+    @property
+    def is_wheel(self):
+        # type: () -> bool
+        return self.ext == WHEEL_EXTENSION
+
+    @property
+    def is_vcs(self):
+        # type: () -> bool
+        from pip._internal.vcs import vcs
+
+        return self.scheme in vcs.all_schemes
+
+    @property
+    def is_yanked(self):
+        # type: () -> bool
+        return self.yanked_reason is not None
+
+    @property
+    def has_hash(self):
+        # type: () -> bool
+        return self.hash_name is not None
+
+    def is_hash_allowed(self, hashes):
+        # type: (Optional[Hashes]) -> bool
+        """
+        Return True if the link has a hash and it is allowed.
+        """
+        if hashes is None or not self.has_hash:
+            return False
+        # Assert non-None so mypy knows self.hash_name and self.hash are str.
+        assert self.hash_name is not None
+        assert self.hash is not None
+
+        return hashes.is_hash_allowed(self.hash_name, hex_digest=self.hash)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/scheme.py b/iot_env/lib/python3.8/site-packages/pip/_internal/models/scheme.py
new file mode 100644
index 0000000..af07b40
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/models/scheme.py
@@ -0,0 +1,25 @@
+"""
+For types associated with installation schemes.
+
+For a general overview of available schemes and their context, see
+https://docs.python.org/3/install/index.html#alternate-installation.
+"""
+
+
+class Scheme(object):
+    """A Scheme holds paths which are used as the base directories for
+    artifacts associated with a Python package.
+    """
+    def __init__(
+        self,
+        platlib,  # type: str
+        purelib,  # type: str
+        headers,  # type: str
+        scripts,  # type: str
+        data,  # type: str
+    ):
+        self.platlib = platlib
+        self.purelib = purelib
+        self.headers = headers
+        self.scripts = scripts
+        self.data = data
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/search_scope.py b/iot_env/lib/python3.8/site-packages/pip/_internal/models/search_scope.py
new file mode 100644
index 0000000..138d1b6
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/models/search_scope.py
@@ -0,0 +1,114 @@
+import itertools
+import logging
+import os
+import posixpath
+
+from pip._vendor.packaging.utils import canonicalize_name
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+
+from pip._internal.models.index import PyPI
+from pip._internal.utils.compat import has_tls
+from pip._internal.utils.misc import normalize_path, redact_auth_from_url
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List
+
+
+logger = logging.getLogger(__name__)
+
+
+class SearchScope(object):
+
+    """
+    Encapsulates the locations that pip is configured to search.
+    """
+
+    @classmethod
+    def create(
+        cls,
+        find_links,  # type: List[str]
+        index_urls,  # type: List[str]
+    ):
+        # type: (...) -> SearchScope
+        """
+        Create a SearchScope object after normalizing the `find_links`.
+        """
+        # Build find_links. If an argument starts with ~, it may be
+        # a local file relative to a home directory. So try normalizing
+        # it and if it exists, use the normalized version.
+        # This is deliberately conservative - it might be fine just to
+        # blindly normalize anything starting with a ~...
+        built_find_links = []  # type: List[str]
+        for link in find_links:
+            if link.startswith('~'):
+                new_link = normalize_path(link)
+                if os.path.exists(new_link):
+                    link = new_link
+            built_find_links.append(link)
+
+        # If we don't have TLS enabled, then WARN if anyplace we're looking
+        # relies on TLS.
+        if not has_tls():
+            for link in itertools.chain(index_urls, built_find_links):
+                parsed = urllib_parse.urlparse(link)
+                if parsed.scheme == 'https':
+                    logger.warning(
+                        'pip is configured with locations that require '
+                        'TLS/SSL, however the ssl module in Python is not '
+                        'available.'
+                    )
+                    break
+
+        return cls(
+            find_links=built_find_links,
+            index_urls=index_urls,
+        )
+
+    def __init__(
+        self,
+        find_links,  # type: List[str]
+        index_urls,  # type: List[str]
+    ):
+        # type: (...) -> None
+        self.find_links = find_links
+        self.index_urls = index_urls
+
+    def get_formatted_locations(self):
+        # type: () -> str
+        lines = []
+        if self.index_urls and self.index_urls != [PyPI.simple_url]:
+            lines.append(
+                'Looking in indexes: {}'.format(', '.join(
+                    redact_auth_from_url(url) for url in self.index_urls))
+            )
+        if self.find_links:
+            lines.append(
+                'Looking in links: {}'.format(', '.join(
+                    redact_auth_from_url(url) for url in self.find_links))
+            )
+        return '\n'.join(lines)
+
+    def get_index_urls_locations(self, project_name):
+        # type: (str) -> List[str]
+        """Returns the locations found via self.index_urls
+
+        Checks the url_name on the main (first in the list) index and
+        use this url_name to produce all locations
+        """
+
+        def mkurl_pypi_url(url):
+            # type: (str) -> str
+            loc = posixpath.join(
+                url,
+                urllib_parse.quote(canonicalize_name(project_name)))
+            # For maximum compatibility with easy_install, ensure the path
+            # ends in a trailing slash.  Although this isn't in the spec
+            # (and PyPI can handle it without the slash) some other index
+            # implementations might break if they relied on easy_install's
+            # behavior.
+            if not loc.endswith('/'):
+                loc = loc + '/'
+            return loc
+
+        return [mkurl_pypi_url(url) for url in self.index_urls]
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py b/iot_env/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py
new file mode 100644
index 0000000..f58fdce
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py
@@ -0,0 +1,47 @@
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional
+    from pip._internal.models.format_control import FormatControl
+
+
+class SelectionPreferences(object):
+
+    """
+    Encapsulates the candidate selection preferences for downloading
+    and installing files.
+    """
+
+    # Don't include an allow_yanked default value to make sure each call
+    # site considers whether yanked releases are allowed. This also causes
+    # that decision to be made explicit in the calling code, which helps
+    # people when reading the code.
+    def __init__(
+        self,
+        allow_yanked,  # type: bool
+        allow_all_prereleases=False,  # type: bool
+        format_control=None,          # type: Optional[FormatControl]
+        prefer_binary=False,          # type: bool
+        ignore_requires_python=None,  # type: Optional[bool]
+    ):
+        # type: (...) -> None
+        """Create a SelectionPreferences object.
+
+        :param allow_yanked: Whether files marked as yanked (in the sense
+            of PEP 592) are permitted to be candidates for install.
+        :param format_control: A FormatControl object or None. Used to control
+            the selection of source packages / binary packages when consulting
+            the index and links.
+        :param prefer_binary: Whether to prefer an old, but valid, binary
+            dist over a new source dist.
+        :param ignore_requires_python: Whether to ignore incompatible
+            "Requires-Python" values in links. Defaults to False.
+        """
+        if ignore_requires_python is None:
+            ignore_requires_python = False
+
+        self.allow_yanked = allow_yanked
+        self.allow_all_prereleases = allow_all_prereleases
+        self.format_control = format_control
+        self.prefer_binary = prefer_binary
+        self.ignore_requires_python = ignore_requires_python
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/target_python.py b/iot_env/lib/python3.8/site-packages/pip/_internal/models/target_python.py
new file mode 100644
index 0000000..97ae85a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/models/target_python.py
@@ -0,0 +1,107 @@
+import sys
+
+from pip._internal.pep425tags import get_supported, version_info_to_nodot
+from pip._internal.utils.misc import normalize_version_info
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional, Tuple
+
+    from pip._vendor.packaging.tags import Tag
+
+
+class TargetPython(object):
+
+    """
+    Encapsulates the properties of a Python interpreter one is targeting
+    for a package install, download, etc.
+    """
+
+    def __init__(
+        self,
+        platform=None,  # type: Optional[str]
+        py_version_info=None,  # type: Optional[Tuple[int, ...]]
+        abi=None,  # type: Optional[str]
+        implementation=None,  # type: Optional[str]
+    ):
+        # type: (...) -> None
+        """
+        :param platform: A string or None. If None, searches for packages
+            that are supported by the current system. Otherwise, will find
+            packages that can be built on the platform passed in. These
+            packages will only be downloaded for distribution: they will
+            not be built locally.
+        :param py_version_info: An optional tuple of ints representing the
+            Python version information to use (e.g. `sys.version_info[:3]`).
+            This can have length 1, 2, or 3 when provided.
+        :param abi: A string or None. This is passed to pep425tags.py's
+            get_supported() function as is.
+        :param implementation: A string or None. This is passed to
+            pep425tags.py's get_supported() function as is.
+        """
+        # Store the given py_version_info for when we call get_supported().
+        self._given_py_version_info = py_version_info
+
+        if py_version_info is None:
+            py_version_info = sys.version_info[:3]
+        else:
+            py_version_info = normalize_version_info(py_version_info)
+
+        py_version = '.'.join(map(str, py_version_info[:2]))
+
+        self.abi = abi
+        self.implementation = implementation
+        self.platform = platform
+        self.py_version = py_version
+        self.py_version_info = py_version_info
+
+        # This is used to cache the return value of get_tags().
+        self._valid_tags = None  # type: Optional[List[Tag]]
+
+    def format_given(self):
+        # type: () -> str
+        """
+        Format the given, non-None attributes for display.
+        """
+        display_version = None
+        if self._given_py_version_info is not None:
+            display_version = '.'.join(
+                str(part) for part in self._given_py_version_info
+            )
+
+        key_values = [
+            ('platform', self.platform),
+            ('version_info', display_version),
+            ('abi', self.abi),
+            ('implementation', self.implementation),
+        ]
+        return ' '.join(
+            '{}={!r}'.format(key, value) for key, value in key_values
+            if value is not None
+        )
+
+    def get_tags(self):
+        # type: () -> List[Tag]
+        """
+        Return the supported PEP 425 tags to check wheel candidates against.
+
+        The tags are returned in order of preference (most preferred first).
+        """
+        if self._valid_tags is None:
+            # Pass versions=None if no py_version_info was given since
+            # versions=None uses special default logic.
+            py_version_info = self._given_py_version_info
+            if py_version_info is None:
+                version = None
+            else:
+                version = version_info_to_nodot(py_version_info)
+
+            tags = get_supported(
+                version=version,
+                platform=self.platform,
+                abi=self.abi,
+                impl=self.implementation,
+            )
+            self._valid_tags = tags
+
+        return self._valid_tags
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/models/wheel.py b/iot_env/lib/python3.8/site-packages/pip/_internal/models/wheel.py
new file mode 100644
index 0000000..34d8c2e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/models/wheel.py
@@ -0,0 +1,78 @@
+"""Represents a wheel file and provides access to the various parts of the
+name that have meaning.
+"""
+import re
+
+from pip._vendor.packaging.tags import Tag
+
+from pip._internal.exceptions import InvalidWheelFilename
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List
+
+
+class Wheel(object):
+    """A wheel file"""
+
+    wheel_file_re = re.compile(
+        r"""^(?P<namever>(?P<name>[^\s-]+?)-(?P<ver>[^\s-]*?))
+        ((-(?P<build>\d[^-]*?))?-(?P<pyver>[^\s-]+?)-(?P<abi>[^\s-]+?)-(?P<plat>[^\s-]+?)
+        \.whl|\.dist-info)$""",
+        re.VERBOSE
+    )
+
+    def __init__(self, filename):
+        # type: (str) -> None
+        """
+        :raises InvalidWheelFilename: when the filename is invalid for a wheel
+        """
+        wheel_info = self.wheel_file_re.match(filename)
+        if not wheel_info:
+            raise InvalidWheelFilename(
+                "%s is not a valid wheel filename." % filename
+            )
+        self.filename = filename
+        self.name = wheel_info.group('name').replace('_', '-')
+        # we'll assume "_" means "-" due to wheel naming scheme
+        # (https://github.com/pypa/pip/issues/1150)
+        self.version = wheel_info.group('ver').replace('_', '-')
+        self.build_tag = wheel_info.group('build')
+        self.pyversions = wheel_info.group('pyver').split('.')
+        self.abis = wheel_info.group('abi').split('.')
+        self.plats = wheel_info.group('plat').split('.')
+
+        # All the tag combinations from this file
+        self.file_tags = {
+            Tag(x, y, z) for x in self.pyversions
+            for y in self.abis for z in self.plats
+        }
+
+    def get_formatted_file_tags(self):
+        # type: () -> List[str]
+        """Return the wheel's tags as a sorted list of strings."""
+        return sorted(str(tag) for tag in self.file_tags)
+
+    def support_index_min(self, tags):
+        # type: (List[Tag]) -> int
+        """Return the lowest index that one of the wheel's file_tag combinations
+        achieves in the given list of supported tags.
+
+        For example, if there are 8 supported tags and one of the file tags
+        is first in the list, then return 0.
+
+        :param tags: the PEP 425 tags to check the wheel against, in order
+            with most preferred first.
+
+        :raises ValueError: If none of the wheel's file tags match one of
+            the supported tags.
+        """
+        return min(tags.index(tag) for tag in self.file_tags if tag in tags)
+
+    def supported(self, tags):
+        # type: (List[Tag]) -> bool
+        """Return whether the wheel is compatible with one of the given tags.
+
+        :param tags: the PEP 425 tags to check the wheel against.
+        """
+        return not self.file_tags.isdisjoint(tags)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/network/__init__.py
new file mode 100644
index 0000000..b51bde9
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/network/__init__.py
@@ -0,0 +1,2 @@
+"""Contains purely network-related utilities.
+"""
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e2956c3380f4605684c0234f5abbadb6073d0656
GIT binary patch
literal 212
zcmWIL<>g{vU|{fR*_~p<z`*br#6iZ43=9ko3=9m#91IK$DGX5zDU87knoL#N&iQ#I
ziJ5uD3I(M_sX3Jjd8sAk`9;~fMX5Q7C8;S2r6rj;nI)O2#d=(RnvA#D<Kt8EljGx8
zG88c}FhGc3PWmOe1^NY<1-hkq1&PVosVTbU8L6o`x;d%wnMV0VDIhuh_{_YL)S|q^
k9DS%A`tk9Zd6^~g@p=W7w>WHa^HWN5Qtd!4{S0zC06suFn*aa+

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/auth.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/auth.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..bc59563594ca6209aa731275e82b9035b2e64b32
GIT binary patch
literal 6978
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
OE+M10EX-oe9I^o6-(70}

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/cache.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/cache.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ffbdeac7628c119cf1656855ae68b84ac5534c67
GIT binary patch
literal 2691
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/download.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/download.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..76b44652b17253eec9556d4e1a4ab792bfe086b0
GIT binary patch
literal 4370
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/session.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/session.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9a9e7c19dd4b58d088c395a0151cea867c125739
GIT binary patch
literal 8851
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/utils.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/utils.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9f113b5f09d5ac3e9a28ad35a7f2de280a0148bc
GIT binary patch
literal 706
zcmWIL<>g{vU|{fR*`2bSoq^#oh=Yuo85kHG7#J9eZ5S9BQW#Pga~N_NqZo6UqL>&#
ze5M@cT$U&nMut?DBApb56y_Y(T(&4SMut?zG{zK`6xJ5TDE1V#U<OV0mmqUBnQjR=
z`}>8s`h~<hdxZLV#|L{xx!&RkN-ZwP&nr&VWV|Kh8yOH8@9g2~>>VEz>gVU_=dQ_k
zi^H=dwJ5P9zbKgrWDXRAoX5eyz>o}bVh95RLzO}eLl#38V+~^pV+vC*lM6#ES1nTw
zQy2pyL!nSOL!KTBLkUwhSCJnh0|<gtFJP`=T*wGgRqRyg1yySh$&kks!H~in%%I6q
zW#OJ#mYS!Ks8EzzSejZ~Qmg=Tu#Q4OQGQuwN~%IhMyf(eVo9Pxaz<%hcCj9pf`WpA
zn<nEezLeDD{FK!A<ovvn)VvZuO_p2CMTzCN*osSvQWJA;@i~^16lErrmZZ8C73CM*
zVkt^ZOwnY%#Zd$elv`Y2BjbxRt5R>Vg4rt>iuf297=GF7m*f`c7i1RbmgW^CCTFLn
z=$2=srsnA8q{e3&<rk%Z<n-e+^GZ^S@)C3O^HNL7^NX_eOG`3yiuDRAZ}Gz{i3gio
z%n1rfF;MWbFfp+)GKn+2;F98D<YVSxWMO1tED~T~VDQuAxFubXS)dnRmYSE6U!(^M
z6}{a2l+>K!B2W|+f#T+t6j&L|dOe7>C6xu4dFe$g3=9mn*q|I%1_lPO;b4Cu5&R%k
b95%W6DWy57c8nnBfnr>MiHC`Wk%t)oW7D|n

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0f65f88cd9e5447f8ace019ae93244b75c771cd4
GIT binary patch
literal 1574
zcmWIL<>g{vU|{fR*_~p`#=!6x#6iX^3=9ko3=9m#0SpWbDGX5zDU2yhIgC+^DU2!1
zIZV0CQOt}WF_s*bT-GR7Fq<`pEtfrtgOMSXaRFy4*Fwf9Zg++hwiNajh7|Tx)-0Z8
z<|y72reFq5jw<Df+?=9<<ebbTy^x~ByyAlVq7sG7+=86c+|<01#FEVXJg%1@2l;6-
z-r^`qEi6qfE-BVzyu}OA7@wSznVMIk$#{#kAhD=8H5sH988gE?pu)hwkjfCnn8Fan
zl)@OroWha9oWjz=7{!vpnZlaF*1{OYn!+B;pviShC?K;S0_-lho2r5Wit@`cQ&JTY
z6%rs;qqsQ%&Cv>FnTa5!0htBCsl~;a`FROk3JMAe`AJ!+$t8MVwp%hNbYYHVWnf?c
z@tr}Tt;N8=P{NSKxPYmKp@w-O6C*<j^8%I{#)XWvEHx}ytThbrY&A?Z4DswK48aVV
zjDDINMIfKv;)J{S7Ds%1W?p7VeEcn*(xRN4%%pg52;Jf+Ey{tg*ou=gQgc&pvByIh
z9Pz~v$7-_PVku6|NxQ|FnU|7U5no!AbBi4+cZ;XAI5j>cu_U!5GdDGg8=|5hv8beY
zB}0)Q0|Ub^2mO-V0{w!_0^QQQg2d$P)D+$FjMUT|-JI0;Or!jw6p);Ld}dxrYEfQd
zj(%QhNqK%zwmu|a^$IGB*cliY#6cm!0SX^RK1MD^4#p~J%!tv0`7#+4fFQ*n3`*1>
z3=Ygm3=9l43|R~{j5SOt3?P`sR?Auf3S8EOjJ0f47NA6($ym!?!;r<C#Ztpo!(77-
zN*%o{wH!4Z3s@I2Ff!DzfCHUj0ecNc7RN%yaE4$87KReeEUs*>q8>(uT24lWDv1*A
z1w1LNHJn+zS$s8Y3z-=ini#?vOc_!bYB}pTBN!qX@|YqRz>&u0SH<I;pI4HaSE3tI
zS&&-AQIc9w0t$l=P3BuHDTyVCx7agM6H`))if^$MmlUNY=2pphgoFerq!tzB7b&O~
zE0kws=A<g5r<Rmt=A|pB7HjesaWgP56oEqR7FTIe4k-MKic^bt7#J9Cu@vMNm)sI4
zO3W-yjZe!jiZ3onEGaF%#a@<Ll$2kbdW#R7F5-()iwpAeic@bf7bTV#F@dylg6wq#
zS$m5uCqF$swdfW{a#3bUW^!T<C|^P~a6?RtPtH$C)#NJT1!-l;0NKi(k(if~lUj6(
z2bziFlk!t4izGoRKv}n>_!e_%QBIKv$ocXhQRdW&WN>nV5JDg^cBp1qP|^V9Xa+_h
zMlMDsMh+0k!1SMuiGz`ik&jV`k%f_ok&S`r9}7#B6qaNIHONns(G7&yK-ncPF*h|n
z{uWn!d~SY9X%2|Z6CYn#nwSHXVULeb$xn`t2Pe-Wb&yj*=^f%gFbm|$B2Y>MF^bt3
z7#KJhSy;H(z+#$wMcQCrfI=`cFZ~vGL1uwod|7H<N`4VIoTEgMMD&U?EA(>n%TkNM
zc{@r5tDGJra~FZi4oJLnrl*$pfa9o01LQ<dU=@L!0(JzFW8p5o#bE>Su^l5QU_pt6
Qg^h!Whna_whlz_B0MnPPR{#J2

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/auth.py b/iot_env/lib/python3.8/site-packages/pip/_internal/network/auth.py
new file mode 100644
index 0000000..1e1da54
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/network/auth.py
@@ -0,0 +1,298 @@
+"""Network Authentication Helpers
+
+Contains interface (MultiDomainBasicAuth) and associated glue code for
+providing credentials in the context of network requests.
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+import logging
+
+from pip._vendor.requests.auth import AuthBase, HTTPBasicAuth
+from pip._vendor.requests.utils import get_netrc_auth
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+
+from pip._internal.utils.misc import (
+    ask,
+    ask_input,
+    ask_password,
+    remove_auth_from_url,
+    split_auth_netloc_from_url,
+)
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from optparse import Values
+    from typing import Dict, Optional, Tuple
+
+    from pip._internal.vcs.versioncontrol import AuthInfo
+
+    Credentials = Tuple[str, str, str]
+
+logger = logging.getLogger(__name__)
+
+try:
+    import keyring  # noqa
+except ImportError:
+    keyring = None
+except Exception as exc:
+    logger.warning(
+        "Keyring is skipped due to an exception: %s", str(exc),
+    )
+    keyring = None
+
+
+def get_keyring_auth(url, username):
+    """Return the tuple auth for a given url from keyring."""
+    if not url or not keyring:
+        return None
+
+    try:
+        try:
+            get_credential = keyring.get_credential
+        except AttributeError:
+            pass
+        else:
+            logger.debug("Getting credentials from keyring for %s", url)
+            cred = get_credential(url, username)
+            if cred is not None:
+                return cred.username, cred.password
+            return None
+
+        if username:
+            logger.debug("Getting password from keyring for %s", url)
+            password = keyring.get_password(url, username)
+            if password:
+                return username, password
+
+    except Exception as exc:
+        logger.warning(
+            "Keyring is skipped due to an exception: %s", str(exc),
+        )
+
+
+class MultiDomainBasicAuth(AuthBase):
+
+    def __init__(self, prompting=True, index_urls=None):
+        # type: (bool, Optional[Values]) -> None
+        self.prompting = prompting
+        self.index_urls = index_urls
+        self.passwords = {}  # type: Dict[str, AuthInfo]
+        # When the user is prompted to enter credentials and keyring is
+        # available, we will offer to save them. If the user accepts,
+        # this value is set to the credentials they entered. After the
+        # request authenticates, the caller should call
+        # ``save_credentials`` to save these.
+        self._credentials_to_save = None  # type: Optional[Credentials]
+
+    def _get_index_url(self, url):
+        """Return the original index URL matching the requested URL.
+
+        Cached or dynamically generated credentials may work against
+        the original index URL rather than just the netloc.
+
+        The provided url should have had its username and password
+        removed already. If the original index url had credentials then
+        they will be included in the return value.
+
+        Returns None if no matching index was found, or if --no-index
+        was specified by the user.
+        """
+        if not url or not self.index_urls:
+            return None
+
+        for u in self.index_urls:
+            prefix = remove_auth_from_url(u).rstrip("/") + "/"
+            if url.startswith(prefix):
+                return u
+
+    def _get_new_credentials(self, original_url, allow_netrc=True,
+                             allow_keyring=True):
+        """Find and return credentials for the specified URL."""
+        # Split the credentials and netloc from the url.
+        url, netloc, url_user_password = split_auth_netloc_from_url(
+            original_url,
+        )
+
+        # Start with the credentials embedded in the url
+        username, password = url_user_password
+        if username is not None and password is not None:
+            logger.debug("Found credentials in url for %s", netloc)
+            return url_user_password
+
+        # Find a matching index url for this request
+        index_url = self._get_index_url(url)
+        if index_url:
+            # Split the credentials from the url.
+            index_info = split_auth_netloc_from_url(index_url)
+            if index_info:
+                index_url, _, index_url_user_password = index_info
+                logger.debug("Found index url %s", index_url)
+
+        # If an index URL was found, try its embedded credentials
+        if index_url and index_url_user_password[0] is not None:
+            username, password = index_url_user_password
+            if username is not None and password is not None:
+                logger.debug("Found credentials in index url for %s", netloc)
+                return index_url_user_password
+
+        # Get creds from netrc if we still don't have them
+        if allow_netrc:
+            netrc_auth = get_netrc_auth(original_url)
+            if netrc_auth:
+                logger.debug("Found credentials in netrc for %s", netloc)
+                return netrc_auth
+
+        # If we don't have a password and keyring is available, use it.
+        if allow_keyring:
+            # The index url is more specific than the netloc, so try it first
+            kr_auth = (
+                get_keyring_auth(index_url, username) or
+                get_keyring_auth(netloc, username)
+            )
+            if kr_auth:
+                logger.debug("Found credentials in keyring for %s", netloc)
+                return kr_auth
+
+        return username, password
+
+    def _get_url_and_credentials(self, original_url):
+        """Return the credentials to use for the provided URL.
+
+        If allowed, netrc and keyring may be used to obtain the
+        correct credentials.
+
+        Returns (url_without_credentials, username, password). Note
+        that even if the original URL contains credentials, this
+        function may return a different username and password.
+        """
+        url, netloc, _ = split_auth_netloc_from_url(original_url)
+
+        # Use any stored credentials that we have for this netloc
+        username, password = self.passwords.get(netloc, (None, None))
+
+        if username is None and password is None:
+            # No stored credentials. Acquire new credentials without prompting
+            # the user. (e.g. from netrc, keyring, or the URL itself)
+            username, password = self._get_new_credentials(original_url)
+
+        if username is not None or password is not None:
+            # Convert the username and password if they're None, so that
+            # this netloc will show up as "cached" in the conditional above.
+            # Further, HTTPBasicAuth doesn't accept None, so it makes sense to
+            # cache the value that is going to be used.
+            username = username or ""
+            password = password or ""
+
+            # Store any acquired credentials.
+            self.passwords[netloc] = (username, password)
+
+        assert (
+            # Credentials were found
+            (username is not None and password is not None) or
+            # Credentials were not found
+            (username is None and password is None)
+        ), "Could not load credentials from url: {}".format(original_url)
+
+        return url, username, password
+
+    def __call__(self, req):
+        # Get credentials for this request
+        url, username, password = self._get_url_and_credentials(req.url)
+
+        # Set the url of the request to the url without any credentials
+        req.url = url
+
+        if username is not None and password is not None:
+            # Send the basic auth with this request
+            req = HTTPBasicAuth(username, password)(req)
+
+        # Attach a hook to handle 401 responses
+        req.register_hook("response", self.handle_401)
+
+        return req
+
+    # Factored out to allow for easy patching in tests
+    def _prompt_for_password(self, netloc):
+        username = ask_input("User for %s: " % netloc)
+        if not username:
+            return None, None
+        auth = get_keyring_auth(netloc, username)
+        if auth:
+            return auth[0], auth[1], False
+        password = ask_password("Password: ")
+        return username, password, True
+
+    # Factored out to allow for easy patching in tests
+    def _should_save_password_to_keyring(self):
+        if not keyring:
+            return False
+        return ask("Save credentials to keyring [y/N]: ", ["y", "n"]) == "y"
+
+    def handle_401(self, resp, **kwargs):
+        # We only care about 401 responses, anything else we want to just
+        #   pass through the actual response
+        if resp.status_code != 401:
+            return resp
+
+        # We are not able to prompt the user so simply return the response
+        if not self.prompting:
+            return resp
+
+        parsed = urllib_parse.urlparse(resp.url)
+
+        # Prompt the user for a new username and password
+        username, password, save = self._prompt_for_password(parsed.netloc)
+
+        # Store the new username and password to use for future requests
+        self._credentials_to_save = None
+        if username is not None and password is not None:
+            self.passwords[parsed.netloc] = (username, password)
+
+            # Prompt to save the password to keyring
+            if save and self._should_save_password_to_keyring():
+                self._credentials_to_save = (parsed.netloc, username, password)
+
+        # Consume content and release the original connection to allow our new
+        #   request to reuse the same one.
+        resp.content
+        resp.raw.release_conn()
+
+        # Add our new username and password to the request
+        req = HTTPBasicAuth(username or "", password or "")(resp.request)
+        req.register_hook("response", self.warn_on_401)
+
+        # On successful request, save the credentials that were used to
+        # keyring. (Note that if the user responded "no" above, this member
+        # is not set and nothing will be saved.)
+        if self._credentials_to_save:
+            req.register_hook("response", self.save_credentials)
+
+        # Send our new request
+        new_resp = resp.connection.send(req, **kwargs)
+        new_resp.history.append(resp)
+
+        return new_resp
+
+    def warn_on_401(self, resp, **kwargs):
+        """Response callback to warn about incorrect credentials."""
+        if resp.status_code == 401:
+            logger.warning(
+                '401 Error, Credentials not correct for %s', resp.request.url,
+            )
+
+    def save_credentials(self, resp, **kwargs):
+        """Response callback to save credentials on success."""
+        assert keyring is not None, "should never reach here without keyring"
+        if not keyring:
+            return
+
+        creds = self._credentials_to_save
+        self._credentials_to_save = None
+        if creds and resp.status_code < 400:
+            try:
+                logger.info('Saving credentials to keyring')
+                keyring.set_password(*creds)
+            except Exception:
+                logger.exception('Failed to save credentials')
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/cache.py b/iot_env/lib/python3.8/site-packages/pip/_internal/network/cache.py
new file mode 100644
index 0000000..c9386e1
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/network/cache.py
@@ -0,0 +1,81 @@
+"""HTTP cache implementation.
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+import os
+from contextlib import contextmanager
+
+from pip._vendor.cachecontrol.cache import BaseCache
+from pip._vendor.cachecontrol.caches import FileCache
+from pip._vendor.requests.models import Response
+
+from pip._internal.utils.filesystem import adjacent_tmp_file, replace
+from pip._internal.utils.misc import ensure_dir
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional
+
+
+def is_from_cache(response):
+    # type: (Response) -> bool
+    return getattr(response, "from_cache", False)
+
+
+@contextmanager
+def suppressed_cache_errors():
+    """If we can't access the cache then we can just skip caching and process
+    requests as if caching wasn't enabled.
+    """
+    try:
+        yield
+    except (OSError, IOError):
+        pass
+
+
+class SafeFileCache(BaseCache):
+    """
+    A file based cache which is safe to use even when the target directory may
+    not be accessible or writable.
+    """
+
+    def __init__(self, directory):
+        # type: (str) -> None
+        assert directory is not None, "Cache directory must not be None."
+        super(SafeFileCache, self).__init__()
+        self.directory = directory
+
+    def _get_cache_path(self, name):
+        # type: (str) -> str
+        # From cachecontrol.caches.file_cache.FileCache._fn, brought into our
+        # class for backwards-compatibility and to avoid using a non-public
+        # method.
+        hashed = FileCache.encode(name)
+        parts = list(hashed[:5]) + [hashed]
+        return os.path.join(self.directory, *parts)
+
+    def get(self, key):
+        # type: (str) -> Optional[bytes]
+        path = self._get_cache_path(key)
+        with suppressed_cache_errors():
+            with open(path, 'rb') as f:
+                return f.read()
+
+    def set(self, key, value):
+        # type: (str, bytes) -> None
+        path = self._get_cache_path(key)
+        with suppressed_cache_errors():
+            ensure_dir(os.path.dirname(path))
+
+            with adjacent_tmp_file(path) as f:
+                f.write(value)
+
+            replace(f.name, path)
+
+    def delete(self, key):
+        # type: (str) -> None
+        path = self._get_cache_path(key)
+        with suppressed_cache_errors():
+            os.remove(path)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/download.py b/iot_env/lib/python3.8/site-packages/pip/_internal/network/download.py
new file mode 100644
index 0000000..c90c4bf
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/network/download.py
@@ -0,0 +1,200 @@
+"""Download files with progress indicators.
+"""
+import cgi
+import logging
+import mimetypes
+import os
+
+from pip._vendor import requests
+from pip._vendor.requests.models import CONTENT_CHUNK_SIZE
+
+from pip._internal.models.index import PyPI
+from pip._internal.network.cache import is_from_cache
+from pip._internal.network.utils import response_chunks
+from pip._internal.utils.misc import (
+    format_size,
+    redact_auth_from_url,
+    splitext,
+)
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.ui import DownloadProgressProvider
+
+if MYPY_CHECK_RUNNING:
+    from typing import Iterable, Optional
+
+    from pip._vendor.requests.models import Response
+
+    from pip._internal.models.link import Link
+    from pip._internal.network.session import PipSession
+
+logger = logging.getLogger(__name__)
+
+
+def _get_http_response_size(resp):
+    # type: (Response) -> Optional[int]
+    try:
+        return int(resp.headers['content-length'])
+    except (ValueError, KeyError, TypeError):
+        return None
+
+
+def _prepare_download(
+    resp,  # type: Response
+    link,  # type: Link
+    progress_bar  # type: str
+):
+    # type: (...) -> Iterable[bytes]
+    total_length = _get_http_response_size(resp)
+
+    if link.netloc == PyPI.file_storage_domain:
+        url = link.show_url
+    else:
+        url = link.url_without_fragment
+
+    logged_url = redact_auth_from_url(url)
+
+    if total_length:
+        logged_url = '{} ({})'.format(logged_url, format_size(total_length))
+
+    if is_from_cache(resp):
+        logger.info("Using cached %s", logged_url)
+    else:
+        logger.info("Downloading %s", logged_url)
+
+    if logger.getEffectiveLevel() > logging.INFO:
+        show_progress = False
+    elif is_from_cache(resp):
+        show_progress = False
+    elif not total_length:
+        show_progress = True
+    elif total_length > (40 * 1000):
+        show_progress = True
+    else:
+        show_progress = False
+
+    chunks = response_chunks(resp, CONTENT_CHUNK_SIZE)
+
+    if not show_progress:
+        return chunks
+
+    return DownloadProgressProvider(
+        progress_bar, max=total_length
+    )(chunks)
+
+
+def sanitize_content_filename(filename):
+    # type: (str) -> str
+    """
+    Sanitize the "filename" value from a Content-Disposition header.
+    """
+    return os.path.basename(filename)
+
+
+def parse_content_disposition(content_disposition, default_filename):
+    # type: (str, str) -> str
+    """
+    Parse the "filename" value from a Content-Disposition header, and
+    return the default filename if the result is empty.
+    """
+    _type, params = cgi.parse_header(content_disposition)
+    filename = params.get('filename')
+    if filename:
+        # We need to sanitize the filename to prevent directory traversal
+        # in case the filename contains ".." path parts.
+        filename = sanitize_content_filename(filename)
+    return filename or default_filename
+
+
+def _get_http_response_filename(resp, link):
+    # type: (Response, Link) -> str
+    """Get an ideal filename from the given HTTP response, falling back to
+    the link filename if not provided.
+    """
+    filename = link.filename  # fallback
+    # Have a look at the Content-Disposition header for a better guess
+    content_disposition = resp.headers.get('content-disposition')
+    if content_disposition:
+        filename = parse_content_disposition(content_disposition, filename)
+    ext = splitext(filename)[1]  # type: Optional[str]
+    if not ext:
+        ext = mimetypes.guess_extension(
+            resp.headers.get('content-type', '')
+        )
+        if ext:
+            filename += ext
+    if not ext and link.url != resp.url:
+        ext = os.path.splitext(resp.url)[1]
+        if ext:
+            filename += ext
+    return filename
+
+
+def _http_get_download(session, link):
+    # type: (PipSession, Link) -> Response
+    target_url = link.url.split('#', 1)[0]
+    resp = session.get(
+        target_url,
+        # We use Accept-Encoding: identity here because requests
+        # defaults to accepting compressed responses. This breaks in
+        # a variety of ways depending on how the server is configured.
+        # - Some servers will notice that the file isn't a compressible
+        #   file and will leave the file alone and with an empty
+        #   Content-Encoding
+        # - Some servers will notice that the file is already
+        #   compressed and will leave the file alone and will add a
+        #   Content-Encoding: gzip header
+        # - Some servers won't notice anything at all and will take
+        #   a file that's already been compressed and compress it again
+        #   and set the Content-Encoding: gzip header
+        # By setting this to request only the identity encoding We're
+        # hoping to eliminate the third case. Hopefully there does not
+        # exist a server which when given a file will notice it is
+        # already compressed and that you're not asking for a
+        # compressed file and will then decompress it before sending
+        # because if that's the case I don't think it'll ever be
+        # possible to make this work.
+        headers={"Accept-Encoding": "identity"},
+        stream=True,
+    )
+    resp.raise_for_status()
+    return resp
+
+
+class Download(object):
+    def __init__(
+        self,
+        response,  # type: Response
+        filename,  # type: str
+        chunks,  # type: Iterable[bytes]
+    ):
+        # type: (...) -> None
+        self.response = response
+        self.filename = filename
+        self.chunks = chunks
+
+
+class Downloader(object):
+    def __init__(
+        self,
+        session,  # type: PipSession
+        progress_bar,  # type: str
+    ):
+        # type: (...) -> None
+        self._session = session
+        self._progress_bar = progress_bar
+
+    def __call__(self, link):
+        # type: (Link) -> Download
+        try:
+            resp = _http_get_download(self._session, link)
+        except requests.HTTPError as e:
+            logger.critical(
+                "HTTP error %s while getting %s", e.response.status_code, link
+            )
+            raise
+
+        return Download(
+            resp,
+            _get_http_response_filename(resp, link),
+            _prepare_download(resp, link, self._progress_bar),
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/session.py b/iot_env/lib/python3.8/site-packages/pip/_internal/network/session.py
new file mode 100644
index 0000000..f5eb15e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/network/session.py
@@ -0,0 +1,405 @@
+"""PipSession and supporting code, containing all pip-specific
+network request configuration and behavior.
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+import email.utils
+import json
+import logging
+import mimetypes
+import os
+import platform
+import sys
+import warnings
+
+from pip._vendor import requests, six, urllib3
+from pip._vendor.cachecontrol import CacheControlAdapter
+from pip._vendor.requests.adapters import BaseAdapter, HTTPAdapter
+from pip._vendor.requests.models import Response
+from pip._vendor.requests.structures import CaseInsensitiveDict
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+from pip._vendor.urllib3.exceptions import InsecureRequestWarning
+
+from pip import __version__
+from pip._internal.network.auth import MultiDomainBasicAuth
+from pip._internal.network.cache import SafeFileCache
+# Import ssl from compat so the initial import occurs in only one place.
+from pip._internal.utils.compat import has_tls, ipaddress
+from pip._internal.utils.glibc import libc_ver
+from pip._internal.utils.misc import (
+    build_url_from_netloc,
+    get_installed_version,
+    parse_netloc,
+)
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.urls import url_to_path
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Iterator, List, Optional, Tuple, Union,
+    )
+
+    from pip._internal.models.link import Link
+
+    SecureOrigin = Tuple[str, str, Optional[Union[int, str]]]
+
+
+logger = logging.getLogger(__name__)
+
+
+# Ignore warning raised when using --trusted-host.
+warnings.filterwarnings("ignore", category=InsecureRequestWarning)
+
+
+SECURE_ORIGINS = [
+    # protocol, hostname, port
+    # Taken from Chrome's list of secure origins (See: http://bit.ly/1qrySKC)
+    ("https", "*", "*"),
+    ("*", "localhost", "*"),
+    ("*", "127.0.0.0/8", "*"),
+    ("*", "::1/128", "*"),
+    ("file", "*", None),
+    # ssh is always secure.
+    ("ssh", "*", "*"),
+]  # type: List[SecureOrigin]
+
+
+# These are environment variables present when running under various
+# CI systems.  For each variable, some CI systems that use the variable
+# are indicated.  The collection was chosen so that for each of a number
+# of popular systems, at least one of the environment variables is used.
+# This list is used to provide some indication of and lower bound for
+# CI traffic to PyPI.  Thus, it is okay if the list is not comprehensive.
+# For more background, see: https://github.com/pypa/pip/issues/5499
+CI_ENVIRONMENT_VARIABLES = (
+    # Azure Pipelines
+    'BUILD_BUILDID',
+    # Jenkins
+    'BUILD_ID',
+    # AppVeyor, CircleCI, Codeship, Gitlab CI, Shippable, Travis CI
+    'CI',
+    # Explicit environment variable.
+    'PIP_IS_CI',
+)
+
+
+def looks_like_ci():
+    # type: () -> bool
+    """
+    Return whether it looks like pip is running under CI.
+    """
+    # We don't use the method of checking for a tty (e.g. using isatty())
+    # because some CI systems mimic a tty (e.g. Travis CI).  Thus that
+    # method doesn't provide definitive information in either direction.
+    return any(name in os.environ for name in CI_ENVIRONMENT_VARIABLES)
+
+
+def user_agent():
+    """
+    Return a string representing the user agent.
+    """
+    data = {
+        "installer": {"name": "pip", "version": __version__},
+        "python": platform.python_version(),
+        "implementation": {
+            "name": platform.python_implementation(),
+        },
+    }
+
+    if data["implementation"]["name"] == 'CPython':
+        data["implementation"]["version"] = platform.python_version()
+    elif data["implementation"]["name"] == 'PyPy':
+        if sys.pypy_version_info.releaselevel == 'final':
+            pypy_version_info = sys.pypy_version_info[:3]
+        else:
+            pypy_version_info = sys.pypy_version_info
+        data["implementation"]["version"] = ".".join(
+            [str(x) for x in pypy_version_info]
+        )
+    elif data["implementation"]["name"] == 'Jython':
+        # Complete Guess
+        data["implementation"]["version"] = platform.python_version()
+    elif data["implementation"]["name"] == 'IronPython':
+        # Complete Guess
+        data["implementation"]["version"] = platform.python_version()
+
+    if sys.platform.startswith("linux"):
+        from pip._vendor import distro
+        distro_infos = dict(filter(
+            lambda x: x[1],
+            zip(["name", "version", "id"], distro.linux_distribution()),
+        ))
+        libc = dict(filter(
+            lambda x: x[1],
+            zip(["lib", "version"], libc_ver()),
+        ))
+        if libc:
+            distro_infos["libc"] = libc
+        if distro_infos:
+            data["distro"] = distro_infos
+
+    if sys.platform.startswith("darwin") and platform.mac_ver()[0]:
+        data["distro"] = {"name": "macOS", "version": platform.mac_ver()[0]}
+
+    if platform.system():
+        data.setdefault("system", {})["name"] = platform.system()
+
+    if platform.release():
+        data.setdefault("system", {})["release"] = platform.release()
+
+    if platform.machine():
+        data["cpu"] = platform.machine()
+
+    if has_tls():
+        import _ssl as ssl
+        data["openssl_version"] = ssl.OPENSSL_VERSION
+
+    setuptools_version = get_installed_version("setuptools")
+    if setuptools_version is not None:
+        data["setuptools_version"] = setuptools_version
+
+    # Use None rather than False so as not to give the impression that
+    # pip knows it is not being run under CI.  Rather, it is a null or
+    # inconclusive result.  Also, we include some value rather than no
+    # value to make it easier to know that the check has been run.
+    data["ci"] = True if looks_like_ci() else None
+
+    user_data = os.environ.get("PIP_USER_AGENT_USER_DATA")
+    if user_data is not None:
+        data["user_data"] = user_data
+
+    return "{data[installer][name]}/{data[installer][version]} {json}".format(
+        data=data,
+        json=json.dumps(data, separators=(",", ":"), sort_keys=True),
+    )
+
+
+class LocalFSAdapter(BaseAdapter):
+
+    def send(self, request, stream=None, timeout=None, verify=None, cert=None,
+             proxies=None):
+        pathname = url_to_path(request.url)
+
+        resp = Response()
+        resp.status_code = 200
+        resp.url = request.url
+
+        try:
+            stats = os.stat(pathname)
+        except OSError as exc:
+            resp.status_code = 404
+            resp.raw = exc
+        else:
+            modified = email.utils.formatdate(stats.st_mtime, usegmt=True)
+            content_type = mimetypes.guess_type(pathname)[0] or "text/plain"
+            resp.headers = CaseInsensitiveDict({
+                "Content-Type": content_type,
+                "Content-Length": stats.st_size,
+                "Last-Modified": modified,
+            })
+
+            resp.raw = open(pathname, "rb")
+            resp.close = resp.raw.close
+
+        return resp
+
+    def close(self):
+        pass
+
+
+class InsecureHTTPAdapter(HTTPAdapter):
+
+    def cert_verify(self, conn, url, verify, cert):
+        super(InsecureHTTPAdapter, self).cert_verify(
+            conn=conn, url=url, verify=False, cert=cert
+        )
+
+
+class PipSession(requests.Session):
+
+    timeout = None  # type: Optional[int]
+
+    def __init__(self, *args, **kwargs):
+        """
+        :param trusted_hosts: Domains not to emit warnings for when not using
+            HTTPS.
+        """
+        retries = kwargs.pop("retries", 0)
+        cache = kwargs.pop("cache", None)
+        trusted_hosts = kwargs.pop("trusted_hosts", [])  # type: List[str]
+        index_urls = kwargs.pop("index_urls", None)
+
+        super(PipSession, self).__init__(*args, **kwargs)
+
+        # Namespace the attribute with "pip_" just in case to prevent
+        # possible conflicts with the base class.
+        self.pip_trusted_origins = []  # type: List[Tuple[str, Optional[int]]]
+
+        # Attach our User Agent to the request
+        self.headers["User-Agent"] = user_agent()
+
+        # Attach our Authentication handler to the session
+        self.auth = MultiDomainBasicAuth(index_urls=index_urls)
+
+        # Create our urllib3.Retry instance which will allow us to customize
+        # how we handle retries.
+        retries = urllib3.Retry(
+            # Set the total number of retries that a particular request can
+            # have.
+            total=retries,
+
+            # A 503 error from PyPI typically means that the Fastly -> Origin
+            # connection got interrupted in some way. A 503 error in general
+            # is typically considered a transient error so we'll go ahead and
+            # retry it.
+            # A 500 may indicate transient error in Amazon S3
+            # A 520 or 527 - may indicate transient error in CloudFlare
+            status_forcelist=[500, 503, 520, 527],
+
+            # Add a small amount of back off between failed requests in
+            # order to prevent hammering the service.
+            backoff_factor=0.25,
+        )
+
+        # We want to _only_ cache responses on securely fetched origins. We do
+        # this because we can't validate the response of an insecurely fetched
+        # origin, and we don't want someone to be able to poison the cache and
+        # require manual eviction from the cache to fix it.
+        if cache:
+            secure_adapter = CacheControlAdapter(
+                cache=SafeFileCache(cache),
+                max_retries=retries,
+            )
+        else:
+            secure_adapter = HTTPAdapter(max_retries=retries)
+
+        # Our Insecure HTTPAdapter disables HTTPS validation. It does not
+        # support caching (see above) so we'll use it for all http:// URLs as
+        # well as any https:// host that we've marked as ignoring TLS errors
+        # for.
+        insecure_adapter = InsecureHTTPAdapter(max_retries=retries)
+        # Save this for later use in add_insecure_host().
+        self._insecure_adapter = insecure_adapter
+
+        self.mount("https://", secure_adapter)
+        self.mount("http://", insecure_adapter)
+
+        # Enable file:// urls
+        self.mount("file://", LocalFSAdapter())
+
+        for host in trusted_hosts:
+            self.add_trusted_host(host, suppress_logging=True)
+
+    def add_trusted_host(self, host, source=None, suppress_logging=False):
+        # type: (str, Optional[str], bool) -> None
+        """
+        :param host: It is okay to provide a host that has previously been
+            added.
+        :param source: An optional source string, for logging where the host
+            string came from.
+        """
+        if not suppress_logging:
+            msg = 'adding trusted host: {!r}'.format(host)
+            if source is not None:
+                msg += ' (from {})'.format(source)
+            logger.info(msg)
+
+        host_port = parse_netloc(host)
+        if host_port not in self.pip_trusted_origins:
+            self.pip_trusted_origins.append(host_port)
+
+        self.mount(build_url_from_netloc(host) + '/', self._insecure_adapter)
+        if not host_port[1]:
+            # Mount wildcard ports for the same host.
+            self.mount(
+                build_url_from_netloc(host) + ':',
+                self._insecure_adapter
+            )
+
+    def iter_secure_origins(self):
+        # type: () -> Iterator[SecureOrigin]
+        for secure_origin in SECURE_ORIGINS:
+            yield secure_origin
+        for host, port in self.pip_trusted_origins:
+            yield ('*', host, '*' if port is None else port)
+
+    def is_secure_origin(self, location):
+        # type: (Link) -> bool
+        # Determine if this url used a secure transport mechanism
+        parsed = urllib_parse.urlparse(str(location))
+        origin_protocol, origin_host, origin_port = (
+            parsed.scheme, parsed.hostname, parsed.port,
+        )
+
+        # The protocol to use to see if the protocol matches.
+        # Don't count the repository type as part of the protocol: in
+        # cases such as "git+ssh", only use "ssh". (I.e., Only verify against
+        # the last scheme.)
+        origin_protocol = origin_protocol.rsplit('+', 1)[-1]
+
+        # Determine if our origin is a secure origin by looking through our
+        # hardcoded list of secure origins, as well as any additional ones
+        # configured on this PackageFinder instance.
+        for secure_origin in self.iter_secure_origins():
+            secure_protocol, secure_host, secure_port = secure_origin
+            if origin_protocol != secure_protocol and secure_protocol != "*":
+                continue
+
+            try:
+                addr = ipaddress.ip_address(
+                    None
+                    if origin_host is None
+                    else six.ensure_text(origin_host)
+                )
+                network = ipaddress.ip_network(
+                    six.ensure_text(secure_host)
+                )
+            except ValueError:
+                # We don't have both a valid address or a valid network, so
+                # we'll check this origin against hostnames.
+                if (
+                    origin_host and
+                    origin_host.lower() != secure_host.lower() and
+                    secure_host != "*"
+                ):
+                    continue
+            else:
+                # We have a valid address and network, so see if the address
+                # is contained within the network.
+                if addr not in network:
+                    continue
+
+            # Check to see if the port matches.
+            if (
+                origin_port != secure_port and
+                secure_port != "*" and
+                secure_port is not None
+            ):
+                continue
+
+            # If we've gotten here, then this origin matches the current
+            # secure origin and we should return True
+            return True
+
+        # If we've gotten to this point, then the origin isn't secure and we
+        # will not accept it as a valid location to search. We will however
+        # log a warning that we are ignoring it.
+        logger.warning(
+            "The repository located at %s is not a trusted or secure host and "
+            "is being ignored. If this repository is available via HTTPS we "
+            "recommend you use HTTPS instead, otherwise you may silence "
+            "this warning and allow it anyway with '--trusted-host %s'.",
+            origin_host,
+            origin_host,
+        )
+
+        return False
+
+    def request(self, method, url, *args, **kwargs):
+        # Allow setting a default timeout on a session
+        kwargs.setdefault("timeout", self.timeout)
+
+        # Dispatch the actual request
+        return super(PipSession, self).request(method, url, *args, **kwargs)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/utils.py b/iot_env/lib/python3.8/site-packages/pip/_internal/network/utils.py
new file mode 100644
index 0000000..a19050b
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/network/utils.py
@@ -0,0 +1,48 @@
+from pip._vendor.requests.models import CONTENT_CHUNK_SIZE, Response
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Iterator
+
+
+def response_chunks(response, chunk_size=CONTENT_CHUNK_SIZE):
+    # type: (Response, int) -> Iterator[bytes]
+    """Given a requests Response, provide the data chunks.
+    """
+    try:
+        # Special case for urllib3.
+        for chunk in response.raw.stream(
+            chunk_size,
+            # We use decode_content=False here because we don't
+            # want urllib3 to mess with the raw bytes we get
+            # from the server. If we decompress inside of
+            # urllib3 then we cannot verify the checksum
+            # because the checksum will be of the compressed
+            # file. This breakage will only occur if the
+            # server adds a Content-Encoding header, which
+            # depends on how the server was configured:
+            # - Some servers will notice that the file isn't a
+            #   compressible file and will leave the file alone
+            #   and with an empty Content-Encoding
+            # - Some servers will notice that the file is
+            #   already compressed and will leave the file
+            #   alone and will add a Content-Encoding: gzip
+            #   header
+            # - Some servers won't notice anything at all and
+            #   will take a file that's already been compressed
+            #   and compress it again and set the
+            #   Content-Encoding: gzip header
+            #
+            # By setting this not to decode automatically we
+            # hope to eliminate problems with the second case.
+            decode_content=False,
+        ):
+            yield chunk
+    except AttributeError:
+        # Standard file-like object.
+        while True:
+            chunk = response.raw.read(chunk_size)
+            if not chunk:
+                break
+            yield chunk
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py b/iot_env/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py
new file mode 100644
index 0000000..121edd9
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py
@@ -0,0 +1,44 @@
+"""xmlrpclib.Transport implementation
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+import logging
+
+from pip._vendor import requests
+# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is
+#       why we ignore the type on this import
+from pip._vendor.six.moves import xmlrpc_client  # type: ignore
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+
+logger = logging.getLogger(__name__)
+
+
+class PipXmlrpcTransport(xmlrpc_client.Transport):
+    """Provide a `xmlrpclib.Transport` implementation via a `PipSession`
+    object.
+    """
+
+    def __init__(self, index_url, session, use_datetime=False):
+        xmlrpc_client.Transport.__init__(self, use_datetime)
+        index_parts = urllib_parse.urlparse(index_url)
+        self._scheme = index_parts.scheme
+        self._session = session
+
+    def request(self, host, handler, request_body, verbose=False):
+        parts = (self._scheme, host, handler, None, None, None)
+        url = urllib_parse.urlunparse(parts)
+        try:
+            headers = {'Content-Type': 'text/xml'}
+            response = self._session.post(url, data=request_body,
+                                          headers=headers, stream=True)
+            response.raise_for_status()
+            self.verbose = verbose
+            return self.parse_response(response.raw)
+        except requests.HTTPError as exc:
+            logger.critical(
+                "HTTP error %s while getting %s",
+                exc.response.status_code, url,
+            )
+            raise
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..dc2388ee7787fdf7c0b9f381d78a790647b3ff55
GIT binary patch
literal 160
zcmWIL<>g{vU|{fR*_{HSAA<;F%*epN;K0DZP|U)>z>vZa%%I8Wx00a<B#a<_x$2kX
z7U&mb7U-7d6(lBSr>5wZXQZa)=;oxxXBy=frGVu0<1_P0Qj78ubM*5IQi~ExGV}9_
g_2c6+^D;}~<Mj$EZ*kb<=BJeAq}qXu{|s^l0Kriwg#Z8m

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/check.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/check.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2c0f3337283f3f9512007be37b3fb14b928f05a5
GIT binary patch
literal 3656
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
Ha)<%|SSrOj

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7b41ad36f81ad9ade069aa6e32d93faf7c2f9de4
GIT binary patch
literal 5803
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
UE*5Zm4$?Y<k>9xL8Mry@06U94X#fBK

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7b06665d431b69e98e27b686dd3f618063fbb3ba
GIT binary patch
literal 11162
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..46941f3abba90f7e9fef41fca691f535144d7544
GIT binary patch
literal 166
zcmWIL<>g{vU|{fR*_{HSAA<;F%*epN;K0DZP|U)>z>vZa%%I8Wx00a<B#a<_dFz+t
z7U&mb7U-7d6(lBSr>5wZXQZa)=;oxxXBy=frGVu0<1_P0Qj78ubM*5IQi~ExGV}9_
m^^;07b5iu<<1_OzOXB183My}L*yQG?l;)(`fh_q9atr{);3>)g

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f46a9934fd3d11c655c8fb2a3c3a7598946bebca
GIT binary patch
literal 1208
zcmWIL<>g{vU|{fR*_|TI%E0g##6iZ)3=9ko3=9m#SquyeDGX5zDU2yhIgC+^V45k4
zDTOhGIfpryC5nX+B*&7&n#&f&24=J7u;+3_aWFEZaukK6Fs88OaOQGFae?L7bGUPP
zqIeh?QW+QUrt&RhjN(t>Na1W@h!RL)3TDvcsxt9SElEsCEJ;*IPt8j$N-W9D&r`_B
zPtQzNNXsu$D9$e}N={Ws$t*4@%1kN+$rkHzy#%@4Pm}SMbWv$uUTRT%d1gsQd~rc0
zn3J1YT%4Gms>yhZHzYN;z$LRNHMu0es8W;hmXL2`KxDkLhpV%9d{C&LpQoR@CgUvu
zr_#)v6xY16%%c3f+|;}hkXS%!fvKUnM}B^`b7D?TYEd#1$Wka~V_;wag{U(q%pw>V
z7)n5)!j!_?%T&u$!<5BX%Ur|IugAzx!j!_&%vj4(!?=LChGijRzW^gc4dViq8s>$J
zwXER`rVN1$K@1TL2v!Me7UKf88s-|-g`f~(t;%tS1Wc+zE-a`@i!<}m6>?LPGZOPM
zi*t(=Qc{bPi!zf^Qxr1u6ariW6if}x^|-hc6ciMKQcFsU@`@EoGE!kdoSK3#Dg_og
zdSKO6{JHrlsYQ9ZFuOuDnQpOUXXd5c5=hU<PfE<msf^D}%u7s9O{tOyC`v6zECRWu
zJR>zV2X3k+dl4u_-C`+7EXgPW1>7yc;?ksoqWt94;^KHnq}@^|0BcW;huIaMmR}T~
z1d5Azuz9zb@{4b=WaVe(X|mnogh-_3mEB@bN=(j9%}cq(57$|eTac1jbc+Wr0OGMh
zE#d(spUk|p{P>j2qLmCqA`A=+zr6KJatrheG7EG|^9n%brRah!)y+wb&os&}N&(5~
z$7kl1q!#5R=IG}aKvQS2KG-GtFst+mDsKrw6EDIqLZFl(0ZJ}xOpHtnO#j(f*qGQ@
zI2d^tSs0oAORyA)F)%P_3f^Lmk59=@j*q{^o|B)Ro|%_k#KXYAa7(Trvp^4SyIyHY
zW=^plA`BscDuYc?NosBZ$fJ-bkix2@vH)Ze3&<jIR0Uwa#i!<#6|sV3rNOdgsd*{+
zMS2C`ETLCklvq%ZT2x#F$_2ML(^E@)^3&5(i*9km$LA&HrpCwLVgvalwFvA-aBw3L
nq9AiQY;yBcN^?@}7(w9#iVzlN4n__p9!4HU9wrtr$;Au+N49Ei

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8dce93fb4e4e01cb9a82abcb54a300e59fce00d8
GIT binary patch
literal 3268
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
C7J#+@

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3d1fbf687bb688d3fda92f90b7cc3cd2b818a76b
GIT binary patch
literal 1306
zcmWIL<>g{vU|{fR*`2bNm4V?gh=Yuo85kHG7#J9e;}{qiQW#Pga~Pr^G-DKF3PTE0
z4pT036f+}8j5&uTmo<u&ks+0}$RmXzg(ZhAmpzI-mm`V;EYF(5nadT$#mJD#uz)+2
zXCY%0ZwgxqdkaGpUkYO|gC@sIkj;LYjJKqVO7rqki{i^OOETh%3o^l++|=UY#Pn26
z##=(ZkpYqM&K|DL-tj@9etw>Q?wU-uSbQ>zOKx%a7nEe?=OyN7GTsshNG&imH228Q
z&vs7C$w@6rW(C;*#q10W44e!M49+0$&0t_)s9{QB%;qfSDPd@0tYI!vDPdf|l)_ZQ
zkj5y+u#l0F0p!RkrxL~m%qh$@EDM<!8A@1ESQfC>Ff3$jW~^ncVO+pg!@7{MUxbmN
zhB1r1hNXrng|(NdmMxsYlp&BIh#`U@oFPw%g`tEao2#gUkpTq3wy@POfXs^o+Y!M~
z!kNXjfV+mJhHW8JFoPz0Rj*TNW=@JieqO4AXI^nhVopv_YGG++QEF~#UWr0!ab{k+
zLP<udLV#<4f~ldoLK0YcK~a8kYH_h17ng#9f<jPgNoi4Du|h#&Nrpm6zCw9MYHE%`
zW|~5AX);JzT4_#BC0J*Po`Qc#Mru)cW^t;HLJ?G-Uw&Sy9@r$mDmUlEyuADpu<8`3
zNon~-3aZ6W$G{v?o{^fTpsNdZk8VCVY7{by6$*+{i&OJTsw7=fi%T-|5<yX>kdj%H
znp~1!RB5H4T3jU$_A<z05Ql<{udY?lfSRlcN(Z^AC5b7CC5iEHtyMB^iJ3X6DG-;T
z>Q*h*<hjM?SX`W11hUVys3^ba7F$k!dU|TnE!I>pmo+6dsWiQaiGhLP7F$|=QEp<%
zEy3c_Bxq2^LlWjKZm@^q!7jVS=~|JT3ijG9ru^btET90s#gdhunWxEqizP2HH}w{K
zQetv;YF<haDAC>Gh3JL^NAWGzlGNOSlv`|2v$?>g#)I^&WGIqkU|{&=p<j|)pkI(#
zpj(<(05T~>7pzD(CpA9PD8DELB&Q#rnOBlpl$V&JpI?w#1P;?;eXv#fVAXmBmA8bz
ze2By23&7cf50w5jK$(JvhmnPejgjR)8xsp76C)236C=le7G@qs5Rd7f2n!!04<iR-
zku(DXgC_qic2Lk|=A{=2fI>^IAhSRZ?gYKklFXc9Jw(Vsf>a8dqLRu2kSU;|<`x^2
z!@|J8Pz1`Yx1_;Z%2M-E@{9B!F4ikAN-QWyEh;Wz1KG@(o?7AqiA9chaJa?C7lCp%
s*rDJML?Wa>S~zTS^HWN5QtcQ)o(H*~gOP)YhmnVgg;9W!hlz_B0BU%BPyhe`

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..75222725f32f3c03d9fa01ab2f96440470d9cdfb
GIT binary patch
literal 2567
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
Z<Y3}q7GdRK<Y8iA6k+0G<`CtO0{}6?)7bz3

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py
new file mode 100644
index 0000000..b13fbde
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py
@@ -0,0 +1,40 @@
+"""Metadata generation logic for source distributions.
+"""
+
+import logging
+import os
+
+from pip._internal.utils.subprocess import runner_with_spinner_message
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from pip._internal.build_env import BuildEnvironment
+    from pip._vendor.pep517.wrappers import Pep517HookCaller
+
+logger = logging.getLogger(__name__)
+
+
+def generate_metadata(build_env, backend):
+    # type: (BuildEnvironment, Pep517HookCaller) -> str
+    """Generate metadata using mechanisms described in PEP 517.
+
+    Returns the generated metadata directory.
+    """
+    metadata_tmpdir = TempDirectory(
+        kind="modern-metadata", globally_managed=True
+    )
+
+    metadata_dir = metadata_tmpdir.path
+
+    with build_env:
+        # Note that Pep517HookCaller implements a fallback for
+        # prepare_metadata_for_build_wheel, so we don't have to
+        # consider the possibility that this hook doesn't exist.
+        runner = runner_with_spinner_message("Preparing wheel metadata")
+        with backend.subprocess_runner(runner):
+            distinfo_dir = backend.prepare_metadata_for_build_wheel(
+                metadata_dir
+            )
+
+    return os.path.join(metadata_dir, distinfo_dir)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py
new file mode 100644
index 0000000..b6813f8
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py
@@ -0,0 +1,122 @@
+"""Metadata generation logic for legacy source distributions.
+"""
+
+import logging
+import os
+
+from pip._internal.exceptions import InstallationError
+from pip._internal.utils.misc import ensure_dir
+from pip._internal.utils.setuptools_build import make_setuptools_egg_info_args
+from pip._internal.utils.subprocess import call_subprocess
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.vcs import vcs
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional
+
+    from pip._internal.build_env import BuildEnvironment
+
+logger = logging.getLogger(__name__)
+
+
+def _find_egg_info(source_directory, is_editable):
+    # type: (str, bool) -> str
+    """Find an .egg-info in `source_directory`, based on `is_editable`.
+    """
+
+    def looks_like_virtual_env(path):
+        # type: (str) -> bool
+        return (
+            os.path.lexists(os.path.join(path, 'bin', 'python')) or
+            os.path.exists(os.path.join(path, 'Scripts', 'Python.exe'))
+        )
+
+    def locate_editable_egg_info(base):
+        # type: (str) -> List[str]
+        candidates = []  # type: List[str]
+        for root, dirs, files in os.walk(base):
+            for dir_ in vcs.dirnames:
+                if dir_ in dirs:
+                    dirs.remove(dir_)
+            # Iterate over a copy of ``dirs``, since mutating
+            # a list while iterating over it can cause trouble.
+            # (See https://github.com/pypa/pip/pull/462.)
+            for dir_ in list(dirs):
+                if looks_like_virtual_env(os.path.join(root, dir_)):
+                    dirs.remove(dir_)
+                # Also don't search through tests
+                elif dir_ == 'test' or dir_ == 'tests':
+                    dirs.remove(dir_)
+            candidates.extend(os.path.join(root, dir_) for dir_ in dirs)
+        return [f for f in candidates if f.endswith('.egg-info')]
+
+    def depth_of_directory(dir_):
+        # type: (str) -> int
+        return (
+            dir_.count(os.path.sep) +
+            (os.path.altsep and dir_.count(os.path.altsep) or 0)
+        )
+
+    base = source_directory
+    if is_editable:
+        filenames = locate_editable_egg_info(base)
+    else:
+        base = os.path.join(base, 'pip-egg-info')
+        filenames = os.listdir(base)
+
+    if not filenames:
+        raise InstallationError(
+            "Files/directories not found in {}".format(base)
+        )
+
+    # If we have more than one match, we pick the toplevel one.  This
+    # can easily be the case if there is a dist folder which contains
+    # an extracted tarball for testing purposes.
+    if len(filenames) > 1:
+        filenames.sort(key=depth_of_directory)
+
+    return os.path.join(base, filenames[0])
+
+
+def generate_metadata(
+    build_env,  # type: BuildEnvironment
+    setup_py_path,  # type: str
+    source_dir,  # type: str
+    editable,  # type: bool
+    isolated,  # type: bool
+    details,  # type: str
+):
+    # type: (...) -> str
+    """Generate metadata using setup.py-based defacto mechanisms.
+
+    Returns the generated metadata directory.
+    """
+    logger.debug(
+        'Running setup.py (path:%s) egg_info for package %s',
+        setup_py_path, details,
+    )
+
+    egg_info_dir = None  # type: Optional[str]
+    # For non-editable installs, don't put the .egg-info files at the root,
+    # to avoid confusion due to the source code being considered an installed
+    # egg.
+    if not editable:
+        egg_info_dir = os.path.join(source_dir, 'pip-egg-info')
+        # setuptools complains if the target directory does not exist.
+        ensure_dir(egg_info_dir)
+
+    args = make_setuptools_egg_info_args(
+        setup_py_path,
+        egg_info_dir=egg_info_dir,
+        no_user_config=isolated,
+    )
+
+    with build_env:
+        call_subprocess(
+            args,
+            cwd=source_dir,
+            command_desc='python setup.py egg_info',
+        )
+
+    # Return the .egg-info directory.
+    return _find_egg_info(source_dir, editable)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py
new file mode 100644
index 0000000..1266ce0
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py
@@ -0,0 +1,46 @@
+import logging
+import os
+
+from pip._internal.utils.subprocess import runner_with_spinner_message
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional
+    from pip._vendor.pep517.wrappers import Pep517HookCaller
+
+logger = logging.getLogger(__name__)
+
+
+def build_wheel_pep517(
+    name,  # type: str
+    backend,  # type: Pep517HookCaller
+    metadata_directory,  # type: str
+    build_options,  # type: List[str]
+    tempd,  # type: str
+):
+    # type: (...) -> Optional[str]
+    """Build one InstallRequirement using the PEP 517 build process.
+
+    Returns path to wheel if successfully built. Otherwise, returns None.
+    """
+    assert metadata_directory is not None
+    if build_options:
+        # PEP 517 does not support --build-options
+        logger.error('Cannot build wheel for %s using PEP 517 when '
+                     '--build-option is present' % (name,))
+        return None
+    try:
+        logger.debug('Destination directory: %s', tempd)
+
+        runner = runner_with_spinner_message(
+            'Building wheel for {} (PEP 517)'.format(name)
+        )
+        with backend.subprocess_runner(runner):
+            wheel_name = backend.build_wheel(
+                tempd,
+                metadata_directory=metadata_directory,
+            )
+    except Exception:
+        logger.error('Failed building wheel for %s', name)
+        return None
+    return os.path.join(tempd, wheel_name)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py
new file mode 100644
index 0000000..3ebd9fe
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py
@@ -0,0 +1,115 @@
+import logging
+import os.path
+
+from pip._internal.utils.setuptools_build import (
+    make_setuptools_bdist_wheel_args,
+)
+from pip._internal.utils.subprocess import (
+    LOG_DIVIDER,
+    call_subprocess,
+    format_command_args,
+)
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.ui import open_spinner
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional, Text
+
+logger = logging.getLogger(__name__)
+
+
+def format_command_result(
+    command_args,  # type: List[str]
+    command_output,  # type: Text
+):
+    # type: (...) -> str
+    """Format command information for logging."""
+    command_desc = format_command_args(command_args)
+    text = 'Command arguments: {}\n'.format(command_desc)
+
+    if not command_output:
+        text += 'Command output: None'
+    elif logger.getEffectiveLevel() > logging.DEBUG:
+        text += 'Command output: [use --verbose to show]'
+    else:
+        if not command_output.endswith('\n'):
+            command_output += '\n'
+        text += 'Command output:\n{}{}'.format(command_output, LOG_DIVIDER)
+
+    return text
+
+
+def get_legacy_build_wheel_path(
+    names,  # type: List[str]
+    temp_dir,  # type: str
+    name,  # type: str
+    command_args,  # type: List[str]
+    command_output,  # type: Text
+):
+    # type: (...) -> Optional[str]
+    """Return the path to the wheel in the temporary build directory."""
+    # Sort for determinism.
+    names = sorted(names)
+    if not names:
+        msg = (
+            'Legacy build of wheel for {!r} created no files.\n'
+        ).format(name)
+        msg += format_command_result(command_args, command_output)
+        logger.warning(msg)
+        return None
+
+    if len(names) > 1:
+        msg = (
+            'Legacy build of wheel for {!r} created more than one file.\n'
+            'Filenames (choosing first): {}\n'
+        ).format(name, names)
+        msg += format_command_result(command_args, command_output)
+        logger.warning(msg)
+
+    return os.path.join(temp_dir, names[0])
+
+
+def build_wheel_legacy(
+    name,  # type: str
+    setup_py_path,  # type: str
+    source_dir,  # type: str
+    global_options,  # type: List[str]
+    build_options,  # type: List[str]
+    tempd,  # type: str
+):
+    # type: (...) -> Optional[str]
+    """Build one unpacked package using the "legacy" build process.
+
+    Returns path to wheel if successfully built. Otherwise, returns None.
+    """
+    wheel_args = make_setuptools_bdist_wheel_args(
+        setup_py_path,
+        global_options=global_options,
+        build_options=build_options,
+        destination_dir=tempd,
+    )
+
+    spin_message = 'Building wheel for %s (setup.py)' % (name,)
+    with open_spinner(spin_message) as spinner:
+        logger.debug('Destination directory: %s', tempd)
+
+        try:
+            output = call_subprocess(
+                wheel_args,
+                cwd=source_dir,
+                spinner=spinner,
+            )
+        except Exception:
+            spinner.finish("error")
+            logger.error('Failed building wheel for %s', name)
+            return None
+
+        names = os.listdir(tempd)
+        wheel_path = get_legacy_build_wheel_path(
+            names=names,
+            temp_dir=tempd,
+            name=name,
+            command_args=wheel_args,
+            command_output=output,
+        )
+        return wheel_path
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/check.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/check.py
new file mode 100644
index 0000000..b85a123
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/check.py
@@ -0,0 +1,163 @@
+"""Validation of dependencies of packages
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+# mypy: disallow-untyped-defs=False
+
+import logging
+from collections import namedtuple
+
+from pip._vendor.packaging.utils import canonicalize_name
+from pip._vendor.pkg_resources import RequirementParseError
+
+from pip._internal.distributions import (
+    make_distribution_for_install_requirement,
+)
+from pip._internal.utils.misc import get_installed_distributions
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+logger = logging.getLogger(__name__)
+
+if MYPY_CHECK_RUNNING:
+    from pip._internal.req.req_install import InstallRequirement
+    from typing import (
+        Any, Callable, Dict, Optional, Set, Tuple, List
+    )
+
+    # Shorthands
+    PackageSet = Dict[str, 'PackageDetails']
+    Missing = Tuple[str, Any]
+    Conflicting = Tuple[str, str, Any]
+
+    MissingDict = Dict[str, List[Missing]]
+    ConflictingDict = Dict[str, List[Conflicting]]
+    CheckResult = Tuple[MissingDict, ConflictingDict]
+
+PackageDetails = namedtuple('PackageDetails', ['version', 'requires'])
+
+
+def create_package_set_from_installed(**kwargs):
+    # type: (**Any) -> Tuple[PackageSet, bool]
+    """Converts a list of distributions into a PackageSet.
+    """
+    # Default to using all packages installed on the system
+    if kwargs == {}:
+        kwargs = {"local_only": False, "skip": ()}
+
+    package_set = {}
+    problems = False
+    for dist in get_installed_distributions(**kwargs):
+        name = canonicalize_name(dist.project_name)
+        try:
+            package_set[name] = PackageDetails(dist.version, dist.requires())
+        except RequirementParseError as e:
+            # Don't crash on broken metadata
+            logger.warning("Error parsing requirements for %s: %s", name, e)
+            problems = True
+    return package_set, problems
+
+
+def check_package_set(package_set, should_ignore=None):
+    # type: (PackageSet, Optional[Callable[[str], bool]]) -> CheckResult
+    """Check if a package set is consistent
+
+    If should_ignore is passed, it should be a callable that takes a
+    package name and returns a boolean.
+    """
+    if should_ignore is None:
+        def should_ignore(name):
+            return False
+
+    missing = {}
+    conflicting = {}
+
+    for package_name in package_set:
+        # Info about dependencies of package_name
+        missing_deps = set()  # type: Set[Missing]
+        conflicting_deps = set()  # type: Set[Conflicting]
+
+        if should_ignore(package_name):
+            continue
+
+        for req in package_set[package_name].requires:
+            name = canonicalize_name(req.project_name)  # type: str
+
+            # Check if it's missing
+            if name not in package_set:
+                missed = True
+                if req.marker is not None:
+                    missed = req.marker.evaluate()
+                if missed:
+                    missing_deps.add((name, req))
+                continue
+
+            # Check if there's a conflict
+            version = package_set[name].version  # type: str
+            if not req.specifier.contains(version, prereleases=True):
+                conflicting_deps.add((name, version, req))
+
+        if missing_deps:
+            missing[package_name] = sorted(missing_deps, key=str)
+        if conflicting_deps:
+            conflicting[package_name] = sorted(conflicting_deps, key=str)
+
+    return missing, conflicting
+
+
+def check_install_conflicts(to_install):
+    # type: (List[InstallRequirement]) -> Tuple[PackageSet, CheckResult]
+    """For checking if the dependency graph would be consistent after \
+    installing given requirements
+    """
+    # Start from the current state
+    package_set, _ = create_package_set_from_installed()
+    # Install packages
+    would_be_installed = _simulate_installation_of(to_install, package_set)
+
+    # Only warn about directly-dependent packages; create a whitelist of them
+    whitelist = _create_whitelist(would_be_installed, package_set)
+
+    return (
+        package_set,
+        check_package_set(
+            package_set, should_ignore=lambda name: name not in whitelist
+        )
+    )
+
+
+def _simulate_installation_of(to_install, package_set):
+    # type: (List[InstallRequirement], PackageSet) -> Set[str]
+    """Computes the version of packages after installing to_install.
+    """
+
+    # Keep track of packages that were installed
+    installed = set()
+
+    # Modify it as installing requirement_set would (assuming no errors)
+    for inst_req in to_install:
+        abstract_dist = make_distribution_for_install_requirement(inst_req)
+        dist = abstract_dist.get_pkg_resources_distribution()
+
+        name = canonicalize_name(dist.key)
+        package_set[name] = PackageDetails(dist.version, dist.requires())
+
+        installed.add(name)
+
+    return installed
+
+
+def _create_whitelist(would_be_installed, package_set):
+    # type: (Set[str], PackageSet) -> Set[str]
+    packages_affected = set(would_be_installed)
+
+    for package_name in package_set:
+        if package_name in packages_affected:
+            continue
+
+        for req in package_set[package_name].requires:
+            if canonicalize_name(req.name) in packages_affected:
+                packages_affected.add(package_name)
+                break
+
+    return packages_affected
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/freeze.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/freeze.py
new file mode 100644
index 0000000..36a5c33
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/freeze.py
@@ -0,0 +1,265 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import collections
+import logging
+import os
+import re
+
+from pip._vendor import six
+from pip._vendor.packaging.utils import canonicalize_name
+from pip._vendor.pkg_resources import RequirementParseError
+
+from pip._internal.exceptions import BadCommand, InstallationError
+from pip._internal.req.constructors import (
+    install_req_from_editable,
+    install_req_from_line,
+)
+from pip._internal.req.req_file import COMMENT_RE
+from pip._internal.utils.misc import (
+    dist_is_editable,
+    get_installed_distributions,
+)
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Iterator, Optional, List, Container, Set, Dict, Tuple, Iterable, Union
+    )
+    from pip._internal.cache import WheelCache
+    from pip._vendor.pkg_resources import (
+        Distribution, Requirement
+    )
+
+    RequirementInfo = Tuple[Optional[Union[str, Requirement]], bool, List[str]]
+
+
+logger = logging.getLogger(__name__)
+
+
+def freeze(
+    requirement=None,  # type: Optional[List[str]]
+    find_links=None,  # type: Optional[List[str]]
+    local_only=None,  # type: Optional[bool]
+    user_only=None,  # type: Optional[bool]
+    paths=None,  # type: Optional[List[str]]
+    skip_regex=None,  # type: Optional[str]
+    isolated=False,  # type: bool
+    wheel_cache=None,  # type: Optional[WheelCache]
+    exclude_editable=False,  # type: bool
+    skip=()  # type: Container[str]
+):
+    # type: (...) -> Iterator[str]
+    find_links = find_links or []
+    skip_match = None
+
+    if skip_regex:
+        skip_match = re.compile(skip_regex).search
+
+    for link in find_links:
+        yield '-f %s' % link
+    installations = {}  # type: Dict[str, FrozenRequirement]
+    for dist in get_installed_distributions(local_only=local_only,
+                                            skip=(),
+                                            user_only=user_only,
+                                            paths=paths):
+        try:
+            req = FrozenRequirement.from_dist(dist)
+        except RequirementParseError as exc:
+            # We include dist rather than dist.project_name because the
+            # dist string includes more information, like the version and
+            # location. We also include the exception message to aid
+            # troubleshooting.
+            logger.warning(
+                'Could not generate requirement for distribution %r: %s',
+                dist, exc
+            )
+            continue
+        if exclude_editable and req.editable:
+            continue
+        installations[req.canonical_name] = req
+
+    if requirement:
+        # the options that don't get turned into an InstallRequirement
+        # should only be emitted once, even if the same option is in multiple
+        # requirements files, so we need to keep track of what has been emitted
+        # so that we don't emit it again if it's seen again
+        emitted_options = set()  # type: Set[str]
+        # keep track of which files a requirement is in so that we can
+        # give an accurate warning if a requirement appears multiple times.
+        req_files = collections.defaultdict(list)  # type: Dict[str, List[str]]
+        for req_file_path in requirement:
+            with open(req_file_path) as req_file:
+                for line in req_file:
+                    if (not line.strip() or
+                            line.strip().startswith('#') or
+                            (skip_match and skip_match(line)) or
+                            line.startswith((
+                                '-r', '--requirement',
+                                '-Z', '--always-unzip',
+                                '-f', '--find-links',
+                                '-i', '--index-url',
+                                '--pre',
+                                '--trusted-host',
+                                '--process-dependency-links',
+                                '--extra-index-url'))):
+                        line = line.rstrip()
+                        if line not in emitted_options:
+                            emitted_options.add(line)
+                            yield line
+                        continue
+
+                    if line.startswith('-e') or line.startswith('--editable'):
+                        if line.startswith('-e'):
+                            line = line[2:].strip()
+                        else:
+                            line = line[len('--editable'):].strip().lstrip('=')
+                        line_req = install_req_from_editable(
+                            line,
+                            isolated=isolated,
+                            wheel_cache=wheel_cache,
+                        )
+                    else:
+                        line_req = install_req_from_line(
+                            COMMENT_RE.sub('', line).strip(),
+                            isolated=isolated,
+                            wheel_cache=wheel_cache,
+                        )
+
+                    if not line_req.name:
+                        logger.info(
+                            "Skipping line in requirement file [%s] because "
+                            "it's not clear what it would install: %s",
+                            req_file_path, line.strip(),
+                        )
+                        logger.info(
+                            "  (add #egg=PackageName to the URL to avoid"
+                            " this warning)"
+                        )
+                    else:
+                        line_req_canonical_name = canonicalize_name(
+                            line_req.name)
+                        if line_req_canonical_name not in installations:
+                            # either it's not installed, or it is installed
+                            # but has been processed already
+                            if not req_files[line_req.name]:
+                                logger.warning(
+                                    "Requirement file [%s] contains %s, but "
+                                    "package %r is not installed",
+                                    req_file_path,
+                                    COMMENT_RE.sub('', line).strip(),
+                                    line_req.name
+                                )
+                            else:
+                                req_files[line_req.name].append(req_file_path)
+                        else:
+                            yield str(installations[
+                                line_req_canonical_name]).rstrip()
+                            del installations[line_req_canonical_name]
+                            req_files[line_req.name].append(req_file_path)
+
+        # Warn about requirements that were included multiple times (in a
+        # single requirements file or in different requirements files).
+        for name, files in six.iteritems(req_files):
+            if len(files) > 1:
+                logger.warning("Requirement %s included multiple times [%s]",
+                               name, ', '.join(sorted(set(files))))
+
+        yield(
+            '## The following requirements were added by '
+            'pip freeze:'
+        )
+    for installation in sorted(
+            installations.values(), key=lambda x: x.name.lower()):
+        if installation.canonical_name not in skip:
+            yield str(installation).rstrip()
+
+
+def get_requirement_info(dist):
+    # type: (Distribution) -> RequirementInfo
+    """
+    Compute and return values (req, editable, comments) for use in
+    FrozenRequirement.from_dist().
+    """
+    if not dist_is_editable(dist):
+        return (None, False, [])
+
+    location = os.path.normcase(os.path.abspath(dist.location))
+
+    from pip._internal.vcs import vcs, RemoteNotFoundError
+    vcs_backend = vcs.get_backend_for_dir(location)
+
+    if vcs_backend is None:
+        req = dist.as_requirement()
+        logger.debug(
+            'No VCS found for editable requirement "%s" in: %r', req,
+            location,
+        )
+        comments = [
+            '# Editable install with no version control ({})'.format(req)
+        ]
+        return (location, True, comments)
+
+    try:
+        req = vcs_backend.get_src_requirement(location, dist.project_name)
+    except RemoteNotFoundError:
+        req = dist.as_requirement()
+        comments = [
+            '# Editable {} install with no remote ({})'.format(
+                type(vcs_backend).__name__, req,
+            )
+        ]
+        return (location, True, comments)
+
+    except BadCommand:
+        logger.warning(
+            'cannot determine version of editable source in %s '
+            '(%s command not found in path)',
+            location,
+            vcs_backend.name,
+        )
+        return (None, True, [])
+
+    except InstallationError as exc:
+        logger.warning(
+            "Error when trying to get requirement for VCS system %s, "
+            "falling back to uneditable format", exc
+        )
+    else:
+        if req is not None:
+            return (req, True, [])
+
+    logger.warning(
+        'Could not determine repository location of %s', location
+    )
+    comments = ['## !! Could not determine repository location']
+
+    return (None, False, comments)
+
+
+class FrozenRequirement(object):
+    def __init__(self, name, req, editable, comments=()):
+        # type: (str, Union[str, Requirement], bool, Iterable[str]) -> None
+        self.name = name
+        self.canonical_name = canonicalize_name(name)
+        self.req = req
+        self.editable = editable
+        self.comments = comments
+
+    @classmethod
+    def from_dist(cls, dist):
+        # type: (Distribution) -> FrozenRequirement
+        req, editable, comments = get_requirement_info(dist)
+        if req is None:
+            req = dist.as_requirement()
+
+        return cls(dist.project_name, req, editable, comments=comments)
+
+    def __str__(self):
+        req = self.req
+        if self.editable:
+            req = '-e %s' % req
+        return '\n'.join(list(self.comments) + [str(req)]) + '\n'
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py
new file mode 100644
index 0000000..24d6a5d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py
@@ -0,0 +1,2 @@
+"""For modules related to installing packages.
+"""
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..51ea730080ba5c633207cfdcc4c87435106f1642
GIT binary patch
literal 224
zcmWIL<>g{vU|{fR*_~p{z`*br#6iZ43=9ko3=9m#91IK$DGX5zDU87knoLzXZuvzD
zx%nxjIjO}8MX5Q7C8;S2CHV@OdBr7(IXRhm=?Vpj$=QkNsl|F+ewvK8*yH0<@{{A^
zS27eaF)%=gU%vV!xdr+KnFYF~c_8JfDZ1qusi`@-IjQlPM)^f4AUXZ`%)FA+qP)Z$
q{rrN|qQsKS{Jdg)s73nm@tJv<CGqik1(mlrY#=VO1G)M$$QuCpi9gH$

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cece72deb86cbad3141ef43c8186a29d8fd49dfd
GIT binary patch
literal 1302
zcmWIL<>g{vU|{fR*`0EMm4V?gh=Yuo85kHG7#J9e%NQ6KQW&BbQW#U1au}l+Qy5d2
zbC`0OqnH^%Vk|i<xvWvFU^Z(GTP}MPJDAOu!;#Aw#mUH!%2||<!kEII!<EY&#huF&
z#goe$#S2!$k;9kEAH~nekjl6~AXRW7W0X(|X9`yfLzHj|Q!s-jca^<QYI<UFr9x^-
zW=UdFPO3s?UU5lcPEKM;W`3SRK~a8kYH_iSLZ)7-o<c%#YDsB<UO}ZoN@`hZPJTgx
z9@k5dm;5vtZ*gVjrKIMS#OLIvYck%F$xX~ojR&hQ$<NOzj)&@qPb^9=)?~cJpPZPJ
z6JK1K1hqkv@s^NpWI$xRvxlp*cYIK&pP#3nyC(B37N5-Gl3N`91t9k%=G@{4PAx1=
z%}Y+zWV|KdRGOKS;+j{MS(Klbo0?aW3=VOSix?OfxEUB2KzwIV7>6)0FqAMXU`%1G
zVO_|?$WX#m!&bvs!%)Ls!&Jju!;-?(%U;V>!raWzuf)hu!_hCq$WX#k!&SqX!raTm
z$Pmt8$`Hs9#1MhRN?{3R&}6NO_Jo9(LZU)JVsdt3Iw%Yg;hCGClB%cRn_pa_kXV#n
z3UX$#LSj*>LP272v2IC5QGRK92A6_@f<j5Y0wTclz(Q5>L8W<lnR)3D8Kj_BNXsu$
zP%YMEyTzBDlb@8B6Q2(bqT*Zp&=`aZ@a5&lmlmfM#V6<IrDdkyVk;<0P0Osf#gdVq
zn|h14v^W(aU7T403RULh@)SQ!)>~{j`RVDYMYmWo^V0H*K&iEeiGhKkh=qZHL6f@(
z6ud>C@Gas6iSmI6eg+1HTP%5rAY;K^i7%*(FGwuOxW$oKoS&0elA3ahGYJ%F@u_)b
zw<JsRKp~cz5?`EOT9lj`pORUWnp~1!RC$X9lulMM6iG5LF#HP9FUc*?FUTy=g=x?&
z&qz(p(alMX&os&}N&(5~$7kl1q!#5R=IG}aq!xkGZ?Qf!Ec9W?J3a@T-1Q17ZwWx<
z;$d>apoF3TN<9KROiYX@@FyD=2O}Fq>|c>IC<sJuvB$@!<R{0+-(m*^Rc2oLE$M>H
z0zJ4x^h!%IbBgt#lHkz0rGiZbIIJM~1ROfx(7q*yRVh5nfFt6T6gEXAl?9o3=|!xd
z=wO3#*gz4)4k9=}!s4j<z}A8yrHB(G%bA{9;sc3(j`(;`gvQ4g34%0(ybg{PBti<L
mg~KK{KczG$)s7Jqj3NvS3@l6>OgxNW$i%`Z!o<VO#S8$7#D8!A

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..79c0a0585cc06e7080ab58b4a2e82642f6edf6d9
GIT binary patch
literal 3048
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
GxtIZb|B%H1

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..766082e2e78a126d1489cc9c3f08e0b0c45d5366
GIT binary patch
literal 14582
zcmWIL<>g{vU|{fR*`4wvl7Zndh=Yt-7#J8F7#J9ezcDf}q%cG=q%fv1<uK+lMKLjg
z*vvW1QOqffDa<)6Q7mAZHHsBXvqiCiY4#`%FwGgo38uNCxWF`b6gQaWiQ)m%yivR<
zj43QRe7XEl{9v<La|Ch)qXfZhwj7~c;V5A+n>|M)S2Ri#%;v}u%N36j2eUbIByuIA
zB*AR19I0ICC}}X8J4Ys0HcA%E=E;%Em5-9oRftl^Rg6*ui}B_t<tj%hgV}sJD!Hmr
zs$e#Mj#{pIlscF#kfV{S8Kud{kg7U?u_!5pF-0&(D_1*88!Ri7qm!!}rJJi4rI)K8
zrJrjMWsqwaWteLeWt3|iWt?jgWs++eWtwXiWtM9mWe(OOoMVw|8D+`HkZPD}l_HYH
zB*_qEoyxYrCe?N!W0YNrXo^@1LzI1raf(EWWD8@ILyA<2bPGe2V~R|QYzsq_Q;J-Q
zd<#RAbBaQWVhcl*ONvs8atlM0Yl=#WY70Y@TZ&qWdJ998yE{XQMv7(&LyBgqM>BJj
zXNp#eb_+w4mpem>PKs^|LyB&yXftz^cZx}heu_a0W0X&dX^LTrQ43>~ZwhlTgQi)P
zdvIw%L4Hw*LRx;2LS|lZNn%b;W?s5NVqS_uQfX#R3W!sZk*c6no{^fGqok0OnU`2p
zsZfxZoSm4S3euLFSfa=E5|p$w8E^3?CKc!Bl$NB%XXb*;_0wd$C0JUNQ=FKV8lPll
zlA4#CpOUJ{c#AzMv%oDg2gKwp$WD(hN-fSWElN%;)?~cJ9h_X0Sy1Aen4Mar$#_d3
zJ+&l0wE|>Zd}>}vQKcs1Eso%lqRhN>Pk)g4o)C8@mSpDVxfT`WgEWbQH035{<rl^0
zX6EG=#h0ZP6=&w>X)@p9Pfjc-DJ@D(i7zfm$uBLr#g&>@Tw0VGpORU0i!&p!I3qp{
z>avj3+ya-(qSWM)e6Y1bzL5cu@y;Hu&ff7sp?-dze(oUmmga%N1E!0+AhD=8H69#b
zAfNiC78fU`r)qNFVsXh#F1f|xlUZDHi^IPF<le-bTO7fug{7%^$*H$kLrM#BQg1PN
z`rl#+Nv$Zk#q5|@d5godB(*3pDJS(7hjU_14w%IpoLZvEc#ADKIU_YURWF$d6#h^Q
zVuNzGGbndUF)%QcFk~?<V5(uLVO+?xfEmQgVo70K$P~<=$>jHoQD2kw7E^xlEtZ1B
zl8jsIMX5P3MnO(ua_TMS;?x37rd!O#Maj1q3sy1|sWUJz{PNN-$t}<?$Slx>_&zm7
z7wlu*oYeSCqx_;2keq&eW?o5ZQC?z>ettn}5jcj5^`YrZAFN)lpz;<+UVc$7$WkMa
zlR@rhU@FpNU|@L3z#zbY;yG3Z1_rq2%)p)ld90Z!hN+gRmN|v7gt3Nc0n<W;X2u1~
zDNG9)7qFx-FJu&FsAZ{PDPgT)Ze~mad7P!nJ}9-Mv?xzO1Cl0F;!`ryQ;SP<6mnAY
z(n~TlL1|k7<S2#GVo)vsC5)WRB)#H{L?cr(4b3Wc2+Q^sTTWt0W}e|MMq5p`B3=dt
zh9YJL28LT~5Cd<qrKExq{Vlel;*z4wf?LeRB}JO7MT#IboJl$P$=Su3RjIcaGj6d#
ztS-_8nE?uAa8MU%fK;*-rGi{w4hkV5P)sxPF|shS{bylf`Uk>nEJY>^45)zx3Mdc;
zrvyk~Wih5ON;0G{Wiu2>WHQt;r7+hr=kcVlq_Ac()-t8A)-soXQ%Vi9I71p!4O1Uu
zFoPzWUlAiHHo)FuOuEIMms*~anU{KtL6i9wb8%(yEgoq0iqFhT%fH2vUyz!o$#RP&
zFEKau7E5k^O6o19yqsIiNtt;NFM&M=_7@LGZG2jOQG9Z7nG?u&JRsjOfqlos!N|f`
z1gfTzK@I>(fG{W#a56A3fc>=qoCqK(d?91eoD$|5h7`tTrv9K>#u~;2EDITGnQE98
zu!0gpu|+t8DMKJb5W`{yPzhMVmc_n+ql9e%=R$^sjJ3=uEFgcEFl2Ep;7DNwCmW_3
z#s%C98ERQzIwKgsHn24_^-F<m;HhC+$jHc0!?=K_h6Thzs7zrGW=P=(X3*rU3JgjG
zXD0<^#e&L`jQl)>^30M91!YBjP#V)O$=8Pnb15h&C_s~DNKt93LS~u*s5nw6Pb^kQ
z&PdElPfgJSE4sy0lvK>Yz`y`A(XAMib(9rvu_hKLXJ+1FDo+aW)8s8u03|1Ia%0OZ
z2ANf44N6fQMX8A?;ArG3E=epZDF!*H$Py&Qm0FRSTv`GyYS<w8<CbW8Y6(blab<By
zYA#qXGcWxXJII9M)Ph?qAmeVamKSA~q{5OnTQRsKzr~rBSyWsCQhAF#wIUUgEQ(T#
zOVCpTS6XI8JVcW(C@p}BF9tRqMjl2EMlMD^Mgc|<Mj=KXMlMDXP|64drFi6&0b;{b
zya)pWLk+_MP-}*1A=3iJg$yao+2G9YSH&NcpI@TuS*#mST9lfTnN(x}@;6IKQE93s
z(=F!o)RJ4QIr-(_3Wy^&wInemu_O`QwW8n>EWRi|za&1hIKBX4R1(PHpqOA_Dhfk)
zAUgvC11RZ&vQqIOl%!iMlF5+C04kk839Om1-=dbWgrymjd>LIBVr6QXLCLs=c>x<J
zu`)7%cqxpa1Xrk0!?b`Ml)xDo5Q(pZBa3qZ7btOp%Dx5MDa@G+3z=$JYgiU=r?7z8
zY$>cMY%L6(3?)463~7uh>?s^A95t*9co#CbFf=nZGuE;~WjMhyY)CR}HLNvkAlGVg
z`Q2jV0+$fC_>=SVit}?)p>bGzi#xqE6UITw!=L~H#Z)jTwA8=>Q3EQp8A0vPg-i>W
zK*csFf2FWUGSo1puu6i1Mw6{7Iz6>S0n{b|6{mUW3Pq^}MXAN9c_rZLMIk>;!4=d>
z2*}UOE71Yx6i}8bO3lqLOI0W?NK8%zH*bmyaxzO4^79nbZPnqbelaS5Q$mprD9?aW
z(@PMc$y{Ur5>N&u5>~KIO{QCn#kaV@?Dzsu_CZe_obeFJ)Pfq2A3>gFU=?GmQUWzi
zzzvxKkQ0mbY;y9G6LX5~^xzsWLJE{zj6tS|fzxy>UoB$?Lk(jyV;BP?Lm^WNLomZi
zMnA9%Rx;gU(lfZlShkX}C?4c!L|Myelb)KFT2WAB*9tNV<RTUZCI&n%f@>hhMMVj4
z>k~n&6c7P-O;IWX14A3KJ2d%_i>lO$%;J(_a8XqRD&>lNAb}6ALs^PbQ?rXe^}sDI
zL~P&UgfzW!6AOw!>FO3sN@jA&Ew-}6oYK@{P4-(HpaKkB`Y@#x++qRc>02z|Vu=SF
zA@PtHxy24m#<!T$OEbZtS_F1HxW?i~i@$V`ALKyw5)%(22OAe78zToJA0rQ=2s5bQ
z;$h<8lwy=(EGj`S3qVZ;kk3GoTinD5Dy)h*QW%37N*ER}mM|@3tYxfWaAAnms%0u+
z&SF`>3eL;SU^W|=%~Hcy!z{_LfE`lt6pE!Vr7*WJlrU#;EZ_uH>I<0`aFsA;aW7;9
z<>yX@4u%ChVEw#clC^{{i+>>_2r@E&O8~YM_7;vB#svb95}=l~hP8MO$W7@CwQM!4
z5b@Zg7^Yh0TJ{pb8un(!T8<K-8jfbh6pn1BqAMw!3xsPpQn(~R6)I<*N(%P^;S`<)
zA~m4SB5x}bNIZp4oS}vzg;$b69IUE_Z2?aT{{rC}&Kl;0;L5acMT$TzSBX#!8^qiR
zj70_@RW)1-gi{0|?#&Z`iwHqPN<>qHQ$%q4znQU?yM}uLV^KwlXe|#|HxH=%Oc7fk
zQp2_o)YK8Ln(LBUl3J9TnFp?V6Z0w+AoWqPLSj*>LS8<&%m{D{@c@@1Y57IDi6sh&
z3gwAKd6{|Xkg6F{e-|T!6>=e+08nk7pO>nTU!;(mUzCc=Xh^Y@Uy_kpRGwL!s^FKO
zmkKf24<jRjG65*D7lW$#bcPy+SczIjP$Pc<Qw`%nMsS0lWg+84rb3orNZVbL6)B&A
z+uq5E#i>R5pzNu_z`(GQsR&eu-C~3$eR!6=#buL|SzMBwpIcxz8<grnB?ucM6GN3L
z)PM1bN%^HEumV3mFTW%{KQA5>T8L5(Va6>MkPNuMMe!CWLx8*`46*}MH)MjmB^Sd~
z%UH{V@LC5$HhU2$3ouPa@*Fe5b48^L3=Epg5Z`bWBo?LSm4JJB?9eD($#{zw<VH~B
zfh39{c^#b1xokj%2iUKRK<)tLR5nI7MuGpN`WJ3aQ8WVsLlqCia)s(zh0J1bwOPdn
z5h@0WB^IStG3hA0{Qv*||0-5+BCFC1$w&psL3>WADGHf+3hLFh>I&r<naLRnnZ?Kn
zQ?Dx3IX|yBGbOc1Au$Eqg|DtvD9Kj<g|<R|kq#&oR_2!~6cnYVr51r?ic1SXm1wa-
zNk(QdEG_FOloqEd=<4R>>w*GE7ve}=P;CY3y6RQ&fmNr#I>=RmB^jy3sR}TG%+z9(
zXa!aIpr|bd1t+M$tYL^116A=wOf`%t43Z2fjM+@k3JuguV+IG#FUC4Z#a2`XN}%Ax
z2qr+W1g=C5gUn+CbqpDq7+4spOh`$Luo|%{)6YM|)k*;r(#fSoprir`ujKr^lElos
zVsKwjqgYb`+*k(n2tn;-g@n2U9cV1%CRT!@At_ZMwW1&~FC{faA*oU!F(*eMv7jI)
zGa1}KDb_0r2PI3fTinU{IXS7xps*~y#hsFxmROoo0!l2PE_Vqc8Q)@0$t(ibS{zA<
z#gNuBb7D%$E%wyBvdp6VJaA=K6a%Us*+IPtP;;Cuv7jI|F9n<hz>WGMcaS`5W=U#p
z@h!IE{GyW7lv~U>sd=~9Acfd1maP2Dyj#qPd6k;HMb#kHeCb8`r3I-e@ky1S>~V`D
zCAApb2`H)pNpnL|L_EZ8pfm#N$lc=1El!UI)v6$0Wfs9ogIjzMOW}M-w<Ep;G}6JF
zlUQ5=))b$XTXKsJW>|blW==}#EkQ694-(DHOOMYjPKV@FP|FI^KUO3d>0O{?0&0*m
zu(2?*Fmo|-FoNo50cJKPk$-G#GK^e|Z2#F<KyoaM0$^DICKg7S|12OeMkWTP|4jec
z*qHt^vG6epF$pkpFpB)=U}j?iiEuF&fl5S_^bTq{f=WnmH&p=I#052PTNqN9dqF9j
zCDDwLfdNumfSa`GnPsVY3Pt(l#h`X<qC$|Xvwx5aqyw0lrvM2+h5VwF)FM4DaI4id
zF*yUI0aOMgDj4gQfQFD1G(gEfM*%cqprZg9UeE*=B+2<jMXALF`FSbDpj@A*P?VaS
zUzDPdp9VGy)jo~l)KrB4*8l}$b2G4R5ZlDa96T_Rl3J3OnNzH(r=Z}LUj%kL$kkwD
z3KENpQ&T_|fXj!p(mZe)*8!^nIYuElF;5{0)C^YujSr=R%Bf<7#5@oWR5d~x_RvZY
zVt8t9K}n?oL;_M1Vgxm)XaQG*py81caIde00n~s3b!37WG?_8$PLLLGX@qE2m!LJP
z!Hrl=MsWLI6IL-+KvExSG4u$OzCiH}Zc`gW;wnDBv;-6|$kktBZc<939g+yF4ANx0
z#R`r;O~zZyMfv4uw%p>d$${tvS@jvz;;e!u3Eb9zjLJ@})MPB`29-LDx7eXBLN^?i
zJE77SLB0W%*bIV2i$N_{P=yS#5`;lRG@za=IAvdAU|>jRsAUBOb!=HJTL}ZW)yA03
zQlwGBxPU2zX#q2+bp>i^m9T*1YT0VoQkW$fYT0WT7qHf_*RU^Ss^zHR0EyZ#)Ns@=
zWwR9(l(2zXl`%}UoV8pvoHcAIEH(@^Ts3SdtTqfatP9vnI6!8BOfBT7VFtI8xl7n;
zxSJWFdO&J8Yq)Dznwe@iOSo#dni<oW!RlLTKs{=ST5gazHH<afk_;(qDQr;LEj6sc
z44Uj!@!-^KRghSem<t;mPff8>a8$@mEKo=*%Fk6uEK1JEEK7yuQ&6r0rF&>S4KDAY
za$vJS9Z`@PND3}81vLkBpm`irV1hC%q+wW+k(j4Yl2MeJs*suk8g3~mwo<6B1=on+
zX2eTS+<==-n%qS_pwgHvCqF$swdfW*w3ICB1&OkNT5PwN3-SxV<AX(=ph|QuhyV?+
zLXtJlEuQ?G6wm-%JSeT+;)J?CHRTpNbjaxzCn%8?C4wpq_MFTlaCN{3R|nQtG!JAU
z2goRpCvS1&rIyEoSdaltQ2+H7V;Xw8lLB?8l8ej0Mu6&%c(|!gL1|D6oZwi%<uMB*
z$A1<U4lo-*Ldt3xMh-?X#-dH2v<lLKj6o$aXcVy+lyFlSq8L*cqL@Iv8cn8KqQ05M
zpaEWI=-7I2X<Axlg`Xz#Esl6_%@!Yjiz_}pH$SB`CpA9)7EgS9VQFFxsLqRzNAe7!
zFxU(l<6&fA01wA;FcyLMD5VuB>Oe&gIQxM7SHb`q`v5hCQW&y1i_~fuvlvqtvN?*>
zN|;KRLH+z@#wJEkFCS7Iu@r%F-z~Ocuv@_vKw^^V7H@GuYI0^8w6SrE72K~yawe$N
zbW1kAC^54*6&l)Qi8+}mkf{}L|Cbl!c2IkYfr*1rh_PrFwjc!+bf6$E1~ug1LCON|
zM1ne@oKei}3@i*$EWr$#the|AG7FGqb^MY+-Un$1VGtW+9EdIkjrc*zU`B=#M$lk%
zGpPJvtYHF8Sirmwa?&l<;?jcDqN3fPRL7E=n4PN0e2b+xH7BiT2S|uLA3VcSypr)2
zXMB8ePGWH}EW$v6P_&nUfk71HRgm2vuT}}8x>65pCZnGwYta@^hS>@twt)zc)?2(#
zLz7c;a$p976TtzH60j8@r-^{90L3^5BiN}S$)LCc`5T1w7#J8p6SZK!JFqY?bg(U8
zC}GTE%3@x~2%*IpYS~LzYM5#mz_T12wVWlaHJr_iMJ6@OS!|swd2BVzS?rxGC5#I=
zYS<St)`F&CnOYcXxIlgWTJB7SPUaHMW`<5sDa}*ETC}NztC^wSq?WgYdjZcvhJFP`
zh7#@tyr2O$Mh4J`Kn;5e3uyG9ml=6H5ou&mV1Zx_?*bvnIAn@;J3~8jJ4-uT8Vh&?
zk+YLEMW>xLjWLBQg}a5bmam4dhP{I&g{7Gp6sK8C3xqpZYB&}$)$)UUxInmuKZR!@
zQ>{RWNR0rf^zLNrWNK$@XG&vA;Z5Od;iwg?;dWt&&8Zbi;j9%-;j9$_`4ytKgRMpg
zG-lw!5bIGZ3X-o8P2taGn!s2TQX*O_Tq6il4Yrf5MyN(~A!yt}tcJNpw3(?^4CJyJ
zu@tr%;Tn+?fnHWdh6#*?RudQtrAow8IBS@*B$}CO#Zy>n#N#DX1Tz?G#N(yFJn3|X
zT8R$E1u`i@DVz(LY9(tVComORqzIQVX31u=Phc#%Q6sTHE=8n9Qk(%)=YYf)$ftlt
zFPKt9vzaF_6|sO-h?OX0DW-@^GSo<>F^PfILdBJuk;GCYQkYs8I>6&NwNf=wE)20e
zwbC7oHPW^W6POCMz;2NQyG5o(W&%^u47gjEic-KPO4Z0f+ydrFmw?Qdf!UcNgJiyJ
zjVzk^T{RL5lv89=<Unp%paK~k0{JUN9;}ZECRQt#&QL2~rB@@qK($6<A!Dt44bKAQ
z8hMafFbgCum!goulF0~)H&6=8vtwZ>QOo9<z+7a+$WW`m$WSF$qmZQz3YA*L5{(qa
z1)4RAH7pC6K*b;^9j0*BD%2@NFhnxsF-0)cuuWht3M<j7k#A<KRjN@+;mqa)iwG>x
zu2BNn3`r|B{3%KcnQE2cJmrN<wJIe#H7Y48%}o6QwW>9$3v^RdK{`OTfF_C}7)taO
z=+~&!C@*AUWT@d;AXlRdl82k2wvee-4bD?v$W*IdVo;-&qS4IMA5*JQVo;-=qS?&U
z?^df>Vz|JlMq?pktyYO~jaCP92SW`{2TO`pFKexKiQxj18qI}_wK^rHHQLRf_K85P
zZjH_Yvl?BHeG^y;xe#tbu)wZUuTcZJE`>9gK~p#JI1>W{bWR*J0tK45hjtdAZ5dGA
zWu@Skn41dfWq^j#3ySiyQj<%N+AiSs3RFFKnj<B%$V$N}5vhM)3DXUm0agGj#LyXE
zm04h=0Gj7hfX@1ZyAWW-3Q4J;t~9*LN7h^np4_%laLFt#DJ{v&DOP}pD1iFNpefgM
zaE}727kStL*_5Kx!uXU_NKZ90KhH`5vUC76wgDbSfy~O~r-98XN-ZqSECRQ;bU=;-
z8w6^#f!bD?dFfz2G*k*IL4!k?IjL3(;Tfr*u{u!jB~_NB>Ov(DjYfq4$ebT&{J9v}
z5KvnU+98gI4XmJ;mz<HBoUKrjkywH<SP1oWY6{pekP9>OO7ayF;h|6on%V#j_<$8y
z6@lveVujE=&`1xs?;j3I7gk_dkajIl<bj%;i1C|Bg^c{16mZ83HHINmmzjAWZzh&x
zCgr5UjZpxFMQV<27-YExTpY=Gy_C%25?#<lG03qBDfy|8(W~6VlH?3<EPzu6SSv=e
z3DgS#ck)2(1n_955UAO-fFXrpAtPuo5HilWlCg?a4>Y{LlJOQtYF-L>ZWB7LSriMZ
zpTRXXm;l$*6`<*4P)!YL_pmWAF>o<dX+Z-y9_D+<nhvCn8>np!3Iw}bY?<kK`9-NA
znoPG?)AEZzi#ZBQGgC|4P+B@5*Mn+$@W3Xh>IXIaI+&Z8YMDW8o(`sFCeU162V)Jh
z4MPo6kyZ!80!Gj%E@)v9Xt_p}nQvkNwq6IgKM!>;a<>CKYE`V~r^y6fP*DV$aM5JF
z#a>*L3`&bd6G1H{j@<l|%(P5Ub3Z>P1=L~(Pw|5onk+@DLBX{OM63lX2FFfHW)Y-O
z2@1Vi0+4Y8M9V!C6qKNL4FfY5BWR?Bg|W&2>O7pmiEfBrGAO)2tt1cz4WNKpPT;T$
zVgxN~0X2+4Eeg=$7SIgG1jbm480K2mTDDsD8dk_GY6=5r&S3#d31b#(7TZG5Yz1Q$
z>jL%~MsN#+vxccC12i|0%~X^DnLVjt1GSrK*islkdTkhL*j*T6@6~eEuoTtRuz-4z
zMRkQaAoCWm*Ra-bEo7?YhVmF|IBK{SGS~8yFo0TUAh%_)F5sx)S;$zltAud@Cy2$!
zP{Or<yN0`l2UKR4fR+t#FJ!FcE#WO;OkrteDtcGKxPY&Qr-nC+zlJwUAdLyCPOt`K
zkI+I;+eQbWuZA~ExP&K5#EGGVCrcDeia9aV@|7?y5U=5>;RESTVXft_VV=NPWLLvn
z!_&-I%iqBOazPD0s7+RwQz!)LT!0pOfabwT%XP&pHL%$Q&`5025l~V&1|q=O3rv7g
zNf9WI<$w|fQXaD=lqiyO@{^KMi?C)o*3y#9+*CJBi6T(H4m@Cbi={j<CmYrw28|aL
zfLGcSfhIPJ`arHq1EpfN(!89^yzE<S#TlTg<rYVBenBNDN8Dm5E=er8#h#H^oLEv)
zRCEEPnxnWRJ`rTsEf6ag%wkJSPEIW@zQqy|@9%w!y|@I_MNGZL9vtr(5gHr>VYmkc
zKp6fZ9=BMNGjj7&GzCDTub{PVw^%^KskhiOi{nA#y0=)<GAmMxZn33h=9Hus-C_o<
zM`JH8O-jiuDh5gBq!!;|2dM;0fb@cL;YN_3PJsw;US=vTxy4-on!qXst#>O1XJ1Xm
zqVpgX@VL0e4h`2hP<)ty@)rjOlNh5Ec;Zrwk%NhckqNZkf`x;Nhmnh&hXs_4MOXwF
zxtPTMGcofpv4E#JtJH~%zbXN6M-)22s#j7`f|1DJ1!D$yj(Y*aLWTv5pal*^GBpe-
z3@J>lOp*+>jCnSoH636%=7o$!7GOCRsGI^^j&&hpQ3zNLrjMnD0aR6VFl4h8q}4EX
zFlMuX*EUtL=%rSqzWf84Z{dPYa_ALQW_|++u;>+3CTcPjg@A(ZC};$YsmKPDBsjs<
z6{sbp$y8JXk_8PUB9)1vnZ-zb>iF^^(13i=GEjJfiZTWkK1MiXVqvN>B@~ia%>$3q
zYcdr*0l5G)UIHExy2V_OS#V3x)h{?S$Th$-Al^S9#M9p|xQeYHvp~UC;TBh7P6^b$
zDz1Xe0@Y##TLo3fY!pVsfU+yN&Xoa=^wluLihyPq7ci!PmlPsuT}{R+fr88ejhGaT
z7`>PjO?ypy70_~oqSRZg;NXJRz_%E)Apr$XkKnR_iHU)s7-Si!{^en~#gm#?TnVdF
zs`!z43bqPWBFF-|P#;j_cyVMCHFRTAAihv3`T`2w?;rx~VlV+O(uCm7W@KXEVZd+!
zC|!fnMloWL85D404A7}A(6lqtFLtO0Aah-?fMUunLk}s?vI$9$l`PO1uPRMwOyaCq
zZ9rpppk*HzZUdPCj#|)KDR6U&rxqNoVhoUmlqO@*FSx&d!&#^yAPaL2XfC)2<kzZo
zo_XM5C1|5n0i634z{5+RaZFI#TA?Vl5X{z9a8yW!j=m{ChO|Jl8PK+Pik^aVnnFfN
zNkOrdzCLK7ZDKlTq8+kaPA|VGT_0u0t5_dwmoC_@VtwV(;#A$V{32+^E(Y5So_hzi
zKtYrDnfZBow>Ulhf<qjAd|ZR7c;QUFg3N*<@E{#1oC-1vxNfmQMr*6MAT&tDEykiM
zrgCjfmLhN?3EW&-0}3fnb4ioYO_RybPtzPSy$+hAN2-qmLCQc=Qn%Qli^p!U7vv<C
z<YXp+7S<J)fC~6#kRonSnZp6<EoA1U7vJJb1~ryp^I^re_#kx#T%HTmD$UGEP0Yyw
zO*7^eWagxThHQ(Lg3Mt}NlhwEzr~TBS^{1g1F085>r;wAE9!2sr>B;HD?iZq6}W^c
zdJEFWQI=SgnV45ne2b$v6;j_7tpK^M9YlafmO+ULGTmqe5(6~>Z?UCTlz^rpK@)Jd
zctL||@wufrC7A^|so<f@TP%r1>BU8$WpUs!Yw%23(K3*J&_YG<!k?lmAP2C3)^LH>
zgWh6JE-t&p23m8NS_B^Sy~PGzdRPRWt+>Sj;pCTV>VeDaqH`eqoZz-As6Tp(4bqpq
z#gEoMyu}Ic*WD5Ug(rINtmq-gBo0vO0f%TP$eqtYVw|832S}{A2o(Rf*owjH%OPRM
z3#zZd%VR+*Zn38pfY*x`eE{iX2k8XGHM|%HjqQRe{vyy+52*CaPA$464C%!d$Cu>C
zgR(SeIQ|x>_=dXi7N~fSPc10=0Wwq=xio{RKq*DzQwwg1BQ4NFF;^01LrOe!H5Am0
z;#-WVMLR(@Fy|JhBPI)qZt<0*<`%#T?9`%L@cDrvuwOyZ1)6TW#SK;mY3|?RgwXMs
zdAGQrOwbgR5F-Oa5oqB>kuZn_npyytgqrN&77bFB3(j?*yas9GfFc?)B`k)$T$Bb?
z!S6s#9yu{4J|+%E4kk7xE=E2!P?Ls*88p)XYV4>m@-d0<GB7gy=5yd-;$!Ax<YD6D
z2Q5fuVU%EGVdP?DVFb++b1_OW@vyM5a<H;7u_*H}vN7_2bb{o-GsistSy=eM%U2<C
z;6>XkER0NyEDTKlS^l%Iu`x3JXJh7I<YETRKy$FLLFS>Em>9VjxtLfO`Tlb-3o&wm
zbTBh9F#TovFUAg9W5&hE#SCgf@Gy#imc&BYpvAFFpxJ5$F!_&-g^P)YQHc>Ww8nrk
z_6*8!pmGIV!bL#lr$JkLn0lG|ood-j7;6|)m{VAKnfkSAIZBvn7;D(Gn46gx8A@1c
z7(i^$OkE9g4NDDc3TrPrXe1A^xH<x96)Ln}QN;)AL_@X-XflC|!CNfZnRzK8nv9?p
zNlt!wRAzyhi6%QD%NBt~=!?WaNkAM#NPq}QMg|5=)*?Po&I6UqMW6;1*gUW&H95ih
zZ*f6#JE$9r&4gQ`@!)irl34_v2q{S|E&;7*=7G5soKYF8z{w6mfa?5Pys%^iHa-wk
z_klVW3|!#w{?Eq5#K85BiHV63)P!bY1jRHHBN+ZHvIM!Du?RHhqsbH!qRAW*;-~3%
zi#<L*B|jN5(UevS+ME&}Uj&*nC~5@xkqzW&K}H6KTkOzrs9Ws$#d=_mfoqhnAXT6e
zvgjI!1zN*h#0*l;2I?-DnLsuquvcXkfVwzEpfJ0|U65Iz7hjf|my%xuSxG64Bmy3!
z0dIEzui!2&0=3JcB(SLf^`F4=QBnNJ(#4q-;B}j~AeulE{h*B?dZ`u3sgQ{oaEX6Q
z9IOd04I2b2E&|sbXqrKG73<|@7AF^hQZA(52U<sYO9s^#h(cKWf|JTEDXdB=3o`T4
zi}*q1nJhL1kkkND14?DLB(bRhr-UL<ZGMY4H8(LcM-RFhr3kbZ;TBs7#1hcZMG>f_
zRU`_ECQy5@NF2nH01=WP0yL~uBn@JL8rwy(AZJ111s+1V`6;P6#d?tXs|Ymx2A=zi
z;)jm;rlvRthXv)AgQjdte86+UkohZ6-47WB0__w5SEJzi9=u8&ygU_B^Ma=PAyq1;
zD=f0W6*YJ!5Il(m&S&7%49OVa_8^!5XAuq?$aJY4XyUaP)Zu1f;{lbljG$RtWX!|J
z!vtD|1EWDD8JN!mDo0INd6;;ZxtKXvxwtvFIYc>FIg~lvIYc;A1XwuO1wf_qPp*1~
NdInntMg~TPp8)$0Fv|b{

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py
new file mode 100644
index 0000000..a668a61
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py
@@ -0,0 +1,52 @@
+"""Legacy editable installation process, i.e. `setup.py develop`.
+"""
+import logging
+
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.setuptools_build import make_setuptools_develop_args
+from pip._internal.utils.subprocess import call_subprocess
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional, Sequence
+
+    from pip._internal.build_env import BuildEnvironment
+
+
+logger = logging.getLogger(__name__)
+
+
+def install_editable(
+    install_options,  # type: List[str]
+    global_options,  # type: Sequence[str]
+    prefix,  # type: Optional[str]
+    home,  # type: Optional[str]
+    use_user_site,  # type: bool
+    name,  # type: str
+    setup_py_path,  # type: str
+    isolated,  # type: bool
+    build_env,  # type: BuildEnvironment
+    unpacked_source_directory,  # type: str
+):
+    # type: (...) -> None
+    """Install a package in editable mode. Most arguments are pass-through
+    to setuptools.
+    """
+    logger.info('Running setup.py develop for %s', name)
+
+    args = make_setuptools_develop_args(
+        setup_py_path,
+        global_options=global_options,
+        install_options=install_options,
+        no_user_config=isolated,
+        prefix=prefix,
+        home=home,
+        use_user_site=use_user_site,
+    )
+
+    with indent_log():
+        with build_env:
+            call_subprocess(
+                args,
+                cwd=unpacked_source_directory,
+            )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py
new file mode 100644
index 0000000..2d4adc4
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py
@@ -0,0 +1,129 @@
+"""Legacy installation process, i.e. `setup.py install`.
+"""
+
+import logging
+import os
+from distutils.util import change_root
+
+from pip._internal.utils.deprecation import deprecated
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.misc import ensure_dir
+from pip._internal.utils.setuptools_build import make_setuptools_install_args
+from pip._internal.utils.subprocess import runner_with_spinner_message
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional, Sequence
+
+    from pip._internal.models.scheme import Scheme
+    from pip._internal.req.req_install import InstallRequirement
+
+
+logger = logging.getLogger(__name__)
+
+
+def install(
+    install_req,  # type: InstallRequirement
+    install_options,  # type: List[str]
+    global_options,  # type: Sequence[str]
+    root,  # type: Optional[str]
+    home,  # type: Optional[str]
+    prefix,  # type: Optional[str]
+    use_user_site,  # type: bool
+    pycompile,  # type: bool
+    scheme,  # type: Scheme
+):
+    # type: (...) -> None
+    # Extend the list of global and install options passed on to
+    # the setup.py call with the ones from the requirements file.
+    # Options specified in requirements file override those
+    # specified on the command line, since the last option given
+    # to setup.py is the one that is used.
+    global_options = list(global_options) + \
+        install_req.options.get('global_options', [])
+    install_options = list(install_options) + \
+        install_req.options.get('install_options', [])
+
+    header_dir = scheme.headers
+
+    with TempDirectory(kind="record") as temp_dir:
+        record_filename = os.path.join(temp_dir.path, 'install-record.txt')
+        install_args = make_setuptools_install_args(
+            install_req.setup_py_path,
+            global_options=global_options,
+            install_options=install_options,
+            record_filename=record_filename,
+            root=root,
+            prefix=prefix,
+            header_dir=header_dir,
+            home=home,
+            use_user_site=use_user_site,
+            no_user_config=install_req.isolated,
+            pycompile=pycompile,
+        )
+
+        runner = runner_with_spinner_message(
+            "Running setup.py install for {}".format(install_req.name)
+        )
+        with indent_log(), install_req.build_env:
+            runner(
+                cmd=install_args,
+                cwd=install_req.unpacked_source_directory,
+            )
+
+        if not os.path.exists(record_filename):
+            logger.debug('Record file %s not found', record_filename)
+            return
+        install_req.install_succeeded = True
+
+        # We intentionally do not use any encoding to read the file because
+        # setuptools writes the file using distutils.file_util.write_file,
+        # which does not specify an encoding.
+        with open(record_filename) as f:
+            record_lines = f.read().splitlines()
+
+    def prepend_root(path):
+        # type: (str) -> str
+        if root is None or not os.path.isabs(path):
+            return path
+        else:
+            return change_root(root, path)
+
+    for line in record_lines:
+        directory = os.path.dirname(line)
+        if directory.endswith('.egg-info'):
+            egg_info_dir = prepend_root(directory)
+            break
+    else:
+        deprecated(
+            reason=(
+                "{} did not indicate that it installed an "
+                ".egg-info directory. Only setup.py projects "
+                "generating .egg-info directories are supported."
+            ).format(install_req),
+            replacement=(
+                "for maintainers: updating the setup.py of {0}. "
+                "For users: contact the maintainers of {0} to let "
+                "them know to update their setup.py.".format(
+                    install_req.name
+                )
+            ),
+            gone_in="20.2",
+            issue=6998,
+        )
+        # FIXME: put the record somewhere
+        return
+    new_lines = []
+    for line in record_lines:
+        filename = line.strip()
+        if os.path.isdir(filename):
+            filename += os.path.sep
+        new_lines.append(
+            os.path.relpath(prepend_root(filename), egg_info_dir)
+        )
+    new_lines.sort()
+    ensure_dir(egg_info_dir)
+    inst_files_path = os.path.join(egg_info_dir, 'installed-files.txt')
+    with open(inst_files_path, 'w') as f:
+        f.write('\n'.join(new_lines) + '\n')
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py
new file mode 100644
index 0000000..aac975c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py
@@ -0,0 +1,615 @@
+"""Support for installing and building the "wheel" binary package format.
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import collections
+import compileall
+import csv
+import logging
+import os.path
+import re
+import shutil
+import stat
+import sys
+import warnings
+from base64 import urlsafe_b64encode
+from zipfile import ZipFile
+
+from pip._vendor import pkg_resources
+from pip._vendor.distlib.scripts import ScriptMaker
+from pip._vendor.distlib.util import get_export_entry
+from pip._vendor.six import StringIO
+
+from pip._internal.exceptions import InstallationError
+from pip._internal.locations import get_major_minor_version
+from pip._internal.utils.misc import captured_stdout, ensure_dir, hash_file
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.unpacking import unpack_file
+from pip._internal.utils.wheel import parse_wheel
+
+if MYPY_CHECK_RUNNING:
+    from email.message import Message
+    from typing import (
+        Dict, List, Optional, Sequence, Tuple, IO, Text, Any,
+        Iterable, Callable, Set,
+    )
+
+    from pip._internal.models.scheme import Scheme
+
+    InstalledCSVRow = Tuple[str, ...]
+
+
+logger = logging.getLogger(__name__)
+
+
+def normpath(src, p):
+    # type: (str, str) -> str
+    return os.path.relpath(src, p).replace(os.path.sep, '/')
+
+
+def rehash(path, blocksize=1 << 20):
+    # type: (str, int) -> Tuple[str, str]
+    """Return (encoded_digest, length) for path using hashlib.sha256()"""
+    h, length = hash_file(path, blocksize)
+    digest = 'sha256=' + urlsafe_b64encode(
+        h.digest()
+    ).decode('latin1').rstrip('=')
+    # unicode/str python2 issues
+    return (digest, str(length))  # type: ignore
+
+
+def open_for_csv(name, mode):
+    # type: (str, Text) -> IO[Any]
+    if sys.version_info[0] < 3:
+        nl = {}  # type: Dict[str, Any]
+        bin = 'b'
+    else:
+        nl = {'newline': ''}  # type: Dict[str, Any]
+        bin = ''
+    return open(name, mode + bin, **nl)
+
+
+def fix_script(path):
+    # type: (str) -> Optional[bool]
+    """Replace #!python with #!/path/to/python
+    Return True if file was changed.
+    """
+    # XXX RECORD hashes will need to be updated
+    if os.path.isfile(path):
+        with open(path, 'rb') as script:
+            firstline = script.readline()
+            if not firstline.startswith(b'#!python'):
+                return False
+            exename = sys.executable.encode(sys.getfilesystemencoding())
+            firstline = b'#!' + exename + os.linesep.encode("ascii")
+            rest = script.read()
+        with open(path, 'wb') as script:
+            script.write(firstline)
+            script.write(rest)
+        return True
+    return None
+
+
+def wheel_root_is_purelib(metadata):
+    # type: (Message) -> bool
+    return metadata.get("Root-Is-Purelib", "").lower() == "true"
+
+
+def get_entrypoints(filename):
+    # type: (str) -> Tuple[Dict[str, str], Dict[str, str]]
+    if not os.path.exists(filename):
+        return {}, {}
+
+    # This is done because you can pass a string to entry_points wrappers which
+    # means that they may or may not be valid INI files. The attempt here is to
+    # strip leading and trailing whitespace in order to make them valid INI
+    # files.
+    with open(filename) as fp:
+        data = StringIO()
+        for line in fp:
+            data.write(line.strip())
+            data.write("\n")
+        data.seek(0)
+
+    # get the entry points and then the script names
+    entry_points = pkg_resources.EntryPoint.parse_map(data)
+    console = entry_points.get('console_scripts', {})
+    gui = entry_points.get('gui_scripts', {})
+
+    def _split_ep(s):
+        # type: (pkg_resources.EntryPoint) -> Tuple[str, str]
+        """get the string representation of EntryPoint,
+        remove space and split on '='
+        """
+        split_parts = str(s).replace(" ", "").split("=")
+        return split_parts[0], split_parts[1]
+
+    # convert the EntryPoint objects into strings with module:function
+    console = dict(_split_ep(v) for v in console.values())
+    gui = dict(_split_ep(v) for v in gui.values())
+    return console, gui
+
+
+def message_about_scripts_not_on_PATH(scripts):
+    # type: (Sequence[str]) -> Optional[str]
+    """Determine if any scripts are not on PATH and format a warning.
+    Returns a warning message if one or more scripts are not on PATH,
+    otherwise None.
+    """
+    if not scripts:
+        return None
+
+    # Group scripts by the path they were installed in
+    grouped_by_dir = collections.defaultdict(set)  # type: Dict[str, Set[str]]
+    for destfile in scripts:
+        parent_dir = os.path.dirname(destfile)
+        script_name = os.path.basename(destfile)
+        grouped_by_dir[parent_dir].add(script_name)
+
+    # We don't want to warn for directories that are on PATH.
+    not_warn_dirs = [
+        os.path.normcase(i).rstrip(os.sep) for i in
+        os.environ.get("PATH", "").split(os.pathsep)
+    ]
+    # If an executable sits with sys.executable, we don't warn for it.
+    #     This covers the case of venv invocations without activating the venv.
+    not_warn_dirs.append(os.path.normcase(os.path.dirname(sys.executable)))
+    warn_for = {
+        parent_dir: scripts for parent_dir, scripts in grouped_by_dir.items()
+        if os.path.normcase(parent_dir) not in not_warn_dirs
+    }  # type: Dict[str, Set[str]]
+    if not warn_for:
+        return None
+
+    # Format a message
+    msg_lines = []
+    for parent_dir, dir_scripts in warn_for.items():
+        sorted_scripts = sorted(dir_scripts)  # type: List[str]
+        if len(sorted_scripts) == 1:
+            start_text = "script {} is".format(sorted_scripts[0])
+        else:
+            start_text = "scripts {} are".format(
+                ", ".join(sorted_scripts[:-1]) + " and " + sorted_scripts[-1]
+            )
+
+        msg_lines.append(
+            "The {} installed in '{}' which is not on PATH."
+            .format(start_text, parent_dir)
+        )
+
+    last_line_fmt = (
+        "Consider adding {} to PATH or, if you prefer "
+        "to suppress this warning, use --no-warn-script-location."
+    )
+    if len(msg_lines) == 1:
+        msg_lines.append(last_line_fmt.format("this directory"))
+    else:
+        msg_lines.append(last_line_fmt.format("these directories"))
+
+    # Add a note if any directory starts with ~
+    warn_for_tilde = any(
+        i[0] == "~" for i in os.environ.get("PATH", "").split(os.pathsep) if i
+    )
+    if warn_for_tilde:
+        tilde_warning_msg = (
+            "NOTE: The current PATH contains path(s) starting with `~`, "
+            "which may not be expanded by all applications."
+        )
+        msg_lines.append(tilde_warning_msg)
+
+    # Returns the formatted multiline message
+    return "\n".join(msg_lines)
+
+
+def sorted_outrows(outrows):
+    # type: (Iterable[InstalledCSVRow]) -> List[InstalledCSVRow]
+    """Return the given rows of a RECORD file in sorted order.
+
+    Each row is a 3-tuple (path, hash, size) and corresponds to a record of
+    a RECORD file (see PEP 376 and PEP 427 for details).  For the rows
+    passed to this function, the size can be an integer as an int or string,
+    or the empty string.
+    """
+    # Normally, there should only be one row per path, in which case the
+    # second and third elements don't come into play when sorting.
+    # However, in cases in the wild where a path might happen to occur twice,
+    # we don't want the sort operation to trigger an error (but still want
+    # determinism).  Since the third element can be an int or string, we
+    # coerce each element to a string to avoid a TypeError in this case.
+    # For additional background, see--
+    # https://github.com/pypa/pip/issues/5868
+    return sorted(outrows, key=lambda row: tuple(str(x) for x in row))
+
+
+def get_csv_rows_for_installed(
+    old_csv_rows,  # type: Iterable[List[str]]
+    installed,  # type: Dict[str, str]
+    changed,  # type: Set[str]
+    generated,  # type: List[str]
+    lib_dir,  # type: str
+):
+    # type: (...) -> List[InstalledCSVRow]
+    """
+    :param installed: A map from archive RECORD path to installation RECORD
+        path.
+    """
+    installed_rows = []  # type: List[InstalledCSVRow]
+    for row in old_csv_rows:
+        if len(row) > 3:
+            logger.warning(
+                'RECORD line has more than three elements: {}'.format(row)
+            )
+        # Make a copy because we are mutating the row.
+        row = list(row)
+        old_path = row[0]
+        new_path = installed.pop(old_path, old_path)
+        row[0] = new_path
+        if new_path in changed:
+            digest, length = rehash(new_path)
+            row[1] = digest
+            row[2] = length
+        installed_rows.append(tuple(row))
+    for f in generated:
+        digest, length = rehash(f)
+        installed_rows.append((normpath(f, lib_dir), digest, str(length)))
+    for f in installed:
+        installed_rows.append((installed[f], '', ''))
+    return installed_rows
+
+
+class MissingCallableSuffix(Exception):
+    pass
+
+
+def _raise_for_invalid_entrypoint(specification):
+    # type: (str) -> None
+    entry = get_export_entry(specification)
+    if entry is not None and entry.suffix is None:
+        raise MissingCallableSuffix(str(entry))
+
+
+class PipScriptMaker(ScriptMaker):
+    def make(self, specification, options=None):
+        # type: (str, Dict[str, Any]) -> List[str]
+        _raise_for_invalid_entrypoint(specification)
+        return super(PipScriptMaker, self).make(specification, options)
+
+
+def install_unpacked_wheel(
+    name,  # type: str
+    wheeldir,  # type: str
+    wheel_zip,  # type: ZipFile
+    scheme,  # type: Scheme
+    req_description,  # type: str
+    pycompile=True,  # type: bool
+    warn_script_location=True  # type: bool
+):
+    # type: (...) -> None
+    """Install a wheel.
+
+    :param name: Name of the project to install
+    :param wheeldir: Base directory of the unpacked wheel
+    :param wheel_zip: open ZipFile for wheel being installed
+    :param scheme: Distutils scheme dictating the install directories
+    :param req_description: String used in place of the requirement, for
+        logging
+    :param pycompile: Whether to byte-compile installed Python files
+    :param warn_script_location: Whether to check that scripts are installed
+        into a directory on PATH
+    :raises UnsupportedWheel:
+        * when the directory holds an unpacked wheel with incompatible
+          Wheel-Version
+        * when the .dist-info dir does not match the wheel
+    """
+    # TODO: Investigate and break this up.
+    # TODO: Look into moving this into a dedicated class for representing an
+    #       installation.
+
+    source = wheeldir.rstrip(os.path.sep) + os.path.sep
+
+    info_dir, metadata = parse_wheel(wheel_zip, name)
+
+    if wheel_root_is_purelib(metadata):
+        lib_dir = scheme.purelib
+    else:
+        lib_dir = scheme.platlib
+
+    subdirs = os.listdir(source)
+    data_dirs = [s for s in subdirs if s.endswith('.data')]
+
+    # Record details of the files moved
+    #   installed = files copied from the wheel to the destination
+    #   changed = files changed while installing (scripts #! line typically)
+    #   generated = files newly generated during the install (script wrappers)
+    installed = {}  # type: Dict[str, str]
+    changed = set()
+    generated = []  # type: List[str]
+
+    # Compile all of the pyc files that we're going to be installing
+    if pycompile:
+        with captured_stdout() as stdout:
+            with warnings.catch_warnings():
+                warnings.filterwarnings('ignore')
+                compileall.compile_dir(source, force=True, quiet=True)
+        logger.debug(stdout.getvalue())
+
+    def record_installed(srcfile, destfile, modified=False):
+        # type: (str, str, bool) -> None
+        """Map archive RECORD paths to installation RECORD paths."""
+        oldpath = normpath(srcfile, wheeldir)
+        newpath = normpath(destfile, lib_dir)
+        installed[oldpath] = newpath
+        if modified:
+            changed.add(destfile)
+
+    def clobber(
+            source,  # type: str
+            dest,  # type: str
+            is_base,  # type: bool
+            fixer=None,  # type: Optional[Callable[[str], Any]]
+            filter=None  # type: Optional[Callable[[str], bool]]
+    ):
+        # type: (...) -> None
+        ensure_dir(dest)  # common for the 'include' path
+
+        for dir, subdirs, files in os.walk(source):
+            basedir = dir[len(source):].lstrip(os.path.sep)
+            destdir = os.path.join(dest, basedir)
+            if is_base and basedir == '':
+                subdirs[:] = [s for s in subdirs if not s.endswith('.data')]
+            for f in files:
+                # Skip unwanted files
+                if filter and filter(f):
+                    continue
+                srcfile = os.path.join(dir, f)
+                destfile = os.path.join(dest, basedir, f)
+                # directory creation is lazy and after the file filtering above
+                # to ensure we don't install empty dirs; empty dirs can't be
+                # uninstalled.
+                ensure_dir(destdir)
+
+                # copyfile (called below) truncates the destination if it
+                # exists and then writes the new contents. This is fine in most
+                # cases, but can cause a segfault if pip has loaded a shared
+                # object (e.g. from pyopenssl through its vendored urllib3)
+                # Since the shared object is mmap'd an attempt to call a
+                # symbol in it will then cause a segfault. Unlinking the file
+                # allows writing of new contents while allowing the process to
+                # continue to use the old copy.
+                if os.path.exists(destfile):
+                    os.unlink(destfile)
+
+                # We use copyfile (not move, copy, or copy2) to be extra sure
+                # that we are not moving directories over (copyfile fails for
+                # directories) as well as to ensure that we are not copying
+                # over any metadata because we want more control over what
+                # metadata we actually copy over.
+                shutil.copyfile(srcfile, destfile)
+
+                # Copy over the metadata for the file, currently this only
+                # includes the atime and mtime.
+                st = os.stat(srcfile)
+                if hasattr(os, "utime"):
+                    os.utime(destfile, (st.st_atime, st.st_mtime))
+
+                # If our file is executable, then make our destination file
+                # executable.
+                if os.access(srcfile, os.X_OK):
+                    st = os.stat(srcfile)
+                    permissions = (
+                        st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
+                    )
+                    os.chmod(destfile, permissions)
+
+                changed = False
+                if fixer:
+                    changed = fixer(destfile)
+                record_installed(srcfile, destfile, changed)
+
+    clobber(source, lib_dir, True)
+
+    dest_info_dir = os.path.join(lib_dir, info_dir)
+
+    # Get the defined entry points
+    ep_file = os.path.join(dest_info_dir, 'entry_points.txt')
+    console, gui = get_entrypoints(ep_file)
+
+    def is_entrypoint_wrapper(name):
+        # type: (str) -> bool
+        # EP, EP.exe and EP-script.py are scripts generated for
+        # entry point EP by setuptools
+        if name.lower().endswith('.exe'):
+            matchname = name[:-4]
+        elif name.lower().endswith('-script.py'):
+            matchname = name[:-10]
+        elif name.lower().endswith(".pya"):
+            matchname = name[:-4]
+        else:
+            matchname = name
+        # Ignore setuptools-generated scripts
+        return (matchname in console or matchname in gui)
+
+    for datadir in data_dirs:
+        fixer = None
+        filter = None
+        for subdir in os.listdir(os.path.join(wheeldir, datadir)):
+            fixer = None
+            if subdir == 'scripts':
+                fixer = fix_script
+                filter = is_entrypoint_wrapper
+            source = os.path.join(wheeldir, datadir, subdir)
+            dest = getattr(scheme, subdir)
+            clobber(source, dest, False, fixer=fixer, filter=filter)
+
+    maker = PipScriptMaker(None, scheme.scripts)
+
+    # Ensure old scripts are overwritten.
+    # See https://github.com/pypa/pip/issues/1800
+    maker.clobber = True
+
+    # Ensure we don't generate any variants for scripts because this is almost
+    # never what somebody wants.
+    # See https://bitbucket.org/pypa/distlib/issue/35/
+    maker.variants = {''}
+
+    # This is required because otherwise distlib creates scripts that are not
+    # executable.
+    # See https://bitbucket.org/pypa/distlib/issue/32/
+    maker.set_mode = True
+
+    scripts_to_generate = []
+
+    # Special case pip and setuptools to generate versioned wrappers
+    #
+    # The issue is that some projects (specifically, pip and setuptools) use
+    # code in setup.py to create "versioned" entry points - pip2.7 on Python
+    # 2.7, pip3.3 on Python 3.3, etc. But these entry points are baked into
+    # the wheel metadata at build time, and so if the wheel is installed with
+    # a *different* version of Python the entry points will be wrong. The
+    # correct fix for this is to enhance the metadata to be able to describe
+    # such versioned entry points, but that won't happen till Metadata 2.0 is
+    # available.
+    # In the meantime, projects using versioned entry points will either have
+    # incorrect versioned entry points, or they will not be able to distribute
+    # "universal" wheels (i.e., they will need a wheel per Python version).
+    #
+    # Because setuptools and pip are bundled with _ensurepip and virtualenv,
+    # we need to use universal wheels. So, as a stopgap until Metadata 2.0, we
+    # override the versioned entry points in the wheel and generate the
+    # correct ones. This code is purely a short-term measure until Metadata 2.0
+    # is available.
+    #
+    # To add the level of hack in this section of code, in order to support
+    # ensurepip this code will look for an ``ENSUREPIP_OPTIONS`` environment
+    # variable which will control which version scripts get installed.
+    #
+    # ENSUREPIP_OPTIONS=altinstall
+    #   - Only pipX.Y and easy_install-X.Y will be generated and installed
+    # ENSUREPIP_OPTIONS=install
+    #   - pipX.Y, pipX, easy_install-X.Y will be generated and installed. Note
+    #     that this option is technically if ENSUREPIP_OPTIONS is set and is
+    #     not altinstall
+    # DEFAULT
+    #   - The default behavior is to install pip, pipX, pipX.Y, easy_install
+    #     and easy_install-X.Y.
+    pip_script = console.pop('pip', None)
+    if pip_script:
+        if "ENSUREPIP_OPTIONS" not in os.environ:
+            scripts_to_generate.append('pip = ' + pip_script)
+
+        if os.environ.get("ENSUREPIP_OPTIONS", "") != "altinstall":
+            scripts_to_generate.append(
+                'pip%s = %s' % (sys.version_info[0], pip_script)
+            )
+
+        scripts_to_generate.append(
+            'pip%s = %s' % (get_major_minor_version(), pip_script)
+        )
+        # Delete any other versioned pip entry points
+        pip_ep = [k for k in console if re.match(r'pip(\d(\.\d)?)?$', k)]
+        for k in pip_ep:
+            del console[k]
+    easy_install_script = console.pop('easy_install', None)
+    if easy_install_script:
+        if "ENSUREPIP_OPTIONS" not in os.environ:
+            scripts_to_generate.append(
+                'easy_install = ' + easy_install_script
+            )
+
+        scripts_to_generate.append(
+            'easy_install-%s = %s' % (
+                get_major_minor_version(), easy_install_script
+            )
+        )
+        # Delete any other versioned easy_install entry points
+        easy_install_ep = [
+            k for k in console if re.match(r'easy_install(-\d\.\d)?$', k)
+        ]
+        for k in easy_install_ep:
+            del console[k]
+
+    # Generate the console and GUI entry points specified in the wheel
+    scripts_to_generate.extend(
+        '%s = %s' % kv for kv in console.items()
+    )
+
+    gui_scripts_to_generate = [
+        '%s = %s' % kv for kv in gui.items()
+    ]
+
+    generated_console_scripts = []  # type: List[str]
+
+    try:
+        generated_console_scripts = maker.make_multiple(scripts_to_generate)
+        generated.extend(generated_console_scripts)
+
+        generated.extend(
+            maker.make_multiple(gui_scripts_to_generate, {'gui': True})
+        )
+    except MissingCallableSuffix as e:
+        entry = e.args[0]
+        raise InstallationError(
+            "Invalid script entry point: {} for req: {} - A callable "
+            "suffix is required. Cf https://packaging.python.org/"
+            "specifications/entry-points/#use-for-scripts for more "
+            "information.".format(entry, req_description)
+        )
+
+    if warn_script_location:
+        msg = message_about_scripts_not_on_PATH(generated_console_scripts)
+        if msg is not None:
+            logger.warning(msg)
+
+    # Record pip as the installer
+    installer = os.path.join(dest_info_dir, 'INSTALLER')
+    temp_installer = os.path.join(dest_info_dir, 'INSTALLER.pip')
+    with open(temp_installer, 'wb') as installer_file:
+        installer_file.write(b'pip\n')
+    shutil.move(temp_installer, installer)
+    generated.append(installer)
+
+    # Record details of all files installed
+    record = os.path.join(dest_info_dir, 'RECORD')
+    temp_record = os.path.join(dest_info_dir, 'RECORD.pip')
+    with open_for_csv(record, 'r') as record_in:
+        with open_for_csv(temp_record, 'w+') as record_out:
+            reader = csv.reader(record_in)
+            outrows = get_csv_rows_for_installed(
+                reader, installed=installed, changed=changed,
+                generated=generated, lib_dir=lib_dir,
+            )
+            writer = csv.writer(record_out)
+            # Sort to simplify testing.
+            for row in sorted_outrows(outrows):
+                writer.writerow(row)
+    shutil.move(temp_record, record)
+
+
+def install_wheel(
+    name,  # type: str
+    wheel_path,  # type: str
+    scheme,  # type: Scheme
+    req_description,  # type: str
+    pycompile=True,  # type: bool
+    warn_script_location=True,  # type: bool
+    _temp_dir_for_testing=None,  # type: Optional[str]
+):
+    # type: (...) -> None
+    with TempDirectory(
+        path=_temp_dir_for_testing, kind="unpacked-wheel"
+    ) as unpacked_dir, ZipFile(wheel_path, allowZip64=True) as z:
+        unpack_file(wheel_path, unpacked_dir.path)
+        install_unpacked_wheel(
+            name=name,
+            wheeldir=unpacked_dir.path,
+            wheel_zip=z,
+            scheme=scheme,
+            req_description=req_description,
+            pycompile=pycompile,
+            warn_script_location=warn_script_location,
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/operations/prepare.py b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/prepare.py
new file mode 100644
index 0000000..0b61f20
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/operations/prepare.py
@@ -0,0 +1,591 @@
+"""Prepares a distribution for installation
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+import logging
+import mimetypes
+import os
+import shutil
+import sys
+
+from pip._vendor import requests
+from pip._vendor.six import PY2
+
+from pip._internal.distributions import (
+    make_distribution_for_install_requirement,
+)
+from pip._internal.distributions.installed import InstalledDistribution
+from pip._internal.exceptions import (
+    DirectoryUrlHashUnsupported,
+    HashMismatch,
+    HashUnpinned,
+    InstallationError,
+    PreviousBuildDirError,
+    VcsHashUnsupported,
+)
+from pip._internal.utils.filesystem import copy2_fixed
+from pip._internal.utils.hashes import MissingHashes
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.marker_files import write_delete_marker_file
+from pip._internal.utils.misc import (
+    ask_path_exists,
+    backup_dir,
+    display_path,
+    hide_url,
+    path_to_display,
+    rmtree,
+)
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.unpacking import unpack_file
+from pip._internal.vcs import vcs
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Callable, List, Optional, Tuple,
+    )
+
+    from mypy_extensions import TypedDict
+
+    from pip._internal.distributions import AbstractDistribution
+    from pip._internal.index.package_finder import PackageFinder
+    from pip._internal.models.link import Link
+    from pip._internal.network.download import Downloader
+    from pip._internal.req.req_install import InstallRequirement
+    from pip._internal.req.req_tracker import RequirementTracker
+    from pip._internal.utils.hashes import Hashes
+
+    if PY2:
+        CopytreeKwargs = TypedDict(
+            'CopytreeKwargs',
+            {
+                'ignore': Callable[[str, List[str]], List[str]],
+                'symlinks': bool,
+            },
+            total=False,
+        )
+    else:
+        CopytreeKwargs = TypedDict(
+            'CopytreeKwargs',
+            {
+                'copy_function': Callable[[str, str], None],
+                'ignore': Callable[[str, List[str]], List[str]],
+                'ignore_dangling_symlinks': bool,
+                'symlinks': bool,
+            },
+            total=False,
+        )
+
+logger = logging.getLogger(__name__)
+
+
+def _get_prepared_distribution(
+        req,  # type: InstallRequirement
+        req_tracker,  # type: RequirementTracker
+        finder,  # type: PackageFinder
+        build_isolation  # type: bool
+):
+    # type: (...) -> AbstractDistribution
+    """Prepare a distribution for installation.
+    """
+    abstract_dist = make_distribution_for_install_requirement(req)
+    with req_tracker.track(req):
+        abstract_dist.prepare_distribution_metadata(finder, build_isolation)
+    return abstract_dist
+
+
+def unpack_vcs_link(link, location):
+    # type: (Link, str) -> None
+    vcs_backend = vcs.get_backend_for_scheme(link.scheme)
+    assert vcs_backend is not None
+    vcs_backend.unpack(location, url=hide_url(link.url))
+
+
+def _copy_file(filename, location, link):
+    # type: (str, str, Link) -> None
+    copy = True
+    download_location = os.path.join(location, link.filename)
+    if os.path.exists(download_location):
+        response = ask_path_exists(
+            'The file {} exists. (i)gnore, (w)ipe, (b)ackup, (a)abort'.format(
+                display_path(download_location)
+            ),
+            ('i', 'w', 'b', 'a'),
+        )
+        if response == 'i':
+            copy = False
+        elif response == 'w':
+            logger.warning('Deleting %s', display_path(download_location))
+            os.remove(download_location)
+        elif response == 'b':
+            dest_file = backup_dir(download_location)
+            logger.warning(
+                'Backing up %s to %s',
+                display_path(download_location),
+                display_path(dest_file),
+            )
+            shutil.move(download_location, dest_file)
+        elif response == 'a':
+            sys.exit(-1)
+    if copy:
+        shutil.copy(filename, download_location)
+        logger.info('Saved %s', display_path(download_location))
+
+
+def unpack_http_url(
+    link,  # type: Link
+    location,  # type: str
+    downloader,  # type: Downloader
+    download_dir=None,  # type: Optional[str]
+    hashes=None,  # type: Optional[Hashes]
+):
+    # type: (...) -> str
+    temp_dir = TempDirectory(kind="unpack", globally_managed=True)
+    # If a download dir is specified, is the file already downloaded there?
+    already_downloaded_path = None
+    if download_dir:
+        already_downloaded_path = _check_download_dir(
+            link, download_dir, hashes
+        )
+
+    if already_downloaded_path:
+        from_path = already_downloaded_path
+        content_type = mimetypes.guess_type(from_path)[0]
+    else:
+        # let's download to a tmp dir
+        from_path, content_type = _download_http_url(
+            link, downloader, temp_dir.path, hashes
+        )
+
+    # unpack the archive to the build dir location. even when only
+    # downloading archives, they have to be unpacked to parse dependencies
+    unpack_file(from_path, location, content_type)
+
+    return from_path
+
+
+def _copy2_ignoring_special_files(src, dest):
+    # type: (str, str) -> None
+    """Copying special files is not supported, but as a convenience to users
+    we skip errors copying them. This supports tools that may create e.g.
+    socket files in the project source directory.
+    """
+    try:
+        copy2_fixed(src, dest)
+    except shutil.SpecialFileError as e:
+        # SpecialFileError may be raised due to either the source or
+        # destination. If the destination was the cause then we would actually
+        # care, but since the destination directory is deleted prior to
+        # copy we ignore all of them assuming it is caused by the source.
+        logger.warning(
+            "Ignoring special file error '%s' encountered copying %s to %s.",
+            str(e),
+            path_to_display(src),
+            path_to_display(dest),
+        )
+
+
+def _copy_source_tree(source, target):
+    # type: (str, str) -> None
+    def ignore(d, names):
+        # type: (str, List[str]) -> List[str]
+        # Pulling in those directories can potentially be very slow,
+        # exclude the following directories if they appear in the top
+        # level dir (and only it).
+        # See discussion at https://github.com/pypa/pip/pull/6770
+        return ['.tox', '.nox'] if d == source else []
+
+    kwargs = dict(ignore=ignore, symlinks=True)  # type: CopytreeKwargs
+
+    if not PY2:
+        # Python 2 does not support copy_function, so we only ignore
+        # errors on special file copy in Python 3.
+        kwargs['copy_function'] = _copy2_ignoring_special_files
+
+    shutil.copytree(source, target, **kwargs)
+
+
+def unpack_file_url(
+    link,  # type: Link
+    location,  # type: str
+    download_dir=None,  # type: Optional[str]
+    hashes=None  # type: Optional[Hashes]
+):
+    # type: (...) -> Optional[str]
+    """Unpack link into location.
+    """
+    link_path = link.file_path
+    # If it's a url to a local directory
+    if link.is_existing_dir():
+        if os.path.isdir(location):
+            rmtree(location)
+        _copy_source_tree(link_path, location)
+        return None
+
+    # If a download dir is specified, is the file already there and valid?
+    already_downloaded_path = None
+    if download_dir:
+        already_downloaded_path = _check_download_dir(
+            link, download_dir, hashes
+        )
+
+    if already_downloaded_path:
+        from_path = already_downloaded_path
+    else:
+        from_path = link_path
+
+    # If --require-hashes is off, `hashes` is either empty, the
+    # link's embedded hash, or MissingHashes; it is required to
+    # match. If --require-hashes is on, we are satisfied by any
+    # hash in `hashes` matching: a URL-based or an option-based
+    # one; no internet-sourced hash will be in `hashes`.
+    if hashes:
+        hashes.check_against_path(from_path)
+
+    content_type = mimetypes.guess_type(from_path)[0]
+
+    # unpack the archive to the build dir location. even when only downloading
+    # archives, they have to be unpacked to parse dependencies
+    unpack_file(from_path, location, content_type)
+
+    return from_path
+
+
+def unpack_url(
+    link,  # type: Link
+    location,  # type: str
+    downloader,  # type: Downloader
+    download_dir=None,  # type: Optional[str]
+    hashes=None,  # type: Optional[Hashes]
+):
+    # type: (...) -> Optional[str]
+    """Unpack link into location, downloading if required.
+
+    :param hashes: A Hashes object, one of whose embedded hashes must match,
+        or HashMismatch will be raised. If the Hashes is empty, no matches are
+        required, and unhashable types of requirements (like VCS ones, which
+        would ordinarily raise HashUnsupported) are allowed.
+    """
+    # non-editable vcs urls
+    if link.is_vcs:
+        unpack_vcs_link(link, location)
+        return None
+
+    # file urls
+    elif link.is_file:
+        return unpack_file_url(link, location, download_dir, hashes=hashes)
+
+    # http urls
+    else:
+        return unpack_http_url(
+            link,
+            location,
+            downloader,
+            download_dir,
+            hashes=hashes,
+        )
+
+
+def _download_http_url(
+    link,  # type: Link
+    downloader,  # type: Downloader
+    temp_dir,  # type: str
+    hashes,  # type: Optional[Hashes]
+):
+    # type: (...) -> Tuple[str, str]
+    """Download link url into temp_dir using provided session"""
+    download = downloader(link)
+
+    file_path = os.path.join(temp_dir, download.filename)
+    with open(file_path, 'wb') as content_file:
+        for chunk in download.chunks:
+            content_file.write(chunk)
+
+    if hashes:
+        hashes.check_against_path(file_path)
+
+    return file_path, download.response.headers.get('content-type', '')
+
+
+def _check_download_dir(link, download_dir, hashes):
+    # type: (Link, str, Optional[Hashes]) -> Optional[str]
+    """ Check download_dir for previously downloaded file with correct hash
+        If a correct file is found return its path else None
+    """
+    download_path = os.path.join(download_dir, link.filename)
+
+    if not os.path.exists(download_path):
+        return None
+
+    # If already downloaded, does its hash match?
+    logger.info('File was already downloaded %s', download_path)
+    if hashes:
+        try:
+            hashes.check_against_path(download_path)
+        except HashMismatch:
+            logger.warning(
+                'Previously-downloaded file %s has bad hash. '
+                'Re-downloading.',
+                download_path
+            )
+            os.unlink(download_path)
+            return None
+    return download_path
+
+
+class RequirementPreparer(object):
+    """Prepares a Requirement
+    """
+
+    def __init__(
+        self,
+        build_dir,  # type: str
+        download_dir,  # type: Optional[str]
+        src_dir,  # type: str
+        wheel_download_dir,  # type: Optional[str]
+        build_isolation,  # type: bool
+        req_tracker,  # type: RequirementTracker
+        downloader,  # type: Downloader
+        finder,  # type: PackageFinder
+        require_hashes,  # type: bool
+        use_user_site,  # type: bool
+    ):
+        # type: (...) -> None
+        super(RequirementPreparer, self).__init__()
+
+        self.src_dir = src_dir
+        self.build_dir = build_dir
+        self.req_tracker = req_tracker
+        self.downloader = downloader
+        self.finder = finder
+
+        # Where still-packed archives should be written to. If None, they are
+        # not saved, and are deleted immediately after unpacking.
+        self.download_dir = download_dir
+
+        # Where still-packed .whl files should be written to. If None, they are
+        # written to the download_dir parameter. Separate to download_dir to
+        # permit only keeping wheel archives for pip wheel.
+        self.wheel_download_dir = wheel_download_dir
+
+        # NOTE
+        # download_dir and wheel_download_dir overlap semantically and may
+        # be combined if we're willing to have non-wheel archives present in
+        # the wheelhouse output by 'pip wheel'.
+
+        # Is build isolation allowed?
+        self.build_isolation = build_isolation
+
+        # Should hash-checking be required?
+        self.require_hashes = require_hashes
+
+        # Should install in user site-packages?
+        self.use_user_site = use_user_site
+
+    @property
+    def _download_should_save(self):
+        # type: () -> bool
+        if not self.download_dir:
+            return False
+
+        if os.path.exists(self.download_dir):
+            return True
+
+        logger.critical('Could not find download directory')
+        raise InstallationError(
+            "Could not find or access download directory '{}'"
+            .format(self.download_dir))
+
+    def prepare_linked_requirement(
+        self,
+        req,  # type: InstallRequirement
+    ):
+        # type: (...) -> AbstractDistribution
+        """Prepare a requirement that would be obtained from req.link
+        """
+        assert req.link
+        link = req.link
+
+        # TODO: Breakup into smaller functions
+        if link.scheme == 'file':
+            path = link.file_path
+            logger.info('Processing %s', display_path(path))
+        else:
+            logger.info('Collecting %s', req.req or req)
+
+        with indent_log():
+            # @@ if filesystem packages are not marked
+            # editable in a req, a non deterministic error
+            # occurs when the script attempts to unpack the
+            # build directory
+            # Since source_dir is only set for editable requirements.
+            assert req.source_dir is None
+            req.ensure_has_source_dir(self.build_dir)
+            # If a checkout exists, it's unwise to keep going.  version
+            # inconsistencies are logged later, but do not fail the
+            # installation.
+            # FIXME: this won't upgrade when there's an existing
+            # package unpacked in `req.source_dir`
+            if os.path.exists(os.path.join(req.source_dir, 'setup.py')):
+                raise PreviousBuildDirError(
+                    "pip can't proceed with requirements '{}' due to a"
+                    " pre-existing build directory ({}). This is "
+                    "likely due to a previous installation that failed"
+                    ". pip is being responsible and not assuming it "
+                    "can delete this. Please delete it and try again."
+                    .format(req, req.source_dir)
+                )
+
+            # Now that we have the real link, we can tell what kind of
+            # requirements we have and raise some more informative errors
+            # than otherwise. (For example, we can raise VcsHashUnsupported
+            # for a VCS URL rather than HashMissing.)
+            if self.require_hashes:
+                # We could check these first 2 conditions inside
+                # unpack_url and save repetition of conditions, but then
+                # we would report less-useful error messages for
+                # unhashable requirements, complaining that there's no
+                # hash provided.
+                if link.is_vcs:
+                    raise VcsHashUnsupported()
+                elif link.is_existing_dir():
+                    raise DirectoryUrlHashUnsupported()
+                if not req.original_link and not req.is_pinned:
+                    # Unpinned packages are asking for trouble when a new
+                    # version is uploaded. This isn't a security check, but
+                    # it saves users a surprising hash mismatch in the
+                    # future.
+                    #
+                    # file:/// URLs aren't pinnable, so don't complain
+                    # about them not being pinned.
+                    raise HashUnpinned()
+
+            hashes = req.hashes(trust_internet=not self.require_hashes)
+            if self.require_hashes and not hashes:
+                # Known-good hashes are missing for this requirement, so
+                # shim it with a facade object that will provoke hash
+                # computation and then raise a HashMissing exception
+                # showing the user what the hash should be.
+                hashes = MissingHashes()
+
+            download_dir = self.download_dir
+            if link.is_wheel and self.wheel_download_dir:
+                # when doing 'pip wheel` we download wheels to a
+                # dedicated dir.
+                download_dir = self.wheel_download_dir
+
+            try:
+                local_path = unpack_url(
+                    link, req.source_dir, self.downloader, download_dir,
+                    hashes=hashes,
+                )
+            except requests.HTTPError as exc:
+                logger.critical(
+                    'Could not install requirement %s because of error %s',
+                    req,
+                    exc,
+                )
+                raise InstallationError(
+                    'Could not install requirement {} because of HTTP '
+                    'error {} for URL {}'.format(req, exc, link)
+                )
+
+            # For use in later processing, preserve the file path on the
+            # requirement.
+            if local_path:
+                req.local_file_path = local_path
+
+            if link.is_wheel:
+                if download_dir:
+                    # When downloading, we only unpack wheels to get
+                    # metadata.
+                    autodelete_unpacked = True
+                else:
+                    # When installing a wheel, we use the unpacked
+                    # wheel.
+                    autodelete_unpacked = False
+            else:
+                # We always delete unpacked sdists after pip runs.
+                autodelete_unpacked = True
+            if autodelete_unpacked:
+                write_delete_marker_file(req.source_dir)
+
+            abstract_dist = _get_prepared_distribution(
+                req, self.req_tracker, self.finder, self.build_isolation,
+            )
+
+            if download_dir:
+                if link.is_existing_dir():
+                    logger.info('Link is a directory, ignoring download_dir')
+                elif local_path and not os.path.exists(
+                    os.path.join(download_dir, link.filename)
+                ):
+                    _copy_file(local_path, download_dir, link)
+
+            if self._download_should_save:
+                # Make a .zip of the source_dir we already created.
+                if link.is_vcs:
+                    req.archive(self.download_dir)
+        return abstract_dist
+
+    def prepare_editable_requirement(
+        self,
+        req,  # type: InstallRequirement
+    ):
+        # type: (...) -> AbstractDistribution
+        """Prepare an editable requirement
+        """
+        assert req.editable, "cannot prepare a non-editable req as editable"
+
+        logger.info('Obtaining %s', req)
+
+        with indent_log():
+            if self.require_hashes:
+                raise InstallationError(
+                    'The editable requirement {} cannot be installed when '
+                    'requiring hashes, because there is no single file to '
+                    'hash.'.format(req)
+                )
+            req.ensure_has_source_dir(self.src_dir)
+            req.update_editable(not self._download_should_save)
+
+            abstract_dist = _get_prepared_distribution(
+                req, self.req_tracker, self.finder, self.build_isolation,
+            )
+
+            if self._download_should_save:
+                req.archive(self.download_dir)
+            req.check_if_exists(self.use_user_site)
+
+        return abstract_dist
+
+    def prepare_installed_requirement(
+        self,
+        req,  # type: InstallRequirement
+        skip_reason  # type: str
+    ):
+        # type: (...) -> AbstractDistribution
+        """Prepare an already-installed requirement
+        """
+        assert req.satisfied_by, "req should have been satisfied but isn't"
+        assert skip_reason is not None, (
+            "did not get skip reason skipped but req.satisfied_by "
+            "is set to {}".format(req.satisfied_by)
+        )
+        logger.info(
+            'Requirement %s: %s (%s)',
+            skip_reason, req, req.satisfied_by.version
+        )
+        with indent_log():
+            if self.require_hashes:
+                logger.debug(
+                    'Since it is already installed, we are trusting this '
+                    'package without checking its hash. To ensure a '
+                    'completely repeatable environment, install into an '
+                    'empty virtualenv.'
+                )
+            abstract_dist = InstalledDistribution(req)
+
+        return abstract_dist
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/pep425tags.py b/iot_env/lib/python3.8/site-packages/pip/_internal/pep425tags.py
new file mode 100644
index 0000000..a2386ee
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/pep425tags.py
@@ -0,0 +1,167 @@
+"""Generate and work with PEP 425 Compatibility Tags."""
+from __future__ import absolute_import
+
+import logging
+import re
+
+from pip._vendor.packaging.tags import (
+    Tag,
+    compatible_tags,
+    cpython_tags,
+    generic_tags,
+    interpreter_name,
+    interpreter_version,
+    mac_platforms,
+)
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional, Tuple
+
+    from pip._vendor.packaging.tags import PythonVersion
+
+logger = logging.getLogger(__name__)
+
+_osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)')
+
+
+def version_info_to_nodot(version_info):
+    # type: (Tuple[int, ...]) -> str
+    # Only use up to the first two numbers.
+    return ''.join(map(str, version_info[:2]))
+
+
+def _mac_platforms(arch):
+    # type: (str) -> List[str]
+    match = _osx_arch_pat.match(arch)
+    if match:
+        name, major, minor, actual_arch = match.groups()
+        mac_version = (int(major), int(minor))
+        arches = [
+            # Since we have always only checked that the platform starts
+            # with "macosx", for backwards-compatibility we extract the
+            # actual prefix provided by the user in case they provided
+            # something like "macosxcustom_". It may be good to remove
+            # this as undocumented or deprecate it in the future.
+            '{}_{}'.format(name, arch[len('macosx_'):])
+            for arch in mac_platforms(mac_version, actual_arch)
+        ]
+    else:
+        # arch pattern didn't match (?!)
+        arches = [arch]
+    return arches
+
+
+def _custom_manylinux_platforms(arch):
+    # type: (str) -> List[str]
+    arches = [arch]
+    arch_prefix, arch_sep, arch_suffix = arch.partition('_')
+    if arch_prefix == 'manylinux2014':
+        # manylinux1/manylinux2010 wheels run on most manylinux2014 systems
+        # with the exception of wheels depending on ncurses. PEP 599 states
+        # manylinux1/manylinux2010 wheels should be considered
+        # manylinux2014 wheels:
+        # https://www.python.org/dev/peps/pep-0599/#backwards-compatibility-with-manylinux2010-wheels
+        if arch_suffix in {'i686', 'x86_64'}:
+            arches.append('manylinux2010' + arch_sep + arch_suffix)
+            arches.append('manylinux1' + arch_sep + arch_suffix)
+    elif arch_prefix == 'manylinux2010':
+        # manylinux1 wheels run on most manylinux2010 systems with the
+        # exception of wheels depending on ncurses. PEP 571 states
+        # manylinux1 wheels should be considered manylinux2010 wheels:
+        # https://www.python.org/dev/peps/pep-0571/#backwards-compatibility-with-manylinux1-wheels
+        arches.append('manylinux1' + arch_sep + arch_suffix)
+    return arches
+
+
+def _get_custom_platforms(arch):
+    # type: (str) -> List[str]
+    arch_prefix, arch_sep, arch_suffix = arch.partition('_')
+    if arch.startswith('macosx'):
+        arches = _mac_platforms(arch)
+    elif arch_prefix in ['manylinux2014', 'manylinux2010']:
+        arches = _custom_manylinux_platforms(arch)
+    else:
+        arches = [arch]
+    return arches
+
+
+def _get_python_version(version):
+    # type: (str) -> PythonVersion
+    if len(version) > 1:
+        return int(version[0]), int(version[1:])
+    else:
+        return (int(version[0]),)
+
+
+def _get_custom_interpreter(implementation=None, version=None):
+    # type: (Optional[str], Optional[str]) -> str
+    if implementation is None:
+        implementation = interpreter_name()
+    if version is None:
+        version = interpreter_version()
+    return "{}{}".format(implementation, version)
+
+
+def get_supported(
+    version=None,  # type: Optional[str]
+    platform=None,  # type: Optional[str]
+    impl=None,  # type: Optional[str]
+    abi=None  # type: Optional[str]
+):
+    # type: (...) -> List[Tag]
+    """Return a list of supported tags for each version specified in
+    `versions`.
+
+    :param version: a string version, of the form "33" or "32",
+        or None. The version will be assumed to support our ABI.
+    :param platform: specify the exact platform you want valid
+        tags for, or None. If None, use the local system platform.
+    :param impl: specify the exact implementation you want valid
+        tags for, or None. If None, use the local interpreter impl.
+    :param abi: specify the exact abi you want valid
+        tags for, or None. If None, use the local interpreter abi.
+    """
+    supported = []  # type: List[Tag]
+
+    python_version = None  # type: Optional[PythonVersion]
+    if version is not None:
+        python_version = _get_python_version(version)
+
+    interpreter = _get_custom_interpreter(impl, version)
+
+    abis = None  # type: Optional[List[str]]
+    if abi is not None:
+        abis = [abi]
+
+    platforms = None  # type: Optional[List[str]]
+    if platform is not None:
+        platforms = _get_custom_platforms(platform)
+
+    is_cpython = (impl or interpreter_name()) == "cp"
+    if is_cpython:
+        supported.extend(
+            cpython_tags(
+                python_version=python_version,
+                abis=abis,
+                platforms=platforms,
+            )
+        )
+    else:
+        supported.extend(
+            generic_tags(
+                interpreter=interpreter,
+                abis=abis,
+                platforms=platforms,
+            )
+        )
+    supported.extend(
+        compatible_tags(
+            python_version=python_version,
+            interpreter=interpreter,
+            platforms=platforms,
+        )
+    )
+
+    return supported
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/pyproject.py b/iot_env/lib/python3.8/site-packages/pip/_internal/pyproject.py
new file mode 100644
index 0000000..6b4faf7
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/pyproject.py
@@ -0,0 +1,196 @@
+from __future__ import absolute_import
+
+import io
+import os
+import sys
+from collections import namedtuple
+
+from pip._vendor import six, toml
+from pip._vendor.packaging.requirements import InvalidRequirement, Requirement
+
+from pip._internal.exceptions import InstallationError
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Any, Optional, List
+
+
+def _is_list_of_str(obj):
+    # type: (Any) -> bool
+    return (
+        isinstance(obj, list) and
+        all(isinstance(item, six.string_types) for item in obj)
+    )
+
+
+def make_pyproject_path(unpacked_source_directory):
+    # type: (str) -> str
+    path = os.path.join(unpacked_source_directory, 'pyproject.toml')
+
+    # Python2 __file__ should not be unicode
+    if six.PY2 and isinstance(path, six.text_type):
+        path = path.encode(sys.getfilesystemencoding())
+
+    return path
+
+
+BuildSystemDetails = namedtuple('BuildSystemDetails', [
+    'requires', 'backend', 'check', 'backend_path'
+])
+
+
+def load_pyproject_toml(
+    use_pep517,  # type: Optional[bool]
+    pyproject_toml,  # type: str
+    setup_py,  # type: str
+    req_name  # type: str
+):
+    # type: (...) -> Optional[BuildSystemDetails]
+    """Load the pyproject.toml file.
+
+    Parameters:
+        use_pep517 - Has the user requested PEP 517 processing? None
+                     means the user hasn't explicitly specified.
+        pyproject_toml - Location of the project's pyproject.toml file
+        setup_py - Location of the project's setup.py file
+        req_name - The name of the requirement we're processing (for
+                   error reporting)
+
+    Returns:
+        None if we should use the legacy code path, otherwise a tuple
+        (
+            requirements from pyproject.toml,
+            name of PEP 517 backend,
+            requirements we should check are installed after setting
+                up the build environment
+            directory paths to import the backend from (backend-path),
+                relative to the project root.
+        )
+    """
+    has_pyproject = os.path.isfile(pyproject_toml)
+    has_setup = os.path.isfile(setup_py)
+
+    if has_pyproject:
+        with io.open(pyproject_toml, encoding="utf-8") as f:
+            pp_toml = toml.load(f)
+        build_system = pp_toml.get("build-system")
+    else:
+        build_system = None
+
+    # The following cases must use PEP 517
+    # We check for use_pep517 being non-None and falsey because that means
+    # the user explicitly requested --no-use-pep517.  The value 0 as
+    # opposed to False can occur when the value is provided via an
+    # environment variable or config file option (due to the quirk of
+    # strtobool() returning an integer in pip's configuration code).
+    if has_pyproject and not has_setup:
+        if use_pep517 is not None and not use_pep517:
+            raise InstallationError(
+                "Disabling PEP 517 processing is invalid: "
+                "project does not have a setup.py"
+            )
+        use_pep517 = True
+    elif build_system and "build-backend" in build_system:
+        if use_pep517 is not None and not use_pep517:
+            raise InstallationError(
+                "Disabling PEP 517 processing is invalid: "
+                "project specifies a build backend of {} "
+                "in pyproject.toml".format(
+                    build_system["build-backend"]
+                )
+            )
+        use_pep517 = True
+
+    # If we haven't worked out whether to use PEP 517 yet,
+    # and the user hasn't explicitly stated a preference,
+    # we do so if the project has a pyproject.toml file.
+    elif use_pep517 is None:
+        use_pep517 = has_pyproject
+
+    # At this point, we know whether we're going to use PEP 517.
+    assert use_pep517 is not None
+
+    # If we're using the legacy code path, there is nothing further
+    # for us to do here.
+    if not use_pep517:
+        return None
+
+    if build_system is None:
+        # Either the user has a pyproject.toml with no build-system
+        # section, or the user has no pyproject.toml, but has opted in
+        # explicitly via --use-pep517.
+        # In the absence of any explicit backend specification, we
+        # assume the setuptools backend that most closely emulates the
+        # traditional direct setup.py execution, and require wheel and
+        # a version of setuptools that supports that backend.
+
+        build_system = {
+            "requires": ["setuptools>=40.8.0", "wheel"],
+            "build-backend": "setuptools.build_meta:__legacy__",
+        }
+
+    # If we're using PEP 517, we have build system information (either
+    # from pyproject.toml, or defaulted by the code above).
+    # Note that at this point, we do not know if the user has actually
+    # specified a backend, though.
+    assert build_system is not None
+
+    # Ensure that the build-system section in pyproject.toml conforms
+    # to PEP 518.
+    error_template = (
+        "{package} has a pyproject.toml file that does not comply "
+        "with PEP 518: {reason}"
+    )
+
+    # Specifying the build-system table but not the requires key is invalid
+    if "requires" not in build_system:
+        raise InstallationError(
+            error_template.format(package=req_name, reason=(
+                "it has a 'build-system' table but not "
+                "'build-system.requires' which is mandatory in the table"
+            ))
+        )
+
+    # Error out if requires is not a list of strings
+    requires = build_system["requires"]
+    if not _is_list_of_str(requires):
+        raise InstallationError(error_template.format(
+            package=req_name,
+            reason="'build-system.requires' is not a list of strings.",
+        ))
+
+    # Each requirement must be valid as per PEP 508
+    for requirement in requires:
+        try:
+            Requirement(requirement)
+        except InvalidRequirement:
+            raise InstallationError(
+                error_template.format(
+                    package=req_name,
+                    reason=(
+                        "'build-system.requires' contains an invalid "
+                        "requirement: {!r}".format(requirement)
+                    ),
+                )
+            )
+
+    backend = build_system.get("build-backend")
+    backend_path = build_system.get("backend-path", [])
+    check = []  # type: List[str]
+    if backend is None:
+        # If the user didn't specify a backend, we assume they want to use
+        # the setuptools backend. But we can't be sure they have included
+        # a version of setuptools which supplies the backend, or wheel
+        # (which is needed by the backend) in their requirements. So we
+        # make a note to check that those requirements are present once
+        # we have set up the environment.
+        # This is quite a lot of work to check for a very specific case. But
+        # the problem is, that case is potentially quite common - projects that
+        # adopted PEP 518 early for the ability to specify requirements to
+        # execute setup.py, but never considered needing to mention the build
+        # tools themselves. The original PEP 518 code had a similar check (but
+        # implemented in a different way).
+        backend = "setuptools.build_meta:__legacy__"
+        check = ["setuptools>=40.8.0", "wheel"]
+
+    return BuildSystemDetails(requires, backend, check, backend_path)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/req/__init__.py
new file mode 100644
index 0000000..d2d027a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/req/__init__.py
@@ -0,0 +1,92 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import logging
+
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+from .req_file import parse_requirements
+from .req_install import InstallRequirement
+from .req_set import RequirementSet
+
+if MYPY_CHECK_RUNNING:
+    from typing import Any, List, Sequence
+
+__all__ = [
+    "RequirementSet", "InstallRequirement",
+    "parse_requirements", "install_given_reqs",
+]
+
+logger = logging.getLogger(__name__)
+
+
+class InstallationResult(object):
+    def __init__(self, name):
+        # type: (str) -> None
+        self.name = name
+
+    def __repr__(self):
+        # type: () -> str
+        return "InstallationResult(name={!r})".format(self.name)
+
+
+def install_given_reqs(
+    to_install,  # type: List[InstallRequirement]
+    install_options,  # type: List[str]
+    global_options=(),  # type: Sequence[str]
+    *args,  # type: Any
+    **kwargs  # type: Any
+):
+    # type: (...) -> List[InstallationResult]
+    """
+    Install everything in the given list.
+
+    (to be called after having downloaded and unpacked the packages)
+    """
+
+    if to_install:
+        logger.info(
+            'Installing collected packages: %s',
+            ', '.join([req.name for req in to_install]),
+        )
+
+    installed = []
+
+    with indent_log():
+        for requirement in to_install:
+            if requirement.should_reinstall:
+                logger.info('Attempting uninstall: %s', requirement.name)
+                with indent_log():
+                    uninstalled_pathset = requirement.uninstall(
+                        auto_confirm=True
+                    )
+            try:
+                requirement.install(
+                    install_options,
+                    global_options,
+                    *args,
+                    **kwargs
+                )
+            except Exception:
+                should_rollback = (
+                    requirement.should_reinstall and
+                    not requirement.install_succeeded
+                )
+                # if install did not succeed, rollback previous uninstall
+                if should_rollback:
+                    uninstalled_pathset.rollback()
+                raise
+            else:
+                should_commit = (
+                    requirement.should_reinstall and
+                    requirement.install_succeeded
+                )
+                if should_commit:
+                    uninstalled_pathset.commit()
+
+            installed.append(InstallationResult(requirement.name))
+
+    return installed
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4de69295e5a05be9d703ce7a46c94edca0f359f4
GIT binary patch
literal 2194
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/constructors.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/constructors.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f20dafcd88bfdcb63aa650d8338001390b374986
GIT binary patch
literal 10363
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_file.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_file.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..600e5f35a793e8f8d103578c316c32a78fabefa4
GIT binary patch
literal 12702
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
F0RT&oQiA{h

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_install.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_install.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8faed6a2fcab90653c41aa7aee14c9938fec1117
GIT binary patch
literal 21338
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_set.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_set.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..15afcc111c7005c0519c4bc1ddebd6718204a811
GIT binary patch
literal 6021
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6b82e8892475577b5c795689375faf6ddccbeffa
GIT binary patch
literal 4041
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e3b3f2a31b4399ea43b30a541453372a3a671d63
GIT binary patch
literal 17427
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/constructors.py b/iot_env/lib/python3.8/site-packages/pip/_internal/req/constructors.py
new file mode 100644
index 0000000..1f3cd8a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/req/constructors.py
@@ -0,0 +1,436 @@
+"""Backing implementation for InstallRequirement's various constructors
+
+The idea here is that these formed a major chunk of InstallRequirement's size
+so, moving them and support code dedicated to them outside of that class
+helps creates for better understandability for the rest of the code.
+
+These are meant to be used elsewhere within pip to create instances of
+InstallRequirement.
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+import logging
+import os
+import re
+
+from pip._vendor.packaging.markers import Marker
+from pip._vendor.packaging.requirements import InvalidRequirement, Requirement
+from pip._vendor.packaging.specifiers import Specifier
+from pip._vendor.pkg_resources import RequirementParseError, parse_requirements
+
+from pip._internal.exceptions import InstallationError
+from pip._internal.models.index import PyPI, TestPyPI
+from pip._internal.models.link import Link
+from pip._internal.models.wheel import Wheel
+from pip._internal.pyproject import make_pyproject_path
+from pip._internal.req.req_install import InstallRequirement
+from pip._internal.utils.filetypes import ARCHIVE_EXTENSIONS
+from pip._internal.utils.misc import is_installable_dir, splitext
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.urls import path_to_url
+from pip._internal.vcs import is_url, vcs
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Any, Dict, Optional, Set, Tuple, Union,
+    )
+    from pip._internal.cache import WheelCache
+
+
+__all__ = [
+    "install_req_from_editable", "install_req_from_line",
+    "parse_editable"
+]
+
+logger = logging.getLogger(__name__)
+operators = Specifier._operators.keys()
+
+
+def is_archive_file(name):
+    # type: (str) -> bool
+    """Return True if `name` is a considered as an archive file."""
+    ext = splitext(name)[1].lower()
+    if ext in ARCHIVE_EXTENSIONS:
+        return True
+    return False
+
+
+def _strip_extras(path):
+    # type: (str) -> Tuple[str, Optional[str]]
+    m = re.match(r'^(.+)(\[[^\]]+\])$', path)
+    extras = None
+    if m:
+        path_no_extras = m.group(1)
+        extras = m.group(2)
+    else:
+        path_no_extras = path
+
+    return path_no_extras, extras
+
+
+def convert_extras(extras):
+    # type: (Optional[str]) -> Set[str]
+    if not extras:
+        return set()
+    return Requirement("placeholder" + extras.lower()).extras
+
+
+def parse_editable(editable_req):
+    # type: (str) -> Tuple[Optional[str], str, Optional[Set[str]]]
+    """Parses an editable requirement into:
+        - a requirement name
+        - an URL
+        - extras
+        - editable options
+    Accepted requirements:
+        svn+http://blahblah@rev#egg=Foobar[baz]&subdirectory=version_subdir
+        .[some_extra]
+    """
+
+    url = editable_req
+
+    # If a file path is specified with extras, strip off the extras.
+    url_no_extras, extras = _strip_extras(url)
+
+    if os.path.isdir(url_no_extras):
+        if not os.path.exists(os.path.join(url_no_extras, 'setup.py')):
+            msg = (
+                'File "setup.py" not found. Directory cannot be installed '
+                'in editable mode: {}'.format(os.path.abspath(url_no_extras))
+            )
+            pyproject_path = make_pyproject_path(url_no_extras)
+            if os.path.isfile(pyproject_path):
+                msg += (
+                    '\n(A "pyproject.toml" file was found, but editable '
+                    'mode currently requires a setup.py based build.)'
+                )
+            raise InstallationError(msg)
+
+        # Treating it as code that has already been checked out
+        url_no_extras = path_to_url(url_no_extras)
+
+    if url_no_extras.lower().startswith('file:'):
+        package_name = Link(url_no_extras).egg_fragment
+        if extras:
+            return (
+                package_name,
+                url_no_extras,
+                Requirement("placeholder" + extras.lower()).extras,
+            )
+        else:
+            return package_name, url_no_extras, None
+
+    for version_control in vcs:
+        if url.lower().startswith('%s:' % version_control):
+            url = '%s+%s' % (version_control, url)
+            break
+
+    if '+' not in url:
+        raise InstallationError(
+            '{} is not a valid editable requirement. '
+            'It should either be a path to a local project or a VCS URL '
+            '(beginning with svn+, git+, hg+, or bzr+).'.format(editable_req)
+        )
+
+    vc_type = url.split('+', 1)[0].lower()
+
+    if not vcs.get_backend(vc_type):
+        error_message = 'For --editable=%s only ' % editable_req + \
+            ', '.join([backend.name + '+URL' for backend in vcs.backends]) + \
+            ' is currently supported'
+        raise InstallationError(error_message)
+
+    package_name = Link(url).egg_fragment
+    if not package_name:
+        raise InstallationError(
+            "Could not detect requirement name for '%s', please specify one "
+            "with #egg=your_package_name" % editable_req
+        )
+    return package_name, url, None
+
+
+def deduce_helpful_msg(req):
+    # type: (str) -> str
+    """Returns helpful msg in case requirements file does not exist,
+    or cannot be parsed.
+
+    :params req: Requirements file path
+    """
+    msg = ""
+    if os.path.exists(req):
+        msg = " It does exist."
+        # Try to parse and check if it is a requirements file.
+        try:
+            with open(req, 'r') as fp:
+                # parse first line only
+                next(parse_requirements(fp.read()))
+                msg += " The argument you provided " + \
+                    "(%s) appears to be a" % (req) + \
+                    " requirements file. If that is the" + \
+                    " case, use the '-r' flag to install" + \
+                    " the packages specified within it."
+        except RequirementParseError:
+            logger.debug("Cannot parse '%s' as requirements \
+            file" % (req), exc_info=True)
+    else:
+        msg += " File '%s' does not exist." % (req)
+    return msg
+
+
+class RequirementParts(object):
+    def __init__(
+            self,
+            requirement,  # type: Optional[Requirement]
+            link,         # type: Optional[Link]
+            markers,      # type: Optional[Marker]
+            extras,       # type: Set[str]
+    ):
+        self.requirement = requirement
+        self.link = link
+        self.markers = markers
+        self.extras = extras
+
+
+def parse_req_from_editable(editable_req):
+    # type: (str) -> RequirementParts
+    name, url, extras_override = parse_editable(editable_req)
+
+    if name is not None:
+        try:
+            req = Requirement(name)
+        except InvalidRequirement:
+            raise InstallationError("Invalid requirement: '%s'" % name)
+    else:
+        req = None
+
+    link = Link(url)
+
+    return RequirementParts(req, link, None, extras_override)
+
+
+# ---- The actual constructors follow ----
+
+
+def install_req_from_editable(
+    editable_req,  # type: str
+    comes_from=None,  # type: Optional[str]
+    use_pep517=None,  # type: Optional[bool]
+    isolated=False,  # type: bool
+    options=None,  # type: Optional[Dict[str, Any]]
+    wheel_cache=None,  # type: Optional[WheelCache]
+    constraint=False  # type: bool
+):
+    # type: (...) -> InstallRequirement
+
+    parts = parse_req_from_editable(editable_req)
+
+    source_dir = parts.link.file_path if parts.link.scheme == 'file' else None
+
+    return InstallRequirement(
+        parts.requirement, comes_from, source_dir=source_dir,
+        editable=True,
+        link=parts.link,
+        constraint=constraint,
+        use_pep517=use_pep517,
+        isolated=isolated,
+        options=options if options else {},
+        wheel_cache=wheel_cache,
+        extras=parts.extras,
+    )
+
+
+def _looks_like_path(name):
+    # type: (str) -> bool
+    """Checks whether the string "looks like" a path on the filesystem.
+
+    This does not check whether the target actually exists, only judge from the
+    appearance.
+
+    Returns true if any of the following conditions is true:
+    * a path separator is found (either os.path.sep or os.path.altsep);
+    * a dot is found (which represents the current directory).
+    """
+    if os.path.sep in name:
+        return True
+    if os.path.altsep is not None and os.path.altsep in name:
+        return True
+    if name.startswith("."):
+        return True
+    return False
+
+
+def _get_url_from_path(path, name):
+    # type: (str, str) -> str
+    """
+    First, it checks whether a provided path is an installable directory
+    (e.g. it has a setup.py). If it is, returns the path.
+
+    If false, check if the path is an archive file (such as a .whl).
+    The function checks if the path is a file. If false, if the path has
+    an @, it will treat it as a PEP 440 URL requirement and return the path.
+    """
+    if _looks_like_path(name) and os.path.isdir(path):
+        if is_installable_dir(path):
+            return path_to_url(path)
+        raise InstallationError(
+            "Directory %r is not installable. Neither 'setup.py' "
+            "nor 'pyproject.toml' found." % name
+        )
+    if not is_archive_file(path):
+        return None
+    if os.path.isfile(path):
+        return path_to_url(path)
+    urlreq_parts = name.split('@', 1)
+    if len(urlreq_parts) >= 2 and not _looks_like_path(urlreq_parts[0]):
+        # If the path contains '@' and the part before it does not look
+        # like a path, try to treat it as a PEP 440 URL req instead.
+        return None
+    logger.warning(
+        'Requirement %r looks like a filename, but the '
+        'file does not exist',
+        name
+    )
+    return path_to_url(path)
+
+
+def parse_req_from_line(name, line_source):
+    # type: (str, Optional[str]) -> RequirementParts
+    if is_url(name):
+        marker_sep = '; '
+    else:
+        marker_sep = ';'
+    if marker_sep in name:
+        name, markers_as_string = name.split(marker_sep, 1)
+        markers_as_string = markers_as_string.strip()
+        if not markers_as_string:
+            markers = None
+        else:
+            markers = Marker(markers_as_string)
+    else:
+        markers = None
+    name = name.strip()
+    req_as_string = None
+    path = os.path.normpath(os.path.abspath(name))
+    link = None
+    extras_as_string = None
+
+    if is_url(name):
+        link = Link(name)
+    else:
+        p, extras_as_string = _strip_extras(path)
+        url = _get_url_from_path(p, name)
+        if url is not None:
+            link = Link(url)
+
+    # it's a local file, dir, or url
+    if link:
+        # Handle relative file URLs
+        if link.scheme == 'file' and re.search(r'\.\./', link.url):
+            link = Link(
+                path_to_url(os.path.normpath(os.path.abspath(link.path))))
+        # wheel file
+        if link.is_wheel:
+            wheel = Wheel(link.filename)  # can raise InvalidWheelFilename
+            req_as_string = "%s==%s" % (wheel.name, wheel.version)
+        else:
+            # set the req to the egg fragment.  when it's not there, this
+            # will become an 'unnamed' requirement
+            req_as_string = link.egg_fragment
+
+    # a requirement specifier
+    else:
+        req_as_string = name
+
+    extras = convert_extras(extras_as_string)
+
+    def with_source(text):
+        # type: (str) -> str
+        if not line_source:
+            return text
+        return '{} (from {})'.format(text, line_source)
+
+    if req_as_string is not None:
+        try:
+            req = Requirement(req_as_string)
+        except InvalidRequirement:
+            if os.path.sep in req_as_string:
+                add_msg = "It looks like a path."
+                add_msg += deduce_helpful_msg(req_as_string)
+            elif ('=' in req_as_string and
+                  not any(op in req_as_string for op in operators)):
+                add_msg = "= is not a valid operator. Did you mean == ?"
+            else:
+                add_msg = ''
+            msg = with_source(
+                'Invalid requirement: {!r}'.format(req_as_string)
+            )
+            if add_msg:
+                msg += '\nHint: {}'.format(add_msg)
+            raise InstallationError(msg)
+    else:
+        req = None
+
+    return RequirementParts(req, link, markers, extras)
+
+
+def install_req_from_line(
+    name,  # type: str
+    comes_from=None,  # type: Optional[Union[str, InstallRequirement]]
+    use_pep517=None,  # type: Optional[bool]
+    isolated=False,  # type: bool
+    options=None,  # type: Optional[Dict[str, Any]]
+    wheel_cache=None,  # type: Optional[WheelCache]
+    constraint=False,  # type: bool
+    line_source=None,  # type: Optional[str]
+):
+    # type: (...) -> InstallRequirement
+    """Creates an InstallRequirement from a name, which might be a
+    requirement, directory containing 'setup.py', filename, or URL.
+
+    :param line_source: An optional string describing where the line is from,
+        for logging purposes in case of an error.
+    """
+    parts = parse_req_from_line(name, line_source)
+
+    return InstallRequirement(
+        parts.requirement, comes_from, link=parts.link, markers=parts.markers,
+        use_pep517=use_pep517, isolated=isolated,
+        options=options if options else {},
+        wheel_cache=wheel_cache,
+        constraint=constraint,
+        extras=parts.extras,
+    )
+
+
+def install_req_from_req_string(
+    req_string,  # type: str
+    comes_from=None,  # type: Optional[InstallRequirement]
+    isolated=False,  # type: bool
+    wheel_cache=None,  # type: Optional[WheelCache]
+    use_pep517=None  # type: Optional[bool]
+):
+    # type: (...) -> InstallRequirement
+    try:
+        req = Requirement(req_string)
+    except InvalidRequirement:
+        raise InstallationError("Invalid requirement: '%s'" % req_string)
+
+    domains_not_allowed = [
+        PyPI.file_storage_domain,
+        TestPyPI.file_storage_domain,
+    ]
+    if (req.url and comes_from and comes_from.link and
+            comes_from.link.netloc in domains_not_allowed):
+        # Explicitly disallow pypi packages that depend on external urls
+        raise InstallationError(
+            "Packages installed from PyPI cannot depend on packages "
+            "which are not also hosted on PyPI.\n"
+            "%s depends on %s " % (comes_from.name, req)
+        )
+
+    return InstallRequirement(
+        req, comes_from, isolated=isolated, wheel_cache=wheel_cache,
+        use_pep517=use_pep517
+    )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_file.py b/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_file.py
new file mode 100644
index 0000000..8c78104
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_file.py
@@ -0,0 +1,546 @@
+"""
+Requirements file parsing
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import optparse
+import os
+import re
+import shlex
+import sys
+
+from pip._vendor.six.moves import filterfalse
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+
+from pip._internal.cli import cmdoptions
+from pip._internal.exceptions import (
+    InstallationError,
+    RequirementsFileParseError,
+)
+from pip._internal.models.search_scope import SearchScope
+from pip._internal.req.constructors import (
+    install_req_from_editable,
+    install_req_from_line,
+)
+from pip._internal.utils.encoding import auto_decode
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.urls import get_url_scheme
+
+if MYPY_CHECK_RUNNING:
+    from optparse import Values
+    from typing import (
+        Any, Callable, Iterator, List, NoReturn, Optional, Text, Tuple,
+    )
+
+    from pip._internal.req import InstallRequirement
+    from pip._internal.cache import WheelCache
+    from pip._internal.index.package_finder import PackageFinder
+    from pip._internal.network.session import PipSession
+
+    ReqFileLines = Iterator[Tuple[int, Text]]
+
+    LineParser = Callable[[Text], Tuple[str, Values]]
+
+
+__all__ = ['parse_requirements']
+
+SCHEME_RE = re.compile(r'^(http|https|file):', re.I)
+COMMENT_RE = re.compile(r'(^|\s+)#.*$')
+
+# Matches environment variable-style values in '${MY_VARIABLE_1}' with the
+# variable name consisting of only uppercase letters, digits or the '_'
+# (underscore). This follows the POSIX standard defined in IEEE Std 1003.1,
+# 2013 Edition.
+ENV_VAR_RE = re.compile(r'(?P<var>\$\{(?P<name>[A-Z0-9_]+)\})')
+
+SUPPORTED_OPTIONS = [
+    cmdoptions.index_url,
+    cmdoptions.extra_index_url,
+    cmdoptions.no_index,
+    cmdoptions.constraints,
+    cmdoptions.requirements,
+    cmdoptions.editable,
+    cmdoptions.find_links,
+    cmdoptions.no_binary,
+    cmdoptions.only_binary,
+    cmdoptions.require_hashes,
+    cmdoptions.pre,
+    cmdoptions.trusted_host,
+    cmdoptions.always_unzip,  # Deprecated
+]  # type: List[Callable[..., optparse.Option]]
+
+# options to be passed to requirements
+SUPPORTED_OPTIONS_REQ = [
+    cmdoptions.install_options,
+    cmdoptions.global_options,
+    cmdoptions.hash,
+]  # type: List[Callable[..., optparse.Option]]
+
+# the 'dest' string values
+SUPPORTED_OPTIONS_REQ_DEST = [str(o().dest) for o in SUPPORTED_OPTIONS_REQ]
+
+
+class ParsedLine(object):
+    def __init__(
+        self,
+        filename,  # type: str
+        lineno,  # type: int
+        comes_from,  # type: str
+        args,  # type: str
+        opts,  # type: Values
+        constraint,  # type: bool
+    ):
+        # type: (...) -> None
+        self.filename = filename
+        self.lineno = lineno
+        self.comes_from = comes_from
+        self.args = args
+        self.opts = opts
+        self.constraint = constraint
+
+
+def parse_requirements(
+    filename,  # type: str
+    session,  # type: PipSession
+    finder=None,  # type: Optional[PackageFinder]
+    comes_from=None,  # type: Optional[str]
+    options=None,  # type: Optional[optparse.Values]
+    constraint=False,  # type: bool
+    wheel_cache=None,  # type: Optional[WheelCache]
+    use_pep517=None  # type: Optional[bool]
+):
+    # type: (...) -> Iterator[InstallRequirement]
+    """Parse a requirements file and yield InstallRequirement instances.
+
+    :param filename:    Path or url of requirements file.
+    :param session:     PipSession instance.
+    :param finder:      Instance of pip.index.PackageFinder.
+    :param comes_from:  Origin description of requirements.
+    :param options:     cli options.
+    :param constraint:  If true, parsing a constraint file rather than
+        requirements file.
+    :param wheel_cache: Instance of pip.wheel.WheelCache
+    :param use_pep517:  Value of the --use-pep517 option.
+    """
+    skip_requirements_regex = (
+        options.skip_requirements_regex if options else None
+    )
+    line_parser = get_line_parser(finder)
+    parser = RequirementsFileParser(
+        session, line_parser, comes_from, skip_requirements_regex
+    )
+
+    for parsed_line in parser.parse(filename, constraint):
+        req = handle_line(
+            parsed_line, finder, options, session, wheel_cache, use_pep517
+        )
+        if req is not None:
+            yield req
+
+
+def preprocess(content, skip_requirements_regex):
+    # type: (Text, Optional[str]) -> ReqFileLines
+    """Split, filter, and join lines, and return a line iterator
+
+    :param content: the content of the requirements file
+    :param options: cli options
+    """
+    lines_enum = enumerate(content.splitlines(), start=1)  # type: ReqFileLines
+    lines_enum = join_lines(lines_enum)
+    lines_enum = ignore_comments(lines_enum)
+    if skip_requirements_regex:
+        lines_enum = skip_regex(lines_enum, skip_requirements_regex)
+    lines_enum = expand_env_variables(lines_enum)
+    return lines_enum
+
+
+def handle_line(
+    line,  # type: ParsedLine
+    finder=None,  # type: Optional[PackageFinder]
+    options=None,  # type: Optional[optparse.Values]
+    session=None,  # type: Optional[PipSession]
+    wheel_cache=None,  # type: Optional[WheelCache]
+    use_pep517=None,  # type: Optional[bool]
+):
+    # type: (...) -> Optional[InstallRequirement]
+    """Handle a single parsed requirements line; This can result in
+    creating/yielding requirements, or updating the finder.
+
+    For lines that contain requirements, the only options that have an effect
+    are from SUPPORTED_OPTIONS_REQ, and they are scoped to the
+    requirement. Other options from SUPPORTED_OPTIONS may be present, but are
+    ignored.
+
+    For lines that do not contain requirements, the only options that have an
+    effect are from SUPPORTED_OPTIONS. Options from SUPPORTED_OPTIONS_REQ may
+    be present, but are ignored. These lines may contain multiple options
+    (although our docs imply only one is supported), and all our parsed and
+    affect the finder.
+    """
+
+    # preserve for the nested code path
+    line_comes_from = '%s %s (line %s)' % (
+        '-c' if line.constraint else '-r', line.filename, line.lineno,
+    )
+
+    # return a line requirement
+    if line.args:
+        isolated = options.isolated_mode if options else False
+        if options:
+            cmdoptions.check_install_build_global(options, line.opts)
+        # get the options that apply to requirements
+        req_options = {}
+        for dest in SUPPORTED_OPTIONS_REQ_DEST:
+            if dest in line.opts.__dict__ and line.opts.__dict__[dest]:
+                req_options[dest] = line.opts.__dict__[dest]
+        line_source = 'line {} of {}'.format(line.lineno, line.filename)
+        return install_req_from_line(
+            line.args,
+            comes_from=line_comes_from,
+            use_pep517=use_pep517,
+            isolated=isolated,
+            options=req_options,
+            wheel_cache=wheel_cache,
+            constraint=line.constraint,
+            line_source=line_source,
+        )
+
+    # return an editable requirement
+    elif line.opts.editables:
+        isolated = options.isolated_mode if options else False
+        return install_req_from_editable(
+            line.opts.editables[0], comes_from=line_comes_from,
+            use_pep517=use_pep517,
+            constraint=line.constraint, isolated=isolated,
+            wheel_cache=wheel_cache
+        )
+
+    # percolate hash-checking option upward
+    elif line.opts.require_hashes:
+        options.require_hashes = line.opts.require_hashes
+
+    # set finder options
+    elif finder:
+        find_links = finder.find_links
+        index_urls = finder.index_urls
+        if line.opts.index_url:
+            index_urls = [line.opts.index_url]
+        if line.opts.no_index is True:
+            index_urls = []
+        if line.opts.extra_index_urls:
+            index_urls.extend(line.opts.extra_index_urls)
+        if line.opts.find_links:
+            # FIXME: it would be nice to keep track of the source
+            # of the find_links: support a find-links local path
+            # relative to a requirements file.
+            value = line.opts.find_links[0]
+            req_dir = os.path.dirname(os.path.abspath(line.filename))
+            relative_to_reqs_file = os.path.join(req_dir, value)
+            if os.path.exists(relative_to_reqs_file):
+                value = relative_to_reqs_file
+            find_links.append(value)
+
+        search_scope = SearchScope(
+            find_links=find_links,
+            index_urls=index_urls,
+        )
+        finder.search_scope = search_scope
+
+        if line.opts.pre:
+            finder.set_allow_all_prereleases()
+
+        if session:
+            for host in line.opts.trusted_hosts or []:
+                source = 'line {} of {}'.format(line.lineno, line.filename)
+                session.add_trusted_host(host, source=source)
+
+    return None
+
+
+class RequirementsFileParser(object):
+    def __init__(
+        self,
+        session,  # type: PipSession
+        line_parser,  # type: LineParser
+        comes_from,  # type: str
+        skip_requirements_regex,  # type: Optional[str]
+    ):
+        # type: (...) -> None
+        self._session = session
+        self._line_parser = line_parser
+        self._comes_from = comes_from
+        self._skip_requirements_regex = skip_requirements_regex
+
+    def parse(self, filename, constraint):
+        # type: (str, bool) -> Iterator[ParsedLine]
+        """Parse a given file, yielding parsed lines.
+        """
+        for line in self._parse_and_recurse(filename, constraint):
+            yield line
+
+    def _parse_and_recurse(self, filename, constraint):
+        # type: (str, bool) -> Iterator[ParsedLine]
+        for line in self._parse_file(filename, constraint):
+            if (
+                not line.args and
+                not line.opts.editables and
+                (line.opts.requirements or line.opts.constraints)
+            ):
+                # parse a nested requirements file
+                if line.opts.requirements:
+                    req_path = line.opts.requirements[0]
+                    nested_constraint = False
+                else:
+                    req_path = line.opts.constraints[0]
+                    nested_constraint = True
+
+                # original file is over http
+                if SCHEME_RE.search(filename):
+                    # do a url join so relative paths work
+                    req_path = urllib_parse.urljoin(filename, req_path)
+                # original file and nested file are paths
+                elif not SCHEME_RE.search(req_path):
+                    # do a join so relative paths work
+                    req_path = os.path.join(
+                        os.path.dirname(filename), req_path,
+                    )
+
+                for inner_line in self._parse_and_recurse(
+                    req_path, nested_constraint,
+                ):
+                    yield inner_line
+            else:
+                yield line
+
+    def _parse_file(self, filename, constraint):
+        # type: (str, bool) -> Iterator[ParsedLine]
+        _, content = get_file_content(
+            filename, self._session, comes_from=self._comes_from
+        )
+
+        lines_enum = preprocess(content, self._skip_requirements_regex)
+
+        for line_number, line in lines_enum:
+            try:
+                args_str, opts = self._line_parser(line)
+            except OptionParsingError as e:
+                # add offending line
+                msg = 'Invalid requirement: %s\n%s' % (line, e.msg)
+                raise RequirementsFileParseError(msg)
+
+            yield ParsedLine(
+                filename,
+                line_number,
+                self._comes_from,
+                args_str,
+                opts,
+                constraint,
+            )
+
+
+def get_line_parser(finder):
+    # type: (Optional[PackageFinder]) -> LineParser
+    def parse_line(line):
+        # type: (Text) -> Tuple[str, Values]
+        # Build new parser for each line since it accumulates appendable
+        # options.
+        parser = build_parser()
+        defaults = parser.get_default_values()
+        defaults.index_url = None
+        if finder:
+            defaults.format_control = finder.format_control
+
+        args_str, options_str = break_args_options(line)
+        # Prior to 2.7.3, shlex cannot deal with unicode entries
+        if sys.version_info < (2, 7, 3):
+            # https://github.com/python/mypy/issues/1174
+            options_str = options_str.encode('utf8')  # type: ignore
+
+        # https://github.com/python/mypy/issues/1174
+        opts, _ = parser.parse_args(
+            shlex.split(options_str), defaults)  # type: ignore
+
+        return args_str, opts
+
+    return parse_line
+
+
+def break_args_options(line):
+    # type: (Text) -> Tuple[str, Text]
+    """Break up the line into an args and options string.  We only want to shlex
+    (and then optparse) the options, not the args.  args can contain markers
+    which are corrupted by shlex.
+    """
+    tokens = line.split(' ')
+    args = []
+    options = tokens[:]
+    for token in tokens:
+        if token.startswith('-') or token.startswith('--'):
+            break
+        else:
+            args.append(token)
+            options.pop(0)
+    return ' '.join(args), ' '.join(options)  # type: ignore
+
+
+class OptionParsingError(Exception):
+    def __init__(self, msg):
+        # type: (str) -> None
+        self.msg = msg
+
+
+def build_parser():
+    # type: () -> optparse.OptionParser
+    """
+    Return a parser for parsing requirement lines
+    """
+    parser = optparse.OptionParser(add_help_option=False)
+
+    option_factories = SUPPORTED_OPTIONS + SUPPORTED_OPTIONS_REQ
+    for option_factory in option_factories:
+        option = option_factory()
+        parser.add_option(option)
+
+    # By default optparse sys.exits on parsing errors. We want to wrap
+    # that in our own exception.
+    def parser_exit(self, msg):
+        # type: (Any, str) -> NoReturn
+        raise OptionParsingError(msg)
+    # NOTE: mypy disallows assigning to a method
+    #       https://github.com/python/mypy/issues/2427
+    parser.exit = parser_exit  # type: ignore
+
+    return parser
+
+
+def join_lines(lines_enum):
+    # type: (ReqFileLines) -> ReqFileLines
+    """Joins a line ending in '\' with the previous line (except when following
+    comments).  The joined line takes on the index of the first line.
+    """
+    primary_line_number = None
+    new_line = []  # type: List[Text]
+    for line_number, line in lines_enum:
+        if not line.endswith('\\') or COMMENT_RE.match(line):
+            if COMMENT_RE.match(line):
+                # this ensures comments are always matched later
+                line = ' ' + line
+            if new_line:
+                new_line.append(line)
+                yield primary_line_number, ''.join(new_line)
+                new_line = []
+            else:
+                yield line_number, line
+        else:
+            if not new_line:
+                primary_line_number = line_number
+            new_line.append(line.strip('\\'))
+
+    # last line contains \
+    if new_line:
+        yield primary_line_number, ''.join(new_line)
+
+    # TODO: handle space after '\'.
+
+
+def ignore_comments(lines_enum):
+    # type: (ReqFileLines) -> ReqFileLines
+    """
+    Strips comments and filter empty lines.
+    """
+    for line_number, line in lines_enum:
+        line = COMMENT_RE.sub('', line)
+        line = line.strip()
+        if line:
+            yield line_number, line
+
+
+def skip_regex(lines_enum, pattern):
+    # type: (ReqFileLines, str) -> ReqFileLines
+    """
+    Skip lines that match the provided pattern
+
+    Note: the regex pattern is only built once
+    """
+    matcher = re.compile(pattern)
+    lines_enum = filterfalse(lambda e: matcher.search(e[1]), lines_enum)
+    return lines_enum
+
+
+def expand_env_variables(lines_enum):
+    # type: (ReqFileLines) -> ReqFileLines
+    """Replace all environment variables that can be retrieved via `os.getenv`.
+
+    The only allowed format for environment variables defined in the
+    requirement file is `${MY_VARIABLE_1}` to ensure two things:
+
+    1. Strings that contain a `$` aren't accidentally (partially) expanded.
+    2. Ensure consistency across platforms for requirement files.
+
+    These points are the result of a discussion on the `github pull
+    request #3514 <https://github.com/pypa/pip/pull/3514>`_.
+
+    Valid characters in variable names follow the `POSIX standard
+    <http://pubs.opengroup.org/onlinepubs/9699919799/>`_ and are limited
+    to uppercase letter, digits and the `_` (underscore).
+    """
+    for line_number, line in lines_enum:
+        for env_var, var_name in ENV_VAR_RE.findall(line):
+            value = os.getenv(var_name)
+            if not value:
+                continue
+
+            line = line.replace(env_var, value)
+
+        yield line_number, line
+
+
+def get_file_content(url, session, comes_from=None):
+    # type: (str, PipSession, Optional[str]) -> Tuple[str, Text]
+    """Gets the content of a file; it may be a filename, file: URL, or
+    http: URL.  Returns (location, content).  Content is unicode.
+    Respects # -*- coding: declarations on the retrieved files.
+
+    :param url:         File path or url.
+    :param session:     PipSession instance.
+    :param comes_from:  Origin description of requirements.
+    """
+    scheme = get_url_scheme(url)
+
+    if scheme in ['http', 'https']:
+        # FIXME: catch some errors
+        resp = session.get(url)
+        resp.raise_for_status()
+        return resp.url, resp.text
+
+    elif scheme == 'file':
+        if comes_from and comes_from.startswith('http'):
+            raise InstallationError(
+                'Requirements file %s references URL %s, which is local'
+                % (comes_from, url))
+
+        path = url.split(':', 1)[1]
+        path = path.replace('\\', '/')
+        match = _url_slash_drive_re.match(path)
+        if match:
+            path = match.group(1) + ':' + path.split('|', 1)[1]
+        path = urllib_parse.unquote(path)
+        if path.startswith('/'):
+            path = '/' + path.lstrip('/')
+        url = path
+
+    try:
+        with open(url, 'rb') as f:
+            content = auto_decode(f.read())
+    except IOError as exc:
+        raise InstallationError(
+            'Could not open requirements file: %s' % str(exc)
+        )
+    return url, content
+
+
+_url_slash_drive_re = re.compile(r'/*([a-z])\|', re.I)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_install.py b/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_install.py
new file mode 100644
index 0000000..22ac24b
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_install.py
@@ -0,0 +1,830 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import logging
+import os
+import shutil
+import sys
+import zipfile
+
+from pip._vendor import pkg_resources, six
+from pip._vendor.packaging.requirements import Requirement
+from pip._vendor.packaging.utils import canonicalize_name
+from pip._vendor.packaging.version import Version
+from pip._vendor.packaging.version import parse as parse_version
+from pip._vendor.pep517.wrappers import Pep517HookCaller
+
+from pip._internal import pep425tags
+from pip._internal.build_env import NoOpBuildEnvironment
+from pip._internal.exceptions import InstallationError
+from pip._internal.locations import get_scheme
+from pip._internal.models.link import Link
+from pip._internal.operations.build.metadata import generate_metadata
+from pip._internal.operations.build.metadata_legacy import \
+    generate_metadata as generate_metadata_legacy
+from pip._internal.operations.install.editable_legacy import \
+    install_editable as install_editable_legacy
+from pip._internal.operations.install.legacy import install as install_legacy
+from pip._internal.operations.install.wheel import install_wheel
+from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path
+from pip._internal.req.req_uninstall import UninstallPathSet
+from pip._internal.utils.deprecation import deprecated
+from pip._internal.utils.hashes import Hashes
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.marker_files import (
+    PIP_DELETE_MARKER_FILENAME,
+    has_delete_marker_file,
+    write_delete_marker_file,
+)
+from pip._internal.utils.misc import (
+    ask_path_exists,
+    backup_dir,
+    display_path,
+    dist_in_site_packages,
+    dist_in_usersite,
+    get_installed_version,
+    hide_url,
+    redact_auth_from_url,
+    rmtree,
+)
+from pip._internal.utils.packaging import get_metadata
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.virtualenv import running_under_virtualenv
+from pip._internal.vcs import vcs
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Any, Dict, Iterable, List, Optional, Sequence, Union,
+    )
+    from pip._internal.build_env import BuildEnvironment
+    from pip._internal.cache import WheelCache
+    from pip._internal.index.package_finder import PackageFinder
+    from pip._vendor.pkg_resources import Distribution
+    from pip._vendor.packaging.specifiers import SpecifierSet
+    from pip._vendor.packaging.markers import Marker
+
+
+logger = logging.getLogger(__name__)
+
+
+def _get_dist(metadata_directory):
+    # type: (str) -> Distribution
+    """Return a pkg_resources.Distribution for the provided
+    metadata directory.
+    """
+    dist_dir = metadata_directory.rstrip(os.sep)
+
+    # Determine the correct Distribution object type.
+    if dist_dir.endswith(".egg-info"):
+        dist_cls = pkg_resources.Distribution
+    else:
+        assert dist_dir.endswith(".dist-info")
+        dist_cls = pkg_resources.DistInfoDistribution
+
+    # Build a PathMetadata object, from path to metadata. :wink:
+    base_dir, dist_dir_name = os.path.split(dist_dir)
+    dist_name = os.path.splitext(dist_dir_name)[0]
+    metadata = pkg_resources.PathMetadata(base_dir, dist_dir)
+
+    return dist_cls(
+        base_dir,
+        project_name=dist_name,
+        metadata=metadata,
+    )
+
+
+class InstallRequirement(object):
+    """
+    Represents something that may be installed later on, may have information
+    about where to fetch the relevant requirement and also contains logic for
+    installing the said requirement.
+    """
+
+    def __init__(
+        self,
+        req,  # type: Optional[Requirement]
+        comes_from,  # type: Optional[Union[str, InstallRequirement]]
+        source_dir=None,  # type: Optional[str]
+        editable=False,  # type: bool
+        link=None,  # type: Optional[Link]
+        markers=None,  # type: Optional[Marker]
+        use_pep517=None,  # type: Optional[bool]
+        isolated=False,  # type: bool
+        options=None,  # type: Optional[Dict[str, Any]]
+        wheel_cache=None,  # type: Optional[WheelCache]
+        constraint=False,  # type: bool
+        extras=()  # type: Iterable[str]
+    ):
+        # type: (...) -> None
+        assert req is None or isinstance(req, Requirement), req
+        self.req = req
+        self.comes_from = comes_from
+        self.constraint = constraint
+        if source_dir is None:
+            self.source_dir = None  # type: Optional[str]
+        else:
+            self.source_dir = os.path.normpath(os.path.abspath(source_dir))
+        self.editable = editable
+
+        self._wheel_cache = wheel_cache
+        if link is None and req and req.url:
+            # PEP 508 URL requirement
+            link = Link(req.url)
+        self.link = self.original_link = link
+        # Path to any downloaded or already-existing package.
+        self.local_file_path = None  # type: Optional[str]
+        if self.link and self.link.is_file:
+            self.local_file_path = self.link.file_path
+
+        if extras:
+            self.extras = extras
+        elif req:
+            self.extras = {
+                pkg_resources.safe_extra(extra) for extra in req.extras
+            }
+        else:
+            self.extras = set()
+        if markers is None and req:
+            markers = req.marker
+        self.markers = markers
+
+        # This holds the pkg_resources.Distribution object if this requirement
+        # is already available:
+        self.satisfied_by = None  # type: Optional[Distribution]
+        # Whether the installation process should try to uninstall an existing
+        # distribution before installing this requirement.
+        self.should_reinstall = False
+        # Temporary build location
+        self._temp_build_dir = None  # type: Optional[TempDirectory]
+        # Set to True after successful installation
+        self.install_succeeded = None  # type: Optional[bool]
+        self.options = options if options else {}
+        # Set to True after successful preparation of this requirement
+        self.prepared = False
+        self.is_direct = False
+
+        self.isolated = isolated
+        self.build_env = NoOpBuildEnvironment()  # type: BuildEnvironment
+
+        # For PEP 517, the directory where we request the project metadata
+        # gets stored. We need this to pass to build_wheel, so the backend
+        # can ensure that the wheel matches the metadata (see the PEP for
+        # details).
+        self.metadata_directory = None  # type: Optional[str]
+
+        # The static build requirements (from pyproject.toml)
+        self.pyproject_requires = None  # type: Optional[List[str]]
+
+        # Build requirements that we will check are available
+        self.requirements_to_check = []  # type: List[str]
+
+        # The PEP 517 backend we should use to build the project
+        self.pep517_backend = None  # type: Optional[Pep517HookCaller]
+
+        # Are we using PEP 517 for this requirement?
+        # After pyproject.toml has been loaded, the only valid values are True
+        # and False. Before loading, None is valid (meaning "use the default").
+        # Setting an explicit value before loading pyproject.toml is supported,
+        # but after loading this flag should be treated as read only.
+        self.use_pep517 = use_pep517
+
+    def __str__(self):
+        # type: () -> str
+        if self.req:
+            s = str(self.req)
+            if self.link:
+                s += ' from %s' % redact_auth_from_url(self.link.url)
+        elif self.link:
+            s = redact_auth_from_url(self.link.url)
+        else:
+            s = '<InstallRequirement>'
+        if self.satisfied_by is not None:
+            s += ' in %s' % display_path(self.satisfied_by.location)
+        if self.comes_from:
+            if isinstance(self.comes_from, six.string_types):
+                comes_from = self.comes_from  # type: Optional[str]
+            else:
+                comes_from = self.comes_from.from_path()
+            if comes_from:
+                s += ' (from %s)' % comes_from
+        return s
+
+    def __repr__(self):
+        # type: () -> str
+        return '<%s object: %s editable=%r>' % (
+            self.__class__.__name__, str(self), self.editable)
+
+    def format_debug(self):
+        # type: () -> str
+        """An un-tested helper for getting state, for debugging.
+        """
+        attributes = vars(self)
+        names = sorted(attributes)
+
+        state = (
+            "{}={!r}".format(attr, attributes[attr]) for attr in sorted(names)
+        )
+        return '<{name} object: {{{state}}}>'.format(
+            name=self.__class__.__name__,
+            state=", ".join(state),
+        )
+
+    def populate_link(self, finder, upgrade, require_hashes):
+        # type: (PackageFinder, bool, bool) -> None
+        """Ensure that if a link can be found for this, that it is found.
+
+        Note that self.link may still be None - if Upgrade is False and the
+        requirement is already installed.
+
+        If require_hashes is True, don't use the wheel cache, because cached
+        wheels, always built locally, have different hashes than the files
+        downloaded from the index server and thus throw false hash mismatches.
+        Furthermore, cached wheels at present have undeterministic contents due
+        to file modification times.
+        """
+        if self.link is None:
+            self.link = finder.find_requirement(self, upgrade)
+        if self._wheel_cache is not None and not require_hashes:
+            old_link = self.link
+            supported_tags = pep425tags.get_supported()
+            self.link = self._wheel_cache.get(
+                link=self.link,
+                package_name=self.name,
+                supported_tags=supported_tags,
+            )
+            if old_link != self.link:
+                logger.debug('Using cached wheel link: %s', self.link)
+
+    # Things that are valid for all kinds of requirements?
+    @property
+    def name(self):
+        # type: () -> Optional[str]
+        if self.req is None:
+            return None
+        return six.ensure_str(pkg_resources.safe_name(self.req.name))
+
+    @property
+    def specifier(self):
+        # type: () -> SpecifierSet
+        return self.req.specifier
+
+    @property
+    def is_pinned(self):
+        # type: () -> bool
+        """Return whether I am pinned to an exact version.
+
+        For example, some-package==1.2 is pinned; some-package>1.2 is not.
+        """
+        specifiers = self.specifier
+        return (len(specifiers) == 1 and
+                next(iter(specifiers)).operator in {'==', '==='})
+
+    @property
+    def installed_version(self):
+        # type: () -> Optional[str]
+        return get_installed_version(self.name)
+
+    def match_markers(self, extras_requested=None):
+        # type: (Optional[Iterable[str]]) -> bool
+        if not extras_requested:
+            # Provide an extra to safely evaluate the markers
+            # without matching any extra
+            extras_requested = ('',)
+        if self.markers is not None:
+            return any(
+                self.markers.evaluate({'extra': extra})
+                for extra in extras_requested)
+        else:
+            return True
+
+    @property
+    def has_hash_options(self):
+        # type: () -> bool
+        """Return whether any known-good hashes are specified as options.
+
+        These activate --require-hashes mode; hashes specified as part of a
+        URL do not.
+
+        """
+        return bool(self.options.get('hashes', {}))
+
+    def hashes(self, trust_internet=True):
+        # type: (bool) -> Hashes
+        """Return a hash-comparer that considers my option- and URL-based
+        hashes to be known-good.
+
+        Hashes in URLs--ones embedded in the requirements file, not ones
+        downloaded from an index server--are almost peers with ones from
+        flags. They satisfy --require-hashes (whether it was implicitly or
+        explicitly activated) but do not activate it. md5 and sha224 are not
+        allowed in flags, which should nudge people toward good algos. We
+        always OR all hashes together, even ones from URLs.
+
+        :param trust_internet: Whether to trust URL-based (#md5=...) hashes
+            downloaded from the internet, as by populate_link()
+
+        """
+        good_hashes = self.options.get('hashes', {}).copy()
+        link = self.link if trust_internet else self.original_link
+        if link and link.hash:
+            good_hashes.setdefault(link.hash_name, []).append(link.hash)
+        return Hashes(good_hashes)
+
+    def from_path(self):
+        # type: () -> Optional[str]
+        """Format a nice indicator to show where this "comes from"
+        """
+        if self.req is None:
+            return None
+        s = str(self.req)
+        if self.comes_from:
+            if isinstance(self.comes_from, six.string_types):
+                comes_from = self.comes_from
+            else:
+                comes_from = self.comes_from.from_path()
+            if comes_from:
+                s += '->' + comes_from
+        return s
+
+    def ensure_build_location(self, build_dir):
+        # type: (str) -> str
+        assert build_dir is not None
+        if self._temp_build_dir is not None:
+            assert self._temp_build_dir.path
+            return self._temp_build_dir.path
+        if self.req is None:
+            # Some systems have /tmp as a symlink which confuses custom
+            # builds (such as numpy). Thus, we ensure that the real path
+            # is returned.
+            self._temp_build_dir = TempDirectory(kind="req-build")
+
+            return self._temp_build_dir.path
+        if self.editable:
+            name = self.name.lower()
+        else:
+            name = self.name
+        # FIXME: Is there a better place to create the build_dir? (hg and bzr
+        # need this)
+        if not os.path.exists(build_dir):
+            logger.debug('Creating directory %s', build_dir)
+            os.makedirs(build_dir)
+            write_delete_marker_file(build_dir)
+        return os.path.join(build_dir, name)
+
+    def _set_requirement(self):
+        # type: () -> None
+        """Set requirement after generating metadata.
+        """
+        assert self.req is None
+        assert self.metadata is not None
+        assert self.source_dir is not None
+
+        # Construct a Requirement object from the generated metadata
+        if isinstance(parse_version(self.metadata["Version"]), Version):
+            op = "=="
+        else:
+            op = "==="
+
+        self.req = Requirement(
+            "".join([
+                self.metadata["Name"],
+                op,
+                self.metadata["Version"],
+            ])
+        )
+
+    def warn_on_mismatching_name(self):
+        # type: () -> None
+        metadata_name = canonicalize_name(self.metadata["Name"])
+        if canonicalize_name(self.req.name) == metadata_name:
+            # Everything is fine.
+            return
+
+        # If we're here, there's a mismatch. Log a warning about it.
+        logger.warning(
+            'Generating metadata for package %s '
+            'produced metadata for project name %s. Fix your '
+            '#egg=%s fragments.',
+            self.name, metadata_name, self.name
+        )
+        self.req = Requirement(metadata_name)
+
+    def remove_temporary_source(self):
+        # type: () -> None
+        """Remove the source files from this requirement, if they are marked
+        for deletion"""
+        if self.source_dir and has_delete_marker_file(self.source_dir):
+            logger.debug('Removing source in %s', self.source_dir)
+            rmtree(self.source_dir)
+        self.source_dir = None
+        if self._temp_build_dir:
+            self._temp_build_dir.cleanup()
+            self._temp_build_dir = None
+        self.build_env.cleanup()
+
+    def check_if_exists(self, use_user_site):
+        # type: (bool) -> None
+        """Find an installed distribution that satisfies or conflicts
+        with this requirement, and set self.satisfied_by or
+        self.should_reinstall appropriately.
+        """
+        if self.req is None:
+            return
+        # get_distribution() will resolve the entire list of requirements
+        # anyway, and we've already determined that we need the requirement
+        # in question, so strip the marker so that we don't try to
+        # evaluate it.
+        no_marker = Requirement(str(self.req))
+        no_marker.marker = None
+        try:
+            self.satisfied_by = pkg_resources.get_distribution(str(no_marker))
+        except pkg_resources.DistributionNotFound:
+            return
+        except pkg_resources.VersionConflict:
+            existing_dist = pkg_resources.get_distribution(
+                self.req.name
+            )
+            if use_user_site:
+                if dist_in_usersite(existing_dist):
+                    self.should_reinstall = True
+                elif (running_under_virtualenv() and
+                        dist_in_site_packages(existing_dist)):
+                    raise InstallationError(
+                        "Will not install to the user site because it will "
+                        "lack sys.path precedence to %s in %s" %
+                        (existing_dist.project_name, existing_dist.location)
+                    )
+            else:
+                self.should_reinstall = True
+        else:
+            if self.editable and self.satisfied_by:
+                self.should_reinstall = True
+                # when installing editables, nothing pre-existing should ever
+                # satisfy
+                self.satisfied_by = None
+
+    # Things valid for wheels
+    @property
+    def is_wheel(self):
+        # type: () -> bool
+        if not self.link:
+            return False
+        return self.link.is_wheel
+
+    # Things valid for sdists
+    @property
+    def unpacked_source_directory(self):
+        # type: () -> str
+        return os.path.join(
+            self.source_dir,
+            self.link and self.link.subdirectory_fragment or '')
+
+    @property
+    def setup_py_path(self):
+        # type: () -> str
+        assert self.source_dir, "No source dir for %s" % self
+        setup_py = os.path.join(self.unpacked_source_directory, 'setup.py')
+
+        # Python2 __file__ should not be unicode
+        if six.PY2 and isinstance(setup_py, six.text_type):
+            setup_py = setup_py.encode(sys.getfilesystemencoding())
+
+        return setup_py
+
+    @property
+    def pyproject_toml_path(self):
+        # type: () -> str
+        assert self.source_dir, "No source dir for %s" % self
+        return make_pyproject_path(self.unpacked_source_directory)
+
+    def load_pyproject_toml(self):
+        # type: () -> None
+        """Load the pyproject.toml file.
+
+        After calling this routine, all of the attributes related to PEP 517
+        processing for this requirement have been set. In particular, the
+        use_pep517 attribute can be used to determine whether we should
+        follow the PEP 517 or legacy (setup.py) code path.
+        """
+        pyproject_toml_data = load_pyproject_toml(
+            self.use_pep517,
+            self.pyproject_toml_path,
+            self.setup_py_path,
+            str(self)
+        )
+
+        if pyproject_toml_data is None:
+            self.use_pep517 = False
+            return
+
+        self.use_pep517 = True
+        requires, backend, check, backend_path = pyproject_toml_data
+        self.requirements_to_check = check
+        self.pyproject_requires = requires
+        self.pep517_backend = Pep517HookCaller(
+            self.unpacked_source_directory, backend, backend_path=backend_path,
+        )
+
+    def _generate_metadata(self):
+        # type: () -> str
+        """Invokes metadata generator functions, with the required arguments.
+        """
+        if not self.use_pep517:
+            assert self.unpacked_source_directory
+
+            return generate_metadata_legacy(
+                build_env=self.build_env,
+                setup_py_path=self.setup_py_path,
+                source_dir=self.unpacked_source_directory,
+                editable=self.editable,
+                isolated=self.isolated,
+                details=self.name or "from {}".format(self.link)
+            )
+
+        assert self.pep517_backend is not None
+
+        return generate_metadata(
+            build_env=self.build_env,
+            backend=self.pep517_backend,
+        )
+
+    def prepare_metadata(self):
+        # type: () -> None
+        """Ensure that project metadata is available.
+
+        Under PEP 517, call the backend hook to prepare the metadata.
+        Under legacy processing, call setup.py egg-info.
+        """
+        assert self.source_dir
+
+        with indent_log():
+            self.metadata_directory = self._generate_metadata()
+
+        # Act on the newly generated metadata, based on the name and version.
+        if not self.name:
+            self._set_requirement()
+        else:
+            self.warn_on_mismatching_name()
+
+        self.assert_source_matches_version()
+
+    @property
+    def metadata(self):
+        # type: () -> Any
+        if not hasattr(self, '_metadata'):
+            self._metadata = get_metadata(self.get_dist())
+
+        return self._metadata
+
+    def get_dist(self):
+        # type: () -> Distribution
+        return _get_dist(self.metadata_directory)
+
+    def assert_source_matches_version(self):
+        # type: () -> None
+        assert self.source_dir
+        version = self.metadata['version']
+        if self.req.specifier and version not in self.req.specifier:
+            logger.warning(
+                'Requested %s, but installing version %s',
+                self,
+                version,
+            )
+        else:
+            logger.debug(
+                'Source in %s has version %s, which satisfies requirement %s',
+                display_path(self.source_dir),
+                version,
+                self,
+            )
+
+    # For both source distributions and editables
+    def ensure_has_source_dir(self, parent_dir):
+        # type: (str) -> None
+        """Ensure that a source_dir is set.
+
+        This will create a temporary build dir if the name of the requirement
+        isn't known yet.
+
+        :param parent_dir: The ideal pip parent_dir for the source_dir.
+            Generally src_dir for editables and build_dir for sdists.
+        :return: self.source_dir
+        """
+        if self.source_dir is None:
+            self.source_dir = self.ensure_build_location(parent_dir)
+
+    # For editable installations
+    def update_editable(self, obtain=True):
+        # type: (bool) -> None
+        if not self.link:
+            logger.debug(
+                "Cannot update repository at %s; repository location is "
+                "unknown",
+                self.source_dir,
+            )
+            return
+        assert self.editable
+        assert self.source_dir
+        if self.link.scheme == 'file':
+            # Static paths don't get updated
+            return
+        assert '+' in self.link.url, "bad url: %r" % self.link.url
+        vc_type, url = self.link.url.split('+', 1)
+        vcs_backend = vcs.get_backend(vc_type)
+        if vcs_backend:
+            if not self.link.is_vcs:
+                reason = (
+                    "This form of VCS requirement is being deprecated: {}."
+                ).format(
+                    self.link.url
+                )
+                replacement = None
+                if self.link.url.startswith("git+git@"):
+                    replacement = (
+                        "git+https://git@example.com/..., "
+                        "git+ssh://git@example.com/..., "
+                        "or the insecure git+git://git@example.com/..."
+                    )
+                deprecated(reason, replacement, gone_in="21.0", issue=7554)
+            hidden_url = hide_url(self.link.url)
+            if obtain:
+                vcs_backend.obtain(self.source_dir, url=hidden_url)
+            else:
+                vcs_backend.export(self.source_dir, url=hidden_url)
+        else:
+            assert 0, (
+                'Unexpected version control type (in %s): %s'
+                % (self.link, vc_type))
+
+    # Top-level Actions
+    def uninstall(self, auto_confirm=False, verbose=False):
+        # type: (bool, bool) -> Optional[UninstallPathSet]
+        """
+        Uninstall the distribution currently satisfying this requirement.
+
+        Prompts before removing or modifying files unless
+        ``auto_confirm`` is True.
+
+        Refuses to delete or modify files outside of ``sys.prefix`` -
+        thus uninstallation within a virtual environment can only
+        modify that virtual environment, even if the virtualenv is
+        linked to global site-packages.
+
+        """
+        assert self.req
+        try:
+            dist = pkg_resources.get_distribution(self.req.name)
+        except pkg_resources.DistributionNotFound:
+            logger.warning("Skipping %s as it is not installed.", self.name)
+            return None
+        else:
+            logger.info('Found existing installation: %s', dist)
+
+        uninstalled_pathset = UninstallPathSet.from_dist(dist)
+        uninstalled_pathset.remove(auto_confirm, verbose)
+        return uninstalled_pathset
+
+    def _get_archive_name(self, path, parentdir, rootdir):
+        # type: (str, str, str) -> str
+
+        def _clean_zip_name(name, prefix):
+            # type: (str, str) -> str
+            assert name.startswith(prefix + os.path.sep), (
+                "name %r doesn't start with prefix %r" % (name, prefix)
+            )
+            name = name[len(prefix) + 1:]
+            name = name.replace(os.path.sep, '/')
+            return name
+
+        path = os.path.join(parentdir, path)
+        name = _clean_zip_name(path, rootdir)
+        return self.name + '/' + name
+
+    def archive(self, build_dir):
+        # type: (str) -> None
+        """Saves archive to provided build_dir.
+
+        Used for saving downloaded VCS requirements as part of `pip download`.
+        """
+        assert self.source_dir
+
+        create_archive = True
+        archive_name = '%s-%s.zip' % (self.name, self.metadata["version"])
+        archive_path = os.path.join(build_dir, archive_name)
+
+        if os.path.exists(archive_path):
+            response = ask_path_exists(
+                'The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)bort ' %
+                display_path(archive_path), ('i', 'w', 'b', 'a'))
+            if response == 'i':
+                create_archive = False
+            elif response == 'w':
+                logger.warning('Deleting %s', display_path(archive_path))
+                os.remove(archive_path)
+            elif response == 'b':
+                dest_file = backup_dir(archive_path)
+                logger.warning(
+                    'Backing up %s to %s',
+                    display_path(archive_path),
+                    display_path(dest_file),
+                )
+                shutil.move(archive_path, dest_file)
+            elif response == 'a':
+                sys.exit(-1)
+
+        if not create_archive:
+            return
+
+        zip_output = zipfile.ZipFile(
+            archive_path, 'w', zipfile.ZIP_DEFLATED, allowZip64=True,
+        )
+        with zip_output:
+            dir = os.path.normcase(
+                os.path.abspath(self.unpacked_source_directory)
+            )
+            for dirpath, dirnames, filenames in os.walk(dir):
+                if 'pip-egg-info' in dirnames:
+                    dirnames.remove('pip-egg-info')
+                for dirname in dirnames:
+                    dir_arcname = self._get_archive_name(
+                        dirname, parentdir=dirpath, rootdir=dir,
+                    )
+                    zipdir = zipfile.ZipInfo(dir_arcname + '/')
+                    zipdir.external_attr = 0x1ED << 16  # 0o755
+                    zip_output.writestr(zipdir, '')
+                for filename in filenames:
+                    if filename == PIP_DELETE_MARKER_FILENAME:
+                        continue
+                    file_arcname = self._get_archive_name(
+                        filename, parentdir=dirpath, rootdir=dir,
+                    )
+                    filename = os.path.join(dirpath, filename)
+                    zip_output.write(filename, file_arcname)
+
+        logger.info('Saved %s', display_path(archive_path))
+
+    def install(
+        self,
+        install_options,  # type: List[str]
+        global_options=None,  # type: Optional[Sequence[str]]
+        root=None,  # type: Optional[str]
+        home=None,  # type: Optional[str]
+        prefix=None,  # type: Optional[str]
+        warn_script_location=True,  # type: bool
+        use_user_site=False,  # type: bool
+        pycompile=True  # type: bool
+    ):
+        # type: (...) -> None
+        scheme = get_scheme(
+            self.name,
+            user=use_user_site,
+            home=home,
+            root=root,
+            isolated=self.isolated,
+            prefix=prefix,
+        )
+
+        global_options = global_options if global_options is not None else []
+        if self.editable:
+            install_editable_legacy(
+                install_options,
+                global_options,
+                prefix=prefix,
+                home=home,
+                use_user_site=use_user_site,
+                name=self.name,
+                setup_py_path=self.setup_py_path,
+                isolated=self.isolated,
+                build_env=self.build_env,
+                unpacked_source_directory=self.unpacked_source_directory,
+            )
+            self.install_succeeded = True
+            return
+
+        if self.is_wheel:
+            assert self.local_file_path
+            install_wheel(
+                self.name,
+                self.local_file_path,
+                scheme=scheme,
+                req_description=str(self.req),
+                pycompile=pycompile,
+                warn_script_location=warn_script_location,
+            )
+            self.install_succeeded = True
+            return
+
+        install_legacy(
+            self,
+            install_options=install_options,
+            global_options=global_options,
+            root=root,
+            home=home,
+            prefix=prefix,
+            use_user_site=use_user_site,
+            pycompile=pycompile,
+            scheme=scheme,
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_set.py b/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_set.py
new file mode 100644
index 0000000..087ac59
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_set.py
@@ -0,0 +1,209 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import logging
+from collections import OrderedDict
+
+from pip._vendor.packaging.utils import canonicalize_name
+
+from pip._internal import pep425tags
+from pip._internal.exceptions import InstallationError
+from pip._internal.models.wheel import Wheel
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Dict, Iterable, List, Optional, Tuple
+    from pip._internal.req.req_install import InstallRequirement
+
+
+logger = logging.getLogger(__name__)
+
+
+class RequirementSet(object):
+
+    def __init__(self, check_supported_wheels=True):
+        # type: (bool) -> None
+        """Create a RequirementSet.
+        """
+
+        self.requirements = OrderedDict()  # type: Dict[str, InstallRequirement]  # noqa: E501
+        self.check_supported_wheels = check_supported_wheels
+
+        self.unnamed_requirements = []  # type: List[InstallRequirement]
+        self.successfully_downloaded = []  # type: List[InstallRequirement]
+        self.reqs_to_cleanup = []  # type: List[InstallRequirement]
+
+    def __str__(self):
+        # type: () -> str
+        requirements = sorted(
+            (req for req in self.requirements.values() if not req.comes_from),
+            key=lambda req: canonicalize_name(req.name),
+        )
+        return ' '.join(str(req.req) for req in requirements)
+
+    def __repr__(self):
+        # type: () -> str
+        requirements = sorted(
+            self.requirements.values(),
+            key=lambda req: canonicalize_name(req.name),
+        )
+
+        format_string = '<{classname} object; {count} requirement(s): {reqs}>'
+        return format_string.format(
+            classname=self.__class__.__name__,
+            count=len(requirements),
+            reqs=', '.join(str(req.req) for req in requirements),
+        )
+
+    def add_unnamed_requirement(self, install_req):
+        # type: (InstallRequirement) -> None
+        assert not install_req.name
+        self.unnamed_requirements.append(install_req)
+
+    def add_named_requirement(self, install_req):
+        # type: (InstallRequirement) -> None
+        assert install_req.name
+
+        project_name = canonicalize_name(install_req.name)
+        self.requirements[project_name] = install_req
+
+    def add_requirement(
+        self,
+        install_req,  # type: InstallRequirement
+        parent_req_name=None,  # type: Optional[str]
+        extras_requested=None  # type: Optional[Iterable[str]]
+    ):
+        # type: (...) -> Tuple[List[InstallRequirement], Optional[InstallRequirement]]  # noqa: E501
+        """Add install_req as a requirement to install.
+
+        :param parent_req_name: The name of the requirement that needed this
+            added. The name is used because when multiple unnamed requirements
+            resolve to the same name, we could otherwise end up with dependency
+            links that point outside the Requirements set. parent_req must
+            already be added. Note that None implies that this is a user
+            supplied requirement, vs an inferred one.
+        :param extras_requested: an iterable of extras used to evaluate the
+            environment markers.
+        :return: Additional requirements to scan. That is either [] if
+            the requirement is not applicable, or [install_req] if the
+            requirement is applicable and has just been added.
+        """
+        # If the markers do not match, ignore this requirement.
+        if not install_req.match_markers(extras_requested):
+            logger.info(
+                "Ignoring %s: markers '%s' don't match your environment",
+                install_req.name, install_req.markers,
+            )
+            return [], None
+
+        # If the wheel is not supported, raise an error.
+        # Should check this after filtering out based on environment markers to
+        # allow specifying different wheels based on the environment/OS, in a
+        # single requirements file.
+        if install_req.link and install_req.link.is_wheel:
+            wheel = Wheel(install_req.link.filename)
+            tags = pep425tags.get_supported()
+            if (self.check_supported_wheels and not wheel.supported(tags)):
+                raise InstallationError(
+                    "%s is not a supported wheel on this platform." %
+                    wheel.filename
+                )
+
+        # This next bit is really a sanity check.
+        assert install_req.is_direct == (parent_req_name is None), (
+            "a direct req shouldn't have a parent and also, "
+            "a non direct req should have a parent"
+        )
+
+        # Unnamed requirements are scanned again and the requirement won't be
+        # added as a dependency until after scanning.
+        if not install_req.name:
+            self.add_unnamed_requirement(install_req)
+            return [install_req], None
+
+        try:
+            existing_req = self.get_requirement(install_req.name)
+        except KeyError:
+            existing_req = None
+
+        has_conflicting_requirement = (
+            parent_req_name is None and
+            existing_req and
+            not existing_req.constraint and
+            existing_req.extras == install_req.extras and
+            existing_req.req.specifier != install_req.req.specifier
+        )
+        if has_conflicting_requirement:
+            raise InstallationError(
+                "Double requirement given: %s (already in %s, name=%r)"
+                % (install_req, existing_req, install_req.name)
+            )
+
+        # When no existing requirement exists, add the requirement as a
+        # dependency and it will be scanned again after.
+        if not existing_req:
+            self.add_named_requirement(install_req)
+            # We'd want to rescan this requirement later
+            return [install_req], install_req
+
+        # Assume there's no need to scan, and that we've already
+        # encountered this for scanning.
+        if install_req.constraint or not existing_req.constraint:
+            return [], existing_req
+
+        does_not_satisfy_constraint = (
+            install_req.link and
+            not (
+                existing_req.link and
+                install_req.link.path == existing_req.link.path
+            )
+        )
+        if does_not_satisfy_constraint:
+            self.reqs_to_cleanup.append(install_req)
+            raise InstallationError(
+                "Could not satisfy constraints for '%s': "
+                "installation from path or url cannot be "
+                "constrained to a version" % install_req.name,
+            )
+        # If we're now installing a constraint, mark the existing
+        # object for real installation.
+        existing_req.constraint = False
+        existing_req.extras = tuple(sorted(
+            set(existing_req.extras) | set(install_req.extras)
+        ))
+        logger.debug(
+            "Setting %s extras to: %s",
+            existing_req, existing_req.extras,
+        )
+        # Return the existing requirement for addition to the parent and
+        # scanning again.
+        return [existing_req], existing_req
+
+    def has_requirement(self, name):
+        # type: (str) -> bool
+        project_name = canonicalize_name(name)
+
+        return (
+            project_name in self.requirements and
+            not self.requirements[project_name].constraint
+        )
+
+    def get_requirement(self, name):
+        # type: (str) -> InstallRequirement
+        project_name = canonicalize_name(name)
+
+        if project_name in self.requirements:
+            return self.requirements[project_name]
+
+        raise KeyError("No project with the name %r" % name)
+
+    def cleanup_files(self):
+        # type: () -> None
+        """Clean up files, remove builds."""
+        logger.debug('Cleaning up...')
+        with indent_log():
+            for req in self.reqs_to_cleanup:
+                req.remove_temporary_source()
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py b/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py
new file mode 100644
index 0000000..84e0c04
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py
@@ -0,0 +1,150 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import contextlib
+import errno
+import hashlib
+import logging
+import os
+
+from pip._vendor import contextlib2
+
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from types import TracebackType
+    from typing import Dict, Iterator, Optional, Set, Type, Union
+    from pip._internal.req.req_install import InstallRequirement
+    from pip._internal.models.link import Link
+
+logger = logging.getLogger(__name__)
+
+
+@contextlib.contextmanager
+def update_env_context_manager(**changes):
+    # type: (str) -> Iterator[None]
+    target = os.environ
+
+    # Save values from the target and change them.
+    non_existent_marker = object()
+    saved_values = {}  # type: Dict[str, Union[object, str]]
+    for name, new_value in changes.items():
+        try:
+            saved_values[name] = target[name]
+        except KeyError:
+            saved_values[name] = non_existent_marker
+        target[name] = new_value
+
+    try:
+        yield
+    finally:
+        # Restore original values in the target.
+        for name, original_value in saved_values.items():
+            if original_value is non_existent_marker:
+                del target[name]
+            else:
+                assert isinstance(original_value, str)  # for mypy
+                target[name] = original_value
+
+
+@contextlib.contextmanager
+def get_requirement_tracker():
+    # type: () -> Iterator[RequirementTracker]
+    root = os.environ.get('PIP_REQ_TRACKER')
+    with contextlib2.ExitStack() as ctx:
+        if root is None:
+            root = ctx.enter_context(
+                TempDirectory(kind='req-tracker')
+            ).path
+            ctx.enter_context(update_env_context_manager(PIP_REQ_TRACKER=root))
+            logger.debug("Initialized build tracking at %s", root)
+
+        with RequirementTracker(root) as tracker:
+            yield tracker
+
+
+class RequirementTracker(object):
+
+    def __init__(self, root):
+        # type: (str) -> None
+        self._root = root
+        self._entries = set()  # type: Set[InstallRequirement]
+        logger.debug("Created build tracker: %s", self._root)
+
+    def __enter__(self):
+        # type: () -> RequirementTracker
+        logger.debug("Entered build tracker: %s", self._root)
+        return self
+
+    def __exit__(
+        self,
+        exc_type,  # type: Optional[Type[BaseException]]
+        exc_val,  # type: Optional[BaseException]
+        exc_tb  # type: Optional[TracebackType]
+    ):
+        # type: (...) -> None
+        self.cleanup()
+
+    def _entry_path(self, link):
+        # type: (Link) -> str
+        hashed = hashlib.sha224(link.url_without_fragment.encode()).hexdigest()
+        return os.path.join(self._root, hashed)
+
+    def add(self, req):
+        # type: (InstallRequirement) -> None
+        """Add an InstallRequirement to build tracking.
+        """
+
+        # Get the file to write information about this requirement.
+        entry_path = self._entry_path(req.link)
+
+        # Try reading from the file. If it exists and can be read from, a build
+        # is already in progress, so a LookupError is raised.
+        try:
+            with open(entry_path) as fp:
+                contents = fp.read()
+        except IOError as e:
+            # if the error is anything other than "file does not exist", raise.
+            if e.errno != errno.ENOENT:
+                raise
+        else:
+            message = '%s is already being built: %s' % (req.link, contents)
+            raise LookupError(message)
+
+        # If we're here, req should really not be building already.
+        assert req not in self._entries
+
+        # Start tracking this requirement.
+        with open(entry_path, 'w') as fp:
+            fp.write(str(req))
+        self._entries.add(req)
+
+        logger.debug('Added %s to build tracker %r', req, self._root)
+
+    def remove(self, req):
+        # type: (InstallRequirement) -> None
+        """Remove an InstallRequirement from build tracking.
+        """
+
+        # Delete the created file and the corresponding entries.
+        os.unlink(self._entry_path(req.link))
+        self._entries.remove(req)
+
+        logger.debug('Removed %s from build tracker %r', req, self._root)
+
+    def cleanup(self):
+        # type: () -> None
+        for req in set(self._entries):
+            self.remove(req)
+
+        logger.debug("Removed build tracker: %r", self._root)
+
+    @contextlib.contextmanager
+    def track(self, req):
+        # type: (InstallRequirement) -> Iterator[None]
+        self.add(req)
+        yield
+        self.remove(req)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py b/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py
new file mode 100644
index 0000000..5971b13
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py
@@ -0,0 +1,644 @@
+from __future__ import absolute_import
+
+import csv
+import functools
+import logging
+import os
+import sys
+import sysconfig
+
+from pip._vendor import pkg_resources
+
+from pip._internal.exceptions import UninstallationError
+from pip._internal.locations import bin_py, bin_user
+from pip._internal.utils.compat import WINDOWS, cache_from_source, uses_pycache
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.misc import (
+    FakeFile,
+    ask,
+    dist_in_usersite,
+    dist_is_local,
+    egg_link_path,
+    is_local,
+    normalize_path,
+    renames,
+    rmtree,
+)
+from pip._internal.utils.temp_dir import AdjacentTempDirectory, TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Any, Callable, Dict, Iterable, Iterator, List, Optional, Set, Tuple,
+    )
+    from pip._vendor.pkg_resources import Distribution
+
+logger = logging.getLogger(__name__)
+
+
+def _script_names(dist, script_name, is_gui):
+    # type: (Distribution, str, bool) -> List[str]
+    """Create the fully qualified name of the files created by
+    {console,gui}_scripts for the given ``dist``.
+    Returns the list of file names
+    """
+    if dist_in_usersite(dist):
+        bin_dir = bin_user
+    else:
+        bin_dir = bin_py
+    exe_name = os.path.join(bin_dir, script_name)
+    paths_to_remove = [exe_name]
+    if WINDOWS:
+        paths_to_remove.append(exe_name + '.exe')
+        paths_to_remove.append(exe_name + '.exe.manifest')
+        if is_gui:
+            paths_to_remove.append(exe_name + '-script.pyw')
+        else:
+            paths_to_remove.append(exe_name + '-script.py')
+    return paths_to_remove
+
+
+def _unique(fn):
+    # type: (Callable[..., Iterator[Any]]) -> Callable[..., Iterator[Any]]
+    @functools.wraps(fn)
+    def unique(*args, **kw):
+        # type: (Any, Any) -> Iterator[Any]
+        seen = set()  # type: Set[Any]
+        for item in fn(*args, **kw):
+            if item not in seen:
+                seen.add(item)
+                yield item
+    return unique
+
+
+@_unique
+def uninstallation_paths(dist):
+    # type: (Distribution) -> Iterator[str]
+    """
+    Yield all the uninstallation paths for dist based on RECORD-without-.py[co]
+
+    Yield paths to all the files in RECORD. For each .py file in RECORD, add
+    the .pyc and .pyo in the same directory.
+
+    UninstallPathSet.add() takes care of the __pycache__ .py[co].
+    """
+    r = csv.reader(FakeFile(dist.get_metadata_lines('RECORD')))
+    for row in r:
+        path = os.path.join(dist.location, row[0])
+        yield path
+        if path.endswith('.py'):
+            dn, fn = os.path.split(path)
+            base = fn[:-3]
+            path = os.path.join(dn, base + '.pyc')
+            yield path
+            path = os.path.join(dn, base + '.pyo')
+            yield path
+
+
+def compact(paths):
+    # type: (Iterable[str]) -> Set[str]
+    """Compact a path set to contain the minimal number of paths
+    necessary to contain all paths in the set. If /a/path/ and
+    /a/path/to/a/file.txt are both in the set, leave only the
+    shorter path."""
+
+    sep = os.path.sep
+    short_paths = set()  # type: Set[str]
+    for path in sorted(paths, key=len):
+        should_skip = any(
+            path.startswith(shortpath.rstrip("*")) and
+            path[len(shortpath.rstrip("*").rstrip(sep))] == sep
+            for shortpath in short_paths
+        )
+        if not should_skip:
+            short_paths.add(path)
+    return short_paths
+
+
+def compress_for_rename(paths):
+    # type: (Iterable[str]) -> Set[str]
+    """Returns a set containing the paths that need to be renamed.
+
+    This set may include directories when the original sequence of paths
+    included every file on disk.
+    """
+    case_map = dict((os.path.normcase(p), p) for p in paths)
+    remaining = set(case_map)
+    unchecked = sorted(set(os.path.split(p)[0]
+                           for p in case_map.values()), key=len)
+    wildcards = set()  # type: Set[str]
+
+    def norm_join(*a):
+        # type: (str) -> str
+        return os.path.normcase(os.path.join(*a))
+
+    for root in unchecked:
+        if any(os.path.normcase(root).startswith(w)
+               for w in wildcards):
+            # This directory has already been handled.
+            continue
+
+        all_files = set()  # type: Set[str]
+        all_subdirs = set()  # type: Set[str]
+        for dirname, subdirs, files in os.walk(root):
+            all_subdirs.update(norm_join(root, dirname, d)
+                               for d in subdirs)
+            all_files.update(norm_join(root, dirname, f)
+                             for f in files)
+        # If all the files we found are in our remaining set of files to
+        # remove, then remove them from the latter set and add a wildcard
+        # for the directory.
+        if not (all_files - remaining):
+            remaining.difference_update(all_files)
+            wildcards.add(root + os.sep)
+
+    return set(map(case_map.__getitem__, remaining)) | wildcards
+
+
+def compress_for_output_listing(paths):
+    # type: (Iterable[str]) -> Tuple[Set[str], Set[str]]
+    """Returns a tuple of 2 sets of which paths to display to user
+
+    The first set contains paths that would be deleted. Files of a package
+    are not added and the top-level directory of the package has a '*' added
+    at the end - to signify that all it's contents are removed.
+
+    The second set contains files that would have been skipped in the above
+    folders.
+    """
+
+    will_remove = set(paths)
+    will_skip = set()
+
+    # Determine folders and files
+    folders = set()
+    files = set()
+    for path in will_remove:
+        if path.endswith(".pyc"):
+            continue
+        if path.endswith("__init__.py") or ".dist-info" in path:
+            folders.add(os.path.dirname(path))
+        files.add(path)
+
+    # probably this one https://github.com/python/mypy/issues/390
+    _normcased_files = set(map(os.path.normcase, files))  # type: ignore
+
+    folders = compact(folders)
+
+    # This walks the tree using os.walk to not miss extra folders
+    # that might get added.
+    for folder in folders:
+        for dirpath, _, dirfiles in os.walk(folder):
+            for fname in dirfiles:
+                if fname.endswith(".pyc"):
+                    continue
+
+                file_ = os.path.join(dirpath, fname)
+                if (os.path.isfile(file_) and
+                        os.path.normcase(file_) not in _normcased_files):
+                    # We are skipping this file. Add it to the set.
+                    will_skip.add(file_)
+
+    will_remove = files | {
+        os.path.join(folder, "*") for folder in folders
+    }
+
+    return will_remove, will_skip
+
+
+class StashedUninstallPathSet(object):
+    """A set of file rename operations to stash files while
+    tentatively uninstalling them."""
+    def __init__(self):
+        # type: () -> None
+        # Mapping from source file root to [Adjacent]TempDirectory
+        # for files under that directory.
+        self._save_dirs = {}  # type: Dict[str, TempDirectory]
+        # (old path, new path) tuples for each move that may need
+        # to be undone.
+        self._moves = []  # type: List[Tuple[str, str]]
+
+    def _get_directory_stash(self, path):
+        # type: (str) -> str
+        """Stashes a directory.
+
+        Directories are stashed adjacent to their original location if
+        possible, or else moved/copied into the user's temp dir."""
+
+        try:
+            save_dir = AdjacentTempDirectory(path)  # type: TempDirectory
+        except OSError:
+            save_dir = TempDirectory(kind="uninstall")
+        self._save_dirs[os.path.normcase(path)] = save_dir
+
+        return save_dir.path
+
+    def _get_file_stash(self, path):
+        # type: (str) -> str
+        """Stashes a file.
+
+        If no root has been provided, one will be created for the directory
+        in the user's temp directory."""
+        path = os.path.normcase(path)
+        head, old_head = os.path.dirname(path), None
+        save_dir = None
+
+        while head != old_head:
+            try:
+                save_dir = self._save_dirs[head]
+                break
+            except KeyError:
+                pass
+            head, old_head = os.path.dirname(head), head
+        else:
+            # Did not find any suitable root
+            head = os.path.dirname(path)
+            save_dir = TempDirectory(kind='uninstall')
+            self._save_dirs[head] = save_dir
+
+        relpath = os.path.relpath(path, head)
+        if relpath and relpath != os.path.curdir:
+            return os.path.join(save_dir.path, relpath)
+        return save_dir.path
+
+    def stash(self, path):
+        # type: (str) -> str
+        """Stashes the directory or file and returns its new location.
+        Handle symlinks as files to avoid modifying the symlink targets.
+        """
+        path_is_dir = os.path.isdir(path) and not os.path.islink(path)
+        if path_is_dir:
+            new_path = self._get_directory_stash(path)
+        else:
+            new_path = self._get_file_stash(path)
+
+        self._moves.append((path, new_path))
+        if (path_is_dir and os.path.isdir(new_path)):
+            # If we're moving a directory, we need to
+            # remove the destination first or else it will be
+            # moved to inside the existing directory.
+            # We just created new_path ourselves, so it will
+            # be removable.
+            os.rmdir(new_path)
+        renames(path, new_path)
+        return new_path
+
+    def commit(self):
+        # type: () -> None
+        """Commits the uninstall by removing stashed files."""
+        for _, save_dir in self._save_dirs.items():
+            save_dir.cleanup()
+        self._moves = []
+        self._save_dirs = {}
+
+    def rollback(self):
+        # type: () -> None
+        """Undoes the uninstall by moving stashed files back."""
+        for p in self._moves:
+            logger.info("Moving to %s\n from %s", *p)
+
+        for new_path, path in self._moves:
+            try:
+                logger.debug('Replacing %s from %s', new_path, path)
+                if os.path.isfile(new_path) or os.path.islink(new_path):
+                    os.unlink(new_path)
+                elif os.path.isdir(new_path):
+                    rmtree(new_path)
+                renames(path, new_path)
+            except OSError as ex:
+                logger.error("Failed to restore %s", new_path)
+                logger.debug("Exception: %s", ex)
+
+        self.commit()
+
+    @property
+    def can_rollback(self):
+        # type: () -> bool
+        return bool(self._moves)
+
+
+class UninstallPathSet(object):
+    """A set of file paths to be removed in the uninstallation of a
+    requirement."""
+    def __init__(self, dist):
+        # type: (Distribution) -> None
+        self.paths = set()  # type: Set[str]
+        self._refuse = set()  # type: Set[str]
+        self.pth = {}  # type: Dict[str, UninstallPthEntries]
+        self.dist = dist
+        self._moved_paths = StashedUninstallPathSet()
+
+    def _permitted(self, path):
+        # type: (str) -> bool
+        """
+        Return True if the given path is one we are permitted to
+        remove/modify, False otherwise.
+
+        """
+        return is_local(path)
+
+    def add(self, path):
+        # type: (str) -> None
+        head, tail = os.path.split(path)
+
+        # we normalize the head to resolve parent directory symlinks, but not
+        # the tail, since we only want to uninstall symlinks, not their targets
+        path = os.path.join(normalize_path(head), os.path.normcase(tail))
+
+        if not os.path.exists(path):
+            return
+        if self._permitted(path):
+            self.paths.add(path)
+        else:
+            self._refuse.add(path)
+
+        # __pycache__ files can show up after 'installed-files.txt' is created,
+        # due to imports
+        if os.path.splitext(path)[1] == '.py' and uses_pycache:
+            self.add(cache_from_source(path))
+
+    def add_pth(self, pth_file, entry):
+        # type: (str, str) -> None
+        pth_file = normalize_path(pth_file)
+        if self._permitted(pth_file):
+            if pth_file not in self.pth:
+                self.pth[pth_file] = UninstallPthEntries(pth_file)
+            self.pth[pth_file].add(entry)
+        else:
+            self._refuse.add(pth_file)
+
+    def remove(self, auto_confirm=False, verbose=False):
+        # type: (bool, bool) -> None
+        """Remove paths in ``self.paths`` with confirmation (unless
+        ``auto_confirm`` is True)."""
+
+        if not self.paths:
+            logger.info(
+                "Can't uninstall '%s'. No files were found to uninstall.",
+                self.dist.project_name,
+            )
+            return
+
+        dist_name_version = (
+            self.dist.project_name + "-" + self.dist.version
+        )
+        logger.info('Uninstalling %s:', dist_name_version)
+
+        with indent_log():
+            if auto_confirm or self._allowed_to_proceed(verbose):
+                moved = self._moved_paths
+
+                for_rename = compress_for_rename(self.paths)
+
+                for path in sorted(compact(for_rename)):
+                    moved.stash(path)
+                    logger.debug('Removing file or directory %s', path)
+
+                for pth in self.pth.values():
+                    pth.remove()
+
+                logger.info('Successfully uninstalled %s', dist_name_version)
+
+    def _allowed_to_proceed(self, verbose):
+        # type: (bool) -> bool
+        """Display which files would be deleted and prompt for confirmation
+        """
+
+        def _display(msg, paths):
+            # type: (str, Iterable[str]) -> None
+            if not paths:
+                return
+
+            logger.info(msg)
+            with indent_log():
+                for path in sorted(compact(paths)):
+                    logger.info(path)
+
+        if not verbose:
+            will_remove, will_skip = compress_for_output_listing(self.paths)
+        else:
+            # In verbose mode, display all the files that are going to be
+            # deleted.
+            will_remove = set(self.paths)
+            will_skip = set()
+
+        _display('Would remove:', will_remove)
+        _display('Would not remove (might be manually added):', will_skip)
+        _display('Would not remove (outside of prefix):', self._refuse)
+        if verbose:
+            _display('Will actually move:', compress_for_rename(self.paths))
+
+        return ask('Proceed (y/n)? ', ('y', 'n')) == 'y'
+
+    def rollback(self):
+        # type: () -> None
+        """Rollback the changes previously made by remove()."""
+        if not self._moved_paths.can_rollback:
+            logger.error(
+                "Can't roll back %s; was not uninstalled",
+                self.dist.project_name,
+            )
+            return
+        logger.info('Rolling back uninstall of %s', self.dist.project_name)
+        self._moved_paths.rollback()
+        for pth in self.pth.values():
+            pth.rollback()
+
+    def commit(self):
+        # type: () -> None
+        """Remove temporary save dir: rollback will no longer be possible."""
+        self._moved_paths.commit()
+
+    @classmethod
+    def from_dist(cls, dist):
+        # type: (Distribution) -> UninstallPathSet
+        dist_path = normalize_path(dist.location)
+        if not dist_is_local(dist):
+            logger.info(
+                "Not uninstalling %s at %s, outside environment %s",
+                dist.key,
+                dist_path,
+                sys.prefix,
+            )
+            return cls(dist)
+
+        if dist_path in {p for p in {sysconfig.get_path("stdlib"),
+                                     sysconfig.get_path("platstdlib")}
+                         if p}:
+            logger.info(
+                "Not uninstalling %s at %s, as it is in the standard library.",
+                dist.key,
+                dist_path,
+            )
+            return cls(dist)
+
+        paths_to_remove = cls(dist)
+        develop_egg_link = egg_link_path(dist)
+        develop_egg_link_egg_info = '{}.egg-info'.format(
+            pkg_resources.to_filename(dist.project_name))
+        egg_info_exists = dist.egg_info and os.path.exists(dist.egg_info)
+        # Special case for distutils installed package
+        distutils_egg_info = getattr(dist._provider, 'path', None)
+
+        # Uninstall cases order do matter as in the case of 2 installs of the
+        # same package, pip needs to uninstall the currently detected version
+        if (egg_info_exists and dist.egg_info.endswith('.egg-info') and
+                not dist.egg_info.endswith(develop_egg_link_egg_info)):
+            # if dist.egg_info.endswith(develop_egg_link_egg_info), we
+            # are in fact in the develop_egg_link case
+            paths_to_remove.add(dist.egg_info)
+            if dist.has_metadata('installed-files.txt'):
+                for installed_file in dist.get_metadata(
+                        'installed-files.txt').splitlines():
+                    path = os.path.normpath(
+                        os.path.join(dist.egg_info, installed_file)
+                    )
+                    paths_to_remove.add(path)
+            # FIXME: need a test for this elif block
+            # occurs with --single-version-externally-managed/--record outside
+            # of pip
+            elif dist.has_metadata('top_level.txt'):
+                if dist.has_metadata('namespace_packages.txt'):
+                    namespaces = dist.get_metadata('namespace_packages.txt')
+                else:
+                    namespaces = []
+                for top_level_pkg in [
+                        p for p
+                        in dist.get_metadata('top_level.txt').splitlines()
+                        if p and p not in namespaces]:
+                    path = os.path.join(dist.location, top_level_pkg)
+                    paths_to_remove.add(path)
+                    paths_to_remove.add(path + '.py')
+                    paths_to_remove.add(path + '.pyc')
+                    paths_to_remove.add(path + '.pyo')
+
+        elif distutils_egg_info:
+            raise UninstallationError(
+                "Cannot uninstall {!r}. It is a distutils installed project "
+                "and thus we cannot accurately determine which files belong "
+                "to it which would lead to only a partial uninstall.".format(
+                    dist.project_name,
+                )
+            )
+
+        elif dist.location.endswith('.egg'):
+            # package installed by easy_install
+            # We cannot match on dist.egg_name because it can slightly vary
+            # i.e. setuptools-0.6c11-py2.6.egg vs setuptools-0.6rc11-py2.6.egg
+            paths_to_remove.add(dist.location)
+            easy_install_egg = os.path.split(dist.location)[1]
+            easy_install_pth = os.path.join(os.path.dirname(dist.location),
+                                            'easy-install.pth')
+            paths_to_remove.add_pth(easy_install_pth, './' + easy_install_egg)
+
+        elif egg_info_exists and dist.egg_info.endswith('.dist-info'):
+            for path in uninstallation_paths(dist):
+                paths_to_remove.add(path)
+
+        elif develop_egg_link:
+            # develop egg
+            with open(develop_egg_link, 'r') as fh:
+                link_pointer = os.path.normcase(fh.readline().strip())
+            assert (link_pointer == dist.location), (
+                'Egg-link %s does not match installed location of %s '
+                '(at %s)' % (link_pointer, dist.project_name, dist.location)
+            )
+            paths_to_remove.add(develop_egg_link)
+            easy_install_pth = os.path.join(os.path.dirname(develop_egg_link),
+                                            'easy-install.pth')
+            paths_to_remove.add_pth(easy_install_pth, dist.location)
+
+        else:
+            logger.debug(
+                'Not sure how to uninstall: %s - Check: %s',
+                dist, dist.location,
+            )
+
+        # find distutils scripts= scripts
+        if dist.has_metadata('scripts') and dist.metadata_isdir('scripts'):
+            for script in dist.metadata_listdir('scripts'):
+                if dist_in_usersite(dist):
+                    bin_dir = bin_user
+                else:
+                    bin_dir = bin_py
+                paths_to_remove.add(os.path.join(bin_dir, script))
+                if WINDOWS:
+                    paths_to_remove.add(os.path.join(bin_dir, script) + '.bat')
+
+        # find console_scripts
+        _scripts_to_remove = []
+        console_scripts = dist.get_entry_map(group='console_scripts')
+        for name in console_scripts.keys():
+            _scripts_to_remove.extend(_script_names(dist, name, False))
+        # find gui_scripts
+        gui_scripts = dist.get_entry_map(group='gui_scripts')
+        for name in gui_scripts.keys():
+            _scripts_to_remove.extend(_script_names(dist, name, True))
+
+        for s in _scripts_to_remove:
+            paths_to_remove.add(s)
+
+        return paths_to_remove
+
+
+class UninstallPthEntries(object):
+    def __init__(self, pth_file):
+        # type: (str) -> None
+        if not os.path.isfile(pth_file):
+            raise UninstallationError(
+                "Cannot remove entries from nonexistent file %s" % pth_file
+            )
+        self.file = pth_file
+        self.entries = set()  # type: Set[str]
+        self._saved_lines = None  # type: Optional[List[bytes]]
+
+    def add(self, entry):
+        # type: (str) -> None
+        entry = os.path.normcase(entry)
+        # On Windows, os.path.normcase converts the entry to use
+        # backslashes.  This is correct for entries that describe absolute
+        # paths outside of site-packages, but all the others use forward
+        # slashes.
+        # os.path.splitdrive is used instead of os.path.isabs because isabs
+        # treats non-absolute paths with drive letter markings like c:foo\bar
+        # as absolute paths. It also does not recognize UNC paths if they don't
+        # have more than "\\sever\share". Valid examples: "\\server\share\" or
+        # "\\server\share\folder". Python 2.7.8+ support UNC in splitdrive.
+        if WINDOWS and not os.path.splitdrive(entry)[0]:
+            entry = entry.replace('\\', '/')
+        self.entries.add(entry)
+
+    def remove(self):
+        # type: () -> None
+        logger.debug('Removing pth entries from %s:', self.file)
+        with open(self.file, 'rb') as fh:
+            # windows uses '\r\n' with py3k, but uses '\n' with py2.x
+            lines = fh.readlines()
+            self._saved_lines = lines
+        if any(b'\r\n' in line for line in lines):
+            endline = '\r\n'
+        else:
+            endline = '\n'
+        # handle missing trailing newline
+        if lines and not lines[-1].endswith(endline.encode("utf-8")):
+            lines[-1] = lines[-1] + endline.encode("utf-8")
+        for entry in self.entries:
+            try:
+                logger.debug('Removing entry: %s', entry)
+                lines.remove((entry + endline).encode("utf-8"))
+            except ValueError:
+                pass
+        with open(self.file, 'wb') as fh:
+            fh.writelines(lines)
+
+    def rollback(self):
+        # type: () -> bool
+        if self._saved_lines is None:
+            logger.error(
+                'Cannot roll back changes to %s, none were made', self.file
+            )
+            return False
+        logger.debug('Rolling %s back to previous state', self.file)
+        with open(self.file, 'wb') as fh:
+            fh.writelines(self._saved_lines)
+        return True
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py b/iot_env/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py
new file mode 100644
index 0000000..8fc3c59
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py
@@ -0,0 +1,242 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import datetime
+import hashlib
+import json
+import logging
+import os.path
+import sys
+
+from pip._vendor import pkg_resources
+from pip._vendor.packaging import version as packaging_version
+from pip._vendor.six import ensure_binary
+
+from pip._internal.index.collector import LinkCollector
+from pip._internal.index.package_finder import PackageFinder
+from pip._internal.models.search_scope import SearchScope
+from pip._internal.models.selection_prefs import SelectionPreferences
+from pip._internal.utils.filesystem import (
+    adjacent_tmp_file,
+    check_path_owner,
+    replace,
+)
+from pip._internal.utils.misc import (
+    ensure_dir,
+    get_installed_version,
+    redact_auth_from_url,
+)
+from pip._internal.utils.packaging import get_installer
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    import optparse
+    from optparse import Values
+    from typing import Any, Dict, Text, Union
+
+    from pip._internal.network.session import PipSession
+
+
+SELFCHECK_DATE_FMT = "%Y-%m-%dT%H:%M:%SZ"
+
+
+logger = logging.getLogger(__name__)
+
+
+def make_link_collector(
+    session,  # type: PipSession
+    options,  # type: Values
+    suppress_no_index=False,  # type: bool
+):
+    # type: (...) -> LinkCollector
+    """
+    :param session: The Session to use to make requests.
+    :param suppress_no_index: Whether to ignore the --no-index option
+        when constructing the SearchScope object.
+    """
+    index_urls = [options.index_url] + options.extra_index_urls
+    if options.no_index and not suppress_no_index:
+        logger.debug(
+            'Ignoring indexes: %s',
+            ','.join(redact_auth_from_url(url) for url in index_urls),
+        )
+        index_urls = []
+
+    # Make sure find_links is a list before passing to create().
+    find_links = options.find_links or []
+
+    search_scope = SearchScope.create(
+        find_links=find_links, index_urls=index_urls,
+    )
+
+    link_collector = LinkCollector(session=session, search_scope=search_scope)
+
+    return link_collector
+
+
+def _get_statefile_name(key):
+    # type: (Union[str, Text]) -> str
+    key_bytes = ensure_binary(key)
+    name = hashlib.sha224(key_bytes).hexdigest()
+    return name
+
+
+class SelfCheckState(object):
+    def __init__(self, cache_dir):
+        # type: (str) -> None
+        self.state = {}  # type: Dict[str, Any]
+        self.statefile_path = None
+
+        # Try to load the existing state
+        if cache_dir:
+            self.statefile_path = os.path.join(
+                cache_dir, "selfcheck", _get_statefile_name(self.key)
+            )
+            try:
+                with open(self.statefile_path) as statefile:
+                    self.state = json.load(statefile)
+            except (IOError, ValueError, KeyError):
+                # Explicitly suppressing exceptions, since we don't want to
+                # error out if the cache file is invalid.
+                pass
+
+    @property
+    def key(self):
+        return sys.prefix
+
+    def save(self, pypi_version, current_time):
+        # type: (str, datetime.datetime) -> None
+        # If we do not have a path to cache in, don't bother saving.
+        if not self.statefile_path:
+            return
+
+        # Check to make sure that we own the directory
+        if not check_path_owner(os.path.dirname(self.statefile_path)):
+            return
+
+        # Now that we've ensured the directory is owned by this user, we'll go
+        # ahead and make sure that all our directories are created.
+        ensure_dir(os.path.dirname(self.statefile_path))
+
+        state = {
+            # Include the key so it's easy to tell which pip wrote the
+            # file.
+            "key": self.key,
+            "last_check": current_time.strftime(SELFCHECK_DATE_FMT),
+            "pypi_version": pypi_version,
+        }
+
+        text = json.dumps(state, sort_keys=True, separators=(",", ":"))
+
+        with adjacent_tmp_file(self.statefile_path) as f:
+            f.write(ensure_binary(text))
+
+        try:
+            # Since we have a prefix-specific state file, we can just
+            # overwrite whatever is there, no need to check.
+            replace(f.name, self.statefile_path)
+        except OSError:
+            # Best effort.
+            pass
+
+
+def was_installed_by_pip(pkg):
+    # type: (str) -> bool
+    """Checks whether pkg was installed by pip
+
+    This is used not to display the upgrade message when pip is in fact
+    installed by system package manager, such as dnf on Fedora.
+    """
+    try:
+        dist = pkg_resources.get_distribution(pkg)
+        return "pip" == get_installer(dist)
+    except pkg_resources.DistributionNotFound:
+        return False
+
+
+def pip_self_version_check(session, options):
+    # type: (PipSession, optparse.Values) -> None
+    """Check for an update for pip.
+
+    Limit the frequency of checks to once per week. State is stored either in
+    the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix
+    of the pip script path.
+    """
+    installed_version = get_installed_version("pip")
+    if not installed_version:
+        return
+
+    pip_version = packaging_version.parse(installed_version)
+    pypi_version = None
+
+    try:
+        state = SelfCheckState(cache_dir=options.cache_dir)
+
+        current_time = datetime.datetime.utcnow()
+        # Determine if we need to refresh the state
+        if "last_check" in state.state and "pypi_version" in state.state:
+            last_check = datetime.datetime.strptime(
+                state.state["last_check"],
+                SELFCHECK_DATE_FMT
+            )
+            if (current_time - last_check).total_seconds() < 7 * 24 * 60 * 60:
+                pypi_version = state.state["pypi_version"]
+
+        # Refresh the version if we need to or just see if we need to warn
+        if pypi_version is None:
+            # Lets use PackageFinder to see what the latest pip version is
+            link_collector = make_link_collector(
+                session,
+                options=options,
+                suppress_no_index=True,
+            )
+
+            # Pass allow_yanked=False so we don't suggest upgrading to a
+            # yanked version.
+            selection_prefs = SelectionPreferences(
+                allow_yanked=False,
+                allow_all_prereleases=False,  # Explicitly set to False
+            )
+
+            finder = PackageFinder.create(
+                link_collector=link_collector,
+                selection_prefs=selection_prefs,
+            )
+            best_candidate = finder.find_best_candidate("pip").best_candidate
+            if best_candidate is None:
+                return
+            pypi_version = str(best_candidate.version)
+
+            # save that we've performed a check
+            state.save(pypi_version, current_time)
+
+        remote_version = packaging_version.parse(pypi_version)
+
+        local_version_is_older = (
+            pip_version < remote_version and
+            pip_version.base_version != remote_version.base_version and
+            was_installed_by_pip('pip')
+        )
+
+        # Determine if our pypi_version is older
+        if not local_version_is_older:
+            return
+
+        # We cannot tell how the current pip is available in the current
+        # command context, so be pragmatic here and suggest the command
+        # that's always available. This does not accommodate spaces in
+        # `sys.executable`.
+        pip_cmd = "{} -m pip".format(sys.executable)
+        logger.warning(
+            "You are using pip version %s; however, version %s is "
+            "available.\nYou should consider upgrading via the "
+            "'%s install --upgrade pip' command.",
+            pip_version, pypi_version, pip_cmd
+        )
+    except Exception:
+        logger.debug(
+            "There was an error checking the latest version of pip",
+            exc_info=True,
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7ecf1364658adb0a82ec33570ebcf4379bcbff2f
GIT binary patch
literal 155
zcmWIL<>g{vU|{fR*_{HSAA<;F%*epN;K0DZP|U)>z>vZa%%I8Wx00a<B#a<_Ip~+<
z7U&mb7U-7d6(lBSr>5wZXQZa)=;oxxXBy=frGVu0<1_P0Qj78ubM#9~GINUc<Kr{)
bGE3s)^$IF)aoFVMr<CTT+JQ{|3~~Vg?9nA{

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..86f8425290d50322b830d27a7a64be714ae3e21a
GIT binary patch
literal 1351
zcmWIL<>g{vU|{fR*_|TI%E0g##6iZ)3=9ko3=9m#84L^zDGX5zDU2yhIgGhXQA~^=
zHggVh6mtq=3QG=4E^8DUSd2A?J(nYjgOMSXqsSqJF@-IMGnXrhi;*FPJ%yu%A&NUi
zFoi3HyM-}|Cq*cQH-)c-F^V^ZKSiL0A&M`BIha9HxaucYNJeI{LUMjeszP~DVnMM&
zNk*zdS!!NNeo<<QLSjKdN@h{9LT-LaX-=v_NxnjHK3GLjYDsBPo<dn-PHAefLSj)W
zS8{%CL1IZ}QckKuT7D5&QF3WfQEFa^LP2H$#D=8A;#55@u8@pWh0MH?)Vz|+{5*xs
zVvxB-spUnPC8-K9J*CBo>8ZsE=|zbtrHMH?l{yO9si_5-dFf!2OHzwViWLeHi;H!*
z67y0NQp-~FO2FzAQi}2m6iPszN=z$BEmBC#$x(nBmROXkkerd2m!6uU$Mq5v{F;on
z_!E<g^K(i|QsXmo3-XIf{4^PFu|xf>$#_f1H!>hH-r2*|**iWc)X&e;&s~%87K=}2
zaY-^G$OtF~u~`@x7@R?o$j89IP{NSKSObbWre3CC22Ex^H%-P{oQVYmiKQhO`9+#c
zw>aXV*4*MNElw?pPfkqENR3a)EP}cqFEKZDB|{M?;rz1KFUc*?FUTy=EzK)POwLYC
z(JjwNP0i8GNsZ4m$}dU*$?3;~LbWI_F-O0&Br~U2A8Ni{L1hsK0|SF7$Zbp@2Qz{B
zA<1A4NPvNX0mNp7`9J{42Q`c-Oufv(3@br?U@Br`U|_h#UX-7ho0*rc$yCG+;`2j%
zke`>9nGW*8N~R)C1_p*AUJwED0oWTw+#oI}bfl1+0^+-o=9D5H1_lP0-MnDCQxZ!O
zK{glhgX}=F6676uBr8FDl;}h8yb+S;Q<zeidzot)OBk}4QdqLti*#xj7ciHwWU($}
zOkquD6lVx#s9{WJ3}(<|^K%Q)goY1iZfQ<QW<g>}h9=W3*7D3eW20MaDTzhpnR!(#
z`l%(!nrzU3E6yxQjZcOL+%2}^%HopL+*_>01v!}|x0v#aZ?S{SDNZfWgaqm>wv^1G
zvcw!nkb->*3fEf#Xhs#QfqV>#cm^f`MlL2H#v)L#YchstGP-H<-(ruCPsvY?kH5tg
zAD>oQQd*Q6A72Cth$3-NlyVnj7U;!8ih?3g`2=yW6j&IR(Dc9wO|PU9lr@V$8Q>Nh
zlmkjj;AB<=ir^wpkb~_<ayG*495%V&BE}AskBUVY7#LVMc$hetc$j#YSQvSjIas+^
Gx!3_4VNGcO

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compat.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compat.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..739c5be9e05dbb0c2a19520bee352b1cb4df84df
GIT binary patch
literal 6120
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7b3ec5ca68c0e38b50db84b84c3344d36b48da51
GIT binary patch
literal 2826
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
IOOS&H0Fnk0`Tzg`

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..011fae029aa14930235e30733cf74fcaea3de75a
GIT binary patch
literal 1139
zcmWIL<>g{vU|{fR*`4CX%E0g##6iY93=9ko3=9m#84L^zDGVu$ISjdsQH+crHd78$
zE^`z!n9ZESlFJ&!%E*w)T4a&JkiwF~mdhT+p34!%!N`!pn!=XCp2CsBnZlLAox+pC
zo5GjEpCXXX6UCXzoXXkE7{!$$m?G4|5XGG$9L%68@)G0*O~zY-E}6w8r6rj;#g0Yk
zu0=)pMVgGaxZM)-k}KU)OY#d!G#PIR`9=mr#yfksI(x?lh5Gq<`nhW|-C}XcOfI>_
z;*(iiqRCvvlUk9QtXoi&nwD8%>vxMmlevmDBR@CQ)~|@2fdRzj&CDw<NzBR7O-d}r
zCY+L3l88_(08^cjnwXMWRE&_}fyv}#CLu)O>I-rbOK`}P7NugBDNZiREGR*;gB|7(
znB!TC^7BjJw%uYWElw?h_$-+b6p~QP%D}+D$-uzi42n=M1_p*qhFZoN1{a1{n_8wS
zu@Z(X#u}z{#uUb0#u%nr=316;hCC4#h7zW1t|Bu=1`v#7DCCG>s9{{dT*H#ZvXGIH
zp^&47F_=M<sj4m@v8Xszp`a+gEHfoFMIo^$y)-v9ucTN<p(wSav?wn#FI^!qPa!`k
zD>b=9p(G=*L?I)wSfL~%l}kZEK_NG>Bsl|FpB@)j+%d0Gp)@Z$FTXqwVWvW2QK~{_
zdR~4}YKk6MnI_{cmc*j;Volatg7GP^WD}nbPA0e5AaoHE0|Ub?w$g%>#FEro9P#lf
znaL&b@tUkfpm4dxR+L&?np1L%Ik71H7GwM^R<N5^G873hFfjab(=W*_&@ad=&@Ig?
zNKDR7P0=mSNKMVr%}I^VG|DeZ0m<pdXXcfp7Ud=8=!4U(KEf#=*Xb2h-V!MQ1r(AS
zK@xJHI1vCv6gvwe2O|@s7$YAG8xtR6kq83=gP$hPEdjVmda0nCPz>>m7(zG=lrNw@
zE@B4xRH`7eKo9OBJ+O=PN-7I7^U{l0KnmEP98l6IVgreA#OD{3Waj4;7lBF!u<c;)
sBN4)2bvC*ADWy57cAykitj55=z{AMH#KXkGD8RzRh!uWe5#(S70NsEv@c;k-

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..964bf968d10ea8be29d937125ddc9e1b1b3e86b0
GIT binary patch
literal 1247
zcmWIL<>g{vU|{fR*`1=n%E0g##6iX!3=9ko3=9m#(-;^SQW#Pga~Pr^G-DJan9mf&
z1g4pzm{S;1m~vQhS)*7P8B$q`Tv8ZPm~+^2*`wHVIifgnIiolk8B!UtxKdcsm{J+C
zxKmicG*1c}nC4Ak2h)5h9AKJ1g%eB*q;RD%rL#u~rZO!MO5t9}7$uy-lfv7=5G9hr
z7|fu__Y&k{KTXD4LcWm!k@3zRuFl@^L7{$ro__9{%(qy4GK))Yv4)fu<fPtW2}!Le
zsbVcHNz=8cVgpfzW>uUJS~n>b&df=L$Qm0#gp7^gvc^WbIjO~B3=9m(`6-!s>CslU
zu`$J38qvBj<$AH&n#qhH_dqcV0|Nsq0|SFIC=eGhFff!bxG==(#4yz|)-u&FEMTl*
zT*z3&Qo~TfRKwWJn8Mh~B+0OVxrS*WBNGE7Loh=jOAW&UmK3Iij46yM%ph48hFF(c
z<{IV{mK0VHKZPxusmP^-bpcxq^Fl@hYXSR0h7=Z%X({XrA+{l#>r%t8fVqTY0cQ%w
zLdJr5C0q-*7cwja1t@1#mvcsHa<)RELQ-W(YOz9bNl|8Ax<XohkwT(^lfSP*NxnjI
zeo;|sa!F35LP}~$YI2D}Nk*zdY91s=xVRJ)6cpSNb8?arle0m}bMliDb5ixvQ%eep
zQqxk4ic(WxiZ$F4bBa?n6>>7OQx)<HQu8!474q{G0xC-~^7D-SK7)dj>m?Hd149vr
z`4U8c1(k2HCKe}WX1Zze++uO^_YJ<qRa}x-R8m}?S(0&!IVUym7F$Yca(+tcE!N_K
zoXnD2+^&Ak{w|(=?(spcx7dnP6N{2FZn32o<(C!|-(rKf@s<cSN8VyCt}MPKl%86W
zlA4xSno|OEy(Y^omXySj#9Pcs`MI|^V8XXpax(K$S27eyGcYjxa?mfyEzmE>EYK~@
zD@aVvPEFA*&qz(p(alMX&os&}N&(5~$7kl1q!#5R=IED}Wabp>!_3kvsJz9USXz=F
z5AhAi$YK#t0%PT2<YJUz5@VENlwcHKWMLHeUnI-Gz@RC5iw)%O<l-V>1_p*(Ohu_h
zq9BG;L1uv-+#Wr!J$faT1(|v2MW7JA#RlatgMu5Bc#A-(_ZEkfzi)hKh?~VNPAJRJ
z>=qB48SmtZ%=2-DD>F8NOBfp=D>F8V_i-)a204m7IX|}`Gbgo30Awl1{oqhTB4j|y
qIBatBQ%ZAE?Lf{dR$yRY;9vwpCLSghMiFK(8zREU@sov%ix~g~z*39=

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..49840c5390754287096026b0c1ab860c7c92750a
GIT binary patch
literal 1299
zcmWIL<>g{vU|{fR*`3nB!octt#6iZ)3=9ko3=9m#P7DkTDGVu$ISf%Cnkk1dmnn*g
z5yWQBVa{cVVqs)RWhpXAVMt-gVa;WWV#{TZVrOJXVNYRAVQXQG;z(f(X3*q#2{PSJ
zlkpZyZenJhCgUw3-^hT-cxMk+XYcr+P(MFUKX*;0TO9rcC7Jnoi8;4ed@_qmk{LnT
zpcupkxyu>kE)fO>h7yJ>#sy3%j0+hV8A_OI7@9#gF(rOtWMFVk%_}KN%uy&WN-QWy
zEmBC!FH%U%$x+D9Nl^evRTkuD=9Ludad9aqC@6Sj7MJ7~WhN))<WwpYWELo7Bo-@V
zB&H}7r<SFHj6u?(kdm5~nU|WPr{I*DoLE|%s*s<ikXc+@npzAtE3qiEI5RI@A+0Ds
zS0TVL#6w4+xUyKUAh9GvM<KT~rzEo=CsiS!vLquvuUJQ+BqKGmNFg(?B(*3p8RYe1
z9fica6ouUU;u5fV`Dq|Exe6JHWgue{!S2h<D=taQ$w^JoQ7A1=Eh<(hE=@~IEm8nE
zw^E@bGdEQsF%QY33hAjO5a;FQm!+may&aMd3X{~b%*2vZg_4ZSVugal%shzw1x5K~
znJK9Xi3+)?$r*`xnZ>!_KrBxz$^*FrVr^nx3fPe;nMJ9|B_Q#VjMQ9(l6;W$i3J5k
z`2|H_(+hGElT*P4WTfU4=qQw@D&*ytL&Fl}3WfYMuu1u)Md*>FkXQ_h$6~M%B^jv-
z$)!a_sd*&|`FW{&V2z0~j0_CnjzOS=WCaPNVuhqskef2|%JQ>QQxuXaLCyjtf#T$%
z%z_e_sd@?_AkUX)=Hw`(C1&O*WacR(Dx{T`loq8bl%*CGXXfXDV!0r*K#waRCpED+
zRiQXFRUxCKq@dVJUq3ywB%?G*FF8L~zo4=pQNJLwKp&DK^i54IEx~S1OexDuPF2Xy
zQ%K9K067ZeiPF53)S{e95Eraoj|&tfW%-#Y(C8@2Ps&NnRjAA_RY*?EQ-F8`ns^k-
zGfOfQ)OB+~o>f->C5hC;6p%ZMO7p;R1WL(}n8~Ts<I-fg#avuje2cBPBqg<|=oV{v
zQD#YM5fcLg11MW27Nr-jWGDg^3%{K8OL7Z9-q0=0D@aVvPEFA*&qz(p(alMX&os&}
zN&(5~$AeRCUSf`ZX-Q^Iu|85J(JQFD#Sst9d>|u>IY611myMC>KMO|@57<sWP0k`V
z1_p*(VxWM9o2HkXlc@(PB*0F)C50*pwo0$0vLG`ry$Dnq++u@rSQr=>idaDe$at_v
ikO*#&MI1J{`6;D2sdkK@A_U|v4kjK(9wrt>0cHSlW{nmA

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1134a07cb8c77022131e515b4a2e434dc5ae524f
GIT binary patch
literal 4035
zcmWIL<>g{vU|{fR*`3lZ!octt#6iX^3=9ko3=9m#9E=PMDGVu$ISf${nlXwI%x8kq
z%u&o>K1&n}m}ZS)1=DO%Y$*&WOgZei98nyMAic~voVi?4Twpd!4tFk36c3oqn!}sR
z7sUr=v*qyT3PcHj+3Y!jxk6Dwxx!Jxj0~wlMJrMmQaEx%az&#=bH$>>7#Z9dQaDq%
zS{PEeQbn7Yqr_9VQ+Qe!q9jsyQ}|jKq9jxJQv_NVqNGweQUp_kS{Rxcqoh-LQiM}P
zQbc>1qGVF}ie9D4q===6gXLuNxKd?O8M9=Y8KY!VBvK?>7^37-q*A0?7^37;7=sx!
zWnO~9$WN2;7GH9HUP)?2Np50ZVtQ(kCgUw3zr@_sl#tZig8ZVyqDr^SoK#K5TdYN?
zB}J8*jJKErB8@Z|Z}Ft3mc$n%mSn`2W~OK|-4gPR42X<(_HcFfjt>g;^Yip`zr~WA
zSX`pXbc@3&GcU2I($oJIhi6G@QDRAcQ8LJWWXueUCkX}yhExVnoJ29DGN&-6FoFHV
zlENI!pviJe0@HOtsl}x^CCQ9P#(~%%><o%|P!dRC2xeHx=(mzVlkpZyacWLl5ibJ+
z1DN>bq+gO-pkI(#pj(<(keHmEnxb2tk(!#Lo0A%!X_Q}-0+Q2@&&(@HEy_#G(Jw8@
z%qiAS%gjkFt}HG|&DATYyu||Iii2!p0y%@ZN*0$p^*}29G+A$P#K-3)=BCES-{Ojo
z&&^LM%>l7_;^PZT6LX+490f)B1*t_Pl|=$D=Yrh~A^1UJ+zbp1Vjzn_-sE6pVk`oQ
zpo9h}Y&jSh7{H;ifPsObgdvMDg)y6{SfqrhggJ$&nW<O;6uu?QSu6`!YZw+X7HgES
zH8G|z)H2pE)G%f<7tI07v4iA_I!c%qa4cj<VaaAHs;J^A;jCe3W~^ljXUG#{VJP9s
z<|@i#WB|cPh7{Idh6silCXm`-h7#rl+%*g(%vn4OnSvP#b--+v1-u|rnHXvrYZ(f4
zKsq$p{BE(9XXY6j-C|EqElDlSObICh#iyGl-!10i%Hmrb1v!Z&Y57IDx7afhixW#q
zif%FG7vEw5rN~>XnZ=1o#kcqzi;Gi>N;32FT#JhGi*B*!q*i1WmlPL)f~$y)fq~%`
zyMHi5jx8}cIkmX>7E5@%zxOTnl*}Sf3}`YJNrRMe6cnYFW#*TH?1d(INDP1z5hxmN
z2_$EvCTBx(M1FZ*YLP4`PUJv|fklLog-L*kg^`1ihlz)oiIInqkCB6sgGqo%gt17K
zfq@|zoM=F585kHq@yG*<ts({nhAM#)h6RkEcv#59$Pmtu7sJ8;inlbTY_6glP&hL(
zfMnB{To__4YMH8dN?2-`ni*@E!x{2KKx(tOiUJ_&A{h#GA{c6zi*!mD7O<u;)-Z`N
zEM#nAEYxXYh-AoPieN}#3TDt`u9_TPlvtopoB>Mgddc|(l|~wx3Q46U3b}~|3aOy*
zELH#sXXd3V6z3;rr<N#y5_YjdNj{f?f`USDL27blVh*VE0Ee(bVzEMMML}wENotB7
z7eq;FszPE;alS%ENl8JmmA-ybX?n3<L1jrsex6=_QM!I+adBy?vAMZ{fgV^xl|X`O
zae_i-u|gu$PCreyTWk<V-eLtg$EZji6k+V1{$N{gab_0BL!5U@0NqKNEVr18i;{1#
zq@)&?++s|-#Rpd$5Aq9o6mx?uh)>I`NKLT>#V#lvF|ac+3NQ*W@-Twqm6?r+g;9X1
zNFNldpcD&@R0a^66&9;P;5@j1v4m*>Gbrt6u`FZ^W+(#1x+d!_mg17cl3N_X@t(oK
z{?6V-QXn6(=72@ni%URdMXDwvIAx+au}G7Ffgup&G;o4q0`oD70&w{NQj`RCMhasI
zV;0mQU=|C=NhwSz%)KoA7PX8etSKxtjLl57OjTSpOkoV5BxuS|!<5CgfPEnYBSQ(}
z0uC^bb0Nb*Mn;ARhHwT`hCqfOh6r%>*JP{ebk8hH%~MEJ0A){wl6-|kaAMI>$S(j3
zm!#$vfJGGYQY%V83NlL+ic^zIi&Aqc6%zAO6jJkwON&y$sUWiilmg0&GD}KQ^FV4-
zGK;en64Odjixf&SQWc;TnnF=(Vsb`mu|j4^u|jHI3M2`+Rk7%m<Q8bM++s^f%}Fgu
zy~Ui8S#*o7peQvhv*H$8acNpwW(Bwi_0!}k0+pQL@P~x95-27(k`jwkL8U_xs7wVH
z%(qz6a!QLcZn35nSLP+(Vgsd~ynJZsQKSpf#a0BarO+bmmSAE^R$_8$UP*jOZUH#e
zg@IxQR0%S$F)=bRaxro-GW}s=1+kbIxtO>Zi)<Mf7&2clGcdgT#lXOz$#jdaxFo+I
zJ~y!<J|#6LvGNvId17V>B%Pv^ETBXIax=Id05ys*N)|0>X<-E^ElL;`FxN1GA{Ds=
zf|e5uuoTMz4xw9YMUYSdXF#^1)ZF~CR86KLZBQkp10ukMC71x0nCwNV1v!bysktBz
zgBx+opsd8l$i-L$av@5(1vwp5FoGnCJ;3QUi*W%HD5Vx_fT}Y{Myh43VXR@uW-3xD
z)TjYfC!ng11yt1)Ie-eh8W5iiRQZ&!gDS0H22G}_bZ1b}t&o|fkf@N7S(KVwl3!E_
zOJj*iIjPX{DzrGYSRuby4^mZVXe#9ADFpZjdq(IeloVyA7Aqtdr6!hu3Pe!+7lWk3
zGxJjN%Znjt?-px8esN}nCI>jYz$pq;Ri$JW6@e2L3pi0JfPzX9lw`!>OHzwV;z21L
z<cj!|%%b@6%sfpdh*q|O#G=%^5{wjup{WKGz@YX613M2R4<o3Jz{bSI$j4OViC#*v
zGcYiKiU&}-FTTaVz>vaN%b3E{$xy<O!raX0!VtTsmZ^p@g=GO_J3|^{3Tp~m3r7h<
z3Oh)ynQ<YbI72OS2~!p`xV~au$W+TxC0D|<fTf0|gei-)gei;7iJ^oki`|J~AyX}D
zI740l3quJ<HdoOGMuu88MusY*8n!IX63#5HY^I{NaE3^RMGA!iP%-XorlNUZF;IJ(
zBbcEHT-2m6)UwsFMKDA%6beKzlrSyesbK}DS*8WNH7p<&BSQ*jFhik03113VGb5;7
z6U?B=?RQH95|!W(gA@n3sqtx<#TjXtdFiP|#qr6d#U+VFDe<>d5|ffsQq$5iGPAOC
za`W;F3X6(MO3TVCDys|(jf_o9&CD$<UxHHcEe5O!*BBHDpln^k5Gzp22+B_#3=0`S
z#c3fEsC5b{{h4mD6(#1S<mcXEOU}s8OitBgy2YetaEmd1CF3oQ#GHbR#H3VcoP%=_
zr%iflUTQ@_k=-<q4WK;2!ob8(rHMW9=-K4tCnx3<+v&mey#%#{+(N31LqX<%D`-#|
znvw}>IVpg`2Arhxixglf5s^zY`ERinCFZ54-eSqh&&)$g*esx;{T7>le2`0c&@FcV
zc;_Hj#}JT!YlO28q?Tq)Eh@^(zs2V28sQlna*Ne9z%|JC7He`&esSt8w$i+u%)IPd
z0<L*wnML_|xv6<2;5uEC9i0A)EI@gLF|)`Glwm;0`xaAL$}PrJNQMXkiGo6?$en?K
zp&t}BYM{E9g@uuYk%v)%k&lsyQI1gnoFRBvco;>PKt(MFGZQ1zf3O}+g`yacA>itl
zJ-=8FRCyKofrLON6&Zk7peFw<E@+jLlbKWmDyVL8fGRXlApovGqC^TZ3-sd4Qu9*s
zi}b+#sLZ_dB2ZLC@gqwWXI2z}+6cF#z@o4YhaRX6R;-ttpIeYv0%^BmRZvn{05TVp
zhrw0TEjFkKC&;Csv<a@)z%5R20|neX09Pls_~N0ZaXi?4-~t$2Jb;4&5~Sdw8%%)0
z^%jRsF1XWT2Wr|Bn=vpjaDZC1aLmI93RWH_9!5~xSAa=?okNC0f&)~O3G*<qfZ9u(
IT&x_z0LA?2D*ylh

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..da531442d8be97622bbc1a32fa43003a62833502
GIT binary patch
literal 556
zcmWIL<>g{vU|{fR*_~p|#K7<v#6iYP3=9ko3=9m#J`4;DDGX5zDU2yhIgGhXQA~^s
zsZ2!*DU2!1In22%Q7nuMDJ)T}DXdX!DQr>fDeS4NX-rWZDI8IpsT`?n;tZ*r;tZ+m
z;tWw-DV)I!np{<4Zkai$C6xuK3YmFn`9-;jC7JnodR#9-_G>cU67r1<h>UmkaCP>M
z4+{13^YnAqWW2>1Qd*FcTE(JQo{^);RK=lJl31jdRAp4fqF0hsrO8^w4i>4X0trCK
zoGPebPE{2rST?6BH?fLEuPU=ZlNl<P4%Pr66N~&bxo@$@$EV~c$H(82D#$F*i_gp}
zNiE7t%+V_?$;>I%E2%8V%u6o<h0iTED2JJWf#DW^xQDB&PrPeHh^t?)r@!AVKBp)n
z1UL8=Z$uO_moLgQ0EHjo7=+9hatw0z@C<WB5?jeo#LK_{A$~dPm*f`c7i1RbmgW^C
zCTFLn=$2=srsnA8q{e3&<rk%Z<n-ar*9SXaKMfl6#d-ymw>WHa^HWN5QtcQ)F)hNt
Xz`(-9!^FY}!Yqs|OdO0XOnm<VFPEB1

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..34c6c5923c4eed6819ed7d6a353ae7c97bc65bb9
GIT binary patch
literal 1708
zcmWIL<>g{vU|{fR*`4x`hk@ZSh=Yuo7#J8F7#J9e6Brm6QW#Pga~N_NqZk=MY^EHh
zD5eyK6s8>JDCQJ~6y_Y3T-GR7Mut?@BAXP36qX#eT=ppTT#hIXMursD6t)(ID9#l2
z6pj{#D6SOF6s{JADDD*Q6rL7_D4rCiU<OUzmms?}8E^3?CKc!Bl$NB%XXX~<7nS&F
zGTsvMjSPs4clK~~_Kpt<_4D)ebJt|L#o=F2l9`{Em~)FYq_iL>H5p_AGG=68U~mTc
zfQNyBp@gBCp@6G|v6&&5L6fn{GAOmAv?#AwAw4HEDOsT`wWv5VKTn~!q$o2lT}L6m
zNWm{ZFI6EkO(8G8M4_}eGcO&YR8N!XmJC=^JXBLWL{ofneqLH}NzpB7?6M`51*yd=
z8HzX<7$C$iTm6#U0{w!_0^QQQg2d$P)D+$FjMUT|-JI0;Or!jw6p);Ld}dxrYEfQd
zj(%xLW=^p_*mS*u%3C5}7Md&gLH-3r9RqU_D1K1_1tbm<1P6*6I8d?}Qy8<Eiugd0
zP$gEvw17E<c_HHhmW2#4OtlQPjNuG<GAs-wtR-wE>}kx|TtyCy3?LZE0MZe`P{SC^
zpvh9@5Kxqvn^;t-keOSMlbV~FSCR;d8-@HdNT{K?5*ncS#d^>{)4Ro5o|$KC<abNh
zIXK?kFErlA)5$qL%rz+3)89{%;}&yqW$`VJf}F&XwEUvnTTJ=Ix7eY2Z?P5^<YboI
z;&Uu1DauSLElG7PD#|aq#qJ*rVQ_^d=9EGNHJNTP#@}Lx#vCFpia0^B!p6YBAPNdV
zK2S1Z=VD}GWMUFy6k+0EECR`)1SSgu0|O{7!GT%Ez`#(&lfsz7l*3TV5YCV%#==m-
zn9WtB1PUxh26%8WEMQ7uTF6+-SjAPtn8jSn1XatD%~j-wt~QIchAEz{hN+pMmbrwz
zhPi~JnW?y_hIs)eD3WTKYnZ`-Z|jzrlarK~oK0HjCxcU@UJ)pp_}yYnEKbhM)a1Iw
z1`)r-?Fr6*kRW7ncJcAKC6b<38lRq85)aBVuqZ7OVqjpn#gQDJoRL@*UvP`PD76@5
z@-42+;>^6_lEl2^)LYD;jKP+Ynw+1Ks>xC$0n#E^P?VpXT3j5TmzbMcT#%TYS|kk;
z=Z3}(C|{w+5IX|{gE}aNWI!>*!o<kK$j8XR#>L3Q$i>LV%)!jT$i~FQ$i-9yQi&2@
zAa8;)064znz=^+^p_ZYBA%!uUqeuvpoKu)<7}A)68B!pLdU8lnr9w%*LP}~$YEf=x
zUaCS#Mk*vd!wL*8E(HYz1z1^<s89kbh(M_xQYI8DXyjxj>A+NLDwJnrCTA$5q^2d7
z=9GZUPR%VSse~3g#bCoS^AwU3iy?O9<mYFX7AT}8X66*@fo1(PnQk!@DTBg^6`cPy
z8NvBnlkpZWm=BK@P}+n9A1H0#;(*0jI4Jl)k__x@j2w(COhsx83=EpQx47ct(@IN9
zi&Ep`i$DQY1S(64ctKW46=W9Z!3!cia6zP3Qdy9hmtMpSQosh~fHFl9D=064${BE`
x0mlT`4v1?&Rzp}2ciH6Tr<CTT+JUqdgVGWY69*#)6Au#$qX07p8;1~w0RYgRy~zLo

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4bfd2a67f192513cc74ff168b72850c264a263c3
GIT binary patch
literal 4144
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
YhlzzzhM9+vg^`bmhn0nui&?-Q0A(=p^8f$<

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7df42edc3675cfdb6de0e23bdb8eb0e2746479f4
GIT binary patch
literal 932
zcmWIL<>g{vU|{fR*`1=r%)sy%#6iYP3=9ko3=9m#atsU%DGX5zDU2yhIgC+^Da<J>
zEeugisZ7lbj0`DE!3>(LiMoso42}vJsW}CyMGCq3DWy573MCndB?_5&S*gh-#R|cx
z$)!c9Aw`LK#Rd6AB{~ZEc?y}iAf_G{S4c)Gl%r6bkzbmVqL7rTkdmL5s*qT$keXPO
zQwd@e<QErbCgr5+D3s(Yq~;Zu7NsgA=Hw_8r52W^7MBz&B<7`X6{i*#XXfV>D`?~w
zDU@d<mZX-Y7HKLZ7NsgA7o{eaq^2k&rj?`?K^>NvmyYf<JuWW4{1T}1%TpEd^KvQ`
zQt}l_K#m0aCNn<|<ow*kWdC3th4PHlJg{U=W?pt`ih_SZYF==#k3wd#LP>r;SAI?k
z$h{efc_}%m3L!qhWrli2dR#9-VeOX;B4HR5;+zZ&49=iXuV7$cC}GHAOkvDsF5*jJ
z2xh3_NnuK1$YH8w2xrI>V__&^&gLpIU}ONnNCuFK2!<MlES41JY}O(N5Wh+wg(-z4
zhc%b2mXQ&pOA4f`gguQZo2w`bq>qsSu9I;A$3jqiGJxXK?-pB1Vo`Z!UJ)Y$14Aai
z0E2)g<1PMTa3q$%B2km`7ISfB@hy&moWzo}{G!}j%*Dkyx41pQ@#<PslwWj9%s;@@
zFF4pIKFl>J*wf!H-Y?YG$u;PfbU|i;UVK?<UP^wEUTINIPG*v^UUGh3Nl|7}5i<h=
z!!36IV2BaIkTevZnOBk@4^^tkRK&)>zyMaclA(x)fq~(dpMFVhfqp?|fo^GDL1J=t
zYKm@oMrvw~Zcb`^rcr)T3P?^LWK3#NUSf`ZX-Q^Iu|CvrG_UCuRNfN9F2xIq9w|_y
zF>^7pFflRmF!C{SK-mI}LW~?tMSKhl44TZh*yH0<@{{A^i&#Kz1qp&(ibQ}6yTxIX
U3(hfipujE$`HO{<gPB7d0P>##DgXcg

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/logging.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/logging.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d0625d8327a1cc98d54c9caa9d7b5821bfc0b83e
GIT binary patch
literal 9159
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
VBM%P;i;xiqn~=8%y8x#E4*+$xwBrB(

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/marker_files.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/marker_files.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..00ca331e563f841de7b96819972aa34b5f5c3928
GIT binary patch
literal 928
zcmWIL<>g{vU|{fR*`4x~iGkrUh=Yuo7#J8F7#J9eRTvl;QW#Pga~Pr+Q<$QdQkbKd
zQ&>`1TNt8PQrJ@1TNt8PQy7C8G&x>^^!ruq49UnWR!GatNma-!Rw&3xOioQv$Ve?p
zRY<B-D99{OD9KmI%uC5kPAo}PD9K1wD9$e}N={WMPb^j_C@tYaQmV(r<)4=fQUx+8
zF*!Ri9c*ZEX>xLEadBE{PEMslW?pegVopwKib4s<VyJ1!`6;Oi<(WA-3Q4J4DXBTB
zC8;S28l`zTsl~+#mHDL#MX9;@Wl*C*j@8uTs*)|pEYO80)&&`+o03_Snp~1!RH;`|
zQIgCE@*ot0*lY|849=i15@TRsC}GHAT)+e-nQItISQauZ1ceHtpC;=qru^btECq=r
z8MoL{D>92qif^%G<!9#Ik_zw)h<9=IaSd^e_jL^Nb`6Sm^Yn4`bM$r9WW2=*w|yl;
z5eEYU!!H;8lH3A)kRwa;3KEmEQ&V)yGg4D?baPVUGmY|#Qb2P0@tJugsYQ8-Ir^m~
znK{M!xrs&DsYUT1PZsMHRNfNHNGy(r_%a?zju+$;P_#2J6@k(Qig%eA7#KKV-Zg@I
zw}zpFc_C9RV+l(QV+vz4Q@=nhQw`Gs))KabjEoH745kc$3_%PL3@J>(44TYU_FM`I
z3JT#xnb4RAr3Q#Y6d(?PCY!vHd`M)%LqHF#^A=;dpC)?|$dN@L7ZtHGFfbH>qTv=x
zenD#9E!J|7*|$Vd!_?O`IM~tMRg<}hoq>Vj76&LKz_Gyzu{A!e035y$0_4qG5@3U{
zgpv>_lt4Bzu<|kTFct|iFfeGc-D1x#)&m&{aT_1ZS>S*KtAUseibV(uYzv1?ZhlH>
UPO2R!H5G#-Iha`3S(rIk0SB`AN&o-=

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/misc.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/misc.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..93e134db9966becc2e45974bb130910454f18f16
GIT binary patch
literal 23778
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
a94s6x9NZin9Bcy09IPB{9C94&Tzmlk$ex-2

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/models.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/models.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..137a25ab3f45b53286ccbd6a782f3c06152b88b6
GIT binary patch
literal 1924
zcmWIL<>g{vU|{fR*_~3u!octt#6iX^3=9ko3=9m#3JeSkDGX5zDU2yhIgC+^?hGl+
zDJ(4vDJ-c>&CF5EDNMl(nygiFp(U9)nI)O2#R_TpMG7gYX_<MMdFcwd`6;P6#au5z
zX8R?BNMy_evn7IofgzP4iZO*DiYbK=WNHd?3qur33QG!W3qurZ3R?<$3qurJ3P%cO
z3qurp3Renu3quq~3Qr1e3qurV3SSC;3qurFia?5B3qurlicpGh3qur7ibybnrsypZ
z@6<}C#NyNx=ltA)#G+K+%!<ssDw}|!{IblH)MABXuyAH^ex5>dVnJdO%qt}si6sh|
z#R^Fvy$bnx3W*BYsg+y`3JMCz%t#&qu|a-uW?*0_7GPjts9~&Oh-au_s$qy{OkoIS
zSjp(8$#jb+9%4~ye0FN(E&g~|D8(n|Bo-HIGT&k;PR&WX#SD_=LzP^~P{hf=!0^jX
zza+OnzaX<fw=}OHF*!RmMYlX7H8n>!CpA9PD8DELB&Q#rnOBlpl$V&JUs{rxQ>+h(
z1-*jGTO9H6nR%Hd@$tMMr-EXcfsu`|N)}rH>A}<{Ga~sF#D@D7l!!_gY8bK@n;C-{
zia_C@$#jb)Be6K62xPb>V-Xtz1H|oM4-|oPfLsAm5+5%Jas|jV2Hb9ds7wZ{g1Q65
z1{n_yZ$40XGb~`JVJu<HVp_-qa|iP+4p?~K;>a&ZElMoOFS^ARAD>eaAHR|b?66y`
z`6U^tMG&WPf?Nu6UlAw@MUb2(jU#wKCXwN=B9N1d_!$@&z|KjHk1qlR1iCAP85kJE
ziE%}0d_2XjNH4+R3Q#ym5#b7u0hGG}S6GNLFfhmx;|gkoMQS0Aun=QlU;q_}#h?Vp
zz*vPVU4RUrI4tsTg#{>0C=(GDAOkRpDNq&#XB#;N28I%FL6ybW%v3B;!W0ZHu(FtI
z7_*q0;n|4g7FT9*W?pegVqS7;5i2Os^7-YLc;*)5q~@mPm87OXaym0OLlp^u6tLx{
zmSp6opeJZhvR4B+98@MSF!C_6FyShBparF$CNHS4$V<#kjgP;@6(66QpHi9wV)Mku
z7nUaGKxNqD<5TjJ<Kv6CL3tQdwt@3-5hx24fl_c0C;=6L;;#r4e2^Rn&hQ8Vob^F5
z3lb^@>Ed8yVdh}rU`B>TAQhS{MWFD5=HdLLtkmQZumqBqL8d^9I~$0z?LcK`F{t2T
IVdY>30A34|LI3~&

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ab68f3a86ffd5cd81cd374aa282d345ca9894b4e
GIT binary patch
literal 2608
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
G5Cj0x&fZS|

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..95fa8bbce32c8a03c4a51fd57aa6263732b8caa0
GIT binary patch
literal 1822
zcmWIL<>g{vU|{fR*`4x?g@NHQh=Yt-7#J8F7#J9e0~i<>QW#Pga~N_NqZk=MY^EHh
zT;?cdFq=7tC6_gdm60Kpwa6xgA%!J}EtfrtJ(nYjBbPIZlaaxlA%!)Ct%V_lEtRX8
zIf^@lJ(xk0<0Z&0O~zZ?m6@qIDe*a(d8x&kjJLQ_^NLH0QsawDiZmH-3He3_M8-RN
zxH@~s2Zj3idHT6)GT&lx$xJS}#o<|!T9lZSlX{EAC$qRD8Dt(ZW`eojgMon|l_82T
zg&~S5g)xdbg(-!(g&~S1g(Zcxg&~SHg)N1>g&~S9g(HQtg&~SPg)4=-g&~R~g(ro#
zg&~SFg)fD_g&~S7MIe|#Q}7lK$ade<lEjq6lEf-!PZ%?xD8DQ-CACPQBqOmzp(r&m
zrC1>ss!Sm*GbgoJA+0DsS0Pa$B{R7sGe0k}s8WwhK|w(w8RS%$(?M(yb_NAKD28en
zYZ&4gQW%06Rx<jnWW2>04>MJh=@v_IYEIfM4w%SFh9W)&28Lg*`X#vq`URN<x}|vq
ziOJciDZ1qusi`@-IjQlPM)^f4AUXZ`%)FA+qP)Z${nC=moMQcg?DY7e)Z+ZoqU6+K
zy@JYH9P#m)d6^~g@w_0%fLz7ER3(b+e?6EA!hXnN$Yu*>DB@&bU?>9lYb8?=4+8_k
zEtb5*+*Gi$Ap}22kS8Ot817F&B-<rXY)4jw;sRy{1_qEN;865qU|^^cC}F5!$YQKv
zlw@dT3}*;tU|}d>%H}HaU}UIeVq~b2s$pVb$YM@mT)<MpxRBADfr%lWxrrg1!IU9|
zp_ZwRDS{!AA&)5n921&MepTEGnRyD;wcx1LWGw>OSi}u-yHIFeW^#T?s!J+}bS)~%
zFS^B6l$uzapLdHbEx#x?u|$&@?Drxeka|W;->0XRz<n<Y@;%5e3`|Un0*nGoB8*k2
zp@6I!B@{q02Fk|ZPyi(iP#7#=1o^L-5gHeoOhq7NMG~NR0fjUq7C@?tz)>NDY&;~N
z%7L5&(#613C65vzm})T`#K^$F0Co__Whsoo44O=SZV*ecS<eSc+wqyjDVaq|NLEXu
zSdFR<zqRQMP~YRWR{(BaPG)gQN@kH7lFhQ%ZHB5$2Big9eg?5oy^LZvG$q{PE>14W
zEGUTwWrkavAhNh1F&QIea21v2#Y2>8A-P8!#XSf$ewy5%ObjwEKK>S0e0*+xN@-4N
zeEcn*`1r!o#2ly$dwhIKesX+#kpL(a2!jZ4dXNOMq(Fo;hycYqB*ehU15AL@ND&7#
zyA^}<b1<?naj<Z(aBzZ27O<?JCQp=PL1uwod|7H<N`8?ZN?`*|f>Hd)^2M1I;5>Cp
z3M>jMs`S7`m0n3@L1tch5hw}WVuNy6K~7`?5$vFB#g?Cxm6}`vwjG<JZ*kZ_Lc<Oe
TJ;k6L#>2?N#KXkGD8dW?#N(lc

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..14c16a6905d9a9e8a1be610315d8b3d6a7d669e0
GIT binary patch
literal 2927
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4dae2dcfbe03ce6a792b2833c4c3570c19aee8eb
GIT binary patch
literal 5598
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
YnT44{h(mybi$jNj5e<Ihs%PK<0M{%F^#A|>

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c903f8ed58e7e17dc52d8ebc2ea088e58f483c97
GIT binary patch
literal 6711
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/typing.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/typing.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8a5000ff2413cb31d66d47daa984cdc628b54b4d
GIT binary patch
literal 1437
zcmWIL<>g{vU|{fR*_~3!%E0g##6iYP3=9ko3=9m#Y77hvDGX5zDU4B!sf<NZDNHHM
zIZV0CQOt}Cc^oM$DXc9FQOqf9!3>)0iB2pG3~u>F3VErCB{`J}nYjfysky0nC7F5Y
z3dJRfC7H<zC6xsrUS^&`L1uv-7gs`VWkF?vg04bIMk<n;RE5O6#GK0F%wmO-{QMk+
z@>GS=;#37)5LpaXn*cE>K_NFkr8Fm1N1;3;GdY8+peVmAGbOcHAvwP&RUxf3FS#T$
zKQA#Sv!oKlOGyN|CoxB%Bwqn!vwAT|6s#sQFI|s|%RMzOwJ0$sr&31&ZbNx~X-<kl
zQYy$p`9&qEDGG@t3Pq)PC7HP(ccy?Gm7<WDr%;lSSfY@YSe%iWpQoV9m06;Ym|Rk<
zkXWpcsF0Vhn_qygF(p5>SRpUJL?I)w3}jR#$XH#lx%p+OMH#7yDGEuITq&u=ndy0Y
zTwIRD3YjGeC8b4q#R~bQB}i_}gqTy7nwOGal$ewQ3aiW#kjsh{ic<>`ixNvx6^ipq
zi;`1|71HvHxB@CmGV=2jjP#)lV?BkCjM8Eqg_4X+Q0S$kCM6c9DkLZ7fgPAyQIMKk
z0=7LL6chzTsl};zC3;*T`3mLvMcE38Mfs(9DPY|?;Gk7V%*n|wheQ@6uAt!u3j3r~
zg{0Js%)AtZL<P6RoZ?j7O0N6@NK}F33yM<9QuDy}r4{Apf`TOvly1-hzNE4sRW~_5
z7Zj<*V7DfL6G{qKNxni+YHog6Dmby^rKYBUd=2J+G=Y*8$Qy~t$*IM~nV|4W$t+4u
z1|{2+(jt&m&<NJ!;tBzU2qc*)z|$8fy+U2CkY1Wt1Wo{n3VE5ysX3Jjd5O6o8=*;|
zI3JQU61kE~i!$>|ixqMcGxJIkGxJi5z^*PzO-#;E$Ve?p1$n**6z!mB(BtCr1ZNZ-
zP+&r{hb}ZQi&AqEL1{5Fw;;c$q*$Ri1C~s|&H<%TP)vg(!HSDZK|w(Q9F(AZ7oV9|
zl3J9Pn4?!(l9^Mi2Q?C6l!9+$KxDkLhpV%9d{C&LpQoQYM0;i$7AY&R$#BzAP14iT
z<KhZRO|w$SC@Co@w$j&6&n(F(P0~xw&($vgr$BvBHq_57E-p<i);BgXG~;r62`Y&+
z8E>&9Cl;3^gNh=M00@KFj0_A6&Y+@+g@J*ghB25ylhJP_gC^50R#3#o-(oFG%qdMR
zVrF1q029CL^h<IJ^b0ZzbW8IJ5|gu2Q*_HSQd4tub5i3ojq;09Kyv!<Akha0i9W<5
zdIgn5AWKz27J?WIj9|W>Cd)1M`1q9k<oNhoLYM(|iw&Y5tQhPJB!Z2Bf#DX14J1X`
Uf&5d<!N9=4BE!PW!pO%00Nd-zhyVZp

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/ui.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/ui.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9b63bf0850dca7324b1db05520269a6379fd7e80
GIT binary patch
literal 11802
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2ad762628091abc02a6a1c54eaeed41688d2eac5
GIT binary patch
literal 6075
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
S*f|6^1UPuOOgO?B{sI8w>}Y@h

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/urls.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/urls.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..63452f6fa6994b25f6b60fb3f1cdcc290c9d2bfa
GIT binary patch
literal 1465
zcmWIL<>g{vU|{fR*`0Edm4V?gh=Yuo7#J8F7#J9eGZ+{cQW#Pga~Pr^G-DKF3PTE0
z4pT036bmCrj5&uXmo<tF%x1}9&*g~XU}Q+;DDp{RNMX(4%;k#W%H@vY&gF^XVPr^Q
zOJQ$eh~iD*Na1W@h~i7(O5tu{h~iIS3}(>ec?oiZpC;oi)`G;M;#5t>TkJ)tg{7&*
zC7O)4gnT0dBIBJsT%En+gF^lMJpJ4?nQw9U7nEe?=OyOcVhKsDD7nQNnwOcMm&^z<
z35r2%76t|eXOM>!KptYOVaR4L;z?l$W~gCUz>vb2!nBYng;|ne0pmi3U<OSVzh8`2
zFG2c>K!hgKE!N_KoXnD2tU3ARsYRNMx0p+da#k`F@iH(l{Ibz6$t}<?$Slw;%_~Su
z&Q49yEzd|z&C$(Cjn6d7FG>N)>Bnd0m82HsCFbatmSpA>>z5Yg6zdgK-r`G7Er~BJ
z%84&d&PdHo1({gP268zQ2O|q(5kCV11B!1zQ3H|(`$mg_fuV#Ui*W%Hm}IVDSjf1L
zv6i8PWdUmnV+q>=cCZLjEn^KRfSIZ?xD*r=6rA((%2JC;6cQB*5=$}^O7ayF71A<u
zQmqt1gM9Q96hbmmAu{EeIXMbRsS3G?DX9vHNyYg&r6s8fiFqjs8Hr`7V6zHK^Gi}w
zAj%68i%N?1z{0;+!3Jt_++xZvzQqEv=N3m^eo-!%#h#c{3}*0@7Ukq*CdGr}`xbj?
zQBGEVX5KA6s4z74Z}ET>=OyN*8kH91XfhQEF)%O`@qh?Wc!8s#h>wAR;TAVYVSGtG
zC`3g-@eK+p1~w5!A;uy}^q>SK3RYOc$YWrDCWeKK#bPClDNHpCVhqiUO^hW>3%~&z
z!&=K&%T&u;%UH`;!&GEe!<53D%~WKQ!cxnWr%=L@#hSvJ%~TYS!dAm1&QQyg$5X<V
z!VWiueE~-eQw_5?!$QVd<{IW;22GAC4RBZ?q5~Xeph$qk3CJ^$;4BhgU|^^+iOerm
zNKVXC$j{5ER46Ge%7aE5C^0Ey=9T1w`JjL*R?x`HFHuk}(!9l)lb@WJlaXIsa*N>>
zYk6j#u~8LMOiYzkUVfe~SPra9AvDOdSRt_}RRN^2xU`@kzX%kw`FRQ@8JWcj1v!Z&
zY57IDRv<$;Z*diufMUBmvn1mdpJQ=xY7r<Ox)v4X7Zr(uqJjhDC~&S}F0L%T#R1cQ
ziz_TKr!*C!QXHfbln9JKeg!#PlLZ{Hw;1DZvE`+f<m4wqVjDf8L0P6GKOUq_9u(1X
zpghCM!^rlZg;|7&hl!1mi;0VgiIIts=|9td7FIsSA~gmE22Ft?K~TB@l><>S1(^kU
z@nxxbDfvZu#hDd)x%p+O#d?s$R|LvwV6PN0gLHtMDh1X7%gTD-tgKg3S&*5RUIa=`
zx7eT@P`WAtCB7ndkY-Re1}8wUBOnPD%|{$Ix%nxjIjMG_BBvOX!Z{c@n0Od@n0T02
L7)6*l*g3cXp_6)`

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..41b290305bc48e4fbb959ddbfcb7f1fe5c619247
GIT binary patch
literal 3280
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
biHC`WQGkhy5t5fVI61gD*g5z(<T&^MUa6Gz

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5244dfe3751936af0711280d283b007ae113d6e1
GIT binary patch
literal 6325
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
P<q+ji<KW>C;SdA>{*RC-

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py
new file mode 100644
index 0000000..93d17b5
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py
@@ -0,0 +1,44 @@
+"""
+This code wraps the vendored appdirs module to so the return values are
+compatible for the current pip code base.
+
+The intention is to rewrite current usages gradually, keeping the tests pass,
+and eventually drop this after all usages are changed.
+"""
+
+from __future__ import absolute_import
+
+import os
+
+from pip._vendor import appdirs as _appdirs
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List
+
+
+def user_cache_dir(appname):
+    # type: (str) -> str
+    return _appdirs.user_cache_dir(appname, appauthor=False)
+
+
+def user_config_dir(appname, roaming=True):
+    # type: (str, bool) -> str
+    return _appdirs.user_config_dir(appname, appauthor=False, roaming=roaming)
+
+
+def user_data_dir(appname, roaming=False):
+    # type: (str, bool) -> str
+    return _appdirs.user_data_dir(appname, appauthor=False, roaming=roaming)
+
+
+# for the discussion regarding site_config_dir locations
+# see <https://github.com/pypa/pip/issues/1733>
+def site_config_dirs(appname):
+    # type: (str) -> List[str]
+    dirval = _appdirs.site_config_dir(appname, appauthor=False, multipath=True)
+    if _appdirs.system not in ["win32", "darwin"]:
+        # always look in /etc directly as well
+        return dirval.split(os.pathsep) + ['/etc']
+    return [dirval]
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/compat.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/compat.py
new file mode 100644
index 0000000..6efa52a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/compat.py
@@ -0,0 +1,269 @@
+"""Stuff that differs in different Python versions and platform
+distributions."""
+
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import, division
+
+import codecs
+import locale
+import logging
+import os
+import shutil
+import sys
+
+from pip._vendor.six import PY2, text_type
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, Text, Tuple, Union
+
+try:
+    import ipaddress
+except ImportError:
+    try:
+        from pip._vendor import ipaddress  # type: ignore
+    except ImportError:
+        import ipaddr as ipaddress  # type: ignore
+        ipaddress.ip_address = ipaddress.IPAddress  # type: ignore
+        ipaddress.ip_network = ipaddress.IPNetwork  # type: ignore
+
+
+__all__ = [
+    "ipaddress", "uses_pycache", "console_to_str",
+    "get_path_uid", "stdlib_pkgs", "WINDOWS", "samefile", "get_terminal_size",
+]
+
+
+logger = logging.getLogger(__name__)
+
+if PY2:
+    import imp
+
+    try:
+        cache_from_source = imp.cache_from_source  # type: ignore
+    except AttributeError:
+        # does not use __pycache__
+        cache_from_source = None
+
+    uses_pycache = cache_from_source is not None
+else:
+    uses_pycache = True
+    from importlib.util import cache_from_source
+
+
+if PY2:
+    # In Python 2.7, backslashreplace exists
+    # but does not support use for decoding.
+    # We implement our own replace handler for this
+    # situation, so that we can consistently use
+    # backslash replacement for all versions.
+    def backslashreplace_decode_fn(err):
+        raw_bytes = (err.object[i] for i in range(err.start, err.end))
+        # Python 2 gave us characters - convert to numeric bytes
+        raw_bytes = (ord(b) for b in raw_bytes)
+        return u"".join(u"\\x%x" % c for c in raw_bytes), err.end
+    codecs.register_error(
+        "backslashreplace_decode",
+        backslashreplace_decode_fn,
+    )
+    backslashreplace_decode = "backslashreplace_decode"
+else:
+    backslashreplace_decode = "backslashreplace"
+
+
+def has_tls():
+    # type: () -> bool
+    try:
+        import _ssl  # noqa: F401  # ignore unused
+        return True
+    except ImportError:
+        pass
+
+    from pip._vendor.urllib3.util import IS_PYOPENSSL
+    return IS_PYOPENSSL
+
+
+def str_to_display(data, desc=None):
+    # type: (Union[bytes, Text], Optional[str]) -> Text
+    """
+    For display or logging purposes, convert a bytes object (or text) to
+    text (e.g. unicode in Python 2) safe for output.
+
+    :param desc: An optional phrase describing the input data, for use in
+        the log message if a warning is logged. Defaults to "Bytes object".
+
+    This function should never error out and so can take a best effort
+    approach. It is okay to be lossy if needed since the return value is
+    just for display.
+
+    We assume the data is in the locale preferred encoding. If it won't
+    decode properly, we warn the user but decode as best we can.
+
+    We also ensure that the output can be safely written to standard output
+    without encoding errors.
+    """
+    if isinstance(data, text_type):
+        return data
+
+    # Otherwise, data is a bytes object (str in Python 2).
+    # First, get the encoding we assume. This is the preferred
+    # encoding for the locale, unless that is not found, or
+    # it is ASCII, in which case assume UTF-8
+    encoding = locale.getpreferredencoding()
+    if (not encoding) or codecs.lookup(encoding).name == "ascii":
+        encoding = "utf-8"
+
+    # Now try to decode the data - if we fail, warn the user and
+    # decode with replacement.
+    try:
+        decoded_data = data.decode(encoding)
+    except UnicodeDecodeError:
+        if desc is None:
+            desc = 'Bytes object'
+        msg_format = '{} does not appear to be encoded as %s'.format(desc)
+        logger.warning(msg_format, encoding)
+        decoded_data = data.decode(encoding, errors=backslashreplace_decode)
+
+    # Make sure we can print the output, by encoding it to the output
+    # encoding with replacement of unencodable characters, and then
+    # decoding again.
+    # We use stderr's encoding because it's less likely to be
+    # redirected and if we don't find an encoding we skip this
+    # step (on the assumption that output is wrapped by something
+    # that won't fail).
+    # The double getattr is to deal with the possibility that we're
+    # being called in a situation where sys.__stderr__ doesn't exist,
+    # or doesn't have an encoding attribute. Neither of these cases
+    # should occur in normal pip use, but there's no harm in checking
+    # in case people use pip in (unsupported) unusual situations.
+    output_encoding = getattr(getattr(sys, "__stderr__", None),
+                              "encoding", None)
+
+    if output_encoding:
+        output_encoded = decoded_data.encode(
+            output_encoding,
+            errors="backslashreplace"
+        )
+        decoded_data = output_encoded.decode(output_encoding)
+
+    return decoded_data
+
+
+def console_to_str(data):
+    # type: (bytes) -> Text
+    """Return a string, safe for output, of subprocess output.
+    """
+    return str_to_display(data, desc='Subprocess output')
+
+
+def get_path_uid(path):
+    # type: (str) -> int
+    """
+    Return path's uid.
+
+    Does not follow symlinks:
+        https://github.com/pypa/pip/pull/935#discussion_r5307003
+
+    Placed this function in compat due to differences on AIX and
+    Jython, that should eventually go away.
+
+    :raises OSError: When path is a symlink or can't be read.
+    """
+    if hasattr(os, 'O_NOFOLLOW'):
+        fd = os.open(path, os.O_RDONLY | os.O_NOFOLLOW)
+        file_uid = os.fstat(fd).st_uid
+        os.close(fd)
+    else:  # AIX and Jython
+        # WARNING: time of check vulnerability, but best we can do w/o NOFOLLOW
+        if not os.path.islink(path):
+            # older versions of Jython don't have `os.fstat`
+            file_uid = os.stat(path).st_uid
+        else:
+            # raise OSError for parity with os.O_NOFOLLOW above
+            raise OSError(
+                "%s is a symlink; Will not return uid for symlinks" % path
+            )
+    return file_uid
+
+
+def expanduser(path):
+    # type: (str) -> str
+    """
+    Expand ~ and ~user constructions.
+
+    Includes a workaround for https://bugs.python.org/issue14768
+    """
+    expanded = os.path.expanduser(path)
+    if path.startswith('~/') and expanded.startswith('//'):
+        expanded = expanded[1:]
+    return expanded
+
+
+# packages in the stdlib that may have installation metadata, but should not be
+# considered 'installed'.  this theoretically could be determined based on
+# dist.location (py27:`sysconfig.get_paths()['stdlib']`,
+# py26:sysconfig.get_config_vars('LIBDEST')), but fear platform variation may
+# make this ineffective, so hard-coding
+stdlib_pkgs = {"python", "wsgiref", "argparse"}
+
+
+# windows detection, covers cpython and ironpython
+WINDOWS = (sys.platform.startswith("win") or
+           (sys.platform == 'cli' and os.name == 'nt'))
+
+
+def samefile(file1, file2):
+    # type: (str, str) -> bool
+    """Provide an alternative for os.path.samefile on Windows/Python2"""
+    if hasattr(os.path, 'samefile'):
+        return os.path.samefile(file1, file2)
+    else:
+        path1 = os.path.normcase(os.path.abspath(file1))
+        path2 = os.path.normcase(os.path.abspath(file2))
+        return path1 == path2
+
+
+if hasattr(shutil, 'get_terminal_size'):
+    def get_terminal_size():
+        # type: () -> Tuple[int, int]
+        """
+        Returns a tuple (x, y) representing the width(x) and the height(y)
+        in characters of the terminal window.
+        """
+        return tuple(shutil.get_terminal_size())  # type: ignore
+else:
+    def get_terminal_size():
+        # type: () -> Tuple[int, int]
+        """
+        Returns a tuple (x, y) representing the width(x) and the height(y)
+        in characters of the terminal window.
+        """
+        def ioctl_GWINSZ(fd):
+            try:
+                import fcntl
+                import termios
+                import struct
+                cr = struct.unpack_from(
+                    'hh',
+                    fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678')
+                )
+            except Exception:
+                return None
+            if cr == (0, 0):
+                return None
+            return cr
+        cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2)
+        if not cr:
+            if sys.platform != "win32":
+                try:
+                    fd = os.open(os.ctermid(), os.O_RDONLY)
+                    cr = ioctl_GWINSZ(fd)
+                    os.close(fd)
+                except Exception:
+                    pass
+        if not cr:
+            cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80))
+        return int(cr[1]), int(cr[0])
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py
new file mode 100644
index 0000000..2f20cfd
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py
@@ -0,0 +1,104 @@
+"""
+A module that implements tooling to enable easy warnings about deprecations.
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import warnings
+
+from pip._vendor.packaging.version import parse
+
+from pip import __version__ as current_version
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Any, Optional
+
+
+DEPRECATION_MSG_PREFIX = "DEPRECATION: "
+
+
+class PipDeprecationWarning(Warning):
+    pass
+
+
+_original_showwarning = None  # type: Any
+
+
+# Warnings <-> Logging Integration
+def _showwarning(message, category, filename, lineno, file=None, line=None):
+    if file is not None:
+        if _original_showwarning is not None:
+            _original_showwarning(
+                message, category, filename, lineno, file, line,
+            )
+    elif issubclass(category, PipDeprecationWarning):
+        # We use a specially named logger which will handle all of the
+        # deprecation messages for pip.
+        logger = logging.getLogger("pip._internal.deprecations")
+        logger.warning(message)
+    else:
+        _original_showwarning(
+            message, category, filename, lineno, file, line,
+        )
+
+
+def install_warning_logger():
+    # type: () -> None
+    # Enable our Deprecation Warnings
+    warnings.simplefilter("default", PipDeprecationWarning, append=True)
+
+    global _original_showwarning
+
+    if _original_showwarning is None:
+        _original_showwarning = warnings.showwarning
+        warnings.showwarning = _showwarning
+
+
+def deprecated(reason, replacement, gone_in, issue=None):
+    # type: (str, Optional[str], Optional[str], Optional[int]) -> None
+    """Helper to deprecate existing functionality.
+
+    reason:
+        Textual reason shown to the user about why this functionality has
+        been deprecated.
+    replacement:
+        Textual suggestion shown to the user about what alternative
+        functionality they can use.
+    gone_in:
+        The version of pip does this functionality should get removed in.
+        Raises errors if pip's current version is greater than or equal to
+        this.
+    issue:
+        Issue number on the tracker that would serve as a useful place for
+        users to find related discussion and provide feedback.
+
+    Always pass replacement, gone_in and issue as keyword arguments for clarity
+    at the call site.
+    """
+
+    # Construct a nice message.
+    #   This is eagerly formatted as we want it to get logged as if someone
+    #   typed this entire message out.
+    sentences = [
+        (reason, DEPRECATION_MSG_PREFIX + "{}"),
+        (gone_in, "pip {} will remove support for this functionality."),
+        (replacement, "A possible replacement is {}."),
+        (issue, (
+            "You can find discussion regarding this at "
+            "https://github.com/pypa/pip/issues/{}."
+        )),
+    ]
+    message = " ".join(
+        template.format(val) for val, template in sentences if val is not None
+    )
+
+    # Raise as an error if it has to be removed.
+    if gone_in is not None and parse(current_version) >= parse(gone_in):
+        raise PipDeprecationWarning(message)
+
+    warnings.warn(message, category=PipDeprecationWarning, stacklevel=2)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py
new file mode 100644
index 0000000..e38e402
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py
@@ -0,0 +1,48 @@
+from distutils.errors import DistutilsArgError
+from distutils.fancy_getopt import FancyGetopt
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Dict, List
+
+
+_options = [
+    ("exec-prefix=", None, ""),
+    ("home=", None, ""),
+    ("install-base=", None, ""),
+    ("install-data=", None, ""),
+    ("install-headers=", None, ""),
+    ("install-lib=", None, ""),
+    ("install-platlib=", None, ""),
+    ("install-purelib=", None, ""),
+    ("install-scripts=", None, ""),
+    ("prefix=", None, ""),
+    ("root=", None, ""),
+    ("user", None, ""),
+]
+
+
+# typeshed doesn't permit Tuple[str, None, str], see python/typeshed#3469.
+_distutils_getopt = FancyGetopt(_options)  # type: ignore
+
+
+def parse_distutils_args(args):
+    # type: (List[str]) -> Dict[str, str]
+    """Parse provided arguments, returning an object that has the
+    matched arguments.
+
+    Any unknown arguments are ignored.
+    """
+    result = {}
+    for arg in args:
+        try:
+            _, match = _distutils_getopt.getopt(args=[arg])
+        except DistutilsArgError:
+            # We don't care about any other options, which here may be
+            # considered unrecognized since our option list is not
+            # exhaustive.
+            pass
+        else:
+            result.update(match.__dict__)
+    return result
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/encoding.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/encoding.py
new file mode 100644
index 0000000..ab4d4b9
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/encoding.py
@@ -0,0 +1,42 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+import codecs
+import locale
+import re
+import sys
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Tuple, Text
+
+BOMS = [
+    (codecs.BOM_UTF8, 'utf-8'),
+    (codecs.BOM_UTF16, 'utf-16'),
+    (codecs.BOM_UTF16_BE, 'utf-16-be'),
+    (codecs.BOM_UTF16_LE, 'utf-16-le'),
+    (codecs.BOM_UTF32, 'utf-32'),
+    (codecs.BOM_UTF32_BE, 'utf-32-be'),
+    (codecs.BOM_UTF32_LE, 'utf-32-le'),
+]  # type: List[Tuple[bytes, Text]]
+
+ENCODING_RE = re.compile(br'coding[:=]\s*([-\w.]+)')
+
+
+def auto_decode(data):
+    # type: (bytes) -> Text
+    """Check a bytes string for a BOM to correctly detect the encoding
+
+    Fallback to locale.getpreferredencoding(False) like open() on Python3"""
+    for bom, encoding in BOMS:
+        if data.startswith(bom):
+            return data[len(bom):].decode(encoding)
+    # Lets check the first two lines as in PEP263
+    for line in data.split(b'\n')[:2]:
+        if line[0:1] == b'#' and ENCODING_RE.search(line):
+            encoding = ENCODING_RE.search(line).groups()[0].decode('ascii')
+            return data.decode(encoding)
+    return data.decode(
+        locale.getpreferredencoding(False) or sys.getdefaultencoding(),
+    )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py
new file mode 100644
index 0000000..befd01c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py
@@ -0,0 +1,31 @@
+import sys
+
+from pip._internal.cli.main import main
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, List
+
+
+def _wrapper(args=None):
+    # type: (Optional[List[str]]) -> int
+    """Central wrapper for all old entrypoints.
+
+    Historically pip has had several entrypoints defined. Because of issues
+    arising from PATH, sys.path, multiple Pythons, their interactions, and most
+    of them having a pip installed, users suffer every time an entrypoint gets
+    moved.
+
+    To alleviate this pain, and provide a mechanism for warning users and
+    directing them to an appropriate place for help, we now define all of
+    our old entrypoints as wrappers for the current one.
+    """
+    sys.stderr.write(
+        "WARNING: pip is being invoked by an old script wrapper. This will "
+        "fail in a future version of pip.\n"
+        "Please see https://github.com/pypa/pip/issues/5599 for advice on "
+        "fixing the underlying issue.\n"
+        "To avoid this problem you can invoke Python with '-m pip' instead of "
+        "running pip directly.\n"
+    )
+    return main(args)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py
new file mode 100644
index 0000000..6f1537e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py
@@ -0,0 +1,171 @@
+import errno
+import os
+import os.path
+import random
+import shutil
+import stat
+import sys
+from contextlib import contextmanager
+from tempfile import NamedTemporaryFile
+
+# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is
+#       why we ignore the type on this import.
+from pip._vendor.retrying import retry  # type: ignore
+from pip._vendor.six import PY2
+
+from pip._internal.utils.compat import get_path_uid
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast
+
+if MYPY_CHECK_RUNNING:
+    from typing import BinaryIO, Iterator
+
+    class NamedTemporaryFileResult(BinaryIO):
+        @property
+        def file(self):
+            # type: () -> BinaryIO
+            pass
+
+
+def check_path_owner(path):
+    # type: (str) -> bool
+    # If we don't have a way to check the effective uid of this process, then
+    # we'll just assume that we own the directory.
+    if sys.platform == "win32" or not hasattr(os, "geteuid"):
+        return True
+
+    assert os.path.isabs(path)
+
+    previous = None
+    while path != previous:
+        if os.path.lexists(path):
+            # Check if path is writable by current user.
+            if os.geteuid() == 0:
+                # Special handling for root user in order to handle properly
+                # cases where users use sudo without -H flag.
+                try:
+                    path_uid = get_path_uid(path)
+                except OSError:
+                    return False
+                return path_uid == 0
+            else:
+                return os.access(path, os.W_OK)
+        else:
+            previous, path = path, os.path.dirname(path)
+    return False  # assume we don't own the path
+
+
+def copy2_fixed(src, dest):
+    # type: (str, str) -> None
+    """Wrap shutil.copy2() but map errors copying socket files to
+    SpecialFileError as expected.
+
+    See also https://bugs.python.org/issue37700.
+    """
+    try:
+        shutil.copy2(src, dest)
+    except (OSError, IOError):
+        for f in [src, dest]:
+            try:
+                is_socket_file = is_socket(f)
+            except OSError:
+                # An error has already occurred. Another error here is not
+                # a problem and we can ignore it.
+                pass
+            else:
+                if is_socket_file:
+                    raise shutil.SpecialFileError("`%s` is a socket" % f)
+
+        raise
+
+
+def is_socket(path):
+    # type: (str) -> bool
+    return stat.S_ISSOCK(os.lstat(path).st_mode)
+
+
+@contextmanager
+def adjacent_tmp_file(path):
+    # type: (str) -> Iterator[NamedTemporaryFileResult]
+    """Given a path to a file, open a temp file next to it securely and ensure
+    it is written to disk after the context reaches its end.
+    """
+    with NamedTemporaryFile(
+        delete=False,
+        dir=os.path.dirname(path),
+        prefix=os.path.basename(path),
+        suffix='.tmp',
+    ) as f:
+        result = cast('NamedTemporaryFileResult', f)
+        try:
+            yield result
+        finally:
+            result.file.flush()
+            os.fsync(result.file.fileno())
+
+
+_replace_retry = retry(stop_max_delay=1000, wait_fixed=250)
+
+if PY2:
+    @_replace_retry
+    def replace(src, dest):
+        # type: (str, str) -> None
+        try:
+            os.rename(src, dest)
+        except OSError:
+            os.remove(dest)
+            os.rename(src, dest)
+
+else:
+    replace = _replace_retry(os.replace)
+
+
+# test_writable_dir and _test_writable_dir_win are copied from Flit,
+# with the author's agreement to also place them under pip's license.
+def test_writable_dir(path):
+    # type: (str) -> bool
+    """Check if a directory is writable.
+
+    Uses os.access() on POSIX, tries creating files on Windows.
+    """
+    # If the directory doesn't exist, find the closest parent that does.
+    while not os.path.isdir(path):
+        parent = os.path.dirname(path)
+        if parent == path:
+            break  # Should never get here, but infinite loops are bad
+        path = parent
+
+    if os.name == 'posix':
+        return os.access(path, os.W_OK)
+
+    return _test_writable_dir_win(path)
+
+
+def _test_writable_dir_win(path):
+    # type: (str) -> bool
+    # os.access doesn't work on Windows: http://bugs.python.org/issue2528
+    # and we can't use tempfile: http://bugs.python.org/issue22107
+    basename = 'accesstest_deleteme_fishfingers_custard_'
+    alphabet = 'abcdefghijklmnopqrstuvwxyz0123456789'
+    for i in range(10):
+        name = basename + ''.join(random.choice(alphabet) for _ in range(6))
+        file = os.path.join(path, name)
+        try:
+            fd = os.open(file, os.O_RDWR | os.O_CREAT | os.O_EXCL)
+        except OSError as e:
+            if e.errno == errno.EEXIST:
+                continue
+            if e.errno == errno.EPERM:
+                # This could be because there's a directory with the same name.
+                # But it's highly unlikely there's a directory called that,
+                # so we'll assume it's because the parent dir is not writable.
+                return False
+            raise
+        else:
+            os.close(fd)
+            os.unlink(file)
+            return True
+
+    # This should never be reached
+    raise EnvironmentError(
+        'Unexpected condition testing for writable directory'
+    )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py
new file mode 100644
index 0000000..daa0ca7
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py
@@ -0,0 +1,16 @@
+"""Filetype information.
+"""
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Tuple
+
+WHEEL_EXTENSION = '.whl'
+BZ2_EXTENSIONS = ('.tar.bz2', '.tbz')  # type: Tuple[str, ...]
+XZ_EXTENSIONS = ('.tar.xz', '.txz', '.tlz',
+                 '.tar.lz', '.tar.lzma')  # type: Tuple[str, ...]
+ZIP_EXTENSIONS = ('.zip', WHEEL_EXTENSION)  # type: Tuple[str, ...]
+TAR_EXTENSIONS = ('.tar.gz', '.tgz', '.tar')  # type: Tuple[str, ...]
+ARCHIVE_EXTENSIONS = (
+    ZIP_EXTENSIONS + BZ2_EXTENSIONS + TAR_EXTENSIONS + XZ_EXTENSIONS
+)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/glibc.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/glibc.py
new file mode 100644
index 0000000..3610424
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/glibc.py
@@ -0,0 +1,98 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import os
+import sys
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, Tuple
+
+
+def glibc_version_string():
+    # type: () -> Optional[str]
+    "Returns glibc version string, or None if not using glibc."
+    return glibc_version_string_confstr() or glibc_version_string_ctypes()
+
+
+def glibc_version_string_confstr():
+    # type: () -> Optional[str]
+    "Primary implementation of glibc_version_string using os.confstr."
+    # os.confstr is quite a bit faster than ctypes.DLL. It's also less likely
+    # to be broken or missing. This strategy is used in the standard library
+    # platform module:
+    # https://github.com/python/cpython/blob/fcf1d003bf4f0100c9d0921ff3d70e1127ca1b71/Lib/platform.py#L175-L183
+    if sys.platform == "win32":
+        return None
+    try:
+        # os.confstr("CS_GNU_LIBC_VERSION") returns a string like "glibc 2.17":
+        _, version = os.confstr("CS_GNU_LIBC_VERSION").split()
+    except (AttributeError, OSError, ValueError):
+        # os.confstr() or CS_GNU_LIBC_VERSION not available (or a bad value)...
+        return None
+    return version
+
+
+def glibc_version_string_ctypes():
+    # type: () -> Optional[str]
+    "Fallback implementation of glibc_version_string using ctypes."
+
+    try:
+        import ctypes
+    except ImportError:
+        return None
+
+    # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen
+    # manpage says, "If filename is NULL, then the returned handle is for the
+    # main program". This way we can let the linker do the work to figure out
+    # which libc our process is actually using.
+    process_namespace = ctypes.CDLL(None)
+    try:
+        gnu_get_libc_version = process_namespace.gnu_get_libc_version
+    except AttributeError:
+        # Symbol doesn't exist -> therefore, we are not linked to
+        # glibc.
+        return None
+
+    # Call gnu_get_libc_version, which returns a string like "2.5"
+    gnu_get_libc_version.restype = ctypes.c_char_p
+    version_str = gnu_get_libc_version()
+    # py2 / py3 compatibility:
+    if not isinstance(version_str, str):
+        version_str = version_str.decode("ascii")
+
+    return version_str
+
+
+# platform.libc_ver regularly returns completely nonsensical glibc
+# versions. E.g. on my computer, platform says:
+#
+#   ~$ python2.7 -c 'import platform; print(platform.libc_ver())'
+#   ('glibc', '2.7')
+#   ~$ python3.5 -c 'import platform; print(platform.libc_ver())'
+#   ('glibc', '2.9')
+#
+# But the truth is:
+#
+#   ~$ ldd --version
+#   ldd (Debian GLIBC 2.22-11) 2.22
+#
+# This is unfortunate, because it means that the linehaul data on libc
+# versions that was generated by pip 8.1.2 and earlier is useless and
+# misleading. Solution: instead of using platform, use our code that actually
+# works.
+def libc_ver():
+    # type: () -> Tuple[str, str]
+    """Try to determine the glibc version
+
+    Returns a tuple of strings (lib, version) which default to empty strings
+    in case the lookup fails.
+    """
+    glibc_version = glibc_version_string()
+    if glibc_version is None:
+        return ("", "")
+    else:
+        return ("glibc", glibc_version)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/hashes.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/hashes.py
new file mode 100644
index 0000000..4c41551
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/hashes.py
@@ -0,0 +1,131 @@
+from __future__ import absolute_import
+
+import hashlib
+
+from pip._vendor.six import iteritems, iterkeys, itervalues
+
+from pip._internal.exceptions import (
+    HashMismatch,
+    HashMissing,
+    InstallationError,
+)
+from pip._internal.utils.misc import read_chunks
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Dict, List, BinaryIO, NoReturn, Iterator
+    )
+    from pip._vendor.six import PY3
+    if PY3:
+        from hashlib import _Hash
+    else:
+        from hashlib import _hash as _Hash
+
+
+# The recommended hash algo of the moment. Change this whenever the state of
+# the art changes; it won't hurt backward compatibility.
+FAVORITE_HASH = 'sha256'
+
+
+# Names of hashlib algorithms allowed by the --hash option and ``pip hash``
+# Currently, those are the ones at least as collision-resistant as sha256.
+STRONG_HASHES = ['sha256', 'sha384', 'sha512']
+
+
+class Hashes(object):
+    """A wrapper that builds multiple hashes at once and checks them against
+    known-good values
+
+    """
+    def __init__(self, hashes=None):
+        # type: (Dict[str, List[str]]) -> None
+        """
+        :param hashes: A dict of algorithm names pointing to lists of allowed
+            hex digests
+        """
+        self._allowed = {} if hashes is None else hashes
+
+    @property
+    def digest_count(self):
+        # type: () -> int
+        return sum(len(digests) for digests in self._allowed.values())
+
+    def is_hash_allowed(
+        self,
+        hash_name,   # type: str
+        hex_digest,  # type: str
+    ):
+        # type: (...) -> bool
+        """Return whether the given hex digest is allowed."""
+        return hex_digest in self._allowed.get(hash_name, [])
+
+    def check_against_chunks(self, chunks):
+        # type: (Iterator[bytes]) -> None
+        """Check good hashes against ones built from iterable of chunks of
+        data.
+
+        Raise HashMismatch if none match.
+
+        """
+        gots = {}
+        for hash_name in iterkeys(self._allowed):
+            try:
+                gots[hash_name] = hashlib.new(hash_name)
+            except (ValueError, TypeError):
+                raise InstallationError('Unknown hash name: %s' % hash_name)
+
+        for chunk in chunks:
+            for hash in itervalues(gots):
+                hash.update(chunk)
+
+        for hash_name, got in iteritems(gots):
+            if got.hexdigest() in self._allowed[hash_name]:
+                return
+        self._raise(gots)
+
+    def _raise(self, gots):
+        # type: (Dict[str, _Hash]) -> NoReturn
+        raise HashMismatch(self._allowed, gots)
+
+    def check_against_file(self, file):
+        # type: (BinaryIO) -> None
+        """Check good hashes against a file-like object
+
+        Raise HashMismatch if none match.
+
+        """
+        return self.check_against_chunks(read_chunks(file))
+
+    def check_against_path(self, path):
+        # type: (str) -> None
+        with open(path, 'rb') as file:
+            return self.check_against_file(file)
+
+    def __nonzero__(self):
+        # type: () -> bool
+        """Return whether I know any known-good hashes."""
+        return bool(self._allowed)
+
+    def __bool__(self):
+        # type: () -> bool
+        return self.__nonzero__()
+
+
+class MissingHashes(Hashes):
+    """A workalike for Hashes used when we're missing a hash for a requirement
+
+    It computes the actual hash of the requirement and raises a HashMissing
+    exception showing it to the user.
+
+    """
+    def __init__(self):
+        # type: () -> None
+        """Don't offer the ``hashes`` kwarg."""
+        # Pass our favorite hash in to generate a "gotten hash". With the
+        # empty list, it will never match, so an error will always raise.
+        super(MissingHashes, self).__init__(hashes={FAVORITE_HASH: []})
+
+    def _raise(self, gots):
+        # type: (Dict[str, _Hash]) -> NoReturn
+        raise HashMissing(gots[FAVORITE_HASH].hexdigest())
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py
new file mode 100644
index 0000000..5b93b1d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py
@@ -0,0 +1,36 @@
+"""A helper module that injects SecureTransport, on import.
+
+The import should be done as early as possible, to ensure all requests and
+sessions (or whatever) are created after injecting SecureTransport.
+
+Note that we only do the injection on macOS, when the linked OpenSSL is too
+old to handle TLSv1.2.
+"""
+
+import sys
+
+
+def inject_securetransport():
+    # type: () -> None
+    # Only relevant on macOS
+    if sys.platform != "darwin":
+        return
+
+    try:
+        import ssl
+    except ImportError:
+        return
+
+    # Checks for OpenSSL 1.0.1
+    if ssl.OPENSSL_VERSION_NUMBER >= 0x1000100f:
+        return
+
+    try:
+        from pip._vendor.urllib3.contrib import securetransport
+    except (ImportError, OSError):
+        return
+
+    securetransport.inject_into_urllib3()
+
+
+inject_securetransport()
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/logging.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/logging.py
new file mode 100644
index 0000000..7767111
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/logging.py
@@ -0,0 +1,398 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import contextlib
+import errno
+import logging
+import logging.handlers
+import os
+import sys
+from logging import Filter, getLogger
+
+from pip._vendor.six import PY2
+
+from pip._internal.utils.compat import WINDOWS
+from pip._internal.utils.deprecation import DEPRECATION_MSG_PREFIX
+from pip._internal.utils.misc import ensure_dir
+
+try:
+    import threading
+except ImportError:
+    import dummy_threading as threading  # type: ignore
+
+
+try:
+    # Use "import as" and set colorama in the else clause to avoid mypy
+    # errors and get the following correct revealed type for colorama:
+    # `Union[_importlib_modulespec.ModuleType, None]`
+    # Otherwise, we get an error like the following in the except block:
+    #  > Incompatible types in assignment (expression has type "None",
+    #   variable has type Module)
+    # TODO: eliminate the need to use "import as" once mypy addresses some
+    #  of its issues with conditional imports. Here is an umbrella issue:
+    #  https://github.com/python/mypy/issues/1297
+    from pip._vendor import colorama as _colorama
+# Lots of different errors can come from this, including SystemError and
+# ImportError.
+except Exception:
+    colorama = None
+else:
+    # Import Fore explicitly rather than accessing below as colorama.Fore
+    # to avoid the following error running mypy:
+    # > Module has no attribute "Fore"
+    # TODO: eliminate the need to import Fore once mypy addresses some of its
+    #  issues with conditional imports. This particular case could be an
+    #  instance of the following issue (but also see the umbrella issue above):
+    #  https://github.com/python/mypy/issues/3500
+    from pip._vendor.colorama import Fore
+
+    colorama = _colorama
+
+
+_log_state = threading.local()
+_log_state.indentation = 0
+subprocess_logger = getLogger('pip.subprocessor')
+
+
+class BrokenStdoutLoggingError(Exception):
+    """
+    Raised if BrokenPipeError occurs for the stdout stream while logging.
+    """
+    pass
+
+
+# BrokenPipeError does not exist in Python 2 and, in addition, manifests
+# differently in Windows and non-Windows.
+if WINDOWS:
+    # In Windows, a broken pipe can show up as EINVAL rather than EPIPE:
+    # https://bugs.python.org/issue19612
+    # https://bugs.python.org/issue30418
+    if PY2:
+        def _is_broken_pipe_error(exc_class, exc):
+            """See the docstring for non-Windows Python 3 below."""
+            return (exc_class is IOError and
+                    exc.errno in (errno.EINVAL, errno.EPIPE))
+    else:
+        # In Windows, a broken pipe IOError became OSError in Python 3.
+        def _is_broken_pipe_error(exc_class, exc):
+            """See the docstring for non-Windows Python 3 below."""
+            return ((exc_class is BrokenPipeError) or  # noqa: F821
+                    (exc_class is OSError and
+                     exc.errno in (errno.EINVAL, errno.EPIPE)))
+elif PY2:
+    def _is_broken_pipe_error(exc_class, exc):
+        """See the docstring for non-Windows Python 3 below."""
+        return (exc_class is IOError and exc.errno == errno.EPIPE)
+else:
+    # Then we are in the non-Windows Python 3 case.
+    def _is_broken_pipe_error(exc_class, exc):
+        """
+        Return whether an exception is a broken pipe error.
+
+        Args:
+          exc_class: an exception class.
+          exc: an exception instance.
+        """
+        return (exc_class is BrokenPipeError)  # noqa: F821
+
+
+@contextlib.contextmanager
+def indent_log(num=2):
+    """
+    A context manager which will cause the log output to be indented for any
+    log messages emitted inside it.
+    """
+    _log_state.indentation += num
+    try:
+        yield
+    finally:
+        _log_state.indentation -= num
+
+
+def get_indentation():
+    return getattr(_log_state, 'indentation', 0)
+
+
+class IndentingFormatter(logging.Formatter):
+
+    def __init__(self, *args, **kwargs):
+        """
+        A logging.Formatter that obeys the indent_log() context manager.
+
+        :param add_timestamp: A bool indicating output lines should be prefixed
+            with their record's timestamp.
+        """
+        self.add_timestamp = kwargs.pop("add_timestamp", False)
+        super(IndentingFormatter, self).__init__(*args, **kwargs)
+
+    def get_message_start(self, formatted, levelno):
+        """
+        Return the start of the formatted log message (not counting the
+        prefix to add to each line).
+        """
+        if levelno < logging.WARNING:
+            return ''
+        if formatted.startswith(DEPRECATION_MSG_PREFIX):
+            # Then the message already has a prefix.  We don't want it to
+            # look like "WARNING: DEPRECATION: ...."
+            return ''
+        if levelno < logging.ERROR:
+            return 'WARNING: '
+
+        return 'ERROR: '
+
+    def format(self, record):
+        """
+        Calls the standard formatter, but will indent all of the log message
+        lines by our current indentation level.
+        """
+        formatted = super(IndentingFormatter, self).format(record)
+        message_start = self.get_message_start(formatted, record.levelno)
+        formatted = message_start + formatted
+
+        prefix = ''
+        if self.add_timestamp:
+            # TODO: Use Formatter.default_time_format after dropping PY2.
+            t = self.formatTime(record, "%Y-%m-%dT%H:%M:%S")
+            prefix = '%s,%03d ' % (t, record.msecs)
+        prefix += " " * get_indentation()
+        formatted = "".join([
+            prefix + line
+            for line in formatted.splitlines(True)
+        ])
+        return formatted
+
+
+def _color_wrap(*colors):
+    def wrapped(inp):
+        return "".join(list(colors) + [inp, colorama.Style.RESET_ALL])
+    return wrapped
+
+
+class ColorizedStreamHandler(logging.StreamHandler):
+
+    # Don't build up a list of colors if we don't have colorama
+    if colorama:
+        COLORS = [
+            # This needs to be in order from highest logging level to lowest.
+            (logging.ERROR, _color_wrap(Fore.RED)),
+            (logging.WARNING, _color_wrap(Fore.YELLOW)),
+        ]
+    else:
+        COLORS = []
+
+    def __init__(self, stream=None, no_color=None):
+        logging.StreamHandler.__init__(self, stream)
+        self._no_color = no_color
+
+        if WINDOWS and colorama:
+            self.stream = colorama.AnsiToWin32(self.stream)
+
+    def _using_stdout(self):
+        """
+        Return whether the handler is using sys.stdout.
+        """
+        if WINDOWS and colorama:
+            # Then self.stream is an AnsiToWin32 object.
+            return self.stream.wrapped is sys.stdout
+
+        return self.stream is sys.stdout
+
+    def should_color(self):
+        # Don't colorize things if we do not have colorama or if told not to
+        if not colorama or self._no_color:
+            return False
+
+        real_stream = (
+            self.stream if not isinstance(self.stream, colorama.AnsiToWin32)
+            else self.stream.wrapped
+        )
+
+        # If the stream is a tty we should color it
+        if hasattr(real_stream, "isatty") and real_stream.isatty():
+            return True
+
+        # If we have an ANSI term we should color it
+        if os.environ.get("TERM") == "ANSI":
+            return True
+
+        # If anything else we should not color it
+        return False
+
+    def format(self, record):
+        msg = logging.StreamHandler.format(self, record)
+
+        if self.should_color():
+            for level, color in self.COLORS:
+                if record.levelno >= level:
+                    msg = color(msg)
+                    break
+
+        return msg
+
+    # The logging module says handleError() can be customized.
+    def handleError(self, record):
+        exc_class, exc = sys.exc_info()[:2]
+        # If a broken pipe occurred while calling write() or flush() on the
+        # stdout stream in logging's Handler.emit(), then raise our special
+        # exception so we can handle it in main() instead of logging the
+        # broken pipe error and continuing.
+        if (exc_class and self._using_stdout() and
+                _is_broken_pipe_error(exc_class, exc)):
+            raise BrokenStdoutLoggingError()
+
+        return super(ColorizedStreamHandler, self).handleError(record)
+
+
+class BetterRotatingFileHandler(logging.handlers.RotatingFileHandler):
+
+    def _open(self):
+        ensure_dir(os.path.dirname(self.baseFilename))
+        return logging.handlers.RotatingFileHandler._open(self)
+
+
+class MaxLevelFilter(Filter):
+
+    def __init__(self, level):
+        self.level = level
+
+    def filter(self, record):
+        return record.levelno < self.level
+
+
+class ExcludeLoggerFilter(Filter):
+
+    """
+    A logging Filter that excludes records from a logger (or its children).
+    """
+
+    def filter(self, record):
+        # The base Filter class allows only records from a logger (or its
+        # children).
+        return not super(ExcludeLoggerFilter, self).filter(record)
+
+
+def setup_logging(verbosity, no_color, user_log_file):
+    """Configures and sets up all of the logging
+
+    Returns the requested logging level, as its integer value.
+    """
+
+    # Determine the level to be logging at.
+    if verbosity >= 1:
+        level = "DEBUG"
+    elif verbosity == -1:
+        level = "WARNING"
+    elif verbosity == -2:
+        level = "ERROR"
+    elif verbosity <= -3:
+        level = "CRITICAL"
+    else:
+        level = "INFO"
+
+    level_number = getattr(logging, level)
+
+    # The "root" logger should match the "console" level *unless* we also need
+    # to log to a user log file.
+    include_user_log = user_log_file is not None
+    if include_user_log:
+        additional_log_file = user_log_file
+        root_level = "DEBUG"
+    else:
+        additional_log_file = "/dev/null"
+        root_level = level
+
+    # Disable any logging besides WARNING unless we have DEBUG level logging
+    # enabled for vendored libraries.
+    vendored_log_level = "WARNING" if level in ["INFO", "ERROR"] else "DEBUG"
+
+    # Shorthands for clarity
+    log_streams = {
+        "stdout": "ext://sys.stdout",
+        "stderr": "ext://sys.stderr",
+    }
+    handler_classes = {
+        "stream": "pip._internal.utils.logging.ColorizedStreamHandler",
+        "file": "pip._internal.utils.logging.BetterRotatingFileHandler",
+    }
+    handlers = ["console", "console_errors", "console_subprocess"] + (
+        ["user_log"] if include_user_log else []
+    )
+
+    logging.config.dictConfig({
+        "version": 1,
+        "disable_existing_loggers": False,
+        "filters": {
+            "exclude_warnings": {
+                "()": "pip._internal.utils.logging.MaxLevelFilter",
+                "level": logging.WARNING,
+            },
+            "restrict_to_subprocess": {
+                "()": "logging.Filter",
+                "name": subprocess_logger.name,
+            },
+            "exclude_subprocess": {
+                "()": "pip._internal.utils.logging.ExcludeLoggerFilter",
+                "name": subprocess_logger.name,
+            },
+        },
+        "formatters": {
+            "indent": {
+                "()": IndentingFormatter,
+                "format": "%(message)s",
+            },
+            "indent_with_timestamp": {
+                "()": IndentingFormatter,
+                "format": "%(message)s",
+                "add_timestamp": True,
+            },
+        },
+        "handlers": {
+            "console": {
+                "level": level,
+                "class": handler_classes["stream"],
+                "no_color": no_color,
+                "stream": log_streams["stdout"],
+                "filters": ["exclude_subprocess", "exclude_warnings"],
+                "formatter": "indent",
+            },
+            "console_errors": {
+                "level": "WARNING",
+                "class": handler_classes["stream"],
+                "no_color": no_color,
+                "stream": log_streams["stderr"],
+                "filters": ["exclude_subprocess"],
+                "formatter": "indent",
+            },
+            # A handler responsible for logging to the console messages
+            # from the "subprocessor" logger.
+            "console_subprocess": {
+                "level": level,
+                "class": handler_classes["stream"],
+                "no_color": no_color,
+                "stream": log_streams["stderr"],
+                "filters": ["restrict_to_subprocess"],
+                "formatter": "indent",
+            },
+            "user_log": {
+                "level": "DEBUG",
+                "class": handler_classes["file"],
+                "filename": additional_log_file,
+                "delay": True,
+                "formatter": "indent_with_timestamp",
+            },
+        },
+        "root": {
+            "level": root_level,
+            "handlers": handlers,
+        },
+        "loggers": {
+            "pip._vendor": {
+                "level": vendored_log_level
+            }
+        },
+    })
+
+    return level_number
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/marker_files.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/marker_files.py
new file mode 100644
index 0000000..42ea814
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/marker_files.py
@@ -0,0 +1,25 @@
+import os.path
+
+DELETE_MARKER_MESSAGE = '''\
+This file is placed here by pip to indicate the source was put
+here by pip.
+
+Once this package is successfully installed this source code will be
+deleted (unless you remove this file).
+'''
+PIP_DELETE_MARKER_FILENAME = 'pip-delete-this-directory.txt'
+
+
+def has_delete_marker_file(directory):
+    # type: (str) -> bool
+    return os.path.exists(os.path.join(directory, PIP_DELETE_MARKER_FILENAME))
+
+
+def write_delete_marker_file(directory):
+    # type: (str) -> None
+    """
+    Write the pip delete marker file into this directory.
+    """
+    filepath = os.path.join(directory, PIP_DELETE_MARKER_FILENAME)
+    with open(filepath, 'w') as marker_fp:
+        marker_fp.write(DELETE_MARKER_MESSAGE)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/misc.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/misc.py
new file mode 100644
index 0000000..554af0b
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/misc.py
@@ -0,0 +1,904 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import contextlib
+import errno
+import getpass
+import hashlib
+import io
+import logging
+import os
+import posixpath
+import shutil
+import stat
+import sys
+from collections import deque
+
+from pip._vendor import pkg_resources
+# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is
+#       why we ignore the type on this import.
+from pip._vendor.retrying import retry  # type: ignore
+from pip._vendor.six import PY2, text_type
+from pip._vendor.six.moves import input
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+from pip._vendor.six.moves.urllib.parse import unquote as urllib_unquote
+
+from pip import __version__
+from pip._internal.exceptions import CommandError
+from pip._internal.locations import (
+    get_major_minor_version,
+    site_packages,
+    user_site,
+)
+from pip._internal.utils.compat import (
+    WINDOWS,
+    expanduser,
+    stdlib_pkgs,
+    str_to_display,
+)
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast
+from pip._internal.utils.virtualenv import (
+    running_under_virtualenv,
+    virtualenv_no_global,
+)
+
+if PY2:
+    from io import BytesIO as StringIO
+else:
+    from io import StringIO
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Any, AnyStr, Container, Iterable, List, Optional, Text,
+        Tuple, Union,
+    )
+    from pip._vendor.pkg_resources import Distribution
+
+    VersionInfo = Tuple[int, int, int]
+
+
+__all__ = ['rmtree', 'display_path', 'backup_dir',
+           'ask', 'splitext',
+           'format_size', 'is_installable_dir',
+           'normalize_path',
+           'renames', 'get_prog',
+           'captured_stdout', 'ensure_dir',
+           'get_installed_version', 'remove_auth_from_url']
+
+
+logger = logging.getLogger(__name__)
+
+
+def get_pip_version():
+    # type: () -> str
+    pip_pkg_dir = os.path.join(os.path.dirname(__file__), "..", "..")
+    pip_pkg_dir = os.path.abspath(pip_pkg_dir)
+
+    return (
+        'pip {} from {} (python {})'.format(
+            __version__, pip_pkg_dir, get_major_minor_version(),
+        )
+    )
+
+
+def normalize_version_info(py_version_info):
+    # type: (Tuple[int, ...]) -> Tuple[int, int, int]
+    """
+    Convert a tuple of ints representing a Python version to one of length
+    three.
+
+    :param py_version_info: a tuple of ints representing a Python version,
+        or None to specify no version. The tuple can have any length.
+
+    :return: a tuple of length three if `py_version_info` is non-None.
+        Otherwise, return `py_version_info` unchanged (i.e. None).
+    """
+    if len(py_version_info) < 3:
+        py_version_info += (3 - len(py_version_info)) * (0,)
+    elif len(py_version_info) > 3:
+        py_version_info = py_version_info[:3]
+
+    return cast('VersionInfo', py_version_info)
+
+
+def ensure_dir(path):
+    # type: (AnyStr) -> None
+    """os.path.makedirs without EEXIST."""
+    try:
+        os.makedirs(path)
+    except OSError as e:
+        # Windows can raise spurious ENOTEMPTY errors. See #6426.
+        if e.errno != errno.EEXIST and e.errno != errno.ENOTEMPTY:
+            raise
+
+
+def get_prog():
+    # type: () -> str
+    try:
+        prog = os.path.basename(sys.argv[0])
+        if prog in ('__main__.py', '-c'):
+            return "%s -m pip" % sys.executable
+        else:
+            return prog
+    except (AttributeError, TypeError, IndexError):
+        pass
+    return 'pip'
+
+
+# Retry every half second for up to 3 seconds
+@retry(stop_max_delay=3000, wait_fixed=500)
+def rmtree(dir, ignore_errors=False):
+    # type: (str, bool) -> None
+    shutil.rmtree(dir, ignore_errors=ignore_errors,
+                  onerror=rmtree_errorhandler)
+
+
+def rmtree_errorhandler(func, path, exc_info):
+    """On Windows, the files in .svn are read-only, so when rmtree() tries to
+    remove them, an exception is thrown.  We catch that here, remove the
+    read-only attribute, and hopefully continue without problems."""
+    try:
+        has_attr_readonly = not (os.stat(path).st_mode & stat.S_IWRITE)
+    except (IOError, OSError):
+        # it's equivalent to os.path.exists
+        return
+
+    if has_attr_readonly:
+        # convert to read/write
+        os.chmod(path, stat.S_IWRITE)
+        # use the original function to repeat the operation
+        func(path)
+        return
+    else:
+        raise
+
+
+def path_to_display(path):
+    # type: (Optional[Union[str, Text]]) -> Optional[Text]
+    """
+    Convert a bytes (or text) path to text (unicode in Python 2) for display
+    and logging purposes.
+
+    This function should never error out. Also, this function is mainly needed
+    for Python 2 since in Python 3 str paths are already text.
+    """
+    if path is None:
+        return None
+    if isinstance(path, text_type):
+        return path
+    # Otherwise, path is a bytes object (str in Python 2).
+    try:
+        display_path = path.decode(sys.getfilesystemencoding(), 'strict')
+    except UnicodeDecodeError:
+        # Include the full bytes to make troubleshooting easier, even though
+        # it may not be very human readable.
+        if PY2:
+            # Convert the bytes to a readable str representation using
+            # repr(), and then convert the str to unicode.
+            #   Also, we add the prefix "b" to the repr() return value both
+            # to make the Python 2 output look like the Python 3 output, and
+            # to signal to the user that this is a bytes representation.
+            display_path = str_to_display('b{!r}'.format(path))
+        else:
+            # Silence the "F821 undefined name 'ascii'" flake8 error since
+            # in Python 3 ascii() is a built-in.
+            display_path = ascii(path)  # noqa: F821
+
+    return display_path
+
+
+def display_path(path):
+    # type: (Union[str, Text]) -> str
+    """Gives the display value for a given path, making it relative to cwd
+    if possible."""
+    path = os.path.normcase(os.path.abspath(path))
+    if sys.version_info[0] == 2:
+        path = path.decode(sys.getfilesystemencoding(), 'replace')
+        path = path.encode(sys.getdefaultencoding(), 'replace')
+    if path.startswith(os.getcwd() + os.path.sep):
+        path = '.' + path[len(os.getcwd()):]
+    return path
+
+
+def backup_dir(dir, ext='.bak'):
+    # type: (str, str) -> str
+    """Figure out the name of a directory to back up the given dir to
+    (adding .bak, .bak2, etc)"""
+    n = 1
+    extension = ext
+    while os.path.exists(dir + extension):
+        n += 1
+        extension = ext + str(n)
+    return dir + extension
+
+
+def ask_path_exists(message, options):
+    # type: (str, Iterable[str]) -> str
+    for action in os.environ.get('PIP_EXISTS_ACTION', '').split():
+        if action in options:
+            return action
+    return ask(message, options)
+
+
+def _check_no_input(message):
+    # type: (str) -> None
+    """Raise an error if no input is allowed."""
+    if os.environ.get('PIP_NO_INPUT'):
+        raise Exception(
+            'No input was expected ($PIP_NO_INPUT set); question: %s' %
+            message
+        )
+
+
+def ask(message, options):
+    # type: (str, Iterable[str]) -> str
+    """Ask the message interactively, with the given possible responses"""
+    while 1:
+        _check_no_input(message)
+        response = input(message)
+        response = response.strip().lower()
+        if response not in options:
+            print(
+                'Your response (%r) was not one of the expected responses: '
+                '%s' % (response, ', '.join(options))
+            )
+        else:
+            return response
+
+
+def ask_input(message):
+    # type: (str) -> str
+    """Ask for input interactively."""
+    _check_no_input(message)
+    return input(message)
+
+
+def ask_password(message):
+    # type: (str) -> str
+    """Ask for a password interactively."""
+    _check_no_input(message)
+    return getpass.getpass(message)
+
+
+def format_size(bytes):
+    # type: (float) -> str
+    if bytes > 1000 * 1000:
+        return '%.1f MB' % (bytes / 1000.0 / 1000)
+    elif bytes > 10 * 1000:
+        return '%i kB' % (bytes / 1000)
+    elif bytes > 1000:
+        return '%.1f kB' % (bytes / 1000.0)
+    else:
+        return '%i bytes' % bytes
+
+
+def is_installable_dir(path):
+    # type: (str) -> bool
+    """Is path is a directory containing setup.py or pyproject.toml?
+    """
+    if not os.path.isdir(path):
+        return False
+    setup_py = os.path.join(path, 'setup.py')
+    if os.path.isfile(setup_py):
+        return True
+    pyproject_toml = os.path.join(path, 'pyproject.toml')
+    if os.path.isfile(pyproject_toml):
+        return True
+    return False
+
+
+def read_chunks(file, size=io.DEFAULT_BUFFER_SIZE):
+    """Yield pieces of data from a file-like object until EOF."""
+    while True:
+        chunk = file.read(size)
+        if not chunk:
+            break
+        yield chunk
+
+
+def normalize_path(path, resolve_symlinks=True):
+    # type: (str, bool) -> str
+    """
+    Convert a path to its canonical, case-normalized, absolute version.
+
+    """
+    path = expanduser(path)
+    if resolve_symlinks:
+        path = os.path.realpath(path)
+    else:
+        path = os.path.abspath(path)
+    return os.path.normcase(path)
+
+
+def splitext(path):
+    # type: (str) -> Tuple[str, str]
+    """Like os.path.splitext, but take off .tar too"""
+    base, ext = posixpath.splitext(path)
+    if base.lower().endswith('.tar'):
+        ext = base[-4:] + ext
+        base = base[:-4]
+    return base, ext
+
+
+def renames(old, new):
+    # type: (str, str) -> None
+    """Like os.renames(), but handles renaming across devices."""
+    # Implementation borrowed from os.renames().
+    head, tail = os.path.split(new)
+    if head and tail and not os.path.exists(head):
+        os.makedirs(head)
+
+    shutil.move(old, new)
+
+    head, tail = os.path.split(old)
+    if head and tail:
+        try:
+            os.removedirs(head)
+        except OSError:
+            pass
+
+
+def is_local(path):
+    # type: (str) -> bool
+    """
+    Return True if this is a path pip is allowed to modify.
+
+    If we're in a virtualenv, sys.prefix points to the virtualenv's
+    prefix; only sys.prefix is considered local.
+
+    If we're not in a virtualenv, in general we can modify anything.
+    However, if the OS vendor has configured distutils to install
+    somewhere other than sys.prefix (which could be a subdirectory of
+    sys.prefix, e.g. /usr/local), we consider sys.prefix itself nonlocal
+    and the domain of the OS vendor. (In other words, everything _other
+    than_ sys.prefix is considered local.)
+
+    Caution: this function assumes the head of path has been normalized
+    with normalize_path.
+    """
+
+    path = normalize_path(path)
+    prefix = normalize_path(sys.prefix)
+
+    if running_under_virtualenv():
+        return path.startswith(normalize_path(sys.prefix))
+    else:
+        from pip._internal.locations import distutils_scheme
+        if path.startswith(prefix):
+            for local_path in distutils_scheme("").values():
+                if path.startswith(normalize_path(local_path)):
+                    return True
+            return False
+        else:
+            return True
+
+
+def dist_is_local(dist):
+    # type: (Distribution) -> bool
+    """
+    Return True if given Distribution object is installed somewhere pip
+    is allowed to modify.
+
+    """
+    return is_local(dist_location(dist))
+
+
+def dist_in_usersite(dist):
+    # type: (Distribution) -> bool
+    """
+    Return True if given Distribution is installed in user site.
+    """
+    return dist_location(dist).startswith(normalize_path(user_site))
+
+
+def dist_in_site_packages(dist):
+    # type: (Distribution) -> bool
+    """
+    Return True if given Distribution is installed in
+    sysconfig.get_python_lib().
+    """
+    return dist_location(dist).startswith(normalize_path(site_packages))
+
+
+def dist_is_editable(dist):
+    # type: (Distribution) -> bool
+    """
+    Return True if given Distribution is an editable install.
+    """
+    for path_item in sys.path:
+        egg_link = os.path.join(path_item, dist.project_name + '.egg-link')
+        if os.path.isfile(egg_link):
+            return True
+    return False
+
+
+def get_installed_distributions(
+        local_only=True,  # type: bool
+        skip=stdlib_pkgs,  # type: Container[str]
+        include_editables=True,  # type: bool
+        editables_only=False,  # type: bool
+        user_only=False,  # type: bool
+        paths=None  # type: Optional[List[str]]
+):
+    # type: (...) -> List[Distribution]
+    """
+    Return a list of installed Distribution objects.
+
+    If ``local_only`` is True (default), only return installations
+    local to the current virtualenv, if in a virtualenv.
+
+    ``skip`` argument is an iterable of lower-case project names to
+    ignore; defaults to stdlib_pkgs
+
+    If ``include_editables`` is False, don't report editables.
+
+    If ``editables_only`` is True , only report editables.
+
+    If ``user_only`` is True , only report installations in the user
+    site directory.
+
+    If ``paths`` is set, only report the distributions present at the
+    specified list of locations.
+    """
+    if paths:
+        working_set = pkg_resources.WorkingSet(paths)
+    else:
+        working_set = pkg_resources.working_set
+
+    if local_only:
+        local_test = dist_is_local
+    else:
+        def local_test(d):
+            return True
+
+    if include_editables:
+        def editable_test(d):
+            return True
+    else:
+        def editable_test(d):
+            return not dist_is_editable(d)
+
+    if editables_only:
+        def editables_only_test(d):
+            return dist_is_editable(d)
+    else:
+        def editables_only_test(d):
+            return True
+
+    if user_only:
+        user_test = dist_in_usersite
+    else:
+        def user_test(d):
+            return True
+
+    return [d for d in working_set
+            if local_test(d) and
+            d.key not in skip and
+            editable_test(d) and
+            editables_only_test(d) and
+            user_test(d)
+            ]
+
+
+def egg_link_path(dist):
+    # type: (Distribution) -> Optional[str]
+    """
+    Return the path for the .egg-link file if it exists, otherwise, None.
+
+    There's 3 scenarios:
+    1) not in a virtualenv
+       try to find in site.USER_SITE, then site_packages
+    2) in a no-global virtualenv
+       try to find in site_packages
+    3) in a yes-global virtualenv
+       try to find in site_packages, then site.USER_SITE
+       (don't look in global location)
+
+    For #1 and #3, there could be odd cases, where there's an egg-link in 2
+    locations.
+
+    This method will just return the first one found.
+    """
+    sites = []
+    if running_under_virtualenv():
+        sites.append(site_packages)
+        if not virtualenv_no_global() and user_site:
+            sites.append(user_site)
+    else:
+        if user_site:
+            sites.append(user_site)
+        sites.append(site_packages)
+
+    for site in sites:
+        egglink = os.path.join(site, dist.project_name) + '.egg-link'
+        if os.path.isfile(egglink):
+            return egglink
+    return None
+
+
+def dist_location(dist):
+    # type: (Distribution) -> str
+    """
+    Get the site-packages location of this distribution. Generally
+    this is dist.location, except in the case of develop-installed
+    packages, where dist.location is the source code location, and we
+    want to know where the egg-link file is.
+
+    The returned location is normalized (in particular, with symlinks removed).
+    """
+    egg_link = egg_link_path(dist)
+    if egg_link:
+        return normalize_path(egg_link)
+    return normalize_path(dist.location)
+
+
+def write_output(msg, *args):
+    # type: (str, str) -> None
+    logger.info(msg, *args)
+
+
+class FakeFile(object):
+    """Wrap a list of lines in an object with readline() to make
+    ConfigParser happy."""
+    def __init__(self, lines):
+        self._gen = (l for l in lines)
+
+    def readline(self):
+        try:
+            try:
+                return next(self._gen)
+            except NameError:
+                return self._gen.next()
+        except StopIteration:
+            return ''
+
+    def __iter__(self):
+        return self._gen
+
+
+class StreamWrapper(StringIO):
+
+    @classmethod
+    def from_stream(cls, orig_stream):
+        cls.orig_stream = orig_stream
+        return cls()
+
+    # compileall.compile_dir() needs stdout.encoding to print to stdout
+    @property
+    def encoding(self):
+        return self.orig_stream.encoding
+
+
+@contextlib.contextmanager
+def captured_output(stream_name):
+    """Return a context manager used by captured_stdout/stdin/stderr
+    that temporarily replaces the sys stream *stream_name* with a StringIO.
+
+    Taken from Lib/support/__init__.py in the CPython repo.
+    """
+    orig_stdout = getattr(sys, stream_name)
+    setattr(sys, stream_name, StreamWrapper.from_stream(orig_stdout))
+    try:
+        yield getattr(sys, stream_name)
+    finally:
+        setattr(sys, stream_name, orig_stdout)
+
+
+def captured_stdout():
+    """Capture the output of sys.stdout:
+
+       with captured_stdout() as stdout:
+           print('hello')
+       self.assertEqual(stdout.getvalue(), 'hello\n')
+
+    Taken from Lib/support/__init__.py in the CPython repo.
+    """
+    return captured_output('stdout')
+
+
+def captured_stderr():
+    """
+    See captured_stdout().
+    """
+    return captured_output('stderr')
+
+
+class cached_property(object):
+    """A property that is only computed once per instance and then replaces
+       itself with an ordinary attribute. Deleting the attribute resets the
+       property.
+
+       Source: https://github.com/bottlepy/bottle/blob/0.11.5/bottle.py#L175
+    """
+
+    def __init__(self, func):
+        self.__doc__ = getattr(func, '__doc__')
+        self.func = func
+
+    def __get__(self, obj, cls):
+        if obj is None:
+            # We're being accessed from the class itself, not from an object
+            return self
+        value = obj.__dict__[self.func.__name__] = self.func(obj)
+        return value
+
+
+def get_installed_version(dist_name, working_set=None):
+    """Get the installed version of dist_name avoiding pkg_resources cache"""
+    # Create a requirement that we'll look for inside of setuptools.
+    req = pkg_resources.Requirement.parse(dist_name)
+
+    if working_set is None:
+        # We want to avoid having this cached, so we need to construct a new
+        # working set each time.
+        working_set = pkg_resources.WorkingSet()
+
+    # Get the installed distribution from our working set
+    dist = working_set.find(req)
+
+    # Check to see if we got an installed distribution or not, if we did
+    # we want to return it's version.
+    return dist.version if dist else None
+
+
+def consume(iterator):
+    """Consume an iterable at C speed."""
+    deque(iterator, maxlen=0)
+
+
+# Simulates an enum
+def enum(*sequential, **named):
+    enums = dict(zip(sequential, range(len(sequential))), **named)
+    reverse = {value: key for key, value in enums.items()}
+    enums['reverse_mapping'] = reverse
+    return type('Enum', (), enums)
+
+
+def build_netloc(host, port):
+    # type: (str, Optional[int]) -> str
+    """
+    Build a netloc from a host-port pair
+    """
+    if port is None:
+        return host
+    if ':' in host:
+        # Only wrap host with square brackets when it is IPv6
+        host = '[{}]'.format(host)
+    return '{}:{}'.format(host, port)
+
+
+def build_url_from_netloc(netloc, scheme='https'):
+    # type: (str, str) -> str
+    """
+    Build a full URL from a netloc.
+    """
+    if netloc.count(':') >= 2 and '@' not in netloc and '[' not in netloc:
+        # It must be a bare IPv6 address, so wrap it with brackets.
+        netloc = '[{}]'.format(netloc)
+    return '{}://{}'.format(scheme, netloc)
+
+
+def parse_netloc(netloc):
+    # type: (str) -> Tuple[str, Optional[int]]
+    """
+    Return the host-port pair from a netloc.
+    """
+    url = build_url_from_netloc(netloc)
+    parsed = urllib_parse.urlparse(url)
+    return parsed.hostname, parsed.port
+
+
+def split_auth_from_netloc(netloc):
+    """
+    Parse out and remove the auth information from a netloc.
+
+    Returns: (netloc, (username, password)).
+    """
+    if '@' not in netloc:
+        return netloc, (None, None)
+
+    # Split from the right because that's how urllib.parse.urlsplit()
+    # behaves if more than one @ is present (which can be checked using
+    # the password attribute of urlsplit()'s return value).
+    auth, netloc = netloc.rsplit('@', 1)
+    if ':' in auth:
+        # Split from the left because that's how urllib.parse.urlsplit()
+        # behaves if more than one : is present (which again can be checked
+        # using the password attribute of the return value)
+        user_pass = auth.split(':', 1)
+    else:
+        user_pass = auth, None
+
+    user_pass = tuple(
+        None if x is None else urllib_unquote(x) for x in user_pass
+    )
+
+    return netloc, user_pass
+
+
+def redact_netloc(netloc):
+    # type: (str) -> str
+    """
+    Replace the sensitive data in a netloc with "****", if it exists.
+
+    For example:
+        - "user:pass@example.com" returns "user:****@example.com"
+        - "accesstoken@example.com" returns "****@example.com"
+    """
+    netloc, (user, password) = split_auth_from_netloc(netloc)
+    if user is None:
+        return netloc
+    if password is None:
+        user = '****'
+        password = ''
+    else:
+        user = urllib_parse.quote(user)
+        password = ':****'
+    return '{user}{password}@{netloc}'.format(user=user,
+                                              password=password,
+                                              netloc=netloc)
+
+
+def _transform_url(url, transform_netloc):
+    """Transform and replace netloc in a url.
+
+    transform_netloc is a function taking the netloc and returning a
+    tuple. The first element of this tuple is the new netloc. The
+    entire tuple is returned.
+
+    Returns a tuple containing the transformed url as item 0 and the
+    original tuple returned by transform_netloc as item 1.
+    """
+    purl = urllib_parse.urlsplit(url)
+    netloc_tuple = transform_netloc(purl.netloc)
+    # stripped url
+    url_pieces = (
+        purl.scheme, netloc_tuple[0], purl.path, purl.query, purl.fragment
+    )
+    surl = urllib_parse.urlunsplit(url_pieces)
+    return surl, netloc_tuple
+
+
+def _get_netloc(netloc):
+    return split_auth_from_netloc(netloc)
+
+
+def _redact_netloc(netloc):
+    return (redact_netloc(netloc),)
+
+
+def split_auth_netloc_from_url(url):
+    # type: (str) -> Tuple[str, str, Tuple[str, str]]
+    """
+    Parse a url into separate netloc, auth, and url with no auth.
+
+    Returns: (url_without_auth, netloc, (username, password))
+    """
+    url_without_auth, (netloc, auth) = _transform_url(url, _get_netloc)
+    return url_without_auth, netloc, auth
+
+
+def remove_auth_from_url(url):
+    # type: (str) -> str
+    """Return a copy of url with 'username:password@' removed."""
+    # username/pass params are passed to subversion through flags
+    # and are not recognized in the url.
+    return _transform_url(url, _get_netloc)[0]
+
+
+def redact_auth_from_url(url):
+    # type: (str) -> str
+    """Replace the password in a given url with ****."""
+    return _transform_url(url, _redact_netloc)[0]
+
+
+class HiddenText(object):
+    def __init__(
+        self,
+        secret,    # type: str
+        redacted,  # type: str
+    ):
+        # type: (...) -> None
+        self.secret = secret
+        self.redacted = redacted
+
+    def __repr__(self):
+        # type: (...) -> str
+        return '<HiddenText {!r}>'.format(str(self))
+
+    def __str__(self):
+        # type: (...) -> str
+        return self.redacted
+
+    # This is useful for testing.
+    def __eq__(self, other):
+        # type: (Any) -> bool
+        if type(self) != type(other):
+            return False
+
+        # The string being used for redaction doesn't also have to match,
+        # just the raw, original string.
+        return (self.secret == other.secret)
+
+    # We need to provide an explicit __ne__ implementation for Python 2.
+    # TODO: remove this when we drop PY2 support.
+    def __ne__(self, other):
+        # type: (Any) -> bool
+        return not self == other
+
+
+def hide_value(value):
+    # type: (str) -> HiddenText
+    return HiddenText(value, redacted='****')
+
+
+def hide_url(url):
+    # type: (str) -> HiddenText
+    redacted = redact_auth_from_url(url)
+    return HiddenText(url, redacted=redacted)
+
+
+def protect_pip_from_modification_on_windows(modifying_pip):
+    # type: (bool) -> None
+    """Protection of pip.exe from modification on Windows
+
+    On Windows, any operation modifying pip should be run as:
+        python -m pip ...
+    """
+    pip_names = [
+        "pip.exe",
+        "pip{}.exe".format(sys.version_info[0]),
+        "pip{}.{}.exe".format(*sys.version_info[:2])
+    ]
+
+    # See https://github.com/pypa/pip/issues/1299 for more discussion
+    should_show_use_python_msg = (
+        modifying_pip and
+        WINDOWS and
+        os.path.basename(sys.argv[0]) in pip_names
+    )
+
+    if should_show_use_python_msg:
+        new_command = [
+            sys.executable, "-m", "pip"
+        ] + sys.argv[1:]
+        raise CommandError(
+            'To modify pip, please run the following command:\n{}'
+            .format(" ".join(new_command))
+        )
+
+
+def is_console_interactive():
+    # type: () -> bool
+    """Is this console interactive?
+    """
+    return sys.stdin is not None and sys.stdin.isatty()
+
+
+def hash_file(path, blocksize=1 << 20):
+    # type: (str, int) -> Tuple[Any, int]
+    """Return (hash, length) for path using hashlib.sha256()
+    """
+
+    h = hashlib.sha256()
+    length = 0
+    with open(path, 'rb') as f:
+        for block in read_chunks(f, size=blocksize):
+            length += len(block)
+            h.update(block)
+    return h, length
+
+
+def is_wheel_installed():
+    """
+    Return whether the wheel package is installed.
+    """
+    try:
+        import wheel  # noqa: F401
+    except ImportError:
+        return False
+
+    return True
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/models.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/models.py
new file mode 100644
index 0000000..29e1441
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/models.py
@@ -0,0 +1,42 @@
+"""Utilities for defining models
+"""
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+import operator
+
+
+class KeyBasedCompareMixin(object):
+    """Provides comparison capabilities that is based on a key
+    """
+
+    def __init__(self, key, defining_class):
+        self._compare_key = key
+        self._defining_class = defining_class
+
+    def __hash__(self):
+        return hash(self._compare_key)
+
+    def __lt__(self, other):
+        return self._compare(other, operator.__lt__)
+
+    def __le__(self, other):
+        return self._compare(other, operator.__le__)
+
+    def __gt__(self, other):
+        return self._compare(other, operator.__gt__)
+
+    def __ge__(self, other):
+        return self._compare(other, operator.__ge__)
+
+    def __eq__(self, other):
+        return self._compare(other, operator.__eq__)
+
+    def __ne__(self, other):
+        return self._compare(other, operator.__ne__)
+
+    def _compare(self, other, method):
+        if not isinstance(other, self._defining_class):
+            return NotImplemented
+
+        return method(self._compare_key, other._compare_key)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/packaging.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/packaging.py
new file mode 100644
index 0000000..68aa86e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/packaging.py
@@ -0,0 +1,94 @@
+from __future__ import absolute_import
+
+import logging
+from email.parser import FeedParser
+
+from pip._vendor import pkg_resources
+from pip._vendor.packaging import specifiers, version
+
+from pip._internal.exceptions import NoneMetadataError
+from pip._internal.utils.misc import display_path
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, Tuple
+    from email.message import Message
+    from pip._vendor.pkg_resources import Distribution
+
+
+logger = logging.getLogger(__name__)
+
+
+def check_requires_python(requires_python, version_info):
+    # type: (Optional[str], Tuple[int, ...]) -> bool
+    """
+    Check if the given Python version matches a "Requires-Python" specifier.
+
+    :param version_info: A 3-tuple of ints representing a Python
+        major-minor-micro version to check (e.g. `sys.version_info[:3]`).
+
+    :return: `True` if the given Python version satisfies the requirement.
+        Otherwise, return `False`.
+
+    :raises InvalidSpecifier: If `requires_python` has an invalid format.
+    """
+    if requires_python is None:
+        # The package provides no information
+        return True
+    requires_python_specifier = specifiers.SpecifierSet(requires_python)
+
+    python_version = version.parse('.'.join(map(str, version_info)))
+    return python_version in requires_python_specifier
+
+
+def get_metadata(dist):
+    # type: (Distribution) -> Message
+    """
+    :raises NoneMetadataError: if the distribution reports `has_metadata()`
+        True but `get_metadata()` returns None.
+    """
+    metadata_name = 'METADATA'
+    if (isinstance(dist, pkg_resources.DistInfoDistribution) and
+            dist.has_metadata(metadata_name)):
+        metadata = dist.get_metadata(metadata_name)
+    elif dist.has_metadata('PKG-INFO'):
+        metadata_name = 'PKG-INFO'
+        metadata = dist.get_metadata(metadata_name)
+    else:
+        logger.warning("No metadata found in %s", display_path(dist.location))
+        metadata = ''
+
+    if metadata is None:
+        raise NoneMetadataError(dist, metadata_name)
+
+    feed_parser = FeedParser()
+    # The following line errors out if with a "NoneType" TypeError if
+    # passed metadata=None.
+    feed_parser.feed(metadata)
+    return feed_parser.close()
+
+
+def get_requires_python(dist):
+    # type: (pkg_resources.Distribution) -> Optional[str]
+    """
+    Return the "Requires-Python" metadata for a distribution, or None
+    if not present.
+    """
+    pkg_info_dict = get_metadata(dist)
+    requires_python = pkg_info_dict.get('Requires-Python')
+
+    if requires_python is not None:
+        # Convert to a str to satisfy the type checker, since requires_python
+        # can be a Header object.
+        requires_python = str(requires_python)
+
+    return requires_python
+
+
+def get_installer(dist):
+    # type: (Distribution) -> str
+    if dist.has_metadata('INSTALLER'):
+        for line in dist.get_metadata_lines('INSTALLER'):
+            if line.strip():
+                return line.strip()
+    return ''
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py
new file mode 100644
index 0000000..0bc129a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py
@@ -0,0 +1,44 @@
+from pip._vendor.pkg_resources import yield_lines
+from pip._vendor.six import ensure_str
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Dict, Iterable, List
+
+
+class DictMetadata(object):
+    """IMetadataProvider that reads metadata files from a dictionary.
+    """
+    def __init__(self, metadata):
+        # type: (Dict[str, bytes]) -> None
+        self._metadata = metadata
+
+    def has_metadata(self, name):
+        # type: (str) -> bool
+        return name in self._metadata
+
+    def get_metadata(self, name):
+        # type: (str) -> str
+        try:
+            return ensure_str(self._metadata[name])
+        except UnicodeDecodeError as e:
+            # Mirrors handling done in pkg_resources.NullProvider.
+            e.reason += " in {} file".format(name)
+            raise
+
+    def get_metadata_lines(self, name):
+        # type: (str) -> Iterable[str]
+        return yield_lines(self.get_metadata(name))
+
+    def metadata_isdir(self, name):
+        # type: (str) -> bool
+        return False
+
+    def metadata_listdir(self, name):
+        # type: (str) -> List[str]
+        return []
+
+    def run_script(self, script_name, namespace):
+        # type: (str, str) -> None
+        pass
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py
new file mode 100644
index 0000000..4147a65
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py
@@ -0,0 +1,181 @@
+import sys
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional, Sequence
+
+# Shim to wrap setup.py invocation with setuptools
+#
+# We set sys.argv[0] to the path to the underlying setup.py file so
+# setuptools / distutils don't take the path to the setup.py to be "-c" when
+# invoking via the shim.  This avoids e.g. the following manifest_maker
+# warning: "warning: manifest_maker: standard file '-c' not found".
+_SETUPTOOLS_SHIM = (
+    "import sys, setuptools, tokenize; sys.argv[0] = {0!r}; __file__={0!r};"
+    "f=getattr(tokenize, 'open', open)(__file__);"
+    "code=f.read().replace('\\r\\n', '\\n');"
+    "f.close();"
+    "exec(compile(code, __file__, 'exec'))"
+)
+
+
+def make_setuptools_shim_args(
+    setup_py_path,  # type: str
+    global_options=None,  # type: Sequence[str]
+    no_user_config=False,  # type: bool
+    unbuffered_output=False  # type: bool
+):
+    # type: (...) -> List[str]
+    """
+    Get setuptools command arguments with shim wrapped setup file invocation.
+
+    :param setup_py_path: The path to setup.py to be wrapped.
+    :param global_options: Additional global options.
+    :param no_user_config: If True, disables personal user configuration.
+    :param unbuffered_output: If True, adds the unbuffered switch to the
+     argument list.
+    """
+    args = [sys.executable]
+    if unbuffered_output:
+        args += ["-u"]
+    args += ["-c", _SETUPTOOLS_SHIM.format(setup_py_path)]
+    if global_options:
+        args += global_options
+    if no_user_config:
+        args += ["--no-user-cfg"]
+    return args
+
+
+def make_setuptools_bdist_wheel_args(
+    setup_py_path,  # type: str
+    global_options,  # type: Sequence[str]
+    build_options,  # type: Sequence[str]
+    destination_dir,  # type: str
+):
+    # type: (...) -> List[str]
+    # NOTE: Eventually, we'd want to also -S to the flags here, when we're
+    # isolating. Currently, it breaks Python in virtualenvs, because it
+    # relies on site.py to find parts of the standard library outside the
+    # virtualenv.
+    args = make_setuptools_shim_args(
+        setup_py_path,
+        global_options=global_options,
+        unbuffered_output=True
+    )
+    args += ["bdist_wheel", "-d", destination_dir]
+    args += build_options
+    return args
+
+
+def make_setuptools_clean_args(
+    setup_py_path,  # type: str
+    global_options,  # type: Sequence[str]
+):
+    # type: (...) -> List[str]
+    args = make_setuptools_shim_args(
+        setup_py_path,
+        global_options=global_options,
+        unbuffered_output=True
+    )
+    args += ["clean", "--all"]
+    return args
+
+
+def make_setuptools_develop_args(
+    setup_py_path,  # type: str
+    global_options,  # type: Sequence[str]
+    install_options,  # type: Sequence[str]
+    no_user_config,  # type: bool
+    prefix,  # type: Optional[str]
+    home,  # type: Optional[str]
+    use_user_site,  # type: bool
+):
+    # type: (...) -> List[str]
+    assert not (use_user_site and prefix)
+
+    args = make_setuptools_shim_args(
+        setup_py_path,
+        global_options=global_options,
+        no_user_config=no_user_config,
+    )
+
+    args += ["develop", "--no-deps"]
+
+    args += install_options
+
+    if prefix:
+        args += ["--prefix", prefix]
+    if home is not None:
+        args += ["--home", home]
+
+    if use_user_site:
+        args += ["--user", "--prefix="]
+
+    return args
+
+
+def make_setuptools_egg_info_args(
+    setup_py_path,  # type: str
+    egg_info_dir,  # type: Optional[str]
+    no_user_config,  # type: bool
+):
+    # type: (...) -> List[str]
+    args = make_setuptools_shim_args(setup_py_path)
+    if no_user_config:
+        args += ["--no-user-cfg"]
+
+    args += ["egg_info"]
+
+    if egg_info_dir:
+        args += ["--egg-base", egg_info_dir]
+
+    return args
+
+
+def make_setuptools_install_args(
+    setup_py_path,  # type: str
+    global_options,  # type: Sequence[str]
+    install_options,  # type: Sequence[str]
+    record_filename,  # type: str
+    root,  # type: Optional[str]
+    prefix,  # type: Optional[str]
+    header_dir,  # type: Optional[str]
+    home,  # type: Optional[str]
+    use_user_site,  # type: bool
+    no_user_config,  # type: bool
+    pycompile  # type: bool
+):
+    # type: (...) -> List[str]
+    assert not (use_user_site and prefix)
+    assert not (use_user_site and root)
+
+    args = make_setuptools_shim_args(
+        setup_py_path,
+        global_options=global_options,
+        no_user_config=no_user_config,
+        unbuffered_output=True
+    )
+    args += ["install", "--record", record_filename]
+    args += ["--single-version-externally-managed"]
+
+    if root is not None:
+        args += ["--root", root]
+    if prefix is not None:
+        args += ["--prefix", prefix]
+    if home is not None:
+        args += ["--home", home]
+    if use_user_site:
+        args += ["--user", "--prefix="]
+
+    if pycompile:
+        args += ["--compile"]
+    else:
+        args += ["--no-compile"]
+
+    if header_dir:
+        args += ["--install-headers", header_dir]
+
+    args += install_options
+
+    return args
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py
new file mode 100644
index 0000000..ea0176d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py
@@ -0,0 +1,278 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+from __future__ import absolute_import
+
+import logging
+import os
+import subprocess
+
+from pip._vendor.six.moves import shlex_quote
+
+from pip._internal.exceptions import InstallationError
+from pip._internal.utils.compat import console_to_str, str_to_display
+from pip._internal.utils.logging import subprocess_logger
+from pip._internal.utils.misc import HiddenText, path_to_display
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.ui import open_spinner
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Any, Callable, Iterable, List, Mapping, Optional, Text, Union,
+    )
+    from pip._internal.utils.ui import SpinnerInterface
+
+    CommandArgs = List[Union[str, HiddenText]]
+
+
+LOG_DIVIDER = '----------------------------------------'
+
+
+def make_command(*args):
+    # type: (Union[str, HiddenText, CommandArgs]) -> CommandArgs
+    """
+    Create a CommandArgs object.
+    """
+    command_args = []  # type: CommandArgs
+    for arg in args:
+        # Check for list instead of CommandArgs since CommandArgs is
+        # only known during type-checking.
+        if isinstance(arg, list):
+            command_args.extend(arg)
+        else:
+            # Otherwise, arg is str or HiddenText.
+            command_args.append(arg)
+
+    return command_args
+
+
+def format_command_args(args):
+    # type: (Union[List[str], CommandArgs]) -> str
+    """
+    Format command arguments for display.
+    """
+    # For HiddenText arguments, display the redacted form by calling str().
+    # Also, we don't apply str() to arguments that aren't HiddenText since
+    # this can trigger a UnicodeDecodeError in Python 2 if the argument
+    # has type unicode and includes a non-ascii character.  (The type
+    # checker doesn't ensure the annotations are correct in all cases.)
+    return ' '.join(
+        shlex_quote(str(arg)) if isinstance(arg, HiddenText)
+        else shlex_quote(arg) for arg in args
+    )
+
+
+def reveal_command_args(args):
+    # type: (Union[List[str], CommandArgs]) -> List[str]
+    """
+    Return the arguments in their raw, unredacted form.
+    """
+    return [
+        arg.secret if isinstance(arg, HiddenText) else arg for arg in args
+    ]
+
+
+def make_subprocess_output_error(
+    cmd_args,     # type: Union[List[str], CommandArgs]
+    cwd,          # type: Optional[str]
+    lines,        # type: List[Text]
+    exit_status,  # type: int
+):
+    # type: (...) -> Text
+    """
+    Create and return the error message to use to log a subprocess error
+    with command output.
+
+    :param lines: A list of lines, each ending with a newline.
+    """
+    command = format_command_args(cmd_args)
+    # Convert `command` and `cwd` to text (unicode in Python 2) so we can use
+    # them as arguments in the unicode format string below. This avoids
+    # "UnicodeDecodeError: 'ascii' codec can't decode byte ..." in Python 2
+    # if either contains a non-ascii character.
+    command_display = str_to_display(command, desc='command bytes')
+    cwd_display = path_to_display(cwd)
+
+    # We know the joined output value ends in a newline.
+    output = ''.join(lines)
+    msg = (
+        # Use a unicode string to avoid "UnicodeEncodeError: 'ascii'
+        # codec can't encode character ..." in Python 2 when a format
+        # argument (e.g. `output`) has a non-ascii character.
+        u'Command errored out with exit status {exit_status}:\n'
+        ' command: {command_display}\n'
+        '     cwd: {cwd_display}\n'
+        'Complete output ({line_count} lines):\n{output}{divider}'
+    ).format(
+        exit_status=exit_status,
+        command_display=command_display,
+        cwd_display=cwd_display,
+        line_count=len(lines),
+        output=output,
+        divider=LOG_DIVIDER,
+    )
+    return msg
+
+
+def call_subprocess(
+    cmd,  # type: Union[List[str], CommandArgs]
+    show_stdout=False,  # type: bool
+    cwd=None,  # type: Optional[str]
+    on_returncode='raise',  # type: str
+    extra_ok_returncodes=None,  # type: Optional[Iterable[int]]
+    command_desc=None,  # type: Optional[str]
+    extra_environ=None,  # type: Optional[Mapping[str, Any]]
+    unset_environ=None,  # type: Optional[Iterable[str]]
+    spinner=None,  # type: Optional[SpinnerInterface]
+    log_failed_cmd=True  # type: Optional[bool]
+):
+    # type: (...) -> Text
+    """
+    Args:
+      show_stdout: if true, use INFO to log the subprocess's stderr and
+        stdout streams.  Otherwise, use DEBUG.  Defaults to False.
+      extra_ok_returncodes: an iterable of integer return codes that are
+        acceptable, in addition to 0. Defaults to None, which means [].
+      unset_environ: an iterable of environment variable names to unset
+        prior to calling subprocess.Popen().
+      log_failed_cmd: if false, failed commands are not logged, only raised.
+    """
+    if extra_ok_returncodes is None:
+        extra_ok_returncodes = []
+    if unset_environ is None:
+        unset_environ = []
+    # Most places in pip use show_stdout=False. What this means is--
+    #
+    # - We connect the child's output (combined stderr and stdout) to a
+    #   single pipe, which we read.
+    # - We log this output to stderr at DEBUG level as it is received.
+    # - If DEBUG logging isn't enabled (e.g. if --verbose logging wasn't
+    #   requested), then we show a spinner so the user can still see the
+    #   subprocess is in progress.
+    # - If the subprocess exits with an error, we log the output to stderr
+    #   at ERROR level if it hasn't already been displayed to the console
+    #   (e.g. if --verbose logging wasn't enabled).  This way we don't log
+    #   the output to the console twice.
+    #
+    # If show_stdout=True, then the above is still done, but with DEBUG
+    # replaced by INFO.
+    if show_stdout:
+        # Then log the subprocess output at INFO level.
+        log_subprocess = subprocess_logger.info
+        used_level = logging.INFO
+    else:
+        # Then log the subprocess output using DEBUG.  This also ensures
+        # it will be logged to the log file (aka user_log), if enabled.
+        log_subprocess = subprocess_logger.debug
+        used_level = logging.DEBUG
+
+    # Whether the subprocess will be visible in the console.
+    showing_subprocess = subprocess_logger.getEffectiveLevel() <= used_level
+
+    # Only use the spinner if we're not showing the subprocess output
+    # and we have a spinner.
+    use_spinner = not showing_subprocess and spinner is not None
+
+    if command_desc is None:
+        command_desc = format_command_args(cmd)
+
+    log_subprocess("Running command %s", command_desc)
+    env = os.environ.copy()
+    if extra_environ:
+        env.update(extra_environ)
+    for name in unset_environ:
+        env.pop(name, None)
+    try:
+        proc = subprocess.Popen(
+            # Convert HiddenText objects to the underlying str.
+            reveal_command_args(cmd),
+            stderr=subprocess.STDOUT, stdin=subprocess.PIPE,
+            stdout=subprocess.PIPE, cwd=cwd, env=env,
+        )
+        proc.stdin.close()
+    except Exception as exc:
+        if log_failed_cmd:
+            subprocess_logger.critical(
+                "Error %s while executing command %s", exc, command_desc,
+            )
+        raise
+    all_output = []
+    while True:
+        # The "line" value is a unicode string in Python 2.
+        line = console_to_str(proc.stdout.readline())
+        if not line:
+            break
+        line = line.rstrip()
+        all_output.append(line + '\n')
+
+        # Show the line immediately.
+        log_subprocess(line)
+        # Update the spinner.
+        if use_spinner:
+            spinner.spin()
+    try:
+        proc.wait()
+    finally:
+        if proc.stdout:
+            proc.stdout.close()
+    proc_had_error = (
+        proc.returncode and proc.returncode not in extra_ok_returncodes
+    )
+    if use_spinner:
+        if proc_had_error:
+            spinner.finish("error")
+        else:
+            spinner.finish("done")
+    if proc_had_error:
+        if on_returncode == 'raise':
+            if not showing_subprocess and log_failed_cmd:
+                # Then the subprocess streams haven't been logged to the
+                # console yet.
+                msg = make_subprocess_output_error(
+                    cmd_args=cmd,
+                    cwd=cwd,
+                    lines=all_output,
+                    exit_status=proc.returncode,
+                )
+                subprocess_logger.error(msg)
+            exc_msg = (
+                'Command errored out with exit status {}: {} '
+                'Check the logs for full command output.'
+            ).format(proc.returncode, command_desc)
+            raise InstallationError(exc_msg)
+        elif on_returncode == 'warn':
+            subprocess_logger.warning(
+                'Command "%s" had error code %s in %s',
+                command_desc, proc.returncode, cwd,
+            )
+        elif on_returncode == 'ignore':
+            pass
+        else:
+            raise ValueError('Invalid value: on_returncode=%s' %
+                             repr(on_returncode))
+    return ''.join(all_output)
+
+
+def runner_with_spinner_message(message):
+    # type: (str) -> Callable[..., None]
+    """Provide a subprocess_runner that shows a spinner message.
+
+    Intended for use with for pep517's Pep517HookCaller. Thus, the runner has
+    an API that matches what's expected by Pep517HookCaller.subprocess_runner.
+    """
+
+    def runner(
+        cmd,  # type: List[str]
+        cwd=None,  # type: Optional[str]
+        extra_environ=None  # type: Optional[Mapping[str, Any]]
+    ):
+        # type: (...) -> None
+        with open_spinner(message) as spinner:
+            call_subprocess(
+                cmd,
+                cwd=cwd,
+                extra_environ=extra_environ,
+                spinner=spinner,
+            )
+
+    return runner
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py
new file mode 100644
index 0000000..65e41bc
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py
@@ -0,0 +1,250 @@
+from __future__ import absolute_import
+
+import errno
+import itertools
+import logging
+import os.path
+import tempfile
+from contextlib import contextmanager
+
+from pip._vendor.contextlib2 import ExitStack
+
+from pip._internal.utils.misc import rmtree
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Any, Dict, Iterator, Optional, TypeVar
+
+    _T = TypeVar('_T', bound='TempDirectory')
+
+
+logger = logging.getLogger(__name__)
+
+
+_tempdir_manager = None  # type: Optional[ExitStack]
+
+
+@contextmanager
+def global_tempdir_manager():
+    # type: () -> Iterator[None]
+    global _tempdir_manager
+    with ExitStack() as stack:
+        old_tempdir_manager, _tempdir_manager = _tempdir_manager, stack
+        try:
+            yield
+        finally:
+            _tempdir_manager = old_tempdir_manager
+
+
+class TempDirectoryTypeRegistry(object):
+    """Manages temp directory behavior
+    """
+
+    def __init__(self):
+        # type: () -> None
+        self._should_delete = {}  # type: Dict[str, bool]
+
+    def set_delete(self, kind, value):
+        # type: (str, bool) -> None
+        """Indicate whether a TempDirectory of the given kind should be
+        auto-deleted.
+        """
+        self._should_delete[kind] = value
+
+    def get_delete(self, kind):
+        # type: (str) -> bool
+        """Get configured auto-delete flag for a given TempDirectory type,
+        default True.
+        """
+        return self._should_delete.get(kind, True)
+
+
+_tempdir_registry = None  # type: Optional[TempDirectoryTypeRegistry]
+
+
+@contextmanager
+def tempdir_registry():
+    # type: () -> Iterator[TempDirectoryTypeRegistry]
+    """Provides a scoped global tempdir registry that can be used to dictate
+    whether directories should be deleted.
+    """
+    global _tempdir_registry
+    old_tempdir_registry = _tempdir_registry
+    _tempdir_registry = TempDirectoryTypeRegistry()
+    try:
+        yield _tempdir_registry
+    finally:
+        _tempdir_registry = old_tempdir_registry
+
+
+class TempDirectory(object):
+    """Helper class that owns and cleans up a temporary directory.
+
+    This class can be used as a context manager or as an OO representation of a
+    temporary directory.
+
+    Attributes:
+        path
+            Location to the created temporary directory
+        delete
+            Whether the directory should be deleted when exiting
+            (when used as a contextmanager)
+
+    Methods:
+        cleanup()
+            Deletes the temporary directory
+
+    When used as a context manager, if the delete attribute is True, on
+    exiting the context the temporary directory is deleted.
+    """
+
+    def __init__(
+        self,
+        path=None,    # type: Optional[str]
+        delete=None,  # type: Optional[bool]
+        kind="temp",  # type: str
+        globally_managed=False,  # type: bool
+    ):
+        super(TempDirectory, self).__init__()
+
+        # If we were given an explicit directory, resolve delete option now.
+        # Otherwise we wait until cleanup and see what tempdir_registry says.
+        if path is not None and delete is None:
+            delete = False
+
+        if path is None:
+            path = self._create(kind)
+
+        self._path = path
+        self._deleted = False
+        self.delete = delete
+        self.kind = kind
+
+        if globally_managed:
+            assert _tempdir_manager is not None
+            _tempdir_manager.enter_context(self)
+
+    @property
+    def path(self):
+        # type: () -> str
+        assert not self._deleted, (
+            "Attempted to access deleted path: {}".format(self._path)
+        )
+        return self._path
+
+    def __repr__(self):
+        # type: () -> str
+        return "<{} {!r}>".format(self.__class__.__name__, self.path)
+
+    def __enter__(self):
+        # type: (_T) -> _T
+        return self
+
+    def __exit__(self, exc, value, tb):
+        # type: (Any, Any, Any) -> None
+        if self.delete is not None:
+            delete = self.delete
+        elif _tempdir_registry:
+            delete = _tempdir_registry.get_delete(self.kind)
+        else:
+            delete = True
+
+        if delete:
+            self.cleanup()
+
+    def _create(self, kind):
+        # type: (str) -> str
+        """Create a temporary directory and store its path in self.path
+        """
+        # We realpath here because some systems have their default tmpdir
+        # symlinked to another directory.  This tends to confuse build
+        # scripts, so we canonicalize the path by traversing potential
+        # symlinks here.
+        path = os.path.realpath(
+            tempfile.mkdtemp(prefix="pip-{}-".format(kind))
+        )
+        logger.debug("Created temporary directory: {}".format(path))
+        return path
+
+    def cleanup(self):
+        # type: () -> None
+        """Remove the temporary directory created and reset state
+        """
+        self._deleted = True
+        if os.path.exists(self._path):
+            rmtree(self._path)
+
+
+class AdjacentTempDirectory(TempDirectory):
+    """Helper class that creates a temporary directory adjacent to a real one.
+
+    Attributes:
+        original
+            The original directory to create a temp directory for.
+        path
+            After calling create() or entering, contains the full
+            path to the temporary directory.
+        delete
+            Whether the directory should be deleted when exiting
+            (when used as a contextmanager)
+
+    """
+    # The characters that may be used to name the temp directory
+    # We always prepend a ~ and then rotate through these until
+    # a usable name is found.
+    # pkg_resources raises a different error for .dist-info folder
+    # with leading '-' and invalid metadata
+    LEADING_CHARS = "-~.=%0123456789"
+
+    def __init__(self, original, delete=None):
+        # type: (str, Optional[bool]) -> None
+        self.original = original.rstrip('/\\')
+        super(AdjacentTempDirectory, self).__init__(delete=delete)
+
+    @classmethod
+    def _generate_names(cls, name):
+        # type: (str) -> Iterator[str]
+        """Generates a series of temporary names.
+
+        The algorithm replaces the leading characters in the name
+        with ones that are valid filesystem characters, but are not
+        valid package names (for both Python and pip definitions of
+        package).
+        """
+        for i in range(1, len(name)):
+            for candidate in itertools.combinations_with_replacement(
+                    cls.LEADING_CHARS, i - 1):
+                new_name = '~' + ''.join(candidate) + name[i:]
+                if new_name != name:
+                    yield new_name
+
+        # If we make it this far, we will have to make a longer name
+        for i in range(len(cls.LEADING_CHARS)):
+            for candidate in itertools.combinations_with_replacement(
+                    cls.LEADING_CHARS, i):
+                new_name = '~' + ''.join(candidate) + name
+                if new_name != name:
+                    yield new_name
+
+    def _create(self, kind):
+        # type: (str) -> str
+        root, name = os.path.split(self.original)
+        for candidate in self._generate_names(name):
+            path = os.path.join(root, candidate)
+            try:
+                os.mkdir(path)
+            except OSError as ex:
+                # Continue if the name exists already
+                if ex.errno != errno.EEXIST:
+                    raise
+            else:
+                path = os.path.realpath(path)
+                break
+        else:
+            # Final fallback on the default behavior.
+            path = os.path.realpath(
+                tempfile.mkdtemp(prefix="pip-{}-".format(kind))
+            )
+
+        logger.debug("Created temporary directory: {}".format(path))
+        return path
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/typing.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/typing.py
new file mode 100644
index 0000000..8505a29
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/typing.py
@@ -0,0 +1,38 @@
+"""For neatly implementing static typing in pip.
+
+`mypy` - the static type analysis tool we use - uses the `typing` module, which
+provides core functionality fundamental to mypy's functioning.
+
+Generally, `typing` would be imported at runtime and used in that fashion -
+it acts as a no-op at runtime and does not have any run-time overhead by
+design.
+
+As it turns out, `typing` is not vendorable - it uses separate sources for
+Python 2/Python 3. Thus, this codebase can not expect it to be present.
+To work around this, mypy allows the typing import to be behind a False-y
+optional to prevent it from running at runtime and type-comments can be used
+to remove the need for the types to be accessible directly during runtime.
+
+This module provides the False-y guard in a nicely named fashion so that a
+curious maintainer can reach here to read this.
+
+In pip, all static-typing related imports should be guarded as follows:
+
+    from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+    if MYPY_CHECK_RUNNING:
+        from typing import ...
+
+Ref: https://github.com/python/mypy/issues/3216
+"""
+
+MYPY_CHECK_RUNNING = False
+
+
+if MYPY_CHECK_RUNNING:
+    from typing import cast
+else:
+    # typing's cast() is needed at runtime, but we don't want to import typing.
+    # Thus, we use a dummy no-op version, which we tell mypy to ignore.
+    def cast(type_, value):  # type: ignore
+        return value
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/ui.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/ui.py
new file mode 100644
index 0000000..87782aa
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/ui.py
@@ -0,0 +1,428 @@
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import, division
+
+import contextlib
+import itertools
+import logging
+import sys
+import time
+from signal import SIGINT, default_int_handler, signal
+
+from pip._vendor import six
+from pip._vendor.progress import HIDE_CURSOR, SHOW_CURSOR
+from pip._vendor.progress.bar import Bar, FillingCirclesBar, IncrementalBar
+from pip._vendor.progress.spinner import Spinner
+
+from pip._internal.utils.compat import WINDOWS
+from pip._internal.utils.logging import get_indentation
+from pip._internal.utils.misc import format_size
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Any, Iterator, IO
+
+try:
+    from pip._vendor import colorama
+# Lots of different errors can come from this, including SystemError and
+# ImportError.
+except Exception:
+    colorama = None
+
+logger = logging.getLogger(__name__)
+
+
+def _select_progress_class(preferred, fallback):
+    encoding = getattr(preferred.file, "encoding", None)
+
+    # If we don't know what encoding this file is in, then we'll just assume
+    # that it doesn't support unicode and use the ASCII bar.
+    if not encoding:
+        return fallback
+
+    # Collect all of the possible characters we want to use with the preferred
+    # bar.
+    characters = [
+        getattr(preferred, "empty_fill", six.text_type()),
+        getattr(preferred, "fill", six.text_type()),
+    ]
+    characters += list(getattr(preferred, "phases", []))
+
+    # Try to decode the characters we're using for the bar using the encoding
+    # of the given file, if this works then we'll assume that we can use the
+    # fancier bar and if not we'll fall back to the plaintext bar.
+    try:
+        six.text_type().join(characters).encode(encoding)
+    except UnicodeEncodeError:
+        return fallback
+    else:
+        return preferred
+
+
+_BaseBar = _select_progress_class(IncrementalBar, Bar)  # type: Any
+
+
+class InterruptibleMixin(object):
+    """
+    Helper to ensure that self.finish() gets called on keyboard interrupt.
+
+    This allows downloads to be interrupted without leaving temporary state
+    (like hidden cursors) behind.
+
+    This class is similar to the progress library's existing SigIntMixin
+    helper, but as of version 1.2, that helper has the following problems:
+
+    1. It calls sys.exit().
+    2. It discards the existing SIGINT handler completely.
+    3. It leaves its own handler in place even after an uninterrupted finish,
+       which will have unexpected delayed effects if the user triggers an
+       unrelated keyboard interrupt some time after a progress-displaying
+       download has already completed, for example.
+    """
+
+    def __init__(self, *args, **kwargs):
+        """
+        Save the original SIGINT handler for later.
+        """
+        super(InterruptibleMixin, self).__init__(*args, **kwargs)
+
+        self.original_handler = signal(SIGINT, self.handle_sigint)
+
+        # If signal() returns None, the previous handler was not installed from
+        # Python, and we cannot restore it. This probably should not happen,
+        # but if it does, we must restore something sensible instead, at least.
+        # The least bad option should be Python's default SIGINT handler, which
+        # just raises KeyboardInterrupt.
+        if self.original_handler is None:
+            self.original_handler = default_int_handler
+
+    def finish(self):
+        """
+        Restore the original SIGINT handler after finishing.
+
+        This should happen regardless of whether the progress display finishes
+        normally, or gets interrupted.
+        """
+        super(InterruptibleMixin, self).finish()
+        signal(SIGINT, self.original_handler)
+
+    def handle_sigint(self, signum, frame):
+        """
+        Call self.finish() before delegating to the original SIGINT handler.
+
+        This handler should only be in place while the progress display is
+        active.
+        """
+        self.finish()
+        self.original_handler(signum, frame)
+
+
+class SilentBar(Bar):
+
+    def update(self):
+        pass
+
+
+class BlueEmojiBar(IncrementalBar):
+
+    suffix = "%(percent)d%%"
+    bar_prefix = " "
+    bar_suffix = " "
+    phases = (u"\U0001F539", u"\U0001F537", u"\U0001F535")  # type: Any
+
+
+class DownloadProgressMixin(object):
+
+    def __init__(self, *args, **kwargs):
+        super(DownloadProgressMixin, self).__init__(*args, **kwargs)
+        self.message = (" " * (get_indentation() + 2)) + self.message
+
+    @property
+    def downloaded(self):
+        return format_size(self.index)
+
+    @property
+    def download_speed(self):
+        # Avoid zero division errors...
+        if self.avg == 0.0:
+            return "..."
+        return format_size(1 / self.avg) + "/s"
+
+    @property
+    def pretty_eta(self):
+        if self.eta:
+            return "eta %s" % self.eta_td
+        return ""
+
+    def iter(self, it):
+        for x in it:
+            yield x
+            self.next(len(x))
+        self.finish()
+
+
+class WindowsMixin(object):
+
+    def __init__(self, *args, **kwargs):
+        # The Windows terminal does not support the hide/show cursor ANSI codes
+        # even with colorama. So we'll ensure that hide_cursor is False on
+        # Windows.
+        # This call needs to go before the super() call, so that hide_cursor
+        # is set in time. The base progress bar class writes the "hide cursor"
+        # code to the terminal in its init, so if we don't set this soon
+        # enough, we get a "hide" with no corresponding "show"...
+        if WINDOWS and self.hide_cursor:
+            self.hide_cursor = False
+
+        super(WindowsMixin, self).__init__(*args, **kwargs)
+
+        # Check if we are running on Windows and we have the colorama module,
+        # if we do then wrap our file with it.
+        if WINDOWS and colorama:
+            self.file = colorama.AnsiToWin32(self.file)
+            # The progress code expects to be able to call self.file.isatty()
+            # but the colorama.AnsiToWin32() object doesn't have that, so we'll
+            # add it.
+            self.file.isatty = lambda: self.file.wrapped.isatty()
+            # The progress code expects to be able to call self.file.flush()
+            # but the colorama.AnsiToWin32() object doesn't have that, so we'll
+            # add it.
+            self.file.flush = lambda: self.file.wrapped.flush()
+
+
+class BaseDownloadProgressBar(WindowsMixin, InterruptibleMixin,
+                              DownloadProgressMixin):
+
+    file = sys.stdout
+    message = "%(percent)d%%"
+    suffix = "%(downloaded)s %(download_speed)s %(pretty_eta)s"
+
+# NOTE: The "type: ignore" comments on the following classes are there to
+#       work around https://github.com/python/typing/issues/241
+
+
+class DefaultDownloadProgressBar(BaseDownloadProgressBar,
+                                 _BaseBar):
+    pass
+
+
+class DownloadSilentBar(BaseDownloadProgressBar, SilentBar):  # type: ignore
+    pass
+
+
+class DownloadBar(BaseDownloadProgressBar,  # type: ignore
+                  Bar):
+    pass
+
+
+class DownloadFillingCirclesBar(BaseDownloadProgressBar,  # type: ignore
+                                FillingCirclesBar):
+    pass
+
+
+class DownloadBlueEmojiProgressBar(BaseDownloadProgressBar,  # type: ignore
+                                   BlueEmojiBar):
+    pass
+
+
+class DownloadProgressSpinner(WindowsMixin, InterruptibleMixin,
+                              DownloadProgressMixin, Spinner):
+
+    file = sys.stdout
+    suffix = "%(downloaded)s %(download_speed)s"
+
+    def next_phase(self):
+        if not hasattr(self, "_phaser"):
+            self._phaser = itertools.cycle(self.phases)
+        return next(self._phaser)
+
+    def update(self):
+        message = self.message % self
+        phase = self.next_phase()
+        suffix = self.suffix % self
+        line = ''.join([
+            message,
+            " " if message else "",
+            phase,
+            " " if suffix else "",
+            suffix,
+        ])
+
+        self.writeln(line)
+
+
+BAR_TYPES = {
+    "off": (DownloadSilentBar, DownloadSilentBar),
+    "on": (DefaultDownloadProgressBar, DownloadProgressSpinner),
+    "ascii": (DownloadBar, DownloadProgressSpinner),
+    "pretty": (DownloadFillingCirclesBar, DownloadProgressSpinner),
+    "emoji": (DownloadBlueEmojiProgressBar, DownloadProgressSpinner)
+}
+
+
+def DownloadProgressProvider(progress_bar, max=None):
+    if max is None or max == 0:
+        return BAR_TYPES[progress_bar][1]().iter
+    else:
+        return BAR_TYPES[progress_bar][0](max=max).iter
+
+
+################################################################
+# Generic "something is happening" spinners
+#
+# We don't even try using progress.spinner.Spinner here because it's actually
+# simpler to reimplement from scratch than to coerce their code into doing
+# what we need.
+################################################################
+
+@contextlib.contextmanager
+def hidden_cursor(file):
+    # type: (IO[Any]) -> Iterator[None]
+    # The Windows terminal does not support the hide/show cursor ANSI codes,
+    # even via colorama. So don't even try.
+    if WINDOWS:
+        yield
+    # We don't want to clutter the output with control characters if we're
+    # writing to a file, or if the user is running with --quiet.
+    # See https://github.com/pypa/pip/issues/3418
+    elif not file.isatty() or logger.getEffectiveLevel() > logging.INFO:
+        yield
+    else:
+        file.write(HIDE_CURSOR)
+        try:
+            yield
+        finally:
+            file.write(SHOW_CURSOR)
+
+
+class RateLimiter(object):
+    def __init__(self, min_update_interval_seconds):
+        # type: (float) -> None
+        self._min_update_interval_seconds = min_update_interval_seconds
+        self._last_update = 0  # type: float
+
+    def ready(self):
+        # type: () -> bool
+        now = time.time()
+        delta = now - self._last_update
+        return delta >= self._min_update_interval_seconds
+
+    def reset(self):
+        # type: () -> None
+        self._last_update = time.time()
+
+
+class SpinnerInterface(object):
+    def spin(self):
+        # type: () -> None
+        raise NotImplementedError()
+
+    def finish(self, final_status):
+        # type: (str) -> None
+        raise NotImplementedError()
+
+
+class InteractiveSpinner(SpinnerInterface):
+    def __init__(self, message, file=None, spin_chars="-\\|/",
+                 # Empirically, 8 updates/second looks nice
+                 min_update_interval_seconds=0.125):
+        self._message = message
+        if file is None:
+            file = sys.stdout
+        self._file = file
+        self._rate_limiter = RateLimiter(min_update_interval_seconds)
+        self._finished = False
+
+        self._spin_cycle = itertools.cycle(spin_chars)
+
+        self._file.write(" " * get_indentation() + self._message + " ... ")
+        self._width = 0
+
+    def _write(self, status):
+        assert not self._finished
+        # Erase what we wrote before by backspacing to the beginning, writing
+        # spaces to overwrite the old text, and then backspacing again
+        backup = "\b" * self._width
+        self._file.write(backup + " " * self._width + backup)
+        # Now we have a blank slate to add our status
+        self._file.write(status)
+        self._width = len(status)
+        self._file.flush()
+        self._rate_limiter.reset()
+
+    def spin(self):
+        # type: () -> None
+        if self._finished:
+            return
+        if not self._rate_limiter.ready():
+            return
+        self._write(next(self._spin_cycle))
+
+    def finish(self, final_status):
+        # type: (str) -> None
+        if self._finished:
+            return
+        self._write(final_status)
+        self._file.write("\n")
+        self._file.flush()
+        self._finished = True
+
+
+# Used for dumb terminals, non-interactive installs (no tty), etc.
+# We still print updates occasionally (once every 60 seconds by default) to
+# act as a keep-alive for systems like Travis-CI that take lack-of-output as
+# an indication that a task has frozen.
+class NonInteractiveSpinner(SpinnerInterface):
+    def __init__(self, message, min_update_interval_seconds=60):
+        # type: (str, float) -> None
+        self._message = message
+        self._finished = False
+        self._rate_limiter = RateLimiter(min_update_interval_seconds)
+        self._update("started")
+
+    def _update(self, status):
+        assert not self._finished
+        self._rate_limiter.reset()
+        logger.info("%s: %s", self._message, status)
+
+    def spin(self):
+        # type: () -> None
+        if self._finished:
+            return
+        if not self._rate_limiter.ready():
+            return
+        self._update("still running...")
+
+    def finish(self, final_status):
+        # type: (str) -> None
+        if self._finished:
+            return
+        self._update("finished with status '%s'" % (final_status,))
+        self._finished = True
+
+
+@contextlib.contextmanager
+def open_spinner(message):
+    # type: (str) -> Iterator[SpinnerInterface]
+    # Interactive spinner goes directly to sys.stdout rather than being routed
+    # through the logging system, but it acts like it has level INFO,
+    # i.e. it's only displayed if we're at level INFO or better.
+    # Non-interactive spinner goes through the logging system, so it is always
+    # in sync with logging configuration.
+    if sys.stdout.isatty() and logger.getEffectiveLevel() <= logging.INFO:
+        spinner = InteractiveSpinner(message)  # type: SpinnerInterface
+    else:
+        spinner = NonInteractiveSpinner(message)
+    try:
+        with hidden_cursor(sys.stdout):
+            yield spinner
+    except KeyboardInterrupt:
+        spinner.finish("canceled")
+        raise
+    except Exception:
+        spinner.finish("error")
+        raise
+    else:
+        spinner.finish("done")
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py
new file mode 100644
index 0000000..7252dc2
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py
@@ -0,0 +1,272 @@
+"""Utilities related archives.
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import os
+import shutil
+import stat
+import tarfile
+import zipfile
+
+from pip._internal.exceptions import InstallationError
+from pip._internal.utils.filetypes import (
+    BZ2_EXTENSIONS,
+    TAR_EXTENSIONS,
+    XZ_EXTENSIONS,
+    ZIP_EXTENSIONS,
+)
+from pip._internal.utils.misc import ensure_dir
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Iterable, List, Optional, Text, Union
+
+
+logger = logging.getLogger(__name__)
+
+
+SUPPORTED_EXTENSIONS = ZIP_EXTENSIONS + TAR_EXTENSIONS
+
+try:
+    import bz2  # noqa
+    SUPPORTED_EXTENSIONS += BZ2_EXTENSIONS
+except ImportError:
+    logger.debug('bz2 module is not available')
+
+try:
+    # Only for Python 3.3+
+    import lzma  # noqa
+    SUPPORTED_EXTENSIONS += XZ_EXTENSIONS
+except ImportError:
+    logger.debug('lzma module is not available')
+
+
+def current_umask():
+    """Get the current umask which involves having to set it temporarily."""
+    mask = os.umask(0)
+    os.umask(mask)
+    return mask
+
+
+def split_leading_dir(path):
+    # type: (Union[str, Text]) -> List[Union[str, Text]]
+    path = path.lstrip('/').lstrip('\\')
+    if (
+        '/' in path and (
+            ('\\' in path and path.find('/') < path.find('\\')) or
+            '\\' not in path
+        )
+    ):
+        return path.split('/', 1)
+    elif '\\' in path:
+        return path.split('\\', 1)
+    else:
+        return [path, '']
+
+
+def has_leading_dir(paths):
+    # type: (Iterable[Union[str, Text]]) -> bool
+    """Returns true if all the paths have the same leading path name
+    (i.e., everything is in one subdirectory in an archive)"""
+    common_prefix = None
+    for path in paths:
+        prefix, rest = split_leading_dir(path)
+        if not prefix:
+            return False
+        elif common_prefix is None:
+            common_prefix = prefix
+        elif prefix != common_prefix:
+            return False
+    return True
+
+
+def is_within_directory(directory, target):
+    # type: ((Union[str, Text]), (Union[str, Text])) -> bool
+    """
+    Return true if the absolute path of target is within the directory
+    """
+    abs_directory = os.path.abspath(directory)
+    abs_target = os.path.abspath(target)
+
+    prefix = os.path.commonprefix([abs_directory, abs_target])
+    return prefix == abs_directory
+
+
+def unzip_file(filename, location, flatten=True):
+    # type: (str, str, bool) -> None
+    """
+    Unzip the file (with path `filename`) to the destination `location`.  All
+    files are written based on system defaults and umask (i.e. permissions are
+    not preserved), except that regular file members with any execute
+    permissions (user, group, or world) have "chmod +x" applied after being
+    written. Note that for windows, any execute changes using os.chmod are
+    no-ops per the python docs.
+    """
+    ensure_dir(location)
+    zipfp = open(filename, 'rb')
+    try:
+        zip = zipfile.ZipFile(zipfp, allowZip64=True)
+        leading = has_leading_dir(zip.namelist()) and flatten
+        for info in zip.infolist():
+            name = info.filename
+            fn = name
+            if leading:
+                fn = split_leading_dir(name)[1]
+            fn = os.path.join(location, fn)
+            dir = os.path.dirname(fn)
+            if not is_within_directory(location, fn):
+                message = (
+                    'The zip file ({}) has a file ({}) trying to install '
+                    'outside target directory ({})'
+                )
+                raise InstallationError(message.format(filename, fn, location))
+            if fn.endswith('/') or fn.endswith('\\'):
+                # A directory
+                ensure_dir(fn)
+            else:
+                ensure_dir(dir)
+                # Don't use read() to avoid allocating an arbitrarily large
+                # chunk of memory for the file's content
+                fp = zip.open(name)
+                try:
+                    with open(fn, 'wb') as destfp:
+                        shutil.copyfileobj(fp, destfp)
+                finally:
+                    fp.close()
+                    mode = info.external_attr >> 16
+                    # if mode and regular file and any execute permissions for
+                    # user/group/world?
+                    if mode and stat.S_ISREG(mode) and mode & 0o111:
+                        # make dest file have execute for user/group/world
+                        # (chmod +x) no-op on windows per python docs
+                        os.chmod(fn, (0o777 - current_umask() | 0o111))
+    finally:
+        zipfp.close()
+
+
+def untar_file(filename, location):
+    # type: (str, str) -> None
+    """
+    Untar the file (with path `filename`) to the destination `location`.
+    All files are written based on system defaults and umask (i.e. permissions
+    are not preserved), except that regular file members with any execute
+    permissions (user, group, or world) have "chmod +x" applied after being
+    written.  Note that for windows, any execute changes using os.chmod are
+    no-ops per the python docs.
+    """
+    ensure_dir(location)
+    if filename.lower().endswith('.gz') or filename.lower().endswith('.tgz'):
+        mode = 'r:gz'
+    elif filename.lower().endswith(BZ2_EXTENSIONS):
+        mode = 'r:bz2'
+    elif filename.lower().endswith(XZ_EXTENSIONS):
+        mode = 'r:xz'
+    elif filename.lower().endswith('.tar'):
+        mode = 'r'
+    else:
+        logger.warning(
+            'Cannot determine compression type for file %s', filename,
+        )
+        mode = 'r:*'
+    tar = tarfile.open(filename, mode)
+    try:
+        leading = has_leading_dir([
+            member.name for member in tar.getmembers()
+        ])
+        for member in tar.getmembers():
+            fn = member.name
+            if leading:
+                # https://github.com/python/mypy/issues/1174
+                fn = split_leading_dir(fn)[1]  # type: ignore
+            path = os.path.join(location, fn)
+            if not is_within_directory(location, path):
+                message = (
+                    'The tar file ({}) has a file ({}) trying to install '
+                    'outside target directory ({})'
+                )
+                raise InstallationError(
+                    message.format(filename, path, location)
+                )
+            if member.isdir():
+                ensure_dir(path)
+            elif member.issym():
+                try:
+                    # https://github.com/python/typeshed/issues/2673
+                    tar._extract_member(member, path)  # type: ignore
+                except Exception as exc:
+                    # Some corrupt tar files seem to produce this
+                    # (specifically bad symlinks)
+                    logger.warning(
+                        'In the tar file %s the member %s is invalid: %s',
+                        filename, member.name, exc,
+                    )
+                    continue
+            else:
+                try:
+                    fp = tar.extractfile(member)
+                except (KeyError, AttributeError) as exc:
+                    # Some corrupt tar files seem to produce this
+                    # (specifically bad symlinks)
+                    logger.warning(
+                        'In the tar file %s the member %s is invalid: %s',
+                        filename, member.name, exc,
+                    )
+                    continue
+                ensure_dir(os.path.dirname(path))
+                with open(path, 'wb') as destfp:
+                    shutil.copyfileobj(fp, destfp)
+                fp.close()
+                # Update the timestamp (useful for cython compiled files)
+                # https://github.com/python/typeshed/issues/2673
+                tar.utime(member, path)  # type: ignore
+                # member have any execute permissions for user/group/world?
+                if member.mode & 0o111:
+                    # make dest file have execute for user/group/world
+                    # no-op on windows per python docs
+                    os.chmod(path, (0o777 - current_umask() | 0o111))
+    finally:
+        tar.close()
+
+
+def unpack_file(
+        filename,  # type: str
+        location,  # type: str
+        content_type=None,  # type: Optional[str]
+):
+    # type: (...) -> None
+    filename = os.path.realpath(filename)
+    if (
+        content_type == 'application/zip' or
+        filename.lower().endswith(ZIP_EXTENSIONS) or
+        zipfile.is_zipfile(filename)
+    ):
+        unzip_file(
+            filename,
+            location,
+            flatten=not filename.endswith('.whl')
+        )
+    elif (
+        content_type == 'application/x-gzip' or
+        tarfile.is_tarfile(filename) or
+        filename.lower().endswith(
+            TAR_EXTENSIONS + BZ2_EXTENSIONS + XZ_EXTENSIONS
+        )
+    ):
+        untar_file(filename, location)
+    else:
+        # FIXME: handle?
+        # FIXME: magic signatures?
+        logger.critical(
+            'Cannot unpack file %s (downloaded from %s, content-type: %s); '
+            'cannot detect archive format',
+            filename, location, content_type,
+        )
+        raise InstallationError(
+            'Cannot determine archive format of {}'.format(location)
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/urls.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/urls.py
new file mode 100644
index 0000000..9ad40fe
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/urls.py
@@ -0,0 +1,54 @@
+import os
+import sys
+
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+from pip._vendor.six.moves.urllib import request as urllib_request
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, Text, Union
+
+
+def get_url_scheme(url):
+    # type: (Union[str, Text]) -> Optional[Text]
+    if ':' not in url:
+        return None
+    return url.split(':', 1)[0].lower()
+
+
+def path_to_url(path):
+    # type: (Union[str, Text]) -> str
+    """
+    Convert a path to a file: URL.  The path will be made absolute and have
+    quoted path parts.
+    """
+    path = os.path.normpath(os.path.abspath(path))
+    url = urllib_parse.urljoin('file:', urllib_request.pathname2url(path))
+    return url
+
+
+def url_to_path(url):
+    # type: (str) -> str
+    """
+    Convert a file: URL to a path.
+    """
+    assert url.startswith('file:'), (
+        "You can only turn file: urls into filenames (not %r)" % url)
+
+    _, netloc, path, _, _ = urllib_parse.urlsplit(url)
+
+    if not netloc or netloc == 'localhost':
+        # According to RFC 8089, same as empty authority.
+        netloc = ''
+    elif sys.platform == 'win32':
+        # If we have a UNC path, prepend UNC share notation.
+        netloc = '\\\\' + netloc
+    else:
+        raise ValueError(
+            'non-local file URIs are not supported on this platform: %r'
+            % url
+        )
+
+    path = urllib_request.url2pathname(netloc + path)
+    return path
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py
new file mode 100644
index 0000000..d81e6ac
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py
@@ -0,0 +1,115 @@
+from __future__ import absolute_import
+
+import logging
+import os
+import re
+import site
+import sys
+
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from typing import List, Optional
+
+logger = logging.getLogger(__name__)
+_INCLUDE_SYSTEM_SITE_PACKAGES_REGEX = re.compile(
+    r"include-system-site-packages\s*=\s*(?P<value>true|false)"
+)
+
+
+def _running_under_venv():
+    # type: () -> bool
+    """Checks if sys.base_prefix and sys.prefix match.
+
+    This handles PEP 405 compliant virtual environments.
+    """
+    return sys.prefix != getattr(sys, "base_prefix", sys.prefix)
+
+
+def _running_under_regular_virtualenv():
+    # type: () -> bool
+    """Checks if sys.real_prefix is set.
+
+    This handles virtual environments created with pypa's virtualenv.
+    """
+    # pypa/virtualenv case
+    return hasattr(sys, 'real_prefix')
+
+
+def running_under_virtualenv():
+    # type: () -> bool
+    """Return True if we're running inside a virtualenv, False otherwise.
+    """
+    return _running_under_venv() or _running_under_regular_virtualenv()
+
+
+def _get_pyvenv_cfg_lines():
+    # type: () -> Optional[List[str]]
+    """Reads {sys.prefix}/pyvenv.cfg and returns its contents as list of lines
+
+    Returns None, if it could not read/access the file.
+    """
+    pyvenv_cfg_file = os.path.join(sys.prefix, 'pyvenv.cfg')
+    try:
+        with open(pyvenv_cfg_file) as f:
+            return f.read().splitlines()  # avoids trailing newlines
+    except IOError:
+        return None
+
+
+def _no_global_under_venv():
+    # type: () -> bool
+    """Check `{sys.prefix}/pyvenv.cfg` for system site-packages inclusion
+
+    PEP 405 specifies that when system site-packages are not supposed to be
+    visible from a virtual environment, `pyvenv.cfg` must contain the following
+    line:
+
+        include-system-site-packages = false
+
+    Additionally, log a warning if accessing the file fails.
+    """
+    cfg_lines = _get_pyvenv_cfg_lines()
+    if cfg_lines is None:
+        # We're not in a "sane" venv, so assume there is no system
+        # site-packages access (since that's PEP 405's default state).
+        logger.warning(
+            "Could not access 'pyvenv.cfg' despite a virtual environment "
+            "being active. Assuming global site-packages is not accessible "
+            "in this environment."
+        )
+        return True
+
+    for line in cfg_lines:
+        match = _INCLUDE_SYSTEM_SITE_PACKAGES_REGEX.match(line)
+        if match is not None and match.group('value') == 'false':
+            return True
+    return False
+
+
+def _no_global_under_regular_virtualenv():
+    # type: () -> bool
+    """Check if "no-global-site-packages.txt" exists beside site.py
+
+    This mirrors logic in pypa/virtualenv for determining whether system
+    site-packages are visible in the virtual environment.
+    """
+    site_mod_dir = os.path.dirname(os.path.abspath(site.__file__))
+    no_global_site_packages_file = os.path.join(
+        site_mod_dir, 'no-global-site-packages.txt',
+    )
+    return os.path.exists(no_global_site_packages_file)
+
+
+def virtualenv_no_global():
+    # type: () -> bool
+    """Returns a boolean, whether running in venv with no system site-packages.
+    """
+
+    if _running_under_regular_virtualenv():
+        return _no_global_under_regular_virtualenv()
+
+    if _running_under_venv():
+        return _no_global_under_venv()
+
+    return False
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/utils/wheel.py b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/wheel.py
new file mode 100644
index 0000000..837e0af
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/utils/wheel.py
@@ -0,0 +1,225 @@
+"""Support functions for working with wheel files.
+"""
+
+from __future__ import absolute_import
+
+import logging
+from email.parser import Parser
+from zipfile import ZipFile
+
+from pip._vendor.packaging.utils import canonicalize_name
+from pip._vendor.pkg_resources import DistInfoDistribution
+from pip._vendor.six import PY2, ensure_str
+
+from pip._internal.exceptions import UnsupportedWheel
+from pip._internal.utils.pkg_resources import DictMetadata
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+if MYPY_CHECK_RUNNING:
+    from email.message import Message
+    from typing import Dict, Tuple
+
+    from pip._vendor.pkg_resources import Distribution
+
+if PY2:
+    from zipfile import BadZipfile as BadZipFile
+else:
+    from zipfile import BadZipFile
+
+
+VERSION_COMPATIBLE = (1, 0)
+
+
+logger = logging.getLogger(__name__)
+
+
+class WheelMetadata(DictMetadata):
+    """Metadata provider that maps metadata decoding exceptions to our
+    internal exception type.
+    """
+    def __init__(self, metadata, wheel_name):
+        # type: (Dict[str, bytes], str) -> None
+        super(WheelMetadata, self).__init__(metadata)
+        self._wheel_name = wheel_name
+
+    def get_metadata(self, name):
+        # type: (str) -> str
+        try:
+            return super(WheelMetadata, self).get_metadata(name)
+        except UnicodeDecodeError as e:
+            # Augment the default error with the origin of the file.
+            raise UnsupportedWheel(
+                "Error decoding metadata for {}: {}".format(
+                    self._wheel_name, e
+                )
+            )
+
+
+def pkg_resources_distribution_for_wheel(wheel_zip, name, location):
+    # type: (ZipFile, str, str) -> Distribution
+    """Get a pkg_resources distribution given a wheel.
+
+    :raises UnsupportedWheel: on any errors
+    """
+    info_dir, _ = parse_wheel(wheel_zip, name)
+
+    metadata_files = [
+        p for p in wheel_zip.namelist() if p.startswith("{}/".format(info_dir))
+    ]
+
+    metadata_text = {}  # type: Dict[str, bytes]
+    for path in metadata_files:
+        # If a flag is set, namelist entries may be unicode in Python 2.
+        # We coerce them to native str type to match the types used in the rest
+        # of the code. This cannot fail because unicode can always be encoded
+        # with UTF-8.
+        full_path = ensure_str(path)
+        _, metadata_name = full_path.split("/", 1)
+
+        try:
+            metadata_text[metadata_name] = read_wheel_metadata_file(
+                wheel_zip, full_path
+            )
+        except UnsupportedWheel as e:
+            raise UnsupportedWheel(
+                "{} has an invalid wheel, {}".format(name, str(e))
+            )
+
+    metadata = WheelMetadata(metadata_text, location)
+
+    return DistInfoDistribution(
+        location=location, metadata=metadata, project_name=name
+    )
+
+
+def parse_wheel(wheel_zip, name):
+    # type: (ZipFile, str) -> Tuple[str, Message]
+    """Extract information from the provided wheel, ensuring it meets basic
+    standards.
+
+    Returns the name of the .dist-info directory and the parsed WHEEL metadata.
+    """
+    try:
+        info_dir = wheel_dist_info_dir(wheel_zip, name)
+        metadata = wheel_metadata(wheel_zip, info_dir)
+        version = wheel_version(metadata)
+    except UnsupportedWheel as e:
+        raise UnsupportedWheel(
+            "{} has an invalid wheel, {}".format(name, str(e))
+        )
+
+    check_compatibility(version, name)
+
+    return info_dir, metadata
+
+
+def wheel_dist_info_dir(source, name):
+    # type: (ZipFile, str) -> str
+    """Returns the name of the contained .dist-info directory.
+
+    Raises AssertionError or UnsupportedWheel if not found, >1 found, or
+    it doesn't match the provided name.
+    """
+    # Zip file path separators must be /
+    subdirs = list(set(p.split("/")[0] for p in source.namelist()))
+
+    info_dirs = [s for s in subdirs if s.endswith('.dist-info')]
+
+    if not info_dirs:
+        raise UnsupportedWheel(".dist-info directory not found")
+
+    if len(info_dirs) > 1:
+        raise UnsupportedWheel(
+            "multiple .dist-info directories found: {}".format(
+                ", ".join(info_dirs)
+            )
+        )
+
+    info_dir = info_dirs[0]
+
+    info_dir_name = canonicalize_name(info_dir)
+    canonical_name = canonicalize_name(name)
+    if not info_dir_name.startswith(canonical_name):
+        raise UnsupportedWheel(
+            ".dist-info directory {!r} does not start with {!r}".format(
+                info_dir, canonical_name
+            )
+        )
+
+    # Zip file paths can be unicode or str depending on the zip entry flags,
+    # so normalize it.
+    return ensure_str(info_dir)
+
+
+def read_wheel_metadata_file(source, path):
+    # type: (ZipFile, str) -> bytes
+    try:
+        return source.read(path)
+        # BadZipFile for general corruption, KeyError for missing entry,
+        # and RuntimeError for password-protected files
+    except (BadZipFile, KeyError, RuntimeError) as e:
+        raise UnsupportedWheel(
+            "could not read {!r} file: {!r}".format(path, e)
+        )
+
+
+def wheel_metadata(source, dist_info_dir):
+    # type: (ZipFile, str) -> Message
+    """Return the WHEEL metadata of an extracted wheel, if possible.
+    Otherwise, raise UnsupportedWheel.
+    """
+    path = "{}/WHEEL".format(dist_info_dir)
+    # Zip file path separators must be /
+    wheel_contents = read_wheel_metadata_file(source, path)
+
+    try:
+        wheel_text = ensure_str(wheel_contents)
+    except UnicodeDecodeError as e:
+        raise UnsupportedWheel("error decoding {!r}: {!r}".format(path, e))
+
+    # FeedParser (used by Parser) does not raise any exceptions. The returned
+    # message may have .defects populated, but for backwards-compatibility we
+    # currently ignore them.
+    return Parser().parsestr(wheel_text)
+
+
+def wheel_version(wheel_data):
+    # type: (Message) -> Tuple[int, ...]
+    """Given WHEEL metadata, return the parsed Wheel-Version.
+    Otherwise, raise UnsupportedWheel.
+    """
+    version_text = wheel_data["Wheel-Version"]
+    if version_text is None:
+        raise UnsupportedWheel("WHEEL is missing Wheel-Version")
+
+    version = version_text.strip()
+
+    try:
+        return tuple(map(int, version.split('.')))
+    except ValueError:
+        raise UnsupportedWheel("invalid Wheel-Version: {!r}".format(version))
+
+
+def check_compatibility(version, name):
+    # type: (Tuple[int, ...], str) -> None
+    """Raises errors or warns if called with an incompatible Wheel-Version.
+
+    Pip should refuse to install a Wheel-Version that's a major series
+    ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when
+    installing a version only minor version ahead (e.g 1.2 > 1.1).
+
+    version: a 2-tuple representing a Wheel-Version (Major, Minor)
+    name: name of wheel or package to raise exception about
+
+    :raises UnsupportedWheel: when an incompatible Wheel-Version is given
+    """
+    if version[0] > VERSION_COMPATIBLE[0]:
+        raise UnsupportedWheel(
+            "%s's Wheel-Version (%s) is not compatible with this version "
+            "of pip" % (name, '.'.join(map(str, version)))
+        )
+    elif version > VERSION_COMPATIBLE:
+        logger.warning(
+            'Installing from a newer Wheel-Version (%s)',
+            '.'.join(map(str, version)),
+        )
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py
new file mode 100644
index 0000000..2a4eb13
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py
@@ -0,0 +1,15 @@
+# Expose a limited set of classes and functions so callers outside of
+# the vcs package don't need to import deeper than `pip._internal.vcs`.
+# (The test directory and imports protected by MYPY_CHECK_RUNNING may
+# still need to import from a vcs sub-package.)
+# Import all vcs modules to register each VCS in the VcsSupport object.
+import pip._internal.vcs.bazaar
+import pip._internal.vcs.git
+import pip._internal.vcs.mercurial
+import pip._internal.vcs.subversion  # noqa: F401
+from pip._internal.vcs.versioncontrol import (  # noqa: F401
+    RemoteNotFoundError,
+    is_url,
+    make_vcs_requirement_url,
+    vcs,
+)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d6b4d798b2eb96f010a6ea56061cf09bf996effe
GIT binary patch
literal 448
zcmWIL<>g{vU|{fR*`1Qf#K7<v#6iYP3=9ko3=9m#HVh05DGVu$ISf&ZV44X^Gec<>
zFwK<1n#&f&mdhT+p34!%k;@sy$;gnx7|fu_{1RlYpC-#K;h@yq{E}3^{1UhP(!3Pc
zqN4nwTWp!d@ufvMw<K~Cvs2^Cl8fVuQVUBni&Aq_^Gd)n%w@^Nnq0Re3Nj1y;xqF~
zQj78ubM(rRi}jKcs}d87ZZQ{R7TglWlupkqxh0J$oSRydTw0Wwm~%@8Q?j@;sVudq
zI5R)*mI9_MR4O??ucRnHrw9~CMa&Eg3`Hy;f|Y@RVI@Nm4~PvSe%a}l<QC``WESX_
z<`pC+XQ!s<mS?1<=IG|6#%CJk7o~vY^x=NeFH0`gkB`sH%PfhH*DI*J#bJ}1pHiBW
RYR3kO2@VDZ1`b9D1OTTLhNJ)h

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..406ade84fd33289c9c6e321bd3beff6b3009ed39
GIT binary patch
literal 3747
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
VfRP6b1(-lB8XiUgW-exdH~<)sp_2dr

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/git.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/git.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b17b94eac3e27012c4b3bc2dffba65e3b2c0ca83
GIT binary patch
literal 9559
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
TWMk%H=3?ex5vXUVXNU&?3n!S6

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..085e5df0dd61959e09e163ef4e51df6960b017aa
GIT binary patch
literal 4888
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
OB5W)m7Bd&KKn(!Rk?HXO

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..626fb01868746b505af0850e74a0e8d148c7ff60
GIT binary patch
literal 8487
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e307b8c8b4b362ab31d7dcd00d9f3fcc7fdbcd51
GIT binary patch
literal 19216
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
S4sI?%4jBO!0Z)M-Hf8{<o2AGA

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py
new file mode 100644
index 0000000..347c06f
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py
@@ -0,0 +1,120 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import os
+
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+
+from pip._internal.utils.misc import display_path, rmtree
+from pip._internal.utils.subprocess import make_command
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.urls import path_to_url
+from pip._internal.vcs.versioncontrol import VersionControl, vcs
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, Tuple
+    from pip._internal.utils.misc import HiddenText
+    from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions
+
+
+logger = logging.getLogger(__name__)
+
+
+class Bazaar(VersionControl):
+    name = 'bzr'
+    dirname = '.bzr'
+    repo_name = 'branch'
+    schemes = (
+        'bzr', 'bzr+http', 'bzr+https', 'bzr+ssh', 'bzr+sftp', 'bzr+ftp',
+        'bzr+lp',
+    )
+
+    def __init__(self, *args, **kwargs):
+        super(Bazaar, self).__init__(*args, **kwargs)
+        # This is only needed for python <2.7.5
+        # Register lp but do not expose as a scheme to support bzr+lp.
+        if getattr(urllib_parse, 'uses_fragment', None):
+            urllib_parse.uses_fragment.extend(['lp'])
+
+    @staticmethod
+    def get_base_rev_args(rev):
+        return ['-r', rev]
+
+    def export(self, location, url):
+        # type: (str, HiddenText) -> None
+        """
+        Export the Bazaar repository at the url to the destination location
+        """
+        # Remove the location to make sure Bazaar can export it correctly
+        if os.path.exists(location):
+            rmtree(location)
+
+        url, rev_options = self.get_url_rev_options(url)
+        self.run_command(
+            make_command('export', location, url, rev_options.to_args()),
+            show_stdout=False,
+        )
+
+    def fetch_new(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        rev_display = rev_options.to_display()
+        logger.info(
+            'Checking out %s%s to %s',
+            url,
+            rev_display,
+            display_path(dest),
+        )
+        cmd_args = (
+            make_command('branch', '-q', rev_options.to_args(), url, dest)
+        )
+        self.run_command(cmd_args)
+
+    def switch(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        self.run_command(make_command('switch', url), cwd=dest)
+
+    def update(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        cmd_args = make_command('pull', '-q', rev_options.to_args())
+        self.run_command(cmd_args, cwd=dest)
+
+    @classmethod
+    def get_url_rev_and_auth(cls, url):
+        # type: (str) -> Tuple[str, Optional[str], AuthInfo]
+        # hotfix the URL scheme after removing bzr+ from bzr+ssh:// readd it
+        url, rev, user_pass = super(Bazaar, cls).get_url_rev_and_auth(url)
+        if url.startswith('ssh://'):
+            url = 'bzr+' + url
+        return url, rev, user_pass
+
+    @classmethod
+    def get_remote_url(cls, location):
+        urls = cls.run_command(['info'], show_stdout=False, cwd=location)
+        for line in urls.splitlines():
+            line = line.strip()
+            for x in ('checkout of branch: ',
+                      'parent branch: '):
+                if line.startswith(x):
+                    repo = line.split(x)[1]
+                    if cls._is_local_repository(repo):
+                        return path_to_url(repo)
+                    return repo
+        return None
+
+    @classmethod
+    def get_revision(cls, location):
+        revision = cls.run_command(
+            ['revno'], show_stdout=False, cwd=location,
+        )
+        return revision.splitlines()[-1]
+
+    @classmethod
+    def is_commit_id_equal(cls, dest, name):
+        """Always assume the versions don't match"""
+        return False
+
+
+vcs.register(Bazaar)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/git.py b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/git.py
new file mode 100644
index 0000000..d706064
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/git.py
@@ -0,0 +1,395 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import os.path
+import re
+
+from pip._vendor.packaging.version import parse as parse_version
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+from pip._vendor.six.moves.urllib import request as urllib_request
+
+from pip._internal.exceptions import BadCommand
+from pip._internal.utils.misc import display_path, hide_url
+from pip._internal.utils.subprocess import make_command
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.vcs.versioncontrol import (
+    RemoteNotFoundError,
+    VersionControl,
+    find_path_to_setup_from_repo_root,
+    vcs,
+)
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, Tuple
+    from pip._internal.utils.misc import HiddenText
+    from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions
+
+
+urlsplit = urllib_parse.urlsplit
+urlunsplit = urllib_parse.urlunsplit
+
+
+logger = logging.getLogger(__name__)
+
+
+HASH_REGEX = re.compile('^[a-fA-F0-9]{40}$')
+
+
+def looks_like_hash(sha):
+    return bool(HASH_REGEX.match(sha))
+
+
+class Git(VersionControl):
+    name = 'git'
+    dirname = '.git'
+    repo_name = 'clone'
+    schemes = (
+        'git', 'git+http', 'git+https', 'git+ssh', 'git+git', 'git+file',
+    )
+    # Prevent the user's environment variables from interfering with pip:
+    # https://github.com/pypa/pip/issues/1130
+    unset_environ = ('GIT_DIR', 'GIT_WORK_TREE')
+    default_arg_rev = 'HEAD'
+
+    @staticmethod
+    def get_base_rev_args(rev):
+        return [rev]
+
+    def is_immutable_rev_checkout(self, url, dest):
+        # type: (str, str) -> bool
+        _, rev_options = self.get_url_rev_options(hide_url(url))
+        if not rev_options.rev:
+            return False
+        if not self.is_commit_id_equal(dest, rev_options.rev):
+            # the current commit is different from rev,
+            # which means rev was something else than a commit hash
+            return False
+        # return False in the rare case rev is both a commit hash
+        # and a tag or a branch; we don't want to cache in that case
+        # because that branch/tag could point to something else in the future
+        is_tag_or_branch = bool(
+            self.get_revision_sha(dest, rev_options.rev)[0]
+        )
+        return not is_tag_or_branch
+
+    def get_git_version(self):
+        VERSION_PFX = 'git version '
+        version = self.run_command(['version'], show_stdout=False)
+        if version.startswith(VERSION_PFX):
+            version = version[len(VERSION_PFX):].split()[0]
+        else:
+            version = ''
+        # get first 3 positions of the git version because
+        # on windows it is x.y.z.windows.t, and this parses as
+        # LegacyVersion which always smaller than a Version.
+        version = '.'.join(version.split('.')[:3])
+        return parse_version(version)
+
+    @classmethod
+    def get_current_branch(cls, location):
+        """
+        Return the current branch, or None if HEAD isn't at a branch
+        (e.g. detached HEAD).
+        """
+        # git-symbolic-ref exits with empty stdout if "HEAD" is a detached
+        # HEAD rather than a symbolic ref.  In addition, the -q causes the
+        # command to exit with status code 1 instead of 128 in this case
+        # and to suppress the message to stderr.
+        args = ['symbolic-ref', '-q', 'HEAD']
+        output = cls.run_command(
+            args, extra_ok_returncodes=(1, ), show_stdout=False, cwd=location,
+        )
+        ref = output.strip()
+
+        if ref.startswith('refs/heads/'):
+            return ref[len('refs/heads/'):]
+
+        return None
+
+    def export(self, location, url):
+        # type: (str, HiddenText) -> None
+        """Export the Git repository at the url to the destination location"""
+        if not location.endswith('/'):
+            location = location + '/'
+
+        with TempDirectory(kind="export") as temp_dir:
+            self.unpack(temp_dir.path, url=url)
+            self.run_command(
+                ['checkout-index', '-a', '-f', '--prefix', location],
+                show_stdout=False, cwd=temp_dir.path
+            )
+
+    @classmethod
+    def get_revision_sha(cls, dest, rev):
+        """
+        Return (sha_or_none, is_branch), where sha_or_none is a commit hash
+        if the revision names a remote branch or tag, otherwise None.
+
+        Args:
+          dest: the repository directory.
+          rev: the revision name.
+        """
+        # Pass rev to pre-filter the list.
+        output = cls.run_command(['show-ref', rev], cwd=dest,
+                                 show_stdout=False, on_returncode='ignore')
+        refs = {}
+        # NOTE: We do not use splitlines here since that would split on other
+        #       unicode separators, which can be maliciously used to install a
+        #       different revision.
+        for line in output.strip().split("\n"):
+            line = line.rstrip("\r")
+            if not line:
+                continue
+            try:
+                sha, ref = line.split(" ", maxsplit=2)
+            except ValueError:
+                # Include the offending line to simplify troubleshooting if
+                # this error ever occurs.
+                raise ValueError('unexpected show-ref line: {!r}'.format(line))
+
+            refs[ref] = sha
+
+        branch_ref = 'refs/remotes/origin/{}'.format(rev)
+        tag_ref = 'refs/tags/{}'.format(rev)
+
+        sha = refs.get(branch_ref)
+        if sha is not None:
+            return (sha, True)
+
+        sha = refs.get(tag_ref)
+
+        return (sha, False)
+
+    @classmethod
+    def resolve_revision(cls, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> RevOptions
+        """
+        Resolve a revision to a new RevOptions object with the SHA1 of the
+        branch, tag, or ref if found.
+
+        Args:
+          rev_options: a RevOptions object.
+        """
+        rev = rev_options.arg_rev
+        # The arg_rev property's implementation for Git ensures that the
+        # rev return value is always non-None.
+        assert rev is not None
+
+        sha, is_branch = cls.get_revision_sha(dest, rev)
+
+        if sha is not None:
+            rev_options = rev_options.make_new(sha)
+            rev_options.branch_name = rev if is_branch else None
+
+            return rev_options
+
+        # Do not show a warning for the common case of something that has
+        # the form of a Git commit hash.
+        if not looks_like_hash(rev):
+            logger.warning(
+                "Did not find branch or tag '%s', assuming revision or ref.",
+                rev,
+            )
+
+        if not rev.startswith('refs/'):
+            return rev_options
+
+        # If it looks like a ref, we have to fetch it explicitly.
+        cls.run_command(
+            make_command('fetch', '-q', url, rev_options.to_args()),
+            cwd=dest,
+        )
+        # Change the revision to the SHA of the ref we fetched
+        sha = cls.get_revision(dest, rev='FETCH_HEAD')
+        rev_options = rev_options.make_new(sha)
+
+        return rev_options
+
+    @classmethod
+    def is_commit_id_equal(cls, dest, name):
+        """
+        Return whether the current commit hash equals the given name.
+
+        Args:
+          dest: the repository directory.
+          name: a string name.
+        """
+        if not name:
+            # Then avoid an unnecessary subprocess call.
+            return False
+
+        return cls.get_revision(dest) == name
+
+    def fetch_new(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        rev_display = rev_options.to_display()
+        logger.info('Cloning %s%s to %s', url, rev_display, display_path(dest))
+        self.run_command(make_command('clone', '-q', url, dest))
+
+        if rev_options.rev:
+            # Then a specific revision was requested.
+            rev_options = self.resolve_revision(dest, url, rev_options)
+            branch_name = getattr(rev_options, 'branch_name', None)
+            if branch_name is None:
+                # Only do a checkout if the current commit id doesn't match
+                # the requested revision.
+                if not self.is_commit_id_equal(dest, rev_options.rev):
+                    cmd_args = make_command(
+                        'checkout', '-q', rev_options.to_args(),
+                    )
+                    self.run_command(cmd_args, cwd=dest)
+            elif self.get_current_branch(dest) != branch_name:
+                # Then a specific branch was requested, and that branch
+                # is not yet checked out.
+                track_branch = 'origin/{}'.format(branch_name)
+                cmd_args = [
+                    'checkout', '-b', branch_name, '--track', track_branch,
+                ]
+                self.run_command(cmd_args, cwd=dest)
+
+        #: repo may contain submodules
+        self.update_submodules(dest)
+
+    def switch(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        self.run_command(
+            make_command('config', 'remote.origin.url', url),
+            cwd=dest,
+        )
+        cmd_args = make_command('checkout', '-q', rev_options.to_args())
+        self.run_command(cmd_args, cwd=dest)
+
+        self.update_submodules(dest)
+
+    def update(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        # First fetch changes from the default remote
+        if self.get_git_version() >= parse_version('1.9.0'):
+            # fetch tags in addition to everything else
+            self.run_command(['fetch', '-q', '--tags'], cwd=dest)
+        else:
+            self.run_command(['fetch', '-q'], cwd=dest)
+        # Then reset to wanted revision (maybe even origin/master)
+        rev_options = self.resolve_revision(dest, url, rev_options)
+        cmd_args = make_command('reset', '--hard', '-q', rev_options.to_args())
+        self.run_command(cmd_args, cwd=dest)
+        #: update submodules
+        self.update_submodules(dest)
+
+    @classmethod
+    def get_remote_url(cls, location):
+        """
+        Return URL of the first remote encountered.
+
+        Raises RemoteNotFoundError if the repository does not have a remote
+        url configured.
+        """
+        # We need to pass 1 for extra_ok_returncodes since the command
+        # exits with return code 1 if there are no matching lines.
+        stdout = cls.run_command(
+            ['config', '--get-regexp', r'remote\..*\.url'],
+            extra_ok_returncodes=(1, ), show_stdout=False, cwd=location,
+        )
+        remotes = stdout.splitlines()
+        try:
+            found_remote = remotes[0]
+        except IndexError:
+            raise RemoteNotFoundError
+
+        for remote in remotes:
+            if remote.startswith('remote.origin.url '):
+                found_remote = remote
+                break
+        url = found_remote.split(' ')[1]
+        return url.strip()
+
+    @classmethod
+    def get_revision(cls, location, rev=None):
+        if rev is None:
+            rev = 'HEAD'
+        current_rev = cls.run_command(
+            ['rev-parse', rev], show_stdout=False, cwd=location,
+        )
+        return current_rev.strip()
+
+    @classmethod
+    def get_subdirectory(cls, location):
+        """
+        Return the path to setup.py, relative to the repo root.
+        Return None if setup.py is in the repo root.
+        """
+        # find the repo root
+        git_dir = cls.run_command(
+            ['rev-parse', '--git-dir'],
+            show_stdout=False, cwd=location).strip()
+        if not os.path.isabs(git_dir):
+            git_dir = os.path.join(location, git_dir)
+        repo_root = os.path.abspath(os.path.join(git_dir, '..'))
+        return find_path_to_setup_from_repo_root(location, repo_root)
+
+    @classmethod
+    def get_url_rev_and_auth(cls, url):
+        # type: (str) -> Tuple[str, Optional[str], AuthInfo]
+        """
+        Prefixes stub URLs like 'user@hostname:user/repo.git' with 'ssh://'.
+        That's required because although they use SSH they sometimes don't
+        work with a ssh:// scheme (e.g. GitHub). But we need a scheme for
+        parsing. Hence we remove it again afterwards and return it as a stub.
+        """
+        # Works around an apparent Git bug
+        # (see https://article.gmane.org/gmane.comp.version-control.git/146500)
+        scheme, netloc, path, query, fragment = urlsplit(url)
+        if scheme.endswith('file'):
+            initial_slashes = path[:-len(path.lstrip('/'))]
+            newpath = (
+                initial_slashes +
+                urllib_request.url2pathname(path)
+                .replace('\\', '/').lstrip('/')
+            )
+            url = urlunsplit((scheme, netloc, newpath, query, fragment))
+            after_plus = scheme.find('+') + 1
+            url = scheme[:after_plus] + urlunsplit(
+                (scheme[after_plus:], netloc, newpath, query, fragment),
+            )
+
+        if '://' not in url:
+            assert 'file:' not in url
+            url = url.replace('git+', 'git+ssh://')
+            url, rev, user_pass = super(Git, cls).get_url_rev_and_auth(url)
+            url = url.replace('ssh://', '')
+        else:
+            url, rev, user_pass = super(Git, cls).get_url_rev_and_auth(url)
+
+        return url, rev, user_pass
+
+    @classmethod
+    def update_submodules(cls, location):
+        if not os.path.exists(os.path.join(location, '.gitmodules')):
+            return
+        cls.run_command(
+            ['submodule', 'update', '--init', '--recursive', '-q'],
+            cwd=location,
+        )
+
+    @classmethod
+    def controls_location(cls, location):
+        if super(Git, cls).controls_location(location):
+            return True
+        try:
+            r = cls.run_command(['rev-parse'],
+                                cwd=location,
+                                show_stdout=False,
+                                on_returncode='ignore',
+                                log_failed_cmd=False)
+            return not r
+        except BadCommand:
+            logger.debug("could not determine if %s is under git control "
+                         "because git is not available", location)
+            return False
+
+
+vcs.register(Git)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py
new file mode 100644
index 0000000..d9b58cf
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py
@@ -0,0 +1,155 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import os
+
+from pip._vendor.six.moves import configparser
+
+from pip._internal.exceptions import BadCommand, InstallationError
+from pip._internal.utils.misc import display_path
+from pip._internal.utils.subprocess import make_command
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.urls import path_to_url
+from pip._internal.vcs.versioncontrol import (
+    VersionControl,
+    find_path_to_setup_from_repo_root,
+    vcs,
+)
+
+if MYPY_CHECK_RUNNING:
+    from pip._internal.utils.misc import HiddenText
+    from pip._internal.vcs.versioncontrol import RevOptions
+
+
+logger = logging.getLogger(__name__)
+
+
+class Mercurial(VersionControl):
+    name = 'hg'
+    dirname = '.hg'
+    repo_name = 'clone'
+    schemes = (
+        'hg', 'hg+file', 'hg+http', 'hg+https', 'hg+ssh', 'hg+static-http',
+    )
+
+    @staticmethod
+    def get_base_rev_args(rev):
+        return [rev]
+
+    def export(self, location, url):
+        # type: (str, HiddenText) -> None
+        """Export the Hg repository at the url to the destination location"""
+        with TempDirectory(kind="export") as temp_dir:
+            self.unpack(temp_dir.path, url=url)
+
+            self.run_command(
+                ['archive', location], show_stdout=False, cwd=temp_dir.path
+            )
+
+    def fetch_new(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        rev_display = rev_options.to_display()
+        logger.info(
+            'Cloning hg %s%s to %s',
+            url,
+            rev_display,
+            display_path(dest),
+        )
+        self.run_command(make_command('clone', '--noupdate', '-q', url, dest))
+        self.run_command(
+            make_command('update', '-q', rev_options.to_args()),
+            cwd=dest,
+        )
+
+    def switch(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        repo_config = os.path.join(dest, self.dirname, 'hgrc')
+        config = configparser.RawConfigParser()
+        try:
+            config.read(repo_config)
+            config.set('paths', 'default', url.secret)
+            with open(repo_config, 'w') as config_file:
+                config.write(config_file)
+        except (OSError, configparser.NoSectionError) as exc:
+            logger.warning(
+                'Could not switch Mercurial repository to %s: %s', url, exc,
+            )
+        else:
+            cmd_args = make_command('update', '-q', rev_options.to_args())
+            self.run_command(cmd_args, cwd=dest)
+
+    def update(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        self.run_command(['pull', '-q'], cwd=dest)
+        cmd_args = make_command('update', '-q', rev_options.to_args())
+        self.run_command(cmd_args, cwd=dest)
+
+    @classmethod
+    def get_remote_url(cls, location):
+        url = cls.run_command(
+            ['showconfig', 'paths.default'],
+            show_stdout=False, cwd=location).strip()
+        if cls._is_local_repository(url):
+            url = path_to_url(url)
+        return url.strip()
+
+    @classmethod
+    def get_revision(cls, location):
+        """
+        Return the repository-local changeset revision number, as an integer.
+        """
+        current_revision = cls.run_command(
+            ['parents', '--template={rev}'],
+            show_stdout=False, cwd=location).strip()
+        return current_revision
+
+    @classmethod
+    def get_requirement_revision(cls, location):
+        """
+        Return the changeset identification hash, as a 40-character
+        hexadecimal string
+        """
+        current_rev_hash = cls.run_command(
+            ['parents', '--template={node}'],
+            show_stdout=False, cwd=location).strip()
+        return current_rev_hash
+
+    @classmethod
+    def is_commit_id_equal(cls, dest, name):
+        """Always assume the versions don't match"""
+        return False
+
+    @classmethod
+    def get_subdirectory(cls, location):
+        """
+        Return the path to setup.py, relative to the repo root.
+        Return None if setup.py is in the repo root.
+        """
+        # find the repo root
+        repo_root = cls.run_command(
+            ['root'], show_stdout=False, cwd=location).strip()
+        if not os.path.isabs(repo_root):
+            repo_root = os.path.abspath(os.path.join(location, repo_root))
+        return find_path_to_setup_from_repo_root(location, repo_root)
+
+    @classmethod
+    def controls_location(cls, location):
+        if super(Mercurial, cls).controls_location(location):
+            return True
+        try:
+            cls.run_command(
+                ['identify'],
+                cwd=location,
+                show_stdout=False,
+                on_returncode='raise',
+                log_failed_cmd=False)
+            return True
+        except (BadCommand, InstallationError):
+            return False
+
+
+vcs.register(Mercurial)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py
new file mode 100644
index 0000000..6c76d1a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py
@@ -0,0 +1,333 @@
+# The following comment should be removed at some point in the future.
+# mypy: disallow-untyped-defs=False
+
+from __future__ import absolute_import
+
+import logging
+import os
+import re
+
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.misc import (
+    display_path,
+    is_console_interactive,
+    rmtree,
+    split_auth_from_netloc,
+)
+from pip._internal.utils.subprocess import make_command
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.vcs.versioncontrol import VersionControl, vcs
+
+_svn_xml_url_re = re.compile('url="([^"]+)"')
+_svn_rev_re = re.compile(r'committed-rev="(\d+)"')
+_svn_info_xml_rev_re = re.compile(r'\s*revision="(\d+)"')
+_svn_info_xml_url_re = re.compile(r'<url>(.*)</url>')
+
+
+if MYPY_CHECK_RUNNING:
+    from typing import Optional, Tuple
+    from pip._internal.utils.subprocess import CommandArgs
+    from pip._internal.utils.misc import HiddenText
+    from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions
+
+
+logger = logging.getLogger(__name__)
+
+
+class Subversion(VersionControl):
+    name = 'svn'
+    dirname = '.svn'
+    repo_name = 'checkout'
+    schemes = ('svn', 'svn+ssh', 'svn+http', 'svn+https', 'svn+svn')
+
+    @classmethod
+    def should_add_vcs_url_prefix(cls, remote_url):
+        return True
+
+    @staticmethod
+    def get_base_rev_args(rev):
+        return ['-r', rev]
+
+    @classmethod
+    def get_revision(cls, location):
+        """
+        Return the maximum revision for all files under a given location
+        """
+        # Note: taken from setuptools.command.egg_info
+        revision = 0
+
+        for base, dirs, files in os.walk(location):
+            if cls.dirname not in dirs:
+                dirs[:] = []
+                continue    # no sense walking uncontrolled subdirs
+            dirs.remove(cls.dirname)
+            entries_fn = os.path.join(base, cls.dirname, 'entries')
+            if not os.path.exists(entries_fn):
+                # FIXME: should we warn?
+                continue
+
+            dirurl, localrev = cls._get_svn_url_rev(base)
+
+            if base == location:
+                base = dirurl + '/'   # save the root url
+            elif not dirurl or not dirurl.startswith(base):
+                dirs[:] = []
+                continue    # not part of the same svn tree, skip it
+            revision = max(revision, localrev)
+        return revision
+
+    @classmethod
+    def get_netloc_and_auth(cls, netloc, scheme):
+        """
+        This override allows the auth information to be passed to svn via the
+        --username and --password options instead of via the URL.
+        """
+        if scheme == 'ssh':
+            # The --username and --password options can't be used for
+            # svn+ssh URLs, so keep the auth information in the URL.
+            return super(Subversion, cls).get_netloc_and_auth(netloc, scheme)
+
+        return split_auth_from_netloc(netloc)
+
+    @classmethod
+    def get_url_rev_and_auth(cls, url):
+        # type: (str) -> Tuple[str, Optional[str], AuthInfo]
+        # hotfix the URL scheme after removing svn+ from svn+ssh:// readd it
+        url, rev, user_pass = super(Subversion, cls).get_url_rev_and_auth(url)
+        if url.startswith('ssh://'):
+            url = 'svn+' + url
+        return url, rev, user_pass
+
+    @staticmethod
+    def make_rev_args(username, password):
+        # type: (Optional[str], Optional[HiddenText]) -> CommandArgs
+        extra_args = []  # type: CommandArgs
+        if username:
+            extra_args += ['--username', username]
+        if password:
+            extra_args += ['--password', password]
+
+        return extra_args
+
+    @classmethod
+    def get_remote_url(cls, location):
+        # In cases where the source is in a subdirectory, not alongside
+        # setup.py we have to look up in the location until we find a real
+        # setup.py
+        orig_location = location
+        while not os.path.exists(os.path.join(location, 'setup.py')):
+            last_location = location
+            location = os.path.dirname(location)
+            if location == last_location:
+                # We've traversed up to the root of the filesystem without
+                # finding setup.py
+                logger.warning(
+                    "Could not find setup.py for directory %s (tried all "
+                    "parent directories)",
+                    orig_location,
+                )
+                return None
+
+        return cls._get_svn_url_rev(location)[0]
+
+    @classmethod
+    def _get_svn_url_rev(cls, location):
+        from pip._internal.exceptions import InstallationError
+
+        entries_path = os.path.join(location, cls.dirname, 'entries')
+        if os.path.exists(entries_path):
+            with open(entries_path) as f:
+                data = f.read()
+        else:  # subversion >= 1.7 does not have the 'entries' file
+            data = ''
+
+        if (data.startswith('8') or
+                data.startswith('9') or
+                data.startswith('10')):
+            data = list(map(str.splitlines, data.split('\n\x0c\n')))
+            del data[0][0]  # get rid of the '8'
+            url = data[0][3]
+            revs = [int(d[9]) for d in data if len(d) > 9 and d[9]] + [0]
+        elif data.startswith('<?xml'):
+            match = _svn_xml_url_re.search(data)
+            if not match:
+                raise ValueError('Badly formatted data: %r' % data)
+            url = match.group(1)    # get repository URL
+            revs = [int(m.group(1)) for m in _svn_rev_re.finditer(data)] + [0]
+        else:
+            try:
+                # subversion >= 1.7
+                # Note that using get_remote_call_options is not necessary here
+                # because `svn info` is being run against a local directory.
+                # We don't need to worry about making sure interactive mode
+                # is being used to prompt for passwords, because passwords
+                # are only potentially needed for remote server requests.
+                xml = cls.run_command(
+                    ['info', '--xml', location],
+                    show_stdout=False,
+                )
+                url = _svn_info_xml_url_re.search(xml).group(1)
+                revs = [
+                    int(m.group(1)) for m in _svn_info_xml_rev_re.finditer(xml)
+                ]
+            except InstallationError:
+                url, revs = None, []
+
+        if revs:
+            rev = max(revs)
+        else:
+            rev = 0
+
+        return url, rev
+
+    @classmethod
+    def is_commit_id_equal(cls, dest, name):
+        """Always assume the versions don't match"""
+        return False
+
+    def __init__(self, use_interactive=None):
+        # type: (bool) -> None
+        if use_interactive is None:
+            use_interactive = is_console_interactive()
+        self.use_interactive = use_interactive
+
+        # This member is used to cache the fetched version of the current
+        # ``svn`` client.
+        # Special value definitions:
+        #   None: Not evaluated yet.
+        #   Empty tuple: Could not parse version.
+        self._vcs_version = None  # type: Optional[Tuple[int, ...]]
+
+        super(Subversion, self).__init__()
+
+    def call_vcs_version(self):
+        # type: () -> Tuple[int, ...]
+        """Query the version of the currently installed Subversion client.
+
+        :return: A tuple containing the parts of the version information or
+            ``()`` if the version returned from ``svn`` could not be parsed.
+        :raises: BadCommand: If ``svn`` is not installed.
+        """
+        # Example versions:
+        #   svn, version 1.10.3 (r1842928)
+        #      compiled Feb 25 2019, 14:20:39 on x86_64-apple-darwin17.0.0
+        #   svn, version 1.7.14 (r1542130)
+        #      compiled Mar 28 2018, 08:49:13 on x86_64-pc-linux-gnu
+        version_prefix = 'svn, version '
+        version = self.run_command(['--version'], show_stdout=False)
+        if not version.startswith(version_prefix):
+            return ()
+
+        version = version[len(version_prefix):].split()[0]
+        version_list = version.split('.')
+        try:
+            parsed_version = tuple(map(int, version_list))
+        except ValueError:
+            return ()
+
+        return parsed_version
+
+    def get_vcs_version(self):
+        # type: () -> Tuple[int, ...]
+        """Return the version of the currently installed Subversion client.
+
+        If the version of the Subversion client has already been queried,
+        a cached value will be used.
+
+        :return: A tuple containing the parts of the version information or
+            ``()`` if the version returned from ``svn`` could not be parsed.
+        :raises: BadCommand: If ``svn`` is not installed.
+        """
+        if self._vcs_version is not None:
+            # Use cached version, if available.
+            # If parsing the version failed previously (empty tuple),
+            # do not attempt to parse it again.
+            return self._vcs_version
+
+        vcs_version = self.call_vcs_version()
+        self._vcs_version = vcs_version
+        return vcs_version
+
+    def get_remote_call_options(self):
+        # type: () -> CommandArgs
+        """Return options to be used on calls to Subversion that contact the server.
+
+        These options are applicable for the following ``svn`` subcommands used
+        in this class.
+
+            - checkout
+            - export
+            - switch
+            - update
+
+        :return: A list of command line arguments to pass to ``svn``.
+        """
+        if not self.use_interactive:
+            # --non-interactive switch is available since Subversion 0.14.4.
+            # Subversion < 1.8 runs in interactive mode by default.
+            return ['--non-interactive']
+
+        svn_version = self.get_vcs_version()
+        # By default, Subversion >= 1.8 runs in non-interactive mode if
+        # stdin is not a TTY. Since that is how pip invokes SVN, in
+        # call_subprocess(), pip must pass --force-interactive to ensure
+        # the user can be prompted for a password, if required.
+        #   SVN added the --force-interactive option in SVN 1.8. Since
+        # e.g. RHEL/CentOS 7, which is supported until 2024, ships with
+        # SVN 1.7, pip should continue to support SVN 1.7. Therefore, pip
+        # can't safely add the option if the SVN version is < 1.8 (or unknown).
+        if svn_version >= (1, 8):
+            return ['--force-interactive']
+
+        return []
+
+    def export(self, location, url):
+        # type: (str, HiddenText) -> None
+        """Export the svn repository at the url to the destination location"""
+        url, rev_options = self.get_url_rev_options(url)
+
+        logger.info('Exporting svn repository %s to %s', url, location)
+        with indent_log():
+            if os.path.exists(location):
+                # Subversion doesn't like to check out over an existing
+                # directory --force fixes this, but was only added in svn 1.5
+                rmtree(location)
+            cmd_args = make_command(
+                'export', self.get_remote_call_options(),
+                rev_options.to_args(), url, location,
+            )
+            self.run_command(cmd_args, show_stdout=False)
+
+    def fetch_new(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        rev_display = rev_options.to_display()
+        logger.info(
+            'Checking out %s%s to %s',
+            url,
+            rev_display,
+            display_path(dest),
+        )
+        cmd_args = make_command(
+            'checkout', '-q', self.get_remote_call_options(),
+            rev_options.to_args(), url, dest,
+        )
+        self.run_command(cmd_args)
+
+    def switch(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        cmd_args = make_command(
+            'switch', self.get_remote_call_options(), rev_options.to_args(),
+            url, dest,
+        )
+        self.run_command(cmd_args)
+
+    def update(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        cmd_args = make_command(
+            'update', self.get_remote_call_options(), rev_options.to_args(),
+            dest,
+        )
+        self.run_command(cmd_args)
+
+
+vcs.register(Subversion)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py
new file mode 100644
index 0000000..7cfd568
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py
@@ -0,0 +1,700 @@
+"""Handles all VCS (version control) support"""
+
+from __future__ import absolute_import
+
+import errno
+import logging
+import os
+import shutil
+import sys
+
+from pip._vendor import pkg_resources
+from pip._vendor.six.moves.urllib import parse as urllib_parse
+
+from pip._internal.exceptions import BadCommand
+from pip._internal.utils.compat import samefile
+from pip._internal.utils.misc import (
+    ask_path_exists,
+    backup_dir,
+    display_path,
+    hide_url,
+    hide_value,
+    rmtree,
+)
+from pip._internal.utils.subprocess import call_subprocess, make_command
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.urls import get_url_scheme
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Any, Dict, Iterable, Iterator, List, Mapping, Optional, Text, Tuple,
+        Type, Union
+    )
+    from pip._internal.utils.ui import SpinnerInterface
+    from pip._internal.utils.misc import HiddenText
+    from pip._internal.utils.subprocess import CommandArgs
+
+    AuthInfo = Tuple[Optional[str], Optional[str]]
+
+
+__all__ = ['vcs']
+
+
+logger = logging.getLogger(__name__)
+
+
+def is_url(name):
+    # type: (Union[str, Text]) -> bool
+    """
+    Return true if the name looks like a URL.
+    """
+    scheme = get_url_scheme(name)
+    if scheme is None:
+        return False
+    return scheme in ['http', 'https', 'file', 'ftp'] + vcs.all_schemes
+
+
+def make_vcs_requirement_url(repo_url, rev, project_name, subdir=None):
+    # type: (str, str, str, Optional[str]) -> str
+    """
+    Return the URL for a VCS requirement.
+
+    Args:
+      repo_url: the remote VCS url, with any needed VCS prefix (e.g. "git+").
+      project_name: the (unescaped) project name.
+    """
+    egg_project_name = pkg_resources.to_filename(project_name)
+    req = '{}@{}#egg={}'.format(repo_url, rev, egg_project_name)
+    if subdir:
+        req += '&subdirectory={}'.format(subdir)
+
+    return req
+
+
+def find_path_to_setup_from_repo_root(location, repo_root):
+    # type: (str, str) -> Optional[str]
+    """
+    Find the path to `setup.py` by searching up the filesystem from `location`.
+    Return the path to `setup.py` relative to `repo_root`.
+    Return None if `setup.py` is in `repo_root` or cannot be found.
+    """
+    # find setup.py
+    orig_location = location
+    while not os.path.exists(os.path.join(location, 'setup.py')):
+        last_location = location
+        location = os.path.dirname(location)
+        if location == last_location:
+            # We've traversed up to the root of the filesystem without
+            # finding setup.py
+            logger.warning(
+                "Could not find setup.py for directory %s (tried all "
+                "parent directories)",
+                orig_location,
+            )
+            return None
+
+    if samefile(repo_root, location):
+        return None
+
+    return os.path.relpath(location, repo_root)
+
+
+class RemoteNotFoundError(Exception):
+    pass
+
+
+class RevOptions(object):
+
+    """
+    Encapsulates a VCS-specific revision to install, along with any VCS
+    install options.
+
+    Instances of this class should be treated as if immutable.
+    """
+
+    def __init__(
+        self,
+        vc_class,  # type: Type[VersionControl]
+        rev=None,  # type: Optional[str]
+        extra_args=None,  # type: Optional[CommandArgs]
+    ):
+        # type: (...) -> None
+        """
+        Args:
+          vc_class: a VersionControl subclass.
+          rev: the name of the revision to install.
+          extra_args: a list of extra options.
+        """
+        if extra_args is None:
+            extra_args = []
+
+        self.extra_args = extra_args
+        self.rev = rev
+        self.vc_class = vc_class
+        self.branch_name = None  # type: Optional[str]
+
+    def __repr__(self):
+        # type: () -> str
+        return '<RevOptions {}: rev={!r}>'.format(self.vc_class.name, self.rev)
+
+    @property
+    def arg_rev(self):
+        # type: () -> Optional[str]
+        if self.rev is None:
+            return self.vc_class.default_arg_rev
+
+        return self.rev
+
+    def to_args(self):
+        # type: () -> CommandArgs
+        """
+        Return the VCS-specific command arguments.
+        """
+        args = []  # type: CommandArgs
+        rev = self.arg_rev
+        if rev is not None:
+            args += self.vc_class.get_base_rev_args(rev)
+        args += self.extra_args
+
+        return args
+
+    def to_display(self):
+        # type: () -> str
+        if not self.rev:
+            return ''
+
+        return ' (to revision {})'.format(self.rev)
+
+    def make_new(self, rev):
+        # type: (str) -> RevOptions
+        """
+        Make a copy of the current instance, but with a new rev.
+
+        Args:
+          rev: the name of the revision for the new object.
+        """
+        return self.vc_class.make_rev_options(rev, extra_args=self.extra_args)
+
+
+class VcsSupport(object):
+    _registry = {}  # type: Dict[str, VersionControl]
+    schemes = ['ssh', 'git', 'hg', 'bzr', 'sftp', 'svn']
+
+    def __init__(self):
+        # type: () -> None
+        # Register more schemes with urlparse for various version control
+        # systems
+        urllib_parse.uses_netloc.extend(self.schemes)
+        # Python >= 2.7.4, 3.3 doesn't have uses_fragment
+        if getattr(urllib_parse, 'uses_fragment', None):
+            urllib_parse.uses_fragment.extend(self.schemes)
+        super(VcsSupport, self).__init__()
+
+    def __iter__(self):
+        # type: () -> Iterator[str]
+        return self._registry.__iter__()
+
+    @property
+    def backends(self):
+        # type: () -> List[VersionControl]
+        return list(self._registry.values())
+
+    @property
+    def dirnames(self):
+        # type: () -> List[str]
+        return [backend.dirname for backend in self.backends]
+
+    @property
+    def all_schemes(self):
+        # type: () -> List[str]
+        schemes = []  # type: List[str]
+        for backend in self.backends:
+            schemes.extend(backend.schemes)
+        return schemes
+
+    def register(self, cls):
+        # type: (Type[VersionControl]) -> None
+        if not hasattr(cls, 'name'):
+            logger.warning('Cannot register VCS %s', cls.__name__)
+            return
+        if cls.name not in self._registry:
+            self._registry[cls.name] = cls()
+            logger.debug('Registered VCS backend: %s', cls.name)
+
+    def unregister(self, name):
+        # type: (str) -> None
+        if name in self._registry:
+            del self._registry[name]
+
+    def get_backend_for_dir(self, location):
+        # type: (str) -> Optional[VersionControl]
+        """
+        Return a VersionControl object if a repository of that type is found
+        at the given directory.
+        """
+        for vcs_backend in self._registry.values():
+            if vcs_backend.controls_location(location):
+                logger.debug('Determine that %s uses VCS: %s',
+                             location, vcs_backend.name)
+                return vcs_backend
+        return None
+
+    def get_backend_for_scheme(self, scheme):
+        # type: (str) -> Optional[VersionControl]
+        """
+        Return a VersionControl object or None.
+        """
+        for vcs_backend in self._registry.values():
+            if scheme in vcs_backend.schemes:
+                return vcs_backend
+        return None
+
+    def get_backend(self, name):
+        # type: (str) -> Optional[VersionControl]
+        """
+        Return a VersionControl object or None.
+        """
+        name = name.lower()
+        return self._registry.get(name)
+
+
+vcs = VcsSupport()
+
+
+class VersionControl(object):
+    name = ''
+    dirname = ''
+    repo_name = ''
+    # List of supported schemes for this Version Control
+    schemes = ()  # type: Tuple[str, ...]
+    # Iterable of environment variable names to pass to call_subprocess().
+    unset_environ = ()  # type: Tuple[str, ...]
+    default_arg_rev = None  # type: Optional[str]
+
+    @classmethod
+    def should_add_vcs_url_prefix(cls, remote_url):
+        # type: (str) -> bool
+        """
+        Return whether the vcs prefix (e.g. "git+") should be added to a
+        repository's remote url when used in a requirement.
+        """
+        return not remote_url.lower().startswith('{}:'.format(cls.name))
+
+    @classmethod
+    def get_subdirectory(cls, location):
+        # type: (str) -> Optional[str]
+        """
+        Return the path to setup.py, relative to the repo root.
+        Return None if setup.py is in the repo root.
+        """
+        return None
+
+    @classmethod
+    def get_requirement_revision(cls, repo_dir):
+        # type: (str) -> str
+        """
+        Return the revision string that should be used in a requirement.
+        """
+        return cls.get_revision(repo_dir)
+
+    @classmethod
+    def get_src_requirement(cls, repo_dir, project_name):
+        # type: (str, str) -> Optional[str]
+        """
+        Return the requirement string to use to redownload the files
+        currently at the given repository directory.
+
+        Args:
+          project_name: the (unescaped) project name.
+
+        The return value has a form similar to the following:
+
+            {repository_url}@{revision}#egg={project_name}
+        """
+        repo_url = cls.get_remote_url(repo_dir)
+        if repo_url is None:
+            return None
+
+        if cls.should_add_vcs_url_prefix(repo_url):
+            repo_url = '{}+{}'.format(cls.name, repo_url)
+
+        revision = cls.get_requirement_revision(repo_dir)
+        subdir = cls.get_subdirectory(repo_dir)
+        req = make_vcs_requirement_url(repo_url, revision, project_name,
+                                       subdir=subdir)
+
+        return req
+
+    @staticmethod
+    def get_base_rev_args(rev):
+        # type: (str) -> List[str]
+        """
+        Return the base revision arguments for a vcs command.
+
+        Args:
+          rev: the name of a revision to install.  Cannot be None.
+        """
+        raise NotImplementedError
+
+    def is_immutable_rev_checkout(self, url, dest):
+        # type: (str, str) -> bool
+        """
+        Return true if the commit hash checked out at dest matches
+        the revision in url.
+
+        Always return False, if the VCS does not support immutable commit
+        hashes.
+
+        This method does not check if there are local uncommitted changes
+        in dest after checkout, as pip currently has no use case for that.
+        """
+        return False
+
+    @classmethod
+    def make_rev_options(cls, rev=None, extra_args=None):
+        # type: (Optional[str], Optional[CommandArgs]) -> RevOptions
+        """
+        Return a RevOptions object.
+
+        Args:
+          rev: the name of a revision to install.
+          extra_args: a list of extra options.
+        """
+        return RevOptions(cls, rev, extra_args=extra_args)
+
+    @classmethod
+    def _is_local_repository(cls, repo):
+        # type: (str) -> bool
+        """
+           posix absolute paths start with os.path.sep,
+           win32 ones start with drive (like c:\\folder)
+        """
+        drive, tail = os.path.splitdrive(repo)
+        return repo.startswith(os.path.sep) or bool(drive)
+
+    def export(self, location, url):
+        # type: (str, HiddenText) -> None
+        """
+        Export the repository at the url to the destination location
+        i.e. only download the files, without vcs informations
+
+        :param url: the repository URL starting with a vcs prefix.
+        """
+        raise NotImplementedError
+
+    @classmethod
+    def get_netloc_and_auth(cls, netloc, scheme):
+        # type: (str, str) -> Tuple[str, Tuple[Optional[str], Optional[str]]]
+        """
+        Parse the repository URL's netloc, and return the new netloc to use
+        along with auth information.
+
+        Args:
+          netloc: the original repository URL netloc.
+          scheme: the repository URL's scheme without the vcs prefix.
+
+        This is mainly for the Subversion class to override, so that auth
+        information can be provided via the --username and --password options
+        instead of through the URL.  For other subclasses like Git without
+        such an option, auth information must stay in the URL.
+
+        Returns: (netloc, (username, password)).
+        """
+        return netloc, (None, None)
+
+    @classmethod
+    def get_url_rev_and_auth(cls, url):
+        # type: (str) -> Tuple[str, Optional[str], AuthInfo]
+        """
+        Parse the repository URL to use, and return the URL, revision,
+        and auth info to use.
+
+        Returns: (url, rev, (username, password)).
+        """
+        scheme, netloc, path, query, frag = urllib_parse.urlsplit(url)
+        if '+' not in scheme:
+            raise ValueError(
+                "Sorry, {!r} is a malformed VCS url. "
+                "The format is <vcs>+<protocol>://<url>, "
+                "e.g. svn+http://myrepo/svn/MyApp#egg=MyApp".format(url)
+            )
+        # Remove the vcs prefix.
+        scheme = scheme.split('+', 1)[1]
+        netloc, user_pass = cls.get_netloc_and_auth(netloc, scheme)
+        rev = None
+        if '@' in path:
+            path, rev = path.rsplit('@', 1)
+        url = urllib_parse.urlunsplit((scheme, netloc, path, query, ''))
+        return url, rev, user_pass
+
+    @staticmethod
+    def make_rev_args(username, password):
+        # type: (Optional[str], Optional[HiddenText]) -> CommandArgs
+        """
+        Return the RevOptions "extra arguments" to use in obtain().
+        """
+        return []
+
+    def get_url_rev_options(self, url):
+        # type: (HiddenText) -> Tuple[HiddenText, RevOptions]
+        """
+        Return the URL and RevOptions object to use in obtain() and in
+        some cases export(), as a tuple (url, rev_options).
+        """
+        secret_url, rev, user_pass = self.get_url_rev_and_auth(url.secret)
+        username, secret_password = user_pass
+        password = None  # type: Optional[HiddenText]
+        if secret_password is not None:
+            password = hide_value(secret_password)
+        extra_args = self.make_rev_args(username, password)
+        rev_options = self.make_rev_options(rev, extra_args=extra_args)
+
+        return hide_url(secret_url), rev_options
+
+    @staticmethod
+    def normalize_url(url):
+        # type: (str) -> str
+        """
+        Normalize a URL for comparison by unquoting it and removing any
+        trailing slash.
+        """
+        return urllib_parse.unquote(url).rstrip('/')
+
+    @classmethod
+    def compare_urls(cls, url1, url2):
+        # type: (str, str) -> bool
+        """
+        Compare two repo URLs for identity, ignoring incidental differences.
+        """
+        return (cls.normalize_url(url1) == cls.normalize_url(url2))
+
+    def fetch_new(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        """
+        Fetch a revision from a repository, in the case that this is the
+        first fetch from the repository.
+
+        Args:
+          dest: the directory to fetch the repository to.
+          rev_options: a RevOptions object.
+        """
+        raise NotImplementedError
+
+    def switch(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        """
+        Switch the repo at ``dest`` to point to ``URL``.
+
+        Args:
+          rev_options: a RevOptions object.
+        """
+        raise NotImplementedError
+
+    def update(self, dest, url, rev_options):
+        # type: (str, HiddenText, RevOptions) -> None
+        """
+        Update an already-existing repo to the given ``rev_options``.
+
+        Args:
+          rev_options: a RevOptions object.
+        """
+        raise NotImplementedError
+
+    @classmethod
+    def is_commit_id_equal(cls, dest, name):
+        # type: (str, Optional[str]) -> bool
+        """
+        Return whether the id of the current commit equals the given name.
+
+        Args:
+          dest: the repository directory.
+          name: a string name.
+        """
+        raise NotImplementedError
+
+    def obtain(self, dest, url):
+        # type: (str, HiddenText) -> None
+        """
+        Install or update in editable mode the package represented by this
+        VersionControl object.
+
+        :param dest: the repository directory in which to install or update.
+        :param url: the repository URL starting with a vcs prefix.
+        """
+        url, rev_options = self.get_url_rev_options(url)
+
+        if not os.path.exists(dest):
+            self.fetch_new(dest, url, rev_options)
+            return
+
+        rev_display = rev_options.to_display()
+        if self.is_repository_directory(dest):
+            existing_url = self.get_remote_url(dest)
+            if self.compare_urls(existing_url, url.secret):
+                logger.debug(
+                    '%s in %s exists, and has correct URL (%s)',
+                    self.repo_name.title(),
+                    display_path(dest),
+                    url,
+                )
+                if not self.is_commit_id_equal(dest, rev_options.rev):
+                    logger.info(
+                        'Updating %s %s%s',
+                        display_path(dest),
+                        self.repo_name,
+                        rev_display,
+                    )
+                    self.update(dest, url, rev_options)
+                else:
+                    logger.info('Skipping because already up-to-date.')
+                return
+
+            logger.warning(
+                '%s %s in %s exists with URL %s',
+                self.name,
+                self.repo_name,
+                display_path(dest),
+                existing_url,
+            )
+            prompt = ('(s)witch, (i)gnore, (w)ipe, (b)ackup ',
+                      ('s', 'i', 'w', 'b'))
+        else:
+            logger.warning(
+                'Directory %s already exists, and is not a %s %s.',
+                dest,
+                self.name,
+                self.repo_name,
+            )
+            # https://github.com/python/mypy/issues/1174
+            prompt = ('(i)gnore, (w)ipe, (b)ackup ',  # type: ignore
+                      ('i', 'w', 'b'))
+
+        logger.warning(
+            'The plan is to install the %s repository %s',
+            self.name,
+            url,
+        )
+        response = ask_path_exists('What to do?  %s' % prompt[0], prompt[1])
+
+        if response == 'a':
+            sys.exit(-1)
+
+        if response == 'w':
+            logger.warning('Deleting %s', display_path(dest))
+            rmtree(dest)
+            self.fetch_new(dest, url, rev_options)
+            return
+
+        if response == 'b':
+            dest_dir = backup_dir(dest)
+            logger.warning(
+                'Backing up %s to %s', display_path(dest), dest_dir,
+            )
+            shutil.move(dest, dest_dir)
+            self.fetch_new(dest, url, rev_options)
+            return
+
+        # Do nothing if the response is "i".
+        if response == 's':
+            logger.info(
+                'Switching %s %s to %s%s',
+                self.repo_name,
+                display_path(dest),
+                url,
+                rev_display,
+            )
+            self.switch(dest, url, rev_options)
+
+    def unpack(self, location, url):
+        # type: (str, HiddenText) -> None
+        """
+        Clean up current location and download the url repository
+        (and vcs infos) into location
+
+        :param url: the repository URL starting with a vcs prefix.
+        """
+        if os.path.exists(location):
+            rmtree(location)
+        self.obtain(location, url=url)
+
+    @classmethod
+    def get_remote_url(cls, location):
+        # type: (str) -> str
+        """
+        Return the url used at location
+
+        Raises RemoteNotFoundError if the repository does not have a remote
+        url configured.
+        """
+        raise NotImplementedError
+
+    @classmethod
+    def get_revision(cls, location):
+        # type: (str) -> str
+        """
+        Return the current commit id of the files at the given location.
+        """
+        raise NotImplementedError
+
+    @classmethod
+    def run_command(
+        cls,
+        cmd,  # type: Union[List[str], CommandArgs]
+        show_stdout=True,  # type: bool
+        cwd=None,  # type: Optional[str]
+        on_returncode='raise',  # type: str
+        extra_ok_returncodes=None,  # type: Optional[Iterable[int]]
+        command_desc=None,  # type: Optional[str]
+        extra_environ=None,  # type: Optional[Mapping[str, Any]]
+        spinner=None,  # type: Optional[SpinnerInterface]
+        log_failed_cmd=True  # type: bool
+    ):
+        # type: (...) -> Text
+        """
+        Run a VCS subcommand
+        This is simply a wrapper around call_subprocess that adds the VCS
+        command name, and checks that the VCS is available
+        """
+        cmd = make_command(cls.name, *cmd)
+        try:
+            return call_subprocess(cmd, show_stdout, cwd,
+                                   on_returncode=on_returncode,
+                                   extra_ok_returncodes=extra_ok_returncodes,
+                                   command_desc=command_desc,
+                                   extra_environ=extra_environ,
+                                   unset_environ=cls.unset_environ,
+                                   spinner=spinner,
+                                   log_failed_cmd=log_failed_cmd)
+        except OSError as e:
+            # errno.ENOENT = no such file or directory
+            # In other words, the VCS executable isn't available
+            if e.errno == errno.ENOENT:
+                raise BadCommand(
+                    'Cannot find command %r - do you have '
+                    '%r installed and in your '
+                    'PATH?' % (cls.name, cls.name))
+            else:
+                raise  # re-raise exception if a different error occurred
+
+    @classmethod
+    def is_repository_directory(cls, path):
+        # type: (str) -> bool
+        """
+        Return whether a directory path is a repository directory.
+        """
+        logger.debug('Checking in %s for %s (%s)...',
+                     path, cls.dirname, cls.name)
+        return os.path.exists(os.path.join(path, cls.dirname))
+
+    @classmethod
+    def controls_location(cls, location):
+        # type: (str) -> bool
+        """
+        Check if a location is controlled by the vcs.
+        It is meant to be overridden to implement smarter detection
+        mechanisms for specific vcs.
+
+        This can do more than is_repository_directory() alone.  For example,
+        the Git override checks that Git is actually available.
+        """
+        return cls.is_repository_directory(location)
diff --git a/iot_env/lib/python3.8/site-packages/pip/_internal/wheel_builder.py b/iot_env/lib/python3.8/site-packages/pip/_internal/wheel_builder.py
new file mode 100644
index 0000000..7c7820d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_internal/wheel_builder.py
@@ -0,0 +1,305 @@
+"""Orchestrator for building wheels from InstallRequirements.
+"""
+
+# The following comment should be removed at some point in the future.
+# mypy: strict-optional=False
+
+import logging
+import os.path
+import re
+import shutil
+
+from pip._internal.models.link import Link
+from pip._internal.operations.build.wheel import build_wheel_pep517
+from pip._internal.operations.build.wheel_legacy import build_wheel_legacy
+from pip._internal.utils.logging import indent_log
+from pip._internal.utils.misc import ensure_dir, hash_file, is_wheel_installed
+from pip._internal.utils.setuptools_build import make_setuptools_clean_args
+from pip._internal.utils.subprocess import call_subprocess
+from pip._internal.utils.temp_dir import TempDirectory
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+from pip._internal.utils.urls import path_to_url
+from pip._internal.vcs import vcs
+
+if MYPY_CHECK_RUNNING:
+    from typing import (
+        Any, Callable, Iterable, List, Optional, Pattern, Tuple,
+    )
+
+    from pip._internal.cache import WheelCache
+    from pip._internal.req.req_install import InstallRequirement
+
+    BinaryAllowedPredicate = Callable[[InstallRequirement], bool]
+    BuildResult = Tuple[List[InstallRequirement], List[InstallRequirement]]
+
+logger = logging.getLogger(__name__)
+
+
+def _contains_egg_info(
+        s, _egg_info_re=re.compile(r'([a-z0-9_.]+)-([a-z0-9_.!+-]+)', re.I)):
+    # type: (str, Pattern[str]) -> bool
+    """Determine whether the string looks like an egg_info.
+
+    :param s: The string to parse. E.g. foo-2.1
+    """
+    return bool(_egg_info_re.search(s))
+
+
+def _should_build(
+    req,  # type: InstallRequirement
+    need_wheel,  # type: bool
+    check_binary_allowed,  # type: BinaryAllowedPredicate
+):
+    # type: (...) -> bool
+    """Return whether an InstallRequirement should be built into a wheel."""
+    if req.constraint:
+        # never build requirements that are merely constraints
+        return False
+    if req.is_wheel:
+        if need_wheel:
+            logger.info(
+                'Skipping %s, due to already being wheel.', req.name,
+            )
+        return False
+
+    if need_wheel:
+        # i.e. pip wheel, not pip install
+        return True
+
+    # From this point, this concerns the pip install command only
+    # (need_wheel=False).
+
+    if not req.use_pep517 and not is_wheel_installed():
+        # we don't build legacy requirements if wheel is not installed
+        return False
+
+    if req.editable or not req.source_dir:
+        return False
+
+    if not check_binary_allowed(req):
+        logger.info(
+            "Skipping wheel build for %s, due to binaries "
+            "being disabled for it.", req.name,
+        )
+        return False
+
+    return True
+
+
+def should_build_for_wheel_command(
+    req,  # type: InstallRequirement
+):
+    # type: (...) -> bool
+    return _should_build(
+        req, need_wheel=True, check_binary_allowed=_always_true
+    )
+
+
+def should_build_for_install_command(
+    req,  # type: InstallRequirement
+    check_binary_allowed,  # type: BinaryAllowedPredicate
+):
+    # type: (...) -> bool
+    return _should_build(
+        req, need_wheel=False, check_binary_allowed=check_binary_allowed
+    )
+
+
+def _should_cache(
+    req,  # type: InstallRequirement
+):
+    # type: (...) -> Optional[bool]
+    """
+    Return whether a built InstallRequirement can be stored in the persistent
+    wheel cache, assuming the wheel cache is available, and _should_build()
+    has determined a wheel needs to be built.
+    """
+    if not should_build_for_install_command(
+        req, check_binary_allowed=_always_true
+    ):
+        # never cache if pip install would not have built
+        # (editable mode, etc)
+        return False
+
+    if req.link and req.link.is_vcs:
+        # VCS checkout. Do not cache
+        # unless it points to an immutable commit hash.
+        assert not req.editable
+        assert req.source_dir
+        vcs_backend = vcs.get_backend_for_scheme(req.link.scheme)
+        assert vcs_backend
+        if vcs_backend.is_immutable_rev_checkout(req.link.url, req.source_dir):
+            return True
+        return False
+
+    base, ext = req.link.splitext()
+    if _contains_egg_info(base):
+        return True
+
+    # Otherwise, do not cache.
+    return False
+
+
+def _get_cache_dir(
+    req,  # type: InstallRequirement
+    wheel_cache,  # type: WheelCache
+):
+    # type: (...) -> str
+    """Return the persistent or temporary cache directory where the built
+    wheel need to be stored.
+    """
+    cache_available = bool(wheel_cache.cache_dir)
+    if cache_available and _should_cache(req):
+        cache_dir = wheel_cache.get_path_for_link(req.link)
+    else:
+        cache_dir = wheel_cache.get_ephem_path_for_link(req.link)
+    return cache_dir
+
+
+def _always_true(_):
+    # type: (Any) -> bool
+    return True
+
+
+def _build_one(
+    req,  # type: InstallRequirement
+    output_dir,  # type: str
+    build_options,  # type: List[str]
+    global_options,  # type: List[str]
+):
+    # type: (...) -> Optional[str]
+    """Build one wheel.
+
+    :return: The filename of the built wheel, or None if the build failed.
+    """
+    try:
+        ensure_dir(output_dir)
+    except OSError as e:
+        logger.warning(
+            "Building wheel for %s failed: %s",
+            req.name, e,
+        )
+        return None
+
+    # Install build deps into temporary directory (PEP 518)
+    with req.build_env:
+        return _build_one_inside_env(
+            req, output_dir, build_options, global_options
+        )
+
+
+def _build_one_inside_env(
+    req,  # type: InstallRequirement
+    output_dir,  # type: str
+    build_options,  # type: List[str]
+    global_options,  # type: List[str]
+):
+    # type: (...) -> Optional[str]
+    with TempDirectory(kind="wheel") as temp_dir:
+        if req.use_pep517:
+            wheel_path = build_wheel_pep517(
+                name=req.name,
+                backend=req.pep517_backend,
+                metadata_directory=req.metadata_directory,
+                build_options=build_options,
+                tempd=temp_dir.path,
+            )
+        else:
+            wheel_path = build_wheel_legacy(
+                name=req.name,
+                setup_py_path=req.setup_py_path,
+                source_dir=req.unpacked_source_directory,
+                global_options=global_options,
+                build_options=build_options,
+                tempd=temp_dir.path,
+            )
+
+        if wheel_path is not None:
+            wheel_name = os.path.basename(wheel_path)
+            dest_path = os.path.join(output_dir, wheel_name)
+            try:
+                wheel_hash, length = hash_file(wheel_path)
+                shutil.move(wheel_path, dest_path)
+                logger.info('Created wheel for %s: '
+                            'filename=%s size=%d sha256=%s',
+                            req.name, wheel_name, length,
+                            wheel_hash.hexdigest())
+                logger.info('Stored in directory: %s', output_dir)
+                return dest_path
+            except Exception as e:
+                logger.warning(
+                    "Building wheel for %s failed: %s",
+                    req.name, e,
+                )
+        # Ignore return, we can't do anything else useful.
+        if not req.use_pep517:
+            _clean_one_legacy(req, global_options)
+        return None
+
+
+def _clean_one_legacy(req, global_options):
+    # type: (InstallRequirement, List[str]) -> bool
+    clean_args = make_setuptools_clean_args(
+        req.setup_py_path,
+        global_options=global_options,
+    )
+
+    logger.info('Running setup.py clean for %s', req.name)
+    try:
+        call_subprocess(clean_args, cwd=req.source_dir)
+        return True
+    except Exception:
+        logger.error('Failed cleaning build dir for %s', req.name)
+        return False
+
+
+def build(
+    requirements,  # type: Iterable[InstallRequirement]
+    wheel_cache,  # type: WheelCache
+    build_options,  # type: List[str]
+    global_options,  # type: List[str]
+):
+    # type: (...) -> BuildResult
+    """Build wheels.
+
+    :return: The list of InstallRequirement that succeeded to build and
+        the list of InstallRequirement that failed to build.
+    """
+    if not requirements:
+        return [], []
+
+    # Build the wheels.
+    logger.info(
+        'Building wheels for collected packages: %s',
+        ', '.join(req.name for req in requirements),
+    )
+
+    with indent_log():
+        build_successes, build_failures = [], []
+        for req in requirements:
+            cache_dir = _get_cache_dir(req, wheel_cache)
+            wheel_file = _build_one(
+                req, cache_dir, build_options, global_options
+            )
+            if wheel_file:
+                # Update the link for this.
+                req.link = Link(path_to_url(wheel_file))
+                req.local_file_path = req.link.file_path
+                assert req.link.is_wheel
+                build_successes.append(req)
+            else:
+                build_failures.append(req)
+
+    # notify success/failure
+    if build_successes:
+        logger.info(
+            'Successfully built %s',
+            ' '.join([req.name for req in build_successes]),
+        )
+    if build_failures:
+        logger.info(
+            'Failed to build %s',
+            ' '.join([req.name for req in build_failures]),
+        )
+    # Return a list of requirements that failed to build
+    return build_successes, build_failures
diff --git a/iot_env/lib/python3.8/site-packages/pip/_vendor/__init__.py b/iot_env/lib/python3.8/site-packages/pip/_vendor/__init__.py
new file mode 100644
index 0000000..e02eaef
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pip/_vendor/__init__.py
@@ -0,0 +1,119 @@
+"""
+pip._vendor is for vendoring dependencies of pip to prevent needing pip to
+depend on something external.
+
+Files inside of pip._vendor should be considered immutable and should only be
+updated to versions from upstream.
+"""
+from __future__ import absolute_import
+
+import glob
+import os.path
+import sys
+
+# Downstream redistributors which have debundled our dependencies should also
+# patch this value to be true. This will trigger the additional patching
+# to cause things like "six" to be available as pip.
+DEBUNDLED = True
+
+# By default, look in this directory for a bunch of .whl files which we will
+# add to the beginning of sys.path before attempting to import anything. This
+# is done to support downstream re-distributors like Debian and Fedora who
+# wish to create their own Wheels for our dependencies to aid in debundling.
+prefix = getattr(sys, "base_prefix", sys.prefix)
+if prefix.startswith('/usr/lib/pypy'):
+    prefix = '/usr'
+WHEEL_DIR = os.path.abspath(os.path.join(prefix, 'share', 'python-wheels'))
+
+
+# Define a small helper function to alias our vendored modules to the real ones
+# if the vendored ones do not exist. This idea of this was taken from
+# https://github.com/kennethreitz/requests/pull/2567.
+def vendored(modulename):
+    vendored_name = "{0}.{1}".format(__name__, modulename)
+
+    try:
+        __import__(modulename, globals(), locals(), level=0)
+    except ImportError:
+        # We can just silently allow import failures to pass here. If we
+        # got to this point it means that ``import pip._vendor.whatever``
+        # failed and so did ``import whatever``. Since we're importing this
+        # upfront in an attempt to alias imports, not erroring here will
+        # just mean we get a regular import error whenever pip *actually*
+        # tries to import one of these modules to use it, which actually
+        # gives us a better error message than we would have otherwise
+        # gotten.
+        pass
+    else:
+        sys.modules[vendored_name] = sys.modules[modulename]
+        base, head = vendored_name.rsplit(".", 1)
+        setattr(sys.modules[base], head, sys.modules[modulename])
+
+
+# If we're operating in a debundled setup, then we want to go ahead and trigger
+# the aliasing of our vendored libraries as well as looking for wheels to add
+# to our sys.path. This will cause all of this code to be a no-op typically
+# however downstream redistributors can enable it in a consistent way across
+# all platforms.
+if DEBUNDLED:
+    # Actually look inside of WHEEL_DIR to find .whl files and add them to the
+    # front of our sys.path.
+    sys.path[:] = glob.glob(os.path.join(WHEEL_DIR, "*.whl")) + sys.path
+
+    # Actually alias all of our vendored dependencies.
+    vendored("appdirs")
+    vendored("cachecontrol")
+    vendored("colorama")
+    vendored("contextlib2")
+    vendored("distlib")
+    vendored("distro")
+    vendored("html5lib")
+    vendored("six")
+    vendored("six.moves")
+    vendored("six.moves.urllib")
+    vendored("six.moves.urllib.parse")
+    vendored("packaging")
+    vendored("packaging.version")
+    vendored("packaging.specifiers")
+    vendored("pep517")
+    vendored("pkg_resources")
+    vendored("progress")
+    vendored("retrying")
+    vendored("requests")
+    vendored("requests.exceptions")
+    vendored("requests.packages")
+    vendored("requests.packages.urllib3")
+    vendored("requests.packages.urllib3._collections")
+    vendored("requests.packages.urllib3.connection")
+    vendored("requests.packages.urllib3.connectionpool")
+    vendored("requests.packages.urllib3.contrib")
+    vendored("requests.packages.urllib3.contrib.ntlmpool")
+    vendored("requests.packages.urllib3.contrib.pyopenssl")
+    vendored("requests.packages.urllib3.exceptions")
+    vendored("requests.packages.urllib3.fields")
+    vendored("requests.packages.urllib3.filepost")
+    vendored("requests.packages.urllib3.packages")
+    try:
+        vendored("requests.packages.urllib3.packages.ordered_dict")
+        vendored("requests.packages.urllib3.packages.six")
+    except ImportError:
+        # Debian already unbundles these from requests.
+        pass
+    vendored("requests.packages.urllib3.packages.ssl_match_hostname")
+    vendored("requests.packages.urllib3.packages.ssl_match_hostname."
+             "_implementation")
+    vendored("requests.packages.urllib3.poolmanager")
+    vendored("requests.packages.urllib3.request")
+    vendored("requests.packages.urllib3.response")
+    vendored("requests.packages.urllib3.util")
+    vendored("requests.packages.urllib3.util.connection")
+    vendored("requests.packages.urllib3.util.request")
+    vendored("requests.packages.urllib3.util.response")
+    vendored("requests.packages.urllib3.util.retry")
+    vendored("requests.packages.urllib3.util.ssl_")
+    vendored("requests.packages.urllib3.util.timeout")
+    vendored("requests.packages.urllib3.util.url")
+    vendored("toml")
+    vendored("toml.encoder")
+    vendored("toml.decoder")
+    vendored("urllib3")
diff --git a/iot_env/lib/python3.8/site-packages/pip/_vendor/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pip/_vendor/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..51667968454d985e20ff35cbab2d1889312d4092
GIT binary patch
literal 3037
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
E06=ZCK>z>%

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/AUTHORS.txt b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/AUTHORS.txt
new file mode 100644
index 0000000..72c87d7
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/AUTHORS.txt
@@ -0,0 +1,562 @@
+A_Rog <adam.thomas.rogerson@gmail.com>
+Aakanksha Agrawal <11389424+rasponic@users.noreply.github.com>
+Abhinav Sagar <40603139+abhinavsagar@users.noreply.github.com>
+ABHYUDAY PRATAP SINGH <abhyudaypratap@outlook.com>
+abs51295 <aagams68@gmail.com>
+AceGentile <ventogrigio83@gmail.com>
+Adam Chainz <adam@adamj.eu>
+Adam Tse <adam.tse@me.com>
+Adam Tse <atse@users.noreply.github.com>
+Adam Wentz <awentz@theonion.com>
+admin <admin@admins-MacBook-Pro.local>
+Adrien Morison <adrien.morison@gmail.com>
+ahayrapetyan <ahayrapetya2@bloomberg.net>
+Ahilya <ahilya16009@iiitd.ac.in>
+AinsworthK <yat626@yahoo.com.hk>
+Akash Srivastava <akashsrivastava4927@gmail.com>
+Alan Yee <alyee@ucsd.edu>
+Albert Tugushev <albert@tugushev.ru>
+Albert-Guan <albert.guan94@gmail.com>
+albertg <albert.guan94@gmail.com>
+Aleks Bunin <github@compuix.com>
+Alethea Flowers <magicalgirl@google.com>
+Alex Gaynor <alex.gaynor@gmail.com>
+Alex Grönholm <alex.gronholm@nextday.fi>
+Alex Loosley <a.loosley@reply.de>
+Alex Morega <alex@grep.ro>
+Alex Stachowiak <alexander@computer.org>
+Alexander Shtyrov <rawzausho@gmail.com>
+Alexandre Conrad <alexandre.conrad@gmail.com>
+Alexey Popravka <a.popravka@smartweb.com.ua>
+Alexey Popravka <alexey.popravka@horsedevel.com>
+Alli <alzeih@users.noreply.github.com>
+Ami Fischman <ami@fischman.org>
+Ananya Maiti <ananyoevo@gmail.com>
+Anatoly Techtonik <techtonik@gmail.com>
+Anders Kaseorg <andersk@mit.edu>
+Andreas Lutro <anlutro@gmail.com>
+Andrei Geacar <andrei.geacar@gmail.com>
+Andrew Gaul <andrew@gaul.org>
+Andrey Bulgakov <mail@andreiko.ru>
+Andrés Delfino <34587441+andresdelfino@users.noreply.github.com>
+Andrés Delfino <adelfino@gmail.com>
+Andy Freeland <andy.freeland@redjack.com>
+Andy Freeland <andy@andyfreeland.net>
+Andy Kluger <AndydeCleyre@users.noreply.github.com>
+Ani Hayrapetyan <ahayrapetya2@bloomberg.net>
+Aniruddha Basak <codewithaniruddha@gmail.com>
+Anish Tambe <anish.tambe@yahoo.in>
+Anrs Hu <anrs@douban.com>
+Anthony Sottile <asottile@umich.edu>
+Antoine Musso <hashar@free.fr>
+Anton Ovchinnikov <revolver112@gmail.com>
+Anton Patrushev <apatrushev@gmail.com>
+Antonio Alvarado Hernandez <tnotstar@gmail.com>
+Antony Lee <anntzer.lee@gmail.com>
+Antti Kaihola <akaihol+github@ambitone.com>
+Anubhav Patel <anubhavp28@gmail.com>
+Anuj Godase <godaseanuj@gmail.com>
+AQNOUCH Mohammed <aqnouch.mohammed@gmail.com>
+AraHaan <seandhunt_7@yahoo.com>
+Arindam Choudhury <arindam@live.com>
+Armin Ronacher <armin.ronacher@active-4.com>
+Artem <duketemon@users.noreply.github.com>
+Ashley Manton <ajd.manton@googlemail.com>
+Ashwin Ramaswami <aramaswamis@gmail.com>
+atse <atse@users.noreply.github.com>
+Atsushi Odagiri <aodagx@gmail.com>
+Avner Cohen <israbirding@gmail.com>
+Baptiste Mispelon <bmispelon@gmail.com>
+Barney Gale <barney.gale@gmail.com>
+barneygale <barney.gale@gmail.com>
+Bartek Ogryczak <b.ogryczak@gmail.com>
+Bastian Venthur <mail@venthur.de>
+Ben Darnell <ben@bendarnell.com>
+Ben Hoyt <benhoyt@gmail.com>
+Ben Rosser <rosser.bjr@gmail.com>
+Bence Nagy <bence@underyx.me>
+Benjamin Peterson <benjamin@python.org>
+Benjamin VanEvery <ben@simondata.com>
+Benoit Pierre <benoit.pierre@gmail.com>
+Berker Peksag <berker.peksag@gmail.com>
+Bernardo B. Marques <bernardo.fire@gmail.com>
+Bernhard M. Wiedemann <bwiedemann@suse.de>
+Bertil Hatt <bertil.hatt@farfetch.com>
+Bogdan Opanchuk <bogdan@opanchuk.net>
+BorisZZZ <BorisZZZ@users.noreply.github.com>
+Brad Erickson <eosrei@gmail.com>
+Bradley Ayers <bradley.ayers@gmail.com>
+Brandon L. Reiss <brandon@damyata.co>
+Brandt Bucher <brandtbucher@gmail.com>
+Brett Randall <javabrett@gmail.com>
+Brian Cristante <33549821+brcrista@users.noreply.github.com>
+Brian Cristante <brcrista@microsoft.com>
+Brian Rosner <brosner@gmail.com>
+BrownTruck <BrownTruck@users.noreply.github.com>
+Bruno Oliveira <nicoddemus@gmail.com>
+Bruno Renié <brutasse@gmail.com>
+Bstrdsmkr <bstrdsmkr@gmail.com>
+Buck Golemon <buck@yelp.com>
+burrows <burrows@preveil.com>
+Bussonnier Matthias <bussonniermatthias@gmail.com>
+c22 <c22@users.noreply.github.com>
+Caleb Martinez <accounts@calebmartinez.com>
+Calvin Smith <eukaryote@users.noreply.github.com>
+Carl Meyer <carl@oddbird.net>
+Carlos Liam <carlos@aarzee.me>
+Carol Willing <carolcode@willingconsulting.com>
+Carter Thayer <carterwthayer@gmail.com>
+Cass <cass.petrus@gmail.com>
+Chandrasekhar Atina <chandu.atina@gmail.com>
+Chih-Hsuan Yen <yan12125@gmail.com>
+Chih-Hsuan Yen <yen@chyen.cc>
+Chris Brinker <chris.brinker@gmail.com>
+Chris Hunt <chrahunt@gmail.com>
+Chris Jerdonek <chris.jerdonek@gmail.com>
+Chris McDonough <chrism@plope.com>
+Chris Wolfe <chriswwolfe@gmail.com>
+Christian Heimes <christian@python.org>
+Christian Oudard <christian.oudard@gmail.com>
+Christopher Hunt <chrahunt@gmail.com>
+Christopher Snyder <cnsnyder@users.noreply.github.com>
+Clark Boylan <clark.boylan@gmail.com>
+Clay McClure <clay@daemons.net>
+Cody <Purring@users.noreply.github.com>
+Cody Soyland <codysoyland@gmail.com>
+Colin Watson <cjwatson@debian.org>
+Connor Osborn <cdosborn@email.arizona.edu>
+Cooper Lees <me@cooperlees.com>
+Cooper Ry Lees <me@cooperlees.com>
+Cory Benfield <lukasaoz@gmail.com>
+Cory Wright <corywright@gmail.com>
+Craig Kerstiens <craig.kerstiens@gmail.com>
+Cristian Sorinel <cristian.sorinel@gmail.com>
+Curtis Doty <Curtis@GreenKey.net>
+cytolentino <ctolentino8@bloomberg.net>
+Damian Quiroga <qdamian@gmail.com>
+Dan Black <dyspop@gmail.com>
+Dan Savilonis <djs@n-cube.org>
+Dan Sully <daniel-github@electricrain.com>
+daniel <mcdonaldd@unimelb.edu.au>
+Daniel Collins <accounts@dac.io>
+Daniel Hahler <git@thequod.de>
+Daniel Holth <dholth@fastmail.fm>
+Daniel Jost <torpedojost@gmail.com>
+Daniel Shaulov <daniel.shaulov@gmail.com>
+Daniele Esposti <expobrain@users.noreply.github.com>
+Daniele Procida <daniele@vurt.org>
+Danny Hermes <daniel.j.hermes@gmail.com>
+Dav Clark <davclark@gmail.com>
+Dave Abrahams <dave@boostpro.com>
+Dave Jones <dave@waveform.org.uk>
+David Aguilar <davvid@gmail.com>
+David Black <db@d1b.org>
+David Bordeynik <david.bordeynik@gmail.com>
+David Bordeynik <david@zebra-med.com>
+David Caro <david@dcaro.es>
+David Evans <d@drhevans.com>
+David Linke <dr.david.linke@gmail.com>
+David Pursehouse <david.pursehouse@gmail.com>
+David Tucker <david@tucker.name>
+David Wales <daviewales@gmail.com>
+Davidovich <david.genest@gmail.com>
+derwolfe <chriswwolfe@gmail.com>
+Desetude <harry@desetude.com>
+Diego Caraballo <diegocaraballo84@gmail.com>
+DiegoCaraballo <diegocaraballo84@gmail.com>
+Dmitry Gladkov <dmitry.gladkov@gmail.com>
+Domen Kožar <domen@dev.si>
+Donald Stufft <donald@stufft.io>
+Dongweiming <dongweiming@admaster.com.cn>
+Douglas Thor <dougthor42@users.noreply.github.com>
+DrFeathers <WilliamGeorgeBurgess@gmail.com>
+Dustin Ingram <di@di.codes>
+Dwayne Bailey <dwayne@translate.org.za>
+Ed Morley <501702+edmorley@users.noreply.github.com>
+Ed Morley <emorley@mozilla.com>
+Eitan Adler <lists@eitanadler.com>
+ekristina <panacejja@gmail.com>
+elainechan <elaine.chan@outlook.com>
+Eli Schwartz <eschwartz93@gmail.com>
+Eli Schwartz <eschwartz@archlinux.org>
+Emil Burzo <contact@emilburzo.com>
+Emil Styrke <emil.styrke@gmail.com>
+Endoh Takanao <djmchl@gmail.com>
+enoch <lanxenet@gmail.com>
+Erdinc Mutlu <erdinc_mutlu@yahoo.com>
+Eric Gillingham <Gillingham@bikezen.net>
+Eric Hanchrow <eric.hanchrow@gmail.com>
+Eric Hopper <hopper@omnifarious.org>
+Erik M. Bray <embray@stsci.edu>
+Erik Rose <erik@mozilla.com>
+Ernest W Durbin III <ewdurbin@gmail.com>
+Ernest W. Durbin III <ewdurbin@gmail.com>
+Erwin Janssen <erwinjanssen@outlook.com>
+Eugene Vereshchagin <evvers@gmail.com>
+everdimension <everdimension@gmail.com>
+Felix Yan <felixonmars@archlinux.org>
+fiber-space <fiber-space@users.noreply.github.com>
+Filip Kokosiński <filip.kokosinski@gmail.com>
+Florian Briand <ownerfrance+github@hotmail.com>
+Florian Rathgeber <florian.rathgeber@gmail.com>
+Francesco <f.guerrieri@gmail.com>
+Francesco Montesano <franz.bergesund@gmail.com>
+Frost Ming <mianghong@gmail.com>
+Gabriel Curio <g.curio@gmail.com>
+Gabriel de Perthuis <g2p.code@gmail.com>
+Garry Polley <garrympolley@gmail.com>
+gdanielson <graeme.danielson@gmail.com>
+Geoffrey Lehée <geoffrey@lehee.name>
+Geoffrey Sneddon <me@gsnedders.com>
+George Song <george@55minutes.com>
+Georgi Valkov <georgi.t.valkov@gmail.com>
+Giftlin Rajaiah <giftlin.rgn@gmail.com>
+gizmoguy1 <gizmoguy1@gmail.com>
+gkdoc <40815324+gkdoc@users.noreply.github.com>
+Gopinath M <31352222+mgopi1990@users.noreply.github.com>
+GOTO Hayato <3532528+gh640@users.noreply.github.com>
+gpiks <gaurav.pikale@gmail.com>
+Guilherme Espada <porcariadagata@gmail.com>
+Guy Rozendorn <guy@rzn.co.il>
+gzpan123 <gzpan123@gmail.com>
+Hanjun Kim <hallazzang@gmail.com>
+Hari Charan <hcharan997@gmail.com>
+Harsh Vardhan <harsh59v@gmail.com>
+Herbert Pfennig <herbert@albinen.com>
+Hsiaoming Yang <lepture@me.com>
+Hugo <hugovk@users.noreply.github.com>
+Hugo Lopes Tavares <hltbra@gmail.com>
+Hugo van Kemenade <hugovk@users.noreply.github.com>
+hugovk <hugovk@users.noreply.github.com>
+Hynek Schlawack <hs@ox.cx>
+Ian Bicking <ianb@colorstudy.com>
+Ian Cordasco <graffatcolmingov@gmail.com>
+Ian Lee <IanLee1521@gmail.com>
+Ian Stapleton Cordasco <graffatcolmingov@gmail.com>
+Ian Wienand <ian@wienand.org>
+Ian Wienand <iwienand@redhat.com>
+Igor Kuzmitshov <kuzmiigo@gmail.com>
+Igor Sobreira <igor@igorsobreira.com>
+Ilya Baryshev <baryshev@gmail.com>
+INADA Naoki <songofacandy@gmail.com>
+Ionel Cristian Mărieș <contact@ionelmc.ro>
+Ionel Maries Cristian <ionel.mc@gmail.com>
+Ivan Pozdeev <vano@mail.mipt.ru>
+Jacob Kim <me@thejacobkim.com>
+jakirkham <jakirkham@gmail.com>
+Jakub Stasiak <kuba.stasiak@gmail.com>
+Jakub Vysoky <jakub@borka.cz>
+Jakub Wilk <jwilk@jwilk.net>
+James Cleveland <jamescleveland@gmail.com>
+James Cleveland <radiosilence@users.noreply.github.com>
+James Firth <hello@james-firth.com>
+James Polley <jp@jamezpolley.com>
+Jan Pokorný <jpokorny@redhat.com>
+Jannis Leidel <jannis@leidel.info>
+jarondl <me@jarondl.net>
+Jason R. Coombs <jaraco@jaraco.com>
+Jay Graves <jay@skabber.com>
+Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
+Jeff Barber <jbarber@computer.org>
+Jeff Dairiki <dairiki@dairiki.org>
+Jelmer Vernooij <jelmer@jelmer.uk>
+jenix21 <devfrog@gmail.com>
+Jeremy Stanley <fungi@yuggoth.org>
+Jeremy Zafran <jzafran@users.noreply.github.com>
+Jiashuo Li <jiasli@microsoft.com>
+Jim Garrison <jim@garrison.cc>
+Jivan Amara <Development@JivanAmara.net>
+John Paton <j.paton@catawiki.nl>
+John-Scott Atlakson <john.scott.atlakson@gmail.com>
+johnthagen <johnthagen@gmail.com>
+johnthagen <johnthagen@users.noreply.github.com>
+Jon Banafato <jon@jonafato.com>
+Jon Dufresne <jon.dufresne@gmail.com>
+Jon Parise <jon@indelible.org>
+Jonas Nockert <jonasnockert@gmail.com>
+Jonathan Herbert <foohyfooh@gmail.com>
+Joost Molenaar <j.j.molenaar@gmail.com>
+Jorge Niedbalski <niedbalski@gmail.com>
+Joseph Long <jdl@fastmail.fm>
+Josh Bronson <jabronson@gmail.com>
+Josh Hansen <josh@skwash.net>
+Josh Schneier <josh.schneier@gmail.com>
+Juanjo Bazán <jjbazan@gmail.com>
+Julian Berman <Julian@GrayVines.com>
+Julian Gethmann <julian.gethmann@kit.edu>
+Julien Demoor <julien@jdemoor.com>
+jwg4 <jack.grahl@yahoo.co.uk>
+Jyrki Pulliainen <jyrki@spotify.com>
+Kai Chen <kaichen120@gmail.com>
+Kamal Bin Mustafa <kamal@smach.net>
+kaustav haldar <hi@kaustav.me>
+keanemind <keanemind@gmail.com>
+Keith Maxwell <keith.maxwell@gmail.com>
+Kelsey Hightower <kelsey.hightower@gmail.com>
+Kenneth Belitzky <kenny@belitzky.com>
+Kenneth Reitz <me@kennethreitz.com>
+Kenneth Reitz <me@kennethreitz.org>
+Kevin Burke <kev@inburke.com>
+Kevin Carter <kevin.carter@rackspace.com>
+Kevin Frommelt <kevin.frommelt@webfilings.com>
+Kevin R Patterson <kevin.r.patterson@intel.com>
+Kexuan Sun <me@kianasun.com>
+Kit Randel <kit@nocturne.net.nz>
+kpinc <kop@meme.com>
+Krishna Oza <krishoza15sep@gmail.com>
+Kumar McMillan <kumar.mcmillan@gmail.com>
+Kyle Persohn <kyle.persohn@gmail.com>
+lakshmanaram <lakshmanaram.n@gmail.com>
+Laszlo Kiss-Kollar <kiss.kollar.laszlo@gmail.com>
+Laurent Bristiel <laurent@bristiel.com>
+Laurie Opperman <laurie@sitesee.com.au>
+Leon Sasson <leonsassonha@gmail.com>
+Lev Givon <lev@columbia.edu>
+Lincoln de Sousa <lincoln@comum.org>
+Lipis <lipiridis@gmail.com>
+Loren Carvalho <lcarvalho@linkedin.com>
+Lucas Cimon <lucas.cimon@gmail.com>
+Ludovic Gasc <gmludo@gmail.com>
+Luke Macken <lmacken@redhat.com>
+Luo Jiebin <luo.jiebin@qq.com>
+luojiebin <luojiebin@users.noreply.github.com>
+luz.paz <luzpaz@users.noreply.github.com>
+László Kiss Kollár <lkisskollar@bloomberg.net>
+László Kiss Kollár <lkollar@users.noreply.github.com>
+Marc Abramowitz <marc@marc-abramowitz.com>
+Marc Tamlyn <marc.tamlyn@gmail.com>
+Marcus Smith <qwcode@gmail.com>
+Mariatta <Mariatta@users.noreply.github.com>
+Mark Kohler <mark.kohler@proteinsimple.com>
+Mark Williams <markrwilliams@gmail.com>
+Mark Williams <mrw@enotuniq.org>
+Markus Hametner <fin+github@xbhd.org>
+Masaki <mk5986@nyu.edu>
+Masklinn <bitbucket.org@masklinn.net>
+Matej Stuchlik <mstuchli@redhat.com>
+Mathew Jennings <mjennings@foursquare.com>
+Mathieu Bridon <bochecha@daitauha.fr>
+Matt Good <matt@matt-good.net>
+Matt Maker <trip@monstro.us>
+Matt Robenolt <matt@ydekproductions.com>
+matthew <matthew@trumbell.net>
+Matthew Einhorn <moiein2000@gmail.com>
+Matthew Gilliard <matthew.gilliard@gmail.com>
+Matthew Iversen <teh.ivo@gmail.com>
+Matthew Trumbell <matthew@thirdstonepartners.com>
+Matthew Willson <matthew@swiftkey.com>
+Matthias Bussonnier <bussonniermatthias@gmail.com>
+mattip <matti.picus@gmail.com>
+Maxim Kurnikov <maxim.kurnikov@gmail.com>
+Maxime Rouyrre <rouyrre+git@gmail.com>
+mayeut <mayeut@users.noreply.github.com>
+mbaluna <44498973+mbaluna@users.noreply.github.com>
+mdebi <17590103+mdebi@users.noreply.github.com>
+memoselyk <memoselyk@gmail.com>
+Michael <michael-k@users.noreply.github.com>
+Michael Aquilina <michaelaquilina@gmail.com>
+Michael E. Karpeles <michael.karpeles@gmail.com>
+Michael Klich <michal@michalklich.com>
+Michael Williamson <mike@zwobble.org>
+michaelpacer <michaelpacer@gmail.com>
+Mickaël Schoentgen <mschoentgen@nuxeo.com>
+Miguel Araujo Perez <miguel.araujo.perez@gmail.com>
+Mihir Singh <git.service@mihirsingh.com>
+Mike <mikeh@blur.com>
+Mike Hendricks <mikeh@blur.com>
+Min RK <benjaminrk@gmail.com>
+MinRK <benjaminrk@gmail.com>
+Miro Hrončok <miro@hroncok.cz>
+Monica Baluna <mbaluna@bloomberg.net>
+montefra <franz.bergesund@gmail.com>
+Monty Taylor <mordred@inaugust.com>
+Nate Coraor <nate@bx.psu.edu>
+Nathaniel J. Smith <njs@pobox.com>
+Nehal J Wani <nehaljw.kkd1@gmail.com>
+Neil Botelho <neil.botelho321@gmail.com>
+Nick Coghlan <ncoghlan@gmail.com>
+Nick Stenning <nick@whiteink.com>
+Nick Timkovich <prometheus235@gmail.com>
+Nicolas Bock <nicolasbock@gmail.com>
+Nikhil Benesch <nikhil.benesch@gmail.com>
+Nitesh Sharma <nbsharma@outlook.com>
+Nowell Strite <nowell@strite.org>
+NtaleGrey <Shadikntale@gmail.com>
+nvdv <modestdev@gmail.com>
+Ofekmeister <ofekmeister@gmail.com>
+ofrinevo <ofrine@gmail.com>
+Oliver Jeeves <oliver.jeeves@ocado.com>
+Oliver Tonnhofer <olt@bogosoft.com>
+Olivier Girardot <ssaboum@gmail.com>
+Olivier Grisel <olivier.grisel@ensta.org>
+Ollie Rutherfurd <orutherfurd@gmail.com>
+OMOTO Kenji <k-omoto@m3.com>
+Omry Yadan <omry@fb.com>
+Oren Held <orenhe@il.ibm.com>
+Oscar Benjamin <oscar.j.benjamin@gmail.com>
+Oz N Tiram <oz.tiram@gmail.com>
+Pachwenko <32424503+Pachwenko@users.noreply.github.com>
+Patrick Dubroy <pdubroy@gmail.com>
+Patrick Jenkins <patrick@socialgrowthtechnologies.com>
+Patrick Lawson <pl@foursquare.com>
+patricktokeeffe <patricktokeeffe@users.noreply.github.com>
+Patrik Kopkan <pkopkan@redhat.com>
+Paul Kehrer <paul.l.kehrer@gmail.com>
+Paul Moore <p.f.moore@gmail.com>
+Paul Nasrat <pnasrat@gmail.com>
+Paul Oswald <pauloswald@gmail.com>
+Paul van der Linden <mail@paultjuh.org>
+Paulus Schoutsen <paulus@paulusschoutsen.nl>
+Pavithra Eswaramoorthy <33131404+QueenCoffee@users.noreply.github.com>
+Pawel Jasinski <pawel.jasinski@gmail.com>
+Pekka Klärck <peke@iki.fi>
+Peter Lisák <peter.lisak@showmax.com>
+Peter Waller <peter.waller@gmail.com>
+petr-tik <petr-tik@users.noreply.github.com>
+Phaneendra Chiruvella <hi@pcx.io>
+Phil Freo <phil@philfreo.com>
+Phil Pennock <phil@pennock-tech.com>
+Phil Whelan <phil123@gmail.com>
+Philip Jägenstedt <philip@foolip.org>
+Philip Molloy <pamolloy@users.noreply.github.com>
+Philippe Ombredanne <pombredanne@gmail.com>
+Pi Delport <pjdelport@gmail.com>
+Pierre-Yves Rofes <github@rofes.fr>
+pip <pypa-dev@googlegroups.com>
+Prabakaran Kumaresshan <k_prabakaran+github@hotmail.com>
+Prabhjyotsing Surjit Singh Sodhi <psinghsodhi@bloomberg.net>
+Prabhu Marappan <prabhum.794@gmail.com>
+Pradyun Gedam <pradyunsg@gmail.com>
+Pratik Mallya <mallya@us.ibm.com>
+Preet Thakkar <preet.thakkar@students.iiit.ac.in>
+Preston Holmes <preston@ptone.com>
+Przemek Wrzos <hetmankp@none>
+Pulkit Goyal <7895pulkit@gmail.com>
+Qiangning Hong <hongqn@gmail.com>
+Quentin Pradet <quentin.pradet@gmail.com>
+R. David Murray <rdmurray@bitdance.com>
+Rafael Caricio <rafael.jacinto@gmail.com>
+Ralf Schmitt <ralf@systemexit.de>
+Razzi Abuissa <razzi53@gmail.com>
+rdb <rdb@users.noreply.github.com>
+Remi Rampin <r@remirampin.com>
+Remi Rampin <remirampin@gmail.com>
+Rene Dudfield <renesd@gmail.com>
+Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
+Richard Jones <r1chardj0n3s@gmail.com>
+RobberPhex <robberphex@gmail.com>
+Robert Collins <rbtcollins@hp.com>
+Robert McGibbon <rmcgibbo@gmail.com>
+Robert T. McGibbon <rmcgibbo@gmail.com>
+robin elisha robinson <elisha.rob@gmail.com>
+Roey Berman <roey.berman@gmail.com>
+Rohan Jain <crodjer@gmail.com>
+Rohan Jain <crodjer@users.noreply.github.com>
+Rohan Jain <mail@rohanjain.in>
+Roman Bogorodskiy <roman.bogorodskiy@ericsson.com>
+Romuald Brunet <romuald@chivil.com>
+Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
+Rory McCann <rory@technomancy.org>
+Ross Brattain <ross.b.brattain@intel.com>
+Roy Wellington Ⅳ <cactus_hugged@yahoo.com>
+Roy Wellington Ⅳ <roy@mybasis.com>
+Ryan Wooden <rygwdn@gmail.com>
+ryneeverett <ryneeverett@gmail.com>
+Sachi King <nakato@nakato.io>
+Salvatore Rinchiera <salvatore@rinchiera.com>
+Savio Jomton <sajo240519@gmail.com>
+schlamar <marc.schlaich@gmail.com>
+Scott Kitterman <sklist@kitterman.com>
+Sean <me@sean.taipei>
+seanj <seanj@xyke.com>
+Sebastian Jordan <sebastian.jordan.mail@googlemail.com>
+Sebastian Schaetz <sschaetz@butterflynetinc.com>
+Segev Finer <segev208@gmail.com>
+SeongSoo Cho <ppiyakk2@printf.kr>
+Sergey Vasilyev <nolar@nolar.info>
+Seth Woodworth <seth@sethish.com>
+Shlomi Fish <shlomif@shlomifish.org>
+Shovan Maity <shovan.maity@mayadata.io>
+Simeon Visser <svisser@users.noreply.github.com>
+Simon Cross <hodgestar@gmail.com>
+Simon Pichugin <simon.pichugin@gmail.com>
+sinoroc <sinoroc.code+git@gmail.com>
+Sorin Sbarnea <sorin.sbarnea@gmail.com>
+Stavros Korokithakis <stavros@korokithakis.net>
+Stefan Scherfke <stefan@sofa-rockers.org>
+Stephan Erb <github@stephanerb.eu>
+stepshal <nessento@openmailbox.org>
+Steve (Gadget) Barnes <gadgetsteve@hotmail.com>
+Steve Barnes <gadgetsteve@hotmail.com>
+Steve Dower <steve.dower@microsoft.com>
+Steve Kowalik <steven@wedontsleep.org>
+Steven Myint <git@stevenmyint.com>
+stonebig <stonebig34@gmail.com>
+Stéphane Bidoul (ACSONE) <stephane.bidoul@acsone.eu>
+Stéphane Bidoul <stephane.bidoul@acsone.eu>
+Stéphane Klein <contact@stephane-klein.info>
+Sumana Harihareswara <sh@changeset.nyc>
+Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
+Sviatoslav Sydorenko <wk@sydorenko.org.ua>
+Swat009 <swatantra.kumar8@gmail.com>
+Takayuki SHIMIZUKAWA <shimizukawa@gmail.com>
+tbeswick <tbeswick@enphaseenergy.com>
+Thijs Triemstra <info@collab.nl>
+Thomas Fenzl <thomas.fenzl@gmail.com>
+Thomas Grainger <tagrain@gmail.com>
+Thomas Guettler <tguettler@tbz-pariv.de>
+Thomas Johansson <devnull@localhost>
+Thomas Kluyver <thomas@kluyver.me.uk>
+Thomas Smith <smithtg@ncbi.nlm.nih.gov>
+Tim D. Smith <github@tim-smith.us>
+Tim Gates <tim.gates@iress.com>
+Tim Harder <radhermit@gmail.com>
+Tim Heap <tim@timheap.me>
+tim smith <github@tim-smith.us>
+tinruufu <tinruufu@gmail.com>
+Tom Forbes <tom@tomforb.es>
+Tom Freudenheim <tom.freudenheim@onepeloton.com>
+Tom V <tom@viner.tv>
+Tomas Orsava <torsava@redhat.com>
+Tomer Chachamu <tomer.chachamu@gmail.com>
+Tony Beswick <tonybeswick@orcon.net.nz>
+Tony Zhaocheng Tan <tony@tonytan.io>
+TonyBeswick <TonyBeswick@users.noreply.github.com>
+toonarmycaptain <toonarmycaptain@hotmail.com>
+Toshio Kuratomi <toshio@fedoraproject.org>
+Travis Swicegood <development@domain51.com>
+Tzu-ping Chung <uranusjr@gmail.com>
+Valentin Haenel <valentin.haenel@gmx.de>
+Victor Stinner <victor.stinner@gmail.com>
+victorvpaulo <victorvpaulo@gmail.com>
+Viktor Szépe <viktor@szepe.net>
+Ville Skyttä <ville.skytta@iki.fi>
+Vinay Sajip <vinay_sajip@yahoo.co.uk>
+Vincent Philippon <sindaewoh@gmail.com>
+Vinicyus Macedo <7549205+vinicyusmacedo@users.noreply.github.com>
+Vitaly Babiy <vbabiy86@gmail.com>
+Vladimir Rutsky <rutsky@users.noreply.github.com>
+W. Trevor King <wking@drexel.edu>
+Wil Tan <wil@dready.org>
+Wilfred Hughes <me@wilfred.me.uk>
+William ML Leslie <william.leslie.ttg@gmail.com>
+William T Olson <trevor@heytrevor.com>
+Wilson Mo <wilsonfv@126.com>
+wim glenn <wim.glenn@gmail.com>
+Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de>
+Xavier Fernandez <xav.fernandez@gmail.com>
+Xavier Fernandez <xavier.fernandez@polyconseil.fr>
+xoviat <xoviat@users.noreply.github.com>
+xtreak <tir.karthi@gmail.com>
+YAMAMOTO Takashi <yamamoto@midokura.com>
+Yen Chi Hsuan <yan12125@gmail.com>
+Yeray Diaz Diaz <yeraydiazdiaz@gmail.com>
+Yoval P <yoval@gmx.com>
+Yu Jian <askingyj@gmail.com>
+Yuan Jing Vincent Yan <yyan82@bloomberg.net>
+Zearin <zearin@gonk.net>
+Zearin <Zearin@users.noreply.github.com>
+Zhiping Deng <kofreestyler@gmail.com>
+Zvezdan Petkovic <zpetkovic@acm.org>
+Łukasz Langa <lukasz@langa.pl>
+Семён Марьясин <simeon@maryasin.name>
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/INSTALLER b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/INSTALLER
new file mode 100644
index 0000000..a1b589e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/INSTALLER
@@ -0,0 +1 @@
+pip
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/LICENSE.txt b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/LICENSE.txt
new file mode 100644
index 0000000..737fec5
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2008-2019 The pip developers (see AUTHORS.txt file)
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/METADATA b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/METADATA
new file mode 100644
index 0000000..cf6c930
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/METADATA
@@ -0,0 +1,13 @@
+Metadata-Version: 2.1
+Name: pkg_resources
+Version: 0.0.0
+Summary: UNKNOWN
+Home-page: UNKNOWN
+Author: UNKNOWN
+Author-email: UNKNOWN
+License: UNKNOWN
+Platform: UNKNOWN
+
+UNKNOWN
+
+
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/RECORD b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/RECORD
new file mode 100644
index 0000000..2bbae1d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/RECORD
@@ -0,0 +1,38 @@
+pkg_resources-0.0.0.dist-info/AUTHORS.txt,sha256=RtqU9KfonVGhI48DAA4-yTOBUhBtQTjFhaDzHoyh7uU,21518
+pkg_resources-0.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
+pkg_resources-0.0.0.dist-info/LICENSE.txt,sha256=W6Ifuwlk-TatfRU2LR7W1JMcyMj5_y1NkRkOEJvnRDE,1090
+pkg_resources-0.0.0.dist-info/METADATA,sha256=V9_WPOtD1FnuKrTGv6Ique7kAOn2lasvT8W0_iMCCCk,177
+pkg_resources-0.0.0.dist-info/RECORD,,
+pkg_resources-0.0.0.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
+pkg_resources/__init__.py,sha256=0IssxXPnaDKpYZRra8Ime0JG4hwosQljItGD0bnIkGk,108349
+pkg_resources/__pycache__/__init__.cpython-38.pyc,,
+pkg_resources/__pycache__/py31compat.cpython-38.pyc,,
+pkg_resources/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
+pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc,,
+pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc,,
+pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc,,
+pkg_resources/_vendor/__pycache__/six.cpython-38.pyc,,
+pkg_resources/_vendor/appdirs.py,sha256=MievUEuv3l_mQISH5SF0shDk_BNhHHzYiAPrT3ITN4I,24701
+pkg_resources/_vendor/packaging/__about__.py,sha256=zkcCPTN_6TcLW0Nrlg0176-R1QQ_WVPTm8sz1R4-HjM,720
+pkg_resources/_vendor/packaging/__init__.py,sha256=_vNac5TrzwsrzbOFIbF-5cHqc_Y2aPT2D7zrIR06BOo,513
+pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc,,
+pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc,,
+pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc,,
+pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc,,
+pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc,,
+pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc,,
+pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc,,
+pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc,,
+pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc,,
+pkg_resources/_vendor/packaging/_compat.py,sha256=Vi_A0rAQeHbU-a9X0tt1yQm9RqkgQbDSxzRw8WlU9kA,860
+pkg_resources/_vendor/packaging/_structures.py,sha256=RImECJ4c_wTlaTYYwZYLHEiebDMaAJmK1oPARhw1T5o,1416
+pkg_resources/_vendor/packaging/markers.py,sha256=uEcBBtGvzqltgnArqb9c4RrcInXezDLos14zbBHhWJo,8248
+pkg_resources/_vendor/packaging/requirements.py,sha256=SikL2UynbsT0qtY9ltqngndha_sfo0w6XGFhAhoSoaQ,4355
+pkg_resources/_vendor/packaging/specifiers.py,sha256=SAMRerzO3fK2IkFZCaZkuwZaL_EGqHNOz4pni4vhnN0,28025
+pkg_resources/_vendor/packaging/utils.py,sha256=3m6WvPm6NNxE8rkTGmn0r75B_GZSGg7ikafxHsBN1WA,421
+pkg_resources/_vendor/packaging/version.py,sha256=OwGnxYfr2ghNzYx59qWIBkrK3SnB6n-Zfd1XaLpnnM0,11556
+pkg_resources/_vendor/pyparsing.py,sha256=tmrp-lu-qO1i75ZzIN5A12nKRRD1Cm4Vpk-5LR9rims,232055
+pkg_resources/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098
+pkg_resources/extern/__init__.py,sha256=cHiEfHuLmm6rs5Ve_ztBfMI7Lr31vss-D4wkqF5xzlI,2498
+pkg_resources/extern/__pycache__/__init__.cpython-38.pyc,,
+pkg_resources/py31compat.py,sha256=-WQ0e4c3RG_acdhwC3gLiXhP_lg4G5q7XYkZkQg0gxU,558
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/WHEEL b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/WHEEL
new file mode 100644
index 0000000..ef99c6c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/WHEEL
@@ -0,0 +1,6 @@
+Wheel-Version: 1.0
+Generator: bdist_wheel (0.34.2)
+Root-Is-Purelib: true
+Tag: py2-none-any
+Tag: py3-none-any
+
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/__init__.py b/iot_env/lib/python3.8/site-packages/pkg_resources/__init__.py
new file mode 100644
index 0000000..2f5aa64
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/__init__.py
@@ -0,0 +1,3296 @@
+# coding: utf-8
+"""
+Package resource API
+--------------------
+
+A resource is a logical file contained within a package, or a logical
+subdirectory thereof.  The package resource API expects resource names
+to have their path parts separated with ``/``, *not* whatever the local
+path separator is.  Do not use os.path operations to manipulate resource
+names being passed into the API.
+
+The package resource API is designed to work with normal filesystem packages,
+.egg files, and unpacked .egg files.  It can also work in a limited way with
+.zip files and with custom PEP 302 loaders that support the ``get_data()``
+method.
+"""
+
+from __future__ import absolute_import
+
+import sys
+import os
+import io
+import time
+import re
+import types
+import zipfile
+import zipimport
+import warnings
+import stat
+import functools
+import pkgutil
+import operator
+import platform
+import collections
+import plistlib
+import email.parser
+import errno
+import tempfile
+import textwrap
+import itertools
+import inspect
+import ntpath
+import posixpath
+from pkgutil import get_importer
+
+try:
+    import _imp
+except ImportError:
+    # Python 3.2 compatibility
+    import imp as _imp
+
+try:
+    FileExistsError
+except NameError:
+    FileExistsError = OSError
+
+from pkg_resources.extern import six
+from pkg_resources.extern.six.moves import urllib, map, filter
+
+# capture these to bypass sandboxing
+from os import utime
+try:
+    from os import mkdir, rename, unlink
+    WRITE_SUPPORT = True
+except ImportError:
+    # no write support, probably under GAE
+    WRITE_SUPPORT = False
+
+from os import open as os_open
+from os.path import isdir, split
+
+try:
+    import importlib.machinery as importlib_machinery
+    # access attribute to force import under delayed import mechanisms.
+    importlib_machinery.__name__
+except ImportError:
+    importlib_machinery = None
+
+from . import py31compat
+from pkg_resources.extern import appdirs
+from pkg_resources.extern import packaging
+__import__('pkg_resources.extern.packaging.version')
+__import__('pkg_resources.extern.packaging.specifiers')
+__import__('pkg_resources.extern.packaging.requirements')
+__import__('pkg_resources.extern.packaging.markers')
+
+
+__metaclass__ = type
+
+
+if (3, 0) < sys.version_info < (3, 5):
+    raise RuntimeError("Python 3.5 or later is required")
+
+if six.PY2:
+    # Those builtin exceptions are only defined in Python 3
+    PermissionError = None
+    NotADirectoryError = None
+
+# declare some globals that will be defined later to
+# satisfy the linters.
+require = None
+working_set = None
+add_activation_listener = None
+resources_stream = None
+cleanup_resources = None
+resource_dir = None
+resource_stream = None
+set_extraction_path = None
+resource_isdir = None
+resource_string = None
+iter_entry_points = None
+resource_listdir = None
+resource_filename = None
+resource_exists = None
+_distribution_finders = None
+_namespace_handlers = None
+_namespace_packages = None
+
+
+class PEP440Warning(RuntimeWarning):
+    """
+    Used when there is an issue with a version or specifier not complying with
+    PEP 440.
+    """
+
+
+def parse_version(v):
+    try:
+        return packaging.version.Version(v)
+    except packaging.version.InvalidVersion:
+        return packaging.version.LegacyVersion(v)
+
+
+_state_vars = {}
+
+
+def _declare_state(vartype, **kw):
+    globals().update(kw)
+    _state_vars.update(dict.fromkeys(kw, vartype))
+
+
+def __getstate__():
+    state = {}
+    g = globals()
+    for k, v in _state_vars.items():
+        state[k] = g['_sget_' + v](g[k])
+    return state
+
+
+def __setstate__(state):
+    g = globals()
+    for k, v in state.items():
+        g['_sset_' + _state_vars[k]](k, g[k], v)
+    return state
+
+
+def _sget_dict(val):
+    return val.copy()
+
+
+def _sset_dict(key, ob, state):
+    ob.clear()
+    ob.update(state)
+
+
+def _sget_object(val):
+    return val.__getstate__()
+
+
+def _sset_object(key, ob, state):
+    ob.__setstate__(state)
+
+
+_sget_none = _sset_none = lambda *args: None
+
+
+def get_supported_platform():
+    """Return this platform's maximum compatible version.
+
+    distutils.util.get_platform() normally reports the minimum version
+    of Mac OS X that would be required to *use* extensions produced by
+    distutils.  But what we want when checking compatibility is to know the
+    version of Mac OS X that we are *running*.  To allow usage of packages that
+    explicitly require a newer version of Mac OS X, we must also know the
+    current version of the OS.
+
+    If this condition occurs for any other platform with a version in its
+    platform strings, this function should be extended accordingly.
+    """
+    plat = get_build_platform()
+    m = macosVersionString.match(plat)
+    if m is not None and sys.platform == "darwin":
+        try:
+            plat = 'macosx-%s-%s' % ('.'.join(_macosx_vers()[:2]), m.group(3))
+        except ValueError:
+            # not Mac OS X
+            pass
+    return plat
+
+
+__all__ = [
+    # Basic resource access and distribution/entry point discovery
+    'require', 'run_script', 'get_provider', 'get_distribution',
+    'load_entry_point', 'get_entry_map', 'get_entry_info',
+    'iter_entry_points',
+    'resource_string', 'resource_stream', 'resource_filename',
+    'resource_listdir', 'resource_exists', 'resource_isdir',
+
+    # Environmental control
+    'declare_namespace', 'working_set', 'add_activation_listener',
+    'find_distributions', 'set_extraction_path', 'cleanup_resources',
+    'get_default_cache',
+
+    # Primary implementation classes
+    'Environment', 'WorkingSet', 'ResourceManager',
+    'Distribution', 'Requirement', 'EntryPoint',
+
+    # Exceptions
+    'ResolutionError', 'VersionConflict', 'DistributionNotFound',
+    'UnknownExtra', 'ExtractionError',
+
+    # Warnings
+    'PEP440Warning',
+
+    # Parsing functions and string utilities
+    'parse_requirements', 'parse_version', 'safe_name', 'safe_version',
+    'get_platform', 'compatible_platforms', 'yield_lines', 'split_sections',
+    'safe_extra', 'to_filename', 'invalid_marker', 'evaluate_marker',
+
+    # filesystem utilities
+    'ensure_directory', 'normalize_path',
+
+    # Distribution "precedence" constants
+    'EGG_DIST', 'BINARY_DIST', 'SOURCE_DIST', 'CHECKOUT_DIST', 'DEVELOP_DIST',
+
+    # "Provider" interfaces, implementations, and registration/lookup APIs
+    'IMetadataProvider', 'IResourceProvider', 'FileMetadata',
+    'PathMetadata', 'EggMetadata', 'EmptyProvider', 'empty_provider',
+    'NullProvider', 'EggProvider', 'DefaultProvider', 'ZipProvider',
+    'register_finder', 'register_namespace_handler', 'register_loader_type',
+    'fixup_namespace_packages', 'get_importer',
+
+    # Warnings
+    'PkgResourcesDeprecationWarning',
+
+    # Deprecated/backward compatibility only
+    'run_main', 'AvailableDistributions',
+]
+
+
+class ResolutionError(Exception):
+    """Abstract base for dependency resolution errors"""
+
+    def __repr__(self):
+        return self.__class__.__name__ + repr(self.args)
+
+
+class VersionConflict(ResolutionError):
+    """
+    An already-installed version conflicts with the requested version.
+
+    Should be initialized with the installed Distribution and the requested
+    Requirement.
+    """
+
+    _template = "{self.dist} is installed but {self.req} is required"
+
+    @property
+    def dist(self):
+        return self.args[0]
+
+    @property
+    def req(self):
+        return self.args[1]
+
+    def report(self):
+        return self._template.format(**locals())
+
+    def with_context(self, required_by):
+        """
+        If required_by is non-empty, return a version of self that is a
+        ContextualVersionConflict.
+        """
+        if not required_by:
+            return self
+        args = self.args + (required_by,)
+        return ContextualVersionConflict(*args)
+
+
+class ContextualVersionConflict(VersionConflict):
+    """
+    A VersionConflict that accepts a third parameter, the set of the
+    requirements that required the installed Distribution.
+    """
+
+    _template = VersionConflict._template + ' by {self.required_by}'
+
+    @property
+    def required_by(self):
+        return self.args[2]
+
+
+class DistributionNotFound(ResolutionError):
+    """A requested distribution was not found"""
+
+    _template = ("The '{self.req}' distribution was not found "
+                 "and is required by {self.requirers_str}")
+
+    @property
+    def req(self):
+        return self.args[0]
+
+    @property
+    def requirers(self):
+        return self.args[1]
+
+    @property
+    def requirers_str(self):
+        if not self.requirers:
+            return 'the application'
+        return ', '.join(self.requirers)
+
+    def report(self):
+        return self._template.format(**locals())
+
+    def __str__(self):
+        return self.report()
+
+
+class UnknownExtra(ResolutionError):
+    """Distribution doesn't have an "extra feature" of the given name"""
+
+
+_provider_factories = {}
+
+PY_MAJOR = '{}.{}'.format(*sys.version_info)
+EGG_DIST = 3
+BINARY_DIST = 2
+SOURCE_DIST = 1
+CHECKOUT_DIST = 0
+DEVELOP_DIST = -1
+
+
+def register_loader_type(loader_type, provider_factory):
+    """Register `provider_factory` to make providers for `loader_type`
+
+    `loader_type` is the type or class of a PEP 302 ``module.__loader__``,
+    and `provider_factory` is a function that, passed a *module* object,
+    returns an ``IResourceProvider`` for that module.
+    """
+    _provider_factories[loader_type] = provider_factory
+
+
+def get_provider(moduleOrReq):
+    """Return an IResourceProvider for the named module or requirement"""
+    if isinstance(moduleOrReq, Requirement):
+        return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
+    try:
+        module = sys.modules[moduleOrReq]
+    except KeyError:
+        __import__(moduleOrReq)
+        module = sys.modules[moduleOrReq]
+    loader = getattr(module, '__loader__', None)
+    return _find_adapter(_provider_factories, loader)(module)
+
+
+def _macosx_vers(_cache=[]):
+    if not _cache:
+        version = platform.mac_ver()[0]
+        # fallback for MacPorts
+        if version == '':
+            plist = '/System/Library/CoreServices/SystemVersion.plist'
+            if os.path.exists(plist):
+                if hasattr(plistlib, 'readPlist'):
+                    plist_content = plistlib.readPlist(plist)
+                    if 'ProductVersion' in plist_content:
+                        version = plist_content['ProductVersion']
+
+        _cache.append(version.split('.'))
+    return _cache[0]
+
+
+def _macosx_arch(machine):
+    return {'PowerPC': 'ppc', 'Power_Macintosh': 'ppc'}.get(machine, machine)
+
+
+def get_build_platform():
+    """Return this platform's string for platform-specific distributions
+
+    XXX Currently this is the same as ``distutils.util.get_platform()``, but it
+    needs some hacks for Linux and Mac OS X.
+    """
+    from sysconfig import get_platform
+
+    plat = get_platform()
+    if sys.platform == "darwin" and not plat.startswith('macosx-'):
+        try:
+            version = _macosx_vers()
+            machine = os.uname()[4].replace(" ", "_")
+            return "macosx-%d.%d-%s" % (
+                int(version[0]), int(version[1]),
+                _macosx_arch(machine),
+            )
+        except ValueError:
+            # if someone is running a non-Mac darwin system, this will fall
+            # through to the default implementation
+            pass
+    return plat
+
+
+macosVersionString = re.compile(r"macosx-(\d+)\.(\d+)-(.*)")
+darwinVersionString = re.compile(r"darwin-(\d+)\.(\d+)\.(\d+)-(.*)")
+# XXX backward compat
+get_platform = get_build_platform
+
+
+def compatible_platforms(provided, required):
+    """Can code for the `provided` platform run on the `required` platform?
+
+    Returns true if either platform is ``None``, or the platforms are equal.
+
+    XXX Needs compatibility checks for Linux and other unixy OSes.
+    """
+    if provided is None or required is None or provided == required:
+        # easy case
+        return True
+
+    # Mac OS X special cases
+    reqMac = macosVersionString.match(required)
+    if reqMac:
+        provMac = macosVersionString.match(provided)
+
+        # is this a Mac package?
+        if not provMac:
+            # this is backwards compatibility for packages built before
+            # setuptools 0.6. All packages built after this point will
+            # use the new macosx designation.
+            provDarwin = darwinVersionString.match(provided)
+            if provDarwin:
+                dversion = int(provDarwin.group(1))
+                macosversion = "%s.%s" % (reqMac.group(1), reqMac.group(2))
+                if dversion == 7 and macosversion >= "10.3" or \
+                        dversion == 8 and macosversion >= "10.4":
+                    return True
+            # egg isn't macosx or legacy darwin
+            return False
+
+        # are they the same major version and machine type?
+        if provMac.group(1) != reqMac.group(1) or \
+                provMac.group(3) != reqMac.group(3):
+            return False
+
+        # is the required OS major update >= the provided one?
+        if int(provMac.group(2)) > int(reqMac.group(2)):
+            return False
+
+        return True
+
+    # XXX Linux and other platforms' special cases should go here
+    return False
+
+
+def run_script(dist_spec, script_name):
+    """Locate distribution `dist_spec` and run its `script_name` script"""
+    ns = sys._getframe(1).f_globals
+    name = ns['__name__']
+    ns.clear()
+    ns['__name__'] = name
+    require(dist_spec)[0].run_script(script_name, ns)
+
+
+# backward compatibility
+run_main = run_script
+
+
+def get_distribution(dist):
+    """Return a current distribution object for a Requirement or string"""
+    if isinstance(dist, six.string_types):
+        dist = Requirement.parse(dist)
+    if isinstance(dist, Requirement):
+        dist = get_provider(dist)
+    if not isinstance(dist, Distribution):
+        raise TypeError("Expected string, Requirement, or Distribution", dist)
+    return dist
+
+
+def load_entry_point(dist, group, name):
+    """Return `name` entry point of `group` for `dist` or raise ImportError"""
+    return get_distribution(dist).load_entry_point(group, name)
+
+
+def get_entry_map(dist, group=None):
+    """Return the entry point map for `group`, or the full entry map"""
+    return get_distribution(dist).get_entry_map(group)
+
+
+def get_entry_info(dist, group, name):
+    """Return the EntryPoint object for `group`+`name`, or ``None``"""
+    return get_distribution(dist).get_entry_info(group, name)
+
+
+class IMetadataProvider:
+    def has_metadata(name):
+        """Does the package's distribution contain the named metadata?"""
+
+    def get_metadata(name):
+        """The named metadata resource as a string"""
+
+    def get_metadata_lines(name):
+        """Yield named metadata resource as list of non-blank non-comment lines
+
+       Leading and trailing whitespace is stripped from each line, and lines
+       with ``#`` as the first non-blank character are omitted."""
+
+    def metadata_isdir(name):
+        """Is the named metadata a directory?  (like ``os.path.isdir()``)"""
+
+    def metadata_listdir(name):
+        """List of metadata names in the directory (like ``os.listdir()``)"""
+
+    def run_script(script_name, namespace):
+        """Execute the named script in the supplied namespace dictionary"""
+
+
+class IResourceProvider(IMetadataProvider):
+    """An object that provides access to package resources"""
+
+    def get_resource_filename(manager, resource_name):
+        """Return a true filesystem path for `resource_name`
+
+        `manager` must be an ``IResourceManager``"""
+
+    def get_resource_stream(manager, resource_name):
+        """Return a readable file-like object for `resource_name`
+
+        `manager` must be an ``IResourceManager``"""
+
+    def get_resource_string(manager, resource_name):
+        """Return a string containing the contents of `resource_name`
+
+        `manager` must be an ``IResourceManager``"""
+
+    def has_resource(resource_name):
+        """Does the package contain the named resource?"""
+
+    def resource_isdir(resource_name):
+        """Is the named resource a directory?  (like ``os.path.isdir()``)"""
+
+    def resource_listdir(resource_name):
+        """List of resource names in the directory (like ``os.listdir()``)"""
+
+
+class WorkingSet:
+    """A collection of active distributions on sys.path (or a similar list)"""
+
+    def __init__(self, entries=None):
+        """Create working set from list of path entries (default=sys.path)"""
+        self.entries = []
+        self.entry_keys = {}
+        self.by_key = {}
+        self.callbacks = []
+
+        if entries is None:
+            entries = sys.path
+
+        for entry in entries:
+            self.add_entry(entry)
+
+    @classmethod
+    def _build_master(cls):
+        """
+        Prepare the master working set.
+        """
+        ws = cls()
+        try:
+            from __main__ import __requires__
+        except ImportError:
+            # The main program does not list any requirements
+            return ws
+
+        # ensure the requirements are met
+        try:
+            ws.require(__requires__)
+        except VersionConflict:
+            return cls._build_from_requirements(__requires__)
+
+        return ws
+
+    @classmethod
+    def _build_from_requirements(cls, req_spec):
+        """
+        Build a working set from a requirement spec. Rewrites sys.path.
+        """
+        # try it without defaults already on sys.path
+        # by starting with an empty path
+        ws = cls([])
+        reqs = parse_requirements(req_spec)
+        dists = ws.resolve(reqs, Environment())
+        for dist in dists:
+            ws.add(dist)
+
+        # add any missing entries from sys.path
+        for entry in sys.path:
+            if entry not in ws.entries:
+                ws.add_entry(entry)
+
+        # then copy back to sys.path
+        sys.path[:] = ws.entries
+        return ws
+
+    def add_entry(self, entry):
+        """Add a path item to ``.entries``, finding any distributions on it
+
+        ``find_distributions(entry, True)`` is used to find distributions
+        corresponding to the path entry, and they are added.  `entry` is
+        always appended to ``.entries``, even if it is already present.
+        (This is because ``sys.path`` can contain the same value more than
+        once, and the ``.entries`` of the ``sys.path`` WorkingSet should always
+        equal ``sys.path``.)
+        """
+        self.entry_keys.setdefault(entry, [])
+        self.entries.append(entry)
+        for dist in find_distributions(entry, True):
+            self.add(dist, entry, False)
+
+    def __contains__(self, dist):
+        """True if `dist` is the active distribution for its project"""
+        return self.by_key.get(dist.key) == dist
+
+    def find(self, req):
+        """Find a distribution matching requirement `req`
+
+        If there is an active distribution for the requested project, this
+        returns it as long as it meets the version requirement specified by
+        `req`.  But, if there is an active distribution for the project and it
+        does *not* meet the `req` requirement, ``VersionConflict`` is raised.
+        If there is no active distribution for the requested project, ``None``
+        is returned.
+        """
+        dist = self.by_key.get(req.key)
+        if dist is not None and dist not in req:
+            # XXX add more info
+            raise VersionConflict(dist, req)
+        return dist
+
+    def iter_entry_points(self, group, name=None):
+        """Yield entry point objects from `group` matching `name`
+
+        If `name` is None, yields all entry points in `group` from all
+        distributions in the working set, otherwise only ones matching
+        both `group` and `name` are yielded (in distribution order).
+        """
+        return (
+            entry
+            for dist in self
+            for entry in dist.get_entry_map(group).values()
+            if name is None or name == entry.name
+        )
+
+    def run_script(self, requires, script_name):
+        """Locate distribution for `requires` and run `script_name` script"""
+        ns = sys._getframe(1).f_globals
+        name = ns['__name__']
+        ns.clear()
+        ns['__name__'] = name
+        self.require(requires)[0].run_script(script_name, ns)
+
+    def __iter__(self):
+        """Yield distributions for non-duplicate projects in the working set
+
+        The yield order is the order in which the items' path entries were
+        added to the working set.
+        """
+        seen = {}
+        for item in self.entries:
+            if item not in self.entry_keys:
+                # workaround a cache issue
+                continue
+
+            for key in self.entry_keys[item]:
+                if key not in seen:
+                    seen[key] = 1
+                    yield self.by_key[key]
+
+    def add(self, dist, entry=None, insert=True, replace=False):
+        """Add `dist` to working set, associated with `entry`
+
+        If `entry` is unspecified, it defaults to the ``.location`` of `dist`.
+        On exit from this routine, `entry` is added to the end of the working
+        set's ``.entries`` (if it wasn't already present).
+
+        `dist` is only added to the working set if it's for a project that
+        doesn't already have a distribution in the set, unless `replace=True`.
+        If it's added, any callbacks registered with the ``subscribe()`` method
+        will be called.
+        """
+        if insert:
+            dist.insert_on(self.entries, entry, replace=replace)
+
+        if entry is None:
+            entry = dist.location
+        keys = self.entry_keys.setdefault(entry, [])
+        keys2 = self.entry_keys.setdefault(dist.location, [])
+        if not replace and dist.key in self.by_key:
+            # ignore hidden distros
+            return
+
+        self.by_key[dist.key] = dist
+        if dist.key not in keys:
+            keys.append(dist.key)
+        if dist.key not in keys2:
+            keys2.append(dist.key)
+        self._added_new(dist)
+
+    def resolve(self, requirements, env=None, installer=None,
+                replace_conflicting=False, extras=None):
+        """List all distributions needed to (recursively) meet `requirements`
+
+        `requirements` must be a sequence of ``Requirement`` objects.  `env`,
+        if supplied, should be an ``Environment`` instance.  If
+        not supplied, it defaults to all distributions available within any
+        entry or distribution in the working set.  `installer`, if supplied,
+        will be invoked with each requirement that cannot be met by an
+        already-installed distribution; it should return a ``Distribution`` or
+        ``None``.
+
+        Unless `replace_conflicting=True`, raises a VersionConflict exception
+        if
+        any requirements are found on the path that have the correct name but
+        the wrong version.  Otherwise, if an `installer` is supplied it will be
+        invoked to obtain the correct version of the requirement and activate
+        it.
+
+        `extras` is a list of the extras to be used with these requirements.
+        This is important because extra requirements may look like `my_req;
+        extra = "my_extra"`, which would otherwise be interpreted as a purely
+        optional requirement.  Instead, we want to be able to assert that these
+        requirements are truly required.
+        """
+
+        # set up the stack
+        requirements = list(requirements)[::-1]
+        # set of processed requirements
+        processed = {}
+        # key -> dist
+        best = {}
+        to_activate = []
+
+        req_extras = _ReqExtras()
+
+        # Mapping of requirement to set of distributions that required it;
+        # useful for reporting info about conflicts.
+        required_by = collections.defaultdict(set)
+
+        while requirements:
+            # process dependencies breadth-first
+            req = requirements.pop(0)
+            if req in processed:
+                # Ignore cyclic or redundant dependencies
+                continue
+
+            if not req_extras.markers_pass(req, extras):
+                continue
+
+            dist = best.get(req.key)
+            if dist is None:
+                # Find the best distribution and add it to the map
+                dist = self.by_key.get(req.key)
+                if dist is None or (dist not in req and replace_conflicting):
+                    ws = self
+                    if env is None:
+                        if dist is None:
+                            env = Environment(self.entries)
+                        else:
+                            # Use an empty environment and workingset to avoid
+                            # any further conflicts with the conflicting
+                            # distribution
+                            env = Environment([])
+                            ws = WorkingSet([])
+                    dist = best[req.key] = env.best_match(
+                        req, ws, installer,
+                        replace_conflicting=replace_conflicting
+                    )
+                    if dist is None:
+                        requirers = required_by.get(req, None)
+                        raise DistributionNotFound(req, requirers)
+                to_activate.append(dist)
+            if dist not in req:
+                # Oops, the "best" so far conflicts with a dependency
+                dependent_req = required_by[req]
+                raise VersionConflict(dist, req).with_context(dependent_req)
+
+            # push the new requirements onto the stack
+            new_requirements = dist.requires(req.extras)[::-1]
+            requirements.extend(new_requirements)
+
+            # Register the new requirements needed by req
+            for new_requirement in new_requirements:
+                required_by[new_requirement].add(req.project_name)
+                req_extras[new_requirement] = req.extras
+
+            processed[req] = True
+
+        # return list of distros to activate
+        return to_activate
+
+    def find_plugins(
+            self, plugin_env, full_env=None, installer=None, fallback=True):
+        """Find all activatable distributions in `plugin_env`
+
+        Example usage::
+
+            distributions, errors = working_set.find_plugins(
+                Environment(plugin_dirlist)
+            )
+            # add plugins+libs to sys.path
+            map(working_set.add, distributions)
+            # display errors
+            print('Could not load', errors)
+
+        The `plugin_env` should be an ``Environment`` instance that contains
+        only distributions that are in the project's "plugin directory" or
+        directories. The `full_env`, if supplied, should be an ``Environment``
+        contains all currently-available distributions.  If `full_env` is not
+        supplied, one is created automatically from the ``WorkingSet`` this
+        method is called on, which will typically mean that every directory on
+        ``sys.path`` will be scanned for distributions.
+
+        `installer` is a standard installer callback as used by the
+        ``resolve()`` method. The `fallback` flag indicates whether we should
+        attempt to resolve older versions of a plugin if the newest version
+        cannot be resolved.
+
+        This method returns a 2-tuple: (`distributions`, `error_info`), where
+        `distributions` is a list of the distributions found in `plugin_env`
+        that were loadable, along with any other distributions that are needed
+        to resolve their dependencies.  `error_info` is a dictionary mapping
+        unloadable plugin distributions to an exception instance describing the
+        error that occurred. Usually this will be a ``DistributionNotFound`` or
+        ``VersionConflict`` instance.
+        """
+
+        plugin_projects = list(plugin_env)
+        # scan project names in alphabetic order
+        plugin_projects.sort()
+
+        error_info = {}
+        distributions = {}
+
+        if full_env is None:
+            env = Environment(self.entries)
+            env += plugin_env
+        else:
+            env = full_env + plugin_env
+
+        shadow_set = self.__class__([])
+        # put all our entries in shadow_set
+        list(map(shadow_set.add, self))
+
+        for project_name in plugin_projects:
+
+            for dist in plugin_env[project_name]:
+
+                req = [dist.as_requirement()]
+
+                try:
+                    resolvees = shadow_set.resolve(req, env, installer)
+
+                except ResolutionError as v:
+                    # save error info
+                    error_info[dist] = v
+                    if fallback:
+                        # try the next older version of project
+                        continue
+                    else:
+                        # give up on this project, keep going
+                        break
+
+                else:
+                    list(map(shadow_set.add, resolvees))
+                    distributions.update(dict.fromkeys(resolvees))
+
+                    # success, no need to try any more versions of this project
+                    break
+
+        distributions = list(distributions)
+        distributions.sort()
+
+        return distributions, error_info
+
+    def require(self, *requirements):
+        """Ensure that distributions matching `requirements` are activated
+
+        `requirements` must be a string or a (possibly-nested) sequence
+        thereof, specifying the distributions and versions required.  The
+        return value is a sequence of the distributions that needed to be
+        activated to fulfill the requirements; all relevant distributions are
+        included, even if they were already activated in this working set.
+        """
+        needed = self.resolve(parse_requirements(requirements))
+
+        for dist in needed:
+            self.add(dist)
+
+        return needed
+
+    def subscribe(self, callback, existing=True):
+        """Invoke `callback` for all distributions
+
+        If `existing=True` (default),
+        call on all existing ones, as well.
+        """
+        if callback in self.callbacks:
+            return
+        self.callbacks.append(callback)
+        if not existing:
+            return
+        for dist in self:
+            callback(dist)
+
+    def _added_new(self, dist):
+        for callback in self.callbacks:
+            callback(dist)
+
+    def __getstate__(self):
+        return (
+            self.entries[:], self.entry_keys.copy(), self.by_key.copy(),
+            self.callbacks[:]
+        )
+
+    def __setstate__(self, e_k_b_c):
+        entries, keys, by_key, callbacks = e_k_b_c
+        self.entries = entries[:]
+        self.entry_keys = keys.copy()
+        self.by_key = by_key.copy()
+        self.callbacks = callbacks[:]
+
+
+class _ReqExtras(dict):
+    """
+    Map each requirement to the extras that demanded it.
+    """
+
+    def markers_pass(self, req, extras=None):
+        """
+        Evaluate markers for req against each extra that
+        demanded it.
+
+        Return False if the req has a marker and fails
+        evaluation. Otherwise, return True.
+        """
+        extra_evals = (
+            req.marker.evaluate({'extra': extra})
+            for extra in self.get(req, ()) + (extras or (None,))
+        )
+        return not req.marker or any(extra_evals)
+
+
+class Environment:
+    """Searchable snapshot of distributions on a search path"""
+
+    def __init__(
+            self, search_path=None, platform=get_supported_platform(),
+            python=PY_MAJOR):
+        """Snapshot distributions available on a search path
+
+        Any distributions found on `search_path` are added to the environment.
+        `search_path` should be a sequence of ``sys.path`` items.  If not
+        supplied, ``sys.path`` is used.
+
+        `platform` is an optional string specifying the name of the platform
+        that platform-specific distributions must be compatible with.  If
+        unspecified, it defaults to the current platform.  `python` is an
+        optional string naming the desired version of Python (e.g. ``'3.6'``);
+        it defaults to the current version.
+
+        You may explicitly set `platform` (and/or `python`) to ``None`` if you
+        wish to map *all* distributions, not just those compatible with the
+        running platform or Python version.
+        """
+        self._distmap = {}
+        self.platform = platform
+        self.python = python
+        self.scan(search_path)
+
+    def can_add(self, dist):
+        """Is distribution `dist` acceptable for this environment?
+
+        The distribution must match the platform and python version
+        requirements specified when this environment was created, or False
+        is returned.
+        """
+        py_compat = (
+            self.python is None
+            or dist.py_version is None
+            or dist.py_version == self.python
+        )
+        return py_compat and compatible_platforms(dist.platform, self.platform)
+
+    def remove(self, dist):
+        """Remove `dist` from the environment"""
+        self._distmap[dist.key].remove(dist)
+
+    def scan(self, search_path=None):
+        """Scan `search_path` for distributions usable in this environment
+
+        Any distributions found are added to the environment.
+        `search_path` should be a sequence of ``sys.path`` items.  If not
+        supplied, ``sys.path`` is used.  Only distributions conforming to
+        the platform/python version defined at initialization are added.
+        """
+        if search_path is None:
+            search_path = sys.path
+
+        for item in search_path:
+            for dist in find_distributions(item):
+                self.add(dist)
+
+    def __getitem__(self, project_name):
+        """Return a newest-to-oldest list of distributions for `project_name`
+
+        Uses case-insensitive `project_name` comparison, assuming all the
+        project's distributions use their project's name converted to all
+        lowercase as their key.
+
+        """
+        distribution_key = project_name.lower()
+        return self._distmap.get(distribution_key, [])
+
+    def add(self, dist):
+        """Add `dist` if we ``can_add()`` it and it has not already been added
+        """
+        if self.can_add(dist) and dist.has_version():
+            dists = self._distmap.setdefault(dist.key, [])
+            if dist not in dists:
+                dists.append(dist)
+                dists.sort(key=operator.attrgetter('hashcmp'), reverse=True)
+
+    def best_match(
+            self, req, working_set, installer=None, replace_conflicting=False):
+        """Find distribution best matching `req` and usable on `working_set`
+
+        This calls the ``find(req)`` method of the `working_set` to see if a
+        suitable distribution is already active.  (This may raise
+        ``VersionConflict`` if an unsuitable version of the project is already
+        active in the specified `working_set`.)  If a suitable distribution
+        isn't active, this method returns the newest distribution in the
+        environment that meets the ``Requirement`` in `req`.  If no suitable
+        distribution is found, and `installer` is supplied, then the result of
+        calling the environment's ``obtain(req, installer)`` method will be
+        returned.
+        """
+        try:
+            dist = working_set.find(req)
+        except VersionConflict:
+            if not replace_conflicting:
+                raise
+            dist = None
+        if dist is not None:
+            return dist
+        for dist in self[req.key]:
+            if dist in req:
+                return dist
+        # try to download/install
+        return self.obtain(req, installer)
+
+    def obtain(self, requirement, installer=None):
+        """Obtain a distribution matching `requirement` (e.g. via download)
+
+        Obtain a distro that matches requirement (e.g. via download).  In the
+        base ``Environment`` class, this routine just returns
+        ``installer(requirement)``, unless `installer` is None, in which case
+        None is returned instead.  This method is a hook that allows subclasses
+        to attempt other ways of obtaining a distribution before falling back
+        to the `installer` argument."""
+        if installer is not None:
+            return installer(requirement)
+
+    def __iter__(self):
+        """Yield the unique project names of the available distributions"""
+        for key in self._distmap.keys():
+            if self[key]:
+                yield key
+
+    def __iadd__(self, other):
+        """In-place addition of a distribution or environment"""
+        if isinstance(other, Distribution):
+            self.add(other)
+        elif isinstance(other, Environment):
+            for project in other:
+                for dist in other[project]:
+                    self.add(dist)
+        else:
+            raise TypeError("Can't add %r to environment" % (other,))
+        return self
+
+    def __add__(self, other):
+        """Add an environment or distribution to an environment"""
+        new = self.__class__([], platform=None, python=None)
+        for env in self, other:
+            new += env
+        return new
+
+
+# XXX backward compatibility
+AvailableDistributions = Environment
+
+
+class ExtractionError(RuntimeError):
+    """An error occurred extracting a resource
+
+    The following attributes are available from instances of this exception:
+
+    manager
+        The resource manager that raised this exception
+
+    cache_path
+        The base directory for resource extraction
+
+    original_error
+        The exception instance that caused extraction to fail
+    """
+
+
+class ResourceManager:
+    """Manage resource extraction and packages"""
+    extraction_path = None
+
+    def __init__(self):
+        self.cached_files = {}
+
+    def resource_exists(self, package_or_requirement, resource_name):
+        """Does the named resource exist?"""
+        return get_provider(package_or_requirement).has_resource(resource_name)
+
+    def resource_isdir(self, package_or_requirement, resource_name):
+        """Is the named resource an existing directory?"""
+        return get_provider(package_or_requirement).resource_isdir(
+            resource_name
+        )
+
+    def resource_filename(self, package_or_requirement, resource_name):
+        """Return a true filesystem path for specified resource"""
+        return get_provider(package_or_requirement).get_resource_filename(
+            self, resource_name
+        )
+
+    def resource_stream(self, package_or_requirement, resource_name):
+        """Return a readable file-like object for specified resource"""
+        return get_provider(package_or_requirement).get_resource_stream(
+            self, resource_name
+        )
+
+    def resource_string(self, package_or_requirement, resource_name):
+        """Return specified resource as a string"""
+        return get_provider(package_or_requirement).get_resource_string(
+            self, resource_name
+        )
+
+    def resource_listdir(self, package_or_requirement, resource_name):
+        """List the contents of the named resource directory"""
+        return get_provider(package_or_requirement).resource_listdir(
+            resource_name
+        )
+
+    def extraction_error(self):
+        """Give an error message for problems extracting file(s)"""
+
+        old_exc = sys.exc_info()[1]
+        cache_path = self.extraction_path or get_default_cache()
+
+        tmpl = textwrap.dedent("""
+            Can't extract file(s) to egg cache
+
+            The following error occurred while trying to extract file(s)
+            to the Python egg cache:
+
+              {old_exc}
+
+            The Python egg cache directory is currently set to:
+
+              {cache_path}
+
+            Perhaps your account does not have write access to this directory?
+            You can change the cache directory by setting the PYTHON_EGG_CACHE
+            environment variable to point to an accessible directory.
+            """).lstrip()
+        err = ExtractionError(tmpl.format(**locals()))
+        err.manager = self
+        err.cache_path = cache_path
+        err.original_error = old_exc
+        raise err
+
+    def get_cache_path(self, archive_name, names=()):
+        """Return absolute location in cache for `archive_name` and `names`
+
+        The parent directory of the resulting path will be created if it does
+        not already exist.  `archive_name` should be the base filename of the
+        enclosing egg (which may not be the name of the enclosing zipfile!),
+        including its ".egg" extension.  `names`, if provided, should be a
+        sequence of path name parts "under" the egg's extraction location.
+
+        This method should only be called by resource providers that need to
+        obtain an extraction location, and only for names they intend to
+        extract, as it tracks the generated names for possible cleanup later.
+        """
+        extract_path = self.extraction_path or get_default_cache()
+        target_path = os.path.join(extract_path, archive_name + '-tmp', *names)
+        try:
+            _bypass_ensure_directory(target_path)
+        except Exception:
+            self.extraction_error()
+
+        self._warn_unsafe_extraction_path(extract_path)
+
+        self.cached_files[target_path] = 1
+        return target_path
+
+    @staticmethod
+    def _warn_unsafe_extraction_path(path):
+        """
+        If the default extraction path is overridden and set to an insecure
+        location, such as /tmp, it opens up an opportunity for an attacker to
+        replace an extracted file with an unauthorized payload. Warn the user
+        if a known insecure location is used.
+
+        See Distribute #375 for more details.
+        """
+        if os.name == 'nt' and not path.startswith(os.environ['windir']):
+            # On Windows, permissions are generally restrictive by default
+            #  and temp directories are not writable by other users, so
+            #  bypass the warning.
+            return
+        mode = os.stat(path).st_mode
+        if mode & stat.S_IWOTH or mode & stat.S_IWGRP:
+            msg = (
+                "%s is writable by group/others and vulnerable to attack "
+                "when "
+                "used with get_resource_filename. Consider a more secure "
+                "location (set with .set_extraction_path or the "
+                "PYTHON_EGG_CACHE environment variable)." % path
+            )
+            warnings.warn(msg, UserWarning)
+
+    def postprocess(self, tempname, filename):
+        """Perform any platform-specific postprocessing of `tempname`
+
+        This is where Mac header rewrites should be done; other platforms don't
+        have anything special they should do.
+
+        Resource providers should call this method ONLY after successfully
+        extracting a compressed resource.  They must NOT call it on resources
+        that are already in the filesystem.
+
+        `tempname` is the current (temporary) name of the file, and `filename`
+        is the name it will be renamed to by the caller after this routine
+        returns.
+        """
+
+        if os.name == 'posix':
+            # Make the resource executable
+            mode = ((os.stat(tempname).st_mode) | 0o555) & 0o7777
+            os.chmod(tempname, mode)
+
+    def set_extraction_path(self, path):
+        """Set the base path where resources will be extracted to, if needed.
+
+        If you do not call this routine before any extractions take place, the
+        path defaults to the return value of ``get_default_cache()``.  (Which
+        is based on the ``PYTHON_EGG_CACHE`` environment variable, with various
+        platform-specific fallbacks.  See that routine's documentation for more
+        details.)
+
+        Resources are extracted to subdirectories of this path based upon
+        information given by the ``IResourceProvider``.  You may set this to a
+        temporary directory, but then you must call ``cleanup_resources()`` to
+        delete the extracted files when done.  There is no guarantee that
+        ``cleanup_resources()`` will be able to remove all extracted files.
+
+        (Note: you may not change the extraction path for a given resource
+        manager once resources have been extracted, unless you first call
+        ``cleanup_resources()``.)
+        """
+        if self.cached_files:
+            raise ValueError(
+                "Can't change extraction path, files already extracted"
+            )
+
+        self.extraction_path = path
+
+    def cleanup_resources(self, force=False):
+        """
+        Delete all extracted resource files and directories, returning a list
+        of the file and directory names that could not be successfully removed.
+        This function does not have any concurrency protection, so it should
+        generally only be called when the extraction path is a temporary
+        directory exclusive to a single process.  This method is not
+        automatically called; you must call it explicitly or register it as an
+        ``atexit`` function if you wish to ensure cleanup of a temporary
+        directory used for extractions.
+        """
+        # XXX
+
+
+def get_default_cache():
+    """
+    Return the ``PYTHON_EGG_CACHE`` environment variable
+    or a platform-relevant user cache dir for an app
+    named "Python-Eggs".
+    """
+    return (
+        os.environ.get('PYTHON_EGG_CACHE')
+        or appdirs.user_cache_dir(appname='Python-Eggs')
+    )
+
+
+def safe_name(name):
+    """Convert an arbitrary string to a standard distribution name
+
+    Any runs of non-alphanumeric/. characters are replaced with a single '-'.
+    """
+    return re.sub('[^A-Za-z0-9.]+', '-', name)
+
+
+def safe_version(version):
+    """
+    Convert an arbitrary string to a standard version string
+    """
+    try:
+        # normalize the version
+        return str(packaging.version.Version(version))
+    except packaging.version.InvalidVersion:
+        version = version.replace(' ', '.')
+        return re.sub('[^A-Za-z0-9.]+', '-', version)
+
+
+def safe_extra(extra):
+    """Convert an arbitrary string to a standard 'extra' name
+
+    Any runs of non-alphanumeric characters are replaced with a single '_',
+    and the result is always lowercased.
+    """
+    return re.sub('[^A-Za-z0-9.-]+', '_', extra).lower()
+
+
+def to_filename(name):
+    """Convert a project or version name to its filename-escaped form
+
+    Any '-' characters are currently replaced with '_'.
+    """
+    return name.replace('-', '_')
+
+
+def invalid_marker(text):
+    """
+    Validate text as a PEP 508 environment marker; return an exception
+    if invalid or False otherwise.
+    """
+    try:
+        evaluate_marker(text)
+    except SyntaxError as e:
+        e.filename = None
+        e.lineno = None
+        return e
+    return False
+
+
+def evaluate_marker(text, extra=None):
+    """
+    Evaluate a PEP 508 environment marker.
+    Return a boolean indicating the marker result in this environment.
+    Raise SyntaxError if marker is invalid.
+
+    This implementation uses the 'pyparsing' module.
+    """
+    try:
+        marker = packaging.markers.Marker(text)
+        return marker.evaluate()
+    except packaging.markers.InvalidMarker as e:
+        raise SyntaxError(e)
+
+
+class NullProvider:
+    """Try to implement resources and metadata for arbitrary PEP 302 loaders"""
+
+    egg_name = None
+    egg_info = None
+    loader = None
+
+    def __init__(self, module):
+        self.loader = getattr(module, '__loader__', None)
+        self.module_path = os.path.dirname(getattr(module, '__file__', ''))
+
+    def get_resource_filename(self, manager, resource_name):
+        return self._fn(self.module_path, resource_name)
+
+    def get_resource_stream(self, manager, resource_name):
+        return io.BytesIO(self.get_resource_string(manager, resource_name))
+
+    def get_resource_string(self, manager, resource_name):
+        return self._get(self._fn(self.module_path, resource_name))
+
+    def has_resource(self, resource_name):
+        return self._has(self._fn(self.module_path, resource_name))
+
+    def _get_metadata_path(self, name):
+        return self._fn(self.egg_info, name)
+
+    def has_metadata(self, name):
+        if not self.egg_info:
+            return self.egg_info
+
+        path = self._get_metadata_path(name)
+        return self._has(path)
+
+    def get_metadata(self, name):
+        if not self.egg_info:
+            return ""
+        path = self._get_metadata_path(name)
+        value = self._get(path)
+        if six.PY2:
+            return value
+        try:
+            return value.decode('utf-8')
+        except UnicodeDecodeError as exc:
+            # Include the path in the error message to simplify
+            # troubleshooting, and without changing the exception type.
+            exc.reason += ' in {} file at path: {}'.format(name, path)
+            raise
+
+    def get_metadata_lines(self, name):
+        return yield_lines(self.get_metadata(name))
+
+    def resource_isdir(self, resource_name):
+        return self._isdir(self._fn(self.module_path, resource_name))
+
+    def metadata_isdir(self, name):
+        return self.egg_info and self._isdir(self._fn(self.egg_info, name))
+
+    def resource_listdir(self, resource_name):
+        return self._listdir(self._fn(self.module_path, resource_name))
+
+    def metadata_listdir(self, name):
+        if self.egg_info:
+            return self._listdir(self._fn(self.egg_info, name))
+        return []
+
+    def run_script(self, script_name, namespace):
+        script = 'scripts/' + script_name
+        if not self.has_metadata(script):
+            raise ResolutionError(
+                "Script {script!r} not found in metadata at {self.egg_info!r}"
+                .format(**locals()),
+            )
+        script_text = self.get_metadata(script).replace('\r\n', '\n')
+        script_text = script_text.replace('\r', '\n')
+        script_filename = self._fn(self.egg_info, script)
+        namespace['__file__'] = script_filename
+        if os.path.exists(script_filename):
+            source = open(script_filename).read()
+            code = compile(source, script_filename, 'exec')
+            exec(code, namespace, namespace)
+        else:
+            from linecache import cache
+            cache[script_filename] = (
+                len(script_text), 0, script_text.split('\n'), script_filename
+            )
+            script_code = compile(script_text, script_filename, 'exec')
+            exec(script_code, namespace, namespace)
+
+    def _has(self, path):
+        raise NotImplementedError(
+            "Can't perform this operation for unregistered loader type"
+        )
+
+    def _isdir(self, path):
+        raise NotImplementedError(
+            "Can't perform this operation for unregistered loader type"
+        )
+
+    def _listdir(self, path):
+        raise NotImplementedError(
+            "Can't perform this operation for unregistered loader type"
+        )
+
+    def _fn(self, base, resource_name):
+        self._validate_resource_path(resource_name)
+        if resource_name:
+            return os.path.join(base, *resource_name.split('/'))
+        return base
+
+    @staticmethod
+    def _validate_resource_path(path):
+        """
+        Validate the resource paths according to the docs.
+        https://setuptools.readthedocs.io/en/latest/pkg_resources.html#basic-resource-access
+
+        >>> warned = getfixture('recwarn')
+        >>> warnings.simplefilter('always')
+        >>> vrp = NullProvider._validate_resource_path
+        >>> vrp('foo/bar.txt')
+        >>> bool(warned)
+        False
+        >>> vrp('../foo/bar.txt')
+        >>> bool(warned)
+        True
+        >>> warned.clear()
+        >>> vrp('/foo/bar.txt')
+        >>> bool(warned)
+        True
+        >>> vrp('foo/../../bar.txt')
+        >>> bool(warned)
+        True
+        >>> warned.clear()
+        >>> vrp('foo/f../bar.txt')
+        >>> bool(warned)
+        False
+
+        Windows path separators are straight-up disallowed.
+        >>> vrp(r'\\foo/bar.txt')
+        Traceback (most recent call last):
+        ...
+        ValueError: Use of .. or absolute path in a resource path \
+is not allowed.
+
+        >>> vrp(r'C:\\foo/bar.txt')
+        Traceback (most recent call last):
+        ...
+        ValueError: Use of .. or absolute path in a resource path \
+is not allowed.
+
+        Blank values are allowed
+
+        >>> vrp('')
+        >>> bool(warned)
+        False
+
+        Non-string values are not.
+
+        >>> vrp(None)
+        Traceback (most recent call last):
+        ...
+        AttributeError: ...
+        """
+        invalid = (
+            os.path.pardir in path.split(posixpath.sep) or
+            posixpath.isabs(path) or
+            ntpath.isabs(path)
+        )
+        if not invalid:
+            return
+
+        msg = "Use of .. or absolute path in a resource path is not allowed."
+
+        # Aggressively disallow Windows absolute paths
+        if ntpath.isabs(path) and not posixpath.isabs(path):
+            raise ValueError(msg)
+
+        # for compatibility, warn; in future
+        # raise ValueError(msg)
+        warnings.warn(
+            msg[:-1] + " and will raise exceptions in a future release.",
+            DeprecationWarning,
+            stacklevel=4,
+        )
+
+    def _get(self, path):
+        if hasattr(self.loader, 'get_data'):
+            return self.loader.get_data(path)
+        raise NotImplementedError(
+            "Can't perform this operation for loaders without 'get_data()'"
+        )
+
+
+register_loader_type(object, NullProvider)
+
+
+class EggProvider(NullProvider):
+    """Provider based on a virtual filesystem"""
+
+    def __init__(self, module):
+        NullProvider.__init__(self, module)
+        self._setup_prefix()
+
+    def _setup_prefix(self):
+        # we assume here that our metadata may be nested inside a "basket"
+        # of multiple eggs; that's why we use module_path instead of .archive
+        path = self.module_path
+        old = None
+        while path != old:
+            if _is_egg_path(path):
+                self.egg_name = os.path.basename(path)
+                self.egg_info = os.path.join(path, 'EGG-INFO')
+                self.egg_root = path
+                break
+            old = path
+            path, base = os.path.split(path)
+
+
+class DefaultProvider(EggProvider):
+    """Provides access to package resources in the filesystem"""
+
+    def _has(self, path):
+        return os.path.exists(path)
+
+    def _isdir(self, path):
+        return os.path.isdir(path)
+
+    def _listdir(self, path):
+        return os.listdir(path)
+
+    def get_resource_stream(self, manager, resource_name):
+        return open(self._fn(self.module_path, resource_name), 'rb')
+
+    def _get(self, path):
+        with open(path, 'rb') as stream:
+            return stream.read()
+
+    @classmethod
+    def _register(cls):
+        loader_names = 'SourceFileLoader', 'SourcelessFileLoader',
+        for name in loader_names:
+            loader_cls = getattr(importlib_machinery, name, type(None))
+            register_loader_type(loader_cls, cls)
+
+
+DefaultProvider._register()
+
+
+class EmptyProvider(NullProvider):
+    """Provider that returns nothing for all requests"""
+
+    module_path = None
+
+    _isdir = _has = lambda self, path: False
+
+    def _get(self, path):
+        return ''
+
+    def _listdir(self, path):
+        return []
+
+    def __init__(self):
+        pass
+
+
+empty_provider = EmptyProvider()
+
+
+class ZipManifests(dict):
+    """
+    zip manifest builder
+    """
+
+    @classmethod
+    def build(cls, path):
+        """
+        Build a dictionary similar to the zipimport directory
+        caches, except instead of tuples, store ZipInfo objects.
+
+        Use a platform-specific path separator (os.sep) for the path keys
+        for compatibility with pypy on Windows.
+        """
+        with zipfile.ZipFile(path) as zfile:
+            items = (
+                (
+                    name.replace('/', os.sep),
+                    zfile.getinfo(name),
+                )
+                for name in zfile.namelist()
+            )
+            return dict(items)
+
+    load = build
+
+
+class MemoizedZipManifests(ZipManifests):
+    """
+    Memoized zipfile manifests.
+    """
+    manifest_mod = collections.namedtuple('manifest_mod', 'manifest mtime')
+
+    def load(self, path):
+        """
+        Load a manifest at path or return a suitable manifest already loaded.
+        """
+        path = os.path.normpath(path)
+        mtime = os.stat(path).st_mtime
+
+        if path not in self or self[path].mtime != mtime:
+            manifest = self.build(path)
+            self[path] = self.manifest_mod(manifest, mtime)
+
+        return self[path].manifest
+
+
+class ZipProvider(EggProvider):
+    """Resource support for zips and eggs"""
+
+    eagers = None
+    _zip_manifests = MemoizedZipManifests()
+
+    def __init__(self, module):
+        EggProvider.__init__(self, module)
+        self.zip_pre = self.loader.archive + os.sep
+
+    def _zipinfo_name(self, fspath):
+        # Convert a virtual filename (full path to file) into a zipfile subpath
+        # usable with the zipimport directory cache for our target archive
+        fspath = fspath.rstrip(os.sep)
+        if fspath == self.loader.archive:
+            return ''
+        if fspath.startswith(self.zip_pre):
+            return fspath[len(self.zip_pre):]
+        raise AssertionError(
+            "%s is not a subpath of %s" % (fspath, self.zip_pre)
+        )
+
+    def _parts(self, zip_path):
+        # Convert a zipfile subpath into an egg-relative path part list.
+        # pseudo-fs path
+        fspath = self.zip_pre + zip_path
+        if fspath.startswith(self.egg_root + os.sep):
+            return fspath[len(self.egg_root) + 1:].split(os.sep)
+        raise AssertionError(
+            "%s is not a subpath of %s" % (fspath, self.egg_root)
+        )
+
+    @property
+    def zipinfo(self):
+        return self._zip_manifests.load(self.loader.archive)
+
+    def get_resource_filename(self, manager, resource_name):
+        if not self.egg_name:
+            raise NotImplementedError(
+                "resource_filename() only supported for .egg, not .zip"
+            )
+        # no need to lock for extraction, since we use temp names
+        zip_path = self._resource_to_zip(resource_name)
+        eagers = self._get_eager_resources()
+        if '/'.join(self._parts(zip_path)) in eagers:
+            for name in eagers:
+                self._extract_resource(manager, self._eager_to_zip(name))
+        return self._extract_resource(manager, zip_path)
+
+    @staticmethod
+    def _get_date_and_size(zip_stat):
+        size = zip_stat.file_size
+        # ymdhms+wday, yday, dst
+        date_time = zip_stat.date_time + (0, 0, -1)
+        # 1980 offset already done
+        timestamp = time.mktime(date_time)
+        return timestamp, size
+
+    def _extract_resource(self, manager, zip_path):
+
+        if zip_path in self._index():
+            for name in self._index()[zip_path]:
+                last = self._extract_resource(
+                    manager, os.path.join(zip_path, name)
+                )
+            # return the extracted directory name
+            return os.path.dirname(last)
+
+        timestamp, size = self._get_date_and_size(self.zipinfo[zip_path])
+
+        if not WRITE_SUPPORT:
+            raise IOError('"os.rename" and "os.unlink" are not supported '
+                          'on this platform')
+        try:
+
+            real_path = manager.get_cache_path(
+                self.egg_name, self._parts(zip_path)
+            )
+
+            if self._is_current(real_path, zip_path):
+                return real_path
+
+            outf, tmpnam = _mkstemp(
+                ".$extract",
+                dir=os.path.dirname(real_path),
+            )
+            os.write(outf, self.loader.get_data(zip_path))
+            os.close(outf)
+            utime(tmpnam, (timestamp, timestamp))
+            manager.postprocess(tmpnam, real_path)
+
+            try:
+                rename(tmpnam, real_path)
+
+            except os.error:
+                if os.path.isfile(real_path):
+                    if self._is_current(real_path, zip_path):
+                        # the file became current since it was checked above,
+                        #  so proceed.
+                        return real_path
+                    # Windows, del old file and retry
+                    elif os.name == 'nt':
+                        unlink(real_path)
+                        rename(tmpnam, real_path)
+                        return real_path
+                raise
+
+        except os.error:
+            # report a user-friendly error
+            manager.extraction_error()
+
+        return real_path
+
+    def _is_current(self, file_path, zip_path):
+        """
+        Return True if the file_path is current for this zip_path
+        """
+        timestamp, size = self._get_date_and_size(self.zipinfo[zip_path])
+        if not os.path.isfile(file_path):
+            return False
+        stat = os.stat(file_path)
+        if stat.st_size != size or stat.st_mtime != timestamp:
+            return False
+        # check that the contents match
+        zip_contents = self.loader.get_data(zip_path)
+        with open(file_path, 'rb') as f:
+            file_contents = f.read()
+        return zip_contents == file_contents
+
+    def _get_eager_resources(self):
+        if self.eagers is None:
+            eagers = []
+            for name in ('native_libs.txt', 'eager_resources.txt'):
+                if self.has_metadata(name):
+                    eagers.extend(self.get_metadata_lines(name))
+            self.eagers = eagers
+        return self.eagers
+
+    def _index(self):
+        try:
+            return self._dirindex
+        except AttributeError:
+            ind = {}
+            for path in self.zipinfo:
+                parts = path.split(os.sep)
+                while parts:
+                    parent = os.sep.join(parts[:-1])
+                    if parent in ind:
+                        ind[parent].append(parts[-1])
+                        break
+                    else:
+                        ind[parent] = [parts.pop()]
+            self._dirindex = ind
+            return ind
+
+    def _has(self, fspath):
+        zip_path = self._zipinfo_name(fspath)
+        return zip_path in self.zipinfo or zip_path in self._index()
+
+    def _isdir(self, fspath):
+        return self._zipinfo_name(fspath) in self._index()
+
+    def _listdir(self, fspath):
+        return list(self._index().get(self._zipinfo_name(fspath), ()))
+
+    def _eager_to_zip(self, resource_name):
+        return self._zipinfo_name(self._fn(self.egg_root, resource_name))
+
+    def _resource_to_zip(self, resource_name):
+        return self._zipinfo_name(self._fn(self.module_path, resource_name))
+
+
+register_loader_type(zipimport.zipimporter, ZipProvider)
+
+
+class FileMetadata(EmptyProvider):
+    """Metadata handler for standalone PKG-INFO files
+
+    Usage::
+
+        metadata = FileMetadata("/path/to/PKG-INFO")
+
+    This provider rejects all data and metadata requests except for PKG-INFO,
+    which is treated as existing, and will be the contents of the file at
+    the provided location.
+    """
+
+    def __init__(self, path):
+        self.path = path
+
+    def _get_metadata_path(self, name):
+        return self.path
+
+    def has_metadata(self, name):
+        return name == 'PKG-INFO' and os.path.isfile(self.path)
+
+    def get_metadata(self, name):
+        if name != 'PKG-INFO':
+            raise KeyError("No metadata except PKG-INFO is available")
+
+        with io.open(self.path, encoding='utf-8', errors="replace") as f:
+            metadata = f.read()
+        self._warn_on_replacement(metadata)
+        return metadata
+
+    def _warn_on_replacement(self, metadata):
+        # Python 2.7 compat for: replacement_char = '�'
+        replacement_char = b'\xef\xbf\xbd'.decode('utf-8')
+        if replacement_char in metadata:
+            tmpl = "{self.path} could not be properly decoded in UTF-8"
+            msg = tmpl.format(**locals())
+            warnings.warn(msg)
+
+    def get_metadata_lines(self, name):
+        return yield_lines(self.get_metadata(name))
+
+
+class PathMetadata(DefaultProvider):
+    """Metadata provider for egg directories
+
+    Usage::
+
+        # Development eggs:
+
+        egg_info = "/path/to/PackageName.egg-info"
+        base_dir = os.path.dirname(egg_info)
+        metadata = PathMetadata(base_dir, egg_info)
+        dist_name = os.path.splitext(os.path.basename(egg_info))[0]
+        dist = Distribution(basedir, project_name=dist_name, metadata=metadata)
+
+        # Unpacked egg directories:
+
+        egg_path = "/path/to/PackageName-ver-pyver-etc.egg"
+        metadata = PathMetadata(egg_path, os.path.join(egg_path,'EGG-INFO'))
+        dist = Distribution.from_filename(egg_path, metadata=metadata)
+    """
+
+    def __init__(self, path, egg_info):
+        self.module_path = path
+        self.egg_info = egg_info
+
+
+class EggMetadata(ZipProvider):
+    """Metadata provider for .egg files"""
+
+    def __init__(self, importer):
+        """Create a metadata provider from a zipimporter"""
+
+        self.zip_pre = importer.archive + os.sep
+        self.loader = importer
+        if importer.prefix:
+            self.module_path = os.path.join(importer.archive, importer.prefix)
+        else:
+            self.module_path = importer.archive
+        self._setup_prefix()
+
+
+_declare_state('dict', _distribution_finders={})
+
+
+def register_finder(importer_type, distribution_finder):
+    """Register `distribution_finder` to find distributions in sys.path items
+
+    `importer_type` is the type or class of a PEP 302 "Importer" (sys.path item
+    handler), and `distribution_finder` is a callable that, passed a path
+    item and the importer instance, yields ``Distribution`` instances found on
+    that path item.  See ``pkg_resources.find_on_path`` for an example."""
+    _distribution_finders[importer_type] = distribution_finder
+
+
+def find_distributions(path_item, only=False):
+    """Yield distributions accessible via `path_item`"""
+    importer = get_importer(path_item)
+    finder = _find_adapter(_distribution_finders, importer)
+    return finder(importer, path_item, only)
+
+
+def find_eggs_in_zip(importer, path_item, only=False):
+    """
+    Find eggs in zip files; possibly multiple nested eggs.
+    """
+    if importer.archive.endswith('.whl'):
+        # wheels are not supported with this finder
+        # they don't have PKG-INFO metadata, and won't ever contain eggs
+        return
+    metadata = EggMetadata(importer)
+    if metadata.has_metadata('PKG-INFO'):
+        yield Distribution.from_filename(path_item, metadata=metadata)
+    if only:
+        # don't yield nested distros
+        return
+    for subitem in metadata.resource_listdir(''):
+        if _is_egg_path(subitem):
+            subpath = os.path.join(path_item, subitem)
+            dists = find_eggs_in_zip(zipimport.zipimporter(subpath), subpath)
+            for dist in dists:
+                yield dist
+        elif subitem.lower().endswith('.dist-info'):
+            subpath = os.path.join(path_item, subitem)
+            submeta = EggMetadata(zipimport.zipimporter(subpath))
+            submeta.egg_info = subpath
+            yield Distribution.from_location(path_item, subitem, submeta)
+
+
+register_finder(zipimport.zipimporter, find_eggs_in_zip)
+
+
+def find_nothing(importer, path_item, only=False):
+    return ()
+
+
+register_finder(object, find_nothing)
+
+
+def _by_version_descending(names):
+    """
+    Given a list of filenames, return them in descending order
+    by version number.
+
+    >>> names = 'bar', 'foo', 'Python-2.7.10.egg', 'Python-2.7.2.egg'
+    >>> _by_version_descending(names)
+    ['Python-2.7.10.egg', 'Python-2.7.2.egg', 'foo', 'bar']
+    >>> names = 'Setuptools-1.2.3b1.egg', 'Setuptools-1.2.3.egg'
+    >>> _by_version_descending(names)
+    ['Setuptools-1.2.3.egg', 'Setuptools-1.2.3b1.egg']
+    >>> names = 'Setuptools-1.2.3b1.egg', 'Setuptools-1.2.3.post1.egg'
+    >>> _by_version_descending(names)
+    ['Setuptools-1.2.3.post1.egg', 'Setuptools-1.2.3b1.egg']
+    """
+    def _by_version(name):
+        """
+        Parse each component of the filename
+        """
+        name, ext = os.path.splitext(name)
+        parts = itertools.chain(name.split('-'), [ext])
+        return [packaging.version.parse(part) for part in parts]
+
+    return sorted(names, key=_by_version, reverse=True)
+
+
+def find_on_path(importer, path_item, only=False):
+    """Yield distributions accessible on a sys.path directory"""
+    path_item = _normalize_cached(path_item)
+
+    if _is_unpacked_egg(path_item):
+        yield Distribution.from_filename(
+            path_item, metadata=PathMetadata(
+                path_item, os.path.join(path_item, 'EGG-INFO')
+            )
+        )
+        return
+
+    entries = safe_listdir(path_item)
+
+    # for performance, before sorting by version,
+    # screen entries for only those that will yield
+    # distributions
+    filtered = (
+        entry
+        for entry in entries
+        if dist_factory(path_item, entry, only)
+    )
+
+    # scan for .egg and .egg-info in directory
+    path_item_entries = _by_version_descending(filtered)
+    for entry in path_item_entries:
+        fullpath = os.path.join(path_item, entry)
+        factory = dist_factory(path_item, entry, only)
+        for dist in factory(fullpath):
+            yield dist
+
+
+def dist_factory(path_item, entry, only):
+    """
+    Return a dist_factory for a path_item and entry
+    """
+    lower = entry.lower()
+    is_meta = any(map(lower.endswith, ('.egg-info', '.dist-info')))
+    return (
+        distributions_from_metadata
+        if is_meta else
+        find_distributions
+        if not only and _is_egg_path(entry) else
+        resolve_egg_link
+        if not only and lower.endswith('.egg-link') else
+        NoDists()
+    )
+
+
+class NoDists:
+    """
+    >>> bool(NoDists())
+    False
+
+    >>> list(NoDists()('anything'))
+    []
+    """
+    def __bool__(self):
+        return False
+    if six.PY2:
+        __nonzero__ = __bool__
+
+    def __call__(self, fullpath):
+        return iter(())
+
+
+def safe_listdir(path):
+    """
+    Attempt to list contents of path, but suppress some exceptions.
+    """
+    try:
+        return os.listdir(path)
+    except (PermissionError, NotADirectoryError):
+        pass
+    except OSError as e:
+        # Ignore the directory if does not exist, not a directory or
+        # permission denied
+        ignorable = (
+            e.errno in (errno.ENOTDIR, errno.EACCES, errno.ENOENT)
+            # Python 2 on Windows needs to be handled this way :(
+            or getattr(e, "winerror", None) == 267
+        )
+        if not ignorable:
+            raise
+    return ()
+
+
+def distributions_from_metadata(path):
+    root = os.path.dirname(path)
+    if os.path.isdir(path):
+        if len(os.listdir(path)) == 0:
+            # empty metadata dir; skip
+            return
+        metadata = PathMetadata(root, path)
+    else:
+        metadata = FileMetadata(path)
+    entry = os.path.basename(path)
+    yield Distribution.from_location(
+        root, entry, metadata, precedence=DEVELOP_DIST,
+    )
+
+
+def non_empty_lines(path):
+    """
+    Yield non-empty lines from file at path
+    """
+    with open(path) as f:
+        for line in f:
+            line = line.strip()
+            if line:
+                yield line
+
+
+def resolve_egg_link(path):
+    """
+    Given a path to an .egg-link, resolve distributions
+    present in the referenced path.
+    """
+    referenced_paths = non_empty_lines(path)
+    resolved_paths = (
+        os.path.join(os.path.dirname(path), ref)
+        for ref in referenced_paths
+    )
+    dist_groups = map(find_distributions, resolved_paths)
+    return next(dist_groups, ())
+
+
+register_finder(pkgutil.ImpImporter, find_on_path)
+
+if hasattr(importlib_machinery, 'FileFinder'):
+    register_finder(importlib_machinery.FileFinder, find_on_path)
+
+_declare_state('dict', _namespace_handlers={})
+_declare_state('dict', _namespace_packages={})
+
+
+def register_namespace_handler(importer_type, namespace_handler):
+    """Register `namespace_handler` to declare namespace packages
+
+    `importer_type` is the type or class of a PEP 302 "Importer" (sys.path item
+    handler), and `namespace_handler` is a callable like this::
+
+        def namespace_handler(importer, path_entry, moduleName, module):
+            # return a path_entry to use for child packages
+
+    Namespace handlers are only called if the importer object has already
+    agreed that it can handle the relevant path item, and they should only
+    return a subpath if the module __path__ does not already contain an
+    equivalent subpath.  For an example namespace handler, see
+    ``pkg_resources.file_ns_handler``.
+    """
+    _namespace_handlers[importer_type] = namespace_handler
+
+
+def _handle_ns(packageName, path_item):
+    """Ensure that named package includes a subpath of path_item (if needed)"""
+
+    importer = get_importer(path_item)
+    if importer is None:
+        return None
+
+    # capture warnings due to #1111
+    with warnings.catch_warnings():
+        warnings.simplefilter("ignore")
+        loader = importer.find_module(packageName)
+
+    if loader is None:
+        return None
+    module = sys.modules.get(packageName)
+    if module is None:
+        module = sys.modules[packageName] = types.ModuleType(packageName)
+        module.__path__ = []
+        _set_parent_ns(packageName)
+    elif not hasattr(module, '__path__'):
+        raise TypeError("Not a package:", packageName)
+    handler = _find_adapter(_namespace_handlers, importer)
+    subpath = handler(importer, path_item, packageName, module)
+    if subpath is not None:
+        path = module.__path__
+        path.append(subpath)
+        loader.load_module(packageName)
+        _rebuild_mod_path(path, packageName, module)
+    return subpath
+
+
+def _rebuild_mod_path(orig_path, package_name, module):
+    """
+    Rebuild module.__path__ ensuring that all entries are ordered
+    corresponding to their sys.path order
+    """
+    sys_path = [_normalize_cached(p) for p in sys.path]
+
+    def safe_sys_path_index(entry):
+        """
+        Workaround for #520 and #513.
+        """
+        try:
+            return sys_path.index(entry)
+        except ValueError:
+            return float('inf')
+
+    def position_in_sys_path(path):
+        """
+        Return the ordinal of the path based on its position in sys.path
+        """
+        path_parts = path.split(os.sep)
+        module_parts = package_name.count('.') + 1
+        parts = path_parts[:-module_parts]
+        return safe_sys_path_index(_normalize_cached(os.sep.join(parts)))
+
+    new_path = sorted(orig_path, key=position_in_sys_path)
+    new_path = [_normalize_cached(p) for p in new_path]
+
+    if isinstance(module.__path__, list):
+        module.__path__[:] = new_path
+    else:
+        module.__path__ = new_path
+
+
+def declare_namespace(packageName):
+    """Declare that package 'packageName' is a namespace package"""
+
+    _imp.acquire_lock()
+    try:
+        if packageName in _namespace_packages:
+            return
+
+        path = sys.path
+        parent, _, _ = packageName.rpartition('.')
+
+        if parent:
+            declare_namespace(parent)
+            if parent not in _namespace_packages:
+                __import__(parent)
+            try:
+                path = sys.modules[parent].__path__
+            except AttributeError:
+                raise TypeError("Not a package:", parent)
+
+        # Track what packages are namespaces, so when new path items are added,
+        # they can be updated
+        _namespace_packages.setdefault(parent or None, []).append(packageName)
+        _namespace_packages.setdefault(packageName, [])
+
+        for path_item in path:
+            # Ensure all the parent's path items are reflected in the child,
+            # if they apply
+            _handle_ns(packageName, path_item)
+
+    finally:
+        _imp.release_lock()
+
+
+def fixup_namespace_packages(path_item, parent=None):
+    """Ensure that previously-declared namespace packages include path_item"""
+    _imp.acquire_lock()
+    try:
+        for package in _namespace_packages.get(parent, ()):
+            subpath = _handle_ns(package, path_item)
+            if subpath:
+                fixup_namespace_packages(subpath, package)
+    finally:
+        _imp.release_lock()
+
+
+def file_ns_handler(importer, path_item, packageName, module):
+    """Compute an ns-package subpath for a filesystem or zipfile importer"""
+
+    subpath = os.path.join(path_item, packageName.split('.')[-1])
+    normalized = _normalize_cached(subpath)
+    for item in module.__path__:
+        if _normalize_cached(item) == normalized:
+            break
+    else:
+        # Only return the path if it's not already there
+        return subpath
+
+
+register_namespace_handler(pkgutil.ImpImporter, file_ns_handler)
+register_namespace_handler(zipimport.zipimporter, file_ns_handler)
+
+if hasattr(importlib_machinery, 'FileFinder'):
+    register_namespace_handler(importlib_machinery.FileFinder, file_ns_handler)
+
+
+def null_ns_handler(importer, path_item, packageName, module):
+    return None
+
+
+register_namespace_handler(object, null_ns_handler)
+
+
+def normalize_path(filename):
+    """Normalize a file/dir name for comparison purposes"""
+    return os.path.normcase(os.path.realpath(os.path.normpath(_cygwin_patch(filename))))
+
+
+def _cygwin_patch(filename):  # pragma: nocover
+    """
+    Contrary to POSIX 2008, on Cygwin, getcwd (3) contains
+    symlink components. Using
+    os.path.abspath() works around this limitation. A fix in os.getcwd()
+    would probably better, in Cygwin even more so, except
+    that this seems to be by design...
+    """
+    return os.path.abspath(filename) if sys.platform == 'cygwin' else filename
+
+
+def _normalize_cached(filename, _cache={}):
+    try:
+        return _cache[filename]
+    except KeyError:
+        _cache[filename] = result = normalize_path(filename)
+        return result
+
+
+def _is_egg_path(path):
+    """
+    Determine if given path appears to be an egg.
+    """
+    return path.lower().endswith('.egg')
+
+
+def _is_unpacked_egg(path):
+    """
+    Determine if given path appears to be an unpacked egg.
+    """
+    return (
+        _is_egg_path(path) and
+        os.path.isfile(os.path.join(path, 'EGG-INFO', 'PKG-INFO'))
+    )
+
+
+def _set_parent_ns(packageName):
+    parts = packageName.split('.')
+    name = parts.pop()
+    if parts:
+        parent = '.'.join(parts)
+        setattr(sys.modules[parent], name, sys.modules[packageName])
+
+
+def yield_lines(strs):
+    """Yield non-empty/non-comment lines of a string or sequence"""
+    if isinstance(strs, six.string_types):
+        for s in strs.splitlines():
+            s = s.strip()
+            # skip blank lines/comments
+            if s and not s.startswith('#'):
+                yield s
+    else:
+        for ss in strs:
+            for s in yield_lines(ss):
+                yield s
+
+
+MODULE = re.compile(r"\w+(\.\w+)*$").match
+EGG_NAME = re.compile(
+    r"""
+    (?P<name>[^-]+) (
+        -(?P<ver>[^-]+) (
+            -py(?P<pyver>[^-]+) (
+                -(?P<plat>.+)
+            )?
+        )?
+    )?
+    """,
+    re.VERBOSE | re.IGNORECASE,
+).match
+
+
+class EntryPoint:
+    """Object representing an advertised importable object"""
+
+    def __init__(self, name, module_name, attrs=(), extras=(), dist=None):
+        if not MODULE(module_name):
+            raise ValueError("Invalid module name", module_name)
+        self.name = name
+        self.module_name = module_name
+        self.attrs = tuple(attrs)
+        self.extras = tuple(extras)
+        self.dist = dist
+
+    def __str__(self):
+        s = "%s = %s" % (self.name, self.module_name)
+        if self.attrs:
+            s += ':' + '.'.join(self.attrs)
+        if self.extras:
+            s += ' [%s]' % ','.join(self.extras)
+        return s
+
+    def __repr__(self):
+        return "EntryPoint.parse(%r)" % str(self)
+
+    def load(self, require=True, *args, **kwargs):
+        """
+        Require packages for this EntryPoint, then resolve it.
+        """
+        if not require or args or kwargs:
+            warnings.warn(
+                "Parameters to load are deprecated.  Call .resolve and "
+                ".require separately.",
+                PkgResourcesDeprecationWarning,
+                stacklevel=2,
+            )
+        if require:
+            self.require(*args, **kwargs)
+        return self.resolve()
+
+    def resolve(self):
+        """
+        Resolve the entry point from its module and attrs.
+        """
+        module = __import__(self.module_name, fromlist=['__name__'], level=0)
+        try:
+            return functools.reduce(getattr, self.attrs, module)
+        except AttributeError as exc:
+            raise ImportError(str(exc))
+
+    def require(self, env=None, installer=None):
+        if self.extras and not self.dist:
+            raise UnknownExtra("Can't require() without a distribution", self)
+
+        # Get the requirements for this entry point with all its extras and
+        # then resolve them. We have to pass `extras` along when resolving so
+        # that the working set knows what extras we want. Otherwise, for
+        # dist-info distributions, the working set will assume that the
+        # requirements for that extra are purely optional and skip over them.
+        reqs = self.dist.requires(self.extras)
+        items = working_set.resolve(reqs, env, installer, extras=self.extras)
+        list(map(working_set.add, items))
+
+    pattern = re.compile(
+        r'\s*'
+        r'(?P<name>.+?)\s*'
+        r'=\s*'
+        r'(?P<module>[\w.]+)\s*'
+        r'(:\s*(?P<attr>[\w.]+))?\s*'
+        r'(?P<extras>\[.*\])?\s*$'
+    )
+
+    @classmethod
+    def parse(cls, src, dist=None):
+        """Parse a single entry point from string `src`
+
+        Entry point syntax follows the form::
+
+            name = some.module:some.attr [extra1, extra2]
+
+        The entry name and module name are required, but the ``:attrs`` and
+        ``[extras]`` parts are optional
+        """
+        m = cls.pattern.match(src)
+        if not m:
+            msg = "EntryPoint must be in 'name=module:attrs [extras]' format"
+            raise ValueError(msg, src)
+        res = m.groupdict()
+        extras = cls._parse_extras(res['extras'])
+        attrs = res['attr'].split('.') if res['attr'] else ()
+        return cls(res['name'], res['module'], attrs, extras, dist)
+
+    @classmethod
+    def _parse_extras(cls, extras_spec):
+        if not extras_spec:
+            return ()
+        req = Requirement.parse('x' + extras_spec)
+        if req.specs:
+            raise ValueError()
+        return req.extras
+
+    @classmethod
+    def parse_group(cls, group, lines, dist=None):
+        """Parse an entry point group"""
+        if not MODULE(group):
+            raise ValueError("Invalid group name", group)
+        this = {}
+        for line in yield_lines(lines):
+            ep = cls.parse(line, dist)
+            if ep.name in this:
+                raise ValueError("Duplicate entry point", group, ep.name)
+            this[ep.name] = ep
+        return this
+
+    @classmethod
+    def parse_map(cls, data, dist=None):
+        """Parse a map of entry point groups"""
+        if isinstance(data, dict):
+            data = data.items()
+        else:
+            data = split_sections(data)
+        maps = {}
+        for group, lines in data:
+            if group is None:
+                if not lines:
+                    continue
+                raise ValueError("Entry points must be listed in groups")
+            group = group.strip()
+            if group in maps:
+                raise ValueError("Duplicate group name", group)
+            maps[group] = cls.parse_group(group, lines, dist)
+        return maps
+
+
+def _remove_md5_fragment(location):
+    if not location:
+        return ''
+    parsed = urllib.parse.urlparse(location)
+    if parsed[-1].startswith('md5='):
+        return urllib.parse.urlunparse(parsed[:-1] + ('',))
+    return location
+
+
+def _version_from_file(lines):
+    """
+    Given an iterable of lines from a Metadata file, return
+    the value of the Version field, if present, or None otherwise.
+    """
+    def is_version_line(line):
+        return line.lower().startswith('version:')
+    version_lines = filter(is_version_line, lines)
+    line = next(iter(version_lines), '')
+    _, _, value = line.partition(':')
+    return safe_version(value.strip()) or None
+
+
+class Distribution:
+    """Wrap an actual or potential sys.path entry w/metadata"""
+    PKG_INFO = 'PKG-INFO'
+
+    def __init__(
+            self, location=None, metadata=None, project_name=None,
+            version=None, py_version=PY_MAJOR, platform=None,
+            precedence=EGG_DIST):
+        self.project_name = safe_name(project_name or 'Unknown')
+        if version is not None:
+            self._version = safe_version(version)
+        self.py_version = py_version
+        self.platform = platform
+        self.location = location
+        self.precedence = precedence
+        self._provider = metadata or empty_provider
+
+    @classmethod
+    def from_location(cls, location, basename, metadata=None, **kw):
+        project_name, version, py_version, platform = [None] * 4
+        basename, ext = os.path.splitext(basename)
+        if ext.lower() in _distributionImpl:
+            cls = _distributionImpl[ext.lower()]
+
+            match = EGG_NAME(basename)
+            if match:
+                project_name, version, py_version, platform = match.group(
+                    'name', 'ver', 'pyver', 'plat'
+                )
+        return cls(
+            location, metadata, project_name=project_name, version=version,
+            py_version=py_version, platform=platform, **kw
+        )._reload_version()
+
+    def _reload_version(self):
+        return self
+
+    @property
+    def hashcmp(self):
+        return (
+            self.parsed_version,
+            self.precedence,
+            self.key,
+            _remove_md5_fragment(self.location),
+            self.py_version or '',
+            self.platform or '',
+        )
+
+    def __hash__(self):
+        return hash(self.hashcmp)
+
+    def __lt__(self, other):
+        return self.hashcmp < other.hashcmp
+
+    def __le__(self, other):
+        return self.hashcmp <= other.hashcmp
+
+    def __gt__(self, other):
+        return self.hashcmp > other.hashcmp
+
+    def __ge__(self, other):
+        return self.hashcmp >= other.hashcmp
+
+    def __eq__(self, other):
+        if not isinstance(other, self.__class__):
+            # It's not a Distribution, so they are not equal
+            return False
+        return self.hashcmp == other.hashcmp
+
+    def __ne__(self, other):
+        return not self == other
+
+    # These properties have to be lazy so that we don't have to load any
+    # metadata until/unless it's actually needed.  (i.e., some distributions
+    # may not know their name or version without loading PKG-INFO)
+
+    @property
+    def key(self):
+        try:
+            return self._key
+        except AttributeError:
+            self._key = key = self.project_name.lower()
+            return key
+
+    @property
+    def parsed_version(self):
+        if not hasattr(self, "_parsed_version"):
+            self._parsed_version = parse_version(self.version)
+
+        return self._parsed_version
+
+    def _warn_legacy_version(self):
+        LV = packaging.version.LegacyVersion
+        is_legacy = isinstance(self._parsed_version, LV)
+        if not is_legacy:
+            return
+
+        # While an empty version is technically a legacy version and
+        # is not a valid PEP 440 version, it's also unlikely to
+        # actually come from someone and instead it is more likely that
+        # it comes from setuptools attempting to parse a filename and
+        # including it in the list. So for that we'll gate this warning
+        # on if the version is anything at all or not.
+        if not self.version:
+            return
+
+        tmpl = textwrap.dedent("""
+            '{project_name} ({version})' is being parsed as a legacy,
+            non PEP 440,
+            version. You may find odd behavior and sort order.
+            In particular it will be sorted as less than 0.0. It
+            is recommended to migrate to PEP 440 compatible
+            versions.
+            """).strip().replace('\n', ' ')
+
+        warnings.warn(tmpl.format(**vars(self)), PEP440Warning)
+
+    @property
+    def version(self):
+        try:
+            return self._version
+        except AttributeError:
+            version = self._get_version()
+            if version is None:
+                path = self._get_metadata_path_for_display(self.PKG_INFO)
+                msg = (
+                    "Missing 'Version:' header and/or {} file at path: {}"
+                ).format(self.PKG_INFO, path)
+                raise ValueError(msg, self)
+
+            return version
+
+    @property
+    def _dep_map(self):
+        """
+        A map of extra to its list of (direct) requirements
+        for this distribution, including the null extra.
+        """
+        try:
+            return self.__dep_map
+        except AttributeError:
+            self.__dep_map = self._filter_extras(self._build_dep_map())
+        return self.__dep_map
+
+    @staticmethod
+    def _filter_extras(dm):
+        """
+        Given a mapping of extras to dependencies, strip off
+        environment markers and filter out any dependencies
+        not matching the markers.
+        """
+        for extra in list(filter(None, dm)):
+            new_extra = extra
+            reqs = dm.pop(extra)
+            new_extra, _, marker = extra.partition(':')
+            fails_marker = marker and (
+                invalid_marker(marker)
+                or not evaluate_marker(marker)
+            )
+            if fails_marker:
+                reqs = []
+            new_extra = safe_extra(new_extra) or None
+
+            dm.setdefault(new_extra, []).extend(reqs)
+        return dm
+
+    def _build_dep_map(self):
+        dm = {}
+        for name in 'requires.txt', 'depends.txt':
+            for extra, reqs in split_sections(self._get_metadata(name)):
+                dm.setdefault(extra, []).extend(parse_requirements(reqs))
+        return dm
+
+    def requires(self, extras=()):
+        """List of Requirements needed for this distro if `extras` are used"""
+        dm = self._dep_map
+        deps = []
+        deps.extend(dm.get(None, ()))
+        for ext in extras:
+            try:
+                deps.extend(dm[safe_extra(ext)])
+            except KeyError:
+                raise UnknownExtra(
+                    "%s has no such extra feature %r" % (self, ext)
+                )
+        return deps
+
+    def _get_metadata_path_for_display(self, name):
+        """
+        Return the path to the given metadata file, if available.
+        """
+        try:
+            # We need to access _get_metadata_path() on the provider object
+            # directly rather than through this class's __getattr__()
+            # since _get_metadata_path() is marked private.
+            path = self._provider._get_metadata_path(name)
+
+        # Handle exceptions e.g. in case the distribution's metadata
+        # provider doesn't support _get_metadata_path().
+        except Exception:
+            return '[could not detect]'
+
+        return path
+
+    def _get_metadata(self, name):
+        if self.has_metadata(name):
+            for line in self.get_metadata_lines(name):
+                yield line
+
+    def _get_version(self):
+        lines = self._get_metadata(self.PKG_INFO)
+        version = _version_from_file(lines)
+
+        return version
+
+    def activate(self, path=None, replace=False):
+        """Ensure distribution is importable on `path` (default=sys.path)"""
+        if path is None:
+            path = sys.path
+        self.insert_on(path, replace=replace)
+        if path is sys.path:
+            fixup_namespace_packages(self.location)
+            for pkg in self._get_metadata('namespace_packages.txt'):
+                if pkg in sys.modules:
+                    declare_namespace(pkg)
+
+    def egg_name(self):
+        """Return what this distribution's standard .egg filename should be"""
+        filename = "%s-%s-py%s" % (
+            to_filename(self.project_name), to_filename(self.version),
+            self.py_version or PY_MAJOR
+        )
+
+        if self.platform:
+            filename += '-' + self.platform
+        return filename
+
+    def __repr__(self):
+        if self.location:
+            return "%s (%s)" % (self, self.location)
+        else:
+            return str(self)
+
+    def __str__(self):
+        try:
+            version = getattr(self, 'version', None)
+        except ValueError:
+            version = None
+        version = version or "[unknown version]"
+        return "%s %s" % (self.project_name, version)
+
+    def __getattr__(self, attr):
+        """Delegate all unrecognized public attributes to .metadata provider"""
+        if attr.startswith('_'):
+            raise AttributeError(attr)
+        return getattr(self._provider, attr)
+
+    def __dir__(self):
+        return list(
+            set(super(Distribution, self).__dir__())
+            | set(
+                attr for attr in self._provider.__dir__()
+                if not attr.startswith('_')
+            )
+        )
+
+    if not hasattr(object, '__dir__'):
+        # python 2.7 not supported
+        del __dir__
+
+    @classmethod
+    def from_filename(cls, filename, metadata=None, **kw):
+        return cls.from_location(
+            _normalize_cached(filename), os.path.basename(filename), metadata,
+            **kw
+        )
+
+    def as_requirement(self):
+        """Return a ``Requirement`` that matches this distribution exactly"""
+        if isinstance(self.parsed_version, packaging.version.Version):
+            spec = "%s==%s" % (self.project_name, self.parsed_version)
+        else:
+            spec = "%s===%s" % (self.project_name, self.parsed_version)
+
+        return Requirement.parse(spec)
+
+    def load_entry_point(self, group, name):
+        """Return the `name` entry point of `group` or raise ImportError"""
+        ep = self.get_entry_info(group, name)
+        if ep is None:
+            raise ImportError("Entry point %r not found" % ((group, name),))
+        return ep.load()
+
+    def get_entry_map(self, group=None):
+        """Return the entry point map for `group`, or the full entry map"""
+        try:
+            ep_map = self._ep_map
+        except AttributeError:
+            ep_map = self._ep_map = EntryPoint.parse_map(
+                self._get_metadata('entry_points.txt'), self
+            )
+        if group is not None:
+            return ep_map.get(group, {})
+        return ep_map
+
+    def get_entry_info(self, group, name):
+        """Return the EntryPoint object for `group`+`name`, or ``None``"""
+        return self.get_entry_map(group).get(name)
+
+    def insert_on(self, path, loc=None, replace=False):
+        """Ensure self.location is on path
+
+        If replace=False (default):
+            - If location is already in path anywhere, do nothing.
+            - Else:
+              - If it's an egg and its parent directory is on path,
+                insert just ahead of the parent.
+              - Else: add to the end of path.
+        If replace=True:
+            - If location is already on path anywhere (not eggs)
+              or higher priority than its parent (eggs)
+              do nothing.
+            - Else:
+              - If it's an egg and its parent directory is on path,
+                insert just ahead of the parent,
+                removing any lower-priority entries.
+              - Else: add it to the front of path.
+        """
+
+        loc = loc or self.location
+        if not loc:
+            return
+
+        nloc = _normalize_cached(loc)
+        bdir = os.path.dirname(nloc)
+        npath = [(p and _normalize_cached(p) or p) for p in path]
+
+        for p, item in enumerate(npath):
+            if item == nloc:
+                if replace:
+                    break
+                else:
+                    # don't modify path (even removing duplicates) if
+                    # found and not replace
+                    return
+            elif item == bdir and self.precedence == EGG_DIST:
+                # if it's an .egg, give it precedence over its directory
+                # UNLESS it's already been added to sys.path and replace=False
+                if (not replace) and nloc in npath[p:]:
+                    return
+                if path is sys.path:
+                    self.check_version_conflict()
+                path.insert(p, loc)
+                npath.insert(p, nloc)
+                break
+        else:
+            if path is sys.path:
+                self.check_version_conflict()
+            if replace:
+                path.insert(0, loc)
+            else:
+                path.append(loc)
+            return
+
+        # p is the spot where we found or inserted loc; now remove duplicates
+        while True:
+            try:
+                np = npath.index(nloc, p + 1)
+            except ValueError:
+                break
+            else:
+                del npath[np], path[np]
+                # ha!
+                p = np
+
+        return
+
+    def check_version_conflict(self):
+        if self.key == 'setuptools':
+            # ignore the inevitable setuptools self-conflicts  :(
+            return
+
+        nsp = dict.fromkeys(self._get_metadata('namespace_packages.txt'))
+        loc = normalize_path(self.location)
+        for modname in self._get_metadata('top_level.txt'):
+            if (modname not in sys.modules or modname in nsp
+                    or modname in _namespace_packages):
+                continue
+            if modname in ('pkg_resources', 'setuptools', 'site'):
+                continue
+            fn = getattr(sys.modules[modname], '__file__', None)
+            if fn and (normalize_path(fn).startswith(loc) or
+                       fn.startswith(self.location)):
+                continue
+            issue_warning(
+                "Module %s was already imported from %s, but %s is being added"
+                " to sys.path" % (modname, fn, self.location),
+            )
+
+    def has_version(self):
+        try:
+            self.version
+        except ValueError:
+            issue_warning("Unbuilt egg for " + repr(self))
+            return False
+        return True
+
+    def clone(self, **kw):
+        """Copy this distribution, substituting in any changed keyword args"""
+        names = 'project_name version py_version platform location precedence'
+        for attr in names.split():
+            kw.setdefault(attr, getattr(self, attr, None))
+        kw.setdefault('metadata', self._provider)
+        return self.__class__(**kw)
+
+    @property
+    def extras(self):
+        return [dep for dep in self._dep_map if dep]
+
+
+class EggInfoDistribution(Distribution):
+    def _reload_version(self):
+        """
+        Packages installed by distutils (e.g. numpy or scipy),
+        which uses an old safe_version, and so
+        their version numbers can get mangled when
+        converted to filenames (e.g., 1.11.0.dev0+2329eae to
+        1.11.0.dev0_2329eae). These distributions will not be
+        parsed properly
+        downstream by Distribution and safe_version, so
+        take an extra step and try to get the version number from
+        the metadata file itself instead of the filename.
+        """
+        md_version = self._get_version()
+        if md_version:
+            self._version = md_version
+        return self
+
+
+class DistInfoDistribution(Distribution):
+    """
+    Wrap an actual or potential sys.path entry
+    w/metadata, .dist-info style.
+    """
+    PKG_INFO = 'METADATA'
+    EQEQ = re.compile(r"([\(,])\s*(\d.*?)\s*([,\)])")
+
+    @property
+    def _parsed_pkg_info(self):
+        """Parse and cache metadata"""
+        try:
+            return self._pkg_info
+        except AttributeError:
+            metadata = self.get_metadata(self.PKG_INFO)
+            self._pkg_info = email.parser.Parser().parsestr(metadata)
+            return self._pkg_info
+
+    @property
+    def _dep_map(self):
+        try:
+            return self.__dep_map
+        except AttributeError:
+            self.__dep_map = self._compute_dependencies()
+            return self.__dep_map
+
+    def _compute_dependencies(self):
+        """Recompute this distribution's dependencies."""
+        dm = self.__dep_map = {None: []}
+
+        reqs = []
+        # Including any condition expressions
+        for req in self._parsed_pkg_info.get_all('Requires-Dist') or []:
+            reqs.extend(parse_requirements(req))
+
+        def reqs_for_extra(extra):
+            for req in reqs:
+                if not req.marker or req.marker.evaluate({'extra': extra}):
+                    yield req
+
+        common = frozenset(reqs_for_extra(None))
+        dm[None].extend(common)
+
+        for extra in self._parsed_pkg_info.get_all('Provides-Extra') or []:
+            s_extra = safe_extra(extra.strip())
+            dm[s_extra] = list(frozenset(reqs_for_extra(extra)) - common)
+
+        return dm
+
+
+_distributionImpl = {
+    '.egg': Distribution,
+    '.egg-info': EggInfoDistribution,
+    '.dist-info': DistInfoDistribution,
+}
+
+
+def issue_warning(*args, **kw):
+    level = 1
+    g = globals()
+    try:
+        # find the first stack frame that is *not* code in
+        # the pkg_resources module, to use for the warning
+        while sys._getframe(level).f_globals is g:
+            level += 1
+    except ValueError:
+        pass
+    warnings.warn(stacklevel=level + 1, *args, **kw)
+
+
+class RequirementParseError(ValueError):
+    def __str__(self):
+        return ' '.join(self.args)
+
+
+def parse_requirements(strs):
+    """Yield ``Requirement`` objects for each specification in `strs`
+
+    `strs` must be a string, or a (possibly-nested) iterable thereof.
+    """
+    # create a steppable iterator, so we can handle \-continuations
+    lines = iter(yield_lines(strs))
+
+    for line in lines:
+        # Drop comments -- a hash without a space may be in a URL.
+        if ' #' in line:
+            line = line[:line.find(' #')]
+        # If there is a line continuation, drop it, and append the next line.
+        if line.endswith('\\'):
+            line = line[:-2].strip()
+            try:
+                line += next(lines)
+            except StopIteration:
+                return
+        yield Requirement(line)
+
+
+class Requirement(packaging.requirements.Requirement):
+    def __init__(self, requirement_string):
+        """DO NOT CALL THIS UNDOCUMENTED METHOD; use Requirement.parse()!"""
+        try:
+            super(Requirement, self).__init__(requirement_string)
+        except packaging.requirements.InvalidRequirement as e:
+            raise RequirementParseError(str(e))
+        self.unsafe_name = self.name
+        project_name = safe_name(self.name)
+        self.project_name, self.key = project_name, project_name.lower()
+        self.specs = [
+            (spec.operator, spec.version) for spec in self.specifier]
+        self.extras = tuple(map(safe_extra, self.extras))
+        self.hashCmp = (
+            self.key,
+            self.url,
+            self.specifier,
+            frozenset(self.extras),
+            str(self.marker) if self.marker else None,
+        )
+        self.__hash = hash(self.hashCmp)
+
+    def __eq__(self, other):
+        return (
+            isinstance(other, Requirement) and
+            self.hashCmp == other.hashCmp
+        )
+
+    def __ne__(self, other):
+        return not self == other
+
+    def __contains__(self, item):
+        if isinstance(item, Distribution):
+            if item.key != self.key:
+                return False
+
+            item = item.version
+
+        # Allow prereleases always in order to match the previous behavior of
+        # this method. In the future this should be smarter and follow PEP 440
+        # more accurately.
+        return self.specifier.contains(item, prereleases=True)
+
+    def __hash__(self):
+        return self.__hash
+
+    def __repr__(self):
+        return "Requirement.parse(%r)" % str(self)
+
+    @staticmethod
+    def parse(s):
+        req, = parse_requirements(s)
+        return req
+
+
+def _always_object(classes):
+    """
+    Ensure object appears in the mro even
+    for old-style classes.
+    """
+    if object not in classes:
+        return classes + (object,)
+    return classes
+
+
+def _find_adapter(registry, ob):
+    """Return an adapter factory for `ob` from `registry`"""
+    types = _always_object(inspect.getmro(getattr(ob, '__class__', type(ob))))
+    for t in types:
+        if t in registry:
+            return registry[t]
+
+
+def ensure_directory(path):
+    """Ensure that the parent directory of `path` exists"""
+    dirname = os.path.dirname(path)
+    py31compat.makedirs(dirname, exist_ok=True)
+
+
+def _bypass_ensure_directory(path):
+    """Sandbox-bypassing version of ensure_directory()"""
+    if not WRITE_SUPPORT:
+        raise IOError('"os.mkdir" not supported on this platform.')
+    dirname, filename = split(path)
+    if dirname and filename and not isdir(dirname):
+        _bypass_ensure_directory(dirname)
+        try:
+            mkdir(dirname, 0o755)
+        except FileExistsError:
+            pass
+
+
+def split_sections(s):
+    """Split a string or iterable thereof into (section, content) pairs
+
+    Each ``section`` is a stripped version of the section header ("[section]")
+    and each ``content`` is a list of stripped lines excluding blank lines and
+    comment-only lines.  If there are any such lines before the first section
+    header, they're returned in a first ``section`` of ``None``.
+    """
+    section = None
+    content = []
+    for line in yield_lines(s):
+        if line.startswith("["):
+            if line.endswith("]"):
+                if section or content:
+                    yield section, content
+                section = line[1:-1].strip()
+                content = []
+            else:
+                raise ValueError("Invalid section heading", line)
+        else:
+            content.append(line)
+
+    # wrap up last segment
+    yield section, content
+
+
+def _mkstemp(*args, **kw):
+    old_open = os.open
+    try:
+        # temporarily bypass sandboxing
+        os.open = os_open
+        return tempfile.mkstemp(*args, **kw)
+    finally:
+        # and then put it back
+        os.open = old_open
+
+
+# Silence the PEP440Warning by default, so that end users don't get hit by it
+# randomly just because they use pkg_resources. We want to append the rule
+# because we want earlier uses of filterwarnings to take precedence over this
+# one.
+warnings.filterwarnings("ignore", category=PEP440Warning, append=True)
+
+
+# from jaraco.functools 1.3
+def _call_aside(f, *args, **kwargs):
+    f(*args, **kwargs)
+    return f
+
+
+@_call_aside
+def _initialize(g=globals()):
+    "Set up global resource manager (deliberately not state-saved)"
+    manager = ResourceManager()
+    g['_manager'] = manager
+    g.update(
+        (name, getattr(manager, name))
+        for name in dir(manager)
+        if not name.startswith('_')
+    )
+
+
+@_call_aside
+def _initialize_master_working_set():
+    """
+    Prepare the master working set and make the ``require()``
+    API available.
+
+    This function has explicit effects on the global state
+    of pkg_resources. It is intended to be invoked once at
+    the initialization of this module.
+
+    Invocation by other packages is unsupported and done
+    at their own risk.
+    """
+    working_set = WorkingSet._build_master()
+    _declare_state('object', working_set=working_set)
+
+    require = working_set.require
+    iter_entry_points = working_set.iter_entry_points
+    add_activation_listener = working_set.subscribe
+    run_script = working_set.run_script
+    # backward compatibility
+    run_main = run_script
+    # Activate all distributions already on sys.path with replace=False and
+    # ensure that all distributions added to the working set in the future
+    # (e.g. by calling ``require()``) will get activated as well,
+    # with higher priority (replace=True).
+    tuple(
+        dist.activate(replace=False)
+        for dist in working_set
+    )
+    add_activation_listener(
+        lambda dist: dist.activate(replace=True),
+        existing=False,
+    )
+    working_set.entries = []
+    # match order
+    list(map(working_set.add_entry, sys.path))
+    globals().update(locals())
+
+class PkgResourcesDeprecationWarning(Warning):
+    """
+    Base class for warning about deprecations in ``pkg_resources``
+
+    This class is not derived from ``DeprecationWarning``, and as such is
+    visible by default.
+    """
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..141392c9e1d92546511711935a6b4940e46624d6
GIT binary patch
literal 100356
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
J1wiXY)c{I^TgLzZ

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/__pycache__/py31compat.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/__pycache__/py31compat.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f6c6cf299e2a2e1727f1ce675837a75c416c266b
GIT binary patch
literal 600
zcmWIL<>g{vU|{fV*`1=t#K7<v#6iZ)3=9ko3=9m#2@DJjDGVu$ISf${nlXwI%x8*X
zN?}T2&SB1FiDF@7Na0LjO<`+cjABh?$zm(;NnuZA%3^0>U}nf>%=bv)$Y#i6VParp
zh~h})C<;qu&0|Sr$l{FROkoUW(BygvvfJ+^BLf42CgUyU;>-%SWG0Xp6oZ@ta<DVV
zNgfOg3{`w33=0@*7#1=zGK4eanXoXFFlBQUIWaQSGBGk#iPbO`8PqUkF_$oBv1BtB
z88tD4Gng`@Fw`>DF-0&$GUPEuFr+X9GiWmUX|mp8$}hgfk(-#Envz*me2d*b*tMuA
zzvvcgYEe;M{w+3F*9gzx5KZP=ECq=r8Mio6D>92q;`6g_F{f4}uVg6VVPIhRWusq`
zTcBT%S)f~*SCE*TotmOso{^fGqg$DlX_;@78?RrGogQD5TAW{6l$=_uUr=dmn4F(m
zkXWKuP<e|d9%g;Ku^|V@mmu#lFfuXnF$ypWFc$HFf`;iOC?H<4fY{7M{0s~XMFJoK
z6jYjwZkk+0AgLmD1_p*(%*B<(x7boEN>YpRia^@HM%-c!h%~yzQ<hp(oSB~&pP84I
ze~T|KH8rIe?tmgzkdYuifjtHxctJ*T*yQG?l;)(`f#RtcWHSdN2O|d)4>K1J8>7TO
GCKdo#*N1%o

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..58cecb98206811fc243df65112271ffce13fb054
GIT binary patch
literal 157
zcmWIL<>g{vU|{fV*_{HSAA<;F%*epN;K0DZP|U)>z>vZa%%I8Wx00a<B#a<_Iq8?=
z7U&mb7U-7d6(lBSr>5wZXQZa)=vJm>TIL(&#_Jbkr^gqi7U!21C8rka$Cst%rQ{ds
f$H!;pWtPOp>lIYq;;_lhPbtkwwF8;`8RP~4L+U0{

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b459e1a12ba5b1d3c216e7ab2b4b815576231778
GIT binary patch
literal 20510
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5ec1e560210019934f566863593836b299b92562
GIT binary patch
literal 201634
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5a0f9f8d1f0d3dc368b0a51f251e1e4725cb8ba2
GIT binary patch
literal 24430
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
Yg4`~`2ucA$tOAT2|5=zoX^Dji0P-W;&Hw-a

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py
new file mode 100644
index 0000000..ae67001
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py
@@ -0,0 +1,608 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (c) 2005-2010 ActiveState Software Inc.
+# Copyright (c) 2013 Eddy Petrișor
+
+"""Utilities for determining application-specific dirs.
+
+See <http://github.com/ActiveState/appdirs> for details and usage.
+"""
+# Dev Notes:
+# - MSDN on where to store app data files:
+#   http://support.microsoft.com/default.aspx?scid=kb;en-us;310294#XSLTH3194121123120121120120
+# - Mac OS X: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/index.html
+# - XDG spec for Un*x: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
+
+__version_info__ = (1, 4, 3)
+__version__ = '.'.join(map(str, __version_info__))
+
+
+import sys
+import os
+
+PY3 = sys.version_info[0] == 3
+
+if PY3:
+    unicode = str
+
+if sys.platform.startswith('java'):
+    import platform
+    os_name = platform.java_ver()[3][0]
+    if os_name.startswith('Windows'): # "Windows XP", "Windows 7", etc.
+        system = 'win32'
+    elif os_name.startswith('Mac'): # "Mac OS X", etc.
+        system = 'darwin'
+    else: # "Linux", "SunOS", "FreeBSD", etc.
+        # Setting this to "linux2" is not ideal, but only Windows or Mac
+        # are actually checked for and the rest of the module expects
+        # *sys.platform* style strings.
+        system = 'linux2'
+else:
+    system = sys.platform
+
+
+
+def user_data_dir(appname=None, appauthor=None, version=None, roaming=False):
+    r"""Return full path to the user-specific data dir for this application.
+
+        "appname" is the name of application.
+            If None, just the system directory is returned.
+        "appauthor" (only used on Windows) is the name of the
+            appauthor or distributing body for this application. Typically
+            it is the owning company name. This falls back to appname. You may
+            pass False to disable it.
+        "version" is an optional version path element to append to the
+            path. You might want to use this if you want multiple versions
+            of your app to be able to run independently. If used, this
+            would typically be "<major>.<minor>".
+            Only applied when appname is present.
+        "roaming" (boolean, default False) can be set True to use the Windows
+            roaming appdata directory. That means that for users on a Windows
+            network setup for roaming profiles, this user data will be
+            sync'd on login. See
+            <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx>
+            for a discussion of issues.
+
+    Typical user data directories are:
+        Mac OS X:               ~/Library/Application Support/<AppName>
+        Unix:                   ~/.local/share/<AppName>    # or in $XDG_DATA_HOME, if defined
+        Win XP (not roaming):   C:\Documents and Settings\<username>\Application Data\<AppAuthor>\<AppName>
+        Win XP (roaming):       C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>
+        Win 7  (not roaming):   C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>
+        Win 7  (roaming):       C:\Users\<username>\AppData\Roaming\<AppAuthor>\<AppName>
+
+    For Unix, we follow the XDG spec and support $XDG_DATA_HOME.
+    That means, by default "~/.local/share/<AppName>".
+    """
+    if system == "win32":
+        if appauthor is None:
+            appauthor = appname
+        const = roaming and "CSIDL_APPDATA" or "CSIDL_LOCAL_APPDATA"
+        path = os.path.normpath(_get_win_folder(const))
+        if appname:
+            if appauthor is not False:
+                path = os.path.join(path, appauthor, appname)
+            else:
+                path = os.path.join(path, appname)
+    elif system == 'darwin':
+        path = os.path.expanduser('~/Library/Application Support/')
+        if appname:
+            path = os.path.join(path, appname)
+    else:
+        path = os.getenv('XDG_DATA_HOME', os.path.expanduser("~/.local/share"))
+        if appname:
+            path = os.path.join(path, appname)
+    if appname and version:
+        path = os.path.join(path, version)
+    return path
+
+
+def site_data_dir(appname=None, appauthor=None, version=None, multipath=False):
+    r"""Return full path to the user-shared data dir for this application.
+
+        "appname" is the name of application.
+            If None, just the system directory is returned.
+        "appauthor" (only used on Windows) is the name of the
+            appauthor or distributing body for this application. Typically
+            it is the owning company name. This falls back to appname. You may
+            pass False to disable it.
+        "version" is an optional version path element to append to the
+            path. You might want to use this if you want multiple versions
+            of your app to be able to run independently. If used, this
+            would typically be "<major>.<minor>".
+            Only applied when appname is present.
+        "multipath" is an optional parameter only applicable to *nix
+            which indicates that the entire list of data dirs should be
+            returned. By default, the first item from XDG_DATA_DIRS is
+            returned, or '/usr/local/share/<AppName>',
+            if XDG_DATA_DIRS is not set
+
+    Typical site data directories are:
+        Mac OS X:   /Library/Application Support/<AppName>
+        Unix:       /usr/local/share/<AppName> or /usr/share/<AppName>
+        Win XP:     C:\Documents and Settings\All Users\Application Data\<AppAuthor>\<AppName>
+        Vista:      (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.)
+        Win 7:      C:\ProgramData\<AppAuthor>\<AppName>   # Hidden, but writeable on Win 7.
+
+    For Unix, this is using the $XDG_DATA_DIRS[0] default.
+
+    WARNING: Do not use this on Windows. See the Vista-Fail note above for why.
+    """
+    if system == "win32":
+        if appauthor is None:
+            appauthor = appname
+        path = os.path.normpath(_get_win_folder("CSIDL_COMMON_APPDATA"))
+        if appname:
+            if appauthor is not False:
+                path = os.path.join(path, appauthor, appname)
+            else:
+                path = os.path.join(path, appname)
+    elif system == 'darwin':
+        path = os.path.expanduser('/Library/Application Support')
+        if appname:
+            path = os.path.join(path, appname)
+    else:
+        # XDG default for $XDG_DATA_DIRS
+        # only first, if multipath is False
+        path = os.getenv('XDG_DATA_DIRS',
+                         os.pathsep.join(['/usr/local/share', '/usr/share']))
+        pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)]
+        if appname:
+            if version:
+                appname = os.path.join(appname, version)
+            pathlist = [os.sep.join([x, appname]) for x in pathlist]
+
+        if multipath:
+            path = os.pathsep.join(pathlist)
+        else:
+            path = pathlist[0]
+        return path
+
+    if appname and version:
+        path = os.path.join(path, version)
+    return path
+
+
+def user_config_dir(appname=None, appauthor=None, version=None, roaming=False):
+    r"""Return full path to the user-specific config dir for this application.
+
+        "appname" is the name of application.
+            If None, just the system directory is returned.
+        "appauthor" (only used on Windows) is the name of the
+            appauthor or distributing body for this application. Typically
+            it is the owning company name. This falls back to appname. You may
+            pass False to disable it.
+        "version" is an optional version path element to append to the
+            path. You might want to use this if you want multiple versions
+            of your app to be able to run independently. If used, this
+            would typically be "<major>.<minor>".
+            Only applied when appname is present.
+        "roaming" (boolean, default False) can be set True to use the Windows
+            roaming appdata directory. That means that for users on a Windows
+            network setup for roaming profiles, this user data will be
+            sync'd on login. See
+            <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx>
+            for a discussion of issues.
+
+    Typical user config directories are:
+        Mac OS X:               same as user_data_dir
+        Unix:                   ~/.config/<AppName>     # or in $XDG_CONFIG_HOME, if defined
+        Win *:                  same as user_data_dir
+
+    For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME.
+    That means, by default "~/.config/<AppName>".
+    """
+    if system in ["win32", "darwin"]:
+        path = user_data_dir(appname, appauthor, None, roaming)
+    else:
+        path = os.getenv('XDG_CONFIG_HOME', os.path.expanduser("~/.config"))
+        if appname:
+            path = os.path.join(path, appname)
+    if appname and version:
+        path = os.path.join(path, version)
+    return path
+
+
+def site_config_dir(appname=None, appauthor=None, version=None, multipath=False):
+    r"""Return full path to the user-shared data dir for this application.
+
+        "appname" is the name of application.
+            If None, just the system directory is returned.
+        "appauthor" (only used on Windows) is the name of the
+            appauthor or distributing body for this application. Typically
+            it is the owning company name. This falls back to appname. You may
+            pass False to disable it.
+        "version" is an optional version path element to append to the
+            path. You might want to use this if you want multiple versions
+            of your app to be able to run independently. If used, this
+            would typically be "<major>.<minor>".
+            Only applied when appname is present.
+        "multipath" is an optional parameter only applicable to *nix
+            which indicates that the entire list of config dirs should be
+            returned. By default, the first item from XDG_CONFIG_DIRS is
+            returned, or '/etc/xdg/<AppName>', if XDG_CONFIG_DIRS is not set
+
+    Typical site config directories are:
+        Mac OS X:   same as site_data_dir
+        Unix:       /etc/xdg/<AppName> or $XDG_CONFIG_DIRS[i]/<AppName> for each value in
+                    $XDG_CONFIG_DIRS
+        Win *:      same as site_data_dir
+        Vista:      (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.)
+
+    For Unix, this is using the $XDG_CONFIG_DIRS[0] default, if multipath=False
+
+    WARNING: Do not use this on Windows. See the Vista-Fail note above for why.
+    """
+    if system in ["win32", "darwin"]:
+        path = site_data_dir(appname, appauthor)
+        if appname and version:
+            path = os.path.join(path, version)
+    else:
+        # XDG default for $XDG_CONFIG_DIRS
+        # only first, if multipath is False
+        path = os.getenv('XDG_CONFIG_DIRS', '/etc/xdg')
+        pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)]
+        if appname:
+            if version:
+                appname = os.path.join(appname, version)
+            pathlist = [os.sep.join([x, appname]) for x in pathlist]
+
+        if multipath:
+            path = os.pathsep.join(pathlist)
+        else:
+            path = pathlist[0]
+    return path
+
+
+def user_cache_dir(appname=None, appauthor=None, version=None, opinion=True):
+    r"""Return full path to the user-specific cache dir for this application.
+
+        "appname" is the name of application.
+            If None, just the system directory is returned.
+        "appauthor" (only used on Windows) is the name of the
+            appauthor or distributing body for this application. Typically
+            it is the owning company name. This falls back to appname. You may
+            pass False to disable it.
+        "version" is an optional version path element to append to the
+            path. You might want to use this if you want multiple versions
+            of your app to be able to run independently. If used, this
+            would typically be "<major>.<minor>".
+            Only applied when appname is present.
+        "opinion" (boolean) can be False to disable the appending of
+            "Cache" to the base app data dir for Windows. See
+            discussion below.
+
+    Typical user cache directories are:
+        Mac OS X:   ~/Library/Caches/<AppName>
+        Unix:       ~/.cache/<AppName> (XDG default)
+        Win XP:     C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Cache
+        Vista:      C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>\Cache
+
+    On Windows the only suggestion in the MSDN docs is that local settings go in
+    the `CSIDL_LOCAL_APPDATA` directory. This is identical to the non-roaming
+    app data dir (the default returned by `user_data_dir` above). Apps typically
+    put cache data somewhere *under* the given dir here. Some examples:
+        ...\Mozilla\Firefox\Profiles\<ProfileName>\Cache
+        ...\Acme\SuperApp\Cache\1.0
+    OPINION: This function appends "Cache" to the `CSIDL_LOCAL_APPDATA` value.
+    This can be disabled with the `opinion=False` option.
+    """
+    if system == "win32":
+        if appauthor is None:
+            appauthor = appname
+        path = os.path.normpath(_get_win_folder("CSIDL_LOCAL_APPDATA"))
+        if appname:
+            if appauthor is not False:
+                path = os.path.join(path, appauthor, appname)
+            else:
+                path = os.path.join(path, appname)
+            if opinion:
+                path = os.path.join(path, "Cache")
+    elif system == 'darwin':
+        path = os.path.expanduser('~/Library/Caches')
+        if appname:
+            path = os.path.join(path, appname)
+    else:
+        path = os.getenv('XDG_CACHE_HOME', os.path.expanduser('~/.cache'))
+        if appname:
+            path = os.path.join(path, appname)
+    if appname and version:
+        path = os.path.join(path, version)
+    return path
+
+
+def user_state_dir(appname=None, appauthor=None, version=None, roaming=False):
+    r"""Return full path to the user-specific state dir for this application.
+
+        "appname" is the name of application.
+            If None, just the system directory is returned.
+        "appauthor" (only used on Windows) is the name of the
+            appauthor or distributing body for this application. Typically
+            it is the owning company name. This falls back to appname. You may
+            pass False to disable it.
+        "version" is an optional version path element to append to the
+            path. You might want to use this if you want multiple versions
+            of your app to be able to run independently. If used, this
+            would typically be "<major>.<minor>".
+            Only applied when appname is present.
+        "roaming" (boolean, default False) can be set True to use the Windows
+            roaming appdata directory. That means that for users on a Windows
+            network setup for roaming profiles, this user data will be
+            sync'd on login. See
+            <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx>
+            for a discussion of issues.
+
+    Typical user state directories are:
+        Mac OS X:  same as user_data_dir
+        Unix:      ~/.local/state/<AppName>   # or in $XDG_STATE_HOME, if defined
+        Win *:     same as user_data_dir
+
+    For Unix, we follow this Debian proposal <https://wiki.debian.org/XDGBaseDirectorySpecification#state>
+    to extend the XDG spec and support $XDG_STATE_HOME.
+
+    That means, by default "~/.local/state/<AppName>".
+    """
+    if system in ["win32", "darwin"]:
+        path = user_data_dir(appname, appauthor, None, roaming)
+    else:
+        path = os.getenv('XDG_STATE_HOME', os.path.expanduser("~/.local/state"))
+        if appname:
+            path = os.path.join(path, appname)
+    if appname and version:
+        path = os.path.join(path, version)
+    return path
+
+
+def user_log_dir(appname=None, appauthor=None, version=None, opinion=True):
+    r"""Return full path to the user-specific log dir for this application.
+
+        "appname" is the name of application.
+            If None, just the system directory is returned.
+        "appauthor" (only used on Windows) is the name of the
+            appauthor or distributing body for this application. Typically
+            it is the owning company name. This falls back to appname. You may
+            pass False to disable it.
+        "version" is an optional version path element to append to the
+            path. You might want to use this if you want multiple versions
+            of your app to be able to run independently. If used, this
+            would typically be "<major>.<minor>".
+            Only applied when appname is present.
+        "opinion" (boolean) can be False to disable the appending of
+            "Logs" to the base app data dir for Windows, and "log" to the
+            base cache dir for Unix. See discussion below.
+
+    Typical user log directories are:
+        Mac OS X:   ~/Library/Logs/<AppName>
+        Unix:       ~/.cache/<AppName>/log  # or under $XDG_CACHE_HOME if defined
+        Win XP:     C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Logs
+        Vista:      C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>\Logs
+
+    On Windows the only suggestion in the MSDN docs is that local settings
+    go in the `CSIDL_LOCAL_APPDATA` directory. (Note: I'm interested in
+    examples of what some windows apps use for a logs dir.)
+
+    OPINION: This function appends "Logs" to the `CSIDL_LOCAL_APPDATA`
+    value for Windows and appends "log" to the user cache dir for Unix.
+    This can be disabled with the `opinion=False` option.
+    """
+    if system == "darwin":
+        path = os.path.join(
+            os.path.expanduser('~/Library/Logs'),
+            appname)
+    elif system == "win32":
+        path = user_data_dir(appname, appauthor, version)
+        version = False
+        if opinion:
+            path = os.path.join(path, "Logs")
+    else:
+        path = user_cache_dir(appname, appauthor, version)
+        version = False
+        if opinion:
+            path = os.path.join(path, "log")
+    if appname and version:
+        path = os.path.join(path, version)
+    return path
+
+
+class AppDirs(object):
+    """Convenience wrapper for getting application dirs."""
+    def __init__(self, appname=None, appauthor=None, version=None,
+            roaming=False, multipath=False):
+        self.appname = appname
+        self.appauthor = appauthor
+        self.version = version
+        self.roaming = roaming
+        self.multipath = multipath
+
+    @property
+    def user_data_dir(self):
+        return user_data_dir(self.appname, self.appauthor,
+                             version=self.version, roaming=self.roaming)
+
+    @property
+    def site_data_dir(self):
+        return site_data_dir(self.appname, self.appauthor,
+                             version=self.version, multipath=self.multipath)
+
+    @property
+    def user_config_dir(self):
+        return user_config_dir(self.appname, self.appauthor,
+                               version=self.version, roaming=self.roaming)
+
+    @property
+    def site_config_dir(self):
+        return site_config_dir(self.appname, self.appauthor,
+                             version=self.version, multipath=self.multipath)
+
+    @property
+    def user_cache_dir(self):
+        return user_cache_dir(self.appname, self.appauthor,
+                              version=self.version)
+
+    @property
+    def user_state_dir(self):
+        return user_state_dir(self.appname, self.appauthor,
+                              version=self.version)
+
+    @property
+    def user_log_dir(self):
+        return user_log_dir(self.appname, self.appauthor,
+                            version=self.version)
+
+
+#---- internal support stuff
+
+def _get_win_folder_from_registry(csidl_name):
+    """This is a fallback technique at best. I'm not sure if using the
+    registry for this guarantees us the correct answer for all CSIDL_*
+    names.
+    """
+    if PY3:
+      import winreg as _winreg
+    else:
+      import _winreg
+
+    shell_folder_name = {
+        "CSIDL_APPDATA": "AppData",
+        "CSIDL_COMMON_APPDATA": "Common AppData",
+        "CSIDL_LOCAL_APPDATA": "Local AppData",
+    }[csidl_name]
+
+    key = _winreg.OpenKey(
+        _winreg.HKEY_CURRENT_USER,
+        r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
+    )
+    dir, type = _winreg.QueryValueEx(key, shell_folder_name)
+    return dir
+
+
+def _get_win_folder_with_pywin32(csidl_name):
+    from win32com.shell import shellcon, shell
+    dir = shell.SHGetFolderPath(0, getattr(shellcon, csidl_name), 0, 0)
+    # Try to make this a unicode path because SHGetFolderPath does
+    # not return unicode strings when there is unicode data in the
+    # path.
+    try:
+        dir = unicode(dir)
+
+        # Downgrade to short path name if have highbit chars. See
+        # <http://bugs.activestate.com/show_bug.cgi?id=85099>.
+        has_high_char = False
+        for c in dir:
+            if ord(c) > 255:
+                has_high_char = True
+                break
+        if has_high_char:
+            try:
+                import win32api
+                dir = win32api.GetShortPathName(dir)
+            except ImportError:
+                pass
+    except UnicodeError:
+        pass
+    return dir
+
+
+def _get_win_folder_with_ctypes(csidl_name):
+    import ctypes
+
+    csidl_const = {
+        "CSIDL_APPDATA": 26,
+        "CSIDL_COMMON_APPDATA": 35,
+        "CSIDL_LOCAL_APPDATA": 28,
+    }[csidl_name]
+
+    buf = ctypes.create_unicode_buffer(1024)
+    ctypes.windll.shell32.SHGetFolderPathW(None, csidl_const, None, 0, buf)
+
+    # Downgrade to short path name if have highbit chars. See
+    # <http://bugs.activestate.com/show_bug.cgi?id=85099>.
+    has_high_char = False
+    for c in buf:
+        if ord(c) > 255:
+            has_high_char = True
+            break
+    if has_high_char:
+        buf2 = ctypes.create_unicode_buffer(1024)
+        if ctypes.windll.kernel32.GetShortPathNameW(buf.value, buf2, 1024):
+            buf = buf2
+
+    return buf.value
+
+def _get_win_folder_with_jna(csidl_name):
+    import array
+    from com.sun import jna
+    from com.sun.jna.platform import win32
+
+    buf_size = win32.WinDef.MAX_PATH * 2
+    buf = array.zeros('c', buf_size)
+    shell = win32.Shell32.INSTANCE
+    shell.SHGetFolderPath(None, getattr(win32.ShlObj, csidl_name), None, win32.ShlObj.SHGFP_TYPE_CURRENT, buf)
+    dir = jna.Native.toString(buf.tostring()).rstrip("\0")
+
+    # Downgrade to short path name if have highbit chars. See
+    # <http://bugs.activestate.com/show_bug.cgi?id=85099>.
+    has_high_char = False
+    for c in dir:
+        if ord(c) > 255:
+            has_high_char = True
+            break
+    if has_high_char:
+        buf = array.zeros('c', buf_size)
+        kernel = win32.Kernel32.INSTANCE
+        if kernel.GetShortPathName(dir, buf, buf_size):
+            dir = jna.Native.toString(buf.tostring()).rstrip("\0")
+
+    return dir
+
+if system == "win32":
+    try:
+        import win32com.shell
+        _get_win_folder = _get_win_folder_with_pywin32
+    except ImportError:
+        try:
+            from ctypes import windll
+            _get_win_folder = _get_win_folder_with_ctypes
+        except ImportError:
+            try:
+                import com.sun.jna
+                _get_win_folder = _get_win_folder_with_jna
+            except ImportError:
+                _get_win_folder = _get_win_folder_from_registry
+
+
+#---- self test code
+
+if __name__ == "__main__":
+    appname = "MyApp"
+    appauthor = "MyCompany"
+
+    props = ("user_data_dir",
+             "user_config_dir",
+             "user_cache_dir",
+             "user_state_dir",
+             "user_log_dir",
+             "site_data_dir",
+             "site_config_dir")
+
+    print("-- app dirs %s --" % __version__)
+
+    print("-- app dirs (with optional 'version')")
+    dirs = AppDirs(appname, appauthor, version="1.0")
+    for prop in props:
+        print("%s: %s" % (prop, getattr(dirs, prop)))
+
+    print("\n-- app dirs (without optional 'version')")
+    dirs = AppDirs(appname, appauthor)
+    for prop in props:
+        print("%s: %s" % (prop, getattr(dirs, prop)))
+
+    print("\n-- app dirs (without optional 'appauthor')")
+    dirs = AppDirs(appname)
+    for prop in props:
+        print("%s: %s" % (prop, getattr(dirs, prop)))
+
+    print("\n-- app dirs (with disabled 'appauthor')")
+    dirs = AppDirs(appname, appauthor=False)
+    for prop in props:
+        print("%s: %s" % (prop, getattr(dirs, prop)))
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py
new file mode 100644
index 0000000..95d330e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py
@@ -0,0 +1,21 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+__all__ = [
+    "__title__", "__summary__", "__uri__", "__version__", "__author__",
+    "__email__", "__license__", "__copyright__",
+]
+
+__title__ = "packaging"
+__summary__ = "Core utilities for Python packages"
+__uri__ = "https://github.com/pypa/packaging"
+
+__version__ = "16.8"
+
+__author__ = "Donald Stufft and individual contributors"
+__email__ = "donald@stufft.io"
+
+__license__ = "BSD or Apache License, Version 2.0"
+__copyright__ = "Copyright 2014-2016 %s" % __author__
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py
new file mode 100644
index 0000000..5ee6220
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py
@@ -0,0 +1,14 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+from .__about__ import (
+    __author__, __copyright__, __email__, __license__, __summary__, __title__,
+    __uri__, __version__
+)
+
+__all__ = [
+    "__title__", "__summary__", "__uri__", "__version__", "__author__",
+    "__email__", "__license__", "__copyright__",
+]
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9ad5cc6faf30de9b07f25b5c03e1d54d648a4095
GIT binary patch
literal 707
zcmWIL<>g{vU|{fV*`0EMiGkrUh=Ytd7#J8F7#J9e0~i<>QW#Pga~N_NqZo6UqL^}-
zqnH^PQkYVhQ&>`1Q`l12Q#evM(>bD8Qn;d6Q@EqpQh1`+Q+T5|Quv}cQ~0B}QUs#7
zQv_2v#TcS^QiOsTG=*P+?9ybu#h;i|oS#!#k{X|xTaaH=a*HD+vn;bXGe7SZUqMl3
zUP*jfX<l*(h|d`xUy@mplNuj?i#tBPxHLC6v8XaW{uX<Dd}&c8M6@im2&6YY{uWn!
zd}3)yMt)Iz{4LJ-_|)9Q%p8cCoXq6Zykd|syz%kL`303lnduoNAY}!K$=QkNnR)3|
zO3wL3sS2efnK_vynW@DJY57G80hJ{g`FRQuMXAMAiWwy(1;tkS`stY^8Kp^j$@#hZ
z1(gMf`VbW$V^|E$^en10UGno1b5az7OG?wyN)!_FQWP@tK;BF#P0Ue9&d)0;%1kOP
z$uBCd5=a3nbtnca)yvGUQgRA*QOGY+a4bkn&PY}8fjC}AAq?VE1tUF!Dluo6FBFUn
z3{7;63=GW_REzyIc|pODR$5Y8lo}sj#KgeBP{a%(SQr=>K;f2{lM^3b#0nB(0}<>X
z0u=K_oFEn`g%ojvSUe023@aIm1VC&M@yl1gB)34nAhSTXG!Nw8)D+$FjMUT|-O98~
z%Y38Uc>RLx^!TFG;{4L0<kVvQ__EZzl>8z@*yzW{Cnn{Wmc+;F6;$5hu*uC&Da}c>
i1G%hNiGhJZgqeu}3K_xlKNeONMixdECKe_z$p`?W;Lhy;

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1e7ad576174786e49c86a4d461b6f92d46fc6c95
GIT binary patch
literal 545
zcmWIL<>g{vU|{fV*`313#K7<v#6iX!3=9ko3=9m#Aq)%*DGVu$ISjdsQH;4vQB1ka
zQOt}CDNHHMIV`!XQLMRaQEa*FQS7-KQ5?CPQJlG4QCzv)QQWyaQ9O(cDJ&_hDQqe1
zDI6)BDO@Ss=^RnKDLlapn!GPT_GvQT;!jK}&d(_=NsZ6UEyyn_xy6x^S(aIxnV)xy
zub?P1uOvRLG%vX%Ge7SoBLf42CdVzV`1r)ql8pSK`1o7A@$t#|1(ija=@}*Q@wYhR
z<5P1JGjrnOZ*j-R=VT_Q<`t(xIK`#8xrs%U5Je@KB{?8*_W1bHqD+W_veY7wt?}_i
z+zbp1MW6sG;sLREK?EC!00m1CCy2$)z`)?A$p>;vT4_mXQEGgA5fey)8APx!Fff4J
zl9-fVS`r^$1lA1FQiL!8Y(Cf~xFxsP<Kq)^a^mAxG874d%mER<eDq6l3-k*z3v^5K
z3KEmEQ&V)yGg4D?bSu*`E%S|X<Mj)&)8mU$i}Op1l2eQI<I7U>Qu2%RL247zGxO5*
s<Kr{)GE3s)^$IF)aoFVMr<CTT+JW3yEW*IRAi|`<#>4=Hj9~g70A8An$^ZZW

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d69f6d1bc6cdebac07aa37b912309604035a3530
GIT binary patch
literal 981
zcmWIL<>g{vU|{fV*_{%@%)sy%#6iYP3=9ko3=9m#VGIlmDGVu$ISjdsQH;4vQB1ka
zQOt}WF{T`rD3(-~EY=hTNrn{WY^EqSIFBWpDT+Ony~rh%BaJbNGmkBm3q+@|rm(dz
zL~*Au1v6-}zXaK+$$X1HF{wB|r?ezBJ~Ou<zo_IEM@nW{W^rbI-Yvd@qRhOK__Wfz
z<dV$%JinJ9hrMKGU|>jQ1nGuikN_J40|PtA$!ZJ?4DJl=4DF0*Oeu^hOf4KKOdX8P
z%(YA<3=0@*m{OQiSTY$FvIH||vR3JHDJUo?I2WZRmZT~qDkLQqrz#}pBo-GdlxLP?
zC?qQ6rj{gv1@yowlc6@kDUj75PO%gN14Al96k`fQ6ce)LQOqgK!3>%#Rf-@J;}PcB
z<m4wO<`moM!G)4pKqf&khz-KRAV2XiFfep5)-ZN3)G#-LjAQg$$)L${i#a)`_!diE
zVs7d!u9A$*;&_k;if=KdtYo^y3SqN=j4uL(%r9^KlH3CQg3JQl(!7Gi<m}WG-SUjo
z)EwQ)v`ou<quhA?g6#D8qSWI2(xT+lV*U8C)V!4ZB7KnB#PrO(bp80`{M>@X61{@T
zTkP@id8y^`@iHLyfue<hu}YJm7xkdJ{4`l^am2@iTpk~Piz_}pH$SB`CpA9)7EgS9
zVQFFxM5ai9fq?<+_##jcKv?_?3=Fq8LEZvKj5N#v9E?RGASwQmR8TrfEUJtLD*)@#
zWV*#tQdy7+Hc^wgh!12iFNgr?0V{!60XCfv)gvG!#h}PwU>9R95@%pw(BuI*I<2&%
zv?w(`z6j+1B2ZE&0;#&iTwGavi>EBL2$YE9GxO5&Z!rf%8i5GoTg=5JMYnj0ONuh{
z(&Ir+D!#=9jw-MS*mQ_<Kye0Pf!)Mm0|_HLkQK!s_lq!bF!M3;v9K_5FtITM0KP2s
AuK)l5

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9fb06f5fe8d8f92d2ad909d80931cf1e63ea3b69
GIT binary patch
literal 2763
zcmWIL<>g{vU|{fV*`3nC%E0g##6iX^3=9ko3=9m#E({C|DGVu$ISjdsQH;4vQB1ka
zQOt}C?hGkRDa<VlDa@%X&CF4(sjSTmQLOF^DJ&_hEet8FU{SVIwq}MXwiLEt22J*t
zAoDeuZ}BH473b%amZZjK<`(1^mE7V;$t=q(&dkrd#aB?2nO72@R+^Vwl9`{E4AOy&
znP9F8VPIfLWr$)-VTfW%VN79aVTfW*VNPLbVTfW$VNGFcVTfW)VNc;`0ol%(!qvhM
z#h${Q!qdVK#gW3B!q>tO#hJpNBGAGR#g!tMBGkeV#hoG?%%CZ9i^DT7Ei*5(q%xTi
z$!ZWAgq=ZQ0t%cI#$X0bCch$91_p+e3@aILu@tA~q!qC-Fff3LU;g?fxdr+KnFYF~
zc?F5d*{LbI<r%4|Il7f;nU?uRx$*i1+3E2`sm1xFMaikf`tfC{c`5lt`XIH5>6v-y
z`tijjMWx9lrA4X5dIgoYIO5}rQVWXW<2gZY00jjDW0fGxwR$jF3}-VlFff3f&BMUJ
zP{L5cSi{iF*vuHru#(YlCDSdIjKt!MTPz@>i`ZeV2YaCiWD&?(kc#+tkoICM)<R^H
z!7|Vg1F<neYbBGP8`#{HOhp_F3=Fqe^Gh;Pi@-t<0&E{!e0)wxd^|srC;5>)36djh
zSCIhRCxUPmIBwu}q{hb!;j$w&J|4pkv|y}ZtYOGvY-S2(DB=bs0j67AnZ=oT#U+V(
z$*H$E<KvTa5{rxD<BM?EpIR6nFN(u{kQ{FN`M}W#v!90n>VhJWX}E05OO210z+oFm
z4#PHVu@?e~B^(|~FNu$r#$g3Wj<6L)Qt+t4Wk+g!yc{k&K#>M=HZ%<~fY=}mPWzxN
zTLKFzO~zXSeyQn+C7ETZu%v}G?X$<n=cT5{$15V)DFD-<2bJ_&$pgwHd5O8H@$t8~
z;^TAkQ%Z9{Y@Yb|!qUVXh)fZvz%2qL>mp&0KSe+UC{BtbK`c<v70G~DAP+)98k}Ik
z1Sr*liyBZ4Ee54q4kiv}R0x(Ih$6E{mVto*qu4<SdT41`#i<JmJ%|rM-hr?X-UNk{
zCQ^V)qDK`OMIAVg7J*7IZ1D_^6&(Ur5?jpSPsQN4*GIBS9E<OWEaUKImm*O5G9qLV
zD9?ZjYgnEEvGEslIE$GgP+B%6U?Fu&HgL|dAYdhN#T)(#qX?8ctqE8}WFd#QW&)Q0
zc7!Yf#TqDk!D0=>24QR^9k^7$n&?60j3bg&5?E3qxb*WYk_VMb;2eq|z(o=$=c|Lv
zz)>WD<oz_+L8W3^DX1kAA72DYV@04uRs<@PZ?WYkWu+#UK->vZk5nFjZ39_!i^B#|
Us@j3{6oZ-%BFqA^Y|H|(0NQQmL;wH)

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0df251d8e8f379bd7403de0b1258f5bf3bbe91d4
GIT binary patch
literal 8919
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ed7d6df2d33c76b2821fb0930eb7b0f246c3ecc1
GIT binary patch
literal 3878
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
P93WGeh5j=!^DqMd-}vP{

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9179ce789cb12decf0343ba9a850dc2b2b050603
GIT binary patch
literal 19787
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
U6foi76sTvYXAtHBZSax?063T2%m4rY

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..765b4adf4be9292a9ae21d7112409201046d42c8
GIT binary patch
literal 466
zcmWIL<>g{vU|{fV*`2bKk%8ech=Yuo85kHG7#J9ejTjghQW#Pga~N_NqZo6UqL^}-
zqnH^%VoW(KQ7ow}3s_T_7cxe%rLd&1wlGAor!WOGXtKQonWo8ni$5``I6tSfBsD%W
zw;;c$<Q7LtW?5!&W`5o+zJj96yps5|(!Au7%=|pRDz<3dc)eKdWJZu)C<d`v7#J9w
zL5>k%U|=X=SiqRVSi`W8X#vwhhF}IwCcj^dx|+<lgyWMF^YZgDlM{0?t5V~OQqxl_
zZZQ{^Cf#Dq$uCbW(qz2Fl9!m9x{{#?<o92m`X#vq`URN<x}|vqiOJciDZ1qusi`@-
zm1&ul`9`_%`UTnP@kOb{`K3k4sm1#7WvO{7`9=C5wTbDOdFlG4C7C(JdIgoY1W{}T
zS;7NyE)&QPOhq8JCdVzV`1rKalG38o`1m4_Oc5xIi$H$6#Z;7fi#<6%w;(eowTO*@
lfdQ-s>`Wwrn}LDh7Kcr4eoARhsvSsUF-WZl69+RFGXNQ`cUk}d

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..fe65c3afd7e1d47ba63e9a5fae941dc749901d74
GIT binary patch
literal 10634
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
BfYty2

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py
new file mode 100644
index 0000000..210bb80
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py
@@ -0,0 +1,30 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import sys
+
+
+PY2 = sys.version_info[0] == 2
+PY3 = sys.version_info[0] == 3
+
+# flake8: noqa
+
+if PY3:
+    string_types = str,
+else:
+    string_types = basestring,
+
+
+def with_metaclass(meta, *bases):
+    """
+    Create a base class with a metaclass.
+    """
+    # This requires a bit of explanation: the basic idea is to make a dummy
+    # metaclass for one level of class instantiation that replaces itself with
+    # the actual metaclass.
+    class metaclass(meta):
+        def __new__(cls, name, this_bases, d):
+            return meta(name, bases, d)
+    return type.__new__(metaclass, 'temporary_class', (), {})
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py
new file mode 100644
index 0000000..ccc2786
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py
@@ -0,0 +1,68 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+
+class Infinity(object):
+
+    def __repr__(self):
+        return "Infinity"
+
+    def __hash__(self):
+        return hash(repr(self))
+
+    def __lt__(self, other):
+        return False
+
+    def __le__(self, other):
+        return False
+
+    def __eq__(self, other):
+        return isinstance(other, self.__class__)
+
+    def __ne__(self, other):
+        return not isinstance(other, self.__class__)
+
+    def __gt__(self, other):
+        return True
+
+    def __ge__(self, other):
+        return True
+
+    def __neg__(self):
+        return NegativeInfinity
+
+Infinity = Infinity()
+
+
+class NegativeInfinity(object):
+
+    def __repr__(self):
+        return "-Infinity"
+
+    def __hash__(self):
+        return hash(repr(self))
+
+    def __lt__(self, other):
+        return True
+
+    def __le__(self, other):
+        return True
+
+    def __eq__(self, other):
+        return isinstance(other, self.__class__)
+
+    def __ne__(self, other):
+        return not isinstance(other, self.__class__)
+
+    def __gt__(self, other):
+        return False
+
+    def __ge__(self, other):
+        return False
+
+    def __neg__(self):
+        return Infinity
+
+NegativeInfinity = NegativeInfinity()
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py
new file mode 100644
index 0000000..892e578
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py
@@ -0,0 +1,301 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import operator
+import os
+import platform
+import sys
+
+from pkg_resources.extern.pyparsing import ParseException, ParseResults, stringStart, stringEnd
+from pkg_resources.extern.pyparsing import ZeroOrMore, Group, Forward, QuotedString
+from pkg_resources.extern.pyparsing import Literal as L  # noqa
+
+from ._compat import string_types
+from .specifiers import Specifier, InvalidSpecifier
+
+
+__all__ = [
+    "InvalidMarker", "UndefinedComparison", "UndefinedEnvironmentName",
+    "Marker", "default_environment",
+]
+
+
+class InvalidMarker(ValueError):
+    """
+    An invalid marker was found, users should refer to PEP 508.
+    """
+
+
+class UndefinedComparison(ValueError):
+    """
+    An invalid operation was attempted on a value that doesn't support it.
+    """
+
+
+class UndefinedEnvironmentName(ValueError):
+    """
+    A name was attempted to be used that does not exist inside of the
+    environment.
+    """
+
+
+class Node(object):
+
+    def __init__(self, value):
+        self.value = value
+
+    def __str__(self):
+        return str(self.value)
+
+    def __repr__(self):
+        return "<{0}({1!r})>".format(self.__class__.__name__, str(self))
+
+    def serialize(self):
+        raise NotImplementedError
+
+
+class Variable(Node):
+
+    def serialize(self):
+        return str(self)
+
+
+class Value(Node):
+
+    def serialize(self):
+        return '"{0}"'.format(self)
+
+
+class Op(Node):
+
+    def serialize(self):
+        return str(self)
+
+
+VARIABLE = (
+    L("implementation_version") |
+    L("platform_python_implementation") |
+    L("implementation_name") |
+    L("python_full_version") |
+    L("platform_release") |
+    L("platform_version") |
+    L("platform_machine") |
+    L("platform_system") |
+    L("python_version") |
+    L("sys_platform") |
+    L("os_name") |
+    L("os.name") |  # PEP-345
+    L("sys.platform") |  # PEP-345
+    L("platform.version") |  # PEP-345
+    L("platform.machine") |  # PEP-345
+    L("platform.python_implementation") |  # PEP-345
+    L("python_implementation") |  # undocumented setuptools legacy
+    L("extra")
+)
+ALIASES = {
+    'os.name': 'os_name',
+    'sys.platform': 'sys_platform',
+    'platform.version': 'platform_version',
+    'platform.machine': 'platform_machine',
+    'platform.python_implementation': 'platform_python_implementation',
+    'python_implementation': 'platform_python_implementation'
+}
+VARIABLE.setParseAction(lambda s, l, t: Variable(ALIASES.get(t[0], t[0])))
+
+VERSION_CMP = (
+    L("===") |
+    L("==") |
+    L(">=") |
+    L("<=") |
+    L("!=") |
+    L("~=") |
+    L(">") |
+    L("<")
+)
+
+MARKER_OP = VERSION_CMP | L("not in") | L("in")
+MARKER_OP.setParseAction(lambda s, l, t: Op(t[0]))
+
+MARKER_VALUE = QuotedString("'") | QuotedString('"')
+MARKER_VALUE.setParseAction(lambda s, l, t: Value(t[0]))
+
+BOOLOP = L("and") | L("or")
+
+MARKER_VAR = VARIABLE | MARKER_VALUE
+
+MARKER_ITEM = Group(MARKER_VAR + MARKER_OP + MARKER_VAR)
+MARKER_ITEM.setParseAction(lambda s, l, t: tuple(t[0]))
+
+LPAREN = L("(").suppress()
+RPAREN = L(")").suppress()
+
+MARKER_EXPR = Forward()
+MARKER_ATOM = MARKER_ITEM | Group(LPAREN + MARKER_EXPR + RPAREN)
+MARKER_EXPR << MARKER_ATOM + ZeroOrMore(BOOLOP + MARKER_EXPR)
+
+MARKER = stringStart + MARKER_EXPR + stringEnd
+
+
+def _coerce_parse_result(results):
+    if isinstance(results, ParseResults):
+        return [_coerce_parse_result(i) for i in results]
+    else:
+        return results
+
+
+def _format_marker(marker, first=True):
+    assert isinstance(marker, (list, tuple, string_types))
+
+    # Sometimes we have a structure like [[...]] which is a single item list
+    # where the single item is itself it's own list. In that case we want skip
+    # the rest of this function so that we don't get extraneous () on the
+    # outside.
+    if (isinstance(marker, list) and len(marker) == 1 and
+            isinstance(marker[0], (list, tuple))):
+        return _format_marker(marker[0])
+
+    if isinstance(marker, list):
+        inner = (_format_marker(m, first=False) for m in marker)
+        if first:
+            return " ".join(inner)
+        else:
+            return "(" + " ".join(inner) + ")"
+    elif isinstance(marker, tuple):
+        return " ".join([m.serialize() for m in marker])
+    else:
+        return marker
+
+
+_operators = {
+    "in": lambda lhs, rhs: lhs in rhs,
+    "not in": lambda lhs, rhs: lhs not in rhs,
+    "<": operator.lt,
+    "<=": operator.le,
+    "==": operator.eq,
+    "!=": operator.ne,
+    ">=": operator.ge,
+    ">": operator.gt,
+}
+
+
+def _eval_op(lhs, op, rhs):
+    try:
+        spec = Specifier("".join([op.serialize(), rhs]))
+    except InvalidSpecifier:
+        pass
+    else:
+        return spec.contains(lhs)
+
+    oper = _operators.get(op.serialize())
+    if oper is None:
+        raise UndefinedComparison(
+            "Undefined {0!r} on {1!r} and {2!r}.".format(op, lhs, rhs)
+        )
+
+    return oper(lhs, rhs)
+
+
+_undefined = object()
+
+
+def _get_env(environment, name):
+    value = environment.get(name, _undefined)
+
+    if value is _undefined:
+        raise UndefinedEnvironmentName(
+            "{0!r} does not exist in evaluation environment.".format(name)
+        )
+
+    return value
+
+
+def _evaluate_markers(markers, environment):
+    groups = [[]]
+
+    for marker in markers:
+        assert isinstance(marker, (list, tuple, string_types))
+
+        if isinstance(marker, list):
+            groups[-1].append(_evaluate_markers(marker, environment))
+        elif isinstance(marker, tuple):
+            lhs, op, rhs = marker
+
+            if isinstance(lhs, Variable):
+                lhs_value = _get_env(environment, lhs.value)
+                rhs_value = rhs.value
+            else:
+                lhs_value = lhs.value
+                rhs_value = _get_env(environment, rhs.value)
+
+            groups[-1].append(_eval_op(lhs_value, op, rhs_value))
+        else:
+            assert marker in ["and", "or"]
+            if marker == "or":
+                groups.append([])
+
+    return any(all(item) for item in groups)
+
+
+def format_full_version(info):
+    version = '{0.major}.{0.minor}.{0.micro}'.format(info)
+    kind = info.releaselevel
+    if kind != 'final':
+        version += kind[0] + str(info.serial)
+    return version
+
+
+def default_environment():
+    if hasattr(sys, 'implementation'):
+        iver = format_full_version(sys.implementation.version)
+        implementation_name = sys.implementation.name
+    else:
+        iver = '0'
+        implementation_name = ''
+
+    return {
+        "implementation_name": implementation_name,
+        "implementation_version": iver,
+        "os_name": os.name,
+        "platform_machine": platform.machine(),
+        "platform_release": platform.release(),
+        "platform_system": platform.system(),
+        "platform_version": platform.version(),
+        "python_full_version": platform.python_version(),
+        "platform_python_implementation": platform.python_implementation(),
+        "python_version": platform.python_version()[:3],
+        "sys_platform": sys.platform,
+    }
+
+
+class Marker(object):
+
+    def __init__(self, marker):
+        try:
+            self._markers = _coerce_parse_result(MARKER.parseString(marker))
+        except ParseException as e:
+            err_str = "Invalid marker: {0!r}, parse error at {1!r}".format(
+                marker, marker[e.loc:e.loc + 8])
+            raise InvalidMarker(err_str)
+
+    def __str__(self):
+        return _format_marker(self._markers)
+
+    def __repr__(self):
+        return "<Marker({0!r})>".format(str(self))
+
+    def evaluate(self, environment=None):
+        """Evaluate a marker.
+
+        Return the boolean from evaluating the given marker against the
+        environment. environment is an optional argument to override all or
+        part of the determined environment.
+
+        The environment is determined from the current Python process.
+        """
+        current_environment = default_environment()
+        if environment is not None:
+            current_environment.update(environment)
+
+        return _evaluate_markers(self._markers, current_environment)
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py
new file mode 100644
index 0000000..0c8c4a3
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py
@@ -0,0 +1,127 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import string
+import re
+
+from pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException
+from pkg_resources.extern.pyparsing import ZeroOrMore, Word, Optional, Regex, Combine
+from pkg_resources.extern.pyparsing import Literal as L  # noqa
+from pkg_resources.extern.six.moves.urllib import parse as urlparse
+
+from .markers import MARKER_EXPR, Marker
+from .specifiers import LegacySpecifier, Specifier, SpecifierSet
+
+
+class InvalidRequirement(ValueError):
+    """
+    An invalid requirement was found, users should refer to PEP 508.
+    """
+
+
+ALPHANUM = Word(string.ascii_letters + string.digits)
+
+LBRACKET = L("[").suppress()
+RBRACKET = L("]").suppress()
+LPAREN = L("(").suppress()
+RPAREN = L(")").suppress()
+COMMA = L(",").suppress()
+SEMICOLON = L(";").suppress()
+AT = L("@").suppress()
+
+PUNCTUATION = Word("-_.")
+IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM)
+IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END))
+
+NAME = IDENTIFIER("name")
+EXTRA = IDENTIFIER
+
+URI = Regex(r'[^ ]+')("url")
+URL = (AT + URI)
+
+EXTRAS_LIST = EXTRA + ZeroOrMore(COMMA + EXTRA)
+EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras")
+
+VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE)
+VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE)
+
+VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY
+VERSION_MANY = Combine(VERSION_ONE + ZeroOrMore(COMMA + VERSION_ONE),
+                       joinString=",", adjacent=False)("_raw_spec")
+_VERSION_SPEC = Optional(((LPAREN + VERSION_MANY + RPAREN) | VERSION_MANY))
+_VERSION_SPEC.setParseAction(lambda s, l, t: t._raw_spec or '')
+
+VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier")
+VERSION_SPEC.setParseAction(lambda s, l, t: t[1])
+
+MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
+MARKER_EXPR.setParseAction(
+    lambda s, l, t: Marker(s[t._original_start:t._original_end])
+)
+MARKER_SEPERATOR = SEMICOLON
+MARKER = MARKER_SEPERATOR + MARKER_EXPR
+
+VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER)
+URL_AND_MARKER = URL + Optional(MARKER)
+
+NAMED_REQUIREMENT = \
+    NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER)
+
+REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd
+
+
+class Requirement(object):
+    """Parse a requirement.
+
+    Parse a given requirement string into its parts, such as name, specifier,
+    URL, and extras. Raises InvalidRequirement on a badly-formed requirement
+    string.
+    """
+
+    # TODO: Can we test whether something is contained within a requirement?
+    #       If so how do we do that? Do we need to test against the _name_ of
+    #       the thing as well as the version? What about the markers?
+    # TODO: Can we normalize the name and extra name?
+
+    def __init__(self, requirement_string):
+        try:
+            req = REQUIREMENT.parseString(requirement_string)
+        except ParseException as e:
+            raise InvalidRequirement(
+                "Invalid requirement, parse error at \"{0!r}\"".format(
+                    requirement_string[e.loc:e.loc + 8]))
+
+        self.name = req.name
+        if req.url:
+            parsed_url = urlparse.urlparse(req.url)
+            if not (parsed_url.scheme and parsed_url.netloc) or (
+                    not parsed_url.scheme and not parsed_url.netloc):
+                raise InvalidRequirement("Invalid URL given")
+            self.url = req.url
+        else:
+            self.url = None
+        self.extras = set(req.extras.asList() if req.extras else [])
+        self.specifier = SpecifierSet(req.specifier)
+        self.marker = req.marker if req.marker else None
+
+    def __str__(self):
+        parts = [self.name]
+
+        if self.extras:
+            parts.append("[{0}]".format(",".join(sorted(self.extras))))
+
+        if self.specifier:
+            parts.append(str(self.specifier))
+
+        if self.url:
+            parts.append("@ {0}".format(self.url))
+
+        if self.marker:
+            parts.append("; {0}".format(self.marker))
+
+        return "".join(parts)
+
+    def __repr__(self):
+        return "<Requirement({0!r})>".format(str(self))
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py
new file mode 100644
index 0000000..7f5a76c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py
@@ -0,0 +1,774 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import abc
+import functools
+import itertools
+import re
+
+from ._compat import string_types, with_metaclass
+from .version import Version, LegacyVersion, parse
+
+
+class InvalidSpecifier(ValueError):
+    """
+    An invalid specifier was found, users should refer to PEP 440.
+    """
+
+
+class BaseSpecifier(with_metaclass(abc.ABCMeta, object)):
+
+    @abc.abstractmethod
+    def __str__(self):
+        """
+        Returns the str representation of this Specifier like object. This
+        should be representative of the Specifier itself.
+        """
+
+    @abc.abstractmethod
+    def __hash__(self):
+        """
+        Returns a hash value for this Specifier like object.
+        """
+
+    @abc.abstractmethod
+    def __eq__(self, other):
+        """
+        Returns a boolean representing whether or not the two Specifier like
+        objects are equal.
+        """
+
+    @abc.abstractmethod
+    def __ne__(self, other):
+        """
+        Returns a boolean representing whether or not the two Specifier like
+        objects are not equal.
+        """
+
+    @abc.abstractproperty
+    def prereleases(self):
+        """
+        Returns whether or not pre-releases as a whole are allowed by this
+        specifier.
+        """
+
+    @prereleases.setter
+    def prereleases(self, value):
+        """
+        Sets whether or not pre-releases as a whole are allowed by this
+        specifier.
+        """
+
+    @abc.abstractmethod
+    def contains(self, item, prereleases=None):
+        """
+        Determines if the given item is contained within this specifier.
+        """
+
+    @abc.abstractmethod
+    def filter(self, iterable, prereleases=None):
+        """
+        Takes an iterable of items and filters them so that only items which
+        are contained within this specifier are allowed in it.
+        """
+
+
+class _IndividualSpecifier(BaseSpecifier):
+
+    _operators = {}
+
+    def __init__(self, spec="", prereleases=None):
+        match = self._regex.search(spec)
+        if not match:
+            raise InvalidSpecifier("Invalid specifier: '{0}'".format(spec))
+
+        self._spec = (
+            match.group("operator").strip(),
+            match.group("version").strip(),
+        )
+
+        # Store whether or not this Specifier should accept prereleases
+        self._prereleases = prereleases
+
+    def __repr__(self):
+        pre = (
+            ", prereleases={0!r}".format(self.prereleases)
+            if self._prereleases is not None
+            else ""
+        )
+
+        return "<{0}({1!r}{2})>".format(
+            self.__class__.__name__,
+            str(self),
+            pre,
+        )
+
+    def __str__(self):
+        return "{0}{1}".format(*self._spec)
+
+    def __hash__(self):
+        return hash(self._spec)
+
+    def __eq__(self, other):
+        if isinstance(other, string_types):
+            try:
+                other = self.__class__(other)
+            except InvalidSpecifier:
+                return NotImplemented
+        elif not isinstance(other, self.__class__):
+            return NotImplemented
+
+        return self._spec == other._spec
+
+    def __ne__(self, other):
+        if isinstance(other, string_types):
+            try:
+                other = self.__class__(other)
+            except InvalidSpecifier:
+                return NotImplemented
+        elif not isinstance(other, self.__class__):
+            return NotImplemented
+
+        return self._spec != other._spec
+
+    def _get_operator(self, op):
+        return getattr(self, "_compare_{0}".format(self._operators[op]))
+
+    def _coerce_version(self, version):
+        if not isinstance(version, (LegacyVersion, Version)):
+            version = parse(version)
+        return version
+
+    @property
+    def operator(self):
+        return self._spec[0]
+
+    @property
+    def version(self):
+        return self._spec[1]
+
+    @property
+    def prereleases(self):
+        return self._prereleases
+
+    @prereleases.setter
+    def prereleases(self, value):
+        self._prereleases = value
+
+    def __contains__(self, item):
+        return self.contains(item)
+
+    def contains(self, item, prereleases=None):
+        # Determine if prereleases are to be allowed or not.
+        if prereleases is None:
+            prereleases = self.prereleases
+
+        # Normalize item to a Version or LegacyVersion, this allows us to have
+        # a shortcut for ``"2.0" in Specifier(">=2")
+        item = self._coerce_version(item)
+
+        # Determine if we should be supporting prereleases in this specifier
+        # or not, if we do not support prereleases than we can short circuit
+        # logic if this version is a prereleases.
+        if item.is_prerelease and not prereleases:
+            return False
+
+        # Actually do the comparison to determine if this item is contained
+        # within this Specifier or not.
+        return self._get_operator(self.operator)(item, self.version)
+
+    def filter(self, iterable, prereleases=None):
+        yielded = False
+        found_prereleases = []
+
+        kw = {"prereleases": prereleases if prereleases is not None else True}
+
+        # Attempt to iterate over all the values in the iterable and if any of
+        # them match, yield them.
+        for version in iterable:
+            parsed_version = self._coerce_version(version)
+
+            if self.contains(parsed_version, **kw):
+                # If our version is a prerelease, and we were not set to allow
+                # prereleases, then we'll store it for later incase nothing
+                # else matches this specifier.
+                if (parsed_version.is_prerelease and not
+                        (prereleases or self.prereleases)):
+                    found_prereleases.append(version)
+                # Either this is not a prerelease, or we should have been
+                # accepting prereleases from the begining.
+                else:
+                    yielded = True
+                    yield version
+
+        # Now that we've iterated over everything, determine if we've yielded
+        # any values, and if we have not and we have any prereleases stored up
+        # then we will go ahead and yield the prereleases.
+        if not yielded and found_prereleases:
+            for version in found_prereleases:
+                yield version
+
+
+class LegacySpecifier(_IndividualSpecifier):
+
+    _regex_str = (
+        r"""
+        (?P<operator>(==|!=|<=|>=|<|>))
+        \s*
+        (?P<version>
+            [^,;\s)]* # Since this is a "legacy" specifier, and the version
+                      # string can be just about anything, we match everything
+                      # except for whitespace, a semi-colon for marker support,
+                      # a closing paren since versions can be enclosed in
+                      # them, and a comma since it's a version separator.
+        )
+        """
+    )
+
+    _regex = re.compile(
+        r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE)
+
+    _operators = {
+        "==": "equal",
+        "!=": "not_equal",
+        "<=": "less_than_equal",
+        ">=": "greater_than_equal",
+        "<": "less_than",
+        ">": "greater_than",
+    }
+
+    def _coerce_version(self, version):
+        if not isinstance(version, LegacyVersion):
+            version = LegacyVersion(str(version))
+        return version
+
+    def _compare_equal(self, prospective, spec):
+        return prospective == self._coerce_version(spec)
+
+    def _compare_not_equal(self, prospective, spec):
+        return prospective != self._coerce_version(spec)
+
+    def _compare_less_than_equal(self, prospective, spec):
+        return prospective <= self._coerce_version(spec)
+
+    def _compare_greater_than_equal(self, prospective, spec):
+        return prospective >= self._coerce_version(spec)
+
+    def _compare_less_than(self, prospective, spec):
+        return prospective < self._coerce_version(spec)
+
+    def _compare_greater_than(self, prospective, spec):
+        return prospective > self._coerce_version(spec)
+
+
+def _require_version_compare(fn):
+    @functools.wraps(fn)
+    def wrapped(self, prospective, spec):
+        if not isinstance(prospective, Version):
+            return False
+        return fn(self, prospective, spec)
+    return wrapped
+
+
+class Specifier(_IndividualSpecifier):
+
+    _regex_str = (
+        r"""
+        (?P<operator>(~=|==|!=|<=|>=|<|>|===))
+        (?P<version>
+            (?:
+                # The identity operators allow for an escape hatch that will
+                # do an exact string match of the version you wish to install.
+                # This will not be parsed by PEP 440 and we cannot determine
+                # any semantic meaning from it. This operator is discouraged
+                # but included entirely as an escape hatch.
+                (?<====)  # Only match for the identity operator
+                \s*
+                [^\s]*    # We just match everything, except for whitespace
+                          # since we are only testing for strict identity.
+            )
+            |
+            (?:
+                # The (non)equality operators allow for wild card and local
+                # versions to be specified so we have to define these two
+                # operators separately to enable that.
+                (?<===|!=)            # Only match for equals and not equals
+
+                \s*
+                v?
+                (?:[0-9]+!)?          # epoch
+                [0-9]+(?:\.[0-9]+)*   # release
+                (?:                   # pre release
+                    [-_\.]?
+                    (a|b|c|rc|alpha|beta|pre|preview)
+                    [-_\.]?
+                    [0-9]*
+                )?
+                (?:                   # post release
+                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
+                )?
+
+                # You cannot use a wild card and a dev or local version
+                # together so group them with a | and make them optional.
+                (?:
+                    (?:[-_\.]?dev[-_\.]?[0-9]*)?         # dev release
+                    (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local
+                    |
+                    \.\*  # Wild card syntax of .*
+                )?
+            )
+            |
+            (?:
+                # The compatible operator requires at least two digits in the
+                # release segment.
+                (?<=~=)               # Only match for the compatible operator
+
+                \s*
+                v?
+                (?:[0-9]+!)?          # epoch
+                [0-9]+(?:\.[0-9]+)+   # release  (We have a + instead of a *)
+                (?:                   # pre release
+                    [-_\.]?
+                    (a|b|c|rc|alpha|beta|pre|preview)
+                    [-_\.]?
+                    [0-9]*
+                )?
+                (?:                                   # post release
+                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
+                )?
+                (?:[-_\.]?dev[-_\.]?[0-9]*)?          # dev release
+            )
+            |
+            (?:
+                # All other operators only allow a sub set of what the
+                # (non)equality operators do. Specifically they do not allow
+                # local versions to be specified nor do they allow the prefix
+                # matching wild cards.
+                (?<!==|!=|~=)         # We have special cases for these
+                                      # operators so we want to make sure they
+                                      # don't match here.
+
+                \s*
+                v?
+                (?:[0-9]+!)?          # epoch
+                [0-9]+(?:\.[0-9]+)*   # release
+                (?:                   # pre release
+                    [-_\.]?
+                    (a|b|c|rc|alpha|beta|pre|preview)
+                    [-_\.]?
+                    [0-9]*
+                )?
+                (?:                                   # post release
+                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
+                )?
+                (?:[-_\.]?dev[-_\.]?[0-9]*)?          # dev release
+            )
+        )
+        """
+    )
+
+    _regex = re.compile(
+        r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE)
+
+    _operators = {
+        "~=": "compatible",
+        "==": "equal",
+        "!=": "not_equal",
+        "<=": "less_than_equal",
+        ">=": "greater_than_equal",
+        "<": "less_than",
+        ">": "greater_than",
+        "===": "arbitrary",
+    }
+
+    @_require_version_compare
+    def _compare_compatible(self, prospective, spec):
+        # Compatible releases have an equivalent combination of >= and ==. That
+        # is that ~=2.2 is equivalent to >=2.2,==2.*. This allows us to
+        # implement this in terms of the other specifiers instead of
+        # implementing it ourselves. The only thing we need to do is construct
+        # the other specifiers.
+
+        # We want everything but the last item in the version, but we want to
+        # ignore post and dev releases and we want to treat the pre-release as
+        # it's own separate segment.
+        prefix = ".".join(
+            list(
+                itertools.takewhile(
+                    lambda x: (not x.startswith("post") and not
+                               x.startswith("dev")),
+                    _version_split(spec),
+                )
+            )[:-1]
+        )
+
+        # Add the prefix notation to the end of our string
+        prefix += ".*"
+
+        return (self._get_operator(">=")(prospective, spec) and
+                self._get_operator("==")(prospective, prefix))
+
+    @_require_version_compare
+    def _compare_equal(self, prospective, spec):
+        # We need special logic to handle prefix matching
+        if spec.endswith(".*"):
+            # In the case of prefix matching we want to ignore local segment.
+            prospective = Version(prospective.public)
+            # Split the spec out by dots, and pretend that there is an implicit
+            # dot in between a release segment and a pre-release segment.
+            spec = _version_split(spec[:-2])  # Remove the trailing .*
+
+            # Split the prospective version out by dots, and pretend that there
+            # is an implicit dot in between a release segment and a pre-release
+            # segment.
+            prospective = _version_split(str(prospective))
+
+            # Shorten the prospective version to be the same length as the spec
+            # so that we can determine if the specifier is a prefix of the
+            # prospective version or not.
+            prospective = prospective[:len(spec)]
+
+            # Pad out our two sides with zeros so that they both equal the same
+            # length.
+            spec, prospective = _pad_version(spec, prospective)
+        else:
+            # Convert our spec string into a Version
+            spec = Version(spec)
+
+            # If the specifier does not have a local segment, then we want to
+            # act as if the prospective version also does not have a local
+            # segment.
+            if not spec.local:
+                prospective = Version(prospective.public)
+
+        return prospective == spec
+
+    @_require_version_compare
+    def _compare_not_equal(self, prospective, spec):
+        return not self._compare_equal(prospective, spec)
+
+    @_require_version_compare
+    def _compare_less_than_equal(self, prospective, spec):
+        return prospective <= Version(spec)
+
+    @_require_version_compare
+    def _compare_greater_than_equal(self, prospective, spec):
+        return prospective >= Version(spec)
+
+    @_require_version_compare
+    def _compare_less_than(self, prospective, spec):
+        # Convert our spec to a Version instance, since we'll want to work with
+        # it as a version.
+        spec = Version(spec)
+
+        # Check to see if the prospective version is less than the spec
+        # version. If it's not we can short circuit and just return False now
+        # instead of doing extra unneeded work.
+        if not prospective < spec:
+            return False
+
+        # This special case is here so that, unless the specifier itself
+        # includes is a pre-release version, that we do not accept pre-release
+        # versions for the version mentioned in the specifier (e.g. <3.1 should
+        # not match 3.1.dev0, but should match 3.0.dev0).
+        if not spec.is_prerelease and prospective.is_prerelease:
+            if Version(prospective.base_version) == Version(spec.base_version):
+                return False
+
+        # If we've gotten to here, it means that prospective version is both
+        # less than the spec version *and* it's not a pre-release of the same
+        # version in the spec.
+        return True
+
+    @_require_version_compare
+    def _compare_greater_than(self, prospective, spec):
+        # Convert our spec to a Version instance, since we'll want to work with
+        # it as a version.
+        spec = Version(spec)
+
+        # Check to see if the prospective version is greater than the spec
+        # version. If it's not we can short circuit and just return False now
+        # instead of doing extra unneeded work.
+        if not prospective > spec:
+            return False
+
+        # This special case is here so that, unless the specifier itself
+        # includes is a post-release version, that we do not accept
+        # post-release versions for the version mentioned in the specifier
+        # (e.g. >3.1 should not match 3.0.post0, but should match 3.2.post0).
+        if not spec.is_postrelease and prospective.is_postrelease:
+            if Version(prospective.base_version) == Version(spec.base_version):
+                return False
+
+        # Ensure that we do not allow a local version of the version mentioned
+        # in the specifier, which is techincally greater than, to match.
+        if prospective.local is not None:
+            if Version(prospective.base_version) == Version(spec.base_version):
+                return False
+
+        # If we've gotten to here, it means that prospective version is both
+        # greater than the spec version *and* it's not a pre-release of the
+        # same version in the spec.
+        return True
+
+    def _compare_arbitrary(self, prospective, spec):
+        return str(prospective).lower() == str(spec).lower()
+
+    @property
+    def prereleases(self):
+        # If there is an explicit prereleases set for this, then we'll just
+        # blindly use that.
+        if self._prereleases is not None:
+            return self._prereleases
+
+        # Look at all of our specifiers and determine if they are inclusive
+        # operators, and if they are if they are including an explicit
+        # prerelease.
+        operator, version = self._spec
+        if operator in ["==", ">=", "<=", "~=", "==="]:
+            # The == specifier can include a trailing .*, if it does we
+            # want to remove before parsing.
+            if operator == "==" and version.endswith(".*"):
+                version = version[:-2]
+
+            # Parse the version, and if it is a pre-release than this
+            # specifier allows pre-releases.
+            if parse(version).is_prerelease:
+                return True
+
+        return False
+
+    @prereleases.setter
+    def prereleases(self, value):
+        self._prereleases = value
+
+
+_prefix_regex = re.compile(r"^([0-9]+)((?:a|b|c|rc)[0-9]+)$")
+
+
+def _version_split(version):
+    result = []
+    for item in version.split("."):
+        match = _prefix_regex.search(item)
+        if match:
+            result.extend(match.groups())
+        else:
+            result.append(item)
+    return result
+
+
+def _pad_version(left, right):
+    left_split, right_split = [], []
+
+    # Get the release segment of our versions
+    left_split.append(list(itertools.takewhile(lambda x: x.isdigit(), left)))
+    right_split.append(list(itertools.takewhile(lambda x: x.isdigit(), right)))
+
+    # Get the rest of our versions
+    left_split.append(left[len(left_split[0]):])
+    right_split.append(right[len(right_split[0]):])
+
+    # Insert our padding
+    left_split.insert(
+        1,
+        ["0"] * max(0, len(right_split[0]) - len(left_split[0])),
+    )
+    right_split.insert(
+        1,
+        ["0"] * max(0, len(left_split[0]) - len(right_split[0])),
+    )
+
+    return (
+        list(itertools.chain(*left_split)),
+        list(itertools.chain(*right_split)),
+    )
+
+
+class SpecifierSet(BaseSpecifier):
+
+    def __init__(self, specifiers="", prereleases=None):
+        # Split on , to break each indidivual specifier into it's own item, and
+        # strip each item to remove leading/trailing whitespace.
+        specifiers = [s.strip() for s in specifiers.split(",") if s.strip()]
+
+        # Parsed each individual specifier, attempting first to make it a
+        # Specifier and falling back to a LegacySpecifier.
+        parsed = set()
+        for specifier in specifiers:
+            try:
+                parsed.add(Specifier(specifier))
+            except InvalidSpecifier:
+                parsed.add(LegacySpecifier(specifier))
+
+        # Turn our parsed specifiers into a frozen set and save them for later.
+        self._specs = frozenset(parsed)
+
+        # Store our prereleases value so we can use it later to determine if
+        # we accept prereleases or not.
+        self._prereleases = prereleases
+
+    def __repr__(self):
+        pre = (
+            ", prereleases={0!r}".format(self.prereleases)
+            if self._prereleases is not None
+            else ""
+        )
+
+        return "<SpecifierSet({0!r}{1})>".format(str(self), pre)
+
+    def __str__(self):
+        return ",".join(sorted(str(s) for s in self._specs))
+
+    def __hash__(self):
+        return hash(self._specs)
+
+    def __and__(self, other):
+        if isinstance(other, string_types):
+            other = SpecifierSet(other)
+        elif not isinstance(other, SpecifierSet):
+            return NotImplemented
+
+        specifier = SpecifierSet()
+        specifier._specs = frozenset(self._specs | other._specs)
+
+        if self._prereleases is None and other._prereleases is not None:
+            specifier._prereleases = other._prereleases
+        elif self._prereleases is not None and other._prereleases is None:
+            specifier._prereleases = self._prereleases
+        elif self._prereleases == other._prereleases:
+            specifier._prereleases = self._prereleases
+        else:
+            raise ValueError(
+                "Cannot combine SpecifierSets with True and False prerelease "
+                "overrides."
+            )
+
+        return specifier
+
+    def __eq__(self, other):
+        if isinstance(other, string_types):
+            other = SpecifierSet(other)
+        elif isinstance(other, _IndividualSpecifier):
+            other = SpecifierSet(str(other))
+        elif not isinstance(other, SpecifierSet):
+            return NotImplemented
+
+        return self._specs == other._specs
+
+    def __ne__(self, other):
+        if isinstance(other, string_types):
+            other = SpecifierSet(other)
+        elif isinstance(other, _IndividualSpecifier):
+            other = SpecifierSet(str(other))
+        elif not isinstance(other, SpecifierSet):
+            return NotImplemented
+
+        return self._specs != other._specs
+
+    def __len__(self):
+        return len(self._specs)
+
+    def __iter__(self):
+        return iter(self._specs)
+
+    @property
+    def prereleases(self):
+        # If we have been given an explicit prerelease modifier, then we'll
+        # pass that through here.
+        if self._prereleases is not None:
+            return self._prereleases
+
+        # If we don't have any specifiers, and we don't have a forced value,
+        # then we'll just return None since we don't know if this should have
+        # pre-releases or not.
+        if not self._specs:
+            return None
+
+        # Otherwise we'll see if any of the given specifiers accept
+        # prereleases, if any of them do we'll return True, otherwise False.
+        return any(s.prereleases for s in self._specs)
+
+    @prereleases.setter
+    def prereleases(self, value):
+        self._prereleases = value
+
+    def __contains__(self, item):
+        return self.contains(item)
+
+    def contains(self, item, prereleases=None):
+        # Ensure that our item is a Version or LegacyVersion instance.
+        if not isinstance(item, (LegacyVersion, Version)):
+            item = parse(item)
+
+        # Determine if we're forcing a prerelease or not, if we're not forcing
+        # one for this particular filter call, then we'll use whatever the
+        # SpecifierSet thinks for whether or not we should support prereleases.
+        if prereleases is None:
+            prereleases = self.prereleases
+
+        # We can determine if we're going to allow pre-releases by looking to
+        # see if any of the underlying items supports them. If none of them do
+        # and this item is a pre-release then we do not allow it and we can
+        # short circuit that here.
+        # Note: This means that 1.0.dev1 would not be contained in something
+        #       like >=1.0.devabc however it would be in >=1.0.debabc,>0.0.dev0
+        if not prereleases and item.is_prerelease:
+            return False
+
+        # We simply dispatch to the underlying specs here to make sure that the
+        # given version is contained within all of them.
+        # Note: This use of all() here means that an empty set of specifiers
+        #       will always return True, this is an explicit design decision.
+        return all(
+            s.contains(item, prereleases=prereleases)
+            for s in self._specs
+        )
+
+    def filter(self, iterable, prereleases=None):
+        # Determine if we're forcing a prerelease or not, if we're not forcing
+        # one for this particular filter call, then we'll use whatever the
+        # SpecifierSet thinks for whether or not we should support prereleases.
+        if prereleases is None:
+            prereleases = self.prereleases
+
+        # If we have any specifiers, then we want to wrap our iterable in the
+        # filter method for each one, this will act as a logical AND amongst
+        # each specifier.
+        if self._specs:
+            for spec in self._specs:
+                iterable = spec.filter(iterable, prereleases=bool(prereleases))
+            return iterable
+        # If we do not have any specifiers, then we need to have a rough filter
+        # which will filter out any pre-releases, unless there are no final
+        # releases, and which will filter out LegacyVersion in general.
+        else:
+            filtered = []
+            found_prereleases = []
+
+            for item in iterable:
+                # Ensure that we some kind of Version class for this item.
+                if not isinstance(item, (LegacyVersion, Version)):
+                    parsed_version = parse(item)
+                else:
+                    parsed_version = item
+
+                # Filter out any item which is parsed as a LegacyVersion
+                if isinstance(parsed_version, LegacyVersion):
+                    continue
+
+                # Store any item which is a pre-release for later unless we've
+                # already found a final version or we are accepting prereleases
+                if parsed_version.is_prerelease and not prereleases:
+                    if not filtered:
+                        found_prereleases.append(item)
+                else:
+                    filtered.append(item)
+
+            # If we've found no items except for pre-releases, then we'll go
+            # ahead and use the pre-releases
+            if not filtered and found_prereleases and prereleases is None:
+                return found_prereleases
+
+            return filtered
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py
new file mode 100644
index 0000000..942387c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py
@@ -0,0 +1,14 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import re
+
+
+_canonicalize_regex = re.compile(r"[-_.]+")
+
+
+def canonicalize_name(name):
+    # This is taken from PEP 503.
+    return _canonicalize_regex.sub("-", name).lower()
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py
new file mode 100644
index 0000000..83b5ee8
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py
@@ -0,0 +1,393 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import collections
+import itertools
+import re
+
+from ._structures import Infinity
+
+
+__all__ = [
+    "parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN"
+]
+
+
+_Version = collections.namedtuple(
+    "_Version",
+    ["epoch", "release", "dev", "pre", "post", "local"],
+)
+
+
+def parse(version):
+    """
+    Parse the given version string and return either a :class:`Version` object
+    or a :class:`LegacyVersion` object depending on if the given version is
+    a valid PEP 440 version or a legacy version.
+    """
+    try:
+        return Version(version)
+    except InvalidVersion:
+        return LegacyVersion(version)
+
+
+class InvalidVersion(ValueError):
+    """
+    An invalid version was found, users should refer to PEP 440.
+    """
+
+
+class _BaseVersion(object):
+
+    def __hash__(self):
+        return hash(self._key)
+
+    def __lt__(self, other):
+        return self._compare(other, lambda s, o: s < o)
+
+    def __le__(self, other):
+        return self._compare(other, lambda s, o: s <= o)
+
+    def __eq__(self, other):
+        return self._compare(other, lambda s, o: s == o)
+
+    def __ge__(self, other):
+        return self._compare(other, lambda s, o: s >= o)
+
+    def __gt__(self, other):
+        return self._compare(other, lambda s, o: s > o)
+
+    def __ne__(self, other):
+        return self._compare(other, lambda s, o: s != o)
+
+    def _compare(self, other, method):
+        if not isinstance(other, _BaseVersion):
+            return NotImplemented
+
+        return method(self._key, other._key)
+
+
+class LegacyVersion(_BaseVersion):
+
+    def __init__(self, version):
+        self._version = str(version)
+        self._key = _legacy_cmpkey(self._version)
+
+    def __str__(self):
+        return self._version
+
+    def __repr__(self):
+        return "<LegacyVersion({0})>".format(repr(str(self)))
+
+    @property
+    def public(self):
+        return self._version
+
+    @property
+    def base_version(self):
+        return self._version
+
+    @property
+    def local(self):
+        return None
+
+    @property
+    def is_prerelease(self):
+        return False
+
+    @property
+    def is_postrelease(self):
+        return False
+
+
+_legacy_version_component_re = re.compile(
+    r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE,
+)
+
+_legacy_version_replacement_map = {
+    "pre": "c", "preview": "c", "-": "final-", "rc": "c", "dev": "@",
+}
+
+
+def _parse_version_parts(s):
+    for part in _legacy_version_component_re.split(s):
+        part = _legacy_version_replacement_map.get(part, part)
+
+        if not part or part == ".":
+            continue
+
+        if part[:1] in "0123456789":
+            # pad for numeric comparison
+            yield part.zfill(8)
+        else:
+            yield "*" + part
+
+    # ensure that alpha/beta/candidate are before final
+    yield "*final"
+
+
+def _legacy_cmpkey(version):
+    # We hardcode an epoch of -1 here. A PEP 440 version can only have a epoch
+    # greater than or equal to 0. This will effectively put the LegacyVersion,
+    # which uses the defacto standard originally implemented by setuptools,
+    # as before all PEP 440 versions.
+    epoch = -1
+
+    # This scheme is taken from pkg_resources.parse_version setuptools prior to
+    # it's adoption of the packaging library.
+    parts = []
+    for part in _parse_version_parts(version.lower()):
+        if part.startswith("*"):
+            # remove "-" before a prerelease tag
+            if part < "*final":
+                while parts and parts[-1] == "*final-":
+                    parts.pop()
+
+            # remove trailing zeros from each series of numeric parts
+            while parts and parts[-1] == "00000000":
+                parts.pop()
+
+        parts.append(part)
+    parts = tuple(parts)
+
+    return epoch, parts
+
+# Deliberately not anchored to the start and end of the string, to make it
+# easier for 3rd party code to reuse
+VERSION_PATTERN = r"""
+    v?
+    (?:
+        (?:(?P<epoch>[0-9]+)!)?                           # epoch
+        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
+        (?P<pre>                                          # pre-release
+            [-_\.]?
+            (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
+            [-_\.]?
+            (?P<pre_n>[0-9]+)?
+        )?
+        (?P<post>                                         # post release
+            (?:-(?P<post_n1>[0-9]+))
+            |
+            (?:
+                [-_\.]?
+                (?P<post_l>post|rev|r)
+                [-_\.]?
+                (?P<post_n2>[0-9]+)?
+            )
+        )?
+        (?P<dev>                                          # dev release
+            [-_\.]?
+            (?P<dev_l>dev)
+            [-_\.]?
+            (?P<dev_n>[0-9]+)?
+        )?
+    )
+    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
+"""
+
+
+class Version(_BaseVersion):
+
+    _regex = re.compile(
+        r"^\s*" + VERSION_PATTERN + r"\s*$",
+        re.VERBOSE | re.IGNORECASE,
+    )
+
+    def __init__(self, version):
+        # Validate the version and parse it into pieces
+        match = self._regex.search(version)
+        if not match:
+            raise InvalidVersion("Invalid version: '{0}'".format(version))
+
+        # Store the parsed out pieces of the version
+        self._version = _Version(
+            epoch=int(match.group("epoch")) if match.group("epoch") else 0,
+            release=tuple(int(i) for i in match.group("release").split(".")),
+            pre=_parse_letter_version(
+                match.group("pre_l"),
+                match.group("pre_n"),
+            ),
+            post=_parse_letter_version(
+                match.group("post_l"),
+                match.group("post_n1") or match.group("post_n2"),
+            ),
+            dev=_parse_letter_version(
+                match.group("dev_l"),
+                match.group("dev_n"),
+            ),
+            local=_parse_local_version(match.group("local")),
+        )
+
+        # Generate a key which will be used for sorting
+        self._key = _cmpkey(
+            self._version.epoch,
+            self._version.release,
+            self._version.pre,
+            self._version.post,
+            self._version.dev,
+            self._version.local,
+        )
+
+    def __repr__(self):
+        return "<Version({0})>".format(repr(str(self)))
+
+    def __str__(self):
+        parts = []
+
+        # Epoch
+        if self._version.epoch != 0:
+            parts.append("{0}!".format(self._version.epoch))
+
+        # Release segment
+        parts.append(".".join(str(x) for x in self._version.release))
+
+        # Pre-release
+        if self._version.pre is not None:
+            parts.append("".join(str(x) for x in self._version.pre))
+
+        # Post-release
+        if self._version.post is not None:
+            parts.append(".post{0}".format(self._version.post[1]))
+
+        # Development release
+        if self._version.dev is not None:
+            parts.append(".dev{0}".format(self._version.dev[1]))
+
+        # Local version segment
+        if self._version.local is not None:
+            parts.append(
+                "+{0}".format(".".join(str(x) for x in self._version.local))
+            )
+
+        return "".join(parts)
+
+    @property
+    def public(self):
+        return str(self).split("+", 1)[0]
+
+    @property
+    def base_version(self):
+        parts = []
+
+        # Epoch
+        if self._version.epoch != 0:
+            parts.append("{0}!".format(self._version.epoch))
+
+        # Release segment
+        parts.append(".".join(str(x) for x in self._version.release))
+
+        return "".join(parts)
+
+    @property
+    def local(self):
+        version_string = str(self)
+        if "+" in version_string:
+            return version_string.split("+", 1)[1]
+
+    @property
+    def is_prerelease(self):
+        return bool(self._version.dev or self._version.pre)
+
+    @property
+    def is_postrelease(self):
+        return bool(self._version.post)
+
+
+def _parse_letter_version(letter, number):
+    if letter:
+        # We consider there to be an implicit 0 in a pre-release if there is
+        # not a numeral associated with it.
+        if number is None:
+            number = 0
+
+        # We normalize any letters to their lower case form
+        letter = letter.lower()
+
+        # We consider some words to be alternate spellings of other words and
+        # in those cases we want to normalize the spellings to our preferred
+        # spelling.
+        if letter == "alpha":
+            letter = "a"
+        elif letter == "beta":
+            letter = "b"
+        elif letter in ["c", "pre", "preview"]:
+            letter = "rc"
+        elif letter in ["rev", "r"]:
+            letter = "post"
+
+        return letter, int(number)
+    if not letter and number:
+        # We assume if we are given a number, but we are not given a letter
+        # then this is using the implicit post release syntax (e.g. 1.0-1)
+        letter = "post"
+
+        return letter, int(number)
+
+
+_local_version_seperators = re.compile(r"[\._-]")
+
+
+def _parse_local_version(local):
+    """
+    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
+    """
+    if local is not None:
+        return tuple(
+            part.lower() if not part.isdigit() else int(part)
+            for part in _local_version_seperators.split(local)
+        )
+
+
+def _cmpkey(epoch, release, pre, post, dev, local):
+    # When we compare a release version, we want to compare it with all of the
+    # trailing zeros removed. So we'll use a reverse the list, drop all the now
+    # leading zeros until we come to something non zero, then take the rest
+    # re-reverse it back into the correct order and make it a tuple and use
+    # that for our sorting key.
+    release = tuple(
+        reversed(list(
+            itertools.dropwhile(
+                lambda x: x == 0,
+                reversed(release),
+            )
+        ))
+    )
+
+    # We need to "trick" the sorting algorithm to put 1.0.dev0 before 1.0a0.
+    # We'll do this by abusing the pre segment, but we _only_ want to do this
+    # if there is not a pre or a post segment. If we have one of those then
+    # the normal sorting rules will handle this case correctly.
+    if pre is None and post is None and dev is not None:
+        pre = -Infinity
+    # Versions without a pre-release (except as noted above) should sort after
+    # those with one.
+    elif pre is None:
+        pre = Infinity
+
+    # Versions without a post segment should sort before those with one.
+    if post is None:
+        post = -Infinity
+
+    # Versions without a development segment should sort after those with one.
+    if dev is None:
+        dev = Infinity
+
+    if local is None:
+        # Versions without a local segment should sort before those with one.
+        local = -Infinity
+    else:
+        # Versions with a local segment need that segment parsed to implement
+        # the sorting rules in PEP440.
+        # - Alpha numeric segments sort before numeric segments
+        # - Alpha numeric segments sort lexicographically
+        # - Numeric segments sort numerically
+        # - Shorter versions sort before longer versions when the prefixes
+        #   match exactly
+        local = tuple(
+            (i, "") if isinstance(i, int) else (-Infinity, i)
+            for i in local
+        )
+
+    return epoch, release, pre, post, dev, local
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py
new file mode 100644
index 0000000..cf75e1e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py
@@ -0,0 +1,5742 @@
+# module pyparsing.py
+#
+# Copyright (c) 2003-2018  Paul T. McGuire
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+__doc__ = \
+"""
+pyparsing module - Classes and methods to define and execute parsing grammars
+=============================================================================
+
+The pyparsing module is an alternative approach to creating and executing simple grammars,
+vs. the traditional lex/yacc approach, or the use of regular expressions.  With pyparsing, you
+don't need to learn a new syntax for defining grammars or matching expressions - the parsing module
+provides a library of classes that you use to construct the grammar directly in Python.
+
+Here is a program to parse "Hello, World!" (or any greeting of the form 
+C{"<salutation>, <addressee>!"}), built up using L{Word}, L{Literal}, and L{And} elements 
+(L{'+'<ParserElement.__add__>} operator gives L{And} expressions, strings are auto-converted to
+L{Literal} expressions)::
+
+    from pyparsing import Word, alphas
+
+    # define grammar of a greeting
+    greet = Word(alphas) + "," + Word(alphas) + "!"
+
+    hello = "Hello, World!"
+    print (hello, "->", greet.parseString(hello))
+
+The program outputs the following::
+
+    Hello, World! -> ['Hello', ',', 'World', '!']
+
+The Python representation of the grammar is quite readable, owing to the self-explanatory
+class names, and the use of '+', '|' and '^' operators.
+
+The L{ParseResults} object returned from L{ParserElement.parseString<ParserElement.parseString>} can be accessed as a nested list, a dictionary, or an
+object with named attributes.
+
+The pyparsing module handles some of the problems that are typically vexing when writing text parsers:
+ - extra or missing whitespace (the above program will also handle "Hello,World!", "Hello  ,  World  !", etc.)
+ - quoted strings
+ - embedded comments
+
+
+Getting Started -
+-----------------
+Visit the classes L{ParserElement} and L{ParseResults} to see the base classes that most other pyparsing
+classes inherit from. Use the docstrings for examples of how to:
+ - construct literal match expressions from L{Literal} and L{CaselessLiteral} classes
+ - construct character word-group expressions using the L{Word} class
+ - see how to create repetitive expressions using L{ZeroOrMore} and L{OneOrMore} classes
+ - use L{'+'<And>}, L{'|'<MatchFirst>}, L{'^'<Or>}, and L{'&'<Each>} operators to combine simple expressions into more complex ones
+ - associate names with your parsed results using L{ParserElement.setResultsName}
+ - find some helpful expression short-cuts like L{delimitedList} and L{oneOf}
+ - find more useful common expressions in the L{pyparsing_common} namespace class
+"""
+
+__version__ = "2.2.1"
+__versionTime__ = "18 Sep 2018 00:49 UTC"
+__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>"
+
+import string
+from weakref import ref as wkref
+import copy
+import sys
+import warnings
+import re
+import sre_constants
+import collections
+import pprint
+import traceback
+import types
+from datetime import datetime
+
+try:
+    from _thread import RLock
+except ImportError:
+    from threading import RLock
+
+try:
+    # Python 3
+    from collections.abc import Iterable
+    from collections.abc import MutableMapping
+except ImportError:
+    # Python 2.7
+    from collections import Iterable
+    from collections import MutableMapping
+
+try:
+    from collections import OrderedDict as _OrderedDict
+except ImportError:
+    try:
+        from ordereddict import OrderedDict as _OrderedDict
+    except ImportError:
+        _OrderedDict = None
+
+#~ sys.stderr.write( "testing pyparsing module, version %s, %s\n" % (__version__,__versionTime__ ) )
+
+__all__ = [
+'And', 'CaselessKeyword', 'CaselessLiteral', 'CharsNotIn', 'Combine', 'Dict', 'Each', 'Empty',
+'FollowedBy', 'Forward', 'GoToColumn', 'Group', 'Keyword', 'LineEnd', 'LineStart', 'Literal',
+'MatchFirst', 'NoMatch', 'NotAny', 'OneOrMore', 'OnlyOnce', 'Optional', 'Or',
+'ParseBaseException', 'ParseElementEnhance', 'ParseException', 'ParseExpression', 'ParseFatalException',
+'ParseResults', 'ParseSyntaxException', 'ParserElement', 'QuotedString', 'RecursiveGrammarException',
+'Regex', 'SkipTo', 'StringEnd', 'StringStart', 'Suppress', 'Token', 'TokenConverter', 
+'White', 'Word', 'WordEnd', 'WordStart', 'ZeroOrMore',
+'alphanums', 'alphas', 'alphas8bit', 'anyCloseTag', 'anyOpenTag', 'cStyleComment', 'col',
+'commaSeparatedList', 'commonHTMLEntity', 'countedArray', 'cppStyleComment', 'dblQuotedString',
+'dblSlashComment', 'delimitedList', 'dictOf', 'downcaseTokens', 'empty', 'hexnums',
+'htmlComment', 'javaStyleComment', 'line', 'lineEnd', 'lineStart', 'lineno',
+'makeHTMLTags', 'makeXMLTags', 'matchOnlyAtCol', 'matchPreviousExpr', 'matchPreviousLiteral',
+'nestedExpr', 'nullDebugAction', 'nums', 'oneOf', 'opAssoc', 'operatorPrecedence', 'printables',
+'punc8bit', 'pythonStyleComment', 'quotedString', 'removeQuotes', 'replaceHTMLEntity', 
+'replaceWith', 'restOfLine', 'sglQuotedString', 'srange', 'stringEnd',
+'stringStart', 'traceParseAction', 'unicodeString', 'upcaseTokens', 'withAttribute',
+'indentedBlock', 'originalTextFor', 'ungroup', 'infixNotation','locatedExpr', 'withClass',
+'CloseMatch', 'tokenMap', 'pyparsing_common',
+]
+
+system_version = tuple(sys.version_info)[:3]
+PY_3 = system_version[0] == 3
+if PY_3:
+    _MAX_INT = sys.maxsize
+    basestring = str
+    unichr = chr
+    _ustr = str
+
+    # build list of single arg builtins, that can be used as parse actions
+    singleArgBuiltins = [sum, len, sorted, reversed, list, tuple, set, any, all, min, max]
+
+else:
+    _MAX_INT = sys.maxint
+    range = xrange
+
+    def _ustr(obj):
+        """Drop-in replacement for str(obj) that tries to be Unicode friendly. It first tries
+           str(obj). If that fails with a UnicodeEncodeError, then it tries unicode(obj). It
+           then < returns the unicode object | encodes it with the default encoding | ... >.
+        """
+        if isinstance(obj,unicode):
+            return obj
+
+        try:
+            # If this works, then _ustr(obj) has the same behaviour as str(obj), so
+            # it won't break any existing code.
+            return str(obj)
+
+        except UnicodeEncodeError:
+            # Else encode it
+            ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace')
+            xmlcharref = Regex(r'&#\d+;')
+            xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:])
+            return xmlcharref.transformString(ret)
+
+    # build list of single arg builtins, tolerant of Python version, that can be used as parse actions
+    singleArgBuiltins = []
+    import __builtin__
+    for fname in "sum len sorted reversed list tuple set any all min max".split():
+        try:
+            singleArgBuiltins.append(getattr(__builtin__,fname))
+        except AttributeError:
+            continue
+            
+_generatorType = type((y for y in range(1)))
+ 
+def _xml_escape(data):
+    """Escape &, <, >, ", ', etc. in a string of data."""
+
+    # ampersand must be replaced first
+    from_symbols = '&><"\''
+    to_symbols = ('&'+s+';' for s in "amp gt lt quot apos".split())
+    for from_,to_ in zip(from_symbols, to_symbols):
+        data = data.replace(from_, to_)
+    return data
+
+class _Constants(object):
+    pass
+
+alphas     = string.ascii_uppercase + string.ascii_lowercase
+nums       = "0123456789"
+hexnums    = nums + "ABCDEFabcdef"
+alphanums  = alphas + nums
+_bslash    = chr(92)
+printables = "".join(c for c in string.printable if c not in string.whitespace)
+
+class ParseBaseException(Exception):
+    """base exception class for all parsing runtime exceptions"""
+    # Performance tuning: we construct a *lot* of these, so keep this
+    # constructor as small and fast as possible
+    def __init__( self, pstr, loc=0, msg=None, elem=None ):
+        self.loc = loc
+        if msg is None:
+            self.msg = pstr
+            self.pstr = ""
+        else:
+            self.msg = msg
+            self.pstr = pstr
+        self.parserElement = elem
+        self.args = (pstr, loc, msg)
+
+    @classmethod
+    def _from_exception(cls, pe):
+        """
+        internal factory method to simplify creating one type of ParseException 
+        from another - avoids having __init__ signature conflicts among subclasses
+        """
+        return cls(pe.pstr, pe.loc, pe.msg, pe.parserElement)
+
+    def __getattr__( self, aname ):
+        """supported attributes by name are:
+            - lineno - returns the line number of the exception text
+            - col - returns the column number of the exception text
+            - line - returns the line containing the exception text
+        """
+        if( aname == "lineno" ):
+            return lineno( self.loc, self.pstr )
+        elif( aname in ("col", "column") ):
+            return col( self.loc, self.pstr )
+        elif( aname == "line" ):
+            return line( self.loc, self.pstr )
+        else:
+            raise AttributeError(aname)
+
+    def __str__( self ):
+        return "%s (at char %d), (line:%d, col:%d)" % \
+                ( self.msg, self.loc, self.lineno, self.column )
+    def __repr__( self ):
+        return _ustr(self)
+    def markInputline( self, markerString = ">!<" ):
+        """Extracts the exception line from the input string, and marks
+           the location of the exception with a special symbol.
+        """
+        line_str = self.line
+        line_column = self.column - 1
+        if markerString:
+            line_str = "".join((line_str[:line_column],
+                                markerString, line_str[line_column:]))
+        return line_str.strip()
+    def __dir__(self):
+        return "lineno col line".split() + dir(type(self))
+
+class ParseException(ParseBaseException):
+    """
+    Exception thrown when parse expressions don't match class;
+    supported attributes by name are:
+     - lineno - returns the line number of the exception text
+     - col - returns the column number of the exception text
+     - line - returns the line containing the exception text
+        
+    Example::
+        try:
+            Word(nums).setName("integer").parseString("ABC")
+        except ParseException as pe:
+            print(pe)
+            print("column: {}".format(pe.col))
+            
+    prints::
+       Expected integer (at char 0), (line:1, col:1)
+        column: 1
+    """
+    pass
+
+class ParseFatalException(ParseBaseException):
+    """user-throwable exception thrown when inconsistent parse content
+       is found; stops all parsing immediately"""
+    pass
+
+class ParseSyntaxException(ParseFatalException):
+    """just like L{ParseFatalException}, but thrown internally when an
+       L{ErrorStop<And._ErrorStop>} ('-' operator) indicates that parsing is to stop 
+       immediately because an unbacktrackable syntax error has been found"""
+    pass
+
+#~ class ReparseException(ParseBaseException):
+    #~ """Experimental class - parse actions can raise this exception to cause
+       #~ pyparsing to reparse the input string:
+        #~ - with a modified input string, and/or
+        #~ - with a modified start location
+       #~ Set the values of the ReparseException in the constructor, and raise the
+       #~ exception in a parse action to cause pyparsing to use the new string/location.
+       #~ Setting the values as None causes no change to be made.
+       #~ """
+    #~ def __init_( self, newstring, restartLoc ):
+        #~ self.newParseText = newstring
+        #~ self.reparseLoc = restartLoc
+
+class RecursiveGrammarException(Exception):
+    """exception thrown by L{ParserElement.validate} if the grammar could be improperly recursive"""
+    def __init__( self, parseElementList ):
+        self.parseElementTrace = parseElementList
+
+    def __str__( self ):
+        return "RecursiveGrammarException: %s" % self.parseElementTrace
+
+class _ParseResultsWithOffset(object):
+    def __init__(self,p1,p2):
+        self.tup = (p1,p2)
+    def __getitem__(self,i):
+        return self.tup[i]
+    def __repr__(self):
+        return repr(self.tup[0])
+    def setOffset(self,i):
+        self.tup = (self.tup[0],i)
+
+class ParseResults(object):
+    """
+    Structured parse results, to provide multiple means of access to the parsed data:
+       - as a list (C{len(results)})
+       - by list index (C{results[0], results[1]}, etc.)
+       - by attribute (C{results.<resultsName>} - see L{ParserElement.setResultsName})
+
+    Example::
+        integer = Word(nums)
+        date_str = (integer.setResultsName("year") + '/' 
+                        + integer.setResultsName("month") + '/' 
+                        + integer.setResultsName("day"))
+        # equivalent form:
+        # date_str = integer("year") + '/' + integer("month") + '/' + integer("day")
+
+        # parseString returns a ParseResults object
+        result = date_str.parseString("1999/12/31")
+
+        def test(s, fn=repr):
+            print("%s -> %s" % (s, fn(eval(s))))
+        test("list(result)")
+        test("result[0]")
+        test("result['month']")
+        test("result.day")
+        test("'month' in result")
+        test("'minutes' in result")
+        test("result.dump()", str)
+    prints::
+        list(result) -> ['1999', '/', '12', '/', '31']
+        result[0] -> '1999'
+        result['month'] -> '12'
+        result.day -> '31'
+        'month' in result -> True
+        'minutes' in result -> False
+        result.dump() -> ['1999', '/', '12', '/', '31']
+        - day: 31
+        - month: 12
+        - year: 1999
+    """
+    def __new__(cls, toklist=None, name=None, asList=True, modal=True ):
+        if isinstance(toklist, cls):
+            return toklist
+        retobj = object.__new__(cls)
+        retobj.__doinit = True
+        return retobj
+
+    # Performance tuning: we construct a *lot* of these, so keep this
+    # constructor as small and fast as possible
+    def __init__( self, toklist=None, name=None, asList=True, modal=True, isinstance=isinstance ):
+        if self.__doinit:
+            self.__doinit = False
+            self.__name = None
+            self.__parent = None
+            self.__accumNames = {}
+            self.__asList = asList
+            self.__modal = modal
+            if toklist is None:
+                toklist = []
+            if isinstance(toklist, list):
+                self.__toklist = toklist[:]
+            elif isinstance(toklist, _generatorType):
+                self.__toklist = list(toklist)
+            else:
+                self.__toklist = [toklist]
+            self.__tokdict = dict()
+
+        if name is not None and name:
+            if not modal:
+                self.__accumNames[name] = 0
+            if isinstance(name,int):
+                name = _ustr(name) # will always return a str, but use _ustr for consistency
+            self.__name = name
+            if not (isinstance(toklist, (type(None), basestring, list)) and toklist in (None,'',[])):
+                if isinstance(toklist,basestring):
+                    toklist = [ toklist ]
+                if asList:
+                    if isinstance(toklist,ParseResults):
+                        self[name] = _ParseResultsWithOffset(toklist.copy(),0)
+                    else:
+                        self[name] = _ParseResultsWithOffset(ParseResults(toklist[0]),0)
+                    self[name].__name = name
+                else:
+                    try:
+                        self[name] = toklist[0]
+                    except (KeyError,TypeError,IndexError):
+                        self[name] = toklist
+
+    def __getitem__( self, i ):
+        if isinstance( i, (int,slice) ):
+            return self.__toklist[i]
+        else:
+            if i not in self.__accumNames:
+                return self.__tokdict[i][-1][0]
+            else:
+                return ParseResults([ v[0] for v in self.__tokdict[i] ])
+
+    def __setitem__( self, k, v, isinstance=isinstance ):
+        if isinstance(v,_ParseResultsWithOffset):
+            self.__tokdict[k] = self.__tokdict.get(k,list()) + [v]
+            sub = v[0]
+        elif isinstance(k,(int,slice)):
+            self.__toklist[k] = v
+            sub = v
+        else:
+            self.__tokdict[k] = self.__tokdict.get(k,list()) + [_ParseResultsWithOffset(v,0)]
+            sub = v
+        if isinstance(sub,ParseResults):
+            sub.__parent = wkref(self)
+
+    def __delitem__( self, i ):
+        if isinstance(i,(int,slice)):
+            mylen = len( self.__toklist )
+            del self.__toklist[i]
+
+            # convert int to slice
+            if isinstance(i, int):
+                if i < 0:
+                    i += mylen
+                i = slice(i, i+1)
+            # get removed indices
+            removed = list(range(*i.indices(mylen)))
+            removed.reverse()
+            # fixup indices in token dictionary
+            for name,occurrences in self.__tokdict.items():
+                for j in removed:
+                    for k, (value, position) in enumerate(occurrences):
+                        occurrences[k] = _ParseResultsWithOffset(value, position - (position > j))
+        else:
+            del self.__tokdict[i]
+
+    def __contains__( self, k ):
+        return k in self.__tokdict
+
+    def __len__( self ): return len( self.__toklist )
+    def __bool__(self): return ( not not self.__toklist )
+    __nonzero__ = __bool__
+    def __iter__( self ): return iter( self.__toklist )
+    def __reversed__( self ): return iter( self.__toklist[::-1] )
+    def _iterkeys( self ):
+        if hasattr(self.__tokdict, "iterkeys"):
+            return self.__tokdict.iterkeys()
+        else:
+            return iter(self.__tokdict)
+
+    def _itervalues( self ):
+        return (self[k] for k in self._iterkeys())
+            
+    def _iteritems( self ):
+        return ((k, self[k]) for k in self._iterkeys())
+
+    if PY_3:
+        keys = _iterkeys       
+        """Returns an iterator of all named result keys (Python 3.x only)."""
+
+        values = _itervalues
+        """Returns an iterator of all named result values (Python 3.x only)."""
+
+        items = _iteritems
+        """Returns an iterator of all named result key-value tuples (Python 3.x only)."""
+
+    else:
+        iterkeys = _iterkeys
+        """Returns an iterator of all named result keys (Python 2.x only)."""
+
+        itervalues = _itervalues
+        """Returns an iterator of all named result values (Python 2.x only)."""
+
+        iteritems = _iteritems
+        """Returns an iterator of all named result key-value tuples (Python 2.x only)."""
+
+        def keys( self ):
+            """Returns all named result keys (as a list in Python 2.x, as an iterator in Python 3.x)."""
+            return list(self.iterkeys())
+
+        def values( self ):
+            """Returns all named result values (as a list in Python 2.x, as an iterator in Python 3.x)."""
+            return list(self.itervalues())
+                
+        def items( self ):
+            """Returns all named result key-values (as a list of tuples in Python 2.x, as an iterator in Python 3.x)."""
+            return list(self.iteritems())
+
+    def haskeys( self ):
+        """Since keys() returns an iterator, this method is helpful in bypassing
+           code that looks for the existence of any defined results names."""
+        return bool(self.__tokdict)
+        
+    def pop( self, *args, **kwargs):
+        """
+        Removes and returns item at specified index (default=C{last}).
+        Supports both C{list} and C{dict} semantics for C{pop()}. If passed no
+        argument or an integer argument, it will use C{list} semantics
+        and pop tokens from the list of parsed tokens. If passed a 
+        non-integer argument (most likely a string), it will use C{dict}
+        semantics and pop the corresponding value from any defined 
+        results names. A second default return value argument is 
+        supported, just as in C{dict.pop()}.
+
+        Example::
+            def remove_first(tokens):
+                tokens.pop(0)
+            print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321']
+            print(OneOrMore(Word(nums)).addParseAction(remove_first).parseString("0 123 321")) # -> ['123', '321']
+
+            label = Word(alphas)
+            patt = label("LABEL") + OneOrMore(Word(nums))
+            print(patt.parseString("AAB 123 321").dump())
+
+            # Use pop() in a parse action to remove named result (note that corresponding value is not
+            # removed from list form of results)
+            def remove_LABEL(tokens):
+                tokens.pop("LABEL")
+                return tokens
+            patt.addParseAction(remove_LABEL)
+            print(patt.parseString("AAB 123 321").dump())
+        prints::
+            ['AAB', '123', '321']
+            - LABEL: AAB
+
+            ['AAB', '123', '321']
+        """
+        if not args:
+            args = [-1]
+        for k,v in kwargs.items():
+            if k == 'default':
+                args = (args[0], v)
+            else:
+                raise TypeError("pop() got an unexpected keyword argument '%s'" % k)
+        if (isinstance(args[0], int) or 
+                        len(args) == 1 or 
+                        args[0] in self):
+            index = args[0]
+            ret = self[index]
+            del self[index]
+            return ret
+        else:
+            defaultvalue = args[1]
+            return defaultvalue
+
+    def get(self, key, defaultValue=None):
+        """
+        Returns named result matching the given key, or if there is no
+        such name, then returns the given C{defaultValue} or C{None} if no
+        C{defaultValue} is specified.
+
+        Similar to C{dict.get()}.
+        
+        Example::
+            integer = Word(nums)
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")           
+
+            result = date_str.parseString("1999/12/31")
+            print(result.get("year")) # -> '1999'
+            print(result.get("hour", "not specified")) # -> 'not specified'
+            print(result.get("hour")) # -> None
+        """
+        if key in self:
+            return self[key]
+        else:
+            return defaultValue
+
+    def insert( self, index, insStr ):
+        """
+        Inserts new element at location index in the list of parsed tokens.
+        
+        Similar to C{list.insert()}.
+
+        Example::
+            print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321']
+
+            # use a parse action to insert the parse location in the front of the parsed results
+            def insert_locn(locn, tokens):
+                tokens.insert(0, locn)
+            print(OneOrMore(Word(nums)).addParseAction(insert_locn).parseString("0 123 321")) # -> [0, '0', '123', '321']
+        """
+        self.__toklist.insert(index, insStr)
+        # fixup indices in token dictionary
+        for name,occurrences in self.__tokdict.items():
+            for k, (value, position) in enumerate(occurrences):
+                occurrences[k] = _ParseResultsWithOffset(value, position + (position > index))
+
+    def append( self, item ):
+        """
+        Add single element to end of ParseResults list of elements.
+
+        Example::
+            print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321']
+            
+            # use a parse action to compute the sum of the parsed integers, and add it to the end
+            def append_sum(tokens):
+                tokens.append(sum(map(int, tokens)))
+            print(OneOrMore(Word(nums)).addParseAction(append_sum).parseString("0 123 321")) # -> ['0', '123', '321', 444]
+        """
+        self.__toklist.append(item)
+
+    def extend( self, itemseq ):
+        """
+        Add sequence of elements to end of ParseResults list of elements.
+
+        Example::
+            patt = OneOrMore(Word(alphas))
+            
+            # use a parse action to append the reverse of the matched strings, to make a palindrome
+            def make_palindrome(tokens):
+                tokens.extend(reversed([t[::-1] for t in tokens]))
+                return ''.join(tokens)
+            print(patt.addParseAction(make_palindrome).parseString("lskdj sdlkjf lksd")) # -> 'lskdjsdlkjflksddsklfjkldsjdksl'
+        """
+        if isinstance(itemseq, ParseResults):
+            self += itemseq
+        else:
+            self.__toklist.extend(itemseq)
+
+    def clear( self ):
+        """
+        Clear all elements and results names.
+        """
+        del self.__toklist[:]
+        self.__tokdict.clear()
+
+    def __getattr__( self, name ):
+        try:
+            return self[name]
+        except KeyError:
+            return ""
+            
+        if name in self.__tokdict:
+            if name not in self.__accumNames:
+                return self.__tokdict[name][-1][0]
+            else:
+                return ParseResults([ v[0] for v in self.__tokdict[name] ])
+        else:
+            return ""
+
+    def __add__( self, other ):
+        ret = self.copy()
+        ret += other
+        return ret
+
+    def __iadd__( self, other ):
+        if other.__tokdict:
+            offset = len(self.__toklist)
+            addoffset = lambda a: offset if a<0 else a+offset
+            otheritems = other.__tokdict.items()
+            otherdictitems = [(k, _ParseResultsWithOffset(v[0],addoffset(v[1])) )
+                                for (k,vlist) in otheritems for v in vlist]
+            for k,v in otherdictitems:
+                self[k] = v
+                if isinstance(v[0],ParseResults):
+                    v[0].__parent = wkref(self)
+            
+        self.__toklist += other.__toklist
+        self.__accumNames.update( other.__accumNames )
+        return self
+
+    def __radd__(self, other):
+        if isinstance(other,int) and other == 0:
+            # useful for merging many ParseResults using sum() builtin
+            return self.copy()
+        else:
+            # this may raise a TypeError - so be it
+            return other + self
+        
+    def __repr__( self ):
+        return "(%s, %s)" % ( repr( self.__toklist ), repr( self.__tokdict ) )
+
+    def __str__( self ):
+        return '[' + ', '.join(_ustr(i) if isinstance(i, ParseResults) else repr(i) for i in self.__toklist) + ']'
+
+    def _asStringList( self, sep='' ):
+        out = []
+        for item in self.__toklist:
+            if out and sep:
+                out.append(sep)
+            if isinstance( item, ParseResults ):
+                out += item._asStringList()
+            else:
+                out.append( _ustr(item) )
+        return out
+
+    def asList( self ):
+        """
+        Returns the parse results as a nested list of matching tokens, all converted to strings.
+
+        Example::
+            patt = OneOrMore(Word(alphas))
+            result = patt.parseString("sldkj lsdkj sldkj")
+            # even though the result prints in string-like form, it is actually a pyparsing ParseResults
+            print(type(result), result) # -> <class 'pyparsing.ParseResults'> ['sldkj', 'lsdkj', 'sldkj']
+            
+            # Use asList() to create an actual list
+            result_list = result.asList()
+            print(type(result_list), result_list) # -> <class 'list'> ['sldkj', 'lsdkj', 'sldkj']
+        """
+        return [res.asList() if isinstance(res,ParseResults) else res for res in self.__toklist]
+
+    def asDict( self ):
+        """
+        Returns the named parse results as a nested dictionary.
+
+        Example::
+            integer = Word(nums)
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")
+            
+            result = date_str.parseString('12/31/1999')
+            print(type(result), repr(result)) # -> <class 'pyparsing.ParseResults'> (['12', '/', '31', '/', '1999'], {'day': [('1999', 4)], 'year': [('12', 0)], 'month': [('31', 2)]})
+            
+            result_dict = result.asDict()
+            print(type(result_dict), repr(result_dict)) # -> <class 'dict'> {'day': '1999', 'year': '12', 'month': '31'}
+
+            # even though a ParseResults supports dict-like access, sometime you just need to have a dict
+            import json
+            print(json.dumps(result)) # -> Exception: TypeError: ... is not JSON serializable
+            print(json.dumps(result.asDict())) # -> {"month": "31", "day": "1999", "year": "12"}
+        """
+        if PY_3:
+            item_fn = self.items
+        else:
+            item_fn = self.iteritems
+            
+        def toItem(obj):
+            if isinstance(obj, ParseResults):
+                if obj.haskeys():
+                    return obj.asDict()
+                else:
+                    return [toItem(v) for v in obj]
+            else:
+                return obj
+                
+        return dict((k,toItem(v)) for k,v in item_fn())
+
+    def copy( self ):
+        """
+        Returns a new copy of a C{ParseResults} object.
+        """
+        ret = ParseResults( self.__toklist )
+        ret.__tokdict = self.__tokdict.copy()
+        ret.__parent = self.__parent
+        ret.__accumNames.update( self.__accumNames )
+        ret.__name = self.__name
+        return ret
+
+    def asXML( self, doctag=None, namedItemsOnly=False, indent="", formatted=True ):
+        """
+        (Deprecated) Returns the parse results as XML. Tags are created for tokens and lists that have defined results names.
+        """
+        nl = "\n"
+        out = []
+        namedItems = dict((v[1],k) for (k,vlist) in self.__tokdict.items()
+                                                            for v in vlist)
+        nextLevelIndent = indent + "  "
+
+        # collapse out indents if formatting is not desired
+        if not formatted:
+            indent = ""
+            nextLevelIndent = ""
+            nl = ""
+
+        selfTag = None
+        if doctag is not None:
+            selfTag = doctag
+        else:
+            if self.__name:
+                selfTag = self.__name
+
+        if not selfTag:
+            if namedItemsOnly:
+                return ""
+            else:
+                selfTag = "ITEM"
+
+        out += [ nl, indent, "<", selfTag, ">" ]
+
+        for i,res in enumerate(self.__toklist):
+            if isinstance(res,ParseResults):
+                if i in namedItems:
+                    out += [ res.asXML(namedItems[i],
+                                        namedItemsOnly and doctag is None,
+                                        nextLevelIndent,
+                                        formatted)]
+                else:
+                    out += [ res.asXML(None,
+                                        namedItemsOnly and doctag is None,
+                                        nextLevelIndent,
+                                        formatted)]
+            else:
+                # individual token, see if there is a name for it
+                resTag = None
+                if i in namedItems:
+                    resTag = namedItems[i]
+                if not resTag:
+                    if namedItemsOnly:
+                        continue
+                    else:
+                        resTag = "ITEM"
+                xmlBodyText = _xml_escape(_ustr(res))
+                out += [ nl, nextLevelIndent, "<", resTag, ">",
+                                                xmlBodyText,
+                                                "</", resTag, ">" ]
+
+        out += [ nl, indent, "</", selfTag, ">" ]
+        return "".join(out)
+
+    def __lookup(self,sub):
+        for k,vlist in self.__tokdict.items():
+            for v,loc in vlist:
+                if sub is v:
+                    return k
+        return None
+
+    def getName(self):
+        r"""
+        Returns the results name for this token expression. Useful when several 
+        different expressions might match at a particular location.
+
+        Example::
+            integer = Word(nums)
+            ssn_expr = Regex(r"\d\d\d-\d\d-\d\d\d\d")
+            house_number_expr = Suppress('#') + Word(nums, alphanums)
+            user_data = (Group(house_number_expr)("house_number") 
+                        | Group(ssn_expr)("ssn")
+                        | Group(integer)("age"))
+            user_info = OneOrMore(user_data)
+            
+            result = user_info.parseString("22 111-22-3333 #221B")
+            for item in result:
+                print(item.getName(), ':', item[0])
+        prints::
+            age : 22
+            ssn : 111-22-3333
+            house_number : 221B
+        """
+        if self.__name:
+            return self.__name
+        elif self.__parent:
+            par = self.__parent()
+            if par:
+                return par.__lookup(self)
+            else:
+                return None
+        elif (len(self) == 1 and
+               len(self.__tokdict) == 1 and
+               next(iter(self.__tokdict.values()))[0][1] in (0,-1)):
+            return next(iter(self.__tokdict.keys()))
+        else:
+            return None
+
+    def dump(self, indent='', depth=0, full=True):
+        """
+        Diagnostic method for listing out the contents of a C{ParseResults}.
+        Accepts an optional C{indent} argument so that this string can be embedded
+        in a nested display of other data.
+
+        Example::
+            integer = Word(nums)
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")
+            
+            result = date_str.parseString('12/31/1999')
+            print(result.dump())
+        prints::
+            ['12', '/', '31', '/', '1999']
+            - day: 1999
+            - month: 31
+            - year: 12
+        """
+        out = []
+        NL = '\n'
+        out.append( indent+_ustr(self.asList()) )
+        if full:
+            if self.haskeys():
+                items = sorted((str(k), v) for k,v in self.items())
+                for k,v in items:
+                    if out:
+                        out.append(NL)
+                    out.append( "%s%s- %s: " % (indent,('  '*depth), k) )
+                    if isinstance(v,ParseResults):
+                        if v:
+                            out.append( v.dump(indent,depth+1) )
+                        else:
+                            out.append(_ustr(v))
+                    else:
+                        out.append(repr(v))
+            elif any(isinstance(vv,ParseResults) for vv in self):
+                v = self
+                for i,vv in enumerate(v):
+                    if isinstance(vv,ParseResults):
+                        out.append("\n%s%s[%d]:\n%s%s%s" % (indent,('  '*(depth)),i,indent,('  '*(depth+1)),vv.dump(indent,depth+1) ))
+                    else:
+                        out.append("\n%s%s[%d]:\n%s%s%s" % (indent,('  '*(depth)),i,indent,('  '*(depth+1)),_ustr(vv)))
+            
+        return "".join(out)
+
+    def pprint(self, *args, **kwargs):
+        """
+        Pretty-printer for parsed results as a list, using the C{pprint} module.
+        Accepts additional positional or keyword args as defined for the 
+        C{pprint.pprint} method. (U{http://docs.python.org/3/library/pprint.html#pprint.pprint})
+
+        Example::
+            ident = Word(alphas, alphanums)
+            num = Word(nums)
+            func = Forward()
+            term = ident | num | Group('(' + func + ')')
+            func <<= ident + Group(Optional(delimitedList(term)))
+            result = func.parseString("fna a,b,(fnb c,d,200),100")
+            result.pprint(width=40)
+        prints::
+            ['fna',
+             ['a',
+              'b',
+              ['(', 'fnb', ['c', 'd', '200'], ')'],
+              '100']]
+        """
+        pprint.pprint(self.asList(), *args, **kwargs)
+
+    # add support for pickle protocol
+    def __getstate__(self):
+        return ( self.__toklist,
+                 ( self.__tokdict.copy(),
+                   self.__parent is not None and self.__parent() or None,
+                   self.__accumNames,
+                   self.__name ) )
+
+    def __setstate__(self,state):
+        self.__toklist = state[0]
+        (self.__tokdict,
+         par,
+         inAccumNames,
+         self.__name) = state[1]
+        self.__accumNames = {}
+        self.__accumNames.update(inAccumNames)
+        if par is not None:
+            self.__parent = wkref(par)
+        else:
+            self.__parent = None
+
+    def __getnewargs__(self):
+        return self.__toklist, self.__name, self.__asList, self.__modal
+
+    def __dir__(self):
+        return (dir(type(self)) + list(self.keys()))
+
+MutableMapping.register(ParseResults)
+
+def col (loc,strg):
+    """Returns current column within a string, counting newlines as line separators.
+   The first column is number 1.
+
+   Note: the default parsing behavior is to expand tabs in the input string
+   before starting the parsing process.  See L{I{ParserElement.parseString}<ParserElement.parseString>} for more information
+   on parsing strings containing C{<TAB>}s, and suggested methods to maintain a
+   consistent view of the parsed string, the parse location, and line and column
+   positions within the parsed string.
+   """
+    s = strg
+    return 1 if 0<loc<len(s) and s[loc-1] == '\n' else loc - s.rfind("\n", 0, loc)
+
+def lineno(loc,strg):
+    """Returns current line number within a string, counting newlines as line separators.
+   The first line is number 1.
+
+   Note: the default parsing behavior is to expand tabs in the input string
+   before starting the parsing process.  See L{I{ParserElement.parseString}<ParserElement.parseString>} for more information
+   on parsing strings containing C{<TAB>}s, and suggested methods to maintain a
+   consistent view of the parsed string, the parse location, and line and column
+   positions within the parsed string.
+   """
+    return strg.count("\n",0,loc) + 1
+
+def line( loc, strg ):
+    """Returns the line of text containing loc within a string, counting newlines as line separators.
+       """
+    lastCR = strg.rfind("\n", 0, loc)
+    nextCR = strg.find("\n", loc)
+    if nextCR >= 0:
+        return strg[lastCR+1:nextCR]
+    else:
+        return strg[lastCR+1:]
+
+def _defaultStartDebugAction( instring, loc, expr ):
+    print (("Match " + _ustr(expr) + " at loc " + _ustr(loc) + "(%d,%d)" % ( lineno(loc,instring), col(loc,instring) )))
+
+def _defaultSuccessDebugAction( instring, startloc, endloc, expr, toks ):
+    print ("Matched " + _ustr(expr) + " -> " + str(toks.asList()))
+
+def _defaultExceptionDebugAction( instring, loc, expr, exc ):
+    print ("Exception raised:" + _ustr(exc))
+
+def nullDebugAction(*args):
+    """'Do-nothing' debug action, to suppress debugging output during parsing."""
+    pass
+
+# Only works on Python 3.x - nonlocal is toxic to Python 2 installs
+#~ 'decorator to trim function calls to match the arity of the target'
+#~ def _trim_arity(func, maxargs=3):
+    #~ if func in singleArgBuiltins:
+        #~ return lambda s,l,t: func(t)
+    #~ limit = 0
+    #~ foundArity = False
+    #~ def wrapper(*args):
+        #~ nonlocal limit,foundArity
+        #~ while 1:
+            #~ try:
+                #~ ret = func(*args[limit:])
+                #~ foundArity = True
+                #~ return ret
+            #~ except TypeError:
+                #~ if limit == maxargs or foundArity:
+                    #~ raise
+                #~ limit += 1
+                #~ continue
+    #~ return wrapper
+
+# this version is Python 2.x-3.x cross-compatible
+'decorator to trim function calls to match the arity of the target'
+def _trim_arity(func, maxargs=2):
+    if func in singleArgBuiltins:
+        return lambda s,l,t: func(t)
+    limit = [0]
+    foundArity = [False]
+    
+    # traceback return data structure changed in Py3.5 - normalize back to plain tuples
+    if system_version[:2] >= (3,5):
+        def extract_stack(limit=0):
+            # special handling for Python 3.5.0 - extra deep call stack by 1
+            offset = -3 if system_version == (3,5,0) else -2
+            frame_summary = traceback.extract_stack(limit=-offset+limit-1)[offset]
+            return [frame_summary[:2]]
+        def extract_tb(tb, limit=0):
+            frames = traceback.extract_tb(tb, limit=limit)
+            frame_summary = frames[-1]
+            return [frame_summary[:2]]
+    else:
+        extract_stack = traceback.extract_stack
+        extract_tb = traceback.extract_tb
+    
+    # synthesize what would be returned by traceback.extract_stack at the call to 
+    # user's parse action 'func', so that we don't incur call penalty at parse time
+    
+    LINE_DIFF = 6
+    # IF ANY CODE CHANGES, EVEN JUST COMMENTS OR BLANK LINES, BETWEEN THE NEXT LINE AND 
+    # THE CALL TO FUNC INSIDE WRAPPER, LINE_DIFF MUST BE MODIFIED!!!!
+    this_line = extract_stack(limit=2)[-1]
+    pa_call_line_synth = (this_line[0], this_line[1]+LINE_DIFF)
+
+    def wrapper(*args):
+        while 1:
+            try:
+                ret = func(*args[limit[0]:])
+                foundArity[0] = True
+                return ret
+            except TypeError:
+                # re-raise TypeErrors if they did not come from our arity testing
+                if foundArity[0]:
+                    raise
+                else:
+                    try:
+                        tb = sys.exc_info()[-1]
+                        if not extract_tb(tb, limit=2)[-1][:2] == pa_call_line_synth:
+                            raise
+                    finally:
+                        del tb
+
+                if limit[0] <= maxargs:
+                    limit[0] += 1
+                    continue
+                raise
+
+    # copy func name to wrapper for sensible debug output
+    func_name = "<parse action>"
+    try:
+        func_name = getattr(func, '__name__', 
+                            getattr(func, '__class__').__name__)
+    except Exception:
+        func_name = str(func)
+    wrapper.__name__ = func_name
+
+    return wrapper
+
+class ParserElement(object):
+    """Abstract base level parser element class."""
+    DEFAULT_WHITE_CHARS = " \n\t\r"
+    verbose_stacktrace = False
+
+    @staticmethod
+    def setDefaultWhitespaceChars( chars ):
+        r"""
+        Overrides the default whitespace chars
+
+        Example::
+            # default whitespace chars are space, <TAB> and newline
+            OneOrMore(Word(alphas)).parseString("abc def\nghi jkl")  # -> ['abc', 'def', 'ghi', 'jkl']
+            
+            # change to just treat newline as significant
+            ParserElement.setDefaultWhitespaceChars(" \t")
+            OneOrMore(Word(alphas)).parseString("abc def\nghi jkl")  # -> ['abc', 'def']
+        """
+        ParserElement.DEFAULT_WHITE_CHARS = chars
+
+    @staticmethod
+    def inlineLiteralsUsing(cls):
+        """
+        Set class to be used for inclusion of string literals into a parser.
+        
+        Example::
+            # default literal class used is Literal
+            integer = Word(nums)
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")           
+
+            date_str.parseString("1999/12/31")  # -> ['1999', '/', '12', '/', '31']
+
+
+            # change to Suppress
+            ParserElement.inlineLiteralsUsing(Suppress)
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")           
+
+            date_str.parseString("1999/12/31")  # -> ['1999', '12', '31']
+        """
+        ParserElement._literalStringClass = cls
+
+    def __init__( self, savelist=False ):
+        self.parseAction = list()
+        self.failAction = None
+        #~ self.name = "<unknown>"  # don't define self.name, let subclasses try/except upcall
+        self.strRepr = None
+        self.resultsName = None
+        self.saveAsList = savelist
+        self.skipWhitespace = True
+        self.whiteChars = ParserElement.DEFAULT_WHITE_CHARS
+        self.copyDefaultWhiteChars = True
+        self.mayReturnEmpty = False # used when checking for left-recursion
+        self.keepTabs = False
+        self.ignoreExprs = list()
+        self.debug = False
+        self.streamlined = False
+        self.mayIndexError = True # used to optimize exception handling for subclasses that don't advance parse index
+        self.errmsg = ""
+        self.modalResults = True # used to mark results names as modal (report only last) or cumulative (list all)
+        self.debugActions = ( None, None, None ) #custom debug actions
+        self.re = None
+        self.callPreparse = True # used to avoid redundant calls to preParse
+        self.callDuringTry = False
+
+    def copy( self ):
+        """
+        Make a copy of this C{ParserElement}.  Useful for defining different parse actions
+        for the same parsing pattern, using copies of the original parse element.
+        
+        Example::
+            integer = Word(nums).setParseAction(lambda toks: int(toks[0]))
+            integerK = integer.copy().addParseAction(lambda toks: toks[0]*1024) + Suppress("K")
+            integerM = integer.copy().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M")
+            
+            print(OneOrMore(integerK | integerM | integer).parseString("5K 100 640K 256M"))
+        prints::
+            [5120, 100, 655360, 268435456]
+        Equivalent form of C{expr.copy()} is just C{expr()}::
+            integerM = integer().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M")
+        """
+        cpy = copy.copy( self )
+        cpy.parseAction = self.parseAction[:]
+        cpy.ignoreExprs = self.ignoreExprs[:]
+        if self.copyDefaultWhiteChars:
+            cpy.whiteChars = ParserElement.DEFAULT_WHITE_CHARS
+        return cpy
+
+    def setName( self, name ):
+        """
+        Define name for this expression, makes debugging and exception messages clearer.
+        
+        Example::
+            Word(nums).parseString("ABC")  # -> Exception: Expected W:(0123...) (at char 0), (line:1, col:1)
+            Word(nums).setName("integer").parseString("ABC")  # -> Exception: Expected integer (at char 0), (line:1, col:1)
+        """
+        self.name = name
+        self.errmsg = "Expected " + self.name
+        if hasattr(self,"exception"):
+            self.exception.msg = self.errmsg
+        return self
+
+    def setResultsName( self, name, listAllMatches=False ):
+        """
+        Define name for referencing matching tokens as a nested attribute
+        of the returned parse results.
+        NOTE: this returns a *copy* of the original C{ParserElement} object;
+        this is so that the client can define a basic element, such as an
+        integer, and reference it in multiple places with different names.
+
+        You can also set results names using the abbreviated syntax,
+        C{expr("name")} in place of C{expr.setResultsName("name")} - 
+        see L{I{__call__}<__call__>}.
+
+        Example::
+            date_str = (integer.setResultsName("year") + '/' 
+                        + integer.setResultsName("month") + '/' 
+                        + integer.setResultsName("day"))
+
+            # equivalent form:
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")
+        """
+        newself = self.copy()
+        if name.endswith("*"):
+            name = name[:-1]
+            listAllMatches=True
+        newself.resultsName = name
+        newself.modalResults = not listAllMatches
+        return newself
+
+    def setBreak(self,breakFlag = True):
+        """Method to invoke the Python pdb debugger when this element is
+           about to be parsed. Set C{breakFlag} to True to enable, False to
+           disable.
+        """
+        if breakFlag:
+            _parseMethod = self._parse
+            def breaker(instring, loc, doActions=True, callPreParse=True):
+                import pdb
+                pdb.set_trace()
+                return _parseMethod( instring, loc, doActions, callPreParse )
+            breaker._originalParseMethod = _parseMethod
+            self._parse = breaker
+        else:
+            if hasattr(self._parse,"_originalParseMethod"):
+                self._parse = self._parse._originalParseMethod
+        return self
+
+    def setParseAction( self, *fns, **kwargs ):
+        """
+        Define one or more actions to perform when successfully matching parse element definition.
+        Parse action fn is a callable method with 0-3 arguments, called as C{fn(s,loc,toks)},
+        C{fn(loc,toks)}, C{fn(toks)}, or just C{fn()}, where:
+         - s   = the original string being parsed (see note below)
+         - loc = the location of the matching substring
+         - toks = a list of the matched tokens, packaged as a C{L{ParseResults}} object
+        If the functions in fns modify the tokens, they can return them as the return
+        value from fn, and the modified list of tokens will replace the original.
+        Otherwise, fn does not need to return any value.
+
+        Optional keyword arguments:
+         - callDuringTry = (default=C{False}) indicate if parse action should be run during lookaheads and alternate testing
+
+        Note: the default parsing behavior is to expand tabs in the input string
+        before starting the parsing process.  See L{I{parseString}<parseString>} for more information
+        on parsing strings containing C{<TAB>}s, and suggested methods to maintain a
+        consistent view of the parsed string, the parse location, and line and column
+        positions within the parsed string.
+        
+        Example::
+            integer = Word(nums)
+            date_str = integer + '/' + integer + '/' + integer
+
+            date_str.parseString("1999/12/31")  # -> ['1999', '/', '12', '/', '31']
+
+            # use parse action to convert to ints at parse time
+            integer = Word(nums).setParseAction(lambda toks: int(toks[0]))
+            date_str = integer + '/' + integer + '/' + integer
+
+            # note that integer fields are now ints, not strings
+            date_str.parseString("1999/12/31")  # -> [1999, '/', 12, '/', 31]
+        """
+        self.parseAction = list(map(_trim_arity, list(fns)))
+        self.callDuringTry = kwargs.get("callDuringTry", False)
+        return self
+
+    def addParseAction( self, *fns, **kwargs ):
+        """
+        Add one or more parse actions to expression's list of parse actions. See L{I{setParseAction}<setParseAction>}.
+        
+        See examples in L{I{copy}<copy>}.
+        """
+        self.parseAction += list(map(_trim_arity, list(fns)))
+        self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False)
+        return self
+
+    def addCondition(self, *fns, **kwargs):
+        """Add a boolean predicate function to expression's list of parse actions. See 
+        L{I{setParseAction}<setParseAction>} for function call signatures. Unlike C{setParseAction}, 
+        functions passed to C{addCondition} need to return boolean success/fail of the condition.
+
+        Optional keyword arguments:
+         - message = define a custom message to be used in the raised exception
+         - fatal   = if True, will raise ParseFatalException to stop parsing immediately; otherwise will raise ParseException
+         
+        Example::
+            integer = Word(nums).setParseAction(lambda toks: int(toks[0]))
+            year_int = integer.copy()
+            year_int.addCondition(lambda toks: toks[0] >= 2000, message="Only support years 2000 and later")
+            date_str = year_int + '/' + integer + '/' + integer
+
+            result = date_str.parseString("1999/12/31")  # -> Exception: Only support years 2000 and later (at char 0), (line:1, col:1)
+        """
+        msg = kwargs.get("message", "failed user-defined condition")
+        exc_type = ParseFatalException if kwargs.get("fatal", False) else ParseException
+        for fn in fns:
+            def pa(s,l,t):
+                if not bool(_trim_arity(fn)(s,l,t)):
+                    raise exc_type(s,l,msg)
+            self.parseAction.append(pa)
+        self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False)
+        return self
+
+    def setFailAction( self, fn ):
+        """Define action to perform if parsing fails at this expression.
+           Fail acton fn is a callable function that takes the arguments
+           C{fn(s,loc,expr,err)} where:
+            - s = string being parsed
+            - loc = location where expression match was attempted and failed
+            - expr = the parse expression that failed
+            - err = the exception thrown
+           The function returns no value.  It may throw C{L{ParseFatalException}}
+           if it is desired to stop parsing immediately."""
+        self.failAction = fn
+        return self
+
+    def _skipIgnorables( self, instring, loc ):
+        exprsFound = True
+        while exprsFound:
+            exprsFound = False
+            for e in self.ignoreExprs:
+                try:
+                    while 1:
+                        loc,dummy = e._parse( instring, loc )
+                        exprsFound = True
+                except ParseException:
+                    pass
+        return loc
+
+    def preParse( self, instring, loc ):
+        if self.ignoreExprs:
+            loc = self._skipIgnorables( instring, loc )
+
+        if self.skipWhitespace:
+            wt = self.whiteChars
+            instrlen = len(instring)
+            while loc < instrlen and instring[loc] in wt:
+                loc += 1
+
+        return loc
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        return loc, []
+
+    def postParse( self, instring, loc, tokenlist ):
+        return tokenlist
+
+    #~ @profile
+    def _parseNoCache( self, instring, loc, doActions=True, callPreParse=True ):
+        debugging = ( self.debug ) #and doActions )
+
+        if debugging or self.failAction:
+            #~ print ("Match",self,"at loc",loc,"(%d,%d)" % ( lineno(loc,instring), col(loc,instring) ))
+            if (self.debugActions[0] ):
+                self.debugActions[0]( instring, loc, self )
+            if callPreParse and self.callPreparse:
+                preloc = self.preParse( instring, loc )
+            else:
+                preloc = loc
+            tokensStart = preloc
+            try:
+                try:
+                    loc,tokens = self.parseImpl( instring, preloc, doActions )
+                except IndexError:
+                    raise ParseException( instring, len(instring), self.errmsg, self )
+            except ParseBaseException as err:
+                #~ print ("Exception raised:", err)
+                if self.debugActions[2]:
+                    self.debugActions[2]( instring, tokensStart, self, err )
+                if self.failAction:
+                    self.failAction( instring, tokensStart, self, err )
+                raise
+        else:
+            if callPreParse and self.callPreparse:
+                preloc = self.preParse( instring, loc )
+            else:
+                preloc = loc
+            tokensStart = preloc
+            if self.mayIndexError or preloc >= len(instring):
+                try:
+                    loc,tokens = self.parseImpl( instring, preloc, doActions )
+                except IndexError:
+                    raise ParseException( instring, len(instring), self.errmsg, self )
+            else:
+                loc,tokens = self.parseImpl( instring, preloc, doActions )
+
+        tokens = self.postParse( instring, loc, tokens )
+
+        retTokens = ParseResults( tokens, self.resultsName, asList=self.saveAsList, modal=self.modalResults )
+        if self.parseAction and (doActions or self.callDuringTry):
+            if debugging:
+                try:
+                    for fn in self.parseAction:
+                        tokens = fn( instring, tokensStart, retTokens )
+                        if tokens is not None:
+                            retTokens = ParseResults( tokens,
+                                                      self.resultsName,
+                                                      asList=self.saveAsList and isinstance(tokens,(ParseResults,list)),
+                                                      modal=self.modalResults )
+                except ParseBaseException as err:
+                    #~ print "Exception raised in user parse action:", err
+                    if (self.debugActions[2] ):
+                        self.debugActions[2]( instring, tokensStart, self, err )
+                    raise
+            else:
+                for fn in self.parseAction:
+                    tokens = fn( instring, tokensStart, retTokens )
+                    if tokens is not None:
+                        retTokens = ParseResults( tokens,
+                                                  self.resultsName,
+                                                  asList=self.saveAsList and isinstance(tokens,(ParseResults,list)),
+                                                  modal=self.modalResults )
+        if debugging:
+            #~ print ("Matched",self,"->",retTokens.asList())
+            if (self.debugActions[1] ):
+                self.debugActions[1]( instring, tokensStart, loc, self, retTokens )
+
+        return loc, retTokens
+
+    def tryParse( self, instring, loc ):
+        try:
+            return self._parse( instring, loc, doActions=False )[0]
+        except ParseFatalException:
+            raise ParseException( instring, loc, self.errmsg, self)
+    
+    def canParseNext(self, instring, loc):
+        try:
+            self.tryParse(instring, loc)
+        except (ParseException, IndexError):
+            return False
+        else:
+            return True
+
+    class _UnboundedCache(object):
+        def __init__(self):
+            cache = {}
+            self.not_in_cache = not_in_cache = object()
+
+            def get(self, key):
+                return cache.get(key, not_in_cache)
+
+            def set(self, key, value):
+                cache[key] = value
+
+            def clear(self):
+                cache.clear()
+                
+            def cache_len(self):
+                return len(cache)
+
+            self.get = types.MethodType(get, self)
+            self.set = types.MethodType(set, self)
+            self.clear = types.MethodType(clear, self)
+            self.__len__ = types.MethodType(cache_len, self)
+
+    if _OrderedDict is not None:
+        class _FifoCache(object):
+            def __init__(self, size):
+                self.not_in_cache = not_in_cache = object()
+
+                cache = _OrderedDict()
+
+                def get(self, key):
+                    return cache.get(key, not_in_cache)
+
+                def set(self, key, value):
+                    cache[key] = value
+                    while len(cache) > size:
+                        try:
+                            cache.popitem(False)
+                        except KeyError:
+                            pass
+
+                def clear(self):
+                    cache.clear()
+
+                def cache_len(self):
+                    return len(cache)
+
+                self.get = types.MethodType(get, self)
+                self.set = types.MethodType(set, self)
+                self.clear = types.MethodType(clear, self)
+                self.__len__ = types.MethodType(cache_len, self)
+
+    else:
+        class _FifoCache(object):
+            def __init__(self, size):
+                self.not_in_cache = not_in_cache = object()
+
+                cache = {}
+                key_fifo = collections.deque([], size)
+
+                def get(self, key):
+                    return cache.get(key, not_in_cache)
+
+                def set(self, key, value):
+                    cache[key] = value
+                    while len(key_fifo) > size:
+                        cache.pop(key_fifo.popleft(), None)
+                    key_fifo.append(key)
+
+                def clear(self):
+                    cache.clear()
+                    key_fifo.clear()
+
+                def cache_len(self):
+                    return len(cache)
+
+                self.get = types.MethodType(get, self)
+                self.set = types.MethodType(set, self)
+                self.clear = types.MethodType(clear, self)
+                self.__len__ = types.MethodType(cache_len, self)
+
+    # argument cache for optimizing repeated calls when backtracking through recursive expressions
+    packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail
+    packrat_cache_lock = RLock()
+    packrat_cache_stats = [0, 0]
+
+    # this method gets repeatedly called during backtracking with the same arguments -
+    # we can cache these arguments and save ourselves the trouble of re-parsing the contained expression
+    def _parseCache( self, instring, loc, doActions=True, callPreParse=True ):
+        HIT, MISS = 0, 1
+        lookup = (self, instring, loc, callPreParse, doActions)
+        with ParserElement.packrat_cache_lock:
+            cache = ParserElement.packrat_cache
+            value = cache.get(lookup)
+            if value is cache.not_in_cache:
+                ParserElement.packrat_cache_stats[MISS] += 1
+                try:
+                    value = self._parseNoCache(instring, loc, doActions, callPreParse)
+                except ParseBaseException as pe:
+                    # cache a copy of the exception, without the traceback
+                    cache.set(lookup, pe.__class__(*pe.args))
+                    raise
+                else:
+                    cache.set(lookup, (value[0], value[1].copy()))
+                    return value
+            else:
+                ParserElement.packrat_cache_stats[HIT] += 1
+                if isinstance(value, Exception):
+                    raise value
+                return (value[0], value[1].copy())
+
+    _parse = _parseNoCache
+
+    @staticmethod
+    def resetCache():
+        ParserElement.packrat_cache.clear()
+        ParserElement.packrat_cache_stats[:] = [0] * len(ParserElement.packrat_cache_stats)
+
+    _packratEnabled = False
+    @staticmethod
+    def enablePackrat(cache_size_limit=128):
+        """Enables "packrat" parsing, which adds memoizing to the parsing logic.
+           Repeated parse attempts at the same string location (which happens
+           often in many complex grammars) can immediately return a cached value,
+           instead of re-executing parsing/validating code.  Memoizing is done of
+           both valid results and parsing exceptions.
+           
+           Parameters:
+            - cache_size_limit - (default=C{128}) - if an integer value is provided
+              will limit the size of the packrat cache; if None is passed, then
+              the cache size will be unbounded; if 0 is passed, the cache will
+              be effectively disabled.
+            
+           This speedup may break existing programs that use parse actions that
+           have side-effects.  For this reason, packrat parsing is disabled when
+           you first import pyparsing.  To activate the packrat feature, your
+           program must call the class method C{ParserElement.enablePackrat()}.  If
+           your program uses C{psyco} to "compile as you go", you must call
+           C{enablePackrat} before calling C{psyco.full()}.  If you do not do this,
+           Python will crash.  For best results, call C{enablePackrat()} immediately
+           after importing pyparsing.
+           
+           Example::
+               import pyparsing
+               pyparsing.ParserElement.enablePackrat()
+        """
+        if not ParserElement._packratEnabled:
+            ParserElement._packratEnabled = True
+            if cache_size_limit is None:
+                ParserElement.packrat_cache = ParserElement._UnboundedCache()
+            else:
+                ParserElement.packrat_cache = ParserElement._FifoCache(cache_size_limit)
+            ParserElement._parse = ParserElement._parseCache
+
+    def parseString( self, instring, parseAll=False ):
+        """
+        Execute the parse expression with the given string.
+        This is the main interface to the client code, once the complete
+        expression has been built.
+
+        If you want the grammar to require that the entire input string be
+        successfully parsed, then set C{parseAll} to True (equivalent to ending
+        the grammar with C{L{StringEnd()}}).
+
+        Note: C{parseString} implicitly calls C{expandtabs()} on the input string,
+        in order to report proper column numbers in parse actions.
+        If the input string contains tabs and
+        the grammar uses parse actions that use the C{loc} argument to index into the
+        string being parsed, you can ensure you have a consistent view of the input
+        string by:
+         - calling C{parseWithTabs} on your grammar before calling C{parseString}
+           (see L{I{parseWithTabs}<parseWithTabs>})
+         - define your parse action using the full C{(s,loc,toks)} signature, and
+           reference the input string using the parse action's C{s} argument
+         - explictly expand the tabs in your input string before calling
+           C{parseString}
+        
+        Example::
+            Word('a').parseString('aaaaabaaa')  # -> ['aaaaa']
+            Word('a').parseString('aaaaabaaa', parseAll=True)  # -> Exception: Expected end of text
+        """
+        ParserElement.resetCache()
+        if not self.streamlined:
+            self.streamline()
+            #~ self.saveAsList = True
+        for e in self.ignoreExprs:
+            e.streamline()
+        if not self.keepTabs:
+            instring = instring.expandtabs()
+        try:
+            loc, tokens = self._parse( instring, 0 )
+            if parseAll:
+                loc = self.preParse( instring, loc )
+                se = Empty() + StringEnd()
+                se._parse( instring, loc )
+        except ParseBaseException as exc:
+            if ParserElement.verbose_stacktrace:
+                raise
+            else:
+                # catch and re-raise exception from here, clears out pyparsing internal stack trace
+                raise exc
+        else:
+            return tokens
+
+    def scanString( self, instring, maxMatches=_MAX_INT, overlap=False ):
+        """
+        Scan the input string for expression matches.  Each match will return the
+        matching tokens, start location, and end location.  May be called with optional
+        C{maxMatches} argument, to clip scanning after 'n' matches are found.  If
+        C{overlap} is specified, then overlapping matches will be reported.
+
+        Note that the start and end locations are reported relative to the string
+        being parsed.  See L{I{parseString}<parseString>} for more information on parsing
+        strings with embedded tabs.
+
+        Example::
+            source = "sldjf123lsdjjkf345sldkjf879lkjsfd987"
+            print(source)
+            for tokens,start,end in Word(alphas).scanString(source):
+                print(' '*start + '^'*(end-start))
+                print(' '*start + tokens[0])
+        
+        prints::
+        
+            sldjf123lsdjjkf345sldkjf879lkjsfd987
+            ^^^^^
+            sldjf
+                    ^^^^^^^
+                    lsdjjkf
+                              ^^^^^^
+                              sldkjf
+                                       ^^^^^^
+                                       lkjsfd
+        """
+        if not self.streamlined:
+            self.streamline()
+        for e in self.ignoreExprs:
+            e.streamline()
+
+        if not self.keepTabs:
+            instring = _ustr(instring).expandtabs()
+        instrlen = len(instring)
+        loc = 0
+        preparseFn = self.preParse
+        parseFn = self._parse
+        ParserElement.resetCache()
+        matches = 0
+        try:
+            while loc <= instrlen and matches < maxMatches:
+                try:
+                    preloc = preparseFn( instring, loc )
+                    nextLoc,tokens = parseFn( instring, preloc, callPreParse=False )
+                except ParseException:
+                    loc = preloc+1
+                else:
+                    if nextLoc > loc:
+                        matches += 1
+                        yield tokens, preloc, nextLoc
+                        if overlap:
+                            nextloc = preparseFn( instring, loc )
+                            if nextloc > loc:
+                                loc = nextLoc
+                            else:
+                                loc += 1
+                        else:
+                            loc = nextLoc
+                    else:
+                        loc = preloc+1
+        except ParseBaseException as exc:
+            if ParserElement.verbose_stacktrace:
+                raise
+            else:
+                # catch and re-raise exception from here, clears out pyparsing internal stack trace
+                raise exc
+
+    def transformString( self, instring ):
+        """
+        Extension to C{L{scanString}}, to modify matching text with modified tokens that may
+        be returned from a parse action.  To use C{transformString}, define a grammar and
+        attach a parse action to it that modifies the returned token list.
+        Invoking C{transformString()} on a target string will then scan for matches,
+        and replace the matched text patterns according to the logic in the parse
+        action.  C{transformString()} returns the resulting transformed string.
+        
+        Example::
+            wd = Word(alphas)
+            wd.setParseAction(lambda toks: toks[0].title())
+            
+            print(wd.transformString("now is the winter of our discontent made glorious summer by this sun of york."))
+        Prints::
+            Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York.
+        """
+        out = []
+        lastE = 0
+        # force preservation of <TAB>s, to minimize unwanted transformation of string, and to
+        # keep string locs straight between transformString and scanString
+        self.keepTabs = True
+        try:
+            for t,s,e in self.scanString( instring ):
+                out.append( instring[lastE:s] )
+                if t:
+                    if isinstance(t,ParseResults):
+                        out += t.asList()
+                    elif isinstance(t,list):
+                        out += t
+                    else:
+                        out.append(t)
+                lastE = e
+            out.append(instring[lastE:])
+            out = [o for o in out if o]
+            return "".join(map(_ustr,_flatten(out)))
+        except ParseBaseException as exc:
+            if ParserElement.verbose_stacktrace:
+                raise
+            else:
+                # catch and re-raise exception from here, clears out pyparsing internal stack trace
+                raise exc
+
+    def searchString( self, instring, maxMatches=_MAX_INT ):
+        """
+        Another extension to C{L{scanString}}, simplifying the access to the tokens found
+        to match the given parse expression.  May be called with optional
+        C{maxMatches} argument, to clip searching after 'n' matches are found.
+        
+        Example::
+            # a capitalized word starts with an uppercase letter, followed by zero or more lowercase letters
+            cap_word = Word(alphas.upper(), alphas.lower())
+            
+            print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity"))
+
+            # the sum() builtin can be used to merge results into a single ParseResults object
+            print(sum(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")))
+        prints::
+            [['More'], ['Iron'], ['Lead'], ['Gold'], ['I'], ['Electricity']]
+            ['More', 'Iron', 'Lead', 'Gold', 'I', 'Electricity']
+        """
+        try:
+            return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ])
+        except ParseBaseException as exc:
+            if ParserElement.verbose_stacktrace:
+                raise
+            else:
+                # catch and re-raise exception from here, clears out pyparsing internal stack trace
+                raise exc
+
+    def split(self, instring, maxsplit=_MAX_INT, includeSeparators=False):
+        """
+        Generator method to split a string using the given expression as a separator.
+        May be called with optional C{maxsplit} argument, to limit the number of splits;
+        and the optional C{includeSeparators} argument (default=C{False}), if the separating
+        matching text should be included in the split results.
+        
+        Example::        
+            punc = oneOf(list(".,;:/-!?"))
+            print(list(punc.split("This, this?, this sentence, is badly punctuated!")))
+        prints::
+            ['This', ' this', '', ' this sentence', ' is badly punctuated', '']
+        """
+        splits = 0
+        last = 0
+        for t,s,e in self.scanString(instring, maxMatches=maxsplit):
+            yield instring[last:s]
+            if includeSeparators:
+                yield t[0]
+            last = e
+        yield instring[last:]
+
+    def __add__(self, other ):
+        """
+        Implementation of + operator - returns C{L{And}}. Adding strings to a ParserElement
+        converts them to L{Literal}s by default.
+        
+        Example::
+            greet = Word(alphas) + "," + Word(alphas) + "!"
+            hello = "Hello, World!"
+            print (hello, "->", greet.parseString(hello))
+        Prints::
+            Hello, World! -> ['Hello', ',', 'World', '!']
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return And( [ self, other ] )
+
+    def __radd__(self, other ):
+        """
+        Implementation of + operator when left operand is not a C{L{ParserElement}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return other + self
+
+    def __sub__(self, other):
+        """
+        Implementation of - operator, returns C{L{And}} with error stop
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return self + And._ErrorStop() + other
+
+    def __rsub__(self, other ):
+        """
+        Implementation of - operator when left operand is not a C{L{ParserElement}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return other - self
+
+    def __mul__(self,other):
+        """
+        Implementation of * operator, allows use of C{expr * 3} in place of
+        C{expr + expr + expr}.  Expressions may also me multiplied by a 2-integer
+        tuple, similar to C{{min,max}} multipliers in regular expressions.  Tuples
+        may also include C{None} as in:
+         - C{expr*(n,None)} or C{expr*(n,)} is equivalent
+              to C{expr*n + L{ZeroOrMore}(expr)}
+              (read as "at least n instances of C{expr}")
+         - C{expr*(None,n)} is equivalent to C{expr*(0,n)}
+              (read as "0 to n instances of C{expr}")
+         - C{expr*(None,None)} is equivalent to C{L{ZeroOrMore}(expr)}
+         - C{expr*(1,None)} is equivalent to C{L{OneOrMore}(expr)}
+
+        Note that C{expr*(None,n)} does not raise an exception if
+        more than n exprs exist in the input stream; that is,
+        C{expr*(None,n)} does not enforce a maximum number of expr
+        occurrences.  If this behavior is desired, then write
+        C{expr*(None,n) + ~expr}
+        """
+        if isinstance(other,int):
+            minElements, optElements = other,0
+        elif isinstance(other,tuple):
+            other = (other + (None, None))[:2]
+            if other[0] is None:
+                other = (0, other[1])
+            if isinstance(other[0],int) and other[1] is None:
+                if other[0] == 0:
+                    return ZeroOrMore(self)
+                if other[0] == 1:
+                    return OneOrMore(self)
+                else:
+                    return self*other[0] + ZeroOrMore(self)
+            elif isinstance(other[0],int) and isinstance(other[1],int):
+                minElements, optElements = other
+                optElements -= minElements
+            else:
+                raise TypeError("cannot multiply 'ParserElement' and ('%s','%s') objects", type(other[0]),type(other[1]))
+        else:
+            raise TypeError("cannot multiply 'ParserElement' and '%s' objects", type(other))
+
+        if minElements < 0:
+            raise ValueError("cannot multiply ParserElement by negative value")
+        if optElements < 0:
+            raise ValueError("second tuple value must be greater or equal to first tuple value")
+        if minElements == optElements == 0:
+            raise ValueError("cannot multiply ParserElement by 0 or (0,0)")
+
+        if (optElements):
+            def makeOptionalList(n):
+                if n>1:
+                    return Optional(self + makeOptionalList(n-1))
+                else:
+                    return Optional(self)
+            if minElements:
+                if minElements == 1:
+                    ret = self + makeOptionalList(optElements)
+                else:
+                    ret = And([self]*minElements) + makeOptionalList(optElements)
+            else:
+                ret = makeOptionalList(optElements)
+        else:
+            if minElements == 1:
+                ret = self
+            else:
+                ret = And([self]*minElements)
+        return ret
+
+    def __rmul__(self, other):
+        return self.__mul__(other)
+
+    def __or__(self, other ):
+        """
+        Implementation of | operator - returns C{L{MatchFirst}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return MatchFirst( [ self, other ] )
+
+    def __ror__(self, other ):
+        """
+        Implementation of | operator when left operand is not a C{L{ParserElement}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return other | self
+
+    def __xor__(self, other ):
+        """
+        Implementation of ^ operator - returns C{L{Or}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return Or( [ self, other ] )
+
+    def __rxor__(self, other ):
+        """
+        Implementation of ^ operator when left operand is not a C{L{ParserElement}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return other ^ self
+
+    def __and__(self, other ):
+        """
+        Implementation of & operator - returns C{L{Each}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return Each( [ self, other ] )
+
+    def __rand__(self, other ):
+        """
+        Implementation of & operator when left operand is not a C{L{ParserElement}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return other & self
+
+    def __invert__( self ):
+        """
+        Implementation of ~ operator - returns C{L{NotAny}}
+        """
+        return NotAny( self )
+
+    def __call__(self, name=None):
+        """
+        Shortcut for C{L{setResultsName}}, with C{listAllMatches=False}.
+        
+        If C{name} is given with a trailing C{'*'} character, then C{listAllMatches} will be
+        passed as C{True}.
+           
+        If C{name} is omitted, same as calling C{L{copy}}.
+
+        Example::
+            # these are equivalent
+            userdata = Word(alphas).setResultsName("name") + Word(nums+"-").setResultsName("socsecno")
+            userdata = Word(alphas)("name") + Word(nums+"-")("socsecno")             
+        """
+        if name is not None:
+            return self.setResultsName(name)
+        else:
+            return self.copy()
+
+    def suppress( self ):
+        """
+        Suppresses the output of this C{ParserElement}; useful to keep punctuation from
+        cluttering up returned output.
+        """
+        return Suppress( self )
+
+    def leaveWhitespace( self ):
+        """
+        Disables the skipping of whitespace before matching the characters in the
+        C{ParserElement}'s defined pattern.  This is normally only used internally by
+        the pyparsing module, but may be needed in some whitespace-sensitive grammars.
+        """
+        self.skipWhitespace = False
+        return self
+
+    def setWhitespaceChars( self, chars ):
+        """
+        Overrides the default whitespace chars
+        """
+        self.skipWhitespace = True
+        self.whiteChars = chars
+        self.copyDefaultWhiteChars = False
+        return self
+
+    def parseWithTabs( self ):
+        """
+        Overrides default behavior to expand C{<TAB>}s to spaces before parsing the input string.
+        Must be called before C{parseString} when the input grammar contains elements that
+        match C{<TAB>} characters.
+        """
+        self.keepTabs = True
+        return self
+
+    def ignore( self, other ):
+        """
+        Define expression to be ignored (e.g., comments) while doing pattern
+        matching; may be called repeatedly, to define multiple comment or other
+        ignorable patterns.
+        
+        Example::
+            patt = OneOrMore(Word(alphas))
+            patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj']
+            
+            patt.ignore(cStyleComment)
+            patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj', 'lskjd']
+        """
+        if isinstance(other, basestring):
+            other = Suppress(other)
+
+        if isinstance( other, Suppress ):
+            if other not in self.ignoreExprs:
+                self.ignoreExprs.append(other)
+        else:
+            self.ignoreExprs.append( Suppress( other.copy() ) )
+        return self
+
+    def setDebugActions( self, startAction, successAction, exceptionAction ):
+        """
+        Enable display of debugging messages while doing pattern matching.
+        """
+        self.debugActions = (startAction or _defaultStartDebugAction,
+                             successAction or _defaultSuccessDebugAction,
+                             exceptionAction or _defaultExceptionDebugAction)
+        self.debug = True
+        return self
+
+    def setDebug( self, flag=True ):
+        """
+        Enable display of debugging messages while doing pattern matching.
+        Set C{flag} to True to enable, False to disable.
+
+        Example::
+            wd = Word(alphas).setName("alphaword")
+            integer = Word(nums).setName("numword")
+            term = wd | integer
+            
+            # turn on debugging for wd
+            wd.setDebug()
+
+            OneOrMore(term).parseString("abc 123 xyz 890")
+        
+        prints::
+            Match alphaword at loc 0(1,1)
+            Matched alphaword -> ['abc']
+            Match alphaword at loc 3(1,4)
+            Exception raised:Expected alphaword (at char 4), (line:1, col:5)
+            Match alphaword at loc 7(1,8)
+            Matched alphaword -> ['xyz']
+            Match alphaword at loc 11(1,12)
+            Exception raised:Expected alphaword (at char 12), (line:1, col:13)
+            Match alphaword at loc 15(1,16)
+            Exception raised:Expected alphaword (at char 15), (line:1, col:16)
+
+        The output shown is that produced by the default debug actions - custom debug actions can be
+        specified using L{setDebugActions}. Prior to attempting
+        to match the C{wd} expression, the debugging message C{"Match <exprname> at loc <n>(<line>,<col>)"}
+        is shown. Then if the parse succeeds, a C{"Matched"} message is shown, or an C{"Exception raised"}
+        message is shown. Also note the use of L{setName} to assign a human-readable name to the expression,
+        which makes debugging and exception messages easier to understand - for instance, the default
+        name created for the C{Word} expression without calling C{setName} is C{"W:(ABCD...)"}.
+        """
+        if flag:
+            self.setDebugActions( _defaultStartDebugAction, _defaultSuccessDebugAction, _defaultExceptionDebugAction )
+        else:
+            self.debug = False
+        return self
+
+    def __str__( self ):
+        return self.name
+
+    def __repr__( self ):
+        return _ustr(self)
+
+    def streamline( self ):
+        self.streamlined = True
+        self.strRepr = None
+        return self
+
+    def checkRecursion( self, parseElementList ):
+        pass
+
+    def validate( self, validateTrace=[] ):
+        """
+        Check defined expressions for valid structure, check for infinite recursive definitions.
+        """
+        self.checkRecursion( [] )
+
+    def parseFile( self, file_or_filename, parseAll=False ):
+        """
+        Execute the parse expression on the given file or filename.
+        If a filename is specified (instead of a file object),
+        the entire file is opened, read, and closed before parsing.
+        """
+        try:
+            file_contents = file_or_filename.read()
+        except AttributeError:
+            with open(file_or_filename, "r") as f:
+                file_contents = f.read()
+        try:
+            return self.parseString(file_contents, parseAll)
+        except ParseBaseException as exc:
+            if ParserElement.verbose_stacktrace:
+                raise
+            else:
+                # catch and re-raise exception from here, clears out pyparsing internal stack trace
+                raise exc
+
+    def __eq__(self,other):
+        if isinstance(other, ParserElement):
+            return self is other or vars(self) == vars(other)
+        elif isinstance(other, basestring):
+            return self.matches(other)
+        else:
+            return super(ParserElement,self)==other
+
+    def __ne__(self,other):
+        return not (self == other)
+
+    def __hash__(self):
+        return hash(id(self))
+
+    def __req__(self,other):
+        return self == other
+
+    def __rne__(self,other):
+        return not (self == other)
+
+    def matches(self, testString, parseAll=True):
+        """
+        Method for quick testing of a parser against a test string. Good for simple 
+        inline microtests of sub expressions while building up larger parser.
+           
+        Parameters:
+         - testString - to test against this expression for a match
+         - parseAll - (default=C{True}) - flag to pass to C{L{parseString}} when running tests
+            
+        Example::
+            expr = Word(nums)
+            assert expr.matches("100")
+        """
+        try:
+            self.parseString(_ustr(testString), parseAll=parseAll)
+            return True
+        except ParseBaseException:
+            return False
+                
+    def runTests(self, tests, parseAll=True, comment='#', fullDump=True, printResults=True, failureTests=False):
+        """
+        Execute the parse expression on a series of test strings, showing each
+        test, the parsed results or where the parse failed. Quick and easy way to
+        run a parse expression against a list of sample strings.
+           
+        Parameters:
+         - tests - a list of separate test strings, or a multiline string of test strings
+         - parseAll - (default=C{True}) - flag to pass to C{L{parseString}} when running tests           
+         - comment - (default=C{'#'}) - expression for indicating embedded comments in the test 
+              string; pass None to disable comment filtering
+         - fullDump - (default=C{True}) - dump results as list followed by results names in nested outline;
+              if False, only dump nested list
+         - printResults - (default=C{True}) prints test output to stdout
+         - failureTests - (default=C{False}) indicates if these tests are expected to fail parsing
+
+        Returns: a (success, results) tuple, where success indicates that all tests succeeded
+        (or failed if C{failureTests} is True), and the results contain a list of lines of each 
+        test's output
+        
+        Example::
+            number_expr = pyparsing_common.number.copy()
+
+            result = number_expr.runTests('''
+                # unsigned integer
+                100
+                # negative integer
+                -100
+                # float with scientific notation
+                6.02e23
+                # integer with scientific notation
+                1e-12
+                ''')
+            print("Success" if result[0] else "Failed!")
+
+            result = number_expr.runTests('''
+                # stray character
+                100Z
+                # missing leading digit before '.'
+                -.100
+                # too many '.'
+                3.14.159
+                ''', failureTests=True)
+            print("Success" if result[0] else "Failed!")
+        prints::
+            # unsigned integer
+            100
+            [100]
+
+            # negative integer
+            -100
+            [-100]
+
+            # float with scientific notation
+            6.02e23
+            [6.02e+23]
+
+            # integer with scientific notation
+            1e-12
+            [1e-12]
+
+            Success
+            
+            # stray character
+            100Z
+               ^
+            FAIL: Expected end of text (at char 3), (line:1, col:4)
+
+            # missing leading digit before '.'
+            -.100
+            ^
+            FAIL: Expected {real number with scientific notation | real number | signed integer} (at char 0), (line:1, col:1)
+
+            # too many '.'
+            3.14.159
+                ^
+            FAIL: Expected end of text (at char 4), (line:1, col:5)
+
+            Success
+
+        Each test string must be on a single line. If you want to test a string that spans multiple
+        lines, create a test like this::
+
+            expr.runTest(r"this is a test\\n of strings that spans \\n 3 lines")
+        
+        (Note that this is a raw string literal, you must include the leading 'r'.)
+        """
+        if isinstance(tests, basestring):
+            tests = list(map(str.strip, tests.rstrip().splitlines()))
+        if isinstance(comment, basestring):
+            comment = Literal(comment)
+        allResults = []
+        comments = []
+        success = True
+        for t in tests:
+            if comment is not None and comment.matches(t, False) or comments and not t:
+                comments.append(t)
+                continue
+            if not t:
+                continue
+            out = ['\n'.join(comments), t]
+            comments = []
+            try:
+                t = t.replace(r'\n','\n')
+                result = self.parseString(t, parseAll=parseAll)
+                out.append(result.dump(full=fullDump))
+                success = success and not failureTests
+            except ParseBaseException as pe:
+                fatal = "(FATAL)" if isinstance(pe, ParseFatalException) else ""
+                if '\n' in t:
+                    out.append(line(pe.loc, t))
+                    out.append(' '*(col(pe.loc,t)-1) + '^' + fatal)
+                else:
+                    out.append(' '*pe.loc + '^' + fatal)
+                out.append("FAIL: " + str(pe))
+                success = success and failureTests
+                result = pe
+            except Exception as exc:
+                out.append("FAIL-EXCEPTION: " + str(exc))
+                success = success and failureTests
+                result = exc
+
+            if printResults:
+                if fullDump:
+                    out.append('')
+                print('\n'.join(out))
+
+            allResults.append((t, result))
+        
+        return success, allResults
+
+        
+class Token(ParserElement):
+    """
+    Abstract C{ParserElement} subclass, for defining atomic matching patterns.
+    """
+    def __init__( self ):
+        super(Token,self).__init__( savelist=False )
+
+
+class Empty(Token):
+    """
+    An empty token, will always match.
+    """
+    def __init__( self ):
+        super(Empty,self).__init__()
+        self.name = "Empty"
+        self.mayReturnEmpty = True
+        self.mayIndexError = False
+
+
+class NoMatch(Token):
+    """
+    A token that will never match.
+    """
+    def __init__( self ):
+        super(NoMatch,self).__init__()
+        self.name = "NoMatch"
+        self.mayReturnEmpty = True
+        self.mayIndexError = False
+        self.errmsg = "Unmatchable token"
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        raise ParseException(instring, loc, self.errmsg, self)
+
+
+class Literal(Token):
+    """
+    Token to exactly match a specified string.
+    
+    Example::
+        Literal('blah').parseString('blah')  # -> ['blah']
+        Literal('blah').parseString('blahfooblah')  # -> ['blah']
+        Literal('blah').parseString('bla')  # -> Exception: Expected "blah"
+    
+    For case-insensitive matching, use L{CaselessLiteral}.
+    
+    For keyword matching (force word break before and after the matched string),
+    use L{Keyword} or L{CaselessKeyword}.
+    """
+    def __init__( self, matchString ):
+        super(Literal,self).__init__()
+        self.match = matchString
+        self.matchLen = len(matchString)
+        try:
+            self.firstMatchChar = matchString[0]
+        except IndexError:
+            warnings.warn("null string passed to Literal; use Empty() instead",
+                            SyntaxWarning, stacklevel=2)
+            self.__class__ = Empty
+        self.name = '"%s"' % _ustr(self.match)
+        self.errmsg = "Expected " + self.name
+        self.mayReturnEmpty = False
+        self.mayIndexError = False
+
+    # Performance tuning: this routine gets called a *lot*
+    # if this is a single character match string  and the first character matches,
+    # short-circuit as quickly as possible, and avoid calling startswith
+    #~ @profile
+    def parseImpl( self, instring, loc, doActions=True ):
+        if (instring[loc] == self.firstMatchChar and
+            (self.matchLen==1 or instring.startswith(self.match,loc)) ):
+            return loc+self.matchLen, self.match
+        raise ParseException(instring, loc, self.errmsg, self)
+_L = Literal
+ParserElement._literalStringClass = Literal
+
+class Keyword(Token):
+    """
+    Token to exactly match a specified string as a keyword, that is, it must be
+    immediately followed by a non-keyword character.  Compare with C{L{Literal}}:
+     - C{Literal("if")} will match the leading C{'if'} in C{'ifAndOnlyIf'}.
+     - C{Keyword("if")} will not; it will only match the leading C{'if'} in C{'if x=1'}, or C{'if(y==2)'}
+    Accepts two optional constructor arguments in addition to the keyword string:
+     - C{identChars} is a string of characters that would be valid identifier characters,
+          defaulting to all alphanumerics + "_" and "$"
+     - C{caseless} allows case-insensitive matching, default is C{False}.
+       
+    Example::
+        Keyword("start").parseString("start")  # -> ['start']
+        Keyword("start").parseString("starting")  # -> Exception
+
+    For case-insensitive matching, use L{CaselessKeyword}.
+    """
+    DEFAULT_KEYWORD_CHARS = alphanums+"_$"
+
+    def __init__( self, matchString, identChars=None, caseless=False ):
+        super(Keyword,self).__init__()
+        if identChars is None:
+            identChars = Keyword.DEFAULT_KEYWORD_CHARS
+        self.match = matchString
+        self.matchLen = len(matchString)
+        try:
+            self.firstMatchChar = matchString[0]
+        except IndexError:
+            warnings.warn("null string passed to Keyword; use Empty() instead",
+                            SyntaxWarning, stacklevel=2)
+        self.name = '"%s"' % self.match
+        self.errmsg = "Expected " + self.name
+        self.mayReturnEmpty = False
+        self.mayIndexError = False
+        self.caseless = caseless
+        if caseless:
+            self.caselessmatch = matchString.upper()
+            identChars = identChars.upper()
+        self.identChars = set(identChars)
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if self.caseless:
+            if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and
+                 (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) and
+                 (loc == 0 or instring[loc-1].upper() not in self.identChars) ):
+                return loc+self.matchLen, self.match
+        else:
+            if (instring[loc] == self.firstMatchChar and
+                (self.matchLen==1 or instring.startswith(self.match,loc)) and
+                (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen] not in self.identChars) and
+                (loc == 0 or instring[loc-1] not in self.identChars) ):
+                return loc+self.matchLen, self.match
+        raise ParseException(instring, loc, self.errmsg, self)
+
+    def copy(self):
+        c = super(Keyword,self).copy()
+        c.identChars = Keyword.DEFAULT_KEYWORD_CHARS
+        return c
+
+    @staticmethod
+    def setDefaultKeywordChars( chars ):
+        """Overrides the default Keyword chars
+        """
+        Keyword.DEFAULT_KEYWORD_CHARS = chars
+
+class CaselessLiteral(Literal):
+    """
+    Token to match a specified string, ignoring case of letters.
+    Note: the matched results will always be in the case of the given
+    match string, NOT the case of the input text.
+
+    Example::
+        OneOrMore(CaselessLiteral("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD', 'CMD']
+        
+    (Contrast with example for L{CaselessKeyword}.)
+    """
+    def __init__( self, matchString ):
+        super(CaselessLiteral,self).__init__( matchString.upper() )
+        # Preserve the defining literal.
+        self.returnString = matchString
+        self.name = "'%s'" % self.returnString
+        self.errmsg = "Expected " + self.name
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if instring[ loc:loc+self.matchLen ].upper() == self.match:
+            return loc+self.matchLen, self.returnString
+        raise ParseException(instring, loc, self.errmsg, self)
+
+class CaselessKeyword(Keyword):
+    """
+    Caseless version of L{Keyword}.
+
+    Example::
+        OneOrMore(CaselessKeyword("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD']
+        
+    (Contrast with example for L{CaselessLiteral}.)
+    """
+    def __init__( self, matchString, identChars=None ):
+        super(CaselessKeyword,self).__init__( matchString, identChars, caseless=True )
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and
+             (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) ):
+            return loc+self.matchLen, self.match
+        raise ParseException(instring, loc, self.errmsg, self)
+
+class CloseMatch(Token):
+    """
+    A variation on L{Literal} which matches "close" matches, that is, 
+    strings with at most 'n' mismatching characters. C{CloseMatch} takes parameters:
+     - C{match_string} - string to be matched
+     - C{maxMismatches} - (C{default=1}) maximum number of mismatches allowed to count as a match
+    
+    The results from a successful parse will contain the matched text from the input string and the following named results:
+     - C{mismatches} - a list of the positions within the match_string where mismatches were found
+     - C{original} - the original match_string used to compare against the input string
+    
+    If C{mismatches} is an empty list, then the match was an exact match.
+    
+    Example::
+        patt = CloseMatch("ATCATCGAATGGA")
+        patt.parseString("ATCATCGAAXGGA") # -> (['ATCATCGAAXGGA'], {'mismatches': [[9]], 'original': ['ATCATCGAATGGA']})
+        patt.parseString("ATCAXCGAAXGGA") # -> Exception: Expected 'ATCATCGAATGGA' (with up to 1 mismatches) (at char 0), (line:1, col:1)
+
+        # exact match
+        patt.parseString("ATCATCGAATGGA") # -> (['ATCATCGAATGGA'], {'mismatches': [[]], 'original': ['ATCATCGAATGGA']})
+
+        # close match allowing up to 2 mismatches
+        patt = CloseMatch("ATCATCGAATGGA", maxMismatches=2)
+        patt.parseString("ATCAXCGAAXGGA") # -> (['ATCAXCGAAXGGA'], {'mismatches': [[4, 9]], 'original': ['ATCATCGAATGGA']})
+    """
+    def __init__(self, match_string, maxMismatches=1):
+        super(CloseMatch,self).__init__()
+        self.name = match_string
+        self.match_string = match_string
+        self.maxMismatches = maxMismatches
+        self.errmsg = "Expected %r (with up to %d mismatches)" % (self.match_string, self.maxMismatches)
+        self.mayIndexError = False
+        self.mayReturnEmpty = False
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        start = loc
+        instrlen = len(instring)
+        maxloc = start + len(self.match_string)
+
+        if maxloc <= instrlen:
+            match_string = self.match_string
+            match_stringloc = 0
+            mismatches = []
+            maxMismatches = self.maxMismatches
+
+            for match_stringloc,s_m in enumerate(zip(instring[loc:maxloc], self.match_string)):
+                src,mat = s_m
+                if src != mat:
+                    mismatches.append(match_stringloc)
+                    if len(mismatches) > maxMismatches:
+                        break
+            else:
+                loc = match_stringloc + 1
+                results = ParseResults([instring[start:loc]])
+                results['original'] = self.match_string
+                results['mismatches'] = mismatches
+                return loc, results
+
+        raise ParseException(instring, loc, self.errmsg, self)
+
+
+class Word(Token):
+    """
+    Token for matching words composed of allowed character sets.
+    Defined with string containing all allowed initial characters,
+    an optional string containing allowed body characters (if omitted,
+    defaults to the initial character set), and an optional minimum,
+    maximum, and/or exact length.  The default value for C{min} is 1 (a
+    minimum value < 1 is not valid); the default values for C{max} and C{exact}
+    are 0, meaning no maximum or exact length restriction. An optional
+    C{excludeChars} parameter can list characters that might be found in 
+    the input C{bodyChars} string; useful to define a word of all printables
+    except for one or two characters, for instance.
+    
+    L{srange} is useful for defining custom character set strings for defining 
+    C{Word} expressions, using range notation from regular expression character sets.
+    
+    A common mistake is to use C{Word} to match a specific literal string, as in 
+    C{Word("Address")}. Remember that C{Word} uses the string argument to define
+    I{sets} of matchable characters. This expression would match "Add", "AAA",
+    "dAred", or any other word made up of the characters 'A', 'd', 'r', 'e', and 's'.
+    To match an exact literal string, use L{Literal} or L{Keyword}.
+
+    pyparsing includes helper strings for building Words:
+     - L{alphas}
+     - L{nums}
+     - L{alphanums}
+     - L{hexnums}
+     - L{alphas8bit} (alphabetic characters in ASCII range 128-255 - accented, tilded, umlauted, etc.)
+     - L{punc8bit} (non-alphabetic characters in ASCII range 128-255 - currency, symbols, superscripts, diacriticals, etc.)
+     - L{printables} (any non-whitespace character)
+
+    Example::
+        # a word composed of digits
+        integer = Word(nums) # equivalent to Word("0123456789") or Word(srange("0-9"))
+        
+        # a word with a leading capital, and zero or more lowercase
+        capital_word = Word(alphas.upper(), alphas.lower())
+
+        # hostnames are alphanumeric, with leading alpha, and '-'
+        hostname = Word(alphas, alphanums+'-')
+        
+        # roman numeral (not a strict parser, accepts invalid mix of characters)
+        roman = Word("IVXLCDM")
+        
+        # any string of non-whitespace characters, except for ','
+        csv_value = Word(printables, excludeChars=",")
+    """
+    def __init__( self, initChars, bodyChars=None, min=1, max=0, exact=0, asKeyword=False, excludeChars=None ):
+        super(Word,self).__init__()
+        if excludeChars:
+            initChars = ''.join(c for c in initChars if c not in excludeChars)
+            if bodyChars:
+                bodyChars = ''.join(c for c in bodyChars if c not in excludeChars)
+        self.initCharsOrig = initChars
+        self.initChars = set(initChars)
+        if bodyChars :
+            self.bodyCharsOrig = bodyChars
+            self.bodyChars = set(bodyChars)
+        else:
+            self.bodyCharsOrig = initChars
+            self.bodyChars = set(initChars)
+
+        self.maxSpecified = max > 0
+
+        if min < 1:
+            raise ValueError("cannot specify a minimum length < 1; use Optional(Word()) if zero-length word is permitted")
+
+        self.minLen = min
+
+        if max > 0:
+            self.maxLen = max
+        else:
+            self.maxLen = _MAX_INT
+
+        if exact > 0:
+            self.maxLen = exact
+            self.minLen = exact
+
+        self.name = _ustr(self)
+        self.errmsg = "Expected " + self.name
+        self.mayIndexError = False
+        self.asKeyword = asKeyword
+
+        if ' ' not in self.initCharsOrig+self.bodyCharsOrig and (min==1 and max==0 and exact==0):
+            if self.bodyCharsOrig == self.initCharsOrig:
+                self.reString = "[%s]+" % _escapeRegexRangeChars(self.initCharsOrig)
+            elif len(self.initCharsOrig) == 1:
+                self.reString = "%s[%s]*" % \
+                                      (re.escape(self.initCharsOrig),
+                                      _escapeRegexRangeChars(self.bodyCharsOrig),)
+            else:
+                self.reString = "[%s][%s]*" % \
+                                      (_escapeRegexRangeChars(self.initCharsOrig),
+                                      _escapeRegexRangeChars(self.bodyCharsOrig),)
+            if self.asKeyword:
+                self.reString = r"\b"+self.reString+r"\b"
+            try:
+                self.re = re.compile( self.reString )
+            except Exception:
+                self.re = None
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if self.re:
+            result = self.re.match(instring,loc)
+            if not result:
+                raise ParseException(instring, loc, self.errmsg, self)
+
+            loc = result.end()
+            return loc, result.group()
+
+        if not(instring[ loc ] in self.initChars):
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        start = loc
+        loc += 1
+        instrlen = len(instring)
+        bodychars = self.bodyChars
+        maxloc = start + self.maxLen
+        maxloc = min( maxloc, instrlen )
+        while loc < maxloc and instring[loc] in bodychars:
+            loc += 1
+
+        throwException = False
+        if loc - start < self.minLen:
+            throwException = True
+        if self.maxSpecified and loc < instrlen and instring[loc] in bodychars:
+            throwException = True
+        if self.asKeyword:
+            if (start>0 and instring[start-1] in bodychars) or (loc<instrlen and instring[loc] in bodychars):
+                throwException = True
+
+        if throwException:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        return loc, instring[start:loc]
+
+    def __str__( self ):
+        try:
+            return super(Word,self).__str__()
+        except Exception:
+            pass
+
+
+        if self.strRepr is None:
+
+            def charsAsStr(s):
+                if len(s)>4:
+                    return s[:4]+"..."
+                else:
+                    return s
+
+            if ( self.initCharsOrig != self.bodyCharsOrig ):
+                self.strRepr = "W:(%s,%s)" % ( charsAsStr(self.initCharsOrig), charsAsStr(self.bodyCharsOrig) )
+            else:
+                self.strRepr = "W:(%s)" % charsAsStr(self.initCharsOrig)
+
+        return self.strRepr
+
+
+class Regex(Token):
+    r"""
+    Token for matching strings that match a given regular expression.
+    Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module.
+    If the given regex contains named groups (defined using C{(?P<name>...)}), these will be preserved as 
+    named parse results.
+
+    Example::
+        realnum = Regex(r"[+-]?\d+\.\d*")
+        date = Regex(r'(?P<year>\d{4})-(?P<month>\d\d?)-(?P<day>\d\d?)')
+        # ref: http://stackoverflow.com/questions/267399/how-do-you-match-only-valid-roman-numerals-with-a-regular-expression
+        roman = Regex(r"M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})")
+    """
+    compiledREtype = type(re.compile("[A-Z]"))
+    def __init__( self, pattern, flags=0):
+        """The parameters C{pattern} and C{flags} are passed to the C{re.compile()} function as-is. See the Python C{re} module for an explanation of the acceptable patterns and flags."""
+        super(Regex,self).__init__()
+
+        if isinstance(pattern, basestring):
+            if not pattern:
+                warnings.warn("null string passed to Regex; use Empty() instead",
+                        SyntaxWarning, stacklevel=2)
+
+            self.pattern = pattern
+            self.flags = flags
+
+            try:
+                self.re = re.compile(self.pattern, self.flags)
+                self.reString = self.pattern
+            except sre_constants.error:
+                warnings.warn("invalid pattern (%s) passed to Regex" % pattern,
+                    SyntaxWarning, stacklevel=2)
+                raise
+
+        elif isinstance(pattern, Regex.compiledREtype):
+            self.re = pattern
+            self.pattern = \
+            self.reString = str(pattern)
+            self.flags = flags
+            
+        else:
+            raise ValueError("Regex may only be constructed with a string or a compiled RE object")
+
+        self.name = _ustr(self)
+        self.errmsg = "Expected " + self.name
+        self.mayIndexError = False
+        self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        result = self.re.match(instring,loc)
+        if not result:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        loc = result.end()
+        d = result.groupdict()
+        ret = ParseResults(result.group())
+        if d:
+            for k in d:
+                ret[k] = d[k]
+        return loc,ret
+
+    def __str__( self ):
+        try:
+            return super(Regex,self).__str__()
+        except Exception:
+            pass
+
+        if self.strRepr is None:
+            self.strRepr = "Re:(%s)" % repr(self.pattern)
+
+        return self.strRepr
+
+
+class QuotedString(Token):
+    r"""
+    Token for matching strings that are delimited by quoting characters.
+    
+    Defined with the following parameters:
+        - quoteChar - string of one or more characters defining the quote delimiting string
+        - escChar - character to escape quotes, typically backslash (default=C{None})
+        - escQuote - special quote sequence to escape an embedded quote string (such as SQL's "" to escape an embedded ") (default=C{None})
+        - multiline - boolean indicating whether quotes can span multiple lines (default=C{False})
+        - unquoteResults - boolean indicating whether the matched text should be unquoted (default=C{True})
+        - endQuoteChar - string of one or more characters defining the end of the quote delimited string (default=C{None} => same as quoteChar)
+        - convertWhitespaceEscapes - convert escaped whitespace (C{'\t'}, C{'\n'}, etc.) to actual whitespace (default=C{True})
+
+    Example::
+        qs = QuotedString('"')
+        print(qs.searchString('lsjdf "This is the quote" sldjf'))
+        complex_qs = QuotedString('{{', endQuoteChar='}}')
+        print(complex_qs.searchString('lsjdf {{This is the "quote"}} sldjf'))
+        sql_qs = QuotedString('"', escQuote='""')
+        print(sql_qs.searchString('lsjdf "This is the quote with ""embedded"" quotes" sldjf'))
+    prints::
+        [['This is the quote']]
+        [['This is the "quote"']]
+        [['This is the quote with "embedded" quotes']]
+    """
+    def __init__( self, quoteChar, escChar=None, escQuote=None, multiline=False, unquoteResults=True, endQuoteChar=None, convertWhitespaceEscapes=True):
+        super(QuotedString,self).__init__()
+
+        # remove white space from quote chars - wont work anyway
+        quoteChar = quoteChar.strip()
+        if not quoteChar:
+            warnings.warn("quoteChar cannot be the empty string",SyntaxWarning,stacklevel=2)
+            raise SyntaxError()
+
+        if endQuoteChar is None:
+            endQuoteChar = quoteChar
+        else:
+            endQuoteChar = endQuoteChar.strip()
+            if not endQuoteChar:
+                warnings.warn("endQuoteChar cannot be the empty string",SyntaxWarning,stacklevel=2)
+                raise SyntaxError()
+
+        self.quoteChar = quoteChar
+        self.quoteCharLen = len(quoteChar)
+        self.firstQuoteChar = quoteChar[0]
+        self.endQuoteChar = endQuoteChar
+        self.endQuoteCharLen = len(endQuoteChar)
+        self.escChar = escChar
+        self.escQuote = escQuote
+        self.unquoteResults = unquoteResults
+        self.convertWhitespaceEscapes = convertWhitespaceEscapes
+
+        if multiline:
+            self.flags = re.MULTILINE | re.DOTALL
+            self.pattern = r'%s(?:[^%s%s]' % \
+                ( re.escape(self.quoteChar),
+                  _escapeRegexRangeChars(self.endQuoteChar[0]),
+                  (escChar is not None and _escapeRegexRangeChars(escChar) or '') )
+        else:
+            self.flags = 0
+            self.pattern = r'%s(?:[^%s\n\r%s]' % \
+                ( re.escape(self.quoteChar),
+                  _escapeRegexRangeChars(self.endQuoteChar[0]),
+                  (escChar is not None and _escapeRegexRangeChars(escChar) or '') )
+        if len(self.endQuoteChar) > 1:
+            self.pattern += (
+                '|(?:' + ')|(?:'.join("%s[^%s]" % (re.escape(self.endQuoteChar[:i]),
+                                               _escapeRegexRangeChars(self.endQuoteChar[i]))
+                                    for i in range(len(self.endQuoteChar)-1,0,-1)) + ')'
+                )
+        if escQuote:
+            self.pattern += (r'|(?:%s)' % re.escape(escQuote))
+        if escChar:
+            self.pattern += (r'|(?:%s.)' % re.escape(escChar))
+            self.escCharReplacePattern = re.escape(self.escChar)+"(.)"
+        self.pattern += (r')*%s' % re.escape(self.endQuoteChar))
+
+        try:
+            self.re = re.compile(self.pattern, self.flags)
+            self.reString = self.pattern
+        except sre_constants.error:
+            warnings.warn("invalid pattern (%s) passed to Regex" % self.pattern,
+                SyntaxWarning, stacklevel=2)
+            raise
+
+        self.name = _ustr(self)
+        self.errmsg = "Expected " + self.name
+        self.mayIndexError = False
+        self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        result = instring[loc] == self.firstQuoteChar and self.re.match(instring,loc) or None
+        if not result:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        loc = result.end()
+        ret = result.group()
+
+        if self.unquoteResults:
+
+            # strip off quotes
+            ret = ret[self.quoteCharLen:-self.endQuoteCharLen]
+
+            if isinstance(ret,basestring):
+                # replace escaped whitespace
+                if '\\' in ret and self.convertWhitespaceEscapes:
+                    ws_map = {
+                        r'\t' : '\t',
+                        r'\n' : '\n',
+                        r'\f' : '\f',
+                        r'\r' : '\r',
+                    }
+                    for wslit,wschar in ws_map.items():
+                        ret = ret.replace(wslit, wschar)
+
+                # replace escaped characters
+                if self.escChar:
+                    ret = re.sub(self.escCharReplacePattern, r"\g<1>", ret)
+
+                # replace escaped quotes
+                if self.escQuote:
+                    ret = ret.replace(self.escQuote, self.endQuoteChar)
+
+        return loc, ret
+
+    def __str__( self ):
+        try:
+            return super(QuotedString,self).__str__()
+        except Exception:
+            pass
+
+        if self.strRepr is None:
+            self.strRepr = "quoted string, starting with %s ending with %s" % (self.quoteChar, self.endQuoteChar)
+
+        return self.strRepr
+
+
+class CharsNotIn(Token):
+    """
+    Token for matching words composed of characters I{not} in a given set (will
+    include whitespace in matched characters if not listed in the provided exclusion set - see example).
+    Defined with string containing all disallowed characters, and an optional
+    minimum, maximum, and/or exact length.  The default value for C{min} is 1 (a
+    minimum value < 1 is not valid); the default values for C{max} and C{exact}
+    are 0, meaning no maximum or exact length restriction.
+
+    Example::
+        # define a comma-separated-value as anything that is not a ','
+        csv_value = CharsNotIn(',')
+        print(delimitedList(csv_value).parseString("dkls,lsdkjf,s12 34,@!#,213"))
+    prints::
+        ['dkls', 'lsdkjf', 's12 34', '@!#', '213']
+    """
+    def __init__( self, notChars, min=1, max=0, exact=0 ):
+        super(CharsNotIn,self).__init__()
+        self.skipWhitespace = False
+        self.notChars = notChars
+
+        if min < 1:
+            raise ValueError("cannot specify a minimum length < 1; use Optional(CharsNotIn()) if zero-length char group is permitted")
+
+        self.minLen = min
+
+        if max > 0:
+            self.maxLen = max
+        else:
+            self.maxLen = _MAX_INT
+
+        if exact > 0:
+            self.maxLen = exact
+            self.minLen = exact
+
+        self.name = _ustr(self)
+        self.errmsg = "Expected " + self.name
+        self.mayReturnEmpty = ( self.minLen == 0 )
+        self.mayIndexError = False
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if instring[loc] in self.notChars:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        start = loc
+        loc += 1
+        notchars = self.notChars
+        maxlen = min( start+self.maxLen, len(instring) )
+        while loc < maxlen and \
+              (instring[loc] not in notchars):
+            loc += 1
+
+        if loc - start < self.minLen:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        return loc, instring[start:loc]
+
+    def __str__( self ):
+        try:
+            return super(CharsNotIn, self).__str__()
+        except Exception:
+            pass
+
+        if self.strRepr is None:
+            if len(self.notChars) > 4:
+                self.strRepr = "!W:(%s...)" % self.notChars[:4]
+            else:
+                self.strRepr = "!W:(%s)" % self.notChars
+
+        return self.strRepr
+
+class White(Token):
+    """
+    Special matching class for matching whitespace.  Normally, whitespace is ignored
+    by pyparsing grammars.  This class is included when some whitespace structures
+    are significant.  Define with a string containing the whitespace characters to be
+    matched; default is C{" \\t\\r\\n"}.  Also takes optional C{min}, C{max}, and C{exact} arguments,
+    as defined for the C{L{Word}} class.
+    """
+    whiteStrs = {
+        " " : "<SPC>",
+        "\t": "<TAB>",
+        "\n": "<LF>",
+        "\r": "<CR>",
+        "\f": "<FF>",
+        }
+    def __init__(self, ws=" \t\r\n", min=1, max=0, exact=0):
+        super(White,self).__init__()
+        self.matchWhite = ws
+        self.setWhitespaceChars( "".join(c for c in self.whiteChars if c not in self.matchWhite) )
+        #~ self.leaveWhitespace()
+        self.name = ("".join(White.whiteStrs[c] for c in self.matchWhite))
+        self.mayReturnEmpty = True
+        self.errmsg = "Expected " + self.name
+
+        self.minLen = min
+
+        if max > 0:
+            self.maxLen = max
+        else:
+            self.maxLen = _MAX_INT
+
+        if exact > 0:
+            self.maxLen = exact
+            self.minLen = exact
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if not(instring[ loc ] in self.matchWhite):
+            raise ParseException(instring, loc, self.errmsg, self)
+        start = loc
+        loc += 1
+        maxloc = start + self.maxLen
+        maxloc = min( maxloc, len(instring) )
+        while loc < maxloc and instring[loc] in self.matchWhite:
+            loc += 1
+
+        if loc - start < self.minLen:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        return loc, instring[start:loc]
+
+
+class _PositionToken(Token):
+    def __init__( self ):
+        super(_PositionToken,self).__init__()
+        self.name=self.__class__.__name__
+        self.mayReturnEmpty = True
+        self.mayIndexError = False
+
+class GoToColumn(_PositionToken):
+    """
+    Token to advance to a specific column of input text; useful for tabular report scraping.
+    """
+    def __init__( self, colno ):
+        super(GoToColumn,self).__init__()
+        self.col = colno
+
+    def preParse( self, instring, loc ):
+        if col(loc,instring) != self.col:
+            instrlen = len(instring)
+            if self.ignoreExprs:
+                loc = self._skipIgnorables( instring, loc )
+            while loc < instrlen and instring[loc].isspace() and col( loc, instring ) != self.col :
+                loc += 1
+        return loc
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        thiscol = col( loc, instring )
+        if thiscol > self.col:
+            raise ParseException( instring, loc, "Text not in expected column", self )
+        newloc = loc + self.col - thiscol
+        ret = instring[ loc: newloc ]
+        return newloc, ret
+
+
+class LineStart(_PositionToken):
+    """
+    Matches if current position is at the beginning of a line within the parse string
+    
+    Example::
+    
+        test = '''\
+        AAA this line
+        AAA and this line
+          AAA but not this one
+        B AAA and definitely not this one
+        '''
+
+        for t in (LineStart() + 'AAA' + restOfLine).searchString(test):
+            print(t)
+    
+    Prints::
+        ['AAA', ' this line']
+        ['AAA', ' and this line']    
+
+    """
+    def __init__( self ):
+        super(LineStart,self).__init__()
+        self.errmsg = "Expected start of line"
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if col(loc, instring) == 1:
+            return loc, []
+        raise ParseException(instring, loc, self.errmsg, self)
+
+class LineEnd(_PositionToken):
+    """
+    Matches if current position is at the end of a line within the parse string
+    """
+    def __init__( self ):
+        super(LineEnd,self).__init__()
+        self.setWhitespaceChars( ParserElement.DEFAULT_WHITE_CHARS.replace("\n","") )
+        self.errmsg = "Expected end of line"
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if loc<len(instring):
+            if instring[loc] == "\n":
+                return loc+1, "\n"
+            else:
+                raise ParseException(instring, loc, self.errmsg, self)
+        elif loc == len(instring):
+            return loc+1, []
+        else:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+class StringStart(_PositionToken):
+    """
+    Matches if current position is at the beginning of the parse string
+    """
+    def __init__( self ):
+        super(StringStart,self).__init__()
+        self.errmsg = "Expected start of text"
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if loc != 0:
+            # see if entire string up to here is just whitespace and ignoreables
+            if loc != self.preParse( instring, 0 ):
+                raise ParseException(instring, loc, self.errmsg, self)
+        return loc, []
+
+class StringEnd(_PositionToken):
+    """
+    Matches if current position is at the end of the parse string
+    """
+    def __init__( self ):
+        super(StringEnd,self).__init__()
+        self.errmsg = "Expected end of text"
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if loc < len(instring):
+            raise ParseException(instring, loc, self.errmsg, self)
+        elif loc == len(instring):
+            return loc+1, []
+        elif loc > len(instring):
+            return loc, []
+        else:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+class WordStart(_PositionToken):
+    """
+    Matches if the current position is at the beginning of a Word, and
+    is not preceded by any character in a given set of C{wordChars}
+    (default=C{printables}). To emulate the C{\b} behavior of regular expressions,
+    use C{WordStart(alphanums)}. C{WordStart} will also match at the beginning of
+    the string being parsed, or at the beginning of a line.
+    """
+    def __init__(self, wordChars = printables):
+        super(WordStart,self).__init__()
+        self.wordChars = set(wordChars)
+        self.errmsg = "Not at the start of a word"
+
+    def parseImpl(self, instring, loc, doActions=True ):
+        if loc != 0:
+            if (instring[loc-1] in self.wordChars or
+                instring[loc] not in self.wordChars):
+                raise ParseException(instring, loc, self.errmsg, self)
+        return loc, []
+
+class WordEnd(_PositionToken):
+    """
+    Matches if the current position is at the end of a Word, and
+    is not followed by any character in a given set of C{wordChars}
+    (default=C{printables}). To emulate the C{\b} behavior of regular expressions,
+    use C{WordEnd(alphanums)}. C{WordEnd} will also match at the end of
+    the string being parsed, or at the end of a line.
+    """
+    def __init__(self, wordChars = printables):
+        super(WordEnd,self).__init__()
+        self.wordChars = set(wordChars)
+        self.skipWhitespace = False
+        self.errmsg = "Not at the end of a word"
+
+    def parseImpl(self, instring, loc, doActions=True ):
+        instrlen = len(instring)
+        if instrlen>0 and loc<instrlen:
+            if (instring[loc] in self.wordChars or
+                instring[loc-1] not in self.wordChars):
+                raise ParseException(instring, loc, self.errmsg, self)
+        return loc, []
+
+
+class ParseExpression(ParserElement):
+    """
+    Abstract subclass of ParserElement, for combining and post-processing parsed tokens.
+    """
+    def __init__( self, exprs, savelist = False ):
+        super(ParseExpression,self).__init__(savelist)
+        if isinstance( exprs, _generatorType ):
+            exprs = list(exprs)
+
+        if isinstance( exprs, basestring ):
+            self.exprs = [ ParserElement._literalStringClass( exprs ) ]
+        elif isinstance( exprs, Iterable ):
+            exprs = list(exprs)
+            # if sequence of strings provided, wrap with Literal
+            if all(isinstance(expr, basestring) for expr in exprs):
+                exprs = map(ParserElement._literalStringClass, exprs)
+            self.exprs = list(exprs)
+        else:
+            try:
+                self.exprs = list( exprs )
+            except TypeError:
+                self.exprs = [ exprs ]
+        self.callPreparse = False
+
+    def __getitem__( self, i ):
+        return self.exprs[i]
+
+    def append( self, other ):
+        self.exprs.append( other )
+        self.strRepr = None
+        return self
+
+    def leaveWhitespace( self ):
+        """Extends C{leaveWhitespace} defined in base class, and also invokes C{leaveWhitespace} on
+           all contained expressions."""
+        self.skipWhitespace = False
+        self.exprs = [ e.copy() for e in self.exprs ]
+        for e in self.exprs:
+            e.leaveWhitespace()
+        return self
+
+    def ignore( self, other ):
+        if isinstance( other, Suppress ):
+            if other not in self.ignoreExprs:
+                super( ParseExpression, self).ignore( other )
+                for e in self.exprs:
+                    e.ignore( self.ignoreExprs[-1] )
+        else:
+            super( ParseExpression, self).ignore( other )
+            for e in self.exprs:
+                e.ignore( self.ignoreExprs[-1] )
+        return self
+
+    def __str__( self ):
+        try:
+            return super(ParseExpression,self).__str__()
+        except Exception:
+            pass
+
+        if self.strRepr is None:
+            self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.exprs) )
+        return self.strRepr
+
+    def streamline( self ):
+        super(ParseExpression,self).streamline()
+
+        for e in self.exprs:
+            e.streamline()
+
+        # collapse nested And's of the form And( And( And( a,b), c), d) to And( a,b,c,d )
+        # but only if there are no parse actions or resultsNames on the nested And's
+        # (likewise for Or's and MatchFirst's)
+        if ( len(self.exprs) == 2 ):
+            other = self.exprs[0]
+            if ( isinstance( other, self.__class__ ) and
+                  not(other.parseAction) and
+                  other.resultsName is None and
+                  not other.debug ):
+                self.exprs = other.exprs[:] + [ self.exprs[1] ]
+                self.strRepr = None
+                self.mayReturnEmpty |= other.mayReturnEmpty
+                self.mayIndexError  |= other.mayIndexError
+
+            other = self.exprs[-1]
+            if ( isinstance( other, self.__class__ ) and
+                  not(other.parseAction) and
+                  other.resultsName is None and
+                  not other.debug ):
+                self.exprs = self.exprs[:-1] + other.exprs[:]
+                self.strRepr = None
+                self.mayReturnEmpty |= other.mayReturnEmpty
+                self.mayIndexError  |= other.mayIndexError
+
+        self.errmsg = "Expected " + _ustr(self)
+        
+        return self
+
+    def setResultsName( self, name, listAllMatches=False ):
+        ret = super(ParseExpression,self).setResultsName(name,listAllMatches)
+        return ret
+
+    def validate( self, validateTrace=[] ):
+        tmp = validateTrace[:]+[self]
+        for e in self.exprs:
+            e.validate(tmp)
+        self.checkRecursion( [] )
+        
+    def copy(self):
+        ret = super(ParseExpression,self).copy()
+        ret.exprs = [e.copy() for e in self.exprs]
+        return ret
+
+class And(ParseExpression):
+    """
+    Requires all given C{ParseExpression}s to be found in the given order.
+    Expressions may be separated by whitespace.
+    May be constructed using the C{'+'} operator.
+    May also be constructed using the C{'-'} operator, which will suppress backtracking.
+
+    Example::
+        integer = Word(nums)
+        name_expr = OneOrMore(Word(alphas))
+
+        expr = And([integer("id"),name_expr("name"),integer("age")])
+        # more easily written as:
+        expr = integer("id") + name_expr("name") + integer("age")
+    """
+
+    class _ErrorStop(Empty):
+        def __init__(self, *args, **kwargs):
+            super(And._ErrorStop,self).__init__(*args, **kwargs)
+            self.name = '-'
+            self.leaveWhitespace()
+
+    def __init__( self, exprs, savelist = True ):
+        super(And,self).__init__(exprs, savelist)
+        self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs)
+        self.setWhitespaceChars( self.exprs[0].whiteChars )
+        self.skipWhitespace = self.exprs[0].skipWhitespace
+        self.callPreparse = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        # pass False as last arg to _parse for first element, since we already
+        # pre-parsed the string as part of our And pre-parsing
+        loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False )
+        errorStop = False
+        for e in self.exprs[1:]:
+            if isinstance(e, And._ErrorStop):
+                errorStop = True
+                continue
+            if errorStop:
+                try:
+                    loc, exprtokens = e._parse( instring, loc, doActions )
+                except ParseSyntaxException:
+                    raise
+                except ParseBaseException as pe:
+                    pe.__traceback__ = None
+                    raise ParseSyntaxException._from_exception(pe)
+                except IndexError:
+                    raise ParseSyntaxException(instring, len(instring), self.errmsg, self)
+            else:
+                loc, exprtokens = e._parse( instring, loc, doActions )
+            if exprtokens or exprtokens.haskeys():
+                resultlist += exprtokens
+        return loc, resultlist
+
+    def __iadd__(self, other ):
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        return self.append( other ) #And( [ self, other ] )
+
+    def checkRecursion( self, parseElementList ):
+        subRecCheckList = parseElementList[:] + [ self ]
+        for e in self.exprs:
+            e.checkRecursion( subRecCheckList )
+            if not e.mayReturnEmpty:
+                break
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "{" + " ".join(_ustr(e) for e in self.exprs) + "}"
+
+        return self.strRepr
+
+
+class Or(ParseExpression):
+    """
+    Requires that at least one C{ParseExpression} is found.
+    If two expressions match, the expression that matches the longest string will be used.
+    May be constructed using the C{'^'} operator.
+
+    Example::
+        # construct Or using '^' operator
+        
+        number = Word(nums) ^ Combine(Word(nums) + '.' + Word(nums))
+        print(number.searchString("123 3.1416 789"))
+    prints::
+        [['123'], ['3.1416'], ['789']]
+    """
+    def __init__( self, exprs, savelist = False ):
+        super(Or,self).__init__(exprs, savelist)
+        if self.exprs:
+            self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs)
+        else:
+            self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        maxExcLoc = -1
+        maxException = None
+        matches = []
+        for e in self.exprs:
+            try:
+                loc2 = e.tryParse( instring, loc )
+            except ParseException as err:
+                err.__traceback__ = None
+                if err.loc > maxExcLoc:
+                    maxException = err
+                    maxExcLoc = err.loc
+            except IndexError:
+                if len(instring) > maxExcLoc:
+                    maxException = ParseException(instring,len(instring),e.errmsg,self)
+                    maxExcLoc = len(instring)
+            else:
+                # save match among all matches, to retry longest to shortest
+                matches.append((loc2, e))
+
+        if matches:
+            matches.sort(key=lambda x: -x[0])
+            for _,e in matches:
+                try:
+                    return e._parse( instring, loc, doActions )
+                except ParseException as err:
+                    err.__traceback__ = None
+                    if err.loc > maxExcLoc:
+                        maxException = err
+                        maxExcLoc = err.loc
+
+        if maxException is not None:
+            maxException.msg = self.errmsg
+            raise maxException
+        else:
+            raise ParseException(instring, loc, "no defined alternatives to match", self)
+
+
+    def __ixor__(self, other ):
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        return self.append( other ) #Or( [ self, other ] )
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "{" + " ^ ".join(_ustr(e) for e in self.exprs) + "}"
+
+        return self.strRepr
+
+    def checkRecursion( self, parseElementList ):
+        subRecCheckList = parseElementList[:] + [ self ]
+        for e in self.exprs:
+            e.checkRecursion( subRecCheckList )
+
+
+class MatchFirst(ParseExpression):
+    """
+    Requires that at least one C{ParseExpression} is found.
+    If two expressions match, the first one listed is the one that will match.
+    May be constructed using the C{'|'} operator.
+
+    Example::
+        # construct MatchFirst using '|' operator
+        
+        # watch the order of expressions to match
+        number = Word(nums) | Combine(Word(nums) + '.' + Word(nums))
+        print(number.searchString("123 3.1416 789")) #  Fail! -> [['123'], ['3'], ['1416'], ['789']]
+
+        # put more selective expression first
+        number = Combine(Word(nums) + '.' + Word(nums)) | Word(nums)
+        print(number.searchString("123 3.1416 789")) #  Better -> [['123'], ['3.1416'], ['789']]
+    """
+    def __init__( self, exprs, savelist = False ):
+        super(MatchFirst,self).__init__(exprs, savelist)
+        if self.exprs:
+            self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs)
+        else:
+            self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        maxExcLoc = -1
+        maxException = None
+        for e in self.exprs:
+            try:
+                ret = e._parse( instring, loc, doActions )
+                return ret
+            except ParseException as err:
+                if err.loc > maxExcLoc:
+                    maxException = err
+                    maxExcLoc = err.loc
+            except IndexError:
+                if len(instring) > maxExcLoc:
+                    maxException = ParseException(instring,len(instring),e.errmsg,self)
+                    maxExcLoc = len(instring)
+
+        # only got here if no expression matched, raise exception for match that made it the furthest
+        else:
+            if maxException is not None:
+                maxException.msg = self.errmsg
+                raise maxException
+            else:
+                raise ParseException(instring, loc, "no defined alternatives to match", self)
+
+    def __ior__(self, other ):
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        return self.append( other ) #MatchFirst( [ self, other ] )
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "{" + " | ".join(_ustr(e) for e in self.exprs) + "}"
+
+        return self.strRepr
+
+    def checkRecursion( self, parseElementList ):
+        subRecCheckList = parseElementList[:] + [ self ]
+        for e in self.exprs:
+            e.checkRecursion( subRecCheckList )
+
+
+class Each(ParseExpression):
+    """
+    Requires all given C{ParseExpression}s to be found, but in any order.
+    Expressions may be separated by whitespace.
+    May be constructed using the C{'&'} operator.
+
+    Example::
+        color = oneOf("RED ORANGE YELLOW GREEN BLUE PURPLE BLACK WHITE BROWN")
+        shape_type = oneOf("SQUARE CIRCLE TRIANGLE STAR HEXAGON OCTAGON")
+        integer = Word(nums)
+        shape_attr = "shape:" + shape_type("shape")
+        posn_attr = "posn:" + Group(integer("x") + ',' + integer("y"))("posn")
+        color_attr = "color:" + color("color")
+        size_attr = "size:" + integer("size")
+
+        # use Each (using operator '&') to accept attributes in any order 
+        # (shape and posn are required, color and size are optional)
+        shape_spec = shape_attr & posn_attr & Optional(color_attr) & Optional(size_attr)
+
+        shape_spec.runTests('''
+            shape: SQUARE color: BLACK posn: 100, 120
+            shape: CIRCLE size: 50 color: BLUE posn: 50,80
+            color:GREEN size:20 shape:TRIANGLE posn:20,40
+            '''
+            )
+    prints::
+        shape: SQUARE color: BLACK posn: 100, 120
+        ['shape:', 'SQUARE', 'color:', 'BLACK', 'posn:', ['100', ',', '120']]
+        - color: BLACK
+        - posn: ['100', ',', '120']
+          - x: 100
+          - y: 120
+        - shape: SQUARE
+
+
+        shape: CIRCLE size: 50 color: BLUE posn: 50,80
+        ['shape:', 'CIRCLE', 'size:', '50', 'color:', 'BLUE', 'posn:', ['50', ',', '80']]
+        - color: BLUE
+        - posn: ['50', ',', '80']
+          - x: 50
+          - y: 80
+        - shape: CIRCLE
+        - size: 50
+
+
+        color: GREEN size: 20 shape: TRIANGLE posn: 20,40
+        ['color:', 'GREEN', 'size:', '20', 'shape:', 'TRIANGLE', 'posn:', ['20', ',', '40']]
+        - color: GREEN
+        - posn: ['20', ',', '40']
+          - x: 20
+          - y: 40
+        - shape: TRIANGLE
+        - size: 20
+    """
+    def __init__( self, exprs, savelist = True ):
+        super(Each,self).__init__(exprs, savelist)
+        self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs)
+        self.skipWhitespace = True
+        self.initExprGroups = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if self.initExprGroups:
+            self.opt1map = dict((id(e.expr),e) for e in self.exprs if isinstance(e,Optional))
+            opt1 = [ e.expr for e in self.exprs if isinstance(e,Optional) ]
+            opt2 = [ e for e in self.exprs if e.mayReturnEmpty and not isinstance(e,Optional)]
+            self.optionals = opt1 + opt2
+            self.multioptionals = [ e.expr for e in self.exprs if isinstance(e,ZeroOrMore) ]
+            self.multirequired = [ e.expr for e in self.exprs if isinstance(e,OneOrMore) ]
+            self.required = [ e for e in self.exprs if not isinstance(e,(Optional,ZeroOrMore,OneOrMore)) ]
+            self.required += self.multirequired
+            self.initExprGroups = False
+        tmpLoc = loc
+        tmpReqd = self.required[:]
+        tmpOpt  = self.optionals[:]
+        matchOrder = []
+
+        keepMatching = True
+        while keepMatching:
+            tmpExprs = tmpReqd + tmpOpt + self.multioptionals + self.multirequired
+            failed = []
+            for e in tmpExprs:
+                try:
+                    tmpLoc = e.tryParse( instring, tmpLoc )
+                except ParseException:
+                    failed.append(e)
+                else:
+                    matchOrder.append(self.opt1map.get(id(e),e))
+                    if e in tmpReqd:
+                        tmpReqd.remove(e)
+                    elif e in tmpOpt:
+                        tmpOpt.remove(e)
+            if len(failed) == len(tmpExprs):
+                keepMatching = False
+
+        if tmpReqd:
+            missing = ", ".join(_ustr(e) for e in tmpReqd)
+            raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing )
+
+        # add any unmatched Optionals, in case they have default values defined
+        matchOrder += [e for e in self.exprs if isinstance(e,Optional) and e.expr in tmpOpt]
+
+        resultlist = []
+        for e in matchOrder:
+            loc,results = e._parse(instring,loc,doActions)
+            resultlist.append(results)
+
+        finalResults = sum(resultlist, ParseResults([]))
+        return loc, finalResults
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "{" + " & ".join(_ustr(e) for e in self.exprs) + "}"
+
+        return self.strRepr
+
+    def checkRecursion( self, parseElementList ):
+        subRecCheckList = parseElementList[:] + [ self ]
+        for e in self.exprs:
+            e.checkRecursion( subRecCheckList )
+
+
+class ParseElementEnhance(ParserElement):
+    """
+    Abstract subclass of C{ParserElement}, for combining and post-processing parsed tokens.
+    """
+    def __init__( self, expr, savelist=False ):
+        super(ParseElementEnhance,self).__init__(savelist)
+        if isinstance( expr, basestring ):
+            if issubclass(ParserElement._literalStringClass, Token):
+                expr = ParserElement._literalStringClass(expr)
+            else:
+                expr = ParserElement._literalStringClass(Literal(expr))
+        self.expr = expr
+        self.strRepr = None
+        if expr is not None:
+            self.mayIndexError = expr.mayIndexError
+            self.mayReturnEmpty = expr.mayReturnEmpty
+            self.setWhitespaceChars( expr.whiteChars )
+            self.skipWhitespace = expr.skipWhitespace
+            self.saveAsList = expr.saveAsList
+            self.callPreparse = expr.callPreparse
+            self.ignoreExprs.extend(expr.ignoreExprs)
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if self.expr is not None:
+            return self.expr._parse( instring, loc, doActions, callPreParse=False )
+        else:
+            raise ParseException("",loc,self.errmsg,self)
+
+    def leaveWhitespace( self ):
+        self.skipWhitespace = False
+        self.expr = self.expr.copy()
+        if self.expr is not None:
+            self.expr.leaveWhitespace()
+        return self
+
+    def ignore( self, other ):
+        if isinstance( other, Suppress ):
+            if other not in self.ignoreExprs:
+                super( ParseElementEnhance, self).ignore( other )
+                if self.expr is not None:
+                    self.expr.ignore( self.ignoreExprs[-1] )
+        else:
+            super( ParseElementEnhance, self).ignore( other )
+            if self.expr is not None:
+                self.expr.ignore( self.ignoreExprs[-1] )
+        return self
+
+    def streamline( self ):
+        super(ParseElementEnhance,self).streamline()
+        if self.expr is not None:
+            self.expr.streamline()
+        return self
+
+    def checkRecursion( self, parseElementList ):
+        if self in parseElementList:
+            raise RecursiveGrammarException( parseElementList+[self] )
+        subRecCheckList = parseElementList[:] + [ self ]
+        if self.expr is not None:
+            self.expr.checkRecursion( subRecCheckList )
+
+    def validate( self, validateTrace=[] ):
+        tmp = validateTrace[:]+[self]
+        if self.expr is not None:
+            self.expr.validate(tmp)
+        self.checkRecursion( [] )
+
+    def __str__( self ):
+        try:
+            return super(ParseElementEnhance,self).__str__()
+        except Exception:
+            pass
+
+        if self.strRepr is None and self.expr is not None:
+            self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.expr) )
+        return self.strRepr
+
+
+class FollowedBy(ParseElementEnhance):
+    """
+    Lookahead matching of the given parse expression.  C{FollowedBy}
+    does I{not} advance the parsing position within the input string, it only
+    verifies that the specified parse expression matches at the current
+    position.  C{FollowedBy} always returns a null token list.
+
+    Example::
+        # use FollowedBy to match a label only if it is followed by a ':'
+        data_word = Word(alphas)
+        label = data_word + FollowedBy(':')
+        attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join))
+        
+        OneOrMore(attr_expr).parseString("shape: SQUARE color: BLACK posn: upper left").pprint()
+    prints::
+        [['shape', 'SQUARE'], ['color', 'BLACK'], ['posn', 'upper left']]
+    """
+    def __init__( self, expr ):
+        super(FollowedBy,self).__init__(expr)
+        self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        self.expr.tryParse( instring, loc )
+        return loc, []
+
+
+class NotAny(ParseElementEnhance):
+    """
+    Lookahead to disallow matching with the given parse expression.  C{NotAny}
+    does I{not} advance the parsing position within the input string, it only
+    verifies that the specified parse expression does I{not} match at the current
+    position.  Also, C{NotAny} does I{not} skip over leading whitespace. C{NotAny}
+    always returns a null token list.  May be constructed using the '~' operator.
+
+    Example::
+        
+    """
+    def __init__( self, expr ):
+        super(NotAny,self).__init__(expr)
+        #~ self.leaveWhitespace()
+        self.skipWhitespace = False  # do NOT use self.leaveWhitespace(), don't want to propagate to exprs
+        self.mayReturnEmpty = True
+        self.errmsg = "Found unwanted token, "+_ustr(self.expr)
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if self.expr.canParseNext(instring, loc):
+            raise ParseException(instring, loc, self.errmsg, self)
+        return loc, []
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "~{" + _ustr(self.expr) + "}"
+
+        return self.strRepr
+
+class _MultipleMatch(ParseElementEnhance):
+    def __init__( self, expr, stopOn=None):
+        super(_MultipleMatch, self).__init__(expr)
+        self.saveAsList = True
+        ender = stopOn
+        if isinstance(ender, basestring):
+            ender = ParserElement._literalStringClass(ender)
+        self.not_ender = ~ender if ender is not None else None
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        self_expr_parse = self.expr._parse
+        self_skip_ignorables = self._skipIgnorables
+        check_ender = self.not_ender is not None
+        if check_ender:
+            try_not_ender = self.not_ender.tryParse
+        
+        # must be at least one (but first see if we are the stopOn sentinel;
+        # if so, fail)
+        if check_ender:
+            try_not_ender(instring, loc)
+        loc, tokens = self_expr_parse( instring, loc, doActions, callPreParse=False )
+        try:
+            hasIgnoreExprs = (not not self.ignoreExprs)
+            while 1:
+                if check_ender:
+                    try_not_ender(instring, loc)
+                if hasIgnoreExprs:
+                    preloc = self_skip_ignorables( instring, loc )
+                else:
+                    preloc = loc
+                loc, tmptokens = self_expr_parse( instring, preloc, doActions )
+                if tmptokens or tmptokens.haskeys():
+                    tokens += tmptokens
+        except (ParseException,IndexError):
+            pass
+
+        return loc, tokens
+        
+class OneOrMore(_MultipleMatch):
+    """
+    Repetition of one or more of the given expression.
+    
+    Parameters:
+     - expr - expression that must match one or more times
+     - stopOn - (default=C{None}) - expression for a terminating sentinel
+          (only required if the sentinel would ordinarily match the repetition 
+          expression)          
+
+    Example::
+        data_word = Word(alphas)
+        label = data_word + FollowedBy(':')
+        attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join))
+
+        text = "shape: SQUARE posn: upper left color: BLACK"
+        OneOrMore(attr_expr).parseString(text).pprint()  # Fail! read 'color' as data instead of next label -> [['shape', 'SQUARE color']]
+
+        # use stopOn attribute for OneOrMore to avoid reading label string as part of the data
+        attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join))
+        OneOrMore(attr_expr).parseString(text).pprint() # Better -> [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'BLACK']]
+        
+        # could also be written as
+        (attr_expr * (1,)).parseString(text).pprint()
+    """
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "{" + _ustr(self.expr) + "}..."
+
+        return self.strRepr
+
+class ZeroOrMore(_MultipleMatch):
+    """
+    Optional repetition of zero or more of the given expression.
+    
+    Parameters:
+     - expr - expression that must match zero or more times
+     - stopOn - (default=C{None}) - expression for a terminating sentinel
+          (only required if the sentinel would ordinarily match the repetition 
+          expression)          
+
+    Example: similar to L{OneOrMore}
+    """
+    def __init__( self, expr, stopOn=None):
+        super(ZeroOrMore,self).__init__(expr, stopOn=stopOn)
+        self.mayReturnEmpty = True
+        
+    def parseImpl( self, instring, loc, doActions=True ):
+        try:
+            return super(ZeroOrMore, self).parseImpl(instring, loc, doActions)
+        except (ParseException,IndexError):
+            return loc, []
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "[" + _ustr(self.expr) + "]..."
+
+        return self.strRepr
+
+class _NullToken(object):
+    def __bool__(self):
+        return False
+    __nonzero__ = __bool__
+    def __str__(self):
+        return ""
+
+_optionalNotMatched = _NullToken()
+class Optional(ParseElementEnhance):
+    """
+    Optional matching of the given expression.
+
+    Parameters:
+     - expr - expression that must match zero or more times
+     - default (optional) - value to be returned if the optional expression is not found.
+
+    Example::
+        # US postal code can be a 5-digit zip, plus optional 4-digit qualifier
+        zip = Combine(Word(nums, exact=5) + Optional('-' + Word(nums, exact=4)))
+        zip.runTests('''
+            # traditional ZIP code
+            12345
+            
+            # ZIP+4 form
+            12101-0001
+            
+            # invalid ZIP
+            98765-
+            ''')
+    prints::
+        # traditional ZIP code
+        12345
+        ['12345']
+
+        # ZIP+4 form
+        12101-0001
+        ['12101-0001']
+
+        # invalid ZIP
+        98765-
+             ^
+        FAIL: Expected end of text (at char 5), (line:1, col:6)
+    """
+    def __init__( self, expr, default=_optionalNotMatched ):
+        super(Optional,self).__init__( expr, savelist=False )
+        self.saveAsList = self.expr.saveAsList
+        self.defaultValue = default
+        self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        try:
+            loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False )
+        except (ParseException,IndexError):
+            if self.defaultValue is not _optionalNotMatched:
+                if self.expr.resultsName:
+                    tokens = ParseResults([ self.defaultValue ])
+                    tokens[self.expr.resultsName] = self.defaultValue
+                else:
+                    tokens = [ self.defaultValue ]
+            else:
+                tokens = []
+        return loc, tokens
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "[" + _ustr(self.expr) + "]"
+
+        return self.strRepr
+
+class SkipTo(ParseElementEnhance):
+    """
+    Token for skipping over all undefined text until the matched expression is found.
+
+    Parameters:
+     - expr - target expression marking the end of the data to be skipped
+     - include - (default=C{False}) if True, the target expression is also parsed 
+          (the skipped text and target expression are returned as a 2-element list).
+     - ignore - (default=C{None}) used to define grammars (typically quoted strings and 
+          comments) that might contain false matches to the target expression
+     - failOn - (default=C{None}) define expressions that are not allowed to be 
+          included in the skipped test; if found before the target expression is found, 
+          the SkipTo is not a match
+
+    Example::
+        report = '''
+            Outstanding Issues Report - 1 Jan 2000
+
+               # | Severity | Description                               |  Days Open
+            -----+----------+-------------------------------------------+-----------
+             101 | Critical | Intermittent system crash                 |          6
+              94 | Cosmetic | Spelling error on Login ('log|n')         |         14
+              79 | Minor    | System slow when running too many reports |         47
+            '''
+        integer = Word(nums)
+        SEP = Suppress('|')
+        # use SkipTo to simply match everything up until the next SEP
+        # - ignore quoted strings, so that a '|' character inside a quoted string does not match
+        # - parse action will call token.strip() for each matched token, i.e., the description body
+        string_data = SkipTo(SEP, ignore=quotedString)
+        string_data.setParseAction(tokenMap(str.strip))
+        ticket_expr = (integer("issue_num") + SEP 
+                      + string_data("sev") + SEP 
+                      + string_data("desc") + SEP 
+                      + integer("days_open"))
+        
+        for tkt in ticket_expr.searchString(report):
+            print tkt.dump()
+    prints::
+        ['101', 'Critical', 'Intermittent system crash', '6']
+        - days_open: 6
+        - desc: Intermittent system crash
+        - issue_num: 101
+        - sev: Critical
+        ['94', 'Cosmetic', "Spelling error on Login ('log|n')", '14']
+        - days_open: 14
+        - desc: Spelling error on Login ('log|n')
+        - issue_num: 94
+        - sev: Cosmetic
+        ['79', 'Minor', 'System slow when running too many reports', '47']
+        - days_open: 47
+        - desc: System slow when running too many reports
+        - issue_num: 79
+        - sev: Minor
+    """
+    def __init__( self, other, include=False, ignore=None, failOn=None ):
+        super( SkipTo, self ).__init__( other )
+        self.ignoreExpr = ignore
+        self.mayReturnEmpty = True
+        self.mayIndexError = False
+        self.includeMatch = include
+        self.asList = False
+        if isinstance(failOn, basestring):
+            self.failOn = ParserElement._literalStringClass(failOn)
+        else:
+            self.failOn = failOn
+        self.errmsg = "No match found for "+_ustr(self.expr)
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        startloc = loc
+        instrlen = len(instring)
+        expr = self.expr
+        expr_parse = self.expr._parse
+        self_failOn_canParseNext = self.failOn.canParseNext if self.failOn is not None else None
+        self_ignoreExpr_tryParse = self.ignoreExpr.tryParse if self.ignoreExpr is not None else None
+        
+        tmploc = loc
+        while tmploc <= instrlen:
+            if self_failOn_canParseNext is not None:
+                # break if failOn expression matches
+                if self_failOn_canParseNext(instring, tmploc):
+                    break
+                    
+            if self_ignoreExpr_tryParse is not None:
+                # advance past ignore expressions
+                while 1:
+                    try:
+                        tmploc = self_ignoreExpr_tryParse(instring, tmploc)
+                    except ParseBaseException:
+                        break
+            
+            try:
+                expr_parse(instring, tmploc, doActions=False, callPreParse=False)
+            except (ParseException, IndexError):
+                # no match, advance loc in string
+                tmploc += 1
+            else:
+                # matched skipto expr, done
+                break
+
+        else:
+            # ran off the end of the input string without matching skipto expr, fail
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        # build up return values
+        loc = tmploc
+        skiptext = instring[startloc:loc]
+        skipresult = ParseResults(skiptext)
+        
+        if self.includeMatch:
+            loc, mat = expr_parse(instring,loc,doActions,callPreParse=False)
+            skipresult += mat
+
+        return loc, skipresult
+
+class Forward(ParseElementEnhance):
+    """
+    Forward declaration of an expression to be defined later -
+    used for recursive grammars, such as algebraic infix notation.
+    When the expression is known, it is assigned to the C{Forward} variable using the '<<' operator.
+
+    Note: take care when assigning to C{Forward} not to overlook precedence of operators.
+    Specifically, '|' has a lower precedence than '<<', so that::
+        fwdExpr << a | b | c
+    will actually be evaluated as::
+        (fwdExpr << a) | b | c
+    thereby leaving b and c out as parseable alternatives.  It is recommended that you
+    explicitly group the values inserted into the C{Forward}::
+        fwdExpr << (a | b | c)
+    Converting to use the '<<=' operator instead will avoid this problem.
+
+    See L{ParseResults.pprint} for an example of a recursive parser created using
+    C{Forward}.
+    """
+    def __init__( self, other=None ):
+        super(Forward,self).__init__( other, savelist=False )
+
+    def __lshift__( self, other ):
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass(other)
+        self.expr = other
+        self.strRepr = None
+        self.mayIndexError = self.expr.mayIndexError
+        self.mayReturnEmpty = self.expr.mayReturnEmpty
+        self.setWhitespaceChars( self.expr.whiteChars )
+        self.skipWhitespace = self.expr.skipWhitespace
+        self.saveAsList = self.expr.saveAsList
+        self.ignoreExprs.extend(self.expr.ignoreExprs)
+        return self
+        
+    def __ilshift__(self, other):
+        return self << other
+    
+    def leaveWhitespace( self ):
+        self.skipWhitespace = False
+        return self
+
+    def streamline( self ):
+        if not self.streamlined:
+            self.streamlined = True
+            if self.expr is not None:
+                self.expr.streamline()
+        return self
+
+    def validate( self, validateTrace=[] ):
+        if self not in validateTrace:
+            tmp = validateTrace[:]+[self]
+            if self.expr is not None:
+                self.expr.validate(tmp)
+        self.checkRecursion([])
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+        return self.__class__.__name__ + ": ..."
+
+        # stubbed out for now - creates awful memory and perf issues
+        self._revertClass = self.__class__
+        self.__class__ = _ForwardNoRecurse
+        try:
+            if self.expr is not None:
+                retString = _ustr(self.expr)
+            else:
+                retString = "None"
+        finally:
+            self.__class__ = self._revertClass
+        return self.__class__.__name__ + ": " + retString
+
+    def copy(self):
+        if self.expr is not None:
+            return super(Forward,self).copy()
+        else:
+            ret = Forward()
+            ret <<= self
+            return ret
+
+class _ForwardNoRecurse(Forward):
+    def __str__( self ):
+        return "..."
+
+class TokenConverter(ParseElementEnhance):
+    """
+    Abstract subclass of C{ParseExpression}, for converting parsed results.
+    """
+    def __init__( self, expr, savelist=False ):
+        super(TokenConverter,self).__init__( expr )#, savelist )
+        self.saveAsList = False
+
+class Combine(TokenConverter):
+    """
+    Converter to concatenate all matching tokens to a single string.
+    By default, the matching patterns must also be contiguous in the input string;
+    this can be disabled by specifying C{'adjacent=False'} in the constructor.
+
+    Example::
+        real = Word(nums) + '.' + Word(nums)
+        print(real.parseString('3.1416')) # -> ['3', '.', '1416']
+        # will also erroneously match the following
+        print(real.parseString('3. 1416')) # -> ['3', '.', '1416']
+
+        real = Combine(Word(nums) + '.' + Word(nums))
+        print(real.parseString('3.1416')) # -> ['3.1416']
+        # no match when there are internal spaces
+        print(real.parseString('3. 1416')) # -> Exception: Expected W:(0123...)
+    """
+    def __init__( self, expr, joinString="", adjacent=True ):
+        super(Combine,self).__init__( expr )
+        # suppress whitespace-stripping in contained parse expressions, but re-enable it on the Combine itself
+        if adjacent:
+            self.leaveWhitespace()
+        self.adjacent = adjacent
+        self.skipWhitespace = True
+        self.joinString = joinString
+        self.callPreparse = True
+
+    def ignore( self, other ):
+        if self.adjacent:
+            ParserElement.ignore(self, other)
+        else:
+            super( Combine, self).ignore( other )
+        return self
+
+    def postParse( self, instring, loc, tokenlist ):
+        retToks = tokenlist.copy()
+        del retToks[:]
+        retToks += ParseResults([ "".join(tokenlist._asStringList(self.joinString)) ], modal=self.modalResults)
+
+        if self.resultsName and retToks.haskeys():
+            return [ retToks ]
+        else:
+            return retToks
+
+class Group(TokenConverter):
+    """
+    Converter to return the matched tokens as a list - useful for returning tokens of C{L{ZeroOrMore}} and C{L{OneOrMore}} expressions.
+
+    Example::
+        ident = Word(alphas)
+        num = Word(nums)
+        term = ident | num
+        func = ident + Optional(delimitedList(term))
+        print(func.parseString("fn a,b,100"))  # -> ['fn', 'a', 'b', '100']
+
+        func = ident + Group(Optional(delimitedList(term)))
+        print(func.parseString("fn a,b,100"))  # -> ['fn', ['a', 'b', '100']]
+    """
+    def __init__( self, expr ):
+        super(Group,self).__init__( expr )
+        self.saveAsList = True
+
+    def postParse( self, instring, loc, tokenlist ):
+        return [ tokenlist ]
+
+class Dict(TokenConverter):
+    """
+    Converter to return a repetitive expression as a list, but also as a dictionary.
+    Each element can also be referenced using the first token in the expression as its key.
+    Useful for tabular report scraping when the first column can be used as a item key.
+
+    Example::
+        data_word = Word(alphas)
+        label = data_word + FollowedBy(':')
+        attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join))
+
+        text = "shape: SQUARE posn: upper left color: light blue texture: burlap"
+        attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join))
+        
+        # print attributes as plain groups
+        print(OneOrMore(attr_expr).parseString(text).dump())
+        
+        # instead of OneOrMore(expr), parse using Dict(OneOrMore(Group(expr))) - Dict will auto-assign names
+        result = Dict(OneOrMore(Group(attr_expr))).parseString(text)
+        print(result.dump())
+        
+        # access named fields as dict entries, or output as dict
+        print(result['shape'])        
+        print(result.asDict())
+    prints::
+        ['shape', 'SQUARE', 'posn', 'upper left', 'color', 'light blue', 'texture', 'burlap']
+
+        [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']]
+        - color: light blue
+        - posn: upper left
+        - shape: SQUARE
+        - texture: burlap
+        SQUARE
+        {'color': 'light blue', 'posn': 'upper left', 'texture': 'burlap', 'shape': 'SQUARE'}
+    See more examples at L{ParseResults} of accessing fields by results name.
+    """
+    def __init__( self, expr ):
+        super(Dict,self).__init__( expr )
+        self.saveAsList = True
+
+    def postParse( self, instring, loc, tokenlist ):
+        for i,tok in enumerate(tokenlist):
+            if len(tok) == 0:
+                continue
+            ikey = tok[0]
+            if isinstance(ikey,int):
+                ikey = _ustr(tok[0]).strip()
+            if len(tok)==1:
+                tokenlist[ikey] = _ParseResultsWithOffset("",i)
+            elif len(tok)==2 and not isinstance(tok[1],ParseResults):
+                tokenlist[ikey] = _ParseResultsWithOffset(tok[1],i)
+            else:
+                dictvalue = tok.copy() #ParseResults(i)
+                del dictvalue[0]
+                if len(dictvalue)!= 1 or (isinstance(dictvalue,ParseResults) and dictvalue.haskeys()):
+                    tokenlist[ikey] = _ParseResultsWithOffset(dictvalue,i)
+                else:
+                    tokenlist[ikey] = _ParseResultsWithOffset(dictvalue[0],i)
+
+        if self.resultsName:
+            return [ tokenlist ]
+        else:
+            return tokenlist
+
+
+class Suppress(TokenConverter):
+    """
+    Converter for ignoring the results of a parsed expression.
+
+    Example::
+        source = "a, b, c,d"
+        wd = Word(alphas)
+        wd_list1 = wd + ZeroOrMore(',' + wd)
+        print(wd_list1.parseString(source))
+
+        # often, delimiters that are useful during parsing are just in the
+        # way afterward - use Suppress to keep them out of the parsed output
+        wd_list2 = wd + ZeroOrMore(Suppress(',') + wd)
+        print(wd_list2.parseString(source))
+    prints::
+        ['a', ',', 'b', ',', 'c', ',', 'd']
+        ['a', 'b', 'c', 'd']
+    (See also L{delimitedList}.)
+    """
+    def postParse( self, instring, loc, tokenlist ):
+        return []
+
+    def suppress( self ):
+        return self
+
+
+class OnlyOnce(object):
+    """
+    Wrapper for parse actions, to ensure they are only called once.
+    """
+    def __init__(self, methodCall):
+        self.callable = _trim_arity(methodCall)
+        self.called = False
+    def __call__(self,s,l,t):
+        if not self.called:
+            results = self.callable(s,l,t)
+            self.called = True
+            return results
+        raise ParseException(s,l,"")
+    def reset(self):
+        self.called = False
+
+def traceParseAction(f):
+    """
+    Decorator for debugging parse actions. 
+    
+    When the parse action is called, this decorator will print C{">> entering I{method-name}(line:I{current_source_line}, I{parse_location}, I{matched_tokens})".}
+    When the parse action completes, the decorator will print C{"<<"} followed by the returned value, or any exception that the parse action raised.
+
+    Example::
+        wd = Word(alphas)
+
+        @traceParseAction
+        def remove_duplicate_chars(tokens):
+            return ''.join(sorted(set(''.join(tokens))))
+
+        wds = OneOrMore(wd).setParseAction(remove_duplicate_chars)
+        print(wds.parseString("slkdjs sld sldd sdlf sdljf"))
+    prints::
+        >>entering remove_duplicate_chars(line: 'slkdjs sld sldd sdlf sdljf', 0, (['slkdjs', 'sld', 'sldd', 'sdlf', 'sdljf'], {}))
+        <<leaving remove_duplicate_chars (ret: 'dfjkls')
+        ['dfjkls']
+    """
+    f = _trim_arity(f)
+    def z(*paArgs):
+        thisFunc = f.__name__
+        s,l,t = paArgs[-3:]
+        if len(paArgs)>3:
+            thisFunc = paArgs[0].__class__.__name__ + '.' + thisFunc
+        sys.stderr.write( ">>entering %s(line: '%s', %d, %r)\n" % (thisFunc,line(l,s),l,t) )
+        try:
+            ret = f(*paArgs)
+        except Exception as exc:
+            sys.stderr.write( "<<leaving %s (exception: %s)\n" % (thisFunc,exc) )
+            raise
+        sys.stderr.write( "<<leaving %s (ret: %r)\n" % (thisFunc,ret) )
+        return ret
+    try:
+        z.__name__ = f.__name__
+    except AttributeError:
+        pass
+    return z
+
+#
+# global helpers
+#
+def delimitedList( expr, delim=",", combine=False ):
+    """
+    Helper to define a delimited list of expressions - the delimiter defaults to ','.
+    By default, the list elements and delimiters can have intervening whitespace, and
+    comments, but this can be overridden by passing C{combine=True} in the constructor.
+    If C{combine} is set to C{True}, the matching tokens are returned as a single token
+    string, with the delimiters included; otherwise, the matching tokens are returned
+    as a list of tokens, with the delimiters suppressed.
+
+    Example::
+        delimitedList(Word(alphas)).parseString("aa,bb,cc") # -> ['aa', 'bb', 'cc']
+        delimitedList(Word(hexnums), delim=':', combine=True).parseString("AA:BB:CC:DD:EE") # -> ['AA:BB:CC:DD:EE']
+    """
+    dlName = _ustr(expr)+" ["+_ustr(delim)+" "+_ustr(expr)+"]..."
+    if combine:
+        return Combine( expr + ZeroOrMore( delim + expr ) ).setName(dlName)
+    else:
+        return ( expr + ZeroOrMore( Suppress( delim ) + expr ) ).setName(dlName)
+
+def countedArray( expr, intExpr=None ):
+    """
+    Helper to define a counted list of expressions.
+    This helper defines a pattern of the form::
+        integer expr expr expr...
+    where the leading integer tells how many expr expressions follow.
+    The matched tokens returns the array of expr tokens as a list - the leading count token is suppressed.
+    
+    If C{intExpr} is specified, it should be a pyparsing expression that produces an integer value.
+
+    Example::
+        countedArray(Word(alphas)).parseString('2 ab cd ef')  # -> ['ab', 'cd']
+
+        # in this parser, the leading integer value is given in binary,
+        # '10' indicating that 2 values are in the array
+        binaryConstant = Word('01').setParseAction(lambda t: int(t[0], 2))
+        countedArray(Word(alphas), intExpr=binaryConstant).parseString('10 ab cd ef')  # -> ['ab', 'cd']
+    """
+    arrayExpr = Forward()
+    def countFieldParseAction(s,l,t):
+        n = t[0]
+        arrayExpr << (n and Group(And([expr]*n)) or Group(empty))
+        return []
+    if intExpr is None:
+        intExpr = Word(nums).setParseAction(lambda t:int(t[0]))
+    else:
+        intExpr = intExpr.copy()
+    intExpr.setName("arrayLen")
+    intExpr.addParseAction(countFieldParseAction, callDuringTry=True)
+    return ( intExpr + arrayExpr ).setName('(len) ' + _ustr(expr) + '...')
+
+def _flatten(L):
+    ret = []
+    for i in L:
+        if isinstance(i,list):
+            ret.extend(_flatten(i))
+        else:
+            ret.append(i)
+    return ret
+
+def matchPreviousLiteral(expr):
+    """
+    Helper to define an expression that is indirectly defined from
+    the tokens matched in a previous expression, that is, it looks
+    for a 'repeat' of a previous expression.  For example::
+        first = Word(nums)
+        second = matchPreviousLiteral(first)
+        matchExpr = first + ":" + second
+    will match C{"1:1"}, but not C{"1:2"}.  Because this matches a
+    previous literal, will also match the leading C{"1:1"} in C{"1:10"}.
+    If this is not desired, use C{matchPreviousExpr}.
+    Do I{not} use with packrat parsing enabled.
+    """
+    rep = Forward()
+    def copyTokenToRepeater(s,l,t):
+        if t:
+            if len(t) == 1:
+                rep << t[0]
+            else:
+                # flatten t tokens
+                tflat = _flatten(t.asList())
+                rep << And(Literal(tt) for tt in tflat)
+        else:
+            rep << Empty()
+    expr.addParseAction(copyTokenToRepeater, callDuringTry=True)
+    rep.setName('(prev) ' + _ustr(expr))
+    return rep
+
+def matchPreviousExpr(expr):
+    """
+    Helper to define an expression that is indirectly defined from
+    the tokens matched in a previous expression, that is, it looks
+    for a 'repeat' of a previous expression.  For example::
+        first = Word(nums)
+        second = matchPreviousExpr(first)
+        matchExpr = first + ":" + second
+    will match C{"1:1"}, but not C{"1:2"}.  Because this matches by
+    expressions, will I{not} match the leading C{"1:1"} in C{"1:10"};
+    the expressions are evaluated first, and then compared, so
+    C{"1"} is compared with C{"10"}.
+    Do I{not} use with packrat parsing enabled.
+    """
+    rep = Forward()
+    e2 = expr.copy()
+    rep <<= e2
+    def copyTokenToRepeater(s,l,t):
+        matchTokens = _flatten(t.asList())
+        def mustMatchTheseTokens(s,l,t):
+            theseTokens = _flatten(t.asList())
+            if  theseTokens != matchTokens:
+                raise ParseException("",0,"")
+        rep.setParseAction( mustMatchTheseTokens, callDuringTry=True )
+    expr.addParseAction(copyTokenToRepeater, callDuringTry=True)
+    rep.setName('(prev) ' + _ustr(expr))
+    return rep
+
+def _escapeRegexRangeChars(s):
+    #~  escape these chars: ^-]
+    for c in r"\^-]":
+        s = s.replace(c,_bslash+c)
+    s = s.replace("\n",r"\n")
+    s = s.replace("\t",r"\t")
+    return _ustr(s)
+
+def oneOf( strs, caseless=False, useRegex=True ):
+    """
+    Helper to quickly define a set of alternative Literals, and makes sure to do
+    longest-first testing when there is a conflict, regardless of the input order,
+    but returns a C{L{MatchFirst}} for best performance.
+
+    Parameters:
+     - strs - a string of space-delimited literals, or a collection of string literals
+     - caseless - (default=C{False}) - treat all literals as caseless
+     - useRegex - (default=C{True}) - as an optimization, will generate a Regex
+          object; otherwise, will generate a C{MatchFirst} object (if C{caseless=True}, or
+          if creating a C{Regex} raises an exception)
+
+    Example::
+        comp_oper = oneOf("< = > <= >= !=")
+        var = Word(alphas)
+        number = Word(nums)
+        term = var | number
+        comparison_expr = term + comp_oper + term
+        print(comparison_expr.searchString("B = 12  AA=23 B<=AA AA>12"))
+    prints::
+        [['B', '=', '12'], ['AA', '=', '23'], ['B', '<=', 'AA'], ['AA', '>', '12']]
+    """
+    if caseless:
+        isequal = ( lambda a,b: a.upper() == b.upper() )
+        masks = ( lambda a,b: b.upper().startswith(a.upper()) )
+        parseElementClass = CaselessLiteral
+    else:
+        isequal = ( lambda a,b: a == b )
+        masks = ( lambda a,b: b.startswith(a) )
+        parseElementClass = Literal
+
+    symbols = []
+    if isinstance(strs,basestring):
+        symbols = strs.split()
+    elif isinstance(strs, Iterable):
+        symbols = list(strs)
+    else:
+        warnings.warn("Invalid argument to oneOf, expected string or iterable",
+                SyntaxWarning, stacklevel=2)
+    if not symbols:
+        return NoMatch()
+
+    i = 0
+    while i < len(symbols)-1:
+        cur = symbols[i]
+        for j,other in enumerate(symbols[i+1:]):
+            if ( isequal(other, cur) ):
+                del symbols[i+j+1]
+                break
+            elif ( masks(cur, other) ):
+                del symbols[i+j+1]
+                symbols.insert(i,other)
+                cur = other
+                break
+        else:
+            i += 1
+
+    if not caseless and useRegex:
+        #~ print (strs,"->", "|".join( [ _escapeRegexChars(sym) for sym in symbols] ))
+        try:
+            if len(symbols)==len("".join(symbols)):
+                return Regex( "[%s]" % "".join(_escapeRegexRangeChars(sym) for sym in symbols) ).setName(' | '.join(symbols))
+            else:
+                return Regex( "|".join(re.escape(sym) for sym in symbols) ).setName(' | '.join(symbols))
+        except Exception:
+            warnings.warn("Exception creating Regex for oneOf, building MatchFirst",
+                    SyntaxWarning, stacklevel=2)
+
+
+    # last resort, just use MatchFirst
+    return MatchFirst(parseElementClass(sym) for sym in symbols).setName(' | '.join(symbols))
+
+def dictOf( key, value ):
+    """
+    Helper to easily and clearly define a dictionary by specifying the respective patterns
+    for the key and value.  Takes care of defining the C{L{Dict}}, C{L{ZeroOrMore}}, and C{L{Group}} tokens
+    in the proper order.  The key pattern can include delimiting markers or punctuation,
+    as long as they are suppressed, thereby leaving the significant key text.  The value
+    pattern can include named results, so that the C{Dict} results can include named token
+    fields.
+
+    Example::
+        text = "shape: SQUARE posn: upper left color: light blue texture: burlap"
+        attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join))
+        print(OneOrMore(attr_expr).parseString(text).dump())
+        
+        attr_label = label
+        attr_value = Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)
+
+        # similar to Dict, but simpler call format
+        result = dictOf(attr_label, attr_value).parseString(text)
+        print(result.dump())
+        print(result['shape'])
+        print(result.shape)  # object attribute access works too
+        print(result.asDict())
+    prints::
+        [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']]
+        - color: light blue
+        - posn: upper left
+        - shape: SQUARE
+        - texture: burlap
+        SQUARE
+        SQUARE
+        {'color': 'light blue', 'shape': 'SQUARE', 'posn': 'upper left', 'texture': 'burlap'}
+    """
+    return Dict( ZeroOrMore( Group ( key + value ) ) )
+
+def originalTextFor(expr, asString=True):
+    """
+    Helper to return the original, untokenized text for a given expression.  Useful to
+    restore the parsed fields of an HTML start tag into the raw tag text itself, or to
+    revert separate tokens with intervening whitespace back to the original matching
+    input text. By default, returns astring containing the original parsed text.  
+       
+    If the optional C{asString} argument is passed as C{False}, then the return value is a 
+    C{L{ParseResults}} containing any results names that were originally matched, and a 
+    single token containing the original matched text from the input string.  So if 
+    the expression passed to C{L{originalTextFor}} contains expressions with defined
+    results names, you must set C{asString} to C{False} if you want to preserve those
+    results name values.
+
+    Example::
+        src = "this is test <b> bold <i>text</i> </b> normal text "
+        for tag in ("b","i"):
+            opener,closer = makeHTMLTags(tag)
+            patt = originalTextFor(opener + SkipTo(closer) + closer)
+            print(patt.searchString(src)[0])
+    prints::
+        ['<b> bold <i>text</i> </b>']
+        ['<i>text</i>']
+    """
+    locMarker = Empty().setParseAction(lambda s,loc,t: loc)
+    endlocMarker = locMarker.copy()
+    endlocMarker.callPreparse = False
+    matchExpr = locMarker("_original_start") + expr + endlocMarker("_original_end")
+    if asString:
+        extractText = lambda s,l,t: s[t._original_start:t._original_end]
+    else:
+        def extractText(s,l,t):
+            t[:] = [s[t.pop('_original_start'):t.pop('_original_end')]]
+    matchExpr.setParseAction(extractText)
+    matchExpr.ignoreExprs = expr.ignoreExprs
+    return matchExpr
+
+def ungroup(expr): 
+    """
+    Helper to undo pyparsing's default grouping of And expressions, even
+    if all but one are non-empty.
+    """
+    return TokenConverter(expr).setParseAction(lambda t:t[0])
+
+def locatedExpr(expr):
+    """
+    Helper to decorate a returned token with its starting and ending locations in the input string.
+    This helper adds the following results names:
+     - locn_start = location where matched expression begins
+     - locn_end = location where matched expression ends
+     - value = the actual parsed results
+
+    Be careful if the input text contains C{<TAB>} characters, you may want to call
+    C{L{ParserElement.parseWithTabs}}
+
+    Example::
+        wd = Word(alphas)
+        for match in locatedExpr(wd).searchString("ljsdf123lksdjjf123lkkjj1222"):
+            print(match)
+    prints::
+        [[0, 'ljsdf', 5]]
+        [[8, 'lksdjjf', 15]]
+        [[18, 'lkkjj', 23]]
+    """
+    locator = Empty().setParseAction(lambda s,l,t: l)
+    return Group(locator("locn_start") + expr("value") + locator.copy().leaveWhitespace()("locn_end"))
+
+
+# convenience constants for positional expressions
+empty       = Empty().setName("empty")
+lineStart   = LineStart().setName("lineStart")
+lineEnd     = LineEnd().setName("lineEnd")
+stringStart = StringStart().setName("stringStart")
+stringEnd   = StringEnd().setName("stringEnd")
+
+_escapedPunc = Word( _bslash, r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1])
+_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:unichr(int(t[0].lstrip(r'\0x'),16)))
+_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:unichr(int(t[0][1:],8)))
+_singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | CharsNotIn(r'\]', exact=1)
+_charRange = Group(_singleChar + Suppress("-") + _singleChar)
+_reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]"
+
+def srange(s):
+    r"""
+    Helper to easily define string ranges for use in Word construction.  Borrows
+    syntax from regexp '[]' string range definitions::
+        srange("[0-9]")   -> "0123456789"
+        srange("[a-z]")   -> "abcdefghijklmnopqrstuvwxyz"
+        srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_"
+    The input string must be enclosed in []'s, and the returned string is the expanded
+    character set joined into a single string.
+    The values enclosed in the []'s may be:
+     - a single character
+     - an escaped character with a leading backslash (such as C{\-} or C{\]})
+     - an escaped hex character with a leading C{'\x'} (C{\x21}, which is a C{'!'} character) 
+         (C{\0x##} is also supported for backwards compatibility) 
+     - an escaped octal character with a leading C{'\0'} (C{\041}, which is a C{'!'} character)
+     - a range of any of the above, separated by a dash (C{'a-z'}, etc.)
+     - any combination of the above (C{'aeiouy'}, C{'a-zA-Z0-9_$'}, etc.)
+    """
+    _expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(unichr(c) for c in range(ord(p[0]),ord(p[1])+1))
+    try:
+        return "".join(_expanded(part) for part in _reBracketExpr.parseString(s).body)
+    except Exception:
+        return ""
+
+def matchOnlyAtCol(n):
+    """
+    Helper method for defining parse actions that require matching at a specific
+    column in the input text.
+    """
+    def verifyCol(strg,locn,toks):
+        if col(locn,strg) != n:
+            raise ParseException(strg,locn,"matched token not at column %d" % n)
+    return verifyCol
+
+def replaceWith(replStr):
+    """
+    Helper method for common parse actions that simply return a literal value.  Especially
+    useful when used with C{L{transformString<ParserElement.transformString>}()}.
+
+    Example::
+        num = Word(nums).setParseAction(lambda toks: int(toks[0]))
+        na = oneOf("N/A NA").setParseAction(replaceWith(math.nan))
+        term = na | num
+        
+        OneOrMore(term).parseString("324 234 N/A 234") # -> [324, 234, nan, 234]
+    """
+    return lambda s,l,t: [replStr]
+
+def removeQuotes(s,l,t):
+    """
+    Helper parse action for removing quotation marks from parsed quoted strings.
+
+    Example::
+        # by default, quotation marks are included in parsed results
+        quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["'Now is the Winter of our Discontent'"]
+
+        # use removeQuotes to strip quotation marks from parsed results
+        quotedString.setParseAction(removeQuotes)
+        quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["Now is the Winter of our Discontent"]
+    """
+    return t[0][1:-1]
+
+def tokenMap(func, *args):
+    """
+    Helper to define a parse action by mapping a function to all elements of a ParseResults list.If any additional 
+    args are passed, they are forwarded to the given function as additional arguments after
+    the token, as in C{hex_integer = Word(hexnums).setParseAction(tokenMap(int, 16))}, which will convert the
+    parsed data to an integer using base 16.
+
+    Example (compare the last to example in L{ParserElement.transformString}::
+        hex_ints = OneOrMore(Word(hexnums)).setParseAction(tokenMap(int, 16))
+        hex_ints.runTests('''
+            00 11 22 aa FF 0a 0d 1a
+            ''')
+        
+        upperword = Word(alphas).setParseAction(tokenMap(str.upper))
+        OneOrMore(upperword).runTests('''
+            my kingdom for a horse
+            ''')
+
+        wd = Word(alphas).setParseAction(tokenMap(str.title))
+        OneOrMore(wd).setParseAction(' '.join).runTests('''
+            now is the winter of our discontent made glorious summer by this sun of york
+            ''')
+    prints::
+        00 11 22 aa FF 0a 0d 1a
+        [0, 17, 34, 170, 255, 10, 13, 26]
+
+        my kingdom for a horse
+        ['MY', 'KINGDOM', 'FOR', 'A', 'HORSE']
+
+        now is the winter of our discontent made glorious summer by this sun of york
+        ['Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York']
+    """
+    def pa(s,l,t):
+        return [func(tokn, *args) for tokn in t]
+
+    try:
+        func_name = getattr(func, '__name__', 
+                            getattr(func, '__class__').__name__)
+    except Exception:
+        func_name = str(func)
+    pa.__name__ = func_name
+
+    return pa
+
+upcaseTokens = tokenMap(lambda t: _ustr(t).upper())
+"""(Deprecated) Helper parse action to convert tokens to upper case. Deprecated in favor of L{pyparsing_common.upcaseTokens}"""
+
+downcaseTokens = tokenMap(lambda t: _ustr(t).lower())
+"""(Deprecated) Helper parse action to convert tokens to lower case. Deprecated in favor of L{pyparsing_common.downcaseTokens}"""
+    
+def _makeTags(tagStr, xml):
+    """Internal helper to construct opening and closing tag expressions, given a tag name"""
+    if isinstance(tagStr,basestring):
+        resname = tagStr
+        tagStr = Keyword(tagStr, caseless=not xml)
+    else:
+        resname = tagStr.name
+
+    tagAttrName = Word(alphas,alphanums+"_-:")
+    if (xml):
+        tagAttrValue = dblQuotedString.copy().setParseAction( removeQuotes )
+        openTag = Suppress("<") + tagStr("tag") + \
+                Dict(ZeroOrMore(Group( tagAttrName + Suppress("=") + tagAttrValue ))) + \
+                Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">")
+    else:
+        printablesLessRAbrack = "".join(c for c in printables if c not in ">")
+        tagAttrValue = quotedString.copy().setParseAction( removeQuotes ) | Word(printablesLessRAbrack)
+        openTag = Suppress("<") + tagStr("tag") + \
+                Dict(ZeroOrMore(Group( tagAttrName.setParseAction(downcaseTokens) + \
+                Optional( Suppress("=") + tagAttrValue ) ))) + \
+                Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">")
+    closeTag = Combine(_L("</") + tagStr + ">")
+
+    openTag = openTag.setResultsName("start"+"".join(resname.replace(":"," ").title().split())).setName("<%s>" % resname)
+    closeTag = closeTag.setResultsName("end"+"".join(resname.replace(":"," ").title().split())).setName("</%s>" % resname)
+    openTag.tag = resname
+    closeTag.tag = resname
+    return openTag, closeTag
+
+def makeHTMLTags(tagStr):
+    """
+    Helper to construct opening and closing tag expressions for HTML, given a tag name. Matches
+    tags in either upper or lower case, attributes with namespaces and with quoted or unquoted values.
+
+    Example::
+        text = '<td>More info at the <a href="http://pyparsing.wikispaces.com">pyparsing</a> wiki page</td>'
+        # makeHTMLTags returns pyparsing expressions for the opening and closing tags as a 2-tuple
+        a,a_end = makeHTMLTags("A")
+        link_expr = a + SkipTo(a_end)("link_text") + a_end
+        
+        for link in link_expr.searchString(text):
+            # attributes in the <A> tag (like "href" shown here) are also accessible as named results
+            print(link.link_text, '->', link.href)
+    prints::
+        pyparsing -> http://pyparsing.wikispaces.com
+    """
+    return _makeTags( tagStr, False )
+
+def makeXMLTags(tagStr):
+    """
+    Helper to construct opening and closing tag expressions for XML, given a tag name. Matches
+    tags only in the given upper/lower case.
+
+    Example: similar to L{makeHTMLTags}
+    """
+    return _makeTags( tagStr, True )
+
+def withAttribute(*args,**attrDict):
+    """
+    Helper to create a validating parse action to be used with start tags created
+    with C{L{makeXMLTags}} or C{L{makeHTMLTags}}. Use C{withAttribute} to qualify a starting tag
+    with a required attribute value, to avoid false matches on common tags such as
+    C{<TD>} or C{<DIV>}.
+
+    Call C{withAttribute} with a series of attribute names and values. Specify the list
+    of filter attributes names and values as:
+     - keyword arguments, as in C{(align="right")}, or
+     - as an explicit dict with C{**} operator, when an attribute name is also a Python
+          reserved word, as in C{**{"class":"Customer", "align":"right"}}
+     - a list of name-value tuples, as in ( ("ns1:class", "Customer"), ("ns2:align","right") )
+    For attribute names with a namespace prefix, you must use the second form.  Attribute
+    names are matched insensitive to upper/lower case.
+       
+    If just testing for C{class} (with or without a namespace), use C{L{withClass}}.
+
+    To verify that the attribute exists, but without specifying a value, pass
+    C{withAttribute.ANY_VALUE} as the value.
+
+    Example::
+        html = '''
+            <div>
+            Some text
+            <div type="grid">1 4 0 1 0</div>
+            <div type="graph">1,3 2,3 1,1</div>
+            <div>this has no type</div>
+            </div>
+                
+        '''
+        div,div_end = makeHTMLTags("div")
+
+        # only match div tag having a type attribute with value "grid"
+        div_grid = div().setParseAction(withAttribute(type="grid"))
+        grid_expr = div_grid + SkipTo(div | div_end)("body")
+        for grid_header in grid_expr.searchString(html):
+            print(grid_header.body)
+        
+        # construct a match with any div tag having a type attribute, regardless of the value
+        div_any_type = div().setParseAction(withAttribute(type=withAttribute.ANY_VALUE))
+        div_expr = div_any_type + SkipTo(div | div_end)("body")
+        for div_header in div_expr.searchString(html):
+            print(div_header.body)
+    prints::
+        1 4 0 1 0
+
+        1 4 0 1 0
+        1,3 2,3 1,1
+    """
+    if args:
+        attrs = args[:]
+    else:
+        attrs = attrDict.items()
+    attrs = [(k,v) for k,v in attrs]
+    def pa(s,l,tokens):
+        for attrName,attrValue in attrs:
+            if attrName not in tokens:
+                raise ParseException(s,l,"no matching attribute " + attrName)
+            if attrValue != withAttribute.ANY_VALUE and tokens[attrName] != attrValue:
+                raise ParseException(s,l,"attribute '%s' has value '%s', must be '%s'" %
+                                            (attrName, tokens[attrName], attrValue))
+    return pa
+withAttribute.ANY_VALUE = object()
+
+def withClass(classname, namespace=''):
+    """
+    Simplified version of C{L{withAttribute}} when matching on a div class - made
+    difficult because C{class} is a reserved word in Python.
+
+    Example::
+        html = '''
+            <div>
+            Some text
+            <div class="grid">1 4 0 1 0</div>
+            <div class="graph">1,3 2,3 1,1</div>
+            <div>this &lt;div&gt; has no class</div>
+            </div>
+                
+        '''
+        div,div_end = makeHTMLTags("div")
+        div_grid = div().setParseAction(withClass("grid"))
+        
+        grid_expr = div_grid + SkipTo(div | div_end)("body")
+        for grid_header in grid_expr.searchString(html):
+            print(grid_header.body)
+        
+        div_any_type = div().setParseAction(withClass(withAttribute.ANY_VALUE))
+        div_expr = div_any_type + SkipTo(div | div_end)("body")
+        for div_header in div_expr.searchString(html):
+            print(div_header.body)
+    prints::
+        1 4 0 1 0
+
+        1 4 0 1 0
+        1,3 2,3 1,1
+    """
+    classattr = "%s:class" % namespace if namespace else "class"
+    return withAttribute(**{classattr : classname})        
+
+opAssoc = _Constants()
+opAssoc.LEFT = object()
+opAssoc.RIGHT = object()
+
+def infixNotation( baseExpr, opList, lpar=Suppress('('), rpar=Suppress(')') ):
+    """
+    Helper method for constructing grammars of expressions made up of
+    operators working in a precedence hierarchy.  Operators may be unary or
+    binary, left- or right-associative.  Parse actions can also be attached
+    to operator expressions. The generated parser will also recognize the use 
+    of parentheses to override operator precedences (see example below).
+    
+    Note: if you define a deep operator list, you may see performance issues
+    when using infixNotation. See L{ParserElement.enablePackrat} for a
+    mechanism to potentially improve your parser performance.
+
+    Parameters:
+     - baseExpr - expression representing the most basic element for the nested
+     - opList - list of tuples, one for each operator precedence level in the
+      expression grammar; each tuple is of the form
+      (opExpr, numTerms, rightLeftAssoc, parseAction), where:
+       - opExpr is the pyparsing expression for the operator;
+          may also be a string, which will be converted to a Literal;
+          if numTerms is 3, opExpr is a tuple of two expressions, for the
+          two operators separating the 3 terms
+       - numTerms is the number of terms for this operator (must
+          be 1, 2, or 3)
+       - rightLeftAssoc is the indicator whether the operator is
+          right or left associative, using the pyparsing-defined
+          constants C{opAssoc.RIGHT} and C{opAssoc.LEFT}.
+       - parseAction is the parse action to be associated with
+          expressions matching this operator expression (the
+          parse action tuple member may be omitted); if the parse action
+          is passed a tuple or list of functions, this is equivalent to
+          calling C{setParseAction(*fn)} (L{ParserElement.setParseAction})
+     - lpar - expression for matching left-parentheses (default=C{Suppress('(')})
+     - rpar - expression for matching right-parentheses (default=C{Suppress(')')})
+
+    Example::
+        # simple example of four-function arithmetic with ints and variable names
+        integer = pyparsing_common.signed_integer
+        varname = pyparsing_common.identifier 
+        
+        arith_expr = infixNotation(integer | varname,
+            [
+            ('-', 1, opAssoc.RIGHT),
+            (oneOf('* /'), 2, opAssoc.LEFT),
+            (oneOf('+ -'), 2, opAssoc.LEFT),
+            ])
+        
+        arith_expr.runTests('''
+            5+3*6
+            (5+3)*6
+            -2--11
+            ''', fullDump=False)
+    prints::
+        5+3*6
+        [[5, '+', [3, '*', 6]]]
+
+        (5+3)*6
+        [[[5, '+', 3], '*', 6]]
+
+        -2--11
+        [[['-', 2], '-', ['-', 11]]]
+    """
+    ret = Forward()
+    lastExpr = baseExpr | ( lpar + ret + rpar )
+    for i,operDef in enumerate(opList):
+        opExpr,arity,rightLeftAssoc,pa = (operDef + (None,))[:4]
+        termName = "%s term" % opExpr if arity < 3 else "%s%s term" % opExpr
+        if arity == 3:
+            if opExpr is None or len(opExpr) != 2:
+                raise ValueError("if numterms=3, opExpr must be a tuple or list of two expressions")
+            opExpr1, opExpr2 = opExpr
+        thisExpr = Forward().setName(termName)
+        if rightLeftAssoc == opAssoc.LEFT:
+            if arity == 1:
+                matchExpr = FollowedBy(lastExpr + opExpr) + Group( lastExpr + OneOrMore( opExpr ) )
+            elif arity == 2:
+                if opExpr is not None:
+                    matchExpr = FollowedBy(lastExpr + opExpr + lastExpr) + Group( lastExpr + OneOrMore( opExpr + lastExpr ) )
+                else:
+                    matchExpr = FollowedBy(lastExpr+lastExpr) + Group( lastExpr + OneOrMore(lastExpr) )
+            elif arity == 3:
+                matchExpr = FollowedBy(lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr) + \
+                            Group( lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr )
+            else:
+                raise ValueError("operator must be unary (1), binary (2), or ternary (3)")
+        elif rightLeftAssoc == opAssoc.RIGHT:
+            if arity == 1:
+                # try to avoid LR with this extra test
+                if not isinstance(opExpr, Optional):
+                    opExpr = Optional(opExpr)
+                matchExpr = FollowedBy(opExpr.expr + thisExpr) + Group( opExpr + thisExpr )
+            elif arity == 2:
+                if opExpr is not None:
+                    matchExpr = FollowedBy(lastExpr + opExpr + thisExpr) + Group( lastExpr + OneOrMore( opExpr + thisExpr ) )
+                else:
+                    matchExpr = FollowedBy(lastExpr + thisExpr) + Group( lastExpr + OneOrMore( thisExpr ) )
+            elif arity == 3:
+                matchExpr = FollowedBy(lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr) + \
+                            Group( lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr )
+            else:
+                raise ValueError("operator must be unary (1), binary (2), or ternary (3)")
+        else:
+            raise ValueError("operator must indicate right or left associativity")
+        if pa:
+            if isinstance(pa, (tuple, list)):
+                matchExpr.setParseAction(*pa)
+            else:
+                matchExpr.setParseAction(pa)
+        thisExpr <<= ( matchExpr.setName(termName) | lastExpr )
+        lastExpr = thisExpr
+    ret <<= lastExpr
+    return ret
+
+operatorPrecedence = infixNotation
+"""(Deprecated) Former name of C{L{infixNotation}}, will be dropped in a future release."""
+
+dblQuotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"').setName("string enclosed in double quotes")
+sglQuotedString = Combine(Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("string enclosed in single quotes")
+quotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"'|
+                       Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("quotedString using single or double quotes")
+unicodeString = Combine(_L('u') + quotedString.copy()).setName("unicode string literal")
+
+def nestedExpr(opener="(", closer=")", content=None, ignoreExpr=quotedString.copy()):
+    """
+    Helper method for defining nested lists enclosed in opening and closing
+    delimiters ("(" and ")" are the default).
+
+    Parameters:
+     - opener - opening character for a nested list (default=C{"("}); can also be a pyparsing expression
+     - closer - closing character for a nested list (default=C{")"}); can also be a pyparsing expression
+     - content - expression for items within the nested lists (default=C{None})
+     - ignoreExpr - expression for ignoring opening and closing delimiters (default=C{quotedString})
+
+    If an expression is not provided for the content argument, the nested
+    expression will capture all whitespace-delimited content between delimiters
+    as a list of separate values.
+
+    Use the C{ignoreExpr} argument to define expressions that may contain
+    opening or closing characters that should not be treated as opening
+    or closing characters for nesting, such as quotedString or a comment
+    expression.  Specify multiple expressions using an C{L{Or}} or C{L{MatchFirst}}.
+    The default is L{quotedString}, but if no expressions are to be ignored,
+    then pass C{None} for this argument.
+
+    Example::
+        data_type = oneOf("void int short long char float double")
+        decl_data_type = Combine(data_type + Optional(Word('*')))
+        ident = Word(alphas+'_', alphanums+'_')
+        number = pyparsing_common.number
+        arg = Group(decl_data_type + ident)
+        LPAR,RPAR = map(Suppress, "()")
+
+        code_body = nestedExpr('{', '}', ignoreExpr=(quotedString | cStyleComment))
+
+        c_function = (decl_data_type("type") 
+                      + ident("name")
+                      + LPAR + Optional(delimitedList(arg), [])("args") + RPAR 
+                      + code_body("body"))
+        c_function.ignore(cStyleComment)
+        
+        source_code = '''
+            int is_odd(int x) { 
+                return (x%2); 
+            }
+                
+            int dec_to_hex(char hchar) { 
+                if (hchar >= '0' && hchar <= '9') { 
+                    return (ord(hchar)-ord('0')); 
+                } else { 
+                    return (10+ord(hchar)-ord('A'));
+                } 
+            }
+        '''
+        for func in c_function.searchString(source_code):
+            print("%(name)s (%(type)s) args: %(args)s" % func)
+
+    prints::
+        is_odd (int) args: [['int', 'x']]
+        dec_to_hex (int) args: [['char', 'hchar']]
+    """
+    if opener == closer:
+        raise ValueError("opening and closing strings cannot be the same")
+    if content is None:
+        if isinstance(opener,basestring) and isinstance(closer,basestring):
+            if len(opener) == 1 and len(closer)==1:
+                if ignoreExpr is not None:
+                    content = (Combine(OneOrMore(~ignoreExpr +
+                                    CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS,exact=1))
+                                ).setParseAction(lambda t:t[0].strip()))
+                else:
+                    content = (empty.copy()+CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS
+                                ).setParseAction(lambda t:t[0].strip()))
+            else:
+                if ignoreExpr is not None:
+                    content = (Combine(OneOrMore(~ignoreExpr + 
+                                    ~Literal(opener) + ~Literal(closer) +
+                                    CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1))
+                                ).setParseAction(lambda t:t[0].strip()))
+                else:
+                    content = (Combine(OneOrMore(~Literal(opener) + ~Literal(closer) +
+                                    CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1))
+                                ).setParseAction(lambda t:t[0].strip()))
+        else:
+            raise ValueError("opening and closing arguments must be strings if no content expression is given")
+    ret = Forward()
+    if ignoreExpr is not None:
+        ret <<= Group( Suppress(opener) + ZeroOrMore( ignoreExpr | ret | content ) + Suppress(closer) )
+    else:
+        ret <<= Group( Suppress(opener) + ZeroOrMore( ret | content )  + Suppress(closer) )
+    ret.setName('nested %s%s expression' % (opener,closer))
+    return ret
+
+def indentedBlock(blockStatementExpr, indentStack, indent=True):
+    """
+    Helper method for defining space-delimited indentation blocks, such as
+    those used to define block statements in Python source code.
+
+    Parameters:
+     - blockStatementExpr - expression defining syntax of statement that
+            is repeated within the indented block
+     - indentStack - list created by caller to manage indentation stack
+            (multiple statementWithIndentedBlock expressions within a single grammar
+            should share a common indentStack)
+     - indent - boolean indicating whether block must be indented beyond the
+            the current level; set to False for block of left-most statements
+            (default=C{True})
+
+    A valid block must contain at least one C{blockStatement}.
+
+    Example::
+        data = '''
+        def A(z):
+          A1
+          B = 100
+          G = A2
+          A2
+          A3
+        B
+        def BB(a,b,c):
+          BB1
+          def BBA():
+            bba1
+            bba2
+            bba3
+        C
+        D
+        def spam(x,y):
+             def eggs(z):
+                 pass
+        '''
+
+
+        indentStack = [1]
+        stmt = Forward()
+
+        identifier = Word(alphas, alphanums)
+        funcDecl = ("def" + identifier + Group( "(" + Optional( delimitedList(identifier) ) + ")" ) + ":")
+        func_body = indentedBlock(stmt, indentStack)
+        funcDef = Group( funcDecl + func_body )
+
+        rvalue = Forward()
+        funcCall = Group(identifier + "(" + Optional(delimitedList(rvalue)) + ")")
+        rvalue << (funcCall | identifier | Word(nums))
+        assignment = Group(identifier + "=" + rvalue)
+        stmt << ( funcDef | assignment | identifier )
+
+        module_body = OneOrMore(stmt)
+
+        parseTree = module_body.parseString(data)
+        parseTree.pprint()
+    prints::
+        [['def',
+          'A',
+          ['(', 'z', ')'],
+          ':',
+          [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]],
+         'B',
+         ['def',
+          'BB',
+          ['(', 'a', 'b', 'c', ')'],
+          ':',
+          [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]],
+         'C',
+         'D',
+         ['def',
+          'spam',
+          ['(', 'x', 'y', ')'],
+          ':',
+          [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] 
+    """
+    def checkPeerIndent(s,l,t):
+        if l >= len(s): return
+        curCol = col(l,s)
+        if curCol != indentStack[-1]:
+            if curCol > indentStack[-1]:
+                raise ParseFatalException(s,l,"illegal nesting")
+            raise ParseException(s,l,"not a peer entry")
+
+    def checkSubIndent(s,l,t):
+        curCol = col(l,s)
+        if curCol > indentStack[-1]:
+            indentStack.append( curCol )
+        else:
+            raise ParseException(s,l,"not a subentry")
+
+    def checkUnindent(s,l,t):
+        if l >= len(s): return
+        curCol = col(l,s)
+        if not(indentStack and curCol < indentStack[-1] and curCol <= indentStack[-2]):
+            raise ParseException(s,l,"not an unindent")
+        indentStack.pop()
+
+    NL = OneOrMore(LineEnd().setWhitespaceChars("\t ").suppress())
+    INDENT = (Empty() + Empty().setParseAction(checkSubIndent)).setName('INDENT')
+    PEER   = Empty().setParseAction(checkPeerIndent).setName('')
+    UNDENT = Empty().setParseAction(checkUnindent).setName('UNINDENT')
+    if indent:
+        smExpr = Group( Optional(NL) +
+            #~ FollowedBy(blockStatementExpr) +
+            INDENT + (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) + UNDENT)
+    else:
+        smExpr = Group( Optional(NL) +
+            (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) )
+    blockStatementExpr.ignore(_bslash + LineEnd())
+    return smExpr.setName('indented block')
+
+alphas8bit = srange(r"[\0xc0-\0xd6\0xd8-\0xf6\0xf8-\0xff]")
+punc8bit = srange(r"[\0xa1-\0xbf\0xd7\0xf7]")
+
+anyOpenTag,anyCloseTag = makeHTMLTags(Word(alphas,alphanums+"_:").setName('any tag'))
+_htmlEntityMap = dict(zip("gt lt amp nbsp quot apos".split(),'><& "\''))
+commonHTMLEntity = Regex('&(?P<entity>' + '|'.join(_htmlEntityMap.keys()) +");").setName("common HTML entity")
+def replaceHTMLEntity(t):
+    """Helper parser action to replace common HTML entities with their special characters"""
+    return _htmlEntityMap.get(t.entity)
+
+# it's easy to get these comment structures wrong - they're very common, so may as well make them available
+cStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/').setName("C style comment")
+"Comment of the form C{/* ... */}"
+
+htmlComment = Regex(r"<!--[\s\S]*?-->").setName("HTML comment")
+"Comment of the form C{<!-- ... -->}"
+
+restOfLine = Regex(r".*").leaveWhitespace().setName("rest of line")
+dblSlashComment = Regex(r"//(?:\\\n|[^\n])*").setName("// comment")
+"Comment of the form C{// ... (to end of line)}"
+
+cppStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/'| dblSlashComment).setName("C++ style comment")
+"Comment of either form C{L{cStyleComment}} or C{L{dblSlashComment}}"
+
+javaStyleComment = cppStyleComment
+"Same as C{L{cppStyleComment}}"
+
+pythonStyleComment = Regex(r"#.*").setName("Python style comment")
+"Comment of the form C{# ... (to end of line)}"
+
+_commasepitem = Combine(OneOrMore(Word(printables, excludeChars=',') +
+                                  Optional( Word(" \t") +
+                                            ~Literal(",") + ~LineEnd() ) ) ).streamline().setName("commaItem")
+commaSeparatedList = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("commaSeparatedList")
+"""(Deprecated) Predefined expression of 1 or more printable words or quoted strings, separated by commas.
+   This expression is deprecated in favor of L{pyparsing_common.comma_separated_list}."""
+
+# some other useful expressions - using lower-case class name since we are really using this as a namespace
+class pyparsing_common:
+    """
+    Here are some common low-level expressions that may be useful in jump-starting parser development:
+     - numeric forms (L{integers<integer>}, L{reals<real>}, L{scientific notation<sci_real>})
+     - common L{programming identifiers<identifier>}
+     - network addresses (L{MAC<mac_address>}, L{IPv4<ipv4_address>}, L{IPv6<ipv6_address>})
+     - ISO8601 L{dates<iso8601_date>} and L{datetime<iso8601_datetime>}
+     - L{UUID<uuid>}
+     - L{comma-separated list<comma_separated_list>}
+    Parse actions:
+     - C{L{convertToInteger}}
+     - C{L{convertToFloat}}
+     - C{L{convertToDate}}
+     - C{L{convertToDatetime}}
+     - C{L{stripHTMLTags}}
+     - C{L{upcaseTokens}}
+     - C{L{downcaseTokens}}
+
+    Example::
+        pyparsing_common.number.runTests('''
+            # any int or real number, returned as the appropriate type
+            100
+            -100
+            +100
+            3.14159
+            6.02e23
+            1e-12
+            ''')
+
+        pyparsing_common.fnumber.runTests('''
+            # any int or real number, returned as float
+            100
+            -100
+            +100
+            3.14159
+            6.02e23
+            1e-12
+            ''')
+
+        pyparsing_common.hex_integer.runTests('''
+            # hex numbers
+            100
+            FF
+            ''')
+
+        pyparsing_common.fraction.runTests('''
+            # fractions
+            1/2
+            -3/4
+            ''')
+
+        pyparsing_common.mixed_integer.runTests('''
+            # mixed fractions
+            1
+            1/2
+            -3/4
+            1-3/4
+            ''')
+
+        import uuid
+        pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID))
+        pyparsing_common.uuid.runTests('''
+            # uuid
+            12345678-1234-5678-1234-567812345678
+            ''')
+    prints::
+        # any int or real number, returned as the appropriate type
+        100
+        [100]
+
+        -100
+        [-100]
+
+        +100
+        [100]
+
+        3.14159
+        [3.14159]
+
+        6.02e23
+        [6.02e+23]
+
+        1e-12
+        [1e-12]
+
+        # any int or real number, returned as float
+        100
+        [100.0]
+
+        -100
+        [-100.0]
+
+        +100
+        [100.0]
+
+        3.14159
+        [3.14159]
+
+        6.02e23
+        [6.02e+23]
+
+        1e-12
+        [1e-12]
+
+        # hex numbers
+        100
+        [256]
+
+        FF
+        [255]
+
+        # fractions
+        1/2
+        [0.5]
+
+        -3/4
+        [-0.75]
+
+        # mixed fractions
+        1
+        [1]
+
+        1/2
+        [0.5]
+
+        -3/4
+        [-0.75]
+
+        1-3/4
+        [1.75]
+
+        # uuid
+        12345678-1234-5678-1234-567812345678
+        [UUID('12345678-1234-5678-1234-567812345678')]
+    """
+
+    convertToInteger = tokenMap(int)
+    """
+    Parse action for converting parsed integers to Python int
+    """
+
+    convertToFloat = tokenMap(float)
+    """
+    Parse action for converting parsed numbers to Python float
+    """
+
+    integer = Word(nums).setName("integer").setParseAction(convertToInteger)
+    """expression that parses an unsigned integer, returns an int"""
+
+    hex_integer = Word(hexnums).setName("hex integer").setParseAction(tokenMap(int,16))
+    """expression that parses a hexadecimal integer, returns an int"""
+
+    signed_integer = Regex(r'[+-]?\d+').setName("signed integer").setParseAction(convertToInteger)
+    """expression that parses an integer with optional leading sign, returns an int"""
+
+    fraction = (signed_integer().setParseAction(convertToFloat) + '/' + signed_integer().setParseAction(convertToFloat)).setName("fraction")
+    """fractional expression of an integer divided by an integer, returns a float"""
+    fraction.addParseAction(lambda t: t[0]/t[-1])
+
+    mixed_integer = (fraction | signed_integer + Optional(Optional('-').suppress() + fraction)).setName("fraction or mixed integer-fraction")
+    """mixed integer of the form 'integer - fraction', with optional leading integer, returns float"""
+    mixed_integer.addParseAction(sum)
+
+    real = Regex(r'[+-]?\d+\.\d*').setName("real number").setParseAction(convertToFloat)
+    """expression that parses a floating point number and returns a float"""
+
+    sci_real = Regex(r'[+-]?\d+([eE][+-]?\d+|\.\d*([eE][+-]?\d+)?)').setName("real number with scientific notation").setParseAction(convertToFloat)
+    """expression that parses a floating point number with optional scientific notation and returns a float"""
+
+    # streamlining this expression makes the docs nicer-looking
+    number = (sci_real | real | signed_integer).streamline()
+    """any numeric expression, returns the corresponding Python type"""
+
+    fnumber = Regex(r'[+-]?\d+\.?\d*([eE][+-]?\d+)?').setName("fnumber").setParseAction(convertToFloat)
+    """any int or real number, returned as float"""
+    
+    identifier = Word(alphas+'_', alphanums+'_').setName("identifier")
+    """typical code identifier (leading alpha or '_', followed by 0 or more alphas, nums, or '_')"""
+    
+    ipv4_address = Regex(r'(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})){3}').setName("IPv4 address")
+    "IPv4 address (C{0.0.0.0 - 255.255.255.255})"
+
+    _ipv6_part = Regex(r'[0-9a-fA-F]{1,4}').setName("hex_integer")
+    _full_ipv6_address = (_ipv6_part + (':' + _ipv6_part)*7).setName("full IPv6 address")
+    _short_ipv6_address = (Optional(_ipv6_part + (':' + _ipv6_part)*(0,6)) + "::" + Optional(_ipv6_part + (':' + _ipv6_part)*(0,6))).setName("short IPv6 address")
+    _short_ipv6_address.addCondition(lambda t: sum(1 for tt in t if pyparsing_common._ipv6_part.matches(tt)) < 8)
+    _mixed_ipv6_address = ("::ffff:" + ipv4_address).setName("mixed IPv6 address")
+    ipv6_address = Combine((_full_ipv6_address | _mixed_ipv6_address | _short_ipv6_address).setName("IPv6 address")).setName("IPv6 address")
+    "IPv6 address (long, short, or mixed form)"
+    
+    mac_address = Regex(r'[0-9a-fA-F]{2}([:.-])[0-9a-fA-F]{2}(?:\1[0-9a-fA-F]{2}){4}').setName("MAC address")
+    "MAC address xx:xx:xx:xx:xx (may also have '-' or '.' delimiters)"
+
+    @staticmethod
+    def convertToDate(fmt="%Y-%m-%d"):
+        """
+        Helper to create a parse action for converting parsed date string to Python datetime.date
+
+        Params -
+         - fmt - format to be passed to datetime.strptime (default=C{"%Y-%m-%d"})
+
+        Example::
+            date_expr = pyparsing_common.iso8601_date.copy()
+            date_expr.setParseAction(pyparsing_common.convertToDate())
+            print(date_expr.parseString("1999-12-31"))
+        prints::
+            [datetime.date(1999, 12, 31)]
+        """
+        def cvt_fn(s,l,t):
+            try:
+                return datetime.strptime(t[0], fmt).date()
+            except ValueError as ve:
+                raise ParseException(s, l, str(ve))
+        return cvt_fn
+
+    @staticmethod
+    def convertToDatetime(fmt="%Y-%m-%dT%H:%M:%S.%f"):
+        """
+        Helper to create a parse action for converting parsed datetime string to Python datetime.datetime
+
+        Params -
+         - fmt - format to be passed to datetime.strptime (default=C{"%Y-%m-%dT%H:%M:%S.%f"})
+
+        Example::
+            dt_expr = pyparsing_common.iso8601_datetime.copy()
+            dt_expr.setParseAction(pyparsing_common.convertToDatetime())
+            print(dt_expr.parseString("1999-12-31T23:59:59.999"))
+        prints::
+            [datetime.datetime(1999, 12, 31, 23, 59, 59, 999000)]
+        """
+        def cvt_fn(s,l,t):
+            try:
+                return datetime.strptime(t[0], fmt)
+            except ValueError as ve:
+                raise ParseException(s, l, str(ve))
+        return cvt_fn
+
+    iso8601_date = Regex(r'(?P<year>\d{4})(?:-(?P<month>\d\d)(?:-(?P<day>\d\d))?)?').setName("ISO8601 date")
+    "ISO8601 date (C{yyyy-mm-dd})"
+
+    iso8601_datetime = Regex(r'(?P<year>\d{4})-(?P<month>\d\d)-(?P<day>\d\d)[T ](?P<hour>\d\d):(?P<minute>\d\d)(:(?P<second>\d\d(\.\d*)?)?)?(?P<tz>Z|[+-]\d\d:?\d\d)?').setName("ISO8601 datetime")
+    "ISO8601 datetime (C{yyyy-mm-ddThh:mm:ss.s(Z|+-00:00)}) - trailing seconds, milliseconds, and timezone optional; accepts separating C{'T'} or C{' '}"
+
+    uuid = Regex(r'[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}').setName("UUID")
+    "UUID (C{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx})"
+
+    _html_stripper = anyOpenTag.suppress() | anyCloseTag.suppress()
+    @staticmethod
+    def stripHTMLTags(s, l, tokens):
+        """
+        Parse action to remove HTML tags from web page HTML source
+
+        Example::
+            # strip HTML links from normal text 
+            text = '<td>More info at the <a href="http://pyparsing.wikispaces.com">pyparsing</a> wiki page</td>'
+            td,td_end = makeHTMLTags("TD")
+            table_text = td + SkipTo(td_end).setParseAction(pyparsing_common.stripHTMLTags)("body") + td_end
+            
+            print(table_text.parseString(text).body) # -> 'More info at the pyparsing wiki page'
+        """
+        return pyparsing_common._html_stripper.transformString(tokens[0])
+
+    _commasepitem = Combine(OneOrMore(~Literal(",") + ~LineEnd() + Word(printables, excludeChars=',') 
+                                        + Optional( White(" \t") ) ) ).streamline().setName("commaItem")
+    comma_separated_list = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("comma separated list")
+    """Predefined expression of 1 or more printable words or quoted strings, separated by commas."""
+
+    upcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).upper()))
+    """Parse action to convert tokens to upper case."""
+
+    downcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).lower()))
+    """Parse action to convert tokens to lower case."""
+
+
+if __name__ == "__main__":
+
+    selectToken    = CaselessLiteral("select")
+    fromToken      = CaselessLiteral("from")
+
+    ident          = Word(alphas, alphanums + "_$")
+
+    columnName     = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens)
+    columnNameList = Group(delimitedList(columnName)).setName("columns")
+    columnSpec     = ('*' | columnNameList)
+
+    tableName      = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens)
+    tableNameList  = Group(delimitedList(tableName)).setName("tables")
+    
+    simpleSQL      = selectToken("command") + columnSpec("columns") + fromToken + tableNameList("tables")
+
+    # demo runTests method, including embedded comments in test string
+    simpleSQL.runTests("""
+        # '*' as column list and dotted table name
+        select * from SYS.XYZZY
+
+        # caseless match on "SELECT", and casts back to "select"
+        SELECT * from XYZZY, ABC
+
+        # list of column names, and mixed case SELECT keyword
+        Select AA,BB,CC from Sys.dual
+
+        # multiple tables
+        Select A, B, C from Sys.dual, Table2
+
+        # invalid SELECT keyword - should fail
+        Xelect A, B, C from Sys.dual
+
+        # incomplete command - should fail
+        Select
+
+        # invalid column name - should fail
+        Select ^^^ frox Sys.dual
+
+        """)
+
+    pyparsing_common.number.runTests("""
+        100
+        -100
+        +100
+        3.14159
+        6.02e23
+        1e-12
+        """)
+
+    # any int or real number, returned as float
+    pyparsing_common.fnumber.runTests("""
+        100
+        -100
+        +100
+        3.14159
+        6.02e23
+        1e-12
+        """)
+
+    pyparsing_common.hex_integer.runTests("""
+        100
+        FF
+        """)
+
+    import uuid
+    pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID))
+    pyparsing_common.uuid.runTests("""
+        12345678-1234-5678-1234-567812345678
+        """)
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/six.py b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/six.py
new file mode 100644
index 0000000..190c023
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/_vendor/six.py
@@ -0,0 +1,868 @@
+"""Utilities for writing code that runs on Python 2 and 3"""
+
+# Copyright (c) 2010-2015 Benjamin Peterson
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+from __future__ import absolute_import
+
+import functools
+import itertools
+import operator
+import sys
+import types
+
+__author__ = "Benjamin Peterson <benjamin@python.org>"
+__version__ = "1.10.0"
+
+
+# Useful for very coarse version differentiation.
+PY2 = sys.version_info[0] == 2
+PY3 = sys.version_info[0] == 3
+PY34 = sys.version_info[0:2] >= (3, 4)
+
+if PY3:
+    string_types = str,
+    integer_types = int,
+    class_types = type,
+    text_type = str
+    binary_type = bytes
+
+    MAXSIZE = sys.maxsize
+else:
+    string_types = basestring,
+    integer_types = (int, long)
+    class_types = (type, types.ClassType)
+    text_type = unicode
+    binary_type = str
+
+    if sys.platform.startswith("java"):
+        # Jython always uses 32 bits.
+        MAXSIZE = int((1 << 31) - 1)
+    else:
+        # It's possible to have sizeof(long) != sizeof(Py_ssize_t).
+        class X(object):
+
+            def __len__(self):
+                return 1 << 31
+        try:
+            len(X())
+        except OverflowError:
+            # 32-bit
+            MAXSIZE = int((1 << 31) - 1)
+        else:
+            # 64-bit
+            MAXSIZE = int((1 << 63) - 1)
+        del X
+
+
+def _add_doc(func, doc):
+    """Add documentation to a function."""
+    func.__doc__ = doc
+
+
+def _import_module(name):
+    """Import module, returning the module after the last dot."""
+    __import__(name)
+    return sys.modules[name]
+
+
+class _LazyDescr(object):
+
+    def __init__(self, name):
+        self.name = name
+
+    def __get__(self, obj, tp):
+        result = self._resolve()
+        setattr(obj, self.name, result)  # Invokes __set__.
+        try:
+            # This is a bit ugly, but it avoids running this again by
+            # removing this descriptor.
+            delattr(obj.__class__, self.name)
+        except AttributeError:
+            pass
+        return result
+
+
+class MovedModule(_LazyDescr):
+
+    def __init__(self, name, old, new=None):
+        super(MovedModule, self).__init__(name)
+        if PY3:
+            if new is None:
+                new = name
+            self.mod = new
+        else:
+            self.mod = old
+
+    def _resolve(self):
+        return _import_module(self.mod)
+
+    def __getattr__(self, attr):
+        _module = self._resolve()
+        value = getattr(_module, attr)
+        setattr(self, attr, value)
+        return value
+
+
+class _LazyModule(types.ModuleType):
+
+    def __init__(self, name):
+        super(_LazyModule, self).__init__(name)
+        self.__doc__ = self.__class__.__doc__
+
+    def __dir__(self):
+        attrs = ["__doc__", "__name__"]
+        attrs += [attr.name for attr in self._moved_attributes]
+        return attrs
+
+    # Subclasses should override this
+    _moved_attributes = []
+
+
+class MovedAttribute(_LazyDescr):
+
+    def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None):
+        super(MovedAttribute, self).__init__(name)
+        if PY3:
+            if new_mod is None:
+                new_mod = name
+            self.mod = new_mod
+            if new_attr is None:
+                if old_attr is None:
+                    new_attr = name
+                else:
+                    new_attr = old_attr
+            self.attr = new_attr
+        else:
+            self.mod = old_mod
+            if old_attr is None:
+                old_attr = name
+            self.attr = old_attr
+
+    def _resolve(self):
+        module = _import_module(self.mod)
+        return getattr(module, self.attr)
+
+
+class _SixMetaPathImporter(object):
+
+    """
+    A meta path importer to import six.moves and its submodules.
+
+    This class implements a PEP302 finder and loader. It should be compatible
+    with Python 2.5 and all existing versions of Python3
+    """
+
+    def __init__(self, six_module_name):
+        self.name = six_module_name
+        self.known_modules = {}
+
+    def _add_module(self, mod, *fullnames):
+        for fullname in fullnames:
+            self.known_modules[self.name + "." + fullname] = mod
+
+    def _get_module(self, fullname):
+        return self.known_modules[self.name + "." + fullname]
+
+    def find_module(self, fullname, path=None):
+        if fullname in self.known_modules:
+            return self
+        return None
+
+    def __get_module(self, fullname):
+        try:
+            return self.known_modules[fullname]
+        except KeyError:
+            raise ImportError("This loader does not know module " + fullname)
+
+    def load_module(self, fullname):
+        try:
+            # in case of a reload
+            return sys.modules[fullname]
+        except KeyError:
+            pass
+        mod = self.__get_module(fullname)
+        if isinstance(mod, MovedModule):
+            mod = mod._resolve()
+        else:
+            mod.__loader__ = self
+        sys.modules[fullname] = mod
+        return mod
+
+    def is_package(self, fullname):
+        """
+        Return true, if the named module is a package.
+
+        We need this method to get correct spec objects with
+        Python 3.4 (see PEP451)
+        """
+        return hasattr(self.__get_module(fullname), "__path__")
+
+    def get_code(self, fullname):
+        """Return None
+
+        Required, if is_package is implemented"""
+        self.__get_module(fullname)  # eventually raises ImportError
+        return None
+    get_source = get_code  # same as get_code
+
+_importer = _SixMetaPathImporter(__name__)
+
+
+class _MovedItems(_LazyModule):
+
+    """Lazy loading of moved objects"""
+    __path__ = []  # mark as package
+
+
+_moved_attributes = [
+    MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"),
+    MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"),
+    MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"),
+    MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"),
+    MovedAttribute("intern", "__builtin__", "sys"),
+    MovedAttribute("map", "itertools", "builtins", "imap", "map"),
+    MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"),
+    MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"),
+    MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"),
+    MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"),
+    MovedAttribute("reduce", "__builtin__", "functools"),
+    MovedAttribute("shlex_quote", "pipes", "shlex", "quote"),
+    MovedAttribute("StringIO", "StringIO", "io"),
+    MovedAttribute("UserDict", "UserDict", "collections"),
+    MovedAttribute("UserList", "UserList", "collections"),
+    MovedAttribute("UserString", "UserString", "collections"),
+    MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"),
+    MovedAttribute("zip", "itertools", "builtins", "izip", "zip"),
+    MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"),
+    MovedModule("builtins", "__builtin__"),
+    MovedModule("configparser", "ConfigParser"),
+    MovedModule("copyreg", "copy_reg"),
+    MovedModule("dbm_gnu", "gdbm", "dbm.gnu"),
+    MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"),
+    MovedModule("http_cookiejar", "cookielib", "http.cookiejar"),
+    MovedModule("http_cookies", "Cookie", "http.cookies"),
+    MovedModule("html_entities", "htmlentitydefs", "html.entities"),
+    MovedModule("html_parser", "HTMLParser", "html.parser"),
+    MovedModule("http_client", "httplib", "http.client"),
+    MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"),
+    MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"),
+    MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"),
+    MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"),
+    MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"),
+    MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"),
+    MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"),
+    MovedModule("cPickle", "cPickle", "pickle"),
+    MovedModule("queue", "Queue"),
+    MovedModule("reprlib", "repr"),
+    MovedModule("socketserver", "SocketServer"),
+    MovedModule("_thread", "thread", "_thread"),
+    MovedModule("tkinter", "Tkinter"),
+    MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"),
+    MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"),
+    MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"),
+    MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"),
+    MovedModule("tkinter_tix", "Tix", "tkinter.tix"),
+    MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"),
+    MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"),
+    MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"),
+    MovedModule("tkinter_colorchooser", "tkColorChooser",
+                "tkinter.colorchooser"),
+    MovedModule("tkinter_commondialog", "tkCommonDialog",
+                "tkinter.commondialog"),
+    MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"),
+    MovedModule("tkinter_font", "tkFont", "tkinter.font"),
+    MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"),
+    MovedModule("tkinter_tksimpledialog", "tkSimpleDialog",
+                "tkinter.simpledialog"),
+    MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"),
+    MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"),
+    MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"),
+    MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"),
+    MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"),
+    MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"),
+]
+# Add windows specific modules.
+if sys.platform == "win32":
+    _moved_attributes += [
+        MovedModule("winreg", "_winreg"),
+    ]
+
+for attr in _moved_attributes:
+    setattr(_MovedItems, attr.name, attr)
+    if isinstance(attr, MovedModule):
+        _importer._add_module(attr, "moves." + attr.name)
+del attr
+
+_MovedItems._moved_attributes = _moved_attributes
+
+moves = _MovedItems(__name__ + ".moves")
+_importer._add_module(moves, "moves")
+
+
+class Module_six_moves_urllib_parse(_LazyModule):
+
+    """Lazy loading of moved objects in six.moves.urllib_parse"""
+
+
+_urllib_parse_moved_attributes = [
+    MovedAttribute("ParseResult", "urlparse", "urllib.parse"),
+    MovedAttribute("SplitResult", "urlparse", "urllib.parse"),
+    MovedAttribute("parse_qs", "urlparse", "urllib.parse"),
+    MovedAttribute("parse_qsl", "urlparse", "urllib.parse"),
+    MovedAttribute("urldefrag", "urlparse", "urllib.parse"),
+    MovedAttribute("urljoin", "urlparse", "urllib.parse"),
+    MovedAttribute("urlparse", "urlparse", "urllib.parse"),
+    MovedAttribute("urlsplit", "urlparse", "urllib.parse"),
+    MovedAttribute("urlunparse", "urlparse", "urllib.parse"),
+    MovedAttribute("urlunsplit", "urlparse", "urllib.parse"),
+    MovedAttribute("quote", "urllib", "urllib.parse"),
+    MovedAttribute("quote_plus", "urllib", "urllib.parse"),
+    MovedAttribute("unquote", "urllib", "urllib.parse"),
+    MovedAttribute("unquote_plus", "urllib", "urllib.parse"),
+    MovedAttribute("urlencode", "urllib", "urllib.parse"),
+    MovedAttribute("splitquery", "urllib", "urllib.parse"),
+    MovedAttribute("splittag", "urllib", "urllib.parse"),
+    MovedAttribute("splituser", "urllib", "urllib.parse"),
+    MovedAttribute("uses_fragment", "urlparse", "urllib.parse"),
+    MovedAttribute("uses_netloc", "urlparse", "urllib.parse"),
+    MovedAttribute("uses_params", "urlparse", "urllib.parse"),
+    MovedAttribute("uses_query", "urlparse", "urllib.parse"),
+    MovedAttribute("uses_relative", "urlparse", "urllib.parse"),
+]
+for attr in _urllib_parse_moved_attributes:
+    setattr(Module_six_moves_urllib_parse, attr.name, attr)
+del attr
+
+Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes
+
+_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"),
+                      "moves.urllib_parse", "moves.urllib.parse")
+
+
+class Module_six_moves_urllib_error(_LazyModule):
+
+    """Lazy loading of moved objects in six.moves.urllib_error"""
+
+
+_urllib_error_moved_attributes = [
+    MovedAttribute("URLError", "urllib2", "urllib.error"),
+    MovedAttribute("HTTPError", "urllib2", "urllib.error"),
+    MovedAttribute("ContentTooShortError", "urllib", "urllib.error"),
+]
+for attr in _urllib_error_moved_attributes:
+    setattr(Module_six_moves_urllib_error, attr.name, attr)
+del attr
+
+Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes
+
+_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"),
+                      "moves.urllib_error", "moves.urllib.error")
+
+
+class Module_six_moves_urllib_request(_LazyModule):
+
+    """Lazy loading of moved objects in six.moves.urllib_request"""
+
+
+_urllib_request_moved_attributes = [
+    MovedAttribute("urlopen", "urllib2", "urllib.request"),
+    MovedAttribute("install_opener", "urllib2", "urllib.request"),
+    MovedAttribute("build_opener", "urllib2", "urllib.request"),
+    MovedAttribute("pathname2url", "urllib", "urllib.request"),
+    MovedAttribute("url2pathname", "urllib", "urllib.request"),
+    MovedAttribute("getproxies", "urllib", "urllib.request"),
+    MovedAttribute("Request", "urllib2", "urllib.request"),
+    MovedAttribute("OpenerDirector", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"),
+    MovedAttribute("ProxyHandler", "urllib2", "urllib.request"),
+    MovedAttribute("BaseHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"),
+    MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"),
+    MovedAttribute("FileHandler", "urllib2", "urllib.request"),
+    MovedAttribute("FTPHandler", "urllib2", "urllib.request"),
+    MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"),
+    MovedAttribute("UnknownHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"),
+    MovedAttribute("urlretrieve", "urllib", "urllib.request"),
+    MovedAttribute("urlcleanup", "urllib", "urllib.request"),
+    MovedAttribute("URLopener", "urllib", "urllib.request"),
+    MovedAttribute("FancyURLopener", "urllib", "urllib.request"),
+    MovedAttribute("proxy_bypass", "urllib", "urllib.request"),
+]
+for attr in _urllib_request_moved_attributes:
+    setattr(Module_six_moves_urllib_request, attr.name, attr)
+del attr
+
+Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes
+
+_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"),
+                      "moves.urllib_request", "moves.urllib.request")
+
+
+class Module_six_moves_urllib_response(_LazyModule):
+
+    """Lazy loading of moved objects in six.moves.urllib_response"""
+
+
+_urllib_response_moved_attributes = [
+    MovedAttribute("addbase", "urllib", "urllib.response"),
+    MovedAttribute("addclosehook", "urllib", "urllib.response"),
+    MovedAttribute("addinfo", "urllib", "urllib.response"),
+    MovedAttribute("addinfourl", "urllib", "urllib.response"),
+]
+for attr in _urllib_response_moved_attributes:
+    setattr(Module_six_moves_urllib_response, attr.name, attr)
+del attr
+
+Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes
+
+_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"),
+                      "moves.urllib_response", "moves.urllib.response")
+
+
+class Module_six_moves_urllib_robotparser(_LazyModule):
+
+    """Lazy loading of moved objects in six.moves.urllib_robotparser"""
+
+
+_urllib_robotparser_moved_attributes = [
+    MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"),
+]
+for attr in _urllib_robotparser_moved_attributes:
+    setattr(Module_six_moves_urllib_robotparser, attr.name, attr)
+del attr
+
+Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes
+
+_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"),
+                      "moves.urllib_robotparser", "moves.urllib.robotparser")
+
+
+class Module_six_moves_urllib(types.ModuleType):
+
+    """Create a six.moves.urllib namespace that resembles the Python 3 namespace"""
+    __path__ = []  # mark as package
+    parse = _importer._get_module("moves.urllib_parse")
+    error = _importer._get_module("moves.urllib_error")
+    request = _importer._get_module("moves.urllib_request")
+    response = _importer._get_module("moves.urllib_response")
+    robotparser = _importer._get_module("moves.urllib_robotparser")
+
+    def __dir__(self):
+        return ['parse', 'error', 'request', 'response', 'robotparser']
+
+_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"),
+                      "moves.urllib")
+
+
+def add_move(move):
+    """Add an item to six.moves."""
+    setattr(_MovedItems, move.name, move)
+
+
+def remove_move(name):
+    """Remove item from six.moves."""
+    try:
+        delattr(_MovedItems, name)
+    except AttributeError:
+        try:
+            del moves.__dict__[name]
+        except KeyError:
+            raise AttributeError("no such move, %r" % (name,))
+
+
+if PY3:
+    _meth_func = "__func__"
+    _meth_self = "__self__"
+
+    _func_closure = "__closure__"
+    _func_code = "__code__"
+    _func_defaults = "__defaults__"
+    _func_globals = "__globals__"
+else:
+    _meth_func = "im_func"
+    _meth_self = "im_self"
+
+    _func_closure = "func_closure"
+    _func_code = "func_code"
+    _func_defaults = "func_defaults"
+    _func_globals = "func_globals"
+
+
+try:
+    advance_iterator = next
+except NameError:
+    def advance_iterator(it):
+        return it.next()
+next = advance_iterator
+
+
+try:
+    callable = callable
+except NameError:
+    def callable(obj):
+        return any("__call__" in klass.__dict__ for klass in type(obj).__mro__)
+
+
+if PY3:
+    def get_unbound_function(unbound):
+        return unbound
+
+    create_bound_method = types.MethodType
+
+    def create_unbound_method(func, cls):
+        return func
+
+    Iterator = object
+else:
+    def get_unbound_function(unbound):
+        return unbound.im_func
+
+    def create_bound_method(func, obj):
+        return types.MethodType(func, obj, obj.__class__)
+
+    def create_unbound_method(func, cls):
+        return types.MethodType(func, None, cls)
+
+    class Iterator(object):
+
+        def next(self):
+            return type(self).__next__(self)
+
+    callable = callable
+_add_doc(get_unbound_function,
+         """Get the function out of a possibly unbound function""")
+
+
+get_method_function = operator.attrgetter(_meth_func)
+get_method_self = operator.attrgetter(_meth_self)
+get_function_closure = operator.attrgetter(_func_closure)
+get_function_code = operator.attrgetter(_func_code)
+get_function_defaults = operator.attrgetter(_func_defaults)
+get_function_globals = operator.attrgetter(_func_globals)
+
+
+if PY3:
+    def iterkeys(d, **kw):
+        return iter(d.keys(**kw))
+
+    def itervalues(d, **kw):
+        return iter(d.values(**kw))
+
+    def iteritems(d, **kw):
+        return iter(d.items(**kw))
+
+    def iterlists(d, **kw):
+        return iter(d.lists(**kw))
+
+    viewkeys = operator.methodcaller("keys")
+
+    viewvalues = operator.methodcaller("values")
+
+    viewitems = operator.methodcaller("items")
+else:
+    def iterkeys(d, **kw):
+        return d.iterkeys(**kw)
+
+    def itervalues(d, **kw):
+        return d.itervalues(**kw)
+
+    def iteritems(d, **kw):
+        return d.iteritems(**kw)
+
+    def iterlists(d, **kw):
+        return d.iterlists(**kw)
+
+    viewkeys = operator.methodcaller("viewkeys")
+
+    viewvalues = operator.methodcaller("viewvalues")
+
+    viewitems = operator.methodcaller("viewitems")
+
+_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.")
+_add_doc(itervalues, "Return an iterator over the values of a dictionary.")
+_add_doc(iteritems,
+         "Return an iterator over the (key, value) pairs of a dictionary.")
+_add_doc(iterlists,
+         "Return an iterator over the (key, [values]) pairs of a dictionary.")
+
+
+if PY3:
+    def b(s):
+        return s.encode("latin-1")
+
+    def u(s):
+        return s
+    unichr = chr
+    import struct
+    int2byte = struct.Struct(">B").pack
+    del struct
+    byte2int = operator.itemgetter(0)
+    indexbytes = operator.getitem
+    iterbytes = iter
+    import io
+    StringIO = io.StringIO
+    BytesIO = io.BytesIO
+    _assertCountEqual = "assertCountEqual"
+    if sys.version_info[1] <= 1:
+        _assertRaisesRegex = "assertRaisesRegexp"
+        _assertRegex = "assertRegexpMatches"
+    else:
+        _assertRaisesRegex = "assertRaisesRegex"
+        _assertRegex = "assertRegex"
+else:
+    def b(s):
+        return s
+    # Workaround for standalone backslash
+
+    def u(s):
+        return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape")
+    unichr = unichr
+    int2byte = chr
+
+    def byte2int(bs):
+        return ord(bs[0])
+
+    def indexbytes(buf, i):
+        return ord(buf[i])
+    iterbytes = functools.partial(itertools.imap, ord)
+    import StringIO
+    StringIO = BytesIO = StringIO.StringIO
+    _assertCountEqual = "assertItemsEqual"
+    _assertRaisesRegex = "assertRaisesRegexp"
+    _assertRegex = "assertRegexpMatches"
+_add_doc(b, """Byte literal""")
+_add_doc(u, """Text literal""")
+
+
+def assertCountEqual(self, *args, **kwargs):
+    return getattr(self, _assertCountEqual)(*args, **kwargs)
+
+
+def assertRaisesRegex(self, *args, **kwargs):
+    return getattr(self, _assertRaisesRegex)(*args, **kwargs)
+
+
+def assertRegex(self, *args, **kwargs):
+    return getattr(self, _assertRegex)(*args, **kwargs)
+
+
+if PY3:
+    exec_ = getattr(moves.builtins, "exec")
+
+    def reraise(tp, value, tb=None):
+        if value is None:
+            value = tp()
+        if value.__traceback__ is not tb:
+            raise value.with_traceback(tb)
+        raise value
+
+else:
+    def exec_(_code_, _globs_=None, _locs_=None):
+        """Execute code in a namespace."""
+        if _globs_ is None:
+            frame = sys._getframe(1)
+            _globs_ = frame.f_globals
+            if _locs_ is None:
+                _locs_ = frame.f_locals
+            del frame
+        elif _locs_ is None:
+            _locs_ = _globs_
+        exec("""exec _code_ in _globs_, _locs_""")
+
+    exec_("""def reraise(tp, value, tb=None):
+    raise tp, value, tb
+""")
+
+
+if sys.version_info[:2] == (3, 2):
+    exec_("""def raise_from(value, from_value):
+    if from_value is None:
+        raise value
+    raise value from from_value
+""")
+elif sys.version_info[:2] > (3, 2):
+    exec_("""def raise_from(value, from_value):
+    raise value from from_value
+""")
+else:
+    def raise_from(value, from_value):
+        raise value
+
+
+print_ = getattr(moves.builtins, "print", None)
+if print_ is None:
+    def print_(*args, **kwargs):
+        """The new-style print function for Python 2.4 and 2.5."""
+        fp = kwargs.pop("file", sys.stdout)
+        if fp is None:
+            return
+
+        def write(data):
+            if not isinstance(data, basestring):
+                data = str(data)
+            # If the file has an encoding, encode unicode with it.
+            if (isinstance(fp, file) and
+                    isinstance(data, unicode) and
+                    fp.encoding is not None):
+                errors = getattr(fp, "errors", None)
+                if errors is None:
+                    errors = "strict"
+                data = data.encode(fp.encoding, errors)
+            fp.write(data)
+        want_unicode = False
+        sep = kwargs.pop("sep", None)
+        if sep is not None:
+            if isinstance(sep, unicode):
+                want_unicode = True
+            elif not isinstance(sep, str):
+                raise TypeError("sep must be None or a string")
+        end = kwargs.pop("end", None)
+        if end is not None:
+            if isinstance(end, unicode):
+                want_unicode = True
+            elif not isinstance(end, str):
+                raise TypeError("end must be None or a string")
+        if kwargs:
+            raise TypeError("invalid keyword arguments to print()")
+        if not want_unicode:
+            for arg in args:
+                if isinstance(arg, unicode):
+                    want_unicode = True
+                    break
+        if want_unicode:
+            newline = unicode("\n")
+            space = unicode(" ")
+        else:
+            newline = "\n"
+            space = " "
+        if sep is None:
+            sep = space
+        if end is None:
+            end = newline
+        for i, arg in enumerate(args):
+            if i:
+                write(sep)
+            write(arg)
+        write(end)
+if sys.version_info[:2] < (3, 3):
+    _print = print_
+
+    def print_(*args, **kwargs):
+        fp = kwargs.get("file", sys.stdout)
+        flush = kwargs.pop("flush", False)
+        _print(*args, **kwargs)
+        if flush and fp is not None:
+            fp.flush()
+
+_add_doc(reraise, """Reraise an exception.""")
+
+if sys.version_info[0:2] < (3, 4):
+    def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS,
+              updated=functools.WRAPPER_UPDATES):
+        def wrapper(f):
+            f = functools.wraps(wrapped, assigned, updated)(f)
+            f.__wrapped__ = wrapped
+            return f
+        return wrapper
+else:
+    wraps = functools.wraps
+
+
+def with_metaclass(meta, *bases):
+    """Create a base class with a metaclass."""
+    # This requires a bit of explanation: the basic idea is to make a dummy
+    # metaclass for one level of class instantiation that replaces itself with
+    # the actual metaclass.
+    class metaclass(meta):
+
+        def __new__(cls, name, this_bases, d):
+            return meta(name, bases, d)
+    return type.__new__(metaclass, 'temporary_class', (), {})
+
+
+def add_metaclass(metaclass):
+    """Class decorator for creating a class with a metaclass."""
+    def wrapper(cls):
+        orig_vars = cls.__dict__.copy()
+        slots = orig_vars.get('__slots__')
+        if slots is not None:
+            if isinstance(slots, str):
+                slots = [slots]
+            for slots_var in slots:
+                orig_vars.pop(slots_var)
+        orig_vars.pop('__dict__', None)
+        orig_vars.pop('__weakref__', None)
+        return metaclass(cls.__name__, cls.__bases__, orig_vars)
+    return wrapper
+
+
+def python_2_unicode_compatible(klass):
+    """
+    A decorator that defines __unicode__ and __str__ methods under Python 2.
+    Under Python 3 it does nothing.
+
+    To support Python 2 and 3 with a single code base, define a __str__ method
+    returning text and apply this decorator to the class.
+    """
+    if PY2:
+        if '__str__' not in klass.__dict__:
+            raise ValueError("@python_2_unicode_compatible cannot be applied "
+                             "to %s because it doesn't define __str__()." %
+                             klass.__name__)
+        klass.__unicode__ = klass.__str__
+        klass.__str__ = lambda self: self.__unicode__().encode('utf-8')
+    return klass
+
+
+# Complete the moves implementation.
+# This code is at the end of this module to speed up module loading.
+# Turn this module into a package.
+__path__ = []  # required for PEP 302 and PEP 451
+__package__ = __name__  # see PEP 366 @ReservedAssignment
+if globals().get("__spec__") is not None:
+    __spec__.submodule_search_locations = []  # PEP 451 @UndefinedVariable
+# Remove other six meta path importers, since they cause problems. This can
+# happen if six is removed from sys.modules and then reloaded. (Setuptools does
+# this for some reason.)
+if sys.meta_path:
+    for i, importer in enumerate(sys.meta_path):
+        # Here's some real nastiness: Another "instance" of the six module might
+        # be floating around. Therefore, we can't use isinstance() to check for
+        # the six meta path importer, since the other six instance will have
+        # inserted an importer with different class.
+        if (type(importer).__name__ == "_SixMetaPathImporter" and
+                importer.name == __name__):
+            del sys.meta_path[i]
+            break
+    del i, importer
+# Finally, add the importer to the meta path import hook.
+sys.meta_path.append(_importer)
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/extern/__init__.py b/iot_env/lib/python3.8/site-packages/pkg_resources/extern/__init__.py
new file mode 100644
index 0000000..c1eb9e9
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/extern/__init__.py
@@ -0,0 +1,73 @@
+import sys
+
+
+class VendorImporter:
+    """
+    A PEP 302 meta path importer for finding optionally-vendored
+    or otherwise naturally-installed packages from root_name.
+    """
+
+    def __init__(self, root_name, vendored_names=(), vendor_pkg=None):
+        self.root_name = root_name
+        self.vendored_names = set(vendored_names)
+        self.vendor_pkg = vendor_pkg or root_name.replace('extern', '_vendor')
+
+    @property
+    def search_path(self):
+        """
+        Search first the vendor package then as a natural package.
+        """
+        yield self.vendor_pkg + '.'
+        yield ''
+
+    def find_module(self, fullname, path=None):
+        """
+        Return self when fullname starts with root_name and the
+        target module is one vendored through this importer.
+        """
+        root, base, target = fullname.partition(self.root_name + '.')
+        if root:
+            return
+        if not any(map(target.startswith, self.vendored_names)):
+            return
+        return self
+
+    def load_module(self, fullname):
+        """
+        Iterate over the search path to locate and load fullname.
+        """
+        root, base, target = fullname.partition(self.root_name + '.')
+        for prefix in self.search_path:
+            try:
+                extant = prefix + target
+                __import__(extant)
+                mod = sys.modules[extant]
+                sys.modules[fullname] = mod
+                # mysterious hack:
+                # Remove the reference to the extant package/module
+                # on later Python versions to cause relative imports
+                # in the vendor package to resolve the same modules
+                # as those going through this importer.
+                if prefix and sys.version_info > (3, 3):
+                    del sys.modules[extant]
+                return mod
+            except ImportError:
+                pass
+        else:
+            raise ImportError(
+                "The '{target}' package is required; "
+                "normally this is bundled with this package so if you get "
+                "this warning, consult the packager of your "
+                "distribution.".format(**locals())
+            )
+
+    def install(self):
+        """
+        Install this importer into sys.meta_path if not already present.
+        """
+        if self not in sys.meta_path:
+            sys.meta_path.append(self)
+
+
+names = 'packaging', 'pyparsing', 'six', 'appdirs'
+VendorImporter(__name__, names).install()
diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..dcb5932aee354d6f602aacee6526451b3ab8bb3d
GIT binary patch
literal 2406
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
HTv!+Zs#$V-

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/pkg_resources/py31compat.py b/iot_env/lib/python3.8/site-packages/pkg_resources/py31compat.py
new file mode 100644
index 0000000..a381c42
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/pkg_resources/py31compat.py
@@ -0,0 +1,23 @@
+import os
+import errno
+import sys
+
+from .extern import six
+
+
+def _makedirs_31(path, exist_ok=False):
+    try:
+        os.makedirs(path)
+    except OSError as exc:
+        if not exist_ok or exc.errno != errno.EEXIST:
+            raise
+
+
+# rely on compatibility behavior until mode considerations
+#  and exists_ok considerations are disentangled.
+# See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663
+needs_makedirs = (
+    six.PY2 or
+    (3, 4) <= sys.version_info < (3, 4, 1)
+)
+makedirs = _makedirs_31 if needs_makedirs else os.makedirs
diff --git a/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/AUTHORS.txt b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/AUTHORS.txt
new file mode 100644
index 0000000..72c87d7
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/AUTHORS.txt
@@ -0,0 +1,562 @@
+A_Rog <adam.thomas.rogerson@gmail.com>
+Aakanksha Agrawal <11389424+rasponic@users.noreply.github.com>
+Abhinav Sagar <40603139+abhinavsagar@users.noreply.github.com>
+ABHYUDAY PRATAP SINGH <abhyudaypratap@outlook.com>
+abs51295 <aagams68@gmail.com>
+AceGentile <ventogrigio83@gmail.com>
+Adam Chainz <adam@adamj.eu>
+Adam Tse <adam.tse@me.com>
+Adam Tse <atse@users.noreply.github.com>
+Adam Wentz <awentz@theonion.com>
+admin <admin@admins-MacBook-Pro.local>
+Adrien Morison <adrien.morison@gmail.com>
+ahayrapetyan <ahayrapetya2@bloomberg.net>
+Ahilya <ahilya16009@iiitd.ac.in>
+AinsworthK <yat626@yahoo.com.hk>
+Akash Srivastava <akashsrivastava4927@gmail.com>
+Alan Yee <alyee@ucsd.edu>
+Albert Tugushev <albert@tugushev.ru>
+Albert-Guan <albert.guan94@gmail.com>
+albertg <albert.guan94@gmail.com>
+Aleks Bunin <github@compuix.com>
+Alethea Flowers <magicalgirl@google.com>
+Alex Gaynor <alex.gaynor@gmail.com>
+Alex Grönholm <alex.gronholm@nextday.fi>
+Alex Loosley <a.loosley@reply.de>
+Alex Morega <alex@grep.ro>
+Alex Stachowiak <alexander@computer.org>
+Alexander Shtyrov <rawzausho@gmail.com>
+Alexandre Conrad <alexandre.conrad@gmail.com>
+Alexey Popravka <a.popravka@smartweb.com.ua>
+Alexey Popravka <alexey.popravka@horsedevel.com>
+Alli <alzeih@users.noreply.github.com>
+Ami Fischman <ami@fischman.org>
+Ananya Maiti <ananyoevo@gmail.com>
+Anatoly Techtonik <techtonik@gmail.com>
+Anders Kaseorg <andersk@mit.edu>
+Andreas Lutro <anlutro@gmail.com>
+Andrei Geacar <andrei.geacar@gmail.com>
+Andrew Gaul <andrew@gaul.org>
+Andrey Bulgakov <mail@andreiko.ru>
+Andrés Delfino <34587441+andresdelfino@users.noreply.github.com>
+Andrés Delfino <adelfino@gmail.com>
+Andy Freeland <andy.freeland@redjack.com>
+Andy Freeland <andy@andyfreeland.net>
+Andy Kluger <AndydeCleyre@users.noreply.github.com>
+Ani Hayrapetyan <ahayrapetya2@bloomberg.net>
+Aniruddha Basak <codewithaniruddha@gmail.com>
+Anish Tambe <anish.tambe@yahoo.in>
+Anrs Hu <anrs@douban.com>
+Anthony Sottile <asottile@umich.edu>
+Antoine Musso <hashar@free.fr>
+Anton Ovchinnikov <revolver112@gmail.com>
+Anton Patrushev <apatrushev@gmail.com>
+Antonio Alvarado Hernandez <tnotstar@gmail.com>
+Antony Lee <anntzer.lee@gmail.com>
+Antti Kaihola <akaihol+github@ambitone.com>
+Anubhav Patel <anubhavp28@gmail.com>
+Anuj Godase <godaseanuj@gmail.com>
+AQNOUCH Mohammed <aqnouch.mohammed@gmail.com>
+AraHaan <seandhunt_7@yahoo.com>
+Arindam Choudhury <arindam@live.com>
+Armin Ronacher <armin.ronacher@active-4.com>
+Artem <duketemon@users.noreply.github.com>
+Ashley Manton <ajd.manton@googlemail.com>
+Ashwin Ramaswami <aramaswamis@gmail.com>
+atse <atse@users.noreply.github.com>
+Atsushi Odagiri <aodagx@gmail.com>
+Avner Cohen <israbirding@gmail.com>
+Baptiste Mispelon <bmispelon@gmail.com>
+Barney Gale <barney.gale@gmail.com>
+barneygale <barney.gale@gmail.com>
+Bartek Ogryczak <b.ogryczak@gmail.com>
+Bastian Venthur <mail@venthur.de>
+Ben Darnell <ben@bendarnell.com>
+Ben Hoyt <benhoyt@gmail.com>
+Ben Rosser <rosser.bjr@gmail.com>
+Bence Nagy <bence@underyx.me>
+Benjamin Peterson <benjamin@python.org>
+Benjamin VanEvery <ben@simondata.com>
+Benoit Pierre <benoit.pierre@gmail.com>
+Berker Peksag <berker.peksag@gmail.com>
+Bernardo B. Marques <bernardo.fire@gmail.com>
+Bernhard M. Wiedemann <bwiedemann@suse.de>
+Bertil Hatt <bertil.hatt@farfetch.com>
+Bogdan Opanchuk <bogdan@opanchuk.net>
+BorisZZZ <BorisZZZ@users.noreply.github.com>
+Brad Erickson <eosrei@gmail.com>
+Bradley Ayers <bradley.ayers@gmail.com>
+Brandon L. Reiss <brandon@damyata.co>
+Brandt Bucher <brandtbucher@gmail.com>
+Brett Randall <javabrett@gmail.com>
+Brian Cristante <33549821+brcrista@users.noreply.github.com>
+Brian Cristante <brcrista@microsoft.com>
+Brian Rosner <brosner@gmail.com>
+BrownTruck <BrownTruck@users.noreply.github.com>
+Bruno Oliveira <nicoddemus@gmail.com>
+Bruno Renié <brutasse@gmail.com>
+Bstrdsmkr <bstrdsmkr@gmail.com>
+Buck Golemon <buck@yelp.com>
+burrows <burrows@preveil.com>
+Bussonnier Matthias <bussonniermatthias@gmail.com>
+c22 <c22@users.noreply.github.com>
+Caleb Martinez <accounts@calebmartinez.com>
+Calvin Smith <eukaryote@users.noreply.github.com>
+Carl Meyer <carl@oddbird.net>
+Carlos Liam <carlos@aarzee.me>
+Carol Willing <carolcode@willingconsulting.com>
+Carter Thayer <carterwthayer@gmail.com>
+Cass <cass.petrus@gmail.com>
+Chandrasekhar Atina <chandu.atina@gmail.com>
+Chih-Hsuan Yen <yan12125@gmail.com>
+Chih-Hsuan Yen <yen@chyen.cc>
+Chris Brinker <chris.brinker@gmail.com>
+Chris Hunt <chrahunt@gmail.com>
+Chris Jerdonek <chris.jerdonek@gmail.com>
+Chris McDonough <chrism@plope.com>
+Chris Wolfe <chriswwolfe@gmail.com>
+Christian Heimes <christian@python.org>
+Christian Oudard <christian.oudard@gmail.com>
+Christopher Hunt <chrahunt@gmail.com>
+Christopher Snyder <cnsnyder@users.noreply.github.com>
+Clark Boylan <clark.boylan@gmail.com>
+Clay McClure <clay@daemons.net>
+Cody <Purring@users.noreply.github.com>
+Cody Soyland <codysoyland@gmail.com>
+Colin Watson <cjwatson@debian.org>
+Connor Osborn <cdosborn@email.arizona.edu>
+Cooper Lees <me@cooperlees.com>
+Cooper Ry Lees <me@cooperlees.com>
+Cory Benfield <lukasaoz@gmail.com>
+Cory Wright <corywright@gmail.com>
+Craig Kerstiens <craig.kerstiens@gmail.com>
+Cristian Sorinel <cristian.sorinel@gmail.com>
+Curtis Doty <Curtis@GreenKey.net>
+cytolentino <ctolentino8@bloomberg.net>
+Damian Quiroga <qdamian@gmail.com>
+Dan Black <dyspop@gmail.com>
+Dan Savilonis <djs@n-cube.org>
+Dan Sully <daniel-github@electricrain.com>
+daniel <mcdonaldd@unimelb.edu.au>
+Daniel Collins <accounts@dac.io>
+Daniel Hahler <git@thequod.de>
+Daniel Holth <dholth@fastmail.fm>
+Daniel Jost <torpedojost@gmail.com>
+Daniel Shaulov <daniel.shaulov@gmail.com>
+Daniele Esposti <expobrain@users.noreply.github.com>
+Daniele Procida <daniele@vurt.org>
+Danny Hermes <daniel.j.hermes@gmail.com>
+Dav Clark <davclark@gmail.com>
+Dave Abrahams <dave@boostpro.com>
+Dave Jones <dave@waveform.org.uk>
+David Aguilar <davvid@gmail.com>
+David Black <db@d1b.org>
+David Bordeynik <david.bordeynik@gmail.com>
+David Bordeynik <david@zebra-med.com>
+David Caro <david@dcaro.es>
+David Evans <d@drhevans.com>
+David Linke <dr.david.linke@gmail.com>
+David Pursehouse <david.pursehouse@gmail.com>
+David Tucker <david@tucker.name>
+David Wales <daviewales@gmail.com>
+Davidovich <david.genest@gmail.com>
+derwolfe <chriswwolfe@gmail.com>
+Desetude <harry@desetude.com>
+Diego Caraballo <diegocaraballo84@gmail.com>
+DiegoCaraballo <diegocaraballo84@gmail.com>
+Dmitry Gladkov <dmitry.gladkov@gmail.com>
+Domen Kožar <domen@dev.si>
+Donald Stufft <donald@stufft.io>
+Dongweiming <dongweiming@admaster.com.cn>
+Douglas Thor <dougthor42@users.noreply.github.com>
+DrFeathers <WilliamGeorgeBurgess@gmail.com>
+Dustin Ingram <di@di.codes>
+Dwayne Bailey <dwayne@translate.org.za>
+Ed Morley <501702+edmorley@users.noreply.github.com>
+Ed Morley <emorley@mozilla.com>
+Eitan Adler <lists@eitanadler.com>
+ekristina <panacejja@gmail.com>
+elainechan <elaine.chan@outlook.com>
+Eli Schwartz <eschwartz93@gmail.com>
+Eli Schwartz <eschwartz@archlinux.org>
+Emil Burzo <contact@emilburzo.com>
+Emil Styrke <emil.styrke@gmail.com>
+Endoh Takanao <djmchl@gmail.com>
+enoch <lanxenet@gmail.com>
+Erdinc Mutlu <erdinc_mutlu@yahoo.com>
+Eric Gillingham <Gillingham@bikezen.net>
+Eric Hanchrow <eric.hanchrow@gmail.com>
+Eric Hopper <hopper@omnifarious.org>
+Erik M. Bray <embray@stsci.edu>
+Erik Rose <erik@mozilla.com>
+Ernest W Durbin III <ewdurbin@gmail.com>
+Ernest W. Durbin III <ewdurbin@gmail.com>
+Erwin Janssen <erwinjanssen@outlook.com>
+Eugene Vereshchagin <evvers@gmail.com>
+everdimension <everdimension@gmail.com>
+Felix Yan <felixonmars@archlinux.org>
+fiber-space <fiber-space@users.noreply.github.com>
+Filip Kokosiński <filip.kokosinski@gmail.com>
+Florian Briand <ownerfrance+github@hotmail.com>
+Florian Rathgeber <florian.rathgeber@gmail.com>
+Francesco <f.guerrieri@gmail.com>
+Francesco Montesano <franz.bergesund@gmail.com>
+Frost Ming <mianghong@gmail.com>
+Gabriel Curio <g.curio@gmail.com>
+Gabriel de Perthuis <g2p.code@gmail.com>
+Garry Polley <garrympolley@gmail.com>
+gdanielson <graeme.danielson@gmail.com>
+Geoffrey Lehée <geoffrey@lehee.name>
+Geoffrey Sneddon <me@gsnedders.com>
+George Song <george@55minutes.com>
+Georgi Valkov <georgi.t.valkov@gmail.com>
+Giftlin Rajaiah <giftlin.rgn@gmail.com>
+gizmoguy1 <gizmoguy1@gmail.com>
+gkdoc <40815324+gkdoc@users.noreply.github.com>
+Gopinath M <31352222+mgopi1990@users.noreply.github.com>
+GOTO Hayato <3532528+gh640@users.noreply.github.com>
+gpiks <gaurav.pikale@gmail.com>
+Guilherme Espada <porcariadagata@gmail.com>
+Guy Rozendorn <guy@rzn.co.il>
+gzpan123 <gzpan123@gmail.com>
+Hanjun Kim <hallazzang@gmail.com>
+Hari Charan <hcharan997@gmail.com>
+Harsh Vardhan <harsh59v@gmail.com>
+Herbert Pfennig <herbert@albinen.com>
+Hsiaoming Yang <lepture@me.com>
+Hugo <hugovk@users.noreply.github.com>
+Hugo Lopes Tavares <hltbra@gmail.com>
+Hugo van Kemenade <hugovk@users.noreply.github.com>
+hugovk <hugovk@users.noreply.github.com>
+Hynek Schlawack <hs@ox.cx>
+Ian Bicking <ianb@colorstudy.com>
+Ian Cordasco <graffatcolmingov@gmail.com>
+Ian Lee <IanLee1521@gmail.com>
+Ian Stapleton Cordasco <graffatcolmingov@gmail.com>
+Ian Wienand <ian@wienand.org>
+Ian Wienand <iwienand@redhat.com>
+Igor Kuzmitshov <kuzmiigo@gmail.com>
+Igor Sobreira <igor@igorsobreira.com>
+Ilya Baryshev <baryshev@gmail.com>
+INADA Naoki <songofacandy@gmail.com>
+Ionel Cristian Mărieș <contact@ionelmc.ro>
+Ionel Maries Cristian <ionel.mc@gmail.com>
+Ivan Pozdeev <vano@mail.mipt.ru>
+Jacob Kim <me@thejacobkim.com>
+jakirkham <jakirkham@gmail.com>
+Jakub Stasiak <kuba.stasiak@gmail.com>
+Jakub Vysoky <jakub@borka.cz>
+Jakub Wilk <jwilk@jwilk.net>
+James Cleveland <jamescleveland@gmail.com>
+James Cleveland <radiosilence@users.noreply.github.com>
+James Firth <hello@james-firth.com>
+James Polley <jp@jamezpolley.com>
+Jan Pokorný <jpokorny@redhat.com>
+Jannis Leidel <jannis@leidel.info>
+jarondl <me@jarondl.net>
+Jason R. Coombs <jaraco@jaraco.com>
+Jay Graves <jay@skabber.com>
+Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
+Jeff Barber <jbarber@computer.org>
+Jeff Dairiki <dairiki@dairiki.org>
+Jelmer Vernooij <jelmer@jelmer.uk>
+jenix21 <devfrog@gmail.com>
+Jeremy Stanley <fungi@yuggoth.org>
+Jeremy Zafran <jzafran@users.noreply.github.com>
+Jiashuo Li <jiasli@microsoft.com>
+Jim Garrison <jim@garrison.cc>
+Jivan Amara <Development@JivanAmara.net>
+John Paton <j.paton@catawiki.nl>
+John-Scott Atlakson <john.scott.atlakson@gmail.com>
+johnthagen <johnthagen@gmail.com>
+johnthagen <johnthagen@users.noreply.github.com>
+Jon Banafato <jon@jonafato.com>
+Jon Dufresne <jon.dufresne@gmail.com>
+Jon Parise <jon@indelible.org>
+Jonas Nockert <jonasnockert@gmail.com>
+Jonathan Herbert <foohyfooh@gmail.com>
+Joost Molenaar <j.j.molenaar@gmail.com>
+Jorge Niedbalski <niedbalski@gmail.com>
+Joseph Long <jdl@fastmail.fm>
+Josh Bronson <jabronson@gmail.com>
+Josh Hansen <josh@skwash.net>
+Josh Schneier <josh.schneier@gmail.com>
+Juanjo Bazán <jjbazan@gmail.com>
+Julian Berman <Julian@GrayVines.com>
+Julian Gethmann <julian.gethmann@kit.edu>
+Julien Demoor <julien@jdemoor.com>
+jwg4 <jack.grahl@yahoo.co.uk>
+Jyrki Pulliainen <jyrki@spotify.com>
+Kai Chen <kaichen120@gmail.com>
+Kamal Bin Mustafa <kamal@smach.net>
+kaustav haldar <hi@kaustav.me>
+keanemind <keanemind@gmail.com>
+Keith Maxwell <keith.maxwell@gmail.com>
+Kelsey Hightower <kelsey.hightower@gmail.com>
+Kenneth Belitzky <kenny@belitzky.com>
+Kenneth Reitz <me@kennethreitz.com>
+Kenneth Reitz <me@kennethreitz.org>
+Kevin Burke <kev@inburke.com>
+Kevin Carter <kevin.carter@rackspace.com>
+Kevin Frommelt <kevin.frommelt@webfilings.com>
+Kevin R Patterson <kevin.r.patterson@intel.com>
+Kexuan Sun <me@kianasun.com>
+Kit Randel <kit@nocturne.net.nz>
+kpinc <kop@meme.com>
+Krishna Oza <krishoza15sep@gmail.com>
+Kumar McMillan <kumar.mcmillan@gmail.com>
+Kyle Persohn <kyle.persohn@gmail.com>
+lakshmanaram <lakshmanaram.n@gmail.com>
+Laszlo Kiss-Kollar <kiss.kollar.laszlo@gmail.com>
+Laurent Bristiel <laurent@bristiel.com>
+Laurie Opperman <laurie@sitesee.com.au>
+Leon Sasson <leonsassonha@gmail.com>
+Lev Givon <lev@columbia.edu>
+Lincoln de Sousa <lincoln@comum.org>
+Lipis <lipiridis@gmail.com>
+Loren Carvalho <lcarvalho@linkedin.com>
+Lucas Cimon <lucas.cimon@gmail.com>
+Ludovic Gasc <gmludo@gmail.com>
+Luke Macken <lmacken@redhat.com>
+Luo Jiebin <luo.jiebin@qq.com>
+luojiebin <luojiebin@users.noreply.github.com>
+luz.paz <luzpaz@users.noreply.github.com>
+László Kiss Kollár <lkisskollar@bloomberg.net>
+László Kiss Kollár <lkollar@users.noreply.github.com>
+Marc Abramowitz <marc@marc-abramowitz.com>
+Marc Tamlyn <marc.tamlyn@gmail.com>
+Marcus Smith <qwcode@gmail.com>
+Mariatta <Mariatta@users.noreply.github.com>
+Mark Kohler <mark.kohler@proteinsimple.com>
+Mark Williams <markrwilliams@gmail.com>
+Mark Williams <mrw@enotuniq.org>
+Markus Hametner <fin+github@xbhd.org>
+Masaki <mk5986@nyu.edu>
+Masklinn <bitbucket.org@masklinn.net>
+Matej Stuchlik <mstuchli@redhat.com>
+Mathew Jennings <mjennings@foursquare.com>
+Mathieu Bridon <bochecha@daitauha.fr>
+Matt Good <matt@matt-good.net>
+Matt Maker <trip@monstro.us>
+Matt Robenolt <matt@ydekproductions.com>
+matthew <matthew@trumbell.net>
+Matthew Einhorn <moiein2000@gmail.com>
+Matthew Gilliard <matthew.gilliard@gmail.com>
+Matthew Iversen <teh.ivo@gmail.com>
+Matthew Trumbell <matthew@thirdstonepartners.com>
+Matthew Willson <matthew@swiftkey.com>
+Matthias Bussonnier <bussonniermatthias@gmail.com>
+mattip <matti.picus@gmail.com>
+Maxim Kurnikov <maxim.kurnikov@gmail.com>
+Maxime Rouyrre <rouyrre+git@gmail.com>
+mayeut <mayeut@users.noreply.github.com>
+mbaluna <44498973+mbaluna@users.noreply.github.com>
+mdebi <17590103+mdebi@users.noreply.github.com>
+memoselyk <memoselyk@gmail.com>
+Michael <michael-k@users.noreply.github.com>
+Michael Aquilina <michaelaquilina@gmail.com>
+Michael E. Karpeles <michael.karpeles@gmail.com>
+Michael Klich <michal@michalklich.com>
+Michael Williamson <mike@zwobble.org>
+michaelpacer <michaelpacer@gmail.com>
+Mickaël Schoentgen <mschoentgen@nuxeo.com>
+Miguel Araujo Perez <miguel.araujo.perez@gmail.com>
+Mihir Singh <git.service@mihirsingh.com>
+Mike <mikeh@blur.com>
+Mike Hendricks <mikeh@blur.com>
+Min RK <benjaminrk@gmail.com>
+MinRK <benjaminrk@gmail.com>
+Miro Hrončok <miro@hroncok.cz>
+Monica Baluna <mbaluna@bloomberg.net>
+montefra <franz.bergesund@gmail.com>
+Monty Taylor <mordred@inaugust.com>
+Nate Coraor <nate@bx.psu.edu>
+Nathaniel J. Smith <njs@pobox.com>
+Nehal J Wani <nehaljw.kkd1@gmail.com>
+Neil Botelho <neil.botelho321@gmail.com>
+Nick Coghlan <ncoghlan@gmail.com>
+Nick Stenning <nick@whiteink.com>
+Nick Timkovich <prometheus235@gmail.com>
+Nicolas Bock <nicolasbock@gmail.com>
+Nikhil Benesch <nikhil.benesch@gmail.com>
+Nitesh Sharma <nbsharma@outlook.com>
+Nowell Strite <nowell@strite.org>
+NtaleGrey <Shadikntale@gmail.com>
+nvdv <modestdev@gmail.com>
+Ofekmeister <ofekmeister@gmail.com>
+ofrinevo <ofrine@gmail.com>
+Oliver Jeeves <oliver.jeeves@ocado.com>
+Oliver Tonnhofer <olt@bogosoft.com>
+Olivier Girardot <ssaboum@gmail.com>
+Olivier Grisel <olivier.grisel@ensta.org>
+Ollie Rutherfurd <orutherfurd@gmail.com>
+OMOTO Kenji <k-omoto@m3.com>
+Omry Yadan <omry@fb.com>
+Oren Held <orenhe@il.ibm.com>
+Oscar Benjamin <oscar.j.benjamin@gmail.com>
+Oz N Tiram <oz.tiram@gmail.com>
+Pachwenko <32424503+Pachwenko@users.noreply.github.com>
+Patrick Dubroy <pdubroy@gmail.com>
+Patrick Jenkins <patrick@socialgrowthtechnologies.com>
+Patrick Lawson <pl@foursquare.com>
+patricktokeeffe <patricktokeeffe@users.noreply.github.com>
+Patrik Kopkan <pkopkan@redhat.com>
+Paul Kehrer <paul.l.kehrer@gmail.com>
+Paul Moore <p.f.moore@gmail.com>
+Paul Nasrat <pnasrat@gmail.com>
+Paul Oswald <pauloswald@gmail.com>
+Paul van der Linden <mail@paultjuh.org>
+Paulus Schoutsen <paulus@paulusschoutsen.nl>
+Pavithra Eswaramoorthy <33131404+QueenCoffee@users.noreply.github.com>
+Pawel Jasinski <pawel.jasinski@gmail.com>
+Pekka Klärck <peke@iki.fi>
+Peter Lisák <peter.lisak@showmax.com>
+Peter Waller <peter.waller@gmail.com>
+petr-tik <petr-tik@users.noreply.github.com>
+Phaneendra Chiruvella <hi@pcx.io>
+Phil Freo <phil@philfreo.com>
+Phil Pennock <phil@pennock-tech.com>
+Phil Whelan <phil123@gmail.com>
+Philip Jägenstedt <philip@foolip.org>
+Philip Molloy <pamolloy@users.noreply.github.com>
+Philippe Ombredanne <pombredanne@gmail.com>
+Pi Delport <pjdelport@gmail.com>
+Pierre-Yves Rofes <github@rofes.fr>
+pip <pypa-dev@googlegroups.com>
+Prabakaran Kumaresshan <k_prabakaran+github@hotmail.com>
+Prabhjyotsing Surjit Singh Sodhi <psinghsodhi@bloomberg.net>
+Prabhu Marappan <prabhum.794@gmail.com>
+Pradyun Gedam <pradyunsg@gmail.com>
+Pratik Mallya <mallya@us.ibm.com>
+Preet Thakkar <preet.thakkar@students.iiit.ac.in>
+Preston Holmes <preston@ptone.com>
+Przemek Wrzos <hetmankp@none>
+Pulkit Goyal <7895pulkit@gmail.com>
+Qiangning Hong <hongqn@gmail.com>
+Quentin Pradet <quentin.pradet@gmail.com>
+R. David Murray <rdmurray@bitdance.com>
+Rafael Caricio <rafael.jacinto@gmail.com>
+Ralf Schmitt <ralf@systemexit.de>
+Razzi Abuissa <razzi53@gmail.com>
+rdb <rdb@users.noreply.github.com>
+Remi Rampin <r@remirampin.com>
+Remi Rampin <remirampin@gmail.com>
+Rene Dudfield <renesd@gmail.com>
+Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
+Richard Jones <r1chardj0n3s@gmail.com>
+RobberPhex <robberphex@gmail.com>
+Robert Collins <rbtcollins@hp.com>
+Robert McGibbon <rmcgibbo@gmail.com>
+Robert T. McGibbon <rmcgibbo@gmail.com>
+robin elisha robinson <elisha.rob@gmail.com>
+Roey Berman <roey.berman@gmail.com>
+Rohan Jain <crodjer@gmail.com>
+Rohan Jain <crodjer@users.noreply.github.com>
+Rohan Jain <mail@rohanjain.in>
+Roman Bogorodskiy <roman.bogorodskiy@ericsson.com>
+Romuald Brunet <romuald@chivil.com>
+Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
+Rory McCann <rory@technomancy.org>
+Ross Brattain <ross.b.brattain@intel.com>
+Roy Wellington Ⅳ <cactus_hugged@yahoo.com>
+Roy Wellington Ⅳ <roy@mybasis.com>
+Ryan Wooden <rygwdn@gmail.com>
+ryneeverett <ryneeverett@gmail.com>
+Sachi King <nakato@nakato.io>
+Salvatore Rinchiera <salvatore@rinchiera.com>
+Savio Jomton <sajo240519@gmail.com>
+schlamar <marc.schlaich@gmail.com>
+Scott Kitterman <sklist@kitterman.com>
+Sean <me@sean.taipei>
+seanj <seanj@xyke.com>
+Sebastian Jordan <sebastian.jordan.mail@googlemail.com>
+Sebastian Schaetz <sschaetz@butterflynetinc.com>
+Segev Finer <segev208@gmail.com>
+SeongSoo Cho <ppiyakk2@printf.kr>
+Sergey Vasilyev <nolar@nolar.info>
+Seth Woodworth <seth@sethish.com>
+Shlomi Fish <shlomif@shlomifish.org>
+Shovan Maity <shovan.maity@mayadata.io>
+Simeon Visser <svisser@users.noreply.github.com>
+Simon Cross <hodgestar@gmail.com>
+Simon Pichugin <simon.pichugin@gmail.com>
+sinoroc <sinoroc.code+git@gmail.com>
+Sorin Sbarnea <sorin.sbarnea@gmail.com>
+Stavros Korokithakis <stavros@korokithakis.net>
+Stefan Scherfke <stefan@sofa-rockers.org>
+Stephan Erb <github@stephanerb.eu>
+stepshal <nessento@openmailbox.org>
+Steve (Gadget) Barnes <gadgetsteve@hotmail.com>
+Steve Barnes <gadgetsteve@hotmail.com>
+Steve Dower <steve.dower@microsoft.com>
+Steve Kowalik <steven@wedontsleep.org>
+Steven Myint <git@stevenmyint.com>
+stonebig <stonebig34@gmail.com>
+Stéphane Bidoul (ACSONE) <stephane.bidoul@acsone.eu>
+Stéphane Bidoul <stephane.bidoul@acsone.eu>
+Stéphane Klein <contact@stephane-klein.info>
+Sumana Harihareswara <sh@changeset.nyc>
+Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
+Sviatoslav Sydorenko <wk@sydorenko.org.ua>
+Swat009 <swatantra.kumar8@gmail.com>
+Takayuki SHIMIZUKAWA <shimizukawa@gmail.com>
+tbeswick <tbeswick@enphaseenergy.com>
+Thijs Triemstra <info@collab.nl>
+Thomas Fenzl <thomas.fenzl@gmail.com>
+Thomas Grainger <tagrain@gmail.com>
+Thomas Guettler <tguettler@tbz-pariv.de>
+Thomas Johansson <devnull@localhost>
+Thomas Kluyver <thomas@kluyver.me.uk>
+Thomas Smith <smithtg@ncbi.nlm.nih.gov>
+Tim D. Smith <github@tim-smith.us>
+Tim Gates <tim.gates@iress.com>
+Tim Harder <radhermit@gmail.com>
+Tim Heap <tim@timheap.me>
+tim smith <github@tim-smith.us>
+tinruufu <tinruufu@gmail.com>
+Tom Forbes <tom@tomforb.es>
+Tom Freudenheim <tom.freudenheim@onepeloton.com>
+Tom V <tom@viner.tv>
+Tomas Orsava <torsava@redhat.com>
+Tomer Chachamu <tomer.chachamu@gmail.com>
+Tony Beswick <tonybeswick@orcon.net.nz>
+Tony Zhaocheng Tan <tony@tonytan.io>
+TonyBeswick <TonyBeswick@users.noreply.github.com>
+toonarmycaptain <toonarmycaptain@hotmail.com>
+Toshio Kuratomi <toshio@fedoraproject.org>
+Travis Swicegood <development@domain51.com>
+Tzu-ping Chung <uranusjr@gmail.com>
+Valentin Haenel <valentin.haenel@gmx.de>
+Victor Stinner <victor.stinner@gmail.com>
+victorvpaulo <victorvpaulo@gmail.com>
+Viktor Szépe <viktor@szepe.net>
+Ville Skyttä <ville.skytta@iki.fi>
+Vinay Sajip <vinay_sajip@yahoo.co.uk>
+Vincent Philippon <sindaewoh@gmail.com>
+Vinicyus Macedo <7549205+vinicyusmacedo@users.noreply.github.com>
+Vitaly Babiy <vbabiy86@gmail.com>
+Vladimir Rutsky <rutsky@users.noreply.github.com>
+W. Trevor King <wking@drexel.edu>
+Wil Tan <wil@dready.org>
+Wilfred Hughes <me@wilfred.me.uk>
+William ML Leslie <william.leslie.ttg@gmail.com>
+William T Olson <trevor@heytrevor.com>
+Wilson Mo <wilsonfv@126.com>
+wim glenn <wim.glenn@gmail.com>
+Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de>
+Xavier Fernandez <xav.fernandez@gmail.com>
+Xavier Fernandez <xavier.fernandez@polyconseil.fr>
+xoviat <xoviat@users.noreply.github.com>
+xtreak <tir.karthi@gmail.com>
+YAMAMOTO Takashi <yamamoto@midokura.com>
+Yen Chi Hsuan <yan12125@gmail.com>
+Yeray Diaz Diaz <yeraydiazdiaz@gmail.com>
+Yoval P <yoval@gmx.com>
+Yu Jian <askingyj@gmail.com>
+Yuan Jing Vincent Yan <yyan82@bloomberg.net>
+Zearin <zearin@gonk.net>
+Zearin <Zearin@users.noreply.github.com>
+Zhiping Deng <kofreestyler@gmail.com>
+Zvezdan Petkovic <zpetkovic@acm.org>
+Łukasz Langa <lukasz@langa.pl>
+Семён Марьясин <simeon@maryasin.name>
diff --git a/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/INSTALLER b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/INSTALLER
new file mode 100644
index 0000000..a1b589e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/INSTALLER
@@ -0,0 +1 @@
+pip
diff --git a/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/LICENSE.txt b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/LICENSE.txt
new file mode 100644
index 0000000..737fec5
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2008-2019 The pip developers (see AUTHORS.txt file)
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/METADATA b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/METADATA
new file mode 100644
index 0000000..4adf953
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/METADATA
@@ -0,0 +1,82 @@
+Metadata-Version: 2.1
+Name: setuptools
+Version: 44.0.0
+Summary: Easily download, build, install, upgrade, and uninstall Python packages
+Home-page: https://github.com/pypa/setuptools
+Author: Python Packaging Authority
+Author-email: distutils-sig@python.org
+License: UNKNOWN
+Project-URL: Documentation, https://setuptools.readthedocs.io/
+Keywords: CPAN PyPI distutils eggs package management
+Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Classifier: Topic :: System :: Archiving :: Packaging
+Classifier: Topic :: System :: Systems Administration
+Classifier: Topic :: Utilities
+Requires-Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7
+Description-Content-Type: text/x-rst; charset=UTF-8
+
+.. image:: https://img.shields.io/pypi/v/setuptools.svg
+   :target: https://pypi.org/project/setuptools
+
+.. image:: https://img.shields.io/readthedocs/setuptools/latest.svg
+    :target: https://setuptools.readthedocs.io
+
+.. image:: https://img.shields.io/travis/pypa/setuptools/master.svg?label=Linux%20CI&logo=travis&logoColor=white
+   :target: https://travis-ci.org/pypa/setuptools
+
+.. image:: https://img.shields.io/appveyor/ci/pypa/setuptools/master.svg?label=Windows%20CI&logo=appveyor&logoColor=white
+   :target: https://ci.appveyor.com/project/pypa/setuptools/branch/master
+
+.. image:: https://img.shields.io/codecov/c/github/pypa/setuptools/master.svg?logo=codecov&logoColor=white
+   :target: https://codecov.io/gh/pypa/setuptools
+
+.. image:: https://tidelift.com/badges/github/pypa/setuptools?style=flat
+   :target: https://tidelift.com/subscription/pkg/pypi-setuptools?utm_source=pypi-setuptools&utm_medium=readme
+
+.. image:: https://img.shields.io/pypi/pyversions/setuptools.svg
+
+See the `Installation Instructions
+<https://packaging.python.org/installing/>`_ in the Python Packaging
+User's Guide for instructions on installing, upgrading, and uninstalling
+Setuptools.
+
+Questions and comments should be directed to the `distutils-sig
+mailing list <http://mail.python.org/pipermail/distutils-sig/>`_.
+Bug reports and especially tested patches may be
+submitted directly to the `bug tracker
+<https://github.com/pypa/setuptools/issues>`_.
+
+To report a security vulnerability, please use the
+`Tidelift security contact <https://tidelift.com/security>`_.
+Tidelift will coordinate the fix and disclosure.
+
+
+For Enterprise
+==============
+
+Available as part of the Tidelift Subscription.
+
+Setuptools and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.
+
+`Learn more <https://tidelift.com/subscription/pkg/pypi-setuptools?utm_source=pypi-setuptools&utm_medium=referral&utm_campaign=github>`_.
+
+Code of Conduct
+===============
+
+Everyone interacting in the setuptools project's codebases, issue trackers,
+chat rooms, and mailing lists is expected to follow the
+`PyPA Code of Conduct <https://www.pypa.io/en/latest/code-of-conduct/>`_.
+
+
diff --git a/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/RECORD b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/RECORD
new file mode 100644
index 0000000..b04f041
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/RECORD
@@ -0,0 +1,163 @@
+../../../bin/easy_install,sha256=_4a0Y0Rh68tG5bhgdCi3d1vi5zcDo1jItsjToaQN2Ys,266
+../../../bin/easy_install-3.8,sha256=_4a0Y0Rh68tG5bhgdCi3d1vi5zcDo1jItsjToaQN2Ys,266
+__pycache__/easy_install.cpython-38.pyc,,
+easy_install.py,sha256=MDC9vt5AxDsXX5qcKlBz2TnW6Tpuv_AobnfhCJ9X3PM,126
+setuptools-44.0.0.dist-info/AUTHORS.txt,sha256=RtqU9KfonVGhI48DAA4-yTOBUhBtQTjFhaDzHoyh7uU,21518
+setuptools-44.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
+setuptools-44.0.0.dist-info/LICENSE.txt,sha256=W6Ifuwlk-TatfRU2LR7W1JMcyMj5_y1NkRkOEJvnRDE,1090
+setuptools-44.0.0.dist-info/METADATA,sha256=L93fcafgVw4xoJUNG0lehyy0prVj-jU_JFxRh0ZUtos,3523
+setuptools-44.0.0.dist-info/RECORD,,
+setuptools-44.0.0.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
+setuptools-44.0.0.dist-info/dependency_links.txt,sha256=HlkCFkoK5TbZ5EMLbLKYhLcY_E31kBWD8TqW2EgmatQ,239
+setuptools-44.0.0.dist-info/entry_points.txt,sha256=ZmIqlp-SBdsBS2cuetmU2NdSOs4DG0kxctUR9UJ8Xk0,3150
+setuptools-44.0.0.dist-info/top_level.txt,sha256=2HUXVVwA4Pff1xgTFr3GsTXXKaPaO6vlG6oNJ_4u4Tg,38
+setuptools-44.0.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
+setuptools/__init__.py,sha256=WBpCcn2lvdckotabeae1TTYonPOcgCIF3raD2zRWzBc,7283
+setuptools/__pycache__/__init__.cpython-38.pyc,,
+setuptools/__pycache__/_deprecation_warning.cpython-38.pyc,,
+setuptools/__pycache__/_imp.cpython-38.pyc,,
+setuptools/__pycache__/archive_util.cpython-38.pyc,,
+setuptools/__pycache__/build_meta.cpython-38.pyc,,
+setuptools/__pycache__/config.cpython-38.pyc,,
+setuptools/__pycache__/dep_util.cpython-38.pyc,,
+setuptools/__pycache__/depends.cpython-38.pyc,,
+setuptools/__pycache__/dist.cpython-38.pyc,,
+setuptools/__pycache__/errors.cpython-38.pyc,,
+setuptools/__pycache__/extension.cpython-38.pyc,,
+setuptools/__pycache__/glob.cpython-38.pyc,,
+setuptools/__pycache__/installer.cpython-38.pyc,,
+setuptools/__pycache__/launch.cpython-38.pyc,,
+setuptools/__pycache__/lib2to3_ex.cpython-38.pyc,,
+setuptools/__pycache__/monkey.cpython-38.pyc,,
+setuptools/__pycache__/msvc.cpython-38.pyc,,
+setuptools/__pycache__/namespaces.cpython-38.pyc,,
+setuptools/__pycache__/package_index.cpython-38.pyc,,
+setuptools/__pycache__/py27compat.cpython-38.pyc,,
+setuptools/__pycache__/py31compat.cpython-38.pyc,,
+setuptools/__pycache__/py33compat.cpython-38.pyc,,
+setuptools/__pycache__/py34compat.cpython-38.pyc,,
+setuptools/__pycache__/sandbox.cpython-38.pyc,,
+setuptools/__pycache__/site-patch.cpython-38.pyc,,
+setuptools/__pycache__/ssl_support.cpython-38.pyc,,
+setuptools/__pycache__/unicode_utils.cpython-38.pyc,,
+setuptools/__pycache__/version.cpython-38.pyc,,
+setuptools/__pycache__/wheel.cpython-38.pyc,,
+setuptools/__pycache__/windows_support.cpython-38.pyc,,
+setuptools/_deprecation_warning.py,sha256=jU9-dtfv6cKmtQJOXN8nP1mm7gONw5kKEtiPtbwnZyI,218
+setuptools/_imp.py,sha256=jloslOkxrTKbobgemfP94YII0nhqiJzE1bRmCTZ1a5I,2223
+setuptools/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
+setuptools/_vendor/__pycache__/__init__.cpython-38.pyc,,
+setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc,,
+setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc,,
+setuptools/_vendor/__pycache__/six.cpython-38.pyc,,
+setuptools/_vendor/ordered_set.py,sha256=dbaCcs27dyN9gnMWGF5nA_BrVn6Q-NrjKYJpV9_fgBs,15130
+setuptools/_vendor/packaging/__about__.py,sha256=CpuMSyh1V7adw8QMjWKkY3LtdqRUkRX4MgJ6nF4stM0,744
+setuptools/_vendor/packaging/__init__.py,sha256=6enbp5XgRfjBjsI9-bn00HjHf5TH21PDMOKkJW8xw-w,562
+setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc,,
+setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc,,
+setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc,,
+setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc,,
+setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc,,
+setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc,,
+setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc,,
+setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc,,
+setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc,,
+setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc,,
+setuptools/_vendor/packaging/_compat.py,sha256=Ugdm-qcneSchW25JrtMIKgUxfEEBcCAz6WrEeXeqz9o,865
+setuptools/_vendor/packaging/_structures.py,sha256=pVd90XcXRGwpZRB_qdFuVEibhCHpX_bL5zYr9-N0mc8,1416
+setuptools/_vendor/packaging/markers.py,sha256=-meFl9Fr9V8rF5Rduzgett5EHK9wBYRUqssAV2pj0lw,8268
+setuptools/_vendor/packaging/requirements.py,sha256=3dwIJekt8RRGCUbgxX8reeAbgmZYjb0wcCRtmH63kxI,4742
+setuptools/_vendor/packaging/specifiers.py,sha256=0ZzQpcUnvrQ6LjR-mQRLzMr8G6hdRv-mY0VSf_amFtI,27778
+setuptools/_vendor/packaging/tags.py,sha256=EPLXhO6GTD7_oiWEO1U0l0PkfR8R_xivpMDHXnsTlts,12933
+setuptools/_vendor/packaging/utils.py,sha256=VaTC0Ei7zO2xl9ARiWmz2YFLFt89PuuhLbAlXMyAGms,1520
+setuptools/_vendor/packaging/version.py,sha256=Npdwnb8OHedj_2L86yiUqscujb7w_i5gmSK1PhOAFzg,11978
+setuptools/_vendor/pyparsing.py,sha256=tmrp-lu-qO1i75ZzIN5A12nKRRD1Cm4Vpk-5LR9rims,232055
+setuptools/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098
+setuptools/archive_util.py,sha256=kw8Ib_lKjCcnPKNbS7h8HztRVK0d5RacU3r_KRdVnmM,6592
+setuptools/build_meta.py,sha256=-9Nmj9YdbW4zX3TssPJZhsENrTa4fw3k86Jm1cdKMik,9597
+setuptools/cli-32.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536
+setuptools/cli-64.exe,sha256=KLABu5pyrnokJCv6skjXZ6GsXeyYHGcqOUT3oHI3Xpo,74752
+setuptools/cli.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536
+setuptools/command/__init__.py,sha256=QCAuA9whnq8Bnoc0bBaS6Lw_KAUO0DiHYZQXEMNn5hg,568
+setuptools/command/__pycache__/__init__.cpython-38.pyc,,
+setuptools/command/__pycache__/alias.cpython-38.pyc,,
+setuptools/command/__pycache__/bdist_egg.cpython-38.pyc,,
+setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc,,
+setuptools/command/__pycache__/bdist_wininst.cpython-38.pyc,,
+setuptools/command/__pycache__/build_clib.cpython-38.pyc,,
+setuptools/command/__pycache__/build_ext.cpython-38.pyc,,
+setuptools/command/__pycache__/build_py.cpython-38.pyc,,
+setuptools/command/__pycache__/develop.cpython-38.pyc,,
+setuptools/command/__pycache__/dist_info.cpython-38.pyc,,
+setuptools/command/__pycache__/easy_install.cpython-38.pyc,,
+setuptools/command/__pycache__/egg_info.cpython-38.pyc,,
+setuptools/command/__pycache__/install.cpython-38.pyc,,
+setuptools/command/__pycache__/install_egg_info.cpython-38.pyc,,
+setuptools/command/__pycache__/install_lib.cpython-38.pyc,,
+setuptools/command/__pycache__/install_scripts.cpython-38.pyc,,
+setuptools/command/__pycache__/py36compat.cpython-38.pyc,,
+setuptools/command/__pycache__/register.cpython-38.pyc,,
+setuptools/command/__pycache__/rotate.cpython-38.pyc,,
+setuptools/command/__pycache__/saveopts.cpython-38.pyc,,
+setuptools/command/__pycache__/sdist.cpython-38.pyc,,
+setuptools/command/__pycache__/setopt.cpython-38.pyc,,
+setuptools/command/__pycache__/test.cpython-38.pyc,,
+setuptools/command/__pycache__/upload.cpython-38.pyc,,
+setuptools/command/__pycache__/upload_docs.cpython-38.pyc,,
+setuptools/command/alias.py,sha256=KjpE0sz_SDIHv3fpZcIQK-sCkJz-SrC6Gmug6b9Nkc8,2426
+setuptools/command/bdist_egg.py,sha256=nnfV8Ah8IRC_Ifv5Loa9FdxL66MVbyDXwy-foP810zM,18185
+setuptools/command/bdist_rpm.py,sha256=B7l0TnzCGb-0nLlm6rS00jWLkojASwVmdhW2w5Qz_Ak,1508
+setuptools/command/bdist_wininst.py,sha256=_6dz3lpB1tY200LxKPLM7qgwTCceOMgaWFF-jW2-pm0,637
+setuptools/command/build_clib.py,sha256=bQ9aBr-5ZSO-9fGsGsDLz0mnnFteHUZnftVLkhvHDq0,4484
+setuptools/command/build_ext.py,sha256=Ib42YUGksBswm2mL5xmQPF6NeTA6HcqrvAtEgFCv32A,13019
+setuptools/command/build_py.py,sha256=yWyYaaS9F3o9JbIczn064A5g1C5_UiKRDxGaTqYbtLE,9596
+setuptools/command/develop.py,sha256=MQlnGS6uP19erK2JCNOyQYoYyquk3PADrqrrinqqLtA,8184
+setuptools/command/dist_info.py,sha256=5t6kOfrdgALT-P3ogss6PF9k-Leyesueycuk3dUyZnI,960
+setuptools/command/easy_install.py,sha256=0lY8Agxe-7IgMtxgxFuOY1NrDlBzOUlpCKsvayXlTYY,89903
+setuptools/command/egg_info.py,sha256=0e_TXrMfpa8nGTO7GmJcmpPCMWzliZi6zt9aMchlumc,25578
+setuptools/command/install.py,sha256=8doMxeQEDoK4Eco0mO2WlXXzzp9QnsGJQ7Z7yWkZPG8,4705
+setuptools/command/install_egg_info.py,sha256=4zq_Ad3jE-EffParuyDEnvxU6efB-Xhrzdr8aB6Ln_8,3195
+setuptools/command/install_lib.py,sha256=9zdc-H5h6RPxjySRhOwi30E_WfcVva7gpfhZ5ata60w,5023
+setuptools/command/install_scripts.py,sha256=UD0rEZ6861mTYhIdzcsqKnUl8PozocXWl9VBQ1VTWnc,2439
+setuptools/command/launcher manifest.xml,sha256=xlLbjWrB01tKC0-hlVkOKkiSPbzMml2eOPtJ_ucCnbE,628
+setuptools/command/py36compat.py,sha256=SzjZcOxF7zdFUT47Zv2n7AM3H8koDys_0OpS-n9gIfc,4986
+setuptools/command/register.py,sha256=kk3DxXCb5lXTvqnhfwx2g6q7iwbUmgTyXUCaBooBOUk,468
+setuptools/command/rotate.py,sha256=co5C1EkI7P0GGT6Tqz-T2SIj2LBJTZXYELpmao6d4KQ,2164
+setuptools/command/saveopts.py,sha256=za7QCBcQimKKriWcoCcbhxPjUz30gSB74zuTL47xpP4,658
+setuptools/command/sdist.py,sha256=IL1LepD2h8qGKOFJ3rrQVbjNH_Q6ViD40l0QADr4MEU,8088
+setuptools/command/setopt.py,sha256=NTWDyx-gjDF-txf4dO577s7LOzHVoKR0Mq33rFxaRr8,5085
+setuptools/command/test.py,sha256=u2kXngIIdSYqtvwFlHiN6Iye1IB4TU6uadB2uiV1szw,9602
+setuptools/command/upload.py,sha256=XT3YFVfYPAmA5qhGg0euluU98ftxRUW-PzKcODMLxUs,462
+setuptools/command/upload_docs.py,sha256=oXiGplM_cUKLwE4CWWw98RzCufAu8tBhMC97GegFcms,7311
+setuptools/config.py,sha256=6SB2OY3qcooOJmG_rsK_s0pKBsorBlDpfMJUyzjQIGk,20575
+setuptools/dep_util.py,sha256=fgixvC1R7sH3r13ktyf7N0FALoqEXL1cBarmNpSEoWg,935
+setuptools/depends.py,sha256=qt2RWllArRvhnm8lxsyRpcthEZYp4GHQgREl1q0LkFw,5517
+setuptools/dist.py,sha256=xtXaNsOsE32MwwQqErzgXJF7jsTQz9GYFRrwnPFQ0J0,49865
+setuptools/errors.py,sha256=MVOcv381HNSajDgEUWzOQ4J6B5BHCBMSjHfaWcEwA1o,524
+setuptools/extension.py,sha256=uc6nHI-MxwmNCNPbUiBnybSyqhpJqjbhvOQ-emdvt_E,1729
+setuptools/extern/__init__.py,sha256=4q9gtShB1XFP6CisltsyPqtcfTO6ZM9Lu1QBl3l-qmo,2514
+setuptools/extern/__pycache__/__init__.cpython-38.pyc,,
+setuptools/glob.py,sha256=o75cHrOxYsvn854thSxE0x9k8JrKDuhP_rRXlVB00Q4,5084
+setuptools/gui-32.exe,sha256=XBr0bHMA6Hpz2s9s9Bzjl-PwXfa9nH4ie0rFn4V2kWA,65536
+setuptools/gui-64.exe,sha256=aYKMhX1IJLn4ULHgWX0sE0yREUt6B3TEHf_jOw6yNyE,75264
+setuptools/gui.exe,sha256=XBr0bHMA6Hpz2s9s9Bzjl-PwXfa9nH4ie0rFn4V2kWA,65536
+setuptools/installer.py,sha256=TCFRonRo01I79zo-ucf3Ymhj8TenPlmhMijN916aaJs,5337
+setuptools/launch.py,sha256=sd7ejwhBocCDx_wG9rIs0OaZ8HtmmFU8ZC6IR_S0Lvg,787
+setuptools/lib2to3_ex.py,sha256=t5e12hbR2pi9V4ezWDTB4JM-AISUnGOkmcnYHek3xjg,2013
+setuptools/monkey.py,sha256=FGc9fffh7gAxMLFmJs2DW_OYWpBjkdbNS2n14UAK4NA,5264
+setuptools/msvc.py,sha256=8baJ6aYgCA4TRdWQQi185qB9dnU8FaP4wgpbmd7VODs,46751
+setuptools/namespaces.py,sha256=F0Nrbv8KCT2OrO7rwa03om4N4GZKAlnce-rr-cgDQa8,3199
+setuptools/package_index.py,sha256=rqhmbFUEf4WxndnKbtWmj_x8WCuZSuoCgA0K1syyCY8,40616
+setuptools/py27compat.py,sha256=tvmer0Tn-wk_JummCkoM22UIjpjL-AQ8uUiOaqTs8sI,1496
+setuptools/py31compat.py,sha256=h2rtZghOfwoGYd8sQ0-auaKiF3TcL3qX0bX3VessqcE,838
+setuptools/py33compat.py,sha256=SMF9Z8wnGicTOkU1uRNwZ_kz5Z_bj29PUBbqdqeeNsc,1330
+setuptools/py34compat.py,sha256=KYOd6ybRxjBW8NJmYD8t_UyyVmysppFXqHpFLdslGXU,245
+setuptools/sandbox.py,sha256=9UbwfEL5QY436oMI1LtFWohhoZ-UzwHvGyZjUH_qhkw,14276
+setuptools/script (dev).tmpl,sha256=RUzQzCQUaXtwdLtYHWYbIQmOaES5Brqq1FvUA_tu-5I,218
+setuptools/script.tmpl,sha256=WGTt5piezO27c-Dbx6l5Q4T3Ff20A5z7872hv3aAhYY,138
+setuptools/site-patch.py,sha256=OumkIHMuoSenRSW1382kKWI1VAwxNE86E5W8iDd34FY,2302
+setuptools/ssl_support.py,sha256=nLjPUBBw7RTTx6O4RJZ5eAMGgjJG8beiDbkFXDZpLuM,8493
+setuptools/unicode_utils.py,sha256=NOiZ_5hD72A6w-4wVj8awHFM3n51Kmw1Ic_vx15XFqw,996
+setuptools/version.py,sha256=og_cuZQb0QI6ukKZFfZWPlr1HgJBPPn2vO2m_bI9ZTE,144
+setuptools/wheel.py,sha256=zct-SEj5_LoHg6XELt2cVRdulsUENenCdS1ekM7TlZA,8455
+setuptools/windows_support.py,sha256=5GrfqSP2-dLGJoZTq2g6dCKkyQxxa2n5IQiXlJCoYEE,714
diff --git a/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/WHEEL b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/WHEEL
new file mode 100644
index 0000000..ef99c6c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/WHEEL
@@ -0,0 +1,6 @@
+Wheel-Version: 1.0
+Generator: bdist_wheel (0.34.2)
+Root-Is-Purelib: true
+Tag: py2-none-any
+Tag: py3-none-any
+
diff --git a/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/dependency_links.txt b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/dependency_links.txt
new file mode 100644
index 0000000..e87d021
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/dependency_links.txt
@@ -0,0 +1,2 @@
+https://files.pythonhosted.org/packages/source/c/certifi/certifi-2016.9.26.tar.gz#md5=baa81e951a29958563689d868ef1064d
+https://files.pythonhosted.org/packages/source/w/wincertstore/wincertstore-0.2.zip#md5=ae728f2f007185648d0c7a8679b361e2
diff --git a/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/entry_points.txt b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/entry_points.txt
new file mode 100644
index 0000000..0fed3f1
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/entry_points.txt
@@ -0,0 +1,68 @@
+[console_scripts]
+easy_install = setuptools.command.easy_install:main
+
+[distutils.commands]
+alias = setuptools.command.alias:alias
+bdist_egg = setuptools.command.bdist_egg:bdist_egg
+bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm
+bdist_wininst = setuptools.command.bdist_wininst:bdist_wininst
+build_clib = setuptools.command.build_clib:build_clib
+build_ext = setuptools.command.build_ext:build_ext
+build_py = setuptools.command.build_py:build_py
+develop = setuptools.command.develop:develop
+dist_info = setuptools.command.dist_info:dist_info
+easy_install = setuptools.command.easy_install:easy_install
+egg_info = setuptools.command.egg_info:egg_info
+install = setuptools.command.install:install
+install_egg_info = setuptools.command.install_egg_info:install_egg_info
+install_lib = setuptools.command.install_lib:install_lib
+install_scripts = setuptools.command.install_scripts:install_scripts
+rotate = setuptools.command.rotate:rotate
+saveopts = setuptools.command.saveopts:saveopts
+sdist = setuptools.command.sdist:sdist
+setopt = setuptools.command.setopt:setopt
+test = setuptools.command.test:test
+upload_docs = setuptools.command.upload_docs:upload_docs
+
+[distutils.setup_keywords]
+convert_2to3_doctests = setuptools.dist:assert_string_list
+dependency_links = setuptools.dist:assert_string_list
+eager_resources = setuptools.dist:assert_string_list
+entry_points = setuptools.dist:check_entry_points
+exclude_package_data = setuptools.dist:check_package_data
+extras_require = setuptools.dist:check_extras
+include_package_data = setuptools.dist:assert_bool
+install_requires = setuptools.dist:check_requirements
+namespace_packages = setuptools.dist:check_nsp
+package_data = setuptools.dist:check_package_data
+packages = setuptools.dist:check_packages
+python_requires = setuptools.dist:check_specifier
+setup_requires = setuptools.dist:check_requirements
+test_loader = setuptools.dist:check_importable
+test_runner = setuptools.dist:check_importable
+test_suite = setuptools.dist:check_test_suite
+tests_require = setuptools.dist:check_requirements
+use_2to3 = setuptools.dist:assert_bool
+use_2to3_exclude_fixers = setuptools.dist:assert_string_list
+use_2to3_fixers = setuptools.dist:assert_string_list
+zip_safe = setuptools.dist:assert_bool
+
+[egg_info.writers]
+PKG-INFO = setuptools.command.egg_info:write_pkg_info
+dependency_links.txt = setuptools.command.egg_info:overwrite_arg
+depends.txt = setuptools.command.egg_info:warn_depends_obsolete
+eager_resources.txt = setuptools.command.egg_info:overwrite_arg
+entry_points.txt = setuptools.command.egg_info:write_entries
+namespace_packages.txt = setuptools.command.egg_info:overwrite_arg
+requires.txt = setuptools.command.egg_info:write_requirements
+top_level.txt = setuptools.command.egg_info:write_toplevel_names
+
+[setuptools.finalize_distribution_options]
+2to3_doctests = setuptools.dist:Distribution._finalize_2to3_doctests
+features = setuptools.dist:Distribution._finalize_feature_opts
+keywords = setuptools.dist:Distribution._finalize_setup_keywords
+parent_finalize = setuptools.dist:_Distribution.finalize_options
+
+[setuptools.installation]
+eggsecutable = setuptools.command.easy_install:bootstrap
+
diff --git a/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/top_level.txt b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/top_level.txt
new file mode 100644
index 0000000..4577c6a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/top_level.txt
@@ -0,0 +1,3 @@
+easy_install
+pkg_resources
+setuptools
diff --git a/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/zip-safe b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/zip-safe
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/zip-safe
@@ -0,0 +1 @@
+
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__init__.py b/iot_env/lib/python3.8/site-packages/setuptools/__init__.py
new file mode 100644
index 0000000..a71b2bb
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/__init__.py
@@ -0,0 +1,228 @@
+"""Extensions to the 'distutils' for large or complex distributions"""
+
+import os
+import sys
+import functools
+import distutils.core
+import distutils.filelist
+import re
+from distutils.errors import DistutilsOptionError
+from distutils.util import convert_path
+from fnmatch import fnmatchcase
+
+from ._deprecation_warning import SetuptoolsDeprecationWarning
+
+from setuptools.extern.six import PY3, string_types
+from setuptools.extern.six.moves import filter, map
+
+import setuptools.version
+from setuptools.extension import Extension
+from setuptools.dist import Distribution, Feature
+from setuptools.depends import Require
+from . import monkey
+
+__metaclass__ = type
+
+
+__all__ = [
+    'setup', 'Distribution', 'Feature', 'Command', 'Extension', 'Require',
+    'SetuptoolsDeprecationWarning',
+    'find_packages'
+]
+
+if PY3:
+  __all__.append('find_namespace_packages')
+
+__version__ = setuptools.version.__version__
+
+bootstrap_install_from = None
+
+# If we run 2to3 on .py files, should we also convert docstrings?
+# Default: yes; assume that we can detect doctests reliably
+run_2to3_on_doctests = True
+# Standard package names for fixer packages
+lib2to3_fixer_packages = ['lib2to3.fixes']
+
+
+class PackageFinder:
+    """
+    Generate a list of all Python packages found within a directory
+    """
+
+    @classmethod
+    def find(cls, where='.', exclude=(), include=('*',)):
+        """Return a list all Python packages found within directory 'where'
+
+        'where' is the root directory which will be searched for packages.  It
+        should be supplied as a "cross-platform" (i.e. URL-style) path; it will
+        be converted to the appropriate local path syntax.
+
+        'exclude' is a sequence of package names to exclude; '*' can be used
+        as a wildcard in the names, such that 'foo.*' will exclude all
+        subpackages of 'foo' (but not 'foo' itself).
+
+        'include' is a sequence of package names to include.  If it's
+        specified, only the named packages will be included.  If it's not
+        specified, all found packages will be included.  'include' can contain
+        shell style wildcard patterns just like 'exclude'.
+        """
+
+        return list(cls._find_packages_iter(
+            convert_path(where),
+            cls._build_filter('ez_setup', '*__pycache__', *exclude),
+            cls._build_filter(*include)))
+
+    @classmethod
+    def _find_packages_iter(cls, where, exclude, include):
+        """
+        All the packages found in 'where' that pass the 'include' filter, but
+        not the 'exclude' filter.
+        """
+        for root, dirs, files in os.walk(where, followlinks=True):
+            # Copy dirs to iterate over it, then empty dirs.
+            all_dirs = dirs[:]
+            dirs[:] = []
+
+            for dir in all_dirs:
+                full_path = os.path.join(root, dir)
+                rel_path = os.path.relpath(full_path, where)
+                package = rel_path.replace(os.path.sep, '.')
+
+                # Skip directory trees that are not valid packages
+                if ('.' in dir or not cls._looks_like_package(full_path)):
+                    continue
+
+                # Should this package be included?
+                if include(package) and not exclude(package):
+                    yield package
+
+                # Keep searching subdirectories, as there may be more packages
+                # down there, even if the parent was excluded.
+                dirs.append(dir)
+
+    @staticmethod
+    def _looks_like_package(path):
+        """Does a directory look like a package?"""
+        return os.path.isfile(os.path.join(path, '__init__.py'))
+
+    @staticmethod
+    def _build_filter(*patterns):
+        """
+        Given a list of patterns, return a callable that will be true only if
+        the input matches at least one of the patterns.
+        """
+        return lambda name: any(fnmatchcase(name, pat=pat) for pat in patterns)
+
+
+class PEP420PackageFinder(PackageFinder):
+    @staticmethod
+    def _looks_like_package(path):
+        return True
+
+
+find_packages = PackageFinder.find
+
+if PY3:
+  find_namespace_packages = PEP420PackageFinder.find
+
+
+def _install_setup_requires(attrs):
+    # Note: do not use `setuptools.Distribution` directly, as
+    # our PEP 517 backend patch `distutils.core.Distribution`.
+    dist = distutils.core.Distribution(dict(
+        (k, v) for k, v in attrs.items()
+        if k in ('dependency_links', 'setup_requires')
+    ))
+    # Honor setup.cfg's options.
+    dist.parse_config_files(ignore_option_errors=True)
+    if dist.setup_requires:
+        dist.fetch_build_eggs(dist.setup_requires)
+
+
+def setup(**attrs):
+    # Make sure we have any requirements needed to interpret 'attrs'.
+    _install_setup_requires(attrs)
+    return distutils.core.setup(**attrs)
+
+setup.__doc__ = distutils.core.setup.__doc__
+
+
+_Command = monkey.get_unpatched(distutils.core.Command)
+
+
+class Command(_Command):
+    __doc__ = _Command.__doc__
+
+    command_consumes_arguments = False
+
+    def __init__(self, dist, **kw):
+        """
+        Construct the command for dist, updating
+        vars(self) with any keyword parameters.
+        """
+        _Command.__init__(self, dist)
+        vars(self).update(kw)
+
+    def _ensure_stringlike(self, option, what, default=None):
+        val = getattr(self, option)
+        if val is None:
+            setattr(self, option, default)
+            return default
+        elif not isinstance(val, string_types):
+            raise DistutilsOptionError("'%s' must be a %s (got `%s`)"
+                                       % (option, what, val))
+        return val
+
+    def ensure_string_list(self, option):
+        r"""Ensure that 'option' is a list of strings.  If 'option' is
+        currently a string, we split it either on /,\s*/ or /\s+/, so
+        "foo bar baz", "foo,bar,baz", and "foo,   bar baz" all become
+        ["foo", "bar", "baz"].
+        """
+        val = getattr(self, option)
+        if val is None:
+            return
+        elif isinstance(val, string_types):
+            setattr(self, option, re.split(r',\s*|\s+', val))
+        else:
+            if isinstance(val, list):
+                ok = all(isinstance(v, string_types) for v in val)
+            else:
+                ok = False
+            if not ok:
+                raise DistutilsOptionError(
+                      "'%s' must be a list of strings (got %r)"
+                      % (option, val))
+
+    def reinitialize_command(self, command, reinit_subcommands=0, **kw):
+        cmd = _Command.reinitialize_command(self, command, reinit_subcommands)
+        vars(cmd).update(kw)
+        return cmd
+
+
+def _find_all_simple(path):
+    """
+    Find all files under 'path'
+    """
+    results = (
+        os.path.join(base, file)
+        for base, dirs, files in os.walk(path, followlinks=True)
+        for file in files
+    )
+    return filter(os.path.isfile, results)
+
+
+def findall(dir=os.curdir):
+    """
+    Find all files under 'dir' and return the list of full filenames.
+    Unless dir is '.', return full filenames with dir prepended.
+    """
+    files = _find_all_simple(dir)
+    if dir == os.curdir:
+        make_rel = functools.partial(os.path.relpath, start=dir)
+        files = map(make_rel, files)
+    return list(files)
+
+
+# Apply monkey patches
+monkey.patch_all()
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..21b4df9310f6402b998c86681d7bb88fc86e96a2
GIT binary patch
literal 7768
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c410ecd0f541d6056031717cf6babcc294964c4a
GIT binary patch
literal 516
zcmWIL<>g{vU|{fR*`0EWfq~&Mh=Yt-7#J8F7#J9eMHm<u+!<0BQW#qpQW#Sinwg^*
zQ<#DoG?|l;)q~iKFg*ec3=F9ZQH&`JQA{a}QOpqaw`77-OG*n$^7C_wT~Z5*Qj-%)
zGV}Ao6N~aP^U|vpaVaP$C^#h+rz#}pBo-Gdq~#YWltUyHQV{Bk6*BV_5)z8xW+fzW
zfwhKYWEMlUW)>^t<(DX=q!wkCrKTvP73JqDBqU&3nvkHQkeHXEkXWoxT$-GrkXZ~i
zsVuWNGbtxkA*oU!B{eOvG^a!lEbgbta*HEAJ})shH9r0pSA2YKeoAQ$h|LopUs#%$
z1C?Qqk59=@j*nl-P{hW-03m)k>zCvf=oe%b=$7UcBqnF4rs$Suq^9QRR$5wA85@~b
z>La|QACKhWcxWK#6;u|1f*6F0nHU%tI2gfvKTW1v?9fmI3m`0ou-F+G7;bUcKpbla
J(*79~T>$odjd%b6

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/_imp.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/_imp.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..eaa89b2676dc3f891bc8e6283d264fef2c7caa30
GIT binary patch
literal 1890
zcmWIL<>g{vU|{fR*`2bUgMr~Oh=Yuo85kHG7#J9eV;C41QW&BbQW#U1au}l+!8B78
zGni(HVoqUBVaZ|5Ws72CWJqC-Voza>;z(hO;!I(W;!5F&;!fdD;Y{IbVT|HQ5lG=q
z;b~!v;!WXA;cH=t;!9x)X3!L@ir@-L)y>Q;$Vtsj%_~VP$;{7F$WK#9%gjrO&&^LM
z%}G^A%u7*7Pc4a0E6T4*&5O@Z%1TWx;YusY&s8YNNL5HlEhtJ&PAo}HQOL|KP{;*q
z(&Ksw@{!+5Mg|53O~zXS5MhuRx$(sXsmU*y7#J8{f_(at4a8z+U|>iFiGj3%Fed{8
z11kdqgEJ@~!WbDCN*J;j7ckW@)G#h&s%5HSN@2|AC{ik6PGPEH5MyX&Y+|fo%3>*Y
zDq*c*N?~qhDslqrU`t`CVaj3$=}BR&WlmwNWhvnRiIi|QGu5)zFlBM2uw^q9m(;Kp
zwUuy#Wf-z}vUr=BirPx}z&hAc*jX5A*=srS4uI8jWHS{nsbMYJhNPaqnW<=7i2$1V
z2_QF3U@Wo%>8oWc5zG==AY8+?kTHc*lA)HphP?!2mq<2S(UTOeJf;-xS`H+!UnQco
z%z0{15wUEx35-R2CE~Trc|uSz39y(#iDWHv4ReWTiFgJRSj4SFs)ntGqnW9eC66bC
zu@>%w8kQQi8ul8F8s;?SH0EFiO`a-quhQZYg`CXnR0Z|S+yXtMxYy8B*HK6+Em0`X
zEXhzPNKDR7OixuPE-fg?FDmi-#p|4yr(Ob1EDEZ{x1@?olc4cjoSImaoDrXspA1e?
z#Z}z#@tJv<CGqik1(h%V|NsC078@iz-D0TXNGi?DDbdZ$D*`2eTZ~1wn2M4#rEhU&
z=7Q|W$xOP%Qd*LkbBhz~G*I%n#q9}}b1f>$FS^B(kys43>lS-PVsT<gNzp9<kV;6B
z%gIknNiDj?2Bo<&i!<|zOA_;vQ*W`9R2HP(V#_beOwY`_#g$oHT$+@elUQ7Qi!(Pd
zIU_SKwW#tIpBp&wLo7`#y2Tj~8SfV4ALZ(Ii{A<4`pi6poO8TWsHaber{686{Nh_I
z1&JjYw>XLmaxzO&D@tzh2m6NxIlIOOhq}3WMz{up&4P&C5_F0Tadq~0L6YSTh>Umk
z_YLs$ado*R<Qfs;>KE+k?}yON?Hmsmy~UDWkea8-d5aAa54TuBmKWb*0fodZmh8;D
zlv^xmnK`LZY{j6=o?N8Jz`$^et++HTEwkblOKyHj>Pm(pLk0$hU&i_+xdr+KnFYF~
zd7zk2P0=mSNKMVrt+ceLGBz@=)GtmgDJ>|;&(A5=j|U~3g34Rm;245fE&|HAUZA|p
z#K*|N$ipbWD8R(R$O2}uFtGh+0rR*R1sIWe9E@y?0*oR|JdA9Nd|=GN#K*|P#KOqI
zRAh`^On^!d7FaQ%#ei8%6w8$`r!XQH5eryr7#1=HGpuCtE8+kZPi#f}3=9lK0w6*V
zL<oThF;K{GfC|3k{FGEp<|2^kMcN=K9S{KuBydO-8G%#^f>c71G_;7c1Nk3h0Rtl+
z*w;m7AlHLj3<?ww2Du!B!G)X}y6c&1m{DC{!cxQB%oxm2WCC(FD^_QNjMrpAIQAAx
zW?ou;5jH1tft(D9D_0D+T7axz^wVVY)8xO!9v`2QpBx`wqyX|NA3R^`fwCpo8MlNH
zg79n;#Z^#gY?7RxTaZ{%1aerB3Mk}29xc)UvE)I7EQkO_EI53MKo&#76)l80Y#?s6
f1Jx<T5)2FsEUX-i9E==HJj|eE1;)%=T3qY^rZ4Uw

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/archive_util.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/archive_util.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..712e0cbd28c3aa62d1ac66ae7c4bc5b7cecea4d2
GIT binary patch
literal 5128
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
E0L-klQUCw|

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/build_meta.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/build_meta.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..784f3550f850e25e8c84176d720427526f6265c2
GIT binary patch
literal 8495
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
b0ag()4qgsc4o(gZfeZmTHYPSkC}aTu_>iIW

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/config.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/config.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6f650215bdc3e136512cc5259c3f1ddeb85b41e4
GIT binary patch
literal 17896
zcmWIL<>g{vU|{fR*_{#}z`*br#6iX^3=9ko3=9m#{}>n;QW#Pga~N_NqZo6UqL>&#
ze5M@cDCQJ~6s8=OC>Aiy8pR5x*`nCMG<y_#3PTEW4o5C$6em~@OAdQ3R}>eR&6>lW
z%N@lHX0zq+<nl)Gg4ygje7XEl{J8>A0$@Hzj$p1(lu)j4lrWgjnIn=b8YK#5bLEKT
zibsj(N<>L8GNejINu@}o@TBmzFh)tI@TKs#Fht3u2&4$MFht3wNT&#;2)8gs$+<J6
zh@^<NFr<h!Geya}Go*;6h_^7Lh^NXoGe;@7Go(nQNVYJfNP_u_DNMl(nldjzA*0E3
zi$5``I6tSfBsD%Ww;;c$<d#5bUS@KBN@{#gW=U#MVotH2CgUycl+?7u(wvf%%;XYH
z##`(KiA5!ui8(77Z?TpaB^DHGGT!2a=#S6MPbtkw)nvLQ;*wchQd*LkQ|w<*l9`|9
zT2z!@bV~>>>Xw<43Kr93y2b00nx2?k8J1d9oSC0@i?txJs5n)V@fJ^TL27blT4rid
zaB7Jr(=DFjlA_GK^!Sp>g4E($%mI<cZpq9bpFlAu0|NsHJA<Nm9VnU^Q<y-}T+5ux
zRLjE1P{N$WvVgUQVIgBJgv|zG7n_u@r!dzrh%q!XHZhhkFW^|nP|I4vynqv|o(rUA
zAtNJ0l~)aOGea#~4P#MK4ch|lg$#L2=?t~(H4HWE+3ZCXHS7y`Kx!EoYFM&(YuIYo
zQ&@VL7#T|VYS?PnviNJ5QdoPLYdOLhOc_9?*RX<2jbJDdsNra43}(<|OVnXvU<gW0
zOi@VBEKAK(NY2ko%S<mVN(6<VLRw}{szPF3ib7FpNoi4Du|hsLWQ!Hjit=+6GD{Q^
zixm<TK#`=!#igL2pkP&ySd^HnP+U?}1C3U&83l<Y8CD7bi6t2dCHYwF0P6+mFUeO(
zPc1>Q2G!)G{QMk+w9LGe`23QL)S_Z5h47425DR2*acW{wa)v@$evtxL7K=^AaI4BQ
zGLthDlJiS*QWTO>74q{GGV>J55{okPON$i>auSnMi?LXpnVy$llo}5Shxk-b5<_!C
zW=?8eNlv8#L?zrhh>l_%g|ft)($r#w{4@n*7v$xafLu|OTAZI#mYSlVk*b%jr;t*b
z3i4NKMRF=6;Niw)<|(9P7NsVaWR|5CD-@R|XMo}Y6kk?43W+5pMOHcrsU^vJntE_8
zo@okhi8;lo3JBvA5{pt53X1Xz64Mh)Qd2-iq*fH9CYPk9!2DhWO8QpdI0l<k#K^$F
z0LmGld{va0R0>Kcw|L``xmBvpn8`@BSRo}pwO9e<)6|O0;u1Yg##@{q7w0ABrh;;`
z2qef*16NZpioZCuq_m(UKR>5fFD0|Mq)32)fuTr{fq~%`Q-1L+7EtQC#h#c{3}&!p
z7K02e0+r3T*wRx=lFL(Wu_kAvWES0GPsuC-*>+11oP;2WJszaI_!e7YK|yL>$}J&q
zSrCsRCyXox%^bJ*lk;<P6G15v5;wO*A$p+l@g@23pq!z}d5Z&N1ITev++cgbiL<y!
z7~~DOU!nw)ON)w9^Gf0&5u0CBd5Z<?T_KQ9IWiLSQgTv@idQlesW31w{4&)q$t}<?
z$Slw;%_~Su&Q49yEzd|z&C#v2w5T#RGOyG}1e-p@WqJjbw}gsP6H}nRgSu1<RCsBD
zN;E+MCLSgpMkYqK|18WLj6zIIjBHE-j2w(yOngjCj7$tHj7<NySb3O=)EF2Tl9@ny
zpqQ0`fdPcUC7~X;B+Oz+V<=&4X6R$AWh!A>z+A#o!%)MxkhvDZVya<oX0BzaVQFRv
zX3%7+S^!R8?%-l5QK2NU2wV~*Wu+#UfXg6A4pPWYt<(V*5+xalu#y5?9)Y!&WTc{M
z)lo>zgp>~%Mfs)a848IY&GFUQsg<<~xv3=?`6&wdMPR+)LM<^5oP9tEI~AJ6aw;L2
zsERW^wFIJ5ll2x`T7FS(V#zJGoc!d(oZ?%YX{C9|;6z#k3Wr<l>8T~4jHt<aiwokJ
z`23`-Tg=(1l~LU3sU;<;Me(4t7{!xR84pqjwi29TOHzx#aSS0;LDA1053(B)1g@a?
z;sAv^8y_PdBM)N{D7=$F851N3!XOubFgP}B7#J8zKrz8s%UHwU!Vs%f%T&XZ#pJ>e
zD_6^0!d%0Y#ZtrE%mj*y8pax?ELKT|8fF`YLa{=g8c;34ShYI{S^+>35;Wl`q$HLk
zDx@cZ!Z$TVA*m8tiNKO7s64?|J>+B-mqbH~2oFfAj#Yr^u~L8v6)S+0>40MfR5g?q
zmnP=qRDz>g0ZV?=(1cb&=p~jWTM?)w2FgsyCAYYXQ%j&FOffjzinKxD%U294OY`&M
z3yM<HGAlG$i<B7{7^1i#{sm{`TkKFb-eQBq!!1^DSq_OMP@XITMOBdk0|P@KD2jMM
zF~PyX#KFkL$ipba1eQT*K7gVKgu&5d2973B7O7!sX0BzfVP3$vkb#k*gsFxhiy0I#
zH4IrS%`Bj3g2>dc)G()kT33vTmlzos0#b`WX|h-$F(oAvR4gavfCDNsFCA3fK)eEr
zI*1n_)gh?D1jQ4mu>&d4p`|}8))T>T0WzetI5h=YJ;S36su)`LBUc0p;PMNUuru@X
ztiVwTRRt;;70?P$6b0al9$STgTH_C!+7^_=t)NL4l<>iUrOA3r1d>l6P1<5;-Y5bk
zty`iHDc{tRL{LVA%H86~g$mr_2Gt9R>8YR^MU(Xw4{~f2$%ASiP!)8G9hw$yv4C`<
zCuccONe@cSGN9zl52^*27?}REFmW(3F|sf)F)%T*{9|F}U@C&C1gV2#P}T!?g3d57
zFr+d>F{Us?F{Lm@F{dy^v1Bqtv8Je|u%xiIFh;SZvZt`6u(vQYGe&WwaHMdyFhp^t
za;2!HaHsIJFg7zrai?;n@TTyARq&*8rSPW+fZ4pMTq%MnLSQyuDp!hdiU^p^pDK_d
znj!{f3#JOBh^I(^*+QvYDe5VbDN<llg;Tjwq*G+TG9sy5DH<uVDRN*L(G>X<g%*Y=
zu@uD=r51)L@f770l@^9532>K2^A;~80-yn3We8yugQ^v9j3^YB78K-Urlx?JmZ;ee
z)FLR>^K(lEg%2#SKxI0-IEZ6lV8~>sWvOAvVyI=UVFG1&7lv597^YgbTJ{>Y1x%pU
ze6d=gPz~Dx<{H)%#)V7^SW=i4GS;%yu-CBEu-Pya3e_;zFvPRgFxD`{v(>QFFvPQ`
zGt@A|bEJUkTxP#p47V8dG&ze5L1iFoW=U#p@hz_6lEk8t;_}Rrj9ctQso<vYEmlz3
zPylJNfD23xXn|Q=WB_Uqa@=AmPR&UJ7p6s4u%uN4D%c=~^FY;u>%3e1Fdj7Np(VOo
z9P#m)d6^~g@qM6_2Wp@&FtRYQF$yqpF)}d;F>*1nF@j)~7)liA!L*@NhM<ZO)M*1b
zrdR}A%BC>ZFk~@iF+n<D;OJ!jr3cGN3ZQ^c09DSQ);GAWDN+De@0s~|3b}~|1(|v2
zdR2<5#R|El#U-E?bXjIfs)8OwX)#EkAhoEZ(od85mat!biDzy>PHJvyUP)>SxCeTR
zGd?~!C$YFVJ|5&%kWKONnv6v*pnwC{Bwzwmoq+qk#i>Qb^FSfN21+W-OpILrtDw0b
zlIDtFR-;reoD2*Mpfm;c_%X1@n;B}EL0$)^E2agYYK3tjQ!Qf&OASj6Be+GzTEkky
zoXt^WR>E4t2<o5Kuol^Y(n|^`Wie!dQXAt!##;6o_M(O=o*MQVre?-krf`Nl1r~-9
z_H3@AIz|Q%Okt{Jt6|9ED6VQ^h-AoPieRW=E9wB51hOrKxrR}UA%&rtxt61bBZVQG
zqi9_TC)gEC&CHApc^owyAd?vxY8bM(7I4=vg8Hr?-I^?ZZXs1{po(0zSd-@#Ye{KA
zPAWL*-C|G7$xJK;_0`i;ONu~^+FKmnsg>YRFY*DUa!yxRZwj26Z?P9c+G*f)Tm&lQ
zG&#W$5ycHjoZu8&WCGI5UYeJkmtUR-wkwJk)?f!W1ERQ#voi~zO^aJ>kfd-6<Vvi~
zx%lGL5>PUWk6!|cSWqTn03~T=J|-R}4n__p77%3QVPs)sV&q}sV`O1u1Bo)SfE(m|
zOdL#AlIV#aZsspW9h8&+O8y`WP6-y^lu*N1!r07I#0P5Or7+eoX0sJ3)G#h!TF6k#
zn8#JaxPZ9^RF*KNFr_fJFw`)*Fn~u4SgNiEr4|&W7N_Qw6hk_*kY*mJ(t@@GKy_Id
zsGF;hS*%c8kds*gYlJ6NDio)J#t2ICixf1VgFMBcTn26nXe#6vftryynR)QuH^?w(
zqX8VwkX8bcDBM6R1)t2~5^&}%MzSV3Be5tkxg@m+(uxP`M6YN;g0~pCP>Kyu?*>#l
z2ZQ1VlrBIeXRJsqV-4d1hJ_48ED(AkQz1(*q)(>FSmXpM44G~*=^23foTYi$=p`GM
z4Je?J^K%RA?tlyi<!CkrCI$|MDqXbb1Sg?*ka9g6NGHQi520I=<rY_Fab{j|Nn&1d
z>Ma(Kx?5b}&;|$JEmkmFllc~Na!xTM{c^&?3f)=U@d(>af!qaZVK8uUF|vS~uS{H+
zi4CD1r5^|?Z{T%U0JtAm%ajQ&bryhne~c~+u@;afEGT`&FxRp|>a!ZAY~~`X5~dU;
zP`Lmuci0y&FJ!1;u3-hyklHMmL6f;E0DB4qwJDKOAdW->je3w`a2pF0^}iTxt29FM
z5|eVk<1JvX!CJZCL<dTtARSf;s>PZtMM<E-fD=3@32J8-ae~TiaMW`YC4ktV(xNC4
zq>8O5wYW5=1Qb7csYN;<A?D)Lf?LdGi8;6;0c6uXP$YmVD+YEJMixdsMo>2#+%abo
z!W9`HeJGIuO2Qxv&i0^@21t?xCE*mtY&LMWI}lr7f?D6HiFrhaCP+OzG&PxTF&f@t
zDJd#Vy~SJ!9@=5e$uCbW(quvk9dHc?CcxDkECGT{`T+7fDC;q>b1-6*a^TpB2dP8x
zE2wyb;bM?q+ZoarQy5d2S~x)6U2wv=kLb{VO+l*FOY#+R6SGqlic5=971A<Ob3l!@
zg3=O54+)e=Kx1W~!7E794bs^Ji3fnjjzQy~kd%^`R+3r-8e=E{^}9gh5!tDg3dQ*f
z;K4$L+|=UY#Prl+(9jz^#B%eCQWY}uK)ts_(1;#pxM!zUA{BhlG@P86lLJb#aC5Mh
zU!XRAF{o3T0`C7qa$%8731bS=0;Udzg^)TP(jNT93i6#*m9u|dP9<m<H#09C>{Nxs
zWY8F7Y6^IC738aGgIY*9>41lLA*w*(15>HVTm)+P-{JyS1&|t89b7zu3!^B()QaSs
z(iCv-1l0L1OI^tb&LEI%0ZJ7`A)rwuMg|6OgfcL)fSP}x8u35Ve-`E{W3&PjW+2E9
z#gGE62vKxGVjOI^CNm@<g0dsn4zOrZAt>vD?7bx#kIk%K@N~(|!(OFKgzYFP6jUsN
zFesH4$3Tn55(Y>`Tr32th(Q%Fs8}pkfbc+rGtG=COs!0k47JQD%qc7_3^mLPSW;LQ
zf-B@&mK3%Htl*T+p2E_?QNseNrWb++Z8#GB89_t)*y?IfV?HlkM<FpMC%+t&Of&O9
zQ2}C=q*j!`(-U|^EH5>&D7Cl*8q1}{AXN#VAht??4v=M*r6Q$R7udKoxb{!XOG(PF
z0F5o@r6`o==c$({6s0DDhO6@`OEN%a<(HNeXQrgWErkz%DuB8m3gA&py@E<48(b?A
zK@I9+M2-OEL$H$+f?OS4d|ma5ic549oIM=<++BVA-Su))bQFq<lJ!Aq^hzp95V;px
zOB9zBK^ij%Ghw~);u6U4AjpoQd<F&vKa6Y!iq&FJ;sAAlYZzk1Y8guyvKSXIftpbZ
z85S~zF)%U|GJzVeD;fPXS&Bdfdyyz8xq<pN;8w#*rlLrY09X`UE`kYga^$p0Pt8lM
zC@8X11!V?M(Fp2!SLvW7L2wcWk7py2JzQ&1ILP=2P<I~GBLej#Kp0d%fDAMSxgRu;
zSi=yjR?FDI04XSn1xgsRz#WB!j73Zx3=3F54RNS{K<SJr#7~p;7H@oFadB!<Nj$ir
zg5*DOP>shG4<2;}g?>>90|UcKMo9jH`>?2#fq_8{<Tuc;Jqr^PBNqb$BhOz=wjxkQ
zDdGb;9bB3)=cMKp#e)oG$;!{n(`1F11gdbO1R=>7sYJQOQe2Rl90i_c01dzwLo#{=
z$T)Dw!m1sR)A&I4gJOn(kA(@;@&RE1MiE9nCZ>Nlsv(d*l;i*kT2OF;t6WHOSin#M
zZdWg4ES4%^26a85-A+)M%j8$3jFFoZk`wd56D6Rsw73}3=m2>i60i~==Y!fDnv6w?
zAT~H0!34-tMP&>O47woCfEr^AOnl%0{VHj+#DW}QC|&@i2v9VDy#PuPptM}W0IExS
znfk>*tp`vyA)JAU!IUA8A&6lyLok?*U;w3XO=iC;*3yzRT?<XdTO6r*$@wXndFh(W
zx0o{XZ?WVTq~_gX0VM}bCa~jgF{VKx1>yd31_lOWko!Ra$-pGQSS5kxc94E>I!Ec{
za5Esy#)2o^8EctAO`aO&g^ch5ma&F8g=rxZ$O{XYQ<xVrf?K03pc&W{<^`-ZEZ`9o
zwgQI~mRhzFwgv19K{KvQMTcrwQa~f)OxbKjOKO-PJV^#n?{xtOXyj@kQ!Qr+XANgF
zV+wmVOVPX%wk)m%tPm4wI6-<BGS#xzaHg<JGSspa9;)G}Wy_OGVX6U{cnC!`QwozL
z14wlVcNW(Io)p#^_JvH03{_$!yftjijI~@Pd^KD(tj$cdjNrLl?kuhp_7o0KHBrJH
z&lSM{sy;M1tF~in+$AdHg6GT;6CDK0R?z%}l>&4)Q4hp}7uTR-5hQ?+hL{df1y@E|
zIa|dFHnPYTl)CLeggb};Wv*Y0`Y%DWpC&)JeNp5Hk^wcoA;ki7L4H9|6-W$}m5V@m
z<rZ5JxGz*x2@(bsu(z0tD~oTjW#)m(tRhf00gn}EawAHUB2YIuiVx%t(D*5&g%ZUD
z;)B{2B^kFkL2U5oz%6cwpP`(BMDRQwsKANhPA)Aj$<K`kalq>gN{Vl>K~$q9`&+QG
z2xP1UDES+J%4cp+qlbk_jFE$hixD)Lz`_WcqvK)ZVH5+8gK;p4F@mx<2O}Rd&aMH-
zOq5IxYJ`9=JE+*l(OljMYc7N971YLZ5ix@R=uP8-f}BcFl@D2K0GWL&R>;pwRe-db
z6Z61Rqe#gSnry%hh=*#xtfKKZghAc}VQ@oOih+Tlh5=N+xiG}?fO-a?L9SZHLJm-t
zDFW5v;CRtw2Deh7134+T*dUg#WW2?T;ux@E$ixq*%bW*_H&A*4jaP!^O{)yiiZ0MR
z9@vDUc+e<7era9`qOyiafJ#DG6Llge$%0IVSTq5|1r_qQM8GqG5DjpXQbE>(OHEE5
zjw&U>R-=@kptJze3@-RV(^24lJ5vE4sOWEDs0B4=7#4zN5G7)mYFT2KKz;WbCQyk~
z!(78+!%!$u!wl|dor1<ZbeI>~mo8Sw%qz)<t{BP8&r2*qZq-4iIKXp!iQr*#P@f8t
zQXswrb;7}YEZD*fP|*WTAfT?V0@OC>7#vdb5UL24Odu^iP%bViPA$SrP9VeJ1s6)L
z0TnzT3?35#1yv10FauJeVJyl3MGz<gA@K!{Dh`{R#N4EmM7w5228Pd|OkHJ$7ByfW
z#=|@ST{?hB7cc`f8H?;eT_|=)IpqeLqvVBz3ADchPPO1})Gfw%tgaD*s6@A{0+e(>
z)jk6k3nLGx)x%h&LX0ah`Z%DL2{;LXCZ0jnFF477CN7v_m};48S*mzIQxP>xHVokm
zg&ZslC5+izMJAvjV@8HZhC+@AhC+@MaNDvf5SoxMXHQ_UjagWLq7NpEnHKysnZRLK
z1R9*uWCaiP7J&lt77J(`zGx~a0zu75NCbkT5*&-rd=HJI4tQ{}ia<wb(OXz3af*_R
zK>Y<!W&?*3XfO#h$pf9>35sE=WvpdN0XJQWlpw=lwalPd;1uQ>W-*2Z%%BOgg-j`I
zkmVC8Y}p(|Atfv+>@^HotTl{j&{>Td7Rc~<Ay*1$q=%y_1b0}1Mxvpsy7Kc7U9tQk
z1@O>BQECo&eGt^|$oUUkMOQJ$s}@)Bqj*@gxCm5n-(rf7_p34p%>&Ja<rjfg86i(Y
zLQ4i%bXh4xs}}327RPF`LFSG?sU2K3L#laD(gM#X!6FW{76Kf5QGAdBI=&#kxFjvJ
zB1#nMSV(Fwf>s`AkqVwjodSwVB~Z3x6=DJnwt;3gnLy3vKP+q<j7*H+dCvbV|5;e7
zgi&(@*vBYyc%Y~S6%3#Xr&tC&(%!+)%-GJ*&e+bB#tbe=Ihw(3PH;*2QlTUxvlubE
zRGyiWqX1gtsE}9$svAHv_=&lxC8<Tl3g8tlpkb&KQ01EpiV}>DY;JM7l>$s2JY5AD
zaDta-(6X>Ru_zC;vJpHDWu*Y7Kok5>al|4qP^p`gs!)`eS)7`JZVG5p%nIT7l6=r2
zHjwKJKs|o22jE(gK_LvopgsmDm_W18#h^ZL3Bv-$4#o~9P&2oK0kjIDj}cn5YBJs8
zfI6%A77K`_$#jb)u_(Rx7F%{Xh+fHjiv{GATg<t|>9=@6O5lEj#5gzy^Fd0Hc<4Hg
z&7gP(If8+Shq1~5HD=>sVVDYAEd|qtD3wu-D*_GW!_wt^P${wiL@Wdmi$DapC;?65
zftw4rq;OlY2IMl3aSZHij6y6`8pOIylhI9+5!}(&Wb^|e$s%u1UzsZ&x=uDe{uWPs
zd|_!~4ydq;kH5tpAD@z+93KzPRYiUvcY>PQw>Ut{0zq?_;90YxFpw$S;8X(1XW%jL
zqD+wbJP=U?B5FXYc#2CBOEQz8%0PY5B2b5}s28MS5{Q@vB4&UHaKmOXhy@ND1ObY#
zB2fKN2Wp>!7#xf&Oe}0H>|6p&j9jc7YD|ng!c2@@f=rBDoJ@>dAhsMxhKZ4jg^7_z
zhl!C(h>4MhpM!@(0&EgW`U9myP*w%e#U2<-6F?(vDXb}Mb3iMz*`ruf_`zdroGDx_
zoZy8Dpd|^Ag$m#W2~nKw3@i*$T)_;Q0!5&fQ;|6+D40u&a&B>_q!uR^Wr7z8-hu=n
zc!hECEzW|R#1hb;Z?Psz6lX?$Zfbl%VtVQ=_Ttjq+{B{FTU_7(2dlot0aNVemke_`
z$n_vL2!jh8(0~JIsaFj{GZSd^sfMYBc_A}sd2kIwJTs_w4sNVyvfN@VE-gqcg18kF
z;o$BLEcJqB_>pGuK|P_Bj747Xcml@`NY@!qLIpQ>LB-{N7N#mWNK%DOrNgGDu};i`
zoXyL?zyPiWK}io(4T9FFWii%*7CkY6=c++#1Q}~U5Ip#l!dSw(5HxSiuz;<GsfKYO
zs3*?U43cN60qJ6|VNPM5!xPM)$x;N0*{bM}j8ui9)WXutqSRtUc?ueyL}YRug@T;a
z#Nt$i(qhn1d~r!)PEI^r6KI80QE6UDW^O8|a81oiNzF^nOfA;C#h#OyoSIjhs>xHd
z78K<i*{PM~`9&$k;2Z>67EpYP17^-G&V117_tcWq;-WR6(A*4ez(I`w4`>t@tp*t*
zkdvR69*>-I*vp`c)p-hv@<EFt<4cQjiZwYP84;B8Ah{8o5kXn%mXHgyn#j!03x^c<
zMWFn5iw{yK#zRen#`-NTaBT*jaEyYoLBm@xaZs}=N(9@uIHZULXI^m10L`<57Niw}
z=HD5ZK?^n57}=OX6)6*F^q!H4iRlj$D-$CZBOADS1&e;DlEt2Oz|JZvMrmh)ifvHx
z0Vkaa;65E>yb{u*%VsWef-IQ<Ej@*dqL;8VGZoo^+Epd2HOyITX$&Ropv9@+sYa$?
zh8l(i9H50VS)2=*YMDy7K&_{uxEiKr29OywOeNgSOvODVJT*)yOwCM1Eh)?kcuV+7
z_-mM&K@;Unc^oM$HB4flZW3rs9&1%Fw7r!84d(<{V+Y(|$85KPg)w_0pz&vTC0gYS
z-Ls&Olb@IZnvMaj#IFWxtwk)b2K6j+Dj@^t0j>cGCME_}3e`||)PmNWfHqsi$Ag<_
zRZObIngT`OBm^Eu0S~!?i)PS>8f118G;>p=0ZOyravW47+~R<BsKDd1p!Jc(pm7H9
z=*unU+{A)g%*7=|nk<kuHn>f_6O_1FN^%R(CqIk!FfcH@1r;ZtsVW9`F3=(fW<DmS
z|4b}GOe{=%OdO1COk9jyj6$HL573?oMll0UEAWKP<mRWz4Xy!;K&vc@mV(?5TI&R^
z=%Tnm^B~D3psF#o2vnREEe9z8C10>}Zt+5w=_IG-<iy7#CG$-nb>OrPD(rWIoDCXS
z;9z2brgEk~Z0sy-42%r_`Pi5kxun1aEk+FlDzibuy5QL$<i&BRERbav&5Tj3pw@m1
zLlhfmh_QtsiXFN%jw6LDg&VX)4!mE7A&LvSUxypIUxx?0TZbWvH$^0vK~uEI6y#*k
z$}EhY2xwdcoR1Jia0zIA6m-NFtte)$0YT7WAyAPE!=R!URQQ6HtFhKFmawHT&k=$b
z!M_--S2BX<!!?DXII1!W;)@g0QlmIZi&Nu`O7e}PL|`NL&>_Zn(1J#Al@!GfQxu<;
zS&>>)93>7HK$Jyb3DElcvecpyu#uovO-X8TN%1XqNbOr3#h;p(o>~+S+G9~#l$=@|
zC6JN|TJoQoms}a2lbM%Y93=#56%`jGCWC6?<ZRGHZIl3bjRjI|5XA?clY-X{QM_P_
zVEkJgP)`)!;z`XbDXNSw$j{6xDZa&3Pzg$Er8%j^QTzp!B^mj7Fg?YZ?2vLCRHhYy
z8&sgC)h&K#Newd*l1V{zCbZBl+6$^dL?Fo?v;-u+I5jsjIX@>q4_1bQX3C59fnpzA
zLW2o#(gme+Q6>h4V$c{rsF>yhFF=A6)7VK+?}&+!>0Ol!q^O3B*}#^i!WW@|TKAx~
z2?&GwxuB*jIE8`6WkFq_bSBtf5@?-s4O2FIkx~uA0!Gl>QZQ)A2U7~OBttfMNqUi8
z2~)9M33CbyxTFR(0vNJb7qF$UW-=@UmAtGqEJZ1x+>yhc%Tde5$dJdA!j{63!=B3t
z;?=OFG1RbvdJ~$Q@IG(?EJVpHltDp_D3n=2+d8bO_(2qS3>ch*tcsc$7#ON7&_ofF
zrl1x`DN@HcKTjb5oGcV<6pZzZt9W6K)B_m-*?GfwOB}>O*b)y@1lkh^mVyg#fhQIr
z35y?;06^X6TQZQug6JMY(s_J5NHe6@?GGxYxxlF$vZLWFNcTC&$P;*xBB(Hrg7_CQ
zUkloY6vbOol$o2Gni3DLkD}N>Cgv62g6w*Mbk&MLrXZE1;FJhj8*BthiQuxI4Yd3X
zG<M3v2=0CVXJKJs<oVCS%)$s-90wbfLQ8vSIR&M)0LoRM76YifEe5SAr~%Jzf)+x8
z>UvO$OkqxE?qn!o0=M%)3z9i%m_W;pK=bL%ps^UxtUGAgBTEfS3R^a3Q9um~Xd<VE
zIfc=N0X*!<Q8fov<HMo=9B~O)_MyQBJdj!eA>ht4c!7N;cq3jGXhR983lE+LNAsVC
zCX!ZYpB~gggBgrD@O6u|JR`Lz^%gs{ti8n!Ek98z1W*uxf(leA6obl&bcPy+SQ*Hm
zR1ISXLpECxOAQlf^;->78WYm$H*ln`WCqV--(t+Z#aOnIF^a1!F()%6K0CD%I`s;U
z?`Q@FhG<ZHgSrlE3~US>3@i*)uDHt-_+TY0U?Hg$(G^Fmi}Qoz6V@VdFB3GlR-_L~
zz2K1~P{M|loS-qkDEP8uaD{Ubr0^1m0QtP=28acA@OjX*KghwL=_JsKEG7n)|18X0
zOiYX-Aexbbk%tL3)Q^@h@ntuZR0<1va7hVjPN1ezQ0E4e)*!2us}f*o4Y`gXGN}=j
zUW!2L070Xr@PJ&&3~9-MLaqq3G8-J_5CRlTx1>=0itI9wPm4hbi-DDou}Ytas7BWf
zs!YHbWC{p_!wFP(p@-7~rW8<4Wv*c^(yCzwwbyMJYM4?OZ5e7nEpukSTZ~%ZaZ62R
zq*MY<8_>2Y+=sVVit_VIAYKHg39vtfQ8OdBwUP}=9-u}u10x@3^#CKNy$Tz-K}!-?
zw1dJ2>^l$vsy{)g0qjH2_CJUZ7czoo;cXbuQvftmfSp0j6mW|N*<`<!j74`ri#M2%
zQUN$jzyvs8&=LT$_EJ#zfIP;)N>ubC>m?&_GT_+*y2=dMJZc6KqDzcygJ02oP~q_a
zM1X?_On}2k2`!UgabFE6tU!$>238hErvFvu#AFvN=AeWdC_%xq4QRN#1hldqyhO4W
z)Er}g3>YnBs$ocBwqZzN31-k_tx7_KV@XkBF|5H#%@8aCZA~aT4r<8qrB)!@;-|@6
z1gg6sO&Cx)q={Svf!e<4Sre^wgKAz2C|tpFT&$o4^`L!BL>1borr-`$Q2!W`Rgs$(
zEeti_)h3{(1WMS(!NL|)`9Ma0s2Q$U>vizVC8!ny*XshXdL3I`UUU^R^%jAu?#ZBF
z1SKU<)m`OCMB+qv5L=afiwhwSigHjyL!um9Y2U<j#w`idOoY(i3v(N|o`Ei@M=O4D
z>Gjj(!#Y@i7!?3DREt23fudU=M}dmNqK6>XBM<>P0i@_Dhy~8=2m+Mv!5wfxkn2Fx
z9iaUkOpIJI95NiD92^{69PAt%9GqY^noMqPpmBVqTU_z+X{9BlMXB-eMWB+i2$Y43
zKqKOibzp5Et7d@+O;CfKJ2^im2eeKlKd%_P<rR{5Kpn7KoRHHpax#;^t6gphfF|L<
zhh^xcf)6o(jPii;MwBw5;jfokQIcAerw1w8K)arxV@O5dks(lZ7o~<zIcWJEc>KD!
z2-Ir@&B~R)_VPo`F3zj~j~^9*x+u3;K<5pB23|mW5y8XX@$ul@=8(<0pbi3fqak=m
zA3Ul84m6}<037U~5WmG?16gQe2b!`kHeq0304<`2^e#9UK`Ur@7<rfk7zG%47zLPF
aKq>k^mp%s%hcLr`E@{4chI$5jfiM7}Es6yI

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/dep_util.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/dep_util.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..29e244fd63e6cb19c752baac3d92bbeac1c94c2e
GIT binary patch
literal 819
zcmWIL<>g{vU|{fR*`2bSnStRkh=Yuo7#J8F7#J9eB^VeOQW#Pga~N_NqZk<(QkYVh
zTNt94Qdoi+G+AGQ^k_2P;?7GgPc4d1FUl`1NCxQziGwgJ0|NsHJA=&1U|?V<VW?qf
zW-MW-VQgm1W-gK_VN79cW^7_iXQ*XLXQ*W^VS=b=W^`eQHL7JPVXk4QVUc90VFZ!Q
zOhr01Obb{bVhb4=8ETjput4NMyh5ECrW)onreFq5rmElJi8<K{N%<ui3W-JOrManj
zCB+Jvc?t!IMTt2%sX00dC8@<FnR)37nQ02CiOCrX#rdU0$*BrpZzyCID}a5)rJ$go
zP?C|Dr;u4vtdN{vRFqm=ke`<V(pZvMl%86mrx27{Qd*Q(tdOWskeFGdke{ZIlUZC+
zte^ogu^19E#X1nPz?zCR70NSGi&CMM7Q^j>*ab0JM<FpeIll;ESH40?Myf(_YHng)
zNoH~}*sT0C1$D41AvS1es_TKpt4!5VtX5Y@%u7*FhnQNdu8><=T%wSa3NbM;H&r1g
zH7~s+LzDFub53gBEv~S{oYGX+qN4nwTdYNidFiP|pjf@dmRL}bnwO%<8pVfVeDN)I
zsL{7L^WvdWASO(dF>@tD5jO(^!!L9FlH3CQg3JQl(!7Gi<m}WG-SUjo)EwPPON%OF
zBlAlA;?$DTf|C6FoMQcy)PnfZlFS^vg34PW5PyOKxID8s72;twP`VNVr8G7HMh<2c
zMixc^Mj=K%MggWGUIqpRKTYOaLMfTWB_LCZ^<d_KeFIhib`%o9!@$6Bi^C>2KczG$
N)s7KlJjmxftN?$->W}~c

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/depends.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/depends.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6ea9ad9e34d35bd3e7712382e96e62b40a927a99
GIT binary patch
literal 5216
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
E0BN^H8UO$Q

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/dist.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/dist.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cf16031b3319d3dc9965ed36f3b04a345f269e4a
GIT binary patch
literal 42326
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/errors.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/errors.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..28e5b86fdc4296f0d0415439a6f68cd2262ae126
GIT binary patch
literal 816
zcmWIL<>g{vU|{fR*`30}#K7<v#6iZa3=9ko3=9m#Y77hvDGX5zDU2yhIgGhXQA~^s
z?hGl+DJ(4vDJ-c>sm#qRQ7kE}!3>&gRnEn!C8Y%=`T04;dZ|T4`9;NCTmeP-Wtl0d
z#R{nv$*Bb;nfZCe3Z=!VDGEuI3JB#2x%nxjIjO~ZTrWY+&}6*D=aN}mQd*LkQ|t;d
zDH$Y;j2U4r6kuRrNM(p(Oks#(N@0v*PGJgW&}6<P9F&@yUzVEUoS&PUn3n=JB+;Ld
zfdR~dI3X>+NFf;_U#w7)kyxUTkyw_hkd&I5r%(jZu8^6B<V-y-E(HYzh2YG*<Wz-(
z1cdt&5)?9v6_QFbb4nEQ^Ar*iQedu6NYGIz&de>yse~ArnU}7R2(uMzT3S(lF1lgm
znK?NMxry1S3MCmJ2W2FdW#$(tq$TF$C?q8&XDgKCqgrCEP?C{Z3^orO@*w9FC1!#G
zIx`Jnp+ag!W^qX|$X6(CR7ffXdA=Cp_r&Cq%(B#+O0aQA0fFjcJ+QQ&Cd)03`1riU
z+|>B^TU_z+x!{<LkH5teA75CSm;;qzkB?8uPmYgY$xy_>zyKkBnd+D17U&mb7U-7d
z6(lBSr>5wZXQZa)=vG=<R2dtYSL!2zSRd@KV!eXOB4!2#22N1wWMW`o;9vyv{WMvN
z*cliYZVAAH9-0P=K&o!>1eNBMWag%VqaUmT;SLB3Wa2Fj8;JYuK<TTPg@J*Ag_VaH
E09w`ZR{#J2

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/extension.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/extension.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cacef45567d36858c4eb39f8ecf23e400e5e654c
GIT binary patch
literal 1961
zcmWIL<>g{vU|{fR*`0Ebje+4Yh=Yt-7#J8F7#J9eYZw?9QW#Pga~Pr^G-DJan9mf&
z45nG2G%J{9%3;f8k78$JNMTN4$>GT5jN)WuNMTK3Yhj4uO67{;PUTEx&f>}9ZDx$(
zb7x3lPvK}`Na0B3Yi5q(b!SN7OyO!_Na0H5ZDx+*PhkvZ(Bysza+jYb<1Oag#DbTM
z3=9mKjJJ5xQ%mAY^9mA6k~30Ml0iyf7^H%Ofq}sp<a`s5^BHRys>DhdY8X<O(iu~j
zdzrEr85zPEQdoi+SQtu}vbl=%7#Tn?k|B>Nf+2-9m_d`R%79BjK|vuXwWPEtPa&kJ
zG*uxpO~JXcBqKjhAvrNmAt_ZMGq)hWs3bK-53ICG3L>lLl383*T9TPltd~@pnUfNq
zT2XR~6VB9Ryv31Ll%JcESzHq0rpbJZD?T1#P<(t5D+2?=El$^p<kW(a%=|n}#whM&
zu$3SsIV%~8I2jliep%?3<QC``WESXxf*?6NHAS~PBQ-Tgx6;z0%Gk)fQolI0q_m(U
zKR>5fKeeJHHLo}`KTofq@)l2gMq*iNJj6^MPzdpX!i|N6k%>uwk&Tg$k&Us4n}LA=
zB}hR^m|!VFfq{V`l>w9rqL@+`qnJ~eQkYv9qF7Q`QdnCUqF7Vdf*CZ~L7srxTV?JF
zbAm!iMq-IVX>n??g1TO^x<XoJPHM42W}ZSpPGWMZLVlWpx?VwL1ymxL8DudOgF*(B
zD*Zu@)?i>@s9{;akiwY4w2-NWA)c{>DT}#=p@y-BDUG>?c^*>@OCKX6LkdGMgC?`z
zExv-v_?*n#%#zfU_{4%tH%*pX%mw)cMZBQk=8A{A?-oaVd}dx|NqoE}>n)bz)SR?i
zEP08!skhjR^Gl18Q;To0Bo?I?-(t!x2gd}2;9_84C=y^`U{D6R4dh4$W<JI$A-J)6
zFjJF3i4*D}29QFKufPe_kAZ=qgrS+ChzpeJYZ$T^3xrabY8h)77cebkNMX)qDpE;d
z$zw`ktz{}<Ucgeqn#GpFR>QQAxt6(vy@aENxrQN&vze)xv4$a@6J&-ad(|Cqx`ZTS
zNC-o{p-`S#lA!<!Y6W=mC{`%RS3r?3$w*ZwNi0fFErFYplbDxYnwXx7(59yll95@g
zkeiyEk(ifRoU4$SlapUwtN>S;SXz>iUj#9|w4flT5^h*QQL1ioeqLEBC=bD{PAV+{
zxul>dH7&JB0ptd-JE1OvWHpeN{BAK+F(+$lSFz|N7Zg-6=_OaOf>f$#a)DFuEe@Cy
zZn5U%m!}rp;!G>eO9p3(TkHjiMJ1VuIk%XKQg1OAmnPj}0p-UcP%1AH29+@^MS`Hj
z!2&WQiVG49pqyMJ1Bz`<I01_MTQc!bf5aD5R>VV{8efth57Mm(N)@2I#=yqL#KOqM
zD8eYfSfz%PI`C-r(_{lBN>Cz<j|UYMx%nxjIjQmSw|L^?3riDopfc?7@hSPq@$ukv
zSR@a39;!o&K+XVV;9@og1_lmB7A6ihuoy;m2PIT+1prFdsM#HqrEanNWF{3Q7FAZ+
zdX*NJDCA^jrz#{W6s4w@<|Gy=!2PD90E$jf*;k^FSgeq!kOR@CkeOFplA4&}r^!+T
za!-*W$i+$^0+fj$`3lYLDhvz^7ND>MMG^;N5s0rTP$Uh~BngTuz7%-Do19;idW#dz
zza;=?>ZKMH<rfv-5=Ih%6;Dyph;ma8lrf6(^olbp^m6mdQj5W9BZ@6IKQBAAvIvxU
z!O1L&3tXZWR2HRH++qRQ3l7jCevq?3PQ>PyTO2l!c(enBbFmmWGB_B)kco$hhna()
Kg^7n*Kmq{APy2KL

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..416feafa665932f2bc9d5a6a34db6d317b610145
GIT binary patch
literal 3733
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/installer.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/installer.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..68b90ed9770a544ddc98cc4e32f893f72e04a96f
GIT binary patch
literal 4102
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
Fp#Y-hZEFAk

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/launch.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/launch.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..666535dc9a98c5d7c8fa76fc1a47837a6e6b7944
GIT binary patch
literal 824
zcmWIL<>g{vU|{fR*_|TH%)sy%#6iYP3=9ko3=9m#dJGH<DGX5zDU2yhIgC+^V45k4
zDTO(OrG+7iIh7@aHJhnOE0wvKfsrAFDVRZ%tty(!C$TgyIYXf&BUK@wvLquvPoX%u
zD6^nMAwLf+n4F)Ro0ylPkdv90s*spgl3K)7oLW*^P?DdYQ>>6#tdNwSUs7CBlvq%Z
znxasanW&JNTaaH=qQ~_T<V?S05DCL<3=9mc3=9m;AO{yQFff!bFfx=dW-+BON;1?k
zlrYyYq<|gV%UsI{5l>-mWs-!bVFs~n7)n@5SW{R_*qWJZnQEA77@8RuurFk&Wv*df
zz>&h1!oHBHmZgNVhNXrfg`=6dmbHYdhP8&VnTe4hg*li(ld~#-OF=<FA*dAML8x~#
z^Aw6Ji}ezV(#xU^V-*sM6*AKlGD{RP5>vp+lTuUj6f*P5^0QM@6!H>FN{bS6aw_$}
zaxWPf7#MDG#K-3*X6D7m`)M+RIBA(Vsqyh3R$gK*h{YZspOT*(AAgG_zaTZQiY2Bf
zCa;PqChrzYYDH?YCig9#`1qvK%$$<UyyE!yTg=6k#kW{M4!XsXl9^m`i#<KHB(bEV
z=oUvwes*eJW>sntJIG>|qSVBcTkJ)t1v!byskhjZ^K%O_b5e^q7#J8d*=}(|d>9XM
z#Vt+{SzG{8#|m;q{4F+!bQE`9eo<~bgma4}IX@+JB}0)o0|Ub^Q~i?M0{w!_0^QQQ
zg2d$P)D+$FjMUT|-AYS~Dq|z_N_|9%(9Z#<C%uBoTg*kJdAy*AmI6gTD+?nRBNGJv
zWn-0K;$eiqB1r}Yh9YK=TUm=h38aV*BmheF5GhcC0XqbVkO29c!zMRBr8Fni4ix;w
QAPp=W9E=>y9HJbI07-+~m;e9(

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c0355c7fead21b76537c0d2167f1be56eb648606
GIT binary patch
literal 2411
zcmWIL<>g{vU|{fR*`0Eioq^#oh=Yt-7#J8F7#J9eBN!MMQW&BbQW#U1au{=&qL>*$
zY~~!6T-GR7Fq<WZEtfrtJ(nYj1I%a5;f&&RXGmd7VQ*nbVNYdmW{%==XGq~l;cQ_@
z;Y?+2W{zS?VGU-`<f^LVaxN_{$<NKKN=;Gl&8*1GGb+h9RwynlD9A4=vEt%V&{arG
zNhyYjD5T{VDJ19Tm8BMyWagzSq~s@;q!yPHb8&HnWMmdA<mRW8=A<eVC1w_<7Aqv?
zDR}0B400_h$}dvL&r=AfEXl~vQ!vuwdI|EbCgUwmxUHIux0rMC(>0lH@du@*B_@~T
z7iH$9hvety+!9YuEs0OdtVk^?j!!Gf&y6ogOwLYBPxVU%nSzX&U;(GXz`&5o5XG3n
z5XA%vycUKi<`m`>mKKI6mK4?$wibpc))e+&22GAz5-yp=C8Z^qImKx9CWB0anGT8)
zW(EcZe^9iDFfcHbFk~^-Fs3oqFwJA?V_;-RVF+ee$>^uaR0L9Xi!~MGX-$?}EXAog
zX}6eji_>qhBo?I?-(t!xU&&C!%fP_!%Tm82w?Mxjvp}~r59FuR6y5TS)YKf^N=u6>
zV<YoQ{o>S;(t?uw{G4L_oXjLp?8K*5=oM7n;>^iUj|bZ!1acABsf<-hxcs6ASB~N<
zkW)d}9b^VBUlp-4FfhRU#gdtqmcNp@h?9YVp$L?Ui?~57kaxg-D&k{cV7SE%vMx8Z
zxHvIARTN}4)O{*=-3Qe`p$l14Qj<#4iv+Pa3mj-*X$d4p;SV&haz9PBTO9H6d5O8H
z@$t8~;^T9{DLp>^7EgS9VQFFxM5c%zWGN^@ia>!02@uqvDPm(_U;w$T7{uUU<Y4At
z28&^&Wl+3;3jsCcw9J{pl)~J?7{#2zlEMm3&ESk4#hSta%F;!kfObm;=|xVtAiJDF
zUM^x_V5nipV#s1lVa(<%5&)&z8pdJ?5M9EwfEi@^0+t%ag^c113mF+1Y8V!<E@S}H
zY+#zHD5-=!i=!y7gtLYri>sNjmbr#Gi@Sy~1q4}onHd@KcuIH{@YXQYFfL?*<O@w!
zzmO_+H&6kSuJDUdL6hkgYk5&-Noo`?tO$wE&&#RQ<h#X_l383*l$lgol9`_u#Zg+E
z8V^eK;7nB{07_ddS^1fHw`AktB}aUGQfX#R3Z#Sp$5HVuDP-x?isYQqlvId<;#*vZ
zOcf<kRGJ62AU;1Y9_AKseB9y&mpD-KIEtWU(k(88$+tLQx;0tA8R8aeT4qjaaTEv4
zq+5(dNQnTHHHwrN7#L(hQ2|PV49q-?EMO?Y$ic|L$im3R$i*ncR3!xWogU1NWJXww
zGB7ZJqM4O}fdL$;QP4;&;sQluIztUZJVOa%7LyA@tVk^*D7qIgm$1|@HZy{vv{0;u
zA&WJOErlVQvnUM0#-Y*yWF92@vlq#O(zYA}14EP;tSEwn5UAuzOiwMo#g<x8lA4!N
z1aerB6i6jMEdHQjugL@nC&mJ_V2KjO5{r7EU;@QC10x$OXc&1Ic^Io?5y68+A4*7p
zvI3~^28WavxZti~NMTH8Xl4e74PzD)I3(0+7#A?tFk~@iF@Zv<hS7x~R;re%hN*@j
zizS<_NDD+SV66em7HWY)Mw7`eiVrn$X|mm7PfsmLEGa31gn&3a1W*+gse*zN6sEV>
zic)j)%ThHVg=!Q(R3S7$7e{eHf*DlApof}3d^}V&G=MEYLB<10DBytNW8`4uVyu!v
z4lYy;ewvJKnrua&Lb^x{<Rozr0ZODrG9VTxsUq15F3iB`7?c7*Dxl>UmmmihxbV^B
zzQrC7%1ZI^xA;Jr8C<pMfk?1?ks>G)bHZi7Is29XG)d{f@>vlm&LAlXl;*%$5}P}2
aao9l0VmnawC<b|*g%gxU1eiFO1-Jpe(?ntb

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/monkey.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/monkey.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..92e769b0a26f0318814fb7ba34123c83476a20fd
GIT binary patch
literal 4644
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/msvc.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/msvc.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8e16c6c26eb181d30b0e468b3af9aec5b620a679
GIT binary patch
literal 39631
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
IXMjLq08hRXCIA2c

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/namespaces.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/namespaces.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7a35ca2434133a3a42f14ce737d57f12cdf90cdd
GIT binary patch
literal 3616
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
ZOzl8nRt#$RaWL{Qaxn2Qb1?Ho0|5I3oDu*4

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9056d32188402c92ded8ab80446ca18e0157cdbd
GIT binary patch
literal 32981
zcmWIL<>g{vU|{fR*`2at9s|Q;5C<8vFfcGUFfcF_FJfX~NMVR#NMTH2%3+LR1k+4W
zOkkQhiWy9^M6rNr)+kmm%@)N5rrD#|!8At{2bkuJ;!I&oVb0;o<&NTJ1ewW_!;{M!
z#S3P$=J4h6NAc$hL<!^yMhWH$MG1k$nR0}qgi{z(*m6X2MWaM>#iGP=#iPV?C88v9
zC8H#BrJ|&ArK6;CWujzqWus(s<)Y+r<)h?t6`~Y!6{8fvX0Yc7=PE@hf!Q26%DF00
zDquEej%u!2lp2`Lm7|`k5v2iUbLVL0YDH;***rPgxjIogU^Z`#ZmwRG9wS4lew0Bf
z^8&*ZzJ-iYMqn0yDsz_cLZ&DaFi&71W0WbFB?uAEGK(@#5n5oekRi%4ML0zyMKnb$
zoh8aDMLfznMIy>3)h5d}MKa4al`+e%k0Dh!MXHx6%05LpMW%%z${|HIMYM$>$}vSQ
zMZSe0$|=P?MIl9`g)z!G#Un*AMX7}`$|c1!ML9*Kg)z!Cg(+1sg(;0WMKwjNg)z!4
z#VbWEMZJYF$~{FRMYDw=$^+~&Er`paJX1YVv{Q6i7@8TQyxbX5bW`+N7*h0_nWDVi
z8B+993|bgc3{t(DnWKE%8Bz>Wgj*O=gj1!OnWKEc<`^wx%<_x!Pccq0X<>*8NHI+@
zYhj2AOz}=JPqAoWj0#GzOtETVhzfRRNU=__X<<mQX=aKFac4-eO|ffXNU=*5%nEI0
zjtWcV&kE0qNMlT~PjP5rjEYQgOmS*qh>A)LO0{lgOpR;?i8-gZv@k?Pr?{rLwJ=1*
zq%Z|DX!=ws2UG@lDkSEmD5PW-r6!js6eK2RC#I(=q~w?9<>V)(Wag#61SN65m5jGo
z%Zm~ViZvN;F&Af6XtLa5D=o^&$xOP%ol#O!5TBfrnVMH}izhihFD)~@AhD=8wdfXe
zZeoEZ?=4<u4_9Yz|Im<l7ti33TRbkA#U(|VNu?#3`FXdvojm;<gCZePe0ljrxrsTM
zRjKg>i6t4gxP$#egPdI<lH9I&Wtm0!dAT5qgwiteQsPsPOe(&`S)7=b8lRV#n|g}}
z%q&YSDhAt8k{_RznUe~Z;tonJEX^!R1slWT;u_}a;~xOAfy33^9n8{Xyv1EyoD*MM
zT2PQ*R08sJPJX&3<1Idr+e=F_bBbMyit>vz8E<ix6eZ>r=OmV-YBJv9Pfsn0Pt3`Q
z&qz&7Ni70}7Ds7bYH@O60Z5uPJR>zVr%Ey|H9g%{BU;x{H!4xL%0SmLUQb&wR$Ei0
zN-Co$H7%xC%QmK1D_UJC)?OnzPF=}PAy!+ns@Wz{0VHj!q!Asbq#UcQsbr@S9cL4(
zt!bm5Xcv<gQ>-1MVUwt!VQ*EES(1}#tK{oqs*sUboS_7k)P(4cj<b)|j<L5&Oa?`O
zZE;3^d3<h)saj%gfptn|dTMcrtwywgu4STbT5PqkQLUzuU2cjg*b2=mA&qEVZ9Ryq
zW2=pHYBjB@<n>Ati}cc~6u@*+l@XYspjVYyprBWhUUiEn0Ftge^HNePZt;U-Ex$NE
zEx#zfv?%A6FgUryCxOJ{%QN#b^NLGuiDu@Nq!twvrItWqIUgLcFZmf57^-ZFQ%gz<
zO7in_iuJ1zY`yq+XpG0l*D3^5mSp7T=|WPeesw`*d~RY^eo<`|Yjv$&b*&~-6bDS~
z78k;hWJXYehhh+$gMop;8C0yBfUM>zVOYRe!?2JsoFSNjg`tEgo2y8VkpTotm{S;Q
z7}6NU7@8TI7$X_-m?9Wb7=jrznf$5@{qjo`5*0#&d~_62D>92qGV{_EKuJ<ZA-_nW
z2$3QciVISctrS#?G+By-85kIDv4R8V7FSqePH8GQ(G^KBFfeE`-eLhMUCB_S#=yYv
z%SOK>w?Mxjvp}~r50r~jQ*_HgiA}fC(xS@P$h=Y?;YEFrg2eRH_)JiI=oM7n5(Qfl
zkK~T{#G-VNhl_bYLBYtx$iv9T$i&F;zet0DfdM6uSQ!`?Ky@EDkTx(dFw`(CU|7gd
z%b3C#!(7W$%UsJ+!?=Jkg=ryU(K0ZLc_CwwMGZp=OA2c%lO#heQwm!xOI}_L;{v7>
z_7skVOhrjG3@Mx`Twqyduu2Xv8=}$$Yzp^6#-ci~91m2Ex0WSO18fRk3jac;qGcGS
z@FP^#Fx4>Eu%s~uGiVA_*#@PSlosVFXe1>Tr|J|`Ler5ZD0Vdb^7B%4K!m13T7Hp2
zL4I*@W>QY7f?jGxssgA?(PZ}X^ZUgD;#YC$m1pJ|8-dt<ncx2Z|9^`WEKtP>k<cxu
z%>3~G|NqRN|NsAg`RD)t|5bb-8QsL(6f+Z$w#-i;LC*5bJcw8oFG3!q`_2FV|23I!
zvF7BLrxxAfNX<(rF3&8<xW!dml2}v%W^1zEVgWg<NC%XJSU{e-#a2)W${x2^3UU%l
zz=;Mzs53Ay6v;C%FxY|;xe6${nK>A_n7A0Z7<m}k7<s^u4TZ<Th>`+085kJYVA-UC
zfq|ifA&YSV6DXV1GS)E0ut8EmEo&`XEjw6_xrSu{OA6yc#uO$=hJ}o^95u`-%-Kvu
z5j7ksEFc<96)Qwl3R?|FHd|3a4aWkO6t)!hg-kI_wH&qVH5@hUX`nid!|xZP{>%TM
z0OT*uFD*(=P0KGzPu0syExE-3tJPlq`~Uy{FGl5;pzN*5S_DeKMarO%;wUZ3DFD@7
zx7bVb3QO}#Qg5*q7vyA?XmZ|S1{GDH+*ne4i>)|0BQ-bm7F%&@QCVuyEtUdMZN*iP
zSd^HXT9R5+e2cZPG_|Pm7Drl9Vmhd%DKY>BGbpPfLj9INYI=HnW?ou8tSAfxMS%b)
z3K)491sKJ^n1fM(vB(9K>zF_?Pz(xh5KabZi2;Xs4MQ_y3==4<OBibyYM5#mo0(l0
zV!3KrYFNS;7#RvBYM6^6N|+Wf*Dx<+tYxiXEs7{%sbQ#LUBC*8iyFofwiKpb78E@`
zDWDv}Qso+%nVOTLkeZ$j$`g>VRRERPu$o*UKPf9UxujU3BqOmzAvZHUqeLMoRUs|E
zG%rOV5nB2cSwPAzu7aY}<kXbZyyR3rO?I&FZi#?RgVqZ<`N@f(>gg5_s7`hZa&-4~
z^$WShnwwaXoKd6ziY(UjqWsc=B2ePfWGk`(33246mL#SmmLx)g8&o3QVgVcLff@Wo
zatsU%383JU0);6PD8xA!Ss1w(Ss0lZnHV@2m>8J;b1^3~gQTGtR2#6vlKK-+VaK?D
z0Tg&eVl|8@OexIZ0*0{$B+3FR=2BQ|7_-@mEK0x`qK2`CX(4kuV=x0)1=~W#q6(;r
ziW24;#%9J^<{IV&EDITm<I)*|8Nd<AoW)whoW)kcp29B9kiyZ+0@u&Ekg;f02?t1D
z40A0DD1+6oq%dW37Og7btYN5OsbQ*NE#azRYi0{(DB*Tth&8BX2iaW1zL2qK9mvHc
zJT>gijNA+mcY}2?)-W|QGchnS1Tz$_1Gz$ztICS#=m!-xDGK>{3Lplk5c<WTmztgq
zY7O`mX@lxe77+gzqiz+8UU^0iBuTK`;y^@sK~X*^DS>PJTkO!XxX2Y0g_@xB!&{^a
zVuQM4w|LWv@^j;1dW&R0$$&SrI6gT)w;-_uR8AN9gA@mV2vHCLD(k>0sE8Y+n9DUH
z#MLj@)88-n7IRK&o+d|;A4r@7=Kdlt5SJBPoknq#XXeF&WQq(yq8y;YG%dd<_ZD+%
z1xBgr#=yXk2TEX|#L2(}Do=%&1Q>-FIT%3+jfs(ok%f_kiS0KBI~OA#BL_IyF@cgD
z2>)kc<zVDu6k-%&ECQL7jGX;JY*4ucO5(+!20;lptu!;1Fl8|>U;!1qpzI&apvef!
zy6}37h&&APAvh8f!L1ZfG-|SfT~P#T5Zq$QFD?T0b&EhHmL}6J4p3VLqzW8ZkRlFT
z*nw&n)SL}d*$)aBP!uvSF)^|+a4|6bFNy}0a-dQTn%fva*$t!yT*}oTWw%<k8s=i1
z5^$DlVW?q)wIy5_ni-oJi*!<0gBePgQrJqEYuK6@Q`p2AnweY}Vl8Uf!6hD33gZIS
z8nzVH8g@{^U&sjI*RVrcBnufqZG#%t6!u<raLH*0GEbAE>V|u2UTRTdNvc9(PDyG}
zUSdgRS*ilOsR}N#iWTzH6cQDXi^zO%Gl7dsK|w*mFTW(!N+B~%Apw?X6BIIw6(9j!
zTv=R_nhOte9fivLQibA-{L-8hh2+GX9Iy!q2?g2d@kOZ+8;bQ%J53sz2??O=mkBC<
z)AEZ_6$%oIi$U$p%o2r?e1(#X%wn)HMfs&AnR%&-5RNY>=s^`CEa+h=tQZtepc1l%
zAy%lC5!C)oVW?qT$OH};rW8g{3%821pfV;UMlU8s#ZQyz7E@7b5varkG4%{?F&3bw
z2u_>y)V$P+f+D-MAmc&JM-~PqhAItsP$IYb^=v>vl~Zh|2iNuz<UBt}*};5^3(~d$
zb@m{|L^!CJU@Ni)<x%FuyvkdwMTvRosYM~60sxetZn0$LXTtJ2I2A)uZX!qlxTFCY
zQ3Pre6~%$Xz^NHbfRc0(s0Nw_aylqv7{s_3<(OEQ#Gn~ifI)zfiGhic=`Tv21tn~d
zPr->f4P0e6Gt@HGFlB*CeZ~~VY>px;X#Qo&Vy$6V2uiX-wJe~-*v!bt0IkMV@-%7~
zTo_`NKn?2}mS%8OUc;2lUSwCpT*Hc_(heFs9zL1HB?_f^nT4gP3aL5ZzHhOPLP1d~
zr~v~?8~H^ksYQAUL8-Z^xk;%-3W+&6aD@t~WvN99#i^-zdVZR0x0s7lOKveIrlb^s
zJadaRH@_^k_!f6sCMZXwCFT^T-r|XmPtMOPNzBYEj*r)5yTy@Nl3J9Ql#_akIXkuT
z77NI%C=L)ApO}(ziyi8uTa4N0356fx=y;G5K<ama!dwiLMp@Vx*%&z(MHoSiRZxKn
z!bSPmk}=4gph_HCP<AjhGqy9Nfyd=qIGPzjZPZ`}P39^{z6dW$EC6N4(mZenS)mBr
zH2?)tVx9ubBMQZ($r+HQPDw_pLQ!gQX%4tk2U7sfRrz^2m5|V@1ht-uVNsA-lA2qr
z2UY?~3?T1-F(^@k91E(Viuu4Pq=TV`p@y-Kv6(TLVI`xVCL`F3noPG?5{uG{Z?R>U
zgXoovw^-6j^O7OK2TGy0*g@kp1*t`sKp_S)n1QKE4jP(epw475B3nU~7J-y$G8L78
z5_~C$04I1*2~Y$!lNUw*8IZ}KM9sj)#>mH9R0gWtjcqid<LqL!Vv37Wb7G3C4Rj0*
zYHeW*#F&PHU97eySf!>NN-hDlu0U-%P{0&}q8n7=)G#h&bYX~10p*qjObZ!ez}?Cc
z<`R|?)-1LfmIdq!85VGW+F{L1p!|@+RKuFhR_v0(45Ev;N;nrVf*QRp46$;xOeI`d
z+zWVW7)p3+m=^G*uq<S3hLvZ2g<L7DE)1~_wahh)3;02LYT0VoQrNPYi%Lp37YNia
z*03#P0=c881dll-DeS=vnjBTGZkc&03Pq_own`cKxv2$->8VQK5jU_9tVg1xkdv90
zU96Cqr;q?rlAxmiPB5TE7aHVK{EJa1iUX#<$P^Sa7N8Q2sfyR8B*V@lKQ~n&ATd3)
zN&v)lfsWpRh8v1Nop?V@!CTBhu0Eh@Ixhv3LT|Bw8_&f>sUWjJwd^hC;*z3Ute}y(
z0&uqxQh2g>1i88ufm#}n9uj+LQ4Xl&yv3DKlADu~nw+1KTI2~TW?4WZa-bejVo`F2
zCOf1-&I0lcxGK2CT#}f6i@7K@CyJ#gHK+I%b3uMFB)NhU8903jgUpCetpHc8Iq~2?
zxeH2VpcW1T3m+p7qZFe6BOjw26R2s#!N|kN!dTP>%Jbm-gG7LmGN^@83>vRUWr$)-
zVE~Q5M=^sM=`9RVET9%c3ququs2|zF5XF|l5zL^;d5h0EKd&S;uf#bcH90%As44)Q
zOC1&RN^^1)K!sXrUWr07L=uw!Q&Q71^HM?m9%xG-EioC??<s;P1H~a!AJ{0A#13*L
zsL};D<3KqdT3{Q4m4ccJZmFp$3W*9yIr+)ipoRsgcLS-$Q^7-fkWvJs(hnS(E15vW
zYfjoNR<IVZ7=!?aFiTo$YRXqokb<mcV5t&D^{*aC9;I^+avlhyJJA{LL~u|kfQrG4
z#NrH4B?2BxaRXHapoUIaVoqiXxM`%2mYA6XE%-oA4gtGtC1X)1C>es&0hj<gl_Rq_
z9<22@l5@q;oC{Nf(n$lA_1K(Tif}Thek)1^4eq8EDS(Dg6hQs(qFjhG6O-~wOTa#Y
z#k2;<Yv5L#CftzX(xl>&%#zZQ)D%z?5Y)6vRVYc#1@#G1(c?vv8SKeh957pNaln*<
z0|7#SJ<bME!pO+LPz;VG)+$jnZ$ni0X|mtqhzEC*;^S{|#mDF7r<CTT#>ayy;KI_x
z98ilqKK>Sae0)lNa(sMIHz=5ULBs?Q0S;>f0kXWPoq>Vj11P{jg#rg73kwGu2OC%v
zR3IZ|Fa`!tFoUz069WSSEQ_TwLk4!DSfLq>EtMUT)tVWjIG~x0Gle6CvxOmwD}^hC
zyM-Z&JB25hL6i3uw?|@e1~@sT7FBs`*az5vf*tHZyW)&Q!<yoZL?a^;5M^uuri@I@
zKs-}Jqng|lQ%zftp45th)Z~)X6uam|-82JT%UEqqjN}1wJ2*vyI*c`pH4O0#;2t{T
zLJ*s|hN*@jo&_{|TT}olXjyM@!d-HU9mE7peK6;xmfvCl@osUzEQQ8%5vXxkGz&G9
zK>-Yku*|&7lK6OjQ2c_cPw*&Pl?amO_2T0picm@mPyqqLV29g*n+M==Hqba4BWN78
zhN)Ppgt?g^n4yLti)8_84bwtU(~`N^04AEoP{X`{Z6QM+q}gujoS#=*QdF7@8lTaC
z_7E$<g`K7XYMN63b+jR4*x*V<lO0hl6j_2i3Q9V+*b5R%K*e`aBdAi~1XnXDnaL%Z
zEVr1GbBe*$LJ`OV;93Ea>cL465;!1BK$8L@puhpOfEbts7+Jsp1R_xb38ok&kU%*G
z9=o8iv>Jvi(3m~rLPkdLcswLVnTlqD9LQE$kdj!ETGRpZ0N5R10^}HQZjlGM17suv
zW0e4M1Ys>FK?*^BD@NG65EK<m*-XI<5PO*+_Ht&VRzN0OAc>?0i~XRCs)S@eN&>-J
z@PQHs+zmpY?lKd|_hJm7)=UjEs0|5m1tU0pYO;XKq@q5M<)HrfE#}<fbhJ1r0u>di
zAZLI~XJF)FtP(;F2v||XQ#27|%p?#o8AN~vC2z5V#$hsZQj6w*gl2<+oI5!uvA8%l
zwIm}yrD#4#n22I&Dgy%pC&&>XUx5ctK*J-fOpIJy9LyZdMId>M0t)P4P+4Zfh$x^^
z7^9d|yubw!V-!n@H)x)rg)xdX#V3V3g{OrviY>)Ag*Sz-g)xdfg+E20g&~R~MKDFE
zg&~R)GzSeXwnS6Jz{Qqdig=1d3u6>die!pZ3qurdia)q#0h)p4jN(g?O_6J1h~iI?
zPf=)Lh!OzLIx|EGg6EtWqJ&aZQ`A}*qJ&cdQq)s4S{S25QUX&nQ?yzbqeLOI%TZz}
zx>4dOdMWxX3{es(1}TOu3{jFPK`BNl#x0CdQYj`WrY#In(kW&s<}D0SGAR}*mMsiX
zvME+6)-4QCaw#?`wk-@%@~H|b!6|kr_AQLfj8Tdy4k?Z;3{grcPASeU3{lD{E-9`p
z3{fg6ZYl093{k2n9x0wJ3{h(B3@i*$>cI?}Aw{yF#=W&8>X0vZ0twOzDo#$!D^@5^
zO;P|g`HI0aC9vi#s3BVXO9C`eTx_MUUr<?)sh3}ru3wy)Tac5gzmoA5qn2MtGN_da
zt6)I252z;q8oMi=0xjx5vuic1^O$Pb`ar#5PzMe)j>-gT_w#^9FvS^a7~+{TK_m;9
zWCfFKCF~10QkWKSmT;AD*Dy6REo5BCn8j1W5YL+qQp;Dvl3!H9pCyoARKr|QRKmYN
za3Mo2dkuS0TM7RHAy6-%h9O=!kE=u^OEgOi#0J$3n#_Jh#taM$zZh#Y#fw0tRS_tK
zgGVQCae@N}RF>W10R>K8Y6^%`e2XV7wIn$M#^Z%e#({&a2$X4x7K1WH3Wxv&Ly;ti
z1sYDd#g>?plV4tZi@hX29%N<_s3#o7lUW>}SeBTX1L|Q%@qydW$%*kvrFkhisZm_{
z1)wo2&=kWhHV7MBaNlAFP4}f1m)rui=|K{j9FXE*B`BA&X5<%_6i0C)8B~^9l$ll;
zUtFA1R0vYSlwBUhURs<A76BKVU;<org2F);lwU!E><lbIj8crC{yH0oW@2Gv`On0}
z^_Pj2g^`b`N)&l|7+&+aq14%+p;}O2fJ@h1j0_AljG&S&o2^KwhN)Nx)ND=xmvuFa
zHlUGE#%9K1qZ)<<OrV}4Xc<Z{1E{wM8Yzd2u@}YEFf3pN$rcBIbk{H}U`t`HVO+?>
z$WX&voL9qCln1thJ)5nlsf4+NqlO`ivxXVezl4|v*FOtvGdsv;s7YKYED)2BWLRri
zY8V!9*D%(w)G&%MEMx*rz<|emE`W4FRkCLB*f6B9)v#vqF5rVqhA!Y=$dJuGfw738
zhIN6!LI$YqtXVv@Y&EQqlv*NG!(JlX%rt?q*snyWh82=dLHr_v6wX?XJRz`&;wfAU
z87D9nIDo`z*cV9DaHMcAWU6I{nOq{dKngTB;KC5AQOj8(k|n)BriQIVwuW<oTnZ1Q
zpIpmT!>~ZUh6_}mPGBrds9{{7P{WX=2r{{7TZvK)YYJ})V>5FKUpDgu#-eRC3=5QN
z7;D%;_JDk<$zNsTT9%ko3LZuUl?@7spz%*=>jSa+L<iha&P}XL0u8W~6lJD@##&4K
zLaO-Oz_UuA{-KqEYH<};P%3z_3W#k3@BXHOmS}*6LRE{c6jW7<6?AnKf<awnXqGEh
z$W5$N$jb)}ltSjI6mPMBy0yPR%UD32K;4qcg4A0KRqQ#5C7F4;hPT+0GeFaWCAZiz
z)ARC+Qo#d|w^%^E;FnVv85lHGidKQL23Kg1PkgYmhpVsaErEif{N&W)V#E>@mK@N!
z6;RFqucC?1&%VW)lA2VSUbGsN)j{dJC=Fx`3#e0aivyH7L1hQH@pOwFy13*Pb9!nC
zxT}7PH9050IQ14wQEFn!Ew0RB&<cvgyyVoPYLI!La`hG~I5ci?dW3`ofR_>6;sh;L
z0Z&=pVuN<%YeC8@K?G<zw5Sfmss|C^9zHkBBc(+-MS37%a7n?Qo?4PvQc`q_7bXub
z`82s9r3q;61Jvt*#NRDe&~#k!EtZnpf}C57X^@G!CXiv<K?Jy%V*y1hdNbrS0|SE-
zs6+wH<S;PtfoJMKqW~;SpiuzOtQ`-N5TgJi3wY`pBnlD}08h2>FiL=ECN@S6Mjj>s
zCN?G^Mjl2EMm|OfMm|Ob#wrPvG6?38(xM!cQV7&q2h~d8Qm6}BD?!SbVwoC-1)vom
z;1UE>JAkLKLFE8rQCtmEaU7TrE^%s^OBfcgfoc^OhFB?Zxd53K=KziLE@Vn!0+m9A
zP9>b6@(NT=6t&ebEZ~BbPbJ(XJT(kiyfv)Q(g?K5gvGCl7qrR*JmCt;6(Loe;A{e7
zYw{IEf`S*+UAx7W3R;0ue2b+#u_*5rYi4muW)Ucc5_7=Q*zBOxnUYylv<IXETn$Bo
zSo=Z5UJwCKpqgypIKIV{mUoLSFSWQNH3d8^bc+Qv!dY}4q!?T$fC+HL05Y@`6pf&&
zi-8HWx`2gA0KB|Jf(g{H<6*3l#Tpr~i6e{{0i|znj3j|$1RQ3}HO%=kHOvbbL2U!j
zh+zs-HWO$fyx0O1PbDl_tP9vcrGE+|XlX%_4QQG>g{79YhN&p1guR9pR7Qi=@#OK;
zFf8Bz@j-C{idRim$h^ZX7LbcVs{FVhQ#wwSu!$DcVg-$q%wlk5otmNms!6Ru<L3&X
z7Lb*`eo|(MUQVUHQAUwxZeAp$sgzm*8XD2m<I?0T+6@XfP?iJd?jq0>3AoAz55YnD
zTA%^3qAQ@TDI^LYMFVSEVo74oEym(o?3s}Arf3n!EO79H32+?jV_;xt1;qiVG0nip
z!6?Qk#mK_M^q+|tTp<gignwyKPJDhgN*@c<u!e`a5jfOK7_*qNKr`4(wcv%WEethG
zpvkye@EGj^wi<>k_8R7eOrY5ba40hSp$s#Dx@;gLL4(c3pv4k3pehJF-2{pz7lv2~
z(4gxArWA&Sj70*ViS#tc6qG<A6S!Jos^SDqEbD>_4?j(2NP@o(@;+#`Sd+OZ7Q_bU
z0M^vJlA=oV5+<I3fdN#A7lS5<SeTd?c^H@&x&Bt^p#%r0-4zd7xB;>UX$&1cHKoaM
ziw!av0&xP!#-ghryFr=f7AI)@6})!s7CUIgPHtksEnXBuq201u+{LM&u~f)XNS2h$
zqT(n{xW#CWzr}}QMDZk0^n(1sz{tnQ#>DiGjjc)=k3Uc{6)1mm!WKDzdZwVs<t)&;
z5zz7lre?-|8A!CIFqE*BuxD|An?<03cb0GlQ-(l>AchEr5>C+6R0?A@bCC-u!fRM!
zm_Q2@O1MBtWdU;yV+|`PIe?oQ>>x2v@=0T?VVTF&$56u_&kb6d5YJn~uz(NLBw=JI
zj02gY$>diATD76ce~SfFF(L&rxU2#Na?t}&aD%)7sR2PV$B?-{(E35}{C*KHNC|kR
z4^-8{+P>h(y3fGC5XD)PSPmM2PA$I0ngbf(jp6_WKB$O{f~*$=M@*47$Q*Fq0u$g2
z23i|F2NVO43?{;)z{JDE!o<NO#wfzb##kkVJ0?&f0u+IuhyZ1d;&TiP4B*ZsV+vCX
z2e=LaMF(hJ#HyC1N}+}sI(Nue!dk-uYRy90YoHt#&QK`E!cfAV%~j+FTC2#&5Xn#|
z7Qs*`Rs+hjpk+g>pw?v3G0<ufP!Gw4A=aaoy@V6AIt0APinE4e0T*blq-a$QXYr~U
zwxR`~>GB%Z8n!ehF$QynTJ}7y4sZ(>)H3W~Sil2~www}BTb3<_9aJVPWC~^g4Yj9m
z1~X`KRVfER8b^@9R>;shbOIf`I2qI{LMbOeMGvSN1}%;(2Bl5VYQqkOEXIY5MI9wf
zCCs3rJ&Ub|p@bbI+RT^&?ieCX4l$OngQ^Hng;3N1s!~%}BpI^Vi#kBnZ3?R-Lo*|2
zil~MWBo68<q_A}`fG3QY7Vs`)$YfZ^RKsAyP{LQk)XZ4I2O3rZtv!QG_&_>@-~?J^
z4oVrId72{7V04Hklb@d^KceAO1Wu{oL<%bSAceaXNDp|H8Z>uZ1R6&w5(J5@0ksD~
z=`JNTEwMBQ((o$+r7uku@Ejj_uKE^pL3a8r=CahHB2d^s3JFk>yu|`4AJ&7?B&_0P
zVPs<v`_INK0j`8WYt5=OP|_u=6$Eb1Atnn!27%kXznJw3Dyz7ZL93Zni*;3tQ6dWD
zXHY~1g9czg?gXulUBCbu6;5GU$SekGv#|PANx@e&s}?KgrkL8Q7Ax7Q7K4@>gDrUp
zO8emO)MNxtG-)#4V$6kj44&a`aoFS}<|d^i+FfE~VE7CgM5xjs#xF2!McWt{7(lUu
zXaOVQ1hpAl1X>~qo^t{(TZ44=1@lr<Q$WirK}!(8OZskcfWisXYQM!15E<YZ@9ScE
zi@CToNs|lQW&&5(Mc{_-8&Ld$8oouZK&;oGm}bvQEeB}^w~ueJq!lGX$K}A$3X0L9
zvkVLjYd{eSn&Dz#=HUk|&{Y7fBLX#unfRDMOLkcpg+S|$m_U)u^q++Vt>{6CVw5T#
zG>iz!Yv6_zC>etCSqftfym<>+)*JwubObH#Q!R$hV3y=7=oM6g7qDm)Ybt<dRzOoJ
z&^25Np#F@t0%#r`wDed36hxrKFQAc#%%ap3JxxYvxFzP~tYkt8C~#DR39#QkF)%P(
z2l*Y8eHb7M_Wo7Lp+q@Gl%V(zl&nD59h5vlxehd(P{WYLn9W|KRl`^W>e4dRFs3oq
zFoEhLM$oEeW>8}i%whql1{HJA8mY=GI5{yd4>Z>Y&MlysI?xmoyr-!FT6P2OZ<Zux
zrz#{WlxJk-q-tui7J>RukbWPiIahQ5lmtL2cqL@Q2-1K9jklns`Jx{T3=DTcVE`I<
zVgOHtf`-bO{<AQn4XJ>F8MG|{BLF~Y92~(_ps`|x1)#BN#u~;fCUJ%oMsWs^2WuF>
z>&Y0iSQj!DTY(Y*D3EFxv)FK`394aOzz%A%F*1P1OhBvA7_(SGeVS%aUBy?+1U7{U
zWO`v5H~^WU#U?0%H93nw-Uo-vE$-4h@J<fUL{<@~2rN1b3ZHBc0U8>-C6t$65)bb3
z#AoI~7PN!QRp>O#EpBMi0<XaZbw$xa@fI(5xC|Cg&k*4$#>B@2!dy%eOlY|VMGH!W
z4azZ~LJyR(ii4nm3L3JhflonzmUCn=NkSIzFoUY!Y_=kU8t8&cQ0D}c%W9YxGBYw1
z%77L))G#zNfjTQSOrXjWl<!1TixpDxQ;Wfa7vLqa3aZ7L?6=rKD|(U>^NRj~0tg&R
zpkCW8*5cBF)FSX0?k%?bB+$YfXd|=eFQ~NP1P>VG<fImXn=>mJZ*j)QgNNzk;~@bC
z&UK&}$*+hI0(HJYs}?~El&ett3=lh#LBRnkj6oR01_cc`z4?HGh7pq9QW$HPK;vPI
z;IZ6=48<Nb%nO)7fmQ;Y!eV3qEljRq%wo^tC}GLsT)+jI*aEdWKs_{2&rOr1N*6va
z3!AeAuc||x#Dc4-k_$_O%u45_gU5!znu<$v!M!on;wp31Vg>N*b0TONGI-)TH3ceZ
zjo1SKAL1@3%1_Ek&9(Q_<Oa`}6oCT1s23CuM?eIq`+bY8G!N8k0Po-c&jS_dgXF-C
zPVh=f$b<}Nm<hc4pePCyJIp0%7z^mQ!0wF)%{~4D#R#ZB$iTt^nkxIp!VFpp#RXc7
z#w7HQ>3@|tO1X&8iBTSa;s_i+pcSw+pxo*L%B@)ppmEA#gA&lnV8$YY8m0xHF$zY|
zv|<Shs2SAESY!hp4~67vaPhc+4HQd^423M<?iq8HwPQ+(LPBX#PH}<)cp+k{0%)iK
zGJjB>nUe!rFAhz?dC<Uybb(Tf{eH26dfQf->_zK9K?d$3gU6u2ttik~8o1cF#g<r5
zkeZhQ%l|AO>mYS4sBl3f=39J;DJk*boD7PRVm>AYhGIz5h=YmaKNAz%KPG05zf3G#
zf0)>Ln9({<sCqHlJ@9Z;0;O|?EQTV962=nH_%t)9;((6YfM%K*z+uBwWe%!86hMwu
z0PQURP2)pS8!S9PRf|TdUb>!wt}e*c;BIcQrk^GYBtXEy0ICha!GP5I1A7~seg88s
zFvx<u3Ce~HOl*uoj8!5iNdsybO1c2~1yr1Y(*>vm1s7lpk_<%>pqe0sk%<Ac<p4BJ
zlEsw51mS@<*Dz)=H-kpg89?jVA#<;q%zjnM&Y<P2dFmygm37cTU2tmv)YgaOu%aqs
zxFV2e6(E%=k^%({$hdHBW^r*rYEDjSian?@1s8eXDimCqf>w@z>q(T-js-OL2&q@W
zfdeMMA@qlVfk7D*LXawzi;<6+g^}qW8#51Ml{`vFVOBdR^#Ev)5MH^0+K(j+HH;;U
z%}m8vC7^v7;92=1P*n+D?hk5LfJQVHGS{+{u!4FgkiK#a>jF0Lz9~O&rOHwR%2J^H
zR4l;^B^=;_5Y+EUs$m2z?+59tWdsckF5m^5#+1UG!qN=dzrmWw$HKti1KL!P3K~_{
z&o5Gd7hMUUjbz{~nNX5jkdj%HpaY7U(jstsCQ$*r_*Mbb@rA5l2CdwI>H!U)CxMzX
z2?<EsDnSd7!J9$AyW0{KK#R)q(!r~z5<%Ph(jm(Tbl|0NVjf~w9K<$IW(QUJP!pg#
z0`y_+NTgaFykib-l18RpsvfvA3AGfoI3L^^Q^4*-O+5t#&oqV15>Pu7w1z1($Omp3
zcp*2eJqvEkg4(X7d5O76ndznZrNs&f3E=Jz$f>$e$0Z~vlq9ArfL)@ake`<dHx9fr
z2C^Fzq*FH`0W|ZGkPr{jl2Mdjnx2tgTB50=kf=~nlv$RUn4^%80N%H!S5TP%S|$!R
zDzUUAAGBBrv?#n%A-O0uu>`bEEGIuNy*M)^6&wPv2nH3UnK`L?h}iQ?Q-DSwxQ@gg
zGN64vSmO@v2tu)<172*d0LpIpDbOSZStkdIWN^Kjp9VKAQ32eN0TpzhIRf~;BE+(k
z#I%xBM7jkjge+-?C0k9zqAN5Xg6zuyt;Ge6e1kNC(ig~skd4pzMU~*ST{_To0G^nx
zguAQ=yaG5iMWHk=IRmtgJOz?yki!tXwG)zxkixwrAG8yoGzpw}K=}rQ^V1YyE{05T
zfs!5Ah2VY@C@p~!Bg|Gk1%<H0qD)X~1JB_=rmd0?$*L$Zvlz4l4Ycb3+6+<1Pfji^
zDpp7-Edu!#=Az8JbVLw=yVpf;LA5EUy7$xMD>??^fJRopL(sQ)<6#=XT~Y9eG-x9l
zq|eKlo|+dAPMt_YaF;<QfI6f_pw+>*gurv%khT2K9p9SlkZzqSsA<CnDR7EFi<xe*
zg4^-n9xr5t5V&9l6X4PrwC+_GR62tjJ3?IG866Qu9!AjS85TzH2pc0>*9Yc-WKf9=
zYKDR^Cv?9es9Gz&!@$7M0otww?b~KDbTXwd)v~8>wKKFcwllRex3i?Nf=bdBPS8HZ
zB99Kn1&pBPX$NRa7kF7w4R{L{Xu&{nTn!s|16CYJtcI-_G`Y&2!j#QX)X>40#SE6K
zfSCYN)659c2Uan!hPikiHdDc}`#KmGu%xhdFc)n}VJp~{0_tQjGcx2!fnCo5nqXyQ
zsA11ytzpk%OX2Kg3}yiD^XE>iVP;_P2e<ka5>Xd$6qja}fL0BFtKGEHoV3iG98iKu
zKq_Dp5akAnutIKWF?i}UQ2~8N3Tj;d?p)+0BQ1&aOjF291<i>j7FB{v_{=nLiItF+
zUzD6059+TbD5T{iri1c9acT*uAW22pCJo)g0?JO%CL*M{l$i%MNFyKA&`#BapJ)JS
zKqP`zsO02;N?mxK%R%IGutPy@37EEGNIpjkG<Y$E8XTFRMK7g!DTrzfWJeLK>_9Hl
z)Ir5RD93}!Kybkhb~R{HJQcj<rySHoQpiXwL*(-G{F0K?Jjg0MP^k}!CXfXQ39vK{
z-uVM9Y(WDrU^8Kkg%@UM?g$O?0hNQG@(@(;Ks=n6kE1Nc^kYH-XlFFU4=}%?)-+&8
zLiQ@5MJjlE1VjcUSr&tuD9{a5aCd{dEugU^aC2P&)?Y}@&jVF>pur;rh0wg5)M7{t
zlaP{HmYS1a5TBn7w-s&{I7vYjfJO!&_CfYurKYDB!z%BRjQrwMg;MbDDX=#Zz%xvs
zQLKanxM`p!Mq&wQunW?Kfh-M3L6o#r0>R*!98i>jc95$U`=K<kK`liP29><Upapa_
zj42G+97Q}G;JqoJE(3VHpbRtvmc>}Yl+9G+*1=HhR>RZ*+V&&X!3dsu22UHOFm*81
zFxh~H_L*uJvf1)uKpTuoSh5)lVmg?4KuZCci$FS9YnZawI#?Ehr$uX+;@P1sN~SE(
z=1{R3Cg>JWG3XFYm0ECiW<deS6UafAU!(xtwU(Nm4w`EQ*DIRbMc}qLc!EU)R4ITP
z<lspcP&p2sgSjOLOS*^+oS=R(cn-M;RF!D5g0>74-eOM8D+3Qr++ryKEm>mD$xmL%
zdW#F{kof#;aHVpKy%^-g)RbFnkYrUP$jAUWApyLBrKo{{fgv4Kg@9@m(99<bGanOZ
z41)!<Ve3Dr=gh>+!N~WIiG>9;amL8USfz{7@W-ss5F_KDu1b}aUp~CW3_eYz7?i)t
z^NX^<AqU%=0ZGN+8V_9fsursjS4pC78-&)F3i)XY-~s9?KBv^;5=hnrg|sFkI2bh<
zL3^mdy&g~(4>I@z?j?i59K1LrFSSS*v^<3q98BOrA8^pz;zE?TMbe<Kl4N9Hh~fs7
zO*zovH1Gr$DBvKSX9<uhaD6Pm$iUza3QW)pFoOta6$T5Fm?R5mM;0Ro6AvR7be9I0
z&By_s-e+RuVr2Tu#)i?O!VFlH1%aSGD+q(Tp^$F%0tQeo2fSngG;z<G!kEojBv-?l
z1*-YL>zfmeK~99#e4sK;fy5fm#Wf(v)!8w`)x}z&v>4K^PDsFXD{|SJmtU>`s!CE5
zLG47h{33Wsk(8JW+OL(O09q9b+MS%4lUY&;s@*b+6`=buK~-L6N@`w7W^!VVLQ*NX
zn_OCy2QJp&CM6(tk0yZ92dH#{Wu{cnc|M@-59Ej)m|H-~P-`-{Y5CyZ8lu4R(_|_F
z#V#ayL01_31?6IJev$<x0dQ&orwveEf}{;lvbe<x4xQPcgaI0lVBi2P!C_;p62i<!
zC<BDB$xd(#gL>lNjbES@>?}1bMOvWKuv!>Ez2_R11<WbT3mH=wK<67YGZyHiGt{z{
zuz<Ecf=`jS1=<t_8HBE71G70m1JX6j*~~><U_NIJGk6;pcxwXaY^_=jMg~x8tcJar
zskp0z2i${Z2QB%iVXtK@;e+W)VOz+Q!rsi(Z&b@!!?}Pzg`<WQG*6f%0Hp=NDurs;
z7J}yw)0oA;!{~^4aZq2qhNb93iEs)hXnQ_v7&DKfL^y>DJfI1h8skP?9s!z;0X0{_
zvuU7VD$u&sSU%9!#Vm#*mKw&1Ooc4LkfKhLu?VzAN|On^;^7u!3M6vC(FBemE*sFe
z8z>FhtpY_8C||KLGBL9KuhK$^BzOxSQN|&(g3EdE)Fyb=CNVb^l)<Vvz+D2+sWOb^
zRi2<F`U+qX@RA3G%-n+fq7sM*Xg0I7Km*k5uvIP6QGoWJ!EDgcJo%teuwvV2)uLEU
zuBtZYM9`QKQs+CT6143Ga!8N@dS4Whh0-!pixgCgKvPbY3Mq-j8L8k+cA(q>vKCY_
zLv4lavQA1>fb`H)p!I%f9_S>e<ou%4Vm$@bqN)OjJD@XX3I#cdnR)OzuVU~Z0jQOd
zn5UqQF*KmAP+XdpmRSKB{!GmSH@x8;c}SQj6ekyD7L+J}wnrC%ho1E`MT$U^R7Kz!
zLeRcr@H8l7IRm1$1PveGVo%8|0{N>5v=Smp9ue+($@#gtiFqk{sfopv@u0#fF(;=;
zk&%Jn7F%%!=s>GmtjYNWl}1I+LESRe@*>bG70?U|I4RxY0H1;aI^qD-_kvAff<~ty
zJvDH#0CpgF%@^1)%qhhsU@MAlgGvr?@&gl~G+4yX$iT1yl=wiKhZq>S7`d1P{;@GL
z{bge1VdP;3ZSn(k?06VK+p1X@nV2~k!1eM!rvH2#EKJ}dIzVHz|Jm4>7@7W8iD6H;
znG6aH3@Af$pz{kr9YAm~1KMU%!vH$L12(Z)%Ut!Y1iaK`AtQKY9(V;`EprKL4RZ+_
zXa=I0smQB@Gli*!v4%N|tA;s?8<fdG8MlTReDD!#3Ue)Jy%SF@dkRY}M+z%=59*{6
z-Wt{vP=}DSgs+6ZM4*NfG!9(LQNyr65L}V5)v(uaEM#S5C=sfG6f$A8Ts6!KghA^l
zYPoB;iyqXlED)*T2F;w+a4ispve;5M%o#v7qMK7Vukb<Pyc&iDV&IcNxIj}%NCgpV
zIKv{QV1^pdDqTL%S~*as7J6nCr(YGH3$(2QYPYBsS4lt;KCG5e0I#YoR!}VlmjU2C
zK~;RvosPOWsd?!o8C9^|l)64({w=2RByh2zDGr(F1W%2C_HIBnf*b@T6!0Jfs5xA8
z9K<~VB0#CGXeWpTTF-WiCnYByyuGnFvnsU+v;`k@)?7sqsJ^+yoS9d0iwm+XB_lsS
z8=Rzzj)F9UH=3w{YA+5@YlsKZ8UhV!LuOi-(h7>$K+=amxqt&~MP6y{EvBU6TPz^E
zqF6y>aS=O65oiG@deO>*7&0lzzYI#>pt)rR(BK3ksObY5s$gOi0Jk(j8=6=cIha6V
zLX132pyjHdQ<pdxMVMGX3s#xf7^@^v(lxT_$)I8zG@Jp#AU0^l1vpiMhU`I&_9D>U
zHLwez3pF7VA>eGQ4{GPJC*@>=JXB-|@((z3f(dXA1uftI4)Ou0?qOg=n?*u|FG}tL
z#T%$12fJeyc%42dcP(Tr5-MQ?4NwO&RPli;aR$)r0Q3|!@GkB&&{=9tj10BRj0{ya
zDNGC4!GkUgHOyHYpp}H+{K!<4P{XhQRB^I^D(5_b5-!mBIW;V>Y7~^dQy6NQ>zE@L
zA{izy=83Q{lyGP9WbtNm6|IAs&Qrt8#t_aB2~PhA)p;+VYWcFcCNLEJf~wZ4VJf--
zwUs%GA8fBs30DdmxCG$GZgbuo7KRemEP-sU35-Q<P?L0Om?kh5sld$=gqy_<HcJqP
zSpi_Pgi3_7ctD{vfw5=`)I<%ii6t--!RCR&1nf2(roqmo<M1m2ZK?XjsDLto1&VG^
z3IaDZKwUR*Q-cR|^am&cQ5zbd1?I4Z26JK&bdd@o5h;KYB{Ks<F~~$V&=DV+C<z+0
zf)6yfh^>K9#i|M_UaBNv1(5=H{1e(;0(F3@tW}Gl<I14XZ-u196oulF#FA3*a+Fj(
zg^-L?1<(-}sYQqrsXzso4rsny1iTjO78j(m19HhNJ`foX8a#<lEG@|>S`R8Uzzcpr
z8SEC9XC8P?I5fxyT*ZR-!GM?HLZ);<sUJ~l-Qoxh@`0?iXDdogEY8on#p{%q5)5{r
zPi9`~Ezm;u)LXpZHTf0EsRf|nAW+veIXksPlNC`q-C{3K1kc9YVl2ZtaRn+ke}VEU
zXdo3-n{qHRG4e5rF^VyQR`e<{iZDum*#b-~j2!>Pm_W-A1(=u^nV2~KG5r@|1#Qpa
z1FaJJk2Zh`4iL~fcu)j_N*WLb4W@$p3eM%v!0UfOv%oP-pfjjySc(i%7;9Lv*@{eR
zSU@YVL2Ex2FoJS3Xt1GBAde*lv>S$H0aFU-1T3!_mK25*@IgGaEG5j~jjPNxpn(at
z8pafkY^LI@8pZ`|DWKD?%D@w0OrXX)=nSnCu56~_4zMifIKV03wc2pm1#F-_D@CiI
zxq}U~e4>Uig*Th2=oIAah7vB&J{!<HbqXJ79e6NknGb&r6X^IrMi5(|25K6pJk=EN
zt76jAyTz#Yi!tUFV|)}JXk#_xsMOSy`1m5wvW6ni8CSQMi_7w=Sc=Q?v~Mw|XO>j4
zq-U0BS21U#YeQN?pcSkknu6dZWT2f`1v!byso-&Sq``DhD-M!Ic@YJFaakVnz<hdU
z$t|QxCnFuQQXF&+<1L=jq8ua8)C0Ips0>QW;ElSV_20Jy<3SsBa|=q~M#DztL1_q5
zQ-GUw;3W#6m<HF8;OYcIfNKdpMg|61PzDF(5(Z|_AOHuW1QTcz1`iV-3uv1K2y=nA
zTY#1tqOGNY+YTxPP)5aI<q*hf=!RNQk3R)@1zLzEV-aX$NYPJ_=fK4dm;gHsw2a6K
z<TQ{;4Cpfhph0G^ouF<NC{cqjD3QYxwi$Tx9%LtI<xMSUa|dWc0aFU|LMG6bf^4=T
zJ<xg`P|*!K)-9N!2DG>p)O%y`E7}5b(N+)vT3e{eQe*_GW5LUpz^5|uA$*=ulA8mY
zp@ug`iVlJFf_(!fz+UoVWMHrbc?s0g0j>EG0d1f|UH66&uPD82P&o$oA?R?j5(dx;
zR?yZ67lv3n&}I|R>_!m}s1ck3UZY*)20E<~)Ho~wZJJ;PH$TCPyg&>3A)|zh423?0
zJecZAI6w_$aqy9-;4H-KSEXPBKAskIc&)BNthR!#f~I{?YFQ>|?W96XindjiTqx*p
zDDWnJ1&<J4AMl=1$QCWoYC}y<NShA4tQ)*z613U82;7(i_lQ_QLG1=2Kn+Kf#t%4D
zqd-9m?v+@B6oJDROn?K~n~{OR1r*4jel}>3kOMTD1s=;10G~O;#fY{X1T`vA8bqK4
z=b$hLr(#g66Ev!k!dL<xtE~Zz+k(>*Xbhp2F@+VhQ5&>eVgW0-XnX{k<;i9%dIaiv
zEC7#U#IS)1*;=+*_F9fw&KlO@M>T8<SW`F_G8R2b;jCdx;exDq2I)fZ7BHu9g3>Ky
zT|o&aXsjfLsg|pjyN0XiQ3`hrS2kPGt{Scd%qiSZbv(7aDLgeiHN2o^L@je3M+$EZ
zmpEwrn7fv>h6S`G2Gn7x;Y?$z<paBqtA=kOXvCUf0e1=?s7nLtaDc{AQusmZ+-jIW
z9VKw;0iD$;;8&#-9Oj2uhX6fo88iTvk_tK?GO;8z1#J~IWE>P!uv-0Mbf{v|*9Y&w
z1uqc(#b{L}qoAu>TAT{*1>1tR{DC&*l;;<v*s2y+@gU1qsk`KZx;Dk7Nw6^h_#6Xx
z*g~}!)K6C}t`aXU%Ts{KfebBF0Jlsu`EGGQE9PQwE8rG)XmM&$IHaxyAD{!-!2@2X
z1j==gMc$x7_!d_@xK9mo>@BX+qMXt^@X4c)ei0}Y-(rJ|t84Nj8Uo-V_!et&QEEyt
zWYUx^FSR5mKN&J)9tY~SFcubF1ko&@7R)Uc(C(vKEMRMx3d+H&#398uBEf@lN-!wF
zgM>h(3TPdv7^4KE9HRtyT`6dVA0K%57P3=I1bqtwA_Ekc<)M_~pn?k2TmYwkP=5rx
z4Gw%ZYz!-C;SeM>*D!%*FhC836lU;A7N9Xc7BHVxlA)F*g`t)`g$>-O2m+NdDWG*R
zpwnMjpeM?*f|nezfX?hoV_nEt3pzFnaVD&G5qKRw=rANmf&w*5i+n(tA6z=KL26A<
z6?qGE2rM{iz!7+htq9D4#u1pU$pNk&Z*djm7sMA7rKV+8fFq+Q1Y{t1H6LhHqv$&*
z8kmbx%g_S+mUw(waxo<S<BL+u;z7v`R2OA}A_276nt@4-Nq`yLSYs4m7GtVXL1{JP
z(2i2@pj2f!psI`s)Dr^-DI|y)vKT>|98y?&K>-O`lEeUNk=1~9l`u0hlz>ih0rg9m
zKm`Ce+cKvxWOEi}fc90VaDWPbs47r@j2W&9l)1V5AmI!Sc2Ho4tYj>TV`N~cl7-~D
z^vn{4<edDxRLG1bBCjDNbae|$GgC_-d98{cd@c+q!-9s_REw)*K`M2fLDI0isesV3
zk`)|%MG2rN0nd$q@>Ed}BLl-q$SO;49D*}cQ9MWyDDgug3S0}gGcqt#gW>~H3kWa@
zG4U}9F@esU0*#e2{o`Q8*_27oEE&{sQIrUZ2^mOCWTaz_2r;-gB2Yp5tNB7fC#Hbn
zp(G!~m&!<2(A7;YPXR?lX@P>Svx06Bh^<>#lmrS_Q0Ed7uHX;`2d)Pr14B1~z{NH4
zk&%v4z<`=>APgEKEe3U0K?Mx*!hKM)13VI<$y6i`s`&SVh+iNA>>w}!b`?lsHpo@b
z1|#Z>1$c)xg;s+TA~vf*67!I(7DUPKpb2LRZ3ayR7Gbj)B(V^u&7kT{lci`WD72P=
z_Q-^2GP=Q#A86*0#m&vlPm{^b4a8w|)6_se2L^O{2jpA~a7!Ju0k{a%11SP^9E(6(
z<%&RCS&Be=I>3uHArqLO#pXqz22&9aC>4QcHbJvOkmK*bvr}>)3D7`tkrs#rZeW8(
zt%^Y1;UZAa1hN<w)M_pQwdz0vF$}kOKtlwX$&i&2kOBgf*^5Al60&R?6dRBVofo<e
zJ~=ff2euX-oM4ziHiA<P=wuX-{lyUs3=ABMETF^)D)IhtiE<fp32^apaB&E5XmhY}
zadPnUadHT7@N=+naB+Yt8;Cj|E?y2z7A6iA4rVT84p|On4t5TH4lyQ19zhNP4gt^s
zH&u#i8p;|mDcUs^(J?8Bx@nHOZn4^$HPJEUdRDrz+M3q(pnL}E!+<d;1%n&{u69AY
zuOOq`pynBD91gUR5@f$76J$a`8nm032|Ueki={jR<B<4UypU4@;z4thC6%i{X$Dlu
zfQB22(izci1pt{0cK~Qa5VVIBw37jJBypk;BLf3?_R$4=f*_=k4>mUwF+-D{S(cio
zP?B0v0$osIXJ@C70Y7$718jhvo*rlskb*jBZ*{SizP_Fw{C)#aw^!Fd&rr_@d^1IQ
zl{%^x`;z?Z)VxGnNATSjU`~>)lad{DHwgILF;xAK!{3Oq3t>1h27?`@$#jbg90-;1
z#idE$Fa_Q7015&00u*#A!+KB*fFhcKvk1h;ngBp?0PZ~_Z5?F<%|U9SZNLT@1X2uM
zgaS%2pyh9AkiFa-pm|2n5vhJCXDoq~b22b6$b<G!fffOP`Zfz0YMDwH7BF>ySH@NG
zb%0u8jD3ud$p(-NXt;%u0W#45DVUjyY(Y~|g6XLx(Cv*SnYpR?r6soni_wKNnIWTY
zMW9W(-1#{v@ldtUgG+C*L-~*(17*=${PD&4pfNR=(!HRN10_mO?~V&JRK`^0fT{#B
zAc>|Irv%tOs3VGULG292q8v~u0ou|IS$+Z%-2<{4l5hAps?>?J6=pctK#(zDfucN+
z`Cu>dp&GOsVG9p;Q9gR^1ocHgZU7e#keCCXBnP^S0d#mhGdLEZ+i$=}(z7jO0F4nW
z0N+jp8c5S*PAr7wVn+qg;j^I8OZdu$oK)~sDD)Z@1tUFUU1L3Cq`e-gd7x8M!08^;
zQGqlA!B?c9uF*)$Qvi*RDnL#>fviyg6$Hg4MH=xCL%?IT8tR}v4k*j38au)|ed?Of
z9Gep1my?`pnvoP9YL@KoR+Vg=QkI+>XsZrc+~|{^m#zSI258+xUV1TXIv8|1OmZS<
z<wv4IUTQgLBRHs2m;^fNvpBV=Bo(^M3*;iu;%l%|6l@jXj<Hf#&{j}~yGP5=0PJOu
z`s9ov4MPJ>(5bH&o`IVM^#J%VO|Z^ej9lPOuqFqh&r$@MWV*!$35{E9pwrvUOm1-|
znVCR@icW#*Z&%Qq7i&=%Xy%6v<k|S*C@wIaR9TW*9K{P!oDvV_-eQMxAt?=9>48%k
z4|1rV0;Mx>PU7JKjgT;LFcpE0_dqEpKs6Gmcmef{ib0EmVTVP6&thXrVa9VFE0=Q-
z=$?p@%*323D{ufff)?U{JNWvrU{xqc%q-GV2rUNfC<1S<1f_$NlF|auvUgDZfYKZX
zm0KY9fKxxHy9GMvDIRoV217g}yt%lN=@thpN!{XrSq0r#R8#@Vd6ggn95P@66g=RT
z&QnmRfbtguBO7CtFv1J))2&d-YEWGX!k|C{H(^05{y@j8gErWJXt<k-%0V`Q_W*-!
z1QQ@@!N*FLq!z`;gEmZqXInsJ8@k<K6&QAd!UG%@pt<oB#u5h5O(Nh8+Dv{`lByc8
zP|z&4Qq_P51n71vma@d6Vr-j@Kxd8?mlVavzXb&aD6knAtAtPj0xa#P$&S0dSOxNI
z4Tu2y6G4D{TvW!$!0-TMI%tRid{QY32Mbsf6po-Y2ge`}f)gL;U=c*(OJQnZh+<A<
z0nJRbfG%=lO<_%810M#=p2E?>5XBBTrQjA9=qv(f@YQB0fd?`dRFr}P547e6Q~`n(
zDy1-|GpB%NFyQwwK-L$47YDI}NsbiOg^Zx(M72y{J}0PJEb;-J^8;crGC&R#s8R(d
zdQckn$xlpy6q9xOdZ0t}ijv`Si1Y}V`Yz5a$uFt|7Zkr3>#EqH>ismiK^LMVmw;}j
z$<NJBtt>7Ajn3TS4@xYDcrXBTz*P}A8KX@_+~P{DC`imp0VN0U>P+yYIy6Jv;(*rN
z#kZJ>py!Z-BMcl@pyS{^f#M2WRIms!@-c}q@-S8jBLWtC)&Qj(P(}iUbTP<0L^GxX
ze9aVSX1JEIgt3IFg8_7a2xv_Oq@@DNQLq#MG6pmX3vS$i*3f|GG$m>oL56@<+b(1R
zk9xxwQfV?4)q#pjCdh_k&`2|Env=aa6?`x}QnCm85j55LALK`nMW7)9f&W!TNd5y4
z+QlbT#)GELA@PG~OCXk2X|mknfZ9-8)BsBSp!9u<FCKJU7f5S7$RJI~=J+Tnm{Q23
zB}g7@bY?2_aBXl|0dn6hVUWIJR0sS8xff(U=ynpe|7@&Pa`;`0(F+Bo9&qwU%$9&=
zXh5L}TCEJ)^az?k0S!BW#6aDU8b;6vGl<vB1UflGlf@4l*oZW&$&3hgaE^v1vZ6Ln
zGm!=4OSD?4sDqJ#fsKWM0epB51LznqMm|Qqe^ru5{y_~w6t95N7zl&Cq6Hc)1D_hZ
z5VTEO3Ua9u=wdNY&Me}BZPqU2g6`hzf#*X{$VLXxs`|{ll+0w%5VitnOKM^fcr+Qj
zSq|iWa4c0SKn@QFogWR}D+M<Pa*rZxA0BumKPdV@y@SLY@C-P3Ga14pNW%zJO!$EU
z3lvVQphLKd!4rrmvrC|aeTxNT99kgW;s>o@2B$BGMZBN@1tn(&Rw2;AuTn^XiKf&~
zlLNgV2W9$O90f)B1*t_Pl|`MPv<!--qFxXSl$p`&FREo^VE711lAvOOgOP)qiIIzg
zgB>i65?!Ei9FV)f(PhPma^o0N4O0vo=+-&VX+xk{67YIa&^}26(1vo*e#$0B@O@)!
zMQ$Z*pi_!sm})s|x$;<2SU{^fi|b0*n?Z+ufm*|$Wmk12oHg9djJ2FK+*w>T3~5ZY
zJfI~dDV#Mt^O*V=7#V6fi;kqQmGIVZHZzJd)N<A^*KmOj#sSTbq_NfVf`+6P@YV1x
zWUS>YVaVcNAOM~z;jiIeAeh2l!wFut!2^{6*$R>2C=mk5)G*fYH#61>)NoE<EHVR|
z#Z)7ZCA<)HvzlP7P_1ySNUdnCSdCx}b2ey!iCK+M4HuLpSi@2yTq9B=S|f()k{W?{
z;Ti$(Av`Aj1*v%oiJ<MrIhjdD;Egt^#U(ll8Hsr*;Qc`07C5M>2uc@_o4Ja7L1T!*
zdHH#HrMam^naK*Em7P`!>gu4&DL}pPTdW|m*zcE?V`)hSOed(J4O-R#PQ;*-(m;dX
zpaql#nMKK(Rcua)#hJ+pw|GH%@{2O75<%UHDlX8(imqdNYF>#ZW6?xV(JX@0{sqmb
zKxWTDsiMdnl)wT&1Smy8(i>={3Z#SqB_7B$3#g@96bMoWo-bzy?OOtEFW>_0?}l_Z
zZgGLCyZA(q&EOGZO>r;<UK(<X4LoO)f;RdO7Ea79E`rYjfE(Sn*g==3q!t$!^?<Ad
z4>Ex-nE3{3or7Eex=NDa7E`g&Ev5`3(AAG68AeecI}&q^qS(M!${9tmf)0Z*LeDy8
zj0_CopzI17aR<%A3$TFJRB|x#F@aV~LgwYUKs@l(a-ehf_?UQ@co;dD*qEglML^do
zFcpDJ!D!)t>Rxb0167=$0vxnmIfl8Gv6iWpp@ykQqJ}Y#DTN7?F+eqMl^1xD1QcwL
zK3TLCxXqXn>j0XIinao!lUQ|41zlY`NIwa#KwU>c9a)VYc#6hPlkpZ;Q9)u+NhT;Q
zXfhXtgTgNYT*jrO=47HD2UG-#dN)vDfQobmCILpU2#Uu*tpgASdkmzkh5>p+H#lT9
z86mNZD5b!4C|6o$MSO7@Xs#vzWIm`}!N6EF550d48b1M*VPMliJ0_sHmI0h+K>-K7
zuB`-eyb9<(K1j2W9kkf9$ObIVQNyqhbX6Sl0!~nn7rg*C6uH1EUZgYBa+I(x;0Ezr
zKv$!1f@OJXz~xCTR}CllgsXWayfs`Y%*{;we4r(y3-}f?)bfB9$w5wOV`M12mnQ<&
z$pt#nwP;ffX9}Y^s0`y+z@NgBB~Zhe!rBWS%PCAqVXNh>;ms1LVMt+Lz*EDqkTHd$
zm#LN~g)@e!mampSk1K^Mh8e`F<pG_hoyk}$P$IZMsD@`DW36BbLzeIYks5{?z8d}-
zff~Vute`{xtIR=%w<;iSGuMF(9e}o_gZ4nf=7m99r(pYaLG2sR(aTj_;GKPXpkcvV
zj73$_@Z+SaL0!OFB|8WWI!{WI5q#W6m6HufwVe$pgWEyZB2<?a<<#2fLl!33=tHEE
z@>449szIyTi)(H4!8{v%u->8qPzl5YP9wL#CsPz_GQ9*XRlUXJ@2$yP1iHAUiZ39s
zBm;a#3wWPT6({_B&LYslkSb2l$R5~0O;Pm13|t&|g3@^;sB{4JUT(2v7K0p9v=Jnt
z3nIYB3WCo#1g{kWE#3w<%8R%_nS%|oGYxW26Gw0fXfLp*KVpHJrV!WzkkZQ@WFFWW
zR`8*)NQD=8xx@mHTfh^`;LF}X%Zeby6$>a}iY|cWI@v%Y>!roF*mF~hixbmR!E0Ee
zxIqfyi%W`96ESkCDI)_z2q-6krpOtXK-0~jq6xfg4Rn+hBM+kxBj^%R4n`4X&;gYq
zpsPtiBMpp2Aidy82k<-u_--Uc&=_`X5opTc7ISfBF{B3rULv9bazAL8u?VzYxoA4b
zyAMHxA1J6e!2?*J8-<HN#a$F=+!1=kuwE+oJ{oW+MoA;BsfUQ`6=zoHf$zYAL?O5W
z0=0_4tC5R9Ta|9{qFmSpzOu3iR6KxhAS?p)x{JU&<3Ptw6oFQZ6oE!1AP2t*f!qk{
zw-kXUw~D}57=orGZ*hWla)Orb7lWs@ZVABodf;`E#o#rGx7gG2z<WT!$B0LXBDuey
z(#RaN2_&%uyo4G}&e#|#2bvd%5<t=iz6lX>(;`a==zwJ2_;}F8o3I0ez{i(^rsHlg
zdKQ5XRQm$*19*D?_}muo(RQHarJzv)&~@4IQT*}2{?6X6A@L!ezOMeEAyKUHpc8_N
zmVhFM2f983e6U*4R8T~MMv;m@<Idm}bVcCvUqF{6g0Bz+-_8cUCkuQhRT1b)TF8lQ
zperiCcLjjYLMj4Xgj19OG7mI=0UksLkClRlu)rOUq9%|mxD^4;k>IQcswKfS3b^10
zr$cb1fkc373l5uH@E#UBP(@Qb0d!9?`07W{@jM6&s)RvD-`apSK7cRV1?2$HZg$YZ
za27_U|12y5j2z71iy;}A{;{xvDs(Ys4o(gU4sI?!E=4X5@NIMdxKy}=IC%M3m>9W)
k_#_1s1?m}Kkco$xgO!7ai=RV`Pf$orK%ax1hna%~0BxmIPXGV_

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py27compat.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py27compat.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6d4f0f6acdbc017319a757e3be702d7b1c029364
GIT binary patch
literal 1749
zcmWIL<>g{vU|{fR*`0EOm4V?gh=Ytd7#J8F7#J9euP`t$q%cG=q%fv1<uFDuf@!8G
zrWD2$<{ai+mM9iRh7^_*))s~+)>M`(wj#3>HYks20sBIR6!vVUd^eCx6h|sYQ9vqZ
z9$N}W3TF#L6jzl_3Renu4tFk36i+U16mKqH6kjfX6h9+F3RenG4tK6Vlt8XvlprHR
zI76Nn3qz_<HdoO(Mg|ZByF)liIE68VH%Ayvw@3<K3V#b@6i<pkieL*vlt7A5if{`<
zlwc%79#aHE3R5tHrf8KBmveq@L1IZ}Qf5wONu@$?X+c4LQHerYevv{zWl2VUo`R8{
zxk6%Iib85)QBG!R5!Xvl82M>3-eNA!tVm`8@t_#QW@cbua0Ue$C~RvO7BJK>E@TX5
z&}6Lg;8IXfP;k#IOU+YA%v10P2?_8`EiO(>Pt{Q<N-ZfZ%2P<p$x+BiO-xBGDptr%
zEJ@DD%u82DR7eNw$xf}*0~?{qc#AzfwIn_<Cub$oE%sc9A-9;bQ!7_86tOcfF#NLA
zFUc*?FUTy=EzK)POwLYC(JjwNP0i7*w6v%)HZrf&FHS8fEhx#)&nea~s5CN928V)P
zLFFxesL}CIhj4>D1M(RIOA#jn0|T)>UdadwBd+w+5~x8%EDQ_~=Yic=1WI0D6NTY6
zFy3PI$;>OQNM?kFD2M{FK^PpWATw$hf*FcH!3#D=lkpZ~1(*dPK*rwUu*pfxO-f0$
zlVM<B_zW_oh>wAR;U&l%O_p2SX_<K`@wxdar8%j$xC0{No&9|SJbheUZgB=g#=8ai
zN4ffenZf>{LC&t4Ot%C<p^{dVUzM5{pP!VKnp|=V<Ta=nn#@H)AkTq(QY3;NNFb+z
z+zs|X76StVC|RU1E@Z4_s$nWht6^Hen8LJ>v6i`nX#sN$a}DD{CKiSm=316o))?km
zwp#XDj#|zdjuNIUmTab?fEuO(w-n}dkZ#s=##+Wgt{SEyt`gQ1mKvrShBPKIhGxbl
zkSJ#`gC=X0xmRg%i9$|hcB+DUW^REVlGimf)pZn-N=p>VGfOfQK<OkgJyoF?k_B!t
z>J@>4>lR0Rd}dx|Nql^juybObdWiza1O?S1h0Ht!)nZMyTdc(eIhiH5m<#d?ZZT)(
z78D6GFfiQW4e)l4ckv8zbq?_lioC_`nG4ETu0=)pMVef<*r0*WT98<hQGAQFAhD>V
z_!bL@y2Y3VVw7auVk<69OUtad#gdz!l6s3JJ2Nlk7E5McT0SJEK`9-Qia-{sgHjPF
z>=~H27+Dy(7-g8a7`YfZm{=Hvn7~fLpK?nW7BJQ@fbuFhZD}$UNrR$Pl!1Xklc`7!
z#FhsUU|YciD5VvF<jp}=gR=-Dn4b(P1VD)ngh6Z&2FJb>0|P?|Ll$EVLmFcZ(>$g=
z21bSwrYz<f21!_=)?@)&e2Y6LKM|frnTsonZ?QwdtXPv7$vGfzqX&l=0|SE<$W5SB
z$G|ASSOgN$Wc1S%xy2qIpOT*(A77*iiX@JLoWzo}{G!|_K}3O|ms(MhT9j7=@)0<L
z-eL}jG`huBTv=R_nj6KR1InWD1(ineiN(p8nYWmWONyeni*iefQd8rL6Vp;}vBblY
z0b0HQ2M^daMY5p41P3uVFcAbOSZ{IIKs;*)N`l2|3=9k`EF6p+OgzjS>}-r2tUQb?
Z|Cm?>SeO_k7)2QQ7&#b4n79Num;wIvjIICx

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py31compat.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py31compat.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d5d19496a189d177491749b46bf1c57c36947ead
GIT binary patch
literal 1191
zcmWIL<>g{vU|{fR*`4CX%)sy%#6iX!3=9ko3=9m#0SpWb=?qZ}sf<xfRRSptDU3PH
zxhzpEj11unc}6S@sjS&tMP7^yAeh3C!j!`n#RjICqnO<pQkYX%S{PDTnwg?lA{p|S
zA{bJbf*CYfUxMt?WV|I5lA2qPUzAu>>5^HLnp~1!ROy!tl0(K!Ft=zhFfgPtL@}l?
zL@}i>Mlq)_r7*WJM6sl>q_DOyM6sr@rLea!M6soC1T$!I7J>9tt>99Cg0R%0N`>Og
z+=84`g%X&x3Mnvq6_WGwN>VFI6mk>u64O(Q^xzu9GjnnjN{T8KO7ay_Qgc#EQWX-@
zN>Yo;6N^%G6p~6y6v{y=5_5|46*ANF@{3Xx{DTz|^HM;zW#%Ln!A(jnD#|Y^R>;qT
zn3I{Ghp;7?5y{UWr!zA!FnEKaK!SmRA%&raA)cXxF^egUp@y-K5yVSj2xeHx=%>ki
zizP2HH}w_=$X98ZIjOhUbF))G98IQMEXAogX}8$2%M**zi&rufaWXJ4{Ib+9$t}<?
z$Slw;%_~Su&Q49yEzd|z&C#v2w5T#RGOyGxPAw@dD9O*yDb_EjG&W4m&n-wS(JQFD
z#StH$nU`4-A1?xO8VktHjBJcm(wGsc2UCgSGmtMq*cqgqje&uoh9Qd~n4t*dTTR9y
zkb#<vMeGa=5T}COTLen0w>abDQ}aqvi{j%!0a6SKA_m4P8LSpV6()m>133|dL2OX6
z2HR}Jz`#%?RKl=;v4$awDTQ$%6F5POurQP`XLA*)fs!*L12oBk!k!5f+L}y$A(||=
z*oresOEPnAu@&W(6s4wu9es=4KiCx%y_zgw*WY4Ktw=7ZEJ%&wNUcaNOUx;Suu6&&
zlT#tS;skjT>@|+~_|yteph|;61ti44$iyhb$cH;<A?p1!*+DS^ivIZcTU_z+x%nxj
zIjQmSw|L^?3riDopfc?7@hSPq@$p66AUk<Lgdm6jI{`s}YzAi=UXVLLfyKed!p6bE
z!3-AFWWU88AD@_$6CZzz1?0C|yz%k5sU?ZYIf=!^@$p5hATvP`bBo&(l&?#`AyNb~
n4av)3`#@IR;;@0Z*AA2-iuo8A7+9ECn3<Ra82K1E7&({#IO7?e

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py33compat.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py33compat.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8498d0681f4d5cb1193164c879cf850d3ed89719
GIT binary patch
literal 1408
zcmWIL<>g{vU|{fR*_~p<%E0g##6iX!3=9ko3=9m#ix?OfQW#Pga~Pr^G-DJan9mf&
zRK){kF-I|nGvrCIFr>0%a~0VzGJs$TV-#~FLmpEENEcHMYc5+98zYF#oWq{W5yipC
zkjfdwmCCe$JB1~Mbs<v}k2^yOTMBy%LkfE{QxtD1Un)ZiM=EbKa}<9nUn+A7X9{C8
zbCf`;Kni0vN71}gjs=1X8L|YT1X37-88o?Gf?V&X$#{#oII}{N@fLSRNp4PjL1IyH
zYSArL{{qLN^eV3Wg5>;^RE5N%^kk57WXuHfunYqOLn;HvlTl15j44bl3{lJ}%qc7_
z3{fm8ticSLY`6HGDoav9CdDV`=N2TEB!e`=3<I%2*clXhpg^u+tYL^}NMQ(O&}0NT
zkOibulj#;qacWLl5gP*o!%BuCP<a2c)Gx^`&@ad=&@Ig?NKDR7P0=mSNKMVrt+ceL
zGBz@=)GtmgDJ>|;&(A5=FQ_y&hFGsxP<e|ZK0Y%qvm`!V7-TKTeg?)W2{d==!4xGk
z!d%P1zyPwEg@J(q6ePtf7#J8z7#1+3FxD_+F=jC>WU6H>VTQ1q8EctRm};3*m}*&S
zm}{7_8H$$FFxD_jGSsrxu$Hi7v1YRtb%8`un8g_+8Ne(S5G#dMgh8C4hDDsAmaT?4
zh0UCymKm&rEt{!mS_yj=M+&<nLoIs^TMc^(M>C@cLoG|8N*+%NCs;i*NPP)s4QmZs
zGgBA?BSWD|3MVMitL!2(Q*%-j)HU)8bP|iwHPsag5;Kbw((;QGQWKLi6!HsFixNvR
z^Yauk^Ategu8^OUm6}|lpbp}w-(pNE0tLlOFaZj+mkf*y3@@1(7#Lpu|NsAgCIbT_
zgP$hXE!M=MqQpvYY~5l{&W{Iazr~!Bns<viCA0VzuZLrpYrJESd#JCgU&t*U*N6~T
zKNnXQkWdlG+*`bvc_pdosYUT6l?AEAMW6uJ<S1fiU|_h#np9bmT6~K+H9zeZb3sYb
zEuPehlGMDE)Rg$dqV!u#`31L_6N}QLICJvz(!u({$pu1if=mF#eo1Oke7qPa_7y;p
z%Phdi!^FbK!o<PE!NkR+z{tVG#mL3T!^pzS!pOmdHEn>6@Y7@krKY^Z+|>B^TU_z+
zx%nxjIUqJqe0*VPVh%*62$Zyo<QNzrX&2%cP*N%axu}Shfq_8?<QR}gIT$&Z!6LUf
zU@7tzM`>PaadKios-{qp2*?yckVm+a^K)`ilR+_7e2WE?g>P|t<`(1^mADoa<rhT>
zA~Jv;D3FTsz@Zx@jUldAoLQlln_re%Tm*{ETP&b(zr`CLpPO2en4FVXTpS;NiwoqJ
zl#<edoK$d(Kpe@Qo?4PvQc_f;1ag-$$X#3>A-+BV;KBsSr*QAy;;?~)k{u`^6@x;B
ggOP)ggNccehmntwi-`vm8B9FPd`djbJd7O708~y~DF6Tf

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py34compat.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/py34compat.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ff88bfb2ebc6c4bb37c3071ac13772cb7cf54f0e
GIT binary patch
literal 450
zcmWIL<>g{vU|{fR*`4y0fq~&Mh=Ytd7#J8F7#J9eBN!MMQW#Pga~Pr+s(8RG#wdnx
zhCC4#hE%3(t|ARa1`v#7$YY9NsNzXw$YRc7iDC(7$dh4VNM+6DDhdM0Gcu$wr7*WJ
zM6p0rrZ5IGXtKNn+3A<e2%?}E#Aaq-U~mT6&d0#OP{WYLuz<0KA&Y4tNDrf*Ci5+}
zoczR;)S_G5AUZxbKczG$^%hHBVs5G?<1Lorg4E=d3`J}V3=F?4^-FRK^b0ZzbW8IJ
z5|gu2Q*_HSQd4tuD=jUmjE&4I^@~$WN()Nz^K**z3o4CGlJj#55=-<7DsKru%#BYg
z%Fm4lnaKlk5);Usj76XT(qy~EnVDOVUsRHlnRJT}&eSU{$;`RM?Fp80Eh@?{y2Sz#
z0&BX(=U7rwl$lgok_wgrI}?duXJBBs#bE=n+YS^O#R3cr3>-{Mj695djBLyh8UVrN
BYFYpQ

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/sandbox.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/sandbox.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4bfc87599d223f5c52300e6e92ed25b06747222d
GIT binary patch
literal 15536
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
Wm{^zv!dMtt7}yxu{<HjNVFLicC~!&u

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/site-patch.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/site-patch.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9a959e94090a9ba019173b3f2ebd0500624031a8
GIT binary patch
literal 1474
zcmWIL<>g{vU|{fR*`4x_gMr~Oh=Yuo7#J8F7#J9eWf&M3QW#PgTNt7kQW;a2vYCn`
zQW=^V7#X4&Qka7oG+C07^@%btFmN(3FgSzsaxpP5q%fv1<S^7iXvSK`8pbT91<WZ-
z3mI#fYM4?OvN?*4Y8bLuQkb)uiY#iFiY?L^YMJtQYM2(V)-YzVfz*|-*D$28WHK}}
z*D}{IWO0;m)-W|QrZBWJNix*3)G%goEZ{2PUdUL>TEpVP5WA_Ct%j|JHJhopsD`b$
zrLd@mc>!|`$Rzd}_7sL}&Z1p4><f5OSQj$Za@25uMRwG1EZ_x+FfuSQOkgb3D=ex~
z0K1*9ma~Qvq`HPJopB*k40A14Eq5(XI76NU3quKiHdoOnkRC>cNQT0qNQOM72!<Li
zkiUxl6&6*A)Nq2#t>LQSuHjk8!pIQLV9HR#wLoAY10zEO+^!P-6t-r@CdLxM6!sL3
z76y<nT^O1fn;C0)!M^8AVQglu<x63#VTc#1VRB)J<*Q{Y5w2ltW(2!8qK1KmAxo%+
z&zymYAzr9Nq=qGhQIesVF@~v@zg8fHp;j=Rp;icDZfsI5TZsrrZwyndaIHv<NR2=?
z(*(w%12uvmmxEX(oHattjJ1L_A~n3(Y!euZufXLV)CesQ1%)RgL!L;D&;qd<!5X%O
zOpFXQf+<|)47Gw27z?M=fbB|Q0L79GLkdGMgC@7%OHfj|#T5`4;^FTX;27d@i?uv6
z&)Ddea6w{8Mto*&L4Hw5YEgW0Vsb|6EtcZUlGG{{=ls%~lsxqkg|y7P6orzERE46{
z#2f{6kgU2wZhlH>PHHkE$Ydx6rCk;V28Liz8U&@^bcPy+Sdm)B5{4Q^P`Z(1NMT50
zn#feh63n2<_!6X7lkpZuZen&S$Q_zYx0v({Zn0#Rq~@+<C<0}aUzYkMxdr+KnFYF~
zc?F5d*{LbI<r%4|Il7gW7FEVZ=9T)zsU@WaCHeU|#rhzZ=@ulGBxmRqRNmsU$;m7(
zNzTtLu+s#&2;?+21}26osrdM${QMF<o1FaQ#GGO~J%qwr-0|_L>FJqy#i>OlMQjWV
z44UG%n2RfmZ!zT;-(pYAE6Xg(&%4E(o?3E?qaY`-BrU%v_ZDk$K~84LEq0J6ic<@2
zv8Sh&B$kvE-C_ZW++xm2&AY{(l3A3On45ZwBR)PYGbc4Z{uVbVVB;YHd5b$IKQRTy
zVb07gxW(-WjuzLVqWq#;tjRg~#i_SgQZkcEig+0q7;bSTrlf#8oRV2o#10Z*ODrfz
z%}cq(264TnXb~R+149u%hyX=R6mvmlauj=UNeakSQLMR@Ag!Q6;}!=j1>9l-IU}{G
z2o!y{*osSvQWJBF#6ZTgrlb}p7v18{&dV>)iw7A|e2XnVC#4|2_!eVI6jNSG6eq;y
z_{5T19C@kbU`4kW3vMyx6@X(CLU4mjV}ry2C<zoNfYJ{m2O|d~52F|(8xs!`52Fwx
z4-<&b#K^_S0m4jNj2ui%j2w&-jC>$IBNHPNlL%OpgGq#mhmj4Wo{5i1fRTlfg^7!i
zhe?EqgGq#uhna_whp9*x6b!5k3=Dpn5Dq9JKoJrj4{;VKxj|T92XfdzBE}BvL{LiL
KaOYrTV*~)$27BlL

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..db64a4535b11f01801a60e9cd0900ec7a2891a1e
GIT binary patch
literal 6855
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
L$;8Md&cOu$XL+K}

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/unicode_utils.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/unicode_utils.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..41b3f19ebaff577a1aea2448adcdd0fc0dd64c9d
GIT binary patch
literal 1151
zcmWIL<>g{vU|{fR*`4x)nStRkh=Yuo7#J8F7#J9eEf^RWQW#Pga~Pr^G-DKF3PTE0
z4pT036f+}33Udle3qur33Tp~m3qurZ3VRAi3qurJ3S%&XCg)3#nSPp#x0s7FE0P&O
zJSYaSIT#oioI#d^F)%QcFw`)VFlI3|GZjgcFfU+9VXR?T$P~;_rBcJNfHj3_A!98A
zLcErthG794L^PZsPlSb`ggu+9D1eax1S1*pm?9Wz7=jrznf;=e{oGuBv6hyk=~`%V
z+~UeC&de(=Nz6-5Edu%S7H3InMM-=~WkKpK?$W%><ouM>l*E$6Tbz0MMY)MNnN_K`
z*iuqK!nfE`^T0GuC`6rWQBi)8CgUxZg2a-Hl?+8Z3=9mvZ1hWV3-k*z3v^5K3KEmE
zQ&V)yGg4D?bSo__s*H`yEA@+0OG*n$^7C_w^`REVmzHGa6zdgK-r@vVm0OTsoC*q^
zVj)m)G4e3-FfuW6G4e3-G4e68F&6PLFfgD5Ckq1u11BsvV^D)r02C0Qpj*gLAeF*c
z%UHvh!kETX%T&YU!Vs%h%UmS@3gQ~(g^b}0Obm<+!3-=6C2ZMTMIoTTWMqhBDAWMq
z2!=w96eduhRz-3tC@3hn<`tI~r7DzUB$g<YWTYyjXO^YrDS!e)A+uNk<dc-t6dkZq
zKYu@0h4PHlJcYb`h180I)Z~)X6a{d2X6B_Ul;;;^7lRcRF*7hQ_-V2ifxHBcp(0iW
z28LVA#g)akMAK7C(lT>Wiz|yuQgdOti$FnjO9&b%F5tL=L=8(3Hv<Dh6kA$xd}?0u
zEw1Fmyp+t8#FEtFTg<6>$>0cs5WFBe_@HLTL!2%GN}J#qVB=wAVd7!rVB%n8ViaKH
zV=My6C4<rrD1ty3#0I$ooS-!r7#ON}Y8VzU)G&fV6&#|B*<3|Run-01j|c`3smWBO
zUs76>rvOb0h(O8AE6G<#R7fk$OD@UG&r8fvD9SG_$;?aj(_|_F#Wvi}uHbYD@iWsc
zw&Iea%)Im>VFm_Bnndy<S4mMNC@k_*Qq@7;138(2i3yyvio_Wh7&O_7*g*RDK>;U-
zNUD0N6(y-fd5{<Zr9W^GfVDu32PJ+83mldlHo5sJr8%i~pqyR|Ds4CzIhc4@ICwaO
E0SvSbi2wiq

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/version.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/version.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..062ed51f7db132fac098824cfa59691df66ec9e0
GIT binary patch
literal 292
zcmWIL<>g{vU|{fR*_|?hfq~&Mh=Ytd7#J8F7#J9e%@`OMQW#Pga~Pr+ssvIQ7BHqT
zEo97Miee6D$dh1UNM*_9Dl%YX0KpXIDCS6pJf;YS6vki%O_rA+6a8*+6{nVz7L?@Y
z=M>*!FU`x&%P-H<WWB{(kewc1lv<o$T9lkxd`lobwIn_zv$&)vGpV#BGe7SZds%8x
zF^It(9}i{5$KT>~tw>HS04Z3>P{hf=03m*v>6hdd=oe%b=$7UcBqnF4rs$Suq^9QR
uR$5wA85@~b>LXmC4>e7%pz;=nO>TZlX-=vgBgnTPZ*wp)F$ys9F#-VF&rt#Z

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c70f8c3a493c56dabf0c2020cb35e8c046925677
GIT binary patch
literal 7383
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/windows_support.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/__pycache__/windows_support.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4ab00ab9c634345f602de18042e3277cbf6d38e4
GIT binary patch
literal 989
zcmWIL<>g{vU|{fR*`0EViGkrUh=Yuo85kHG7#J9eH5eEeQW#Pga~Pr^G-DKF3R4Pm
z3qurBDpLwe3Tq2PGh-BU3S%&XCfiGp8Ggx(APR~>Y$gT<24|3I5)2FsB@7D~7c!(U
zW-}LwKuii|s9^|Z&}8wu#U7rSmy%yzoD9_rra-zuro@9xU;(=)m_d`#ZzY2!(=C?7
zqV(chY}w@?x(MWKF!9Syza+OnzaX<fw=}OHF*!RmMYlX7H8n@K($b>J*vPz6zc{s|
zw4fwEKc`r~9AayHacMz8eo={DLFFwDo1Dblq?ANEb_NE9&mebH$-$K6=jBxD+2rIW
zC*~B}>A@6gGTq`R$Vn_o%P-2k#a3KdT#}lr$#{z;tu!wg>?R1o#=yXEiwD^#R*=6y
z!VHW&j2w(bJPZsBC_xDFGstJ)AoKwTVG3h2BO^lzV-`~ua~4Z2V+msxYZe=rWKUzN
zVT|VhvpH)R<GE6pYME*nYZz*nnwe^uYnY2YN*EV#FJx$9OkoBEdsR1=f`WoVaB7J{
zNk*zdMrKM%YMw%3Nl8&=QfW!5LVlh?qC#3`PO3tFkwQvlQEGBYeo>_!7g(2DQGTvM
zMoCG5mA-y)Nn&z#epzZ!T26ksUUGh}eqm{9aY<%=Ua`KRrJ0eDp|P<(L|Z~ZVo64V
zLT+hsi9%AULP=^xi5}RzD*oh>%7WBlz4FXFFykdC`u#L{ZgIuOXXb*UCqDib8${79
zHc&X`<lN%OPA$qy%`rBL5(-W&am&m}b%Z&;I6R62W>yrNPe6EZNKh23OSpfK%Po$?
zqI9q&Q7lgW{yw+Zi&Be0{3wp_%skhkqWmIFmRl?!r$z~4n0rgq&C|y<-Z3O3$kQn_
z#5LZ-)5XQr?-p}WY6&E&L2*_Dir8D68JQ`m@t`o|21T|2C_Qm<Fmf>pF>*1nFmW-m
zFcyh3FfeGc6mc>zFck5F2v9lziz1nZFp|S2H$SB`C)Ey=HHtYH7#KJhIhZ-vm>2=E
CviOAn

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_deprecation_warning.py b/iot_env/lib/python3.8/site-packages/setuptools/_deprecation_warning.py
new file mode 100644
index 0000000..086b64d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_deprecation_warning.py
@@ -0,0 +1,7 @@
+class SetuptoolsDeprecationWarning(Warning):
+    """
+    Base class for warning deprecations in ``setuptools``
+
+    This class is not derived from ``DeprecationWarning``, and as such is
+    visible by default.
+    """
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_imp.py b/iot_env/lib/python3.8/site-packages/setuptools/_imp.py
new file mode 100644
index 0000000..a3cce9b
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_imp.py
@@ -0,0 +1,73 @@
+"""
+Re-implementation of find_module and get_frozen_object
+from the deprecated imp module.
+"""
+
+import os
+import importlib.util
+import importlib.machinery
+
+from .py34compat import module_from_spec
+
+
+PY_SOURCE = 1
+PY_COMPILED = 2
+C_EXTENSION = 3
+C_BUILTIN = 6
+PY_FROZEN = 7
+
+
+def find_module(module, paths=None):
+    """Just like 'imp.find_module()', but with package support"""
+    spec = importlib.util.find_spec(module, paths)
+    if spec is None:
+        raise ImportError("Can't find %s" % module)
+    if not spec.has_location and hasattr(spec, 'submodule_search_locations'):
+        spec = importlib.util.spec_from_loader('__init__.py', spec.loader)
+
+    kind = -1
+    file = None
+    static = isinstance(spec.loader, type)
+    if spec.origin == 'frozen' or static and issubclass(
+            spec.loader, importlib.machinery.FrozenImporter):
+        kind = PY_FROZEN
+        path = None  # imp compabilty
+        suffix = mode = ''  # imp compability
+    elif spec.origin == 'built-in' or static and issubclass(
+            spec.loader, importlib.machinery.BuiltinImporter):
+        kind = C_BUILTIN
+        path = None  # imp compabilty
+        suffix = mode = ''  # imp compability
+    elif spec.has_location:
+        path = spec.origin
+        suffix = os.path.splitext(path)[1]
+        mode = 'r' if suffix in importlib.machinery.SOURCE_SUFFIXES else 'rb'
+
+        if suffix in importlib.machinery.SOURCE_SUFFIXES:
+            kind = PY_SOURCE
+        elif suffix in importlib.machinery.BYTECODE_SUFFIXES:
+            kind = PY_COMPILED
+        elif suffix in importlib.machinery.EXTENSION_SUFFIXES:
+            kind = C_EXTENSION
+
+        if kind in {PY_SOURCE, PY_COMPILED}:
+            file = open(path, mode)
+    else:
+        path = None
+        suffix = mode = ''
+
+    return file, path, (suffix, mode, kind)
+
+
+def get_frozen_object(module, paths=None):
+    spec = importlib.util.find_spec(module, paths)
+    if not spec:
+        raise ImportError("Can't find %s" % module)
+    return spec.loader.get_code(module)
+
+
+def get_module(module, paths, info):
+    spec = importlib.util.find_spec(module, paths)
+    if not spec:
+        raise ImportError("Can't find %s" % module)
+    return module_from_spec(spec)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/__init__.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..dd4559f7c4db94429cf85ccbfd888cef8e75d87b
GIT binary patch
literal 154
zcmWIL<>g{vU|{fR*_{HSAA<;F%*epN;K0DZP|U)>z>vZa%%I8Wx00a<B#a<_+3T0&
z7U&mb7U-7d6(lBSr>5wZXQZa)=vG=<R2dtYSLzq1mXsEh<mcxU>&KU+=B4Bp>Bq-s
c=4F<|$LkeT-r}&y%}*)KNwotR{2Al`0J66vzW@LL

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d0f8c1d534c2963db7e9aee48dd616e9d6340d6f
GIT binary patch
literal 16412
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
A7XSbN

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2392aaa277357286bf2bbfb8e752714d0532f311
GIT binary patch
literal 201631
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/six.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/six.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a28dfcefc58ce3e2e723c0eea790088341dbb770
GIT binary patch
literal 24427
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py
new file mode 100644
index 0000000..1487600
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py
@@ -0,0 +1,488 @@
+"""
+An OrderedSet is a custom MutableSet that remembers its order, so that every
+entry has an index that can be looked up.
+
+Based on a recipe originally posted to ActiveState Recipes by Raymond Hettiger,
+and released under the MIT license.
+"""
+import itertools as it
+from collections import deque
+
+try:
+    # Python 3
+    from collections.abc import MutableSet, Sequence
+except ImportError:
+    # Python 2.7
+    from collections import MutableSet, Sequence
+
+SLICE_ALL = slice(None)
+__version__ = "3.1"
+
+
+def is_iterable(obj):
+    """
+    Are we being asked to look up a list of things, instead of a single thing?
+    We check for the `__iter__` attribute so that this can cover types that
+    don't have to be known by this module, such as NumPy arrays.
+
+    Strings, however, should be considered as atomic values to look up, not
+    iterables. The same goes for tuples, since they are immutable and therefore
+    valid entries.
+
+    We don't need to check for the Python 2 `unicode` type, because it doesn't
+    have an `__iter__` attribute anyway.
+    """
+    return (
+        hasattr(obj, "__iter__")
+        and not isinstance(obj, str)
+        and not isinstance(obj, tuple)
+    )
+
+
+class OrderedSet(MutableSet, Sequence):
+    """
+    An OrderedSet is a custom MutableSet that remembers its order, so that
+    every entry has an index that can be looked up.
+
+    Example:
+        >>> OrderedSet([1, 1, 2, 3, 2])
+        OrderedSet([1, 2, 3])
+    """
+
+    def __init__(self, iterable=None):
+        self.items = []
+        self.map = {}
+        if iterable is not None:
+            self |= iterable
+
+    def __len__(self):
+        """
+        Returns the number of unique elements in the ordered set
+
+        Example:
+            >>> len(OrderedSet([]))
+            0
+            >>> len(OrderedSet([1, 2]))
+            2
+        """
+        return len(self.items)
+
+    def __getitem__(self, index):
+        """
+        Get the item at a given index.
+
+        If `index` is a slice, you will get back that slice of items, as a
+        new OrderedSet.
+
+        If `index` is a list or a similar iterable, you'll get a list of
+        items corresponding to those indices. This is similar to NumPy's
+        "fancy indexing". The result is not an OrderedSet because you may ask
+        for duplicate indices, and the number of elements returned should be
+        the number of elements asked for.
+
+        Example:
+            >>> oset = OrderedSet([1, 2, 3])
+            >>> oset[1]
+            2
+        """
+        if isinstance(index, slice) and index == SLICE_ALL:
+            return self.copy()
+        elif is_iterable(index):
+            return [self.items[i] for i in index]
+        elif hasattr(index, "__index__") or isinstance(index, slice):
+            result = self.items[index]
+            if isinstance(result, list):
+                return self.__class__(result)
+            else:
+                return result
+        else:
+            raise TypeError("Don't know how to index an OrderedSet by %r" % index)
+
+    def copy(self):
+        """
+        Return a shallow copy of this object.
+
+        Example:
+            >>> this = OrderedSet([1, 2, 3])
+            >>> other = this.copy()
+            >>> this == other
+            True
+            >>> this is other
+            False
+        """
+        return self.__class__(self)
+
+    def __getstate__(self):
+        if len(self) == 0:
+            # The state can't be an empty list.
+            # We need to return a truthy value, or else __setstate__ won't be run.
+            #
+            # This could have been done more gracefully by always putting the state
+            # in a tuple, but this way is backwards- and forwards- compatible with
+            # previous versions of OrderedSet.
+            return (None,)
+        else:
+            return list(self)
+
+    def __setstate__(self, state):
+        if state == (None,):
+            self.__init__([])
+        else:
+            self.__init__(state)
+
+    def __contains__(self, key):
+        """
+        Test if the item is in this ordered set
+
+        Example:
+            >>> 1 in OrderedSet([1, 3, 2])
+            True
+            >>> 5 in OrderedSet([1, 3, 2])
+            False
+        """
+        return key in self.map
+
+    def add(self, key):
+        """
+        Add `key` as an item to this OrderedSet, then return its index.
+
+        If `key` is already in the OrderedSet, return the index it already
+        had.
+
+        Example:
+            >>> oset = OrderedSet()
+            >>> oset.append(3)
+            0
+            >>> print(oset)
+            OrderedSet([3])
+        """
+        if key not in self.map:
+            self.map[key] = len(self.items)
+            self.items.append(key)
+        return self.map[key]
+
+    append = add
+
+    def update(self, sequence):
+        """
+        Update the set with the given iterable sequence, then return the index
+        of the last element inserted.
+
+        Example:
+            >>> oset = OrderedSet([1, 2, 3])
+            >>> oset.update([3, 1, 5, 1, 4])
+            4
+            >>> print(oset)
+            OrderedSet([1, 2, 3, 5, 4])
+        """
+        item_index = None
+        try:
+            for item in sequence:
+                item_index = self.add(item)
+        except TypeError:
+            raise ValueError(
+                "Argument needs to be an iterable, got %s" % type(sequence)
+            )
+        return item_index
+
+    def index(self, key):
+        """
+        Get the index of a given entry, raising an IndexError if it's not
+        present.
+
+        `key` can be an iterable of entries that is not a string, in which case
+        this returns a list of indices.
+
+        Example:
+            >>> oset = OrderedSet([1, 2, 3])
+            >>> oset.index(2)
+            1
+        """
+        if is_iterable(key):
+            return [self.index(subkey) for subkey in key]
+        return self.map[key]
+
+    # Provide some compatibility with pd.Index
+    get_loc = index
+    get_indexer = index
+
+    def pop(self):
+        """
+        Remove and return the last element from the set.
+
+        Raises KeyError if the set is empty.
+
+        Example:
+            >>> oset = OrderedSet([1, 2, 3])
+            >>> oset.pop()
+            3
+        """
+        if not self.items:
+            raise KeyError("Set is empty")
+
+        elem = self.items[-1]
+        del self.items[-1]
+        del self.map[elem]
+        return elem
+
+    def discard(self, key):
+        """
+        Remove an element.  Do not raise an exception if absent.
+
+        The MutableSet mixin uses this to implement the .remove() method, which
+        *does* raise an error when asked to remove a non-existent item.
+
+        Example:
+            >>> oset = OrderedSet([1, 2, 3])
+            >>> oset.discard(2)
+            >>> print(oset)
+            OrderedSet([1, 3])
+            >>> oset.discard(2)
+            >>> print(oset)
+            OrderedSet([1, 3])
+        """
+        if key in self:
+            i = self.map[key]
+            del self.items[i]
+            del self.map[key]
+            for k, v in self.map.items():
+                if v >= i:
+                    self.map[k] = v - 1
+
+    def clear(self):
+        """
+        Remove all items from this OrderedSet.
+        """
+        del self.items[:]
+        self.map.clear()
+
+    def __iter__(self):
+        """
+        Example:
+            >>> list(iter(OrderedSet([1, 2, 3])))
+            [1, 2, 3]
+        """
+        return iter(self.items)
+
+    def __reversed__(self):
+        """
+        Example:
+            >>> list(reversed(OrderedSet([1, 2, 3])))
+            [3, 2, 1]
+        """
+        return reversed(self.items)
+
+    def __repr__(self):
+        if not self:
+            return "%s()" % (self.__class__.__name__,)
+        return "%s(%r)" % (self.__class__.__name__, list(self))
+
+    def __eq__(self, other):
+        """
+        Returns true if the containers have the same items. If `other` is a
+        Sequence, then order is checked, otherwise it is ignored.
+
+        Example:
+            >>> oset = OrderedSet([1, 3, 2])
+            >>> oset == [1, 3, 2]
+            True
+            >>> oset == [1, 2, 3]
+            False
+            >>> oset == [2, 3]
+            False
+            >>> oset == OrderedSet([3, 2, 1])
+            False
+        """
+        # In Python 2 deque is not a Sequence, so treat it as one for
+        # consistent behavior with Python 3.
+        if isinstance(other, (Sequence, deque)):
+            # Check that this OrderedSet contains the same elements, in the
+            # same order, as the other object.
+            return list(self) == list(other)
+        try:
+            other_as_set = set(other)
+        except TypeError:
+            # If `other` can't be converted into a set, it's not equal.
+            return False
+        else:
+            return set(self) == other_as_set
+
+    def union(self, *sets):
+        """
+        Combines all unique items.
+        Each items order is defined by its first appearance.
+
+        Example:
+            >>> oset = OrderedSet.union(OrderedSet([3, 1, 4, 1, 5]), [1, 3], [2, 0])
+            >>> print(oset)
+            OrderedSet([3, 1, 4, 5, 2, 0])
+            >>> oset.union([8, 9])
+            OrderedSet([3, 1, 4, 5, 2, 0, 8, 9])
+            >>> oset | {10}
+            OrderedSet([3, 1, 4, 5, 2, 0, 10])
+        """
+        cls = self.__class__ if isinstance(self, OrderedSet) else OrderedSet
+        containers = map(list, it.chain([self], sets))
+        items = it.chain.from_iterable(containers)
+        return cls(items)
+
+    def __and__(self, other):
+        # the parent implementation of this is backwards
+        return self.intersection(other)
+
+    def intersection(self, *sets):
+        """
+        Returns elements in common between all sets. Order is defined only
+        by the first set.
+
+        Example:
+            >>> oset = OrderedSet.intersection(OrderedSet([0, 1, 2, 3]), [1, 2, 3])
+            >>> print(oset)
+            OrderedSet([1, 2, 3])
+            >>> oset.intersection([2, 4, 5], [1, 2, 3, 4])
+            OrderedSet([2])
+            >>> oset.intersection()
+            OrderedSet([1, 2, 3])
+        """
+        cls = self.__class__ if isinstance(self, OrderedSet) else OrderedSet
+        if sets:
+            common = set.intersection(*map(set, sets))
+            items = (item for item in self if item in common)
+        else:
+            items = self
+        return cls(items)
+
+    def difference(self, *sets):
+        """
+        Returns all elements that are in this set but not the others.
+
+        Example:
+            >>> OrderedSet([1, 2, 3]).difference(OrderedSet([2]))
+            OrderedSet([1, 3])
+            >>> OrderedSet([1, 2, 3]).difference(OrderedSet([2]), OrderedSet([3]))
+            OrderedSet([1])
+            >>> OrderedSet([1, 2, 3]) - OrderedSet([2])
+            OrderedSet([1, 3])
+            >>> OrderedSet([1, 2, 3]).difference()
+            OrderedSet([1, 2, 3])
+        """
+        cls = self.__class__
+        if sets:
+            other = set.union(*map(set, sets))
+            items = (item for item in self if item not in other)
+        else:
+            items = self
+        return cls(items)
+
+    def issubset(self, other):
+        """
+        Report whether another set contains this set.
+
+        Example:
+            >>> OrderedSet([1, 2, 3]).issubset({1, 2})
+            False
+            >>> OrderedSet([1, 2, 3]).issubset({1, 2, 3, 4})
+            True
+            >>> OrderedSet([1, 2, 3]).issubset({1, 4, 3, 5})
+            False
+        """
+        if len(self) > len(other):  # Fast check for obvious cases
+            return False
+        return all(item in other for item in self)
+
+    def issuperset(self, other):
+        """
+        Report whether this set contains another set.
+
+        Example:
+            >>> OrderedSet([1, 2]).issuperset([1, 2, 3])
+            False
+            >>> OrderedSet([1, 2, 3, 4]).issuperset({1, 2, 3})
+            True
+            >>> OrderedSet([1, 4, 3, 5]).issuperset({1, 2, 3})
+            False
+        """
+        if len(self) < len(other):  # Fast check for obvious cases
+            return False
+        return all(item in self for item in other)
+
+    def symmetric_difference(self, other):
+        """
+        Return the symmetric difference of two OrderedSets as a new set.
+        That is, the new set will contain all elements that are in exactly
+        one of the sets.
+
+        Their order will be preserved, with elements from `self` preceding
+        elements from `other`.
+
+        Example:
+            >>> this = OrderedSet([1, 4, 3, 5, 7])
+            >>> other = OrderedSet([9, 7, 1, 3, 2])
+            >>> this.symmetric_difference(other)
+            OrderedSet([4, 5, 9, 2])
+        """
+        cls = self.__class__ if isinstance(self, OrderedSet) else OrderedSet
+        diff1 = cls(self).difference(other)
+        diff2 = cls(other).difference(self)
+        return diff1.union(diff2)
+
+    def _update_items(self, items):
+        """
+        Replace the 'items' list of this OrderedSet with a new one, updating
+        self.map accordingly.
+        """
+        self.items = items
+        self.map = {item: idx for (idx, item) in enumerate(items)}
+
+    def difference_update(self, *sets):
+        """
+        Update this OrderedSet to remove items from one or more other sets.
+
+        Example:
+            >>> this = OrderedSet([1, 2, 3])
+            >>> this.difference_update(OrderedSet([2, 4]))
+            >>> print(this)
+            OrderedSet([1, 3])
+
+            >>> this = OrderedSet([1, 2, 3, 4, 5])
+            >>> this.difference_update(OrderedSet([2, 4]), OrderedSet([1, 4, 6]))
+            >>> print(this)
+            OrderedSet([3, 5])
+        """
+        items_to_remove = set()
+        for other in sets:
+            items_to_remove |= set(other)
+        self._update_items([item for item in self.items if item not in items_to_remove])
+
+    def intersection_update(self, other):
+        """
+        Update this OrderedSet to keep only items in another set, preserving
+        their order in this set.
+
+        Example:
+            >>> this = OrderedSet([1, 4, 3, 5, 7])
+            >>> other = OrderedSet([9, 7, 1, 3, 2])
+            >>> this.intersection_update(other)
+            >>> print(this)
+            OrderedSet([1, 3, 7])
+        """
+        other = set(other)
+        self._update_items([item for item in self.items if item in other])
+
+    def symmetric_difference_update(self, other):
+        """
+        Update this OrderedSet to remove items from another set, then
+        add items from the other set that were not present in this set.
+
+        Example:
+            >>> this = OrderedSet([1, 4, 3, 5, 7])
+            >>> other = OrderedSet([9, 7, 1, 3, 2])
+            >>> this.symmetric_difference_update(other)
+            >>> print(this)
+            OrderedSet([4, 5, 9, 2])
+        """
+        items_to_add = [item for item in other if item not in self]
+        items_to_remove = set(other)
+        self._update_items(
+            [item for item in self.items if item not in items_to_remove] + items_to_add
+        )
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py
new file mode 100644
index 0000000..dc95138
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py
@@ -0,0 +1,27 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+__all__ = [
+    "__title__",
+    "__summary__",
+    "__uri__",
+    "__version__",
+    "__author__",
+    "__email__",
+    "__license__",
+    "__copyright__",
+]
+
+__title__ = "packaging"
+__summary__ = "Core utilities for Python packages"
+__uri__ = "https://github.com/pypa/packaging"
+
+__version__ = "19.2"
+
+__author__ = "Donald Stufft and individual contributors"
+__email__ = "donald@stufft.io"
+
+__license__ = "BSD or Apache License, Version 2.0"
+__copyright__ = "Copyright 2014-2019 %s" % __author__
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py
new file mode 100644
index 0000000..a0cf67d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py
@@ -0,0 +1,26 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+from .__about__ import (
+    __author__,
+    __copyright__,
+    __email__,
+    __license__,
+    __summary__,
+    __title__,
+    __uri__,
+    __version__,
+)
+
+__all__ = [
+    "__title__",
+    "__summary__",
+    "__uri__",
+    "__version__",
+    "__author__",
+    "__email__",
+    "__license__",
+    "__copyright__",
+]
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0b518e52712ffc95696a7b254c2f940b705c2e88
GIT binary patch
literal 704
zcmWIL<>g{vU|{fR*`4x&iGkrUh=Ytd7#J8F7#J9e0~i<>QW#Pga~N_NqZo6UqL^}-
zqnH^PQkYVhQ&>`1Q`l12Q#evM(>bD8Qn;d6Q@EqpQh1`+Q+T5|Quv}cQ~0B}QUs#7
zQv_2v#TcS^QiOsTG=*P+?9ybu#h;i|oS#!#k{X|xTaaH=a*HD+vn;bXGe7SZUqMl3
zUP*jfX<l*(h|d`xUy@mplNuj?i#tBPxHLC6v8XaW{uX<Dd}&c8M6@im2&6YY{uWn!
zd}3)yMt)Iz{4LJ-_|)9Q%p8cCoXq6Zykd|syz%kL`303lnduoNAY}!K$=QkNnR)3|
zO3wL3sS2efnK_vynW@DJY57G80hJ{g`FRQuMXAMAiWwy(1;tkS`stY^8Kp^j$@#hZ
z1(gMf`VbW$V^|C=^^B@CUGno1b5az7OG?wyN)!_FQWP@tK;BF#P0Ue9&d)0;%1kOP
z$uBCd5=a3nbtnca)yvGUQgRA*QOGY+a4bkn&PY}8fjC}AAq?VE1tUF!Dluo6FBFUn
z3{7;63=Az5REzyIc|pODR$5Y8lo}sj#KgeBP{a%(SQr=>K;f2{lM^3b#0nB(0}<>X
z0u=K_oFEn`g%ojvSUe023@aIm1VC&M@ykoUB)34nAhSTXG!Nw8)D+$FjMUT|-AYS~
zDq|z_O8w&0lG1{b{QR6^{rIxfyp;SRM8N3B$0sJ`mzKoG>lIYq;;_lhPbtkwwF5b;
cSc!pwL4=u!5e5EW;bviEVPs)qVFHtk03WQ)cmMzZ

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9911cfc8a9998b413a4114129eb418e044411bbb
GIT binary patch
literal 542
zcmWIL<>g{vU|{fR*_~p<#K7<v#6iX!3=9ko3=9m#Aq)%*DGVu$ISjdsQH;4vQB1ka
zQOt}CDNHHMIV`!XQLMRaQEa*FQS7-KQ5?CPQJlG4QCzv)QQWyaQ9O(cDJ&_hDQqe1
zDI6)BDO@Ss=^RnKDLlapn!GPT_GvQT;!jK}&d(_=NsZ6UEyyn_xy6x^S(aIxnV)xy
zub?P1uOvRLG%vX%Ge7SoBLf42CdVzV`1r)ql8pSK`1o7A@$t#|1(ija=@}*Q@wYhR
z<5P1JGjrnOZ*j-R=VT_Q<`t(xIK`#8xrs%U5Je@KB{?8*_W1bHqD+W_veY7wt?}_i
z+zbp1MW6sG;sLREK?EC!00m1CCy2$)z`)?A$p>;vT4_mXQEGgA5fey)8APx!Fff4J
zl9-fVS`r^$1lA1FQiL!8Y(Cf~xFxsP<Kq)^a^mAxG874d%mER<JoQU*3-k*z3v^5K
z3KEmEQ&V)yGg4D?bSo__s*H`yEA@+0OG*n$^7C_w_2bJ@^HTDQ^g#*}(=+qZ_2c6+
n^D;}~<Mj$EZ*kb<=BJeAq}qWTSS-T8z#zh;!NbIe0)GGi+LVlL

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1e3a8e506c75fac9640f284f8c7719015e6dfcef
GIT binary patch
literal 978
zcmWIL<>g{vU|{fR*`1Qe%)sy%#6iYP3=9ko3=9m#VGIlmDGVu$ISjdsQH;4vQB1ka
zQOt}WF{T`rD3(-~EY=hTNrn{WY^EqSIFBWpDT+Ony~rh%BaJbNGmkBm3q+@|rm(dz
zL~*Au1v6-}zXaK+$$X1HF{wB|r?ezBJ~Ou<zo_IEM@nW{W^rbI-Yvd@qRhOK__Wfz
z<dV$%JinJ9hrMKGU|>jQ1nGuikN_J40|PtA$!ZJ?4DJl=4DF0*Oeu^hOf4KKOdX8P
z%(YA<3=0@*m{OQiSTY$FvIH||vR3JHDJUo?I2WZRmZT~qDkLQqrz#}pBo-GdlxLP?
zC?qQ6rj{gv1@yowlc6@kDUj75PO%gN14Al96k`fQ6ce)LQOqgK!3>%#Rf-@J;}PcB
z<m4wO<`moM!G)4pKqf&khz-KRAV2XiFfep5)-ZN3)G#-LjAQg$$)L${i#a)`_!diE
zVs7d!u9A$*;&_k;if=KdtYo^y3SqN=j4uL(%r6i9lH3CQg3JQl(!7Gi<m}WG-SUjo
z)EwPPON%OFBlAlA;?$DTf|C6FoMQd>vedkk{33mj!o>8<ymbBe<ow)%#1g%N%3JL5
z@p-A`@$oVs$ARL6fw4-Hp#Susy8JX*ZgIrNgPa{7e~T+VJ~uz5G$%Da{uWPsd|_!~
z4n(F%fPsMl?D8Uz{~;`X1_p*(oFG4eV?`R~01n0?5s(yrNh&B2B^Fi2gB5^vX)@hn
zDXA<-1)HeJT*L=5m={EV^njH>tN@$Nhw2fKl44LyFtCfU6p1r1Flh3C9GzBLQd*Q6
zA72FWe-S7h6oFLTVlJ*MzQt3PS_DeL@tJvP`L~z@B8@<V@h#@!lA>EY#U(|VdFk;W
wCl%k~0>=|r1Z+CQIiLuGu)uEOuz`e;9mtAeko!fLIGFhu`B+#OIhfd(0iHPYA^-pY

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..66a4572ee6c0d05719492fb6b55a55c276daecf7
GIT binary patch
literal 2760
zcmWIL<>g{vU|{fR*`3nC%E0g##6iX^3=9ko3=9m#E({C|DGVu$ISjdsQH;4vQB1ka
zQOt}C?hGkRDa<VlDa@%X&CF4(sjSTmQLOF^DJ&_hEet8FU{SVIwq}MXwiLEt22J*t
zAoDeuZ}BH473b%amZZjK<`(1^mE7V;$t=q(&dkrd#aB?2nO72@R+^Vwl9`{E4AOy&
znP9F8VPIfLWr$)-VTfW%VN79aVTfW*VNPLbVTfW$VNGFcVTfW)VNc;`0ol%(!qvhM
z#h${Q!qdVK#gW3B!q>tO#hJpNBGAGR#g!tMBGkeV#hoG?%%CZ9i^DT7Ei*5(q%xTi
z$!ZWAgq=ZQ0t%cI#$X0bCch$91_p+e3@aILu@tA~q!qC-Fff3LUq1RJxdr+KnFYF~
zc?F5d*{LbI<r%4|Il7gW7FEVZ=9T)zsU@WaCHeU|#rpAOsd*{+MfxCxiRqbn>H6`-
zB}JvlC8b5F#d-ymw>aYCi&6`U;^R3$4giG%17npS%&B@XSqwKbGcYiK-OR(lz)-?a
z!dS!5%-GBr%&?NtZza<$mW;&Wj9V-qql?&KP6xZch?9YV0c0&mMSMIr4r?K@$zTUT
zgA2sQ2&$D#er{lMS27iWyl{&(za%5I2rL94!1l4l$LEy9$MYfC#*gGlkQ`yViUi<3
z5rnhA5d*g)H9j6BRSa?~17j769jWp07<QlqV+~^sLl$E*Q!qmjC}37H-QvnD&de(=
zNz6-5y~P<HpPZ9eTpS-?1hNF;Jrw&>3*+NOaQG1<hueNo$doX^?B`*Cx}ZoD<WU^9
z<)y~Qi{r2jB!^)ew%7}ScmszO=_T>;QaG#t$q}}q2&5gq9jWp0vbgL3MH<N2&@{*Z
zVuLU^?St}b2`s2I8E*;rrKTsAWR|7Ek`~sq&mJG2mzo|QuYhEy08ED-RMKxH4=9u5
zCFZ8a$KT?LkI&6dDa`?~dE(;>OA~V-GDV=$wum1TNx~ok6!}FGAeJPEkOmPlAVLmA
zfYS<s0Hs=RIRna}#X<}W3>=Ic%%~77KM>_*5hzM9iXD`ohZdDpoVu{kgTyn)I}jGw
zuV8P2!bt-uz$MY6ij1NToJWg51t7L~2FHpv0V|0u=J2QDB2e7xAz3Ak#dk!Oad@*!
z5h#5b60!)CXTSv@G}D0C_zOCm#SAztn-H*&x+Pl?DCd|Hu#&jq4S$7E1j?OO1S}%5
zki%Ou6@f|sTS69rVhxnNppk~Rqyv`<SQ9;{oB_A*K#|VCSS5iaC4x&ozan{DMG`3I
ztAm`2qeueD`)RU+O2xENP)jC0z6fMp5h#%rfePhYZ23u9smUb}cY@R-l?U)b;TDGt
Vq*S#7=_v*^A4Hf1WZ9SnWC7=m<(&Wk

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..09549553a5ff5413ca1fec14d49260417b6713d7
GIT binary patch
literal 8927
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..46c8b0494d04819f1dff12e164f6bf14ce18b2cf
GIT binary patch
literal 3995
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
QEQ}l=bC^V!c$m4E0h+@C5dZ)H

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8c2e3794ee898b779ea21522904749238997e7ac
GIT binary patch
literal 19734
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
J0&U$A0syzc(9i$?

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ba4d7afa42a0cbfa1ed68dcda4a799f3a6cdb4cf
GIT binary patch
literal 10811
zcmWIL<>g{vU|{fR*`3mA#K7<v#6iX!3=9ko3=9m#d5jDUDGVu$ISjdsQH+crHd78$
z6myk83PTEW4ofa;6e}Y`I76NR3qvYfHdj#yBLfJgFr+Z$ut%|{u%xiIFr>0C;8@7u
z!qChZ#Tv~X$&kks0Wpa)iW97oD~bzDb4PK5X`Uz^FwGmqo5GgDp2CsBnZlLAJ%=@l
zFO@rsKZPfoF-pLlA%!=EuZ1CnFIBLaIZ7ynKSiL0Axbz!Fh!_^Axb1gI7Os|Axbnw
zG)1h1AxbPoJVl~~Axb<&GDWI|Axa`eIz^_1AxbhuHbt(5AxbJmK1HF0Axb($F-56`
zAxb7iIYp&~Axbt?AdN9aHASt3F-k5)Jw>C1Axb{QHbpZ<tA#O2Aw@eyr-dO(F-12;
zuZ1B>DMdfUpoJkyImIx=sD&X)1+3dR#iWHXN;Sna#jJ%PN-f1a#iE5FN<GCg#j1rN
zN+ZQO#ioTJN;8Eim_gI-B`78|8E^3?CKc!Bl$NB%XXX~<7nS&FGTst$jR<k|3-<K)
ziw_QUbMuUF4NhhRsfS`F1_lNe1_lOaP~?d)FfgPu)G);I)H2pErZ7k{Ok^r#31-k_
zECT6S$)L$}i%HMm7Gp&bNDr9!<*HwjTcBT%S)f~*SCE*TotmOso{^fGqg!cdQDtmo
zUa4Q4T2fk2lAoVbtRG*NnwOGaqz_V<n4X!Ju3wUvUaVJ8d5g;?C$qRDIX}0+jt}G(
zkOgcEObkV!q;-p_pz;<|a=|U8f`VI2nFY6)vMM!MZ?P3rmSp7T-C|FMGFS>KK}Ka3
z<>x^~*s{P%a+sn1WnoB$vfva*3Y>P67#J8*8KM|d7^0X`7*m*1nA4e~m?0@LiY1j5
zl(JetX_76K6_mojZ1z-EP)Y-{IZ}91cv~2vI8*pi_*)pFxKadC1X~!QxKo5ugj*P*
zcv3`y88k(2F^43k-{OhS%qvMPDkw@VNiDj?5}%lqd5bf?ASbaTEx#x?8RUPM6G3cH
zM1dnoiGhKkhH(MILWUZKc*YtgD2u6v8OmZ#VF+ee$>^uaa*H)5zdW_52o$eHq6`cS
zMPdvL44N#rSc+3~(r$4hJAfHvKL^ZuaMVHwb_NE9TO9H6nR%Hd@$u@QxM2f1jFF3x
zi?NC)Br#nNCW(@=Kq&@<!Hx#$sA0%r2xce}2RVTe?535BMUo&_f&7QCtVoK1fk6jk
z56I69OjZ0KJCNK;iZx(g%VDuZnt_4A0Lc<|kR^#pnWPvF3e6&HhRZN8Fqj}24h|()
z*d~L$1qwn21_lrtgu$Vt0*YFOEQT7!EQV~Re5D$OEXEqfEJi4ssfIC&DVqrvhRj7E
zYl=V~0SB2T6F4+)vF4X#q!vNK6CASO7-Wl&Pc4j(w*a{cT$VHOFmnB8V&eK+#Rc*@
zL>j~QAOpZ|1Erx72C$15vY2WZvY6ADn;BtlVY$VUkyxAoj#WfT!xlE6qy$nLA8!wG
z3drva@MHv$z;FaBasidXxB$f&3z>r%G@1OWII3%P!AO(k78@uFC6*B59QOG5;*z5H
zcqb&+a6<wFERNwAc!&rwFfgPrW--(-lrYvXG&80!^@56HX1^*Cn`%%7t5tAN05jq<
zQ)=yC(ZddsiqA~ZWGYeyWi6)66kOp{lv+>}AMc9fGH^nQkB3P3Y4U<XGcPeWH9r0p
zSA2YKeoAQ$h|LopUs#%$1C`;7k1x*2FDZ_XFOmh>$Wc&~Uyxc<QVC8rkOTxyN(!KS
z0xDmMKq;{Zl-G+u-bErnX{kt<fq?<!_F@SJ1_ll$E+!6ECPpr180KK-VCG;3t3nAq
zP)W`Si^>EB28I%bW`<hE8ioaoDU1slW0-51YME<UYM2%<rZ6pJbYX}!t7WZWhV#^F
z*=kteJh58#8pZ`oCCoLfHEcEP&CClK85s&~3iS#VN?2+bL1|Ny+3y#l?kz?=P1ak?
z#i=E?Sc?mCGD~hTC#Ix;op*~ftth`LHLp0eM3dtdb4g<QEf!FPbc+Y6xGBEHl9-fP
ze2Wv7fr}C0h7gQL3#40|1&Kw)sqrO=>7Jkn1XXGbjBJbojC^1y!B}L;z`%eKK%n9h
z6yER*SHrM?0aOz$WLm(G!kogi5R|}J{EGBI(a0EIq|3m-u#)i>dr@jZPGWMZCgUx(
z;*z4wymWNO2*&5-7v(1AWLBkul6z)edN9aQkla^fhu0yXQVx>NQ<x+fY8X<OB^gp!
zz-gV;@0UPwL3M6oR(?@!b#7)}eo-yBsqhlym6c4lSiw@aSiw@7jNlZn$#{#apfbKJ
zwWv5VKM&odBJt459JzW7hdY+32$UUALXDe&fdQVZ?tz;ywTw^)Go&!JGD$M@G1M}p
zFtae!f-p-hYYF25rWBTijJ0ef%q1)-tj$cd>?v#|tl4a}95rmkK{aeC4A~q-VKwZ<
zK{XsjVJYmj%ry)t9N7#-tH63W7c$mz)^HY=)Nq1TR-|y%veYo7aAz|V9RRD~S;$z+
zRl}9So6S_bq=pNu>Ocug7F!BmHdE1o6#iP)Jh2+)q60OI3)oWxvKVTZQUrS$L5aAA
zaRCRY#Q+kkVXk4RVNDU~Wm(9?$WX%wYCrf@u~gSq*S-YB-Yte(908T_F0M|Y?zaTe
zQ%g$nOA>R6Qqz+2OY=&q*y2<43Mx}>F{WrTy#zIMUV<{=E#7d?5RdqPNMA=EAAjdt
zjJcXjMc$yy4<c^y2UNy~`guD0yST;&dq%mwWMN=n$o&6bfZ-NnX%%;JK{Yh)YBd>e
zu|wJ5Xs=R2lB`ZiO)5>VtuCm{P0Y#3Pp+*lO)fU6)nq9O0wrHou=FhsnDi|ckhCTz
zIE~!mEUqk0&d*EBOuxmKo>~$QVaJyx7TsdcNGwh)DJi<eTwGaP1oG4^uH3|m(!9*%
z{FKyNY>5R0sd*{4*fR5qQ;SM8xr<ytJ~IOmAd8DYDZeNL#0>?xgR4BVBqJW;7@my8
z;&@o#fh~$ptth$03swSmC=b-C_~Oi}RP^-A3s1kGLL&y0a6yer21XV}Ax0ihqltxs
zQG}6&k%N(okq1h1FtYt;V&wSG#LULX!Ystd!pH=|3``*SpXDD5TM?*niqa?qMI@+M
z1ulq}fm#ksE)20UwJbHvE)20kwX7u!9Soqv)65*kz{pU@Q^?ZJkj4lqPFgrXYMMbM
zELSaC4I5bA1T4#(!h}^e2vo<Vuz+&D1Ouo^+zhfsua+HTQmjfXYYH2vRgl6i$xy?d
z!qLmr$pErHg|mhgYJXK>5vXCR$>oQVdqIg9RKFX8LJHLKt6_*0s$~RgW~gC=YGz6S
zrF<rENo?%5k`Y{buVg9$=_~@ZX;v~q3T04IEdo_iw>WLmQ}a?Q3X1HSK}LflSQwZX
zsubW61S;wEY;y9G6LX5~^x(?Lb>2#*TP%6`d8vLyDWJra3L?@#1juTzn~KsI7#LcS
zT~h=~8!!L=|Np-T)Eok5q9R9-CQvs;6H<xZVl7I{OHT!73{4J5at4J|5jahogH(eX
zfuL|G0)^u(UT}GfTEv2#0uC8O5(R}oJ;*(v>Yss;gOP(#h*6A@1B96*7&#bO7}*$@
z{<AR`<$|gRXqy#IfkGc#SAp8Vpc1!)F^dUQNt7^VF=w%WN!AqRUQi2-#ji@GprE>-
zG9FwdfQkilHlq5_WRBv1$wqO3I&~0TFg8e~CL1_FiXuUom<L)4#b@TF<=+wn>p&JN
z0yXc7KyF3Kukd)eB^VFZfmG>F0EG&;oea*RY>aGwiwe-g0946=${&!q#h@@Kfi`7o
z8EP1c#7dYz&B9;?P%j;v^qKu`u?G7)I(Zglf;vIWMPZ=0166L|Dp->d(iQ`|3rv8c
zizgnGkc%>tL0!ZdAa{YXJ_92c$Yo4LMIcv!RKubL6e}QCfeQwZzuOtw8PmW$T9mBK
zQo{ny_#*9$X^f!O1y)%ju*+Heh|Cp?9mts$*53o?2v~LnrL~nz5U+xhG05?V{IL+^
zLy!<Sx5`3d29!{#m{p51KmiZVro|u@IB$ULL^xwHvNOPmMw1mO>wz;IIO~Bj99X`n
z1Y{IA%D51&UH~!&5@DbWCB|4(iXLI0QXC#(ehdr@gd(hiA%!`cxyTC~aV&@uyOy<v
z)rBDz)D(e4tsOY>Sg8<sMc{A(`w%spR)G8m5&}n;0z9qah%s==Co(NDq#&myP+t=f
zZMaI;)yU2PM~fyKq-FrO0??uj)JF#^LW(<H6fZ0Xna2alT8yCR1C@^)j74RjC<Ntx
zkOT<BYB5l$T@0%9L8W001E?%SG?+oTErm4;)P!b|WJqD_Wdw<UD^^gGnpuJ&g*}BG
zT(L^j!dkGPCO0FfxeZcVXqUnf%%I6xwT4SUK|vuhGc_kgApktWr2sANiWM^R6jD-)
zlT-6jGV{_E@{3YZi}bj_>K)TcQi~KyGEx<C5=&BxOJI6*z+&KXSvNl~rxGTvP@b8S
zqmY!UPzkaqHAP1uF)szAHV<rEVor`iT7FJWemTe@xc#LC3MKgp>Zy4t>Uv;xRRRT-
zSo#Ryx({60RdK=<Xfi^I>MRBZ20v&QxhNY{S~5X$AE>N_L>Va2f%EGv(fEQ&<nBT|
zxW3!~iaK!4W0znQVw7MkDhEXyD5rs<41_^NB`EiSqYcy~ECHoBP`gN`mbnJho)W5M
zDPgQ(PGPKJfi^`13OT@0#+bqc5rOLws%3_#g~=4!q=2iws;%H~2udv}Ey@FhpF(kJ
zVQFe!a;idpngS@ND3oL*mMA0^r79%n=M`rbm!#&EC?qBq<rfz#Wabv+q~@mPl_ZvA
z=I0ed<1!>86`~WWK_NfQ3T%t6LP4dLE~p`*YXj@C+CgP(kZL$Ph?>N_N~k1U8%zkC
zS8p*V=2e1X0u*@QW|t;w5xCd}XDDzH2yRw`TOZ&!0TbYIP%u6-FC`V!98b+F0d<9o
z_ktn?oS!&(z^x5FMjpnZN>Idr@(?IeKp4aZMHDEui$S*4Fcx#vFa$F|dc+GEi^M=J
zLQu`B$?SKFxu78V7E7kFg&C-GSzMA>R8kCTvulD{j77;Aw>UD3<Bg4yGE2~t4rhFB
zVsd<9QF6vPkjr2-J_{2UBMVazsBMHYTnBO!DA9o3wF=beW=v<SWvXFJVa#SK(gEf8
zY=$DKbdXCSeRh@<)^zaDL|#D+V+va~Q&A99l>?G0))aQADz6&G6pn1BqN*B(6wYjx
z;w-4@Jg90$P`{OtAy27>F@-Cesb~(k*U3`U2bE_?0hz@F?ni<KQg|S&U<OTIzguh-
z7H08gCYnqyK^`p%05zRhL1`lA7He8!iJ1wQGBzrz2FWm|C6?S`EhtC^=_qPsU|@I&
z@_SJgBs+oyK)L4@XK7w0DElYoXfoYmORXqL%}XhY2B~6(^z}HB3rfL(e2X12GFOZq
z55nMhNXpDhEUJu$s<{D*5j9Y9U}OWgO<5R)m_Th*FwG>u$im12<?}IdF&6crry`Ii
z;Ufd{zynST7#A|Y2bvhby>g=xCeSEA4buWv&@dEe9tkvN(9G1#SjzyK2Fd0qaw=h~
zVQFTpWlU$NWi4TcmFX!g;L_TumaT>%g;kQFhAoY$mc4|dhP{TdnW>hehQoy+R;iY=
zhIIjF3R@Oe4LevBJ7@@{hBJk|7o0K*OA5nkSc4ffIUplDMQ)&m1gK|F1S$r>oq{U0
z+{EPk;)-}^K^hMoZHcc&3A0*FW=Q!7N}#uRQRFna!2`y(*g+}2EVbwsYe{KAPU<b@
z+{A)g%$a#5MWFF;aGD2~xZv;vM<ckQt;q$B%c5FP(%=R~cV>PbXfUbB3gp~w5CJX?
zazG0BKr=asC9p2YEj|>d6c_b@l!FTjFaa(t_`qoZR%R7{21P$;Ad-QRkCB5>2ATv!
zz`bZt*Mx<UjggI!=`YKF4)&sH=#dY~s_@7Mjc`@Tq%fv1<S^7Sl`xht)i8lFmN)|_
zn!_1_8CV!Vi6D(Bo2$qKG$F~z0GW0yVXa~8V+dx@WcC9`#4YZ4h}SZca#A(fZgIuu
zCgxS<WagDt++s<}&(FEVo}O9)9-rX$1W&`c78T_e-QsgBDJjZKDlJKc@WtXY63bGN
z%!*IX$xKStWWL1$8n(T~3+BSYuL#ucN6#}7@tMU4+mVdoWMp6{1{bnSOpF{%B8);z
zY)nO<mMEyA17#>M28BEaY&<p!Jemy-A5bC7n8L7-v6iul3pD3Y%M{L#Ck6_kY_1|B
zSm=P-mJy(#c$ONbc-9)GW`<hk61E!V682`M;;<U#1stGJ+*;-uP#p*hJ=VnH<jhP>
z&RcBBC6xuK#kW|TU3`3QiKOS1#)HOrKw$v)^c+x1;z*89&PXhZF8~d57K1e1;>s+}
z%quQQ%u7za#avucbc-z|6*Tsv$x^fkq(!ixC_g#1xHujZlEnpy$*Dz4K<RBVhyeK-
z5|ZFVCkhF7n4O>motc*|1`0vYz$XI}2OAe76C)QRA2SCt2O}F37b6!_5vZA&3`$|(
zfP~JWf=mYGyJ8P$QIo=0!?2JE6avL6B}@yLQ<!QP#28AzLwTT<K?!Jdn+;T;H#63N
zW_jG8BCHD;n;C1EvO$Fcn_rcRhJAnyxOrw5ZJ=uztF0NM2NnYLgJD8dwyqTgsmUd&
zDGK1EgVcyC$xtv-0HxaeywtpsVg;~Kdf+hv9fkD#5-SDOVmCy&p~-%WsVEgRc3T3f
zI?EG_@-p+%i*K=jShx6sO7luGb5p}1!bOunA<mj!lwVq)$x;Lg;#+)0sfDGPMX4!}
zUORX=A~Ux%Hy&(d5vYp;i2+cEL7H$P@yQvf$=RrpVF-!^&>RB;J7}Z~G%CjQpNWa-
zFAFORlMti8zoISJay`gYa6CY|<joAVOf^j4qFxBpXeeO><$ci55_sasO%oEGV6!xt
zi#CB0$z~7%@(Y?fi{>&gFt~x71<E*}@qAE01Qtc<)PSl*P+bX1BE>b}<Nz8QS-`xI
zp_#Fhp@RY3UXZI{D3VKI>SRb^u4RNwT7aDD!Vs$x1D*;2C5IZ8W~L&&4u%D6DJ(V2
z3z^axYgri?3L^^jKy^_KD|pzBHHEE(1Jqz`W;AC2bpsc$cQAl!eozu(_q)XdE}`Nf
z_5Up{2rtvj!c3D{lj#;OybLokFf`F*0@pw<1wl19nxp|t5>&isGJ!^3p{1W8RHmpM
zoFKq9po9r1EI{D`nmsB84FZ6d8i>R&)iTyHb%16%7-|?7GC`IctYj?O1BwG{kQ<mG
z<9whR98%eUT9J^L0p(%v5`j2Sq<~_cje(7!N+lj_KYTj97-{eTzRp0C13c_<i!&v&
zxTLfsGpG0#3y8YK11gDN_0TPr%#ze1aOqiO19B3$VZ&Bb2lA#MJmBJsOAA1YE^dio
z2*ra90K0xZ$N+FH336%?*dHJ-+!8={urJ6zpq4MF_5-JWRt|8@$H&OV#KI)T$i-N6
z1eE$=B@l=PbxA?N3{L%!8CyiM0}V>0gL={68F&`3-;4Hv9JC)q8~}whBe;nG30klV
z!HyGxcZp$vQVfdOVvq`u^NNn*bqL58ppmhK3=5bRGSo7ZFfU-KVOYpmAOUL8Lly+E
zf-Sx!3R$)RTEK$T=P3e}0k_0G{X$%W0)kvaT!Z3+J^X`0;{6<bU4w5ir>B-^G8TaY
z7~~{~^T93$bwJ>YEWp)41}I!Xsu(~WkCPyWgE||a&;wym=z(;CLl87P0CG5}SqRFQ
z#cC-`pczL{Rs}6*f;1BsGS)Jsuw=2;Fw`)mu!85s*!*q@Af~wD^YT;jON!h<p$ux;
zRq<DYDyCY*Gzt^M@t}T`CL3Z@@D@u}er8_LM36?%I18j5#tcym?tX!EK)eg`609hN
zjTeGi_Rs|;xgc*t$}G^hp#)>m8IadOUWQ?iw?SnVsEttk23%%kfu{>V-mGOP0afsf
zptxHI8h&Cb(kNjC6|H$vP%)NlrXrgXHn1352|I|cVN7AoW-2Nx;Q)<<)-soHf@zi#
zt{MjL%obBK3wXeawT2ZuzLAj^1??p*E8zw=D0rF~YS~J7!Rpy+(ACe#(<<Ss0ZqR%
z)iRer)biIb*D%yzsy$L70G43_x7oQsr6kzSJD^HIlf7ymxE~DZq!(lBr7M&aWftV5
z7AvIXLq<`GO7lQ9qXJSmBlXU~BQM|%enzSSyu+WIUsRM@T#%oaQVbd<DJaU!FUl;b
zgpAX`Oa{9I$y6PMw4(f6h1~q&5|E~x)WqTv(6~T;QAuK631pPT4_s*9Vsl9>D$mTj
z#p(lUk`{rwKt-S#QcXedNO@5nC^3POJtV`i6;~FQq~?N~&*1U|oR`6qtl%jp@W4NK
z<QqKD3?94$Cmrw@SWzXY&|n9T%-j+{axgfn6@d#nQ0|A!RDefH!6R_s#0n-riS8Ch
zab+=hbf5&3N<ov`4D5W2Y>c200v<*VCN^*{4>b11#mE6}^b0X^F>x`nF$ytqFbXgh
zT?9FU$<I$y3$zR(t+b@HC^bI52$ZpJ@xe=XJy78eF7a*&LsrP;WG3n5CMIWO=A{-@
zf~OLTW`l}#=FHrJC~z%MT$+}aS&>={4y~d!puhu7I6(5~IuQ3bNCSIrVg+b6@Ro4A
zu~EE}XGlC!VRefwKPf9Uxdc3V0-p7Ul)bJX?Vx!*tbq&~V+4;_fdd)REd%v%AyKse
zq!-i*1vgv34G^U01II5YgM&i`senKVa~sHN5j#+pF9uCS@Gx;OF@e`7a4><w71YxP
zV-_YxDE!UF$;B+7#=*tG!okX+%pu4D0_+@|9K0NYJX{>oTw)x&9MT-39PB(|9IPCy
G9P9w8(Q;t`

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..843378a74c29813cb70989dcdc799978bc82b7af
GIT binary patch
literal 1435
zcmWIL<>g{vU|{fR*`4x%m4V?gh=Yuo85kHG7#J9ey%-o6QW#Pga~N_NqZo6UqL^}-
zqnH^%VoW(KQ7kFUDJ(gxxolBvx$IHwj0~wP3pi3(7cxe1rm&^3w=hI;rEsKhwlG9-
zr!WOGXmY&-*`mpOi$5``I6tSfBsD%Ww;;c$<Q7LtW?5!&W`5o+zJj96yps5|(!Au7
z%=|pRmy8Sy44O>0_&oE<5_2+B!cvRC>e!)-Dz<3dc)eKdWRN<L@gNLhvoJ6)ID<SP
zz`(#z!mxlbg|UWVA=3h;g$%(AnoNGb7<Dz7ZwbdIC+6knWhN))WLBld7p11BR@`DP
zE={_{nv-9iTBON%izP2HH+3aL5ibJ+!!I}elH3CQg3JQl(!7Gi<m}WG-SUjo)EwPP
zON%OFBlAlA;?$DTf|C6FoMQd>vedkk{33mj!o>8<ymbB2lFXc9y@JYHf+*I4Y~TaA
zl?mi}rXqd@1_l%lfy6;^2KLYg1_p*Io)U%{hGxcEhH!>F2^NMD#%!)46-EXStYKhd
zh-3(6h+s%(sAa5S$YM%i%w{fft6^NgoWit#1thYNaUmlk14yKVbpabF9#dEsutQ?4
zh9Qf?g`t^oA>%@3uquWu&J>Pp&Z0>m^(ib1*i$$`v0KBC#R*jhGK(RL3#@7#SQQu8
z9xkXo3|ZV@xl>>{Zm=9TT#g4U_Y5q@1D4}~$bsytVO+=<%%I6z)x@Qspr8<vky)&e
zS*%c&T2!e}oSB=MlUSrslCJ<w4tnwN#U(}Y@j41gr6md(iNy-}d8rD;rAZ|@sR}8X
zX=$lNsd>q%#bC3_GfOfQN-|Ov$`dOUGC|7oQgTv@!9qo;IjM=osS3rZ>A9(SC3;{D
zMWBRL#Zqlht60UZ5u<0IsjYI0;TEGFMr47qP%$V*#TXbEY8YbqY8guyY8aat!x$JD
z3Yk(Ef*Dpa`mJQV#avucw36u-lb*pX#tLv6gAkzPaEsF>JvA@2qM*o59b^_LNwY98
zF;uCeq@FTJme8}w$xlwqDYnyt>+&PVT}46+3=BoWAVL&GfYLp}O+^w63=G;RuHn!t
z$S*FbHmI#)*Gow)12I^%s|{*3d5hRV2Cy+OFx+BIEyz#KxW$%OP>`CJa*Hi3zbH4c
z<Q7v=Y7r=5-(tzi&&<2U4h{BO%mqcMw^%^t-eOKkEd%Ao<is3Jrd#Y#-`-*^NGvKT
zhByrDL~w|SU<(<LUy7ALS&NN{k%y6wiHnJanTt_~MU9z@Q3k|<VWuKgP;tX^iz_}p
zt+b@HC^bI52$cDXKoMF5ihv>+ke`%61ju7xFWzEL&d)8#%t<Zc1c`&PFW4X?*CCw9
cVUwGmQks)$2QsY~<arS$4kiI+E@lo^0CwPAZU6uP

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e6cce7d45db1cab708fb173e0c2c237f6c8611e7
GIT binary patch
literal 12065
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py
new file mode 100644
index 0000000..25da473
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py
@@ -0,0 +1,31 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import sys
+
+
+PY2 = sys.version_info[0] == 2
+PY3 = sys.version_info[0] == 3
+
+# flake8: noqa
+
+if PY3:
+    string_types = (str,)
+else:
+    string_types = (basestring,)
+
+
+def with_metaclass(meta, *bases):
+    """
+    Create a base class with a metaclass.
+    """
+    # This requires a bit of explanation: the basic idea is to make a dummy
+    # metaclass for one level of class instantiation that replaces itself with
+    # the actual metaclass.
+    class metaclass(meta):
+        def __new__(cls, name, this_bases, d):
+            return meta(name, bases, d)
+
+    return type.__new__(metaclass, "temporary_class", (), {})
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py
new file mode 100644
index 0000000..68dcca6
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py
@@ -0,0 +1,68 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+
+class Infinity(object):
+    def __repr__(self):
+        return "Infinity"
+
+    def __hash__(self):
+        return hash(repr(self))
+
+    def __lt__(self, other):
+        return False
+
+    def __le__(self, other):
+        return False
+
+    def __eq__(self, other):
+        return isinstance(other, self.__class__)
+
+    def __ne__(self, other):
+        return not isinstance(other, self.__class__)
+
+    def __gt__(self, other):
+        return True
+
+    def __ge__(self, other):
+        return True
+
+    def __neg__(self):
+        return NegativeInfinity
+
+
+Infinity = Infinity()
+
+
+class NegativeInfinity(object):
+    def __repr__(self):
+        return "-Infinity"
+
+    def __hash__(self):
+        return hash(repr(self))
+
+    def __lt__(self, other):
+        return True
+
+    def __le__(self, other):
+        return True
+
+    def __eq__(self, other):
+        return isinstance(other, self.__class__)
+
+    def __ne__(self, other):
+        return not isinstance(other, self.__class__)
+
+    def __gt__(self, other):
+        return False
+
+    def __ge__(self, other):
+        return False
+
+    def __neg__(self):
+        return Infinity
+
+
+NegativeInfinity = NegativeInfinity()
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py
new file mode 100644
index 0000000..4bdfdb2
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py
@@ -0,0 +1,296 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import operator
+import os
+import platform
+import sys
+
+from setuptools.extern.pyparsing import ParseException, ParseResults, stringStart, stringEnd
+from setuptools.extern.pyparsing import ZeroOrMore, Group, Forward, QuotedString
+from setuptools.extern.pyparsing import Literal as L  # noqa
+
+from ._compat import string_types
+from .specifiers import Specifier, InvalidSpecifier
+
+
+__all__ = [
+    "InvalidMarker",
+    "UndefinedComparison",
+    "UndefinedEnvironmentName",
+    "Marker",
+    "default_environment",
+]
+
+
+class InvalidMarker(ValueError):
+    """
+    An invalid marker was found, users should refer to PEP 508.
+    """
+
+
+class UndefinedComparison(ValueError):
+    """
+    An invalid operation was attempted on a value that doesn't support it.
+    """
+
+
+class UndefinedEnvironmentName(ValueError):
+    """
+    A name was attempted to be used that does not exist inside of the
+    environment.
+    """
+
+
+class Node(object):
+    def __init__(self, value):
+        self.value = value
+
+    def __str__(self):
+        return str(self.value)
+
+    def __repr__(self):
+        return "<{0}({1!r})>".format(self.__class__.__name__, str(self))
+
+    def serialize(self):
+        raise NotImplementedError
+
+
+class Variable(Node):
+    def serialize(self):
+        return str(self)
+
+
+class Value(Node):
+    def serialize(self):
+        return '"{0}"'.format(self)
+
+
+class Op(Node):
+    def serialize(self):
+        return str(self)
+
+
+VARIABLE = (
+    L("implementation_version")
+    | L("platform_python_implementation")
+    | L("implementation_name")
+    | L("python_full_version")
+    | L("platform_release")
+    | L("platform_version")
+    | L("platform_machine")
+    | L("platform_system")
+    | L("python_version")
+    | L("sys_platform")
+    | L("os_name")
+    | L("os.name")
+    | L("sys.platform")  # PEP-345
+    | L("platform.version")  # PEP-345
+    | L("platform.machine")  # PEP-345
+    | L("platform.python_implementation")  # PEP-345
+    | L("python_implementation")  # PEP-345
+    | L("extra")  # undocumented setuptools legacy
+)
+ALIASES = {
+    "os.name": "os_name",
+    "sys.platform": "sys_platform",
+    "platform.version": "platform_version",
+    "platform.machine": "platform_machine",
+    "platform.python_implementation": "platform_python_implementation",
+    "python_implementation": "platform_python_implementation",
+}
+VARIABLE.setParseAction(lambda s, l, t: Variable(ALIASES.get(t[0], t[0])))
+
+VERSION_CMP = (
+    L("===") | L("==") | L(">=") | L("<=") | L("!=") | L("~=") | L(">") | L("<")
+)
+
+MARKER_OP = VERSION_CMP | L("not in") | L("in")
+MARKER_OP.setParseAction(lambda s, l, t: Op(t[0]))
+
+MARKER_VALUE = QuotedString("'") | QuotedString('"')
+MARKER_VALUE.setParseAction(lambda s, l, t: Value(t[0]))
+
+BOOLOP = L("and") | L("or")
+
+MARKER_VAR = VARIABLE | MARKER_VALUE
+
+MARKER_ITEM = Group(MARKER_VAR + MARKER_OP + MARKER_VAR)
+MARKER_ITEM.setParseAction(lambda s, l, t: tuple(t[0]))
+
+LPAREN = L("(").suppress()
+RPAREN = L(")").suppress()
+
+MARKER_EXPR = Forward()
+MARKER_ATOM = MARKER_ITEM | Group(LPAREN + MARKER_EXPR + RPAREN)
+MARKER_EXPR << MARKER_ATOM + ZeroOrMore(BOOLOP + MARKER_EXPR)
+
+MARKER = stringStart + MARKER_EXPR + stringEnd
+
+
+def _coerce_parse_result(results):
+    if isinstance(results, ParseResults):
+        return [_coerce_parse_result(i) for i in results]
+    else:
+        return results
+
+
+def _format_marker(marker, first=True):
+    assert isinstance(marker, (list, tuple, string_types))
+
+    # Sometimes we have a structure like [[...]] which is a single item list
+    # where the single item is itself it's own list. In that case we want skip
+    # the rest of this function so that we don't get extraneous () on the
+    # outside.
+    if (
+        isinstance(marker, list)
+        and len(marker) == 1
+        and isinstance(marker[0], (list, tuple))
+    ):
+        return _format_marker(marker[0])
+
+    if isinstance(marker, list):
+        inner = (_format_marker(m, first=False) for m in marker)
+        if first:
+            return " ".join(inner)
+        else:
+            return "(" + " ".join(inner) + ")"
+    elif isinstance(marker, tuple):
+        return " ".join([m.serialize() for m in marker])
+    else:
+        return marker
+
+
+_operators = {
+    "in": lambda lhs, rhs: lhs in rhs,
+    "not in": lambda lhs, rhs: lhs not in rhs,
+    "<": operator.lt,
+    "<=": operator.le,
+    "==": operator.eq,
+    "!=": operator.ne,
+    ">=": operator.ge,
+    ">": operator.gt,
+}
+
+
+def _eval_op(lhs, op, rhs):
+    try:
+        spec = Specifier("".join([op.serialize(), rhs]))
+    except InvalidSpecifier:
+        pass
+    else:
+        return spec.contains(lhs)
+
+    oper = _operators.get(op.serialize())
+    if oper is None:
+        raise UndefinedComparison(
+            "Undefined {0!r} on {1!r} and {2!r}.".format(op, lhs, rhs)
+        )
+
+    return oper(lhs, rhs)
+
+
+_undefined = object()
+
+
+def _get_env(environment, name):
+    value = environment.get(name, _undefined)
+
+    if value is _undefined:
+        raise UndefinedEnvironmentName(
+            "{0!r} does not exist in evaluation environment.".format(name)
+        )
+
+    return value
+
+
+def _evaluate_markers(markers, environment):
+    groups = [[]]
+
+    for marker in markers:
+        assert isinstance(marker, (list, tuple, string_types))
+
+        if isinstance(marker, list):
+            groups[-1].append(_evaluate_markers(marker, environment))
+        elif isinstance(marker, tuple):
+            lhs, op, rhs = marker
+
+            if isinstance(lhs, Variable):
+                lhs_value = _get_env(environment, lhs.value)
+                rhs_value = rhs.value
+            else:
+                lhs_value = lhs.value
+                rhs_value = _get_env(environment, rhs.value)
+
+            groups[-1].append(_eval_op(lhs_value, op, rhs_value))
+        else:
+            assert marker in ["and", "or"]
+            if marker == "or":
+                groups.append([])
+
+    return any(all(item) for item in groups)
+
+
+def format_full_version(info):
+    version = "{0.major}.{0.minor}.{0.micro}".format(info)
+    kind = info.releaselevel
+    if kind != "final":
+        version += kind[0] + str(info.serial)
+    return version
+
+
+def default_environment():
+    if hasattr(sys, "implementation"):
+        iver = format_full_version(sys.implementation.version)
+        implementation_name = sys.implementation.name
+    else:
+        iver = "0"
+        implementation_name = ""
+
+    return {
+        "implementation_name": implementation_name,
+        "implementation_version": iver,
+        "os_name": os.name,
+        "platform_machine": platform.machine(),
+        "platform_release": platform.release(),
+        "platform_system": platform.system(),
+        "platform_version": platform.version(),
+        "python_full_version": platform.python_version(),
+        "platform_python_implementation": platform.python_implementation(),
+        "python_version": ".".join(platform.python_version_tuple()[:2]),
+        "sys_platform": sys.platform,
+    }
+
+
+class Marker(object):
+    def __init__(self, marker):
+        try:
+            self._markers = _coerce_parse_result(MARKER.parseString(marker))
+        except ParseException as e:
+            err_str = "Invalid marker: {0!r}, parse error at {1!r}".format(
+                marker, marker[e.loc : e.loc + 8]
+            )
+            raise InvalidMarker(err_str)
+
+    def __str__(self):
+        return _format_marker(self._markers)
+
+    def __repr__(self):
+        return "<Marker({0!r})>".format(str(self))
+
+    def evaluate(self, environment=None):
+        """Evaluate a marker.
+
+        Return the boolean from evaluating the given marker against the
+        environment. environment is an optional argument to override all or
+        part of the determined environment.
+
+        The environment is determined from the current Python process.
+        """
+        current_environment = default_environment()
+        if environment is not None:
+            current_environment.update(environment)
+
+        return _evaluate_markers(self._markers, current_environment)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py
new file mode 100644
index 0000000..8a0c2cb
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py
@@ -0,0 +1,138 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import string
+import re
+
+from setuptools.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException
+from setuptools.extern.pyparsing import ZeroOrMore, Word, Optional, Regex, Combine
+from setuptools.extern.pyparsing import Literal as L  # noqa
+from setuptools.extern.six.moves.urllib import parse as urlparse
+
+from .markers import MARKER_EXPR, Marker
+from .specifiers import LegacySpecifier, Specifier, SpecifierSet
+
+
+class InvalidRequirement(ValueError):
+    """
+    An invalid requirement was found, users should refer to PEP 508.
+    """
+
+
+ALPHANUM = Word(string.ascii_letters + string.digits)
+
+LBRACKET = L("[").suppress()
+RBRACKET = L("]").suppress()
+LPAREN = L("(").suppress()
+RPAREN = L(")").suppress()
+COMMA = L(",").suppress()
+SEMICOLON = L(";").suppress()
+AT = L("@").suppress()
+
+PUNCTUATION = Word("-_.")
+IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM)
+IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END))
+
+NAME = IDENTIFIER("name")
+EXTRA = IDENTIFIER
+
+URI = Regex(r"[^ ]+")("url")
+URL = AT + URI
+
+EXTRAS_LIST = EXTRA + ZeroOrMore(COMMA + EXTRA)
+EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras")
+
+VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE)
+VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE)
+
+VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY
+VERSION_MANY = Combine(
+    VERSION_ONE + ZeroOrMore(COMMA + VERSION_ONE), joinString=",", adjacent=False
+)("_raw_spec")
+_VERSION_SPEC = Optional(((LPAREN + VERSION_MANY + RPAREN) | VERSION_MANY))
+_VERSION_SPEC.setParseAction(lambda s, l, t: t._raw_spec or "")
+
+VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier")
+VERSION_SPEC.setParseAction(lambda s, l, t: t[1])
+
+MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
+MARKER_EXPR.setParseAction(
+    lambda s, l, t: Marker(s[t._original_start : t._original_end])
+)
+MARKER_SEPARATOR = SEMICOLON
+MARKER = MARKER_SEPARATOR + MARKER_EXPR
+
+VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER)
+URL_AND_MARKER = URL + Optional(MARKER)
+
+NAMED_REQUIREMENT = NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER)
+
+REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd
+# setuptools.extern.pyparsing isn't thread safe during initialization, so we do it eagerly, see
+# issue #104
+REQUIREMENT.parseString("x[]")
+
+
+class Requirement(object):
+    """Parse a requirement.
+
+    Parse a given requirement string into its parts, such as name, specifier,
+    URL, and extras. Raises InvalidRequirement on a badly-formed requirement
+    string.
+    """
+
+    # TODO: Can we test whether something is contained within a requirement?
+    #       If so how do we do that? Do we need to test against the _name_ of
+    #       the thing as well as the version? What about the markers?
+    # TODO: Can we normalize the name and extra name?
+
+    def __init__(self, requirement_string):
+        try:
+            req = REQUIREMENT.parseString(requirement_string)
+        except ParseException as e:
+            raise InvalidRequirement(
+                'Parse error at "{0!r}": {1}'.format(
+                    requirement_string[e.loc : e.loc + 8], e.msg
+                )
+            )
+
+        self.name = req.name
+        if req.url:
+            parsed_url = urlparse.urlparse(req.url)
+            if parsed_url.scheme == "file":
+                if urlparse.urlunparse(parsed_url) != req.url:
+                    raise InvalidRequirement("Invalid URL given")
+            elif not (parsed_url.scheme and parsed_url.netloc) or (
+                not parsed_url.scheme and not parsed_url.netloc
+            ):
+                raise InvalidRequirement("Invalid URL: {0}".format(req.url))
+            self.url = req.url
+        else:
+            self.url = None
+        self.extras = set(req.extras.asList() if req.extras else [])
+        self.specifier = SpecifierSet(req.specifier)
+        self.marker = req.marker if req.marker else None
+
+    def __str__(self):
+        parts = [self.name]
+
+        if self.extras:
+            parts.append("[{0}]".format(",".join(sorted(self.extras))))
+
+        if self.specifier:
+            parts.append(str(self.specifier))
+
+        if self.url:
+            parts.append("@ {0}".format(self.url))
+            if self.marker:
+                parts.append(" ")
+
+        if self.marker:
+            parts.append("; {0}".format(self.marker))
+
+        return "".join(parts)
+
+    def __repr__(self):
+        return "<Requirement({0!r})>".format(str(self))
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py
new file mode 100644
index 0000000..743576a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py
@@ -0,0 +1,749 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import abc
+import functools
+import itertools
+import re
+
+from ._compat import string_types, with_metaclass
+from .version import Version, LegacyVersion, parse
+
+
+class InvalidSpecifier(ValueError):
+    """
+    An invalid specifier was found, users should refer to PEP 440.
+    """
+
+
+class BaseSpecifier(with_metaclass(abc.ABCMeta, object)):
+    @abc.abstractmethod
+    def __str__(self):
+        """
+        Returns the str representation of this Specifier like object. This
+        should be representative of the Specifier itself.
+        """
+
+    @abc.abstractmethod
+    def __hash__(self):
+        """
+        Returns a hash value for this Specifier like object.
+        """
+
+    @abc.abstractmethod
+    def __eq__(self, other):
+        """
+        Returns a boolean representing whether or not the two Specifier like
+        objects are equal.
+        """
+
+    @abc.abstractmethod
+    def __ne__(self, other):
+        """
+        Returns a boolean representing whether or not the two Specifier like
+        objects are not equal.
+        """
+
+    @abc.abstractproperty
+    def prereleases(self):
+        """
+        Returns whether or not pre-releases as a whole are allowed by this
+        specifier.
+        """
+
+    @prereleases.setter
+    def prereleases(self, value):
+        """
+        Sets whether or not pre-releases as a whole are allowed by this
+        specifier.
+        """
+
+    @abc.abstractmethod
+    def contains(self, item, prereleases=None):
+        """
+        Determines if the given item is contained within this specifier.
+        """
+
+    @abc.abstractmethod
+    def filter(self, iterable, prereleases=None):
+        """
+        Takes an iterable of items and filters them so that only items which
+        are contained within this specifier are allowed in it.
+        """
+
+
+class _IndividualSpecifier(BaseSpecifier):
+
+    _operators = {}
+
+    def __init__(self, spec="", prereleases=None):
+        match = self._regex.search(spec)
+        if not match:
+            raise InvalidSpecifier("Invalid specifier: '{0}'".format(spec))
+
+        self._spec = (match.group("operator").strip(), match.group("version").strip())
+
+        # Store whether or not this Specifier should accept prereleases
+        self._prereleases = prereleases
+
+    def __repr__(self):
+        pre = (
+            ", prereleases={0!r}".format(self.prereleases)
+            if self._prereleases is not None
+            else ""
+        )
+
+        return "<{0}({1!r}{2})>".format(self.__class__.__name__, str(self), pre)
+
+    def __str__(self):
+        return "{0}{1}".format(*self._spec)
+
+    def __hash__(self):
+        return hash(self._spec)
+
+    def __eq__(self, other):
+        if isinstance(other, string_types):
+            try:
+                other = self.__class__(other)
+            except InvalidSpecifier:
+                return NotImplemented
+        elif not isinstance(other, self.__class__):
+            return NotImplemented
+
+        return self._spec == other._spec
+
+    def __ne__(self, other):
+        if isinstance(other, string_types):
+            try:
+                other = self.__class__(other)
+            except InvalidSpecifier:
+                return NotImplemented
+        elif not isinstance(other, self.__class__):
+            return NotImplemented
+
+        return self._spec != other._spec
+
+    def _get_operator(self, op):
+        return getattr(self, "_compare_{0}".format(self._operators[op]))
+
+    def _coerce_version(self, version):
+        if not isinstance(version, (LegacyVersion, Version)):
+            version = parse(version)
+        return version
+
+    @property
+    def operator(self):
+        return self._spec[0]
+
+    @property
+    def version(self):
+        return self._spec[1]
+
+    @property
+    def prereleases(self):
+        return self._prereleases
+
+    @prereleases.setter
+    def prereleases(self, value):
+        self._prereleases = value
+
+    def __contains__(self, item):
+        return self.contains(item)
+
+    def contains(self, item, prereleases=None):
+        # Determine if prereleases are to be allowed or not.
+        if prereleases is None:
+            prereleases = self.prereleases
+
+        # Normalize item to a Version or LegacyVersion, this allows us to have
+        # a shortcut for ``"2.0" in Specifier(">=2")
+        item = self._coerce_version(item)
+
+        # Determine if we should be supporting prereleases in this specifier
+        # or not, if we do not support prereleases than we can short circuit
+        # logic if this version is a prereleases.
+        if item.is_prerelease and not prereleases:
+            return False
+
+        # Actually do the comparison to determine if this item is contained
+        # within this Specifier or not.
+        return self._get_operator(self.operator)(item, self.version)
+
+    def filter(self, iterable, prereleases=None):
+        yielded = False
+        found_prereleases = []
+
+        kw = {"prereleases": prereleases if prereleases is not None else True}
+
+        # Attempt to iterate over all the values in the iterable and if any of
+        # them match, yield them.
+        for version in iterable:
+            parsed_version = self._coerce_version(version)
+
+            if self.contains(parsed_version, **kw):
+                # If our version is a prerelease, and we were not set to allow
+                # prereleases, then we'll store it for later incase nothing
+                # else matches this specifier.
+                if parsed_version.is_prerelease and not (
+                    prereleases or self.prereleases
+                ):
+                    found_prereleases.append(version)
+                # Either this is not a prerelease, or we should have been
+                # accepting prereleases from the beginning.
+                else:
+                    yielded = True
+                    yield version
+
+        # Now that we've iterated over everything, determine if we've yielded
+        # any values, and if we have not and we have any prereleases stored up
+        # then we will go ahead and yield the prereleases.
+        if not yielded and found_prereleases:
+            for version in found_prereleases:
+                yield version
+
+
+class LegacySpecifier(_IndividualSpecifier):
+
+    _regex_str = r"""
+        (?P<operator>(==|!=|<=|>=|<|>))
+        \s*
+        (?P<version>
+            [^,;\s)]* # Since this is a "legacy" specifier, and the version
+                      # string can be just about anything, we match everything
+                      # except for whitespace, a semi-colon for marker support,
+                      # a closing paren since versions can be enclosed in
+                      # them, and a comma since it's a version separator.
+        )
+        """
+
+    _regex = re.compile(r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE)
+
+    _operators = {
+        "==": "equal",
+        "!=": "not_equal",
+        "<=": "less_than_equal",
+        ">=": "greater_than_equal",
+        "<": "less_than",
+        ">": "greater_than",
+    }
+
+    def _coerce_version(self, version):
+        if not isinstance(version, LegacyVersion):
+            version = LegacyVersion(str(version))
+        return version
+
+    def _compare_equal(self, prospective, spec):
+        return prospective == self._coerce_version(spec)
+
+    def _compare_not_equal(self, prospective, spec):
+        return prospective != self._coerce_version(spec)
+
+    def _compare_less_than_equal(self, prospective, spec):
+        return prospective <= self._coerce_version(spec)
+
+    def _compare_greater_than_equal(self, prospective, spec):
+        return prospective >= self._coerce_version(spec)
+
+    def _compare_less_than(self, prospective, spec):
+        return prospective < self._coerce_version(spec)
+
+    def _compare_greater_than(self, prospective, spec):
+        return prospective > self._coerce_version(spec)
+
+
+def _require_version_compare(fn):
+    @functools.wraps(fn)
+    def wrapped(self, prospective, spec):
+        if not isinstance(prospective, Version):
+            return False
+        return fn(self, prospective, spec)
+
+    return wrapped
+
+
+class Specifier(_IndividualSpecifier):
+
+    _regex_str = r"""
+        (?P<operator>(~=|==|!=|<=|>=|<|>|===))
+        (?P<version>
+            (?:
+                # The identity operators allow for an escape hatch that will
+                # do an exact string match of the version you wish to install.
+                # This will not be parsed by PEP 440 and we cannot determine
+                # any semantic meaning from it. This operator is discouraged
+                # but included entirely as an escape hatch.
+                (?<====)  # Only match for the identity operator
+                \s*
+                [^\s]*    # We just match everything, except for whitespace
+                          # since we are only testing for strict identity.
+            )
+            |
+            (?:
+                # The (non)equality operators allow for wild card and local
+                # versions to be specified so we have to define these two
+                # operators separately to enable that.
+                (?<===|!=)            # Only match for equals and not equals
+
+                \s*
+                v?
+                (?:[0-9]+!)?          # epoch
+                [0-9]+(?:\.[0-9]+)*   # release
+                (?:                   # pre release
+                    [-_\.]?
+                    (a|b|c|rc|alpha|beta|pre|preview)
+                    [-_\.]?
+                    [0-9]*
+                )?
+                (?:                   # post release
+                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
+                )?
+
+                # You cannot use a wild card and a dev or local version
+                # together so group them with a | and make them optional.
+                (?:
+                    (?:[-_\.]?dev[-_\.]?[0-9]*)?         # dev release
+                    (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local
+                    |
+                    \.\*  # Wild card syntax of .*
+                )?
+            )
+            |
+            (?:
+                # The compatible operator requires at least two digits in the
+                # release segment.
+                (?<=~=)               # Only match for the compatible operator
+
+                \s*
+                v?
+                (?:[0-9]+!)?          # epoch
+                [0-9]+(?:\.[0-9]+)+   # release  (We have a + instead of a *)
+                (?:                   # pre release
+                    [-_\.]?
+                    (a|b|c|rc|alpha|beta|pre|preview)
+                    [-_\.]?
+                    [0-9]*
+                )?
+                (?:                                   # post release
+                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
+                )?
+                (?:[-_\.]?dev[-_\.]?[0-9]*)?          # dev release
+            )
+            |
+            (?:
+                # All other operators only allow a sub set of what the
+                # (non)equality operators do. Specifically they do not allow
+                # local versions to be specified nor do they allow the prefix
+                # matching wild cards.
+                (?<!==|!=|~=)         # We have special cases for these
+                                      # operators so we want to make sure they
+                                      # don't match here.
+
+                \s*
+                v?
+                (?:[0-9]+!)?          # epoch
+                [0-9]+(?:\.[0-9]+)*   # release
+                (?:                   # pre release
+                    [-_\.]?
+                    (a|b|c|rc|alpha|beta|pre|preview)
+                    [-_\.]?
+                    [0-9]*
+                )?
+                (?:                                   # post release
+                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
+                )?
+                (?:[-_\.]?dev[-_\.]?[0-9]*)?          # dev release
+            )
+        )
+        """
+
+    _regex = re.compile(r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE)
+
+    _operators = {
+        "~=": "compatible",
+        "==": "equal",
+        "!=": "not_equal",
+        "<=": "less_than_equal",
+        ">=": "greater_than_equal",
+        "<": "less_than",
+        ">": "greater_than",
+        "===": "arbitrary",
+    }
+
+    @_require_version_compare
+    def _compare_compatible(self, prospective, spec):
+        # Compatible releases have an equivalent combination of >= and ==. That
+        # is that ~=2.2 is equivalent to >=2.2,==2.*. This allows us to
+        # implement this in terms of the other specifiers instead of
+        # implementing it ourselves. The only thing we need to do is construct
+        # the other specifiers.
+
+        # We want everything but the last item in the version, but we want to
+        # ignore post and dev releases and we want to treat the pre-release as
+        # it's own separate segment.
+        prefix = ".".join(
+            list(
+                itertools.takewhile(
+                    lambda x: (not x.startswith("post") and not x.startswith("dev")),
+                    _version_split(spec),
+                )
+            )[:-1]
+        )
+
+        # Add the prefix notation to the end of our string
+        prefix += ".*"
+
+        return self._get_operator(">=")(prospective, spec) and self._get_operator("==")(
+            prospective, prefix
+        )
+
+    @_require_version_compare
+    def _compare_equal(self, prospective, spec):
+        # We need special logic to handle prefix matching
+        if spec.endswith(".*"):
+            # In the case of prefix matching we want to ignore local segment.
+            prospective = Version(prospective.public)
+            # Split the spec out by dots, and pretend that there is an implicit
+            # dot in between a release segment and a pre-release segment.
+            spec = _version_split(spec[:-2])  # Remove the trailing .*
+
+            # Split the prospective version out by dots, and pretend that there
+            # is an implicit dot in between a release segment and a pre-release
+            # segment.
+            prospective = _version_split(str(prospective))
+
+            # Shorten the prospective version to be the same length as the spec
+            # so that we can determine if the specifier is a prefix of the
+            # prospective version or not.
+            prospective = prospective[: len(spec)]
+
+            # Pad out our two sides with zeros so that they both equal the same
+            # length.
+            spec, prospective = _pad_version(spec, prospective)
+        else:
+            # Convert our spec string into a Version
+            spec = Version(spec)
+
+            # If the specifier does not have a local segment, then we want to
+            # act as if the prospective version also does not have a local
+            # segment.
+            if not spec.local:
+                prospective = Version(prospective.public)
+
+        return prospective == spec
+
+    @_require_version_compare
+    def _compare_not_equal(self, prospective, spec):
+        return not self._compare_equal(prospective, spec)
+
+    @_require_version_compare
+    def _compare_less_than_equal(self, prospective, spec):
+        return prospective <= Version(spec)
+
+    @_require_version_compare
+    def _compare_greater_than_equal(self, prospective, spec):
+        return prospective >= Version(spec)
+
+    @_require_version_compare
+    def _compare_less_than(self, prospective, spec):
+        # Convert our spec to a Version instance, since we'll want to work with
+        # it as a version.
+        spec = Version(spec)
+
+        # Check to see if the prospective version is less than the spec
+        # version. If it's not we can short circuit and just return False now
+        # instead of doing extra unneeded work.
+        if not prospective < spec:
+            return False
+
+        # This special case is here so that, unless the specifier itself
+        # includes is a pre-release version, that we do not accept pre-release
+        # versions for the version mentioned in the specifier (e.g. <3.1 should
+        # not match 3.1.dev0, but should match 3.0.dev0).
+        if not spec.is_prerelease and prospective.is_prerelease:
+            if Version(prospective.base_version) == Version(spec.base_version):
+                return False
+
+        # If we've gotten to here, it means that prospective version is both
+        # less than the spec version *and* it's not a pre-release of the same
+        # version in the spec.
+        return True
+
+    @_require_version_compare
+    def _compare_greater_than(self, prospective, spec):
+        # Convert our spec to a Version instance, since we'll want to work with
+        # it as a version.
+        spec = Version(spec)
+
+        # Check to see if the prospective version is greater than the spec
+        # version. If it's not we can short circuit and just return False now
+        # instead of doing extra unneeded work.
+        if not prospective > spec:
+            return False
+
+        # This special case is here so that, unless the specifier itself
+        # includes is a post-release version, that we do not accept
+        # post-release versions for the version mentioned in the specifier
+        # (e.g. >3.1 should not match 3.0.post0, but should match 3.2.post0).
+        if not spec.is_postrelease and prospective.is_postrelease:
+            if Version(prospective.base_version) == Version(spec.base_version):
+                return False
+
+        # Ensure that we do not allow a local version of the version mentioned
+        # in the specifier, which is technically greater than, to match.
+        if prospective.local is not None:
+            if Version(prospective.base_version) == Version(spec.base_version):
+                return False
+
+        # If we've gotten to here, it means that prospective version is both
+        # greater than the spec version *and* it's not a pre-release of the
+        # same version in the spec.
+        return True
+
+    def _compare_arbitrary(self, prospective, spec):
+        return str(prospective).lower() == str(spec).lower()
+
+    @property
+    def prereleases(self):
+        # If there is an explicit prereleases set for this, then we'll just
+        # blindly use that.
+        if self._prereleases is not None:
+            return self._prereleases
+
+        # Look at all of our specifiers and determine if they are inclusive
+        # operators, and if they are if they are including an explicit
+        # prerelease.
+        operator, version = self._spec
+        if operator in ["==", ">=", "<=", "~=", "==="]:
+            # The == specifier can include a trailing .*, if it does we
+            # want to remove before parsing.
+            if operator == "==" and version.endswith(".*"):
+                version = version[:-2]
+
+            # Parse the version, and if it is a pre-release than this
+            # specifier allows pre-releases.
+            if parse(version).is_prerelease:
+                return True
+
+        return False
+
+    @prereleases.setter
+    def prereleases(self, value):
+        self._prereleases = value
+
+
+_prefix_regex = re.compile(r"^([0-9]+)((?:a|b|c|rc)[0-9]+)$")
+
+
+def _version_split(version):
+    result = []
+    for item in version.split("."):
+        match = _prefix_regex.search(item)
+        if match:
+            result.extend(match.groups())
+        else:
+            result.append(item)
+    return result
+
+
+def _pad_version(left, right):
+    left_split, right_split = [], []
+
+    # Get the release segment of our versions
+    left_split.append(list(itertools.takewhile(lambda x: x.isdigit(), left)))
+    right_split.append(list(itertools.takewhile(lambda x: x.isdigit(), right)))
+
+    # Get the rest of our versions
+    left_split.append(left[len(left_split[0]) :])
+    right_split.append(right[len(right_split[0]) :])
+
+    # Insert our padding
+    left_split.insert(1, ["0"] * max(0, len(right_split[0]) - len(left_split[0])))
+    right_split.insert(1, ["0"] * max(0, len(left_split[0]) - len(right_split[0])))
+
+    return (list(itertools.chain(*left_split)), list(itertools.chain(*right_split)))
+
+
+class SpecifierSet(BaseSpecifier):
+    def __init__(self, specifiers="", prereleases=None):
+        # Split on , to break each indidivual specifier into it's own item, and
+        # strip each item to remove leading/trailing whitespace.
+        specifiers = [s.strip() for s in specifiers.split(",") if s.strip()]
+
+        # Parsed each individual specifier, attempting first to make it a
+        # Specifier and falling back to a LegacySpecifier.
+        parsed = set()
+        for specifier in specifiers:
+            try:
+                parsed.add(Specifier(specifier))
+            except InvalidSpecifier:
+                parsed.add(LegacySpecifier(specifier))
+
+        # Turn our parsed specifiers into a frozen set and save them for later.
+        self._specs = frozenset(parsed)
+
+        # Store our prereleases value so we can use it later to determine if
+        # we accept prereleases or not.
+        self._prereleases = prereleases
+
+    def __repr__(self):
+        pre = (
+            ", prereleases={0!r}".format(self.prereleases)
+            if self._prereleases is not None
+            else ""
+        )
+
+        return "<SpecifierSet({0!r}{1})>".format(str(self), pre)
+
+    def __str__(self):
+        return ",".join(sorted(str(s) for s in self._specs))
+
+    def __hash__(self):
+        return hash(self._specs)
+
+    def __and__(self, other):
+        if isinstance(other, string_types):
+            other = SpecifierSet(other)
+        elif not isinstance(other, SpecifierSet):
+            return NotImplemented
+
+        specifier = SpecifierSet()
+        specifier._specs = frozenset(self._specs | other._specs)
+
+        if self._prereleases is None and other._prereleases is not None:
+            specifier._prereleases = other._prereleases
+        elif self._prereleases is not None and other._prereleases is None:
+            specifier._prereleases = self._prereleases
+        elif self._prereleases == other._prereleases:
+            specifier._prereleases = self._prereleases
+        else:
+            raise ValueError(
+                "Cannot combine SpecifierSets with True and False prerelease "
+                "overrides."
+            )
+
+        return specifier
+
+    def __eq__(self, other):
+        if isinstance(other, string_types):
+            other = SpecifierSet(other)
+        elif isinstance(other, _IndividualSpecifier):
+            other = SpecifierSet(str(other))
+        elif not isinstance(other, SpecifierSet):
+            return NotImplemented
+
+        return self._specs == other._specs
+
+    def __ne__(self, other):
+        if isinstance(other, string_types):
+            other = SpecifierSet(other)
+        elif isinstance(other, _IndividualSpecifier):
+            other = SpecifierSet(str(other))
+        elif not isinstance(other, SpecifierSet):
+            return NotImplemented
+
+        return self._specs != other._specs
+
+    def __len__(self):
+        return len(self._specs)
+
+    def __iter__(self):
+        return iter(self._specs)
+
+    @property
+    def prereleases(self):
+        # If we have been given an explicit prerelease modifier, then we'll
+        # pass that through here.
+        if self._prereleases is not None:
+            return self._prereleases
+
+        # If we don't have any specifiers, and we don't have a forced value,
+        # then we'll just return None since we don't know if this should have
+        # pre-releases or not.
+        if not self._specs:
+            return None
+
+        # Otherwise we'll see if any of the given specifiers accept
+        # prereleases, if any of them do we'll return True, otherwise False.
+        return any(s.prereleases for s in self._specs)
+
+    @prereleases.setter
+    def prereleases(self, value):
+        self._prereleases = value
+
+    def __contains__(self, item):
+        return self.contains(item)
+
+    def contains(self, item, prereleases=None):
+        # Ensure that our item is a Version or LegacyVersion instance.
+        if not isinstance(item, (LegacyVersion, Version)):
+            item = parse(item)
+
+        # Determine if we're forcing a prerelease or not, if we're not forcing
+        # one for this particular filter call, then we'll use whatever the
+        # SpecifierSet thinks for whether or not we should support prereleases.
+        if prereleases is None:
+            prereleases = self.prereleases
+
+        # We can determine if we're going to allow pre-releases by looking to
+        # see if any of the underlying items supports them. If none of them do
+        # and this item is a pre-release then we do not allow it and we can
+        # short circuit that here.
+        # Note: This means that 1.0.dev1 would not be contained in something
+        #       like >=1.0.devabc however it would be in >=1.0.debabc,>0.0.dev0
+        if not prereleases and item.is_prerelease:
+            return False
+
+        # We simply dispatch to the underlying specs here to make sure that the
+        # given version is contained within all of them.
+        # Note: This use of all() here means that an empty set of specifiers
+        #       will always return True, this is an explicit design decision.
+        return all(s.contains(item, prereleases=prereleases) for s in self._specs)
+
+    def filter(self, iterable, prereleases=None):
+        # Determine if we're forcing a prerelease or not, if we're not forcing
+        # one for this particular filter call, then we'll use whatever the
+        # SpecifierSet thinks for whether or not we should support prereleases.
+        if prereleases is None:
+            prereleases = self.prereleases
+
+        # If we have any specifiers, then we want to wrap our iterable in the
+        # filter method for each one, this will act as a logical AND amongst
+        # each specifier.
+        if self._specs:
+            for spec in self._specs:
+                iterable = spec.filter(iterable, prereleases=bool(prereleases))
+            return iterable
+        # If we do not have any specifiers, then we need to have a rough filter
+        # which will filter out any pre-releases, unless there are no final
+        # releases, and which will filter out LegacyVersion in general.
+        else:
+            filtered = []
+            found_prereleases = []
+
+            for item in iterable:
+                # Ensure that we some kind of Version class for this item.
+                if not isinstance(item, (LegacyVersion, Version)):
+                    parsed_version = parse(item)
+                else:
+                    parsed_version = item
+
+                # Filter out any item which is parsed as a LegacyVersion
+                if isinstance(parsed_version, LegacyVersion):
+                    continue
+
+                # Store any item which is a pre-release for later unless we've
+                # already found a final version or we are accepting prereleases
+                if parsed_version.is_prerelease and not prereleases:
+                    if not filtered:
+                        found_prereleases.append(item)
+                else:
+                    filtered.append(item)
+
+            # If we've found no items except for pre-releases, then we'll go
+            # ahead and use the pre-releases
+            if not filtered and found_prereleases and prereleases is None:
+                return found_prereleases
+
+            return filtered
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py
new file mode 100644
index 0000000..ec9942f
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py
@@ -0,0 +1,404 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+
+from __future__ import absolute_import
+
+import distutils.util
+
+try:
+    from importlib.machinery import EXTENSION_SUFFIXES
+except ImportError:  # pragma: no cover
+    import imp
+
+    EXTENSION_SUFFIXES = [x[0] for x in imp.get_suffixes()]
+    del imp
+import platform
+import re
+import sys
+import sysconfig
+import warnings
+
+
+INTERPRETER_SHORT_NAMES = {
+    "python": "py",  # Generic.
+    "cpython": "cp",
+    "pypy": "pp",
+    "ironpython": "ip",
+    "jython": "jy",
+}
+
+
+_32_BIT_INTERPRETER = sys.maxsize <= 2 ** 32
+
+
+class Tag(object):
+
+    __slots__ = ["_interpreter", "_abi", "_platform"]
+
+    def __init__(self, interpreter, abi, platform):
+        self._interpreter = interpreter.lower()
+        self._abi = abi.lower()
+        self._platform = platform.lower()
+
+    @property
+    def interpreter(self):
+        return self._interpreter
+
+    @property
+    def abi(self):
+        return self._abi
+
+    @property
+    def platform(self):
+        return self._platform
+
+    def __eq__(self, other):
+        return (
+            (self.platform == other.platform)
+            and (self.abi == other.abi)
+            and (self.interpreter == other.interpreter)
+        )
+
+    def __hash__(self):
+        return hash((self._interpreter, self._abi, self._platform))
+
+    def __str__(self):
+        return "{}-{}-{}".format(self._interpreter, self._abi, self._platform)
+
+    def __repr__(self):
+        return "<{self} @ {self_id}>".format(self=self, self_id=id(self))
+
+
+def parse_tag(tag):
+    tags = set()
+    interpreters, abis, platforms = tag.split("-")
+    for interpreter in interpreters.split("."):
+        for abi in abis.split("."):
+            for platform_ in platforms.split("."):
+                tags.add(Tag(interpreter, abi, platform_))
+    return frozenset(tags)
+
+
+def _normalize_string(string):
+    return string.replace(".", "_").replace("-", "_")
+
+
+def _cpython_interpreter(py_version):
+    # TODO: Is using py_version_nodot for interpreter version critical?
+    return "cp{major}{minor}".format(major=py_version[0], minor=py_version[1])
+
+
+def _cpython_abis(py_version):
+    abis = []
+    version = "{}{}".format(*py_version[:2])
+    debug = pymalloc = ucs4 = ""
+    with_debug = sysconfig.get_config_var("Py_DEBUG")
+    has_refcount = hasattr(sys, "gettotalrefcount")
+    # Windows doesn't set Py_DEBUG, so checking for support of debug-compiled
+    # extension modules is the best option.
+    # https://github.com/pypa/pip/issues/3383#issuecomment-173267692
+    has_ext = "_d.pyd" in EXTENSION_SUFFIXES
+    if with_debug or (with_debug is None and (has_refcount or has_ext)):
+        debug = "d"
+    if py_version < (3, 8):
+        with_pymalloc = sysconfig.get_config_var("WITH_PYMALLOC")
+        if with_pymalloc or with_pymalloc is None:
+            pymalloc = "m"
+        if py_version < (3, 3):
+            unicode_size = sysconfig.get_config_var("Py_UNICODE_SIZE")
+            if unicode_size == 4 or (
+                unicode_size is None and sys.maxunicode == 0x10FFFF
+            ):
+                ucs4 = "u"
+    elif debug:
+        # Debug builds can also load "normal" extension modules.
+        # We can also assume no UCS-4 or pymalloc requirement.
+        abis.append("cp{version}".format(version=version))
+    abis.insert(
+        0,
+        "cp{version}{debug}{pymalloc}{ucs4}".format(
+            version=version, debug=debug, pymalloc=pymalloc, ucs4=ucs4
+        ),
+    )
+    return abis
+
+
+def _cpython_tags(py_version, interpreter, abis, platforms):
+    for abi in abis:
+        for platform_ in platforms:
+            yield Tag(interpreter, abi, platform_)
+    for tag in (Tag(interpreter, "abi3", platform_) for platform_ in platforms):
+        yield tag
+    for tag in (Tag(interpreter, "none", platform_) for platform_ in platforms):
+        yield tag
+    # PEP 384 was first implemented in Python 3.2.
+    for minor_version in range(py_version[1] - 1, 1, -1):
+        for platform_ in platforms:
+            interpreter = "cp{major}{minor}".format(
+                major=py_version[0], minor=minor_version
+            )
+            yield Tag(interpreter, "abi3", platform_)
+
+
+def _pypy_interpreter():
+    return "pp{py_major}{pypy_major}{pypy_minor}".format(
+        py_major=sys.version_info[0],
+        pypy_major=sys.pypy_version_info.major,
+        pypy_minor=sys.pypy_version_info.minor,
+    )
+
+
+def _generic_abi():
+    abi = sysconfig.get_config_var("SOABI")
+    if abi:
+        return _normalize_string(abi)
+    else:
+        return "none"
+
+
+def _pypy_tags(py_version, interpreter, abi, platforms):
+    for tag in (Tag(interpreter, abi, platform) for platform in platforms):
+        yield tag
+    for tag in (Tag(interpreter, "none", platform) for platform in platforms):
+        yield tag
+
+
+def _generic_tags(interpreter, py_version, abi, platforms):
+    for tag in (Tag(interpreter, abi, platform) for platform in platforms):
+        yield tag
+    if abi != "none":
+        tags = (Tag(interpreter, "none", platform_) for platform_ in platforms)
+        for tag in tags:
+            yield tag
+
+
+def _py_interpreter_range(py_version):
+    """
+    Yield Python versions in descending order.
+
+    After the latest version, the major-only version will be yielded, and then
+    all following versions up to 'end'.
+    """
+    yield "py{major}{minor}".format(major=py_version[0], minor=py_version[1])
+    yield "py{major}".format(major=py_version[0])
+    for minor in range(py_version[1] - 1, -1, -1):
+        yield "py{major}{minor}".format(major=py_version[0], minor=minor)
+
+
+def _independent_tags(interpreter, py_version, platforms):
+    """
+    Return the sequence of tags that are consistent across implementations.
+
+    The tags consist of:
+    - py*-none-<platform>
+    - <interpreter>-none-any
+    - py*-none-any
+    """
+    for version in _py_interpreter_range(py_version):
+        for platform_ in platforms:
+            yield Tag(version, "none", platform_)
+    yield Tag(interpreter, "none", "any")
+    for version in _py_interpreter_range(py_version):
+        yield Tag(version, "none", "any")
+
+
+def _mac_arch(arch, is_32bit=_32_BIT_INTERPRETER):
+    if not is_32bit:
+        return arch
+
+    if arch.startswith("ppc"):
+        return "ppc"
+
+    return "i386"
+
+
+def _mac_binary_formats(version, cpu_arch):
+    formats = [cpu_arch]
+    if cpu_arch == "x86_64":
+        if version < (10, 4):
+            return []
+        formats.extend(["intel", "fat64", "fat32"])
+
+    elif cpu_arch == "i386":
+        if version < (10, 4):
+            return []
+        formats.extend(["intel", "fat32", "fat"])
+
+    elif cpu_arch == "ppc64":
+        # TODO: Need to care about 32-bit PPC for ppc64 through 10.2?
+        if version > (10, 5) or version < (10, 4):
+            return []
+        formats.append("fat64")
+
+    elif cpu_arch == "ppc":
+        if version > (10, 6):
+            return []
+        formats.extend(["fat32", "fat"])
+
+    formats.append("universal")
+    return formats
+
+
+def _mac_platforms(version=None, arch=None):
+    version_str, _, cpu_arch = platform.mac_ver()
+    if version is None:
+        version = tuple(map(int, version_str.split(".")[:2]))
+    if arch is None:
+        arch = _mac_arch(cpu_arch)
+    platforms = []
+    for minor_version in range(version[1], -1, -1):
+        compat_version = version[0], minor_version
+        binary_formats = _mac_binary_formats(compat_version, arch)
+        for binary_format in binary_formats:
+            platforms.append(
+                "macosx_{major}_{minor}_{binary_format}".format(
+                    major=compat_version[0],
+                    minor=compat_version[1],
+                    binary_format=binary_format,
+                )
+            )
+    return platforms
+
+
+# From PEP 513.
+def _is_manylinux_compatible(name, glibc_version):
+    # Check for presence of _manylinux module.
+    try:
+        import _manylinux
+
+        return bool(getattr(_manylinux, name + "_compatible"))
+    except (ImportError, AttributeError):
+        # Fall through to heuristic check below.
+        pass
+
+    return _have_compatible_glibc(*glibc_version)
+
+
+def _glibc_version_string():
+    # Returns glibc version string, or None if not using glibc.
+    import ctypes
+
+    # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen
+    # manpage says, "If filename is NULL, then the returned handle is for the
+    # main program". This way we can let the linker do the work to figure out
+    # which libc our process is actually using.
+    process_namespace = ctypes.CDLL(None)
+    try:
+        gnu_get_libc_version = process_namespace.gnu_get_libc_version
+    except AttributeError:
+        # Symbol doesn't exist -> therefore, we are not linked to
+        # glibc.
+        return None
+
+    # Call gnu_get_libc_version, which returns a string like "2.5"
+    gnu_get_libc_version.restype = ctypes.c_char_p
+    version_str = gnu_get_libc_version()
+    # py2 / py3 compatibility:
+    if not isinstance(version_str, str):
+        version_str = version_str.decode("ascii")
+
+    return version_str
+
+
+# Separated out from have_compatible_glibc for easier unit testing.
+def _check_glibc_version(version_str, required_major, minimum_minor):
+    # Parse string and check against requested version.
+    #
+    # We use a regexp instead of str.split because we want to discard any
+    # random junk that might come after the minor version -- this might happen
+    # in patched/forked versions of glibc (e.g. Linaro's version of glibc
+    # uses version strings like "2.20-2014.11"). See gh-3588.
+    m = re.match(r"(?P<major>[0-9]+)\.(?P<minor>[0-9]+)", version_str)
+    if not m:
+        warnings.warn(
+            "Expected glibc version with 2 components major.minor,"
+            " got: %s" % version_str,
+            RuntimeWarning,
+        )
+        return False
+    return (
+        int(m.group("major")) == required_major
+        and int(m.group("minor")) >= minimum_minor
+    )
+
+
+def _have_compatible_glibc(required_major, minimum_minor):
+    version_str = _glibc_version_string()
+    if version_str is None:
+        return False
+    return _check_glibc_version(version_str, required_major, minimum_minor)
+
+
+def _linux_platforms(is_32bit=_32_BIT_INTERPRETER):
+    linux = _normalize_string(distutils.util.get_platform())
+    if linux == "linux_x86_64" and is_32bit:
+        linux = "linux_i686"
+    manylinux_support = (
+        ("manylinux2014", (2, 17)),  # CentOS 7 w/ glibc 2.17 (PEP 599)
+        ("manylinux2010", (2, 12)),  # CentOS 6 w/ glibc 2.12 (PEP 571)
+        ("manylinux1", (2, 5)),  # CentOS 5 w/ glibc 2.5 (PEP 513)
+    )
+    manylinux_support_iter = iter(manylinux_support)
+    for name, glibc_version in manylinux_support_iter:
+        if _is_manylinux_compatible(name, glibc_version):
+            platforms = [linux.replace("linux", name)]
+            break
+    else:
+        platforms = []
+    # Support for a later manylinux implies support for an earlier version.
+    platforms += [linux.replace("linux", name) for name, _ in manylinux_support_iter]
+    platforms.append(linux)
+    return platforms
+
+
+def _generic_platforms():
+    platform = _normalize_string(distutils.util.get_platform())
+    return [platform]
+
+
+def _interpreter_name():
+    name = platform.python_implementation().lower()
+    return INTERPRETER_SHORT_NAMES.get(name) or name
+
+
+def _generic_interpreter(name, py_version):
+    version = sysconfig.get_config_var("py_version_nodot")
+    if not version:
+        version = "".join(map(str, py_version[:2]))
+    return "{name}{version}".format(name=name, version=version)
+
+
+def sys_tags():
+    """
+    Returns the sequence of tag triples for the running interpreter.
+
+    The order of the sequence corresponds to priority order for the
+    interpreter, from most to least important.
+    """
+    py_version = sys.version_info[:2]
+    interpreter_name = _interpreter_name()
+    if platform.system() == "Darwin":
+        platforms = _mac_platforms()
+    elif platform.system() == "Linux":
+        platforms = _linux_platforms()
+    else:
+        platforms = _generic_platforms()
+
+    if interpreter_name == "cp":
+        interpreter = _cpython_interpreter(py_version)
+        abis = _cpython_abis(py_version)
+        for tag in _cpython_tags(py_version, interpreter, abis, platforms):
+            yield tag
+    elif interpreter_name == "pp":
+        interpreter = _pypy_interpreter()
+        abi = _generic_abi()
+        for tag in _pypy_tags(py_version, interpreter, abi, platforms):
+            yield tag
+    else:
+        interpreter = _generic_interpreter(interpreter_name, py_version)
+        abi = _generic_abi()
+        for tag in _generic_tags(interpreter, py_version, abi, platforms):
+            yield tag
+    for tag in _independent_tags(interpreter, py_version, platforms):
+        yield tag
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py
new file mode 100644
index 0000000..8841878
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py
@@ -0,0 +1,57 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import re
+
+from .version import InvalidVersion, Version
+
+
+_canonicalize_regex = re.compile(r"[-_.]+")
+
+
+def canonicalize_name(name):
+    # This is taken from PEP 503.
+    return _canonicalize_regex.sub("-", name).lower()
+
+
+def canonicalize_version(version):
+    """
+    This is very similar to Version.__str__, but has one subtle differences
+    with the way it handles the release segment.
+    """
+
+    try:
+        version = Version(version)
+    except InvalidVersion:
+        # Legacy versions cannot be normalized
+        return version
+
+    parts = []
+
+    # Epoch
+    if version.epoch != 0:
+        parts.append("{0}!".format(version.epoch))
+
+    # Release segment
+    # NB: This strips trailing '.0's to normalize
+    parts.append(re.sub(r"(\.0)+$", "", ".".join(str(x) for x in version.release)))
+
+    # Pre-release
+    if version.pre is not None:
+        parts.append("".join(str(x) for x in version.pre))
+
+    # Post-release
+    if version.post is not None:
+        parts.append(".post{0}".format(version.post))
+
+    # Development release
+    if version.dev is not None:
+        parts.append(".dev{0}".format(version.dev))
+
+    # Local version segment
+    if version.local is not None:
+        parts.append("+{0}".format(version.local))
+
+    return "".join(parts)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py
new file mode 100644
index 0000000..95157a1
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py
@@ -0,0 +1,420 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+from __future__ import absolute_import, division, print_function
+
+import collections
+import itertools
+import re
+
+from ._structures import Infinity
+
+
+__all__ = ["parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN"]
+
+
+_Version = collections.namedtuple(
+    "_Version", ["epoch", "release", "dev", "pre", "post", "local"]
+)
+
+
+def parse(version):
+    """
+    Parse the given version string and return either a :class:`Version` object
+    or a :class:`LegacyVersion` object depending on if the given version is
+    a valid PEP 440 version or a legacy version.
+    """
+    try:
+        return Version(version)
+    except InvalidVersion:
+        return LegacyVersion(version)
+
+
+class InvalidVersion(ValueError):
+    """
+    An invalid version was found, users should refer to PEP 440.
+    """
+
+
+class _BaseVersion(object):
+    def __hash__(self):
+        return hash(self._key)
+
+    def __lt__(self, other):
+        return self._compare(other, lambda s, o: s < o)
+
+    def __le__(self, other):
+        return self._compare(other, lambda s, o: s <= o)
+
+    def __eq__(self, other):
+        return self._compare(other, lambda s, o: s == o)
+
+    def __ge__(self, other):
+        return self._compare(other, lambda s, o: s >= o)
+
+    def __gt__(self, other):
+        return self._compare(other, lambda s, o: s > o)
+
+    def __ne__(self, other):
+        return self._compare(other, lambda s, o: s != o)
+
+    def _compare(self, other, method):
+        if not isinstance(other, _BaseVersion):
+            return NotImplemented
+
+        return method(self._key, other._key)
+
+
+class LegacyVersion(_BaseVersion):
+    def __init__(self, version):
+        self._version = str(version)
+        self._key = _legacy_cmpkey(self._version)
+
+    def __str__(self):
+        return self._version
+
+    def __repr__(self):
+        return "<LegacyVersion({0})>".format(repr(str(self)))
+
+    @property
+    def public(self):
+        return self._version
+
+    @property
+    def base_version(self):
+        return self._version
+
+    @property
+    def epoch(self):
+        return -1
+
+    @property
+    def release(self):
+        return None
+
+    @property
+    def pre(self):
+        return None
+
+    @property
+    def post(self):
+        return None
+
+    @property
+    def dev(self):
+        return None
+
+    @property
+    def local(self):
+        return None
+
+    @property
+    def is_prerelease(self):
+        return False
+
+    @property
+    def is_postrelease(self):
+        return False
+
+    @property
+    def is_devrelease(self):
+        return False
+
+
+_legacy_version_component_re = re.compile(r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE)
+
+_legacy_version_replacement_map = {
+    "pre": "c",
+    "preview": "c",
+    "-": "final-",
+    "rc": "c",
+    "dev": "@",
+}
+
+
+def _parse_version_parts(s):
+    for part in _legacy_version_component_re.split(s):
+        part = _legacy_version_replacement_map.get(part, part)
+
+        if not part or part == ".":
+            continue
+
+        if part[:1] in "0123456789":
+            # pad for numeric comparison
+            yield part.zfill(8)
+        else:
+            yield "*" + part
+
+    # ensure that alpha/beta/candidate are before final
+    yield "*final"
+
+
+def _legacy_cmpkey(version):
+    # We hardcode an epoch of -1 here. A PEP 440 version can only have a epoch
+    # greater than or equal to 0. This will effectively put the LegacyVersion,
+    # which uses the defacto standard originally implemented by setuptools,
+    # as before all PEP 440 versions.
+    epoch = -1
+
+    # This scheme is taken from pkg_resources.parse_version setuptools prior to
+    # it's adoption of the packaging library.
+    parts = []
+    for part in _parse_version_parts(version.lower()):
+        if part.startswith("*"):
+            # remove "-" before a prerelease tag
+            if part < "*final":
+                while parts and parts[-1] == "*final-":
+                    parts.pop()
+
+            # remove trailing zeros from each series of numeric parts
+            while parts and parts[-1] == "00000000":
+                parts.pop()
+
+        parts.append(part)
+    parts = tuple(parts)
+
+    return epoch, parts
+
+
+# Deliberately not anchored to the start and end of the string, to make it
+# easier for 3rd party code to reuse
+VERSION_PATTERN = r"""
+    v?
+    (?:
+        (?:(?P<epoch>[0-9]+)!)?                           # epoch
+        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
+        (?P<pre>                                          # pre-release
+            [-_\.]?
+            (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
+            [-_\.]?
+            (?P<pre_n>[0-9]+)?
+        )?
+        (?P<post>                                         # post release
+            (?:-(?P<post_n1>[0-9]+))
+            |
+            (?:
+                [-_\.]?
+                (?P<post_l>post|rev|r)
+                [-_\.]?
+                (?P<post_n2>[0-9]+)?
+            )
+        )?
+        (?P<dev>                                          # dev release
+            [-_\.]?
+            (?P<dev_l>dev)
+            [-_\.]?
+            (?P<dev_n>[0-9]+)?
+        )?
+    )
+    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
+"""
+
+
+class Version(_BaseVersion):
+
+    _regex = re.compile(r"^\s*" + VERSION_PATTERN + r"\s*$", re.VERBOSE | re.IGNORECASE)
+
+    def __init__(self, version):
+        # Validate the version and parse it into pieces
+        match = self._regex.search(version)
+        if not match:
+            raise InvalidVersion("Invalid version: '{0}'".format(version))
+
+        # Store the parsed out pieces of the version
+        self._version = _Version(
+            epoch=int(match.group("epoch")) if match.group("epoch") else 0,
+            release=tuple(int(i) for i in match.group("release").split(".")),
+            pre=_parse_letter_version(match.group("pre_l"), match.group("pre_n")),
+            post=_parse_letter_version(
+                match.group("post_l"), match.group("post_n1") or match.group("post_n2")
+            ),
+            dev=_parse_letter_version(match.group("dev_l"), match.group("dev_n")),
+            local=_parse_local_version(match.group("local")),
+        )
+
+        # Generate a key which will be used for sorting
+        self._key = _cmpkey(
+            self._version.epoch,
+            self._version.release,
+            self._version.pre,
+            self._version.post,
+            self._version.dev,
+            self._version.local,
+        )
+
+    def __repr__(self):
+        return "<Version({0})>".format(repr(str(self)))
+
+    def __str__(self):
+        parts = []
+
+        # Epoch
+        if self.epoch != 0:
+            parts.append("{0}!".format(self.epoch))
+
+        # Release segment
+        parts.append(".".join(str(x) for x in self.release))
+
+        # Pre-release
+        if self.pre is not None:
+            parts.append("".join(str(x) for x in self.pre))
+
+        # Post-release
+        if self.post is not None:
+            parts.append(".post{0}".format(self.post))
+
+        # Development release
+        if self.dev is not None:
+            parts.append(".dev{0}".format(self.dev))
+
+        # Local version segment
+        if self.local is not None:
+            parts.append("+{0}".format(self.local))
+
+        return "".join(parts)
+
+    @property
+    def epoch(self):
+        return self._version.epoch
+
+    @property
+    def release(self):
+        return self._version.release
+
+    @property
+    def pre(self):
+        return self._version.pre
+
+    @property
+    def post(self):
+        return self._version.post[1] if self._version.post else None
+
+    @property
+    def dev(self):
+        return self._version.dev[1] if self._version.dev else None
+
+    @property
+    def local(self):
+        if self._version.local:
+            return ".".join(str(x) for x in self._version.local)
+        else:
+            return None
+
+    @property
+    def public(self):
+        return str(self).split("+", 1)[0]
+
+    @property
+    def base_version(self):
+        parts = []
+
+        # Epoch
+        if self.epoch != 0:
+            parts.append("{0}!".format(self.epoch))
+
+        # Release segment
+        parts.append(".".join(str(x) for x in self.release))
+
+        return "".join(parts)
+
+    @property
+    def is_prerelease(self):
+        return self.dev is not None or self.pre is not None
+
+    @property
+    def is_postrelease(self):
+        return self.post is not None
+
+    @property
+    def is_devrelease(self):
+        return self.dev is not None
+
+
+def _parse_letter_version(letter, number):
+    if letter:
+        # We consider there to be an implicit 0 in a pre-release if there is
+        # not a numeral associated with it.
+        if number is None:
+            number = 0
+
+        # We normalize any letters to their lower case form
+        letter = letter.lower()
+
+        # We consider some words to be alternate spellings of other words and
+        # in those cases we want to normalize the spellings to our preferred
+        # spelling.
+        if letter == "alpha":
+            letter = "a"
+        elif letter == "beta":
+            letter = "b"
+        elif letter in ["c", "pre", "preview"]:
+            letter = "rc"
+        elif letter in ["rev", "r"]:
+            letter = "post"
+
+        return letter, int(number)
+    if not letter and number:
+        # We assume if we are given a number, but we are not given a letter
+        # then this is using the implicit post release syntax (e.g. 1.0-1)
+        letter = "post"
+
+        return letter, int(number)
+
+
+_local_version_separators = re.compile(r"[\._-]")
+
+
+def _parse_local_version(local):
+    """
+    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
+    """
+    if local is not None:
+        return tuple(
+            part.lower() if not part.isdigit() else int(part)
+            for part in _local_version_separators.split(local)
+        )
+
+
+def _cmpkey(epoch, release, pre, post, dev, local):
+    # When we compare a release version, we want to compare it with all of the
+    # trailing zeros removed. So we'll use a reverse the list, drop all the now
+    # leading zeros until we come to something non zero, then take the rest
+    # re-reverse it back into the correct order and make it a tuple and use
+    # that for our sorting key.
+    release = tuple(
+        reversed(list(itertools.dropwhile(lambda x: x == 0, reversed(release))))
+    )
+
+    # We need to "trick" the sorting algorithm to put 1.0.dev0 before 1.0a0.
+    # We'll do this by abusing the pre segment, but we _only_ want to do this
+    # if there is not a pre or a post segment. If we have one of those then
+    # the normal sorting rules will handle this case correctly.
+    if pre is None and post is None and dev is not None:
+        pre = -Infinity
+    # Versions without a pre-release (except as noted above) should sort after
+    # those with one.
+    elif pre is None:
+        pre = Infinity
+
+    # Versions without a post segment should sort before those with one.
+    if post is None:
+        post = -Infinity
+
+    # Versions without a development segment should sort after those with one.
+    if dev is None:
+        dev = Infinity
+
+    if local is None:
+        # Versions without a local segment should sort before those with one.
+        local = -Infinity
+    else:
+        # Versions with a local segment need that segment parsed to implement
+        # the sorting rules in PEP440.
+        # - Alpha numeric segments sort before numeric segments
+        # - Alpha numeric segments sort lexicographically
+        # - Numeric segments sort numerically
+        # - Shorter versions sort before longer versions when the prefixes
+        #   match exactly
+        local = tuple((i, "") if isinstance(i, int) else (-Infinity, i) for i in local)
+
+    return epoch, release, pre, post, dev, local
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py
new file mode 100644
index 0000000..cf75e1e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py
@@ -0,0 +1,5742 @@
+# module pyparsing.py
+#
+# Copyright (c) 2003-2018  Paul T. McGuire
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+__doc__ = \
+"""
+pyparsing module - Classes and methods to define and execute parsing grammars
+=============================================================================
+
+The pyparsing module is an alternative approach to creating and executing simple grammars,
+vs. the traditional lex/yacc approach, or the use of regular expressions.  With pyparsing, you
+don't need to learn a new syntax for defining grammars or matching expressions - the parsing module
+provides a library of classes that you use to construct the grammar directly in Python.
+
+Here is a program to parse "Hello, World!" (or any greeting of the form 
+C{"<salutation>, <addressee>!"}), built up using L{Word}, L{Literal}, and L{And} elements 
+(L{'+'<ParserElement.__add__>} operator gives L{And} expressions, strings are auto-converted to
+L{Literal} expressions)::
+
+    from pyparsing import Word, alphas
+
+    # define grammar of a greeting
+    greet = Word(alphas) + "," + Word(alphas) + "!"
+
+    hello = "Hello, World!"
+    print (hello, "->", greet.parseString(hello))
+
+The program outputs the following::
+
+    Hello, World! -> ['Hello', ',', 'World', '!']
+
+The Python representation of the grammar is quite readable, owing to the self-explanatory
+class names, and the use of '+', '|' and '^' operators.
+
+The L{ParseResults} object returned from L{ParserElement.parseString<ParserElement.parseString>} can be accessed as a nested list, a dictionary, or an
+object with named attributes.
+
+The pyparsing module handles some of the problems that are typically vexing when writing text parsers:
+ - extra or missing whitespace (the above program will also handle "Hello,World!", "Hello  ,  World  !", etc.)
+ - quoted strings
+ - embedded comments
+
+
+Getting Started -
+-----------------
+Visit the classes L{ParserElement} and L{ParseResults} to see the base classes that most other pyparsing
+classes inherit from. Use the docstrings for examples of how to:
+ - construct literal match expressions from L{Literal} and L{CaselessLiteral} classes
+ - construct character word-group expressions using the L{Word} class
+ - see how to create repetitive expressions using L{ZeroOrMore} and L{OneOrMore} classes
+ - use L{'+'<And>}, L{'|'<MatchFirst>}, L{'^'<Or>}, and L{'&'<Each>} operators to combine simple expressions into more complex ones
+ - associate names with your parsed results using L{ParserElement.setResultsName}
+ - find some helpful expression short-cuts like L{delimitedList} and L{oneOf}
+ - find more useful common expressions in the L{pyparsing_common} namespace class
+"""
+
+__version__ = "2.2.1"
+__versionTime__ = "18 Sep 2018 00:49 UTC"
+__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>"
+
+import string
+from weakref import ref as wkref
+import copy
+import sys
+import warnings
+import re
+import sre_constants
+import collections
+import pprint
+import traceback
+import types
+from datetime import datetime
+
+try:
+    from _thread import RLock
+except ImportError:
+    from threading import RLock
+
+try:
+    # Python 3
+    from collections.abc import Iterable
+    from collections.abc import MutableMapping
+except ImportError:
+    # Python 2.7
+    from collections import Iterable
+    from collections import MutableMapping
+
+try:
+    from collections import OrderedDict as _OrderedDict
+except ImportError:
+    try:
+        from ordereddict import OrderedDict as _OrderedDict
+    except ImportError:
+        _OrderedDict = None
+
+#~ sys.stderr.write( "testing pyparsing module, version %s, %s\n" % (__version__,__versionTime__ ) )
+
+__all__ = [
+'And', 'CaselessKeyword', 'CaselessLiteral', 'CharsNotIn', 'Combine', 'Dict', 'Each', 'Empty',
+'FollowedBy', 'Forward', 'GoToColumn', 'Group', 'Keyword', 'LineEnd', 'LineStart', 'Literal',
+'MatchFirst', 'NoMatch', 'NotAny', 'OneOrMore', 'OnlyOnce', 'Optional', 'Or',
+'ParseBaseException', 'ParseElementEnhance', 'ParseException', 'ParseExpression', 'ParseFatalException',
+'ParseResults', 'ParseSyntaxException', 'ParserElement', 'QuotedString', 'RecursiveGrammarException',
+'Regex', 'SkipTo', 'StringEnd', 'StringStart', 'Suppress', 'Token', 'TokenConverter', 
+'White', 'Word', 'WordEnd', 'WordStart', 'ZeroOrMore',
+'alphanums', 'alphas', 'alphas8bit', 'anyCloseTag', 'anyOpenTag', 'cStyleComment', 'col',
+'commaSeparatedList', 'commonHTMLEntity', 'countedArray', 'cppStyleComment', 'dblQuotedString',
+'dblSlashComment', 'delimitedList', 'dictOf', 'downcaseTokens', 'empty', 'hexnums',
+'htmlComment', 'javaStyleComment', 'line', 'lineEnd', 'lineStart', 'lineno',
+'makeHTMLTags', 'makeXMLTags', 'matchOnlyAtCol', 'matchPreviousExpr', 'matchPreviousLiteral',
+'nestedExpr', 'nullDebugAction', 'nums', 'oneOf', 'opAssoc', 'operatorPrecedence', 'printables',
+'punc8bit', 'pythonStyleComment', 'quotedString', 'removeQuotes', 'replaceHTMLEntity', 
+'replaceWith', 'restOfLine', 'sglQuotedString', 'srange', 'stringEnd',
+'stringStart', 'traceParseAction', 'unicodeString', 'upcaseTokens', 'withAttribute',
+'indentedBlock', 'originalTextFor', 'ungroup', 'infixNotation','locatedExpr', 'withClass',
+'CloseMatch', 'tokenMap', 'pyparsing_common',
+]
+
+system_version = tuple(sys.version_info)[:3]
+PY_3 = system_version[0] == 3
+if PY_3:
+    _MAX_INT = sys.maxsize
+    basestring = str
+    unichr = chr
+    _ustr = str
+
+    # build list of single arg builtins, that can be used as parse actions
+    singleArgBuiltins = [sum, len, sorted, reversed, list, tuple, set, any, all, min, max]
+
+else:
+    _MAX_INT = sys.maxint
+    range = xrange
+
+    def _ustr(obj):
+        """Drop-in replacement for str(obj) that tries to be Unicode friendly. It first tries
+           str(obj). If that fails with a UnicodeEncodeError, then it tries unicode(obj). It
+           then < returns the unicode object | encodes it with the default encoding | ... >.
+        """
+        if isinstance(obj,unicode):
+            return obj
+
+        try:
+            # If this works, then _ustr(obj) has the same behaviour as str(obj), so
+            # it won't break any existing code.
+            return str(obj)
+
+        except UnicodeEncodeError:
+            # Else encode it
+            ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace')
+            xmlcharref = Regex(r'&#\d+;')
+            xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:])
+            return xmlcharref.transformString(ret)
+
+    # build list of single arg builtins, tolerant of Python version, that can be used as parse actions
+    singleArgBuiltins = []
+    import __builtin__
+    for fname in "sum len sorted reversed list tuple set any all min max".split():
+        try:
+            singleArgBuiltins.append(getattr(__builtin__,fname))
+        except AttributeError:
+            continue
+            
+_generatorType = type((y for y in range(1)))
+ 
+def _xml_escape(data):
+    """Escape &, <, >, ", ', etc. in a string of data."""
+
+    # ampersand must be replaced first
+    from_symbols = '&><"\''
+    to_symbols = ('&'+s+';' for s in "amp gt lt quot apos".split())
+    for from_,to_ in zip(from_symbols, to_symbols):
+        data = data.replace(from_, to_)
+    return data
+
+class _Constants(object):
+    pass
+
+alphas     = string.ascii_uppercase + string.ascii_lowercase
+nums       = "0123456789"
+hexnums    = nums + "ABCDEFabcdef"
+alphanums  = alphas + nums
+_bslash    = chr(92)
+printables = "".join(c for c in string.printable if c not in string.whitespace)
+
+class ParseBaseException(Exception):
+    """base exception class for all parsing runtime exceptions"""
+    # Performance tuning: we construct a *lot* of these, so keep this
+    # constructor as small and fast as possible
+    def __init__( self, pstr, loc=0, msg=None, elem=None ):
+        self.loc = loc
+        if msg is None:
+            self.msg = pstr
+            self.pstr = ""
+        else:
+            self.msg = msg
+            self.pstr = pstr
+        self.parserElement = elem
+        self.args = (pstr, loc, msg)
+
+    @classmethod
+    def _from_exception(cls, pe):
+        """
+        internal factory method to simplify creating one type of ParseException 
+        from another - avoids having __init__ signature conflicts among subclasses
+        """
+        return cls(pe.pstr, pe.loc, pe.msg, pe.parserElement)
+
+    def __getattr__( self, aname ):
+        """supported attributes by name are:
+            - lineno - returns the line number of the exception text
+            - col - returns the column number of the exception text
+            - line - returns the line containing the exception text
+        """
+        if( aname == "lineno" ):
+            return lineno( self.loc, self.pstr )
+        elif( aname in ("col", "column") ):
+            return col( self.loc, self.pstr )
+        elif( aname == "line" ):
+            return line( self.loc, self.pstr )
+        else:
+            raise AttributeError(aname)
+
+    def __str__( self ):
+        return "%s (at char %d), (line:%d, col:%d)" % \
+                ( self.msg, self.loc, self.lineno, self.column )
+    def __repr__( self ):
+        return _ustr(self)
+    def markInputline( self, markerString = ">!<" ):
+        """Extracts the exception line from the input string, and marks
+           the location of the exception with a special symbol.
+        """
+        line_str = self.line
+        line_column = self.column - 1
+        if markerString:
+            line_str = "".join((line_str[:line_column],
+                                markerString, line_str[line_column:]))
+        return line_str.strip()
+    def __dir__(self):
+        return "lineno col line".split() + dir(type(self))
+
+class ParseException(ParseBaseException):
+    """
+    Exception thrown when parse expressions don't match class;
+    supported attributes by name are:
+     - lineno - returns the line number of the exception text
+     - col - returns the column number of the exception text
+     - line - returns the line containing the exception text
+        
+    Example::
+        try:
+            Word(nums).setName("integer").parseString("ABC")
+        except ParseException as pe:
+            print(pe)
+            print("column: {}".format(pe.col))
+            
+    prints::
+       Expected integer (at char 0), (line:1, col:1)
+        column: 1
+    """
+    pass
+
+class ParseFatalException(ParseBaseException):
+    """user-throwable exception thrown when inconsistent parse content
+       is found; stops all parsing immediately"""
+    pass
+
+class ParseSyntaxException(ParseFatalException):
+    """just like L{ParseFatalException}, but thrown internally when an
+       L{ErrorStop<And._ErrorStop>} ('-' operator) indicates that parsing is to stop 
+       immediately because an unbacktrackable syntax error has been found"""
+    pass
+
+#~ class ReparseException(ParseBaseException):
+    #~ """Experimental class - parse actions can raise this exception to cause
+       #~ pyparsing to reparse the input string:
+        #~ - with a modified input string, and/or
+        #~ - with a modified start location
+       #~ Set the values of the ReparseException in the constructor, and raise the
+       #~ exception in a parse action to cause pyparsing to use the new string/location.
+       #~ Setting the values as None causes no change to be made.
+       #~ """
+    #~ def __init_( self, newstring, restartLoc ):
+        #~ self.newParseText = newstring
+        #~ self.reparseLoc = restartLoc
+
+class RecursiveGrammarException(Exception):
+    """exception thrown by L{ParserElement.validate} if the grammar could be improperly recursive"""
+    def __init__( self, parseElementList ):
+        self.parseElementTrace = parseElementList
+
+    def __str__( self ):
+        return "RecursiveGrammarException: %s" % self.parseElementTrace
+
+class _ParseResultsWithOffset(object):
+    def __init__(self,p1,p2):
+        self.tup = (p1,p2)
+    def __getitem__(self,i):
+        return self.tup[i]
+    def __repr__(self):
+        return repr(self.tup[0])
+    def setOffset(self,i):
+        self.tup = (self.tup[0],i)
+
+class ParseResults(object):
+    """
+    Structured parse results, to provide multiple means of access to the parsed data:
+       - as a list (C{len(results)})
+       - by list index (C{results[0], results[1]}, etc.)
+       - by attribute (C{results.<resultsName>} - see L{ParserElement.setResultsName})
+
+    Example::
+        integer = Word(nums)
+        date_str = (integer.setResultsName("year") + '/' 
+                        + integer.setResultsName("month") + '/' 
+                        + integer.setResultsName("day"))
+        # equivalent form:
+        # date_str = integer("year") + '/' + integer("month") + '/' + integer("day")
+
+        # parseString returns a ParseResults object
+        result = date_str.parseString("1999/12/31")
+
+        def test(s, fn=repr):
+            print("%s -> %s" % (s, fn(eval(s))))
+        test("list(result)")
+        test("result[0]")
+        test("result['month']")
+        test("result.day")
+        test("'month' in result")
+        test("'minutes' in result")
+        test("result.dump()", str)
+    prints::
+        list(result) -> ['1999', '/', '12', '/', '31']
+        result[0] -> '1999'
+        result['month'] -> '12'
+        result.day -> '31'
+        'month' in result -> True
+        'minutes' in result -> False
+        result.dump() -> ['1999', '/', '12', '/', '31']
+        - day: 31
+        - month: 12
+        - year: 1999
+    """
+    def __new__(cls, toklist=None, name=None, asList=True, modal=True ):
+        if isinstance(toklist, cls):
+            return toklist
+        retobj = object.__new__(cls)
+        retobj.__doinit = True
+        return retobj
+
+    # Performance tuning: we construct a *lot* of these, so keep this
+    # constructor as small and fast as possible
+    def __init__( self, toklist=None, name=None, asList=True, modal=True, isinstance=isinstance ):
+        if self.__doinit:
+            self.__doinit = False
+            self.__name = None
+            self.__parent = None
+            self.__accumNames = {}
+            self.__asList = asList
+            self.__modal = modal
+            if toklist is None:
+                toklist = []
+            if isinstance(toklist, list):
+                self.__toklist = toklist[:]
+            elif isinstance(toklist, _generatorType):
+                self.__toklist = list(toklist)
+            else:
+                self.__toklist = [toklist]
+            self.__tokdict = dict()
+
+        if name is not None and name:
+            if not modal:
+                self.__accumNames[name] = 0
+            if isinstance(name,int):
+                name = _ustr(name) # will always return a str, but use _ustr for consistency
+            self.__name = name
+            if not (isinstance(toklist, (type(None), basestring, list)) and toklist in (None,'',[])):
+                if isinstance(toklist,basestring):
+                    toklist = [ toklist ]
+                if asList:
+                    if isinstance(toklist,ParseResults):
+                        self[name] = _ParseResultsWithOffset(toklist.copy(),0)
+                    else:
+                        self[name] = _ParseResultsWithOffset(ParseResults(toklist[0]),0)
+                    self[name].__name = name
+                else:
+                    try:
+                        self[name] = toklist[0]
+                    except (KeyError,TypeError,IndexError):
+                        self[name] = toklist
+
+    def __getitem__( self, i ):
+        if isinstance( i, (int,slice) ):
+            return self.__toklist[i]
+        else:
+            if i not in self.__accumNames:
+                return self.__tokdict[i][-1][0]
+            else:
+                return ParseResults([ v[0] for v in self.__tokdict[i] ])
+
+    def __setitem__( self, k, v, isinstance=isinstance ):
+        if isinstance(v,_ParseResultsWithOffset):
+            self.__tokdict[k] = self.__tokdict.get(k,list()) + [v]
+            sub = v[0]
+        elif isinstance(k,(int,slice)):
+            self.__toklist[k] = v
+            sub = v
+        else:
+            self.__tokdict[k] = self.__tokdict.get(k,list()) + [_ParseResultsWithOffset(v,0)]
+            sub = v
+        if isinstance(sub,ParseResults):
+            sub.__parent = wkref(self)
+
+    def __delitem__( self, i ):
+        if isinstance(i,(int,slice)):
+            mylen = len( self.__toklist )
+            del self.__toklist[i]
+
+            # convert int to slice
+            if isinstance(i, int):
+                if i < 0:
+                    i += mylen
+                i = slice(i, i+1)
+            # get removed indices
+            removed = list(range(*i.indices(mylen)))
+            removed.reverse()
+            # fixup indices in token dictionary
+            for name,occurrences in self.__tokdict.items():
+                for j in removed:
+                    for k, (value, position) in enumerate(occurrences):
+                        occurrences[k] = _ParseResultsWithOffset(value, position - (position > j))
+        else:
+            del self.__tokdict[i]
+
+    def __contains__( self, k ):
+        return k in self.__tokdict
+
+    def __len__( self ): return len( self.__toklist )
+    def __bool__(self): return ( not not self.__toklist )
+    __nonzero__ = __bool__
+    def __iter__( self ): return iter( self.__toklist )
+    def __reversed__( self ): return iter( self.__toklist[::-1] )
+    def _iterkeys( self ):
+        if hasattr(self.__tokdict, "iterkeys"):
+            return self.__tokdict.iterkeys()
+        else:
+            return iter(self.__tokdict)
+
+    def _itervalues( self ):
+        return (self[k] for k in self._iterkeys())
+            
+    def _iteritems( self ):
+        return ((k, self[k]) for k in self._iterkeys())
+
+    if PY_3:
+        keys = _iterkeys       
+        """Returns an iterator of all named result keys (Python 3.x only)."""
+
+        values = _itervalues
+        """Returns an iterator of all named result values (Python 3.x only)."""
+
+        items = _iteritems
+        """Returns an iterator of all named result key-value tuples (Python 3.x only)."""
+
+    else:
+        iterkeys = _iterkeys
+        """Returns an iterator of all named result keys (Python 2.x only)."""
+
+        itervalues = _itervalues
+        """Returns an iterator of all named result values (Python 2.x only)."""
+
+        iteritems = _iteritems
+        """Returns an iterator of all named result key-value tuples (Python 2.x only)."""
+
+        def keys( self ):
+            """Returns all named result keys (as a list in Python 2.x, as an iterator in Python 3.x)."""
+            return list(self.iterkeys())
+
+        def values( self ):
+            """Returns all named result values (as a list in Python 2.x, as an iterator in Python 3.x)."""
+            return list(self.itervalues())
+                
+        def items( self ):
+            """Returns all named result key-values (as a list of tuples in Python 2.x, as an iterator in Python 3.x)."""
+            return list(self.iteritems())
+
+    def haskeys( self ):
+        """Since keys() returns an iterator, this method is helpful in bypassing
+           code that looks for the existence of any defined results names."""
+        return bool(self.__tokdict)
+        
+    def pop( self, *args, **kwargs):
+        """
+        Removes and returns item at specified index (default=C{last}).
+        Supports both C{list} and C{dict} semantics for C{pop()}. If passed no
+        argument or an integer argument, it will use C{list} semantics
+        and pop tokens from the list of parsed tokens. If passed a 
+        non-integer argument (most likely a string), it will use C{dict}
+        semantics and pop the corresponding value from any defined 
+        results names. A second default return value argument is 
+        supported, just as in C{dict.pop()}.
+
+        Example::
+            def remove_first(tokens):
+                tokens.pop(0)
+            print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321']
+            print(OneOrMore(Word(nums)).addParseAction(remove_first).parseString("0 123 321")) # -> ['123', '321']
+
+            label = Word(alphas)
+            patt = label("LABEL") + OneOrMore(Word(nums))
+            print(patt.parseString("AAB 123 321").dump())
+
+            # Use pop() in a parse action to remove named result (note that corresponding value is not
+            # removed from list form of results)
+            def remove_LABEL(tokens):
+                tokens.pop("LABEL")
+                return tokens
+            patt.addParseAction(remove_LABEL)
+            print(patt.parseString("AAB 123 321").dump())
+        prints::
+            ['AAB', '123', '321']
+            - LABEL: AAB
+
+            ['AAB', '123', '321']
+        """
+        if not args:
+            args = [-1]
+        for k,v in kwargs.items():
+            if k == 'default':
+                args = (args[0], v)
+            else:
+                raise TypeError("pop() got an unexpected keyword argument '%s'" % k)
+        if (isinstance(args[0], int) or 
+                        len(args) == 1 or 
+                        args[0] in self):
+            index = args[0]
+            ret = self[index]
+            del self[index]
+            return ret
+        else:
+            defaultvalue = args[1]
+            return defaultvalue
+
+    def get(self, key, defaultValue=None):
+        """
+        Returns named result matching the given key, or if there is no
+        such name, then returns the given C{defaultValue} or C{None} if no
+        C{defaultValue} is specified.
+
+        Similar to C{dict.get()}.
+        
+        Example::
+            integer = Word(nums)
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")           
+
+            result = date_str.parseString("1999/12/31")
+            print(result.get("year")) # -> '1999'
+            print(result.get("hour", "not specified")) # -> 'not specified'
+            print(result.get("hour")) # -> None
+        """
+        if key in self:
+            return self[key]
+        else:
+            return defaultValue
+
+    def insert( self, index, insStr ):
+        """
+        Inserts new element at location index in the list of parsed tokens.
+        
+        Similar to C{list.insert()}.
+
+        Example::
+            print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321']
+
+            # use a parse action to insert the parse location in the front of the parsed results
+            def insert_locn(locn, tokens):
+                tokens.insert(0, locn)
+            print(OneOrMore(Word(nums)).addParseAction(insert_locn).parseString("0 123 321")) # -> [0, '0', '123', '321']
+        """
+        self.__toklist.insert(index, insStr)
+        # fixup indices in token dictionary
+        for name,occurrences in self.__tokdict.items():
+            for k, (value, position) in enumerate(occurrences):
+                occurrences[k] = _ParseResultsWithOffset(value, position + (position > index))
+
+    def append( self, item ):
+        """
+        Add single element to end of ParseResults list of elements.
+
+        Example::
+            print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321']
+            
+            # use a parse action to compute the sum of the parsed integers, and add it to the end
+            def append_sum(tokens):
+                tokens.append(sum(map(int, tokens)))
+            print(OneOrMore(Word(nums)).addParseAction(append_sum).parseString("0 123 321")) # -> ['0', '123', '321', 444]
+        """
+        self.__toklist.append(item)
+
+    def extend( self, itemseq ):
+        """
+        Add sequence of elements to end of ParseResults list of elements.
+
+        Example::
+            patt = OneOrMore(Word(alphas))
+            
+            # use a parse action to append the reverse of the matched strings, to make a palindrome
+            def make_palindrome(tokens):
+                tokens.extend(reversed([t[::-1] for t in tokens]))
+                return ''.join(tokens)
+            print(patt.addParseAction(make_palindrome).parseString("lskdj sdlkjf lksd")) # -> 'lskdjsdlkjflksddsklfjkldsjdksl'
+        """
+        if isinstance(itemseq, ParseResults):
+            self += itemseq
+        else:
+            self.__toklist.extend(itemseq)
+
+    def clear( self ):
+        """
+        Clear all elements and results names.
+        """
+        del self.__toklist[:]
+        self.__tokdict.clear()
+
+    def __getattr__( self, name ):
+        try:
+            return self[name]
+        except KeyError:
+            return ""
+            
+        if name in self.__tokdict:
+            if name not in self.__accumNames:
+                return self.__tokdict[name][-1][0]
+            else:
+                return ParseResults([ v[0] for v in self.__tokdict[name] ])
+        else:
+            return ""
+
+    def __add__( self, other ):
+        ret = self.copy()
+        ret += other
+        return ret
+
+    def __iadd__( self, other ):
+        if other.__tokdict:
+            offset = len(self.__toklist)
+            addoffset = lambda a: offset if a<0 else a+offset
+            otheritems = other.__tokdict.items()
+            otherdictitems = [(k, _ParseResultsWithOffset(v[0],addoffset(v[1])) )
+                                for (k,vlist) in otheritems for v in vlist]
+            for k,v in otherdictitems:
+                self[k] = v
+                if isinstance(v[0],ParseResults):
+                    v[0].__parent = wkref(self)
+            
+        self.__toklist += other.__toklist
+        self.__accumNames.update( other.__accumNames )
+        return self
+
+    def __radd__(self, other):
+        if isinstance(other,int) and other == 0:
+            # useful for merging many ParseResults using sum() builtin
+            return self.copy()
+        else:
+            # this may raise a TypeError - so be it
+            return other + self
+        
+    def __repr__( self ):
+        return "(%s, %s)" % ( repr( self.__toklist ), repr( self.__tokdict ) )
+
+    def __str__( self ):
+        return '[' + ', '.join(_ustr(i) if isinstance(i, ParseResults) else repr(i) for i in self.__toklist) + ']'
+
+    def _asStringList( self, sep='' ):
+        out = []
+        for item in self.__toklist:
+            if out and sep:
+                out.append(sep)
+            if isinstance( item, ParseResults ):
+                out += item._asStringList()
+            else:
+                out.append( _ustr(item) )
+        return out
+
+    def asList( self ):
+        """
+        Returns the parse results as a nested list of matching tokens, all converted to strings.
+
+        Example::
+            patt = OneOrMore(Word(alphas))
+            result = patt.parseString("sldkj lsdkj sldkj")
+            # even though the result prints in string-like form, it is actually a pyparsing ParseResults
+            print(type(result), result) # -> <class 'pyparsing.ParseResults'> ['sldkj', 'lsdkj', 'sldkj']
+            
+            # Use asList() to create an actual list
+            result_list = result.asList()
+            print(type(result_list), result_list) # -> <class 'list'> ['sldkj', 'lsdkj', 'sldkj']
+        """
+        return [res.asList() if isinstance(res,ParseResults) else res for res in self.__toklist]
+
+    def asDict( self ):
+        """
+        Returns the named parse results as a nested dictionary.
+
+        Example::
+            integer = Word(nums)
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")
+            
+            result = date_str.parseString('12/31/1999')
+            print(type(result), repr(result)) # -> <class 'pyparsing.ParseResults'> (['12', '/', '31', '/', '1999'], {'day': [('1999', 4)], 'year': [('12', 0)], 'month': [('31', 2)]})
+            
+            result_dict = result.asDict()
+            print(type(result_dict), repr(result_dict)) # -> <class 'dict'> {'day': '1999', 'year': '12', 'month': '31'}
+
+            # even though a ParseResults supports dict-like access, sometime you just need to have a dict
+            import json
+            print(json.dumps(result)) # -> Exception: TypeError: ... is not JSON serializable
+            print(json.dumps(result.asDict())) # -> {"month": "31", "day": "1999", "year": "12"}
+        """
+        if PY_3:
+            item_fn = self.items
+        else:
+            item_fn = self.iteritems
+            
+        def toItem(obj):
+            if isinstance(obj, ParseResults):
+                if obj.haskeys():
+                    return obj.asDict()
+                else:
+                    return [toItem(v) for v in obj]
+            else:
+                return obj
+                
+        return dict((k,toItem(v)) for k,v in item_fn())
+
+    def copy( self ):
+        """
+        Returns a new copy of a C{ParseResults} object.
+        """
+        ret = ParseResults( self.__toklist )
+        ret.__tokdict = self.__tokdict.copy()
+        ret.__parent = self.__parent
+        ret.__accumNames.update( self.__accumNames )
+        ret.__name = self.__name
+        return ret
+
+    def asXML( self, doctag=None, namedItemsOnly=False, indent="", formatted=True ):
+        """
+        (Deprecated) Returns the parse results as XML. Tags are created for tokens and lists that have defined results names.
+        """
+        nl = "\n"
+        out = []
+        namedItems = dict((v[1],k) for (k,vlist) in self.__tokdict.items()
+                                                            for v in vlist)
+        nextLevelIndent = indent + "  "
+
+        # collapse out indents if formatting is not desired
+        if not formatted:
+            indent = ""
+            nextLevelIndent = ""
+            nl = ""
+
+        selfTag = None
+        if doctag is not None:
+            selfTag = doctag
+        else:
+            if self.__name:
+                selfTag = self.__name
+
+        if not selfTag:
+            if namedItemsOnly:
+                return ""
+            else:
+                selfTag = "ITEM"
+
+        out += [ nl, indent, "<", selfTag, ">" ]
+
+        for i,res in enumerate(self.__toklist):
+            if isinstance(res,ParseResults):
+                if i in namedItems:
+                    out += [ res.asXML(namedItems[i],
+                                        namedItemsOnly and doctag is None,
+                                        nextLevelIndent,
+                                        formatted)]
+                else:
+                    out += [ res.asXML(None,
+                                        namedItemsOnly and doctag is None,
+                                        nextLevelIndent,
+                                        formatted)]
+            else:
+                # individual token, see if there is a name for it
+                resTag = None
+                if i in namedItems:
+                    resTag = namedItems[i]
+                if not resTag:
+                    if namedItemsOnly:
+                        continue
+                    else:
+                        resTag = "ITEM"
+                xmlBodyText = _xml_escape(_ustr(res))
+                out += [ nl, nextLevelIndent, "<", resTag, ">",
+                                                xmlBodyText,
+                                                "</", resTag, ">" ]
+
+        out += [ nl, indent, "</", selfTag, ">" ]
+        return "".join(out)
+
+    def __lookup(self,sub):
+        for k,vlist in self.__tokdict.items():
+            for v,loc in vlist:
+                if sub is v:
+                    return k
+        return None
+
+    def getName(self):
+        r"""
+        Returns the results name for this token expression. Useful when several 
+        different expressions might match at a particular location.
+
+        Example::
+            integer = Word(nums)
+            ssn_expr = Regex(r"\d\d\d-\d\d-\d\d\d\d")
+            house_number_expr = Suppress('#') + Word(nums, alphanums)
+            user_data = (Group(house_number_expr)("house_number") 
+                        | Group(ssn_expr)("ssn")
+                        | Group(integer)("age"))
+            user_info = OneOrMore(user_data)
+            
+            result = user_info.parseString("22 111-22-3333 #221B")
+            for item in result:
+                print(item.getName(), ':', item[0])
+        prints::
+            age : 22
+            ssn : 111-22-3333
+            house_number : 221B
+        """
+        if self.__name:
+            return self.__name
+        elif self.__parent:
+            par = self.__parent()
+            if par:
+                return par.__lookup(self)
+            else:
+                return None
+        elif (len(self) == 1 and
+               len(self.__tokdict) == 1 and
+               next(iter(self.__tokdict.values()))[0][1] in (0,-1)):
+            return next(iter(self.__tokdict.keys()))
+        else:
+            return None
+
+    def dump(self, indent='', depth=0, full=True):
+        """
+        Diagnostic method for listing out the contents of a C{ParseResults}.
+        Accepts an optional C{indent} argument so that this string can be embedded
+        in a nested display of other data.
+
+        Example::
+            integer = Word(nums)
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")
+            
+            result = date_str.parseString('12/31/1999')
+            print(result.dump())
+        prints::
+            ['12', '/', '31', '/', '1999']
+            - day: 1999
+            - month: 31
+            - year: 12
+        """
+        out = []
+        NL = '\n'
+        out.append( indent+_ustr(self.asList()) )
+        if full:
+            if self.haskeys():
+                items = sorted((str(k), v) for k,v in self.items())
+                for k,v in items:
+                    if out:
+                        out.append(NL)
+                    out.append( "%s%s- %s: " % (indent,('  '*depth), k) )
+                    if isinstance(v,ParseResults):
+                        if v:
+                            out.append( v.dump(indent,depth+1) )
+                        else:
+                            out.append(_ustr(v))
+                    else:
+                        out.append(repr(v))
+            elif any(isinstance(vv,ParseResults) for vv in self):
+                v = self
+                for i,vv in enumerate(v):
+                    if isinstance(vv,ParseResults):
+                        out.append("\n%s%s[%d]:\n%s%s%s" % (indent,('  '*(depth)),i,indent,('  '*(depth+1)),vv.dump(indent,depth+1) ))
+                    else:
+                        out.append("\n%s%s[%d]:\n%s%s%s" % (indent,('  '*(depth)),i,indent,('  '*(depth+1)),_ustr(vv)))
+            
+        return "".join(out)
+
+    def pprint(self, *args, **kwargs):
+        """
+        Pretty-printer for parsed results as a list, using the C{pprint} module.
+        Accepts additional positional or keyword args as defined for the 
+        C{pprint.pprint} method. (U{http://docs.python.org/3/library/pprint.html#pprint.pprint})
+
+        Example::
+            ident = Word(alphas, alphanums)
+            num = Word(nums)
+            func = Forward()
+            term = ident | num | Group('(' + func + ')')
+            func <<= ident + Group(Optional(delimitedList(term)))
+            result = func.parseString("fna a,b,(fnb c,d,200),100")
+            result.pprint(width=40)
+        prints::
+            ['fna',
+             ['a',
+              'b',
+              ['(', 'fnb', ['c', 'd', '200'], ')'],
+              '100']]
+        """
+        pprint.pprint(self.asList(), *args, **kwargs)
+
+    # add support for pickle protocol
+    def __getstate__(self):
+        return ( self.__toklist,
+                 ( self.__tokdict.copy(),
+                   self.__parent is not None and self.__parent() or None,
+                   self.__accumNames,
+                   self.__name ) )
+
+    def __setstate__(self,state):
+        self.__toklist = state[0]
+        (self.__tokdict,
+         par,
+         inAccumNames,
+         self.__name) = state[1]
+        self.__accumNames = {}
+        self.__accumNames.update(inAccumNames)
+        if par is not None:
+            self.__parent = wkref(par)
+        else:
+            self.__parent = None
+
+    def __getnewargs__(self):
+        return self.__toklist, self.__name, self.__asList, self.__modal
+
+    def __dir__(self):
+        return (dir(type(self)) + list(self.keys()))
+
+MutableMapping.register(ParseResults)
+
+def col (loc,strg):
+    """Returns current column within a string, counting newlines as line separators.
+   The first column is number 1.
+
+   Note: the default parsing behavior is to expand tabs in the input string
+   before starting the parsing process.  See L{I{ParserElement.parseString}<ParserElement.parseString>} for more information
+   on parsing strings containing C{<TAB>}s, and suggested methods to maintain a
+   consistent view of the parsed string, the parse location, and line and column
+   positions within the parsed string.
+   """
+    s = strg
+    return 1 if 0<loc<len(s) and s[loc-1] == '\n' else loc - s.rfind("\n", 0, loc)
+
+def lineno(loc,strg):
+    """Returns current line number within a string, counting newlines as line separators.
+   The first line is number 1.
+
+   Note: the default parsing behavior is to expand tabs in the input string
+   before starting the parsing process.  See L{I{ParserElement.parseString}<ParserElement.parseString>} for more information
+   on parsing strings containing C{<TAB>}s, and suggested methods to maintain a
+   consistent view of the parsed string, the parse location, and line and column
+   positions within the parsed string.
+   """
+    return strg.count("\n",0,loc) + 1
+
+def line( loc, strg ):
+    """Returns the line of text containing loc within a string, counting newlines as line separators.
+       """
+    lastCR = strg.rfind("\n", 0, loc)
+    nextCR = strg.find("\n", loc)
+    if nextCR >= 0:
+        return strg[lastCR+1:nextCR]
+    else:
+        return strg[lastCR+1:]
+
+def _defaultStartDebugAction( instring, loc, expr ):
+    print (("Match " + _ustr(expr) + " at loc " + _ustr(loc) + "(%d,%d)" % ( lineno(loc,instring), col(loc,instring) )))
+
+def _defaultSuccessDebugAction( instring, startloc, endloc, expr, toks ):
+    print ("Matched " + _ustr(expr) + " -> " + str(toks.asList()))
+
+def _defaultExceptionDebugAction( instring, loc, expr, exc ):
+    print ("Exception raised:" + _ustr(exc))
+
+def nullDebugAction(*args):
+    """'Do-nothing' debug action, to suppress debugging output during parsing."""
+    pass
+
+# Only works on Python 3.x - nonlocal is toxic to Python 2 installs
+#~ 'decorator to trim function calls to match the arity of the target'
+#~ def _trim_arity(func, maxargs=3):
+    #~ if func in singleArgBuiltins:
+        #~ return lambda s,l,t: func(t)
+    #~ limit = 0
+    #~ foundArity = False
+    #~ def wrapper(*args):
+        #~ nonlocal limit,foundArity
+        #~ while 1:
+            #~ try:
+                #~ ret = func(*args[limit:])
+                #~ foundArity = True
+                #~ return ret
+            #~ except TypeError:
+                #~ if limit == maxargs or foundArity:
+                    #~ raise
+                #~ limit += 1
+                #~ continue
+    #~ return wrapper
+
+# this version is Python 2.x-3.x cross-compatible
+'decorator to trim function calls to match the arity of the target'
+def _trim_arity(func, maxargs=2):
+    if func in singleArgBuiltins:
+        return lambda s,l,t: func(t)
+    limit = [0]
+    foundArity = [False]
+    
+    # traceback return data structure changed in Py3.5 - normalize back to plain tuples
+    if system_version[:2] >= (3,5):
+        def extract_stack(limit=0):
+            # special handling for Python 3.5.0 - extra deep call stack by 1
+            offset = -3 if system_version == (3,5,0) else -2
+            frame_summary = traceback.extract_stack(limit=-offset+limit-1)[offset]
+            return [frame_summary[:2]]
+        def extract_tb(tb, limit=0):
+            frames = traceback.extract_tb(tb, limit=limit)
+            frame_summary = frames[-1]
+            return [frame_summary[:2]]
+    else:
+        extract_stack = traceback.extract_stack
+        extract_tb = traceback.extract_tb
+    
+    # synthesize what would be returned by traceback.extract_stack at the call to 
+    # user's parse action 'func', so that we don't incur call penalty at parse time
+    
+    LINE_DIFF = 6
+    # IF ANY CODE CHANGES, EVEN JUST COMMENTS OR BLANK LINES, BETWEEN THE NEXT LINE AND 
+    # THE CALL TO FUNC INSIDE WRAPPER, LINE_DIFF MUST BE MODIFIED!!!!
+    this_line = extract_stack(limit=2)[-1]
+    pa_call_line_synth = (this_line[0], this_line[1]+LINE_DIFF)
+
+    def wrapper(*args):
+        while 1:
+            try:
+                ret = func(*args[limit[0]:])
+                foundArity[0] = True
+                return ret
+            except TypeError:
+                # re-raise TypeErrors if they did not come from our arity testing
+                if foundArity[0]:
+                    raise
+                else:
+                    try:
+                        tb = sys.exc_info()[-1]
+                        if not extract_tb(tb, limit=2)[-1][:2] == pa_call_line_synth:
+                            raise
+                    finally:
+                        del tb
+
+                if limit[0] <= maxargs:
+                    limit[0] += 1
+                    continue
+                raise
+
+    # copy func name to wrapper for sensible debug output
+    func_name = "<parse action>"
+    try:
+        func_name = getattr(func, '__name__', 
+                            getattr(func, '__class__').__name__)
+    except Exception:
+        func_name = str(func)
+    wrapper.__name__ = func_name
+
+    return wrapper
+
+class ParserElement(object):
+    """Abstract base level parser element class."""
+    DEFAULT_WHITE_CHARS = " \n\t\r"
+    verbose_stacktrace = False
+
+    @staticmethod
+    def setDefaultWhitespaceChars( chars ):
+        r"""
+        Overrides the default whitespace chars
+
+        Example::
+            # default whitespace chars are space, <TAB> and newline
+            OneOrMore(Word(alphas)).parseString("abc def\nghi jkl")  # -> ['abc', 'def', 'ghi', 'jkl']
+            
+            # change to just treat newline as significant
+            ParserElement.setDefaultWhitespaceChars(" \t")
+            OneOrMore(Word(alphas)).parseString("abc def\nghi jkl")  # -> ['abc', 'def']
+        """
+        ParserElement.DEFAULT_WHITE_CHARS = chars
+
+    @staticmethod
+    def inlineLiteralsUsing(cls):
+        """
+        Set class to be used for inclusion of string literals into a parser.
+        
+        Example::
+            # default literal class used is Literal
+            integer = Word(nums)
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")           
+
+            date_str.parseString("1999/12/31")  # -> ['1999', '/', '12', '/', '31']
+
+
+            # change to Suppress
+            ParserElement.inlineLiteralsUsing(Suppress)
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")           
+
+            date_str.parseString("1999/12/31")  # -> ['1999', '12', '31']
+        """
+        ParserElement._literalStringClass = cls
+
+    def __init__( self, savelist=False ):
+        self.parseAction = list()
+        self.failAction = None
+        #~ self.name = "<unknown>"  # don't define self.name, let subclasses try/except upcall
+        self.strRepr = None
+        self.resultsName = None
+        self.saveAsList = savelist
+        self.skipWhitespace = True
+        self.whiteChars = ParserElement.DEFAULT_WHITE_CHARS
+        self.copyDefaultWhiteChars = True
+        self.mayReturnEmpty = False # used when checking for left-recursion
+        self.keepTabs = False
+        self.ignoreExprs = list()
+        self.debug = False
+        self.streamlined = False
+        self.mayIndexError = True # used to optimize exception handling for subclasses that don't advance parse index
+        self.errmsg = ""
+        self.modalResults = True # used to mark results names as modal (report only last) or cumulative (list all)
+        self.debugActions = ( None, None, None ) #custom debug actions
+        self.re = None
+        self.callPreparse = True # used to avoid redundant calls to preParse
+        self.callDuringTry = False
+
+    def copy( self ):
+        """
+        Make a copy of this C{ParserElement}.  Useful for defining different parse actions
+        for the same parsing pattern, using copies of the original parse element.
+        
+        Example::
+            integer = Word(nums).setParseAction(lambda toks: int(toks[0]))
+            integerK = integer.copy().addParseAction(lambda toks: toks[0]*1024) + Suppress("K")
+            integerM = integer.copy().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M")
+            
+            print(OneOrMore(integerK | integerM | integer).parseString("5K 100 640K 256M"))
+        prints::
+            [5120, 100, 655360, 268435456]
+        Equivalent form of C{expr.copy()} is just C{expr()}::
+            integerM = integer().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M")
+        """
+        cpy = copy.copy( self )
+        cpy.parseAction = self.parseAction[:]
+        cpy.ignoreExprs = self.ignoreExprs[:]
+        if self.copyDefaultWhiteChars:
+            cpy.whiteChars = ParserElement.DEFAULT_WHITE_CHARS
+        return cpy
+
+    def setName( self, name ):
+        """
+        Define name for this expression, makes debugging and exception messages clearer.
+        
+        Example::
+            Word(nums).parseString("ABC")  # -> Exception: Expected W:(0123...) (at char 0), (line:1, col:1)
+            Word(nums).setName("integer").parseString("ABC")  # -> Exception: Expected integer (at char 0), (line:1, col:1)
+        """
+        self.name = name
+        self.errmsg = "Expected " + self.name
+        if hasattr(self,"exception"):
+            self.exception.msg = self.errmsg
+        return self
+
+    def setResultsName( self, name, listAllMatches=False ):
+        """
+        Define name for referencing matching tokens as a nested attribute
+        of the returned parse results.
+        NOTE: this returns a *copy* of the original C{ParserElement} object;
+        this is so that the client can define a basic element, such as an
+        integer, and reference it in multiple places with different names.
+
+        You can also set results names using the abbreviated syntax,
+        C{expr("name")} in place of C{expr.setResultsName("name")} - 
+        see L{I{__call__}<__call__>}.
+
+        Example::
+            date_str = (integer.setResultsName("year") + '/' 
+                        + integer.setResultsName("month") + '/' 
+                        + integer.setResultsName("day"))
+
+            # equivalent form:
+            date_str = integer("year") + '/' + integer("month") + '/' + integer("day")
+        """
+        newself = self.copy()
+        if name.endswith("*"):
+            name = name[:-1]
+            listAllMatches=True
+        newself.resultsName = name
+        newself.modalResults = not listAllMatches
+        return newself
+
+    def setBreak(self,breakFlag = True):
+        """Method to invoke the Python pdb debugger when this element is
+           about to be parsed. Set C{breakFlag} to True to enable, False to
+           disable.
+        """
+        if breakFlag:
+            _parseMethod = self._parse
+            def breaker(instring, loc, doActions=True, callPreParse=True):
+                import pdb
+                pdb.set_trace()
+                return _parseMethod( instring, loc, doActions, callPreParse )
+            breaker._originalParseMethod = _parseMethod
+            self._parse = breaker
+        else:
+            if hasattr(self._parse,"_originalParseMethod"):
+                self._parse = self._parse._originalParseMethod
+        return self
+
+    def setParseAction( self, *fns, **kwargs ):
+        """
+        Define one or more actions to perform when successfully matching parse element definition.
+        Parse action fn is a callable method with 0-3 arguments, called as C{fn(s,loc,toks)},
+        C{fn(loc,toks)}, C{fn(toks)}, or just C{fn()}, where:
+         - s   = the original string being parsed (see note below)
+         - loc = the location of the matching substring
+         - toks = a list of the matched tokens, packaged as a C{L{ParseResults}} object
+        If the functions in fns modify the tokens, they can return them as the return
+        value from fn, and the modified list of tokens will replace the original.
+        Otherwise, fn does not need to return any value.
+
+        Optional keyword arguments:
+         - callDuringTry = (default=C{False}) indicate if parse action should be run during lookaheads and alternate testing
+
+        Note: the default parsing behavior is to expand tabs in the input string
+        before starting the parsing process.  See L{I{parseString}<parseString>} for more information
+        on parsing strings containing C{<TAB>}s, and suggested methods to maintain a
+        consistent view of the parsed string, the parse location, and line and column
+        positions within the parsed string.
+        
+        Example::
+            integer = Word(nums)
+            date_str = integer + '/' + integer + '/' + integer
+
+            date_str.parseString("1999/12/31")  # -> ['1999', '/', '12', '/', '31']
+
+            # use parse action to convert to ints at parse time
+            integer = Word(nums).setParseAction(lambda toks: int(toks[0]))
+            date_str = integer + '/' + integer + '/' + integer
+
+            # note that integer fields are now ints, not strings
+            date_str.parseString("1999/12/31")  # -> [1999, '/', 12, '/', 31]
+        """
+        self.parseAction = list(map(_trim_arity, list(fns)))
+        self.callDuringTry = kwargs.get("callDuringTry", False)
+        return self
+
+    def addParseAction( self, *fns, **kwargs ):
+        """
+        Add one or more parse actions to expression's list of parse actions. See L{I{setParseAction}<setParseAction>}.
+        
+        See examples in L{I{copy}<copy>}.
+        """
+        self.parseAction += list(map(_trim_arity, list(fns)))
+        self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False)
+        return self
+
+    def addCondition(self, *fns, **kwargs):
+        """Add a boolean predicate function to expression's list of parse actions. See 
+        L{I{setParseAction}<setParseAction>} for function call signatures. Unlike C{setParseAction}, 
+        functions passed to C{addCondition} need to return boolean success/fail of the condition.
+
+        Optional keyword arguments:
+         - message = define a custom message to be used in the raised exception
+         - fatal   = if True, will raise ParseFatalException to stop parsing immediately; otherwise will raise ParseException
+         
+        Example::
+            integer = Word(nums).setParseAction(lambda toks: int(toks[0]))
+            year_int = integer.copy()
+            year_int.addCondition(lambda toks: toks[0] >= 2000, message="Only support years 2000 and later")
+            date_str = year_int + '/' + integer + '/' + integer
+
+            result = date_str.parseString("1999/12/31")  # -> Exception: Only support years 2000 and later (at char 0), (line:1, col:1)
+        """
+        msg = kwargs.get("message", "failed user-defined condition")
+        exc_type = ParseFatalException if kwargs.get("fatal", False) else ParseException
+        for fn in fns:
+            def pa(s,l,t):
+                if not bool(_trim_arity(fn)(s,l,t)):
+                    raise exc_type(s,l,msg)
+            self.parseAction.append(pa)
+        self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False)
+        return self
+
+    def setFailAction( self, fn ):
+        """Define action to perform if parsing fails at this expression.
+           Fail acton fn is a callable function that takes the arguments
+           C{fn(s,loc,expr,err)} where:
+            - s = string being parsed
+            - loc = location where expression match was attempted and failed
+            - expr = the parse expression that failed
+            - err = the exception thrown
+           The function returns no value.  It may throw C{L{ParseFatalException}}
+           if it is desired to stop parsing immediately."""
+        self.failAction = fn
+        return self
+
+    def _skipIgnorables( self, instring, loc ):
+        exprsFound = True
+        while exprsFound:
+            exprsFound = False
+            for e in self.ignoreExprs:
+                try:
+                    while 1:
+                        loc,dummy = e._parse( instring, loc )
+                        exprsFound = True
+                except ParseException:
+                    pass
+        return loc
+
+    def preParse( self, instring, loc ):
+        if self.ignoreExprs:
+            loc = self._skipIgnorables( instring, loc )
+
+        if self.skipWhitespace:
+            wt = self.whiteChars
+            instrlen = len(instring)
+            while loc < instrlen and instring[loc] in wt:
+                loc += 1
+
+        return loc
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        return loc, []
+
+    def postParse( self, instring, loc, tokenlist ):
+        return tokenlist
+
+    #~ @profile
+    def _parseNoCache( self, instring, loc, doActions=True, callPreParse=True ):
+        debugging = ( self.debug ) #and doActions )
+
+        if debugging or self.failAction:
+            #~ print ("Match",self,"at loc",loc,"(%d,%d)" % ( lineno(loc,instring), col(loc,instring) ))
+            if (self.debugActions[0] ):
+                self.debugActions[0]( instring, loc, self )
+            if callPreParse and self.callPreparse:
+                preloc = self.preParse( instring, loc )
+            else:
+                preloc = loc
+            tokensStart = preloc
+            try:
+                try:
+                    loc,tokens = self.parseImpl( instring, preloc, doActions )
+                except IndexError:
+                    raise ParseException( instring, len(instring), self.errmsg, self )
+            except ParseBaseException as err:
+                #~ print ("Exception raised:", err)
+                if self.debugActions[2]:
+                    self.debugActions[2]( instring, tokensStart, self, err )
+                if self.failAction:
+                    self.failAction( instring, tokensStart, self, err )
+                raise
+        else:
+            if callPreParse and self.callPreparse:
+                preloc = self.preParse( instring, loc )
+            else:
+                preloc = loc
+            tokensStart = preloc
+            if self.mayIndexError or preloc >= len(instring):
+                try:
+                    loc,tokens = self.parseImpl( instring, preloc, doActions )
+                except IndexError:
+                    raise ParseException( instring, len(instring), self.errmsg, self )
+            else:
+                loc,tokens = self.parseImpl( instring, preloc, doActions )
+
+        tokens = self.postParse( instring, loc, tokens )
+
+        retTokens = ParseResults( tokens, self.resultsName, asList=self.saveAsList, modal=self.modalResults )
+        if self.parseAction and (doActions or self.callDuringTry):
+            if debugging:
+                try:
+                    for fn in self.parseAction:
+                        tokens = fn( instring, tokensStart, retTokens )
+                        if tokens is not None:
+                            retTokens = ParseResults( tokens,
+                                                      self.resultsName,
+                                                      asList=self.saveAsList and isinstance(tokens,(ParseResults,list)),
+                                                      modal=self.modalResults )
+                except ParseBaseException as err:
+                    #~ print "Exception raised in user parse action:", err
+                    if (self.debugActions[2] ):
+                        self.debugActions[2]( instring, tokensStart, self, err )
+                    raise
+            else:
+                for fn in self.parseAction:
+                    tokens = fn( instring, tokensStart, retTokens )
+                    if tokens is not None:
+                        retTokens = ParseResults( tokens,
+                                                  self.resultsName,
+                                                  asList=self.saveAsList and isinstance(tokens,(ParseResults,list)),
+                                                  modal=self.modalResults )
+        if debugging:
+            #~ print ("Matched",self,"->",retTokens.asList())
+            if (self.debugActions[1] ):
+                self.debugActions[1]( instring, tokensStart, loc, self, retTokens )
+
+        return loc, retTokens
+
+    def tryParse( self, instring, loc ):
+        try:
+            return self._parse( instring, loc, doActions=False )[0]
+        except ParseFatalException:
+            raise ParseException( instring, loc, self.errmsg, self)
+    
+    def canParseNext(self, instring, loc):
+        try:
+            self.tryParse(instring, loc)
+        except (ParseException, IndexError):
+            return False
+        else:
+            return True
+
+    class _UnboundedCache(object):
+        def __init__(self):
+            cache = {}
+            self.not_in_cache = not_in_cache = object()
+
+            def get(self, key):
+                return cache.get(key, not_in_cache)
+
+            def set(self, key, value):
+                cache[key] = value
+
+            def clear(self):
+                cache.clear()
+                
+            def cache_len(self):
+                return len(cache)
+
+            self.get = types.MethodType(get, self)
+            self.set = types.MethodType(set, self)
+            self.clear = types.MethodType(clear, self)
+            self.__len__ = types.MethodType(cache_len, self)
+
+    if _OrderedDict is not None:
+        class _FifoCache(object):
+            def __init__(self, size):
+                self.not_in_cache = not_in_cache = object()
+
+                cache = _OrderedDict()
+
+                def get(self, key):
+                    return cache.get(key, not_in_cache)
+
+                def set(self, key, value):
+                    cache[key] = value
+                    while len(cache) > size:
+                        try:
+                            cache.popitem(False)
+                        except KeyError:
+                            pass
+
+                def clear(self):
+                    cache.clear()
+
+                def cache_len(self):
+                    return len(cache)
+
+                self.get = types.MethodType(get, self)
+                self.set = types.MethodType(set, self)
+                self.clear = types.MethodType(clear, self)
+                self.__len__ = types.MethodType(cache_len, self)
+
+    else:
+        class _FifoCache(object):
+            def __init__(self, size):
+                self.not_in_cache = not_in_cache = object()
+
+                cache = {}
+                key_fifo = collections.deque([], size)
+
+                def get(self, key):
+                    return cache.get(key, not_in_cache)
+
+                def set(self, key, value):
+                    cache[key] = value
+                    while len(key_fifo) > size:
+                        cache.pop(key_fifo.popleft(), None)
+                    key_fifo.append(key)
+
+                def clear(self):
+                    cache.clear()
+                    key_fifo.clear()
+
+                def cache_len(self):
+                    return len(cache)
+
+                self.get = types.MethodType(get, self)
+                self.set = types.MethodType(set, self)
+                self.clear = types.MethodType(clear, self)
+                self.__len__ = types.MethodType(cache_len, self)
+
+    # argument cache for optimizing repeated calls when backtracking through recursive expressions
+    packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail
+    packrat_cache_lock = RLock()
+    packrat_cache_stats = [0, 0]
+
+    # this method gets repeatedly called during backtracking with the same arguments -
+    # we can cache these arguments and save ourselves the trouble of re-parsing the contained expression
+    def _parseCache( self, instring, loc, doActions=True, callPreParse=True ):
+        HIT, MISS = 0, 1
+        lookup = (self, instring, loc, callPreParse, doActions)
+        with ParserElement.packrat_cache_lock:
+            cache = ParserElement.packrat_cache
+            value = cache.get(lookup)
+            if value is cache.not_in_cache:
+                ParserElement.packrat_cache_stats[MISS] += 1
+                try:
+                    value = self._parseNoCache(instring, loc, doActions, callPreParse)
+                except ParseBaseException as pe:
+                    # cache a copy of the exception, without the traceback
+                    cache.set(lookup, pe.__class__(*pe.args))
+                    raise
+                else:
+                    cache.set(lookup, (value[0], value[1].copy()))
+                    return value
+            else:
+                ParserElement.packrat_cache_stats[HIT] += 1
+                if isinstance(value, Exception):
+                    raise value
+                return (value[0], value[1].copy())
+
+    _parse = _parseNoCache
+
+    @staticmethod
+    def resetCache():
+        ParserElement.packrat_cache.clear()
+        ParserElement.packrat_cache_stats[:] = [0] * len(ParserElement.packrat_cache_stats)
+
+    _packratEnabled = False
+    @staticmethod
+    def enablePackrat(cache_size_limit=128):
+        """Enables "packrat" parsing, which adds memoizing to the parsing logic.
+           Repeated parse attempts at the same string location (which happens
+           often in many complex grammars) can immediately return a cached value,
+           instead of re-executing parsing/validating code.  Memoizing is done of
+           both valid results and parsing exceptions.
+           
+           Parameters:
+            - cache_size_limit - (default=C{128}) - if an integer value is provided
+              will limit the size of the packrat cache; if None is passed, then
+              the cache size will be unbounded; if 0 is passed, the cache will
+              be effectively disabled.
+            
+           This speedup may break existing programs that use parse actions that
+           have side-effects.  For this reason, packrat parsing is disabled when
+           you first import pyparsing.  To activate the packrat feature, your
+           program must call the class method C{ParserElement.enablePackrat()}.  If
+           your program uses C{psyco} to "compile as you go", you must call
+           C{enablePackrat} before calling C{psyco.full()}.  If you do not do this,
+           Python will crash.  For best results, call C{enablePackrat()} immediately
+           after importing pyparsing.
+           
+           Example::
+               import pyparsing
+               pyparsing.ParserElement.enablePackrat()
+        """
+        if not ParserElement._packratEnabled:
+            ParserElement._packratEnabled = True
+            if cache_size_limit is None:
+                ParserElement.packrat_cache = ParserElement._UnboundedCache()
+            else:
+                ParserElement.packrat_cache = ParserElement._FifoCache(cache_size_limit)
+            ParserElement._parse = ParserElement._parseCache
+
+    def parseString( self, instring, parseAll=False ):
+        """
+        Execute the parse expression with the given string.
+        This is the main interface to the client code, once the complete
+        expression has been built.
+
+        If you want the grammar to require that the entire input string be
+        successfully parsed, then set C{parseAll} to True (equivalent to ending
+        the grammar with C{L{StringEnd()}}).
+
+        Note: C{parseString} implicitly calls C{expandtabs()} on the input string,
+        in order to report proper column numbers in parse actions.
+        If the input string contains tabs and
+        the grammar uses parse actions that use the C{loc} argument to index into the
+        string being parsed, you can ensure you have a consistent view of the input
+        string by:
+         - calling C{parseWithTabs} on your grammar before calling C{parseString}
+           (see L{I{parseWithTabs}<parseWithTabs>})
+         - define your parse action using the full C{(s,loc,toks)} signature, and
+           reference the input string using the parse action's C{s} argument
+         - explictly expand the tabs in your input string before calling
+           C{parseString}
+        
+        Example::
+            Word('a').parseString('aaaaabaaa')  # -> ['aaaaa']
+            Word('a').parseString('aaaaabaaa', parseAll=True)  # -> Exception: Expected end of text
+        """
+        ParserElement.resetCache()
+        if not self.streamlined:
+            self.streamline()
+            #~ self.saveAsList = True
+        for e in self.ignoreExprs:
+            e.streamline()
+        if not self.keepTabs:
+            instring = instring.expandtabs()
+        try:
+            loc, tokens = self._parse( instring, 0 )
+            if parseAll:
+                loc = self.preParse( instring, loc )
+                se = Empty() + StringEnd()
+                se._parse( instring, loc )
+        except ParseBaseException as exc:
+            if ParserElement.verbose_stacktrace:
+                raise
+            else:
+                # catch and re-raise exception from here, clears out pyparsing internal stack trace
+                raise exc
+        else:
+            return tokens
+
+    def scanString( self, instring, maxMatches=_MAX_INT, overlap=False ):
+        """
+        Scan the input string for expression matches.  Each match will return the
+        matching tokens, start location, and end location.  May be called with optional
+        C{maxMatches} argument, to clip scanning after 'n' matches are found.  If
+        C{overlap} is specified, then overlapping matches will be reported.
+
+        Note that the start and end locations are reported relative to the string
+        being parsed.  See L{I{parseString}<parseString>} for more information on parsing
+        strings with embedded tabs.
+
+        Example::
+            source = "sldjf123lsdjjkf345sldkjf879lkjsfd987"
+            print(source)
+            for tokens,start,end in Word(alphas).scanString(source):
+                print(' '*start + '^'*(end-start))
+                print(' '*start + tokens[0])
+        
+        prints::
+        
+            sldjf123lsdjjkf345sldkjf879lkjsfd987
+            ^^^^^
+            sldjf
+                    ^^^^^^^
+                    lsdjjkf
+                              ^^^^^^
+                              sldkjf
+                                       ^^^^^^
+                                       lkjsfd
+        """
+        if not self.streamlined:
+            self.streamline()
+        for e in self.ignoreExprs:
+            e.streamline()
+
+        if not self.keepTabs:
+            instring = _ustr(instring).expandtabs()
+        instrlen = len(instring)
+        loc = 0
+        preparseFn = self.preParse
+        parseFn = self._parse
+        ParserElement.resetCache()
+        matches = 0
+        try:
+            while loc <= instrlen and matches < maxMatches:
+                try:
+                    preloc = preparseFn( instring, loc )
+                    nextLoc,tokens = parseFn( instring, preloc, callPreParse=False )
+                except ParseException:
+                    loc = preloc+1
+                else:
+                    if nextLoc > loc:
+                        matches += 1
+                        yield tokens, preloc, nextLoc
+                        if overlap:
+                            nextloc = preparseFn( instring, loc )
+                            if nextloc > loc:
+                                loc = nextLoc
+                            else:
+                                loc += 1
+                        else:
+                            loc = nextLoc
+                    else:
+                        loc = preloc+1
+        except ParseBaseException as exc:
+            if ParserElement.verbose_stacktrace:
+                raise
+            else:
+                # catch and re-raise exception from here, clears out pyparsing internal stack trace
+                raise exc
+
+    def transformString( self, instring ):
+        """
+        Extension to C{L{scanString}}, to modify matching text with modified tokens that may
+        be returned from a parse action.  To use C{transformString}, define a grammar and
+        attach a parse action to it that modifies the returned token list.
+        Invoking C{transformString()} on a target string will then scan for matches,
+        and replace the matched text patterns according to the logic in the parse
+        action.  C{transformString()} returns the resulting transformed string.
+        
+        Example::
+            wd = Word(alphas)
+            wd.setParseAction(lambda toks: toks[0].title())
+            
+            print(wd.transformString("now is the winter of our discontent made glorious summer by this sun of york."))
+        Prints::
+            Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York.
+        """
+        out = []
+        lastE = 0
+        # force preservation of <TAB>s, to minimize unwanted transformation of string, and to
+        # keep string locs straight between transformString and scanString
+        self.keepTabs = True
+        try:
+            for t,s,e in self.scanString( instring ):
+                out.append( instring[lastE:s] )
+                if t:
+                    if isinstance(t,ParseResults):
+                        out += t.asList()
+                    elif isinstance(t,list):
+                        out += t
+                    else:
+                        out.append(t)
+                lastE = e
+            out.append(instring[lastE:])
+            out = [o for o in out if o]
+            return "".join(map(_ustr,_flatten(out)))
+        except ParseBaseException as exc:
+            if ParserElement.verbose_stacktrace:
+                raise
+            else:
+                # catch and re-raise exception from here, clears out pyparsing internal stack trace
+                raise exc
+
+    def searchString( self, instring, maxMatches=_MAX_INT ):
+        """
+        Another extension to C{L{scanString}}, simplifying the access to the tokens found
+        to match the given parse expression.  May be called with optional
+        C{maxMatches} argument, to clip searching after 'n' matches are found.
+        
+        Example::
+            # a capitalized word starts with an uppercase letter, followed by zero or more lowercase letters
+            cap_word = Word(alphas.upper(), alphas.lower())
+            
+            print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity"))
+
+            # the sum() builtin can be used to merge results into a single ParseResults object
+            print(sum(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")))
+        prints::
+            [['More'], ['Iron'], ['Lead'], ['Gold'], ['I'], ['Electricity']]
+            ['More', 'Iron', 'Lead', 'Gold', 'I', 'Electricity']
+        """
+        try:
+            return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ])
+        except ParseBaseException as exc:
+            if ParserElement.verbose_stacktrace:
+                raise
+            else:
+                # catch and re-raise exception from here, clears out pyparsing internal stack trace
+                raise exc
+
+    def split(self, instring, maxsplit=_MAX_INT, includeSeparators=False):
+        """
+        Generator method to split a string using the given expression as a separator.
+        May be called with optional C{maxsplit} argument, to limit the number of splits;
+        and the optional C{includeSeparators} argument (default=C{False}), if the separating
+        matching text should be included in the split results.
+        
+        Example::        
+            punc = oneOf(list(".,;:/-!?"))
+            print(list(punc.split("This, this?, this sentence, is badly punctuated!")))
+        prints::
+            ['This', ' this', '', ' this sentence', ' is badly punctuated', '']
+        """
+        splits = 0
+        last = 0
+        for t,s,e in self.scanString(instring, maxMatches=maxsplit):
+            yield instring[last:s]
+            if includeSeparators:
+                yield t[0]
+            last = e
+        yield instring[last:]
+
+    def __add__(self, other ):
+        """
+        Implementation of + operator - returns C{L{And}}. Adding strings to a ParserElement
+        converts them to L{Literal}s by default.
+        
+        Example::
+            greet = Word(alphas) + "," + Word(alphas) + "!"
+            hello = "Hello, World!"
+            print (hello, "->", greet.parseString(hello))
+        Prints::
+            Hello, World! -> ['Hello', ',', 'World', '!']
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return And( [ self, other ] )
+
+    def __radd__(self, other ):
+        """
+        Implementation of + operator when left operand is not a C{L{ParserElement}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return other + self
+
+    def __sub__(self, other):
+        """
+        Implementation of - operator, returns C{L{And}} with error stop
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return self + And._ErrorStop() + other
+
+    def __rsub__(self, other ):
+        """
+        Implementation of - operator when left operand is not a C{L{ParserElement}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return other - self
+
+    def __mul__(self,other):
+        """
+        Implementation of * operator, allows use of C{expr * 3} in place of
+        C{expr + expr + expr}.  Expressions may also me multiplied by a 2-integer
+        tuple, similar to C{{min,max}} multipliers in regular expressions.  Tuples
+        may also include C{None} as in:
+         - C{expr*(n,None)} or C{expr*(n,)} is equivalent
+              to C{expr*n + L{ZeroOrMore}(expr)}
+              (read as "at least n instances of C{expr}")
+         - C{expr*(None,n)} is equivalent to C{expr*(0,n)}
+              (read as "0 to n instances of C{expr}")
+         - C{expr*(None,None)} is equivalent to C{L{ZeroOrMore}(expr)}
+         - C{expr*(1,None)} is equivalent to C{L{OneOrMore}(expr)}
+
+        Note that C{expr*(None,n)} does not raise an exception if
+        more than n exprs exist in the input stream; that is,
+        C{expr*(None,n)} does not enforce a maximum number of expr
+        occurrences.  If this behavior is desired, then write
+        C{expr*(None,n) + ~expr}
+        """
+        if isinstance(other,int):
+            minElements, optElements = other,0
+        elif isinstance(other,tuple):
+            other = (other + (None, None))[:2]
+            if other[0] is None:
+                other = (0, other[1])
+            if isinstance(other[0],int) and other[1] is None:
+                if other[0] == 0:
+                    return ZeroOrMore(self)
+                if other[0] == 1:
+                    return OneOrMore(self)
+                else:
+                    return self*other[0] + ZeroOrMore(self)
+            elif isinstance(other[0],int) and isinstance(other[1],int):
+                minElements, optElements = other
+                optElements -= minElements
+            else:
+                raise TypeError("cannot multiply 'ParserElement' and ('%s','%s') objects", type(other[0]),type(other[1]))
+        else:
+            raise TypeError("cannot multiply 'ParserElement' and '%s' objects", type(other))
+
+        if minElements < 0:
+            raise ValueError("cannot multiply ParserElement by negative value")
+        if optElements < 0:
+            raise ValueError("second tuple value must be greater or equal to first tuple value")
+        if minElements == optElements == 0:
+            raise ValueError("cannot multiply ParserElement by 0 or (0,0)")
+
+        if (optElements):
+            def makeOptionalList(n):
+                if n>1:
+                    return Optional(self + makeOptionalList(n-1))
+                else:
+                    return Optional(self)
+            if minElements:
+                if minElements == 1:
+                    ret = self + makeOptionalList(optElements)
+                else:
+                    ret = And([self]*minElements) + makeOptionalList(optElements)
+            else:
+                ret = makeOptionalList(optElements)
+        else:
+            if minElements == 1:
+                ret = self
+            else:
+                ret = And([self]*minElements)
+        return ret
+
+    def __rmul__(self, other):
+        return self.__mul__(other)
+
+    def __or__(self, other ):
+        """
+        Implementation of | operator - returns C{L{MatchFirst}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return MatchFirst( [ self, other ] )
+
+    def __ror__(self, other ):
+        """
+        Implementation of | operator when left operand is not a C{L{ParserElement}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return other | self
+
+    def __xor__(self, other ):
+        """
+        Implementation of ^ operator - returns C{L{Or}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return Or( [ self, other ] )
+
+    def __rxor__(self, other ):
+        """
+        Implementation of ^ operator when left operand is not a C{L{ParserElement}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return other ^ self
+
+    def __and__(self, other ):
+        """
+        Implementation of & operator - returns C{L{Each}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return Each( [ self, other ] )
+
+    def __rand__(self, other ):
+        """
+        Implementation of & operator when left operand is not a C{L{ParserElement}}
+        """
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        if not isinstance( other, ParserElement ):
+            warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
+                    SyntaxWarning, stacklevel=2)
+            return None
+        return other & self
+
+    def __invert__( self ):
+        """
+        Implementation of ~ operator - returns C{L{NotAny}}
+        """
+        return NotAny( self )
+
+    def __call__(self, name=None):
+        """
+        Shortcut for C{L{setResultsName}}, with C{listAllMatches=False}.
+        
+        If C{name} is given with a trailing C{'*'} character, then C{listAllMatches} will be
+        passed as C{True}.
+           
+        If C{name} is omitted, same as calling C{L{copy}}.
+
+        Example::
+            # these are equivalent
+            userdata = Word(alphas).setResultsName("name") + Word(nums+"-").setResultsName("socsecno")
+            userdata = Word(alphas)("name") + Word(nums+"-")("socsecno")             
+        """
+        if name is not None:
+            return self.setResultsName(name)
+        else:
+            return self.copy()
+
+    def suppress( self ):
+        """
+        Suppresses the output of this C{ParserElement}; useful to keep punctuation from
+        cluttering up returned output.
+        """
+        return Suppress( self )
+
+    def leaveWhitespace( self ):
+        """
+        Disables the skipping of whitespace before matching the characters in the
+        C{ParserElement}'s defined pattern.  This is normally only used internally by
+        the pyparsing module, but may be needed in some whitespace-sensitive grammars.
+        """
+        self.skipWhitespace = False
+        return self
+
+    def setWhitespaceChars( self, chars ):
+        """
+        Overrides the default whitespace chars
+        """
+        self.skipWhitespace = True
+        self.whiteChars = chars
+        self.copyDefaultWhiteChars = False
+        return self
+
+    def parseWithTabs( self ):
+        """
+        Overrides default behavior to expand C{<TAB>}s to spaces before parsing the input string.
+        Must be called before C{parseString} when the input grammar contains elements that
+        match C{<TAB>} characters.
+        """
+        self.keepTabs = True
+        return self
+
+    def ignore( self, other ):
+        """
+        Define expression to be ignored (e.g., comments) while doing pattern
+        matching; may be called repeatedly, to define multiple comment or other
+        ignorable patterns.
+        
+        Example::
+            patt = OneOrMore(Word(alphas))
+            patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj']
+            
+            patt.ignore(cStyleComment)
+            patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj', 'lskjd']
+        """
+        if isinstance(other, basestring):
+            other = Suppress(other)
+
+        if isinstance( other, Suppress ):
+            if other not in self.ignoreExprs:
+                self.ignoreExprs.append(other)
+        else:
+            self.ignoreExprs.append( Suppress( other.copy() ) )
+        return self
+
+    def setDebugActions( self, startAction, successAction, exceptionAction ):
+        """
+        Enable display of debugging messages while doing pattern matching.
+        """
+        self.debugActions = (startAction or _defaultStartDebugAction,
+                             successAction or _defaultSuccessDebugAction,
+                             exceptionAction or _defaultExceptionDebugAction)
+        self.debug = True
+        return self
+
+    def setDebug( self, flag=True ):
+        """
+        Enable display of debugging messages while doing pattern matching.
+        Set C{flag} to True to enable, False to disable.
+
+        Example::
+            wd = Word(alphas).setName("alphaword")
+            integer = Word(nums).setName("numword")
+            term = wd | integer
+            
+            # turn on debugging for wd
+            wd.setDebug()
+
+            OneOrMore(term).parseString("abc 123 xyz 890")
+        
+        prints::
+            Match alphaword at loc 0(1,1)
+            Matched alphaword -> ['abc']
+            Match alphaword at loc 3(1,4)
+            Exception raised:Expected alphaword (at char 4), (line:1, col:5)
+            Match alphaword at loc 7(1,8)
+            Matched alphaword -> ['xyz']
+            Match alphaword at loc 11(1,12)
+            Exception raised:Expected alphaword (at char 12), (line:1, col:13)
+            Match alphaword at loc 15(1,16)
+            Exception raised:Expected alphaword (at char 15), (line:1, col:16)
+
+        The output shown is that produced by the default debug actions - custom debug actions can be
+        specified using L{setDebugActions}. Prior to attempting
+        to match the C{wd} expression, the debugging message C{"Match <exprname> at loc <n>(<line>,<col>)"}
+        is shown. Then if the parse succeeds, a C{"Matched"} message is shown, or an C{"Exception raised"}
+        message is shown. Also note the use of L{setName} to assign a human-readable name to the expression,
+        which makes debugging and exception messages easier to understand - for instance, the default
+        name created for the C{Word} expression without calling C{setName} is C{"W:(ABCD...)"}.
+        """
+        if flag:
+            self.setDebugActions( _defaultStartDebugAction, _defaultSuccessDebugAction, _defaultExceptionDebugAction )
+        else:
+            self.debug = False
+        return self
+
+    def __str__( self ):
+        return self.name
+
+    def __repr__( self ):
+        return _ustr(self)
+
+    def streamline( self ):
+        self.streamlined = True
+        self.strRepr = None
+        return self
+
+    def checkRecursion( self, parseElementList ):
+        pass
+
+    def validate( self, validateTrace=[] ):
+        """
+        Check defined expressions for valid structure, check for infinite recursive definitions.
+        """
+        self.checkRecursion( [] )
+
+    def parseFile( self, file_or_filename, parseAll=False ):
+        """
+        Execute the parse expression on the given file or filename.
+        If a filename is specified (instead of a file object),
+        the entire file is opened, read, and closed before parsing.
+        """
+        try:
+            file_contents = file_or_filename.read()
+        except AttributeError:
+            with open(file_or_filename, "r") as f:
+                file_contents = f.read()
+        try:
+            return self.parseString(file_contents, parseAll)
+        except ParseBaseException as exc:
+            if ParserElement.verbose_stacktrace:
+                raise
+            else:
+                # catch and re-raise exception from here, clears out pyparsing internal stack trace
+                raise exc
+
+    def __eq__(self,other):
+        if isinstance(other, ParserElement):
+            return self is other or vars(self) == vars(other)
+        elif isinstance(other, basestring):
+            return self.matches(other)
+        else:
+            return super(ParserElement,self)==other
+
+    def __ne__(self,other):
+        return not (self == other)
+
+    def __hash__(self):
+        return hash(id(self))
+
+    def __req__(self,other):
+        return self == other
+
+    def __rne__(self,other):
+        return not (self == other)
+
+    def matches(self, testString, parseAll=True):
+        """
+        Method for quick testing of a parser against a test string. Good for simple 
+        inline microtests of sub expressions while building up larger parser.
+           
+        Parameters:
+         - testString - to test against this expression for a match
+         - parseAll - (default=C{True}) - flag to pass to C{L{parseString}} when running tests
+            
+        Example::
+            expr = Word(nums)
+            assert expr.matches("100")
+        """
+        try:
+            self.parseString(_ustr(testString), parseAll=parseAll)
+            return True
+        except ParseBaseException:
+            return False
+                
+    def runTests(self, tests, parseAll=True, comment='#', fullDump=True, printResults=True, failureTests=False):
+        """
+        Execute the parse expression on a series of test strings, showing each
+        test, the parsed results or where the parse failed. Quick and easy way to
+        run a parse expression against a list of sample strings.
+           
+        Parameters:
+         - tests - a list of separate test strings, or a multiline string of test strings
+         - parseAll - (default=C{True}) - flag to pass to C{L{parseString}} when running tests           
+         - comment - (default=C{'#'}) - expression for indicating embedded comments in the test 
+              string; pass None to disable comment filtering
+         - fullDump - (default=C{True}) - dump results as list followed by results names in nested outline;
+              if False, only dump nested list
+         - printResults - (default=C{True}) prints test output to stdout
+         - failureTests - (default=C{False}) indicates if these tests are expected to fail parsing
+
+        Returns: a (success, results) tuple, where success indicates that all tests succeeded
+        (or failed if C{failureTests} is True), and the results contain a list of lines of each 
+        test's output
+        
+        Example::
+            number_expr = pyparsing_common.number.copy()
+
+            result = number_expr.runTests('''
+                # unsigned integer
+                100
+                # negative integer
+                -100
+                # float with scientific notation
+                6.02e23
+                # integer with scientific notation
+                1e-12
+                ''')
+            print("Success" if result[0] else "Failed!")
+
+            result = number_expr.runTests('''
+                # stray character
+                100Z
+                # missing leading digit before '.'
+                -.100
+                # too many '.'
+                3.14.159
+                ''', failureTests=True)
+            print("Success" if result[0] else "Failed!")
+        prints::
+            # unsigned integer
+            100
+            [100]
+
+            # negative integer
+            -100
+            [-100]
+
+            # float with scientific notation
+            6.02e23
+            [6.02e+23]
+
+            # integer with scientific notation
+            1e-12
+            [1e-12]
+
+            Success
+            
+            # stray character
+            100Z
+               ^
+            FAIL: Expected end of text (at char 3), (line:1, col:4)
+
+            # missing leading digit before '.'
+            -.100
+            ^
+            FAIL: Expected {real number with scientific notation | real number | signed integer} (at char 0), (line:1, col:1)
+
+            # too many '.'
+            3.14.159
+                ^
+            FAIL: Expected end of text (at char 4), (line:1, col:5)
+
+            Success
+
+        Each test string must be on a single line. If you want to test a string that spans multiple
+        lines, create a test like this::
+
+            expr.runTest(r"this is a test\\n of strings that spans \\n 3 lines")
+        
+        (Note that this is a raw string literal, you must include the leading 'r'.)
+        """
+        if isinstance(tests, basestring):
+            tests = list(map(str.strip, tests.rstrip().splitlines()))
+        if isinstance(comment, basestring):
+            comment = Literal(comment)
+        allResults = []
+        comments = []
+        success = True
+        for t in tests:
+            if comment is not None and comment.matches(t, False) or comments and not t:
+                comments.append(t)
+                continue
+            if not t:
+                continue
+            out = ['\n'.join(comments), t]
+            comments = []
+            try:
+                t = t.replace(r'\n','\n')
+                result = self.parseString(t, parseAll=parseAll)
+                out.append(result.dump(full=fullDump))
+                success = success and not failureTests
+            except ParseBaseException as pe:
+                fatal = "(FATAL)" if isinstance(pe, ParseFatalException) else ""
+                if '\n' in t:
+                    out.append(line(pe.loc, t))
+                    out.append(' '*(col(pe.loc,t)-1) + '^' + fatal)
+                else:
+                    out.append(' '*pe.loc + '^' + fatal)
+                out.append("FAIL: " + str(pe))
+                success = success and failureTests
+                result = pe
+            except Exception as exc:
+                out.append("FAIL-EXCEPTION: " + str(exc))
+                success = success and failureTests
+                result = exc
+
+            if printResults:
+                if fullDump:
+                    out.append('')
+                print('\n'.join(out))
+
+            allResults.append((t, result))
+        
+        return success, allResults
+
+        
+class Token(ParserElement):
+    """
+    Abstract C{ParserElement} subclass, for defining atomic matching patterns.
+    """
+    def __init__( self ):
+        super(Token,self).__init__( savelist=False )
+
+
+class Empty(Token):
+    """
+    An empty token, will always match.
+    """
+    def __init__( self ):
+        super(Empty,self).__init__()
+        self.name = "Empty"
+        self.mayReturnEmpty = True
+        self.mayIndexError = False
+
+
+class NoMatch(Token):
+    """
+    A token that will never match.
+    """
+    def __init__( self ):
+        super(NoMatch,self).__init__()
+        self.name = "NoMatch"
+        self.mayReturnEmpty = True
+        self.mayIndexError = False
+        self.errmsg = "Unmatchable token"
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        raise ParseException(instring, loc, self.errmsg, self)
+
+
+class Literal(Token):
+    """
+    Token to exactly match a specified string.
+    
+    Example::
+        Literal('blah').parseString('blah')  # -> ['blah']
+        Literal('blah').parseString('blahfooblah')  # -> ['blah']
+        Literal('blah').parseString('bla')  # -> Exception: Expected "blah"
+    
+    For case-insensitive matching, use L{CaselessLiteral}.
+    
+    For keyword matching (force word break before and after the matched string),
+    use L{Keyword} or L{CaselessKeyword}.
+    """
+    def __init__( self, matchString ):
+        super(Literal,self).__init__()
+        self.match = matchString
+        self.matchLen = len(matchString)
+        try:
+            self.firstMatchChar = matchString[0]
+        except IndexError:
+            warnings.warn("null string passed to Literal; use Empty() instead",
+                            SyntaxWarning, stacklevel=2)
+            self.__class__ = Empty
+        self.name = '"%s"' % _ustr(self.match)
+        self.errmsg = "Expected " + self.name
+        self.mayReturnEmpty = False
+        self.mayIndexError = False
+
+    # Performance tuning: this routine gets called a *lot*
+    # if this is a single character match string  and the first character matches,
+    # short-circuit as quickly as possible, and avoid calling startswith
+    #~ @profile
+    def parseImpl( self, instring, loc, doActions=True ):
+        if (instring[loc] == self.firstMatchChar and
+            (self.matchLen==1 or instring.startswith(self.match,loc)) ):
+            return loc+self.matchLen, self.match
+        raise ParseException(instring, loc, self.errmsg, self)
+_L = Literal
+ParserElement._literalStringClass = Literal
+
+class Keyword(Token):
+    """
+    Token to exactly match a specified string as a keyword, that is, it must be
+    immediately followed by a non-keyword character.  Compare with C{L{Literal}}:
+     - C{Literal("if")} will match the leading C{'if'} in C{'ifAndOnlyIf'}.
+     - C{Keyword("if")} will not; it will only match the leading C{'if'} in C{'if x=1'}, or C{'if(y==2)'}
+    Accepts two optional constructor arguments in addition to the keyword string:
+     - C{identChars} is a string of characters that would be valid identifier characters,
+          defaulting to all alphanumerics + "_" and "$"
+     - C{caseless} allows case-insensitive matching, default is C{False}.
+       
+    Example::
+        Keyword("start").parseString("start")  # -> ['start']
+        Keyword("start").parseString("starting")  # -> Exception
+
+    For case-insensitive matching, use L{CaselessKeyword}.
+    """
+    DEFAULT_KEYWORD_CHARS = alphanums+"_$"
+
+    def __init__( self, matchString, identChars=None, caseless=False ):
+        super(Keyword,self).__init__()
+        if identChars is None:
+            identChars = Keyword.DEFAULT_KEYWORD_CHARS
+        self.match = matchString
+        self.matchLen = len(matchString)
+        try:
+            self.firstMatchChar = matchString[0]
+        except IndexError:
+            warnings.warn("null string passed to Keyword; use Empty() instead",
+                            SyntaxWarning, stacklevel=2)
+        self.name = '"%s"' % self.match
+        self.errmsg = "Expected " + self.name
+        self.mayReturnEmpty = False
+        self.mayIndexError = False
+        self.caseless = caseless
+        if caseless:
+            self.caselessmatch = matchString.upper()
+            identChars = identChars.upper()
+        self.identChars = set(identChars)
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if self.caseless:
+            if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and
+                 (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) and
+                 (loc == 0 or instring[loc-1].upper() not in self.identChars) ):
+                return loc+self.matchLen, self.match
+        else:
+            if (instring[loc] == self.firstMatchChar and
+                (self.matchLen==1 or instring.startswith(self.match,loc)) and
+                (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen] not in self.identChars) and
+                (loc == 0 or instring[loc-1] not in self.identChars) ):
+                return loc+self.matchLen, self.match
+        raise ParseException(instring, loc, self.errmsg, self)
+
+    def copy(self):
+        c = super(Keyword,self).copy()
+        c.identChars = Keyword.DEFAULT_KEYWORD_CHARS
+        return c
+
+    @staticmethod
+    def setDefaultKeywordChars( chars ):
+        """Overrides the default Keyword chars
+        """
+        Keyword.DEFAULT_KEYWORD_CHARS = chars
+
+class CaselessLiteral(Literal):
+    """
+    Token to match a specified string, ignoring case of letters.
+    Note: the matched results will always be in the case of the given
+    match string, NOT the case of the input text.
+
+    Example::
+        OneOrMore(CaselessLiteral("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD', 'CMD']
+        
+    (Contrast with example for L{CaselessKeyword}.)
+    """
+    def __init__( self, matchString ):
+        super(CaselessLiteral,self).__init__( matchString.upper() )
+        # Preserve the defining literal.
+        self.returnString = matchString
+        self.name = "'%s'" % self.returnString
+        self.errmsg = "Expected " + self.name
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if instring[ loc:loc+self.matchLen ].upper() == self.match:
+            return loc+self.matchLen, self.returnString
+        raise ParseException(instring, loc, self.errmsg, self)
+
+class CaselessKeyword(Keyword):
+    """
+    Caseless version of L{Keyword}.
+
+    Example::
+        OneOrMore(CaselessKeyword("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD']
+        
+    (Contrast with example for L{CaselessLiteral}.)
+    """
+    def __init__( self, matchString, identChars=None ):
+        super(CaselessKeyword,self).__init__( matchString, identChars, caseless=True )
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and
+             (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) ):
+            return loc+self.matchLen, self.match
+        raise ParseException(instring, loc, self.errmsg, self)
+
+class CloseMatch(Token):
+    """
+    A variation on L{Literal} which matches "close" matches, that is, 
+    strings with at most 'n' mismatching characters. C{CloseMatch} takes parameters:
+     - C{match_string} - string to be matched
+     - C{maxMismatches} - (C{default=1}) maximum number of mismatches allowed to count as a match
+    
+    The results from a successful parse will contain the matched text from the input string and the following named results:
+     - C{mismatches} - a list of the positions within the match_string where mismatches were found
+     - C{original} - the original match_string used to compare against the input string
+    
+    If C{mismatches} is an empty list, then the match was an exact match.
+    
+    Example::
+        patt = CloseMatch("ATCATCGAATGGA")
+        patt.parseString("ATCATCGAAXGGA") # -> (['ATCATCGAAXGGA'], {'mismatches': [[9]], 'original': ['ATCATCGAATGGA']})
+        patt.parseString("ATCAXCGAAXGGA") # -> Exception: Expected 'ATCATCGAATGGA' (with up to 1 mismatches) (at char 0), (line:1, col:1)
+
+        # exact match
+        patt.parseString("ATCATCGAATGGA") # -> (['ATCATCGAATGGA'], {'mismatches': [[]], 'original': ['ATCATCGAATGGA']})
+
+        # close match allowing up to 2 mismatches
+        patt = CloseMatch("ATCATCGAATGGA", maxMismatches=2)
+        patt.parseString("ATCAXCGAAXGGA") # -> (['ATCAXCGAAXGGA'], {'mismatches': [[4, 9]], 'original': ['ATCATCGAATGGA']})
+    """
+    def __init__(self, match_string, maxMismatches=1):
+        super(CloseMatch,self).__init__()
+        self.name = match_string
+        self.match_string = match_string
+        self.maxMismatches = maxMismatches
+        self.errmsg = "Expected %r (with up to %d mismatches)" % (self.match_string, self.maxMismatches)
+        self.mayIndexError = False
+        self.mayReturnEmpty = False
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        start = loc
+        instrlen = len(instring)
+        maxloc = start + len(self.match_string)
+
+        if maxloc <= instrlen:
+            match_string = self.match_string
+            match_stringloc = 0
+            mismatches = []
+            maxMismatches = self.maxMismatches
+
+            for match_stringloc,s_m in enumerate(zip(instring[loc:maxloc], self.match_string)):
+                src,mat = s_m
+                if src != mat:
+                    mismatches.append(match_stringloc)
+                    if len(mismatches) > maxMismatches:
+                        break
+            else:
+                loc = match_stringloc + 1
+                results = ParseResults([instring[start:loc]])
+                results['original'] = self.match_string
+                results['mismatches'] = mismatches
+                return loc, results
+
+        raise ParseException(instring, loc, self.errmsg, self)
+
+
+class Word(Token):
+    """
+    Token for matching words composed of allowed character sets.
+    Defined with string containing all allowed initial characters,
+    an optional string containing allowed body characters (if omitted,
+    defaults to the initial character set), and an optional minimum,
+    maximum, and/or exact length.  The default value for C{min} is 1 (a
+    minimum value < 1 is not valid); the default values for C{max} and C{exact}
+    are 0, meaning no maximum or exact length restriction. An optional
+    C{excludeChars} parameter can list characters that might be found in 
+    the input C{bodyChars} string; useful to define a word of all printables
+    except for one or two characters, for instance.
+    
+    L{srange} is useful for defining custom character set strings for defining 
+    C{Word} expressions, using range notation from regular expression character sets.
+    
+    A common mistake is to use C{Word} to match a specific literal string, as in 
+    C{Word("Address")}. Remember that C{Word} uses the string argument to define
+    I{sets} of matchable characters. This expression would match "Add", "AAA",
+    "dAred", or any other word made up of the characters 'A', 'd', 'r', 'e', and 's'.
+    To match an exact literal string, use L{Literal} or L{Keyword}.
+
+    pyparsing includes helper strings for building Words:
+     - L{alphas}
+     - L{nums}
+     - L{alphanums}
+     - L{hexnums}
+     - L{alphas8bit} (alphabetic characters in ASCII range 128-255 - accented, tilded, umlauted, etc.)
+     - L{punc8bit} (non-alphabetic characters in ASCII range 128-255 - currency, symbols, superscripts, diacriticals, etc.)
+     - L{printables} (any non-whitespace character)
+
+    Example::
+        # a word composed of digits
+        integer = Word(nums) # equivalent to Word("0123456789") or Word(srange("0-9"))
+        
+        # a word with a leading capital, and zero or more lowercase
+        capital_word = Word(alphas.upper(), alphas.lower())
+
+        # hostnames are alphanumeric, with leading alpha, and '-'
+        hostname = Word(alphas, alphanums+'-')
+        
+        # roman numeral (not a strict parser, accepts invalid mix of characters)
+        roman = Word("IVXLCDM")
+        
+        # any string of non-whitespace characters, except for ','
+        csv_value = Word(printables, excludeChars=",")
+    """
+    def __init__( self, initChars, bodyChars=None, min=1, max=0, exact=0, asKeyword=False, excludeChars=None ):
+        super(Word,self).__init__()
+        if excludeChars:
+            initChars = ''.join(c for c in initChars if c not in excludeChars)
+            if bodyChars:
+                bodyChars = ''.join(c for c in bodyChars if c not in excludeChars)
+        self.initCharsOrig = initChars
+        self.initChars = set(initChars)
+        if bodyChars :
+            self.bodyCharsOrig = bodyChars
+            self.bodyChars = set(bodyChars)
+        else:
+            self.bodyCharsOrig = initChars
+            self.bodyChars = set(initChars)
+
+        self.maxSpecified = max > 0
+
+        if min < 1:
+            raise ValueError("cannot specify a minimum length < 1; use Optional(Word()) if zero-length word is permitted")
+
+        self.minLen = min
+
+        if max > 0:
+            self.maxLen = max
+        else:
+            self.maxLen = _MAX_INT
+
+        if exact > 0:
+            self.maxLen = exact
+            self.minLen = exact
+
+        self.name = _ustr(self)
+        self.errmsg = "Expected " + self.name
+        self.mayIndexError = False
+        self.asKeyword = asKeyword
+
+        if ' ' not in self.initCharsOrig+self.bodyCharsOrig and (min==1 and max==0 and exact==0):
+            if self.bodyCharsOrig == self.initCharsOrig:
+                self.reString = "[%s]+" % _escapeRegexRangeChars(self.initCharsOrig)
+            elif len(self.initCharsOrig) == 1:
+                self.reString = "%s[%s]*" % \
+                                      (re.escape(self.initCharsOrig),
+                                      _escapeRegexRangeChars(self.bodyCharsOrig),)
+            else:
+                self.reString = "[%s][%s]*" % \
+                                      (_escapeRegexRangeChars(self.initCharsOrig),
+                                      _escapeRegexRangeChars(self.bodyCharsOrig),)
+            if self.asKeyword:
+                self.reString = r"\b"+self.reString+r"\b"
+            try:
+                self.re = re.compile( self.reString )
+            except Exception:
+                self.re = None
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if self.re:
+            result = self.re.match(instring,loc)
+            if not result:
+                raise ParseException(instring, loc, self.errmsg, self)
+
+            loc = result.end()
+            return loc, result.group()
+
+        if not(instring[ loc ] in self.initChars):
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        start = loc
+        loc += 1
+        instrlen = len(instring)
+        bodychars = self.bodyChars
+        maxloc = start + self.maxLen
+        maxloc = min( maxloc, instrlen )
+        while loc < maxloc and instring[loc] in bodychars:
+            loc += 1
+
+        throwException = False
+        if loc - start < self.minLen:
+            throwException = True
+        if self.maxSpecified and loc < instrlen and instring[loc] in bodychars:
+            throwException = True
+        if self.asKeyword:
+            if (start>0 and instring[start-1] in bodychars) or (loc<instrlen and instring[loc] in bodychars):
+                throwException = True
+
+        if throwException:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        return loc, instring[start:loc]
+
+    def __str__( self ):
+        try:
+            return super(Word,self).__str__()
+        except Exception:
+            pass
+
+
+        if self.strRepr is None:
+
+            def charsAsStr(s):
+                if len(s)>4:
+                    return s[:4]+"..."
+                else:
+                    return s
+
+            if ( self.initCharsOrig != self.bodyCharsOrig ):
+                self.strRepr = "W:(%s,%s)" % ( charsAsStr(self.initCharsOrig), charsAsStr(self.bodyCharsOrig) )
+            else:
+                self.strRepr = "W:(%s)" % charsAsStr(self.initCharsOrig)
+
+        return self.strRepr
+
+
+class Regex(Token):
+    r"""
+    Token for matching strings that match a given regular expression.
+    Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module.
+    If the given regex contains named groups (defined using C{(?P<name>...)}), these will be preserved as 
+    named parse results.
+
+    Example::
+        realnum = Regex(r"[+-]?\d+\.\d*")
+        date = Regex(r'(?P<year>\d{4})-(?P<month>\d\d?)-(?P<day>\d\d?)')
+        # ref: http://stackoverflow.com/questions/267399/how-do-you-match-only-valid-roman-numerals-with-a-regular-expression
+        roman = Regex(r"M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})")
+    """
+    compiledREtype = type(re.compile("[A-Z]"))
+    def __init__( self, pattern, flags=0):
+        """The parameters C{pattern} and C{flags} are passed to the C{re.compile()} function as-is. See the Python C{re} module for an explanation of the acceptable patterns and flags."""
+        super(Regex,self).__init__()
+
+        if isinstance(pattern, basestring):
+            if not pattern:
+                warnings.warn("null string passed to Regex; use Empty() instead",
+                        SyntaxWarning, stacklevel=2)
+
+            self.pattern = pattern
+            self.flags = flags
+
+            try:
+                self.re = re.compile(self.pattern, self.flags)
+                self.reString = self.pattern
+            except sre_constants.error:
+                warnings.warn("invalid pattern (%s) passed to Regex" % pattern,
+                    SyntaxWarning, stacklevel=2)
+                raise
+
+        elif isinstance(pattern, Regex.compiledREtype):
+            self.re = pattern
+            self.pattern = \
+            self.reString = str(pattern)
+            self.flags = flags
+            
+        else:
+            raise ValueError("Regex may only be constructed with a string or a compiled RE object")
+
+        self.name = _ustr(self)
+        self.errmsg = "Expected " + self.name
+        self.mayIndexError = False
+        self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        result = self.re.match(instring,loc)
+        if not result:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        loc = result.end()
+        d = result.groupdict()
+        ret = ParseResults(result.group())
+        if d:
+            for k in d:
+                ret[k] = d[k]
+        return loc,ret
+
+    def __str__( self ):
+        try:
+            return super(Regex,self).__str__()
+        except Exception:
+            pass
+
+        if self.strRepr is None:
+            self.strRepr = "Re:(%s)" % repr(self.pattern)
+
+        return self.strRepr
+
+
+class QuotedString(Token):
+    r"""
+    Token for matching strings that are delimited by quoting characters.
+    
+    Defined with the following parameters:
+        - quoteChar - string of one or more characters defining the quote delimiting string
+        - escChar - character to escape quotes, typically backslash (default=C{None})
+        - escQuote - special quote sequence to escape an embedded quote string (such as SQL's "" to escape an embedded ") (default=C{None})
+        - multiline - boolean indicating whether quotes can span multiple lines (default=C{False})
+        - unquoteResults - boolean indicating whether the matched text should be unquoted (default=C{True})
+        - endQuoteChar - string of one or more characters defining the end of the quote delimited string (default=C{None} => same as quoteChar)
+        - convertWhitespaceEscapes - convert escaped whitespace (C{'\t'}, C{'\n'}, etc.) to actual whitespace (default=C{True})
+
+    Example::
+        qs = QuotedString('"')
+        print(qs.searchString('lsjdf "This is the quote" sldjf'))
+        complex_qs = QuotedString('{{', endQuoteChar='}}')
+        print(complex_qs.searchString('lsjdf {{This is the "quote"}} sldjf'))
+        sql_qs = QuotedString('"', escQuote='""')
+        print(sql_qs.searchString('lsjdf "This is the quote with ""embedded"" quotes" sldjf'))
+    prints::
+        [['This is the quote']]
+        [['This is the "quote"']]
+        [['This is the quote with "embedded" quotes']]
+    """
+    def __init__( self, quoteChar, escChar=None, escQuote=None, multiline=False, unquoteResults=True, endQuoteChar=None, convertWhitespaceEscapes=True):
+        super(QuotedString,self).__init__()
+
+        # remove white space from quote chars - wont work anyway
+        quoteChar = quoteChar.strip()
+        if not quoteChar:
+            warnings.warn("quoteChar cannot be the empty string",SyntaxWarning,stacklevel=2)
+            raise SyntaxError()
+
+        if endQuoteChar is None:
+            endQuoteChar = quoteChar
+        else:
+            endQuoteChar = endQuoteChar.strip()
+            if not endQuoteChar:
+                warnings.warn("endQuoteChar cannot be the empty string",SyntaxWarning,stacklevel=2)
+                raise SyntaxError()
+
+        self.quoteChar = quoteChar
+        self.quoteCharLen = len(quoteChar)
+        self.firstQuoteChar = quoteChar[0]
+        self.endQuoteChar = endQuoteChar
+        self.endQuoteCharLen = len(endQuoteChar)
+        self.escChar = escChar
+        self.escQuote = escQuote
+        self.unquoteResults = unquoteResults
+        self.convertWhitespaceEscapes = convertWhitespaceEscapes
+
+        if multiline:
+            self.flags = re.MULTILINE | re.DOTALL
+            self.pattern = r'%s(?:[^%s%s]' % \
+                ( re.escape(self.quoteChar),
+                  _escapeRegexRangeChars(self.endQuoteChar[0]),
+                  (escChar is not None and _escapeRegexRangeChars(escChar) or '') )
+        else:
+            self.flags = 0
+            self.pattern = r'%s(?:[^%s\n\r%s]' % \
+                ( re.escape(self.quoteChar),
+                  _escapeRegexRangeChars(self.endQuoteChar[0]),
+                  (escChar is not None and _escapeRegexRangeChars(escChar) or '') )
+        if len(self.endQuoteChar) > 1:
+            self.pattern += (
+                '|(?:' + ')|(?:'.join("%s[^%s]" % (re.escape(self.endQuoteChar[:i]),
+                                               _escapeRegexRangeChars(self.endQuoteChar[i]))
+                                    for i in range(len(self.endQuoteChar)-1,0,-1)) + ')'
+                )
+        if escQuote:
+            self.pattern += (r'|(?:%s)' % re.escape(escQuote))
+        if escChar:
+            self.pattern += (r'|(?:%s.)' % re.escape(escChar))
+            self.escCharReplacePattern = re.escape(self.escChar)+"(.)"
+        self.pattern += (r')*%s' % re.escape(self.endQuoteChar))
+
+        try:
+            self.re = re.compile(self.pattern, self.flags)
+            self.reString = self.pattern
+        except sre_constants.error:
+            warnings.warn("invalid pattern (%s) passed to Regex" % self.pattern,
+                SyntaxWarning, stacklevel=2)
+            raise
+
+        self.name = _ustr(self)
+        self.errmsg = "Expected " + self.name
+        self.mayIndexError = False
+        self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        result = instring[loc] == self.firstQuoteChar and self.re.match(instring,loc) or None
+        if not result:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        loc = result.end()
+        ret = result.group()
+
+        if self.unquoteResults:
+
+            # strip off quotes
+            ret = ret[self.quoteCharLen:-self.endQuoteCharLen]
+
+            if isinstance(ret,basestring):
+                # replace escaped whitespace
+                if '\\' in ret and self.convertWhitespaceEscapes:
+                    ws_map = {
+                        r'\t' : '\t',
+                        r'\n' : '\n',
+                        r'\f' : '\f',
+                        r'\r' : '\r',
+                    }
+                    for wslit,wschar in ws_map.items():
+                        ret = ret.replace(wslit, wschar)
+
+                # replace escaped characters
+                if self.escChar:
+                    ret = re.sub(self.escCharReplacePattern, r"\g<1>", ret)
+
+                # replace escaped quotes
+                if self.escQuote:
+                    ret = ret.replace(self.escQuote, self.endQuoteChar)
+
+        return loc, ret
+
+    def __str__( self ):
+        try:
+            return super(QuotedString,self).__str__()
+        except Exception:
+            pass
+
+        if self.strRepr is None:
+            self.strRepr = "quoted string, starting with %s ending with %s" % (self.quoteChar, self.endQuoteChar)
+
+        return self.strRepr
+
+
+class CharsNotIn(Token):
+    """
+    Token for matching words composed of characters I{not} in a given set (will
+    include whitespace in matched characters if not listed in the provided exclusion set - see example).
+    Defined with string containing all disallowed characters, and an optional
+    minimum, maximum, and/or exact length.  The default value for C{min} is 1 (a
+    minimum value < 1 is not valid); the default values for C{max} and C{exact}
+    are 0, meaning no maximum or exact length restriction.
+
+    Example::
+        # define a comma-separated-value as anything that is not a ','
+        csv_value = CharsNotIn(',')
+        print(delimitedList(csv_value).parseString("dkls,lsdkjf,s12 34,@!#,213"))
+    prints::
+        ['dkls', 'lsdkjf', 's12 34', '@!#', '213']
+    """
+    def __init__( self, notChars, min=1, max=0, exact=0 ):
+        super(CharsNotIn,self).__init__()
+        self.skipWhitespace = False
+        self.notChars = notChars
+
+        if min < 1:
+            raise ValueError("cannot specify a minimum length < 1; use Optional(CharsNotIn()) if zero-length char group is permitted")
+
+        self.minLen = min
+
+        if max > 0:
+            self.maxLen = max
+        else:
+            self.maxLen = _MAX_INT
+
+        if exact > 0:
+            self.maxLen = exact
+            self.minLen = exact
+
+        self.name = _ustr(self)
+        self.errmsg = "Expected " + self.name
+        self.mayReturnEmpty = ( self.minLen == 0 )
+        self.mayIndexError = False
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if instring[loc] in self.notChars:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        start = loc
+        loc += 1
+        notchars = self.notChars
+        maxlen = min( start+self.maxLen, len(instring) )
+        while loc < maxlen and \
+              (instring[loc] not in notchars):
+            loc += 1
+
+        if loc - start < self.minLen:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        return loc, instring[start:loc]
+
+    def __str__( self ):
+        try:
+            return super(CharsNotIn, self).__str__()
+        except Exception:
+            pass
+
+        if self.strRepr is None:
+            if len(self.notChars) > 4:
+                self.strRepr = "!W:(%s...)" % self.notChars[:4]
+            else:
+                self.strRepr = "!W:(%s)" % self.notChars
+
+        return self.strRepr
+
+class White(Token):
+    """
+    Special matching class for matching whitespace.  Normally, whitespace is ignored
+    by pyparsing grammars.  This class is included when some whitespace structures
+    are significant.  Define with a string containing the whitespace characters to be
+    matched; default is C{" \\t\\r\\n"}.  Also takes optional C{min}, C{max}, and C{exact} arguments,
+    as defined for the C{L{Word}} class.
+    """
+    whiteStrs = {
+        " " : "<SPC>",
+        "\t": "<TAB>",
+        "\n": "<LF>",
+        "\r": "<CR>",
+        "\f": "<FF>",
+        }
+    def __init__(self, ws=" \t\r\n", min=1, max=0, exact=0):
+        super(White,self).__init__()
+        self.matchWhite = ws
+        self.setWhitespaceChars( "".join(c for c in self.whiteChars if c not in self.matchWhite) )
+        #~ self.leaveWhitespace()
+        self.name = ("".join(White.whiteStrs[c] for c in self.matchWhite))
+        self.mayReturnEmpty = True
+        self.errmsg = "Expected " + self.name
+
+        self.minLen = min
+
+        if max > 0:
+            self.maxLen = max
+        else:
+            self.maxLen = _MAX_INT
+
+        if exact > 0:
+            self.maxLen = exact
+            self.minLen = exact
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if not(instring[ loc ] in self.matchWhite):
+            raise ParseException(instring, loc, self.errmsg, self)
+        start = loc
+        loc += 1
+        maxloc = start + self.maxLen
+        maxloc = min( maxloc, len(instring) )
+        while loc < maxloc and instring[loc] in self.matchWhite:
+            loc += 1
+
+        if loc - start < self.minLen:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        return loc, instring[start:loc]
+
+
+class _PositionToken(Token):
+    def __init__( self ):
+        super(_PositionToken,self).__init__()
+        self.name=self.__class__.__name__
+        self.mayReturnEmpty = True
+        self.mayIndexError = False
+
+class GoToColumn(_PositionToken):
+    """
+    Token to advance to a specific column of input text; useful for tabular report scraping.
+    """
+    def __init__( self, colno ):
+        super(GoToColumn,self).__init__()
+        self.col = colno
+
+    def preParse( self, instring, loc ):
+        if col(loc,instring) != self.col:
+            instrlen = len(instring)
+            if self.ignoreExprs:
+                loc = self._skipIgnorables( instring, loc )
+            while loc < instrlen and instring[loc].isspace() and col( loc, instring ) != self.col :
+                loc += 1
+        return loc
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        thiscol = col( loc, instring )
+        if thiscol > self.col:
+            raise ParseException( instring, loc, "Text not in expected column", self )
+        newloc = loc + self.col - thiscol
+        ret = instring[ loc: newloc ]
+        return newloc, ret
+
+
+class LineStart(_PositionToken):
+    """
+    Matches if current position is at the beginning of a line within the parse string
+    
+    Example::
+    
+        test = '''\
+        AAA this line
+        AAA and this line
+          AAA but not this one
+        B AAA and definitely not this one
+        '''
+
+        for t in (LineStart() + 'AAA' + restOfLine).searchString(test):
+            print(t)
+    
+    Prints::
+        ['AAA', ' this line']
+        ['AAA', ' and this line']    
+
+    """
+    def __init__( self ):
+        super(LineStart,self).__init__()
+        self.errmsg = "Expected start of line"
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if col(loc, instring) == 1:
+            return loc, []
+        raise ParseException(instring, loc, self.errmsg, self)
+
+class LineEnd(_PositionToken):
+    """
+    Matches if current position is at the end of a line within the parse string
+    """
+    def __init__( self ):
+        super(LineEnd,self).__init__()
+        self.setWhitespaceChars( ParserElement.DEFAULT_WHITE_CHARS.replace("\n","") )
+        self.errmsg = "Expected end of line"
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if loc<len(instring):
+            if instring[loc] == "\n":
+                return loc+1, "\n"
+            else:
+                raise ParseException(instring, loc, self.errmsg, self)
+        elif loc == len(instring):
+            return loc+1, []
+        else:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+class StringStart(_PositionToken):
+    """
+    Matches if current position is at the beginning of the parse string
+    """
+    def __init__( self ):
+        super(StringStart,self).__init__()
+        self.errmsg = "Expected start of text"
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if loc != 0:
+            # see if entire string up to here is just whitespace and ignoreables
+            if loc != self.preParse( instring, 0 ):
+                raise ParseException(instring, loc, self.errmsg, self)
+        return loc, []
+
+class StringEnd(_PositionToken):
+    """
+    Matches if current position is at the end of the parse string
+    """
+    def __init__( self ):
+        super(StringEnd,self).__init__()
+        self.errmsg = "Expected end of text"
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if loc < len(instring):
+            raise ParseException(instring, loc, self.errmsg, self)
+        elif loc == len(instring):
+            return loc+1, []
+        elif loc > len(instring):
+            return loc, []
+        else:
+            raise ParseException(instring, loc, self.errmsg, self)
+
+class WordStart(_PositionToken):
+    """
+    Matches if the current position is at the beginning of a Word, and
+    is not preceded by any character in a given set of C{wordChars}
+    (default=C{printables}). To emulate the C{\b} behavior of regular expressions,
+    use C{WordStart(alphanums)}. C{WordStart} will also match at the beginning of
+    the string being parsed, or at the beginning of a line.
+    """
+    def __init__(self, wordChars = printables):
+        super(WordStart,self).__init__()
+        self.wordChars = set(wordChars)
+        self.errmsg = "Not at the start of a word"
+
+    def parseImpl(self, instring, loc, doActions=True ):
+        if loc != 0:
+            if (instring[loc-1] in self.wordChars or
+                instring[loc] not in self.wordChars):
+                raise ParseException(instring, loc, self.errmsg, self)
+        return loc, []
+
+class WordEnd(_PositionToken):
+    """
+    Matches if the current position is at the end of a Word, and
+    is not followed by any character in a given set of C{wordChars}
+    (default=C{printables}). To emulate the C{\b} behavior of regular expressions,
+    use C{WordEnd(alphanums)}. C{WordEnd} will also match at the end of
+    the string being parsed, or at the end of a line.
+    """
+    def __init__(self, wordChars = printables):
+        super(WordEnd,self).__init__()
+        self.wordChars = set(wordChars)
+        self.skipWhitespace = False
+        self.errmsg = "Not at the end of a word"
+
+    def parseImpl(self, instring, loc, doActions=True ):
+        instrlen = len(instring)
+        if instrlen>0 and loc<instrlen:
+            if (instring[loc] in self.wordChars or
+                instring[loc-1] not in self.wordChars):
+                raise ParseException(instring, loc, self.errmsg, self)
+        return loc, []
+
+
+class ParseExpression(ParserElement):
+    """
+    Abstract subclass of ParserElement, for combining and post-processing parsed tokens.
+    """
+    def __init__( self, exprs, savelist = False ):
+        super(ParseExpression,self).__init__(savelist)
+        if isinstance( exprs, _generatorType ):
+            exprs = list(exprs)
+
+        if isinstance( exprs, basestring ):
+            self.exprs = [ ParserElement._literalStringClass( exprs ) ]
+        elif isinstance( exprs, Iterable ):
+            exprs = list(exprs)
+            # if sequence of strings provided, wrap with Literal
+            if all(isinstance(expr, basestring) for expr in exprs):
+                exprs = map(ParserElement._literalStringClass, exprs)
+            self.exprs = list(exprs)
+        else:
+            try:
+                self.exprs = list( exprs )
+            except TypeError:
+                self.exprs = [ exprs ]
+        self.callPreparse = False
+
+    def __getitem__( self, i ):
+        return self.exprs[i]
+
+    def append( self, other ):
+        self.exprs.append( other )
+        self.strRepr = None
+        return self
+
+    def leaveWhitespace( self ):
+        """Extends C{leaveWhitespace} defined in base class, and also invokes C{leaveWhitespace} on
+           all contained expressions."""
+        self.skipWhitespace = False
+        self.exprs = [ e.copy() for e in self.exprs ]
+        for e in self.exprs:
+            e.leaveWhitespace()
+        return self
+
+    def ignore( self, other ):
+        if isinstance( other, Suppress ):
+            if other not in self.ignoreExprs:
+                super( ParseExpression, self).ignore( other )
+                for e in self.exprs:
+                    e.ignore( self.ignoreExprs[-1] )
+        else:
+            super( ParseExpression, self).ignore( other )
+            for e in self.exprs:
+                e.ignore( self.ignoreExprs[-1] )
+        return self
+
+    def __str__( self ):
+        try:
+            return super(ParseExpression,self).__str__()
+        except Exception:
+            pass
+
+        if self.strRepr is None:
+            self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.exprs) )
+        return self.strRepr
+
+    def streamline( self ):
+        super(ParseExpression,self).streamline()
+
+        for e in self.exprs:
+            e.streamline()
+
+        # collapse nested And's of the form And( And( And( a,b), c), d) to And( a,b,c,d )
+        # but only if there are no parse actions or resultsNames on the nested And's
+        # (likewise for Or's and MatchFirst's)
+        if ( len(self.exprs) == 2 ):
+            other = self.exprs[0]
+            if ( isinstance( other, self.__class__ ) and
+                  not(other.parseAction) and
+                  other.resultsName is None and
+                  not other.debug ):
+                self.exprs = other.exprs[:] + [ self.exprs[1] ]
+                self.strRepr = None
+                self.mayReturnEmpty |= other.mayReturnEmpty
+                self.mayIndexError  |= other.mayIndexError
+
+            other = self.exprs[-1]
+            if ( isinstance( other, self.__class__ ) and
+                  not(other.parseAction) and
+                  other.resultsName is None and
+                  not other.debug ):
+                self.exprs = self.exprs[:-1] + other.exprs[:]
+                self.strRepr = None
+                self.mayReturnEmpty |= other.mayReturnEmpty
+                self.mayIndexError  |= other.mayIndexError
+
+        self.errmsg = "Expected " + _ustr(self)
+        
+        return self
+
+    def setResultsName( self, name, listAllMatches=False ):
+        ret = super(ParseExpression,self).setResultsName(name,listAllMatches)
+        return ret
+
+    def validate( self, validateTrace=[] ):
+        tmp = validateTrace[:]+[self]
+        for e in self.exprs:
+            e.validate(tmp)
+        self.checkRecursion( [] )
+        
+    def copy(self):
+        ret = super(ParseExpression,self).copy()
+        ret.exprs = [e.copy() for e in self.exprs]
+        return ret
+
+class And(ParseExpression):
+    """
+    Requires all given C{ParseExpression}s to be found in the given order.
+    Expressions may be separated by whitespace.
+    May be constructed using the C{'+'} operator.
+    May also be constructed using the C{'-'} operator, which will suppress backtracking.
+
+    Example::
+        integer = Word(nums)
+        name_expr = OneOrMore(Word(alphas))
+
+        expr = And([integer("id"),name_expr("name"),integer("age")])
+        # more easily written as:
+        expr = integer("id") + name_expr("name") + integer("age")
+    """
+
+    class _ErrorStop(Empty):
+        def __init__(self, *args, **kwargs):
+            super(And._ErrorStop,self).__init__(*args, **kwargs)
+            self.name = '-'
+            self.leaveWhitespace()
+
+    def __init__( self, exprs, savelist = True ):
+        super(And,self).__init__(exprs, savelist)
+        self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs)
+        self.setWhitespaceChars( self.exprs[0].whiteChars )
+        self.skipWhitespace = self.exprs[0].skipWhitespace
+        self.callPreparse = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        # pass False as last arg to _parse for first element, since we already
+        # pre-parsed the string as part of our And pre-parsing
+        loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False )
+        errorStop = False
+        for e in self.exprs[1:]:
+            if isinstance(e, And._ErrorStop):
+                errorStop = True
+                continue
+            if errorStop:
+                try:
+                    loc, exprtokens = e._parse( instring, loc, doActions )
+                except ParseSyntaxException:
+                    raise
+                except ParseBaseException as pe:
+                    pe.__traceback__ = None
+                    raise ParseSyntaxException._from_exception(pe)
+                except IndexError:
+                    raise ParseSyntaxException(instring, len(instring), self.errmsg, self)
+            else:
+                loc, exprtokens = e._parse( instring, loc, doActions )
+            if exprtokens or exprtokens.haskeys():
+                resultlist += exprtokens
+        return loc, resultlist
+
+    def __iadd__(self, other ):
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        return self.append( other ) #And( [ self, other ] )
+
+    def checkRecursion( self, parseElementList ):
+        subRecCheckList = parseElementList[:] + [ self ]
+        for e in self.exprs:
+            e.checkRecursion( subRecCheckList )
+            if not e.mayReturnEmpty:
+                break
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "{" + " ".join(_ustr(e) for e in self.exprs) + "}"
+
+        return self.strRepr
+
+
+class Or(ParseExpression):
+    """
+    Requires that at least one C{ParseExpression} is found.
+    If two expressions match, the expression that matches the longest string will be used.
+    May be constructed using the C{'^'} operator.
+
+    Example::
+        # construct Or using '^' operator
+        
+        number = Word(nums) ^ Combine(Word(nums) + '.' + Word(nums))
+        print(number.searchString("123 3.1416 789"))
+    prints::
+        [['123'], ['3.1416'], ['789']]
+    """
+    def __init__( self, exprs, savelist = False ):
+        super(Or,self).__init__(exprs, savelist)
+        if self.exprs:
+            self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs)
+        else:
+            self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        maxExcLoc = -1
+        maxException = None
+        matches = []
+        for e in self.exprs:
+            try:
+                loc2 = e.tryParse( instring, loc )
+            except ParseException as err:
+                err.__traceback__ = None
+                if err.loc > maxExcLoc:
+                    maxException = err
+                    maxExcLoc = err.loc
+            except IndexError:
+                if len(instring) > maxExcLoc:
+                    maxException = ParseException(instring,len(instring),e.errmsg,self)
+                    maxExcLoc = len(instring)
+            else:
+                # save match among all matches, to retry longest to shortest
+                matches.append((loc2, e))
+
+        if matches:
+            matches.sort(key=lambda x: -x[0])
+            for _,e in matches:
+                try:
+                    return e._parse( instring, loc, doActions )
+                except ParseException as err:
+                    err.__traceback__ = None
+                    if err.loc > maxExcLoc:
+                        maxException = err
+                        maxExcLoc = err.loc
+
+        if maxException is not None:
+            maxException.msg = self.errmsg
+            raise maxException
+        else:
+            raise ParseException(instring, loc, "no defined alternatives to match", self)
+
+
+    def __ixor__(self, other ):
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        return self.append( other ) #Or( [ self, other ] )
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "{" + " ^ ".join(_ustr(e) for e in self.exprs) + "}"
+
+        return self.strRepr
+
+    def checkRecursion( self, parseElementList ):
+        subRecCheckList = parseElementList[:] + [ self ]
+        for e in self.exprs:
+            e.checkRecursion( subRecCheckList )
+
+
+class MatchFirst(ParseExpression):
+    """
+    Requires that at least one C{ParseExpression} is found.
+    If two expressions match, the first one listed is the one that will match.
+    May be constructed using the C{'|'} operator.
+
+    Example::
+        # construct MatchFirst using '|' operator
+        
+        # watch the order of expressions to match
+        number = Word(nums) | Combine(Word(nums) + '.' + Word(nums))
+        print(number.searchString("123 3.1416 789")) #  Fail! -> [['123'], ['3'], ['1416'], ['789']]
+
+        # put more selective expression first
+        number = Combine(Word(nums) + '.' + Word(nums)) | Word(nums)
+        print(number.searchString("123 3.1416 789")) #  Better -> [['123'], ['3.1416'], ['789']]
+    """
+    def __init__( self, exprs, savelist = False ):
+        super(MatchFirst,self).__init__(exprs, savelist)
+        if self.exprs:
+            self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs)
+        else:
+            self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        maxExcLoc = -1
+        maxException = None
+        for e in self.exprs:
+            try:
+                ret = e._parse( instring, loc, doActions )
+                return ret
+            except ParseException as err:
+                if err.loc > maxExcLoc:
+                    maxException = err
+                    maxExcLoc = err.loc
+            except IndexError:
+                if len(instring) > maxExcLoc:
+                    maxException = ParseException(instring,len(instring),e.errmsg,self)
+                    maxExcLoc = len(instring)
+
+        # only got here if no expression matched, raise exception for match that made it the furthest
+        else:
+            if maxException is not None:
+                maxException.msg = self.errmsg
+                raise maxException
+            else:
+                raise ParseException(instring, loc, "no defined alternatives to match", self)
+
+    def __ior__(self, other ):
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass( other )
+        return self.append( other ) #MatchFirst( [ self, other ] )
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "{" + " | ".join(_ustr(e) for e in self.exprs) + "}"
+
+        return self.strRepr
+
+    def checkRecursion( self, parseElementList ):
+        subRecCheckList = parseElementList[:] + [ self ]
+        for e in self.exprs:
+            e.checkRecursion( subRecCheckList )
+
+
+class Each(ParseExpression):
+    """
+    Requires all given C{ParseExpression}s to be found, but in any order.
+    Expressions may be separated by whitespace.
+    May be constructed using the C{'&'} operator.
+
+    Example::
+        color = oneOf("RED ORANGE YELLOW GREEN BLUE PURPLE BLACK WHITE BROWN")
+        shape_type = oneOf("SQUARE CIRCLE TRIANGLE STAR HEXAGON OCTAGON")
+        integer = Word(nums)
+        shape_attr = "shape:" + shape_type("shape")
+        posn_attr = "posn:" + Group(integer("x") + ',' + integer("y"))("posn")
+        color_attr = "color:" + color("color")
+        size_attr = "size:" + integer("size")
+
+        # use Each (using operator '&') to accept attributes in any order 
+        # (shape and posn are required, color and size are optional)
+        shape_spec = shape_attr & posn_attr & Optional(color_attr) & Optional(size_attr)
+
+        shape_spec.runTests('''
+            shape: SQUARE color: BLACK posn: 100, 120
+            shape: CIRCLE size: 50 color: BLUE posn: 50,80
+            color:GREEN size:20 shape:TRIANGLE posn:20,40
+            '''
+            )
+    prints::
+        shape: SQUARE color: BLACK posn: 100, 120
+        ['shape:', 'SQUARE', 'color:', 'BLACK', 'posn:', ['100', ',', '120']]
+        - color: BLACK
+        - posn: ['100', ',', '120']
+          - x: 100
+          - y: 120
+        - shape: SQUARE
+
+
+        shape: CIRCLE size: 50 color: BLUE posn: 50,80
+        ['shape:', 'CIRCLE', 'size:', '50', 'color:', 'BLUE', 'posn:', ['50', ',', '80']]
+        - color: BLUE
+        - posn: ['50', ',', '80']
+          - x: 50
+          - y: 80
+        - shape: CIRCLE
+        - size: 50
+
+
+        color: GREEN size: 20 shape: TRIANGLE posn: 20,40
+        ['color:', 'GREEN', 'size:', '20', 'shape:', 'TRIANGLE', 'posn:', ['20', ',', '40']]
+        - color: GREEN
+        - posn: ['20', ',', '40']
+          - x: 20
+          - y: 40
+        - shape: TRIANGLE
+        - size: 20
+    """
+    def __init__( self, exprs, savelist = True ):
+        super(Each,self).__init__(exprs, savelist)
+        self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs)
+        self.skipWhitespace = True
+        self.initExprGroups = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if self.initExprGroups:
+            self.opt1map = dict((id(e.expr),e) for e in self.exprs if isinstance(e,Optional))
+            opt1 = [ e.expr for e in self.exprs if isinstance(e,Optional) ]
+            opt2 = [ e for e in self.exprs if e.mayReturnEmpty and not isinstance(e,Optional)]
+            self.optionals = opt1 + opt2
+            self.multioptionals = [ e.expr for e in self.exprs if isinstance(e,ZeroOrMore) ]
+            self.multirequired = [ e.expr for e in self.exprs if isinstance(e,OneOrMore) ]
+            self.required = [ e for e in self.exprs if not isinstance(e,(Optional,ZeroOrMore,OneOrMore)) ]
+            self.required += self.multirequired
+            self.initExprGroups = False
+        tmpLoc = loc
+        tmpReqd = self.required[:]
+        tmpOpt  = self.optionals[:]
+        matchOrder = []
+
+        keepMatching = True
+        while keepMatching:
+            tmpExprs = tmpReqd + tmpOpt + self.multioptionals + self.multirequired
+            failed = []
+            for e in tmpExprs:
+                try:
+                    tmpLoc = e.tryParse( instring, tmpLoc )
+                except ParseException:
+                    failed.append(e)
+                else:
+                    matchOrder.append(self.opt1map.get(id(e),e))
+                    if e in tmpReqd:
+                        tmpReqd.remove(e)
+                    elif e in tmpOpt:
+                        tmpOpt.remove(e)
+            if len(failed) == len(tmpExprs):
+                keepMatching = False
+
+        if tmpReqd:
+            missing = ", ".join(_ustr(e) for e in tmpReqd)
+            raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing )
+
+        # add any unmatched Optionals, in case they have default values defined
+        matchOrder += [e for e in self.exprs if isinstance(e,Optional) and e.expr in tmpOpt]
+
+        resultlist = []
+        for e in matchOrder:
+            loc,results = e._parse(instring,loc,doActions)
+            resultlist.append(results)
+
+        finalResults = sum(resultlist, ParseResults([]))
+        return loc, finalResults
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "{" + " & ".join(_ustr(e) for e in self.exprs) + "}"
+
+        return self.strRepr
+
+    def checkRecursion( self, parseElementList ):
+        subRecCheckList = parseElementList[:] + [ self ]
+        for e in self.exprs:
+            e.checkRecursion( subRecCheckList )
+
+
+class ParseElementEnhance(ParserElement):
+    """
+    Abstract subclass of C{ParserElement}, for combining and post-processing parsed tokens.
+    """
+    def __init__( self, expr, savelist=False ):
+        super(ParseElementEnhance,self).__init__(savelist)
+        if isinstance( expr, basestring ):
+            if issubclass(ParserElement._literalStringClass, Token):
+                expr = ParserElement._literalStringClass(expr)
+            else:
+                expr = ParserElement._literalStringClass(Literal(expr))
+        self.expr = expr
+        self.strRepr = None
+        if expr is not None:
+            self.mayIndexError = expr.mayIndexError
+            self.mayReturnEmpty = expr.mayReturnEmpty
+            self.setWhitespaceChars( expr.whiteChars )
+            self.skipWhitespace = expr.skipWhitespace
+            self.saveAsList = expr.saveAsList
+            self.callPreparse = expr.callPreparse
+            self.ignoreExprs.extend(expr.ignoreExprs)
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if self.expr is not None:
+            return self.expr._parse( instring, loc, doActions, callPreParse=False )
+        else:
+            raise ParseException("",loc,self.errmsg,self)
+
+    def leaveWhitespace( self ):
+        self.skipWhitespace = False
+        self.expr = self.expr.copy()
+        if self.expr is not None:
+            self.expr.leaveWhitespace()
+        return self
+
+    def ignore( self, other ):
+        if isinstance( other, Suppress ):
+            if other not in self.ignoreExprs:
+                super( ParseElementEnhance, self).ignore( other )
+                if self.expr is not None:
+                    self.expr.ignore( self.ignoreExprs[-1] )
+        else:
+            super( ParseElementEnhance, self).ignore( other )
+            if self.expr is not None:
+                self.expr.ignore( self.ignoreExprs[-1] )
+        return self
+
+    def streamline( self ):
+        super(ParseElementEnhance,self).streamline()
+        if self.expr is not None:
+            self.expr.streamline()
+        return self
+
+    def checkRecursion( self, parseElementList ):
+        if self in parseElementList:
+            raise RecursiveGrammarException( parseElementList+[self] )
+        subRecCheckList = parseElementList[:] + [ self ]
+        if self.expr is not None:
+            self.expr.checkRecursion( subRecCheckList )
+
+    def validate( self, validateTrace=[] ):
+        tmp = validateTrace[:]+[self]
+        if self.expr is not None:
+            self.expr.validate(tmp)
+        self.checkRecursion( [] )
+
+    def __str__( self ):
+        try:
+            return super(ParseElementEnhance,self).__str__()
+        except Exception:
+            pass
+
+        if self.strRepr is None and self.expr is not None:
+            self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.expr) )
+        return self.strRepr
+
+
+class FollowedBy(ParseElementEnhance):
+    """
+    Lookahead matching of the given parse expression.  C{FollowedBy}
+    does I{not} advance the parsing position within the input string, it only
+    verifies that the specified parse expression matches at the current
+    position.  C{FollowedBy} always returns a null token list.
+
+    Example::
+        # use FollowedBy to match a label only if it is followed by a ':'
+        data_word = Word(alphas)
+        label = data_word + FollowedBy(':')
+        attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join))
+        
+        OneOrMore(attr_expr).parseString("shape: SQUARE color: BLACK posn: upper left").pprint()
+    prints::
+        [['shape', 'SQUARE'], ['color', 'BLACK'], ['posn', 'upper left']]
+    """
+    def __init__( self, expr ):
+        super(FollowedBy,self).__init__(expr)
+        self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        self.expr.tryParse( instring, loc )
+        return loc, []
+
+
+class NotAny(ParseElementEnhance):
+    """
+    Lookahead to disallow matching with the given parse expression.  C{NotAny}
+    does I{not} advance the parsing position within the input string, it only
+    verifies that the specified parse expression does I{not} match at the current
+    position.  Also, C{NotAny} does I{not} skip over leading whitespace. C{NotAny}
+    always returns a null token list.  May be constructed using the '~' operator.
+
+    Example::
+        
+    """
+    def __init__( self, expr ):
+        super(NotAny,self).__init__(expr)
+        #~ self.leaveWhitespace()
+        self.skipWhitespace = False  # do NOT use self.leaveWhitespace(), don't want to propagate to exprs
+        self.mayReturnEmpty = True
+        self.errmsg = "Found unwanted token, "+_ustr(self.expr)
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        if self.expr.canParseNext(instring, loc):
+            raise ParseException(instring, loc, self.errmsg, self)
+        return loc, []
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "~{" + _ustr(self.expr) + "}"
+
+        return self.strRepr
+
+class _MultipleMatch(ParseElementEnhance):
+    def __init__( self, expr, stopOn=None):
+        super(_MultipleMatch, self).__init__(expr)
+        self.saveAsList = True
+        ender = stopOn
+        if isinstance(ender, basestring):
+            ender = ParserElement._literalStringClass(ender)
+        self.not_ender = ~ender if ender is not None else None
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        self_expr_parse = self.expr._parse
+        self_skip_ignorables = self._skipIgnorables
+        check_ender = self.not_ender is not None
+        if check_ender:
+            try_not_ender = self.not_ender.tryParse
+        
+        # must be at least one (but first see if we are the stopOn sentinel;
+        # if so, fail)
+        if check_ender:
+            try_not_ender(instring, loc)
+        loc, tokens = self_expr_parse( instring, loc, doActions, callPreParse=False )
+        try:
+            hasIgnoreExprs = (not not self.ignoreExprs)
+            while 1:
+                if check_ender:
+                    try_not_ender(instring, loc)
+                if hasIgnoreExprs:
+                    preloc = self_skip_ignorables( instring, loc )
+                else:
+                    preloc = loc
+                loc, tmptokens = self_expr_parse( instring, preloc, doActions )
+                if tmptokens or tmptokens.haskeys():
+                    tokens += tmptokens
+        except (ParseException,IndexError):
+            pass
+
+        return loc, tokens
+        
+class OneOrMore(_MultipleMatch):
+    """
+    Repetition of one or more of the given expression.
+    
+    Parameters:
+     - expr - expression that must match one or more times
+     - stopOn - (default=C{None}) - expression for a terminating sentinel
+          (only required if the sentinel would ordinarily match the repetition 
+          expression)          
+
+    Example::
+        data_word = Word(alphas)
+        label = data_word + FollowedBy(':')
+        attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join))
+
+        text = "shape: SQUARE posn: upper left color: BLACK"
+        OneOrMore(attr_expr).parseString(text).pprint()  # Fail! read 'color' as data instead of next label -> [['shape', 'SQUARE color']]
+
+        # use stopOn attribute for OneOrMore to avoid reading label string as part of the data
+        attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join))
+        OneOrMore(attr_expr).parseString(text).pprint() # Better -> [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'BLACK']]
+        
+        # could also be written as
+        (attr_expr * (1,)).parseString(text).pprint()
+    """
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "{" + _ustr(self.expr) + "}..."
+
+        return self.strRepr
+
+class ZeroOrMore(_MultipleMatch):
+    """
+    Optional repetition of zero or more of the given expression.
+    
+    Parameters:
+     - expr - expression that must match zero or more times
+     - stopOn - (default=C{None}) - expression for a terminating sentinel
+          (only required if the sentinel would ordinarily match the repetition 
+          expression)          
+
+    Example: similar to L{OneOrMore}
+    """
+    def __init__( self, expr, stopOn=None):
+        super(ZeroOrMore,self).__init__(expr, stopOn=stopOn)
+        self.mayReturnEmpty = True
+        
+    def parseImpl( self, instring, loc, doActions=True ):
+        try:
+            return super(ZeroOrMore, self).parseImpl(instring, loc, doActions)
+        except (ParseException,IndexError):
+            return loc, []
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "[" + _ustr(self.expr) + "]..."
+
+        return self.strRepr
+
+class _NullToken(object):
+    def __bool__(self):
+        return False
+    __nonzero__ = __bool__
+    def __str__(self):
+        return ""
+
+_optionalNotMatched = _NullToken()
+class Optional(ParseElementEnhance):
+    """
+    Optional matching of the given expression.
+
+    Parameters:
+     - expr - expression that must match zero or more times
+     - default (optional) - value to be returned if the optional expression is not found.
+
+    Example::
+        # US postal code can be a 5-digit zip, plus optional 4-digit qualifier
+        zip = Combine(Word(nums, exact=5) + Optional('-' + Word(nums, exact=4)))
+        zip.runTests('''
+            # traditional ZIP code
+            12345
+            
+            # ZIP+4 form
+            12101-0001
+            
+            # invalid ZIP
+            98765-
+            ''')
+    prints::
+        # traditional ZIP code
+        12345
+        ['12345']
+
+        # ZIP+4 form
+        12101-0001
+        ['12101-0001']
+
+        # invalid ZIP
+        98765-
+             ^
+        FAIL: Expected end of text (at char 5), (line:1, col:6)
+    """
+    def __init__( self, expr, default=_optionalNotMatched ):
+        super(Optional,self).__init__( expr, savelist=False )
+        self.saveAsList = self.expr.saveAsList
+        self.defaultValue = default
+        self.mayReturnEmpty = True
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        try:
+            loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False )
+        except (ParseException,IndexError):
+            if self.defaultValue is not _optionalNotMatched:
+                if self.expr.resultsName:
+                    tokens = ParseResults([ self.defaultValue ])
+                    tokens[self.expr.resultsName] = self.defaultValue
+                else:
+                    tokens = [ self.defaultValue ]
+            else:
+                tokens = []
+        return loc, tokens
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+
+        if self.strRepr is None:
+            self.strRepr = "[" + _ustr(self.expr) + "]"
+
+        return self.strRepr
+
+class SkipTo(ParseElementEnhance):
+    """
+    Token for skipping over all undefined text until the matched expression is found.
+
+    Parameters:
+     - expr - target expression marking the end of the data to be skipped
+     - include - (default=C{False}) if True, the target expression is also parsed 
+          (the skipped text and target expression are returned as a 2-element list).
+     - ignore - (default=C{None}) used to define grammars (typically quoted strings and 
+          comments) that might contain false matches to the target expression
+     - failOn - (default=C{None}) define expressions that are not allowed to be 
+          included in the skipped test; if found before the target expression is found, 
+          the SkipTo is not a match
+
+    Example::
+        report = '''
+            Outstanding Issues Report - 1 Jan 2000
+
+               # | Severity | Description                               |  Days Open
+            -----+----------+-------------------------------------------+-----------
+             101 | Critical | Intermittent system crash                 |          6
+              94 | Cosmetic | Spelling error on Login ('log|n')         |         14
+              79 | Minor    | System slow when running too many reports |         47
+            '''
+        integer = Word(nums)
+        SEP = Suppress('|')
+        # use SkipTo to simply match everything up until the next SEP
+        # - ignore quoted strings, so that a '|' character inside a quoted string does not match
+        # - parse action will call token.strip() for each matched token, i.e., the description body
+        string_data = SkipTo(SEP, ignore=quotedString)
+        string_data.setParseAction(tokenMap(str.strip))
+        ticket_expr = (integer("issue_num") + SEP 
+                      + string_data("sev") + SEP 
+                      + string_data("desc") + SEP 
+                      + integer("days_open"))
+        
+        for tkt in ticket_expr.searchString(report):
+            print tkt.dump()
+    prints::
+        ['101', 'Critical', 'Intermittent system crash', '6']
+        - days_open: 6
+        - desc: Intermittent system crash
+        - issue_num: 101
+        - sev: Critical
+        ['94', 'Cosmetic', "Spelling error on Login ('log|n')", '14']
+        - days_open: 14
+        - desc: Spelling error on Login ('log|n')
+        - issue_num: 94
+        - sev: Cosmetic
+        ['79', 'Minor', 'System slow when running too many reports', '47']
+        - days_open: 47
+        - desc: System slow when running too many reports
+        - issue_num: 79
+        - sev: Minor
+    """
+    def __init__( self, other, include=False, ignore=None, failOn=None ):
+        super( SkipTo, self ).__init__( other )
+        self.ignoreExpr = ignore
+        self.mayReturnEmpty = True
+        self.mayIndexError = False
+        self.includeMatch = include
+        self.asList = False
+        if isinstance(failOn, basestring):
+            self.failOn = ParserElement._literalStringClass(failOn)
+        else:
+            self.failOn = failOn
+        self.errmsg = "No match found for "+_ustr(self.expr)
+
+    def parseImpl( self, instring, loc, doActions=True ):
+        startloc = loc
+        instrlen = len(instring)
+        expr = self.expr
+        expr_parse = self.expr._parse
+        self_failOn_canParseNext = self.failOn.canParseNext if self.failOn is not None else None
+        self_ignoreExpr_tryParse = self.ignoreExpr.tryParse if self.ignoreExpr is not None else None
+        
+        tmploc = loc
+        while tmploc <= instrlen:
+            if self_failOn_canParseNext is not None:
+                # break if failOn expression matches
+                if self_failOn_canParseNext(instring, tmploc):
+                    break
+                    
+            if self_ignoreExpr_tryParse is not None:
+                # advance past ignore expressions
+                while 1:
+                    try:
+                        tmploc = self_ignoreExpr_tryParse(instring, tmploc)
+                    except ParseBaseException:
+                        break
+            
+            try:
+                expr_parse(instring, tmploc, doActions=False, callPreParse=False)
+            except (ParseException, IndexError):
+                # no match, advance loc in string
+                tmploc += 1
+            else:
+                # matched skipto expr, done
+                break
+
+        else:
+            # ran off the end of the input string without matching skipto expr, fail
+            raise ParseException(instring, loc, self.errmsg, self)
+
+        # build up return values
+        loc = tmploc
+        skiptext = instring[startloc:loc]
+        skipresult = ParseResults(skiptext)
+        
+        if self.includeMatch:
+            loc, mat = expr_parse(instring,loc,doActions,callPreParse=False)
+            skipresult += mat
+
+        return loc, skipresult
+
+class Forward(ParseElementEnhance):
+    """
+    Forward declaration of an expression to be defined later -
+    used for recursive grammars, such as algebraic infix notation.
+    When the expression is known, it is assigned to the C{Forward} variable using the '<<' operator.
+
+    Note: take care when assigning to C{Forward} not to overlook precedence of operators.
+    Specifically, '|' has a lower precedence than '<<', so that::
+        fwdExpr << a | b | c
+    will actually be evaluated as::
+        (fwdExpr << a) | b | c
+    thereby leaving b and c out as parseable alternatives.  It is recommended that you
+    explicitly group the values inserted into the C{Forward}::
+        fwdExpr << (a | b | c)
+    Converting to use the '<<=' operator instead will avoid this problem.
+
+    See L{ParseResults.pprint} for an example of a recursive parser created using
+    C{Forward}.
+    """
+    def __init__( self, other=None ):
+        super(Forward,self).__init__( other, savelist=False )
+
+    def __lshift__( self, other ):
+        if isinstance( other, basestring ):
+            other = ParserElement._literalStringClass(other)
+        self.expr = other
+        self.strRepr = None
+        self.mayIndexError = self.expr.mayIndexError
+        self.mayReturnEmpty = self.expr.mayReturnEmpty
+        self.setWhitespaceChars( self.expr.whiteChars )
+        self.skipWhitespace = self.expr.skipWhitespace
+        self.saveAsList = self.expr.saveAsList
+        self.ignoreExprs.extend(self.expr.ignoreExprs)
+        return self
+        
+    def __ilshift__(self, other):
+        return self << other
+    
+    def leaveWhitespace( self ):
+        self.skipWhitespace = False
+        return self
+
+    def streamline( self ):
+        if not self.streamlined:
+            self.streamlined = True
+            if self.expr is not None:
+                self.expr.streamline()
+        return self
+
+    def validate( self, validateTrace=[] ):
+        if self not in validateTrace:
+            tmp = validateTrace[:]+[self]
+            if self.expr is not None:
+                self.expr.validate(tmp)
+        self.checkRecursion([])
+
+    def __str__( self ):
+        if hasattr(self,"name"):
+            return self.name
+        return self.__class__.__name__ + ": ..."
+
+        # stubbed out for now - creates awful memory and perf issues
+        self._revertClass = self.__class__
+        self.__class__ = _ForwardNoRecurse
+        try:
+            if self.expr is not None:
+                retString = _ustr(self.expr)
+            else:
+                retString = "None"
+        finally:
+            self.__class__ = self._revertClass
+        return self.__class__.__name__ + ": " + retString
+
+    def copy(self):
+        if self.expr is not None:
+            return super(Forward,self).copy()
+        else:
+            ret = Forward()
+            ret <<= self
+            return ret
+
+class _ForwardNoRecurse(Forward):
+    def __str__( self ):
+        return "..."
+
+class TokenConverter(ParseElementEnhance):
+    """
+    Abstract subclass of C{ParseExpression}, for converting parsed results.
+    """
+    def __init__( self, expr, savelist=False ):
+        super(TokenConverter,self).__init__( expr )#, savelist )
+        self.saveAsList = False
+
+class Combine(TokenConverter):
+    """
+    Converter to concatenate all matching tokens to a single string.
+    By default, the matching patterns must also be contiguous in the input string;
+    this can be disabled by specifying C{'adjacent=False'} in the constructor.
+
+    Example::
+        real = Word(nums) + '.' + Word(nums)
+        print(real.parseString('3.1416')) # -> ['3', '.', '1416']
+        # will also erroneously match the following
+        print(real.parseString('3. 1416')) # -> ['3', '.', '1416']
+
+        real = Combine(Word(nums) + '.' + Word(nums))
+        print(real.parseString('3.1416')) # -> ['3.1416']
+        # no match when there are internal spaces
+        print(real.parseString('3. 1416')) # -> Exception: Expected W:(0123...)
+    """
+    def __init__( self, expr, joinString="", adjacent=True ):
+        super(Combine,self).__init__( expr )
+        # suppress whitespace-stripping in contained parse expressions, but re-enable it on the Combine itself
+        if adjacent:
+            self.leaveWhitespace()
+        self.adjacent = adjacent
+        self.skipWhitespace = True
+        self.joinString = joinString
+        self.callPreparse = True
+
+    def ignore( self, other ):
+        if self.adjacent:
+            ParserElement.ignore(self, other)
+        else:
+            super( Combine, self).ignore( other )
+        return self
+
+    def postParse( self, instring, loc, tokenlist ):
+        retToks = tokenlist.copy()
+        del retToks[:]
+        retToks += ParseResults([ "".join(tokenlist._asStringList(self.joinString)) ], modal=self.modalResults)
+
+        if self.resultsName and retToks.haskeys():
+            return [ retToks ]
+        else:
+            return retToks
+
+class Group(TokenConverter):
+    """
+    Converter to return the matched tokens as a list - useful for returning tokens of C{L{ZeroOrMore}} and C{L{OneOrMore}} expressions.
+
+    Example::
+        ident = Word(alphas)
+        num = Word(nums)
+        term = ident | num
+        func = ident + Optional(delimitedList(term))
+        print(func.parseString("fn a,b,100"))  # -> ['fn', 'a', 'b', '100']
+
+        func = ident + Group(Optional(delimitedList(term)))
+        print(func.parseString("fn a,b,100"))  # -> ['fn', ['a', 'b', '100']]
+    """
+    def __init__( self, expr ):
+        super(Group,self).__init__( expr )
+        self.saveAsList = True
+
+    def postParse( self, instring, loc, tokenlist ):
+        return [ tokenlist ]
+
+class Dict(TokenConverter):
+    """
+    Converter to return a repetitive expression as a list, but also as a dictionary.
+    Each element can also be referenced using the first token in the expression as its key.
+    Useful for tabular report scraping when the first column can be used as a item key.
+
+    Example::
+        data_word = Word(alphas)
+        label = data_word + FollowedBy(':')
+        attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join))
+
+        text = "shape: SQUARE posn: upper left color: light blue texture: burlap"
+        attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join))
+        
+        # print attributes as plain groups
+        print(OneOrMore(attr_expr).parseString(text).dump())
+        
+        # instead of OneOrMore(expr), parse using Dict(OneOrMore(Group(expr))) - Dict will auto-assign names
+        result = Dict(OneOrMore(Group(attr_expr))).parseString(text)
+        print(result.dump())
+        
+        # access named fields as dict entries, or output as dict
+        print(result['shape'])        
+        print(result.asDict())
+    prints::
+        ['shape', 'SQUARE', 'posn', 'upper left', 'color', 'light blue', 'texture', 'burlap']
+
+        [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']]
+        - color: light blue
+        - posn: upper left
+        - shape: SQUARE
+        - texture: burlap
+        SQUARE
+        {'color': 'light blue', 'posn': 'upper left', 'texture': 'burlap', 'shape': 'SQUARE'}
+    See more examples at L{ParseResults} of accessing fields by results name.
+    """
+    def __init__( self, expr ):
+        super(Dict,self).__init__( expr )
+        self.saveAsList = True
+
+    def postParse( self, instring, loc, tokenlist ):
+        for i,tok in enumerate(tokenlist):
+            if len(tok) == 0:
+                continue
+            ikey = tok[0]
+            if isinstance(ikey,int):
+                ikey = _ustr(tok[0]).strip()
+            if len(tok)==1:
+                tokenlist[ikey] = _ParseResultsWithOffset("",i)
+            elif len(tok)==2 and not isinstance(tok[1],ParseResults):
+                tokenlist[ikey] = _ParseResultsWithOffset(tok[1],i)
+            else:
+                dictvalue = tok.copy() #ParseResults(i)
+                del dictvalue[0]
+                if len(dictvalue)!= 1 or (isinstance(dictvalue,ParseResults) and dictvalue.haskeys()):
+                    tokenlist[ikey] = _ParseResultsWithOffset(dictvalue,i)
+                else:
+                    tokenlist[ikey] = _ParseResultsWithOffset(dictvalue[0],i)
+
+        if self.resultsName:
+            return [ tokenlist ]
+        else:
+            return tokenlist
+
+
+class Suppress(TokenConverter):
+    """
+    Converter for ignoring the results of a parsed expression.
+
+    Example::
+        source = "a, b, c,d"
+        wd = Word(alphas)
+        wd_list1 = wd + ZeroOrMore(',' + wd)
+        print(wd_list1.parseString(source))
+
+        # often, delimiters that are useful during parsing are just in the
+        # way afterward - use Suppress to keep them out of the parsed output
+        wd_list2 = wd + ZeroOrMore(Suppress(',') + wd)
+        print(wd_list2.parseString(source))
+    prints::
+        ['a', ',', 'b', ',', 'c', ',', 'd']
+        ['a', 'b', 'c', 'd']
+    (See also L{delimitedList}.)
+    """
+    def postParse( self, instring, loc, tokenlist ):
+        return []
+
+    def suppress( self ):
+        return self
+
+
+class OnlyOnce(object):
+    """
+    Wrapper for parse actions, to ensure they are only called once.
+    """
+    def __init__(self, methodCall):
+        self.callable = _trim_arity(methodCall)
+        self.called = False
+    def __call__(self,s,l,t):
+        if not self.called:
+            results = self.callable(s,l,t)
+            self.called = True
+            return results
+        raise ParseException(s,l,"")
+    def reset(self):
+        self.called = False
+
+def traceParseAction(f):
+    """
+    Decorator for debugging parse actions. 
+    
+    When the parse action is called, this decorator will print C{">> entering I{method-name}(line:I{current_source_line}, I{parse_location}, I{matched_tokens})".}
+    When the parse action completes, the decorator will print C{"<<"} followed by the returned value, or any exception that the parse action raised.
+
+    Example::
+        wd = Word(alphas)
+
+        @traceParseAction
+        def remove_duplicate_chars(tokens):
+            return ''.join(sorted(set(''.join(tokens))))
+
+        wds = OneOrMore(wd).setParseAction(remove_duplicate_chars)
+        print(wds.parseString("slkdjs sld sldd sdlf sdljf"))
+    prints::
+        >>entering remove_duplicate_chars(line: 'slkdjs sld sldd sdlf sdljf', 0, (['slkdjs', 'sld', 'sldd', 'sdlf', 'sdljf'], {}))
+        <<leaving remove_duplicate_chars (ret: 'dfjkls')
+        ['dfjkls']
+    """
+    f = _trim_arity(f)
+    def z(*paArgs):
+        thisFunc = f.__name__
+        s,l,t = paArgs[-3:]
+        if len(paArgs)>3:
+            thisFunc = paArgs[0].__class__.__name__ + '.' + thisFunc
+        sys.stderr.write( ">>entering %s(line: '%s', %d, %r)\n" % (thisFunc,line(l,s),l,t) )
+        try:
+            ret = f(*paArgs)
+        except Exception as exc:
+            sys.stderr.write( "<<leaving %s (exception: %s)\n" % (thisFunc,exc) )
+            raise
+        sys.stderr.write( "<<leaving %s (ret: %r)\n" % (thisFunc,ret) )
+        return ret
+    try:
+        z.__name__ = f.__name__
+    except AttributeError:
+        pass
+    return z
+
+#
+# global helpers
+#
+def delimitedList( expr, delim=",", combine=False ):
+    """
+    Helper to define a delimited list of expressions - the delimiter defaults to ','.
+    By default, the list elements and delimiters can have intervening whitespace, and
+    comments, but this can be overridden by passing C{combine=True} in the constructor.
+    If C{combine} is set to C{True}, the matching tokens are returned as a single token
+    string, with the delimiters included; otherwise, the matching tokens are returned
+    as a list of tokens, with the delimiters suppressed.
+
+    Example::
+        delimitedList(Word(alphas)).parseString("aa,bb,cc") # -> ['aa', 'bb', 'cc']
+        delimitedList(Word(hexnums), delim=':', combine=True).parseString("AA:BB:CC:DD:EE") # -> ['AA:BB:CC:DD:EE']
+    """
+    dlName = _ustr(expr)+" ["+_ustr(delim)+" "+_ustr(expr)+"]..."
+    if combine:
+        return Combine( expr + ZeroOrMore( delim + expr ) ).setName(dlName)
+    else:
+        return ( expr + ZeroOrMore( Suppress( delim ) + expr ) ).setName(dlName)
+
+def countedArray( expr, intExpr=None ):
+    """
+    Helper to define a counted list of expressions.
+    This helper defines a pattern of the form::
+        integer expr expr expr...
+    where the leading integer tells how many expr expressions follow.
+    The matched tokens returns the array of expr tokens as a list - the leading count token is suppressed.
+    
+    If C{intExpr} is specified, it should be a pyparsing expression that produces an integer value.
+
+    Example::
+        countedArray(Word(alphas)).parseString('2 ab cd ef')  # -> ['ab', 'cd']
+
+        # in this parser, the leading integer value is given in binary,
+        # '10' indicating that 2 values are in the array
+        binaryConstant = Word('01').setParseAction(lambda t: int(t[0], 2))
+        countedArray(Word(alphas), intExpr=binaryConstant).parseString('10 ab cd ef')  # -> ['ab', 'cd']
+    """
+    arrayExpr = Forward()
+    def countFieldParseAction(s,l,t):
+        n = t[0]
+        arrayExpr << (n and Group(And([expr]*n)) or Group(empty))
+        return []
+    if intExpr is None:
+        intExpr = Word(nums).setParseAction(lambda t:int(t[0]))
+    else:
+        intExpr = intExpr.copy()
+    intExpr.setName("arrayLen")
+    intExpr.addParseAction(countFieldParseAction, callDuringTry=True)
+    return ( intExpr + arrayExpr ).setName('(len) ' + _ustr(expr) + '...')
+
+def _flatten(L):
+    ret = []
+    for i in L:
+        if isinstance(i,list):
+            ret.extend(_flatten(i))
+        else:
+            ret.append(i)
+    return ret
+
+def matchPreviousLiteral(expr):
+    """
+    Helper to define an expression that is indirectly defined from
+    the tokens matched in a previous expression, that is, it looks
+    for a 'repeat' of a previous expression.  For example::
+        first = Word(nums)
+        second = matchPreviousLiteral(first)
+        matchExpr = first + ":" + second
+    will match C{"1:1"}, but not C{"1:2"}.  Because this matches a
+    previous literal, will also match the leading C{"1:1"} in C{"1:10"}.
+    If this is not desired, use C{matchPreviousExpr}.
+    Do I{not} use with packrat parsing enabled.
+    """
+    rep = Forward()
+    def copyTokenToRepeater(s,l,t):
+        if t:
+            if len(t) == 1:
+                rep << t[0]
+            else:
+                # flatten t tokens
+                tflat = _flatten(t.asList())
+                rep << And(Literal(tt) for tt in tflat)
+        else:
+            rep << Empty()
+    expr.addParseAction(copyTokenToRepeater, callDuringTry=True)
+    rep.setName('(prev) ' + _ustr(expr))
+    return rep
+
+def matchPreviousExpr(expr):
+    """
+    Helper to define an expression that is indirectly defined from
+    the tokens matched in a previous expression, that is, it looks
+    for a 'repeat' of a previous expression.  For example::
+        first = Word(nums)
+        second = matchPreviousExpr(first)
+        matchExpr = first + ":" + second
+    will match C{"1:1"}, but not C{"1:2"}.  Because this matches by
+    expressions, will I{not} match the leading C{"1:1"} in C{"1:10"};
+    the expressions are evaluated first, and then compared, so
+    C{"1"} is compared with C{"10"}.
+    Do I{not} use with packrat parsing enabled.
+    """
+    rep = Forward()
+    e2 = expr.copy()
+    rep <<= e2
+    def copyTokenToRepeater(s,l,t):
+        matchTokens = _flatten(t.asList())
+        def mustMatchTheseTokens(s,l,t):
+            theseTokens = _flatten(t.asList())
+            if  theseTokens != matchTokens:
+                raise ParseException("",0,"")
+        rep.setParseAction( mustMatchTheseTokens, callDuringTry=True )
+    expr.addParseAction(copyTokenToRepeater, callDuringTry=True)
+    rep.setName('(prev) ' + _ustr(expr))
+    return rep
+
+def _escapeRegexRangeChars(s):
+    #~  escape these chars: ^-]
+    for c in r"\^-]":
+        s = s.replace(c,_bslash+c)
+    s = s.replace("\n",r"\n")
+    s = s.replace("\t",r"\t")
+    return _ustr(s)
+
+def oneOf( strs, caseless=False, useRegex=True ):
+    """
+    Helper to quickly define a set of alternative Literals, and makes sure to do
+    longest-first testing when there is a conflict, regardless of the input order,
+    but returns a C{L{MatchFirst}} for best performance.
+
+    Parameters:
+     - strs - a string of space-delimited literals, or a collection of string literals
+     - caseless - (default=C{False}) - treat all literals as caseless
+     - useRegex - (default=C{True}) - as an optimization, will generate a Regex
+          object; otherwise, will generate a C{MatchFirst} object (if C{caseless=True}, or
+          if creating a C{Regex} raises an exception)
+
+    Example::
+        comp_oper = oneOf("< = > <= >= !=")
+        var = Word(alphas)
+        number = Word(nums)
+        term = var | number
+        comparison_expr = term + comp_oper + term
+        print(comparison_expr.searchString("B = 12  AA=23 B<=AA AA>12"))
+    prints::
+        [['B', '=', '12'], ['AA', '=', '23'], ['B', '<=', 'AA'], ['AA', '>', '12']]
+    """
+    if caseless:
+        isequal = ( lambda a,b: a.upper() == b.upper() )
+        masks = ( lambda a,b: b.upper().startswith(a.upper()) )
+        parseElementClass = CaselessLiteral
+    else:
+        isequal = ( lambda a,b: a == b )
+        masks = ( lambda a,b: b.startswith(a) )
+        parseElementClass = Literal
+
+    symbols = []
+    if isinstance(strs,basestring):
+        symbols = strs.split()
+    elif isinstance(strs, Iterable):
+        symbols = list(strs)
+    else:
+        warnings.warn("Invalid argument to oneOf, expected string or iterable",
+                SyntaxWarning, stacklevel=2)
+    if not symbols:
+        return NoMatch()
+
+    i = 0
+    while i < len(symbols)-1:
+        cur = symbols[i]
+        for j,other in enumerate(symbols[i+1:]):
+            if ( isequal(other, cur) ):
+                del symbols[i+j+1]
+                break
+            elif ( masks(cur, other) ):
+                del symbols[i+j+1]
+                symbols.insert(i,other)
+                cur = other
+                break
+        else:
+            i += 1
+
+    if not caseless and useRegex:
+        #~ print (strs,"->", "|".join( [ _escapeRegexChars(sym) for sym in symbols] ))
+        try:
+            if len(symbols)==len("".join(symbols)):
+                return Regex( "[%s]" % "".join(_escapeRegexRangeChars(sym) for sym in symbols) ).setName(' | '.join(symbols))
+            else:
+                return Regex( "|".join(re.escape(sym) for sym in symbols) ).setName(' | '.join(symbols))
+        except Exception:
+            warnings.warn("Exception creating Regex for oneOf, building MatchFirst",
+                    SyntaxWarning, stacklevel=2)
+
+
+    # last resort, just use MatchFirst
+    return MatchFirst(parseElementClass(sym) for sym in symbols).setName(' | '.join(symbols))
+
+def dictOf( key, value ):
+    """
+    Helper to easily and clearly define a dictionary by specifying the respective patterns
+    for the key and value.  Takes care of defining the C{L{Dict}}, C{L{ZeroOrMore}}, and C{L{Group}} tokens
+    in the proper order.  The key pattern can include delimiting markers or punctuation,
+    as long as they are suppressed, thereby leaving the significant key text.  The value
+    pattern can include named results, so that the C{Dict} results can include named token
+    fields.
+
+    Example::
+        text = "shape: SQUARE posn: upper left color: light blue texture: burlap"
+        attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join))
+        print(OneOrMore(attr_expr).parseString(text).dump())
+        
+        attr_label = label
+        attr_value = Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)
+
+        # similar to Dict, but simpler call format
+        result = dictOf(attr_label, attr_value).parseString(text)
+        print(result.dump())
+        print(result['shape'])
+        print(result.shape)  # object attribute access works too
+        print(result.asDict())
+    prints::
+        [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']]
+        - color: light blue
+        - posn: upper left
+        - shape: SQUARE
+        - texture: burlap
+        SQUARE
+        SQUARE
+        {'color': 'light blue', 'shape': 'SQUARE', 'posn': 'upper left', 'texture': 'burlap'}
+    """
+    return Dict( ZeroOrMore( Group ( key + value ) ) )
+
+def originalTextFor(expr, asString=True):
+    """
+    Helper to return the original, untokenized text for a given expression.  Useful to
+    restore the parsed fields of an HTML start tag into the raw tag text itself, or to
+    revert separate tokens with intervening whitespace back to the original matching
+    input text. By default, returns astring containing the original parsed text.  
+       
+    If the optional C{asString} argument is passed as C{False}, then the return value is a 
+    C{L{ParseResults}} containing any results names that were originally matched, and a 
+    single token containing the original matched text from the input string.  So if 
+    the expression passed to C{L{originalTextFor}} contains expressions with defined
+    results names, you must set C{asString} to C{False} if you want to preserve those
+    results name values.
+
+    Example::
+        src = "this is test <b> bold <i>text</i> </b> normal text "
+        for tag in ("b","i"):
+            opener,closer = makeHTMLTags(tag)
+            patt = originalTextFor(opener + SkipTo(closer) + closer)
+            print(patt.searchString(src)[0])
+    prints::
+        ['<b> bold <i>text</i> </b>']
+        ['<i>text</i>']
+    """
+    locMarker = Empty().setParseAction(lambda s,loc,t: loc)
+    endlocMarker = locMarker.copy()
+    endlocMarker.callPreparse = False
+    matchExpr = locMarker("_original_start") + expr + endlocMarker("_original_end")
+    if asString:
+        extractText = lambda s,l,t: s[t._original_start:t._original_end]
+    else:
+        def extractText(s,l,t):
+            t[:] = [s[t.pop('_original_start'):t.pop('_original_end')]]
+    matchExpr.setParseAction(extractText)
+    matchExpr.ignoreExprs = expr.ignoreExprs
+    return matchExpr
+
+def ungroup(expr): 
+    """
+    Helper to undo pyparsing's default grouping of And expressions, even
+    if all but one are non-empty.
+    """
+    return TokenConverter(expr).setParseAction(lambda t:t[0])
+
+def locatedExpr(expr):
+    """
+    Helper to decorate a returned token with its starting and ending locations in the input string.
+    This helper adds the following results names:
+     - locn_start = location where matched expression begins
+     - locn_end = location where matched expression ends
+     - value = the actual parsed results
+
+    Be careful if the input text contains C{<TAB>} characters, you may want to call
+    C{L{ParserElement.parseWithTabs}}
+
+    Example::
+        wd = Word(alphas)
+        for match in locatedExpr(wd).searchString("ljsdf123lksdjjf123lkkjj1222"):
+            print(match)
+    prints::
+        [[0, 'ljsdf', 5]]
+        [[8, 'lksdjjf', 15]]
+        [[18, 'lkkjj', 23]]
+    """
+    locator = Empty().setParseAction(lambda s,l,t: l)
+    return Group(locator("locn_start") + expr("value") + locator.copy().leaveWhitespace()("locn_end"))
+
+
+# convenience constants for positional expressions
+empty       = Empty().setName("empty")
+lineStart   = LineStart().setName("lineStart")
+lineEnd     = LineEnd().setName("lineEnd")
+stringStart = StringStart().setName("stringStart")
+stringEnd   = StringEnd().setName("stringEnd")
+
+_escapedPunc = Word( _bslash, r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1])
+_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:unichr(int(t[0].lstrip(r'\0x'),16)))
+_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:unichr(int(t[0][1:],8)))
+_singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | CharsNotIn(r'\]', exact=1)
+_charRange = Group(_singleChar + Suppress("-") + _singleChar)
+_reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]"
+
+def srange(s):
+    r"""
+    Helper to easily define string ranges for use in Word construction.  Borrows
+    syntax from regexp '[]' string range definitions::
+        srange("[0-9]")   -> "0123456789"
+        srange("[a-z]")   -> "abcdefghijklmnopqrstuvwxyz"
+        srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_"
+    The input string must be enclosed in []'s, and the returned string is the expanded
+    character set joined into a single string.
+    The values enclosed in the []'s may be:
+     - a single character
+     - an escaped character with a leading backslash (such as C{\-} or C{\]})
+     - an escaped hex character with a leading C{'\x'} (C{\x21}, which is a C{'!'} character) 
+         (C{\0x##} is also supported for backwards compatibility) 
+     - an escaped octal character with a leading C{'\0'} (C{\041}, which is a C{'!'} character)
+     - a range of any of the above, separated by a dash (C{'a-z'}, etc.)
+     - any combination of the above (C{'aeiouy'}, C{'a-zA-Z0-9_$'}, etc.)
+    """
+    _expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(unichr(c) for c in range(ord(p[0]),ord(p[1])+1))
+    try:
+        return "".join(_expanded(part) for part in _reBracketExpr.parseString(s).body)
+    except Exception:
+        return ""
+
+def matchOnlyAtCol(n):
+    """
+    Helper method for defining parse actions that require matching at a specific
+    column in the input text.
+    """
+    def verifyCol(strg,locn,toks):
+        if col(locn,strg) != n:
+            raise ParseException(strg,locn,"matched token not at column %d" % n)
+    return verifyCol
+
+def replaceWith(replStr):
+    """
+    Helper method for common parse actions that simply return a literal value.  Especially
+    useful when used with C{L{transformString<ParserElement.transformString>}()}.
+
+    Example::
+        num = Word(nums).setParseAction(lambda toks: int(toks[0]))
+        na = oneOf("N/A NA").setParseAction(replaceWith(math.nan))
+        term = na | num
+        
+        OneOrMore(term).parseString("324 234 N/A 234") # -> [324, 234, nan, 234]
+    """
+    return lambda s,l,t: [replStr]
+
+def removeQuotes(s,l,t):
+    """
+    Helper parse action for removing quotation marks from parsed quoted strings.
+
+    Example::
+        # by default, quotation marks are included in parsed results
+        quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["'Now is the Winter of our Discontent'"]
+
+        # use removeQuotes to strip quotation marks from parsed results
+        quotedString.setParseAction(removeQuotes)
+        quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["Now is the Winter of our Discontent"]
+    """
+    return t[0][1:-1]
+
+def tokenMap(func, *args):
+    """
+    Helper to define a parse action by mapping a function to all elements of a ParseResults list.If any additional 
+    args are passed, they are forwarded to the given function as additional arguments after
+    the token, as in C{hex_integer = Word(hexnums).setParseAction(tokenMap(int, 16))}, which will convert the
+    parsed data to an integer using base 16.
+
+    Example (compare the last to example in L{ParserElement.transformString}::
+        hex_ints = OneOrMore(Word(hexnums)).setParseAction(tokenMap(int, 16))
+        hex_ints.runTests('''
+            00 11 22 aa FF 0a 0d 1a
+            ''')
+        
+        upperword = Word(alphas).setParseAction(tokenMap(str.upper))
+        OneOrMore(upperword).runTests('''
+            my kingdom for a horse
+            ''')
+
+        wd = Word(alphas).setParseAction(tokenMap(str.title))
+        OneOrMore(wd).setParseAction(' '.join).runTests('''
+            now is the winter of our discontent made glorious summer by this sun of york
+            ''')
+    prints::
+        00 11 22 aa FF 0a 0d 1a
+        [0, 17, 34, 170, 255, 10, 13, 26]
+
+        my kingdom for a horse
+        ['MY', 'KINGDOM', 'FOR', 'A', 'HORSE']
+
+        now is the winter of our discontent made glorious summer by this sun of york
+        ['Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York']
+    """
+    def pa(s,l,t):
+        return [func(tokn, *args) for tokn in t]
+
+    try:
+        func_name = getattr(func, '__name__', 
+                            getattr(func, '__class__').__name__)
+    except Exception:
+        func_name = str(func)
+    pa.__name__ = func_name
+
+    return pa
+
+upcaseTokens = tokenMap(lambda t: _ustr(t).upper())
+"""(Deprecated) Helper parse action to convert tokens to upper case. Deprecated in favor of L{pyparsing_common.upcaseTokens}"""
+
+downcaseTokens = tokenMap(lambda t: _ustr(t).lower())
+"""(Deprecated) Helper parse action to convert tokens to lower case. Deprecated in favor of L{pyparsing_common.downcaseTokens}"""
+    
+def _makeTags(tagStr, xml):
+    """Internal helper to construct opening and closing tag expressions, given a tag name"""
+    if isinstance(tagStr,basestring):
+        resname = tagStr
+        tagStr = Keyword(tagStr, caseless=not xml)
+    else:
+        resname = tagStr.name
+
+    tagAttrName = Word(alphas,alphanums+"_-:")
+    if (xml):
+        tagAttrValue = dblQuotedString.copy().setParseAction( removeQuotes )
+        openTag = Suppress("<") + tagStr("tag") + \
+                Dict(ZeroOrMore(Group( tagAttrName + Suppress("=") + tagAttrValue ))) + \
+                Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">")
+    else:
+        printablesLessRAbrack = "".join(c for c in printables if c not in ">")
+        tagAttrValue = quotedString.copy().setParseAction( removeQuotes ) | Word(printablesLessRAbrack)
+        openTag = Suppress("<") + tagStr("tag") + \
+                Dict(ZeroOrMore(Group( tagAttrName.setParseAction(downcaseTokens) + \
+                Optional( Suppress("=") + tagAttrValue ) ))) + \
+                Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">")
+    closeTag = Combine(_L("</") + tagStr + ">")
+
+    openTag = openTag.setResultsName("start"+"".join(resname.replace(":"," ").title().split())).setName("<%s>" % resname)
+    closeTag = closeTag.setResultsName("end"+"".join(resname.replace(":"," ").title().split())).setName("</%s>" % resname)
+    openTag.tag = resname
+    closeTag.tag = resname
+    return openTag, closeTag
+
+def makeHTMLTags(tagStr):
+    """
+    Helper to construct opening and closing tag expressions for HTML, given a tag name. Matches
+    tags in either upper or lower case, attributes with namespaces and with quoted or unquoted values.
+
+    Example::
+        text = '<td>More info at the <a href="http://pyparsing.wikispaces.com">pyparsing</a> wiki page</td>'
+        # makeHTMLTags returns pyparsing expressions for the opening and closing tags as a 2-tuple
+        a,a_end = makeHTMLTags("A")
+        link_expr = a + SkipTo(a_end)("link_text") + a_end
+        
+        for link in link_expr.searchString(text):
+            # attributes in the <A> tag (like "href" shown here) are also accessible as named results
+            print(link.link_text, '->', link.href)
+    prints::
+        pyparsing -> http://pyparsing.wikispaces.com
+    """
+    return _makeTags( tagStr, False )
+
+def makeXMLTags(tagStr):
+    """
+    Helper to construct opening and closing tag expressions for XML, given a tag name. Matches
+    tags only in the given upper/lower case.
+
+    Example: similar to L{makeHTMLTags}
+    """
+    return _makeTags( tagStr, True )
+
+def withAttribute(*args,**attrDict):
+    """
+    Helper to create a validating parse action to be used with start tags created
+    with C{L{makeXMLTags}} or C{L{makeHTMLTags}}. Use C{withAttribute} to qualify a starting tag
+    with a required attribute value, to avoid false matches on common tags such as
+    C{<TD>} or C{<DIV>}.
+
+    Call C{withAttribute} with a series of attribute names and values. Specify the list
+    of filter attributes names and values as:
+     - keyword arguments, as in C{(align="right")}, or
+     - as an explicit dict with C{**} operator, when an attribute name is also a Python
+          reserved word, as in C{**{"class":"Customer", "align":"right"}}
+     - a list of name-value tuples, as in ( ("ns1:class", "Customer"), ("ns2:align","right") )
+    For attribute names with a namespace prefix, you must use the second form.  Attribute
+    names are matched insensitive to upper/lower case.
+       
+    If just testing for C{class} (with or without a namespace), use C{L{withClass}}.
+
+    To verify that the attribute exists, but without specifying a value, pass
+    C{withAttribute.ANY_VALUE} as the value.
+
+    Example::
+        html = '''
+            <div>
+            Some text
+            <div type="grid">1 4 0 1 0</div>
+            <div type="graph">1,3 2,3 1,1</div>
+            <div>this has no type</div>
+            </div>
+                
+        '''
+        div,div_end = makeHTMLTags("div")
+
+        # only match div tag having a type attribute with value "grid"
+        div_grid = div().setParseAction(withAttribute(type="grid"))
+        grid_expr = div_grid + SkipTo(div | div_end)("body")
+        for grid_header in grid_expr.searchString(html):
+            print(grid_header.body)
+        
+        # construct a match with any div tag having a type attribute, regardless of the value
+        div_any_type = div().setParseAction(withAttribute(type=withAttribute.ANY_VALUE))
+        div_expr = div_any_type + SkipTo(div | div_end)("body")
+        for div_header in div_expr.searchString(html):
+            print(div_header.body)
+    prints::
+        1 4 0 1 0
+
+        1 4 0 1 0
+        1,3 2,3 1,1
+    """
+    if args:
+        attrs = args[:]
+    else:
+        attrs = attrDict.items()
+    attrs = [(k,v) for k,v in attrs]
+    def pa(s,l,tokens):
+        for attrName,attrValue in attrs:
+            if attrName not in tokens:
+                raise ParseException(s,l,"no matching attribute " + attrName)
+            if attrValue != withAttribute.ANY_VALUE and tokens[attrName] != attrValue:
+                raise ParseException(s,l,"attribute '%s' has value '%s', must be '%s'" %
+                                            (attrName, tokens[attrName], attrValue))
+    return pa
+withAttribute.ANY_VALUE = object()
+
+def withClass(classname, namespace=''):
+    """
+    Simplified version of C{L{withAttribute}} when matching on a div class - made
+    difficult because C{class} is a reserved word in Python.
+
+    Example::
+        html = '''
+            <div>
+            Some text
+            <div class="grid">1 4 0 1 0</div>
+            <div class="graph">1,3 2,3 1,1</div>
+            <div>this &lt;div&gt; has no class</div>
+            </div>
+                
+        '''
+        div,div_end = makeHTMLTags("div")
+        div_grid = div().setParseAction(withClass("grid"))
+        
+        grid_expr = div_grid + SkipTo(div | div_end)("body")
+        for grid_header in grid_expr.searchString(html):
+            print(grid_header.body)
+        
+        div_any_type = div().setParseAction(withClass(withAttribute.ANY_VALUE))
+        div_expr = div_any_type + SkipTo(div | div_end)("body")
+        for div_header in div_expr.searchString(html):
+            print(div_header.body)
+    prints::
+        1 4 0 1 0
+
+        1 4 0 1 0
+        1,3 2,3 1,1
+    """
+    classattr = "%s:class" % namespace if namespace else "class"
+    return withAttribute(**{classattr : classname})        
+
+opAssoc = _Constants()
+opAssoc.LEFT = object()
+opAssoc.RIGHT = object()
+
+def infixNotation( baseExpr, opList, lpar=Suppress('('), rpar=Suppress(')') ):
+    """
+    Helper method for constructing grammars of expressions made up of
+    operators working in a precedence hierarchy.  Operators may be unary or
+    binary, left- or right-associative.  Parse actions can also be attached
+    to operator expressions. The generated parser will also recognize the use 
+    of parentheses to override operator precedences (see example below).
+    
+    Note: if you define a deep operator list, you may see performance issues
+    when using infixNotation. See L{ParserElement.enablePackrat} for a
+    mechanism to potentially improve your parser performance.
+
+    Parameters:
+     - baseExpr - expression representing the most basic element for the nested
+     - opList - list of tuples, one for each operator precedence level in the
+      expression grammar; each tuple is of the form
+      (opExpr, numTerms, rightLeftAssoc, parseAction), where:
+       - opExpr is the pyparsing expression for the operator;
+          may also be a string, which will be converted to a Literal;
+          if numTerms is 3, opExpr is a tuple of two expressions, for the
+          two operators separating the 3 terms
+       - numTerms is the number of terms for this operator (must
+          be 1, 2, or 3)
+       - rightLeftAssoc is the indicator whether the operator is
+          right or left associative, using the pyparsing-defined
+          constants C{opAssoc.RIGHT} and C{opAssoc.LEFT}.
+       - parseAction is the parse action to be associated with
+          expressions matching this operator expression (the
+          parse action tuple member may be omitted); if the parse action
+          is passed a tuple or list of functions, this is equivalent to
+          calling C{setParseAction(*fn)} (L{ParserElement.setParseAction})
+     - lpar - expression for matching left-parentheses (default=C{Suppress('(')})
+     - rpar - expression for matching right-parentheses (default=C{Suppress(')')})
+
+    Example::
+        # simple example of four-function arithmetic with ints and variable names
+        integer = pyparsing_common.signed_integer
+        varname = pyparsing_common.identifier 
+        
+        arith_expr = infixNotation(integer | varname,
+            [
+            ('-', 1, opAssoc.RIGHT),
+            (oneOf('* /'), 2, opAssoc.LEFT),
+            (oneOf('+ -'), 2, opAssoc.LEFT),
+            ])
+        
+        arith_expr.runTests('''
+            5+3*6
+            (5+3)*6
+            -2--11
+            ''', fullDump=False)
+    prints::
+        5+3*6
+        [[5, '+', [3, '*', 6]]]
+
+        (5+3)*6
+        [[[5, '+', 3], '*', 6]]
+
+        -2--11
+        [[['-', 2], '-', ['-', 11]]]
+    """
+    ret = Forward()
+    lastExpr = baseExpr | ( lpar + ret + rpar )
+    for i,operDef in enumerate(opList):
+        opExpr,arity,rightLeftAssoc,pa = (operDef + (None,))[:4]
+        termName = "%s term" % opExpr if arity < 3 else "%s%s term" % opExpr
+        if arity == 3:
+            if opExpr is None or len(opExpr) != 2:
+                raise ValueError("if numterms=3, opExpr must be a tuple or list of two expressions")
+            opExpr1, opExpr2 = opExpr
+        thisExpr = Forward().setName(termName)
+        if rightLeftAssoc == opAssoc.LEFT:
+            if arity == 1:
+                matchExpr = FollowedBy(lastExpr + opExpr) + Group( lastExpr + OneOrMore( opExpr ) )
+            elif arity == 2:
+                if opExpr is not None:
+                    matchExpr = FollowedBy(lastExpr + opExpr + lastExpr) + Group( lastExpr + OneOrMore( opExpr + lastExpr ) )
+                else:
+                    matchExpr = FollowedBy(lastExpr+lastExpr) + Group( lastExpr + OneOrMore(lastExpr) )
+            elif arity == 3:
+                matchExpr = FollowedBy(lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr) + \
+                            Group( lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr )
+            else:
+                raise ValueError("operator must be unary (1), binary (2), or ternary (3)")
+        elif rightLeftAssoc == opAssoc.RIGHT:
+            if arity == 1:
+                # try to avoid LR with this extra test
+                if not isinstance(opExpr, Optional):
+                    opExpr = Optional(opExpr)
+                matchExpr = FollowedBy(opExpr.expr + thisExpr) + Group( opExpr + thisExpr )
+            elif arity == 2:
+                if opExpr is not None:
+                    matchExpr = FollowedBy(lastExpr + opExpr + thisExpr) + Group( lastExpr + OneOrMore( opExpr + thisExpr ) )
+                else:
+                    matchExpr = FollowedBy(lastExpr + thisExpr) + Group( lastExpr + OneOrMore( thisExpr ) )
+            elif arity == 3:
+                matchExpr = FollowedBy(lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr) + \
+                            Group( lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr )
+            else:
+                raise ValueError("operator must be unary (1), binary (2), or ternary (3)")
+        else:
+            raise ValueError("operator must indicate right or left associativity")
+        if pa:
+            if isinstance(pa, (tuple, list)):
+                matchExpr.setParseAction(*pa)
+            else:
+                matchExpr.setParseAction(pa)
+        thisExpr <<= ( matchExpr.setName(termName) | lastExpr )
+        lastExpr = thisExpr
+    ret <<= lastExpr
+    return ret
+
+operatorPrecedence = infixNotation
+"""(Deprecated) Former name of C{L{infixNotation}}, will be dropped in a future release."""
+
+dblQuotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"').setName("string enclosed in double quotes")
+sglQuotedString = Combine(Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("string enclosed in single quotes")
+quotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"'|
+                       Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("quotedString using single or double quotes")
+unicodeString = Combine(_L('u') + quotedString.copy()).setName("unicode string literal")
+
+def nestedExpr(opener="(", closer=")", content=None, ignoreExpr=quotedString.copy()):
+    """
+    Helper method for defining nested lists enclosed in opening and closing
+    delimiters ("(" and ")" are the default).
+
+    Parameters:
+     - opener - opening character for a nested list (default=C{"("}); can also be a pyparsing expression
+     - closer - closing character for a nested list (default=C{")"}); can also be a pyparsing expression
+     - content - expression for items within the nested lists (default=C{None})
+     - ignoreExpr - expression for ignoring opening and closing delimiters (default=C{quotedString})
+
+    If an expression is not provided for the content argument, the nested
+    expression will capture all whitespace-delimited content between delimiters
+    as a list of separate values.
+
+    Use the C{ignoreExpr} argument to define expressions that may contain
+    opening or closing characters that should not be treated as opening
+    or closing characters for nesting, such as quotedString or a comment
+    expression.  Specify multiple expressions using an C{L{Or}} or C{L{MatchFirst}}.
+    The default is L{quotedString}, but if no expressions are to be ignored,
+    then pass C{None} for this argument.
+
+    Example::
+        data_type = oneOf("void int short long char float double")
+        decl_data_type = Combine(data_type + Optional(Word('*')))
+        ident = Word(alphas+'_', alphanums+'_')
+        number = pyparsing_common.number
+        arg = Group(decl_data_type + ident)
+        LPAR,RPAR = map(Suppress, "()")
+
+        code_body = nestedExpr('{', '}', ignoreExpr=(quotedString | cStyleComment))
+
+        c_function = (decl_data_type("type") 
+                      + ident("name")
+                      + LPAR + Optional(delimitedList(arg), [])("args") + RPAR 
+                      + code_body("body"))
+        c_function.ignore(cStyleComment)
+        
+        source_code = '''
+            int is_odd(int x) { 
+                return (x%2); 
+            }
+                
+            int dec_to_hex(char hchar) { 
+                if (hchar >= '0' && hchar <= '9') { 
+                    return (ord(hchar)-ord('0')); 
+                } else { 
+                    return (10+ord(hchar)-ord('A'));
+                } 
+            }
+        '''
+        for func in c_function.searchString(source_code):
+            print("%(name)s (%(type)s) args: %(args)s" % func)
+
+    prints::
+        is_odd (int) args: [['int', 'x']]
+        dec_to_hex (int) args: [['char', 'hchar']]
+    """
+    if opener == closer:
+        raise ValueError("opening and closing strings cannot be the same")
+    if content is None:
+        if isinstance(opener,basestring) and isinstance(closer,basestring):
+            if len(opener) == 1 and len(closer)==1:
+                if ignoreExpr is not None:
+                    content = (Combine(OneOrMore(~ignoreExpr +
+                                    CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS,exact=1))
+                                ).setParseAction(lambda t:t[0].strip()))
+                else:
+                    content = (empty.copy()+CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS
+                                ).setParseAction(lambda t:t[0].strip()))
+            else:
+                if ignoreExpr is not None:
+                    content = (Combine(OneOrMore(~ignoreExpr + 
+                                    ~Literal(opener) + ~Literal(closer) +
+                                    CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1))
+                                ).setParseAction(lambda t:t[0].strip()))
+                else:
+                    content = (Combine(OneOrMore(~Literal(opener) + ~Literal(closer) +
+                                    CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1))
+                                ).setParseAction(lambda t:t[0].strip()))
+        else:
+            raise ValueError("opening and closing arguments must be strings if no content expression is given")
+    ret = Forward()
+    if ignoreExpr is not None:
+        ret <<= Group( Suppress(opener) + ZeroOrMore( ignoreExpr | ret | content ) + Suppress(closer) )
+    else:
+        ret <<= Group( Suppress(opener) + ZeroOrMore( ret | content )  + Suppress(closer) )
+    ret.setName('nested %s%s expression' % (opener,closer))
+    return ret
+
+def indentedBlock(blockStatementExpr, indentStack, indent=True):
+    """
+    Helper method for defining space-delimited indentation blocks, such as
+    those used to define block statements in Python source code.
+
+    Parameters:
+     - blockStatementExpr - expression defining syntax of statement that
+            is repeated within the indented block
+     - indentStack - list created by caller to manage indentation stack
+            (multiple statementWithIndentedBlock expressions within a single grammar
+            should share a common indentStack)
+     - indent - boolean indicating whether block must be indented beyond the
+            the current level; set to False for block of left-most statements
+            (default=C{True})
+
+    A valid block must contain at least one C{blockStatement}.
+
+    Example::
+        data = '''
+        def A(z):
+          A1
+          B = 100
+          G = A2
+          A2
+          A3
+        B
+        def BB(a,b,c):
+          BB1
+          def BBA():
+            bba1
+            bba2
+            bba3
+        C
+        D
+        def spam(x,y):
+             def eggs(z):
+                 pass
+        '''
+
+
+        indentStack = [1]
+        stmt = Forward()
+
+        identifier = Word(alphas, alphanums)
+        funcDecl = ("def" + identifier + Group( "(" + Optional( delimitedList(identifier) ) + ")" ) + ":")
+        func_body = indentedBlock(stmt, indentStack)
+        funcDef = Group( funcDecl + func_body )
+
+        rvalue = Forward()
+        funcCall = Group(identifier + "(" + Optional(delimitedList(rvalue)) + ")")
+        rvalue << (funcCall | identifier | Word(nums))
+        assignment = Group(identifier + "=" + rvalue)
+        stmt << ( funcDef | assignment | identifier )
+
+        module_body = OneOrMore(stmt)
+
+        parseTree = module_body.parseString(data)
+        parseTree.pprint()
+    prints::
+        [['def',
+          'A',
+          ['(', 'z', ')'],
+          ':',
+          [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]],
+         'B',
+         ['def',
+          'BB',
+          ['(', 'a', 'b', 'c', ')'],
+          ':',
+          [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]],
+         'C',
+         'D',
+         ['def',
+          'spam',
+          ['(', 'x', 'y', ')'],
+          ':',
+          [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] 
+    """
+    def checkPeerIndent(s,l,t):
+        if l >= len(s): return
+        curCol = col(l,s)
+        if curCol != indentStack[-1]:
+            if curCol > indentStack[-1]:
+                raise ParseFatalException(s,l,"illegal nesting")
+            raise ParseException(s,l,"not a peer entry")
+
+    def checkSubIndent(s,l,t):
+        curCol = col(l,s)
+        if curCol > indentStack[-1]:
+            indentStack.append( curCol )
+        else:
+            raise ParseException(s,l,"not a subentry")
+
+    def checkUnindent(s,l,t):
+        if l >= len(s): return
+        curCol = col(l,s)
+        if not(indentStack and curCol < indentStack[-1] and curCol <= indentStack[-2]):
+            raise ParseException(s,l,"not an unindent")
+        indentStack.pop()
+
+    NL = OneOrMore(LineEnd().setWhitespaceChars("\t ").suppress())
+    INDENT = (Empty() + Empty().setParseAction(checkSubIndent)).setName('INDENT')
+    PEER   = Empty().setParseAction(checkPeerIndent).setName('')
+    UNDENT = Empty().setParseAction(checkUnindent).setName('UNINDENT')
+    if indent:
+        smExpr = Group( Optional(NL) +
+            #~ FollowedBy(blockStatementExpr) +
+            INDENT + (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) + UNDENT)
+    else:
+        smExpr = Group( Optional(NL) +
+            (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) )
+    blockStatementExpr.ignore(_bslash + LineEnd())
+    return smExpr.setName('indented block')
+
+alphas8bit = srange(r"[\0xc0-\0xd6\0xd8-\0xf6\0xf8-\0xff]")
+punc8bit = srange(r"[\0xa1-\0xbf\0xd7\0xf7]")
+
+anyOpenTag,anyCloseTag = makeHTMLTags(Word(alphas,alphanums+"_:").setName('any tag'))
+_htmlEntityMap = dict(zip("gt lt amp nbsp quot apos".split(),'><& "\''))
+commonHTMLEntity = Regex('&(?P<entity>' + '|'.join(_htmlEntityMap.keys()) +");").setName("common HTML entity")
+def replaceHTMLEntity(t):
+    """Helper parser action to replace common HTML entities with their special characters"""
+    return _htmlEntityMap.get(t.entity)
+
+# it's easy to get these comment structures wrong - they're very common, so may as well make them available
+cStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/').setName("C style comment")
+"Comment of the form C{/* ... */}"
+
+htmlComment = Regex(r"<!--[\s\S]*?-->").setName("HTML comment")
+"Comment of the form C{<!-- ... -->}"
+
+restOfLine = Regex(r".*").leaveWhitespace().setName("rest of line")
+dblSlashComment = Regex(r"//(?:\\\n|[^\n])*").setName("// comment")
+"Comment of the form C{// ... (to end of line)}"
+
+cppStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/'| dblSlashComment).setName("C++ style comment")
+"Comment of either form C{L{cStyleComment}} or C{L{dblSlashComment}}"
+
+javaStyleComment = cppStyleComment
+"Same as C{L{cppStyleComment}}"
+
+pythonStyleComment = Regex(r"#.*").setName("Python style comment")
+"Comment of the form C{# ... (to end of line)}"
+
+_commasepitem = Combine(OneOrMore(Word(printables, excludeChars=',') +
+                                  Optional( Word(" \t") +
+                                            ~Literal(",") + ~LineEnd() ) ) ).streamline().setName("commaItem")
+commaSeparatedList = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("commaSeparatedList")
+"""(Deprecated) Predefined expression of 1 or more printable words or quoted strings, separated by commas.
+   This expression is deprecated in favor of L{pyparsing_common.comma_separated_list}."""
+
+# some other useful expressions - using lower-case class name since we are really using this as a namespace
+class pyparsing_common:
+    """
+    Here are some common low-level expressions that may be useful in jump-starting parser development:
+     - numeric forms (L{integers<integer>}, L{reals<real>}, L{scientific notation<sci_real>})
+     - common L{programming identifiers<identifier>}
+     - network addresses (L{MAC<mac_address>}, L{IPv4<ipv4_address>}, L{IPv6<ipv6_address>})
+     - ISO8601 L{dates<iso8601_date>} and L{datetime<iso8601_datetime>}
+     - L{UUID<uuid>}
+     - L{comma-separated list<comma_separated_list>}
+    Parse actions:
+     - C{L{convertToInteger}}
+     - C{L{convertToFloat}}
+     - C{L{convertToDate}}
+     - C{L{convertToDatetime}}
+     - C{L{stripHTMLTags}}
+     - C{L{upcaseTokens}}
+     - C{L{downcaseTokens}}
+
+    Example::
+        pyparsing_common.number.runTests('''
+            # any int or real number, returned as the appropriate type
+            100
+            -100
+            +100
+            3.14159
+            6.02e23
+            1e-12
+            ''')
+
+        pyparsing_common.fnumber.runTests('''
+            # any int or real number, returned as float
+            100
+            -100
+            +100
+            3.14159
+            6.02e23
+            1e-12
+            ''')
+
+        pyparsing_common.hex_integer.runTests('''
+            # hex numbers
+            100
+            FF
+            ''')
+
+        pyparsing_common.fraction.runTests('''
+            # fractions
+            1/2
+            -3/4
+            ''')
+
+        pyparsing_common.mixed_integer.runTests('''
+            # mixed fractions
+            1
+            1/2
+            -3/4
+            1-3/4
+            ''')
+
+        import uuid
+        pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID))
+        pyparsing_common.uuid.runTests('''
+            # uuid
+            12345678-1234-5678-1234-567812345678
+            ''')
+    prints::
+        # any int or real number, returned as the appropriate type
+        100
+        [100]
+
+        -100
+        [-100]
+
+        +100
+        [100]
+
+        3.14159
+        [3.14159]
+
+        6.02e23
+        [6.02e+23]
+
+        1e-12
+        [1e-12]
+
+        # any int or real number, returned as float
+        100
+        [100.0]
+
+        -100
+        [-100.0]
+
+        +100
+        [100.0]
+
+        3.14159
+        [3.14159]
+
+        6.02e23
+        [6.02e+23]
+
+        1e-12
+        [1e-12]
+
+        # hex numbers
+        100
+        [256]
+
+        FF
+        [255]
+
+        # fractions
+        1/2
+        [0.5]
+
+        -3/4
+        [-0.75]
+
+        # mixed fractions
+        1
+        [1]
+
+        1/2
+        [0.5]
+
+        -3/4
+        [-0.75]
+
+        1-3/4
+        [1.75]
+
+        # uuid
+        12345678-1234-5678-1234-567812345678
+        [UUID('12345678-1234-5678-1234-567812345678')]
+    """
+
+    convertToInteger = tokenMap(int)
+    """
+    Parse action for converting parsed integers to Python int
+    """
+
+    convertToFloat = tokenMap(float)
+    """
+    Parse action for converting parsed numbers to Python float
+    """
+
+    integer = Word(nums).setName("integer").setParseAction(convertToInteger)
+    """expression that parses an unsigned integer, returns an int"""
+
+    hex_integer = Word(hexnums).setName("hex integer").setParseAction(tokenMap(int,16))
+    """expression that parses a hexadecimal integer, returns an int"""
+
+    signed_integer = Regex(r'[+-]?\d+').setName("signed integer").setParseAction(convertToInteger)
+    """expression that parses an integer with optional leading sign, returns an int"""
+
+    fraction = (signed_integer().setParseAction(convertToFloat) + '/' + signed_integer().setParseAction(convertToFloat)).setName("fraction")
+    """fractional expression of an integer divided by an integer, returns a float"""
+    fraction.addParseAction(lambda t: t[0]/t[-1])
+
+    mixed_integer = (fraction | signed_integer + Optional(Optional('-').suppress() + fraction)).setName("fraction or mixed integer-fraction")
+    """mixed integer of the form 'integer - fraction', with optional leading integer, returns float"""
+    mixed_integer.addParseAction(sum)
+
+    real = Regex(r'[+-]?\d+\.\d*').setName("real number").setParseAction(convertToFloat)
+    """expression that parses a floating point number and returns a float"""
+
+    sci_real = Regex(r'[+-]?\d+([eE][+-]?\d+|\.\d*([eE][+-]?\d+)?)').setName("real number with scientific notation").setParseAction(convertToFloat)
+    """expression that parses a floating point number with optional scientific notation and returns a float"""
+
+    # streamlining this expression makes the docs nicer-looking
+    number = (sci_real | real | signed_integer).streamline()
+    """any numeric expression, returns the corresponding Python type"""
+
+    fnumber = Regex(r'[+-]?\d+\.?\d*([eE][+-]?\d+)?').setName("fnumber").setParseAction(convertToFloat)
+    """any int or real number, returned as float"""
+    
+    identifier = Word(alphas+'_', alphanums+'_').setName("identifier")
+    """typical code identifier (leading alpha or '_', followed by 0 or more alphas, nums, or '_')"""
+    
+    ipv4_address = Regex(r'(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})){3}').setName("IPv4 address")
+    "IPv4 address (C{0.0.0.0 - 255.255.255.255})"
+
+    _ipv6_part = Regex(r'[0-9a-fA-F]{1,4}').setName("hex_integer")
+    _full_ipv6_address = (_ipv6_part + (':' + _ipv6_part)*7).setName("full IPv6 address")
+    _short_ipv6_address = (Optional(_ipv6_part + (':' + _ipv6_part)*(0,6)) + "::" + Optional(_ipv6_part + (':' + _ipv6_part)*(0,6))).setName("short IPv6 address")
+    _short_ipv6_address.addCondition(lambda t: sum(1 for tt in t if pyparsing_common._ipv6_part.matches(tt)) < 8)
+    _mixed_ipv6_address = ("::ffff:" + ipv4_address).setName("mixed IPv6 address")
+    ipv6_address = Combine((_full_ipv6_address | _mixed_ipv6_address | _short_ipv6_address).setName("IPv6 address")).setName("IPv6 address")
+    "IPv6 address (long, short, or mixed form)"
+    
+    mac_address = Regex(r'[0-9a-fA-F]{2}([:.-])[0-9a-fA-F]{2}(?:\1[0-9a-fA-F]{2}){4}').setName("MAC address")
+    "MAC address xx:xx:xx:xx:xx (may also have '-' or '.' delimiters)"
+
+    @staticmethod
+    def convertToDate(fmt="%Y-%m-%d"):
+        """
+        Helper to create a parse action for converting parsed date string to Python datetime.date
+
+        Params -
+         - fmt - format to be passed to datetime.strptime (default=C{"%Y-%m-%d"})
+
+        Example::
+            date_expr = pyparsing_common.iso8601_date.copy()
+            date_expr.setParseAction(pyparsing_common.convertToDate())
+            print(date_expr.parseString("1999-12-31"))
+        prints::
+            [datetime.date(1999, 12, 31)]
+        """
+        def cvt_fn(s,l,t):
+            try:
+                return datetime.strptime(t[0], fmt).date()
+            except ValueError as ve:
+                raise ParseException(s, l, str(ve))
+        return cvt_fn
+
+    @staticmethod
+    def convertToDatetime(fmt="%Y-%m-%dT%H:%M:%S.%f"):
+        """
+        Helper to create a parse action for converting parsed datetime string to Python datetime.datetime
+
+        Params -
+         - fmt - format to be passed to datetime.strptime (default=C{"%Y-%m-%dT%H:%M:%S.%f"})
+
+        Example::
+            dt_expr = pyparsing_common.iso8601_datetime.copy()
+            dt_expr.setParseAction(pyparsing_common.convertToDatetime())
+            print(dt_expr.parseString("1999-12-31T23:59:59.999"))
+        prints::
+            [datetime.datetime(1999, 12, 31, 23, 59, 59, 999000)]
+        """
+        def cvt_fn(s,l,t):
+            try:
+                return datetime.strptime(t[0], fmt)
+            except ValueError as ve:
+                raise ParseException(s, l, str(ve))
+        return cvt_fn
+
+    iso8601_date = Regex(r'(?P<year>\d{4})(?:-(?P<month>\d\d)(?:-(?P<day>\d\d))?)?').setName("ISO8601 date")
+    "ISO8601 date (C{yyyy-mm-dd})"
+
+    iso8601_datetime = Regex(r'(?P<year>\d{4})-(?P<month>\d\d)-(?P<day>\d\d)[T ](?P<hour>\d\d):(?P<minute>\d\d)(:(?P<second>\d\d(\.\d*)?)?)?(?P<tz>Z|[+-]\d\d:?\d\d)?').setName("ISO8601 datetime")
+    "ISO8601 datetime (C{yyyy-mm-ddThh:mm:ss.s(Z|+-00:00)}) - trailing seconds, milliseconds, and timezone optional; accepts separating C{'T'} or C{' '}"
+
+    uuid = Regex(r'[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}').setName("UUID")
+    "UUID (C{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx})"
+
+    _html_stripper = anyOpenTag.suppress() | anyCloseTag.suppress()
+    @staticmethod
+    def stripHTMLTags(s, l, tokens):
+        """
+        Parse action to remove HTML tags from web page HTML source
+
+        Example::
+            # strip HTML links from normal text 
+            text = '<td>More info at the <a href="http://pyparsing.wikispaces.com">pyparsing</a> wiki page</td>'
+            td,td_end = makeHTMLTags("TD")
+            table_text = td + SkipTo(td_end).setParseAction(pyparsing_common.stripHTMLTags)("body") + td_end
+            
+            print(table_text.parseString(text).body) # -> 'More info at the pyparsing wiki page'
+        """
+        return pyparsing_common._html_stripper.transformString(tokens[0])
+
+    _commasepitem = Combine(OneOrMore(~Literal(",") + ~LineEnd() + Word(printables, excludeChars=',') 
+                                        + Optional( White(" \t") ) ) ).streamline().setName("commaItem")
+    comma_separated_list = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("comma separated list")
+    """Predefined expression of 1 or more printable words or quoted strings, separated by commas."""
+
+    upcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).upper()))
+    """Parse action to convert tokens to upper case."""
+
+    downcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).lower()))
+    """Parse action to convert tokens to lower case."""
+
+
+if __name__ == "__main__":
+
+    selectToken    = CaselessLiteral("select")
+    fromToken      = CaselessLiteral("from")
+
+    ident          = Word(alphas, alphanums + "_$")
+
+    columnName     = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens)
+    columnNameList = Group(delimitedList(columnName)).setName("columns")
+    columnSpec     = ('*' | columnNameList)
+
+    tableName      = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens)
+    tableNameList  = Group(delimitedList(tableName)).setName("tables")
+    
+    simpleSQL      = selectToken("command") + columnSpec("columns") + fromToken + tableNameList("tables")
+
+    # demo runTests method, including embedded comments in test string
+    simpleSQL.runTests("""
+        # '*' as column list and dotted table name
+        select * from SYS.XYZZY
+
+        # caseless match on "SELECT", and casts back to "select"
+        SELECT * from XYZZY, ABC
+
+        # list of column names, and mixed case SELECT keyword
+        Select AA,BB,CC from Sys.dual
+
+        # multiple tables
+        Select A, B, C from Sys.dual, Table2
+
+        # invalid SELECT keyword - should fail
+        Xelect A, B, C from Sys.dual
+
+        # incomplete command - should fail
+        Select
+
+        # invalid column name - should fail
+        Select ^^^ frox Sys.dual
+
+        """)
+
+    pyparsing_common.number.runTests("""
+        100
+        -100
+        +100
+        3.14159
+        6.02e23
+        1e-12
+        """)
+
+    # any int or real number, returned as float
+    pyparsing_common.fnumber.runTests("""
+        100
+        -100
+        +100
+        3.14159
+        6.02e23
+        1e-12
+        """)
+
+    pyparsing_common.hex_integer.runTests("""
+        100
+        FF
+        """)
+
+    import uuid
+    pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID))
+    pyparsing_common.uuid.runTests("""
+        12345678-1234-5678-1234-567812345678
+        """)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/_vendor/six.py b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/six.py
new file mode 100644
index 0000000..190c023
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/_vendor/six.py
@@ -0,0 +1,868 @@
+"""Utilities for writing code that runs on Python 2 and 3"""
+
+# Copyright (c) 2010-2015 Benjamin Peterson
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+from __future__ import absolute_import
+
+import functools
+import itertools
+import operator
+import sys
+import types
+
+__author__ = "Benjamin Peterson <benjamin@python.org>"
+__version__ = "1.10.0"
+
+
+# Useful for very coarse version differentiation.
+PY2 = sys.version_info[0] == 2
+PY3 = sys.version_info[0] == 3
+PY34 = sys.version_info[0:2] >= (3, 4)
+
+if PY3:
+    string_types = str,
+    integer_types = int,
+    class_types = type,
+    text_type = str
+    binary_type = bytes
+
+    MAXSIZE = sys.maxsize
+else:
+    string_types = basestring,
+    integer_types = (int, long)
+    class_types = (type, types.ClassType)
+    text_type = unicode
+    binary_type = str
+
+    if sys.platform.startswith("java"):
+        # Jython always uses 32 bits.
+        MAXSIZE = int((1 << 31) - 1)
+    else:
+        # It's possible to have sizeof(long) != sizeof(Py_ssize_t).
+        class X(object):
+
+            def __len__(self):
+                return 1 << 31
+        try:
+            len(X())
+        except OverflowError:
+            # 32-bit
+            MAXSIZE = int((1 << 31) - 1)
+        else:
+            # 64-bit
+            MAXSIZE = int((1 << 63) - 1)
+        del X
+
+
+def _add_doc(func, doc):
+    """Add documentation to a function."""
+    func.__doc__ = doc
+
+
+def _import_module(name):
+    """Import module, returning the module after the last dot."""
+    __import__(name)
+    return sys.modules[name]
+
+
+class _LazyDescr(object):
+
+    def __init__(self, name):
+        self.name = name
+
+    def __get__(self, obj, tp):
+        result = self._resolve()
+        setattr(obj, self.name, result)  # Invokes __set__.
+        try:
+            # This is a bit ugly, but it avoids running this again by
+            # removing this descriptor.
+            delattr(obj.__class__, self.name)
+        except AttributeError:
+            pass
+        return result
+
+
+class MovedModule(_LazyDescr):
+
+    def __init__(self, name, old, new=None):
+        super(MovedModule, self).__init__(name)
+        if PY3:
+            if new is None:
+                new = name
+            self.mod = new
+        else:
+            self.mod = old
+
+    def _resolve(self):
+        return _import_module(self.mod)
+
+    def __getattr__(self, attr):
+        _module = self._resolve()
+        value = getattr(_module, attr)
+        setattr(self, attr, value)
+        return value
+
+
+class _LazyModule(types.ModuleType):
+
+    def __init__(self, name):
+        super(_LazyModule, self).__init__(name)
+        self.__doc__ = self.__class__.__doc__
+
+    def __dir__(self):
+        attrs = ["__doc__", "__name__"]
+        attrs += [attr.name for attr in self._moved_attributes]
+        return attrs
+
+    # Subclasses should override this
+    _moved_attributes = []
+
+
+class MovedAttribute(_LazyDescr):
+
+    def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None):
+        super(MovedAttribute, self).__init__(name)
+        if PY3:
+            if new_mod is None:
+                new_mod = name
+            self.mod = new_mod
+            if new_attr is None:
+                if old_attr is None:
+                    new_attr = name
+                else:
+                    new_attr = old_attr
+            self.attr = new_attr
+        else:
+            self.mod = old_mod
+            if old_attr is None:
+                old_attr = name
+            self.attr = old_attr
+
+    def _resolve(self):
+        module = _import_module(self.mod)
+        return getattr(module, self.attr)
+
+
+class _SixMetaPathImporter(object):
+
+    """
+    A meta path importer to import six.moves and its submodules.
+
+    This class implements a PEP302 finder and loader. It should be compatible
+    with Python 2.5 and all existing versions of Python3
+    """
+
+    def __init__(self, six_module_name):
+        self.name = six_module_name
+        self.known_modules = {}
+
+    def _add_module(self, mod, *fullnames):
+        for fullname in fullnames:
+            self.known_modules[self.name + "." + fullname] = mod
+
+    def _get_module(self, fullname):
+        return self.known_modules[self.name + "." + fullname]
+
+    def find_module(self, fullname, path=None):
+        if fullname in self.known_modules:
+            return self
+        return None
+
+    def __get_module(self, fullname):
+        try:
+            return self.known_modules[fullname]
+        except KeyError:
+            raise ImportError("This loader does not know module " + fullname)
+
+    def load_module(self, fullname):
+        try:
+            # in case of a reload
+            return sys.modules[fullname]
+        except KeyError:
+            pass
+        mod = self.__get_module(fullname)
+        if isinstance(mod, MovedModule):
+            mod = mod._resolve()
+        else:
+            mod.__loader__ = self
+        sys.modules[fullname] = mod
+        return mod
+
+    def is_package(self, fullname):
+        """
+        Return true, if the named module is a package.
+
+        We need this method to get correct spec objects with
+        Python 3.4 (see PEP451)
+        """
+        return hasattr(self.__get_module(fullname), "__path__")
+
+    def get_code(self, fullname):
+        """Return None
+
+        Required, if is_package is implemented"""
+        self.__get_module(fullname)  # eventually raises ImportError
+        return None
+    get_source = get_code  # same as get_code
+
+_importer = _SixMetaPathImporter(__name__)
+
+
+class _MovedItems(_LazyModule):
+
+    """Lazy loading of moved objects"""
+    __path__ = []  # mark as package
+
+
+_moved_attributes = [
+    MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"),
+    MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"),
+    MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"),
+    MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"),
+    MovedAttribute("intern", "__builtin__", "sys"),
+    MovedAttribute("map", "itertools", "builtins", "imap", "map"),
+    MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"),
+    MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"),
+    MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"),
+    MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"),
+    MovedAttribute("reduce", "__builtin__", "functools"),
+    MovedAttribute("shlex_quote", "pipes", "shlex", "quote"),
+    MovedAttribute("StringIO", "StringIO", "io"),
+    MovedAttribute("UserDict", "UserDict", "collections"),
+    MovedAttribute("UserList", "UserList", "collections"),
+    MovedAttribute("UserString", "UserString", "collections"),
+    MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"),
+    MovedAttribute("zip", "itertools", "builtins", "izip", "zip"),
+    MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"),
+    MovedModule("builtins", "__builtin__"),
+    MovedModule("configparser", "ConfigParser"),
+    MovedModule("copyreg", "copy_reg"),
+    MovedModule("dbm_gnu", "gdbm", "dbm.gnu"),
+    MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"),
+    MovedModule("http_cookiejar", "cookielib", "http.cookiejar"),
+    MovedModule("http_cookies", "Cookie", "http.cookies"),
+    MovedModule("html_entities", "htmlentitydefs", "html.entities"),
+    MovedModule("html_parser", "HTMLParser", "html.parser"),
+    MovedModule("http_client", "httplib", "http.client"),
+    MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"),
+    MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"),
+    MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"),
+    MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"),
+    MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"),
+    MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"),
+    MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"),
+    MovedModule("cPickle", "cPickle", "pickle"),
+    MovedModule("queue", "Queue"),
+    MovedModule("reprlib", "repr"),
+    MovedModule("socketserver", "SocketServer"),
+    MovedModule("_thread", "thread", "_thread"),
+    MovedModule("tkinter", "Tkinter"),
+    MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"),
+    MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"),
+    MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"),
+    MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"),
+    MovedModule("tkinter_tix", "Tix", "tkinter.tix"),
+    MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"),
+    MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"),
+    MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"),
+    MovedModule("tkinter_colorchooser", "tkColorChooser",
+                "tkinter.colorchooser"),
+    MovedModule("tkinter_commondialog", "tkCommonDialog",
+                "tkinter.commondialog"),
+    MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"),
+    MovedModule("tkinter_font", "tkFont", "tkinter.font"),
+    MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"),
+    MovedModule("tkinter_tksimpledialog", "tkSimpleDialog",
+                "tkinter.simpledialog"),
+    MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"),
+    MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"),
+    MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"),
+    MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"),
+    MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"),
+    MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"),
+]
+# Add windows specific modules.
+if sys.platform == "win32":
+    _moved_attributes += [
+        MovedModule("winreg", "_winreg"),
+    ]
+
+for attr in _moved_attributes:
+    setattr(_MovedItems, attr.name, attr)
+    if isinstance(attr, MovedModule):
+        _importer._add_module(attr, "moves." + attr.name)
+del attr
+
+_MovedItems._moved_attributes = _moved_attributes
+
+moves = _MovedItems(__name__ + ".moves")
+_importer._add_module(moves, "moves")
+
+
+class Module_six_moves_urllib_parse(_LazyModule):
+
+    """Lazy loading of moved objects in six.moves.urllib_parse"""
+
+
+_urllib_parse_moved_attributes = [
+    MovedAttribute("ParseResult", "urlparse", "urllib.parse"),
+    MovedAttribute("SplitResult", "urlparse", "urllib.parse"),
+    MovedAttribute("parse_qs", "urlparse", "urllib.parse"),
+    MovedAttribute("parse_qsl", "urlparse", "urllib.parse"),
+    MovedAttribute("urldefrag", "urlparse", "urllib.parse"),
+    MovedAttribute("urljoin", "urlparse", "urllib.parse"),
+    MovedAttribute("urlparse", "urlparse", "urllib.parse"),
+    MovedAttribute("urlsplit", "urlparse", "urllib.parse"),
+    MovedAttribute("urlunparse", "urlparse", "urllib.parse"),
+    MovedAttribute("urlunsplit", "urlparse", "urllib.parse"),
+    MovedAttribute("quote", "urllib", "urllib.parse"),
+    MovedAttribute("quote_plus", "urllib", "urllib.parse"),
+    MovedAttribute("unquote", "urllib", "urllib.parse"),
+    MovedAttribute("unquote_plus", "urllib", "urllib.parse"),
+    MovedAttribute("urlencode", "urllib", "urllib.parse"),
+    MovedAttribute("splitquery", "urllib", "urllib.parse"),
+    MovedAttribute("splittag", "urllib", "urllib.parse"),
+    MovedAttribute("splituser", "urllib", "urllib.parse"),
+    MovedAttribute("uses_fragment", "urlparse", "urllib.parse"),
+    MovedAttribute("uses_netloc", "urlparse", "urllib.parse"),
+    MovedAttribute("uses_params", "urlparse", "urllib.parse"),
+    MovedAttribute("uses_query", "urlparse", "urllib.parse"),
+    MovedAttribute("uses_relative", "urlparse", "urllib.parse"),
+]
+for attr in _urllib_parse_moved_attributes:
+    setattr(Module_six_moves_urllib_parse, attr.name, attr)
+del attr
+
+Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes
+
+_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"),
+                      "moves.urllib_parse", "moves.urllib.parse")
+
+
+class Module_six_moves_urllib_error(_LazyModule):
+
+    """Lazy loading of moved objects in six.moves.urllib_error"""
+
+
+_urllib_error_moved_attributes = [
+    MovedAttribute("URLError", "urllib2", "urllib.error"),
+    MovedAttribute("HTTPError", "urllib2", "urllib.error"),
+    MovedAttribute("ContentTooShortError", "urllib", "urllib.error"),
+]
+for attr in _urllib_error_moved_attributes:
+    setattr(Module_six_moves_urllib_error, attr.name, attr)
+del attr
+
+Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes
+
+_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"),
+                      "moves.urllib_error", "moves.urllib.error")
+
+
+class Module_six_moves_urllib_request(_LazyModule):
+
+    """Lazy loading of moved objects in six.moves.urllib_request"""
+
+
+_urllib_request_moved_attributes = [
+    MovedAttribute("urlopen", "urllib2", "urllib.request"),
+    MovedAttribute("install_opener", "urllib2", "urllib.request"),
+    MovedAttribute("build_opener", "urllib2", "urllib.request"),
+    MovedAttribute("pathname2url", "urllib", "urllib.request"),
+    MovedAttribute("url2pathname", "urllib", "urllib.request"),
+    MovedAttribute("getproxies", "urllib", "urllib.request"),
+    MovedAttribute("Request", "urllib2", "urllib.request"),
+    MovedAttribute("OpenerDirector", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"),
+    MovedAttribute("ProxyHandler", "urllib2", "urllib.request"),
+    MovedAttribute("BaseHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"),
+    MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"),
+    MovedAttribute("FileHandler", "urllib2", "urllib.request"),
+    MovedAttribute("FTPHandler", "urllib2", "urllib.request"),
+    MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"),
+    MovedAttribute("UnknownHandler", "urllib2", "urllib.request"),
+    MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"),
+    MovedAttribute("urlretrieve", "urllib", "urllib.request"),
+    MovedAttribute("urlcleanup", "urllib", "urllib.request"),
+    MovedAttribute("URLopener", "urllib", "urllib.request"),
+    MovedAttribute("FancyURLopener", "urllib", "urllib.request"),
+    MovedAttribute("proxy_bypass", "urllib", "urllib.request"),
+]
+for attr in _urllib_request_moved_attributes:
+    setattr(Module_six_moves_urllib_request, attr.name, attr)
+del attr
+
+Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes
+
+_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"),
+                      "moves.urllib_request", "moves.urllib.request")
+
+
+class Module_six_moves_urllib_response(_LazyModule):
+
+    """Lazy loading of moved objects in six.moves.urllib_response"""
+
+
+_urllib_response_moved_attributes = [
+    MovedAttribute("addbase", "urllib", "urllib.response"),
+    MovedAttribute("addclosehook", "urllib", "urllib.response"),
+    MovedAttribute("addinfo", "urllib", "urllib.response"),
+    MovedAttribute("addinfourl", "urllib", "urllib.response"),
+]
+for attr in _urllib_response_moved_attributes:
+    setattr(Module_six_moves_urllib_response, attr.name, attr)
+del attr
+
+Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes
+
+_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"),
+                      "moves.urllib_response", "moves.urllib.response")
+
+
+class Module_six_moves_urllib_robotparser(_LazyModule):
+
+    """Lazy loading of moved objects in six.moves.urllib_robotparser"""
+
+
+_urllib_robotparser_moved_attributes = [
+    MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"),
+]
+for attr in _urllib_robotparser_moved_attributes:
+    setattr(Module_six_moves_urllib_robotparser, attr.name, attr)
+del attr
+
+Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes
+
+_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"),
+                      "moves.urllib_robotparser", "moves.urllib.robotparser")
+
+
+class Module_six_moves_urllib(types.ModuleType):
+
+    """Create a six.moves.urllib namespace that resembles the Python 3 namespace"""
+    __path__ = []  # mark as package
+    parse = _importer._get_module("moves.urllib_parse")
+    error = _importer._get_module("moves.urllib_error")
+    request = _importer._get_module("moves.urllib_request")
+    response = _importer._get_module("moves.urllib_response")
+    robotparser = _importer._get_module("moves.urllib_robotparser")
+
+    def __dir__(self):
+        return ['parse', 'error', 'request', 'response', 'robotparser']
+
+_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"),
+                      "moves.urllib")
+
+
+def add_move(move):
+    """Add an item to six.moves."""
+    setattr(_MovedItems, move.name, move)
+
+
+def remove_move(name):
+    """Remove item from six.moves."""
+    try:
+        delattr(_MovedItems, name)
+    except AttributeError:
+        try:
+            del moves.__dict__[name]
+        except KeyError:
+            raise AttributeError("no such move, %r" % (name,))
+
+
+if PY3:
+    _meth_func = "__func__"
+    _meth_self = "__self__"
+
+    _func_closure = "__closure__"
+    _func_code = "__code__"
+    _func_defaults = "__defaults__"
+    _func_globals = "__globals__"
+else:
+    _meth_func = "im_func"
+    _meth_self = "im_self"
+
+    _func_closure = "func_closure"
+    _func_code = "func_code"
+    _func_defaults = "func_defaults"
+    _func_globals = "func_globals"
+
+
+try:
+    advance_iterator = next
+except NameError:
+    def advance_iterator(it):
+        return it.next()
+next = advance_iterator
+
+
+try:
+    callable = callable
+except NameError:
+    def callable(obj):
+        return any("__call__" in klass.__dict__ for klass in type(obj).__mro__)
+
+
+if PY3:
+    def get_unbound_function(unbound):
+        return unbound
+
+    create_bound_method = types.MethodType
+
+    def create_unbound_method(func, cls):
+        return func
+
+    Iterator = object
+else:
+    def get_unbound_function(unbound):
+        return unbound.im_func
+
+    def create_bound_method(func, obj):
+        return types.MethodType(func, obj, obj.__class__)
+
+    def create_unbound_method(func, cls):
+        return types.MethodType(func, None, cls)
+
+    class Iterator(object):
+
+        def next(self):
+            return type(self).__next__(self)
+
+    callable = callable
+_add_doc(get_unbound_function,
+         """Get the function out of a possibly unbound function""")
+
+
+get_method_function = operator.attrgetter(_meth_func)
+get_method_self = operator.attrgetter(_meth_self)
+get_function_closure = operator.attrgetter(_func_closure)
+get_function_code = operator.attrgetter(_func_code)
+get_function_defaults = operator.attrgetter(_func_defaults)
+get_function_globals = operator.attrgetter(_func_globals)
+
+
+if PY3:
+    def iterkeys(d, **kw):
+        return iter(d.keys(**kw))
+
+    def itervalues(d, **kw):
+        return iter(d.values(**kw))
+
+    def iteritems(d, **kw):
+        return iter(d.items(**kw))
+
+    def iterlists(d, **kw):
+        return iter(d.lists(**kw))
+
+    viewkeys = operator.methodcaller("keys")
+
+    viewvalues = operator.methodcaller("values")
+
+    viewitems = operator.methodcaller("items")
+else:
+    def iterkeys(d, **kw):
+        return d.iterkeys(**kw)
+
+    def itervalues(d, **kw):
+        return d.itervalues(**kw)
+
+    def iteritems(d, **kw):
+        return d.iteritems(**kw)
+
+    def iterlists(d, **kw):
+        return d.iterlists(**kw)
+
+    viewkeys = operator.methodcaller("viewkeys")
+
+    viewvalues = operator.methodcaller("viewvalues")
+
+    viewitems = operator.methodcaller("viewitems")
+
+_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.")
+_add_doc(itervalues, "Return an iterator over the values of a dictionary.")
+_add_doc(iteritems,
+         "Return an iterator over the (key, value) pairs of a dictionary.")
+_add_doc(iterlists,
+         "Return an iterator over the (key, [values]) pairs of a dictionary.")
+
+
+if PY3:
+    def b(s):
+        return s.encode("latin-1")
+
+    def u(s):
+        return s
+    unichr = chr
+    import struct
+    int2byte = struct.Struct(">B").pack
+    del struct
+    byte2int = operator.itemgetter(0)
+    indexbytes = operator.getitem
+    iterbytes = iter
+    import io
+    StringIO = io.StringIO
+    BytesIO = io.BytesIO
+    _assertCountEqual = "assertCountEqual"
+    if sys.version_info[1] <= 1:
+        _assertRaisesRegex = "assertRaisesRegexp"
+        _assertRegex = "assertRegexpMatches"
+    else:
+        _assertRaisesRegex = "assertRaisesRegex"
+        _assertRegex = "assertRegex"
+else:
+    def b(s):
+        return s
+    # Workaround for standalone backslash
+
+    def u(s):
+        return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape")
+    unichr = unichr
+    int2byte = chr
+
+    def byte2int(bs):
+        return ord(bs[0])
+
+    def indexbytes(buf, i):
+        return ord(buf[i])
+    iterbytes = functools.partial(itertools.imap, ord)
+    import StringIO
+    StringIO = BytesIO = StringIO.StringIO
+    _assertCountEqual = "assertItemsEqual"
+    _assertRaisesRegex = "assertRaisesRegexp"
+    _assertRegex = "assertRegexpMatches"
+_add_doc(b, """Byte literal""")
+_add_doc(u, """Text literal""")
+
+
+def assertCountEqual(self, *args, **kwargs):
+    return getattr(self, _assertCountEqual)(*args, **kwargs)
+
+
+def assertRaisesRegex(self, *args, **kwargs):
+    return getattr(self, _assertRaisesRegex)(*args, **kwargs)
+
+
+def assertRegex(self, *args, **kwargs):
+    return getattr(self, _assertRegex)(*args, **kwargs)
+
+
+if PY3:
+    exec_ = getattr(moves.builtins, "exec")
+
+    def reraise(tp, value, tb=None):
+        if value is None:
+            value = tp()
+        if value.__traceback__ is not tb:
+            raise value.with_traceback(tb)
+        raise value
+
+else:
+    def exec_(_code_, _globs_=None, _locs_=None):
+        """Execute code in a namespace."""
+        if _globs_ is None:
+            frame = sys._getframe(1)
+            _globs_ = frame.f_globals
+            if _locs_ is None:
+                _locs_ = frame.f_locals
+            del frame
+        elif _locs_ is None:
+            _locs_ = _globs_
+        exec("""exec _code_ in _globs_, _locs_""")
+
+    exec_("""def reraise(tp, value, tb=None):
+    raise tp, value, tb
+""")
+
+
+if sys.version_info[:2] == (3, 2):
+    exec_("""def raise_from(value, from_value):
+    if from_value is None:
+        raise value
+    raise value from from_value
+""")
+elif sys.version_info[:2] > (3, 2):
+    exec_("""def raise_from(value, from_value):
+    raise value from from_value
+""")
+else:
+    def raise_from(value, from_value):
+        raise value
+
+
+print_ = getattr(moves.builtins, "print", None)
+if print_ is None:
+    def print_(*args, **kwargs):
+        """The new-style print function for Python 2.4 and 2.5."""
+        fp = kwargs.pop("file", sys.stdout)
+        if fp is None:
+            return
+
+        def write(data):
+            if not isinstance(data, basestring):
+                data = str(data)
+            # If the file has an encoding, encode unicode with it.
+            if (isinstance(fp, file) and
+                    isinstance(data, unicode) and
+                    fp.encoding is not None):
+                errors = getattr(fp, "errors", None)
+                if errors is None:
+                    errors = "strict"
+                data = data.encode(fp.encoding, errors)
+            fp.write(data)
+        want_unicode = False
+        sep = kwargs.pop("sep", None)
+        if sep is not None:
+            if isinstance(sep, unicode):
+                want_unicode = True
+            elif not isinstance(sep, str):
+                raise TypeError("sep must be None or a string")
+        end = kwargs.pop("end", None)
+        if end is not None:
+            if isinstance(end, unicode):
+                want_unicode = True
+            elif not isinstance(end, str):
+                raise TypeError("end must be None or a string")
+        if kwargs:
+            raise TypeError("invalid keyword arguments to print()")
+        if not want_unicode:
+            for arg in args:
+                if isinstance(arg, unicode):
+                    want_unicode = True
+                    break
+        if want_unicode:
+            newline = unicode("\n")
+            space = unicode(" ")
+        else:
+            newline = "\n"
+            space = " "
+        if sep is None:
+            sep = space
+        if end is None:
+            end = newline
+        for i, arg in enumerate(args):
+            if i:
+                write(sep)
+            write(arg)
+        write(end)
+if sys.version_info[:2] < (3, 3):
+    _print = print_
+
+    def print_(*args, **kwargs):
+        fp = kwargs.get("file", sys.stdout)
+        flush = kwargs.pop("flush", False)
+        _print(*args, **kwargs)
+        if flush and fp is not None:
+            fp.flush()
+
+_add_doc(reraise, """Reraise an exception.""")
+
+if sys.version_info[0:2] < (3, 4):
+    def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS,
+              updated=functools.WRAPPER_UPDATES):
+        def wrapper(f):
+            f = functools.wraps(wrapped, assigned, updated)(f)
+            f.__wrapped__ = wrapped
+            return f
+        return wrapper
+else:
+    wraps = functools.wraps
+
+
+def with_metaclass(meta, *bases):
+    """Create a base class with a metaclass."""
+    # This requires a bit of explanation: the basic idea is to make a dummy
+    # metaclass for one level of class instantiation that replaces itself with
+    # the actual metaclass.
+    class metaclass(meta):
+
+        def __new__(cls, name, this_bases, d):
+            return meta(name, bases, d)
+    return type.__new__(metaclass, 'temporary_class', (), {})
+
+
+def add_metaclass(metaclass):
+    """Class decorator for creating a class with a metaclass."""
+    def wrapper(cls):
+        orig_vars = cls.__dict__.copy()
+        slots = orig_vars.get('__slots__')
+        if slots is not None:
+            if isinstance(slots, str):
+                slots = [slots]
+            for slots_var in slots:
+                orig_vars.pop(slots_var)
+        orig_vars.pop('__dict__', None)
+        orig_vars.pop('__weakref__', None)
+        return metaclass(cls.__name__, cls.__bases__, orig_vars)
+    return wrapper
+
+
+def python_2_unicode_compatible(klass):
+    """
+    A decorator that defines __unicode__ and __str__ methods under Python 2.
+    Under Python 3 it does nothing.
+
+    To support Python 2 and 3 with a single code base, define a __str__ method
+    returning text and apply this decorator to the class.
+    """
+    if PY2:
+        if '__str__' not in klass.__dict__:
+            raise ValueError("@python_2_unicode_compatible cannot be applied "
+                             "to %s because it doesn't define __str__()." %
+                             klass.__name__)
+        klass.__unicode__ = klass.__str__
+        klass.__str__ = lambda self: self.__unicode__().encode('utf-8')
+    return klass
+
+
+# Complete the moves implementation.
+# This code is at the end of this module to speed up module loading.
+# Turn this module into a package.
+__path__ = []  # required for PEP 302 and PEP 451
+__package__ = __name__  # see PEP 366 @ReservedAssignment
+if globals().get("__spec__") is not None:
+    __spec__.submodule_search_locations = []  # PEP 451 @UndefinedVariable
+# Remove other six meta path importers, since they cause problems. This can
+# happen if six is removed from sys.modules and then reloaded. (Setuptools does
+# this for some reason.)
+if sys.meta_path:
+    for i, importer in enumerate(sys.meta_path):
+        # Here's some real nastiness: Another "instance" of the six module might
+        # be floating around. Therefore, we can't use isinstance() to check for
+        # the six meta path importer, since the other six instance will have
+        # inserted an importer with different class.
+        if (type(importer).__name__ == "_SixMetaPathImporter" and
+                importer.name == __name__):
+            del sys.meta_path[i]
+            break
+    del i, importer
+# Finally, add the importer to the meta path import hook.
+sys.meta_path.append(_importer)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/archive_util.py b/iot_env/lib/python3.8/site-packages/setuptools/archive_util.py
new file mode 100644
index 0000000..8143604
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/archive_util.py
@@ -0,0 +1,173 @@
+"""Utilities for extracting common archive formats"""
+
+import zipfile
+import tarfile
+import os
+import shutil
+import posixpath
+import contextlib
+from distutils.errors import DistutilsError
+
+from pkg_resources import ensure_directory
+
+__all__ = [
+    "unpack_archive", "unpack_zipfile", "unpack_tarfile", "default_filter",
+    "UnrecognizedFormat", "extraction_drivers", "unpack_directory",
+]
+
+
+class UnrecognizedFormat(DistutilsError):
+    """Couldn't recognize the archive type"""
+
+
+def default_filter(src, dst):
+    """The default progress/filter callback; returns True for all files"""
+    return dst
+
+
+def unpack_archive(filename, extract_dir, progress_filter=default_filter,
+        drivers=None):
+    """Unpack `filename` to `extract_dir`, or raise ``UnrecognizedFormat``
+
+    `progress_filter` is a function taking two arguments: a source path
+    internal to the archive ('/'-separated), and a filesystem path where it
+    will be extracted.  The callback must return the desired extract path
+    (which may be the same as the one passed in), or else ``None`` to skip
+    that file or directory.  The callback can thus be used to report on the
+    progress of the extraction, as well as to filter the items extracted or
+    alter their extraction paths.
+
+    `drivers`, if supplied, must be a non-empty sequence of functions with the
+    same signature as this function (minus the `drivers` argument), that raise
+    ``UnrecognizedFormat`` if they do not support extracting the designated
+    archive type.  The `drivers` are tried in sequence until one is found that
+    does not raise an error, or until all are exhausted (in which case
+    ``UnrecognizedFormat`` is raised).  If you do not supply a sequence of
+    drivers, the module's ``extraction_drivers`` constant will be used, which
+    means that ``unpack_zipfile`` and ``unpack_tarfile`` will be tried, in that
+    order.
+    """
+    for driver in drivers or extraction_drivers:
+        try:
+            driver(filename, extract_dir, progress_filter)
+        except UnrecognizedFormat:
+            continue
+        else:
+            return
+    else:
+        raise UnrecognizedFormat(
+            "Not a recognized archive type: %s" % filename
+        )
+
+
+def unpack_directory(filename, extract_dir, progress_filter=default_filter):
+    """"Unpack" a directory, using the same interface as for archives
+
+    Raises ``UnrecognizedFormat`` if `filename` is not a directory
+    """
+    if not os.path.isdir(filename):
+        raise UnrecognizedFormat("%s is not a directory" % filename)
+
+    paths = {
+        filename: ('', extract_dir),
+    }
+    for base, dirs, files in os.walk(filename):
+        src, dst = paths[base]
+        for d in dirs:
+            paths[os.path.join(base, d)] = src + d + '/', os.path.join(dst, d)
+        for f in files:
+            target = os.path.join(dst, f)
+            target = progress_filter(src + f, target)
+            if not target:
+                # skip non-files
+                continue
+            ensure_directory(target)
+            f = os.path.join(base, f)
+            shutil.copyfile(f, target)
+            shutil.copystat(f, target)
+
+
+def unpack_zipfile(filename, extract_dir, progress_filter=default_filter):
+    """Unpack zip `filename` to `extract_dir`
+
+    Raises ``UnrecognizedFormat`` if `filename` is not a zipfile (as determined
+    by ``zipfile.is_zipfile()``).  See ``unpack_archive()`` for an explanation
+    of the `progress_filter` argument.
+    """
+
+    if not zipfile.is_zipfile(filename):
+        raise UnrecognizedFormat("%s is not a zip file" % (filename,))
+
+    with zipfile.ZipFile(filename) as z:
+        for info in z.infolist():
+            name = info.filename
+
+            # don't extract absolute paths or ones with .. in them
+            if name.startswith('/') or '..' in name.split('/'):
+                continue
+
+            target = os.path.join(extract_dir, *name.split('/'))
+            target = progress_filter(name, target)
+            if not target:
+                continue
+            if name.endswith('/'):
+                # directory
+                ensure_directory(target)
+            else:
+                # file
+                ensure_directory(target)
+                data = z.read(info.filename)
+                with open(target, 'wb') as f:
+                    f.write(data)
+            unix_attributes = info.external_attr >> 16
+            if unix_attributes:
+                os.chmod(target, unix_attributes)
+
+
+def unpack_tarfile(filename, extract_dir, progress_filter=default_filter):
+    """Unpack tar/tar.gz/tar.bz2 `filename` to `extract_dir`
+
+    Raises ``UnrecognizedFormat`` if `filename` is not a tarfile (as determined
+    by ``tarfile.open()``).  See ``unpack_archive()`` for an explanation
+    of the `progress_filter` argument.
+    """
+    try:
+        tarobj = tarfile.open(filename)
+    except tarfile.TarError:
+        raise UnrecognizedFormat(
+            "%s is not a compressed or uncompressed tar file" % (filename,)
+        )
+    with contextlib.closing(tarobj):
+        # don't do any chowning!
+        tarobj.chown = lambda *args: None
+        for member in tarobj:
+            name = member.name
+            # don't extract absolute paths or ones with .. in them
+            if not name.startswith('/') and '..' not in name.split('/'):
+                prelim_dst = os.path.join(extract_dir, *name.split('/'))
+
+                # resolve any links and to extract the link targets as normal
+                # files
+                while member is not None and (member.islnk() or member.issym()):
+                    linkpath = member.linkname
+                    if member.issym():
+                        base = posixpath.dirname(member.name)
+                        linkpath = posixpath.join(base, linkpath)
+                        linkpath = posixpath.normpath(linkpath)
+                    member = tarobj._getmember(linkpath)
+
+                if member is not None and (member.isfile() or member.isdir()):
+                    final_dst = progress_filter(name, prelim_dst)
+                    if final_dst:
+                        if final_dst.endswith(os.sep):
+                            final_dst = final_dst[:-1]
+                        try:
+                            # XXX Ugh
+                            tarobj._extract_member(member, final_dst)
+                        except tarfile.ExtractError:
+                            # chown/chmod/mkfifo/mknode/makedev failed
+                            pass
+        return True
+
+
+extraction_drivers = unpack_directory, unpack_zipfile, unpack_tarfile
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/build_meta.py b/iot_env/lib/python3.8/site-packages/setuptools/build_meta.py
new file mode 100644
index 0000000..10c4b52
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/build_meta.py
@@ -0,0 +1,257 @@
+"""A PEP 517 interface to setuptools
+
+Previously, when a user or a command line tool (let's call it a "frontend")
+needed to make a request of setuptools to take a certain action, for
+example, generating a list of installation requirements, the frontend would
+would call "setup.py egg_info" or "setup.py bdist_wheel" on the command line.
+
+PEP 517 defines a different method of interfacing with setuptools. Rather
+than calling "setup.py" directly, the frontend should:
+
+  1. Set the current directory to the directory with a setup.py file
+  2. Import this module into a safe python interpreter (one in which
+     setuptools can potentially set global variables or crash hard).
+  3. Call one of the functions defined in PEP 517.
+
+What each function does is defined in PEP 517. However, here is a "casual"
+definition of the functions (this definition should not be relied on for
+bug reports or API stability):
+
+  - `build_wheel`: build a wheel in the folder and return the basename
+  - `get_requires_for_build_wheel`: get the `setup_requires` to build
+  - `prepare_metadata_for_build_wheel`: get the `install_requires`
+  - `build_sdist`: build an sdist in the folder and return the basename
+  - `get_requires_for_build_sdist`: get the `setup_requires` to build
+
+Again, this is not a formal definition! Just a "taste" of the module.
+"""
+
+import io
+import os
+import sys
+import tokenize
+import shutil
+import contextlib
+
+import setuptools
+import distutils
+from setuptools.py31compat import TemporaryDirectory
+
+from pkg_resources import parse_requirements
+from pkg_resources.py31compat import makedirs
+
+__all__ = ['get_requires_for_build_sdist',
+           'get_requires_for_build_wheel',
+           'prepare_metadata_for_build_wheel',
+           'build_wheel',
+           'build_sdist',
+           '__legacy__',
+           'SetupRequirementsError']
+
+class SetupRequirementsError(BaseException):
+    def __init__(self, specifiers):
+        self.specifiers = specifiers
+
+
+class Distribution(setuptools.dist.Distribution):
+    def fetch_build_eggs(self, specifiers):
+        specifier_list = list(map(str, parse_requirements(specifiers)))
+
+        raise SetupRequirementsError(specifier_list)
+
+    @classmethod
+    @contextlib.contextmanager
+    def patch(cls):
+        """
+        Replace
+        distutils.dist.Distribution with this class
+        for the duration of this context.
+        """
+        orig = distutils.core.Distribution
+        distutils.core.Distribution = cls
+        try:
+            yield
+        finally:
+            distutils.core.Distribution = orig
+
+
+def _to_str(s):
+    """
+    Convert a filename to a string (on Python 2, explicitly
+    a byte string, not Unicode) as distutils checks for the
+    exact type str.
+    """
+    if sys.version_info[0] == 2 and not isinstance(s, str):
+        # Assume it's Unicode, as that's what the PEP says
+        # should be provided.
+        return s.encode(sys.getfilesystemencoding())
+    return s
+
+
+def _get_immediate_subdirectories(a_dir):
+    return [name for name in os.listdir(a_dir)
+            if os.path.isdir(os.path.join(a_dir, name))]
+
+
+def _file_with_extension(directory, extension):
+    matching = (
+        f for f in os.listdir(directory)
+        if f.endswith(extension)
+    )
+    file, = matching
+    return file
+
+
+def _open_setup_script(setup_script):
+    if not os.path.exists(setup_script):
+        # Supply a default setup.py
+        return io.StringIO(u"from setuptools import setup; setup()")
+
+    return getattr(tokenize, 'open', open)(setup_script)
+
+
+class _BuildMetaBackend(object):
+
+    def _fix_config(self, config_settings):
+        config_settings = config_settings or {}
+        config_settings.setdefault('--global-option', [])
+        return config_settings
+
+    def _get_build_requires(self, config_settings, requirements):
+        config_settings = self._fix_config(config_settings)
+
+        sys.argv = sys.argv[:1] + ['egg_info'] + \
+            config_settings["--global-option"]
+        try:
+            with Distribution.patch():
+                self.run_setup()
+        except SetupRequirementsError as e:
+            requirements += e.specifiers
+
+        return requirements
+
+    def run_setup(self, setup_script='setup.py'):
+        # Note that we can reuse our build directory between calls
+        # Correctness comes first, then optimization later
+        __file__ = setup_script
+        __name__ = '__main__'
+
+        with _open_setup_script(__file__) as f:
+            code = f.read().replace(r'\r\n', r'\n')
+
+        exec(compile(code, __file__, 'exec'), locals())
+
+    def get_requires_for_build_wheel(self, config_settings=None):
+        config_settings = self._fix_config(config_settings)
+        return self._get_build_requires(config_settings, requirements=['wheel'])
+
+    def get_requires_for_build_sdist(self, config_settings=None):
+        config_settings = self._fix_config(config_settings)
+        return self._get_build_requires(config_settings, requirements=[])
+
+    def prepare_metadata_for_build_wheel(self, metadata_directory,
+                                         config_settings=None):
+        sys.argv = sys.argv[:1] + ['dist_info', '--egg-base',
+                                   _to_str(metadata_directory)]
+        self.run_setup()
+
+        dist_info_directory = metadata_directory
+        while True:
+            dist_infos = [f for f in os.listdir(dist_info_directory)
+                          if f.endswith('.dist-info')]
+
+            if (len(dist_infos) == 0 and
+                len(_get_immediate_subdirectories(dist_info_directory)) == 1):
+
+                dist_info_directory = os.path.join(
+                    dist_info_directory, os.listdir(dist_info_directory)[0])
+                continue
+
+            assert len(dist_infos) == 1
+            break
+
+        # PEP 517 requires that the .dist-info directory be placed in the
+        # metadata_directory. To comply, we MUST copy the directory to the root
+        if dist_info_directory != metadata_directory:
+            shutil.move(
+                os.path.join(dist_info_directory, dist_infos[0]),
+                metadata_directory)
+            shutil.rmtree(dist_info_directory, ignore_errors=True)
+
+        return dist_infos[0]
+
+    def _build_with_temp_dir(self, setup_command, result_extension,
+                             result_directory, config_settings):
+        config_settings = self._fix_config(config_settings)
+        result_directory = os.path.abspath(result_directory)
+
+        # Build in a temporary directory, then copy to the target.
+        makedirs(result_directory, exist_ok=True)
+        with TemporaryDirectory(dir=result_directory) as tmp_dist_dir:
+            sys.argv = (sys.argv[:1] + setup_command +
+                        ['--dist-dir', tmp_dist_dir] +
+                        config_settings["--global-option"])
+            self.run_setup()
+
+            result_basename = _file_with_extension(tmp_dist_dir, result_extension)
+            result_path = os.path.join(result_directory, result_basename)
+            if os.path.exists(result_path):
+                # os.rename will fail overwriting on non-Unix.
+                os.remove(result_path)
+            os.rename(os.path.join(tmp_dist_dir, result_basename), result_path)
+
+        return result_basename
+
+
+    def build_wheel(self, wheel_directory, config_settings=None,
+                    metadata_directory=None):
+        return self._build_with_temp_dir(['bdist_wheel'], '.whl',
+                                         wheel_directory, config_settings)
+
+    def build_sdist(self, sdist_directory, config_settings=None):
+        return self._build_with_temp_dir(['sdist', '--formats', 'gztar'],
+                                         '.tar.gz', sdist_directory,
+                                         config_settings)
+
+
+class _BuildMetaLegacyBackend(_BuildMetaBackend):
+    """Compatibility backend for setuptools
+
+    This is a version of setuptools.build_meta that endeavors to maintain backwards
+    compatibility with pre-PEP 517 modes of invocation. It exists as a temporary
+    bridge between the old packaging mechanism and the new packaging mechanism,
+    and will eventually be removed.
+    """
+    def run_setup(self, setup_script='setup.py'):
+        # In order to maintain compatibility with scripts assuming that
+        # the setup.py script is in a directory on the PYTHONPATH, inject
+        # '' into sys.path. (pypa/setuptools#1642)
+        sys_path = list(sys.path)           # Save the original path
+
+        script_dir = os.path.dirname(os.path.abspath(setup_script))
+        if script_dir not in sys.path:
+            sys.path.insert(0, script_dir)
+
+        try:
+            super(_BuildMetaLegacyBackend,
+                  self).run_setup(setup_script=setup_script)
+        finally:
+            # While PEP 517 frontends should be calling each hook in a fresh
+            # subprocess according to the standard (and thus it should not be
+            # strictly necessary to restore the old sys.path), we'll restore
+            # the original path so that the path manipulation does not persist
+            # within the hook after run_setup is called.
+            sys.path[:] = sys_path
+
+# The primary backend
+_BACKEND = _BuildMetaBackend()
+
+get_requires_for_build_wheel = _BACKEND.get_requires_for_build_wheel
+get_requires_for_build_sdist = _BACKEND.get_requires_for_build_sdist
+prepare_metadata_for_build_wheel = _BACKEND.prepare_metadata_for_build_wheel
+build_wheel = _BACKEND.build_wheel
+build_sdist = _BACKEND.build_sdist
+
+
+# The legacy backend
+__legacy__ = _BuildMetaLegacyBackend()
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/cli-32.exe b/iot_env/lib/python3.8/site-packages/setuptools/cli-32.exe
new file mode 100644
index 0000000000000000000000000000000000000000..b1487b7819e7286577a043c7726fbe0ca1543083
GIT binary patch
literal 65536
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
Wd~sli`QpG3^2GskkPu7?OalPivUv{x

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/cli-64.exe b/iot_env/lib/python3.8/site-packages/setuptools/cli-64.exe
new file mode 100644
index 0000000000000000000000000000000000000000..675e6bf3743f3d3011c238657e7128ee9960ef7f
GIT binary patch
literal 74752
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%0DUkH(*X
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/cli.exe b/iot_env/lib/python3.8/site-packages/setuptools/cli.exe
new file mode 100644
index 0000000000000000000000000000000000000000..b1487b7819e7286577a043c7726fbe0ca1543083
GIT binary patch
literal 65536
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
Wd~sli`QpG3^2GskkPu7?OalPivUv{x

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__init__.py b/iot_env/lib/python3.8/site-packages/setuptools/command/__init__.py
new file mode 100644
index 0000000..743f558
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/__init__.py
@@ -0,0 +1,17 @@
+__all__ = [
+    'alias', 'bdist_egg', 'bdist_rpm', 'build_ext', 'build_py', 'develop',
+    'easy_install', 'egg_info', 'install', 'install_lib', 'rotate', 'saveopts',
+    'sdist', 'setopt', 'test', 'install_egg_info', 'install_scripts',
+    'bdist_wininst', 'upload_docs', 'build_clib', 'dist_info',
+]
+
+from distutils.command.bdist import bdist
+import sys
+
+from setuptools.command import install_scripts
+
+if 'egg' not in bdist.format_commands:
+    bdist.format_command['egg'] = ('bdist_egg', "Python .egg file")
+    bdist.format_commands.append('egg')
+
+del bdist, sys
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2e20bb102fd232d85c41511309fd6ea2a5d66a16
GIT binary patch
literal 712
zcmWIL<>g{vU|{fR*_~p+#K7<v#6iZQ3=9ko3=9m#Wef}qDGVu$DNHHMDJ&_hDQqe1
zDI6)BDO@SsDLg5>DSRpXDFP{iDMBg2DI)2jQ4A@fDPlQ{xlB<^j3Bmn4s#T9ifD>N
z4ofa;6e}Y`iexHN7F#xZQC^BvDpMAFilhw#NMr#=isV8@MuupnXyz30U<OU;TdavW
znTf@>IFnK`i%a5D)6-$hqJrF8oJpmbIVtg}6(zSgAk2cwTkI*RWvMy&1-E!o6N@Y3
zGxLf|5_58HaipfF$7klH<=<k532{Ri@j01Ex7dpEOA<>`qd1Ba%Tn_TN{Vl>7K7}J
zVk=H9$uB6m#Zr=5TyjeQrUz~uKTM=JxhNB)j~C+B^2|JtOcZx%K~8>RN_<Lwa`7!L
zh%=LOGLxb>LB@lf^b!>AnvAzt!8-jk8H@NC7#O0MQ`6HmnTnVg7#OMq0xC-~^79n*
zQq$8F(lT>WH92pw$Hyn;<iy8EiGxfkEy>I&)=SRM%}vZp(F2=QB+S6TaErOPvN%ep
zIJKm-pd>#Zp$1|Je_DP~ZemG1RAX@zAF9ADw#0&h)V!3H3`OD$3=ra%y?#k<fqp?|
zfo^GDL1J=tYKm@oMrvw~Zl$F~m9dd|r9Q$seW=O$@$s2?nI-Y@dIgoYIBatBQ%ZAE
j?LeL@wqRgjU_wAftZbO*9~O2VMh+$(CN4%UMjj>rW**bK

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/alias.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/alias.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2a9457a9770e821a92a67aaf0d563cbb6ca1f64d
GIT binary patch
literal 2392
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
PX*^6kOd`x2TmmKlMW0QE

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2a0510644916fe42ecbd27d211302b6b9d47f232
GIT binary patch
literal 14182
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
DVlsDh

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..995d718b7895d3acbe62fc11e6818b887dc4bf93
GIT binary patch
literal 1784
zcmWIL<>g{vU|{fR*`4x)m4V?gh=Yt-7#J8F7#J9eH5eEeQW#Pga~N_NnHU%ua+#u-
z85!IeQkYVhTNqN9Q<<}vnwg`RQW%37G+ADP%<xMFk;s?{W|{&614Al96k`elNJkVi
z#FQwO6qXd$7KSL+6t-XnP4-)yNhz7dCGkZCxru3v3=CWf3JMDTWvN9)nJK9XB^jv-
zDXD3Rr8y-EaCHhvsTql7nfXNuCHV>|`Cvt9`8hfH<(YZuR$O2c4D}R(O7j#_)6?TK
z^V0G`DpT`{ON$^z<|XE)DkSEmD3qlZ6=&w>DI^x9Dijpu7o-;DR4ODV<|LQqB$lM6
z=z+~L(o=BEDNn2{RwydXQ&7*$D=taQ$x&A*EzZnKSJ2f3Q8}r)P_uMXD@sy}@)C1$
zDs^)c^AgijQxr<_!3HTPD5PW-Cnn{jf*e+?keR0t6yOUID=ErMDlN&(&nt#lX{@IZ
zlv<FJn4GGRl31LfP@Y+mp-`Hal3G-poL`g*(g_M0sFezNrMXF|Ma2qf`9%szsU;<;
zMIeJ=b|&ZN79^HrCS~SimQ+H_Pi91lG7y`Yfq}splm?_27#M087BHkRE@Wh6C}GTE
zTEJYx0Ai;w1T$zd`Q74x1*#^?E$*Vyy!hn&+}y;xlv^zMMVaYEp!mPVTvVE;$#{#U
zI5j72B|{Mh0|Ub^2mO-V0{w!_0^QQQg2d$P)D+$FjMUT|-AYS~Dq|z_O8w&0lG1{b
z{QR6^eW;oG@JQDys4QY*U|`?}ITDm&8JM`3s(2CdMWuNtz5*!*sRQ|}I0x*jEQSS)
z3mIw|YZw<Wr7)&2Eo7=?Dq+rIS-=YNVJ&kCa}A?7LnlKDa}AR?LnmW9Lpx&{6F9wc
z)G)g+G&9yR*Dx<&>tI~Sn8GH`P|K3S4$@J}TEo16y@sWRbs-ZYLk)8<gC>XHFGk&4
zjPX?hswt^ynR%)3q=w>1P+)-^Dh%?K0Rsa=IztUZtOnSL;H<ciX#qI<foYZ$RuJ96
z(80KnX(Cf0OE7~bTa|operZv1s)3b)YBeZf*XpWPLlZ`=UP)q6l_nMirFprDdFeT+
zDe)*u1;J6ES5T<{P2~zzrWiuRr1&Z}Rj|G)H3+Ssn}_5)OxraXZ?P9aQoJV9EhasK
zTP!)5d8sRzqS!#Rkuj7u0jH%RP6h^sTU<6dnZ+fb)NLmX3O^YJ1_m~6rf)2aOpHwb
zSXh`CnSQgdGchv#VBut9VESIAi%2c;xry1S@x=wH$?<8KIjMR!Ir+(nImLE*2s2-T
z@<o*tEdDUutf0wpiw9J8!Se1c?)20WSa=rkFfcF_v4RLtB;Vpkv+)*dW?o8a#VxkX
zyyDcN5>2)uc95Ugq0te=RaB4*W#3`}xig9jqB1@wKRHSe!!?j_0p$*G;1r24FffRM
zLPY|U(;2xKc^G*ZIT$$@dAOOrvhnhPSd3MYI77rwlkFBqd^{*Y#mC>`ijU9DPbtkw
zjgP;@6CYn#nwSHXVULeb$xn`t2WL*Otq_-hvOI(ZiYsub0LqQUpw!O6$il_J1{Tv~
xiIN6|VQEQbPO%;|*XzMub&DM;1Xc_QPK3!|7RdNp95xW=*@5D$7!=?_%mChv?J@uW

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..605ffed76d6fb42116e76ebc4769fed681681b97
GIT binary patch
literal 954
zcmWIL<>g{vU|{fR*_~3$#K7<v#6iX^3=9ko3=9m#8Vn2!DGVu$ISjdsObm<+xlB>a
zj12A!DNHHMEet8lsmxhS&CF3uDU87knk+9tX80w8NMy_mGfj?xfgzP4iZO*DiYbL1
zYzAW#a|%leYYRgZOA1>sgC@r<-lUYw;*$9C%)HFJ;*ugp1_p*?kO?poL2d(KXOR08
z7#J987_t}^FxD{EFfC-NWv*dNVa#SLl1X8zVUB02VGd@{WUk8MQh<Ws(t?7V)ZEm(
z5{07F%)HE!%*33`s?_-8{M_8cycC6!e1-D-qHKl4qWsdl6u7pGl9B=|ef^};^kTh&
z%94!yJiYv)bp6cY;?h(j0}De-xJpf?TkIf*C+6hb;)XKfb25|sG?{PlfP7YznN(Vm
znV)w{1e*hjKwi^ixy4ePnv-^m9qO!GLJ+m_#idD5q2gQ2$+;;j8H%_W7#M!J=$GUc
z=oe%b=$7UcBqnF4rs$Suq^9QRR$5wA85@~b>KCV$lopia=jRmbLru^}32427$|5!f
z1_oA8u=0Tdo0W}`iGk@q3lj$;8)KCcs%nUPPy;U+6jvafAPi!2FfcHHqe%snj2LSe
z;u)$0N*J@47BJT^EM#P42xl;5NMQnrM=+!?fTGGT#7&bWiaS2DIKHSfFE2AM{T54p
zQD%A(69WUoE#{)qJWa+Tb_NEBzrmg_;sJ3%P8I;U9b_p3BO4<VqX1KtAeyU7^ZYa!
z!D&j9^%h5bd|qO1YJB`HuK4)e{FKrh5Su4HzOXbg2O<Lwk|L1V5UW6e4Pk*T1vv^7
zVZ|VVgOQ6H>`YCTD0xs!mzHGa6zf4lTMxx0MIcv#6&LY>T#qmp%mNvHi^B%uCOc42
K7K5x3Vg>*hsO6Xd

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/build_clib.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/build_clib.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b865477fa9db05044732faa714852ebde3e8b2b5
GIT binary patch
literal 2437
zcmWIL<>g{vU|{fR*`3lN$iVOz#6iX^3=9ko3=9m#J`4;DDGVu$ISjdsObm<+xlB>a
zj35!F9F|<xC{{3=IfpHmJ&GO7X362m<&5HFWN>FlVNGFcVMt+1WzJ%1W{zS?VGL%_
zWPb^=$4`^-mat1^aY<=OW=?T%YDsB<Yf({tktX9U=A8U=O~zXyd8y^8MezlRnMLK9
z#i{Y>Mfs%#$soPRm<i@i2?hp+RE8+V6b6tzQOqe!Da<VlQ7kDe!3>(Lx44o@Gjmen
zlXEhY63dtv7`PM^6cqf+Qj3Z*Q&JU5GEx;%QqvMkb4nBt3Kf!4GZM=(^Gk~qO7ay_
z^1;f|@^f<X%QN%Rt+>Eu80sl_<`(3n=BDPAC?qNrm8N8Zn2AM|3MHAjsl_FUxdpmO
ziN&cY3Mr`tsd*`>dC8Ru#g)Y+skvYS6ciMS^A*&S^K%O_b5b=l)fH0mQ;YM|OB9Mq
z^Au9cQlTd4fmIvnDLAI2DCFiBr7C2nRu+R?26DYR#Mzm7Y5D33DVfP7nfZB%MU_@y
zO(4H&DdZ<*#iyhe6f5W|6c?l>XQovmT$GtwtdN#pq>!4JoB>jpnp~m)bx{h$Vvrdq
zxFjR9SfMy0zceRBAt_ZM5y@7C+{A){%)E4kM35WdPC(IKo>`Is4$$KK(xT*4g|y6^
z)V##pRFH=f6>>6*OBC|cuxo{fV`gfxo<eAGszPF(LTYY7Nu@$@NfF3ikXO=k@{<yC
zh%f=JL`xw#EhjO(SU~|Ph~REfNK8q|1P5!50z_F!zCuA_F(?Y)Mxb~R6fe*~EP@1L
zGAOyilCJ;*0|O@m1A{Xtn-wuKFw`)*Fic>KO^acwWvXSaVP3$H!nlyJmZgRzg&~`x
zSg(Y!hNXn5ggK3=nW@;Sge8TkhDnT}nX!qngsFz5nX#6ogmnR13Udw9LMBEAuzr>j
z_GX5KOtq{fj5Vw!?9EKYMI|gLtT27)47F@EtP2=Y*h-kd>ex#dYuMp-%tKaN!{Wja
z8&Jzp!;#Kd%UQ#@fTM<eAtNILNPi6nR6kb<V+|Kv|2-7_ARSy_9c&9YYdAry!bLR<
zSzKA%H7qp@Sv)E1y-c;-CA>9kHQdci=?v)%X-wJ76Bvs^z<%La$XLq*W^pcLtmOr>
zxE3<j@`26ZgP2jnQ^Q*W65&tb?q#dx2g?c6aMv)^Fk}hVFl6zk@bt1UG8D3;Fa$Gb
z^7`Fkha|w_s<g~J1@)ZFq@u*4%+z9ah5Q0gY%6F$gen!(Rg2X%brjU0>eUr;ON&cD
zNxz^dwHTcH^HShqh-3p%4o~03Rifam3QDFR6BVGw-{OGf&#D+A9RkyUa0yB#%uiD&
zsVqo^IoJxEsnl;VXfod7$}cS`C@qOk$t=3XmYbMdlwW*{Co?ZOr!*xMBv^cl4U!c!
zS&KkPv<OsL6mc^!FhudCR+JPa#uwxlmn0UY7vEw{NlhwE*JOgI<7HrA&=k7GoSs^8
ziz~A@Gq1QLF)umw7E4ZMamg*#lG1{l)FMzOC}L({V7SEsDz9#_fXb^|Y^fC`sd*{4
z*b)ms#pEpxSk{RW$WO{jO)iOt6%oa-(!3-!x1b1AQ{7^RDF!(pN-()7HL)Z$zPKc@
zBr`c46vC_^hY8$bDNfBvyTu6-0mpI_M^0u^JgD4>g4Pfq7ZtHFFfbIcgS^XwT-Zc$
zLkbmeF?x#)60=bp#YM?rkti-m*nkSzD1p?9g4E=a)RcIL>x&U#Si}P|nH?&=lA%b3
zfq~(dqkc(lfqp?|fo^GDL1J=tYKm@oMrvw~Zl$F~m9dd|rG7D}mMqE7&nebV&d<$F
z%uCS+Cna#LrdLpTiyy*;`%WBGvXp_!8%91xE=Dm%CPpSErhiQTSy(ujcvwMV2oV+*
zK1M!-3U&@gHbyQ+6fqVqMjj?MMkYp<e{8HGEL@Br2<C(Ify95Y@qqYDj4X^Sf2yP)
z?g3T0dJrbuX?~ilw>aX#As-)qiz_}pH$SB`CpA9)7EgS9VQFFxC{E(zZ?VV6r{pKc
z#}~<gq68FB;Lw5)vLG=~%z~n-7?cn=7+Ls>Kq8u4Q8Fp8=7k<KxS);zxd)tLKtTvr
zeTyZ(C^P+*076G9s4-FuPO7&!;lkil8zqd02)&flf_P992Am8bu0l8x<i1-RHW07b
RF@j=)gMooTh>-^bnE{Kxt&0Ev

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4bedfd34287e2efa50b0feaae7f590ba3377008f
GIT binary patch
literal 9895
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
IAS75E035QIxc~qF

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/build_py.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/build_py.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..06133e43e76a81a31a419dc7c88e5bed4f012f94
GIT binary patch
literal 8641
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/develop.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/develop.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9ae7fc2952b4dc1c9c8a5f38249bdb8b127f4662
GIT binary patch
literal 6501
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
X;8q6*6Au#yxHjWpVqq4kXD|Z*-=e#E

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/dist_info.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/dist_info.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e5940e71dbcdfbc390c4146cef88210eb1f2f77d
GIT binary patch
literal 1361
zcmWIL<>g{vU|{fR*`0ELnStRkh=Yt-7#J8F7#J9eEf^RWQW&BbQW#U1au}l+Qy5d2
zbC`0OqnH^%Vk|i<xvWvFj12A!DXb}MEet7asm#sHQEVwp!3>)0RW4l4MX8A;sS1e-
zDVfD3@tJvP`3fnSMXAXp`9+mnj>QToscD&csVNGXc?u;NsS4#8si`>%#RaL!nQ58H
zi6xo&d0a0+F7wl5yv6REpPQSQm!ipdi#aDhJsBj9jG17r)?;8`NM(p(Oks#(N@0v*
zPGL%CjABV)PGM<bh+>7fG>R>SJ%yu%A&NbPGnhe>>lP>6g;lc2Fjwn=1a(oJt;t-)
znVO!io0M3bYI}<@waN$XBZcJrypqJsyv)3G1wD`&6rGu=#R?iJscDI&IVDyKCHVyk
z`DtKZ7w4B2C8sKs6s4wWCNm;=3B(5Z${7?FpeRdWs9}g_NMQ(OSjh+q5{}gL^mvd%
zRx;jVDNfBvTggxaQuoV2za+OnzaX<fw=}OHF*!RmMHd{lx|Nm|RmMi<mHNf0C8Y%=
z`T04;`pJ-R)dzVN97lQumA8a4^D;{^6LT`FQseUrKrvA)3UUU>Jq(OhG6=<(3NbtZ
z@(9=ypp*r2ei0i31H`FC9B>xM<we{K3=Fpf(lYZ<td>BsS_)w`x-t}tL3Xh-Fff2E
z&SPL;s9{*Zkixi-v6iuhA&aqwF`lu8aRJjp21bS&#s$m}I*TQRp@cPsshN?Rp_NIJ
zA%$6-p_ZwHZ2@}<%L0xP&MdA4+%-%K89|T{Vj}B8##-hY<^?=8j9Dx-ObeM9!7-%C
z=64GmKcGZV#R*RjRa}TvRmBTVYM}I@UR|qxi#rMIH*i#G^4=0nPc4au`7tFP8c#(a
zPZjZk!il-4G_Qyc%*sj4D`Ez*SU~pOVoS>}%1tb}#gt!si=`m3B;yu)Vp1`P5e0IT
z5y&1*mLg72;DZg|1&M%TKRzY1sE8jV0gezb0g9C(K?Vi}X;4H6fYK-<7b6E4N-#<=
zaWPgQ4A3ho&GXabxWy44pO=`M8Xtd)D?UCqKczGW#O8^QFDy;Wfy!{Fq!uR^Wr7pf
zEuPZi)FN1FE8+n;0pv}v#o%;}M1WlcieiwmVi3W>#KO$<pM{l!nS;3qB%{fGi#<L*
zB|kYnz6g|dZ}EZrSXz>qQ>>SqUzAz|O3RRp4;BQ6A6O@nJ#g>e;;@1E!48y~i$Tej
Mg_VPehmnUF0HWPolmGw#

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/easy_install.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/easy_install.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0fdeeb61446053d43224247f24b1bdc5d87cebea
GIT binary patch
literal 66694
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
HatQ+f!JF1|

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..087e80da4198342cb73dfeb646b43b7000c35f04
GIT binary patch
literal 21773
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..097ccbde40cf0ae6ffea6242e66a0fbd9dfe8792
GIT binary patch
literal 4016
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2064d9ab8b8c648b1bfdb4ea6cd6f18f994b8adf
GIT binary patch
literal 2900
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install_lib.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install_lib.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..becbc19a2c8c06bd158e178b5c2a6eb0cf4d59ee
GIT binary patch
literal 5083
zcmWIL<>g{vU|{fR*_|?9n1SIjh=Yt-7#J8F7#J9eJs21mQW#Pga~Pr^G-DKF3PTE0
z4pT036mu?16bmCnoHdt?iGh(JmpzJuk-?oIg*k<#g&~C{l_QJ2nK_C*g)x{xll3LY
z4nIw%TkHiz`6;EzCAZj%OA?E66AO|-GRPS2f-D9GhExWStx-%Vj8V)fOexGQ3{fm8
zEGeul3{k8pY$@z53{h+;94VYF3{mVUTq)cw3{f1ZoGCmhye$mPj8R-Ed@1}b3{l*v
zoGAh+f?zS86v-5k6wwyODBcvY6!8{@D83YlU<OU8Tils>#U+V3Iq^A}NmZ6E`FZLk
z3W+Hx3d#Ao1(`XiDGF&hiRr}(CHV?znK`L>iMgr83i)XYdHH#|0hJ{g`FUXR;$%i7
z?||6M3=9m;pfHtTU|=X=$YNZ;RKu{45fpwk4Drk<3^fe#EGZ1Z3@aJ^G+A%4<QHY8
z7lDG|mQZG1W=UpZPG(hVe11VmW`17rEzaE1oRZAMqU4NQd~gRRR_2$MtYo~!Qk<HT
zwvwTUhk=3Nmy>=;Zh?M5W`S;LUO{4Vc4~@lc}8k#j&7x;MU}CUd8K}FYDsB9Nq&A#
zv3_!XZf;^;iay-P%p|>n$|80K1_n@yDP{wCijjwrjj>7&Sq-KOQT)%uz`y|V3fTWX
zX#THZSiqdZn8LJ>iIJg(A&Vu2Ih(1-ql7h!ErlV4rIksNA%!)Ywa6odErlV6y_T_t
zaREmP`$EPVhImd;cxiI@-C~D2Mw6+ClYxN&Ox$8lNlkhQvRaerB`EZZ1VK`uxVXjX
z8|o9{=@{hfp~+PQ@)RVb1=2F}P{UcYIJG3cG%qDJEi*4Q1s42J^NTBsZ}F6+78Pga
z=f!8{rRCq^EUqk0&d*EBOuxmKo>~$QVaJyx78P+YFfeE`6>)>yAPyoxu>+2xB3=+z
zn1O+TACx{o0nNb3!^p!Z!^pu{B?I*uC_U<-yALCjLH-1XvKj*eLk+_MhJ_4_AewO@
z11RKD7_vEwlxi3jFx4<Z(q1q_5i7`L%(qyRN;7j(iuf297;f<-RhFd2Lz6tz)wekE
zOG`j$z8K<au=_zyzr|csnkNQwI>?U<j2s}yRK<_%@S@T@6t{xh2}%(ly4Zw)fuWrt
zjS-XzS~xnuu6AK)W~^l_VXR^7U|7JkkfE8WmZ^lfgr$Qai?xQSnW-66qA*uY=Td-z
zpwyDmqCAB}h2;F4oYZ7+Hqi^ttV#uCU4)2peqKppW?pI$DAN`smSljla#AYXoYacs
zoYE9fKF=>wD9+4F&q<Ak#c^syNorAEVopwFd~RZ1VtQ(d0@Ra<5c}Y!VD+pqD2$ZA
z5fdv_3-TBPC>mTCV!3LWYM8<p7#Ru$3YkEO8WJgtw|L_db8_NA`8F{<wOEt+7L%Sq
z6kA?#d_i{lE#`vk^deAlfkX&6E;wz{Q}a?Q3X1GN78QeHgoTNTk%xilUzIM@vEZZx
zN}gc9f>Lj>o=r}Ea$-)gogQ4jCfhB(c#x{#FjwDrzu<u4B2Z?!B@&;Wnimh(8V?S{
zTg=6&B}Jgvyd?;cOGyQ}5iG083{Lh@Jji~D;sO~FUtExy3{6mApMX69&O0FKQn2G>
zLE#3HWnkrEV*AI&#>ZGCh1)O5AZLIIDiDSxGH|9)0fjx|0)`aEg^V>!>5SqGwag`q
zSxi~Xpn@ljv4(jbQy)VxgC<i|IXo)eGs{vz=?WSN3ZNoiAu%sS0q#HrP!K4TXO?7S
z<|&k9B$g;Z)#|_v0cEAql2nC~j8uiR(wrPL&3bT!w;1&_S#Plx7vyA?++xZvzQqDE
z{1!`Aer8@2ylzU#EYf5F2WpW#0|P@8AKWeA0KdgrkXTd#4OVzQEdqI88x)qHKw)4N
zV62iw4n>T3!$`!SfCW|6#R{N+WGIrUVE`psP&oq%(irAihFZp2rb31kreFq5=Bhln
zx9sff6ml|)OEgd{L{1MH>S_7;dP#{zdP#{@>YAExt<fkFItnnZI)ten3s+eLD)js`
z8E<hFf&8Bd%9EPRw>S#2)8j$021=v_w^)-iK;;}bSil4*$rXXp7&w1|Y6Au~7DhJ4
zDoLD<#Tqi;B&GunnJk7Z#$ujyhG0<H%LED=Q0be+49ez38Z`_c`CtZ+ye3msC)@+>
zsU_g#Ra}smoC-@s#R?jrkkeF1DlJjS&&#P)NXsvRYay|Of+XDBf|5#w{F02+qVmk*
zR7Bzf7yg<ow|G)Ai%W_!lS)A$7$pP>JFt`B1<@^0P{9DJjZ#201*qK+rAW{@u(AN2
zl#_E)qF9Q{Qgb1N7$Qa#85kIBL8%p-^Eo&eS(vyO*_cpsK5794N}Hfe55}O19#pk~
z1dEeE4OvD|Vod>;vnk9Vb_qiXV+u<%Q?Wt{YcN9zQx@|A7Ept-gfWXXi%pziAyX|w
z4MPftI5e53aKc$!a27X&1u{XCrz#sBGw!K*sYQt;so?e?xQKvOHITdyt771Rixl6W
z+BZ2r1yLy_Cnkdmj?A3YVogMJRdL71gIZqk@p=W7RXj+XWE5WhExyd$f}GUc)Vz{J
zP?Y-J;*O6ms05oDA78}@*IC7)S5TP@CiAPf^zsWzbPd5G5VjGBt;v3iJtMI=v81G^
zNEFm^(Et&eAVLd77=aoPoDj2164NyqZ?PmL7N?>|FQ|I*1x2q2D7M(ynAjNEn79~O
zn8X;lz_1Edw}PuHY?aPSP!tz|h-6R;6=V(wgPK^NTns9$im!q4BXbc?4NDPE4Qr7=
z2}2WO2kQdHg$$hx9Sp^GDU2x$IZU<e9jsZ*HSAd|@vJ3mS?miqI#_EMYnT=?2Qz?L
zB{`hAT(umGAU1OjcP>vS6C*=9LnjMJSJ4Kr8N9WeHJl6hQdkx;b~1J_F5m~rbugx|
zrZ9lou;L608H*;QFmy8KDWtG<fO=7^AaPVxY0P2_oy_eF?TqbA?ab{g?W}2RDeNg6
zEgZF6H5?!p)o?X4Gct6r1T$!I`hoqf$#_cu(zK6H$t+4uF3B&d)MUKHoRgn^i_0}4
zBtAIQ&CN67<=_AR|5vfA7VD}Os}?7Ns&Y_ZfiQ>-3P4a3w73csV2m9M*=$7;9ZaCQ
zvW5}VGzS&w9jsZ5MPVJxMPW6J3z#|>7cxRw%nKQdL1N4uj2+AinQ9q3m=>_4FoPQL
z3)n$z9FPfMF_szzuqX#u6zr7+oFFzMLk*}&$Ld$5ADo?8P>`9I4od*wGz)64sTM0}
zVB{A~w<?JuP)7`;1Jpvx12q~z9W>SADuLwuf=ZBtYO#W@oq}qyCf6;N^2DM%aC`g~
zM`~V5F{t9c#a@(Jkdv64dW!|rkS~I#>02D2#0#?Y7JEu&5tzZ2SWu9fm!ipZi@CTc
z`4)3Zamh-yTkPOEI3@KKS87E`d~s=7T4qI&B`7m+<)xOx1f)S(1e8J{`2ke-++r$7
zs|Do*P#YT5d}d>0`p?3|!X(GY!zcpI4^@iDRT0Qf@g+s6sfbovL7Jw(Ek4KM;?yEg
z26rtg$}cKX1z9cxD$7etGINUcQZkF;K`f}>Vcc6>@$lXxQfG)0ZcUUpqKl{p>T_n6
zr9up{0NKC^w*l<kB5?0U0_0Cn@vX@XZl~O0%gh6H9&WKidl9#I3yM;UQ;W({<8$*<
zQg89Wxh0vosl~Sh;r!yt+?>q3?BZLjIjLo-IYs^;qd_)9Z1Mzg!PSN<hy@DKB0mNO
zh9ppsf|@)GECP%iOe~BXj9iQYEIf=nOe{=nV4egc8<PT)7#|N~l_=H#MycmP*#uOk
zfN-%MN-wsS5!8!?lqp48h`vk>Bd8w}3`yF|ei+7q8e-sF2MVrqh8l)g0Z>DsgCU!}
zh^2;cB2yttFr*(3PA-~EMRK4JXG~kkSmXxsE!f{6FW=&_0ksl9?M%B#AfJOuKsE*@
z1`dWQZDhZJD(?K!l7i9_<VHVSuO<sp65vKs3{Fk3t{^B9K_-A*RTK_#3CIyekqitB
zeIVPxbv7dpBL^c3qYz`2I1U&1X|fcVgLH!lP)QEvYVzOWhzB>>;^S{|#e)(^X-;Z<
z{4JjN_`=e}98fNdkH5tpAD@z+93KxJpC|%_V-aX@1?*CAWA_$MF{r{z&P^@J$WH;c
z@rppriXu?u15PAh7ejmj4oWZq_6jI!K!sv4NG+)G!NJPG&cV*X$HBqG$i>Maz{JP}
z&aey&4F9-vzyk=HoRES8R4v}(%q&SQ0uQTz`%OilWD_L|&ntS+u@*g~pt;2k6$G0G
ii3qTZ5Cq6=w>WHa^HWN5Qtdz?2JYj5`rHDHLd*cb2oxv)

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install_scripts.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/install_scripts.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..20167ba01db499076e7fa994459532e401e800fe
GIT binary patch
literal 2273
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/py36compat.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/py36compat.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e6a90afdc056feacc70dca6007f0f986dd9b58ff
GIT binary patch
literal 4610
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/register.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/register.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ca011032ca54cb996010b6f22a1477cf6bb3b069
GIT binary patch
literal 811
zcmWIL<>g{vU|{fR*`0EQk%8ech=Yt-7#J8F7#J9eK|~5e3S$mKE@KoUBSQ*93R4bK
zE;ADYBSS7r6f0PSIfpHmJ&K)?!JQ$6C55$xA%!)SHH)R0If^BPDVRZ%?Ip-;O~zZy
zIr-^+nvA!EgHm(z%TiOE^K)|(^HN-kit>w+L28gO6U+?~3=9mZ3{i|J3{gxej8V)f
zOexGQ3{fm8EWr$#thYFdQqwbwOHzxfwB7QHa#M?PDiunLQ&SX5@)clG3I&PD*@@|?
z#R~a(3IUY?o_fiQNOpm&0(sdP<YgrW28I;ITE-fN1q>-nHH_j6C5%~23z--hN|<XH
zn;DxJQy797G@1RXVnZ@g5mqEaJfo12SgeqgnwqCj1o5N}$TbQj<(YY@ASaa;<m4x&
zC}idpm!u}9C}?DqloS+O>FXC%7G&z>7p3bL=!4a2R<XMV1^EYADQL3X;z-QP%P-AK
zPAvjC^%g5wriht=fkBh$7E5tzPTDQz+~V|=3`Lv_3=F^Q^-FRK^b0ZzbW8I<K2J^2
zEzd|z&C#v2w5T#RGOyGxPAw@dD9O*yDb|O&TOSrydIgoYn2SpDKq;h{0~AV3O#hi!
zg_x>%;7W>0^ZY<TA0MBWn420Oe~T+VJ~uz5GzY}yiH|QVP0WGHu*b)z<R{0+7jZK%
zK%575BZL6iQ3MKkc2LNJ7#xf&OkfdBj$525nZ+fgC7C(JU~flB!TEYnN9(~{bc-D-
z0@izrCBG;$JxUPaOTAQ38Y>0|8N_N(KtWg_N8IADfw<oelrD<d7#J9M7=@U4m;oW5
B(J24`

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/rotate.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/rotate.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..00c38aadbd7f97c3b86a4c3421e130caeee1215e
GIT binary patch
literal 2520
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
F%m5bKl|}#n

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/saveopts.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/saveopts.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7008ffe30399b5bc9cc6b44d08954b4124b5afa0
GIT binary patch
literal 889
zcmWIL<>g{vU|{fR*_|?piGkrUh=Yt-7#J8F7#J9eRTvl;QW#Pga~N_NqZo6UqL>&N
z+!<1sQkYv9QkYYjnwg`RQ&@r-G+AGQ^lLKR;!aJ;EQwFf&r8cpzr~$jP?DLS7oU_^
zoSF<$fQ*@7mdG$LFr+d>F{Us?F{Lm@F{dy^v7|7ku(U8lv8J#FGib8i;wVlmOU*AR
zDXvluPAp4RNY2mAP0UNt&B@G5Re)GhtWc7#kf@NBnUh*&4pOdATv||&lbM==te`lx
zq_jXUIW1iwzepj!BqOy*0peD$#$-k$2eLCTFo3W#C?GNz7#M08vKVR^GZ|``Y8bN^
zT^M4WYME=8Qy8<EisT9fY8V$V)i5t)T)@1L!G$4KC5EY%C5EY%wU(`hHH9ggsYs`W
zt%hj<OAT`-!$PJS78`~_okD>U)*6N^wi>1yhAj4GW=4h-hF}IwX1^j(3{>$zy{Q25
zrY6TNo|MeulA_F{Qc$4Y;)lw{L;Zh?KRvYs%85_OOfI>_npu*XTYQVFIJG1tH7&6;
zr=$oJ=(jjPfs~h+n|g~qrKmE#s5DQL{T54cYEIfM7LXOUIEqtCN;31(i*GR}=ce3Z
z&Mzpr#avvJe2cj(F=r)1kuU=T!!LXNlH3CQg3JQl(!7Gi<m}WG-SUjo)EwPPON%OF
zBlAjqaA23@=jRmbL*1$miWpEl>J?PpVlFDp;{*k+5Gd3c*%(=vxR^K?nV6&)IT%Hl
zs(9dvi%RqSK&c=;9^~ry_*-1@@wxdar8%kb@wa&5;|og@bD%Qp@$o77$?@^GxKmP#
zlZ!IJ39v|%fdS%bu+t%g2uKVR&LCXO#=yY9!N|hI!UPU`KTVb>Nre0LpzhZzPA$nV
ifCOU^Gt2;pd7wanus|l?;;@0Z&<>QQib3HnzzhH~CGRN!

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/sdist.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/sdist.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2f2b916e54e596b7443b2d436f212f2c8ea05901
GIT binary patch
literal 7859
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
D-bBDv

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d73f3b92785214b7719a0f4c9f663f40ccaeddc4
GIT binary patch
literal 4537
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
By}<wg

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/test.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/test.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..fe68221a2028a6e2a4bd0272593fc62678fb9d1c
GIT binary patch
literal 8475
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
Nc|em=%mSKxTmWuBfiwUB

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/upload.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/upload.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5aab94ff60920ed474a02ef3f7e0e27314321fb9
GIT binary patch
literal 784
zcmWIL<>g{vU|{fR*`0EZk%8ech=Yt-7#J8F7#J9etr!>>QW#Pga~N_NqZk=MY^EHh
zT;?biFq=7tHJ2@ljgi5fA%!J{wS^&tHI*fcxtTeNIfX5lL6iL@$W%?nTg*B6>6(nU
z*h&j>@)J`u8E**(rRL_BrKULN=jJBnrMMOq<rgJ`6eD9Mm@_087#LC+q8L*cqL@+`
zqnJ~eQkYv9qF7Q`f*CYfi<lW07^*bg@{4j)i*hOzN{drd6iV_HAeJc<BqnDkrl%Hz
zgaRr9JoS<pkt_k(0rIXh$h%4)?=sdh)-Wt!NMWjB6lW-5%wk%|#K=&>T*KJR*u<E^
z5X_*->{k^Xl939tAQ|EZg^a{vg{0KfJcS~N-*iAOQ79?T%u5B?4RuatUU5lkVv2%B
zMoCFQv6a4lL1jUvUVc%!et|w%t!5RwYfzAXkd=Za%Po$?yuAF<yyVm(kV9{=f@O+8
z4%TG4#ZsJ_lXi<aw>W(zLlGwf1H&&{{gT`Q{esK_-O@aezf)6m%QI3_b95^$Evk%-
z%q#VaQ%gz<O7in_iuIxH)`vJuub}c4b5Us?C}k9LfI^6g=|2;z5Mvb=R6$W`o}VV`
zEsps3yu{qp`1o5~@$tF&DWy3eHcxzfVQFFxRE9l1J|#anKE8;XfdS$)u=^kc$Odqn
zv4g@K<QEP`7ACNWpC<b)&XmmJlG2jQoMMQd1>t->sEff$Z?WVTWu`|7B0Qv*3Q9%A
j;Lw5C1PT)f3uNal4jYJb?LY~jn2mvffrpWYiH8{gmwm<k

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/upload_docs.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/command/__pycache__/upload_docs.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b6c0b87d8fb12a21ef4aaf79a4442ff5bf50a6a0
GIT binary patch
literal 6140
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/alias.py b/iot_env/lib/python3.8/site-packages/setuptools/command/alias.py
new file mode 100644
index 0000000..4532b1c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/alias.py
@@ -0,0 +1,80 @@
+from distutils.errors import DistutilsOptionError
+
+from setuptools.extern.six.moves import map
+
+from setuptools.command.setopt import edit_config, option_base, config_file
+
+
+def shquote(arg):
+    """Quote an argument for later parsing by shlex.split()"""
+    for c in '"', "'", "\\", "#":
+        if c in arg:
+            return repr(arg)
+    if arg.split() != [arg]:
+        return repr(arg)
+    return arg
+
+
+class alias(option_base):
+    """Define a shortcut that invokes one or more commands"""
+
+    description = "define a shortcut to invoke one or more commands"
+    command_consumes_arguments = True
+
+    user_options = [
+        ('remove', 'r', 'remove (unset) the alias'),
+    ] + option_base.user_options
+
+    boolean_options = option_base.boolean_options + ['remove']
+
+    def initialize_options(self):
+        option_base.initialize_options(self)
+        self.args = None
+        self.remove = None
+
+    def finalize_options(self):
+        option_base.finalize_options(self)
+        if self.remove and len(self.args) != 1:
+            raise DistutilsOptionError(
+                "Must specify exactly one argument (the alias name) when "
+                "using --remove"
+            )
+
+    def run(self):
+        aliases = self.distribution.get_option_dict('aliases')
+
+        if not self.args:
+            print("Command Aliases")
+            print("---------------")
+            for alias in aliases:
+                print("setup.py alias", format_alias(alias, aliases))
+            return
+
+        elif len(self.args) == 1:
+            alias, = self.args
+            if self.remove:
+                command = None
+            elif alias in aliases:
+                print("setup.py alias", format_alias(alias, aliases))
+                return
+            else:
+                print("No alias definition found for %r" % alias)
+                return
+        else:
+            alias = self.args[0]
+            command = ' '.join(map(shquote, self.args[1:]))
+
+        edit_config(self.filename, {'aliases': {alias: command}}, self.dry_run)
+
+
+def format_alias(name, aliases):
+    source, command = aliases[name]
+    if source == config_file('global'):
+        source = '--global-config '
+    elif source == config_file('user'):
+        source = '--user-config '
+    elif source == config_file('local'):
+        source = ''
+    else:
+        source = '--filename=%r' % source
+    return source + name + ' ' + command
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/bdist_egg.py b/iot_env/lib/python3.8/site-packages/setuptools/command/bdist_egg.py
new file mode 100644
index 0000000..98470f1
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/bdist_egg.py
@@ -0,0 +1,502 @@
+"""setuptools.command.bdist_egg
+
+Build .egg distributions"""
+
+from distutils.errors import DistutilsSetupError
+from distutils.dir_util import remove_tree, mkpath
+from distutils import log
+from types import CodeType
+import sys
+import os
+import re
+import textwrap
+import marshal
+
+from setuptools.extern import six
+
+from pkg_resources import get_build_platform, Distribution, ensure_directory
+from pkg_resources import EntryPoint
+from setuptools.extension import Library
+from setuptools import Command
+
+try:
+    # Python 2.7 or >=3.2
+    from sysconfig import get_path, get_python_version
+
+    def _get_purelib():
+        return get_path("purelib")
+except ImportError:
+    from distutils.sysconfig import get_python_lib, get_python_version
+
+    def _get_purelib():
+        return get_python_lib(False)
+
+
+def strip_module(filename):
+    if '.' in filename:
+        filename = os.path.splitext(filename)[0]
+    if filename.endswith('module'):
+        filename = filename[:-6]
+    return filename
+
+
+def sorted_walk(dir):
+    """Do os.walk in a reproducible way,
+    independent of indeterministic filesystem readdir order
+    """
+    for base, dirs, files in os.walk(dir):
+        dirs.sort()
+        files.sort()
+        yield base, dirs, files
+
+
+def write_stub(resource, pyfile):
+    _stub_template = textwrap.dedent("""
+        def __bootstrap__():
+            global __bootstrap__, __loader__, __file__
+            import sys, pkg_resources, imp
+            __file__ = pkg_resources.resource_filename(__name__, %r)
+            __loader__ = None; del __bootstrap__, __loader__
+            imp.load_dynamic(__name__,__file__)
+        __bootstrap__()
+        """).lstrip()
+    with open(pyfile, 'w') as f:
+        f.write(_stub_template % resource)
+
+
+class bdist_egg(Command):
+    description = "create an \"egg\" distribution"
+
+    user_options = [
+        ('bdist-dir=', 'b',
+         "temporary directory for creating the distribution"),
+        ('plat-name=', 'p', "platform name to embed in generated filenames "
+                            "(default: %s)" % get_build_platform()),
+        ('exclude-source-files', None,
+         "remove all .py files from the generated egg"),
+        ('keep-temp', 'k',
+         "keep the pseudo-installation tree around after " +
+         "creating the distribution archive"),
+        ('dist-dir=', 'd',
+         "directory to put final built distributions in"),
+        ('skip-build', None,
+         "skip rebuilding everything (for testing/debugging)"),
+    ]
+
+    boolean_options = [
+        'keep-temp', 'skip-build', 'exclude-source-files'
+    ]
+
+    def initialize_options(self):
+        self.bdist_dir = None
+        self.plat_name = None
+        self.keep_temp = 0
+        self.dist_dir = None
+        self.skip_build = 0
+        self.egg_output = None
+        self.exclude_source_files = None
+
+    def finalize_options(self):
+        ei_cmd = self.ei_cmd = self.get_finalized_command("egg_info")
+        self.egg_info = ei_cmd.egg_info
+
+        if self.bdist_dir is None:
+            bdist_base = self.get_finalized_command('bdist').bdist_base
+            self.bdist_dir = os.path.join(bdist_base, 'egg')
+
+        if self.plat_name is None:
+            self.plat_name = get_build_platform()
+
+        self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'))
+
+        if self.egg_output is None:
+
+            # Compute filename of the output egg
+            basename = Distribution(
+                None, None, ei_cmd.egg_name, ei_cmd.egg_version,
+                get_python_version(),
+                self.distribution.has_ext_modules() and self.plat_name
+            ).egg_name()
+
+            self.egg_output = os.path.join(self.dist_dir, basename + '.egg')
+
+    def do_install_data(self):
+        # Hack for packages that install data to install's --install-lib
+        self.get_finalized_command('install').install_lib = self.bdist_dir
+
+        site_packages = os.path.normcase(os.path.realpath(_get_purelib()))
+        old, self.distribution.data_files = self.distribution.data_files, []
+
+        for item in old:
+            if isinstance(item, tuple) and len(item) == 2:
+                if os.path.isabs(item[0]):
+                    realpath = os.path.realpath(item[0])
+                    normalized = os.path.normcase(realpath)
+                    if normalized == site_packages or normalized.startswith(
+                        site_packages + os.sep
+                    ):
+                        item = realpath[len(site_packages) + 1:], item[1]
+                        # XXX else: raise ???
+            self.distribution.data_files.append(item)
+
+        try:
+            log.info("installing package data to %s", self.bdist_dir)
+            self.call_command('install_data', force=0, root=None)
+        finally:
+            self.distribution.data_files = old
+
+    def get_outputs(self):
+        return [self.egg_output]
+
+    def call_command(self, cmdname, **kw):
+        """Invoke reinitialized command `cmdname` with keyword args"""
+        for dirname in INSTALL_DIRECTORY_ATTRS:
+            kw.setdefault(dirname, self.bdist_dir)
+        kw.setdefault('skip_build', self.skip_build)
+        kw.setdefault('dry_run', self.dry_run)
+        cmd = self.reinitialize_command(cmdname, **kw)
+        self.run_command(cmdname)
+        return cmd
+
+    def run(self):
+        # Generate metadata first
+        self.run_command("egg_info")
+        # We run install_lib before install_data, because some data hacks
+        # pull their data path from the install_lib command.
+        log.info("installing library code to %s", self.bdist_dir)
+        instcmd = self.get_finalized_command('install')
+        old_root = instcmd.root
+        instcmd.root = None
+        if self.distribution.has_c_libraries() and not self.skip_build:
+            self.run_command('build_clib')
+        cmd = self.call_command('install_lib', warn_dir=0)
+        instcmd.root = old_root
+
+        all_outputs, ext_outputs = self.get_ext_outputs()
+        self.stubs = []
+        to_compile = []
+        for (p, ext_name) in enumerate(ext_outputs):
+            filename, ext = os.path.splitext(ext_name)
+            pyfile = os.path.join(self.bdist_dir, strip_module(filename) +
+                                  '.py')
+            self.stubs.append(pyfile)
+            log.info("creating stub loader for %s", ext_name)
+            if not self.dry_run:
+                write_stub(os.path.basename(ext_name), pyfile)
+            to_compile.append(pyfile)
+            ext_outputs[p] = ext_name.replace(os.sep, '/')
+
+        if to_compile:
+            cmd.byte_compile(to_compile)
+        if self.distribution.data_files:
+            self.do_install_data()
+
+        # Make the EGG-INFO directory
+        archive_root = self.bdist_dir
+        egg_info = os.path.join(archive_root, 'EGG-INFO')
+        self.mkpath(egg_info)
+        if self.distribution.scripts:
+            script_dir = os.path.join(egg_info, 'scripts')
+            log.info("installing scripts to %s", script_dir)
+            self.call_command('install_scripts', install_dir=script_dir,
+                              no_ep=1)
+
+        self.copy_metadata_to(egg_info)
+        native_libs = os.path.join(egg_info, "native_libs.txt")
+        if all_outputs:
+            log.info("writing %s", native_libs)
+            if not self.dry_run:
+                ensure_directory(native_libs)
+                libs_file = open(native_libs, 'wt')
+                libs_file.write('\n'.join(all_outputs))
+                libs_file.write('\n')
+                libs_file.close()
+        elif os.path.isfile(native_libs):
+            log.info("removing %s", native_libs)
+            if not self.dry_run:
+                os.unlink(native_libs)
+
+        write_safety_flag(
+            os.path.join(archive_root, 'EGG-INFO'), self.zip_safe()
+        )
+
+        if os.path.exists(os.path.join(self.egg_info, 'depends.txt')):
+            log.warn(
+                "WARNING: 'depends.txt' will not be used by setuptools 0.6!\n"
+                "Use the install_requires/extras_require setup() args instead."
+            )
+
+        if self.exclude_source_files:
+            self.zap_pyfiles()
+
+        # Make the archive
+        make_zipfile(self.egg_output, archive_root, verbose=self.verbose,
+                     dry_run=self.dry_run, mode=self.gen_header())
+        if not self.keep_temp:
+            remove_tree(self.bdist_dir, dry_run=self.dry_run)
+
+        # Add to 'Distribution.dist_files' so that the "upload" command works
+        getattr(self.distribution, 'dist_files', []).append(
+            ('bdist_egg', get_python_version(), self.egg_output))
+
+    def zap_pyfiles(self):
+        log.info("Removing .py files from temporary directory")
+        for base, dirs, files in walk_egg(self.bdist_dir):
+            for name in files:
+                path = os.path.join(base, name)
+
+                if name.endswith('.py'):
+                    log.debug("Deleting %s", path)
+                    os.unlink(path)
+
+                if base.endswith('__pycache__'):
+                    path_old = path
+
+                    pattern = r'(?P<name>.+)\.(?P<magic>[^.]+)\.pyc'
+                    m = re.match(pattern, name)
+                    path_new = os.path.join(
+                        base, os.pardir, m.group('name') + '.pyc')
+                    log.info(
+                        "Renaming file from [%s] to [%s]"
+                        % (path_old, path_new))
+                    try:
+                        os.remove(path_new)
+                    except OSError:
+                        pass
+                    os.rename(path_old, path_new)
+
+    def zip_safe(self):
+        safe = getattr(self.distribution, 'zip_safe', None)
+        if safe is not None:
+            return safe
+        log.warn("zip_safe flag not set; analyzing archive contents...")
+        return analyze_egg(self.bdist_dir, self.stubs)
+
+    def gen_header(self):
+        epm = EntryPoint.parse_map(self.distribution.entry_points or '')
+        ep = epm.get('setuptools.installation', {}).get('eggsecutable')
+        if ep is None:
+            return 'w'  # not an eggsecutable, do it the usual way.
+
+        if not ep.attrs or ep.extras:
+            raise DistutilsSetupError(
+                "eggsecutable entry point (%r) cannot have 'extras' "
+                "or refer to a module" % (ep,)
+            )
+
+        pyver = '{}.{}'.format(*sys.version_info)
+        pkg = ep.module_name
+        full = '.'.join(ep.attrs)
+        base = ep.attrs[0]
+        basename = os.path.basename(self.egg_output)
+
+        header = (
+            "#!/bin/sh\n"
+            'if [ `basename $0` = "%(basename)s" ]\n'
+            'then exec python%(pyver)s -c "'
+            "import sys, os; sys.path.insert(0, os.path.abspath('$0')); "
+            "from %(pkg)s import %(base)s; sys.exit(%(full)s())"
+            '" "$@"\n'
+            'else\n'
+            '  echo $0 is not the correct name for this egg file.\n'
+            '  echo Please rename it back to %(basename)s and try again.\n'
+            '  exec false\n'
+            'fi\n'
+        ) % locals()
+
+        if not self.dry_run:
+            mkpath(os.path.dirname(self.egg_output), dry_run=self.dry_run)
+            f = open(self.egg_output, 'w')
+            f.write(header)
+            f.close()
+        return 'a'
+
+    def copy_metadata_to(self, target_dir):
+        "Copy metadata (egg info) to the target_dir"
+        # normalize the path (so that a forward-slash in egg_info will
+        # match using startswith below)
+        norm_egg_info = os.path.normpath(self.egg_info)
+        prefix = os.path.join(norm_egg_info, '')
+        for path in self.ei_cmd.filelist.files:
+            if path.startswith(prefix):
+                target = os.path.join(target_dir, path[len(prefix):])
+                ensure_directory(target)
+                self.copy_file(path, target)
+
+    def get_ext_outputs(self):
+        """Get a list of relative paths to C extensions in the output distro"""
+
+        all_outputs = []
+        ext_outputs = []
+
+        paths = {self.bdist_dir: ''}
+        for base, dirs, files in sorted_walk(self.bdist_dir):
+            for filename in files:
+                if os.path.splitext(filename)[1].lower() in NATIVE_EXTENSIONS:
+                    all_outputs.append(paths[base] + filename)
+            for filename in dirs:
+                paths[os.path.join(base, filename)] = (paths[base] +
+                                                       filename + '/')
+
+        if self.distribution.has_ext_modules():
+            build_cmd = self.get_finalized_command('build_ext')
+            for ext in build_cmd.extensions:
+                if isinstance(ext, Library):
+                    continue
+                fullname = build_cmd.get_ext_fullname(ext.name)
+                filename = build_cmd.get_ext_filename(fullname)
+                if not os.path.basename(filename).startswith('dl-'):
+                    if os.path.exists(os.path.join(self.bdist_dir, filename)):
+                        ext_outputs.append(filename)
+
+        return all_outputs, ext_outputs
+
+
+NATIVE_EXTENSIONS = dict.fromkeys('.dll .so .dylib .pyd'.split())
+
+
+def walk_egg(egg_dir):
+    """Walk an unpacked egg's contents, skipping the metadata directory"""
+    walker = sorted_walk(egg_dir)
+    base, dirs, files = next(walker)
+    if 'EGG-INFO' in dirs:
+        dirs.remove('EGG-INFO')
+    yield base, dirs, files
+    for bdf in walker:
+        yield bdf
+
+
+def analyze_egg(egg_dir, stubs):
+    # check for existing flag in EGG-INFO
+    for flag, fn in safety_flags.items():
+        if os.path.exists(os.path.join(egg_dir, 'EGG-INFO', fn)):
+            return flag
+    if not can_scan():
+        return False
+    safe = True
+    for base, dirs, files in walk_egg(egg_dir):
+        for name in files:
+            if name.endswith('.py') or name.endswith('.pyw'):
+                continue
+            elif name.endswith('.pyc') or name.endswith('.pyo'):
+                # always scan, even if we already know we're not safe
+                safe = scan_module(egg_dir, base, name, stubs) and safe
+    return safe
+
+
+def write_safety_flag(egg_dir, safe):
+    # Write or remove zip safety flag file(s)
+    for flag, fn in safety_flags.items():
+        fn = os.path.join(egg_dir, fn)
+        if os.path.exists(fn):
+            if safe is None or bool(safe) != flag:
+                os.unlink(fn)
+        elif safe is not None and bool(safe) == flag:
+            f = open(fn, 'wt')
+            f.write('\n')
+            f.close()
+
+
+safety_flags = {
+    True: 'zip-safe',
+    False: 'not-zip-safe',
+}
+
+
+def scan_module(egg_dir, base, name, stubs):
+    """Check whether module possibly uses unsafe-for-zipfile stuff"""
+
+    filename = os.path.join(base, name)
+    if filename[:-1] in stubs:
+        return True  # Extension module
+    pkg = base[len(egg_dir) + 1:].replace(os.sep, '.')
+    module = pkg + (pkg and '.' or '') + os.path.splitext(name)[0]
+    if six.PY2:
+        skip = 8  # skip magic & date
+    elif sys.version_info < (3, 7):
+        skip = 12  # skip magic & date & file size
+    else:
+        skip = 16  # skip magic & reserved? & date & file size
+    f = open(filename, 'rb')
+    f.read(skip)
+    code = marshal.load(f)
+    f.close()
+    safe = True
+    symbols = dict.fromkeys(iter_symbols(code))
+    for bad in ['__file__', '__path__']:
+        if bad in symbols:
+            log.warn("%s: module references %s", module, bad)
+            safe = False
+    if 'inspect' in symbols:
+        for bad in [
+            'getsource', 'getabsfile', 'getsourcefile', 'getfile'
+            'getsourcelines', 'findsource', 'getcomments', 'getframeinfo',
+            'getinnerframes', 'getouterframes', 'stack', 'trace'
+        ]:
+            if bad in symbols:
+                log.warn("%s: module MAY be using inspect.%s", module, bad)
+                safe = False
+    return safe
+
+
+def iter_symbols(code):
+    """Yield names and strings used by `code` and its nested code objects"""
+    for name in code.co_names:
+        yield name
+    for const in code.co_consts:
+        if isinstance(const, six.string_types):
+            yield const
+        elif isinstance(const, CodeType):
+            for name in iter_symbols(const):
+                yield name
+
+
+def can_scan():
+    if not sys.platform.startswith('java') and sys.platform != 'cli':
+        # CPython, PyPy, etc.
+        return True
+    log.warn("Unable to analyze compiled code on this platform.")
+    log.warn("Please ask the author to include a 'zip_safe'"
+             " setting (either True or False) in the package's setup.py")
+
+
+# Attribute names of options for commands that might need to be convinced to
+# install to the egg build directory
+
+INSTALL_DIRECTORY_ATTRS = [
+    'install_lib', 'install_dir', 'install_data', 'install_base'
+]
+
+
+def make_zipfile(zip_filename, base_dir, verbose=0, dry_run=0, compress=True,
+                 mode='w'):
+    """Create a zip file from all the files under 'base_dir'.  The output
+    zip file will be named 'base_dir' + ".zip".  Uses either the "zipfile"
+    Python module (if available) or the InfoZIP "zip" utility (if installed
+    and found on the default search path).  If neither tool is available,
+    raises DistutilsExecError.  Returns the name of the output zip file.
+    """
+    import zipfile
+
+    mkpath(os.path.dirname(zip_filename), dry_run=dry_run)
+    log.info("creating '%s' and adding '%s' to it", zip_filename, base_dir)
+
+    def visit(z, dirname, names):
+        for name in names:
+            path = os.path.normpath(os.path.join(dirname, name))
+            if os.path.isfile(path):
+                p = path[len(base_dir) + 1:]
+                if not dry_run:
+                    z.write(path, p)
+                log.debug("adding '%s'", p)
+
+    compression = zipfile.ZIP_DEFLATED if compress else zipfile.ZIP_STORED
+    if not dry_run:
+        z = zipfile.ZipFile(zip_filename, mode, compression=compression)
+        for dirname, dirs, files in sorted_walk(base_dir):
+            visit(z, dirname, files)
+        z.close()
+    else:
+        for dirname, dirs, files in sorted_walk(base_dir):
+            visit(None, dirname, files)
+    return zip_filename
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py b/iot_env/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py
new file mode 100644
index 0000000..7073092
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py
@@ -0,0 +1,43 @@
+import distutils.command.bdist_rpm as orig
+
+
+class bdist_rpm(orig.bdist_rpm):
+    """
+    Override the default bdist_rpm behavior to do the following:
+
+    1. Run egg_info to ensure the name and version are properly calculated.
+    2. Always run 'install' using --single-version-externally-managed to
+       disable eggs in RPM distributions.
+    3. Replace dash with underscore in the version numbers for better RPM
+       compatibility.
+    """
+
+    def run(self):
+        # ensure distro name is up-to-date
+        self.run_command('egg_info')
+
+        orig.bdist_rpm.run(self)
+
+    def _make_spec_file(self):
+        version = self.distribution.get_version()
+        rpmversion = version.replace('-', '_')
+        spec = orig.bdist_rpm._make_spec_file(self)
+        line23 = '%define version ' + version
+        line24 = '%define version ' + rpmversion
+        spec = [
+            line.replace(
+                "Source0: %{name}-%{version}.tar",
+                "Source0: %{name}-%{unmangled_version}.tar"
+            ).replace(
+                "setup.py install ",
+                "setup.py install --single-version-externally-managed "
+            ).replace(
+                "%setup",
+                "%setup -n %{name}-%{unmangled_version}"
+            ).replace(line23, line24)
+            for line in spec
+        ]
+        insert_loc = spec.index(line24) + 1
+        unmangled_version = "%define unmangled_version " + version
+        spec.insert(insert_loc, unmangled_version)
+        return spec
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/bdist_wininst.py b/iot_env/lib/python3.8/site-packages/setuptools/command/bdist_wininst.py
new file mode 100644
index 0000000..073de97
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/bdist_wininst.py
@@ -0,0 +1,21 @@
+import distutils.command.bdist_wininst as orig
+
+
+class bdist_wininst(orig.bdist_wininst):
+    def reinitialize_command(self, command, reinit_subcommands=0):
+        """
+        Supplement reinitialize_command to work around
+        http://bugs.python.org/issue20819
+        """
+        cmd = self.distribution.reinitialize_command(
+            command, reinit_subcommands)
+        if command in ('install', 'install_lib'):
+            cmd.install_lib = None
+        return cmd
+
+    def run(self):
+        self._is_running = True
+        try:
+            orig.bdist_wininst.run(self)
+        finally:
+            self._is_running = False
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/build_clib.py b/iot_env/lib/python3.8/site-packages/setuptools/command/build_clib.py
new file mode 100644
index 0000000..09caff6
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/build_clib.py
@@ -0,0 +1,98 @@
+import distutils.command.build_clib as orig
+from distutils.errors import DistutilsSetupError
+from distutils import log
+from setuptools.dep_util import newer_pairwise_group
+
+
+class build_clib(orig.build_clib):
+    """
+    Override the default build_clib behaviour to do the following:
+
+    1. Implement a rudimentary timestamp-based dependency system
+       so 'compile()' doesn't run every time.
+    2. Add more keys to the 'build_info' dictionary:
+        * obj_deps - specify dependencies for each object compiled.
+                     this should be a dictionary mapping a key
+                     with the source filename to a list of
+                     dependencies. Use an empty string for global
+                     dependencies.
+        * cflags   - specify a list of additional flags to pass to
+                     the compiler.
+    """
+
+    def build_libraries(self, libraries):
+        for (lib_name, build_info) in libraries:
+            sources = build_info.get('sources')
+            if sources is None or not isinstance(sources, (list, tuple)):
+                raise DistutilsSetupError(
+                       "in 'libraries' option (library '%s'), "
+                       "'sources' must be present and must be "
+                       "a list of source filenames" % lib_name)
+            sources = list(sources)
+
+            log.info("building '%s' library", lib_name)
+
+            # Make sure everything is the correct type.
+            # obj_deps should be a dictionary of keys as sources
+            # and a list/tuple of files that are its dependencies.
+            obj_deps = build_info.get('obj_deps', dict())
+            if not isinstance(obj_deps, dict):
+                raise DistutilsSetupError(
+                       "in 'libraries' option (library '%s'), "
+                       "'obj_deps' must be a dictionary of "
+                       "type 'source: list'" % lib_name)
+            dependencies = []
+
+            # Get the global dependencies that are specified by the '' key.
+            # These will go into every source's dependency list.
+            global_deps = obj_deps.get('', list())
+            if not isinstance(global_deps, (list, tuple)):
+                raise DistutilsSetupError(
+                       "in 'libraries' option (library '%s'), "
+                       "'obj_deps' must be a dictionary of "
+                       "type 'source: list'" % lib_name)
+
+            # Build the list to be used by newer_pairwise_group
+            # each source will be auto-added to its dependencies.
+            for source in sources:
+                src_deps = [source]
+                src_deps.extend(global_deps)
+                extra_deps = obj_deps.get(source, list())
+                if not isinstance(extra_deps, (list, tuple)):
+                    raise DistutilsSetupError(
+                           "in 'libraries' option (library '%s'), "
+                           "'obj_deps' must be a dictionary of "
+                           "type 'source: list'" % lib_name)
+                src_deps.extend(extra_deps)
+                dependencies.append(src_deps)
+
+            expected_objects = self.compiler.object_filenames(
+                    sources,
+                    output_dir=self.build_temp
+                    )
+
+            if newer_pairwise_group(dependencies, expected_objects) != ([], []):
+                # First, compile the source code to object files in the library
+                # directory.  (This should probably change to putting object
+                # files in a temporary build directory.)
+                macros = build_info.get('macros')
+                include_dirs = build_info.get('include_dirs')
+                cflags = build_info.get('cflags')
+                objects = self.compiler.compile(
+                        sources,
+                        output_dir=self.build_temp,
+                        macros=macros,
+                        include_dirs=include_dirs,
+                        extra_postargs=cflags,
+                        debug=self.debug
+                        )
+
+            # Now "link" the object files together into a static library.
+            # (On Unix at least, this isn't really linking -- it just
+            # builds an archive.  Whatever.)
+            self.compiler.create_static_lib(
+                    expected_objects,
+                    lib_name,
+                    output_dir=self.build_clib,
+                    debug=self.debug
+                    )
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/build_ext.py b/iot_env/lib/python3.8/site-packages/setuptools/command/build_ext.py
new file mode 100644
index 0000000..daa8e4f
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/build_ext.py
@@ -0,0 +1,327 @@
+import os
+import sys
+import itertools
+from distutils.command.build_ext import build_ext as _du_build_ext
+from distutils.file_util import copy_file
+from distutils.ccompiler import new_compiler
+from distutils.sysconfig import customize_compiler, get_config_var
+from distutils.errors import DistutilsError
+from distutils import log
+
+from setuptools.extension import Library
+from setuptools.extern import six
+
+if six.PY2:
+    import imp
+
+    EXTENSION_SUFFIXES = [s for s, _, tp in imp.get_suffixes() if tp == imp.C_EXTENSION]
+else:
+    from importlib.machinery import EXTENSION_SUFFIXES
+
+try:
+    # Attempt to use Cython for building extensions, if available
+    from Cython.Distutils.build_ext import build_ext as _build_ext
+    # Additionally, assert that the compiler module will load
+    # also. Ref #1229.
+    __import__('Cython.Compiler.Main')
+except ImportError:
+    _build_ext = _du_build_ext
+
+# make sure _config_vars is initialized
+get_config_var("LDSHARED")
+from distutils.sysconfig import _config_vars as _CONFIG_VARS
+
+
+def _customize_compiler_for_shlib(compiler):
+    if sys.platform == "darwin":
+        # building .dylib requires additional compiler flags on OSX; here we
+        # temporarily substitute the pyconfig.h variables so that distutils'
+        # 'customize_compiler' uses them before we build the shared libraries.
+        tmp = _CONFIG_VARS.copy()
+        try:
+            # XXX Help!  I don't have any idea whether these are right...
+            _CONFIG_VARS['LDSHARED'] = (
+                "gcc -Wl,-x -dynamiclib -undefined dynamic_lookup")
+            _CONFIG_VARS['CCSHARED'] = " -dynamiclib"
+            _CONFIG_VARS['SO'] = ".dylib"
+            customize_compiler(compiler)
+        finally:
+            _CONFIG_VARS.clear()
+            _CONFIG_VARS.update(tmp)
+    else:
+        customize_compiler(compiler)
+
+
+have_rtld = False
+use_stubs = False
+libtype = 'shared'
+
+if sys.platform == "darwin":
+    use_stubs = True
+elif os.name != 'nt':
+    try:
+        import dl
+        use_stubs = have_rtld = hasattr(dl, 'RTLD_NOW')
+    except ImportError:
+        pass
+
+if_dl = lambda s: s if have_rtld else ''
+
+
+def get_abi3_suffix():
+    """Return the file extension for an abi3-compliant Extension()"""
+    for suffix in EXTENSION_SUFFIXES:
+        if '.abi3' in suffix:  # Unix
+            return suffix
+        elif suffix == '.pyd':  # Windows
+            return suffix
+
+
+class build_ext(_build_ext):
+    def run(self):
+        """Build extensions in build directory, then copy if --inplace"""
+        old_inplace, self.inplace = self.inplace, 0
+        _build_ext.run(self)
+        self.inplace = old_inplace
+        if old_inplace:
+            self.copy_extensions_to_source()
+
+    def copy_extensions_to_source(self):
+        build_py = self.get_finalized_command('build_py')
+        for ext in self.extensions:
+            fullname = self.get_ext_fullname(ext.name)
+            filename = self.get_ext_filename(fullname)
+            modpath = fullname.split('.')
+            package = '.'.join(modpath[:-1])
+            package_dir = build_py.get_package_dir(package)
+            dest_filename = os.path.join(package_dir,
+                                         os.path.basename(filename))
+            src_filename = os.path.join(self.build_lib, filename)
+
+            # Always copy, even if source is older than destination, to ensure
+            # that the right extensions for the current Python/platform are
+            # used.
+            copy_file(
+                src_filename, dest_filename, verbose=self.verbose,
+                dry_run=self.dry_run
+            )
+            if ext._needs_stub:
+                self.write_stub(package_dir or os.curdir, ext, True)
+
+    def get_ext_filename(self, fullname):
+        filename = _build_ext.get_ext_filename(self, fullname)
+        if fullname in self.ext_map:
+            ext = self.ext_map[fullname]
+            use_abi3 = (
+                six.PY3
+                and getattr(ext, 'py_limited_api')
+                and get_abi3_suffix()
+            )
+            if use_abi3:
+                so_ext = get_config_var('EXT_SUFFIX')
+                filename = filename[:-len(so_ext)]
+                filename = filename + get_abi3_suffix()
+            if isinstance(ext, Library):
+                fn, ext = os.path.splitext(filename)
+                return self.shlib_compiler.library_filename(fn, libtype)
+            elif use_stubs and ext._links_to_dynamic:
+                d, fn = os.path.split(filename)
+                return os.path.join(d, 'dl-' + fn)
+        return filename
+
+    def initialize_options(self):
+        _build_ext.initialize_options(self)
+        self.shlib_compiler = None
+        self.shlibs = []
+        self.ext_map = {}
+
+    def finalize_options(self):
+        _build_ext.finalize_options(self)
+        self.extensions = self.extensions or []
+        self.check_extensions_list(self.extensions)
+        self.shlibs = [ext for ext in self.extensions
+                       if isinstance(ext, Library)]
+        if self.shlibs:
+            self.setup_shlib_compiler()
+        for ext in self.extensions:
+            ext._full_name = self.get_ext_fullname(ext.name)
+        for ext in self.extensions:
+            fullname = ext._full_name
+            self.ext_map[fullname] = ext
+
+            # distutils 3.1 will also ask for module names
+            # XXX what to do with conflicts?
+            self.ext_map[fullname.split('.')[-1]] = ext
+
+            ltd = self.shlibs and self.links_to_dynamic(ext) or False
+            ns = ltd and use_stubs and not isinstance(ext, Library)
+            ext._links_to_dynamic = ltd
+            ext._needs_stub = ns
+            filename = ext._file_name = self.get_ext_filename(fullname)
+            libdir = os.path.dirname(os.path.join(self.build_lib, filename))
+            if ltd and libdir not in ext.library_dirs:
+                ext.library_dirs.append(libdir)
+            if ltd and use_stubs and os.curdir not in ext.runtime_library_dirs:
+                ext.runtime_library_dirs.append(os.curdir)
+
+    def setup_shlib_compiler(self):
+        compiler = self.shlib_compiler = new_compiler(
+            compiler=self.compiler, dry_run=self.dry_run, force=self.force
+        )
+        _customize_compiler_for_shlib(compiler)
+
+        if self.include_dirs is not None:
+            compiler.set_include_dirs(self.include_dirs)
+        if self.define is not None:
+            # 'define' option is a list of (name,value) tuples
+            for (name, value) in self.define:
+                compiler.define_macro(name, value)
+        if self.undef is not None:
+            for macro in self.undef:
+                compiler.undefine_macro(macro)
+        if self.libraries is not None:
+            compiler.set_libraries(self.libraries)
+        if self.library_dirs is not None:
+            compiler.set_library_dirs(self.library_dirs)
+        if self.rpath is not None:
+            compiler.set_runtime_library_dirs(self.rpath)
+        if self.link_objects is not None:
+            compiler.set_link_objects(self.link_objects)
+
+        # hack so distutils' build_extension() builds a library instead
+        compiler.link_shared_object = link_shared_object.__get__(compiler)
+
+    def get_export_symbols(self, ext):
+        if isinstance(ext, Library):
+            return ext.export_symbols
+        return _build_ext.get_export_symbols(self, ext)
+
+    def build_extension(self, ext):
+        ext._convert_pyx_sources_to_lang()
+        _compiler = self.compiler
+        try:
+            if isinstance(ext, Library):
+                self.compiler = self.shlib_compiler
+            _build_ext.build_extension(self, ext)
+            if ext._needs_stub:
+                cmd = self.get_finalized_command('build_py').build_lib
+                self.write_stub(cmd, ext)
+        finally:
+            self.compiler = _compiler
+
+    def links_to_dynamic(self, ext):
+        """Return true if 'ext' links to a dynamic lib in the same package"""
+        # XXX this should check to ensure the lib is actually being built
+        # XXX as dynamic, and not just using a locally-found version or a
+        # XXX static-compiled version
+        libnames = dict.fromkeys([lib._full_name for lib in self.shlibs])
+        pkg = '.'.join(ext._full_name.split('.')[:-1] + [''])
+        return any(pkg + libname in libnames for libname in ext.libraries)
+
+    def get_outputs(self):
+        return _build_ext.get_outputs(self) + self.__get_stubs_outputs()
+
+    def __get_stubs_outputs(self):
+        # assemble the base name for each extension that needs a stub
+        ns_ext_bases = (
+            os.path.join(self.build_lib, *ext._full_name.split('.'))
+            for ext in self.extensions
+            if ext._needs_stub
+        )
+        # pair each base with the extension
+        pairs = itertools.product(ns_ext_bases, self.__get_output_extensions())
+        return list(base + fnext for base, fnext in pairs)
+
+    def __get_output_extensions(self):
+        yield '.py'
+        yield '.pyc'
+        if self.get_finalized_command('build_py').optimize:
+            yield '.pyo'
+
+    def write_stub(self, output_dir, ext, compile=False):
+        log.info("writing stub loader for %s to %s", ext._full_name,
+                 output_dir)
+        stub_file = (os.path.join(output_dir, *ext._full_name.split('.')) +
+                     '.py')
+        if compile and os.path.exists(stub_file):
+            raise DistutilsError(stub_file + " already exists! Please delete.")
+        if not self.dry_run:
+            f = open(stub_file, 'w')
+            f.write(
+                '\n'.join([
+                    "def __bootstrap__():",
+                    "   global __bootstrap__, __file__, __loader__",
+                    "   import sys, os, pkg_resources, imp" + if_dl(", dl"),
+                    "   __file__ = pkg_resources.resource_filename"
+                    "(__name__,%r)"
+                    % os.path.basename(ext._file_name),
+                    "   del __bootstrap__",
+                    "   if '__loader__' in globals():",
+                    "       del __loader__",
+                    if_dl("   old_flags = sys.getdlopenflags()"),
+                    "   old_dir = os.getcwd()",
+                    "   try:",
+                    "     os.chdir(os.path.dirname(__file__))",
+                    if_dl("     sys.setdlopenflags(dl.RTLD_NOW)"),
+                    "     imp.load_dynamic(__name__,__file__)",
+                    "   finally:",
+                    if_dl("     sys.setdlopenflags(old_flags)"),
+                    "     os.chdir(old_dir)",
+                    "__bootstrap__()",
+                    ""  # terminal \n
+                ])
+            )
+            f.close()
+        if compile:
+            from distutils.util import byte_compile
+
+            byte_compile([stub_file], optimize=0,
+                         force=True, dry_run=self.dry_run)
+            optimize = self.get_finalized_command('install_lib').optimize
+            if optimize > 0:
+                byte_compile([stub_file], optimize=optimize,
+                             force=True, dry_run=self.dry_run)
+            if os.path.exists(stub_file) and not self.dry_run:
+                os.unlink(stub_file)
+
+
+if use_stubs or os.name == 'nt':
+    # Build shared libraries
+    #
+    def link_shared_object(
+            self, objects, output_libname, output_dir=None, libraries=None,
+            library_dirs=None, runtime_library_dirs=None, export_symbols=None,
+            debug=0, extra_preargs=None, extra_postargs=None, build_temp=None,
+            target_lang=None):
+        self.link(
+            self.SHARED_LIBRARY, objects, output_libname,
+            output_dir, libraries, library_dirs, runtime_library_dirs,
+            export_symbols, debug, extra_preargs, extra_postargs,
+            build_temp, target_lang
+        )
+else:
+    # Build static libraries everywhere else
+    libtype = 'static'
+
+    def link_shared_object(
+            self, objects, output_libname, output_dir=None, libraries=None,
+            library_dirs=None, runtime_library_dirs=None, export_symbols=None,
+            debug=0, extra_preargs=None, extra_postargs=None, build_temp=None,
+            target_lang=None):
+        # XXX we need to either disallow these attrs on Library instances,
+        # or warn/abort here if set, or something...
+        # libraries=None, library_dirs=None, runtime_library_dirs=None,
+        # export_symbols=None, extra_preargs=None, extra_postargs=None,
+        # build_temp=None
+
+        assert output_dir is None  # distutils build_ext doesn't pass this
+        output_dir, filename = os.path.split(output_libname)
+        basename, ext = os.path.splitext(filename)
+        if self.library_filename("x").startswith('lib'):
+            # strip 'lib' prefix; this is kludgy if some platform uses
+            # a different prefix
+            basename = basename[3:]
+
+        self.create_static_lib(
+            objects, basename, output_dir, debug, target_lang
+        )
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/build_py.py b/iot_env/lib/python3.8/site-packages/setuptools/command/build_py.py
new file mode 100644
index 0000000..b0314fd
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/build_py.py
@@ -0,0 +1,270 @@
+from glob import glob
+from distutils.util import convert_path
+import distutils.command.build_py as orig
+import os
+import fnmatch
+import textwrap
+import io
+import distutils.errors
+import itertools
+
+from setuptools.extern import six
+from setuptools.extern.six.moves import map, filter, filterfalse
+
+try:
+    from setuptools.lib2to3_ex import Mixin2to3
+except ImportError:
+
+    class Mixin2to3:
+        def run_2to3(self, files, doctests=True):
+            "do nothing"
+
+
+class build_py(orig.build_py, Mixin2to3):
+    """Enhanced 'build_py' command that includes data files with packages
+
+    The data files are specified via a 'package_data' argument to 'setup()'.
+    See 'setuptools.dist.Distribution' for more details.
+
+    Also, this version of the 'build_py' command allows you to specify both
+    'py_modules' and 'packages' in the same setup operation.
+    """
+
+    def finalize_options(self):
+        orig.build_py.finalize_options(self)
+        self.package_data = self.distribution.package_data
+        self.exclude_package_data = (self.distribution.exclude_package_data or
+                                     {})
+        if 'data_files' in self.__dict__:
+            del self.__dict__['data_files']
+        self.__updated_files = []
+        self.__doctests_2to3 = []
+
+    def run(self):
+        """Build modules, packages, and copy data files to build directory"""
+        if not self.py_modules and not self.packages:
+            return
+
+        if self.py_modules:
+            self.build_modules()
+
+        if self.packages:
+            self.build_packages()
+            self.build_package_data()
+
+        self.run_2to3(self.__updated_files, False)
+        self.run_2to3(self.__updated_files, True)
+        self.run_2to3(self.__doctests_2to3, True)
+
+        # Only compile actual .py files, using our base class' idea of what our
+        # output files are.
+        self.byte_compile(orig.build_py.get_outputs(self, include_bytecode=0))
+
+    def __getattr__(self, attr):
+        "lazily compute data files"
+        if attr == 'data_files':
+            self.data_files = self._get_data_files()
+            return self.data_files
+        return orig.build_py.__getattr__(self, attr)
+
+    def build_module(self, module, module_file, package):
+        if six.PY2 and isinstance(package, six.string_types):
+            # avoid errors on Python 2 when unicode is passed (#190)
+            package = package.split('.')
+        outfile, copied = orig.build_py.build_module(self, module, module_file,
+                                                     package)
+        if copied:
+            self.__updated_files.append(outfile)
+        return outfile, copied
+
+    def _get_data_files(self):
+        """Generate list of '(package,src_dir,build_dir,filenames)' tuples"""
+        self.analyze_manifest()
+        return list(map(self._get_pkg_data_files, self.packages or ()))
+
+    def _get_pkg_data_files(self, package):
+        # Locate package source directory
+        src_dir = self.get_package_dir(package)
+
+        # Compute package build directory
+        build_dir = os.path.join(*([self.build_lib] + package.split('.')))
+
+        # Strip directory from globbed filenames
+        filenames = [
+            os.path.relpath(file, src_dir)
+            for file in self.find_data_files(package, src_dir)
+        ]
+        return package, src_dir, build_dir, filenames
+
+    def find_data_files(self, package, src_dir):
+        """Return filenames for package's data files in 'src_dir'"""
+        patterns = self._get_platform_patterns(
+            self.package_data,
+            package,
+            src_dir,
+        )
+        globs_expanded = map(glob, patterns)
+        # flatten the expanded globs into an iterable of matches
+        globs_matches = itertools.chain.from_iterable(globs_expanded)
+        glob_files = filter(os.path.isfile, globs_matches)
+        files = itertools.chain(
+            self.manifest_files.get(package, []),
+            glob_files,
+        )
+        return self.exclude_data_files(package, src_dir, files)
+
+    def build_package_data(self):
+        """Copy data files into build directory"""
+        for package, src_dir, build_dir, filenames in self.data_files:
+            for filename in filenames:
+                target = os.path.join(build_dir, filename)
+                self.mkpath(os.path.dirname(target))
+                srcfile = os.path.join(src_dir, filename)
+                outf, copied = self.copy_file(srcfile, target)
+                srcfile = os.path.abspath(srcfile)
+                if (copied and
+                        srcfile in self.distribution.convert_2to3_doctests):
+                    self.__doctests_2to3.append(outf)
+
+    def analyze_manifest(self):
+        self.manifest_files = mf = {}
+        if not self.distribution.include_package_data:
+            return
+        src_dirs = {}
+        for package in self.packages or ():
+            # Locate package source directory
+            src_dirs[assert_relative(self.get_package_dir(package))] = package
+
+        self.run_command('egg_info')
+        ei_cmd = self.get_finalized_command('egg_info')
+        for path in ei_cmd.filelist.files:
+            d, f = os.path.split(assert_relative(path))
+            prev = None
+            oldf = f
+            while d and d != prev and d not in src_dirs:
+                prev = d
+                d, df = os.path.split(d)
+                f = os.path.join(df, f)
+            if d in src_dirs:
+                if path.endswith('.py') and f == oldf:
+                    continue  # it's a module, not data
+                mf.setdefault(src_dirs[d], []).append(path)
+
+    def get_data_files(self):
+        pass  # Lazily compute data files in _get_data_files() function.
+
+    def check_package(self, package, package_dir):
+        """Check namespace packages' __init__ for declare_namespace"""
+        try:
+            return self.packages_checked[package]
+        except KeyError:
+            pass
+
+        init_py = orig.build_py.check_package(self, package, package_dir)
+        self.packages_checked[package] = init_py
+
+        if not init_py or not self.distribution.namespace_packages:
+            return init_py
+
+        for pkg in self.distribution.namespace_packages:
+            if pkg == package or pkg.startswith(package + '.'):
+                break
+        else:
+            return init_py
+
+        with io.open(init_py, 'rb') as f:
+            contents = f.read()
+        if b'declare_namespace' not in contents:
+            raise distutils.errors.DistutilsError(
+                "Namespace package problem: %s is a namespace package, but "
+                "its\n__init__.py does not call declare_namespace()! Please "
+                'fix it.\n(See the setuptools manual under '
+                '"Namespace Packages" for details.)\n"' % (package,)
+            )
+        return init_py
+
+    def initialize_options(self):
+        self.packages_checked = {}
+        orig.build_py.initialize_options(self)
+
+    def get_package_dir(self, package):
+        res = orig.build_py.get_package_dir(self, package)
+        if self.distribution.src_root is not None:
+            return os.path.join(self.distribution.src_root, res)
+        return res
+
+    def exclude_data_files(self, package, src_dir, files):
+        """Filter filenames for package's data files in 'src_dir'"""
+        files = list(files)
+        patterns = self._get_platform_patterns(
+            self.exclude_package_data,
+            package,
+            src_dir,
+        )
+        match_groups = (
+            fnmatch.filter(files, pattern)
+            for pattern in patterns
+        )
+        # flatten the groups of matches into an iterable of matches
+        matches = itertools.chain.from_iterable(match_groups)
+        bad = set(matches)
+        keepers = (
+            fn
+            for fn in files
+            if fn not in bad
+        )
+        # ditch dupes
+        return list(_unique_everseen(keepers))
+
+    @staticmethod
+    def _get_platform_patterns(spec, package, src_dir):
+        """
+        yield platform-specific path patterns (suitable for glob
+        or fn_match) from a glob-based spec (such as
+        self.package_data or self.exclude_package_data)
+        matching package in src_dir.
+        """
+        raw_patterns = itertools.chain(
+            spec.get('', []),
+            spec.get(package, []),
+        )
+        return (
+            # Each pattern has to be converted to a platform-specific path
+            os.path.join(src_dir, convert_path(pattern))
+            for pattern in raw_patterns
+        )
+
+
+# from Python docs
+def _unique_everseen(iterable, key=None):
+    "List unique elements, preserving order. Remember all elements ever seen."
+    # unique_everseen('AAAABBBCCDAABBB') --> A B C D
+    # unique_everseen('ABBCcAD', str.lower) --> A B C D
+    seen = set()
+    seen_add = seen.add
+    if key is None:
+        for element in filterfalse(seen.__contains__, iterable):
+            seen_add(element)
+            yield element
+    else:
+        for element in iterable:
+            k = key(element)
+            if k not in seen:
+                seen_add(k)
+                yield element
+
+
+def assert_relative(path):
+    if not os.path.isabs(path):
+        return path
+    from distutils.errors import DistutilsSetupError
+
+    msg = textwrap.dedent("""
+        Error: setup script specifies an absolute path:
+
+            %s
+
+        setup() arguments must *always* be /-separated paths relative to the
+        setup.py directory, *never* absolute paths.
+        """).lstrip() % path
+    raise DistutilsSetupError(msg)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/develop.py b/iot_env/lib/python3.8/site-packages/setuptools/command/develop.py
new file mode 100644
index 0000000..009e4f9
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/develop.py
@@ -0,0 +1,221 @@
+from distutils.util import convert_path
+from distutils import log
+from distutils.errors import DistutilsError, DistutilsOptionError
+import os
+import glob
+import io
+
+from setuptools.extern import six
+
+import pkg_resources
+from setuptools.command.easy_install import easy_install
+from setuptools import namespaces
+import setuptools
+
+__metaclass__ = type
+
+
+class develop(namespaces.DevelopInstaller, easy_install):
+    """Set up package for development"""
+
+    description = "install package in 'development mode'"
+
+    user_options = easy_install.user_options + [
+        ("uninstall", "u", "Uninstall this source package"),
+        ("egg-path=", None, "Set the path to be used in the .egg-link file"),
+    ]
+
+    boolean_options = easy_install.boolean_options + ['uninstall']
+
+    command_consumes_arguments = False  # override base
+
+    def run(self):
+        if self.uninstall:
+            self.multi_version = True
+            self.uninstall_link()
+            self.uninstall_namespaces()
+        else:
+            self.install_for_development()
+        self.warn_deprecated_options()
+
+    def initialize_options(self):
+        self.uninstall = None
+        self.egg_path = None
+        easy_install.initialize_options(self)
+        self.setup_path = None
+        self.always_copy_from = '.'  # always copy eggs installed in curdir
+
+    def finalize_options(self):
+        ei = self.get_finalized_command("egg_info")
+        if ei.broken_egg_info:
+            template = "Please rename %r to %r before using 'develop'"
+            args = ei.egg_info, ei.broken_egg_info
+            raise DistutilsError(template % args)
+        self.args = [ei.egg_name]
+
+        easy_install.finalize_options(self)
+        self.expand_basedirs()
+        self.expand_dirs()
+        # pick up setup-dir .egg files only: no .egg-info
+        self.package_index.scan(glob.glob('*.egg'))
+
+        egg_link_fn = ei.egg_name + '.egg-link'
+        self.egg_link = os.path.join(self.install_dir, egg_link_fn)
+        self.egg_base = ei.egg_base
+        if self.egg_path is None:
+            self.egg_path = os.path.abspath(ei.egg_base)
+
+        target = pkg_resources.normalize_path(self.egg_base)
+        egg_path = pkg_resources.normalize_path(
+            os.path.join(self.install_dir, self.egg_path))
+        if egg_path != target:
+            raise DistutilsOptionError(
+                "--egg-path must be a relative path from the install"
+                " directory to " + target
+            )
+
+        # Make a distribution for the package's source
+        self.dist = pkg_resources.Distribution(
+            target,
+            pkg_resources.PathMetadata(target, os.path.abspath(ei.egg_info)),
+            project_name=ei.egg_name
+        )
+
+        self.setup_path = self._resolve_setup_path(
+            self.egg_base,
+            self.install_dir,
+            self.egg_path,
+        )
+
+    @staticmethod
+    def _resolve_setup_path(egg_base, install_dir, egg_path):
+        """
+        Generate a path from egg_base back to '.' where the
+        setup script resides and ensure that path points to the
+        setup path from $install_dir/$egg_path.
+        """
+        path_to_setup = egg_base.replace(os.sep, '/').rstrip('/')
+        if path_to_setup != os.curdir:
+            path_to_setup = '../' * (path_to_setup.count('/') + 1)
+        resolved = pkg_resources.normalize_path(
+            os.path.join(install_dir, egg_path, path_to_setup)
+        )
+        if resolved != pkg_resources.normalize_path(os.curdir):
+            raise DistutilsOptionError(
+                "Can't get a consistent path to setup script from"
+                " installation directory", resolved,
+                pkg_resources.normalize_path(os.curdir))
+        return path_to_setup
+
+    def install_for_development(self):
+        if six.PY3 and getattr(self.distribution, 'use_2to3', False):
+            # If we run 2to3 we can not do this inplace:
+
+            # Ensure metadata is up-to-date
+            self.reinitialize_command('build_py', inplace=0)
+            self.run_command('build_py')
+            bpy_cmd = self.get_finalized_command("build_py")
+            build_path = pkg_resources.normalize_path(bpy_cmd.build_lib)
+
+            # Build extensions
+            self.reinitialize_command('egg_info', egg_base=build_path)
+            self.run_command('egg_info')
+
+            self.reinitialize_command('build_ext', inplace=0)
+            self.run_command('build_ext')
+
+            # Fixup egg-link and easy-install.pth
+            ei_cmd = self.get_finalized_command("egg_info")
+            self.egg_path = build_path
+            self.dist.location = build_path
+            # XXX
+            self.dist._provider = pkg_resources.PathMetadata(
+                build_path, ei_cmd.egg_info)
+        else:
+            # Without 2to3 inplace works fine:
+            self.run_command('egg_info')
+
+            # Build extensions in-place
+            self.reinitialize_command('build_ext', inplace=1)
+            self.run_command('build_ext')
+
+        self.install_site_py()  # ensure that target dir is site-safe
+        if setuptools.bootstrap_install_from:
+            self.easy_install(setuptools.bootstrap_install_from)
+            setuptools.bootstrap_install_from = None
+
+        self.install_namespaces()
+
+        # create an .egg-link in the installation dir, pointing to our egg
+        log.info("Creating %s (link to %s)", self.egg_link, self.egg_base)
+        if not self.dry_run:
+            with open(self.egg_link, "w") as f:
+                f.write(self.egg_path + "\n" + self.setup_path)
+        # postprocess the installed distro, fixing up .pth, installing scripts,
+        # and handling requirements
+        self.process_distribution(None, self.dist, not self.no_deps)
+
+    def uninstall_link(self):
+        if os.path.exists(self.egg_link):
+            log.info("Removing %s (link to %s)", self.egg_link, self.egg_base)
+            egg_link_file = open(self.egg_link)
+            contents = [line.rstrip() for line in egg_link_file]
+            egg_link_file.close()
+            if contents not in ([self.egg_path],
+                                [self.egg_path, self.setup_path]):
+                log.warn("Link points to %s: uninstall aborted", contents)
+                return
+            if not self.dry_run:
+                os.unlink(self.egg_link)
+        if not self.dry_run:
+            self.update_pth(self.dist)  # remove any .pth link to us
+        if self.distribution.scripts:
+            # XXX should also check for entry point scripts!
+            log.warn("Note: you must uninstall or replace scripts manually!")
+
+    def install_egg_scripts(self, dist):
+        if dist is not self.dist:
+            # Installing a dependency, so fall back to normal behavior
+            return easy_install.install_egg_scripts(self, dist)
+
+        # create wrapper scripts in the script dir, pointing to dist.scripts
+
+        # new-style...
+        self.install_wrapper_scripts(dist)
+
+        # ...and old-style
+        for script_name in self.distribution.scripts or []:
+            script_path = os.path.abspath(convert_path(script_name))
+            script_name = os.path.basename(script_path)
+            with io.open(script_path) as strm:
+                script_text = strm.read()
+            self.install_script(dist, script_name, script_text, script_path)
+
+    def install_wrapper_scripts(self, dist):
+        dist = VersionlessRequirement(dist)
+        return easy_install.install_wrapper_scripts(self, dist)
+
+
+class VersionlessRequirement:
+    """
+    Adapt a pkg_resources.Distribution to simply return the project
+    name as the 'requirement' so that scripts will work across
+    multiple versions.
+
+    >>> from pkg_resources import Distribution
+    >>> dist = Distribution(project_name='foo', version='1.0')
+    >>> str(dist.as_requirement())
+    'foo==1.0'
+    >>> adapted_dist = VersionlessRequirement(dist)
+    >>> str(adapted_dist.as_requirement())
+    'foo'
+    """
+
+    def __init__(self, dist):
+        self.__dist = dist
+
+    def __getattr__(self, name):
+        return getattr(self.__dist, name)
+
+    def as_requirement(self):
+        return self.project_name
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/dist_info.py b/iot_env/lib/python3.8/site-packages/setuptools/command/dist_info.py
new file mode 100644
index 0000000..c45258f
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/dist_info.py
@@ -0,0 +1,36 @@
+"""
+Create a dist_info directory
+As defined in the wheel specification
+"""
+
+import os
+
+from distutils.core import Command
+from distutils import log
+
+
+class dist_info(Command):
+
+    description = 'create a .dist-info directory'
+
+    user_options = [
+        ('egg-base=', 'e', "directory containing .egg-info directories"
+                           " (default: top of the source tree)"),
+    ]
+
+    def initialize_options(self):
+        self.egg_base = None
+
+    def finalize_options(self):
+        pass
+
+    def run(self):
+        egg_info = self.get_finalized_command('egg_info')
+        egg_info.egg_base = self.egg_base
+        egg_info.finalize_options()
+        egg_info.run()
+        dist_info_dir = egg_info.egg_info[:-len('.egg-info')] + '.dist-info'
+        log.info("creating '{}'".format(os.path.abspath(dist_info_dir)))
+
+        bdist_wheel = self.get_finalized_command('bdist_wheel')
+        bdist_wheel.egg2dist(egg_info.egg_info, dist_info_dir)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/easy_install.py b/iot_env/lib/python3.8/site-packages/setuptools/command/easy_install.py
new file mode 100644
index 0000000..1f6839c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/easy_install.py
@@ -0,0 +1,2402 @@
+#!/usr/bin/env python
+"""
+Easy Install
+------------
+
+A tool for doing automatic download/extract/build of distutils-based Python
+packages.  For detailed documentation, see the accompanying EasyInstall.txt
+file, or visit the `EasyInstall home page`__.
+
+__ https://setuptools.readthedocs.io/en/latest/easy_install.html
+
+"""
+
+from glob import glob
+from distutils.util import get_platform
+from distutils.util import convert_path, subst_vars
+from distutils.errors import (
+    DistutilsArgError, DistutilsOptionError,
+    DistutilsError, DistutilsPlatformError,
+)
+from distutils.command.install import INSTALL_SCHEMES, SCHEME_KEYS
+from distutils import log, dir_util
+from distutils.command.build_scripts import first_line_re
+from distutils.spawn import find_executable
+import sys
+import os
+import zipimport
+import shutil
+import tempfile
+import zipfile
+import re
+import stat
+import random
+import textwrap
+import warnings
+import site
+import struct
+import contextlib
+import subprocess
+import shlex
+import io
+
+
+from sysconfig import get_config_vars, get_path
+
+from setuptools import SetuptoolsDeprecationWarning
+
+from setuptools.extern import six
+from setuptools.extern.six.moves import configparser, map
+
+from setuptools import Command
+from setuptools.sandbox import run_setup
+from setuptools.py27compat import rmtree_safe
+from setuptools.command import setopt
+from setuptools.archive_util import unpack_archive
+from setuptools.package_index import (
+    PackageIndex, parse_requirement_arg, URL_SCHEME,
+)
+from setuptools.command import bdist_egg, egg_info
+from setuptools.wheel import Wheel
+from pkg_resources import (
+    yield_lines, normalize_path, resource_string, ensure_directory,
+    get_distribution, find_distributions, Environment, Requirement,
+    Distribution, PathMetadata, EggMetadata, WorkingSet, DistributionNotFound,
+    VersionConflict, DEVELOP_DIST,
+)
+import pkg_resources.py31compat
+
+__metaclass__ = type
+
+# Turn on PEP440Warnings
+warnings.filterwarnings("default", category=pkg_resources.PEP440Warning)
+
+__all__ = [
+    'samefile', 'easy_install', 'PthDistributions', 'extract_wininst_cfg',
+    'main', 'get_exe_prefixes',
+]
+
+
+def is_64bit():
+    return struct.calcsize("P") == 8
+
+
+def samefile(p1, p2):
+    """
+    Determine if two paths reference the same file.
+
+    Augments os.path.samefile to work on Windows and
+    suppresses errors if the path doesn't exist.
+    """
+    both_exist = os.path.exists(p1) and os.path.exists(p2)
+    use_samefile = hasattr(os.path, 'samefile') and both_exist
+    if use_samefile:
+        return os.path.samefile(p1, p2)
+    norm_p1 = os.path.normpath(os.path.normcase(p1))
+    norm_p2 = os.path.normpath(os.path.normcase(p2))
+    return norm_p1 == norm_p2
+
+
+if six.PY2:
+
+    def _to_bytes(s):
+        return s
+
+    def isascii(s):
+        try:
+            six.text_type(s, 'ascii')
+            return True
+        except UnicodeError:
+            return False
+else:
+
+    def _to_bytes(s):
+        return s.encode('utf8')
+
+    def isascii(s):
+        try:
+            s.encode('ascii')
+            return True
+        except UnicodeError:
+            return False
+
+
+_one_liner = lambda text: textwrap.dedent(text).strip().replace('\n', '; ')
+
+
+class easy_install(Command):
+    """Manage a download/build/install process"""
+    description = "Find/get/install Python packages"
+    command_consumes_arguments = True
+
+    user_options = [
+        ('prefix=', None, "installation prefix"),
+        ("zip-ok", "z", "install package as a zipfile"),
+        ("multi-version", "m", "make apps have to require() a version"),
+        ("upgrade", "U", "force upgrade (searches PyPI for latest versions)"),
+        ("install-dir=", "d", "install package to DIR"),
+        ("script-dir=", "s", "install scripts to DIR"),
+        ("exclude-scripts", "x", "Don't install scripts"),
+        ("always-copy", "a", "Copy all needed packages to install dir"),
+        ("index-url=", "i", "base URL of Python Package Index"),
+        ("find-links=", "f", "additional URL(s) to search for packages"),
+        ("build-directory=", "b",
+         "download/extract/build in DIR; keep the results"),
+        ('optimize=', 'O',
+         "also compile with optimization: -O1 for \"python -O\", "
+         "-O2 for \"python -OO\", and -O0 to disable [default: -O0]"),
+        ('record=', None,
+         "filename in which to record list of installed files"),
+        ('always-unzip', 'Z', "don't install as a zipfile, no matter what"),
+        ('site-dirs=', 'S', "list of directories where .pth files work"),
+        ('editable', 'e', "Install specified packages in editable form"),
+        ('no-deps', 'N', "don't install dependencies"),
+        ('allow-hosts=', 'H', "pattern(s) that hostnames must match"),
+        ('local-snapshots-ok', 'l',
+         "allow building eggs from local checkouts"),
+        ('version', None, "print version information and exit"),
+        ('install-layout=', None, "installation layout to choose (known values: deb)"),
+        ('force-installation-into-system-dir', '0', "force installation into /usr"),
+        ('no-find-links', None,
+         "Don't load find-links defined in packages being installed")
+    ]
+    boolean_options = [
+        'zip-ok', 'multi-version', 'exclude-scripts', 'upgrade', 'always-copy',
+        'editable',
+        'no-deps', 'local-snapshots-ok', 'version', 'force-installation-into-system-dir'
+    ]
+
+    if site.ENABLE_USER_SITE:
+        help_msg = "install in user site-package '%s'" % site.USER_SITE
+        user_options.append(('user', None, help_msg))
+        boolean_options.append('user')
+
+    negative_opt = {'always-unzip': 'zip-ok'}
+    create_index = PackageIndex
+
+    def initialize_options(self):
+        # the --user option seems to be an opt-in one,
+        # so the default should be False.
+        self.user = 0
+        self.zip_ok = self.local_snapshots_ok = None
+        self.install_dir = self.script_dir = self.exclude_scripts = None
+        self.index_url = None
+        self.find_links = None
+        self.build_directory = None
+        self.args = None
+        self.optimize = self.record = None
+        self.upgrade = self.always_copy = self.multi_version = None
+        self.editable = self.no_deps = self.allow_hosts = None
+        self.root = self.prefix = self.no_report = None
+        self.version = None
+        self.install_purelib = None  # for pure module distributions
+        self.install_platlib = None  # non-pure (dists w/ extensions)
+        self.install_headers = None  # for C/C++ headers
+        self.install_lib = None  # set to either purelib or platlib
+        self.install_scripts = None
+        self.install_data = None
+        self.install_base = None
+        self.install_platbase = None
+        if site.ENABLE_USER_SITE:
+            self.install_userbase = site.USER_BASE
+            self.install_usersite = site.USER_SITE
+        else:
+            self.install_userbase = None
+            self.install_usersite = None
+        self.no_find_links = None
+
+        # Options not specifiable via command line
+        self.package_index = None
+        self.pth_file = self.always_copy_from = None
+        self.site_dirs = None
+        self.installed_projects = {}
+        self.sitepy_installed = False
+        # enable custom installation, known values: deb
+        self.install_layout = None
+        self.force_installation_into_system_dir = None
+        self.multiarch = None
+
+        # Always read easy_install options, even if we are subclassed, or have
+        # an independent instance created.  This ensures that defaults will
+        # always come from the standard configuration file(s)' "easy_install"
+        # section, even if this is a "develop" or "install" command, or some
+        # other embedding.
+        self._dry_run = None
+        self.verbose = self.distribution.verbose
+        self.distribution._set_command_options(
+            self, self.distribution.get_option_dict('easy_install')
+        )
+
+    def delete_blockers(self, blockers):
+        extant_blockers = (
+            filename for filename in blockers
+            if os.path.exists(filename) or os.path.islink(filename)
+        )
+        list(map(self._delete_path, extant_blockers))
+
+    def _delete_path(self, path):
+        log.info("Deleting %s", path)
+        if self.dry_run:
+            return
+
+        is_tree = os.path.isdir(path) and not os.path.islink(path)
+        remover = rmtree if is_tree else os.unlink
+        remover(path)
+
+    @staticmethod
+    def _render_version():
+        """
+        Render the Setuptools version and installation details, then exit.
+        """
+        ver = '{}.{}'.format(*sys.version_info)
+        dist = get_distribution('setuptools')
+        tmpl = 'setuptools {dist.version} from {dist.location} (Python {ver})'
+        print(tmpl.format(**locals()))
+        raise SystemExit()
+
+    def finalize_options(self):
+        self.version and self._render_version()
+
+        py_version = sys.version.split()[0]
+        prefix, exec_prefix = get_config_vars('prefix', 'exec_prefix')
+
+        self.config_vars = {
+            'dist_name': self.distribution.get_name(),
+            'dist_version': self.distribution.get_version(),
+            'dist_fullname': self.distribution.get_fullname(),
+            'py_version': py_version,
+            'py_version_short': py_version[0:3],
+            'py_version_nodot': py_version[0] + py_version[2],
+            'sys_prefix': prefix,
+            'prefix': prefix,
+            'sys_exec_prefix': exec_prefix,
+            'exec_prefix': exec_prefix,
+            # Only python 3.2+ has abiflags
+            'abiflags': getattr(sys, 'abiflags', ''),
+        }
+
+        if site.ENABLE_USER_SITE:
+            self.config_vars['userbase'] = self.install_userbase
+            self.config_vars['usersite'] = self.install_usersite
+
+        self._fix_install_dir_for_user_site()
+
+        self.expand_basedirs()
+        self.expand_dirs()
+
+        if self.install_layout:
+            if not self.install_layout.lower() in ['deb']:
+                raise DistutilsOptionError("unknown value for --install-layout")
+            self.install_layout = self.install_layout.lower()
+
+            import sysconfig
+            if sys.version_info[:2] >= (3, 3):
+                self.multiarch = sysconfig.get_config_var('MULTIARCH')
+
+        self._expand(
+            'install_dir', 'script_dir', 'build_directory',
+            'site_dirs',
+        )
+        # If a non-default installation directory was specified, default the
+        # script directory to match it.
+        if self.script_dir is None:
+            self.script_dir = self.install_dir
+
+        if self.no_find_links is None:
+            self.no_find_links = False
+
+        # Let install_dir get set by install_lib command, which in turn
+        # gets its info from the install command, and takes into account
+        # --prefix and --home and all that other crud.
+        self.set_undefined_options(
+            'install_lib', ('install_dir', 'install_dir')
+        )
+        # Likewise, set default script_dir from 'install_scripts.install_dir'
+        self.set_undefined_options(
+            'install_scripts', ('install_dir', 'script_dir')
+        )
+
+        if self.user and self.install_purelib:
+            self.install_dir = self.install_purelib
+            self.script_dir = self.install_scripts
+
+        if self.prefix == '/usr' and not self.force_installation_into_system_dir:
+            raise DistutilsOptionError("""installation into /usr
+
+Trying to install into the system managed parts of the file system. Please
+consider to install to another location, or use the option
+--force-installation-into-system-dir to overwrite this warning.
+""")
+
+        # default --record from the install command
+        self.set_undefined_options('install', ('record', 'record'))
+        # Should this be moved to the if statement below? It's not used
+        # elsewhere
+        normpath = map(normalize_path, sys.path)
+        self.all_site_dirs = get_site_dirs()
+        if self.site_dirs is not None:
+            site_dirs = [
+                os.path.expanduser(s.strip()) for s in
+                self.site_dirs.split(',')
+            ]
+            for d in site_dirs:
+                if not os.path.isdir(d):
+                    log.warn("%s (in --site-dirs) does not exist", d)
+                elif normalize_path(d) not in normpath:
+                    raise DistutilsOptionError(
+                        d + " (in --site-dirs) is not on sys.path"
+                    )
+                else:
+                    self.all_site_dirs.append(normalize_path(d))
+        if not self.editable:
+            self.check_site_dir()
+        self.index_url = self.index_url or "https://pypi.org/simple/"
+        self.shadow_path = self.all_site_dirs[:]
+        for path_item in self.install_dir, normalize_path(self.script_dir):
+            if path_item not in self.shadow_path:
+                self.shadow_path.insert(0, path_item)
+
+        if self.allow_hosts is not None:
+            hosts = [s.strip() for s in self.allow_hosts.split(',')]
+        else:
+            hosts = ['*']
+        if self.package_index is None:
+            self.package_index = self.create_index(
+                self.index_url, search_path=self.shadow_path, hosts=hosts,
+            )
+        self.local_index = Environment(self.shadow_path + sys.path)
+
+        if self.find_links is not None:
+            if isinstance(self.find_links, six.string_types):
+                self.find_links = self.find_links.split()
+        else:
+            self.find_links = []
+        if self.local_snapshots_ok:
+            self.package_index.scan_egg_links(self.shadow_path + sys.path)
+        if not self.no_find_links:
+            self.package_index.add_find_links(self.find_links)
+        self.set_undefined_options('install_lib', ('optimize', 'optimize'))
+        if not isinstance(self.optimize, int):
+            try:
+                self.optimize = int(self.optimize)
+                if not (0 <= self.optimize <= 2):
+                    raise ValueError
+            except ValueError:
+                raise DistutilsOptionError("--optimize must be 0, 1, or 2")
+
+        if self.editable and not self.build_directory:
+            raise DistutilsArgError(
+                "Must specify a build directory (-b) when using --editable"
+            )
+        if not self.args:
+            raise DistutilsArgError(
+                "No urls, filenames, or requirements specified (see --help)")
+
+        self.outputs = []
+
+    def _fix_install_dir_for_user_site(self):
+        """
+        Fix the install_dir if "--user" was used.
+        """
+        if not self.user or not site.ENABLE_USER_SITE:
+            return
+
+        self.create_home_path()
+        if self.install_userbase is None:
+            msg = "User base directory is not specified"
+            raise DistutilsPlatformError(msg)
+        self.install_base = self.install_platbase = self.install_userbase
+        scheme_name = os.name.replace('posix', 'unix') + '_user'
+        self.select_scheme(scheme_name)
+
+    def _expand_attrs(self, attrs):
+        for attr in attrs:
+            val = getattr(self, attr)
+            if val is not None:
+                if os.name == 'posix' or os.name == 'nt':
+                    val = os.path.expanduser(val)
+                val = subst_vars(val, self.config_vars)
+                setattr(self, attr, val)
+
+    def expand_basedirs(self):
+        """Calls `os.path.expanduser` on install_base, install_platbase and
+        root."""
+        self._expand_attrs(['install_base', 'install_platbase', 'root'])
+
+    def expand_dirs(self):
+        """Calls `os.path.expanduser` on install dirs."""
+        dirs = [
+            'install_purelib',
+            'install_platlib',
+            'install_lib',
+            'install_headers',
+            'install_scripts',
+            'install_data',
+        ]
+        self._expand_attrs(dirs)
+
+    def run(self, show_deprecation=True):
+        if show_deprecation:
+            self.announce(
+                "WARNING: The easy_install command is deprecated "
+                "and will be removed in a future version."
+                , log.WARN,
+            )
+        if self.verbose != self.distribution.verbose:
+            log.set_verbosity(self.verbose)
+        try:
+            for spec in self.args:
+                self.easy_install(spec, not self.no_deps)
+            if self.record:
+                outputs = list(sorted(self.outputs))
+                if self.root:  # strip any package prefix
+                    root_len = len(self.root)
+                    for counter in range(len(outputs)):
+                        outputs[counter] = outputs[counter][root_len:]
+                from distutils import file_util
+
+                self.execute(
+                    file_util.write_file, (self.record, outputs),
+                    "writing list of installed files to '%s'" %
+                    self.record
+                )
+            self.warn_deprecated_options()
+        finally:
+            log.set_verbosity(self.distribution.verbose)
+
+    def pseudo_tempname(self):
+        """Return a pseudo-tempname base in the install directory.
+        This code is intentionally naive; if a malicious party can write to
+        the target directory you're already in deep doodoo.
+        """
+        try:
+            pid = os.getpid()
+        except Exception:
+            pid = random.randint(0, sys.maxsize)
+        return os.path.join(self.install_dir, "test-easy-install-%s" % pid)
+
+    def warn_deprecated_options(self):
+        pass
+
+    def check_site_dir(self):
+        """Verify that self.install_dir is .pth-capable dir, if needed"""
+
+        instdir = normalize_path(self.install_dir)
+        pth_file = os.path.join(instdir, 'easy-install.pth')
+
+        # Is it a configured, PYTHONPATH, implicit, or explicit site dir?
+        is_site_dir = instdir in self.all_site_dirs
+
+        if not is_site_dir and not self.multi_version:
+            # No?  Then directly test whether it does .pth file processing
+            is_site_dir = self.check_pth_processing()
+        else:
+            # make sure we can write to target dir
+            testfile = self.pseudo_tempname() + '.write-test'
+            test_exists = os.path.exists(testfile)
+            try:
+                if test_exists:
+                    os.unlink(testfile)
+                open(testfile, 'w').close()
+                os.unlink(testfile)
+            except (OSError, IOError):
+                self.cant_write_to_target()
+
+        if not is_site_dir and not self.multi_version:
+            # Can't install non-multi to non-site dir
+            raise DistutilsError(self.no_default_version_msg())
+
+        if is_site_dir:
+            if self.pth_file is None:
+                self.pth_file = PthDistributions(pth_file, self.all_site_dirs)
+        else:
+            self.pth_file = None
+
+        if instdir not in map(normalize_path, _pythonpath()):
+            # only PYTHONPATH dirs need a site.py, so pretend it's there
+            self.sitepy_installed = True
+        elif self.multi_version and not os.path.exists(pth_file):
+            self.sitepy_installed = True  # don't need site.py in this case
+            self.pth_file = None  # and don't create a .pth file
+        self.install_dir = instdir
+
+    __cant_write_msg = textwrap.dedent("""
+        can't create or remove files in install directory
+
+        The following error occurred while trying to add or remove files in the
+        installation directory:
+
+            %s
+
+        The installation directory you specified (via --install-dir, --prefix, or
+        the distutils default setting) was:
+
+            %s
+        """).lstrip()
+
+    __not_exists_id = textwrap.dedent("""
+        This directory does not currently exist.  Please create it and try again, or
+        choose a different installation directory (using the -d or --install-dir
+        option).
+        """).lstrip()
+
+    __access_msg = textwrap.dedent("""
+        Perhaps your account does not have write access to this directory?  If the
+        installation directory is a system-owned directory, you may need to sign in
+        as the administrator or "root" account.  If you do not have administrative
+        access to this machine, you may wish to choose a different installation
+        directory, preferably one that is listed in your PYTHONPATH environment
+        variable.
+
+        For information on other options, you may wish to consult the
+        documentation at:
+
+          https://setuptools.readthedocs.io/en/latest/easy_install.html
+
+        Please make the appropriate changes for your system and try again.
+        """).lstrip()
+
+    def cant_write_to_target(self):
+        msg = self.__cant_write_msg % (sys.exc_info()[1], self.install_dir,)
+
+        if not os.path.exists(self.install_dir):
+            msg += '\n' + self.__not_exists_id
+        else:
+            msg += '\n' + self.__access_msg
+        raise DistutilsError(msg)
+
+    def check_pth_processing(self):
+        """Empirically verify whether .pth files are supported in inst. dir"""
+        instdir = self.install_dir
+        log.info("Checking .pth file support in %s", instdir)
+        pth_file = self.pseudo_tempname() + ".pth"
+        ok_file = pth_file + '.ok'
+        ok_exists = os.path.exists(ok_file)
+        tmpl = _one_liner("""
+            import os
+            f = open({ok_file!r}, 'w')
+            f.write('OK')
+            f.close()
+            """) + '\n'
+        try:
+            if ok_exists:
+                os.unlink(ok_file)
+            dirname = os.path.dirname(ok_file)
+            pkg_resources.py31compat.makedirs(dirname, exist_ok=True)
+            f = open(pth_file, 'w')
+        except (OSError, IOError):
+            self.cant_write_to_target()
+        else:
+            try:
+                f.write(tmpl.format(**locals()))
+                f.close()
+                f = None
+                executable = sys.executable
+                if os.name == 'nt':
+                    dirname, basename = os.path.split(executable)
+                    alt = os.path.join(dirname, 'pythonw.exe')
+                    use_alt = (
+                        basename.lower() == 'python.exe' and
+                        os.path.exists(alt)
+                    )
+                    if use_alt:
+                        # use pythonw.exe to avoid opening a console window
+                        executable = alt
+
+                from distutils.spawn import spawn
+
+                spawn([executable, '-E', '-c', 'pass'], 0)
+
+                if os.path.exists(ok_file):
+                    log.info(
+                        "TEST PASSED: %s appears to support .pth files",
+                        instdir
+                    )
+                    return True
+            finally:
+                if f:
+                    f.close()
+                if os.path.exists(ok_file):
+                    os.unlink(ok_file)
+                if os.path.exists(pth_file):
+                    os.unlink(pth_file)
+        if not self.multi_version:
+            log.warn("TEST FAILED: %s does NOT support .pth files", instdir)
+        return False
+
+    def install_egg_scripts(self, dist):
+        """Write all the scripts for `dist`, unless scripts are excluded"""
+        if not self.exclude_scripts and dist.metadata_isdir('scripts'):
+            for script_name in dist.metadata_listdir('scripts'):
+                if dist.metadata_isdir('scripts/' + script_name):
+                    # The "script" is a directory, likely a Python 3
+                    # __pycache__ directory, so skip it.
+                    continue
+                self.install_script(
+                    dist, script_name,
+                    dist.get_metadata('scripts/' + script_name)
+                )
+        self.install_wrapper_scripts(dist)
+
+    def add_output(self, path):
+        if os.path.isdir(path):
+            for base, dirs, files in os.walk(path):
+                for filename in files:
+                    self.outputs.append(os.path.join(base, filename))
+        else:
+            self.outputs.append(path)
+
+    def not_editable(self, spec):
+        if self.editable:
+            raise DistutilsArgError(
+                "Invalid argument %r: you can't use filenames or URLs "
+                "with --editable (except via the --find-links option)."
+                % (spec,)
+            )
+
+    def check_editable(self, spec):
+        if not self.editable:
+            return
+
+        if os.path.exists(os.path.join(self.build_directory, spec.key)):
+            raise DistutilsArgError(
+                "%r already exists in %s; can't do a checkout there" %
+                (spec.key, self.build_directory)
+            )
+
+    @contextlib.contextmanager
+    def _tmpdir(self):
+        tmpdir = tempfile.mkdtemp(prefix=u"easy_install-")
+        try:
+            # cast to str as workaround for #709 and #710 and #712
+            yield str(tmpdir)
+        finally:
+            os.path.exists(tmpdir) and rmtree(rmtree_safe(tmpdir))
+
+    def easy_install(self, spec, deps=False):
+        if not self.editable:
+            self.install_site_py()
+
+        with self._tmpdir() as tmpdir:
+            if not isinstance(spec, Requirement):
+                if URL_SCHEME(spec):
+                    # It's a url, download it to tmpdir and process
+                    self.not_editable(spec)
+                    dl = self.package_index.download(spec, tmpdir)
+                    return self.install_item(None, dl, tmpdir, deps, True)
+
+                elif os.path.exists(spec):
+                    # Existing file or directory, just process it directly
+                    self.not_editable(spec)
+                    return self.install_item(None, spec, tmpdir, deps, True)
+                else:
+                    spec = parse_requirement_arg(spec)
+
+            self.check_editable(spec)
+            dist = self.package_index.fetch_distribution(
+                spec, tmpdir, self.upgrade, self.editable,
+                not self.always_copy, self.local_index
+            )
+            if dist is None:
+                msg = "Could not find suitable distribution for %r" % spec
+                if self.always_copy:
+                    msg += " (--always-copy skips system and development eggs)"
+                raise DistutilsError(msg)
+            elif dist.precedence == DEVELOP_DIST:
+                # .egg-info dists don't need installing, just process deps
+                self.process_distribution(spec, dist, deps, "Using")
+                return dist
+            else:
+                return self.install_item(spec, dist.location, tmpdir, deps)
+
+    def install_item(self, spec, download, tmpdir, deps, install_needed=False):
+
+        # Installation is also needed if file in tmpdir or is not an egg
+        install_needed = install_needed or self.always_copy
+        install_needed = install_needed or os.path.dirname(download) == tmpdir
+        install_needed = install_needed or not download.endswith('.egg')
+        install_needed = install_needed or (
+            self.always_copy_from is not None and
+            os.path.dirname(normalize_path(download)) ==
+            normalize_path(self.always_copy_from)
+        )
+
+        if spec and not install_needed:
+            # at this point, we know it's a local .egg, we just don't know if
+            # it's already installed.
+            for dist in self.local_index[spec.project_name]:
+                if dist.location == download:
+                    break
+            else:
+                install_needed = True  # it's not in the local index
+
+        log.info("Processing %s", os.path.basename(download))
+
+        if install_needed:
+            dists = self.install_eggs(spec, download, tmpdir)
+            for dist in dists:
+                self.process_distribution(spec, dist, deps)
+        else:
+            dists = [self.egg_distribution(download)]
+            self.process_distribution(spec, dists[0], deps, "Using")
+
+        if spec is not None:
+            for dist in dists:
+                if dist in spec:
+                    return dist
+
+    def select_scheme(self, name):
+        """Sets the install directories by applying the install schemes."""
+        # it's the caller's problem if they supply a bad name!
+        scheme = INSTALL_SCHEMES[name]
+        for key in SCHEME_KEYS:
+            attrname = 'install_' + key
+            if getattr(self, attrname) is None:
+                setattr(self, attrname, scheme[key])
+
+    def process_distribution(self, requirement, dist, deps=True, *info):
+        self.update_pth(dist)
+        self.package_index.add(dist)
+        if dist in self.local_index[dist.key]:
+            self.local_index.remove(dist)
+        self.local_index.add(dist)
+        self.install_egg_scripts(dist)
+        self.installed_projects[dist.key] = dist
+        log.info(self.installation_report(requirement, dist, *info))
+        if (dist.has_metadata('dependency_links.txt') and
+                not self.no_find_links):
+            self.package_index.add_find_links(
+                dist.get_metadata_lines('dependency_links.txt')
+            )
+        if not deps and not self.always_copy:
+            return
+        elif requirement is not None and dist.key != requirement.key:
+            log.warn("Skipping dependencies for %s", dist)
+            return  # XXX this is not the distribution we were looking for
+        elif requirement is None or dist not in requirement:
+            # if we wound up with a different version, resolve what we've got
+            distreq = dist.as_requirement()
+            requirement = Requirement(str(distreq))
+        log.info("Processing dependencies for %s", requirement)
+        try:
+            distros = WorkingSet([]).resolve(
+                [requirement], self.local_index, self.easy_install
+            )
+        except DistributionNotFound as e:
+            raise DistutilsError(str(e))
+        except VersionConflict as e:
+            raise DistutilsError(e.report())
+        if self.always_copy or self.always_copy_from:
+            # Force all the relevant distros to be copied or activated
+            for dist in distros:
+                if dist.key not in self.installed_projects:
+                    self.easy_install(dist.as_requirement())
+        log.info("Finished processing dependencies for %s", requirement)
+
+    def should_unzip(self, dist):
+        if self.zip_ok is not None:
+            return not self.zip_ok
+        if dist.has_metadata('not-zip-safe'):
+            return True
+        if not dist.has_metadata('zip-safe'):
+            return True
+        return False
+
+    def maybe_move(self, spec, dist_filename, setup_base):
+        dst = os.path.join(self.build_directory, spec.key)
+        if os.path.exists(dst):
+            msg = (
+                "%r already exists in %s; build directory %s will not be kept"
+            )
+            log.warn(msg, spec.key, self.build_directory, setup_base)
+            return setup_base
+        if os.path.isdir(dist_filename):
+            setup_base = dist_filename
+        else:
+            if os.path.dirname(dist_filename) == setup_base:
+                os.unlink(dist_filename)  # get it out of the tmp dir
+            contents = os.listdir(setup_base)
+            if len(contents) == 1:
+                dist_filename = os.path.join(setup_base, contents[0])
+                if os.path.isdir(dist_filename):
+                    # if the only thing there is a directory, move it instead
+                    setup_base = dist_filename
+        ensure_directory(dst)
+        shutil.move(setup_base, dst)
+        return dst
+
+    def install_wrapper_scripts(self, dist):
+        if self.exclude_scripts:
+            return
+        for args in ScriptWriter.best().get_args(dist):
+            self.write_script(*args)
+
+    def install_script(self, dist, script_name, script_text, dev_path=None):
+        """Generate a legacy script wrapper and install it"""
+        spec = str(dist.as_requirement())
+        is_script = is_python_script(script_text, script_name)
+
+        if is_script:
+            body = self._load_template(dev_path) % locals()
+            script_text = ScriptWriter.get_header(script_text) + body
+        self.write_script(script_name, _to_bytes(script_text), 'b')
+
+    @staticmethod
+    def _load_template(dev_path):
+        """
+        There are a couple of template scripts in the package. This
+        function loads one of them and prepares it for use.
+        """
+        # See https://github.com/pypa/setuptools/issues/134 for info
+        # on script file naming and downstream issues with SVR4
+        name = 'script.tmpl'
+        if dev_path:
+            name = name.replace('.tmpl', ' (dev).tmpl')
+
+        raw_bytes = resource_string('setuptools', name)
+        return raw_bytes.decode('utf-8')
+
+    def write_script(self, script_name, contents, mode="t", blockers=()):
+        """Write an executable file to the scripts directory"""
+        self.delete_blockers(  # clean up old .py/.pyw w/o a script
+            [os.path.join(self.script_dir, x) for x in blockers]
+        )
+        log.info("Installing %s script to %s", script_name, self.script_dir)
+        target = os.path.join(self.script_dir, script_name)
+        self.add_output(target)
+
+        if self.dry_run:
+            return
+
+        mask = current_umask()
+        ensure_directory(target)
+        if os.path.exists(target):
+            os.unlink(target)
+        with open(target, "w" + mode) as f:
+            f.write(contents)
+        chmod(target, 0o777 - mask)
+
+    def install_eggs(self, spec, dist_filename, tmpdir):
+        # .egg dirs or files are already built, so just return them
+        if dist_filename.lower().endswith('.egg'):
+            return [self.install_egg(dist_filename, tmpdir)]
+        elif dist_filename.lower().endswith('.exe'):
+            return [self.install_exe(dist_filename, tmpdir)]
+        elif dist_filename.lower().endswith('.whl'):
+            return [self.install_wheel(dist_filename, tmpdir)]
+
+        # Anything else, try to extract and build
+        setup_base = tmpdir
+        if os.path.isfile(dist_filename) and not dist_filename.endswith('.py'):
+            unpack_archive(dist_filename, tmpdir, self.unpack_progress)
+        elif os.path.isdir(dist_filename):
+            setup_base = os.path.abspath(dist_filename)
+
+        if (setup_base.startswith(tmpdir)  # something we downloaded
+                and self.build_directory and spec is not None):
+            setup_base = self.maybe_move(spec, dist_filename, setup_base)
+
+        # Find the setup.py file
+        setup_script = os.path.join(setup_base, 'setup.py')
+
+        if not os.path.exists(setup_script):
+            setups = glob(os.path.join(setup_base, '*', 'setup.py'))
+            if not setups:
+                raise DistutilsError(
+                    "Couldn't find a setup script in %s" %
+                    os.path.abspath(dist_filename)
+                )
+            if len(setups) > 1:
+                raise DistutilsError(
+                    "Multiple setup scripts in %s" %
+                    os.path.abspath(dist_filename)
+                )
+            setup_script = setups[0]
+
+        # Now run it, and return the result
+        if self.editable:
+            log.info(self.report_editable(spec, setup_script))
+            return []
+        else:
+            return self.build_and_install(setup_script, setup_base)
+
+    def egg_distribution(self, egg_path):
+        if os.path.isdir(egg_path):
+            metadata = PathMetadata(egg_path, os.path.join(egg_path,
+                                                           'EGG-INFO'))
+        else:
+            metadata = EggMetadata(zipimport.zipimporter(egg_path))
+        return Distribution.from_filename(egg_path, metadata=metadata)
+
+    def install_egg(self, egg_path, tmpdir):
+        destination = os.path.join(
+            self.install_dir,
+            os.path.basename(egg_path),
+        )
+        destination = os.path.abspath(destination)
+        if not self.dry_run:
+            ensure_directory(destination)
+
+        dist = self.egg_distribution(egg_path)
+        if not samefile(egg_path, destination):
+            if os.path.isdir(destination) and not os.path.islink(destination):
+                dir_util.remove_tree(destination, dry_run=self.dry_run)
+            elif os.path.exists(destination):
+                self.execute(
+                    os.unlink,
+                    (destination,),
+                    "Removing " + destination,
+                )
+            try:
+                new_dist_is_zipped = False
+                if os.path.isdir(egg_path):
+                    if egg_path.startswith(tmpdir):
+                        f, m = shutil.move, "Moving"
+                    else:
+                        f, m = shutil.copytree, "Copying"
+                elif self.should_unzip(dist):
+                    self.mkpath(destination)
+                    f, m = self.unpack_and_compile, "Extracting"
+                else:
+                    new_dist_is_zipped = True
+                    if egg_path.startswith(tmpdir):
+                        f, m = shutil.move, "Moving"
+                    else:
+                        f, m = shutil.copy2, "Copying"
+                self.execute(
+                    f,
+                    (egg_path, destination),
+                    (m + " %s to %s") % (
+                        os.path.basename(egg_path),
+                        os.path.dirname(destination)
+                    ),
+                )
+                update_dist_caches(
+                    destination,
+                    fix_zipimporter_caches=new_dist_is_zipped,
+                )
+            except Exception:
+                update_dist_caches(destination, fix_zipimporter_caches=False)
+                raise
+
+        self.add_output(destination)
+        return self.egg_distribution(destination)
+
+    def install_exe(self, dist_filename, tmpdir):
+        # See if it's valid, get data
+        cfg = extract_wininst_cfg(dist_filename)
+        if cfg is None:
+            raise DistutilsError(
+                "%s is not a valid distutils Windows .exe" % dist_filename
+            )
+        # Create a dummy distribution object until we build the real distro
+        dist = Distribution(
+            None,
+            project_name=cfg.get('metadata', 'name'),
+            version=cfg.get('metadata', 'version'), platform=get_platform(),
+        )
+
+        # Convert the .exe to an unpacked egg
+        egg_path = os.path.join(tmpdir, dist.egg_name() + '.egg')
+        dist.location = egg_path
+        egg_tmp = egg_path + '.tmp'
+        _egg_info = os.path.join(egg_tmp, 'EGG-INFO')
+        pkg_inf = os.path.join(_egg_info, 'PKG-INFO')
+        ensure_directory(pkg_inf)  # make sure EGG-INFO dir exists
+        dist._provider = PathMetadata(egg_tmp, _egg_info)  # XXX
+        self.exe_to_egg(dist_filename, egg_tmp)
+
+        # Write EGG-INFO/PKG-INFO
+        if not os.path.exists(pkg_inf):
+            f = open(pkg_inf, 'w')
+            f.write('Metadata-Version: 1.0\n')
+            for k, v in cfg.items('metadata'):
+                if k != 'target_version':
+                    f.write('%s: %s\n' % (k.replace('_', '-').title(), v))
+            f.close()
+        script_dir = os.path.join(_egg_info, 'scripts')
+        # delete entry-point scripts to avoid duping
+        self.delete_blockers([
+            os.path.join(script_dir, args[0])
+            for args in ScriptWriter.get_args(dist)
+        ])
+        # Build .egg file from tmpdir
+        bdist_egg.make_zipfile(
+            egg_path, egg_tmp, verbose=self.verbose, dry_run=self.dry_run,
+        )
+        # install the .egg
+        return self.install_egg(egg_path, tmpdir)
+
+    def exe_to_egg(self, dist_filename, egg_tmp):
+        """Extract a bdist_wininst to the directories an egg would use"""
+        # Check for .pth file and set up prefix translations
+        prefixes = get_exe_prefixes(dist_filename)
+        to_compile = []
+        native_libs = []
+        top_level = {}
+
+        def process(src, dst):
+            s = src.lower()
+            for old, new in prefixes:
+                if s.startswith(old):
+                    src = new + src[len(old):]
+                    parts = src.split('/')
+                    dst = os.path.join(egg_tmp, *parts)
+                    dl = dst.lower()
+                    if dl.endswith('.pyd') or dl.endswith('.dll'):
+                        parts[-1] = bdist_egg.strip_module(parts[-1])
+                        top_level[os.path.splitext(parts[0])[0]] = 1
+                        native_libs.append(src)
+                    elif dl.endswith('.py') and old != 'SCRIPTS/':
+                        top_level[os.path.splitext(parts[0])[0]] = 1
+                        to_compile.append(dst)
+                    return dst
+            if not src.endswith('.pth'):
+                log.warn("WARNING: can't process %s", src)
+            return None
+
+        # extract, tracking .pyd/.dll->native_libs and .py -> to_compile
+        unpack_archive(dist_filename, egg_tmp, process)
+        stubs = []
+        for res in native_libs:
+            if res.lower().endswith('.pyd'):  # create stubs for .pyd's
+                parts = res.split('/')
+                resource = parts[-1]
+                parts[-1] = bdist_egg.strip_module(parts[-1]) + '.py'
+                pyfile = os.path.join(egg_tmp, *parts)
+                to_compile.append(pyfile)
+                stubs.append(pyfile)
+                bdist_egg.write_stub(resource, pyfile)
+        self.byte_compile(to_compile)  # compile .py's
+        bdist_egg.write_safety_flag(
+            os.path.join(egg_tmp, 'EGG-INFO'),
+            bdist_egg.analyze_egg(egg_tmp, stubs))  # write zip-safety flag
+
+        for name in 'top_level', 'native_libs':
+            if locals()[name]:
+                txt = os.path.join(egg_tmp, 'EGG-INFO', name + '.txt')
+                if not os.path.exists(txt):
+                    f = open(txt, 'w')
+                    f.write('\n'.join(locals()[name]) + '\n')
+                    f.close()
+
+    def install_wheel(self, wheel_path, tmpdir):
+        wheel = Wheel(wheel_path)
+        assert wheel.is_compatible()
+        destination = os.path.join(self.install_dir, wheel.egg_name())
+        destination = os.path.abspath(destination)
+        if not self.dry_run:
+            ensure_directory(destination)
+        if os.path.isdir(destination) and not os.path.islink(destination):
+            dir_util.remove_tree(destination, dry_run=self.dry_run)
+        elif os.path.exists(destination):
+            self.execute(
+                os.unlink,
+                (destination,),
+                "Removing " + destination,
+            )
+        try:
+            self.execute(
+                wheel.install_as_egg,
+                (destination,),
+                ("Installing %s to %s") % (
+                    os.path.basename(wheel_path),
+                    os.path.dirname(destination)
+                ),
+            )
+        finally:
+            update_dist_caches(destination, fix_zipimporter_caches=False)
+        self.add_output(destination)
+        return self.egg_distribution(destination)
+
+    __mv_warning = textwrap.dedent("""
+        Because this distribution was installed --multi-version, before you can
+        import modules from this package in an application, you will need to
+        'import pkg_resources' and then use a 'require()' call similar to one of
+        these examples, in order to select the desired version:
+
+            pkg_resources.require("%(name)s")  # latest installed version
+            pkg_resources.require("%(name)s==%(version)s")  # this exact version
+            pkg_resources.require("%(name)s>=%(version)s")  # this version or higher
+        """).lstrip()
+
+    __id_warning = textwrap.dedent("""
+        Note also that the installation directory must be on sys.path at runtime for
+        this to work.  (e.g. by being the application's script directory, by being on
+        PYTHONPATH, or by being added to sys.path by your code.)
+        """)
+
+    def installation_report(self, req, dist, what="Installed"):
+        """Helpful installation message for display to package users"""
+        msg = "\n%(what)s %(eggloc)s%(extras)s"
+        if self.multi_version and not self.no_report:
+            msg += '\n' + self.__mv_warning
+            if self.install_dir not in map(normalize_path, sys.path):
+                msg += '\n' + self.__id_warning
+
+        eggloc = dist.location
+        name = dist.project_name
+        version = dist.version
+        extras = ''  # TODO: self.report_extras(req, dist)
+        return msg % locals()
+
+    __editable_msg = textwrap.dedent("""
+        Extracted editable version of %(spec)s to %(dirname)s
+
+        If it uses setuptools in its setup script, you can activate it in
+        "development" mode by going to that directory and running::
+
+            %(python)s setup.py develop
+
+        See the setuptools documentation for the "develop" command for more info.
+        """).lstrip()
+
+    def report_editable(self, spec, setup_script):
+        dirname = os.path.dirname(setup_script)
+        python = sys.executable
+        return '\n' + self.__editable_msg % locals()
+
+    def run_setup(self, setup_script, setup_base, args):
+        sys.modules.setdefault('distutils.command.bdist_egg', bdist_egg)
+        sys.modules.setdefault('distutils.command.egg_info', egg_info)
+
+        args = list(args)
+        if self.verbose > 2:
+            v = 'v' * (self.verbose - 1)
+            args.insert(0, '-' + v)
+        elif self.verbose < 2:
+            args.insert(0, '-q')
+        if self.dry_run:
+            args.insert(0, '-n')
+        log.info(
+            "Running %s %s", setup_script[len(setup_base) + 1:], ' '.join(args)
+        )
+        try:
+            run_setup(setup_script, args)
+        except SystemExit as v:
+            raise DistutilsError("Setup script exited with %s" % (v.args[0],))
+
+    def build_and_install(self, setup_script, setup_base):
+        args = ['bdist_egg', '--dist-dir']
+
+        dist_dir = tempfile.mkdtemp(
+            prefix='egg-dist-tmp-', dir=os.path.dirname(setup_script)
+        )
+        try:
+            self._set_fetcher_options(os.path.dirname(setup_script))
+            args.append(dist_dir)
+
+            self.run_setup(setup_script, setup_base, args)
+            all_eggs = Environment([dist_dir])
+            eggs = []
+            for key in all_eggs:
+                for dist in all_eggs[key]:
+                    eggs.append(self.install_egg(dist.location, setup_base))
+            if not eggs and not self.dry_run:
+                log.warn("No eggs found in %s (setup script problem?)",
+                         dist_dir)
+            return eggs
+        finally:
+            rmtree(dist_dir)
+            log.set_verbosity(self.verbose)  # restore our log verbosity
+
+    def _set_fetcher_options(self, base):
+        """
+        When easy_install is about to run bdist_egg on a source dist, that
+        source dist might have 'setup_requires' directives, requiring
+        additional fetching. Ensure the fetcher options given to easy_install
+        are available to that command as well.
+        """
+        # find the fetch options from easy_install and write them out
+        # to the setup.cfg file.
+        ei_opts = self.distribution.get_option_dict('easy_install').copy()
+        fetch_directives = (
+            'find_links', 'site_dirs', 'index_url', 'optimize', 'allow_hosts',
+        )
+        fetch_options = {}
+        for key, val in ei_opts.items():
+            if key not in fetch_directives:
+                continue
+            fetch_options[key.replace('_', '-')] = val[1]
+        # create a settings dictionary suitable for `edit_config`
+        settings = dict(easy_install=fetch_options)
+        cfg_filename = os.path.join(base, 'setup.cfg')
+        setopt.edit_config(cfg_filename, settings)
+
+    def update_pth(self, dist):
+        if self.pth_file is None:
+            return
+
+        for d in self.pth_file[dist.key]:  # drop old entries
+            if self.multi_version or d.location != dist.location:
+                log.info("Removing %s from easy-install.pth file", d)
+                self.pth_file.remove(d)
+                if d.location in self.shadow_path:
+                    self.shadow_path.remove(d.location)
+
+        if not self.multi_version:
+            if dist.location in self.pth_file.paths:
+                log.info(
+                    "%s is already the active version in easy-install.pth",
+                    dist,
+                )
+            else:
+                log.info("Adding %s to easy-install.pth file", dist)
+                self.pth_file.add(dist)  # add new entry
+                if dist.location not in self.shadow_path:
+                    self.shadow_path.append(dist.location)
+
+        if not self.dry_run:
+
+            self.pth_file.save()
+
+            if dist.key == 'setuptools':
+                # Ensure that setuptools itself never becomes unavailable!
+                # XXX should this check for latest version?
+                filename = os.path.join(self.install_dir, 'setuptools.pth')
+                if os.path.islink(filename):
+                    os.unlink(filename)
+                f = open(filename, 'wt')
+                f.write(self.pth_file.make_relative(dist.location) + '\n')
+                f.close()
+
+    def unpack_progress(self, src, dst):
+        # Progress filter for unpacking
+        log.debug("Unpacking %s to %s", src, dst)
+        return dst  # only unpack-and-compile skips files for dry run
+
+    def unpack_and_compile(self, egg_path, destination):
+        to_compile = []
+        to_chmod = []
+
+        def pf(src, dst):
+            if dst.endswith('.py') and not src.startswith('EGG-INFO/'):
+                to_compile.append(dst)
+            elif dst.endswith('.dll') or dst.endswith('.so'):
+                to_chmod.append(dst)
+            self.unpack_progress(src, dst)
+            return not self.dry_run and dst or None
+
+        unpack_archive(egg_path, destination, pf)
+        self.byte_compile(to_compile)
+        if not self.dry_run:
+            for f in to_chmod:
+                mode = ((os.stat(f)[stat.ST_MODE]) | 0o555) & 0o7755
+                chmod(f, mode)
+
+    def byte_compile(self, to_compile):
+        if sys.dont_write_bytecode:
+            return
+
+        from distutils.util import byte_compile
+
+        try:
+            # try to make the byte compile messages quieter
+            log.set_verbosity(self.verbose - 1)
+
+            byte_compile(to_compile, optimize=0, force=1, dry_run=self.dry_run)
+            if self.optimize:
+                byte_compile(
+                    to_compile, optimize=self.optimize, force=1,
+                    dry_run=self.dry_run,
+                )
+        finally:
+            log.set_verbosity(self.verbose)  # restore original verbosity
+
+    __no_default_msg = textwrap.dedent("""
+        bad install directory or PYTHONPATH
+
+        You are attempting to install a package to a directory that is not
+        on PYTHONPATH and which Python does not read ".pth" files from.  The
+        installation directory you specified (via --install-dir, --prefix, or
+        the distutils default setting) was:
+
+            %s
+
+        and your PYTHONPATH environment variable currently contains:
+
+            %r
+
+        Here are some of your options for correcting the problem:
+
+        * You can choose a different installation directory, i.e., one that is
+          on PYTHONPATH or supports .pth files
+
+        * You can add the installation directory to the PYTHONPATH environment
+          variable.  (It must then also be on PYTHONPATH whenever you run
+          Python and want to use the package(s) you are installing.)
+
+        * You can set up the installation directory to support ".pth" files by
+          using one of the approaches described here:
+
+          https://setuptools.readthedocs.io/en/latest/easy_install.html#custom-installation-locations
+
+
+        Please make the appropriate changes for your system and try again.""").lstrip()
+
+    def no_default_version_msg(self):
+        template = self.__no_default_msg
+        return template % (self.install_dir, os.environ.get('PYTHONPATH', ''))
+
+    def install_site_py(self):
+        """Make sure there's a site.py in the target dir, if needed"""
+
+        if self.sitepy_installed:
+            return  # already did it, or don't need to
+
+        sitepy = os.path.join(self.install_dir, "site.py")
+        source = resource_string("setuptools", "site-patch.py")
+        source = source.decode('utf-8')
+        current = ""
+
+        if os.path.exists(sitepy):
+            log.debug("Checking existing site.py in %s", self.install_dir)
+            with io.open(sitepy) as strm:
+                current = strm.read()
+
+            if not current.startswith('def __boot():'):
+                raise DistutilsError(
+                    "%s is not a setuptools-generated site.py; please"
+                    " remove it." % sitepy
+                )
+
+        if current != source:
+            log.info("Creating %s", sitepy)
+            if not self.dry_run:
+                ensure_directory(sitepy)
+                with io.open(sitepy, 'w', encoding='utf-8') as strm:
+                    strm.write(source)
+            self.byte_compile([sitepy])
+
+        self.sitepy_installed = True
+
+    def create_home_path(self):
+        """Create directories under ~."""
+        if not self.user:
+            return
+        home = convert_path(os.path.expanduser("~"))
+        for name, path in six.iteritems(self.config_vars):
+            if path.startswith(home) and not os.path.isdir(path):
+                self.debug_print("os.makedirs('%s', 0o700)" % path)
+                os.makedirs(path, 0o700)
+
+    if sys.version[:3] in ('2.3', '2.4', '2.5') or 'real_prefix' in sys.__dict__:
+        sitedir_name = 'site-packages'
+    else:
+        sitedir_name = 'dist-packages'
+
+    INSTALL_SCHEMES = dict(
+        posix=dict(
+            install_dir='$base/lib/python$py_version_short/site-packages',
+            script_dir='$base/bin',
+        ),
+        unix_local = dict(
+            install_dir = '$base/local/lib/python$py_version_short/%s' % sitedir_name,
+            script_dir  = '$base/local/bin',
+        ),
+        posix_local = dict(
+            install_dir = '$base/local/lib/python$py_version_short/%s' % sitedir_name,
+            script_dir  = '$base/local/bin',
+        ),
+        deb_system = dict(
+            install_dir = '$base/lib/python3/%s' % sitedir_name,
+            script_dir  = '$base/bin',
+        ),
+    )
+
+    DEFAULT_SCHEME = dict(
+        install_dir='$base/Lib/site-packages',
+        script_dir='$base/Scripts',
+    )
+
+    def _expand(self, *attrs):
+        config_vars = self.get_finalized_command('install').config_vars
+
+        if self.prefix or self.install_layout:
+            if self.install_layout and self.install_layout in ['deb']:
+                    scheme_name = "deb_system"
+                    self.prefix = '/usr'
+            elif self.prefix or 'real_prefix' in sys.__dict__:
+                scheme_name = os.name
+            else:
+                scheme_name = "posix_local"
+            # Set default install_dir/scripts from --prefix
+            config_vars = config_vars.copy()
+            config_vars['base'] = self.prefix
+            scheme = self.INSTALL_SCHEMES.get(scheme_name,self.DEFAULT_SCHEME)
+            for attr, val in scheme.items():
+                if getattr(self, attr, None) is None:
+                    setattr(self, attr, val)
+
+        from distutils.util import subst_vars
+
+        for attr in attrs:
+            val = getattr(self, attr)
+            if val is not None:
+                val = subst_vars(val, config_vars)
+                if os.name == 'posix':
+                    val = os.path.expanduser(val)
+                setattr(self, attr, val)
+
+
+def _pythonpath():
+    items = os.environ.get('PYTHONPATH', '').split(os.pathsep)
+    return filter(None, items)
+
+
+def get_site_dirs():
+    """
+    Return a list of 'site' dirs
+    """
+
+    sitedirs = []
+
+    # start with PYTHONPATH
+    sitedirs.extend(_pythonpath())
+
+    prefixes = [sys.prefix]
+    if sys.exec_prefix != sys.prefix:
+        prefixes.append(sys.exec_prefix)
+    for prefix in prefixes:
+        if prefix:
+            if sys.platform in ('os2emx', 'riscos'):
+                sitedirs.append(os.path.join(prefix, "Lib", "site-packages"))
+            elif os.sep == '/':
+                sitedirs.extend([
+                    os.path.join(
+                        prefix,
+                        "local/lib",
+                        "python" + sys.version[:3],
+                        "dist-packages",
+                    ),
+                    os.path.join(
+                        prefix,
+                        "lib",
+                        "python{}.{}".format(*sys.version_info),
+                        "dist-packages",
+                    ),
+                    os.path.join(prefix, "lib", "site-python"),
+                ])
+            else:
+                sitedirs.extend([
+                    prefix,
+                    os.path.join(prefix, "lib", "site-packages"),
+                ])
+            if sys.platform == 'darwin':
+                # for framework builds *only* we add the standard Apple
+                # locations. Currently only per-user, but /Library and
+                # /Network/Library could be added too
+                if 'Python.framework' in prefix:
+                    home = os.environ.get('HOME')
+                    if home:
+                        home_sp = os.path.join(
+                            home,
+                            'Library',
+                            'Python',
+                            '{}.{}'.format(*sys.version_info),
+                            'site-packages',
+                        )
+                        sitedirs.append(home_sp)
+    lib_paths = get_path('purelib'), get_path('platlib')
+    for site_lib in lib_paths:
+        if site_lib not in sitedirs:
+            sitedirs.append(site_lib)
+
+    if site.ENABLE_USER_SITE:
+        sitedirs.append(site.USER_SITE)
+
+    try:
+        sitedirs.extend(site.getsitepackages())
+    except AttributeError:
+        pass
+
+    sitedirs = list(map(normalize_path, sitedirs))
+
+    return sitedirs
+
+
+def expand_paths(inputs):
+    """Yield sys.path directories that might contain "old-style" packages"""
+
+    seen = {}
+
+    for dirname in inputs:
+        dirname = normalize_path(dirname)
+        if dirname in seen:
+            continue
+
+        seen[dirname] = 1
+        if not os.path.isdir(dirname):
+            continue
+
+        files = os.listdir(dirname)
+        yield dirname, files
+
+        for name in files:
+            if not name.endswith('.pth'):
+                # We only care about the .pth files
+                continue
+            if name in ('easy-install.pth', 'setuptools.pth'):
+                # Ignore .pth files that we control
+                continue
+
+            # Read the .pth file
+            f = open(os.path.join(dirname, name))
+            lines = list(yield_lines(f))
+            f.close()
+
+            # Yield existing non-dupe, non-import directory lines from it
+            for line in lines:
+                if not line.startswith("import"):
+                    line = normalize_path(line.rstrip())
+                    if line not in seen:
+                        seen[line] = 1
+                        if not os.path.isdir(line):
+                            continue
+                        yield line, os.listdir(line)
+
+
+def extract_wininst_cfg(dist_filename):
+    """Extract configuration data from a bdist_wininst .exe
+
+    Returns a configparser.RawConfigParser, or None
+    """
+    f = open(dist_filename, 'rb')
+    try:
+        endrec = zipfile._EndRecData(f)
+        if endrec is None:
+            return None
+
+        prepended = (endrec[9] - endrec[5]) - endrec[6]
+        if prepended < 12:  # no wininst data here
+            return None
+        f.seek(prepended - 12)
+
+        tag, cfglen, bmlen = struct.unpack("<iii", f.read(12))
+        if tag not in (0x1234567A, 0x1234567B):
+            return None  # not a valid tag
+
+        f.seek(prepended - (12 + cfglen))
+        init = {'version': '', 'target_version': ''}
+        cfg = configparser.RawConfigParser(init)
+        try:
+            part = f.read(cfglen)
+            # Read up to the first null byte.
+            config = part.split(b'\0', 1)[0]
+            # Now the config is in bytes, but for RawConfigParser, it should
+            #  be text, so decode it.
+            config = config.decode(sys.getfilesystemencoding())
+            cfg.readfp(six.StringIO(config))
+        except configparser.Error:
+            return None
+        if not cfg.has_section('metadata') or not cfg.has_section('Setup'):
+            return None
+        return cfg
+
+    finally:
+        f.close()
+
+
+def get_exe_prefixes(exe_filename):
+    """Get exe->egg path translations for a given .exe file"""
+
+    prefixes = [
+        ('PURELIB/', ''),
+        ('PLATLIB/pywin32_system32', ''),
+        ('PLATLIB/', ''),
+        ('SCRIPTS/', 'EGG-INFO/scripts/'),
+        ('DATA/lib/site-packages', ''),
+    ]
+    z = zipfile.ZipFile(exe_filename)
+    try:
+        for info in z.infolist():
+            name = info.filename
+            parts = name.split('/')
+            if len(parts) == 3 and parts[2] == 'PKG-INFO':
+                if parts[1].endswith('.egg-info'):
+                    prefixes.insert(0, ('/'.join(parts[:2]), 'EGG-INFO/'))
+                    break
+            if len(parts) != 2 or not name.endswith('.pth'):
+                continue
+            if name.endswith('-nspkg.pth'):
+                continue
+            if parts[0].upper() in ('PURELIB', 'PLATLIB'):
+                contents = z.read(name)
+                if six.PY3:
+                    contents = contents.decode()
+                for pth in yield_lines(contents):
+                    pth = pth.strip().replace('\\', '/')
+                    if not pth.startswith('import'):
+                        prefixes.append((('%s/%s/' % (parts[0], pth)), ''))
+    finally:
+        z.close()
+    prefixes = [(x.lower(), y) for x, y in prefixes]
+    prefixes.sort()
+    prefixes.reverse()
+    return prefixes
+
+
+class PthDistributions(Environment):
+    """A .pth file with Distribution paths in it"""
+
+    dirty = False
+
+    def __init__(self, filename, sitedirs=()):
+        self.filename = filename
+        self.sitedirs = list(map(normalize_path, sitedirs))
+        self.basedir = normalize_path(os.path.dirname(self.filename))
+        self._load()
+        Environment.__init__(self, [], None, None)
+        for path in yield_lines(self.paths):
+            list(map(self.add, find_distributions(path, True)))
+
+    def _load(self):
+        self.paths = []
+        saw_import = False
+        seen = dict.fromkeys(self.sitedirs)
+        if os.path.isfile(self.filename):
+            f = open(self.filename, 'rt')
+            for line in f:
+                if line.startswith('import'):
+                    saw_import = True
+                    continue
+                path = line.rstrip()
+                self.paths.append(path)
+                if not path.strip() or path.strip().startswith('#'):
+                    continue
+                # skip non-existent paths, in case somebody deleted a package
+                # manually, and duplicate paths as well
+                path = self.paths[-1] = normalize_path(
+                    os.path.join(self.basedir, path)
+                )
+                if not os.path.exists(path) or path in seen:
+                    self.paths.pop()  # skip it
+                    self.dirty = True  # we cleaned up, so we're dirty now :)
+                    continue
+                seen[path] = 1
+            f.close()
+
+        if self.paths and not saw_import:
+            self.dirty = True  # ensure anything we touch has import wrappers
+        while self.paths and not self.paths[-1].strip():
+            self.paths.pop()
+
+    def save(self):
+        """Write changed .pth file back to disk"""
+        if not self.dirty:
+            return
+
+        rel_paths = list(map(self.make_relative, self.paths))
+        if rel_paths:
+            log.debug("Saving %s", self.filename)
+            lines = self._wrap_lines(rel_paths)
+            data = '\n'.join(lines) + '\n'
+
+            if os.path.islink(self.filename):
+                os.unlink(self.filename)
+            with open(self.filename, 'wt') as f:
+                f.write(data)
+
+        elif os.path.exists(self.filename):
+            log.debug("Deleting empty %s", self.filename)
+            os.unlink(self.filename)
+
+        self.dirty = False
+
+    @staticmethod
+    def _wrap_lines(lines):
+        return lines
+
+    def add(self, dist):
+        """Add `dist` to the distribution map"""
+        new_path = (
+            dist.location not in self.paths and (
+                dist.location not in self.sitedirs or
+                # account for '.' being in PYTHONPATH
+                dist.location == os.getcwd()
+            )
+        )
+        if new_path:
+            self.paths.append(dist.location)
+            self.dirty = True
+        Environment.add(self, dist)
+
+    def remove(self, dist):
+        """Remove `dist` from the distribution map"""
+        while dist.location in self.paths:
+            self.paths.remove(dist.location)
+            self.dirty = True
+        Environment.remove(self, dist)
+
+    def make_relative(self, path):
+        npath, last = os.path.split(normalize_path(path))
+        baselen = len(self.basedir)
+        parts = [last]
+        sep = os.altsep == '/' and '/' or os.sep
+        while len(npath) >= baselen:
+            if npath == self.basedir:
+                parts.append(os.curdir)
+                parts.reverse()
+                return sep.join(parts)
+            npath, last = os.path.split(npath)
+            parts.append(last)
+        else:
+            return path
+
+
+class RewritePthDistributions(PthDistributions):
+    @classmethod
+    def _wrap_lines(cls, lines):
+        yield cls.prelude
+        for line in lines:
+            yield line
+        yield cls.postlude
+
+    prelude = _one_liner("""
+        import sys
+        sys.__plen = len(sys.path)
+        """)
+    postlude = _one_liner("""
+        import sys
+        new = sys.path[sys.__plen:]
+        del sys.path[sys.__plen:]
+        p = getattr(sys, '__egginsert', 0)
+        sys.path[p:p] = new
+        sys.__egginsert = p + len(new)
+        """)
+
+
+if os.environ.get('SETUPTOOLS_SYS_PATH_TECHNIQUE', 'raw') == 'rewrite':
+    PthDistributions = RewritePthDistributions
+
+
+def _first_line_re():
+    """
+    Return a regular expression based on first_line_re suitable for matching
+    strings.
+    """
+    if isinstance(first_line_re.pattern, str):
+        return first_line_re
+
+    # first_line_re in Python >=3.1.4 and >=3.2.1 is a bytes pattern.
+    return re.compile(first_line_re.pattern.decode())
+
+
+def auto_chmod(func, arg, exc):
+    if func in [os.unlink, os.remove] and os.name == 'nt':
+        chmod(arg, stat.S_IWRITE)
+        return func(arg)
+    et, ev, _ = sys.exc_info()
+    six.reraise(et, (ev[0], ev[1] + (" %s %s" % (func, arg))))
+
+
+def update_dist_caches(dist_path, fix_zipimporter_caches):
+    """
+    Fix any globally cached `dist_path` related data
+
+    `dist_path` should be a path of a newly installed egg distribution (zipped
+    or unzipped).
+
+    sys.path_importer_cache contains finder objects that have been cached when
+    importing data from the original distribution. Any such finders need to be
+    cleared since the replacement distribution might be packaged differently,
+    e.g. a zipped egg distribution might get replaced with an unzipped egg
+    folder or vice versa. Having the old finders cached may then cause Python
+    to attempt loading modules from the replacement distribution using an
+    incorrect loader.
+
+    zipimport.zipimporter objects are Python loaders charged with importing
+    data packaged inside zip archives. If stale loaders referencing the
+    original distribution, are left behind, they can fail to load modules from
+    the replacement distribution. E.g. if an old zipimport.zipimporter instance
+    is used to load data from a new zipped egg archive, it may cause the
+    operation to attempt to locate the requested data in the wrong location -
+    one indicated by the original distribution's zip archive directory
+    information. Such an operation may then fail outright, e.g. report having
+    read a 'bad local file header', or even worse, it may fail silently &
+    return invalid data.
+
+    zipimport._zip_directory_cache contains cached zip archive directory
+    information for all existing zipimport.zipimporter instances and all such
+    instances connected to the same archive share the same cached directory
+    information.
+
+    If asked, and the underlying Python implementation allows it, we can fix
+    all existing zipimport.zipimporter instances instead of having to track
+    them down and remove them one by one, by updating their shared cached zip
+    archive directory information. This, of course, assumes that the
+    replacement distribution is packaged as a zipped egg.
+
+    If not asked to fix existing zipimport.zipimporter instances, we still do
+    our best to clear any remaining zipimport.zipimporter related cached data
+    that might somehow later get used when attempting to load data from the new
+    distribution and thus cause such load operations to fail. Note that when
+    tracking down such remaining stale data, we can not catch every conceivable
+    usage from here, and we clear only those that we know of and have found to
+    cause problems if left alive. Any remaining caches should be updated by
+    whomever is in charge of maintaining them, i.e. they should be ready to
+    handle us replacing their zip archives with new distributions at runtime.
+
+    """
+    # There are several other known sources of stale zipimport.zipimporter
+    # instances that we do not clear here, but might if ever given a reason to
+    # do so:
+    # * Global setuptools pkg_resources.working_set (a.k.a. 'master working
+    # set') may contain distributions which may in turn contain their
+    #   zipimport.zipimporter loaders.
+    # * Several zipimport.zipimporter loaders held by local variables further
+    #   up the function call stack when running the setuptools installation.
+    # * Already loaded modules may have their __loader__ attribute set to the
+    #   exact loader instance used when importing them. Python 3.4 docs state
+    #   that this information is intended mostly for introspection and so is
+    #   not expected to cause us problems.
+    normalized_path = normalize_path(dist_path)
+    _uncache(normalized_path, sys.path_importer_cache)
+    if fix_zipimporter_caches:
+        _replace_zip_directory_cache_data(normalized_path)
+    else:
+        # Here, even though we do not want to fix existing and now stale
+        # zipimporter cache information, we still want to remove it. Related to
+        # Python's zip archive directory information cache, we clear each of
+        # its stale entries in two phases:
+        #   1. Clear the entry so attempting to access zip archive information
+        #      via any existing stale zipimport.zipimporter instances fails.
+        #   2. Remove the entry from the cache so any newly constructed
+        #      zipimport.zipimporter instances do not end up using old stale
+        #      zip archive directory information.
+        # This whole stale data removal step does not seem strictly necessary,
+        # but has been left in because it was done before we started replacing
+        # the zip archive directory information cache content if possible, and
+        # there are no relevant unit tests that we can depend on to tell us if
+        # this is really needed.
+        _remove_and_clear_zip_directory_cache_data(normalized_path)
+
+
+def _collect_zipimporter_cache_entries(normalized_path, cache):
+    """
+    Return zipimporter cache entry keys related to a given normalized path.
+
+    Alternative path spellings (e.g. those using different character case or
+    those using alternative path separators) related to the same path are
+    included. Any sub-path entries are included as well, i.e. those
+    corresponding to zip archives embedded in other zip archives.
+
+    """
+    result = []
+    prefix_len = len(normalized_path)
+    for p in cache:
+        np = normalize_path(p)
+        if (np.startswith(normalized_path) and
+                np[prefix_len:prefix_len + 1] in (os.sep, '')):
+            result.append(p)
+    return result
+
+
+def _update_zipimporter_cache(normalized_path, cache, updater=None):
+    """
+    Update zipimporter cache data for a given normalized path.
+
+    Any sub-path entries are processed as well, i.e. those corresponding to zip
+    archives embedded in other zip archives.
+
+    Given updater is a callable taking a cache entry key and the original entry
+    (after already removing the entry from the cache), and expected to update
+    the entry and possibly return a new one to be inserted in its place.
+    Returning None indicates that the entry should not be replaced with a new
+    one. If no updater is given, the cache entries are simply removed without
+    any additional processing, the same as if the updater simply returned None.
+
+    """
+    for p in _collect_zipimporter_cache_entries(normalized_path, cache):
+        # N.B. pypy's custom zipimport._zip_directory_cache implementation does
+        # not support the complete dict interface:
+        # * Does not support item assignment, thus not allowing this function
+        #    to be used only for removing existing cache entries.
+        #  * Does not support the dict.pop() method, forcing us to use the
+        #    get/del patterns instead. For more detailed information see the
+        #    following links:
+        #      https://github.com/pypa/setuptools/issues/202#issuecomment-202913420
+        #      http://bit.ly/2h9itJX
+        old_entry = cache[p]
+        del cache[p]
+        new_entry = updater and updater(p, old_entry)
+        if new_entry is not None:
+            cache[p] = new_entry
+
+
+def _uncache(normalized_path, cache):
+    _update_zipimporter_cache(normalized_path, cache)
+
+
+def _remove_and_clear_zip_directory_cache_data(normalized_path):
+    def clear_and_remove_cached_zip_archive_directory_data(path, old_entry):
+        old_entry.clear()
+
+    _update_zipimporter_cache(
+        normalized_path, zipimport._zip_directory_cache,
+        updater=clear_and_remove_cached_zip_archive_directory_data)
+
+
+# PyPy Python implementation does not allow directly writing to the
+# zipimport._zip_directory_cache and so prevents us from attempting to correct
+# its content. The best we can do there is clear the problematic cache content
+# and have PyPy repopulate it as needed. The downside is that if there are any
+# stale zipimport.zipimporter instances laying around, attempting to use them
+# will fail due to not having its zip archive directory information available
+# instead of being automatically corrected to use the new correct zip archive
+# directory information.
+if '__pypy__' in sys.builtin_module_names:
+    _replace_zip_directory_cache_data = \
+        _remove_and_clear_zip_directory_cache_data
+else:
+
+    def _replace_zip_directory_cache_data(normalized_path):
+        def replace_cached_zip_archive_directory_data(path, old_entry):
+            # N.B. In theory, we could load the zip directory information just
+            # once for all updated path spellings, and then copy it locally and
+            # update its contained path strings to contain the correct
+            # spelling, but that seems like a way too invasive move (this cache
+            # structure is not officially documented anywhere and could in
+            # theory change with new Python releases) for no significant
+            # benefit.
+            old_entry.clear()
+            zipimport.zipimporter(path)
+            old_entry.update(zipimport._zip_directory_cache[path])
+            return old_entry
+
+        _update_zipimporter_cache(
+            normalized_path, zipimport._zip_directory_cache,
+            updater=replace_cached_zip_archive_directory_data)
+
+
+def is_python(text, filename='<string>'):
+    "Is this string a valid Python script?"
+    try:
+        compile(text, filename, 'exec')
+    except (SyntaxError, TypeError):
+        return False
+    else:
+        return True
+
+
+def is_sh(executable):
+    """Determine if the specified executable is a .sh (contains a #! line)"""
+    try:
+        with io.open(executable, encoding='latin-1') as fp:
+            magic = fp.read(2)
+    except (OSError, IOError):
+        return executable
+    return magic == '#!'
+
+
+def nt_quote_arg(arg):
+    """Quote a command line argument according to Windows parsing rules"""
+    return subprocess.list2cmdline([arg])
+
+
+def is_python_script(script_text, filename):
+    """Is this text, as a whole, a Python script? (as opposed to shell/bat/etc.
+    """
+    if filename.endswith('.py') or filename.endswith('.pyw'):
+        return True  # extension says it's Python
+    if is_python(script_text, filename):
+        return True  # it's syntactically valid Python
+    if script_text.startswith('#!'):
+        # It begins with a '#!' line, so check if 'python' is in it somewhere
+        return 'python' in script_text.splitlines()[0].lower()
+
+    return False  # Not any Python I can recognize
+
+
+try:
+    from os import chmod as _chmod
+except ImportError:
+    # Jython compatibility
+    def _chmod(*args):
+        pass
+
+
+def chmod(path, mode):
+    log.debug("changing mode of %s to %o", path, mode)
+    try:
+        _chmod(path, mode)
+    except os.error as e:
+        log.debug("chmod failed: %s", e)
+
+
+class CommandSpec(list):
+    """
+    A command spec for a #! header, specified as a list of arguments akin to
+    those passed to Popen.
+    """
+
+    options = []
+    split_args = dict()
+
+    @classmethod
+    def best(cls):
+        """
+        Choose the best CommandSpec class based on environmental conditions.
+        """
+        return cls
+
+    @classmethod
+    def _sys_executable(cls):
+        _default = os.path.normpath(sys.executable)
+        return os.environ.get('__PYVENV_LAUNCHER__', _default)
+
+    @classmethod
+    def from_param(cls, param):
+        """
+        Construct a CommandSpec from a parameter to build_scripts, which may
+        be None.
+        """
+        if isinstance(param, cls):
+            return param
+        if isinstance(param, list):
+            return cls(param)
+        if param is None:
+            return cls.from_environment()
+        # otherwise, assume it's a string.
+        return cls.from_string(param)
+
+    @classmethod
+    def from_environment(cls):
+        return cls([cls._sys_executable()])
+
+    @classmethod
+    def from_string(cls, string):
+        """
+        Construct a command spec from a simple string representing a command
+        line parseable by shlex.split.
+        """
+        items = shlex.split(string, **cls.split_args)
+        return cls(items)
+
+    def install_options(self, script_text):
+        self.options = shlex.split(self._extract_options(script_text))
+        cmdline = subprocess.list2cmdline(self)
+        if not isascii(cmdline):
+            self.options[:0] = ['-x']
+
+    @staticmethod
+    def _extract_options(orig_script):
+        """
+        Extract any options from the first line of the script.
+        """
+        first = (orig_script + '\n').splitlines()[0]
+        match = _first_line_re().match(first)
+        options = match.group(1) or '' if match else ''
+        return options.strip()
+
+    def as_header(self):
+        return self._render(self + list(self.options))
+
+    @staticmethod
+    def _strip_quotes(item):
+        _QUOTES = '"\''
+        for q in _QUOTES:
+            if item.startswith(q) and item.endswith(q):
+                return item[1:-1]
+        return item
+
+    @staticmethod
+    def _render(items):
+        cmdline = subprocess.list2cmdline(
+            CommandSpec._strip_quotes(item.strip()) for item in items)
+        return '#!' + cmdline + '\n'
+
+
+# For pbr compat; will be removed in a future version.
+sys_executable = CommandSpec._sys_executable()
+
+
+class WindowsCommandSpec(CommandSpec):
+    split_args = dict(posix=False)
+
+
+class ScriptWriter:
+    """
+    Encapsulates behavior around writing entry point scripts for console and
+    gui apps.
+    """
+
+    template = textwrap.dedent(r"""
+        # EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r
+        __requires__ = %(spec)r
+        import re
+        import sys
+        from pkg_resources import load_entry_point
+
+        if __name__ == '__main__':
+            sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
+            sys.exit(
+                load_entry_point(%(spec)r, %(group)r, %(name)r)()
+            )
+    """).lstrip()
+
+    command_spec_class = CommandSpec
+
+    @classmethod
+    def get_script_args(cls, dist, executable=None, wininst=False):
+        # for backward compatibility
+        warnings.warn("Use get_args", EasyInstallDeprecationWarning)
+        writer = (WindowsScriptWriter if wininst else ScriptWriter).best()
+        header = cls.get_script_header("", executable, wininst)
+        return writer.get_args(dist, header)
+
+    @classmethod
+    def get_script_header(cls, script_text, executable=None, wininst=False):
+        # for backward compatibility
+        warnings.warn("Use get_header", EasyInstallDeprecationWarning, stacklevel=2)
+        if wininst:
+            executable = "python.exe"
+        return cls.get_header(script_text, executable)
+
+    @classmethod
+    def get_args(cls, dist, header=None):
+        """
+        Yield write_script() argument tuples for a distribution's
+        console_scripts and gui_scripts entry points.
+        """
+        if header is None:
+            header = cls.get_header()
+        spec = str(dist.as_requirement())
+        for type_ in 'console', 'gui':
+            group = type_ + '_scripts'
+            for name, ep in dist.get_entry_map(group).items():
+                cls._ensure_safe_name(name)
+                script_text = cls.template % locals()
+                args = cls._get_script_args(type_, name, header, script_text)
+                for res in args:
+                    yield res
+
+    @staticmethod
+    def _ensure_safe_name(name):
+        """
+        Prevent paths in *_scripts entry point names.
+        """
+        has_path_sep = re.search(r'[\\/]', name)
+        if has_path_sep:
+            raise ValueError("Path separators not allowed in script names")
+
+    @classmethod
+    def get_writer(cls, force_windows):
+        # for backward compatibility
+        warnings.warn("Use best", EasyInstallDeprecationWarning)
+        return WindowsScriptWriter.best() if force_windows else cls.best()
+
+    @classmethod
+    def best(cls):
+        """
+        Select the best ScriptWriter for this environment.
+        """
+        if sys.platform == 'win32' or (os.name == 'java' and os._name == 'nt'):
+            return WindowsScriptWriter.best()
+        else:
+            return cls
+
+    @classmethod
+    def _get_script_args(cls, type_, name, header, script_text):
+        # Simply write the stub with no extension.
+        yield (name, header + script_text)
+
+    @classmethod
+    def get_header(cls, script_text="", executable=None):
+        """Create a #! line, getting options (if any) from script_text"""
+        cmd = cls.command_spec_class.best().from_param(executable)
+        cmd.install_options(script_text)
+        return cmd.as_header()
+
+
+class WindowsScriptWriter(ScriptWriter):
+    command_spec_class = WindowsCommandSpec
+
+    @classmethod
+    def get_writer(cls):
+        # for backward compatibility
+        warnings.warn("Use best", EasyInstallDeprecationWarning)
+        return cls.best()
+
+    @classmethod
+    def best(cls):
+        """
+        Select the best ScriptWriter suitable for Windows
+        """
+        writer_lookup = dict(
+            executable=WindowsExecutableLauncherWriter,
+            natural=cls,
+        )
+        # for compatibility, use the executable launcher by default
+        launcher = os.environ.get('SETUPTOOLS_LAUNCHER', 'executable')
+        return writer_lookup[launcher]
+
+    @classmethod
+    def _get_script_args(cls, type_, name, header, script_text):
+        "For Windows, add a .py extension"
+        ext = dict(console='.pya', gui='.pyw')[type_]
+        if ext not in os.environ['PATHEXT'].lower().split(';'):
+            msg = (
+                "{ext} not listed in PATHEXT; scripts will not be "
+                "recognized as executables."
+            ).format(**locals())
+            warnings.warn(msg, UserWarning)
+        old = ['.pya', '.py', '-script.py', '.pyc', '.pyo', '.pyw', '.exe']
+        old.remove(ext)
+        header = cls._adjust_header(type_, header)
+        blockers = [name + x for x in old]
+        yield name + ext, header + script_text, 't', blockers
+
+    @classmethod
+    def _adjust_header(cls, type_, orig_header):
+        """
+        Make sure 'pythonw' is used for gui and and 'python' is used for
+        console (regardless of what sys.executable is).
+        """
+        pattern = 'pythonw.exe'
+        repl = 'python.exe'
+        if type_ == 'gui':
+            pattern, repl = repl, pattern
+        pattern_ob = re.compile(re.escape(pattern), re.IGNORECASE)
+        new_header = pattern_ob.sub(string=orig_header, repl=repl)
+        return new_header if cls._use_header(new_header) else orig_header
+
+    @staticmethod
+    def _use_header(new_header):
+        """
+        Should _adjust_header use the replaced header?
+
+        On non-windows systems, always use. On
+        Windows systems, only use the replaced header if it resolves
+        to an executable on the system.
+        """
+        clean_header = new_header[2:-1].strip('"')
+        return sys.platform != 'win32' or find_executable(clean_header)
+
+
+class WindowsExecutableLauncherWriter(WindowsScriptWriter):
+    @classmethod
+    def _get_script_args(cls, type_, name, header, script_text):
+        """
+        For Windows, add a .py extension and an .exe launcher
+        """
+        if type_ == 'gui':
+            launcher_type = 'gui'
+            ext = '-script.pyw'
+            old = ['.pyw']
+        else:
+            launcher_type = 'cli'
+            ext = '-script.py'
+            old = ['.py', '.pyc', '.pyo']
+        hdr = cls._adjust_header(type_, header)
+        blockers = [name + x for x in old]
+        yield (name + ext, hdr + script_text, 't', blockers)
+        yield (
+            name + '.exe', get_win_launcher(launcher_type),
+            'b'  # write in binary mode
+        )
+        if not is_64bit():
+            # install a manifest for the launcher to prevent Windows
+            # from detecting it as an installer (which it will for
+            #  launchers like easy_install.exe). Consider only
+            #  adding a manifest for launchers detected as installers.
+            #  See Distribute #143 for details.
+            m_name = name + '.exe.manifest'
+            yield (m_name, load_launcher_manifest(name), 't')
+
+
+# for backward-compatibility
+get_script_args = ScriptWriter.get_script_args
+get_script_header = ScriptWriter.get_script_header
+
+
+def get_win_launcher(type):
+    """
+    Load the Windows launcher (executable) suitable for launching a script.
+
+    `type` should be either 'cli' or 'gui'
+
+    Returns the executable as a byte string.
+    """
+    launcher_fn = '%s.exe' % type
+    if is_64bit():
+        launcher_fn = launcher_fn.replace(".", "-64.")
+    else:
+        launcher_fn = launcher_fn.replace(".", "-32.")
+    return resource_string('setuptools', launcher_fn)
+
+
+def load_launcher_manifest(name):
+    manifest = pkg_resources.resource_string(__name__, 'launcher manifest.xml')
+    if six.PY2:
+        return manifest % vars()
+    else:
+        return manifest.decode('utf-8') % vars()
+
+
+def rmtree(path, ignore_errors=False, onerror=auto_chmod):
+    return shutil.rmtree(path, ignore_errors, onerror)
+
+
+def current_umask():
+    tmp = os.umask(0o022)
+    os.umask(tmp)
+    return tmp
+
+
+def bootstrap():
+    # This function is called when setuptools*.egg is run using /bin/sh
+    import setuptools
+
+    argv0 = os.path.dirname(setuptools.__path__[0])
+    sys.argv[0] = argv0
+    sys.argv.append(argv0)
+    main()
+
+
+def main(argv=None, **kw):
+    from setuptools import setup
+    from setuptools.dist import Distribution
+
+    class DistributionWithoutHelpCommands(Distribution):
+        common_usage = ""
+
+        def _show_help(self, *args, **kw):
+            with _patch_usage():
+                Distribution._show_help(self, *args, **kw)
+
+    if argv is None:
+        argv = sys.argv[1:]
+
+    with _patch_usage():
+        setup(
+            script_args=['-q', 'easy_install', '-v'] + argv,
+            script_name=sys.argv[0] or 'easy_install',
+            distclass=DistributionWithoutHelpCommands,
+            **kw
+        )
+
+
+@contextlib.contextmanager
+def _patch_usage():
+    import distutils.core
+    USAGE = textwrap.dedent("""
+        usage: %(script)s [options] requirement_or_url ...
+           or: %(script)s --help
+        """).lstrip()
+
+    def gen_usage(script_name):
+        return USAGE % dict(
+            script=os.path.basename(script_name),
+        )
+
+    saved = distutils.core.gen_usage
+    distutils.core.gen_usage = gen_usage
+    try:
+        yield
+    finally:
+        distutils.core.gen_usage = saved
+
+class EasyInstallDeprecationWarning(SetuptoolsDeprecationWarning):
+    """Class for warning about deprecations in EasyInstall in SetupTools. Not ignored by default, unlike DeprecationWarning."""
+    
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/egg_info.py b/iot_env/lib/python3.8/site-packages/setuptools/command/egg_info.py
new file mode 100644
index 0000000..b767ef3
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/egg_info.py
@@ -0,0 +1,717 @@
+"""setuptools.command.egg_info
+
+Create a distribution's .egg-info directory and contents"""
+
+from distutils.filelist import FileList as _FileList
+from distutils.errors import DistutilsInternalError
+from distutils.util import convert_path
+from distutils import log
+import distutils.errors
+import distutils.filelist
+import os
+import re
+import sys
+import io
+import warnings
+import time
+import collections
+
+from setuptools.extern import six
+from setuptools.extern.six.moves import map
+
+from setuptools import Command
+from setuptools.command.sdist import sdist
+from setuptools.command.sdist import walk_revctrl
+from setuptools.command.setopt import edit_config
+from setuptools.command import bdist_egg
+from pkg_resources import (
+    parse_requirements, safe_name, parse_version,
+    safe_version, yield_lines, EntryPoint, iter_entry_points, to_filename)
+import setuptools.unicode_utils as unicode_utils
+from setuptools.glob import glob
+
+from setuptools.extern import packaging
+from setuptools import SetuptoolsDeprecationWarning
+
+def translate_pattern(glob):
+    """
+    Translate a file path glob like '*.txt' in to a regular expression.
+    This differs from fnmatch.translate which allows wildcards to match
+    directory separators. It also knows about '**/' which matches any number of
+    directories.
+    """
+    pat = ''
+
+    # This will split on '/' within [character classes]. This is deliberate.
+    chunks = glob.split(os.path.sep)
+
+    sep = re.escape(os.sep)
+    valid_char = '[^%s]' % (sep,)
+
+    for c, chunk in enumerate(chunks):
+        last_chunk = c == len(chunks) - 1
+
+        # Chunks that are a literal ** are globstars. They match anything.
+        if chunk == '**':
+            if last_chunk:
+                # Match anything if this is the last component
+                pat += '.*'
+            else:
+                # Match '(name/)*'
+                pat += '(?:%s+%s)*' % (valid_char, sep)
+            continue  # Break here as the whole path component has been handled
+
+        # Find any special characters in the remainder
+        i = 0
+        chunk_len = len(chunk)
+        while i < chunk_len:
+            char = chunk[i]
+            if char == '*':
+                # Match any number of name characters
+                pat += valid_char + '*'
+            elif char == '?':
+                # Match a name character
+                pat += valid_char
+            elif char == '[':
+                # Character class
+                inner_i = i + 1
+                # Skip initial !/] chars
+                if inner_i < chunk_len and chunk[inner_i] == '!':
+                    inner_i = inner_i + 1
+                if inner_i < chunk_len and chunk[inner_i] == ']':
+                    inner_i = inner_i + 1
+
+                # Loop till the closing ] is found
+                while inner_i < chunk_len and chunk[inner_i] != ']':
+                    inner_i = inner_i + 1
+
+                if inner_i >= chunk_len:
+                    # Got to the end of the string without finding a closing ]
+                    # Do not treat this as a matching group, but as a literal [
+                    pat += re.escape(char)
+                else:
+                    # Grab the insides of the [brackets]
+                    inner = chunk[i + 1:inner_i]
+                    char_class = ''
+
+                    # Class negation
+                    if inner[0] == '!':
+                        char_class = '^'
+                        inner = inner[1:]
+
+                    char_class += re.escape(inner)
+                    pat += '[%s]' % (char_class,)
+
+                    # Skip to the end ]
+                    i = inner_i
+            else:
+                pat += re.escape(char)
+            i += 1
+
+        # Join each chunk with the dir separator
+        if not last_chunk:
+            pat += sep
+
+    pat += r'\Z'
+    return re.compile(pat, flags=re.MULTILINE|re.DOTALL)
+
+
+class InfoCommon:
+    tag_build = None
+    tag_date = None
+
+    @property
+    def name(self):
+        return safe_name(self.distribution.get_name())
+
+    def tagged_version(self):
+        version = self.distribution.get_version()
+        # egg_info may be called more than once for a distribution,
+        # in which case the version string already contains all tags.
+        if self.vtags and version.endswith(self.vtags):
+            return safe_version(version)
+        return safe_version(version + self.vtags)
+
+    def tags(self):
+        version = ''
+        if self.tag_build:
+            version += self.tag_build
+        if self.tag_date:
+            version += time.strftime("-%Y%m%d")
+        return version
+    vtags = property(tags)
+
+
+class egg_info(InfoCommon, Command):
+    description = "create a distribution's .egg-info directory"
+
+    user_options = [
+        ('egg-base=', 'e', "directory containing .egg-info directories"
+                           " (default: top of the source tree)"),
+        ('tag-date', 'd', "Add date stamp (e.g. 20050528) to version number"),
+        ('tag-build=', 'b', "Specify explicit tag to add to version number"),
+        ('no-date', 'D', "Don't include date stamp [default]"),
+    ]
+
+    boolean_options = ['tag-date']
+    negative_opt = {
+        'no-date': 'tag-date',
+    }
+
+    def initialize_options(self):
+        self.egg_base = None
+        self.egg_name = None
+        self.egg_info = None
+        self.egg_version = None
+        self.broken_egg_info = False
+
+    ####################################
+    # allow the 'tag_svn_revision' to be detected and
+    # set, supporting sdists built on older Setuptools.
+    @property
+    def tag_svn_revision(self):
+        pass
+
+    @tag_svn_revision.setter
+    def tag_svn_revision(self, value):
+        pass
+    ####################################
+
+    def save_version_info(self, filename):
+        """
+        Materialize the value of date into the
+        build tag. Install build keys in a deterministic order
+        to avoid arbitrary reordering on subsequent builds.
+        """
+        egg_info = collections.OrderedDict()
+        # follow the order these keys would have been added
+        # when PYTHONHASHSEED=0
+        egg_info['tag_build'] = self.tags()
+        egg_info['tag_date'] = 0
+        edit_config(filename, dict(egg_info=egg_info))
+
+    def finalize_options(self):
+        # Note: we need to capture the current value returned
+        # by `self.tagged_version()`, so we can later update
+        # `self.distribution.metadata.version` without
+        # repercussions.
+        self.egg_name = self.name
+        self.egg_version = self.tagged_version()
+        parsed_version = parse_version(self.egg_version)
+
+        try:
+            is_version = isinstance(parsed_version, packaging.version.Version)
+            spec = (
+                "%s==%s" if is_version else "%s===%s"
+            )
+            list(
+                parse_requirements(spec % (self.egg_name, self.egg_version))
+            )
+        except ValueError:
+            raise distutils.errors.DistutilsOptionError(
+                "Invalid distribution name or version syntax: %s-%s" %
+                (self.egg_name, self.egg_version)
+            )
+
+        if self.egg_base is None:
+            dirs = self.distribution.package_dir
+            self.egg_base = (dirs or {}).get('', os.curdir)
+
+        self.ensure_dirname('egg_base')
+        self.egg_info = to_filename(self.egg_name) + '.egg-info'
+        if self.egg_base != os.curdir:
+            self.egg_info = os.path.join(self.egg_base, self.egg_info)
+        if '-' in self.egg_name:
+            self.check_broken_egg_info()
+
+        # Set package version for the benefit of dumber commands
+        # (e.g. sdist, bdist_wininst, etc.)
+        #
+        self.distribution.metadata.version = self.egg_version
+
+        # If we bootstrapped around the lack of a PKG-INFO, as might be the
+        # case in a fresh checkout, make sure that any special tags get added
+        # to the version info
+        #
+        pd = self.distribution._patched_dist
+        if pd is not None and pd.key == self.egg_name.lower():
+            pd._version = self.egg_version
+            pd._parsed_version = parse_version(self.egg_version)
+            self.distribution._patched_dist = None
+
+    def write_or_delete_file(self, what, filename, data, force=False):
+        """Write `data` to `filename` or delete if empty
+
+        If `data` is non-empty, this routine is the same as ``write_file()``.
+        If `data` is empty but not ``None``, this is the same as calling
+        ``delete_file(filename)`.  If `data` is ``None``, then this is a no-op
+        unless `filename` exists, in which case a warning is issued about the
+        orphaned file (if `force` is false), or deleted (if `force` is true).
+        """
+        if data:
+            self.write_file(what, filename, data)
+        elif os.path.exists(filename):
+            if data is None and not force:
+                log.warn(
+                    "%s not set in setup(), but %s exists", what, filename
+                )
+                return
+            else:
+                self.delete_file(filename)
+
+    def write_file(self, what, filename, data):
+        """Write `data` to `filename` (if not a dry run) after announcing it
+
+        `what` is used in a log message to identify what is being written
+        to the file.
+        """
+        log.info("writing %s to %s", what, filename)
+        if six.PY3:
+            data = data.encode("utf-8")
+        if not self.dry_run:
+            f = open(filename, 'wb')
+            f.write(data)
+            f.close()
+
+    def delete_file(self, filename):
+        """Delete `filename` (if not a dry run) after announcing it"""
+        log.info("deleting %s", filename)
+        if not self.dry_run:
+            os.unlink(filename)
+
+    def run(self):
+        self.mkpath(self.egg_info)
+        os.utime(self.egg_info, None)
+        installer = self.distribution.fetch_build_egg
+        for ep in iter_entry_points('egg_info.writers'):
+            ep.require(installer=installer)
+            writer = ep.resolve()
+            writer(self, ep.name, os.path.join(self.egg_info, ep.name))
+
+        # Get rid of native_libs.txt if it was put there by older bdist_egg
+        nl = os.path.join(self.egg_info, "native_libs.txt")
+        if os.path.exists(nl):
+            self.delete_file(nl)
+
+        self.find_sources()
+
+    def find_sources(self):
+        """Generate SOURCES.txt manifest file"""
+        manifest_filename = os.path.join(self.egg_info, "SOURCES.txt")
+        mm = manifest_maker(self.distribution)
+        mm.manifest = manifest_filename
+        mm.run()
+        self.filelist = mm.filelist
+
+    def check_broken_egg_info(self):
+        bei = self.egg_name + '.egg-info'
+        if self.egg_base != os.curdir:
+            bei = os.path.join(self.egg_base, bei)
+        if os.path.exists(bei):
+            log.warn(
+                "-" * 78 + '\n'
+                "Note: Your current .egg-info directory has a '-' in its name;"
+                '\nthis will not work correctly with "setup.py develop".\n\n'
+                'Please rename %s to %s to correct this problem.\n' + '-' * 78,
+                bei, self.egg_info
+            )
+            self.broken_egg_info = self.egg_info
+            self.egg_info = bei  # make it work for now
+
+
+class FileList(_FileList):
+    # Implementations of the various MANIFEST.in commands
+
+    def process_template_line(self, line):
+        # Parse the line: split it up, make sure the right number of words
+        # is there, and return the relevant words.  'action' is always
+        # defined: it's the first word of the line.  Which of the other
+        # three are defined depends on the action; it'll be either
+        # patterns, (dir and patterns), or (dir_pattern).
+        (action, patterns, dir, dir_pattern) = self._parse_template_line(line)
+
+        # OK, now we know that the action is valid and we have the
+        # right number of words on the line for that action -- so we
+        # can proceed with minimal error-checking.
+        if action == 'include':
+            self.debug_print("include " + ' '.join(patterns))
+            for pattern in patterns:
+                if not self.include(pattern):
+                    log.warn("warning: no files found matching '%s'", pattern)
+
+        elif action == 'exclude':
+            self.debug_print("exclude " + ' '.join(patterns))
+            for pattern in patterns:
+                if not self.exclude(pattern):
+                    log.warn(("warning: no previously-included files "
+                              "found matching '%s'"), pattern)
+
+        elif action == 'global-include':
+            self.debug_print("global-include " + ' '.join(patterns))
+            for pattern in patterns:
+                if not self.global_include(pattern):
+                    log.warn(("warning: no files found matching '%s' "
+                              "anywhere in distribution"), pattern)
+
+        elif action == 'global-exclude':
+            self.debug_print("global-exclude " + ' '.join(patterns))
+            for pattern in patterns:
+                if not self.global_exclude(pattern):
+                    log.warn(("warning: no previously-included files matching "
+                              "'%s' found anywhere in distribution"),
+                             pattern)
+
+        elif action == 'recursive-include':
+            self.debug_print("recursive-include %s %s" %
+                             (dir, ' '.join(patterns)))
+            for pattern in patterns:
+                if not self.recursive_include(dir, pattern):
+                    log.warn(("warning: no files found matching '%s' "
+                              "under directory '%s'"),
+                             pattern, dir)
+
+        elif action == 'recursive-exclude':
+            self.debug_print("recursive-exclude %s %s" %
+                             (dir, ' '.join(patterns)))
+            for pattern in patterns:
+                if not self.recursive_exclude(dir, pattern):
+                    log.warn(("warning: no previously-included files matching "
+                              "'%s' found under directory '%s'"),
+                             pattern, dir)
+
+        elif action == 'graft':
+            self.debug_print("graft " + dir_pattern)
+            if not self.graft(dir_pattern):
+                log.warn("warning: no directories found matching '%s'",
+                         dir_pattern)
+
+        elif action == 'prune':
+            self.debug_print("prune " + dir_pattern)
+            if not self.prune(dir_pattern):
+                log.warn(("no previously-included directories found "
+                          "matching '%s'"), dir_pattern)
+
+        else:
+            raise DistutilsInternalError(
+                "this cannot happen: invalid action '%s'" % action)
+
+    def _remove_files(self, predicate):
+        """
+        Remove all files from the file list that match the predicate.
+        Return True if any matching files were removed
+        """
+        found = False
+        for i in range(len(self.files) - 1, -1, -1):
+            if predicate(self.files[i]):
+                self.debug_print(" removing " + self.files[i])
+                del self.files[i]
+                found = True
+        return found
+
+    def include(self, pattern):
+        """Include files that match 'pattern'."""
+        found = [f for f in glob(pattern) if not os.path.isdir(f)]
+        self.extend(found)
+        return bool(found)
+
+    def exclude(self, pattern):
+        """Exclude files that match 'pattern'."""
+        match = translate_pattern(pattern)
+        return self._remove_files(match.match)
+
+    def recursive_include(self, dir, pattern):
+        """
+        Include all files anywhere in 'dir/' that match the pattern.
+        """
+        full_pattern = os.path.join(dir, '**', pattern)
+        found = [f for f in glob(full_pattern, recursive=True)
+                 if not os.path.isdir(f)]
+        self.extend(found)
+        return bool(found)
+
+    def recursive_exclude(self, dir, pattern):
+        """
+        Exclude any file anywhere in 'dir/' that match the pattern.
+        """
+        match = translate_pattern(os.path.join(dir, '**', pattern))
+        return self._remove_files(match.match)
+
+    def graft(self, dir):
+        """Include all files from 'dir/'."""
+        found = [
+            item
+            for match_dir in glob(dir)
+            for item in distutils.filelist.findall(match_dir)
+        ]
+        self.extend(found)
+        return bool(found)
+
+    def prune(self, dir):
+        """Filter out files from 'dir/'."""
+        match = translate_pattern(os.path.join(dir, '**'))
+        return self._remove_files(match.match)
+
+    def global_include(self, pattern):
+        """
+        Include all files anywhere in the current directory that match the
+        pattern. This is very inefficient on large file trees.
+        """
+        if self.allfiles is None:
+            self.findall()
+        match = translate_pattern(os.path.join('**', pattern))
+        found = [f for f in self.allfiles if match.match(f)]
+        self.extend(found)
+        return bool(found)
+
+    def global_exclude(self, pattern):
+        """
+        Exclude all files anywhere that match the pattern.
+        """
+        match = translate_pattern(os.path.join('**', pattern))
+        return self._remove_files(match.match)
+
+    def append(self, item):
+        if item.endswith('\r'):  # Fix older sdists built on Windows
+            item = item[:-1]
+        path = convert_path(item)
+
+        if self._safe_path(path):
+            self.files.append(path)
+
+    def extend(self, paths):
+        self.files.extend(filter(self._safe_path, paths))
+
+    def _repair(self):
+        """
+        Replace self.files with only safe paths
+
+        Because some owners of FileList manipulate the underlying
+        ``files`` attribute directly, this method must be called to
+        repair those paths.
+        """
+        self.files = list(filter(self._safe_path, self.files))
+
+    def _safe_path(self, path):
+        enc_warn = "'%s' not %s encodable -- skipping"
+
+        # To avoid accidental trans-codings errors, first to unicode
+        u_path = unicode_utils.filesys_decode(path)
+        if u_path is None:
+            log.warn("'%s' in unexpected encoding -- skipping" % path)
+            return False
+
+        # Must ensure utf-8 encodability
+        utf8_path = unicode_utils.try_encode(u_path, "utf-8")
+        if utf8_path is None:
+            log.warn(enc_warn, path, 'utf-8')
+            return False
+
+        try:
+            # accept is either way checks out
+            if os.path.exists(u_path) or os.path.exists(utf8_path):
+                return True
+        # this will catch any encode errors decoding u_path
+        except UnicodeEncodeError:
+            log.warn(enc_warn, path, sys.getfilesystemencoding())
+
+
+class manifest_maker(sdist):
+    template = "MANIFEST.in"
+
+    def initialize_options(self):
+        self.use_defaults = 1
+        self.prune = 1
+        self.manifest_only = 1
+        self.force_manifest = 1
+
+    def finalize_options(self):
+        pass
+
+    def run(self):
+        self.filelist = FileList()
+        if not os.path.exists(self.manifest):
+            self.write_manifest()  # it must exist so it'll get in the list
+        self.add_defaults()
+        if os.path.exists(self.template):
+            self.read_template()
+        self.prune_file_list()
+        self.filelist.sort()
+        self.filelist.remove_duplicates()
+        self.write_manifest()
+
+    def _manifest_normalize(self, path):
+        path = unicode_utils.filesys_decode(path)
+        return path.replace(os.sep, '/')
+
+    def write_manifest(self):
+        """
+        Write the file list in 'self.filelist' to the manifest file
+        named by 'self.manifest'.
+        """
+        self.filelist._repair()
+
+        # Now _repairs should encodability, but not unicode
+        files = [self._manifest_normalize(f) for f in self.filelist.files]
+        msg = "writing manifest file '%s'" % self.manifest
+        self.execute(write_file, (self.manifest, files), msg)
+
+    def warn(self, msg):
+        if not self._should_suppress_warning(msg):
+            sdist.warn(self, msg)
+
+    @staticmethod
+    def _should_suppress_warning(msg):
+        """
+        suppress missing-file warnings from sdist
+        """
+        return re.match(r"standard file .*not found", msg)
+
+    def add_defaults(self):
+        sdist.add_defaults(self)
+        self.check_license()
+        self.filelist.append(self.template)
+        self.filelist.append(self.manifest)
+        rcfiles = list(walk_revctrl())
+        if rcfiles:
+            self.filelist.extend(rcfiles)
+        elif os.path.exists(self.manifest):
+            self.read_manifest()
+
+        if os.path.exists("setup.py"):
+            # setup.py should be included by default, even if it's not
+            # the script called to create the sdist
+            self.filelist.append("setup.py")
+
+        ei_cmd = self.get_finalized_command('egg_info')
+        self.filelist.graft(ei_cmd.egg_info)
+
+    def prune_file_list(self):
+        build = self.get_finalized_command('build')
+        base_dir = self.distribution.get_fullname()
+        self.filelist.prune(build.build_base)
+        self.filelist.prune(base_dir)
+        sep = re.escape(os.sep)
+        self.filelist.exclude_pattern(r'(^|' + sep + r')(RCS|CVS|\.svn)' + sep,
+                                      is_regex=1)
+
+
+def write_file(filename, contents):
+    """Create a file with the specified name and write 'contents' (a
+    sequence of strings without line terminators) to it.
+    """
+    contents = "\n".join(contents)
+
+    # assuming the contents has been vetted for utf-8 encoding
+    contents = contents.encode("utf-8")
+
+    with open(filename, "wb") as f:  # always write POSIX-style manifest
+        f.write(contents)
+
+
+def write_pkg_info(cmd, basename, filename):
+    log.info("writing %s", filename)
+    if not cmd.dry_run:
+        metadata = cmd.distribution.metadata
+        metadata.version, oldver = cmd.egg_version, metadata.version
+        metadata.name, oldname = cmd.egg_name, metadata.name
+
+        try:
+            # write unescaped data to PKG-INFO, so older pkg_resources
+            # can still parse it
+            metadata.write_pkg_info(cmd.egg_info)
+        finally:
+            metadata.name, metadata.version = oldname, oldver
+
+        safe = getattr(cmd.distribution, 'zip_safe', None)
+
+        bdist_egg.write_safety_flag(cmd.egg_info, safe)
+
+
+def warn_depends_obsolete(cmd, basename, filename):
+    if os.path.exists(filename):
+        log.warn(
+            "WARNING: 'depends.txt' is not used by setuptools 0.6!\n"
+            "Use the install_requires/extras_require setup() args instead."
+        )
+
+
+def _write_requirements(stream, reqs):
+    lines = yield_lines(reqs or ())
+    append_cr = lambda line: line + '\n'
+    lines = map(append_cr, sorted(lines))
+    stream.writelines(lines)
+
+
+def write_requirements(cmd, basename, filename):
+    dist = cmd.distribution
+    data = six.StringIO()
+    _write_requirements(data, dist.install_requires)
+    extras_require = dist.extras_require or {}
+    for extra in sorted(extras_require):
+        data.write('\n[{extra}]\n'.format(**vars()))
+        _write_requirements(data, extras_require[extra])
+    cmd.write_or_delete_file("requirements", filename, data.getvalue())
+
+
+def write_setup_requirements(cmd, basename, filename):
+    data = io.StringIO()
+    _write_requirements(data, cmd.distribution.setup_requires)
+    cmd.write_or_delete_file("setup-requirements", filename, data.getvalue())
+
+
+def write_toplevel_names(cmd, basename, filename):
+    pkgs = dict.fromkeys(
+        [
+            k.split('.', 1)[0]
+            for k in cmd.distribution.iter_distribution_names()
+        ]
+    )
+    cmd.write_file("top-level names", filename, '\n'.join(sorted(pkgs)) + '\n')
+
+
+def overwrite_arg(cmd, basename, filename):
+    write_arg(cmd, basename, filename, True)
+
+
+def write_arg(cmd, basename, filename, force=False):
+    argname = os.path.splitext(basename)[0]
+    value = getattr(cmd.distribution, argname, None)
+    if value is not None:
+        value = '\n'.join(value) + '\n'
+    cmd.write_or_delete_file(argname, filename, value, force)
+
+
+def write_entries(cmd, basename, filename):
+    ep = cmd.distribution.entry_points
+
+    if isinstance(ep, six.string_types) or ep is None:
+        data = ep
+    elif ep is not None:
+        data = []
+        for section, contents in sorted(ep.items()):
+            if not isinstance(contents, six.string_types):
+                contents = EntryPoint.parse_group(section, contents)
+                contents = '\n'.join(sorted(map(str, contents.values())))
+            data.append('[%s]\n%s\n\n' % (section, contents))
+        data = ''.join(data)
+
+    cmd.write_or_delete_file('entry points', filename, data, True)
+
+
+def get_pkg_info_revision():
+    """
+    Get a -r### off of PKG-INFO Version in case this is an sdist of
+    a subversion revision.
+    """
+    warnings.warn("get_pkg_info_revision is deprecated.", EggInfoDeprecationWarning)
+    if os.path.exists('PKG-INFO'):
+        with io.open('PKG-INFO') as f:
+            for line in f:
+                match = re.match(r"Version:.*-r(\d+)\s*$", line)
+                if match:
+                    return int(match.group(1))
+    return 0
+
+
+class EggInfoDeprecationWarning(SetuptoolsDeprecationWarning):
+    """Class for warning about deprecations in eggInfo in setupTools. Not ignored by default, unlike DeprecationWarning."""
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/install.py b/iot_env/lib/python3.8/site-packages/setuptools/command/install.py
new file mode 100644
index 0000000..72b9a3e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/install.py
@@ -0,0 +1,125 @@
+from distutils.errors import DistutilsArgError
+import inspect
+import glob
+import warnings
+import platform
+import distutils.command.install as orig
+
+import setuptools
+
+# Prior to numpy 1.9, NumPy relies on the '_install' name, so provide it for
+# now. See https://github.com/pypa/setuptools/issues/199/
+_install = orig.install
+
+
+class install(orig.install):
+    """Use easy_install to install the package, w/dependencies"""
+
+    user_options = orig.install.user_options + [
+        ('old-and-unmanageable', None, "Try not to use this!"),
+        ('single-version-externally-managed', None,
+         "used by system package builders to create 'flat' eggs"),
+    ]
+    boolean_options = orig.install.boolean_options + [
+        'old-and-unmanageable', 'single-version-externally-managed',
+    ]
+    new_commands = [
+        ('install_egg_info', lambda self: True),
+        ('install_scripts', lambda self: True),
+    ]
+    _nc = dict(new_commands)
+
+    def initialize_options(self):
+        orig.install.initialize_options(self)
+        self.old_and_unmanageable = None
+        self.single_version_externally_managed = None
+
+    def finalize_options(self):
+        orig.install.finalize_options(self)
+        if self.root:
+            self.single_version_externally_managed = True
+        elif self.single_version_externally_managed:
+            if not self.root and not self.record:
+                raise DistutilsArgError(
+                    "You must specify --record or --root when building system"
+                    " packages"
+                )
+
+    def handle_extra_path(self):
+        if self.root or self.single_version_externally_managed:
+            # explicit backward-compatibility mode, allow extra_path to work
+            return orig.install.handle_extra_path(self)
+
+        # Ignore extra_path when installing an egg (or being run by another
+        # command without --root or --single-version-externally-managed
+        self.path_file = None
+        self.extra_dirs = ''
+
+    def run(self):
+        # Explicit request for old-style install?  Just do it
+        if self.old_and_unmanageable or self.single_version_externally_managed:
+            return orig.install.run(self)
+
+        if not self._called_from_setup(inspect.currentframe()):
+            # Run in backward-compatibility mode to support bdist_* commands.
+            orig.install.run(self)
+        else:
+            self.do_egg_install()
+
+    @staticmethod
+    def _called_from_setup(run_frame):
+        """
+        Attempt to detect whether run() was called from setup() or by another
+        command.  If called by setup(), the parent caller will be the
+        'run_command' method in 'distutils.dist', and *its* caller will be
+        the 'run_commands' method.  If called any other way, the
+        immediate caller *might* be 'run_command', but it won't have been
+        called by 'run_commands'. Return True in that case or if a call stack
+        is unavailable. Return False otherwise.
+        """
+        if run_frame is None:
+            msg = "Call stack not available. bdist_* commands may fail."
+            warnings.warn(msg)
+            if platform.python_implementation() == 'IronPython':
+                msg = "For best results, pass -X:Frames to enable call stack."
+                warnings.warn(msg)
+            return True
+        res = inspect.getouterframes(run_frame)[2]
+        caller, = res[:1]
+        info = inspect.getframeinfo(caller)
+        caller_module = caller.f_globals.get('__name__', '')
+        return (
+            caller_module == 'distutils.dist'
+            and info.function == 'run_commands'
+        )
+
+    def do_egg_install(self):
+
+        easy_install = self.distribution.get_command_class('easy_install')
+
+        cmd = easy_install(
+            self.distribution, args="x", root=self.root, record=self.record,
+        )
+        cmd.ensure_finalized()  # finalize before bdist_egg munges install cmd
+        cmd.always_copy_from = '.'  # make sure local-dir eggs get installed
+
+        # pick up setup-dir .egg files only: no .egg-info
+        cmd.package_index.scan(glob.glob('*.egg'))
+
+        self.run_command('bdist_egg')
+        args = [self.distribution.get_command_obj('bdist_egg').egg_output]
+
+        if setuptools.bootstrap_install_from:
+            # Bootstrap self-installation of setuptools
+            args.insert(0, setuptools.bootstrap_install_from)
+
+        cmd.args = args
+        cmd.run(show_deprecation=False)
+        setuptools.bootstrap_install_from = None
+
+
+# XXX Python 3.1 doesn't see _nc if this is inside the class
+install.sub_commands = (
+    [cmd for cmd in orig.install.sub_commands if cmd[0] not in install._nc] +
+    install.new_commands
+)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/install_egg_info.py b/iot_env/lib/python3.8/site-packages/setuptools/command/install_egg_info.py
new file mode 100644
index 0000000..5f405bc
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/install_egg_info.py
@@ -0,0 +1,82 @@
+from distutils import log, dir_util
+import os, sys
+
+from setuptools import Command
+from setuptools import namespaces
+from setuptools.archive_util import unpack_archive
+import pkg_resources
+
+
+class install_egg_info(namespaces.Installer, Command):
+    """Install an .egg-info directory for the package"""
+
+    description = "Install an .egg-info directory for the package"
+
+    user_options = [
+        ('install-dir=', 'd', "directory to install to"),
+    ]
+
+    def initialize_options(self):
+        self.install_dir = None
+        self.install_layout = None
+        self.prefix_option = None
+
+    def finalize_options(self):
+        self.set_undefined_options('install_lib',
+                                   ('install_dir', 'install_dir'))
+        self.set_undefined_options('install',('install_layout','install_layout'))
+        if sys.hexversion > 0x2060000:
+            self.set_undefined_options('install',('prefix_option','prefix_option'))
+        ei_cmd = self.get_finalized_command("egg_info")
+        basename = pkg_resources.Distribution(
+            None, None, ei_cmd.egg_name, ei_cmd.egg_version
+        ).egg_name() + '.egg-info'
+
+        if self.install_layout:
+            if not self.install_layout.lower() in ['deb']:
+                raise DistutilsOptionError("unknown value for --install-layout")
+            self.install_layout = self.install_layout.lower()
+            basename = basename.replace('-py%s' % pkg_resources.PY_MAJOR, '')
+        elif self.prefix_option or 'real_prefix' in sys.__dict__:
+            # don't modify for virtualenv
+            pass
+        else:
+            basename = basename.replace('-py%s' % pkg_resources.PY_MAJOR, '')
+
+        self.source = ei_cmd.egg_info
+        self.target = os.path.join(self.install_dir, basename)
+        self.outputs = []
+
+    def run(self):
+        self.run_command('egg_info')
+        if os.path.isdir(self.target) and not os.path.islink(self.target):
+            dir_util.remove_tree(self.target, dry_run=self.dry_run)
+        elif os.path.exists(self.target):
+            self.execute(os.unlink, (self.target,), "Removing " + self.target)
+        if not self.dry_run:
+            pkg_resources.ensure_directory(self.target)
+        self.execute(
+            self.copytree, (), "Copying %s to %s" % (self.source, self.target)
+        )
+        self.install_namespaces()
+
+    def get_outputs(self):
+        return self.outputs
+
+    def copytree(self):
+        # Copy the .egg-info tree to site-packages
+        def skimmer(src, dst):
+            # filter out source-control directories; note that 'src' is always
+            # a '/'-separated path, regardless of platform.  'dst' is a
+            # platform-specific path.
+            for skip in '.svn/', 'CVS/':
+                if src.startswith(skip) or '/' + skip in src:
+                    return None
+            if self.install_layout and self.install_layout in ['deb'] and src.startswith('SOURCES.txt'):
+                log.info("Skipping SOURCES.txt")
+                return None
+            self.outputs.append(dst)
+            log.debug("Copying %s to %s", src, dst)
+            return dst
+
+        unpack_archive(self.source, self.target, skimmer)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/install_lib.py b/iot_env/lib/python3.8/site-packages/setuptools/command/install_lib.py
new file mode 100644
index 0000000..bf81519
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/install_lib.py
@@ -0,0 +1,147 @@
+import os
+import sys
+from itertools import product, starmap
+import distutils.command.install_lib as orig
+
+
+class install_lib(orig.install_lib):
+    """Don't add compiled flags to filenames of non-Python files"""
+
+    def initialize_options(self):
+        orig.install_lib.initialize_options(self)
+        self.multiarch = None
+        self.install_layout = None
+
+    def finalize_options(self):
+        orig.install_lib.finalize_options(self)
+        self.set_undefined_options('install',('install_layout','install_layout'))
+        if self.install_layout == 'deb' and sys.version_info[:2] >= (3, 3):
+            import sysconfig
+            self.multiarch = sysconfig.get_config_var('MULTIARCH')
+
+    def run(self):
+        self.build()
+        outfiles = self.install()
+        if outfiles is not None:
+            # always compile, in case we have any extension stubs to deal with
+            self.byte_compile(outfiles)
+
+    def get_exclusions(self):
+        """
+        Return a collections.Sized collections.Container of paths to be
+        excluded for single_version_externally_managed installations.
+        """
+        all_packages = (
+            pkg
+            for ns_pkg in self._get_SVEM_NSPs()
+            for pkg in self._all_packages(ns_pkg)
+        )
+
+        excl_specs = product(all_packages, self._gen_exclusion_paths())
+        return set(starmap(self._exclude_pkg_path, excl_specs))
+
+    def _exclude_pkg_path(self, pkg, exclusion_path):
+        """
+        Given a package name and exclusion path within that package,
+        compute the full exclusion path.
+        """
+        parts = pkg.split('.') + [exclusion_path]
+        return os.path.join(self.install_dir, *parts)
+
+    @staticmethod
+    def _all_packages(pkg_name):
+        """
+        >>> list(install_lib._all_packages('foo.bar.baz'))
+        ['foo.bar.baz', 'foo.bar', 'foo']
+        """
+        while pkg_name:
+            yield pkg_name
+            pkg_name, sep, child = pkg_name.rpartition('.')
+
+    def _get_SVEM_NSPs(self):
+        """
+        Get namespace packages (list) but only for
+        single_version_externally_managed installations and empty otherwise.
+        """
+        # TODO: is it necessary to short-circuit here? i.e. what's the cost
+        # if get_finalized_command is called even when namespace_packages is
+        # False?
+        if not self.distribution.namespace_packages:
+            return []
+
+        install_cmd = self.get_finalized_command('install')
+        svem = install_cmd.single_version_externally_managed
+
+        return self.distribution.namespace_packages if svem else []
+
+    @staticmethod
+    def _gen_exclusion_paths():
+        """
+        Generate file paths to be excluded for namespace packages (bytecode
+        cache files).
+        """
+        # always exclude the package module itself
+        yield '__init__.py'
+
+        yield '__init__.pyc'
+        yield '__init__.pyo'
+
+        if not hasattr(sys, 'implementation'):
+            return
+
+        base = os.path.join('__pycache__', '__init__.' + sys.implementation.cache_tag)
+        yield base + '.pyc'
+        yield base + '.pyo'
+        yield base + '.opt-1.pyc'
+        yield base + '.opt-2.pyc'
+
+    def copy_tree(
+            self, infile, outfile,
+            preserve_mode=1, preserve_times=1, preserve_symlinks=0, level=1
+    ):
+        assert preserve_mode and preserve_times and not preserve_symlinks
+        exclude = self.get_exclusions()
+
+        if not exclude:
+            import distutils.dir_util
+            distutils.dir_util._multiarch = self.multiarch
+            return orig.install_lib.copy_tree(self, infile, outfile)
+
+        # Exclude namespace package __init__.py* files from the output
+
+        from setuptools.archive_util import unpack_directory
+        from distutils import log
+
+        outfiles = []
+
+        if self.multiarch:
+            import sysconfig
+            ext_suffix = sysconfig.get_config_var ('EXT_SUFFIX')
+            if ext_suffix.endswith(self.multiarch + ext_suffix[-3:]):
+                new_suffix = None
+            else:
+                new_suffix = "%s-%s%s" % (ext_suffix[:-3], self.multiarch, ext_suffix[-3:])
+
+        def pf(src, dst):
+            if dst in exclude:
+                log.warn("Skipping installation of %s (namespace package)",
+                         dst)
+                return False
+
+            if self.multiarch and new_suffix and dst.endswith(ext_suffix) and not dst.endswith(new_suffix):
+                dst = dst.replace(ext_suffix, new_suffix)
+                log.info("renaming extension to %s", os.path.basename(dst))
+
+            log.info("copying %s -> %s", src, os.path.dirname(dst))
+            outfiles.append(dst)
+            return dst
+
+        unpack_directory(infile, outfile, pf)
+        return outfiles
+
+    def get_outputs(self):
+        outputs = orig.install_lib.get_outputs(self)
+        exclude = self.get_exclusions()
+        if exclude:
+            return [f for f in outputs if f not in exclude]
+        return outputs
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/install_scripts.py b/iot_env/lib/python3.8/site-packages/setuptools/command/install_scripts.py
new file mode 100644
index 0000000..1623427
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/install_scripts.py
@@ -0,0 +1,65 @@
+from distutils import log
+import distutils.command.install_scripts as orig
+import os
+import sys
+
+from pkg_resources import Distribution, PathMetadata, ensure_directory
+
+
+class install_scripts(orig.install_scripts):
+    """Do normal script install, plus any egg_info wrapper scripts"""
+
+    def initialize_options(self):
+        orig.install_scripts.initialize_options(self)
+        self.no_ep = False
+
+    def run(self):
+        import setuptools.command.easy_install as ei
+
+        self.run_command("egg_info")
+        if self.distribution.scripts:
+            orig.install_scripts.run(self)  # run first to set up self.outfiles
+        else:
+            self.outfiles = []
+        if self.no_ep:
+            # don't install entry point scripts into .egg file!
+            return
+
+        ei_cmd = self.get_finalized_command("egg_info")
+        dist = Distribution(
+            ei_cmd.egg_base, PathMetadata(ei_cmd.egg_base, ei_cmd.egg_info),
+            ei_cmd.egg_name, ei_cmd.egg_version,
+        )
+        bs_cmd = self.get_finalized_command('build_scripts')
+        exec_param = getattr(bs_cmd, 'executable', None)
+        bw_cmd = self.get_finalized_command("bdist_wininst")
+        is_wininst = getattr(bw_cmd, '_is_running', False)
+        writer = ei.ScriptWriter
+        if is_wininst:
+            exec_param = "python.exe"
+            writer = ei.WindowsScriptWriter
+        if exec_param == sys.executable:
+            # In case the path to the Python executable contains a space, wrap
+            # it so it's not split up.
+            exec_param = [exec_param]
+        # resolve the writer to the environment
+        writer = writer.best()
+        cmd = writer.command_spec_class.best().from_param(exec_param)
+        for args in writer.get_args(dist, cmd.as_header()):
+            self.write_script(*args)
+
+    def write_script(self, script_name, contents, mode="t", *ignored):
+        """Write an executable file to the scripts directory"""
+        from setuptools.command.easy_install import chmod, current_umask
+
+        log.info("Installing %s script to %s", script_name, self.install_dir)
+        target = os.path.join(self.install_dir, script_name)
+        self.outfiles.append(target)
+
+        mask = current_umask()
+        if not self.dry_run:
+            ensure_directory(target)
+            f = open(target, "w" + mode)
+            f.write(contents)
+            f.close()
+            chmod(target, 0o777 - mask)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml b/iot_env/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml
new file mode 100644
index 0000000..5972a96
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml	
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+    <assemblyIdentity version="1.0.0.0"
+                      processorArchitecture="X86"
+                      name="%(name)s"
+                      type="win32"/>
+    <!-- Identify the application security requirements. -->
+    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+        <security>
+            <requestedPrivileges>
+                <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
+            </requestedPrivileges>
+        </security>
+    </trustInfo>
+</assembly>
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/py36compat.py b/iot_env/lib/python3.8/site-packages/setuptools/command/py36compat.py
new file mode 100644
index 0000000..61063e7
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/py36compat.py
@@ -0,0 +1,136 @@
+import os
+from glob import glob
+from distutils.util import convert_path
+from distutils.command import sdist
+
+from setuptools.extern.six.moves import filter
+
+
+class sdist_add_defaults:
+    """
+    Mix-in providing forward-compatibility for functionality as found in
+    distutils on Python 3.7.
+
+    Do not edit the code in this class except to update functionality
+    as implemented in distutils. Instead, override in the subclass.
+    """
+
+    def add_defaults(self):
+        """Add all the default files to self.filelist:
+          - README or README.txt
+          - setup.py
+          - test/test*.py
+          - all pure Python modules mentioned in setup script
+          - all files pointed by package_data (build_py)
+          - all files defined in data_files.
+          - all files defined as scripts.
+          - all C sources listed as part of extensions or C libraries
+            in the setup script (doesn't catch C headers!)
+        Warns if (README or README.txt) or setup.py are missing; everything
+        else is optional.
+        """
+        self._add_defaults_standards()
+        self._add_defaults_optional()
+        self._add_defaults_python()
+        self._add_defaults_data_files()
+        self._add_defaults_ext()
+        self._add_defaults_c_libs()
+        self._add_defaults_scripts()
+
+    @staticmethod
+    def _cs_path_exists(fspath):
+        """
+        Case-sensitive path existence check
+
+        >>> sdist_add_defaults._cs_path_exists(__file__)
+        True
+        >>> sdist_add_defaults._cs_path_exists(__file__.upper())
+        False
+        """
+        if not os.path.exists(fspath):
+            return False
+        # make absolute so we always have a directory
+        abspath = os.path.abspath(fspath)
+        directory, filename = os.path.split(abspath)
+        return filename in os.listdir(directory)
+
+    def _add_defaults_standards(self):
+        standards = [self.READMES, self.distribution.script_name]
+        for fn in standards:
+            if isinstance(fn, tuple):
+                alts = fn
+                got_it = False
+                for fn in alts:
+                    if self._cs_path_exists(fn):
+                        got_it = True
+                        self.filelist.append(fn)
+                        break
+
+                if not got_it:
+                    self.warn("standard file not found: should have one of " +
+                              ', '.join(alts))
+            else:
+                if self._cs_path_exists(fn):
+                    self.filelist.append(fn)
+                else:
+                    self.warn("standard file '%s' not found" % fn)
+
+    def _add_defaults_optional(self):
+        optional = ['test/test*.py', 'setup.cfg']
+        for pattern in optional:
+            files = filter(os.path.isfile, glob(pattern))
+            self.filelist.extend(files)
+
+    def _add_defaults_python(self):
+        # build_py is used to get:
+        #  - python modules
+        #  - files defined in package_data
+        build_py = self.get_finalized_command('build_py')
+
+        # getting python files
+        if self.distribution.has_pure_modules():
+            self.filelist.extend(build_py.get_source_files())
+
+        # getting package_data files
+        # (computed in build_py.data_files by build_py.finalize_options)
+        for pkg, src_dir, build_dir, filenames in build_py.data_files:
+            for filename in filenames:
+                self.filelist.append(os.path.join(src_dir, filename))
+
+    def _add_defaults_data_files(self):
+        # getting distribution.data_files
+        if self.distribution.has_data_files():
+            for item in self.distribution.data_files:
+                if isinstance(item, str):
+                    # plain file
+                    item = convert_path(item)
+                    if os.path.isfile(item):
+                        self.filelist.append(item)
+                else:
+                    # a (dirname, filenames) tuple
+                    dirname, filenames = item
+                    for f in filenames:
+                        f = convert_path(f)
+                        if os.path.isfile(f):
+                            self.filelist.append(f)
+
+    def _add_defaults_ext(self):
+        if self.distribution.has_ext_modules():
+            build_ext = self.get_finalized_command('build_ext')
+            self.filelist.extend(build_ext.get_source_files())
+
+    def _add_defaults_c_libs(self):
+        if self.distribution.has_c_libraries():
+            build_clib = self.get_finalized_command('build_clib')
+            self.filelist.extend(build_clib.get_source_files())
+
+    def _add_defaults_scripts(self):
+        if self.distribution.has_scripts():
+            build_scripts = self.get_finalized_command('build_scripts')
+            self.filelist.extend(build_scripts.get_source_files())
+
+
+if hasattr(sdist.sdist, '_add_defaults_standards'):
+    # disable the functionality already available upstream
+    class sdist_add_defaults:
+        pass
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/register.py b/iot_env/lib/python3.8/site-packages/setuptools/command/register.py
new file mode 100644
index 0000000..b8266b9
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/register.py
@@ -0,0 +1,18 @@
+from distutils import log
+import distutils.command.register as orig
+
+from setuptools.errors import RemovedCommandError
+
+
+class register(orig.register):
+    """Formerly used to register packages on PyPI."""
+
+    def run(self):
+        msg = (
+            "The register command has been removed, use twine to upload "
+            + "instead (https://pypi.org/p/twine)"
+        )
+
+        self.announce("ERROR: " + msg, log.ERROR)
+
+        raise RemovedCommandError(msg)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/rotate.py b/iot_env/lib/python3.8/site-packages/setuptools/command/rotate.py
new file mode 100644
index 0000000..b89353f
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/rotate.py
@@ -0,0 +1,66 @@
+from distutils.util import convert_path
+from distutils import log
+from distutils.errors import DistutilsOptionError
+import os
+import shutil
+
+from setuptools.extern import six
+
+from setuptools import Command
+
+
+class rotate(Command):
+    """Delete older distributions"""
+
+    description = "delete older distributions, keeping N newest files"
+    user_options = [
+        ('match=', 'm', "patterns to match (required)"),
+        ('dist-dir=', 'd', "directory where the distributions are"),
+        ('keep=', 'k', "number of matching distributions to keep"),
+    ]
+
+    boolean_options = []
+
+    def initialize_options(self):
+        self.match = None
+        self.dist_dir = None
+        self.keep = None
+
+    def finalize_options(self):
+        if self.match is None:
+            raise DistutilsOptionError(
+                "Must specify one or more (comma-separated) match patterns "
+                "(e.g. '.zip' or '.egg')"
+            )
+        if self.keep is None:
+            raise DistutilsOptionError("Must specify number of files to keep")
+        try:
+            self.keep = int(self.keep)
+        except ValueError:
+            raise DistutilsOptionError("--keep must be an integer")
+        if isinstance(self.match, six.string_types):
+            self.match = [
+                convert_path(p.strip()) for p in self.match.split(',')
+            ]
+        self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'))
+
+    def run(self):
+        self.run_command("egg_info")
+        from glob import glob
+
+        for pattern in self.match:
+            pattern = self.distribution.get_name() + '*' + pattern
+            files = glob(os.path.join(self.dist_dir, pattern))
+            files = [(os.path.getmtime(f), f) for f in files]
+            files.sort()
+            files.reverse()
+
+            log.info("%d file(s) matching %s", len(files), pattern)
+            files = files[self.keep:]
+            for (t, f) in files:
+                log.info("Deleting %s", f)
+                if not self.dry_run:
+                    if os.path.isdir(f):
+                        shutil.rmtree(f)
+                    else:
+                        os.unlink(f)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/saveopts.py b/iot_env/lib/python3.8/site-packages/setuptools/command/saveopts.py
new file mode 100644
index 0000000..611cec5
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/saveopts.py
@@ -0,0 +1,22 @@
+from setuptools.command.setopt import edit_config, option_base
+
+
+class saveopts(option_base):
+    """Save command-line options to a file"""
+
+    description = "save supplied options to setup.cfg or other config file"
+
+    def run(self):
+        dist = self.distribution
+        settings = {}
+
+        for cmd in dist.command_options:
+
+            if cmd == 'saveopts':
+                continue  # don't save our own options!
+
+            for opt, (src, val) in dist.get_option_dict(cmd).items():
+                if src == "command line":
+                    settings.setdefault(cmd, {})[opt] = val
+
+        edit_config(self.filename, settings, self.dry_run)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/sdist.py b/iot_env/lib/python3.8/site-packages/setuptools/command/sdist.py
new file mode 100644
index 0000000..a851453
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/sdist.py
@@ -0,0 +1,252 @@
+from distutils import log
+import distutils.command.sdist as orig
+import os
+import sys
+import io
+import contextlib
+
+from setuptools.extern import six, ordered_set
+
+from .py36compat import sdist_add_defaults
+
+import pkg_resources
+
+_default_revctrl = list
+
+
+def walk_revctrl(dirname=''):
+    """Find all files under revision control"""
+    for ep in pkg_resources.iter_entry_points('setuptools.file_finders'):
+        for item in ep.load()(dirname):
+            yield item
+
+
+class sdist(sdist_add_defaults, orig.sdist):
+    """Smart sdist that finds anything supported by revision control"""
+
+    user_options = [
+        ('formats=', None,
+         "formats for source distribution (comma-separated list)"),
+        ('keep-temp', 'k',
+         "keep the distribution tree around after creating " +
+         "archive file(s)"),
+        ('dist-dir=', 'd',
+         "directory to put the source distribution archive(s) in "
+         "[default: dist]"),
+    ]
+
+    negative_opt = {}
+
+    README_EXTENSIONS = ['', '.rst', '.txt', '.md']
+    READMES = tuple('README{0}'.format(ext) for ext in README_EXTENSIONS)
+
+    def run(self):
+        self.run_command('egg_info')
+        ei_cmd = self.get_finalized_command('egg_info')
+        self.filelist = ei_cmd.filelist
+        self.filelist.append(os.path.join(ei_cmd.egg_info, 'SOURCES.txt'))
+        self.check_readme()
+
+        # Run sub commands
+        for cmd_name in self.get_sub_commands():
+            self.run_command(cmd_name)
+
+        self.make_distribution()
+
+        dist_files = getattr(self.distribution, 'dist_files', [])
+        for file in self.archive_files:
+            data = ('sdist', '', file)
+            if data not in dist_files:
+                dist_files.append(data)
+
+    def initialize_options(self):
+        orig.sdist.initialize_options(self)
+
+        self._default_to_gztar()
+
+    def _default_to_gztar(self):
+        # only needed on Python prior to 3.6.
+        if sys.version_info >= (3, 6, 0, 'beta', 1):
+            return
+        self.formats = ['gztar']
+
+    def make_distribution(self):
+        """
+        Workaround for #516
+        """
+        with self._remove_os_link():
+            orig.sdist.make_distribution(self)
+
+    @staticmethod
+    @contextlib.contextmanager
+    def _remove_os_link():
+        """
+        In a context, remove and restore os.link if it exists
+        """
+
+        class NoValue:
+            pass
+
+        orig_val = getattr(os, 'link', NoValue)
+        try:
+            del os.link
+        except Exception:
+            pass
+        try:
+            yield
+        finally:
+            if orig_val is not NoValue:
+                setattr(os, 'link', orig_val)
+
+    def __read_template_hack(self):
+        # This grody hack closes the template file (MANIFEST.in) if an
+        #  exception occurs during read_template.
+        # Doing so prevents an error when easy_install attempts to delete the
+        #  file.
+        try:
+            orig.sdist.read_template(self)
+        except Exception:
+            _, _, tb = sys.exc_info()
+            tb.tb_next.tb_frame.f_locals['template'].close()
+            raise
+
+    # Beginning with Python 2.7.2, 3.1.4, and 3.2.1, this leaky file handle
+    #  has been fixed, so only override the method if we're using an earlier
+    #  Python.
+    has_leaky_handle = (
+        sys.version_info < (2, 7, 2)
+        or (3, 0) <= sys.version_info < (3, 1, 4)
+        or (3, 2) <= sys.version_info < (3, 2, 1)
+    )
+    if has_leaky_handle:
+        read_template = __read_template_hack
+
+    def _add_defaults_optional(self):
+        if six.PY2:
+            sdist_add_defaults._add_defaults_optional(self)
+        else:
+            super()._add_defaults_optional()
+        if os.path.isfile('pyproject.toml'):
+            self.filelist.append('pyproject.toml')
+
+    def _add_defaults_python(self):
+        """getting python files"""
+        if self.distribution.has_pure_modules():
+            build_py = self.get_finalized_command('build_py')
+            self.filelist.extend(build_py.get_source_files())
+            self._add_data_files(self._safe_data_files(build_py))
+
+    def _safe_data_files(self, build_py):
+        """
+        Extracting data_files from build_py is known to cause
+        infinite recursion errors when `include_package_data`
+        is enabled, so suppress it in that case.
+        """
+        if self.distribution.include_package_data:
+            return ()
+        return build_py.data_files
+
+    def _add_data_files(self, data_files):
+        """
+        Add data files as found in build_py.data_files.
+        """
+        self.filelist.extend(
+            os.path.join(src_dir, name)
+            for _, src_dir, _, filenames in data_files
+            for name in filenames
+        )
+
+    def _add_defaults_data_files(self):
+        try:
+            if six.PY2:
+                sdist_add_defaults._add_defaults_data_files(self)
+            else:
+                super()._add_defaults_data_files()
+        except TypeError:
+            log.warn("data_files contains unexpected objects")
+
+    def check_readme(self):
+        for f in self.READMES:
+            if os.path.exists(f):
+                return
+        else:
+            self.warn(
+                "standard file not found: should have one of " +
+                ', '.join(self.READMES)
+            )
+
+    def make_release_tree(self, base_dir, files):
+        orig.sdist.make_release_tree(self, base_dir, files)
+
+        # Save any egg_info command line options used to create this sdist
+        dest = os.path.join(base_dir, 'setup.cfg')
+        if hasattr(os, 'link') and os.path.exists(dest):
+            # unlink and re-copy, since it might be hard-linked, and
+            # we don't want to change the source version
+            os.unlink(dest)
+            self.copy_file('setup.cfg', dest)
+
+        self.get_finalized_command('egg_info').save_version_info(dest)
+
+    def _manifest_is_not_generated(self):
+        # check for special comment used in 2.7.1 and higher
+        if not os.path.isfile(self.manifest):
+            return False
+
+        with io.open(self.manifest, 'rb') as fp:
+            first_line = fp.readline()
+        return (first_line !=
+                '# file GENERATED by distutils, do NOT edit\n'.encode())
+
+    def read_manifest(self):
+        """Read the manifest file (named by 'self.manifest') and use it to
+        fill in 'self.filelist', the list of files to include in the source
+        distribution.
+        """
+        log.info("reading manifest file '%s'", self.manifest)
+        manifest = open(self.manifest, 'rb')
+        for line in manifest:
+            # The manifest must contain UTF-8. See #303.
+            if six.PY3:
+                try:
+                    line = line.decode('UTF-8')
+                except UnicodeDecodeError:
+                    log.warn("%r not UTF-8 decodable -- skipping" % line)
+                    continue
+            # ignore comments and blank lines
+            line = line.strip()
+            if line.startswith('#') or not line:
+                continue
+            self.filelist.append(line)
+        manifest.close()
+
+    def check_license(self):
+        """Checks if license_file' or 'license_files' is configured and adds any
+        valid paths to 'self.filelist'.
+        """
+
+        files = ordered_set.OrderedSet()
+
+        opts = self.distribution.get_option_dict('metadata')
+
+        # ignore the source of the value
+        _, license_file = opts.get('license_file', (None, None))
+
+        if license_file is None:
+            log.debug("'license_file' option was not specified")
+        else:
+            files.add(license_file)
+
+        try:
+            files.update(self.distribution.metadata.license_files)
+        except TypeError:
+            log.warn("warning: 'license_files' option is malformed")
+
+        for f in files:
+            if not os.path.exists(f):
+                log.warn(
+                    "warning: Failed to find the configured license file '%s'",
+                    f)
+                files.remove(f)
+
+        self.filelist.extend(files)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/setopt.py b/iot_env/lib/python3.8/site-packages/setuptools/command/setopt.py
new file mode 100644
index 0000000..7e57cc0
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/setopt.py
@@ -0,0 +1,149 @@
+from distutils.util import convert_path
+from distutils import log
+from distutils.errors import DistutilsOptionError
+import distutils
+import os
+
+from setuptools.extern.six.moves import configparser
+
+from setuptools import Command
+
+__all__ = ['config_file', 'edit_config', 'option_base', 'setopt']
+
+
+def config_file(kind="local"):
+    """Get the filename of the distutils, local, global, or per-user config
+
+    `kind` must be one of "local", "global", or "user"
+    """
+    if kind == 'local':
+        return 'setup.cfg'
+    if kind == 'global':
+        return os.path.join(
+            os.path.dirname(distutils.__file__), 'distutils.cfg'
+        )
+    if kind == 'user':
+        dot = os.name == 'posix' and '.' or ''
+        return os.path.expanduser(convert_path("~/%spydistutils.cfg" % dot))
+    raise ValueError(
+        "config_file() type must be 'local', 'global', or 'user'", kind
+    )
+
+
+def edit_config(filename, settings, dry_run=False):
+    """Edit a configuration file to include `settings`
+
+    `settings` is a dictionary of dictionaries or ``None`` values, keyed by
+    command/section name.  A ``None`` value means to delete the entire section,
+    while a dictionary lists settings to be changed or deleted in that section.
+    A setting of ``None`` means to delete that setting.
+    """
+    log.debug("Reading configuration from %s", filename)
+    opts = configparser.RawConfigParser()
+    opts.read([filename])
+    for section, options in settings.items():
+        if options is None:
+            log.info("Deleting section [%s] from %s", section, filename)
+            opts.remove_section(section)
+        else:
+            if not opts.has_section(section):
+                log.debug("Adding new section [%s] to %s", section, filename)
+                opts.add_section(section)
+            for option, value in options.items():
+                if value is None:
+                    log.debug(
+                        "Deleting %s.%s from %s",
+                        section, option, filename
+                    )
+                    opts.remove_option(section, option)
+                    if not opts.options(section):
+                        log.info("Deleting empty [%s] section from %s",
+                                 section, filename)
+                        opts.remove_section(section)
+                else:
+                    log.debug(
+                        "Setting %s.%s to %r in %s",
+                        section, option, value, filename
+                    )
+                    opts.set(section, option, value)
+
+    log.info("Writing %s", filename)
+    if not dry_run:
+        with open(filename, 'w') as f:
+            opts.write(f)
+
+
+class option_base(Command):
+    """Abstract base class for commands that mess with config files"""
+
+    user_options = [
+        ('global-config', 'g',
+         "save options to the site-wide distutils.cfg file"),
+        ('user-config', 'u',
+         "save options to the current user's pydistutils.cfg file"),
+        ('filename=', 'f',
+         "configuration file to use (default=setup.cfg)"),
+    ]
+
+    boolean_options = [
+        'global-config', 'user-config',
+    ]
+
+    def initialize_options(self):
+        self.global_config = None
+        self.user_config = None
+        self.filename = None
+
+    def finalize_options(self):
+        filenames = []
+        if self.global_config:
+            filenames.append(config_file('global'))
+        if self.user_config:
+            filenames.append(config_file('user'))
+        if self.filename is not None:
+            filenames.append(self.filename)
+        if not filenames:
+            filenames.append(config_file('local'))
+        if len(filenames) > 1:
+            raise DistutilsOptionError(
+                "Must specify only one configuration file option",
+                filenames
+            )
+        self.filename, = filenames
+
+
+class setopt(option_base):
+    """Save command-line options to a file"""
+
+    description = "set an option in setup.cfg or another config file"
+
+    user_options = [
+        ('command=', 'c', 'command to set an option for'),
+        ('option=', 'o', 'option to set'),
+        ('set-value=', 's', 'value of the option'),
+        ('remove', 'r', 'remove (unset) the value'),
+    ] + option_base.user_options
+
+    boolean_options = option_base.boolean_options + ['remove']
+
+    def initialize_options(self):
+        option_base.initialize_options(self)
+        self.command = None
+        self.option = None
+        self.set_value = None
+        self.remove = None
+
+    def finalize_options(self):
+        option_base.finalize_options(self)
+        if self.command is None or self.option is None:
+            raise DistutilsOptionError("Must specify --command *and* --option")
+        if self.set_value is None and not self.remove:
+            raise DistutilsOptionError("Must specify --set-value or --remove")
+
+    def run(self):
+        edit_config(
+            self.filename, {
+                self.command: {self.option.replace('-', '_'): self.set_value}
+            },
+            self.dry_run
+        )
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/test.py b/iot_env/lib/python3.8/site-packages/setuptools/command/test.py
new file mode 100644
index 0000000..c148b38
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/test.py
@@ -0,0 +1,279 @@
+import os
+import operator
+import sys
+import contextlib
+import itertools
+import unittest
+from distutils.errors import DistutilsError, DistutilsOptionError
+from distutils import log
+from unittest import TestLoader
+
+from setuptools.extern import six
+from setuptools.extern.six.moves import map, filter
+
+from pkg_resources import (resource_listdir, resource_exists, normalize_path,
+                           working_set, _namespace_packages, evaluate_marker,
+                           add_activation_listener, require, EntryPoint)
+from setuptools import Command
+from .build_py import _unique_everseen
+
+__metaclass__ = type
+
+
+class ScanningLoader(TestLoader):
+
+    def __init__(self):
+        TestLoader.__init__(self)
+        self._visited = set()
+
+    def loadTestsFromModule(self, module, pattern=None):
+        """Return a suite of all tests cases contained in the given module
+
+        If the module is a package, load tests from all the modules in it.
+        If the module has an ``additional_tests`` function, call it and add
+        the return value to the tests.
+        """
+        if module in self._visited:
+            return None
+        self._visited.add(module)
+
+        tests = []
+        tests.append(TestLoader.loadTestsFromModule(self, module))
+
+        if hasattr(module, "additional_tests"):
+            tests.append(module.additional_tests())
+
+        if hasattr(module, '__path__'):
+            for file in resource_listdir(module.__name__, ''):
+                if file.endswith('.py') and file != '__init__.py':
+                    submodule = module.__name__ + '.' + file[:-3]
+                else:
+                    if resource_exists(module.__name__, file + '/__init__.py'):
+                        submodule = module.__name__ + '.' + file
+                    else:
+                        continue
+                tests.append(self.loadTestsFromName(submodule))
+
+        if len(tests) != 1:
+            return self.suiteClass(tests)
+        else:
+            return tests[0]  # don't create a nested suite for only one return
+
+
+# adapted from jaraco.classes.properties:NonDataProperty
+class NonDataProperty:
+    def __init__(self, fget):
+        self.fget = fget
+
+    def __get__(self, obj, objtype=None):
+        if obj is None:
+            return self
+        return self.fget(obj)
+
+
+class test(Command):
+    """Command to run unit tests after in-place build"""
+
+    description = "run unit tests after in-place build (deprecated)"
+
+    user_options = [
+        ('test-module=', 'm', "Run 'test_suite' in specified module"),
+        ('test-suite=', 's',
+         "Run single test, case or suite (e.g. 'module.test_suite')"),
+        ('test-runner=', 'r', "Test runner to use"),
+    ]
+
+    def initialize_options(self):
+        self.test_suite = None
+        self.test_module = None
+        self.test_loader = None
+        self.test_runner = None
+
+    def finalize_options(self):
+
+        if self.test_suite and self.test_module:
+            msg = "You may specify a module or a suite, but not both"
+            raise DistutilsOptionError(msg)
+
+        if self.test_suite is None:
+            if self.test_module is None:
+                self.test_suite = self.distribution.test_suite
+            else:
+                self.test_suite = self.test_module + ".test_suite"
+
+        if self.test_loader is None:
+            self.test_loader = getattr(self.distribution, 'test_loader', None)
+        if self.test_loader is None:
+            self.test_loader = "setuptools.command.test:ScanningLoader"
+        if self.test_runner is None:
+            self.test_runner = getattr(self.distribution, 'test_runner', None)
+
+    @NonDataProperty
+    def test_args(self):
+        return list(self._test_args())
+
+    def _test_args(self):
+        if not self.test_suite and sys.version_info >= (2, 7):
+            yield 'discover'
+        if self.verbose:
+            yield '--verbose'
+        if self.test_suite:
+            yield self.test_suite
+
+    def with_project_on_sys_path(self, func):
+        """
+        Backward compatibility for project_on_sys_path context.
+        """
+        with self.project_on_sys_path():
+            func()
+
+    @contextlib.contextmanager
+    def project_on_sys_path(self, include_dists=[]):
+        with_2to3 = six.PY3 and getattr(self.distribution, 'use_2to3', False)
+
+        if with_2to3:
+            # If we run 2to3 we can not do this inplace:
+
+            # Ensure metadata is up-to-date
+            self.reinitialize_command('build_py', inplace=0)
+            self.run_command('build_py')
+            bpy_cmd = self.get_finalized_command("build_py")
+            build_path = normalize_path(bpy_cmd.build_lib)
+
+            # Build extensions
+            self.reinitialize_command('egg_info', egg_base=build_path)
+            self.run_command('egg_info')
+
+            self.reinitialize_command('build_ext', inplace=0)
+            self.run_command('build_ext')
+        else:
+            # Without 2to3 inplace works fine:
+            self.run_command('egg_info')
+
+            # Build extensions in-place
+            self.reinitialize_command('build_ext', inplace=1)
+            self.run_command('build_ext')
+
+        ei_cmd = self.get_finalized_command("egg_info")
+
+        old_path = sys.path[:]
+        old_modules = sys.modules.copy()
+
+        try:
+            project_path = normalize_path(ei_cmd.egg_base)
+            sys.path.insert(0, project_path)
+            working_set.__init__()
+            add_activation_listener(lambda dist: dist.activate())
+            require('%s==%s' % (ei_cmd.egg_name, ei_cmd.egg_version))
+            with self.paths_on_pythonpath([project_path]):
+                yield
+        finally:
+            sys.path[:] = old_path
+            sys.modules.clear()
+            sys.modules.update(old_modules)
+            working_set.__init__()
+
+    @staticmethod
+    @contextlib.contextmanager
+    def paths_on_pythonpath(paths):
+        """
+        Add the indicated paths to the head of the PYTHONPATH environment
+        variable so that subprocesses will also see the packages at
+        these paths.
+
+        Do this in a context that restores the value on exit.
+        """
+        nothing = object()
+        orig_pythonpath = os.environ.get('PYTHONPATH', nothing)
+        current_pythonpath = os.environ.get('PYTHONPATH', '')
+        try:
+            prefix = os.pathsep.join(_unique_everseen(paths))
+            to_join = filter(None, [prefix, current_pythonpath])
+            new_path = os.pathsep.join(to_join)
+            if new_path:
+                os.environ['PYTHONPATH'] = new_path
+            yield
+        finally:
+            if orig_pythonpath is nothing:
+                os.environ.pop('PYTHONPATH', None)
+            else:
+                os.environ['PYTHONPATH'] = orig_pythonpath
+
+    @staticmethod
+    def install_dists(dist):
+        """
+        Install the requirements indicated by self.distribution and
+        return an iterable of the dists that were built.
+        """
+        ir_d = dist.fetch_build_eggs(dist.install_requires)
+        tr_d = dist.fetch_build_eggs(dist.tests_require or [])
+        er_d = dist.fetch_build_eggs(
+            v for k, v in dist.extras_require.items()
+            if k.startswith(':') and evaluate_marker(k[1:])
+        )
+        return itertools.chain(ir_d, tr_d, er_d)
+
+    def run(self):
+        self.announce(
+            "WARNING: Testing via this command is deprecated and will be "
+            "removed in a future version. Users looking for a generic test "
+            "entry point independent of test runner are encouraged to use "
+            "tox.",
+            log.WARN,
+        )
+
+        installed_dists = self.install_dists(self.distribution)
+
+        cmd = ' '.join(self._argv)
+        if self.dry_run:
+            self.announce('skipping "%s" (dry run)' % cmd)
+            return
+
+        self.announce('running "%s"' % cmd)
+
+        paths = map(operator.attrgetter('location'), installed_dists)
+        with self.paths_on_pythonpath(paths):
+            with self.project_on_sys_path():
+                self.run_tests()
+
+    def run_tests(self):
+        # Purge modules under test from sys.modules. The test loader will
+        # re-import them from the build location. Required when 2to3 is used
+        # with namespace packages.
+        if six.PY3 and getattr(self.distribution, 'use_2to3', False):
+            module = self.test_suite.split('.')[0]
+            if module in _namespace_packages:
+                del_modules = []
+                if module in sys.modules:
+                    del_modules.append(module)
+                module += '.'
+                for name in sys.modules:
+                    if name.startswith(module):
+                        del_modules.append(name)
+                list(map(sys.modules.__delitem__, del_modules))
+
+        test = unittest.main(
+            None, None, self._argv,
+            testLoader=self._resolve_as_ep(self.test_loader),
+            testRunner=self._resolve_as_ep(self.test_runner),
+            exit=False,
+        )
+        if not test.result.wasSuccessful():
+            msg = 'Test failed: %s' % test.result
+            self.announce(msg, log.ERROR)
+            raise DistutilsError(msg)
+
+    @property
+    def _argv(self):
+        return ['unittest'] + self.test_args
+
+    @staticmethod
+    def _resolve_as_ep(val):
+        """
+        Load the indicated attribute value, called, as a as if it were
+        specified as an entry point.
+        """
+        if val is None:
+            return
+        parsed = EntryPoint.parse("x=" + val)
+        return parsed.resolve()()
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/upload.py b/iot_env/lib/python3.8/site-packages/setuptools/command/upload.py
new file mode 100644
index 0000000..ec7f81e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/upload.py
@@ -0,0 +1,17 @@
+from distutils import log
+from distutils.command import upload as orig
+
+from setuptools.errors import RemovedCommandError
+
+
+class upload(orig.upload):
+    """Formerly used to upload packages to PyPI."""
+
+    def run(self):
+        msg = (
+            "The upload command has been removed, use twine to upload "
+            + "instead (https://pypi.org/p/twine)"
+        )
+
+        self.announce("ERROR: " + msg, log.ERROR)
+        raise RemovedCommandError(msg)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/command/upload_docs.py b/iot_env/lib/python3.8/site-packages/setuptools/command/upload_docs.py
new file mode 100644
index 0000000..07aa564
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/command/upload_docs.py
@@ -0,0 +1,206 @@
+# -*- coding: utf-8 -*-
+"""upload_docs
+
+Implements a Distutils 'upload_docs' subcommand (upload documentation to
+PyPI's pythonhosted.org).
+"""
+
+from base64 import standard_b64encode
+from distutils import log
+from distutils.errors import DistutilsOptionError
+import os
+import socket
+import zipfile
+import tempfile
+import shutil
+import itertools
+import functools
+
+from setuptools.extern import six
+from setuptools.extern.six.moves import http_client, urllib
+
+from pkg_resources import iter_entry_points
+from .upload import upload
+
+
+def _encode(s):
+    errors = 'surrogateescape' if six.PY3 else 'strict'
+    return s.encode('utf-8', errors)
+
+
+class upload_docs(upload):
+    # override the default repository as upload_docs isn't
+    # supported by Warehouse (and won't be).
+    DEFAULT_REPOSITORY = 'https://pypi.python.org/pypi/'
+
+    description = 'Upload documentation to PyPI'
+
+    user_options = [
+        ('repository=', 'r',
+         "url of repository [default: %s]" % upload.DEFAULT_REPOSITORY),
+        ('show-response', None,
+         'display full response text from server'),
+        ('upload-dir=', None, 'directory to upload'),
+    ]
+    boolean_options = upload.boolean_options
+
+    def has_sphinx(self):
+        if self.upload_dir is None:
+            for ep in iter_entry_points('distutils.commands', 'build_sphinx'):
+                return True
+
+    sub_commands = [('build_sphinx', has_sphinx)]
+
+    def initialize_options(self):
+        upload.initialize_options(self)
+        self.upload_dir = None
+        self.target_dir = None
+
+    def finalize_options(self):
+        upload.finalize_options(self)
+        if self.upload_dir is None:
+            if self.has_sphinx():
+                build_sphinx = self.get_finalized_command('build_sphinx')
+                self.target_dir = build_sphinx.builder_target_dir
+            else:
+                build = self.get_finalized_command('build')
+                self.target_dir = os.path.join(build.build_base, 'docs')
+        else:
+            self.ensure_dirname('upload_dir')
+            self.target_dir = self.upload_dir
+        if 'pypi.python.org' in self.repository:
+            log.warn("Upload_docs command is deprecated. Use RTD instead.")
+        self.announce('Using upload directory %s' % self.target_dir)
+
+    def create_zipfile(self, filename):
+        zip_file = zipfile.ZipFile(filename, "w")
+        try:
+            self.mkpath(self.target_dir)  # just in case
+            for root, dirs, files in os.walk(self.target_dir):
+                if root == self.target_dir and not files:
+                    tmpl = "no files found in upload directory '%s'"
+                    raise DistutilsOptionError(tmpl % self.target_dir)
+                for name in files:
+                    full = os.path.join(root, name)
+                    relative = root[len(self.target_dir):].lstrip(os.path.sep)
+                    dest = os.path.join(relative, name)
+                    zip_file.write(full, dest)
+        finally:
+            zip_file.close()
+
+    def run(self):
+        # Run sub commands
+        for cmd_name in self.get_sub_commands():
+            self.run_command(cmd_name)
+
+        tmp_dir = tempfile.mkdtemp()
+        name = self.distribution.metadata.get_name()
+        zip_file = os.path.join(tmp_dir, "%s.zip" % name)
+        try:
+            self.create_zipfile(zip_file)
+            self.upload_file(zip_file)
+        finally:
+            shutil.rmtree(tmp_dir)
+
+    @staticmethod
+    def _build_part(item, sep_boundary):
+        key, values = item
+        title = '\nContent-Disposition: form-data; name="%s"' % key
+        # handle multiple entries for the same name
+        if not isinstance(values, list):
+            values = [values]
+        for value in values:
+            if isinstance(value, tuple):
+                title += '; filename="%s"' % value[0]
+                value = value[1]
+            else:
+                value = _encode(value)
+            yield sep_boundary
+            yield _encode(title)
+            yield b"\n\n"
+            yield value
+            if value and value[-1:] == b'\r':
+                yield b'\n'  # write an extra newline (lurve Macs)
+
+    @classmethod
+    def _build_multipart(cls, data):
+        """
+        Build up the MIME payload for the POST data
+        """
+        boundary = b'--------------GHSKFJDLGDS7543FJKLFHRE75642756743254'
+        sep_boundary = b'\n--' + boundary
+        end_boundary = sep_boundary + b'--'
+        end_items = end_boundary, b"\n",
+        builder = functools.partial(
+            cls._build_part,
+            sep_boundary=sep_boundary,
+        )
+        part_groups = map(builder, data.items())
+        parts = itertools.chain.from_iterable(part_groups)
+        body_items = itertools.chain(parts, end_items)
+        content_type = 'multipart/form-data; boundary=%s' % boundary.decode('ascii')
+        return b''.join(body_items), content_type
+
+    def upload_file(self, filename):
+        with open(filename, 'rb') as f:
+            content = f.read()
+        meta = self.distribution.metadata
+        data = {
+            ':action': 'doc_upload',
+            'name': meta.get_name(),
+            'content': (os.path.basename(filename), content),
+        }
+        # set up the authentication
+        credentials = _encode(self.username + ':' + self.password)
+        credentials = standard_b64encode(credentials)
+        if six.PY3:
+            credentials = credentials.decode('ascii')
+        auth = "Basic " + credentials
+
+        body, ct = self._build_multipart(data)
+
+        msg = "Submitting documentation to %s" % (self.repository)
+        self.announce(msg, log.INFO)
+
+        # build the Request
+        # We can't use urllib2 since we need to send the Basic
+        # auth right with the first request
+        schema, netloc, url, params, query, fragments = \
+            urllib.parse.urlparse(self.repository)
+        assert not params and not query and not fragments
+        if schema == 'http':
+            conn = http_client.HTTPConnection(netloc)
+        elif schema == 'https':
+            conn = http_client.HTTPSConnection(netloc)
+        else:
+            raise AssertionError("unsupported schema " + schema)
+
+        data = ''
+        try:
+            conn.connect()
+            conn.putrequest("POST", url)
+            content_type = ct
+            conn.putheader('Content-type', content_type)
+            conn.putheader('Content-length', str(len(body)))
+            conn.putheader('Authorization', auth)
+            conn.endheaders()
+            conn.send(body)
+        except socket.error as e:
+            self.announce(str(e), log.ERROR)
+            return
+
+        r = conn.getresponse()
+        if r.status == 200:
+            msg = 'Server response (%s): %s' % (r.status, r.reason)
+            self.announce(msg, log.INFO)
+        elif r.status == 301:
+            location = r.getheader('Location')
+            if location is None:
+                location = 'https://pythonhosted.org/%s/' % meta.get_name()
+            msg = 'Upload successful. Visit %s' % location
+            self.announce(msg, log.INFO)
+        else:
+            msg = 'Upload failed (%s): %s' % (r.status, r.reason)
+            self.announce(msg, log.ERROR)
+        if self.show_response:
+            print('-' * 75, r.read(), '-' * 75)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/config.py b/iot_env/lib/python3.8/site-packages/setuptools/config.py
new file mode 100644
index 0000000..9b9a0c4
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/config.py
@@ -0,0 +1,659 @@
+from __future__ import absolute_import, unicode_literals
+import io
+import os
+import sys
+
+import warnings
+import functools
+from collections import defaultdict
+from functools import partial
+from functools import wraps
+from importlib import import_module
+
+from distutils.errors import DistutilsOptionError, DistutilsFileError
+from setuptools.extern.packaging.version import LegacyVersion, parse
+from setuptools.extern.packaging.specifiers import SpecifierSet
+from setuptools.extern.six import string_types, PY3
+
+
+__metaclass__ = type
+
+
+def read_configuration(
+        filepath, find_others=False, ignore_option_errors=False):
+    """Read given configuration file and returns options from it as a dict.
+
+    :param str|unicode filepath: Path to configuration file
+        to get options from.
+
+    :param bool find_others: Whether to search for other configuration files
+        which could be on in various places.
+
+    :param bool ignore_option_errors: Whether to silently ignore
+        options, values of which could not be resolved (e.g. due to exceptions
+        in directives such as file:, attr:, etc.).
+        If False exceptions are propagated as expected.
+
+    :rtype: dict
+    """
+    from setuptools.dist import Distribution, _Distribution
+
+    filepath = os.path.abspath(filepath)
+
+    if not os.path.isfile(filepath):
+        raise DistutilsFileError(
+            'Configuration file %s does not exist.' % filepath)
+
+    current_directory = os.getcwd()
+    os.chdir(os.path.dirname(filepath))
+
+    try:
+        dist = Distribution()
+
+        filenames = dist.find_config_files() if find_others else []
+        if filepath not in filenames:
+            filenames.append(filepath)
+
+        _Distribution.parse_config_files(dist, filenames=filenames)
+
+        handlers = parse_configuration(
+            dist, dist.command_options,
+            ignore_option_errors=ignore_option_errors)
+
+    finally:
+        os.chdir(current_directory)
+
+    return configuration_to_dict(handlers)
+
+
+def _get_option(target_obj, key):
+    """
+    Given a target object and option key, get that option from
+    the target object, either through a get_{key} method or
+    from an attribute directly.
+    """
+    getter_name = 'get_{key}'.format(**locals())
+    by_attribute = functools.partial(getattr, target_obj, key)
+    getter = getattr(target_obj, getter_name, by_attribute)
+    return getter()
+
+
+def configuration_to_dict(handlers):
+    """Returns configuration data gathered by given handlers as a dict.
+
+    :param list[ConfigHandler] handlers: Handlers list,
+        usually from parse_configuration()
+
+    :rtype: dict
+    """
+    config_dict = defaultdict(dict)
+
+    for handler in handlers:
+        for option in handler.set_options:
+            value = _get_option(handler.target_obj, option)
+            config_dict[handler.section_prefix][option] = value
+
+    return config_dict
+
+
+def parse_configuration(
+        distribution, command_options, ignore_option_errors=False):
+    """Performs additional parsing of configuration options
+    for a distribution.
+
+    Returns a list of used option handlers.
+
+    :param Distribution distribution:
+    :param dict command_options:
+    :param bool ignore_option_errors: Whether to silently ignore
+        options, values of which could not be resolved (e.g. due to exceptions
+        in directives such as file:, attr:, etc.).
+        If False exceptions are propagated as expected.
+    :rtype: list
+    """
+    options = ConfigOptionsHandler(
+        distribution, command_options, ignore_option_errors)
+    options.parse()
+
+    meta = ConfigMetadataHandler(
+        distribution.metadata, command_options, ignore_option_errors,
+        distribution.package_dir)
+    meta.parse()
+
+    return meta, options
+
+
+class ConfigHandler:
+    """Handles metadata supplied in configuration files."""
+
+    section_prefix = None
+    """Prefix for config sections handled by this handler.
+    Must be provided by class heirs.
+
+    """
+
+    aliases = {}
+    """Options aliases.
+    For compatibility with various packages. E.g.: d2to1 and pbr.
+    Note: `-` in keys is replaced with `_` by config parser.
+
+    """
+
+    def __init__(self, target_obj, options, ignore_option_errors=False):
+        sections = {}
+
+        section_prefix = self.section_prefix
+        for section_name, section_options in options.items():
+            if not section_name.startswith(section_prefix):
+                continue
+
+            section_name = section_name.replace(section_prefix, '').strip('.')
+            sections[section_name] = section_options
+
+        self.ignore_option_errors = ignore_option_errors
+        self.target_obj = target_obj
+        self.sections = sections
+        self.set_options = []
+
+    @property
+    def parsers(self):
+        """Metadata item name to parser function mapping."""
+        raise NotImplementedError(
+            '%s must provide .parsers property' % self.__class__.__name__)
+
+    def __setitem__(self, option_name, value):
+        unknown = tuple()
+        target_obj = self.target_obj
+
+        # Translate alias into real name.
+        option_name = self.aliases.get(option_name, option_name)
+
+        current_value = getattr(target_obj, option_name, unknown)
+
+        if current_value is unknown:
+            raise KeyError(option_name)
+
+        if current_value:
+            # Already inhabited. Skipping.
+            return
+
+        skip_option = False
+        parser = self.parsers.get(option_name)
+        if parser:
+            try:
+                value = parser(value)
+
+            except Exception:
+                skip_option = True
+                if not self.ignore_option_errors:
+                    raise
+
+        if skip_option:
+            return
+
+        setter = getattr(target_obj, 'set_%s' % option_name, None)
+        if setter is None:
+            setattr(target_obj, option_name, value)
+        else:
+            setter(value)
+
+        self.set_options.append(option_name)
+
+    @classmethod
+    def _parse_list(cls, value, separator=','):
+        """Represents value as a list.
+
+        Value is split either by separator (defaults to comma) or by lines.
+
+        :param value:
+        :param separator: List items separator character.
+        :rtype: list
+        """
+        if isinstance(value, list):  # _get_parser_compound case
+            return value
+
+        if '\n' in value:
+            value = value.splitlines()
+        else:
+            value = value.split(separator)
+
+        return [chunk.strip() for chunk in value if chunk.strip()]
+
+    @classmethod
+    def _parse_dict(cls, value):
+        """Represents value as a dict.
+
+        :param value:
+        :rtype: dict
+        """
+        separator = '='
+        result = {}
+        for line in cls._parse_list(value):
+            key, sep, val = line.partition(separator)
+            if sep != separator:
+                raise DistutilsOptionError(
+                    'Unable to parse option value to dict: %s' % value)
+            result[key.strip()] = val.strip()
+
+        return result
+
+    @classmethod
+    def _parse_bool(cls, value):
+        """Represents value as boolean.
+
+        :param value:
+        :rtype: bool
+        """
+        value = value.lower()
+        return value in ('1', 'true', 'yes')
+
+    @classmethod
+    def _exclude_files_parser(cls, key):
+        """Returns a parser function to make sure field inputs
+        are not files.
+
+        Parses a value after getting the key so error messages are
+        more informative.
+
+        :param key:
+        :rtype: callable
+        """
+        def parser(value):
+            exclude_directive = 'file:'
+            if value.startswith(exclude_directive):
+                raise ValueError(
+                    'Only strings are accepted for the {0} field, '
+                    'files are not accepted'.format(key))
+            return value
+        return parser
+
+    @classmethod
+    def _parse_file(cls, value):
+        """Represents value as a string, allowing including text
+        from nearest files using `file:` directive.
+
+        Directive is sandboxed and won't reach anything outside
+        directory with setup.py.
+
+        Examples:
+            file: README.rst, CHANGELOG.md, src/file.txt
+
+        :param str value:
+        :rtype: str
+        """
+        include_directive = 'file:'
+
+        if not isinstance(value, string_types):
+            return value
+
+        if not value.startswith(include_directive):
+            return value
+
+        spec = value[len(include_directive):]
+        filepaths = (os.path.abspath(path.strip()) for path in spec.split(','))
+        return '\n'.join(
+            cls._read_file(path)
+            for path in filepaths
+            if (cls._assert_local(path) or True)
+            and os.path.isfile(path)
+        )
+
+    @staticmethod
+    def _assert_local(filepath):
+        if not filepath.startswith(os.getcwd()):
+            raise DistutilsOptionError(
+                '`file:` directive can not access %s' % filepath)
+
+    @staticmethod
+    def _read_file(filepath):
+        with io.open(filepath, encoding='utf-8') as f:
+            return f.read()
+
+    @classmethod
+    def _parse_attr(cls, value, package_dir=None):
+        """Represents value as a module attribute.
+
+        Examples:
+            attr: package.attr
+            attr: package.module.attr
+
+        :param str value:
+        :rtype: str
+        """
+        attr_directive = 'attr:'
+        if not value.startswith(attr_directive):
+            return value
+
+        attrs_path = value.replace(attr_directive, '').strip().split('.')
+        attr_name = attrs_path.pop()
+
+        module_name = '.'.join(attrs_path)
+        module_name = module_name or '__init__'
+
+        parent_path = os.getcwd()
+        if package_dir:
+            if attrs_path[0] in package_dir:
+                # A custom path was specified for the module we want to import
+                custom_path = package_dir[attrs_path[0]]
+                parts = custom_path.rsplit('/', 1)
+                if len(parts) > 1:
+                    parent_path = os.path.join(os.getcwd(), parts[0])
+                    module_name = parts[1]
+                else:
+                    module_name = custom_path
+            elif '' in package_dir:
+                # A custom parent directory was specified for all root modules
+                parent_path = os.path.join(os.getcwd(), package_dir[''])
+        sys.path.insert(0, parent_path)
+        try:
+            module = import_module(module_name)
+            value = getattr(module, attr_name)
+
+        finally:
+            sys.path = sys.path[1:]
+
+        return value
+
+    @classmethod
+    def _get_parser_compound(cls, *parse_methods):
+        """Returns parser function to represents value as a list.
+
+        Parses a value applying given methods one after another.
+
+        :param parse_methods:
+        :rtype: callable
+        """
+        def parse(value):
+            parsed = value
+
+            for method in parse_methods:
+                parsed = method(parsed)
+
+            return parsed
+
+        return parse
+
+    @classmethod
+    def _parse_section_to_dict(cls, section_options, values_parser=None):
+        """Parses section options into a dictionary.
+
+        Optionally applies a given parser to values.
+
+        :param dict section_options:
+        :param callable values_parser:
+        :rtype: dict
+        """
+        value = {}
+        values_parser = values_parser or (lambda val: val)
+        for key, (_, val) in section_options.items():
+            value[key] = values_parser(val)
+        return value
+
+    def parse_section(self, section_options):
+        """Parses configuration file section.
+
+        :param dict section_options:
+        """
+        for (name, (_, value)) in section_options.items():
+            try:
+                self[name] = value
+
+            except KeyError:
+                pass  # Keep silent for a new option may appear anytime.
+
+    def parse(self):
+        """Parses configuration file items from one
+        or more related sections.
+
+        """
+        for section_name, section_options in self.sections.items():
+
+            method_postfix = ''
+            if section_name:  # [section.option] variant
+                method_postfix = '_%s' % section_name
+
+            section_parser_method = getattr(
+                self,
+                # Dots in section names are translated into dunderscores.
+                ('parse_section%s' % method_postfix).replace('.', '__'),
+                None)
+
+            if section_parser_method is None:
+                raise DistutilsOptionError(
+                    'Unsupported distribution option section: [%s.%s]' % (
+                        self.section_prefix, section_name))
+
+            section_parser_method(section_options)
+
+    def _deprecated_config_handler(self, func, msg, warning_class):
+        """ this function will wrap around parameters that are deprecated
+
+        :param msg: deprecation message
+        :param warning_class: class of warning exception to be raised
+        :param func: function to be wrapped around
+        """
+        @wraps(func)
+        def config_handler(*args, **kwargs):
+            warnings.warn(msg, warning_class)
+            return func(*args, **kwargs)
+
+        return config_handler
+
+
+class ConfigMetadataHandler(ConfigHandler):
+
+    section_prefix = 'metadata'
+
+    aliases = {
+        'home_page': 'url',
+        'summary': 'description',
+        'classifier': 'classifiers',
+        'platform': 'platforms',
+    }
+
+    strict_mode = False
+    """We need to keep it loose, to be partially compatible with
+    `pbr` and `d2to1` packages which also uses `metadata` section.
+
+    """
+
+    def __init__(self, target_obj, options, ignore_option_errors=False,
+                 package_dir=None):
+        super(ConfigMetadataHandler, self).__init__(target_obj, options,
+                                                    ignore_option_errors)
+        self.package_dir = package_dir
+
+    @property
+    def parsers(self):
+        """Metadata item name to parser function mapping."""
+        parse_list = self._parse_list
+        parse_file = self._parse_file
+        parse_dict = self._parse_dict
+        exclude_files_parser = self._exclude_files_parser
+
+        return {
+            'platforms': parse_list,
+            'keywords': parse_list,
+            'provides': parse_list,
+            'requires': self._deprecated_config_handler(
+                parse_list,
+                "The requires parameter is deprecated, please use "
+                "install_requires for runtime dependencies.",
+                DeprecationWarning),
+            'obsoletes': parse_list,
+            'classifiers': self._get_parser_compound(parse_file, parse_list),
+            'license': exclude_files_parser('license'),
+            'license_files': parse_list,
+            'description': parse_file,
+            'long_description': parse_file,
+            'version': self._parse_version,
+            'project_urls': parse_dict,
+        }
+
+    def _parse_version(self, value):
+        """Parses `version` option value.
+
+        :param value:
+        :rtype: str
+
+        """
+        version = self._parse_file(value)
+
+        if version != value:
+            version = version.strip()
+            # Be strict about versions loaded from file because it's easy to
+            # accidentally include newlines and other unintended content
+            if isinstance(parse(version), LegacyVersion):
+                tmpl = (
+                    'Version loaded from {value} does not '
+                    'comply with PEP 440: {version}'
+                )
+                raise DistutilsOptionError(tmpl.format(**locals()))
+
+            return version
+
+        version = self._parse_attr(value, self.package_dir)
+
+        if callable(version):
+            version = version()
+
+        if not isinstance(version, string_types):
+            if hasattr(version, '__iter__'):
+                version = '.'.join(map(str, version))
+            else:
+                version = '%s' % version
+
+        return version
+
+
+class ConfigOptionsHandler(ConfigHandler):
+
+    section_prefix = 'options'
+
+    @property
+    def parsers(self):
+        """Metadata item name to parser function mapping."""
+        parse_list = self._parse_list
+        parse_list_semicolon = partial(self._parse_list, separator=';')
+        parse_bool = self._parse_bool
+        parse_dict = self._parse_dict
+
+        return {
+            'zip_safe': parse_bool,
+            'use_2to3': parse_bool,
+            'include_package_data': parse_bool,
+            'package_dir': parse_dict,
+            'use_2to3_fixers': parse_list,
+            'use_2to3_exclude_fixers': parse_list,
+            'convert_2to3_doctests': parse_list,
+            'scripts': parse_list,
+            'eager_resources': parse_list,
+            'dependency_links': parse_list,
+            'namespace_packages': parse_list,
+            'install_requires': parse_list_semicolon,
+            'setup_requires': parse_list_semicolon,
+            'tests_require': parse_list_semicolon,
+            'packages': self._parse_packages,
+            'entry_points': self._parse_file,
+            'py_modules': parse_list,
+            'python_requires': SpecifierSet,
+        }
+
+    def _parse_packages(self, value):
+        """Parses `packages` option value.
+
+        :param value:
+        :rtype: list
+        """
+        find_directives = ['find:', 'find_namespace:']
+        trimmed_value = value.strip()
+
+        if trimmed_value not in find_directives:
+            return self._parse_list(value)
+
+        findns = trimmed_value == find_directives[1]
+        if findns and not PY3:
+            raise DistutilsOptionError(
+                'find_namespace: directive is unsupported on Python < 3.3')
+
+        # Read function arguments from a dedicated section.
+        find_kwargs = self.parse_section_packages__find(
+            self.sections.get('packages.find', {}))
+
+        if findns:
+            from setuptools import find_namespace_packages as find_packages
+        else:
+            from setuptools import find_packages
+
+        return find_packages(**find_kwargs)
+
+    def parse_section_packages__find(self, section_options):
+        """Parses `packages.find` configuration file section.
+
+        To be used in conjunction with _parse_packages().
+
+        :param dict section_options:
+        """
+        section_data = self._parse_section_to_dict(
+            section_options, self._parse_list)
+
+        valid_keys = ['where', 'include', 'exclude']
+
+        find_kwargs = dict(
+            [(k, v) for k, v in section_data.items() if k in valid_keys and v])
+
+        where = find_kwargs.get('where')
+        if where is not None:
+            find_kwargs['where'] = where[0]  # cast list to single val
+
+        return find_kwargs
+
+    def parse_section_entry_points(self, section_options):
+        """Parses `entry_points` configuration file section.
+
+        :param dict section_options:
+        """
+        parsed = self._parse_section_to_dict(section_options, self._parse_list)
+        self['entry_points'] = parsed
+
+    def _parse_package_data(self, section_options):
+        parsed = self._parse_section_to_dict(section_options, self._parse_list)
+
+        root = parsed.get('*')
+        if root:
+            parsed[''] = root
+            del parsed['*']
+
+        return parsed
+
+    def parse_section_package_data(self, section_options):
+        """Parses `package_data` configuration file section.
+
+        :param dict section_options:
+        """
+        self['package_data'] = self._parse_package_data(section_options)
+
+    def parse_section_exclude_package_data(self, section_options):
+        """Parses `exclude_package_data` configuration file section.
+
+        :param dict section_options:
+        """
+        self['exclude_package_data'] = self._parse_package_data(
+            section_options)
+
+    def parse_section_extras_require(self, section_options):
+        """Parses `extras_require` configuration file section.
+
+        :param dict section_options:
+        """
+        parse_list = partial(self._parse_list, separator=';')
+        self['extras_require'] = self._parse_section_to_dict(
+            section_options, parse_list)
+
+    def parse_section_data_files(self, section_options):
+        """Parses `data_files` configuration file section.
+
+        :param dict section_options:
+        """
+        parsed = self._parse_section_to_dict(section_options, self._parse_list)
+        self['data_files'] = [(k, v) for k, v in parsed.items()]
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/dep_util.py b/iot_env/lib/python3.8/site-packages/setuptools/dep_util.py
new file mode 100644
index 0000000..2931c13
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/dep_util.py
@@ -0,0 +1,23 @@
+from distutils.dep_util import newer_group
+
+# yes, this is was almost entirely copy-pasted from
+# 'newer_pairwise()', this is just another convenience
+# function.
+def newer_pairwise_group(sources_groups, targets):
+    """Walk both arguments in parallel, testing if each source group is newer
+    than its corresponding target. Returns a pair of lists (sources_groups,
+    targets) where sources is newer than target, according to the semantics
+    of 'newer_group()'.
+    """
+    if len(sources_groups) != len(targets):
+        raise ValueError("'sources_group' and 'targets' must be the same length")
+
+    # build a pair of lists (sources_groups, targets) where source is newer
+    n_sources = []
+    n_targets = []
+    for i in range(len(sources_groups)):
+        if newer_group(sources_groups[i], targets[i]):
+            n_sources.append(sources_groups[i])
+            n_targets.append(targets[i])
+
+    return n_sources, n_targets
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/depends.py b/iot_env/lib/python3.8/site-packages/setuptools/depends.py
new file mode 100644
index 0000000..a37675c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/depends.py
@@ -0,0 +1,176 @@
+import sys
+import marshal
+import contextlib
+from distutils.version import StrictVersion
+
+from .py33compat import Bytecode
+
+from .py27compat import find_module, PY_COMPILED, PY_FROZEN, PY_SOURCE
+from . import py27compat
+
+
+__all__ = [
+    'Require', 'find_module', 'get_module_constant', 'extract_constant'
+]
+
+
+class Require:
+    """A prerequisite to building or installing a distribution"""
+
+    def __init__(
+            self, name, requested_version, module, homepage='',
+            attribute=None, format=None):
+
+        if format is None and requested_version is not None:
+            format = StrictVersion
+
+        if format is not None:
+            requested_version = format(requested_version)
+            if attribute is None:
+                attribute = '__version__'
+
+        self.__dict__.update(locals())
+        del self.self
+
+    def full_name(self):
+        """Return full package/distribution name, w/version"""
+        if self.requested_version is not None:
+            return '%s-%s' % (self.name, self.requested_version)
+        return self.name
+
+    def version_ok(self, version):
+        """Is 'version' sufficiently up-to-date?"""
+        return self.attribute is None or self.format is None or \
+            str(version) != "unknown" and version >= self.requested_version
+
+    def get_version(self, paths=None, default="unknown"):
+        """Get version number of installed module, 'None', or 'default'
+
+        Search 'paths' for module.  If not found, return 'None'.  If found,
+        return the extracted version attribute, or 'default' if no version
+        attribute was specified, or the value cannot be determined without
+        importing the module.  The version is formatted according to the
+        requirement's version format (if any), unless it is 'None' or the
+        supplied 'default'.
+        """
+
+        if self.attribute is None:
+            try:
+                f, p, i = find_module(self.module, paths)
+                if f:
+                    f.close()
+                return default
+            except ImportError:
+                return None
+
+        v = get_module_constant(self.module, self.attribute, default, paths)
+
+        if v is not None and v is not default and self.format is not None:
+            return self.format(v)
+
+        return v
+
+    def is_present(self, paths=None):
+        """Return true if dependency is present on 'paths'"""
+        return self.get_version(paths) is not None
+
+    def is_current(self, paths=None):
+        """Return true if dependency is present and up-to-date on 'paths'"""
+        version = self.get_version(paths)
+        if version is None:
+            return False
+        return self.version_ok(version)
+
+
+def maybe_close(f):
+    @contextlib.contextmanager
+    def empty():
+        yield
+        return
+    if not f:
+        return empty()
+
+    return contextlib.closing(f)
+
+
+def get_module_constant(module, symbol, default=-1, paths=None):
+    """Find 'module' by searching 'paths', and extract 'symbol'
+
+    Return 'None' if 'module' does not exist on 'paths', or it does not define
+    'symbol'.  If the module defines 'symbol' as a constant, return the
+    constant.  Otherwise, return 'default'."""
+
+    try:
+        f, path, (suffix, mode, kind) = info = find_module(module, paths)
+    except ImportError:
+        # Module doesn't exist
+        return None
+
+    with maybe_close(f):
+        if kind == PY_COMPILED:
+            f.read(8)  # skip magic & date
+            code = marshal.load(f)
+        elif kind == PY_FROZEN:
+            code = py27compat.get_frozen_object(module, paths)
+        elif kind == PY_SOURCE:
+            code = compile(f.read(), path, 'exec')
+        else:
+            # Not something we can parse; we'll have to import it.  :(
+            imported = py27compat.get_module(module, paths, info)
+            return getattr(imported, symbol, None)
+
+    return extract_constant(code, symbol, default)
+
+
+def extract_constant(code, symbol, default=-1):
+    """Extract the constant value of 'symbol' from 'code'
+
+    If the name 'symbol' is bound to a constant value by the Python code
+    object 'code', return that value.  If 'symbol' is bound to an expression,
+    return 'default'.  Otherwise, return 'None'.
+
+    Return value is based on the first assignment to 'symbol'.  'symbol' must
+    be a global, or at least a non-"fast" local in the code block.  That is,
+    only 'STORE_NAME' and 'STORE_GLOBAL' opcodes are checked, and 'symbol'
+    must be present in 'code.co_names'.
+    """
+    if symbol not in code.co_names:
+        # name's not there, can't possibly be an assignment
+        return None
+
+    name_idx = list(code.co_names).index(symbol)
+
+    STORE_NAME = 90
+    STORE_GLOBAL = 97
+    LOAD_CONST = 100
+
+    const = default
+
+    for byte_code in Bytecode(code):
+        op = byte_code.opcode
+        arg = byte_code.arg
+
+        if op == LOAD_CONST:
+            const = code.co_consts[arg]
+        elif arg == name_idx and (op == STORE_NAME or op == STORE_GLOBAL):
+            return const
+        else:
+            const = default
+
+
+def _update_globals():
+    """
+    Patch the globals to remove the objects not available on some platforms.
+
+    XXX it'd be better to test assertions about bytecode instead.
+    """
+
+    if not sys.platform.startswith('java') and sys.platform != 'cli':
+        return
+    incompatible = 'extract_constant', 'get_module_constant'
+    for name in incompatible:
+        del globals()[name]
+        __all__.remove(name)
+
+
+_update_globals()
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/dist.py b/iot_env/lib/python3.8/site-packages/setuptools/dist.py
new file mode 100644
index 0000000..f22429e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/dist.py
@@ -0,0 +1,1274 @@
+# -*- coding: utf-8 -*-
+__all__ = ['Distribution']
+
+import io
+import sys
+import re
+import os
+import warnings
+import numbers
+import distutils.log
+import distutils.core
+import distutils.cmd
+import distutils.dist
+from distutils.util import strtobool
+from distutils.debug import DEBUG
+from distutils.fancy_getopt import translate_longopt
+import itertools
+
+from collections import defaultdict
+from email import message_from_file
+
+from distutils.errors import (
+    DistutilsOptionError, DistutilsPlatformError, DistutilsSetupError,
+)
+from distutils.util import rfc822_escape
+from distutils.version import StrictVersion
+
+from setuptools.extern import six
+from setuptools.extern import packaging
+from setuptools.extern import ordered_set
+from setuptools.extern.six.moves import map, filter, filterfalse
+
+from . import SetuptoolsDeprecationWarning
+
+from setuptools.depends import Require
+from setuptools import windows_support
+from setuptools.monkey import get_unpatched
+from setuptools.config import parse_configuration
+import pkg_resources
+
+__import__('setuptools.extern.packaging.specifiers')
+__import__('setuptools.extern.packaging.version')
+
+
+def _get_unpatched(cls):
+    warnings.warn("Do not call this function", DistDeprecationWarning)
+    return get_unpatched(cls)
+
+
+def get_metadata_version(self):
+    mv = getattr(self, 'metadata_version', None)
+
+    if mv is None:
+        if self.long_description_content_type or self.provides_extras:
+            mv = StrictVersion('2.1')
+        elif (self.maintainer is not None or
+              self.maintainer_email is not None or
+              getattr(self, 'python_requires', None) is not None or
+              self.project_urls):
+            mv = StrictVersion('1.2')
+        elif (self.provides or self.requires or self.obsoletes or
+                self.classifiers or self.download_url):
+            mv = StrictVersion('1.1')
+        else:
+            mv = StrictVersion('1.0')
+
+        self.metadata_version = mv
+
+    return mv
+
+
+def read_pkg_file(self, file):
+    """Reads the metadata values from a file object."""
+    msg = message_from_file(file)
+
+    def _read_field(name):
+        value = msg[name]
+        if value == 'UNKNOWN':
+            return None
+        return value
+
+    def _read_list(name):
+        values = msg.get_all(name, None)
+        if values == []:
+            return None
+        return values
+
+    self.metadata_version = StrictVersion(msg['metadata-version'])
+    self.name = _read_field('name')
+    self.version = _read_field('version')
+    self.description = _read_field('summary')
+    # we are filling author only.
+    self.author = _read_field('author')
+    self.maintainer = None
+    self.author_email = _read_field('author-email')
+    self.maintainer_email = None
+    self.url = _read_field('home-page')
+    self.license = _read_field('license')
+
+    if 'download-url' in msg:
+        self.download_url = _read_field('download-url')
+    else:
+        self.download_url = None
+
+    self.long_description = _read_field('description')
+    self.description = _read_field('summary')
+
+    if 'keywords' in msg:
+        self.keywords = _read_field('keywords').split(',')
+
+    self.platforms = _read_list('platform')
+    self.classifiers = _read_list('classifier')
+
+    # PEP 314 - these fields only exist in 1.1
+    if self.metadata_version == StrictVersion('1.1'):
+        self.requires = _read_list('requires')
+        self.provides = _read_list('provides')
+        self.obsoletes = _read_list('obsoletes')
+    else:
+        self.requires = None
+        self.provides = None
+        self.obsoletes = None
+
+
+# Based on Python 3.5 version
+def write_pkg_file(self, file):
+    """Write the PKG-INFO format data to a file object.
+    """
+    version = self.get_metadata_version()
+
+    if six.PY2:
+        def write_field(key, value):
+            file.write("%s: %s\n" % (key, self._encode_field(value)))
+    else:
+        def write_field(key, value):
+            file.write("%s: %s\n" % (key, value))
+
+    write_field('Metadata-Version', str(version))
+    write_field('Name', self.get_name())
+    write_field('Version', self.get_version())
+    write_field('Summary', self.get_description())
+    write_field('Home-page', self.get_url())
+
+    if version < StrictVersion('1.2'):
+        write_field('Author', self.get_contact())
+        write_field('Author-email', self.get_contact_email())
+    else:
+        optional_fields = (
+            ('Author', 'author'),
+            ('Author-email', 'author_email'),
+            ('Maintainer', 'maintainer'),
+            ('Maintainer-email', 'maintainer_email'),
+        )
+
+        for field, attr in optional_fields:
+            attr_val = getattr(self, attr)
+
+            if attr_val is not None:
+                write_field(field, attr_val)
+
+    write_field('License', self.get_license())
+    if self.download_url:
+        write_field('Download-URL', self.download_url)
+    for project_url in self.project_urls.items():
+        write_field('Project-URL',  '%s, %s' % project_url)
+
+    long_desc = rfc822_escape(self.get_long_description())
+    write_field('Description', long_desc)
+
+    keywords = ','.join(self.get_keywords())
+    if keywords:
+        write_field('Keywords', keywords)
+
+    if version >= StrictVersion('1.2'):
+        for platform in self.get_platforms():
+            write_field('Platform', platform)
+    else:
+        self._write_list(file, 'Platform', self.get_platforms())
+
+    self._write_list(file, 'Classifier', self.get_classifiers())
+
+    # PEP 314
+    self._write_list(file, 'Requires', self.get_requires())
+    self._write_list(file, 'Provides', self.get_provides())
+    self._write_list(file, 'Obsoletes', self.get_obsoletes())
+
+    # Setuptools specific for PEP 345
+    if hasattr(self, 'python_requires'):
+        write_field('Requires-Python', self.python_requires)
+
+    # PEP 566
+    if self.long_description_content_type:
+        write_field(
+            'Description-Content-Type',
+            self.long_description_content_type
+        )
+    if self.provides_extras:
+        for extra in sorted(self.provides_extras):
+            write_field('Provides-Extra', extra)
+
+
+sequence = tuple, list
+
+
+def check_importable(dist, attr, value):
+    try:
+        ep = pkg_resources.EntryPoint.parse('x=' + value)
+        assert not ep.extras
+    except (TypeError, ValueError, AttributeError, AssertionError):
+        raise DistutilsSetupError(
+            "%r must be importable 'module:attrs' string (got %r)"
+            % (attr, value)
+        )
+
+
+def assert_string_list(dist, attr, value):
+    """Verify that value is a string list"""
+    try:
+        # verify that value is a list or tuple to exclude unordered
+        # or single-use iterables
+        assert isinstance(value, (list, tuple))
+        # verify that elements of value are strings
+        assert ''.join(value) != value
+    except (TypeError, ValueError, AttributeError, AssertionError):
+        raise DistutilsSetupError(
+            "%r must be a list of strings (got %r)" % (attr, value)
+        )
+
+
+def check_nsp(dist, attr, value):
+    """Verify that namespace packages are valid"""
+    ns_packages = value
+    assert_string_list(dist, attr, ns_packages)
+    for nsp in ns_packages:
+        if not dist.has_contents_for(nsp):
+            raise DistutilsSetupError(
+                "Distribution contains no modules or packages for " +
+                "namespace package %r" % nsp
+            )
+        parent, sep, child = nsp.rpartition('.')
+        if parent and parent not in ns_packages:
+            distutils.log.warn(
+                "WARNING: %r is declared as a package namespace, but %r"
+                " is not: please correct this in setup.py", nsp, parent
+            )
+
+
+def check_extras(dist, attr, value):
+    """Verify that extras_require mapping is valid"""
+    try:
+        list(itertools.starmap(_check_extra, value.items()))
+    except (TypeError, ValueError, AttributeError):
+        raise DistutilsSetupError(
+            "'extras_require' must be a dictionary whose values are "
+            "strings or lists of strings containing valid project/version "
+            "requirement specifiers."
+        )
+
+
+def _check_extra(extra, reqs):
+    name, sep, marker = extra.partition(':')
+    if marker and pkg_resources.invalid_marker(marker):
+        raise DistutilsSetupError("Invalid environment marker: " + marker)
+    list(pkg_resources.parse_requirements(reqs))
+
+
+def assert_bool(dist, attr, value):
+    """Verify that value is True, False, 0, or 1"""
+    if bool(value) != value:
+        tmpl = "{attr!r} must be a boolean value (got {value!r})"
+        raise DistutilsSetupError(tmpl.format(attr=attr, value=value))
+
+
+def check_requirements(dist, attr, value):
+    """Verify that install_requires is a valid requirements list"""
+    try:
+        list(pkg_resources.parse_requirements(value))
+        if isinstance(value, (dict, set)):
+            raise TypeError("Unordered types are not allowed")
+    except (TypeError, ValueError) as error:
+        tmpl = (
+            "{attr!r} must be a string or list of strings "
+            "containing valid project/version requirement specifiers; {error}"
+        )
+        raise DistutilsSetupError(tmpl.format(attr=attr, error=error))
+
+
+def check_specifier(dist, attr, value):
+    """Verify that value is a valid version specifier"""
+    try:
+        packaging.specifiers.SpecifierSet(value)
+    except packaging.specifiers.InvalidSpecifier as error:
+        tmpl = (
+            "{attr!r} must be a string "
+            "containing valid version specifiers; {error}"
+        )
+        raise DistutilsSetupError(tmpl.format(attr=attr, error=error))
+
+
+def check_entry_points(dist, attr, value):
+    """Verify that entry_points map is parseable"""
+    try:
+        pkg_resources.EntryPoint.parse_map(value)
+    except ValueError as e:
+        raise DistutilsSetupError(e)
+
+
+def check_test_suite(dist, attr, value):
+    if not isinstance(value, six.string_types):
+        raise DistutilsSetupError("test_suite must be a string")
+
+
+def check_package_data(dist, attr, value):
+    """Verify that value is a dictionary of package names to glob lists"""
+    if not isinstance(value, dict):
+        raise DistutilsSetupError(
+            "{!r} must be a dictionary mapping package names to lists of "
+            "string wildcard patterns".format(attr))
+    for k, v in value.items():
+        if not isinstance(k, six.string_types):
+            raise DistutilsSetupError(
+                "keys of {!r} dict must be strings (got {!r})"
+                .format(attr, k)
+            )
+        assert_string_list(dist, 'values of {!r} dict'.format(attr), v)
+
+
+def check_packages(dist, attr, value):
+    for pkgname in value:
+        if not re.match(r'\w+(\.\w+)*', pkgname):
+            distutils.log.warn(
+                "WARNING: %r not a valid package name; please use only "
+                ".-separated package names in setup.py", pkgname
+            )
+
+
+_Distribution = get_unpatched(distutils.core.Distribution)
+
+
+class Distribution(_Distribution):
+    """Distribution with support for features, tests, and package data
+
+    This is an enhanced version of 'distutils.dist.Distribution' that
+    effectively adds the following new optional keyword arguments to 'setup()':
+
+     'install_requires' -- a string or sequence of strings specifying project
+        versions that the distribution requires when installed, in the format
+        used by 'pkg_resources.require()'.  They will be installed
+        automatically when the package is installed.  If you wish to use
+        packages that are not available in PyPI, or want to give your users an
+        alternate download location, you can add a 'find_links' option to the
+        '[easy_install]' section of your project's 'setup.cfg' file, and then
+        setuptools will scan the listed web pages for links that satisfy the
+        requirements.
+
+     'extras_require' -- a dictionary mapping names of optional "extras" to the
+        additional requirement(s) that using those extras incurs. For example,
+        this::
+
+            extras_require = dict(reST = ["docutils>=0.3", "reSTedit"])
+
+        indicates that the distribution can optionally provide an extra
+        capability called "reST", but it can only be used if docutils and
+        reSTedit are installed.  If the user installs your package using
+        EasyInstall and requests one of your extras, the corresponding
+        additional requirements will be installed if needed.
+
+     'features' **deprecated** -- a dictionary mapping option names to
+        'setuptools.Feature'
+        objects.  Features are a portion of the distribution that can be
+        included or excluded based on user options, inter-feature dependencies,
+        and availability on the current system.  Excluded features are omitted
+        from all setup commands, including source and binary distributions, so
+        you can create multiple distributions from the same source tree.
+        Feature names should be valid Python identifiers, except that they may
+        contain the '-' (minus) sign.  Features can be included or excluded
+        via the command line options '--with-X' and '--without-X', where 'X' is
+        the name of the feature.  Whether a feature is included by default, and
+        whether you are allowed to control this from the command line, is
+        determined by the Feature object.  See the 'Feature' class for more
+        information.
+
+     'test_suite' -- the name of a test suite to run for the 'test' command.
+        If the user runs 'python setup.py test', the package will be installed,
+        and the named test suite will be run.  The format is the same as
+        would be used on a 'unittest.py' command line.  That is, it is the
+        dotted name of an object to import and call to generate a test suite.
+
+     'package_data' -- a dictionary mapping package names to lists of filenames
+        or globs to use to find data files contained in the named packages.
+        If the dictionary has filenames or globs listed under '""' (the empty
+        string), those names will be searched for in every package, in addition
+        to any names for the specific package.  Data files found using these
+        names/globs will be installed along with the package, in the same
+        location as the package.  Note that globs are allowed to reference
+        the contents of non-package subdirectories, as long as you use '/' as
+        a path separator.  (Globs are automatically converted to
+        platform-specific paths at runtime.)
+
+    In addition to these new keywords, this class also has several new methods
+    for manipulating the distribution's contents.  For example, the 'include()'
+    and 'exclude()' methods can be thought of as in-place add and subtract
+    commands that add or remove packages, modules, extensions, and so on from
+    the distribution.  They are used by the feature subsystem to configure the
+    distribution for the included and excluded features.
+    """
+
+    _DISTUTILS_UNSUPPORTED_METADATA = {
+        'long_description_content_type': None,
+        'project_urls': dict,
+        'provides_extras': ordered_set.OrderedSet,
+        'license_files': ordered_set.OrderedSet,
+    }
+
+    _patched_dist = None
+
+    def patch_missing_pkg_info(self, attrs):
+        # Fake up a replacement for the data that would normally come from
+        # PKG-INFO, but which might not yet be built if this is a fresh
+        # checkout.
+        #
+        if not attrs or 'name' not in attrs or 'version' not in attrs:
+            return
+        key = pkg_resources.safe_name(str(attrs['name'])).lower()
+        dist = pkg_resources.working_set.by_key.get(key)
+        if dist is not None and not dist.has_metadata('PKG-INFO'):
+            dist._version = pkg_resources.safe_version(str(attrs['version']))
+            self._patched_dist = dist
+
+    def __init__(self, attrs=None):
+        have_package_data = hasattr(self, "package_data")
+        if not have_package_data:
+            self.package_data = {}
+        attrs = attrs or {}
+        if 'features' in attrs or 'require_features' in attrs:
+            Feature.warn_deprecated()
+        self.require_features = []
+        self.features = {}
+        self.dist_files = []
+        # Filter-out setuptools' specific options.
+        self.src_root = attrs.pop("src_root", None)
+        self.patch_missing_pkg_info(attrs)
+        self.dependency_links = attrs.pop('dependency_links', [])
+        self.setup_requires = attrs.pop('setup_requires', [])
+        for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'):
+            vars(self).setdefault(ep.name, None)
+        _Distribution.__init__(self, {
+            k: v for k, v in attrs.items()
+            if k not in self._DISTUTILS_UNSUPPORTED_METADATA
+        })
+
+        # Fill-in missing metadata fields not supported by distutils.
+        # Note some fields may have been set by other tools (e.g. pbr)
+        # above; they are taken preferrentially to setup() arguments
+        for option, default in self._DISTUTILS_UNSUPPORTED_METADATA.items():
+            for source in self.metadata.__dict__, attrs:
+                if option in source:
+                    value = source[option]
+                    break
+            else:
+                value = default() if default else None
+            setattr(self.metadata, option, value)
+
+        if isinstance(self.metadata.version, numbers.Number):
+            # Some people apparently take "version number" too literally :)
+            self.metadata.version = str(self.metadata.version)
+
+        if self.metadata.version is not None:
+            try:
+                ver = packaging.version.Version(self.metadata.version)
+                normalized_version = str(ver)
+                if self.metadata.version != normalized_version:
+                    warnings.warn(
+                        "Normalizing '%s' to '%s'" % (
+                            self.metadata.version,
+                            normalized_version,
+                        )
+                    )
+                    self.metadata.version = normalized_version
+            except (packaging.version.InvalidVersion, TypeError):
+                warnings.warn(
+                    "The version specified (%r) is an invalid version, this "
+                    "may not work as expected with newer versions of "
+                    "setuptools, pip, and PyPI. Please see PEP 440 for more "
+                    "details." % self.metadata.version
+                )
+        self._finalize_requires()
+
+    def _finalize_requires(self):
+        """
+        Set `metadata.python_requires` and fix environment markers
+        in `install_requires` and `extras_require`.
+        """
+        if getattr(self, 'python_requires', None):
+            self.metadata.python_requires = self.python_requires
+
+        if getattr(self, 'extras_require', None):
+            for extra in self.extras_require.keys():
+                # Since this gets called multiple times at points where the
+                # keys have become 'converted' extras, ensure that we are only
+                # truly adding extras we haven't seen before here.
+                extra = extra.split(':')[0]
+                if extra:
+                    self.metadata.provides_extras.add(extra)
+
+        self._convert_extras_requirements()
+        self._move_install_requirements_markers()
+
+    def _convert_extras_requirements(self):
+        """
+        Convert requirements in `extras_require` of the form
+        `"extra": ["barbazquux; {marker}"]` to
+        `"extra:{marker}": ["barbazquux"]`.
+        """
+        spec_ext_reqs = getattr(self, 'extras_require', None) or {}
+        self._tmp_extras_require = defaultdict(list)
+        for section, v in spec_ext_reqs.items():
+            # Do not strip empty sections.
+            self._tmp_extras_require[section]
+            for r in pkg_resources.parse_requirements(v):
+                suffix = self._suffix_for(r)
+                self._tmp_extras_require[section + suffix].append(r)
+
+    @staticmethod
+    def _suffix_for(req):
+        """
+        For a requirement, return the 'extras_require' suffix for
+        that requirement.
+        """
+        return ':' + str(req.marker) if req.marker else ''
+
+    def _move_install_requirements_markers(self):
+        """
+        Move requirements in `install_requires` that are using environment
+        markers `extras_require`.
+        """
+
+        # divide the install_requires into two sets, simple ones still
+        # handled by install_requires and more complex ones handled
+        # by extras_require.
+
+        def is_simple_req(req):
+            return not req.marker
+
+        spec_inst_reqs = getattr(self, 'install_requires', None) or ()
+        inst_reqs = list(pkg_resources.parse_requirements(spec_inst_reqs))
+        simple_reqs = filter(is_simple_req, inst_reqs)
+        complex_reqs = filterfalse(is_simple_req, inst_reqs)
+        self.install_requires = list(map(str, simple_reqs))
+
+        for r in complex_reqs:
+            self._tmp_extras_require[':' + str(r.marker)].append(r)
+        self.extras_require = dict(
+            (k, [str(r) for r in map(self._clean_req, v)])
+            for k, v in self._tmp_extras_require.items()
+        )
+
+    def _clean_req(self, req):
+        """
+        Given a Requirement, remove environment markers and return it.
+        """
+        req.marker = None
+        return req
+
+    def _parse_config_files(self, filenames=None):
+        """
+        Adapted from distutils.dist.Distribution.parse_config_files,
+        this method provides the same functionality in subtly-improved
+        ways.
+        """
+        from setuptools.extern.six.moves.configparser import ConfigParser
+
+        # Ignore install directory options if we have a venv
+        if six.PY3 and sys.prefix != sys.base_prefix:
+            ignore_options = [
+                'install-base', 'install-platbase', 'install-lib',
+                'install-platlib', 'install-purelib', 'install-headers',
+                'install-scripts', 'install-data', 'prefix', 'exec-prefix',
+                'home', 'user', 'root']
+        else:
+            ignore_options = []
+
+        ignore_options = frozenset(ignore_options)
+
+        if filenames is None:
+            filenames = self.find_config_files()
+
+        if DEBUG:
+            self.announce("Distribution.parse_config_files():")
+
+        parser = ConfigParser()
+        for filename in filenames:
+            with io.open(filename, encoding='utf-8') as reader:
+                if DEBUG:
+                    self.announce("  reading {filename}".format(**locals()))
+                (parser.read_file if six.PY3 else parser.readfp)(reader)
+            for section in parser.sections():
+                options = parser.options(section)
+                opt_dict = self.get_option_dict(section)
+
+                for opt in options:
+                    if opt != '__name__' and opt not in ignore_options:
+                        val = self._try_str(parser.get(section, opt))
+                        opt = opt.replace('-', '_')
+                        opt_dict[opt] = (filename, val)
+
+            # Make the ConfigParser forget everything (so we retain
+            # the original filenames that options come from)
+            parser.__init__()
+
+        # If there was a "global" section in the config file, use it
+        # to set Distribution options.
+
+        if 'global' in self.command_options:
+            for (opt, (src, val)) in self.command_options['global'].items():
+                alias = self.negative_opt.get(opt)
+                try:
+                    if alias:
+                        setattr(self, alias, not strtobool(val))
+                    elif opt in ('verbose', 'dry_run'):  # ugh!
+                        setattr(self, opt, strtobool(val))
+                    else:
+                        setattr(self, opt, val)
+                except ValueError as msg:
+                    raise DistutilsOptionError(msg)
+
+    @staticmethod
+    def _try_str(val):
+        """
+        On Python 2, much of distutils relies on string values being of
+        type 'str' (bytes) and not unicode text. If the value can be safely
+        encoded to bytes using the default encoding, prefer that.
+
+        Why the default encoding? Because that value can be implicitly
+        decoded back to text if needed.
+
+        Ref #1653
+        """
+        if six.PY3:
+            return val
+        try:
+            return val.encode()
+        except UnicodeEncodeError:
+            pass
+        return val
+
+    def _set_command_options(self, command_obj, option_dict=None):
+        """
+        Set the options for 'command_obj' from 'option_dict'.  Basically
+        this means copying elements of a dictionary ('option_dict') to
+        attributes of an instance ('command').
+
+        'command_obj' must be a Command instance.  If 'option_dict' is not
+        supplied, uses the standard option dictionary for this command
+        (from 'self.command_options').
+
+        (Adopted from distutils.dist.Distribution._set_command_options)
+        """
+        command_name = command_obj.get_command_name()
+        if option_dict is None:
+            option_dict = self.get_option_dict(command_name)
+
+        if DEBUG:
+            self.announce("  setting options for '%s' command:" % command_name)
+        for (option, (source, value)) in option_dict.items():
+            if DEBUG:
+                self.announce("    %s = %s (from %s)" % (option, value,
+                                                         source))
+            try:
+                bool_opts = [translate_longopt(o)
+                             for o in command_obj.boolean_options]
+            except AttributeError:
+                bool_opts = []
+            try:
+                neg_opt = command_obj.negative_opt
+            except AttributeError:
+                neg_opt = {}
+
+            try:
+                is_string = isinstance(value, six.string_types)
+                if option in neg_opt and is_string:
+                    setattr(command_obj, neg_opt[option], not strtobool(value))
+                elif option in bool_opts and is_string:
+                    setattr(command_obj, option, strtobool(value))
+                elif hasattr(command_obj, option):
+                    setattr(command_obj, option, value)
+                else:
+                    raise DistutilsOptionError(
+                        "error in %s: command '%s' has no such option '%s'"
+                        % (source, command_name, option))
+            except ValueError as msg:
+                raise DistutilsOptionError(msg)
+
+    def parse_config_files(self, filenames=None, ignore_option_errors=False):
+        """Parses configuration files from various levels
+        and loads configuration.
+
+        """
+        self._parse_config_files(filenames=filenames)
+
+        parse_configuration(self, self.command_options,
+                            ignore_option_errors=ignore_option_errors)
+        self._finalize_requires()
+
+    def parse_command_line(self):
+        """Process features after parsing command line options"""
+        result = _Distribution.parse_command_line(self)
+        if self.features:
+            self._finalize_features()
+        return result
+
+    def _feature_attrname(self, name):
+        """Convert feature name to corresponding option attribute name"""
+        return 'with_' + name.replace('-', '_')
+
+    def fetch_build_eggs(self, requires):
+        """Resolve pre-setup requirements"""
+        resolved_dists = pkg_resources.working_set.resolve(
+            pkg_resources.parse_requirements(requires),
+            installer=self.fetch_build_egg,
+            replace_conflicting=True,
+        )
+        for dist in resolved_dists:
+            pkg_resources.working_set.add(dist, replace=True)
+        return resolved_dists
+
+    def finalize_options(self):
+        """
+        Allow plugins to apply arbitrary operations to the
+        distribution. Each hook may optionally define a 'order'
+        to influence the order of execution. Smaller numbers
+        go first and the default is 0.
+        """
+        hook_key = 'setuptools.finalize_distribution_options'
+
+        def by_order(hook):
+            return getattr(hook, 'order', 0)
+        eps = pkg_resources.iter_entry_points(hook_key)
+        for ep in sorted(eps, key=by_order):
+            ep.load()(self)
+
+    def _finalize_setup_keywords(self):
+        for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'):
+            value = getattr(self, ep.name, None)
+            if value is not None:
+                ep.require(installer=self.fetch_build_egg)
+                ep.load()(self, ep.name, value)
+
+    def _finalize_2to3_doctests(self):
+        if getattr(self, 'convert_2to3_doctests', None):
+            # XXX may convert to set here when we can rely on set being builtin
+            self.convert_2to3_doctests = [
+                os.path.abspath(p)
+                for p in self.convert_2to3_doctests
+            ]
+        else:
+            self.convert_2to3_doctests = []
+
+    def get_egg_cache_dir(self):
+        egg_cache_dir = os.path.join(os.curdir, '.eggs')
+        if not os.path.exists(egg_cache_dir):
+            os.mkdir(egg_cache_dir)
+            windows_support.hide_file(egg_cache_dir)
+            readme_txt_filename = os.path.join(egg_cache_dir, 'README.txt')
+            with open(readme_txt_filename, 'w') as f:
+                f.write('This directory contains eggs that were downloaded '
+                        'by setuptools to build, test, and run plug-ins.\n\n')
+                f.write('This directory caches those eggs to prevent '
+                        'repeated downloads.\n\n')
+                f.write('However, it is safe to delete this directory.\n\n')
+
+        return egg_cache_dir
+
+    def fetch_build_egg(self, req):
+        """Fetch an egg needed for building"""
+        from setuptools.installer import fetch_build_egg
+        return fetch_build_egg(self, req)
+
+    def _finalize_feature_opts(self):
+        """Add --with-X/--without-X options based on optional features"""
+
+        if not self.features:
+            return
+
+        go = []
+        no = self.negative_opt.copy()
+
+        for name, feature in self.features.items():
+            self._set_feature(name, None)
+            feature.validate(self)
+
+            if feature.optional:
+                descr = feature.description
+                incdef = ' (default)'
+                excdef = ''
+                if not feature.include_by_default():
+                    excdef, incdef = incdef, excdef
+
+                new = (
+                    ('with-' + name, None, 'include ' + descr + incdef),
+                    ('without-' + name, None, 'exclude ' + descr + excdef),
+                )
+                go.extend(new)
+                no['without-' + name] = 'with-' + name
+
+        self.global_options = self.feature_options = go + self.global_options
+        self.negative_opt = self.feature_negopt = no
+
+    def _finalize_features(self):
+        """Add/remove features and resolve dependencies between them"""
+
+        # First, flag all the enabled items (and thus their dependencies)
+        for name, feature in self.features.items():
+            enabled = self.feature_is_included(name)
+            if enabled or (enabled is None and feature.include_by_default()):
+                feature.include_in(self)
+                self._set_feature(name, 1)
+
+        # Then disable the rest, so that off-by-default features don't
+        # get flagged as errors when they're required by an enabled feature
+        for name, feature in self.features.items():
+            if not self.feature_is_included(name):
+                feature.exclude_from(self)
+                self._set_feature(name, 0)
+
+    def get_command_class(self, command):
+        """Pluggable version of get_command_class()"""
+        if command in self.cmdclass:
+            return self.cmdclass[command]
+
+        eps = pkg_resources.iter_entry_points('distutils.commands', command)
+        for ep in eps:
+            ep.require(installer=self.fetch_build_egg)
+            self.cmdclass[command] = cmdclass = ep.load()
+            return cmdclass
+        else:
+            return _Distribution.get_command_class(self, command)
+
+    def print_commands(self):
+        for ep in pkg_resources.iter_entry_points('distutils.commands'):
+            if ep.name not in self.cmdclass:
+                # don't require extras as the commands won't be invoked
+                cmdclass = ep.resolve()
+                self.cmdclass[ep.name] = cmdclass
+        return _Distribution.print_commands(self)
+
+    def get_command_list(self):
+        for ep in pkg_resources.iter_entry_points('distutils.commands'):
+            if ep.name not in self.cmdclass:
+                # don't require extras as the commands won't be invoked
+                cmdclass = ep.resolve()
+                self.cmdclass[ep.name] = cmdclass
+        return _Distribution.get_command_list(self)
+
+    def _set_feature(self, name, status):
+        """Set feature's inclusion status"""
+        setattr(self, self._feature_attrname(name), status)
+
+    def feature_is_included(self, name):
+        """Return 1 if feature is included, 0 if excluded, 'None' if unknown"""
+        return getattr(self, self._feature_attrname(name))
+
+    def include_feature(self, name):
+        """Request inclusion of feature named 'name'"""
+
+        if self.feature_is_included(name) == 0:
+            descr = self.features[name].description
+            raise DistutilsOptionError(
+                descr + " is required, but was excluded or is not available"
+            )
+        self.features[name].include_in(self)
+        self._set_feature(name, 1)
+
+    def include(self, **attrs):
+        """Add items to distribution that are named in keyword arguments
+
+        For example, 'dist.include(py_modules=["x"])' would add 'x' to
+        the distribution's 'py_modules' attribute, if it was not already
+        there.
+
+        Currently, this method only supports inclusion for attributes that are
+        lists or tuples.  If you need to add support for adding to other
+        attributes in this or a subclass, you can add an '_include_X' method,
+        where 'X' is the name of the attribute.  The method will be called with
+        the value passed to 'include()'.  So, 'dist.include(foo={"bar":"baz"})'
+        will try to call 'dist._include_foo({"bar":"baz"})', which can then
+        handle whatever special inclusion logic is needed.
+        """
+        for k, v in attrs.items():
+            include = getattr(self, '_include_' + k, None)
+            if include:
+                include(v)
+            else:
+                self._include_misc(k, v)
+
+    def exclude_package(self, package):
+        """Remove packages, modules, and extensions in named package"""
+
+        pfx = package + '.'
+        if self.packages:
+            self.packages = [
+                p for p in self.packages
+                if p != package and not p.startswith(pfx)
+            ]
+
+        if self.py_modules:
+            self.py_modules = [
+                p for p in self.py_modules
+                if p != package and not p.startswith(pfx)
+            ]
+
+        if self.ext_modules:
+            self.ext_modules = [
+                p for p in self.ext_modules
+                if p.name != package and not p.name.startswith(pfx)
+            ]
+
+    def has_contents_for(self, package):
+        """Return true if 'exclude_package(package)' would do something"""
+
+        pfx = package + '.'
+
+        for p in self.iter_distribution_names():
+            if p == package or p.startswith(pfx):
+                return True
+
+    def _exclude_misc(self, name, value):
+        """Handle 'exclude()' for list/tuple attrs without a special handler"""
+        if not isinstance(value, sequence):
+            raise DistutilsSetupError(
+                "%s: setting must be a list or tuple (%r)" % (name, value)
+            )
+        try:
+            old = getattr(self, name)
+        except AttributeError:
+            raise DistutilsSetupError(
+                "%s: No such distribution setting" % name
+            )
+        if old is not None and not isinstance(old, sequence):
+            raise DistutilsSetupError(
+                name + ": this setting cannot be changed via include/exclude"
+            )
+        elif old:
+            setattr(self, name, [item for item in old if item not in value])
+
+    def _include_misc(self, name, value):
+        """Handle 'include()' for list/tuple attrs without a special handler"""
+
+        if not isinstance(value, sequence):
+            raise DistutilsSetupError(
+                "%s: setting must be a list (%r)" % (name, value)
+            )
+        try:
+            old = getattr(self, name)
+        except AttributeError:
+            raise DistutilsSetupError(
+                "%s: No such distribution setting" % name
+            )
+        if old is None:
+            setattr(self, name, value)
+        elif not isinstance(old, sequence):
+            raise DistutilsSetupError(
+                name + ": this setting cannot be changed via include/exclude"
+            )
+        else:
+            new = [item for item in value if item not in old]
+            setattr(self, name, old + new)
+
+    def exclude(self, **attrs):
+        """Remove items from distribution that are named in keyword arguments
+
+        For example, 'dist.exclude(py_modules=["x"])' would remove 'x' from
+        the distribution's 'py_modules' attribute.  Excluding packages uses
+        the 'exclude_package()' method, so all of the package's contained
+        packages, modules, and extensions are also excluded.
+
+        Currently, this method only supports exclusion from attributes that are
+        lists or tuples.  If you need to add support for excluding from other
+        attributes in this or a subclass, you can add an '_exclude_X' method,
+        where 'X' is the name of the attribute.  The method will be called with
+        the value passed to 'exclude()'.  So, 'dist.exclude(foo={"bar":"baz"})'
+        will try to call 'dist._exclude_foo({"bar":"baz"})', which can then
+        handle whatever special exclusion logic is needed.
+        """
+        for k, v in attrs.items():
+            exclude = getattr(self, '_exclude_' + k, None)
+            if exclude:
+                exclude(v)
+            else:
+                self._exclude_misc(k, v)
+
+    def _exclude_packages(self, packages):
+        if not isinstance(packages, sequence):
+            raise DistutilsSetupError(
+                "packages: setting must be a list or tuple (%r)" % (packages,)
+            )
+        list(map(self.exclude_package, packages))
+
+    def _parse_command_opts(self, parser, args):
+        # Remove --with-X/--without-X options when processing command args
+        self.global_options = self.__class__.global_options
+        self.negative_opt = self.__class__.negative_opt
+
+        # First, expand any aliases
+        command = args[0]
+        aliases = self.get_option_dict('aliases')
+        while command in aliases:
+            src, alias = aliases[command]
+            del aliases[command]  # ensure each alias can expand only once!
+            import shlex
+            args[:1] = shlex.split(alias, True)
+            command = args[0]
+
+        nargs = _Distribution._parse_command_opts(self, parser, args)
+
+        # Handle commands that want to consume all remaining arguments
+        cmd_class = self.get_command_class(command)
+        if getattr(cmd_class, 'command_consumes_arguments', None):
+            self.get_option_dict(command)['args'] = ("command line", nargs)
+            if nargs is not None:
+                return []
+
+        return nargs
+
+    def get_cmdline_options(self):
+        """Return a '{cmd: {opt:val}}' map of all command-line options
+
+        Option names are all long, but do not include the leading '--', and
+        contain dashes rather than underscores.  If the option doesn't take
+        an argument (e.g. '--quiet'), the 'val' is 'None'.
+
+        Note that options provided by config files are intentionally excluded.
+        """
+
+        d = {}
+
+        for cmd, opts in self.command_options.items():
+
+            for opt, (src, val) in opts.items():
+
+                if src != "command line":
+                    continue
+
+                opt = opt.replace('_', '-')
+
+                if val == 0:
+                    cmdobj = self.get_command_obj(cmd)
+                    neg_opt = self.negative_opt.copy()
+                    neg_opt.update(getattr(cmdobj, 'negative_opt', {}))
+                    for neg, pos in neg_opt.items():
+                        if pos == opt:
+                            opt = neg
+                            val = None
+                            break
+                    else:
+                        raise AssertionError("Shouldn't be able to get here")
+
+                elif val == 1:
+                    val = None
+
+                d.setdefault(cmd, {})[opt] = val
+
+        return d
+
+    def iter_distribution_names(self):
+        """Yield all packages, modules, and extension names in distribution"""
+
+        for pkg in self.packages or ():
+            yield pkg
+
+        for module in self.py_modules or ():
+            yield module
+
+        for ext in self.ext_modules or ():
+            if isinstance(ext, tuple):
+                name, buildinfo = ext
+            else:
+                name = ext.name
+            if name.endswith('module'):
+                name = name[:-6]
+            yield name
+
+    def handle_display_options(self, option_order):
+        """If there were any non-global "display-only" options
+        (--help-commands or the metadata display options) on the command
+        line, display the requested info and return true; else return
+        false.
+        """
+        import sys
+
+        if six.PY2 or self.help_commands:
+            return _Distribution.handle_display_options(self, option_order)
+
+        # Stdout may be StringIO (e.g. in tests)
+        if not isinstance(sys.stdout, io.TextIOWrapper):
+            return _Distribution.handle_display_options(self, option_order)
+
+        # Don't wrap stdout if utf-8 is already the encoding. Provides
+        #  workaround for #334.
+        if sys.stdout.encoding.lower() in ('utf-8', 'utf8'):
+            return _Distribution.handle_display_options(self, option_order)
+
+        # Print metadata in UTF-8 no matter the platform
+        encoding = sys.stdout.encoding
+        errors = sys.stdout.errors
+        newline = sys.platform != 'win32' and '\n' or None
+        line_buffering = sys.stdout.line_buffering
+
+        sys.stdout = io.TextIOWrapper(
+            sys.stdout.detach(), 'utf-8', errors, newline, line_buffering)
+        try:
+            return _Distribution.handle_display_options(self, option_order)
+        finally:
+            sys.stdout = io.TextIOWrapper(
+                sys.stdout.detach(), encoding, errors, newline, line_buffering)
+
+
+class Feature:
+    """
+    **deprecated** -- The `Feature` facility was never completely implemented
+    or supported, `has reported issues
+    <https://github.com/pypa/setuptools/issues/58>`_ and will be removed in
+    a future version.
+
+    A subset of the distribution that can be excluded if unneeded/wanted
+
+    Features are created using these keyword arguments:
+
+      'description' -- a short, human readable description of the feature, to
+         be used in error messages, and option help messages.
+
+      'standard' -- if true, the feature is included by default if it is
+         available on the current system.  Otherwise, the feature is only
+         included if requested via a command line '--with-X' option, or if
+         another included feature requires it.  The default setting is 'False'.
+
+      'available' -- if true, the feature is available for installation on the
+         current system.  The default setting is 'True'.
+
+      'optional' -- if true, the feature's inclusion can be controlled from the
+         command line, using the '--with-X' or '--without-X' options.  If
+         false, the feature's inclusion status is determined automatically,
+         based on 'availabile', 'standard', and whether any other feature
+         requires it.  The default setting is 'True'.
+
+      'require_features' -- a string or sequence of strings naming features
+         that should also be included if this feature is included.  Defaults to
+         empty list.  May also contain 'Require' objects that should be
+         added/removed from the distribution.
+
+      'remove' -- a string or list of strings naming packages to be removed
+         from the distribution if this feature is *not* included.  If the
+         feature *is* included, this argument is ignored.  This argument exists
+         to support removing features that "crosscut" a distribution, such as
+         defining a 'tests' feature that removes all the 'tests' subpackages
+         provided by other features.  The default for this argument is an empty
+         list.  (Note: the named package(s) or modules must exist in the base
+         distribution when the 'setup()' function is initially called.)
+
+      other keywords -- any other keyword arguments are saved, and passed to
+         the distribution's 'include()' and 'exclude()' methods when the
+         feature is included or excluded, respectively.  So, for example, you
+         could pass 'packages=["a","b"]' to cause packages 'a' and 'b' to be
+         added or removed from the distribution as appropriate.
+
+    A feature must include at least one 'requires', 'remove', or other
+    keyword argument.  Otherwise, it can't affect the distribution in any way.
+    Note also that you can subclass 'Feature' to create your own specialized
+    feature types that modify the distribution in other ways when included or
+    excluded.  See the docstrings for the various methods here for more detail.
+    Aside from the methods, the only feature attributes that distributions look
+    at are 'description' and 'optional'.
+    """
+
+    @staticmethod
+    def warn_deprecated():
+        msg = (
+            "Features are deprecated and will be removed in a future "
+            "version. See https://github.com/pypa/setuptools/issues/65."
+        )
+        warnings.warn(msg, DistDeprecationWarning, stacklevel=3)
+
+    def __init__(
+            self, description, standard=False, available=True,
+            optional=True, require_features=(), remove=(), **extras):
+        self.warn_deprecated()
+
+        self.description = description
+        self.standard = standard
+        self.available = available
+        self.optional = optional
+        if isinstance(require_features, (str, Require)):
+            require_features = require_features,
+
+        self.require_features = [
+            r for r in require_features if isinstance(r, str)
+        ]
+        er = [r for r in require_features if not isinstance(r, str)]
+        if er:
+            extras['require_features'] = er
+
+        if isinstance(remove, str):
+            remove = remove,
+        self.remove = remove
+        self.extras = extras
+
+        if not remove and not require_features and not extras:
+            raise DistutilsSetupError(
+                "Feature %s: must define 'require_features', 'remove', or "
+                "at least one of 'packages', 'py_modules', etc."
+            )
+
+    def include_by_default(self):
+        """Should this feature be included by default?"""
+        return self.available and self.standard
+
+    def include_in(self, dist):
+        """Ensure feature and its requirements are included in distribution
+
+        You may override this in a subclass to perform additional operations on
+        the distribution.  Note that this method may be called more than once
+        per feature, and so should be idempotent.
+
+        """
+
+        if not self.available:
+            raise DistutilsPlatformError(
+                self.description + " is required, "
+                "but is not available on this platform"
+            )
+
+        dist.include(**self.extras)
+
+        for f in self.require_features:
+            dist.include_feature(f)
+
+    def exclude_from(self, dist):
+        """Ensure feature is excluded from distribution
+
+        You may override this in a subclass to perform additional operations on
+        the distribution.  This method will be called at most once per
+        feature, and only after all included features have been asked to
+        include themselves.
+        """
+
+        dist.exclude(**self.extras)
+
+        if self.remove:
+            for item in self.remove:
+                dist.exclude_package(item)
+
+    def validate(self, dist):
+        """Verify that feature makes sense in context of distribution
+
+        This method is called by the distribution just before it parses its
+        command line.  It checks to ensure that the 'remove' attribute, if any,
+        contains only valid package/module names that are present in the base
+        distribution when 'setup()' is called.  You may override it in a
+        subclass to perform any other required validation of the feature
+        against a target distribution.
+        """
+
+        for item in self.remove:
+            if not dist.has_contents_for(item):
+                raise DistutilsSetupError(
+                    "%s wants to be able to remove %s, but the distribution"
+                    " doesn't contain any packages or modules under %s"
+                    % (self.description, item, item)
+                )
+
+
+class DistDeprecationWarning(SetuptoolsDeprecationWarning):
+    """Class for warning about deprecations in dist in
+    setuptools. Not ignored by default, unlike DeprecationWarning."""
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/errors.py b/iot_env/lib/python3.8/site-packages/setuptools/errors.py
new file mode 100644
index 0000000..2701747
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/errors.py
@@ -0,0 +1,16 @@
+"""setuptools.errors
+
+Provides exceptions used by setuptools modules.
+"""
+
+from distutils.errors import DistutilsError
+
+
+class RemovedCommandError(DistutilsError, RuntimeError):
+    """Error used for commands that have been removed in setuptools.
+
+    Since ``setuptools`` is built on ``distutils``, simply removing a command
+    from ``setuptools`` will make the behavior fall back to ``distutils``; this
+    error is raised if a command exists in ``distutils`` but has been actively
+    removed in ``setuptools``.
+    """
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/extension.py b/iot_env/lib/python3.8/site-packages/setuptools/extension.py
new file mode 100644
index 0000000..2946889
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/extension.py
@@ -0,0 +1,57 @@
+import re
+import functools
+import distutils.core
+import distutils.errors
+import distutils.extension
+
+from setuptools.extern.six.moves import map
+
+from .monkey import get_unpatched
+
+
+def _have_cython():
+    """
+    Return True if Cython can be imported.
+    """
+    cython_impl = 'Cython.Distutils.build_ext'
+    try:
+        # from (cython_impl) import build_ext
+        __import__(cython_impl, fromlist=['build_ext']).build_ext
+        return True
+    except Exception:
+        pass
+    return False
+
+
+# for compatibility
+have_pyrex = _have_cython
+
+_Extension = get_unpatched(distutils.core.Extension)
+
+
+class Extension(_Extension):
+    """Extension that uses '.c' files in place of '.pyx' files"""
+
+    def __init__(self, name, sources, *args, **kw):
+        # The *args is needed for compatibility as calls may use positional
+        # arguments. py_limited_api may be set only via keyword.
+        self.py_limited_api = kw.pop("py_limited_api", False)
+        _Extension.__init__(self, name, sources, *args, **kw)
+
+    def _convert_pyx_sources_to_lang(self):
+        """
+        Replace sources with .pyx extensions to sources with the target
+        language extension. This mechanism allows language authors to supply
+        pre-converted sources but to prefer the .pyx sources.
+        """
+        if _have_cython():
+            # the build has Cython, so allow it to compile the .pyx files
+            return
+        lang = self.language or ''
+        target_ext = '.cpp' if lang.lower() == 'c++' else '.c'
+        sub = functools.partial(re.sub, '.pyx$', target_ext)
+        self.sources = list(map(sub, self.sources))
+
+
+class Library(Extension):
+    """Just like a regular Extension, but built as a library instead"""
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/extern/__init__.py b/iot_env/lib/python3.8/site-packages/setuptools/extern/__init__.py
new file mode 100644
index 0000000..e8c616f
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/extern/__init__.py
@@ -0,0 +1,73 @@
+import sys
+
+
+class VendorImporter:
+    """
+    A PEP 302 meta path importer for finding optionally-vendored
+    or otherwise naturally-installed packages from root_name.
+    """
+
+    def __init__(self, root_name, vendored_names=(), vendor_pkg=None):
+        self.root_name = root_name
+        self.vendored_names = set(vendored_names)
+        self.vendor_pkg = vendor_pkg or root_name.replace('extern', '_vendor')
+
+    @property
+    def search_path(self):
+        """
+        Search first the vendor package then as a natural package.
+        """
+        yield self.vendor_pkg + '.'
+        yield ''
+
+    def find_module(self, fullname, path=None):
+        """
+        Return self when fullname starts with root_name and the
+        target module is one vendored through this importer.
+        """
+        root, base, target = fullname.partition(self.root_name + '.')
+        if root:
+            return
+        if not any(map(target.startswith, self.vendored_names)):
+            return
+        return self
+
+    def load_module(self, fullname):
+        """
+        Iterate over the search path to locate and load fullname.
+        """
+        root, base, target = fullname.partition(self.root_name + '.')
+        for prefix in self.search_path:
+            try:
+                extant = prefix + target
+                __import__(extant)
+                mod = sys.modules[extant]
+                sys.modules[fullname] = mod
+                # mysterious hack:
+                # Remove the reference to the extant package/module
+                # on later Python versions to cause relative imports
+                # in the vendor package to resolve the same modules
+                # as those going through this importer.
+                if sys.version_info >= (3, ):
+                    del sys.modules[extant]
+                return mod
+            except ImportError:
+                pass
+        else:
+            raise ImportError(
+                "The '{target}' package is required; "
+                "normally this is bundled with this package so if you get "
+                "this warning, consult the packager of your "
+                "distribution.".format(**locals())
+            )
+
+    def install(self):
+        """
+        Install this importer into sys.meta_path if not already present.
+        """
+        if self not in sys.meta_path:
+            sys.meta_path.append(self)
+
+
+names = 'six', 'packaging', 'pyparsing', 'ordered_set',
+VendorImporter(__name__, names, 'setuptools._vendor').install()
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/extern/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/setuptools/extern/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d17477af1c2cfcd3f171514aaccd02cec1536a74
GIT binary patch
literal 2420
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
N2BmEdW<D1dMgaYVc$)wK

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/glob.py b/iot_env/lib/python3.8/site-packages/setuptools/glob.py
new file mode 100644
index 0000000..9d7cbc5
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/glob.py
@@ -0,0 +1,174 @@
+"""
+Filename globbing utility. Mostly a copy of `glob` from Python 3.5.
+
+Changes include:
+ * `yield from` and PEP3102 `*` removed.
+ * Hidden files are not ignored.
+"""
+
+import os
+import re
+import fnmatch
+
+__all__ = ["glob", "iglob", "escape"]
+
+
+def glob(pathname, recursive=False):
+    """Return a list of paths matching a pathname pattern.
+
+    The pattern may contain simple shell-style wildcards a la
+    fnmatch. However, unlike fnmatch, filenames starting with a
+    dot are special cases that are not matched by '*' and '?'
+    patterns.
+
+    If recursive is true, the pattern '**' will match any files and
+    zero or more directories and subdirectories.
+    """
+    return list(iglob(pathname, recursive=recursive))
+
+
+def iglob(pathname, recursive=False):
+    """Return an iterator which yields the paths matching a pathname pattern.
+
+    The pattern may contain simple shell-style wildcards a la
+    fnmatch. However, unlike fnmatch, filenames starting with a
+    dot are special cases that are not matched by '*' and '?'
+    patterns.
+
+    If recursive is true, the pattern '**' will match any files and
+    zero or more directories and subdirectories.
+    """
+    it = _iglob(pathname, recursive)
+    if recursive and _isrecursive(pathname):
+        s = next(it)  # skip empty string
+        assert not s
+    return it
+
+
+def _iglob(pathname, recursive):
+    dirname, basename = os.path.split(pathname)
+    if not has_magic(pathname):
+        if basename:
+            if os.path.lexists(pathname):
+                yield pathname
+        else:
+            # Patterns ending with a slash should match only directories
+            if os.path.isdir(dirname):
+                yield pathname
+        return
+    if not dirname:
+        if recursive and _isrecursive(basename):
+            for x in glob2(dirname, basename):
+                yield x
+        else:
+            for x in glob1(dirname, basename):
+                yield x
+        return
+    # `os.path.split()` returns the argument itself as a dirname if it is a
+    # drive or UNC path.  Prevent an infinite recursion if a drive or UNC path
+    # contains magic characters (i.e. r'\\?\C:').
+    if dirname != pathname and has_magic(dirname):
+        dirs = _iglob(dirname, recursive)
+    else:
+        dirs = [dirname]
+    if has_magic(basename):
+        if recursive and _isrecursive(basename):
+            glob_in_dir = glob2
+        else:
+            glob_in_dir = glob1
+    else:
+        glob_in_dir = glob0
+    for dirname in dirs:
+        for name in glob_in_dir(dirname, basename):
+            yield os.path.join(dirname, name)
+
+
+# These 2 helper functions non-recursively glob inside a literal directory.
+# They return a list of basenames. `glob1` accepts a pattern while `glob0`
+# takes a literal basename (so it only has to check for its existence).
+
+
+def glob1(dirname, pattern):
+    if not dirname:
+        if isinstance(pattern, bytes):
+            dirname = os.curdir.encode('ASCII')
+        else:
+            dirname = os.curdir
+    try:
+        names = os.listdir(dirname)
+    except OSError:
+        return []
+    return fnmatch.filter(names, pattern)
+
+
+def glob0(dirname, basename):
+    if not basename:
+        # `os.path.split()` returns an empty basename for paths ending with a
+        # directory separator.  'q*x/' should match only directories.
+        if os.path.isdir(dirname):
+            return [basename]
+    else:
+        if os.path.lexists(os.path.join(dirname, basename)):
+            return [basename]
+    return []
+
+
+# This helper function recursively yields relative pathnames inside a literal
+# directory.
+
+
+def glob2(dirname, pattern):
+    assert _isrecursive(pattern)
+    yield pattern[:0]
+    for x in _rlistdir(dirname):
+        yield x
+
+
+# Recursively yields relative pathnames inside a literal directory.
+def _rlistdir(dirname):
+    if not dirname:
+        if isinstance(dirname, bytes):
+            dirname = os.curdir.encode('ASCII')
+        else:
+            dirname = os.curdir
+    try:
+        names = os.listdir(dirname)
+    except os.error:
+        return
+    for x in names:
+        yield x
+        path = os.path.join(dirname, x) if dirname else x
+        for y in _rlistdir(path):
+            yield os.path.join(x, y)
+
+
+magic_check = re.compile('([*?[])')
+magic_check_bytes = re.compile(b'([*?[])')
+
+
+def has_magic(s):
+    if isinstance(s, bytes):
+        match = magic_check_bytes.search(s)
+    else:
+        match = magic_check.search(s)
+    return match is not None
+
+
+def _isrecursive(pattern):
+    if isinstance(pattern, bytes):
+        return pattern == b'**'
+    else:
+        return pattern == '**'
+
+
+def escape(pathname):
+    """Escape all special characters.
+    """
+    # Escaping is done by wrapping any of "*?[" between square brackets.
+    # Metacharacters do not work in the drive part and shouldn't be escaped.
+    drive, pathname = os.path.splitdrive(pathname)
+    if isinstance(pathname, bytes):
+        pathname = magic_check_bytes.sub(br'[\1]', pathname)
+    else:
+        pathname = magic_check.sub(r'[\1]', pathname)
+    return drive + pathname
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/gui-32.exe b/iot_env/lib/python3.8/site-packages/setuptools/gui-32.exe
new file mode 100644
index 0000000000000000000000000000000000000000..f8d3509653ba8f80ca7f3aa7f95616142ba83a94
GIT binary patch
literal 65536
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/gui-64.exe b/iot_env/lib/python3.8/site-packages/setuptools/gui-64.exe
new file mode 100644
index 0000000000000000000000000000000000000000..330c51a5dde15a0bb610a48cd0ca11770c914dae
GIT binary patch
literal 75264
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
V{_})^Apq177}AZ{QOA=T0ss*!rV{`F

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/gui.exe b/iot_env/lib/python3.8/site-packages/setuptools/gui.exe
new file mode 100644
index 0000000000000000000000000000000000000000..f8d3509653ba8f80ca7f3aa7f95616142ba83a94
GIT binary patch
literal 65536
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/setuptools/installer.py b/iot_env/lib/python3.8/site-packages/setuptools/installer.py
new file mode 100644
index 0000000..9f8be2e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/installer.py
@@ -0,0 +1,150 @@
+import glob
+import os
+import subprocess
+import sys
+from distutils import log
+from distutils.errors import DistutilsError
+
+import pkg_resources
+from setuptools.command.easy_install import easy_install
+from setuptools.extern import six
+from setuptools.wheel import Wheel
+
+from .py31compat import TemporaryDirectory
+
+
+def _fixup_find_links(find_links):
+    """Ensure find-links option end-up being a list of strings."""
+    if isinstance(find_links, six.string_types):
+        return find_links.split()
+    assert isinstance(find_links, (tuple, list))
+    return find_links
+
+
+def _legacy_fetch_build_egg(dist, req):
+    """Fetch an egg needed for building.
+
+    Legacy path using EasyInstall.
+    """
+    tmp_dist = dist.__class__({'script_args': ['easy_install']})
+    opts = tmp_dist.get_option_dict('easy_install')
+    opts.clear()
+    opts.update(
+        (k, v)
+        for k, v in dist.get_option_dict('easy_install').items()
+        if k in (
+            # don't use any other settings
+            'find_links', 'site_dirs', 'index_url',
+            'optimize', 'site_dirs', 'allow_hosts',
+        ))
+    if dist.dependency_links:
+        links = dist.dependency_links[:]
+        if 'find_links' in opts:
+            links = _fixup_find_links(opts['find_links'][1]) + links
+        opts['find_links'] = ('setup', links)
+    install_dir = dist.get_egg_cache_dir()
+    cmd = easy_install(
+        tmp_dist, args=["x"], install_dir=install_dir,
+        exclude_scripts=True,
+        always_copy=False, build_directory=None, editable=False,
+        upgrade=False, multi_version=True, no_report=True, user=False
+    )
+    cmd.ensure_finalized()
+    return cmd.easy_install(req)
+
+
+def fetch_build_egg(dist, req):
+    """Fetch an egg needed for building.
+
+    Use pip/wheel to fetch/build a wheel."""
+    # Check pip is available.
+    try:
+        pkg_resources.get_distribution('pip')
+    except pkg_resources.DistributionNotFound:
+        dist.announce(
+            'WARNING: The pip package is not available, falling back '
+            'to EasyInstall for handling setup_requires/test_requires; '
+            'this is deprecated and will be removed in a future version.'
+            , log.WARN
+        )
+        return _legacy_fetch_build_egg(dist, req)
+    # Warn if wheel is not.
+    try:
+        pkg_resources.get_distribution('wheel')
+    except pkg_resources.DistributionNotFound:
+        dist.announce('WARNING: The wheel package is not available.', log.WARN)
+    # Ignore environment markers; if supplied, it is required.
+    req = strip_marker(req)
+    # Take easy_install options into account, but do not override relevant
+    # pip environment variables (like PIP_INDEX_URL or PIP_QUIET); they'll
+    # take precedence.
+    opts = dist.get_option_dict('easy_install')
+    if 'allow_hosts' in opts:
+        raise DistutilsError('the `allow-hosts` option is not supported '
+                             'when using pip to install requirements.')
+    if 'PIP_QUIET' in os.environ or 'PIP_VERBOSE' in os.environ:
+        quiet = False
+    else:
+        quiet = True
+    if 'PIP_INDEX_URL' in os.environ:
+        index_url = None
+    elif 'index_url' in opts:
+        index_url = opts['index_url'][1]
+    else:
+        index_url = None
+    if 'find_links' in opts:
+        find_links = _fixup_find_links(opts['find_links'][1])[:]
+    else:
+        find_links = []
+    if dist.dependency_links:
+        find_links.extend(dist.dependency_links)
+    eggs_dir = os.path.realpath(dist.get_egg_cache_dir())
+    environment = pkg_resources.Environment()
+    for egg_dist in pkg_resources.find_distributions(eggs_dir):
+        if egg_dist in req and environment.can_add(egg_dist):
+            return egg_dist
+    with TemporaryDirectory() as tmpdir:
+        cmd = [
+            sys.executable, '-m', 'pip',
+            '--disable-pip-version-check',
+            'wheel', '--no-deps',
+            '-w', tmpdir,
+        ]
+        if quiet:
+            cmd.append('--quiet')
+        if index_url is not None:
+            cmd.extend(('--index-url', index_url))
+        if find_links is not None:
+            for link in find_links:
+                cmd.extend(('--find-links', link))
+        # If requirement is a PEP 508 direct URL, directly pass
+        # the URL to pip, as `req @ url` does not work on the
+        # command line.
+        if req.url:
+            cmd.append(req.url)
+        else:
+            cmd.append(str(req))
+        try:
+            subprocess.check_call(cmd)
+        except subprocess.CalledProcessError as e:
+            raise DistutilsError(str(e))
+        wheel = Wheel(glob.glob(os.path.join(tmpdir, '*.whl'))[0])
+        dist_location = os.path.join(eggs_dir, wheel.egg_name())
+        wheel.install_as_egg(dist_location)
+        dist_metadata = pkg_resources.PathMetadata(
+            dist_location, os.path.join(dist_location, 'EGG-INFO'))
+        dist = pkg_resources.Distribution.from_filename(
+            dist_location, metadata=dist_metadata)
+        return dist
+
+
+def strip_marker(req):
+    """
+    Return a new requirement without the environment marker to avoid
+    calling pip with something like `babel; extra == "i18n"`, which
+    would always be ignored.
+    """
+    # create a copy to avoid mutating the input
+    req = pkg_resources.Requirement.parse(str(req))
+    req.marker = None
+    return req
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/launch.py b/iot_env/lib/python3.8/site-packages/setuptools/launch.py
new file mode 100644
index 0000000..308283e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/launch.py
@@ -0,0 +1,35 @@
+"""
+Launch the Python script on the command line after
+setuptools is bootstrapped via import.
+"""
+
+# Note that setuptools gets imported implicitly by the
+# invocation of this script using python -m setuptools.launch
+
+import tokenize
+import sys
+
+
+def run():
+    """
+    Run the script in sys.argv[1] as if it had
+    been invoked naturally.
+    """
+    __builtins__
+    script_name = sys.argv[1]
+    namespace = dict(
+        __file__=script_name,
+        __name__='__main__',
+        __doc__=None,
+    )
+    sys.argv[:] = sys.argv[1:]
+
+    open_ = getattr(tokenize, 'open', open)
+    script = open_(script_name).read()
+    norm_script = script.replace('\\r\\n', '\\n')
+    code = compile(norm_script, script_name, 'exec')
+    exec(code, namespace)
+
+
+if __name__ == '__main__':
+    run()
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/lib2to3_ex.py b/iot_env/lib/python3.8/site-packages/setuptools/lib2to3_ex.py
new file mode 100644
index 0000000..4b1a73f
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/lib2to3_ex.py
@@ -0,0 +1,62 @@
+"""
+Customized Mixin2to3 support:
+
+ - adds support for converting doctests
+
+
+This module raises an ImportError on Python 2.
+"""
+
+from distutils.util import Mixin2to3 as _Mixin2to3
+from distutils import log
+from lib2to3.refactor import RefactoringTool, get_fixers_from_package
+
+import setuptools
+
+
+class DistutilsRefactoringTool(RefactoringTool):
+    def log_error(self, msg, *args, **kw):
+        log.error(msg, *args)
+
+    def log_message(self, msg, *args):
+        log.info(msg, *args)
+
+    def log_debug(self, msg, *args):
+        log.debug(msg, *args)
+
+
+class Mixin2to3(_Mixin2to3):
+    def run_2to3(self, files, doctests=False):
+        # See of the distribution option has been set, otherwise check the
+        # setuptools default.
+        if self.distribution.use_2to3 is not True:
+            return
+        if not files:
+            return
+        log.info("Fixing " + " ".join(files))
+        self.__build_fixer_names()
+        self.__exclude_fixers()
+        if doctests:
+            if setuptools.run_2to3_on_doctests:
+                r = DistutilsRefactoringTool(self.fixer_names)
+                r.refactor(files, write=True, doctests_only=True)
+        else:
+            _Mixin2to3.run_2to3(self, files)
+
+    def __build_fixer_names(self):
+        if self.fixer_names:
+            return
+        self.fixer_names = []
+        for p in setuptools.lib2to3_fixer_packages:
+            self.fixer_names.extend(get_fixers_from_package(p))
+        if self.distribution.use_2to3_fixers is not None:
+            for p in self.distribution.use_2to3_fixers:
+                self.fixer_names.extend(get_fixers_from_package(p))
+
+    def __exclude_fixers(self):
+        excluded_fixers = getattr(self, 'exclude_fixers', [])
+        if self.distribution.use_2to3_exclude_fixers is not None:
+            excluded_fixers.extend(self.distribution.use_2to3_exclude_fixers)
+        for fixer_name in excluded_fixers:
+            if fixer_name in self.fixer_names:
+                self.fixer_names.remove(fixer_name)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/monkey.py b/iot_env/lib/python3.8/site-packages/setuptools/monkey.py
new file mode 100644
index 0000000..3c77f8c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/monkey.py
@@ -0,0 +1,179 @@
+"""
+Monkey patching of distutils.
+"""
+
+import sys
+import distutils.filelist
+import platform
+import types
+import functools
+from importlib import import_module
+import inspect
+
+from setuptools.extern import six
+
+import setuptools
+
+__all__ = []
+"""
+Everything is private. Contact the project team
+if you think you need this functionality.
+"""
+
+
+def _get_mro(cls):
+    """
+    Returns the bases classes for cls sorted by the MRO.
+
+    Works around an issue on Jython where inspect.getmro will not return all
+    base classes if multiple classes share the same name. Instead, this
+    function will return a tuple containing the class itself, and the contents
+    of cls.__bases__. See https://github.com/pypa/setuptools/issues/1024.
+    """
+    if platform.python_implementation() == "Jython":
+        return (cls,) + cls.__bases__
+    return inspect.getmro(cls)
+
+
+def get_unpatched(item):
+    lookup = (
+        get_unpatched_class if isinstance(item, six.class_types) else
+        get_unpatched_function if isinstance(item, types.FunctionType) else
+        lambda item: None
+    )
+    return lookup(item)
+
+
+def get_unpatched_class(cls):
+    """Protect against re-patching the distutils if reloaded
+
+    Also ensures that no other distutils extension monkeypatched the distutils
+    first.
+    """
+    external_bases = (
+        cls
+        for cls in _get_mro(cls)
+        if not cls.__module__.startswith('setuptools')
+    )
+    base = next(external_bases)
+    if not base.__module__.startswith('distutils'):
+        msg = "distutils has already been patched by %r" % cls
+        raise AssertionError(msg)
+    return base
+
+
+def patch_all():
+    # we can't patch distutils.cmd, alas
+    distutils.core.Command = setuptools.Command
+
+    has_issue_12885 = sys.version_info <= (3, 5, 3)
+
+    if has_issue_12885:
+        # fix findall bug in distutils (http://bugs.python.org/issue12885)
+        distutils.filelist.findall = setuptools.findall
+
+    needs_warehouse = (
+        sys.version_info < (2, 7, 13)
+        or
+        (3, 4) < sys.version_info < (3, 4, 6)
+        or
+        (3, 5) < sys.version_info <= (3, 5, 3)
+    )
+
+    if needs_warehouse:
+        warehouse = 'https://upload.pypi.org/legacy/'
+        distutils.config.PyPIRCCommand.DEFAULT_REPOSITORY = warehouse
+
+    _patch_distribution_metadata()
+
+    # Install Distribution throughout the distutils
+    for module in distutils.dist, distutils.core, distutils.cmd:
+        module.Distribution = setuptools.dist.Distribution
+
+    # Install the patched Extension
+    distutils.core.Extension = setuptools.extension.Extension
+    distutils.extension.Extension = setuptools.extension.Extension
+    if 'distutils.command.build_ext' in sys.modules:
+        sys.modules['distutils.command.build_ext'].Extension = (
+            setuptools.extension.Extension
+        )
+
+    patch_for_msvc_specialized_compiler()
+
+
+def _patch_distribution_metadata():
+    """Patch write_pkg_file and read_pkg_file for higher metadata standards"""
+    for attr in ('write_pkg_file', 'read_pkg_file', 'get_metadata_version'):
+        new_val = getattr(setuptools.dist, attr)
+        setattr(distutils.dist.DistributionMetadata, attr, new_val)
+
+
+def patch_func(replacement, target_mod, func_name):
+    """
+    Patch func_name in target_mod with replacement
+
+    Important - original must be resolved by name to avoid
+    patching an already patched function.
+    """
+    original = getattr(target_mod, func_name)
+
+    # set the 'unpatched' attribute on the replacement to
+    # point to the original.
+    vars(replacement).setdefault('unpatched', original)
+
+    # replace the function in the original module
+    setattr(target_mod, func_name, replacement)
+
+
+def get_unpatched_function(candidate):
+    return getattr(candidate, 'unpatched')
+
+
+def patch_for_msvc_specialized_compiler():
+    """
+    Patch functions in distutils to use standalone Microsoft Visual C++
+    compilers.
+    """
+    # import late to avoid circular imports on Python < 3.5
+    msvc = import_module('setuptools.msvc')
+
+    if platform.system() != 'Windows':
+        # Compilers only availables on Microsoft Windows
+        return
+
+    def patch_params(mod_name, func_name):
+        """
+        Prepare the parameters for patch_func to patch indicated function.
+        """
+        repl_prefix = 'msvc9_' if 'msvc9' in mod_name else 'msvc14_'
+        repl_name = repl_prefix + func_name.lstrip('_')
+        repl = getattr(msvc, repl_name)
+        mod = import_module(mod_name)
+        if not hasattr(mod, func_name):
+            raise ImportError(func_name)
+        return repl, mod, func_name
+
+    # Python 2.7 to 3.4
+    msvc9 = functools.partial(patch_params, 'distutils.msvc9compiler')
+
+    # Python 3.5+
+    msvc14 = functools.partial(patch_params, 'distutils._msvccompiler')
+
+    try:
+        # Patch distutils.msvc9compiler
+        patch_func(*msvc9('find_vcvarsall'))
+        patch_func(*msvc9('query_vcvarsall'))
+    except ImportError:
+        pass
+
+    try:
+        # Patch distutils._msvccompiler._get_vc_env
+        patch_func(*msvc14('_get_vc_env'))
+    except ImportError:
+        pass
+
+    try:
+        # Patch distutils._msvccompiler.gen_lib_options for Numpy
+        patch_func(*msvc14('gen_lib_options'))
+    except ImportError:
+        pass
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/msvc.py b/iot_env/lib/python3.8/site-packages/setuptools/msvc.py
new file mode 100644
index 0000000..2ffe1c8
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/msvc.py
@@ -0,0 +1,1679 @@
+"""
+Improved support for Microsoft Visual C++ compilers.
+
+Known supported compilers:
+--------------------------
+Microsoft Visual C++ 9.0:
+    Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64)
+    Microsoft Windows SDK 6.1 (x86, x64, ia64)
+    Microsoft Windows SDK 7.0 (x86, x64, ia64)
+
+Microsoft Visual C++ 10.0:
+    Microsoft Windows SDK 7.1 (x86, x64, ia64)
+
+Microsoft Visual C++ 14.X:
+    Microsoft Visual C++ Build Tools 2015 (x86, x64, arm)
+    Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64)
+    Microsoft Visual Studio Build Tools 2019 (x86, x64, arm, arm64)
+
+This may also support compilers shipped with compatible Visual Studio versions.
+"""
+
+import json
+from io import open
+from os import listdir, pathsep
+from os.path import join, isfile, isdir, dirname
+import sys
+import platform
+import itertools
+import distutils.errors
+from setuptools.extern.packaging.version import LegacyVersion
+
+from setuptools.extern.six.moves import filterfalse
+
+from .monkey import get_unpatched
+
+if platform.system() == 'Windows':
+    from setuptools.extern.six.moves import winreg
+    from os import environ
+else:
+    # Mock winreg and environ so the module can be imported on this platform.
+
+    class winreg:
+        HKEY_USERS = None
+        HKEY_CURRENT_USER = None
+        HKEY_LOCAL_MACHINE = None
+        HKEY_CLASSES_ROOT = None
+
+    environ = dict()
+
+_msvc9_suppress_errors = (
+    # msvc9compiler isn't available on some platforms
+    ImportError,
+
+    # msvc9compiler raises DistutilsPlatformError in some
+    # environments. See #1118.
+    distutils.errors.DistutilsPlatformError,
+)
+
+try:
+    from distutils.msvc9compiler import Reg
+except _msvc9_suppress_errors:
+    pass
+
+
+def msvc9_find_vcvarsall(version):
+    """
+    Patched "distutils.msvc9compiler.find_vcvarsall" to use the standalone
+    compiler build for Python
+    (VCForPython / Microsoft Visual C++ Compiler for Python 2.7).
+
+    Fall back to original behavior when the standalone compiler is not
+    available.
+
+    Redirect the path of "vcvarsall.bat".
+
+    Parameters
+    ----------
+    version: float
+        Required Microsoft Visual C++ version.
+
+    Return
+    ------
+    str
+        vcvarsall.bat path
+    """
+    vc_base = r'Software\%sMicrosoft\DevDiv\VCForPython\%0.1f'
+    key = vc_base % ('', version)
+    try:
+        # Per-user installs register the compiler path here
+        productdir = Reg.get_value(key, "installdir")
+    except KeyError:
+        try:
+            # All-user installs on a 64-bit system register here
+            key = vc_base % ('Wow6432Node\\', version)
+            productdir = Reg.get_value(key, "installdir")
+        except KeyError:
+            productdir = None
+
+    if productdir:
+        vcvarsall = join(productdir, "vcvarsall.bat")
+        if isfile(vcvarsall):
+            return vcvarsall
+
+    return get_unpatched(msvc9_find_vcvarsall)(version)
+
+
+def msvc9_query_vcvarsall(ver, arch='x86', *args, **kwargs):
+    """
+    Patched "distutils.msvc9compiler.query_vcvarsall" for support extra
+    Microsoft Visual C++ 9.0 and 10.0 compilers.
+
+    Set environment without use of "vcvarsall.bat".
+
+    Parameters
+    ----------
+    ver: float
+        Required Microsoft Visual C++ version.
+    arch: str
+        Target architecture.
+
+    Return
+    ------
+    dict
+        environment
+    """
+    # Try to get environment from vcvarsall.bat (Classical way)
+    try:
+        orig = get_unpatched(msvc9_query_vcvarsall)
+        return orig(ver, arch, *args, **kwargs)
+    except distutils.errors.DistutilsPlatformError:
+        # Pass error if Vcvarsall.bat is missing
+        pass
+    except ValueError:
+        # Pass error if environment not set after executing vcvarsall.bat
+        pass
+
+    # If error, try to set environment directly
+    try:
+        return EnvironmentInfo(arch, ver).return_env()
+    except distutils.errors.DistutilsPlatformError as exc:
+        _augment_exception(exc, ver, arch)
+        raise
+
+
+def msvc14_get_vc_env(plat_spec):
+    """
+    Patched "distutils._msvccompiler._get_vc_env" for support extra
+    Microsoft Visual C++ 14.X compilers.
+
+    Set environment without use of "vcvarsall.bat".
+
+    Parameters
+    ----------
+    plat_spec: str
+        Target architecture.
+
+    Return
+    ------
+    dict
+        environment
+    """
+    # Try to get environment from vcvarsall.bat (Classical way)
+    try:
+        return get_unpatched(msvc14_get_vc_env)(plat_spec)
+    except distutils.errors.DistutilsPlatformError:
+        # Pass error Vcvarsall.bat is missing
+        pass
+
+    # If error, try to set environment directly
+    try:
+        return EnvironmentInfo(plat_spec, vc_min_ver=14.0).return_env()
+    except distutils.errors.DistutilsPlatformError as exc:
+        _augment_exception(exc, 14.0)
+        raise
+
+
+def msvc14_gen_lib_options(*args, **kwargs):
+    """
+    Patched "distutils._msvccompiler.gen_lib_options" for fix
+    compatibility between "numpy.distutils" and "distutils._msvccompiler"
+    (for Numpy < 1.11.2)
+    """
+    if "numpy.distutils" in sys.modules:
+        import numpy as np
+        if LegacyVersion(np.__version__) < LegacyVersion('1.11.2'):
+            return np.distutils.ccompiler.gen_lib_options(*args, **kwargs)
+    return get_unpatched(msvc14_gen_lib_options)(*args, **kwargs)
+
+
+def _augment_exception(exc, version, arch=''):
+    """
+    Add details to the exception message to help guide the user
+    as to what action will resolve it.
+    """
+    # Error if MSVC++ directory not found or environment not set
+    message = exc.args[0]
+
+    if "vcvarsall" in message.lower() or "visual c" in message.lower():
+        # Special error message if MSVC++ not installed
+        tmpl = 'Microsoft Visual C++ {version:0.1f} is required.'
+        message = tmpl.format(**locals())
+        msdownload = 'www.microsoft.com/download/details.aspx?id=%d'
+        if version == 9.0:
+            if arch.lower().find('ia64') > -1:
+                # For VC++ 9.0, if IA64 support is needed, redirect user
+                # to Windows SDK 7.0.
+                # Note: No download link available from Microsoft.
+                message += ' Get it with "Microsoft Windows SDK 7.0"'
+            else:
+                # For VC++ 9.0 redirect user to Vc++ for Python 2.7 :
+                # This redirection link is maintained by Microsoft.
+                # Contact vspython@microsoft.com if it needs updating.
+                message += ' Get it from http://aka.ms/vcpython27'
+        elif version == 10.0:
+            # For VC++ 10.0 Redirect user to Windows SDK 7.1
+            message += ' Get it with "Microsoft Windows SDK 7.1": '
+            message += msdownload % 8279
+        elif version >= 14.0:
+            # For VC++ 14.X Redirect user to latest Visual C++ Build Tools
+            message += (' Get it with "Build Tools for Visual Studio": '
+                        r'https://visualstudio.microsoft.com/downloads/')
+
+    exc.args = (message, )
+
+
+class PlatformInfo:
+    """
+    Current and Target Architectures information.
+
+    Parameters
+    ----------
+    arch: str
+        Target architecture.
+    """
+    current_cpu = environ.get('processor_architecture', '').lower()
+
+    def __init__(self, arch):
+        self.arch = arch.lower().replace('x64', 'amd64')
+
+    @property
+    def target_cpu(self):
+        """
+        Return Target CPU architecture.
+
+        Return
+        ------
+        str
+            Target CPU
+        """
+        return self.arch[self.arch.find('_') + 1:]
+
+    def target_is_x86(self):
+        """
+        Return True if target CPU is x86 32 bits..
+
+        Return
+        ------
+        bool
+            CPU is x86 32 bits
+        """
+        return self.target_cpu == 'x86'
+
+    def current_is_x86(self):
+        """
+        Return True if current CPU is x86 32 bits..
+
+        Return
+        ------
+        bool
+            CPU is x86 32 bits
+        """
+        return self.current_cpu == 'x86'
+
+    def current_dir(self, hidex86=False, x64=False):
+        """
+        Current platform specific subfolder.
+
+        Parameters
+        ----------
+        hidex86: bool
+            return '' and not '\x86' if architecture is x86.
+        x64: bool
+            return '\x64' and not '\amd64' if architecture is amd64.
+
+        Return
+        ------
+        str
+            subfolder: '\target', or '' (see hidex86 parameter)
+        """
+        return (
+            '' if (self.current_cpu == 'x86' and hidex86) else
+            r'\x64' if (self.current_cpu == 'amd64' and x64) else
+            r'\%s' % self.current_cpu
+        )
+
+    def target_dir(self, hidex86=False, x64=False):
+        r"""
+        Target platform specific subfolder.
+
+        Parameters
+        ----------
+        hidex86: bool
+            return '' and not '\x86' if architecture is x86.
+        x64: bool
+            return '\x64' and not '\amd64' if architecture is amd64.
+
+        Return
+        ------
+        str
+            subfolder: '\current', or '' (see hidex86 parameter)
+        """
+        return (
+            '' if (self.target_cpu == 'x86' and hidex86) else
+            r'\x64' if (self.target_cpu == 'amd64' and x64) else
+            r'\%s' % self.target_cpu
+        )
+
+    def cross_dir(self, forcex86=False):
+        r"""
+        Cross platform specific subfolder.
+
+        Parameters
+        ----------
+        forcex86: bool
+            Use 'x86' as current architecture even if current architecture is
+            not x86.
+
+        Return
+        ------
+        str
+            subfolder: '' if target architecture is current architecture,
+            '\current_target' if not.
+        """
+        current = 'x86' if forcex86 else self.current_cpu
+        return (
+            '' if self.target_cpu == current else
+            self.target_dir().replace('\\', '\\%s_' % current)
+        )
+
+
+class RegistryInfo:
+    """
+    Microsoft Visual Studio related registry information.
+
+    Parameters
+    ----------
+    platform_info: PlatformInfo
+        "PlatformInfo" instance.
+    """
+    HKEYS = (winreg.HKEY_USERS,
+             winreg.HKEY_CURRENT_USER,
+             winreg.HKEY_LOCAL_MACHINE,
+             winreg.HKEY_CLASSES_ROOT)
+
+    def __init__(self, platform_info):
+        self.pi = platform_info
+
+    @property
+    def visualstudio(self):
+        """
+        Microsoft Visual Studio root registry key.
+
+        Return
+        ------
+        str
+            Registry key
+        """
+        return 'VisualStudio'
+
+    @property
+    def sxs(self):
+        """
+        Microsoft Visual Studio SxS registry key.
+
+        Return
+        ------
+        str
+            Registry key
+        """
+        return join(self.visualstudio, 'SxS')
+
+    @property
+    def vc(self):
+        """
+        Microsoft Visual C++ VC7 registry key.
+
+        Return
+        ------
+        str
+            Registry key
+        """
+        return join(self.sxs, 'VC7')
+
+    @property
+    def vs(self):
+        """
+        Microsoft Visual Studio VS7 registry key.
+
+        Return
+        ------
+        str
+            Registry key
+        """
+        return join(self.sxs, 'VS7')
+
+    @property
+    def vc_for_python(self):
+        """
+        Microsoft Visual C++ for Python registry key.
+
+        Return
+        ------
+        str
+            Registry key
+        """
+        return r'DevDiv\VCForPython'
+
+    @property
+    def microsoft_sdk(self):
+        """
+        Microsoft SDK registry key.
+
+        Return
+        ------
+        str
+            Registry key
+        """
+        return 'Microsoft SDKs'
+
+    @property
+    def windows_sdk(self):
+        """
+        Microsoft Windows/Platform SDK registry key.
+
+        Return
+        ------
+        str
+            Registry key
+        """
+        return join(self.microsoft_sdk, 'Windows')
+
+    @property
+    def netfx_sdk(self):
+        """
+        Microsoft .NET Framework SDK registry key.
+
+        Return
+        ------
+        str
+            Registry key
+        """
+        return join(self.microsoft_sdk, 'NETFXSDK')
+
+    @property
+    def windows_kits_roots(self):
+        """
+        Microsoft Windows Kits Roots registry key.
+
+        Return
+        ------
+        str
+            Registry key
+        """
+        return r'Windows Kits\Installed Roots'
+
+    def microsoft(self, key, x86=False):
+        """
+        Return key in Microsoft software registry.
+
+        Parameters
+        ----------
+        key: str
+            Registry key path where look.
+        x86: str
+            Force x86 software registry.
+
+        Return
+        ------
+        str
+            Registry key
+        """
+        node64 = '' if self.pi.current_is_x86() or x86 else 'Wow6432Node'
+        return join('Software', node64, 'Microsoft', key)
+
+    def lookup(self, key, name):
+        """
+        Look for values in registry in Microsoft software registry.
+
+        Parameters
+        ----------
+        key: str
+            Registry key path where look.
+        name: str
+            Value name to find.
+
+        Return
+        ------
+        str
+            value
+        """
+        key_read = winreg.KEY_READ
+        openkey = winreg.OpenKey
+        ms = self.microsoft
+        for hkey in self.HKEYS:
+            try:
+                bkey = openkey(hkey, ms(key), 0, key_read)
+            except (OSError, IOError):
+                if not self.pi.current_is_x86():
+                    try:
+                        bkey = openkey(hkey, ms(key, True), 0, key_read)
+                    except (OSError, IOError):
+                        continue
+                else:
+                    continue
+            try:
+                return winreg.QueryValueEx(bkey, name)[0]
+            except (OSError, IOError):
+                pass
+
+
+class SystemInfo:
+    """
+    Microsoft Windows and Visual Studio related system information.
+
+    Parameters
+    ----------
+    registry_info: RegistryInfo
+        "RegistryInfo" instance.
+    vc_ver: float
+        Required Microsoft Visual C++ version.
+    """
+
+    # Variables and properties in this class use originals CamelCase variables
+    # names from Microsoft source files for more easy comparison.
+    WinDir = environ.get('WinDir', '')
+    ProgramFiles = environ.get('ProgramFiles', '')
+    ProgramFilesx86 = environ.get('ProgramFiles(x86)', ProgramFiles)
+
+    def __init__(self, registry_info, vc_ver=None):
+        self.ri = registry_info
+        self.pi = self.ri.pi
+
+        self.known_vs_paths = self.find_programdata_vs_vers()
+
+        # Except for VS15+, VC version is aligned with VS version
+        self.vs_ver = self.vc_ver = (
+                vc_ver or self._find_latest_available_vs_ver())
+
+    def _find_latest_available_vs_ver(self):
+        """
+        Find the latest VC version
+
+        Return
+        ------
+        float
+            version
+        """
+        reg_vc_vers = self.find_reg_vs_vers()
+
+        if not (reg_vc_vers or self.known_vs_paths):
+            raise distutils.errors.DistutilsPlatformError(
+                'No Microsoft Visual C++ version found')
+
+        vc_vers = set(reg_vc_vers)
+        vc_vers.update(self.known_vs_paths)
+        return sorted(vc_vers)[-1]
+
+    def find_reg_vs_vers(self):
+        """
+        Find Microsoft Visual Studio versions available in registry.
+
+        Return
+        ------
+        list of float
+            Versions
+        """
+        ms = self.ri.microsoft
+        vckeys = (self.ri.vc, self.ri.vc_for_python, self.ri.vs)
+        vs_vers = []
+        for hkey in self.ri.HKEYS:
+            for key in vckeys:
+                try:
+                    bkey = winreg.OpenKey(hkey, ms(key), 0, winreg.KEY_READ)
+                except (OSError, IOError):
+                    continue
+                subkeys, values, _ = winreg.QueryInfoKey(bkey)
+                for i in range(values):
+                    try:
+                        ver = float(winreg.EnumValue(bkey, i)[0])
+                        if ver not in vs_vers:
+                            vs_vers.append(ver)
+                    except ValueError:
+                        pass
+                for i in range(subkeys):
+                    try:
+                        ver = float(winreg.EnumKey(bkey, i))
+                        if ver not in vs_vers:
+                            vs_vers.append(ver)
+                    except ValueError:
+                        pass
+        return sorted(vs_vers)
+
+    def find_programdata_vs_vers(self):
+        r"""
+        Find Visual studio 2017+ versions from information in
+        "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances".
+
+        Return
+        ------
+        dict
+            float version as key, path as value.
+        """
+        vs_versions = {}
+        instances_dir = \
+            r'C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances'
+
+        try:
+            hashed_names = listdir(instances_dir)
+
+        except (OSError, IOError):
+            # Directory not exists with all Visual Studio versions
+            return vs_versions
+
+        for name in hashed_names:
+            try:
+                # Get VS installation path from "state.json" file
+                state_path = join(instances_dir, name, 'state.json')
+                with open(state_path, 'rt', encoding='utf-8') as state_file:
+                    state = json.load(state_file)
+                vs_path = state['installationPath']
+
+                # Raises OSError if this VS installation does not contain VC
+                listdir(join(vs_path, r'VC\Tools\MSVC'))
+
+                # Store version and path
+                vs_versions[self._as_float_version(
+                    state['installationVersion'])] = vs_path
+
+            except (OSError, IOError, KeyError):
+                # Skip if "state.json" file is missing or bad format
+                continue
+
+        return vs_versions
+
+    @staticmethod
+    def _as_float_version(version):
+        """
+        Return a string version as a simplified float version (major.minor)
+
+        Parameters
+        ----------
+        version: str
+            Version.
+
+        Return
+        ------
+        float
+            version
+        """
+        return float('.'.join(version.split('.')[:2]))
+
+    @property
+    def VSInstallDir(self):
+        """
+        Microsoft Visual Studio directory.
+
+        Return
+        ------
+        str
+            path
+        """
+        # Default path
+        default = join(self.ProgramFilesx86,
+                       'Microsoft Visual Studio %0.1f' % self.vs_ver)
+
+        # Try to get path from registry, if fail use default path
+        return self.ri.lookup(self.ri.vs, '%0.1f' % self.vs_ver) or default
+
+    @property
+    def VCInstallDir(self):
+        """
+        Microsoft Visual C++ directory.
+
+        Return
+        ------
+        str
+            path
+        """
+        path = self._guess_vc() or self._guess_vc_legacy()
+
+        if not isdir(path):
+            msg = 'Microsoft Visual C++ directory not found'
+            raise distutils.errors.DistutilsPlatformError(msg)
+
+        return path
+
+    def _guess_vc(self):
+        """
+        Locate Visual C++ for VS2017+.
+
+        Return
+        ------
+        str
+            path
+        """
+        if self.vs_ver <= 14.0:
+            return ''
+
+        try:
+            # First search in known VS paths
+            vs_dir = self.known_vs_paths[self.vs_ver]
+        except KeyError:
+            # Else, search with path from registry
+            vs_dir = self.VSInstallDir
+
+        guess_vc = join(vs_dir, r'VC\Tools\MSVC')
+
+        # Subdir with VC exact version as name
+        try:
+            # Update the VC version with real one instead of VS version
+            vc_ver = listdir(guess_vc)[-1]
+            self.vc_ver = self._as_float_version(vc_ver)
+            return join(guess_vc, vc_ver)
+        except (OSError, IOError, IndexError):
+            return ''
+
+    def _guess_vc_legacy(self):
+        """
+        Locate Visual C++ for versions prior to 2017.
+
+        Return
+        ------
+        str
+            path
+        """
+        default = join(self.ProgramFilesx86,
+                       r'Microsoft Visual Studio %0.1f\VC' % self.vs_ver)
+
+        # Try to get "VC++ for Python" path from registry as default path
+        reg_path = join(self.ri.vc_for_python, '%0.1f' % self.vs_ver)
+        python_vc = self.ri.lookup(reg_path, 'installdir')
+        default_vc = join(python_vc, 'VC') if python_vc else default
+
+        # Try to get path from registry, if fail use default path
+        return self.ri.lookup(self.ri.vc, '%0.1f' % self.vs_ver) or default_vc
+
+    @property
+    def WindowsSdkVersion(self):
+        """
+        Microsoft Windows SDK versions for specified MSVC++ version.
+
+        Return
+        ------
+        tuple of str
+            versions
+        """
+        if self.vs_ver <= 9.0:
+            return '7.0', '6.1', '6.0a'
+        elif self.vs_ver == 10.0:
+            return '7.1', '7.0a'
+        elif self.vs_ver == 11.0:
+            return '8.0', '8.0a'
+        elif self.vs_ver == 12.0:
+            return '8.1', '8.1a'
+        elif self.vs_ver >= 14.0:
+            return '10.0', '8.1'
+
+    @property
+    def WindowsSdkLastVersion(self):
+        """
+        Microsoft Windows SDK last version.
+
+        Return
+        ------
+        str
+            version
+        """
+        return self._use_last_dir_name(join(self.WindowsSdkDir, 'lib'))
+
+    @property
+    def WindowsSdkDir(self):
+        """
+        Microsoft Windows SDK directory.
+
+        Return
+        ------
+        str
+            path
+        """
+        sdkdir = ''
+        for ver in self.WindowsSdkVersion:
+            # Try to get it from registry
+            loc = join(self.ri.windows_sdk, 'v%s' % ver)
+            sdkdir = self.ri.lookup(loc, 'installationfolder')
+            if sdkdir:
+                break
+        if not sdkdir or not isdir(sdkdir):
+            # Try to get "VC++ for Python" version from registry
+            path = join(self.ri.vc_for_python, '%0.1f' % self.vc_ver)
+            install_base = self.ri.lookup(path, 'installdir')
+            if install_base:
+                sdkdir = join(install_base, 'WinSDK')
+        if not sdkdir or not isdir(sdkdir):
+            # If fail, use default new path
+            for ver in self.WindowsSdkVersion:
+                intver = ver[:ver.rfind('.')]
+                path = r'Microsoft SDKs\Windows Kits\%s' % intver
+                d = join(self.ProgramFiles, path)
+                if isdir(d):
+                    sdkdir = d
+        if not sdkdir or not isdir(sdkdir):
+            # If fail, use default old path
+            for ver in self.WindowsSdkVersion:
+                path = r'Microsoft SDKs\Windows\v%s' % ver
+                d = join(self.ProgramFiles, path)
+                if isdir(d):
+                    sdkdir = d
+        if not sdkdir:
+            # If fail, use Platform SDK
+            sdkdir = join(self.VCInstallDir, 'PlatformSDK')
+        return sdkdir
+
+    @property
+    def WindowsSDKExecutablePath(self):
+        """
+        Microsoft Windows SDK executable directory.
+
+        Return
+        ------
+        str
+            path
+        """
+        # Find WinSDK NetFx Tools registry dir name
+        if self.vs_ver <= 11.0:
+            netfxver = 35
+            arch = ''
+        else:
+            netfxver = 40
+            hidex86 = True if self.vs_ver <= 12.0 else False
+            arch = self.pi.current_dir(x64=True, hidex86=hidex86)
+        fx = 'WinSDK-NetFx%dTools%s' % (netfxver, arch.replace('\\', '-'))
+
+        # list all possibles registry paths
+        regpaths = []
+        if self.vs_ver >= 14.0:
+            for ver in self.NetFxSdkVersion:
+                regpaths += [join(self.ri.netfx_sdk, ver, fx)]
+
+        for ver in self.WindowsSdkVersion:
+            regpaths += [join(self.ri.windows_sdk, 'v%sA' % ver, fx)]
+
+        # Return installation folder from the more recent path
+        for path in regpaths:
+            execpath = self.ri.lookup(path, 'installationfolder')
+            if execpath:
+                return execpath
+
+    @property
+    def FSharpInstallDir(self):
+        """
+        Microsoft Visual F# directory.
+
+        Return
+        ------
+        str
+            path
+        """
+        path = join(self.ri.visualstudio, r'%0.1f\Setup\F#' % self.vs_ver)
+        return self.ri.lookup(path, 'productdir') or ''
+
+    @property
+    def UniversalCRTSdkDir(self):
+        """
+        Microsoft Universal CRT SDK directory.
+
+        Return
+        ------
+        str
+            path
+        """
+        # Set Kit Roots versions for specified MSVC++ version
+        vers = ('10', '81') if self.vs_ver >= 14.0 else ()
+
+        # Find path of the more recent Kit
+        for ver in vers:
+            sdkdir = self.ri.lookup(self.ri.windows_kits_roots,
+                                    'kitsroot%s' % ver)
+            if sdkdir:
+                return sdkdir or ''
+
+    @property
+    def UniversalCRTSdkLastVersion(self):
+        """
+        Microsoft Universal C Runtime SDK last version.
+
+        Return
+        ------
+        str
+            version
+        """
+        return self._use_last_dir_name(join(self.UniversalCRTSdkDir, 'lib'))
+
+    @property
+    def NetFxSdkVersion(self):
+        """
+        Microsoft .NET Framework SDK versions.
+
+        Return
+        ------
+        tuple of str
+            versions
+        """
+        # Set FxSdk versions for specified VS version
+        return (('4.7.2', '4.7.1', '4.7',
+                 '4.6.2', '4.6.1', '4.6',
+                 '4.5.2', '4.5.1', '4.5')
+                if self.vs_ver >= 14.0 else ())
+
+    @property
+    def NetFxSdkDir(self):
+        """
+        Microsoft .NET Framework SDK directory.
+
+        Return
+        ------
+        str
+            path
+        """
+        sdkdir = ''
+        for ver in self.NetFxSdkVersion:
+            loc = join(self.ri.netfx_sdk, ver)
+            sdkdir = self.ri.lookup(loc, 'kitsinstallationfolder')
+            if sdkdir:
+                break
+        return sdkdir
+
+    @property
+    def FrameworkDir32(self):
+        """
+        Microsoft .NET Framework 32bit directory.
+
+        Return
+        ------
+        str
+            path
+        """
+        # Default path
+        guess_fw = join(self.WinDir, r'Microsoft.NET\Framework')
+
+        # Try to get path from registry, if fail use default path
+        return self.ri.lookup(self.ri.vc, 'frameworkdir32') or guess_fw
+
+    @property
+    def FrameworkDir64(self):
+        """
+        Microsoft .NET Framework 64bit directory.
+
+        Return
+        ------
+        str
+            path
+        """
+        # Default path
+        guess_fw = join(self.WinDir, r'Microsoft.NET\Framework64')
+
+        # Try to get path from registry, if fail use default path
+        return self.ri.lookup(self.ri.vc, 'frameworkdir64') or guess_fw
+
+    @property
+    def FrameworkVersion32(self):
+        """
+        Microsoft .NET Framework 32bit versions.
+
+        Return
+        ------
+        tuple of str
+            versions
+        """
+        return self._find_dot_net_versions(32)
+
+    @property
+    def FrameworkVersion64(self):
+        """
+        Microsoft .NET Framework 64bit versions.
+
+        Return
+        ------
+        tuple of str
+            versions
+        """
+        return self._find_dot_net_versions(64)
+
+    def _find_dot_net_versions(self, bits):
+        """
+        Find Microsoft .NET Framework versions.
+
+        Parameters
+        ----------
+        bits: int
+            Platform number of bits: 32 or 64.
+
+        Return
+        ------
+        tuple of str
+            versions
+        """
+        # Find actual .NET version in registry
+        reg_ver = self.ri.lookup(self.ri.vc, 'frameworkver%d' % bits)
+        dot_net_dir = getattr(self, 'FrameworkDir%d' % bits)
+        ver = reg_ver or self._use_last_dir_name(dot_net_dir, 'v') or ''
+
+        # Set .NET versions for specified MSVC++ version
+        if self.vs_ver >= 12.0:
+            return ver, 'v4.0'
+        elif self.vs_ver >= 10.0:
+            return 'v4.0.30319' if ver.lower()[:2] != 'v4' else ver, 'v3.5'
+        elif self.vs_ver == 9.0:
+            return 'v3.5', 'v2.0.50727'
+        elif self.vs_ver == 8.0:
+            return 'v3.0', 'v2.0.50727'
+
+    @staticmethod
+    def _use_last_dir_name(path, prefix=''):
+        """
+        Return name of the last dir in path or '' if no dir found.
+
+        Parameters
+        ----------
+        path: str
+            Use dirs in this path
+        prefix: str
+            Use only dirs starting by this prefix
+
+        Return
+        ------
+        str
+            name
+        """
+        matching_dirs = (
+            dir_name
+            for dir_name in reversed(listdir(path))
+            if isdir(join(path, dir_name)) and
+            dir_name.startswith(prefix)
+        )
+        return next(matching_dirs, None) or ''
+
+
+class EnvironmentInfo:
+    """
+    Return environment variables for specified Microsoft Visual C++ version
+    and platform : Lib, Include, Path and libpath.
+
+    This function is compatible with Microsoft Visual C++ 9.0 to 14.X.
+
+    Script created by analysing Microsoft environment configuration files like
+    "vcvars[...].bat", "SetEnv.Cmd", "vcbuildtools.bat", ...
+
+    Parameters
+    ----------
+    arch: str
+        Target architecture.
+    vc_ver: float
+        Required Microsoft Visual C++ version. If not set, autodetect the last
+        version.
+    vc_min_ver: float
+        Minimum Microsoft Visual C++ version.
+    """
+
+    # Variables and properties in this class use originals CamelCase variables
+    # names from Microsoft source files for more easy comparison.
+
+    def __init__(self, arch, vc_ver=None, vc_min_ver=0):
+        self.pi = PlatformInfo(arch)
+        self.ri = RegistryInfo(self.pi)
+        self.si = SystemInfo(self.ri, vc_ver)
+
+        if self.vc_ver < vc_min_ver:
+            err = 'No suitable Microsoft Visual C++ version found'
+            raise distutils.errors.DistutilsPlatformError(err)
+
+    @property
+    def vs_ver(self):
+        """
+        Microsoft Visual Studio.
+
+        Return
+        ------
+        float
+            version
+        """
+        return self.si.vs_ver
+
+    @property
+    def vc_ver(self):
+        """
+        Microsoft Visual C++ version.
+
+        Return
+        ------
+        float
+            version
+        """
+        return self.si.vc_ver
+
+    @property
+    def VSTools(self):
+        """
+        Microsoft Visual Studio Tools.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        paths = [r'Common7\IDE', r'Common7\Tools']
+
+        if self.vs_ver >= 14.0:
+            arch_subdir = self.pi.current_dir(hidex86=True, x64=True)
+            paths += [r'Common7\IDE\CommonExtensions\Microsoft\TestWindow']
+            paths += [r'Team Tools\Performance Tools']
+            paths += [r'Team Tools\Performance Tools%s' % arch_subdir]
+
+        return [join(self.si.VSInstallDir, path) for path in paths]
+
+    @property
+    def VCIncludes(self):
+        """
+        Microsoft Visual C++ & Microsoft Foundation Class Includes.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        return [join(self.si.VCInstallDir, 'Include'),
+                join(self.si.VCInstallDir, r'ATLMFC\Include')]
+
+    @property
+    def VCLibraries(self):
+        """
+        Microsoft Visual C++ & Microsoft Foundation Class Libraries.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if self.vs_ver >= 15.0:
+            arch_subdir = self.pi.target_dir(x64=True)
+        else:
+            arch_subdir = self.pi.target_dir(hidex86=True)
+        paths = ['Lib%s' % arch_subdir, r'ATLMFC\Lib%s' % arch_subdir]
+
+        if self.vs_ver >= 14.0:
+            paths += [r'Lib\store%s' % arch_subdir]
+
+        return [join(self.si.VCInstallDir, path) for path in paths]
+
+    @property
+    def VCStoreRefs(self):
+        """
+        Microsoft Visual C++ store references Libraries.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if self.vs_ver < 14.0:
+            return []
+        return [join(self.si.VCInstallDir, r'Lib\store\references')]
+
+    @property
+    def VCTools(self):
+        """
+        Microsoft Visual C++ Tools.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        si = self.si
+        tools = [join(si.VCInstallDir, 'VCPackages')]
+
+        forcex86 = True if self.vs_ver <= 10.0 else False
+        arch_subdir = self.pi.cross_dir(forcex86)
+        if arch_subdir:
+            tools += [join(si.VCInstallDir, 'Bin%s' % arch_subdir)]
+
+        if self.vs_ver == 14.0:
+            path = 'Bin%s' % self.pi.current_dir(hidex86=True)
+            tools += [join(si.VCInstallDir, path)]
+
+        elif self.vs_ver >= 15.0:
+            host_dir = (r'bin\HostX86%s' if self.pi.current_is_x86() else
+                        r'bin\HostX64%s')
+            tools += [join(
+                si.VCInstallDir, host_dir % self.pi.target_dir(x64=True))]
+
+            if self.pi.current_cpu != self.pi.target_cpu:
+                tools += [join(
+                    si.VCInstallDir, host_dir % self.pi.current_dir(x64=True))]
+
+        else:
+            tools += [join(si.VCInstallDir, 'Bin')]
+
+        return tools
+
+    @property
+    def OSLibraries(self):
+        """
+        Microsoft Windows SDK Libraries.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if self.vs_ver <= 10.0:
+            arch_subdir = self.pi.target_dir(hidex86=True, x64=True)
+            return [join(self.si.WindowsSdkDir, 'Lib%s' % arch_subdir)]
+
+        else:
+            arch_subdir = self.pi.target_dir(x64=True)
+            lib = join(self.si.WindowsSdkDir, 'lib')
+            libver = self._sdk_subdir
+            return [join(lib, '%sum%s' % (libver , arch_subdir))]
+
+    @property
+    def OSIncludes(self):
+        """
+        Microsoft Windows SDK Include.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        include = join(self.si.WindowsSdkDir, 'include')
+
+        if self.vs_ver <= 10.0:
+            return [include, join(include, 'gl')]
+
+        else:
+            if self.vs_ver >= 14.0:
+                sdkver = self._sdk_subdir
+            else:
+                sdkver = ''
+            return [join(include, '%sshared' % sdkver),
+                    join(include, '%sum' % sdkver),
+                    join(include, '%swinrt' % sdkver)]
+
+    @property
+    def OSLibpath(self):
+        """
+        Microsoft Windows SDK Libraries Paths.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        ref = join(self.si.WindowsSdkDir, 'References')
+        libpath = []
+
+        if self.vs_ver <= 9.0:
+            libpath += self.OSLibraries
+
+        if self.vs_ver >= 11.0:
+            libpath += [join(ref, r'CommonConfiguration\Neutral')]
+
+        if self.vs_ver >= 14.0:
+            libpath += [
+                ref,
+                join(self.si.WindowsSdkDir, 'UnionMetadata'),
+                join(ref, 'Windows.Foundation.UniversalApiContract', '1.0.0.0'),
+                join(ref, 'Windows.Foundation.FoundationContract', '1.0.0.0'),
+                join(ref,'Windows.Networking.Connectivity.WwanContract',
+                     '1.0.0.0'),
+                join(self.si.WindowsSdkDir, 'ExtensionSDKs', 'Microsoft.VCLibs',
+                     '%0.1f' % self.vs_ver, 'References', 'CommonConfiguration',
+                     'neutral'),
+            ]
+        return libpath
+
+    @property
+    def SdkTools(self):
+        """
+        Microsoft Windows SDK Tools.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        return list(self._sdk_tools())
+
+    def _sdk_tools(self):
+        """
+        Microsoft Windows SDK Tools paths generator.
+
+        Return
+        ------
+        generator of str
+            paths
+        """
+        if self.vs_ver < 15.0:
+            bin_dir = 'Bin' if self.vs_ver <= 11.0 else r'Bin\x86'
+            yield join(self.si.WindowsSdkDir, bin_dir)
+
+        if not self.pi.current_is_x86():
+            arch_subdir = self.pi.current_dir(x64=True)
+            path = 'Bin%s' % arch_subdir
+            yield join(self.si.WindowsSdkDir, path)
+
+        if self.vs_ver in (10.0, 11.0):
+            if self.pi.target_is_x86():
+                arch_subdir = ''
+            else:
+                arch_subdir = self.pi.current_dir(hidex86=True, x64=True)
+            path = r'Bin\NETFX 4.0 Tools%s' % arch_subdir
+            yield join(self.si.WindowsSdkDir, path)
+
+        elif self.vs_ver >= 15.0:
+            path = join(self.si.WindowsSdkDir, 'Bin')
+            arch_subdir = self.pi.current_dir(x64=True)
+            sdkver = self.si.WindowsSdkLastVersion
+            yield join(path, '%s%s' % (sdkver, arch_subdir))
+
+        if self.si.WindowsSDKExecutablePath:
+            yield self.si.WindowsSDKExecutablePath
+
+    @property
+    def _sdk_subdir(self):
+        """
+        Microsoft Windows SDK version subdir.
+
+        Return
+        ------
+        str
+            subdir
+        """
+        ucrtver = self.si.WindowsSdkLastVersion
+        return ('%s\\' % ucrtver) if ucrtver else ''
+
+    @property
+    def SdkSetup(self):
+        """
+        Microsoft Windows SDK Setup.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if self.vs_ver > 9.0:
+            return []
+
+        return [join(self.si.WindowsSdkDir, 'Setup')]
+
+    @property
+    def FxTools(self):
+        """
+        Microsoft .NET Framework Tools.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        pi = self.pi
+        si = self.si
+
+        if self.vs_ver <= 10.0:
+            include32 = True
+            include64 = not pi.target_is_x86() and not pi.current_is_x86()
+        else:
+            include32 = pi.target_is_x86() or pi.current_is_x86()
+            include64 = pi.current_cpu == 'amd64' or pi.target_cpu == 'amd64'
+
+        tools = []
+        if include32:
+            tools += [join(si.FrameworkDir32, ver)
+                      for ver in si.FrameworkVersion32]
+        if include64:
+            tools += [join(si.FrameworkDir64, ver)
+                      for ver in si.FrameworkVersion64]
+        return tools
+
+    @property
+    def NetFxSDKLibraries(self):
+        """
+        Microsoft .Net Framework SDK Libraries.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if self.vs_ver < 14.0 or not self.si.NetFxSdkDir:
+            return []
+
+        arch_subdir = self.pi.target_dir(x64=True)
+        return [join(self.si.NetFxSdkDir, r'lib\um%s' % arch_subdir)]
+
+    @property
+    def NetFxSDKIncludes(self):
+        """
+        Microsoft .Net Framework SDK Includes.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if self.vs_ver < 14.0 or not self.si.NetFxSdkDir:
+            return []
+
+        return [join(self.si.NetFxSdkDir, r'include\um')]
+
+    @property
+    def VsTDb(self):
+        """
+        Microsoft Visual Studio Team System Database.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        return [join(self.si.VSInstallDir, r'VSTSDB\Deploy')]
+
+    @property
+    def MSBuild(self):
+        """
+        Microsoft Build Engine.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if self.vs_ver < 12.0:
+            return []
+        elif self.vs_ver < 15.0:
+            base_path = self.si.ProgramFilesx86
+            arch_subdir = self.pi.current_dir(hidex86=True)
+        else:
+            base_path = self.si.VSInstallDir
+            arch_subdir = ''
+
+        path = r'MSBuild\%0.1f\bin%s' % (self.vs_ver, arch_subdir)
+        build = [join(base_path, path)]
+
+        if self.vs_ver >= 15.0:
+            # Add Roslyn C# & Visual Basic Compiler
+            build += [join(base_path, path, 'Roslyn')]
+
+        return build
+
+    @property
+    def HTMLHelpWorkshop(self):
+        """
+        Microsoft HTML Help Workshop.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if self.vs_ver < 11.0:
+            return []
+
+        return [join(self.si.ProgramFilesx86, 'HTML Help Workshop')]
+
+    @property
+    def UCRTLibraries(self):
+        """
+        Microsoft Universal C Runtime SDK Libraries.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if self.vs_ver < 14.0:
+            return []
+
+        arch_subdir = self.pi.target_dir(x64=True)
+        lib = join(self.si.UniversalCRTSdkDir, 'lib')
+        ucrtver = self._ucrt_subdir
+        return [join(lib, '%sucrt%s' % (ucrtver, arch_subdir))]
+
+    @property
+    def UCRTIncludes(self):
+        """
+        Microsoft Universal C Runtime SDK Include.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if self.vs_ver < 14.0:
+            return []
+
+        include = join(self.si.UniversalCRTSdkDir, 'include')
+        return [join(include, '%sucrt' % self._ucrt_subdir)]
+
+    @property
+    def _ucrt_subdir(self):
+        """
+        Microsoft Universal C Runtime SDK version subdir.
+
+        Return
+        ------
+        str
+            subdir
+        """
+        ucrtver = self.si.UniversalCRTSdkLastVersion
+        return ('%s\\' % ucrtver) if ucrtver else ''
+
+    @property
+    def FSharp(self):
+        """
+        Microsoft Visual F#.
+
+        Return
+        ------
+        list of str
+            paths
+        """
+        if 11.0 > self.vs_ver > 12.0:
+            return []
+
+        return [self.si.FSharpInstallDir]
+
+    @property
+    def VCRuntimeRedist(self):
+        """
+        Microsoft Visual C++ runtime redistributable dll.
+
+        Return
+        ------
+        str
+            path
+        """
+        vcruntime = 'vcruntime%d0.dll' % self.vc_ver
+        arch_subdir = self.pi.target_dir(x64=True).strip('\\')
+
+        # Installation prefixes candidates
+        prefixes = []
+        tools_path = self.si.VCInstallDir
+        redist_path = dirname(tools_path.replace(r'\Tools', r'\Redist'))
+        if isdir(redist_path):
+            # Redist version may not be exactly the same as tools
+            redist_path = join(redist_path, listdir(redist_path)[-1])
+            prefixes += [redist_path, join(redist_path, 'onecore')]
+
+        prefixes += [join(tools_path, 'redist')]  # VS14 legacy path
+
+        # CRT directory
+        crt_dirs = ('Microsoft.VC%d.CRT' % (self.vc_ver * 10),
+                    # Sometime store in directory with VS version instead of VC
+                    'Microsoft.VC%d.CRT' % (int(self.vs_ver) * 10))
+
+        # vcruntime path
+        for prefix, crt_dir in itertools.product(prefixes, crt_dirs):
+            path = join(prefix, arch_subdir, crt_dir, vcruntime)
+            if isfile(path):
+                return path
+
+    def return_env(self, exists=True):
+        """
+        Return environment dict.
+
+        Parameters
+        ----------
+        exists: bool
+            It True, only return existing paths.
+
+        Return
+        ------
+        dict
+            environment
+        """
+        env = dict(
+            include=self._build_paths('include',
+                                      [self.VCIncludes,
+                                       self.OSIncludes,
+                                       self.UCRTIncludes,
+                                       self.NetFxSDKIncludes],
+                                      exists),
+            lib=self._build_paths('lib',
+                                  [self.VCLibraries,
+                                   self.OSLibraries,
+                                   self.FxTools,
+                                   self.UCRTLibraries,
+                                   self.NetFxSDKLibraries],
+                                  exists),
+            libpath=self._build_paths('libpath',
+                                      [self.VCLibraries,
+                                       self.FxTools,
+                                       self.VCStoreRefs,
+                                       self.OSLibpath],
+                                      exists),
+            path=self._build_paths('path',
+                                   [self.VCTools,
+                                    self.VSTools,
+                                    self.VsTDb,
+                                    self.SdkTools,
+                                    self.SdkSetup,
+                                    self.FxTools,
+                                    self.MSBuild,
+                                    self.HTMLHelpWorkshop,
+                                    self.FSharp],
+                                   exists),
+        )
+        if self.vs_ver >= 14 and isfile(self.VCRuntimeRedist):
+            env['py_vcruntime_redist'] = self.VCRuntimeRedist
+        return env
+
+    def _build_paths(self, name, spec_path_lists, exists):
+        """
+        Given an environment variable name and specified paths,
+        return a pathsep-separated string of paths containing
+        unique, extant, directories from those paths and from
+        the environment variable. Raise an error if no paths
+        are resolved.
+
+        Parameters
+        ----------
+        name: str
+            Environment variable name
+        spec_path_lists: list of str
+            Paths
+        exists: bool
+            It True, only return existing paths.
+
+        Return
+        ------
+        str
+            Pathsep-separated paths
+        """
+        # flatten spec_path_lists
+        spec_paths = itertools.chain.from_iterable(spec_path_lists)
+        env_paths = environ.get(name, '').split(pathsep)
+        paths = itertools.chain(spec_paths, env_paths)
+        extant_paths = list(filter(isdir, paths)) if exists else paths
+        if not extant_paths:
+            msg = "%s environment variable is empty" % name.upper()
+            raise distutils.errors.DistutilsPlatformError(msg)
+        unique_paths = self._unique_everseen(extant_paths)
+        return pathsep.join(unique_paths)
+
+    # from Python docs
+    @staticmethod
+    def _unique_everseen(iterable, key=None):
+        """
+        List unique elements, preserving order.
+        Remember all elements ever seen.
+
+        _unique_everseen('AAAABBBCCDAABBB') --> A B C D
+
+        _unique_everseen('ABBCcAD', str.lower) --> A B C D
+        """
+        seen = set()
+        seen_add = seen.add
+        if key is None:
+            for element in filterfalse(seen.__contains__, iterable):
+                seen_add(element)
+                yield element
+        else:
+            for element in iterable:
+                k = key(element)
+                if k not in seen:
+                    seen_add(k)
+                    yield element
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/namespaces.py b/iot_env/lib/python3.8/site-packages/setuptools/namespaces.py
new file mode 100644
index 0000000..dc16106
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/namespaces.py
@@ -0,0 +1,107 @@
+import os
+from distutils import log
+import itertools
+
+from setuptools.extern.six.moves import map
+
+
+flatten = itertools.chain.from_iterable
+
+
+class Installer:
+
+    nspkg_ext = '-nspkg.pth'
+
+    def install_namespaces(self):
+        nsp = self._get_all_ns_packages()
+        if not nsp:
+            return
+        filename, ext = os.path.splitext(self._get_target())
+        filename += self.nspkg_ext
+        self.outputs.append(filename)
+        log.info("Installing %s", filename)
+        lines = map(self._gen_nspkg_line, nsp)
+
+        if self.dry_run:
+            # always generate the lines, even in dry run
+            list(lines)
+            return
+
+        with open(filename, 'wt') as f:
+            f.writelines(lines)
+
+    def uninstall_namespaces(self):
+        filename, ext = os.path.splitext(self._get_target())
+        filename += self.nspkg_ext
+        if not os.path.exists(filename):
+            return
+        log.info("Removing %s", filename)
+        os.remove(filename)
+
+    def _get_target(self):
+        return self.target
+
+    _nspkg_tmpl = (
+        "import sys, types, os",
+        "has_mfs = sys.version_info > (3, 5)",
+        "p = os.path.join(%(root)s, *%(pth)r)",
+        "importlib = has_mfs and __import__('importlib.util')",
+        "has_mfs and __import__('importlib.machinery')",
+        "m = has_mfs and "
+            "sys.modules.setdefault(%(pkg)r, "
+                "importlib.util.module_from_spec("
+                    "importlib.machinery.PathFinder.find_spec(%(pkg)r, "
+                        "[os.path.dirname(p)])))",
+        "m = m or "
+            "sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))",
+        "mp = (m or []) and m.__dict__.setdefault('__path__',[])",
+        "(p not in mp) and mp.append(p)",
+    )
+    "lines for the namespace installer"
+
+    _nspkg_tmpl_multi = (
+        'm and setattr(sys.modules[%(parent)r], %(child)r, m)',
+    )
+    "additional line(s) when a parent package is indicated"
+
+    def _get_root(self):
+        return "sys._getframe(1).f_locals['sitedir']"
+
+    def _gen_nspkg_line(self, pkg):
+        # ensure pkg is not a unicode string under Python 2.7
+        pkg = str(pkg)
+        pth = tuple(pkg.split('.'))
+        root = self._get_root()
+        tmpl_lines = self._nspkg_tmpl
+        parent, sep, child = pkg.rpartition('.')
+        if parent:
+            tmpl_lines += self._nspkg_tmpl_multi
+        return ';'.join(tmpl_lines) % locals() + '\n'
+
+    def _get_all_ns_packages(self):
+        """Return sorted list of all package namespaces"""
+        pkgs = self.distribution.namespace_packages or []
+        return sorted(flatten(map(self._pkg_names, pkgs)))
+
+    @staticmethod
+    def _pkg_names(pkg):
+        """
+        Given a namespace package, yield the components of that
+        package.
+
+        >>> names = Installer._pkg_names('a.b.c')
+        >>> set(names) == set(['a', 'a.b', 'a.b.c'])
+        True
+        """
+        parts = pkg.split('.')
+        while parts:
+            yield '.'.join(parts)
+            parts.pop()
+
+
+class DevelopInstaller(Installer):
+    def _get_root(self):
+        return repr(str(self.egg_path))
+
+    def _get_target(self):
+        return self.egg_link
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/package_index.py b/iot_env/lib/python3.8/site-packages/setuptools/package_index.py
new file mode 100644
index 0000000..9a2da9d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/package_index.py
@@ -0,0 +1,1136 @@
+"""PyPI and direct package downloading"""
+import sys
+import os
+import re
+import shutil
+import socket
+import base64
+import hashlib
+import itertools
+import warnings
+from functools import wraps
+
+from setuptools.extern import six
+from setuptools.extern.six.moves import urllib, http_client, configparser, map
+
+import setuptools
+from pkg_resources import (
+    CHECKOUT_DIST, Distribution, BINARY_DIST, normalize_path, SOURCE_DIST,
+    Environment, find_distributions, safe_name, safe_version,
+    to_filename, Requirement, DEVELOP_DIST, EGG_DIST,
+)
+from setuptools import ssl_support
+from distutils import log
+from distutils.errors import DistutilsError
+from fnmatch import translate
+from setuptools.py27compat import get_all_headers
+from setuptools.py33compat import unescape
+from setuptools.wheel import Wheel
+
+__metaclass__ = type
+
+EGG_FRAGMENT = re.compile(r'^egg=([-A-Za-z0-9_.+!]+)$')
+HREF = re.compile(r"""href\s*=\s*['"]?([^'"> ]+)""", re.I)
+PYPI_MD5 = re.compile(
+    r'<a href="([^"#]+)">([^<]+)</a>\n\s+\(<a (?:title="MD5 hash"\n\s+)'
+    r'href="[^?]+\?:action=show_md5&amp;digest=([0-9a-f]{32})">md5</a>\)'
+)
+URL_SCHEME = re.compile('([-+.a-z0-9]{2,}):', re.I).match
+EXTENSIONS = ".tar.gz .tar.bz2 .tar .zip .tgz".split()
+
+__all__ = [
+    'PackageIndex', 'distros_for_url', 'parse_bdist_wininst',
+    'interpret_distro_name',
+]
+
+_SOCKET_TIMEOUT = 15
+
+_tmpl = "setuptools/{setuptools.__version__} Python-urllib/{py_major}"
+user_agent = _tmpl.format(py_major='{}.{}'.format(*sys.version_info), setuptools=setuptools)
+
+
+def parse_requirement_arg(spec):
+    try:
+        return Requirement.parse(spec)
+    except ValueError:
+        raise DistutilsError(
+            "Not a URL, existing file, or requirement spec: %r" % (spec,)
+        )
+
+
+def parse_bdist_wininst(name):
+    """Return (base,pyversion) or (None,None) for possible .exe name"""
+
+    lower = name.lower()
+    base, py_ver, plat = None, None, None
+
+    if lower.endswith('.exe'):
+        if lower.endswith('.win32.exe'):
+            base = name[:-10]
+            plat = 'win32'
+        elif lower.startswith('.win32-py', -16):
+            py_ver = name[-7:-4]
+            base = name[:-16]
+            plat = 'win32'
+        elif lower.endswith('.win-amd64.exe'):
+            base = name[:-14]
+            plat = 'win-amd64'
+        elif lower.startswith('.win-amd64-py', -20):
+            py_ver = name[-7:-4]
+            base = name[:-20]
+            plat = 'win-amd64'
+    return base, py_ver, plat
+
+
+def egg_info_for_url(url):
+    parts = urllib.parse.urlparse(url)
+    scheme, server, path, parameters, query, fragment = parts
+    base = urllib.parse.unquote(path.split('/')[-1])
+    if server == 'sourceforge.net' and base == 'download':  # XXX Yuck
+        base = urllib.parse.unquote(path.split('/')[-2])
+    if '#' in base:
+        base, fragment = base.split('#', 1)
+    return base, fragment
+
+
+def distros_for_url(url, metadata=None):
+    """Yield egg or source distribution objects that might be found at a URL"""
+    base, fragment = egg_info_for_url(url)
+    for dist in distros_for_location(url, base, metadata):
+        yield dist
+    if fragment:
+        match = EGG_FRAGMENT.match(fragment)
+        if match:
+            for dist in interpret_distro_name(
+                url, match.group(1), metadata, precedence=CHECKOUT_DIST
+            ):
+                yield dist
+
+
+def distros_for_location(location, basename, metadata=None):
+    """Yield egg or source distribution objects based on basename"""
+    if basename.endswith('.egg.zip'):
+        basename = basename[:-4]  # strip the .zip
+    if basename.endswith('.egg') and '-' in basename:
+        # only one, unambiguous interpretation
+        return [Distribution.from_location(location, basename, metadata)]
+    if basename.endswith('.whl') and '-' in basename:
+        wheel = Wheel(basename)
+        if not wheel.is_compatible():
+            return []
+        return [Distribution(
+            location=location,
+            project_name=wheel.project_name,
+            version=wheel.version,
+            # Increase priority over eggs.
+            precedence=EGG_DIST + 1,
+        )]
+    if basename.endswith('.exe'):
+        win_base, py_ver, platform = parse_bdist_wininst(basename)
+        if win_base is not None:
+            return interpret_distro_name(
+                location, win_base, metadata, py_ver, BINARY_DIST, platform
+            )
+    # Try source distro extensions (.zip, .tgz, etc.)
+    #
+    for ext in EXTENSIONS:
+        if basename.endswith(ext):
+            basename = basename[:-len(ext)]
+            return interpret_distro_name(location, basename, metadata)
+    return []  # no extension matched
+
+
+def distros_for_filename(filename, metadata=None):
+    """Yield possible egg or source distribution objects based on a filename"""
+    return distros_for_location(
+        normalize_path(filename), os.path.basename(filename), metadata
+    )
+
+
+def interpret_distro_name(
+        location, basename, metadata, py_version=None, precedence=SOURCE_DIST,
+        platform=None
+):
+    """Generate alternative interpretations of a source distro name
+
+    Note: if `location` is a filesystem filename, you should call
+    ``pkg_resources.normalize_path()`` on it before passing it to this
+    routine!
+    """
+    # Generate alternative interpretations of a source distro name
+    # Because some packages are ambiguous as to name/versions split
+    # e.g. "adns-python-1.1.0", "egenix-mx-commercial", etc.
+    # So, we generate each possible interepretation (e.g. "adns, python-1.1.0"
+    # "adns-python, 1.1.0", and "adns-python-1.1.0, no version").  In practice,
+    # the spurious interpretations should be ignored, because in the event
+    # there's also an "adns" package, the spurious "python-1.1.0" version will
+    # compare lower than any numeric version number, and is therefore unlikely
+    # to match a request for it.  It's still a potential problem, though, and
+    # in the long run PyPI and the distutils should go for "safe" names and
+    # versions in distribution archive names (sdist and bdist).
+
+    parts = basename.split('-')
+    if not py_version and any(re.match(r'py\d\.\d$', p) for p in parts[2:]):
+        # it is a bdist_dumb, not an sdist -- bail out
+        return
+
+    for p in range(1, len(parts) + 1):
+        yield Distribution(
+            location, metadata, '-'.join(parts[:p]), '-'.join(parts[p:]),
+            py_version=py_version, precedence=precedence,
+            platform=platform
+        )
+
+
+# From Python 2.7 docs
+def unique_everseen(iterable, key=None):
+    "List unique elements, preserving order. Remember all elements ever seen."
+    # unique_everseen('AAAABBBCCDAABBB') --> A B C D
+    # unique_everseen('ABBCcAD', str.lower) --> A B C D
+    seen = set()
+    seen_add = seen.add
+    if key is None:
+        for element in six.moves.filterfalse(seen.__contains__, iterable):
+            seen_add(element)
+            yield element
+    else:
+        for element in iterable:
+            k = key(element)
+            if k not in seen:
+                seen_add(k)
+                yield element
+
+
+def unique_values(func):
+    """
+    Wrap a function returning an iterable such that the resulting iterable
+    only ever yields unique items.
+    """
+
+    @wraps(func)
+    def wrapper(*args, **kwargs):
+        return unique_everseen(func(*args, **kwargs))
+
+    return wrapper
+
+
+REL = re.compile(r"""<([^>]*\srel\s{0,10}=\s{0,10}['"]?([^'" >]+)[^>]*)>""", re.I)
+# this line is here to fix emacs' cruddy broken syntax highlighting
+
+
+@unique_values
+def find_external_links(url, page):
+    """Find rel="homepage" and rel="download" links in `page`, yielding URLs"""
+
+    for match in REL.finditer(page):
+        tag, rel = match.groups()
+        rels = set(map(str.strip, rel.lower().split(',')))
+        if 'homepage' in rels or 'download' in rels:
+            for match in HREF.finditer(tag):
+                yield urllib.parse.urljoin(url, htmldecode(match.group(1)))
+
+    for tag in ("<th>Home Page", "<th>Download URL"):
+        pos = page.find(tag)
+        if pos != -1:
+            match = HREF.search(page, pos)
+            if match:
+                yield urllib.parse.urljoin(url, htmldecode(match.group(1)))
+
+
+class ContentChecker:
+    """
+    A null content checker that defines the interface for checking content
+    """
+
+    def feed(self, block):
+        """
+        Feed a block of data to the hash.
+        """
+        return
+
+    def is_valid(self):
+        """
+        Check the hash. Return False if validation fails.
+        """
+        return True
+
+    def report(self, reporter, template):
+        """
+        Call reporter with information about the checker (hash name)
+        substituted into the template.
+        """
+        return
+
+
+class HashChecker(ContentChecker):
+    pattern = re.compile(
+        r'(?P<hash_name>sha1|sha224|sha384|sha256|sha512|md5)='
+        r'(?P<expected>[a-f0-9]+)'
+    )
+
+    def __init__(self, hash_name, expected):
+        self.hash_name = hash_name
+        self.hash = hashlib.new(hash_name)
+        self.expected = expected
+
+    @classmethod
+    def from_url(cls, url):
+        "Construct a (possibly null) ContentChecker from a URL"
+        fragment = urllib.parse.urlparse(url)[-1]
+        if not fragment:
+            return ContentChecker()
+        match = cls.pattern.search(fragment)
+        if not match:
+            return ContentChecker()
+        return cls(**match.groupdict())
+
+    def feed(self, block):
+        self.hash.update(block)
+
+    def is_valid(self):
+        return self.hash.hexdigest() == self.expected
+
+    def report(self, reporter, template):
+        msg = template % self.hash_name
+        return reporter(msg)
+
+
+class PackageIndex(Environment):
+    """A distribution index that scans web pages for download URLs"""
+
+    def __init__(
+            self, index_url="https://pypi.org/simple/", hosts=('*',),
+            ca_bundle=None, verify_ssl=True, *args, **kw
+    ):
+        Environment.__init__(self, *args, **kw)
+        self.index_url = index_url + "/" [:not index_url.endswith('/')]
+        self.scanned_urls = {}
+        self.fetched_urls = {}
+        self.package_pages = {}
+        self.allows = re.compile('|'.join(map(translate, hosts))).match
+        self.to_scan = []
+        use_ssl = (
+            verify_ssl
+            and ssl_support.is_available
+            and (ca_bundle or ssl_support.find_ca_bundle())
+        )
+        if use_ssl:
+            self.opener = ssl_support.opener_for(ca_bundle)
+        else:
+            self.opener = urllib.request.urlopen
+
+    def process_url(self, url, retrieve=False):
+        """Evaluate a URL as a possible download, and maybe retrieve it"""
+        if url in self.scanned_urls and not retrieve:
+            return
+        self.scanned_urls[url] = True
+        if not URL_SCHEME(url):
+            self.process_filename(url)
+            return
+        else:
+            dists = list(distros_for_url(url))
+            if dists:
+                if not self.url_ok(url):
+                    return
+                self.debug("Found link: %s", url)
+
+        if dists or not retrieve or url in self.fetched_urls:
+            list(map(self.add, dists))
+            return  # don't need the actual page
+
+        if not self.url_ok(url):
+            self.fetched_urls[url] = True
+            return
+
+        self.info("Reading %s", url)
+        self.fetched_urls[url] = True  # prevent multiple fetch attempts
+        tmpl = "Download error on %s: %%s -- Some packages may not be found!"
+        f = self.open_url(url, tmpl % url)
+        if f is None:
+            return
+        self.fetched_urls[f.url] = True
+        if 'html' not in f.headers.get('content-type', '').lower():
+            f.close()  # not html, we can't process it
+            return
+
+        base = f.url  # handle redirects
+        page = f.read()
+        if not isinstance(page, str):
+            # In Python 3 and got bytes but want str.
+            if isinstance(f, urllib.error.HTTPError):
+                # Errors have no charset, assume latin1:
+                charset = 'latin-1'
+            else:
+                charset = f.headers.get_param('charset') or 'latin-1'
+            page = page.decode(charset, "ignore")
+        f.close()
+        for match in HREF.finditer(page):
+            link = urllib.parse.urljoin(base, htmldecode(match.group(1)))
+            self.process_url(link)
+        if url.startswith(self.index_url) and getattr(f, 'code', None) != 404:
+            page = self.process_index(url, page)
+
+    def process_filename(self, fn, nested=False):
+        # process filenames or directories
+        if not os.path.exists(fn):
+            self.warn("Not found: %s", fn)
+            return
+
+        if os.path.isdir(fn) and not nested:
+            path = os.path.realpath(fn)
+            for item in os.listdir(path):
+                self.process_filename(os.path.join(path, item), True)
+
+        dists = distros_for_filename(fn)
+        if dists:
+            self.debug("Found: %s", fn)
+            list(map(self.add, dists))
+
+    def url_ok(self, url, fatal=False):
+        s = URL_SCHEME(url)
+        is_file = s and s.group(1).lower() == 'file'
+        if is_file or self.allows(urllib.parse.urlparse(url)[1]):
+            return True
+        msg = (
+            "\nNote: Bypassing %s (disallowed host; see "
+            "http://bit.ly/2hrImnY for details).\n")
+        if fatal:
+            raise DistutilsError(msg % url)
+        else:
+            self.warn(msg, url)
+
+    def scan_egg_links(self, search_path):
+        dirs = filter(os.path.isdir, search_path)
+        egg_links = (
+            (path, entry)
+            for path in dirs
+            for entry in os.listdir(path)
+            if entry.endswith('.egg-link')
+        )
+        list(itertools.starmap(self.scan_egg_link, egg_links))
+
+    def scan_egg_link(self, path, entry):
+        with open(os.path.join(path, entry)) as raw_lines:
+            # filter non-empty lines
+            lines = list(filter(None, map(str.strip, raw_lines)))
+
+        if len(lines) != 2:
+            # format is not recognized; punt
+            return
+
+        egg_path, setup_path = lines
+
+        for dist in find_distributions(os.path.join(path, egg_path)):
+            dist.location = os.path.join(path, *lines)
+            dist.precedence = SOURCE_DIST
+            self.add(dist)
+
+    def process_index(self, url, page):
+        """Process the contents of a PyPI page"""
+
+        def scan(link):
+            # Process a URL to see if it's for a package page
+            if link.startswith(self.index_url):
+                parts = list(map(
+                    urllib.parse.unquote, link[len(self.index_url):].split('/')
+                ))
+                if len(parts) == 2 and '#' not in parts[1]:
+                    # it's a package page, sanitize and index it
+                    pkg = safe_name(parts[0])
+                    ver = safe_version(parts[1])
+                    self.package_pages.setdefault(pkg.lower(), {})[link] = True
+                    return to_filename(pkg), to_filename(ver)
+            return None, None
+
+        # process an index page into the package-page index
+        for match in HREF.finditer(page):
+            try:
+                scan(urllib.parse.urljoin(url, htmldecode(match.group(1))))
+            except ValueError:
+                pass
+
+        pkg, ver = scan(url)  # ensure this page is in the page index
+        if pkg:
+            # process individual package page
+            for new_url in find_external_links(url, page):
+                # Process the found URL
+                base, frag = egg_info_for_url(new_url)
+                if base.endswith('.py') and not frag:
+                    if ver:
+                        new_url += '#egg=%s-%s' % (pkg, ver)
+                    else:
+                        self.need_version_info(url)
+                self.scan_url(new_url)
+
+            return PYPI_MD5.sub(
+                lambda m: '<a href="%s#md5=%s">%s</a>' % m.group(1, 3, 2), page
+            )
+        else:
+            return ""  # no sense double-scanning non-package pages
+
+    def need_version_info(self, url):
+        self.scan_all(
+            "Page at %s links to .py file(s) without version info; an index "
+            "scan is required.", url
+        )
+
+    def scan_all(self, msg=None, *args):
+        if self.index_url not in self.fetched_urls:
+            if msg:
+                self.warn(msg, *args)
+            self.info(
+                "Scanning index of all packages (this may take a while)"
+            )
+        self.scan_url(self.index_url)
+
+    def find_packages(self, requirement):
+        self.scan_url(self.index_url + requirement.unsafe_name + '/')
+
+        if not self.package_pages.get(requirement.key):
+            # Fall back to safe version of the name
+            self.scan_url(self.index_url + requirement.project_name + '/')
+
+        if not self.package_pages.get(requirement.key):
+            # We couldn't find the target package, so search the index page too
+            self.not_found_in_index(requirement)
+
+        for url in list(self.package_pages.get(requirement.key, ())):
+            # scan each page that might be related to the desired package
+            self.scan_url(url)
+
+    def obtain(self, requirement, installer=None):
+        self.prescan()
+        self.find_packages(requirement)
+        for dist in self[requirement.key]:
+            if dist in requirement:
+                return dist
+            self.debug("%s does not match %s", requirement, dist)
+        return super(PackageIndex, self).obtain(requirement, installer)
+
+    def check_hash(self, checker, filename, tfp):
+        """
+        checker is a ContentChecker
+        """
+        checker.report(
+            self.debug,
+            "Validating %%s checksum for %s" % filename)
+        if not checker.is_valid():
+            tfp.close()
+            os.unlink(filename)
+            raise DistutilsError(
+                "%s validation failed for %s; "
+                "possible download problem?"
+                % (checker.hash.name, os.path.basename(filename))
+            )
+
+    def add_find_links(self, urls):
+        """Add `urls` to the list that will be prescanned for searches"""
+        for url in urls:
+            if (
+                self.to_scan is None  # if we have already "gone online"
+                or not URL_SCHEME(url)  # or it's a local file/directory
+                or url.startswith('file:')
+                or list(distros_for_url(url))  # or a direct package link
+            ):
+                # then go ahead and process it now
+                self.scan_url(url)
+            else:
+                # otherwise, defer retrieval till later
+                self.to_scan.append(url)
+
+    def prescan(self):
+        """Scan urls scheduled for prescanning (e.g. --find-links)"""
+        if self.to_scan:
+            list(map(self.scan_url, self.to_scan))
+        self.to_scan = None  # from now on, go ahead and process immediately
+
+    def not_found_in_index(self, requirement):
+        if self[requirement.key]:  # we've seen at least one distro
+            meth, msg = self.info, "Couldn't retrieve index page for %r"
+        else:  # no distros seen for this name, might be misspelled
+            meth, msg = (
+                self.warn,
+                "Couldn't find index page for %r (maybe misspelled?)")
+        meth(msg, requirement.unsafe_name)
+        self.scan_all()
+
+    def download(self, spec, tmpdir):
+        """Locate and/or download `spec` to `tmpdir`, returning a local path
+
+        `spec` may be a ``Requirement`` object, or a string containing a URL,
+        an existing local filename, or a project/version requirement spec
+        (i.e. the string form of a ``Requirement`` object).  If it is the URL
+        of a .py file with an unambiguous ``#egg=name-version`` tag (i.e., one
+        that escapes ``-`` as ``_`` throughout), a trivial ``setup.py`` is
+        automatically created alongside the downloaded file.
+
+        If `spec` is a ``Requirement`` object or a string containing a
+        project/version requirement spec, this method returns the location of
+        a matching distribution (possibly after downloading it to `tmpdir`).
+        If `spec` is a locally existing file or directory name, it is simply
+        returned unchanged.  If `spec` is a URL, it is downloaded to a subpath
+        of `tmpdir`, and the local filename is returned.  Various errors may be
+        raised if a problem occurs during downloading.
+        """
+        if not isinstance(spec, Requirement):
+            scheme = URL_SCHEME(spec)
+            if scheme:
+                # It's a url, download it to tmpdir
+                found = self._download_url(scheme.group(1), spec, tmpdir)
+                base, fragment = egg_info_for_url(spec)
+                if base.endswith('.py'):
+                    found = self.gen_setup(found, fragment, tmpdir)
+                return found
+            elif os.path.exists(spec):
+                # Existing file or directory, just return it
+                return spec
+            else:
+                spec = parse_requirement_arg(spec)
+        return getattr(self.fetch_distribution(spec, tmpdir), 'location', None)
+
+    def fetch_distribution(
+            self, requirement, tmpdir, force_scan=False, source=False,
+            develop_ok=False, local_index=None):
+        """Obtain a distribution suitable for fulfilling `requirement`
+
+        `requirement` must be a ``pkg_resources.Requirement`` instance.
+        If necessary, or if the `force_scan` flag is set, the requirement is
+        searched for in the (online) package index as well as the locally
+        installed packages.  If a distribution matching `requirement` is found,
+        the returned distribution's ``location`` is the value you would have
+        gotten from calling the ``download()`` method with the matching
+        distribution's URL or filename.  If no matching distribution is found,
+        ``None`` is returned.
+
+        If the `source` flag is set, only source distributions and source
+        checkout links will be considered.  Unless the `develop_ok` flag is
+        set, development and system eggs (i.e., those using the ``.egg-info``
+        format) will be ignored.
+        """
+        # process a Requirement
+        self.info("Searching for %s", requirement)
+        skipped = {}
+        dist = None
+
+        def find(req, env=None):
+            if env is None:
+                env = self
+            # Find a matching distribution; may be called more than once
+
+            for dist in env[req.key]:
+
+                if dist.precedence == DEVELOP_DIST and not develop_ok:
+                    if dist not in skipped:
+                        self.warn(
+                            "Skipping development or system egg: %s", dist,
+                        )
+                        skipped[dist] = 1
+                    continue
+
+                test = (
+                    dist in req
+                    and (dist.precedence <= SOURCE_DIST or not source)
+                )
+                if test:
+                    loc = self.download(dist.location, tmpdir)
+                    dist.download_location = loc
+                    if os.path.exists(dist.download_location):
+                        return dist
+
+        if force_scan:
+            self.prescan()
+            self.find_packages(requirement)
+            dist = find(requirement)
+
+        if not dist and local_index is not None:
+            dist = find(requirement, local_index)
+
+        if dist is None:
+            if self.to_scan is not None:
+                self.prescan()
+            dist = find(requirement)
+
+        if dist is None and not force_scan:
+            self.find_packages(requirement)
+            dist = find(requirement)
+
+        if dist is None:
+            self.warn(
+                "No local packages or working download links found for %s%s",
+                (source and "a source distribution of " or ""),
+                requirement,
+            )
+        else:
+            self.info("Best match: %s", dist)
+            return dist.clone(location=dist.download_location)
+
+    def fetch(self, requirement, tmpdir, force_scan=False, source=False):
+        """Obtain a file suitable for fulfilling `requirement`
+
+        DEPRECATED; use the ``fetch_distribution()`` method now instead.  For
+        backward compatibility, this routine is identical but returns the
+        ``location`` of the downloaded distribution instead of a distribution
+        object.
+        """
+        dist = self.fetch_distribution(requirement, tmpdir, force_scan, source)
+        if dist is not None:
+            return dist.location
+        return None
+
+    def gen_setup(self, filename, fragment, tmpdir):
+        match = EGG_FRAGMENT.match(fragment)
+        dists = match and [
+            d for d in
+            interpret_distro_name(filename, match.group(1), None) if d.version
+        ] or []
+
+        if len(dists) == 1:  # unambiguous ``#egg`` fragment
+            basename = os.path.basename(filename)
+
+            # Make sure the file has been downloaded to the temp dir.
+            if os.path.dirname(filename) != tmpdir:
+                dst = os.path.join(tmpdir, basename)
+                from setuptools.command.easy_install import samefile
+                if not samefile(filename, dst):
+                    shutil.copy2(filename, dst)
+                    filename = dst
+
+            with open(os.path.join(tmpdir, 'setup.py'), 'w') as file:
+                file.write(
+                    "from setuptools import setup\n"
+                    "setup(name=%r, version=%r, py_modules=[%r])\n"
+                    % (
+                        dists[0].project_name, dists[0].version,
+                        os.path.splitext(basename)[0]
+                    )
+                )
+            return filename
+
+        elif match:
+            raise DistutilsError(
+                "Can't unambiguously interpret project/version identifier %r; "
+                "any dashes in the name or version should be escaped using "
+                "underscores. %r" % (fragment, dists)
+            )
+        else:
+            raise DistutilsError(
+                "Can't process plain .py files without an '#egg=name-version'"
+                " suffix to enable automatic setup script generation."
+            )
+
+    dl_blocksize = 8192
+
+    def _download_to(self, url, filename):
+        self.info("Downloading %s", url)
+        # Download the file
+        fp = None
+        try:
+            checker = HashChecker.from_url(url)
+            fp = self.open_url(url)
+            if isinstance(fp, urllib.error.HTTPError):
+                raise DistutilsError(
+                    "Can't download %s: %s %s" % (url, fp.code, fp.msg)
+                )
+            headers = fp.info()
+            blocknum = 0
+            bs = self.dl_blocksize
+            size = -1
+            if "content-length" in headers:
+                # Some servers return multiple Content-Length headers :(
+                sizes = get_all_headers(headers, 'Content-Length')
+                size = max(map(int, sizes))
+                self.reporthook(url, filename, blocknum, bs, size)
+            with open(filename, 'wb') as tfp:
+                while True:
+                    block = fp.read(bs)
+                    if block:
+                        checker.feed(block)
+                        tfp.write(block)
+                        blocknum += 1
+                        self.reporthook(url, filename, blocknum, bs, size)
+                    else:
+                        break
+                self.check_hash(checker, filename, tfp)
+            return headers
+        finally:
+            if fp:
+                fp.close()
+
+    def reporthook(self, url, filename, blocknum, blksize, size):
+        pass  # no-op
+
+    def open_url(self, url, warning=None):
+        if url.startswith('file:'):
+            return local_open(url)
+        try:
+            return open_with_auth(url, self.opener)
+        except (ValueError, http_client.InvalidURL) as v:
+            msg = ' '.join([str(arg) for arg in v.args])
+            if warning:
+                self.warn(warning, msg)
+            else:
+                raise DistutilsError('%s %s' % (url, msg))
+        except urllib.error.HTTPError as v:
+            return v
+        except urllib.error.URLError as v:
+            if warning:
+                self.warn(warning, v.reason)
+            else:
+                raise DistutilsError("Download error for %s: %s"
+                                     % (url, v.reason))
+        except http_client.BadStatusLine as v:
+            if warning:
+                self.warn(warning, v.line)
+            else:
+                raise DistutilsError(
+                    '%s returned a bad status line. The server might be '
+                    'down, %s' %
+                    (url, v.line)
+                )
+        except (http_client.HTTPException, socket.error) as v:
+            if warning:
+                self.warn(warning, v)
+            else:
+                raise DistutilsError("Download error for %s: %s"
+                                     % (url, v))
+
+    def _download_url(self, scheme, url, tmpdir):
+        # Determine download filename
+        #
+        name, fragment = egg_info_for_url(url)
+        if name:
+            while '..' in name:
+                name = name.replace('..', '.').replace('\\', '_')
+        else:
+            name = "__downloaded__"  # default if URL has no path contents
+
+        if name.endswith('.egg.zip'):
+            name = name[:-4]  # strip the extra .zip before download
+
+        filename = os.path.join(tmpdir, name)
+
+        # Download the file
+        #
+        if scheme == 'svn' or scheme.startswith('svn+'):
+            return self._download_svn(url, filename)
+        elif scheme == 'git' or scheme.startswith('git+'):
+            return self._download_git(url, filename)
+        elif scheme.startswith('hg+'):
+            return self._download_hg(url, filename)
+        elif scheme == 'file':
+            return urllib.request.url2pathname(urllib.parse.urlparse(url)[2])
+        else:
+            self.url_ok(url, True)  # raises error if not allowed
+            return self._attempt_download(url, filename)
+
+    def scan_url(self, url):
+        self.process_url(url, True)
+
+    def _attempt_download(self, url, filename):
+        headers = self._download_to(url, filename)
+        if 'html' in headers.get('content-type', '').lower():
+            return self._download_html(url, headers, filename)
+        else:
+            return filename
+
+    def _download_html(self, url, headers, filename):
+        file = open(filename)
+        for line in file:
+            if line.strip():
+                # Check for a subversion index page
+                if re.search(r'<title>([^- ]+ - )?Revision \d+:', line):
+                    # it's a subversion index page:
+                    file.close()
+                    os.unlink(filename)
+                    return self._download_svn(url, filename)
+                break  # not an index page
+        file.close()
+        os.unlink(filename)
+        raise DistutilsError("Unexpected HTML page found at " + url)
+
+    def _download_svn(self, url, filename):
+        warnings.warn("SVN download support is deprecated", UserWarning)
+        url = url.split('#', 1)[0]  # remove any fragment for svn's sake
+        creds = ''
+        if url.lower().startswith('svn:') and '@' in url:
+            scheme, netloc, path, p, q, f = urllib.parse.urlparse(url)
+            if not netloc and path.startswith('//') and '/' in path[2:]:
+                netloc, path = path[2:].split('/', 1)
+                auth, host = _splituser(netloc)
+                if auth:
+                    if ':' in auth:
+                        user, pw = auth.split(':', 1)
+                        creds = " --username=%s --password=%s" % (user, pw)
+                    else:
+                        creds = " --username=" + auth
+                    netloc = host
+                    parts = scheme, netloc, url, p, q, f
+                    url = urllib.parse.urlunparse(parts)
+        self.info("Doing subversion checkout from %s to %s", url, filename)
+        os.system("svn checkout%s -q %s %s" % (creds, url, filename))
+        return filename
+
+    @staticmethod
+    def _vcs_split_rev_from_url(url, pop_prefix=False):
+        scheme, netloc, path, query, frag = urllib.parse.urlsplit(url)
+
+        scheme = scheme.split('+', 1)[-1]
+
+        # Some fragment identification fails
+        path = path.split('#', 1)[0]
+
+        rev = None
+        if '@' in path:
+            path, rev = path.rsplit('@', 1)
+
+        # Also, discard fragment
+        url = urllib.parse.urlunsplit((scheme, netloc, path, query, ''))
+
+        return url, rev
+
+    def _download_git(self, url, filename):
+        filename = filename.split('#', 1)[0]
+        url, rev = self._vcs_split_rev_from_url(url, pop_prefix=True)
+
+        self.info("Doing git clone from %s to %s", url, filename)
+        os.system("git clone --quiet %s %s" % (url, filename))
+
+        if rev is not None:
+            self.info("Checking out %s", rev)
+            os.system("git -C %s checkout --quiet %s" % (
+                filename,
+                rev,
+            ))
+
+        return filename
+
+    def _download_hg(self, url, filename):
+        filename = filename.split('#', 1)[0]
+        url, rev = self._vcs_split_rev_from_url(url, pop_prefix=True)
+
+        self.info("Doing hg clone from %s to %s", url, filename)
+        os.system("hg clone --quiet %s %s" % (url, filename))
+
+        if rev is not None:
+            self.info("Updating to %s", rev)
+            os.system("hg --cwd %s up -C -r %s -q" % (
+                filename,
+                rev,
+            ))
+
+        return filename
+
+    def debug(self, msg, *args):
+        log.debug(msg, *args)
+
+    def info(self, msg, *args):
+        log.info(msg, *args)
+
+    def warn(self, msg, *args):
+        log.warn(msg, *args)
+
+
+# This pattern matches a character entity reference (a decimal numeric
+# references, a hexadecimal numeric reference, or a named reference).
+entity_sub = re.compile(r'&(#(\d+|x[\da-fA-F]+)|[\w.:-]+);?').sub
+
+
+def decode_entity(match):
+    what = match.group(0)
+    return unescape(what)
+
+
+def htmldecode(text):
+    """
+    Decode HTML entities in the given text.
+
+    >>> htmldecode(
+    ...     'https://../package_name-0.1.2.tar.gz'
+    ...     '?tokena=A&amp;tokenb=B">package_name-0.1.2.tar.gz')
+    'https://../package_name-0.1.2.tar.gz?tokena=A&tokenb=B">package_name-0.1.2.tar.gz'
+    """
+    return entity_sub(decode_entity, text)
+
+
+def socket_timeout(timeout=15):
+    def _socket_timeout(func):
+        def _socket_timeout(*args, **kwargs):
+            old_timeout = socket.getdefaulttimeout()
+            socket.setdefaulttimeout(timeout)
+            try:
+                return func(*args, **kwargs)
+            finally:
+                socket.setdefaulttimeout(old_timeout)
+
+        return _socket_timeout
+
+    return _socket_timeout
+
+
+def _encode_auth(auth):
+    """
+    A function compatible with Python 2.3-3.3 that will encode
+    auth from a URL suitable for an HTTP header.
+    >>> str(_encode_auth('username%3Apassword'))
+    'dXNlcm5hbWU6cGFzc3dvcmQ='
+
+    Long auth strings should not cause a newline to be inserted.
+    >>> long_auth = 'username:' + 'password'*10
+    >>> chr(10) in str(_encode_auth(long_auth))
+    False
+    """
+    auth_s = urllib.parse.unquote(auth)
+    # convert to bytes
+    auth_bytes = auth_s.encode()
+    encoded_bytes = base64.b64encode(auth_bytes)
+    # convert back to a string
+    encoded = encoded_bytes.decode()
+    # strip the trailing carriage return
+    return encoded.replace('\n', '')
+
+
+class Credential:
+    """
+    A username/password pair. Use like a namedtuple.
+    """
+
+    def __init__(self, username, password):
+        self.username = username
+        self.password = password
+
+    def __iter__(self):
+        yield self.username
+        yield self.password
+
+    def __str__(self):
+        return '%(username)s:%(password)s' % vars(self)
+
+
+class PyPIConfig(configparser.RawConfigParser):
+    def __init__(self):
+        """
+        Load from ~/.pypirc
+        """
+        defaults = dict.fromkeys(['username', 'password', 'repository'], '')
+        configparser.RawConfigParser.__init__(self, defaults)
+
+        rc = os.path.join(os.path.expanduser('~'), '.pypirc')
+        if os.path.exists(rc):
+            self.read(rc)
+
+    @property
+    def creds_by_repository(self):
+        sections_with_repositories = [
+            section for section in self.sections()
+            if self.get(section, 'repository').strip()
+        ]
+
+        return dict(map(self._get_repo_cred, sections_with_repositories))
+
+    def _get_repo_cred(self, section):
+        repo = self.get(section, 'repository').strip()
+        return repo, Credential(
+            self.get(section, 'username').strip(),
+            self.get(section, 'password').strip(),
+        )
+
+    def find_credential(self, url):
+        """
+        If the URL indicated appears to be a repository defined in this
+        config, return the credential for that repository.
+        """
+        for repository, cred in self.creds_by_repository.items():
+            if url.startswith(repository):
+                return cred
+
+
+def open_with_auth(url, opener=urllib.request.urlopen):
+    """Open a urllib2 request, handling HTTP authentication"""
+
+    parsed = urllib.parse.urlparse(url)
+    scheme, netloc, path, params, query, frag = parsed
+
+    # Double scheme does not raise on Mac OS X as revealed by a
+    # failing test. We would expect "nonnumeric port". Refs #20.
+    if netloc.endswith(':'):
+        raise http_client.InvalidURL("nonnumeric port: ''")
+
+    if scheme in ('http', 'https'):
+        auth, address = _splituser(netloc)
+    else:
+        auth = None
+
+    if not auth:
+        cred = PyPIConfig().find_credential(url)
+        if cred:
+            auth = str(cred)
+            info = cred.username, url
+            log.info('Authenticating as %s for %s (from .pypirc)', *info)
+
+    if auth:
+        auth = "Basic " + _encode_auth(auth)
+        parts = scheme, address, path, params, query, frag
+        new_url = urllib.parse.urlunparse(parts)
+        request = urllib.request.Request(new_url)
+        request.add_header("Authorization", auth)
+    else:
+        request = urllib.request.Request(url)
+
+    request.add_header('User-Agent', user_agent)
+    fp = opener(request)
+
+    if auth:
+        # Put authentication info back into request URL if same host,
+        # so that links found on the page will work
+        s2, h2, path2, param2, query2, frag2 = urllib.parse.urlparse(fp.url)
+        if s2 == scheme and h2 == address:
+            parts = s2, netloc, path2, param2, query2, frag2
+            fp.url = urllib.parse.urlunparse(parts)
+
+    return fp
+
+
+# copy of urllib.parse._splituser from Python 3.8
+def _splituser(host):
+    """splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'."""
+    user, delim, host = host.rpartition('@')
+    return (user if delim else None), host
+
+
+# adding a timeout to avoid freezing package_index
+open_with_auth = socket_timeout(_SOCKET_TIMEOUT)(open_with_auth)
+
+
+def fix_sf_url(url):
+    return url  # backward compatibility
+
+
+def local_open(url):
+    """Read a local path, with special support for directories"""
+    scheme, server, path, param, query, frag = urllib.parse.urlparse(url)
+    filename = urllib.request.url2pathname(path)
+    if os.path.isfile(filename):
+        return urllib.request.urlopen(url)
+    elif path.endswith('/') and os.path.isdir(filename):
+        files = []
+        for f in os.listdir(filename):
+            filepath = os.path.join(filename, f)
+            if f == 'index.html':
+                with open(filepath, 'r') as fp:
+                    body = fp.read()
+                break
+            elif os.path.isdir(filepath):
+                f += '/'
+            files.append('<a href="{name}">{name}</a>'.format(name=f))
+        else:
+            tmpl = (
+                "<html><head><title>{url}</title>"
+                "</head><body>{files}</body></html>")
+            body = tmpl.format(url=url, files='\n'.join(files))
+        status, message = 200, "OK"
+    else:
+        status, message, body = 404, "Path not found", "Not found"
+
+    headers = {'content-type': 'text/html'}
+    body_stream = six.StringIO(body)
+    return urllib.error.HTTPError(url, status, message, headers, body_stream)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/py27compat.py b/iot_env/lib/python3.8/site-packages/setuptools/py27compat.py
new file mode 100644
index 0000000..1d57360
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/py27compat.py
@@ -0,0 +1,60 @@
+"""
+Compatibility Support for Python 2.7 and earlier
+"""
+
+import sys
+import platform
+
+from setuptools.extern import six
+
+
+def get_all_headers(message, key):
+    """
+    Given an HTTPMessage, return all headers matching a given key.
+    """
+    return message.get_all(key)
+
+
+if six.PY2:
+    def get_all_headers(message, key):
+        return message.getheaders(key)
+
+
+linux_py2_ascii = (
+    platform.system() == 'Linux' and
+    six.PY2
+)
+
+rmtree_safe = str if linux_py2_ascii else lambda x: x
+"""Workaround for http://bugs.python.org/issue24672"""
+
+
+try:
+    from ._imp import find_module, PY_COMPILED, PY_FROZEN, PY_SOURCE
+    from ._imp import get_frozen_object, get_module
+except ImportError:
+    import imp
+    from imp import PY_COMPILED, PY_FROZEN, PY_SOURCE  # noqa
+
+    def find_module(module, paths=None):
+        """Just like 'imp.find_module()', but with package support"""
+        parts = module.split('.')
+        while parts:
+            part = parts.pop(0)
+            f, path, (suffix, mode, kind) = info = imp.find_module(part, paths)
+
+            if kind == imp.PKG_DIRECTORY:
+                parts = parts or ['__init__']
+                paths = [path]
+
+            elif parts:
+                raise ImportError("Can't find %r in %s" % (parts, module))
+
+        return info
+
+    def get_frozen_object(module, paths):
+        return imp.get_frozen_object(module)
+
+    def get_module(module, paths, info):
+        imp.load_module(module, *info)
+        return sys.modules[module]
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/py31compat.py b/iot_env/lib/python3.8/site-packages/setuptools/py31compat.py
new file mode 100644
index 0000000..e1da7ee
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/py31compat.py
@@ -0,0 +1,32 @@
+__all__ = []
+
+__metaclass__ = type
+
+
+try:
+    # Python >=3.2
+    from tempfile import TemporaryDirectory
+except ImportError:
+    import shutil
+    import tempfile
+
+    class TemporaryDirectory:
+        """
+        Very simple temporary directory context manager.
+        Will try to delete afterward, but will also ignore OS and similar
+        errors on deletion.
+        """
+
+        def __init__(self, **kwargs):
+            self.name = None  # Handle mkdtemp raising an exception
+            self.name = tempfile.mkdtemp(**kwargs)
+
+        def __enter__(self):
+            return self.name
+
+        def __exit__(self, exctype, excvalue, exctrace):
+            try:
+                shutil.rmtree(self.name, True)
+            except OSError:  # removal errors are not the only possible
+                pass
+            self.name = None
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/py33compat.py b/iot_env/lib/python3.8/site-packages/setuptools/py33compat.py
new file mode 100644
index 0000000..cb69443
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/py33compat.py
@@ -0,0 +1,59 @@
+import dis
+import array
+import collections
+
+try:
+    import html
+except ImportError:
+    html = None
+
+from setuptools.extern import six
+from setuptools.extern.six.moves import html_parser
+
+__metaclass__ = type
+
+OpArg = collections.namedtuple('OpArg', 'opcode arg')
+
+
+class Bytecode_compat:
+    def __init__(self, code):
+        self.code = code
+
+    def __iter__(self):
+        """Yield '(op,arg)' pair for each operation in code object 'code'"""
+
+        bytes = array.array('b', self.code.co_code)
+        eof = len(self.code.co_code)
+
+        ptr = 0
+        extended_arg = 0
+
+        while ptr < eof:
+
+            op = bytes[ptr]
+
+            if op >= dis.HAVE_ARGUMENT:
+
+                arg = bytes[ptr + 1] + bytes[ptr + 2] * 256 + extended_arg
+                ptr += 3
+
+                if op == dis.EXTENDED_ARG:
+                    long_type = six.integer_types[-1]
+                    extended_arg = arg * long_type(65536)
+                    continue
+
+            else:
+                arg = None
+                ptr += 1
+
+            yield OpArg(op, arg)
+
+
+Bytecode = getattr(dis, 'Bytecode', Bytecode_compat)
+
+
+unescape = getattr(html, 'unescape', None)
+if unescape is None:
+    # HTMLParser.unescape is deprecated since Python 3.4, and will be removed
+    # from 3.9.
+    unescape = html_parser.HTMLParser().unescape
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/py34compat.py b/iot_env/lib/python3.8/site-packages/setuptools/py34compat.py
new file mode 100644
index 0000000..3ad9172
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/py34compat.py
@@ -0,0 +1,13 @@
+import importlib
+
+try:
+    import importlib.util
+except ImportError:
+    pass
+
+
+try:
+    module_from_spec = importlib.util.module_from_spec
+except AttributeError:
+    def module_from_spec(spec):
+        return spec.loader.load_module(spec.name)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/sandbox.py b/iot_env/lib/python3.8/site-packages/setuptools/sandbox.py
new file mode 100644
index 0000000..685f3f7
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/sandbox.py
@@ -0,0 +1,491 @@
+import os
+import sys
+import tempfile
+import operator
+import functools
+import itertools
+import re
+import contextlib
+import pickle
+import textwrap
+
+from setuptools.extern import six
+from setuptools.extern.six.moves import builtins, map
+
+import pkg_resources.py31compat
+
+if sys.platform.startswith('java'):
+    import org.python.modules.posix.PosixModule as _os
+else:
+    _os = sys.modules[os.name]
+try:
+    _file = file
+except NameError:
+    _file = None
+_open = open
+from distutils.errors import DistutilsError
+from pkg_resources import working_set
+
+
+__all__ = [
+    "AbstractSandbox", "DirectorySandbox", "SandboxViolation", "run_setup",
+]
+
+
+def _execfile(filename, globals, locals=None):
+    """
+    Python 3 implementation of execfile.
+    """
+    mode = 'rb'
+    with open(filename, mode) as stream:
+        script = stream.read()
+    if locals is None:
+        locals = globals
+    code = compile(script, filename, 'exec')
+    exec(code, globals, locals)
+
+
+@contextlib.contextmanager
+def save_argv(repl=None):
+    saved = sys.argv[:]
+    if repl is not None:
+        sys.argv[:] = repl
+    try:
+        yield saved
+    finally:
+        sys.argv[:] = saved
+
+
+@contextlib.contextmanager
+def save_path():
+    saved = sys.path[:]
+    try:
+        yield saved
+    finally:
+        sys.path[:] = saved
+
+
+@contextlib.contextmanager
+def override_temp(replacement):
+    """
+    Monkey-patch tempfile.tempdir with replacement, ensuring it exists
+    """
+    pkg_resources.py31compat.makedirs(replacement, exist_ok=True)
+
+    saved = tempfile.tempdir
+
+    tempfile.tempdir = replacement
+
+    try:
+        yield
+    finally:
+        tempfile.tempdir = saved
+
+
+@contextlib.contextmanager
+def pushd(target):
+    saved = os.getcwd()
+    os.chdir(target)
+    try:
+        yield saved
+    finally:
+        os.chdir(saved)
+
+
+class UnpickleableException(Exception):
+    """
+    An exception representing another Exception that could not be pickled.
+    """
+
+    @staticmethod
+    def dump(type, exc):
+        """
+        Always return a dumped (pickled) type and exc. If exc can't be pickled,
+        wrap it in UnpickleableException first.
+        """
+        try:
+            return pickle.dumps(type), pickle.dumps(exc)
+        except Exception:
+            # get UnpickleableException inside the sandbox
+            from setuptools.sandbox import UnpickleableException as cls
+            return cls.dump(cls, cls(repr(exc)))
+
+
+class ExceptionSaver:
+    """
+    A Context Manager that will save an exception, serialized, and restore it
+    later.
+    """
+
+    def __enter__(self):
+        return self
+
+    def __exit__(self, type, exc, tb):
+        if not exc:
+            return
+
+        # dump the exception
+        self._saved = UnpickleableException.dump(type, exc)
+        self._tb = tb
+
+        # suppress the exception
+        return True
+
+    def resume(self):
+        "restore and re-raise any exception"
+
+        if '_saved' not in vars(self):
+            return
+
+        type, exc = map(pickle.loads, self._saved)
+        six.reraise(type, exc, self._tb)
+
+
+@contextlib.contextmanager
+def save_modules():
+    """
+    Context in which imported modules are saved.
+
+    Translates exceptions internal to the context into the equivalent exception
+    outside the context.
+    """
+    saved = sys.modules.copy()
+    with ExceptionSaver() as saved_exc:
+        yield saved
+
+    sys.modules.update(saved)
+    # remove any modules imported since
+    del_modules = (
+        mod_name for mod_name in sys.modules
+        if mod_name not in saved
+        # exclude any encodings modules. See #285
+        and not mod_name.startswith('encodings.')
+    )
+    _clear_modules(del_modules)
+
+    saved_exc.resume()
+
+
+def _clear_modules(module_names):
+    for mod_name in list(module_names):
+        del sys.modules[mod_name]
+
+
+@contextlib.contextmanager
+def save_pkg_resources_state():
+    saved = pkg_resources.__getstate__()
+    try:
+        yield saved
+    finally:
+        pkg_resources.__setstate__(saved)
+
+
+@contextlib.contextmanager
+def setup_context(setup_dir):
+    temp_dir = os.path.join(setup_dir, 'temp')
+    with save_pkg_resources_state():
+        with save_modules():
+            hide_setuptools()
+            with save_path():
+                with save_argv():
+                    with override_temp(temp_dir):
+                        with pushd(setup_dir):
+                            # ensure setuptools commands are available
+                            __import__('setuptools')
+                            yield
+
+
+def _needs_hiding(mod_name):
+    """
+    >>> _needs_hiding('setuptools')
+    True
+    >>> _needs_hiding('pkg_resources')
+    True
+    >>> _needs_hiding('setuptools_plugin')
+    False
+    >>> _needs_hiding('setuptools.__init__')
+    True
+    >>> _needs_hiding('distutils')
+    True
+    >>> _needs_hiding('os')
+    False
+    >>> _needs_hiding('Cython')
+    True
+    """
+    pattern = re.compile(r'(setuptools|pkg_resources|distutils|Cython)(\.|$)')
+    return bool(pattern.match(mod_name))
+
+
+def hide_setuptools():
+    """
+    Remove references to setuptools' modules from sys.modules to allow the
+    invocation to import the most appropriate setuptools. This technique is
+    necessary to avoid issues such as #315 where setuptools upgrading itself
+    would fail to find a function declared in the metadata.
+    """
+    modules = filter(_needs_hiding, sys.modules)
+    _clear_modules(modules)
+
+
+def run_setup(setup_script, args):
+    """Run a distutils setup script, sandboxed in its directory"""
+    setup_dir = os.path.abspath(os.path.dirname(setup_script))
+    with setup_context(setup_dir):
+        try:
+            sys.argv[:] = [setup_script] + list(args)
+            sys.path.insert(0, setup_dir)
+            # reset to include setup dir, w/clean callback list
+            working_set.__init__()
+            working_set.callbacks.append(lambda dist: dist.activate())
+
+            # __file__ should be a byte string on Python 2 (#712)
+            dunder_file = (
+                setup_script
+                if isinstance(setup_script, str) else
+                setup_script.encode(sys.getfilesystemencoding())
+            )
+
+            with DirectorySandbox(setup_dir):
+                ns = dict(__file__=dunder_file, __name__='__main__')
+                _execfile(setup_script, ns)
+        except SystemExit as v:
+            if v.args and v.args[0]:
+                raise
+            # Normal exit, just return
+
+
+class AbstractSandbox:
+    """Wrap 'os' module and 'open()' builtin for virtualizing setup scripts"""
+
+    _active = False
+
+    def __init__(self):
+        self._attrs = [
+            name for name in dir(_os)
+            if not name.startswith('_') and hasattr(self, name)
+        ]
+
+    def _copy(self, source):
+        for name in self._attrs:
+            setattr(os, name, getattr(source, name))
+
+    def __enter__(self):
+        self._copy(self)
+        if _file:
+            builtins.file = self._file
+        builtins.open = self._open
+        self._active = True
+
+    def __exit__(self, exc_type, exc_value, traceback):
+        self._active = False
+        if _file:
+            builtins.file = _file
+        builtins.open = _open
+        self._copy(_os)
+
+    def run(self, func):
+        """Run 'func' under os sandboxing"""
+        with self:
+            return func()
+
+    def _mk_dual_path_wrapper(name):
+        original = getattr(_os, name)
+
+        def wrap(self, src, dst, *args, **kw):
+            if self._active:
+                src, dst = self._remap_pair(name, src, dst, *args, **kw)
+            return original(src, dst, *args, **kw)
+
+        return wrap
+
+    for name in ["rename", "link", "symlink"]:
+        if hasattr(_os, name):
+            locals()[name] = _mk_dual_path_wrapper(name)
+
+    def _mk_single_path_wrapper(name, original=None):
+        original = original or getattr(_os, name)
+
+        def wrap(self, path, *args, **kw):
+            if self._active:
+                path = self._remap_input(name, path, *args, **kw)
+            return original(path, *args, **kw)
+
+        return wrap
+
+    if _file:
+        _file = _mk_single_path_wrapper('file', _file)
+    _open = _mk_single_path_wrapper('open', _open)
+    for name in [
+        "stat", "listdir", "chdir", "open", "chmod", "chown", "mkdir",
+        "remove", "unlink", "rmdir", "utime", "lchown", "chroot", "lstat",
+        "startfile", "mkfifo", "mknod", "pathconf", "access"
+    ]:
+        if hasattr(_os, name):
+            locals()[name] = _mk_single_path_wrapper(name)
+
+    def _mk_single_with_return(name):
+        original = getattr(_os, name)
+
+        def wrap(self, path, *args, **kw):
+            if self._active:
+                path = self._remap_input(name, path, *args, **kw)
+                return self._remap_output(name, original(path, *args, **kw))
+            return original(path, *args, **kw)
+
+        return wrap
+
+    for name in ['readlink', 'tempnam']:
+        if hasattr(_os, name):
+            locals()[name] = _mk_single_with_return(name)
+
+    def _mk_query(name):
+        original = getattr(_os, name)
+
+        def wrap(self, *args, **kw):
+            retval = original(*args, **kw)
+            if self._active:
+                return self._remap_output(name, retval)
+            return retval
+
+        return wrap
+
+    for name in ['getcwd', 'tmpnam']:
+        if hasattr(_os, name):
+            locals()[name] = _mk_query(name)
+
+    def _validate_path(self, path):
+        """Called to remap or validate any path, whether input or output"""
+        return path
+
+    def _remap_input(self, operation, path, *args, **kw):
+        """Called for path inputs"""
+        return self._validate_path(path)
+
+    def _remap_output(self, operation, path):
+        """Called for path outputs"""
+        return self._validate_path(path)
+
+    def _remap_pair(self, operation, src, dst, *args, **kw):
+        """Called for path pairs like rename, link, and symlink operations"""
+        return (
+            self._remap_input(operation + '-from', src, *args, **kw),
+            self._remap_input(operation + '-to', dst, *args, **kw)
+        )
+
+
+if hasattr(os, 'devnull'):
+    _EXCEPTIONS = [os.devnull,]
+else:
+    _EXCEPTIONS = []
+
+
+class DirectorySandbox(AbstractSandbox):
+    """Restrict operations to a single subdirectory - pseudo-chroot"""
+
+    write_ops = dict.fromkeys([
+        "open", "chmod", "chown", "mkdir", "remove", "unlink", "rmdir",
+        "utime", "lchown", "chroot", "mkfifo", "mknod", "tempnam",
+    ])
+
+    _exception_patterns = [
+        # Allow lib2to3 to attempt to save a pickled grammar object (#121)
+        r'.*lib2to3.*\.pickle$',
+    ]
+    "exempt writing to paths that match the pattern"
+
+    def __init__(self, sandbox, exceptions=_EXCEPTIONS):
+        self._sandbox = os.path.normcase(os.path.realpath(sandbox))
+        self._prefix = os.path.join(self._sandbox, '')
+        self._exceptions = [
+            os.path.normcase(os.path.realpath(path))
+            for path in exceptions
+        ]
+        AbstractSandbox.__init__(self)
+
+    def _violation(self, operation, *args, **kw):
+        from setuptools.sandbox import SandboxViolation
+        raise SandboxViolation(operation, args, kw)
+
+    if _file:
+
+        def _file(self, path, mode='r', *args, **kw):
+            if mode not in ('r', 'rt', 'rb', 'rU', 'U') and not self._ok(path):
+                self._violation("file", path, mode, *args, **kw)
+            return _file(path, mode, *args, **kw)
+
+    def _open(self, path, mode='r', *args, **kw):
+        if mode not in ('r', 'rt', 'rb', 'rU', 'U') and not self._ok(path):
+            self._violation("open", path, mode, *args, **kw)
+        return _open(path, mode, *args, **kw)
+
+    def tmpnam(self):
+        self._violation("tmpnam")
+
+    def _ok(self, path):
+        active = self._active
+        try:
+            self._active = False
+            realpath = os.path.normcase(os.path.realpath(path))
+            return (
+                self._exempted(realpath)
+                or realpath == self._sandbox
+                or realpath.startswith(self._prefix)
+            )
+        finally:
+            self._active = active
+
+    def _exempted(self, filepath):
+        start_matches = (
+            filepath.startswith(exception)
+            for exception in self._exceptions
+        )
+        pattern_matches = (
+            re.match(pattern, filepath)
+            for pattern in self._exception_patterns
+        )
+        candidates = itertools.chain(start_matches, pattern_matches)
+        return any(candidates)
+
+    def _remap_input(self, operation, path, *args, **kw):
+        """Called for path inputs"""
+        if operation in self.write_ops and not self._ok(path):
+            self._violation(operation, os.path.realpath(path), *args, **kw)
+        return path
+
+    def _remap_pair(self, operation, src, dst, *args, **kw):
+        """Called for path pairs like rename, link, and symlink operations"""
+        if not self._ok(src) or not self._ok(dst):
+            self._violation(operation, src, dst, *args, **kw)
+        return (src, dst)
+
+    def open(self, file, flags, mode=0o777, *args, **kw):
+        """Called for low-level os.open()"""
+        if flags & WRITE_FLAGS and not self._ok(file):
+            self._violation("os.open", file, flags, mode, *args, **kw)
+        return _os.open(file, flags, mode, *args, **kw)
+
+
+WRITE_FLAGS = functools.reduce(
+    operator.or_, [getattr(_os, a, 0) for a in
+        "O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARY".split()]
+)
+
+
+class SandboxViolation(DistutilsError):
+    """A setup script attempted to modify the filesystem outside the sandbox"""
+
+    tmpl = textwrap.dedent("""
+        SandboxViolation: {cmd}{args!r} {kwargs}
+
+        The package setup script has attempted to modify files on your system
+        that are not within the EasyInstall build area, and has been aborted.
+
+        This package cannot be safely installed by EasyInstall, and may not
+        support alternate installation locations even if you run its setup
+        script by hand.  Please inform the package's author and the EasyInstall
+        maintainers to find out if a fix or workaround is available.
+        """).lstrip()
+
+    def __str__(self):
+        cmd, args, kwargs = self.args
+        return self.tmpl.format(**locals())
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/script (dev).tmpl b/iot_env/lib/python3.8/site-packages/setuptools/script (dev).tmpl
new file mode 100644
index 0000000..39a24b0
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/script (dev).tmpl	
@@ -0,0 +1,6 @@
+# EASY-INSTALL-DEV-SCRIPT: %(spec)r,%(script_name)r
+__requires__ = %(spec)r
+__import__('pkg_resources').require(%(spec)r)
+__file__ = %(dev_path)r
+with open(__file__) as f:
+    exec(compile(f.read(), __file__, 'exec'))
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/script.tmpl b/iot_env/lib/python3.8/site-packages/setuptools/script.tmpl
new file mode 100644
index 0000000..ff5efbc
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/script.tmpl
@@ -0,0 +1,3 @@
+# EASY-INSTALL-SCRIPT: %(spec)r,%(script_name)r
+__requires__ = %(spec)r
+__import__('pkg_resources').run_script(%(spec)r, %(script_name)r)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/site-patch.py b/iot_env/lib/python3.8/site-packages/setuptools/site-patch.py
new file mode 100644
index 0000000..40b00de
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/site-patch.py
@@ -0,0 +1,74 @@
+def __boot():
+    import sys
+    import os
+    PYTHONPATH = os.environ.get('PYTHONPATH')
+    if PYTHONPATH is None or (sys.platform == 'win32' and not PYTHONPATH):
+        PYTHONPATH = []
+    else:
+        PYTHONPATH = PYTHONPATH.split(os.pathsep)
+
+    pic = getattr(sys, 'path_importer_cache', {})
+    stdpath = sys.path[len(PYTHONPATH):]
+    mydir = os.path.dirname(__file__)
+
+    for item in stdpath:
+        if item == mydir or not item:
+            continue  # skip if current dir. on Windows, or my own directory
+        importer = pic.get(item)
+        if importer is not None:
+            loader = importer.find_module('site')
+            if loader is not None:
+                # This should actually reload the current module
+                loader.load_module('site')
+                break
+        else:
+            try:
+                import imp  # Avoid import loop in Python 3
+                stream, path, descr = imp.find_module('site', [item])
+            except ImportError:
+                continue
+            if stream is None:
+                continue
+            try:
+                # This should actually reload the current module
+                imp.load_module('site', stream, path, descr)
+            finally:
+                stream.close()
+            break
+    else:
+        raise ImportError("Couldn't find the real 'site' module")
+
+    known_paths = dict([(makepath(item)[1], 1) for item in sys.path])  # 2.2 comp
+
+    oldpos = getattr(sys, '__egginsert', 0)  # save old insertion position
+    sys.__egginsert = 0  # and reset the current one
+
+    for item in PYTHONPATH:
+        addsitedir(item)
+
+    sys.__egginsert += oldpos  # restore effective old position
+
+    d, nd = makepath(stdpath[0])
+    insert_at = None
+    new_path = []
+
+    for item in sys.path:
+        p, np = makepath(item)
+
+        if np == nd and insert_at is None:
+            # We've hit the first 'system' path entry, so added entries go here
+            insert_at = len(new_path)
+
+        if np in known_paths or insert_at is None:
+            new_path.append(item)
+        else:
+            # new path after the insert point, back-insert it
+            new_path.insert(insert_at, item)
+            insert_at += 1
+
+    sys.path[:] = new_path
+
+
+if __name__ == 'site':
+    __boot()
+    del __boot
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/ssl_support.py b/iot_env/lib/python3.8/site-packages/setuptools/ssl_support.py
new file mode 100644
index 0000000..226db69
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/ssl_support.py
@@ -0,0 +1,260 @@
+import os
+import socket
+import atexit
+import re
+import functools
+
+from setuptools.extern.six.moves import urllib, http_client, map, filter
+
+from pkg_resources import ResolutionError, ExtractionError
+
+try:
+    import ssl
+except ImportError:
+    ssl = None
+
+__all__ = [
+    'VerifyingHTTPSHandler', 'find_ca_bundle', 'is_available', 'cert_paths',
+    'opener_for'
+]
+
+cert_paths = """
+/etc/pki/tls/certs/ca-bundle.crt
+/etc/ssl/certs/ca-certificates.crt
+/usr/share/ssl/certs/ca-bundle.crt
+/usr/local/share/certs/ca-root.crt
+/etc/ssl/cert.pem
+/System/Library/OpenSSL/certs/cert.pem
+/usr/local/share/certs/ca-root-nss.crt
+/etc/ssl/ca-bundle.pem
+""".strip().split()
+
+try:
+    HTTPSHandler = urllib.request.HTTPSHandler
+    HTTPSConnection = http_client.HTTPSConnection
+except AttributeError:
+    HTTPSHandler = HTTPSConnection = object
+
+is_available = ssl is not None and object not in (HTTPSHandler, HTTPSConnection)
+
+
+try:
+    from ssl import CertificateError, match_hostname
+except ImportError:
+    try:
+        from backports.ssl_match_hostname import CertificateError
+        from backports.ssl_match_hostname import match_hostname
+    except ImportError:
+        CertificateError = None
+        match_hostname = None
+
+if not CertificateError:
+
+    class CertificateError(ValueError):
+        pass
+
+
+if not match_hostname:
+
+    def _dnsname_match(dn, hostname, max_wildcards=1):
+        """Matching according to RFC 6125, section 6.4.3
+
+        https://tools.ietf.org/html/rfc6125#section-6.4.3
+        """
+        pats = []
+        if not dn:
+            return False
+
+        # Ported from python3-syntax:
+        # leftmost, *remainder = dn.split(r'.')
+        parts = dn.split(r'.')
+        leftmost = parts[0]
+        remainder = parts[1:]
+
+        wildcards = leftmost.count('*')
+        if wildcards > max_wildcards:
+            # Issue #17980: avoid denials of service by refusing more
+            # than one wildcard per fragment.  A survey of established
+            # policy among SSL implementations showed it to be a
+            # reasonable choice.
+            raise CertificateError(
+                "too many wildcards in certificate DNS name: " + repr(dn))
+
+        # speed up common case w/o wildcards
+        if not wildcards:
+            return dn.lower() == hostname.lower()
+
+        # RFC 6125, section 6.4.3, subitem 1.
+        # The client SHOULD NOT attempt to match a presented identifier in which
+        # the wildcard character comprises a label other than the left-most label.
+        if leftmost == '*':
+            # When '*' is a fragment by itself, it matches a non-empty dotless
+            # fragment.
+            pats.append('[^.]+')
+        elif leftmost.startswith('xn--') or hostname.startswith('xn--'):
+            # RFC 6125, section 6.4.3, subitem 3.
+            # The client SHOULD NOT attempt to match a presented identifier
+            # where the wildcard character is embedded within an A-label or
+            # U-label of an internationalized domain name.
+            pats.append(re.escape(leftmost))
+        else:
+            # Otherwise, '*' matches any dotless string, e.g. www*
+            pats.append(re.escape(leftmost).replace(r'\*', '[^.]*'))
+
+        # add the remaining fragments, ignore any wildcards
+        for frag in remainder:
+            pats.append(re.escape(frag))
+
+        pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE)
+        return pat.match(hostname)
+
+    def match_hostname(cert, hostname):
+        """Verify that *cert* (in decoded format as returned by
+        SSLSocket.getpeercert()) matches the *hostname*.  RFC 2818 and RFC 6125
+        rules are followed, but IP addresses are not accepted for *hostname*.
+
+        CertificateError is raised on failure. On success, the function
+        returns nothing.
+        """
+        if not cert:
+            raise ValueError("empty or no certificate")
+        dnsnames = []
+        san = cert.get('subjectAltName', ())
+        for key, value in san:
+            if key == 'DNS':
+                if _dnsname_match(value, hostname):
+                    return
+                dnsnames.append(value)
+        if not dnsnames:
+            # The subject is only checked when there is no dNSName entry
+            # in subjectAltName
+            for sub in cert.get('subject', ()):
+                for key, value in sub:
+                    # XXX according to RFC 2818, the most specific Common Name
+                    # must be used.
+                    if key == 'commonName':
+                        if _dnsname_match(value, hostname):
+                            return
+                        dnsnames.append(value)
+        if len(dnsnames) > 1:
+            raise CertificateError("hostname %r "
+                "doesn't match either of %s"
+                % (hostname, ', '.join(map(repr, dnsnames))))
+        elif len(dnsnames) == 1:
+            raise CertificateError("hostname %r "
+                "doesn't match %r"
+                % (hostname, dnsnames[0]))
+        else:
+            raise CertificateError("no appropriate commonName or "
+                "subjectAltName fields were found")
+
+
+class VerifyingHTTPSHandler(HTTPSHandler):
+    """Simple verifying handler: no auth, subclasses, timeouts, etc."""
+
+    def __init__(self, ca_bundle):
+        self.ca_bundle = ca_bundle
+        HTTPSHandler.__init__(self)
+
+    def https_open(self, req):
+        return self.do_open(
+            lambda host, **kw: VerifyingHTTPSConn(host, self.ca_bundle, **kw), req
+        )
+
+
+class VerifyingHTTPSConn(HTTPSConnection):
+    """Simple verifying connection: no auth, subclasses, timeouts, etc."""
+
+    def __init__(self, host, ca_bundle, **kw):
+        HTTPSConnection.__init__(self, host, **kw)
+        self.ca_bundle = ca_bundle
+
+    def connect(self):
+        sock = socket.create_connection(
+            (self.host, self.port), getattr(self, 'source_address', None)
+        )
+
+        # Handle the socket if a (proxy) tunnel is present
+        if hasattr(self, '_tunnel') and getattr(self, '_tunnel_host', None):
+            self.sock = sock
+            self._tunnel()
+            # http://bugs.python.org/issue7776: Python>=3.4.1 and >=2.7.7
+            # change self.host to mean the proxy server host when tunneling is
+            # being used. Adapt, since we are interested in the destination
+            # host for the match_hostname() comparison.
+            actual_host = self._tunnel_host
+        else:
+            actual_host = self.host
+
+        if hasattr(ssl, 'create_default_context'):
+            ctx = ssl.create_default_context(cafile=self.ca_bundle)
+            self.sock = ctx.wrap_socket(sock, server_hostname=actual_host)
+        else:
+            # This is for python < 2.7.9 and < 3.4?
+            self.sock = ssl.wrap_socket(
+                sock, cert_reqs=ssl.CERT_REQUIRED, ca_certs=self.ca_bundle
+            )
+        try:
+            match_hostname(self.sock.getpeercert(), actual_host)
+        except CertificateError:
+            self.sock.shutdown(socket.SHUT_RDWR)
+            self.sock.close()
+            raise
+
+
+def opener_for(ca_bundle=None):
+    """Get a urlopen() replacement that uses ca_bundle for verification"""
+    return urllib.request.build_opener(
+        VerifyingHTTPSHandler(ca_bundle or find_ca_bundle())
+    ).open
+
+
+# from jaraco.functools
+def once(func):
+    @functools.wraps(func)
+    def wrapper(*args, **kwargs):
+        if not hasattr(func, 'always_returns'):
+            func.always_returns = func(*args, **kwargs)
+        return func.always_returns
+    return wrapper
+
+
+@once
+def get_win_certfile():
+    try:
+        import wincertstore
+    except ImportError:
+        return None
+
+    class CertFile(wincertstore.CertFile):
+        def __init__(self):
+            super(CertFile, self).__init__()
+            atexit.register(self.close)
+
+        def close(self):
+            try:
+                super(CertFile, self).close()
+            except OSError:
+                pass
+
+    _wincerts = CertFile()
+    _wincerts.addstore('CA')
+    _wincerts.addstore('ROOT')
+    return _wincerts.name
+
+
+def find_ca_bundle():
+    """Return an existing CA bundle path, or None"""
+    extant_cert_paths = filter(os.path.isfile, cert_paths)
+    return (
+        get_win_certfile()
+        or next(extant_cert_paths, None)
+        or _certifi_where()
+    )
+
+
+def _certifi_where():
+    try:
+        return __import__('certifi').where()
+    except (ImportError, ResolutionError, ExtractionError):
+        pass
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/unicode_utils.py b/iot_env/lib/python3.8/site-packages/setuptools/unicode_utils.py
new file mode 100644
index 0000000..7c63efd
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/unicode_utils.py
@@ -0,0 +1,44 @@
+import unicodedata
+import sys
+
+from setuptools.extern import six
+
+
+# HFS Plus uses decomposed UTF-8
+def decompose(path):
+    if isinstance(path, six.text_type):
+        return unicodedata.normalize('NFD', path)
+    try:
+        path = path.decode('utf-8')
+        path = unicodedata.normalize('NFD', path)
+        path = path.encode('utf-8')
+    except UnicodeError:
+        pass  # Not UTF-8
+    return path
+
+
+def filesys_decode(path):
+    """
+    Ensure that the given path is decoded,
+    NONE when no expected encoding works
+    """
+
+    if isinstance(path, six.text_type):
+        return path
+
+    fs_enc = sys.getfilesystemencoding() or 'utf-8'
+    candidates = fs_enc, 'utf-8'
+
+    for enc in candidates:
+        try:
+            return path.decode(enc)
+        except UnicodeDecodeError:
+            continue
+
+
+def try_encode(string, enc):
+    "turn unicode encoding into a functional routine"
+    try:
+        return string.encode(enc)
+    except UnicodeEncodeError:
+        return None
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/version.py b/iot_env/lib/python3.8/site-packages/setuptools/version.py
new file mode 100644
index 0000000..95e1869
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/version.py
@@ -0,0 +1,6 @@
+import pkg_resources
+
+try:
+    __version__ = pkg_resources.get_distribution('setuptools').version
+except Exception:
+    __version__ = 'unknown'
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/wheel.py b/iot_env/lib/python3.8/site-packages/setuptools/wheel.py
new file mode 100644
index 0000000..025aaa8
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/wheel.py
@@ -0,0 +1,220 @@
+"""Wheels support."""
+
+from distutils.util import get_platform
+from distutils import log
+import email
+import itertools
+import os
+import posixpath
+import re
+import zipfile
+
+import pkg_resources
+import setuptools
+from pkg_resources import parse_version
+from setuptools.extern.packaging.tags import sys_tags
+from setuptools.extern.packaging.utils import canonicalize_name
+from setuptools.extern.six import PY3
+from setuptools.command.egg_info import write_requirements
+
+
+__metaclass__ = type
+
+
+WHEEL_NAME = re.compile(
+    r"""^(?P<project_name>.+?)-(?P<version>\d.*?)
+    ((-(?P<build>\d.*?))?-(?P<py_version>.+?)-(?P<abi>.+?)-(?P<platform>.+?)
+    )\.whl$""",
+    re.VERBOSE).match
+
+NAMESPACE_PACKAGE_INIT = '''\
+try:
+    __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+    __path__ = __import__('pkgutil').extend_path(__path__, __name__)
+'''
+
+
+def unpack(src_dir, dst_dir):
+    '''Move everything under `src_dir` to `dst_dir`, and delete the former.'''
+    for dirpath, dirnames, filenames in os.walk(src_dir):
+        subdir = os.path.relpath(dirpath, src_dir)
+        for f in filenames:
+            src = os.path.join(dirpath, f)
+            dst = os.path.join(dst_dir, subdir, f)
+            os.renames(src, dst)
+        for n, d in reversed(list(enumerate(dirnames))):
+            src = os.path.join(dirpath, d)
+            dst = os.path.join(dst_dir, subdir, d)
+            if not os.path.exists(dst):
+                # Directory does not exist in destination,
+                # rename it and prune it from os.walk list.
+                os.renames(src, dst)
+                del dirnames[n]
+    # Cleanup.
+    for dirpath, dirnames, filenames in os.walk(src_dir, topdown=True):
+        assert not filenames
+        os.rmdir(dirpath)
+
+
+class Wheel:
+
+    def __init__(self, filename):
+        match = WHEEL_NAME(os.path.basename(filename))
+        if match is None:
+            raise ValueError('invalid wheel name: %r' % filename)
+        self.filename = filename
+        for k, v in match.groupdict().items():
+            setattr(self, k, v)
+
+    def tags(self):
+        '''List tags (py_version, abi, platform) supported by this wheel.'''
+        return itertools.product(
+            self.py_version.split('.'),
+            self.abi.split('.'),
+            self.platform.split('.'),
+        )
+
+    def is_compatible(self):
+        '''Is the wheel is compatible with the current platform?'''
+        supported_tags = set((t.interpreter, t.abi, t.platform) for t in sys_tags())
+        return next((True for t in self.tags() if t in supported_tags), False)
+
+    def egg_name(self):
+        return pkg_resources.Distribution(
+            project_name=self.project_name, version=self.version,
+            platform=(None if self.platform == 'any' else get_platform()),
+        ).egg_name() + '.egg'
+
+    def get_dist_info(self, zf):
+        # find the correct name of the .dist-info dir in the wheel file
+        for member in zf.namelist():
+            dirname = posixpath.dirname(member)
+            if (dirname.endswith('.dist-info') and
+                    canonicalize_name(dirname).startswith(
+                        canonicalize_name(self.project_name))):
+                return dirname
+        raise ValueError("unsupported wheel format. .dist-info not found")
+
+    def install_as_egg(self, destination_eggdir):
+        '''Install wheel as an egg directory.'''
+        with zipfile.ZipFile(self.filename) as zf:
+            self._install_as_egg(destination_eggdir, zf)
+
+    def _install_as_egg(self, destination_eggdir, zf):
+        dist_basename = '%s-%s' % (self.project_name, self.version)
+        dist_info = self.get_dist_info(zf)
+        dist_data = '%s.data' % dist_basename
+        egg_info = os.path.join(destination_eggdir, 'EGG-INFO')
+
+        self._convert_metadata(zf, destination_eggdir, dist_info, egg_info)
+        self._move_data_entries(destination_eggdir, dist_data)
+        self._fix_namespace_packages(egg_info, destination_eggdir)
+
+    @staticmethod
+    def _convert_metadata(zf, destination_eggdir, dist_info, egg_info):
+        def get_metadata(name):
+            with zf.open(posixpath.join(dist_info, name)) as fp:
+                value = fp.read().decode('utf-8') if PY3 else fp.read()
+                return email.parser.Parser().parsestr(value)
+
+        wheel_metadata = get_metadata('WHEEL')
+        # Check wheel format version is supported.
+        wheel_version = parse_version(wheel_metadata.get('Wheel-Version'))
+        wheel_v1 = (
+            parse_version('1.0') <= wheel_version < parse_version('2.0dev0')
+        )
+        if not wheel_v1:
+            raise ValueError(
+                'unsupported wheel format version: %s' % wheel_version)
+        # Extract to target directory.
+        os.mkdir(destination_eggdir)
+        zf.extractall(destination_eggdir)
+        # Convert metadata.
+        dist_info = os.path.join(destination_eggdir, dist_info)
+        dist = pkg_resources.Distribution.from_location(
+            destination_eggdir, dist_info,
+            metadata=pkg_resources.PathMetadata(destination_eggdir, dist_info),
+        )
+
+        # Note: Evaluate and strip markers now,
+        # as it's difficult to convert back from the syntax:
+        # foobar; "linux" in sys_platform and extra == 'test'
+        def raw_req(req):
+            req.marker = None
+            return str(req)
+        install_requires = list(sorted(map(raw_req, dist.requires())))
+        extras_require = {
+            extra: sorted(
+                req
+                for req in map(raw_req, dist.requires((extra,)))
+                if req not in install_requires
+            )
+            for extra in dist.extras
+        }
+        os.rename(dist_info, egg_info)
+        os.rename(
+            os.path.join(egg_info, 'METADATA'),
+            os.path.join(egg_info, 'PKG-INFO'),
+        )
+        setup_dist = setuptools.Distribution(
+            attrs=dict(
+                install_requires=install_requires,
+                extras_require=extras_require,
+            ),
+        )
+        # Temporarily disable info traces.
+        log_threshold = log._global_log.threshold
+        log.set_threshold(log.WARN)
+        try:
+            write_requirements(
+                setup_dist.get_command_obj('egg_info'),
+                None,
+                os.path.join(egg_info, 'requires.txt'),
+            )
+        finally:
+            log.set_threshold(log_threshold)
+
+    @staticmethod
+    def _move_data_entries(destination_eggdir, dist_data):
+        """Move data entries to their correct location."""
+        dist_data = os.path.join(destination_eggdir, dist_data)
+        dist_data_scripts = os.path.join(dist_data, 'scripts')
+        if os.path.exists(dist_data_scripts):
+            egg_info_scripts = os.path.join(
+                destination_eggdir, 'EGG-INFO', 'scripts')
+            os.mkdir(egg_info_scripts)
+            for entry in os.listdir(dist_data_scripts):
+                # Remove bytecode, as it's not properly handled
+                # during easy_install scripts install phase.
+                if entry.endswith('.pyc'):
+                    os.unlink(os.path.join(dist_data_scripts, entry))
+                else:
+                    os.rename(
+                        os.path.join(dist_data_scripts, entry),
+                        os.path.join(egg_info_scripts, entry),
+                    )
+            os.rmdir(dist_data_scripts)
+        for subdir in filter(os.path.exists, (
+            os.path.join(dist_data, d)
+            for d in ('data', 'headers', 'purelib', 'platlib')
+        )):
+            unpack(subdir, destination_eggdir)
+        if os.path.exists(dist_data):
+            os.rmdir(dist_data)
+
+    @staticmethod
+    def _fix_namespace_packages(egg_info, destination_eggdir):
+        namespace_packages = os.path.join(
+            egg_info, 'namespace_packages.txt')
+        if os.path.exists(namespace_packages):
+            with open(namespace_packages) as fp:
+                namespace_packages = fp.read().split()
+            for mod in namespace_packages:
+                mod_dir = os.path.join(destination_eggdir, *mod.split('.'))
+                mod_init = os.path.join(mod_dir, '__init__.py')
+                if not os.path.exists(mod_dir):
+                    os.mkdir(mod_dir)
+                if not os.path.exists(mod_init):
+                    with open(mod_init, 'w') as fp:
+                        fp.write(NAMESPACE_PACKAGE_INIT)
diff --git a/iot_env/lib/python3.8/site-packages/setuptools/windows_support.py b/iot_env/lib/python3.8/site-packages/setuptools/windows_support.py
new file mode 100644
index 0000000..cb977cf
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/setuptools/windows_support.py
@@ -0,0 +1,29 @@
+import platform
+import ctypes
+
+
+def windows_only(func):
+    if platform.system() != 'Windows':
+        return lambda *args, **kwargs: None
+    return func
+
+
+@windows_only
+def hide_file(path):
+    """
+    Set the hidden attribute on a file or directory.
+
+    From http://stackoverflow.com/questions/19622133/
+
+    `path` must be text.
+    """
+    __import__('ctypes.wintypes')
+    SetFileAttributes = ctypes.windll.kernel32.SetFileAttributesW
+    SetFileAttributes.argtypes = ctypes.wintypes.LPWSTR, ctypes.wintypes.DWORD
+    SetFileAttributes.restype = ctypes.wintypes.BOOL
+
+    FILE_ATTRIBUTE_HIDDEN = 0x02
+
+    ret = SetFileAttributes(path, FILE_ATTRIBUTE_HIDDEN)
+    if not ret:
+        raise ctypes.WinError()
diff --git a/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/INSTALLER b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/INSTALLER
new file mode 100644
index 0000000..a1b589e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/INSTALLER
@@ -0,0 +1 @@
+pip
diff --git a/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/LICENSE b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/LICENSE
new file mode 100644
index 0000000..5d61ece
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) Aymeric Augustin and contributors
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of the copyright holder nor the names of its contributors
+      may be used to endorse or promote products derived from this software
+      without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/METADATA b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/METADATA
new file mode 100644
index 0000000..33c816a
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/METADATA
@@ -0,0 +1,176 @@
+Metadata-Version: 2.1
+Name: websockets
+Version: 11.0.3
+Summary: An implementation of the WebSocket Protocol (RFC 6455 & 7692)
+Author-email: Aymeric Augustin <aymeric.augustin@m4x.org>
+License: BSD-3-Clause
+Project-URL: homepage, https://github.com/aaugustin/websockets
+Project-URL: changelog, https://websockets.readthedocs.io/en/stable/project/changelog.html
+Project-URL: documentation, https://websockets.readthedocs.io/
+Project-URL: funding, https://tidelift.com/subscription/pkg/pypi-websockets?utm_source=pypi-websockets&utm_medium=referral&utm_campaign=readme
+Project-URL: tracker, https://github.com/aaugustin/websockets/issues
+Keywords: WebSocket
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Environment :: Web Environment
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: BSD License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Requires-Python: >=3.7
+License-File: LICENSE
+
+.. image:: logo/horizontal.svg
+   :width: 480px
+   :alt: websockets
+
+|licence| |version| |pyversions| |tests| |docs| |openssf|
+
+.. |licence| image:: https://img.shields.io/pypi/l/websockets.svg
+    :target: https://pypi.python.org/pypi/websockets
+
+.. |version| image:: https://img.shields.io/pypi/v/websockets.svg
+    :target: https://pypi.python.org/pypi/websockets
+
+.. |pyversions| image:: https://img.shields.io/pypi/pyversions/websockets.svg
+    :target: https://pypi.python.org/pypi/websockets
+
+.. |tests| image:: https://img.shields.io/github/checks-status/aaugustin/websockets/main?label=tests
+   :target: https://github.com/aaugustin/websockets/actions/workflows/tests.yml
+
+.. |docs| image:: https://img.shields.io/readthedocs/websockets.svg
+   :target: https://websockets.readthedocs.io/
+
+.. |openssf| image:: https://bestpractices.coreinfrastructure.org/projects/6475/badge
+   :target: https://bestpractices.coreinfrastructure.org/projects/6475
+
+What is ``websockets``?
+-----------------------
+
+websockets is a library for building WebSocket_ servers and clients in Python
+with a focus on correctness, simplicity, robustness, and performance.
+
+.. _WebSocket: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API
+
+Built on top of ``asyncio``, Python's standard asynchronous I/O framework, the
+default implementation provides an elegant coroutine-based API.
+
+An implementation on top of ``threading`` and a Sans-I/O implementation are also
+available.
+
+`Documentation is available on Read the Docs. <https://websockets.readthedocs.io/>`_
+
+.. copy-pasted because GitHub doesn't support the include directive
+
+Here's an echo server with the ``asyncio`` API:
+
+.. code:: python
+
+    #!/usr/bin/env python
+
+    import asyncio
+    from websockets.server import serve
+
+    async def echo(websocket):
+        async for message in websocket:
+            await websocket.send(message)
+
+    async def main():
+        async with serve(echo, "localhost", 8765):
+            await asyncio.Future()  # run forever
+
+    asyncio.run(main())
+
+Here's how a client sends and receives messages with the ``threading`` API:
+
+.. code:: python
+
+    #!/usr/bin/env python
+
+    import asyncio
+    from websockets.sync.client import connect
+
+    def hello():
+        with connect("ws://localhost:8765") as websocket:
+            websocket.send("Hello world!")
+            message = websocket.recv()
+            print(f"Received: {message}")
+
+    hello()
+
+
+Does that look good?
+
+`Get started with the tutorial! <https://websockets.readthedocs.io/en/stable/intro/index.html>`_
+
+Why should I use ``websockets``?
+--------------------------------
+
+The development of ``websockets`` is shaped by four principles:
+
+1. **Correctness**: ``websockets`` is heavily tested for compliance with
+   :rfc:`6455`. Continuous integration fails under 100% branch coverage.
+
+2. **Simplicity**: all you need to understand is ``msg = await ws.recv()`` and
+   ``await ws.send(msg)``. ``websockets`` takes care of managing connections
+   so you can focus on your application.
+
+3. **Robustness**: ``websockets`` is built for production. For example, it was
+   the only library to `handle backpressure correctly`_ before the issue
+   became widely known in the Python community.
+
+4. **Performance**: memory usage is optimized and configurable. A C extension
+   accelerates expensive operations. It's pre-compiled for Linux, macOS and
+   Windows and packaged in the wheel format for each system and Python version.
+
+Documentation is a first class concern in the project. Head over to `Read the
+Docs`_ and see for yourself.
+
+.. _Read the Docs: https://websockets.readthedocs.io/
+.. _handle backpressure correctly: https://vorpus.org/blog/some-thoughts-on-asynchronous-api-design-in-a-post-asyncawait-world/#websocket-servers
+
+Why shouldn't I use ``websockets``?
+-----------------------------------
+
+* If you prefer callbacks over coroutines: ``websockets`` was created to
+  provide the best coroutine-based API to manage WebSocket connections in
+  Python. Pick another library for a callback-based API.
+
+* If you're looking for a mixed HTTP / WebSocket library: ``websockets`` aims
+  at being an excellent implementation of :rfc:`6455`: The WebSocket Protocol
+  and :rfc:`7692`: Compression Extensions for WebSocket. Its support for HTTP
+  is minimal — just enough for an HTTP health check.
+
+  If you want to do both in the same server, look at HTTP frameworks that
+  build on top of ``websockets`` to support WebSocket connections, like
+  Sanic_.
+
+.. _Sanic: https://sanicframework.org/en/
+
+What else?
+----------
+
+Bug reports, patches and suggestions are welcome!
+
+To report a security vulnerability, please use the `Tidelift security
+contact`_. Tidelift will coordinate the fix and disclosure.
+
+.. _Tidelift security contact: https://tidelift.com/security
+
+For anything else, please open an issue_ or send a `pull request`_.
+
+.. _issue: https://github.com/aaugustin/websockets/issues/new
+.. _pull request: https://github.com/aaugustin/websockets/compare/
+
+Participants must uphold the `Contributor Covenant code of conduct`_.
+
+.. _Contributor Covenant code of conduct: https://github.com/aaugustin/websockets/blob/main/CODE_OF_CONDUCT.md
+
+``websockets`` is released under the `BSD license`_.
+
+.. _BSD license: https://github.com/aaugustin/websockets/blob/main/LICENSE
diff --git a/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/RECORD b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/RECORD
new file mode 100644
index 0000000..d7aabb8
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/RECORD
@@ -0,0 +1,87 @@
+websockets-11.0.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
+websockets-11.0.3.dist-info/LICENSE,sha256=PWoMBQ2L7FL6utUC5F-yW9ArytvXDeo01Ee2oP9Obag,1514
+websockets-11.0.3.dist-info/METADATA,sha256=p679f2CwWdb-87gsrSEpFWqlue5gFCyNJbYqCucVpmg,6619
+websockets-11.0.3.dist-info/RECORD,,
+websockets-11.0.3.dist-info/WHEEL,sha256=lq2BHZwRY5cpEgTIQwBcMLbK3tU4zEnFo4yR_7ER0UM,217
+websockets-11.0.3.dist-info/top_level.txt,sha256=CMpdKklxKsvZgCgyltxUWOHibZXZ1uYIVpca9xsQ8Hk,11
+websockets/__init__.py,sha256=kezN0NeaLAYBNP8eNgIadwCf-X4qAuQjdqXVrdLm5AM,3426
+websockets/__main__.py,sha256=8Dtga-XePHQ4jqgMMuXHT8XRH_hSvs8bEZ7-v49vTKg,4744
+websockets/__pycache__/__init__.cpython-38.pyc,,
+websockets/__pycache__/__main__.cpython-38.pyc,,
+websockets/__pycache__/auth.cpython-38.pyc,,
+websockets/__pycache__/client.cpython-38.pyc,,
+websockets/__pycache__/connection.cpython-38.pyc,,
+websockets/__pycache__/datastructures.cpython-38.pyc,,
+websockets/__pycache__/exceptions.cpython-38.pyc,,
+websockets/__pycache__/frames.cpython-38.pyc,,
+websockets/__pycache__/headers.cpython-38.pyc,,
+websockets/__pycache__/http.cpython-38.pyc,,
+websockets/__pycache__/http11.cpython-38.pyc,,
+websockets/__pycache__/imports.cpython-38.pyc,,
+websockets/__pycache__/protocol.cpython-38.pyc,,
+websockets/__pycache__/server.cpython-38.pyc,,
+websockets/__pycache__/streams.cpython-38.pyc,,
+websockets/__pycache__/typing.cpython-38.pyc,,
+websockets/__pycache__/uri.cpython-38.pyc,,
+websockets/__pycache__/utils.cpython-38.pyc,,
+websockets/__pycache__/version.cpython-38.pyc,,
+websockets/auth.py,sha256=VObSo1Q61jh0XFXpeL6-1ir0OXlqA8OJjoChsB_01k8,139
+websockets/client.py,sha256=dfEJWRlGLaSfssMr3Lss-02n-IVosorFMD6Ub9JAI3E,12418
+websockets/connection.py,sha256=UivBmLaKmEOGpL1bU8uwh1PXIqMFiOUTVRi_gM7w5Rg,333
+websockets/datastructures.py,sha256=pcT7RdCI6ZfYddHWMcwPR-1A89GRpj26xgdtmZsRgiA,5738
+websockets/exceptions.py,sha256=DUzr1GdPO6FDAl9C5Wb3IhjSYSomVbvWo_NTM46zWm4,10143
+websockets/extensions/__init__.py,sha256=QkZsxaJVllVSp1uhdD5uPGibdbx_091GrVVfS5LXcpw,98
+websockets/extensions/__pycache__/__init__.cpython-38.pyc,,
+websockets/extensions/__pycache__/base.cpython-38.pyc,,
+websockets/extensions/__pycache__/permessage_deflate.cpython-38.pyc,,
+websockets/extensions/base.py,sha256=5shEU7lqmsLC7-y3OCWih1VdS_wOImmZwuAaEKl9kDU,3271
+websockets/extensions/permessage_deflate.py,sha256=bPFOAyTUDU7IIJyCGnWfr5yZF_J8dhCwJWt7jWuYM6c,24782
+websockets/frames.py,sha256=jSHawlqpEDrVcnGrKDawlINoelU9Hg5Wb0p4B_3SEl0,12537
+websockets/headers.py,sha256=RYryH2zqB_2Y02BTF2KsQFfYxAM6-Kh-A3Dv_32opAA,16120
+websockets/http.py,sha256=HR_IIij3xpoKkiLzGp4h5_NkVr2a8ZeCqGUopo6U4Rs,644
+websockets/http11.py,sha256=QcZ7u-UYbO98xQXrUz43qgaBXk-AyoQBHJBR0J9qYRE,12565
+websockets/imports.py,sha256=SXXs0glid-UHcwla5yjR72DIbGeUTrS9VFagPvPvRNY,2790
+websockets/legacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
+websockets/legacy/__pycache__/__init__.cpython-38.pyc,,
+websockets/legacy/__pycache__/async_timeout.cpython-38.pyc,,
+websockets/legacy/__pycache__/auth.cpython-38.pyc,,
+websockets/legacy/__pycache__/client.cpython-38.pyc,,
+websockets/legacy/__pycache__/compatibility.cpython-38.pyc,,
+websockets/legacy/__pycache__/framing.cpython-38.pyc,,
+websockets/legacy/__pycache__/handshake.cpython-38.pyc,,
+websockets/legacy/__pycache__/http.cpython-38.pyc,,
+websockets/legacy/__pycache__/protocol.cpython-38.pyc,,
+websockets/legacy/__pycache__/server.cpython-38.pyc,,
+websockets/legacy/async_timeout.py,sha256=nHW_nJYnxtuprwPduZMTl789KAymwmv0ukLbzm2Z8yU,8540
+websockets/legacy/auth.py,sha256=WP68nZ1KAS0YCfNRyYG2M6LrNmT6xa430YnAjoeAP3g,6287
+websockets/legacy/client.py,sha256=cEa1xlsuUhJk9T0RKdRSWeYm8WGV2M7M8JZeqwp2tpE,26555
+websockets/legacy/compatibility.py,sha256=HRmodUeop_0hT7TG8_qIZrXmfGYDFioSmg3jCoPs0Ow,758
+websockets/legacy/framing.py,sha256=M4J6ZPRK-zNqY_UgPQ4Qppc4R64aSMftO7FR_0VpG-Q,4998
+websockets/legacy/handshake.py,sha256=RggPKl-w8oFJZQYZR0IdIOTrsz040pYp0Gu4L_D7_4U,5479
+websockets/legacy/http.py,sha256=qmrM7pa0kuuJIroMVahBAH8_ZVqkD91YhwVux_xpfeI,6938
+websockets/legacy/protocol.py,sha256=W_et77gFzuJ4IWtoROWt45v_Nx4Auq552HrQPakdGps,63339
+websockets/legacy/server.py,sha256=BjiJELoOfY7KspN9RpqquxIMVDgQZw4IFQscHdH82lM,45232
+websockets/protocol.py,sha256=sKb7pl8k5TFTBwZPB9_kBzvBaxSzR9ExHTPrgUbW6lU,23822
+websockets/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
+websockets/server.py,sha256=uYaKhW6y01WCSegDVAwKhFv__OAhG6_-lwbLIBXq0lw,20857
+websockets/speedups.c,sha256=ghPq-NF35VLVNkMv0uFDIruNpVISyW-qvoZgPpE65qw,5834
+websockets/speedups.cpython-38-x86_64-linux-gnu.so,sha256=FyseojN0ozewdmRY5oHkxHBc3tKzX7h7pFYssft_PcA,34072
+websockets/streams.py,sha256=8nv62HYyS74t_JSWGie4SoYAz8-jMcQacaHnD0RkK90,4038
+websockets/sync/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
+websockets/sync/__pycache__/__init__.cpython-38.pyc,,
+websockets/sync/__pycache__/client.cpython-38.pyc,,
+websockets/sync/__pycache__/compatibility.cpython-38.pyc,,
+websockets/sync/__pycache__/connection.cpython-38.pyc,,
+websockets/sync/__pycache__/messages.cpython-38.pyc,,
+websockets/sync/__pycache__/server.cpython-38.pyc,,
+websockets/sync/__pycache__/utils.cpython-38.pyc,,
+websockets/sync/client.py,sha256=-9we3AHtE25pcT6EHGQ0oIyGzfYs18AzLpyDn4RLi94,11265
+websockets/sync/compatibility.py,sha256=1k-EUGSz-tpDdj4c65uIgbzpET5ZRWdQtRTPbZ8kFvI,555
+websockets/sync/connection.py,sha256=3Fe1BRNr4AdXs5j8UAdrSODomnfNrI460T0nTyn_2N0,29284
+websockets/sync/messages.py,sha256=pTcWhwD-uwA0l4a26_xgPHgP8pjRYk5xrX5Vhq-JuCo,9484
+websockets/sync/server.py,sha256=Wi306IkixafVw0JqeFEXUE7WWgIU_Go_FG3UQ9bz0HA,18661
+websockets/sync/utils.py,sha256=yUDxjeM4yVeXOZ_Go4ajgTUDOy-0rEWkjcR_RZDqcYY,1151
+websockets/typing.py,sha256=yx0SxSmil5JfG4fUtj-dgyR1UcW5wwmvgqtEOmcJxm4,1384
+websockets/uri.py,sha256=oymYUo7bX8LofYzXpT3UqTZfkCt2y4s680Xr-qw88qk,3215
+websockets/utils.py,sha256=QBhgbXn9ZvvLEzj-X8-zSHWVMkUqc6Wm-_HBjga5RNM,1150
+websockets/version.py,sha256=1txnm49P_pXG7EmoPowwuhzYwUJVkR1iaD-ZTyLuvrc,2723
diff --git a/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/WHEEL b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/WHEEL
new file mode 100644
index 0000000..e95a40d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/WHEEL
@@ -0,0 +1,8 @@
+Wheel-Version: 1.0
+Generator: bdist_wheel (0.40.0)
+Root-Is-Purelib: false
+Tag: cp38-cp38-manylinux_2_5_x86_64
+Tag: cp38-cp38-manylinux1_x86_64
+Tag: cp38-cp38-manylinux_2_17_x86_64
+Tag: cp38-cp38-manylinux2014_x86_64
+
diff --git a/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/top_level.txt b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/top_level.txt
new file mode 100644
index 0000000..14774b4
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets-11.0.3.dist-info/top_level.txt
@@ -0,0 +1 @@
+websockets
diff --git a/iot_env/lib/python3.8/site-packages/websockets/__init__.py b/iot_env/lib/python3.8/site-packages/websockets/__init__.py
new file mode 100644
index 0000000..dcf3d81
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/__init__.py
@@ -0,0 +1,114 @@
+from __future__ import annotations
+
+from .imports import lazy_import
+from .version import version as __version__  # noqa: F401
+
+
+__all__ = [
+    "AbortHandshake",
+    "basic_auth_protocol_factory",
+    "BasicAuthWebSocketServerProtocol",
+    "broadcast",
+    "ClientProtocol",
+    "connect",
+    "ConnectionClosed",
+    "ConnectionClosedError",
+    "ConnectionClosedOK",
+    "Data",
+    "DuplicateParameter",
+    "ExtensionName",
+    "ExtensionParameter",
+    "InvalidHandshake",
+    "InvalidHeader",
+    "InvalidHeaderFormat",
+    "InvalidHeaderValue",
+    "InvalidMessage",
+    "InvalidOrigin",
+    "InvalidParameterName",
+    "InvalidParameterValue",
+    "InvalidState",
+    "InvalidStatus",
+    "InvalidStatusCode",
+    "InvalidUpgrade",
+    "InvalidURI",
+    "LoggerLike",
+    "NegotiationError",
+    "Origin",
+    "parse_uri",
+    "PayloadTooBig",
+    "ProtocolError",
+    "RedirectHandshake",
+    "SecurityError",
+    "serve",
+    "ServerProtocol",
+    "Subprotocol",
+    "unix_connect",
+    "unix_serve",
+    "WebSocketClientProtocol",
+    "WebSocketCommonProtocol",
+    "WebSocketException",
+    "WebSocketProtocolError",
+    "WebSocketServer",
+    "WebSocketServerProtocol",
+    "WebSocketURI",
+]
+
+lazy_import(
+    globals(),
+    aliases={
+        "auth": ".legacy",
+        "basic_auth_protocol_factory": ".legacy.auth",
+        "BasicAuthWebSocketServerProtocol": ".legacy.auth",
+        "broadcast": ".legacy.protocol",
+        "ClientProtocol": ".client",
+        "connect": ".legacy.client",
+        "unix_connect": ".legacy.client",
+        "WebSocketClientProtocol": ".legacy.client",
+        "Headers": ".datastructures",
+        "MultipleValuesError": ".datastructures",
+        "WebSocketException": ".exceptions",
+        "ConnectionClosed": ".exceptions",
+        "ConnectionClosedError": ".exceptions",
+        "ConnectionClosedOK": ".exceptions",
+        "InvalidHandshake": ".exceptions",
+        "SecurityError": ".exceptions",
+        "InvalidMessage": ".exceptions",
+        "InvalidHeader": ".exceptions",
+        "InvalidHeaderFormat": ".exceptions",
+        "InvalidHeaderValue": ".exceptions",
+        "InvalidOrigin": ".exceptions",
+        "InvalidUpgrade": ".exceptions",
+        "InvalidStatus": ".exceptions",
+        "InvalidStatusCode": ".exceptions",
+        "NegotiationError": ".exceptions",
+        "DuplicateParameter": ".exceptions",
+        "InvalidParameterName": ".exceptions",
+        "InvalidParameterValue": ".exceptions",
+        "AbortHandshake": ".exceptions",
+        "RedirectHandshake": ".exceptions",
+        "InvalidState": ".exceptions",
+        "InvalidURI": ".exceptions",
+        "PayloadTooBig": ".exceptions",
+        "ProtocolError": ".exceptions",
+        "WebSocketProtocolError": ".exceptions",
+        "protocol": ".legacy",
+        "WebSocketCommonProtocol": ".legacy.protocol",
+        "ServerProtocol": ".server",
+        "serve": ".legacy.server",
+        "unix_serve": ".legacy.server",
+        "WebSocketServerProtocol": ".legacy.server",
+        "WebSocketServer": ".legacy.server",
+        "Data": ".typing",
+        "LoggerLike": ".typing",
+        "Origin": ".typing",
+        "ExtensionHeader": ".typing",
+        "ExtensionParameter": ".typing",
+        "Subprotocol": ".typing",
+    },
+    deprecated_aliases={
+        "framing": ".legacy",
+        "handshake": ".legacy",
+        "parse_uri": ".uri",
+        "WebSocketURI": ".uri",
+    },
+)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/__main__.py b/iot_env/lib/python3.8/site-packages/websockets/__main__.py
new file mode 100644
index 0000000..f2ea5cf
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/__main__.py
@@ -0,0 +1,159 @@
+from __future__ import annotations
+
+import argparse
+import os
+import signal
+import sys
+import threading
+
+
+try:
+    import readline  # noqa: F401
+except ImportError:  # Windows has no `readline` normally
+    pass
+
+from .sync.client import ClientConnection, connect
+from .version import version as websockets_version
+
+
+if sys.platform == "win32":
+
+    def win_enable_vt100() -> None:
+        """
+        Enable VT-100 for console output on Windows.
+
+        See also https://bugs.python.org/issue29059.
+
+        """
+        import ctypes
+
+        STD_OUTPUT_HANDLE = ctypes.c_uint(-11)
+        INVALID_HANDLE_VALUE = ctypes.c_uint(-1)
+        ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x004
+
+        handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
+        if handle == INVALID_HANDLE_VALUE:
+            raise RuntimeError("unable to obtain stdout handle")
+
+        cur_mode = ctypes.c_uint()
+        if ctypes.windll.kernel32.GetConsoleMode(handle, ctypes.byref(cur_mode)) == 0:
+            raise RuntimeError("unable to query current console mode")
+
+        # ctypes ints lack support for the required bit-OR operation.
+        # Temporarily convert to Py int, do the OR and convert back.
+        py_int_mode = int.from_bytes(cur_mode, sys.byteorder)
+        new_mode = ctypes.c_uint(py_int_mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING)
+
+        if ctypes.windll.kernel32.SetConsoleMode(handle, new_mode) == 0:
+            raise RuntimeError("unable to set console mode")
+
+
+def print_during_input(string: str) -> None:
+    sys.stdout.write(
+        # Save cursor position
+        "\N{ESC}7"
+        # Add a new line
+        "\N{LINE FEED}"
+        # Move cursor up
+        "\N{ESC}[A"
+        # Insert blank line, scroll last line down
+        "\N{ESC}[L"
+        # Print string in the inserted blank line
+        f"{string}\N{LINE FEED}"
+        # Restore cursor position
+        "\N{ESC}8"
+        # Move cursor down
+        "\N{ESC}[B"
+    )
+    sys.stdout.flush()
+
+
+def print_over_input(string: str) -> None:
+    sys.stdout.write(
+        # Move cursor to beginning of line
+        "\N{CARRIAGE RETURN}"
+        # Delete current line
+        "\N{ESC}[K"
+        # Print string
+        f"{string}\N{LINE FEED}"
+    )
+    sys.stdout.flush()
+
+
+def print_incoming_messages(websocket: ClientConnection, stop: threading.Event) -> None:
+    for message in websocket:
+        if isinstance(message, str):
+            print_during_input("< " + message)
+        else:
+            print_during_input("< (binary) " + message.hex())
+    if not stop.is_set():
+        # When the server closes the connection, raise KeyboardInterrupt
+        # in the main thread to exit the program.
+        if sys.platform == "win32":
+            ctrl_c = signal.CTRL_C_EVENT
+        else:
+            ctrl_c = signal.SIGINT
+        os.kill(os.getpid(), ctrl_c)
+
+
+def main() -> None:
+    # Parse command line arguments.
+    parser = argparse.ArgumentParser(
+        prog="python -m websockets",
+        description="Interactive WebSocket client.",
+        add_help=False,
+    )
+    group = parser.add_mutually_exclusive_group()
+    group.add_argument("--version", action="store_true")
+    group.add_argument("uri", metavar="<uri>", nargs="?")
+    args = parser.parse_args()
+
+    if args.version:
+        print(f"websockets {websockets_version}")
+        return
+
+    if args.uri is None:
+        parser.error("the following arguments are required: <uri>")
+
+    # If we're on Windows, enable VT100 terminal support.
+    if sys.platform == "win32":
+        try:
+            win_enable_vt100()
+        except RuntimeError as exc:
+            sys.stderr.write(
+                f"Unable to set terminal to VT100 mode. This is only "
+                f"supported since Win10 anniversary update. Expect "
+                f"weird symbols on the terminal.\nError: {exc}\n"
+            )
+            sys.stderr.flush()
+
+    try:
+        websocket = connect(args.uri)
+    except Exception as exc:
+        print(f"Failed to connect to {args.uri}: {exc}.")
+        sys.exit(1)
+    else:
+        print(f"Connected to {args.uri}.")
+
+    stop = threading.Event()
+
+    # Start the thread that reads messages from the connection.
+    thread = threading.Thread(target=print_incoming_messages, args=(websocket, stop))
+    thread.start()
+
+    # Read from stdin in the main thread in order to receive signals.
+    try:
+        while True:
+            # Since there's no size limit, put_nowait is identical to put.
+            message = input("> ")
+            websocket.send(message)
+    except (KeyboardInterrupt, EOFError):  # ^C, ^D
+        stop.set()
+        websocket.close()
+        print_over_input("Connection closed.")
+
+    thread.join()
+
+
+if __name__ == "__main__":
+    main()
diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..43078a36c245555cd5d830f6511da29eadd91cea
GIT binary patch
literal 1996
zcmWIL<>g{vU|{HN+ntic%fRp$#6iZ!3=9ko3=E9LEQ|~cDGVu$ISjdsQH+cXDNHHM
zIZV0CQOsaAOAbpeOB5?3LkepOTMBy$M+#>OR|<CuPYQ1eUkZPUK#E|BP>OJhNQ!8R
zSc-UxM2cjJREl(pOp0uZT#9^(LW*LFQi^hlN{VWVT8es#Mv7*NR*H6tPKs`dUW$H-
zL5g9DQMz6fTPkxZdox3daf(TbNs4KTS&BIrTBKN{Sdt8lQ%qB=QmmoSCIta)=NP0I
zrx>T$rP!s|&tXY%=mq)HF_=Nq=_M$9G#PJkC+6klmn4>C=I0f^WMp7q0Ey)!R#nDl
z<`(1^m1r{FVlPWAD$dN$yT#|2lwVZhk(ifKoROHFdP_Pfu{bk1KC!eUBfg+0za&37
zKPNsdF}WnasPdMA6G+mrv?L=uH7PhhIXkr^IJKxOwI~3p@)l=OQGQ}da$<4GEk5U*
z%+$ORxD<PGeqLT`a>*?LX9y!RKhHTQzc@AJmMFT2Yf({t(Jdi#VSn#iEG~&9iMNDY
zN(*u_lM_o)0}_i8b5l!Fi=ud4D@s!HK%VkT%uT%|1n0t)+!FB2D@)ADOhI^;7bcRL
zn37s_OBjXgmS2>cSaM4UMKCNer!@5zA5_dYwYWGjJ@ppM9RH%s^vt|lB2a0#)nF%y
zqKiVz;(-bWmn4=TOak#ri*E@cNtPBn=cgd-4lPJ8N=!+;#RXLo8svG4%O^iQJ+;Uu
zGduN`fM05Qen}=c9Y6w<4eC73g2bZY)cDe(%v-zxiIq9|i76rZ`A(VXw|HUE1<@cF
zl$w%Rl$wl`KzM^wlS_*-ODZ8MSc^dk;1(ZRI^Yg2O@bw#TRf$CnHBM{=;s3SAlk&?
z=?E>cAW7us=H}<YoOMeGuEVt=Ikf<k#&3zi#bC-HZsUiGLtJ+YVJbubru-HUTxDpG
zXBE3%PHK8$a%B|{l%WU84pjm$9?WA^?0U)IG+xCAlY;X3^->Z`5{pZUN|Q@Ui&BfL
zxb;$D&MmHD*8}^$2%!ziXV)vKEXd4D*EG1r0<yA*oq>U&hyz4$f(THFSi}utX@LkG
z1_p*Gb`NmUEshfQEzK#(EXYX(r>bIb5ESWw)bW4_UJ$_tB7{JM8i)`B5yBus1Vo5}
z2yqZ03nHXJgbavK01*NpLIOlcf(SMcp$a0TK!hBKPzDhyAVQykf#DVhETD>XL1G#p
zLLEeCg9t+qVE`idL4-VrPz3piAD(j|UMms=Nog`LFjTSVl@?`cvP7|`6(#0o=A}n*
zX243WA|;S2BT#9_bc;PPCo{1)wKz&BCAFX^6;x29#6!jWG&yc@#mA?Wf?_5<zK98A
zCp)BMEG}XJnZgQkJ$HOOw2+LCzr`LOpO}*aVx;HfCne?-uVg5)0x1O%zs&VZatrhe
zG7EG|^9mA^vr|)a%QI3_b94>!@-hm`i;eWlQ<I9p<z=yce0*kJW=VX!UP0w84x8Nk
vl+v73J5VWIe1(C5frp8Qk%xtek!J7`iy;#u3lq)Ehq(L#i!s!OKP+be7pP1@

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/__main__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/__main__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..eff2ac791c6680b12b1ac86f82f539aac6f0b53c
GIT binary patch
literal 3503
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
KLIQl&9E<=CTdO1h

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/auth.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/auth.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4d98b8de46a67079e6a6c0e9e1da3d7ffd1ce0f4
GIT binary patch
literal 221
zcmWIL<>g{vU|{HN+nv(Qz`*br#6iYP3=9ko3=E9L5)2FsDGVu$ISjdsQH+cXDNHHM
zIZPo8DJ;PZnyfEDdNdhtaVO^G<(DLuWaj4;zhq=!V9;c|#i-?{$$X0|K0d9qq_ikC
zKE4QKXcTu&YI<UFrCwrbNybWsA~psF2=U8Uza+OnzaX<fw=}OHF*!RmMYlX7H8n@q
uFfT8ou)NqvzdSXmI6pZ%wWL@dq+73`@)n0pZhlH>PO2Tq(qfPWJj?)5b2l&m

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/client.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/client.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..741ebadec278686de3137e2cd20989c17728b9a4
GIT binary patch
literal 10599
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/connection.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/connection.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..73946105727ee48b023a6f0eec17a1362b1e85f9
GIT binary patch
literal 465
zcmWIL<>g{vU|{HN+nwUe$iVOz#6iX^3=9ko3=E9LHVh05DGVu$ISjdsQH+crHd78$
z6jKUw3QG=iE=v?kE^8E9E_)PvE=LpxBSR|F0?riHRIY_gj0`DE!3>&gFG1#NGT!1&
z%*)F!Ni50C&nxzO$;iOKpviKJBiPl?CEnHF?G{HsQGQ8&a(>P&mf*~k)LX2<C5a`e
zRq^GiNyYie*{LPPddc~Dd8x@D0~E>=ixrAe^AdAYQxr<_6_6AaK#fsI%u7*l#;F5l
zn<n=yuK4)0(vs4m)cE)!CI$wETO8$yMR}Qd>BYA=V5Sv;0;Gr)B+G>`w1|y?fuV>U
zB+3HPb4$o2wV)_98SKe$h#@N(iugdPK*TRg{gT`Q{esK_-O{{*#N_PM6y5TS)YKeZ
z!@RtV!t!DxeS}Z+5#H4+sJz8tlbfGXnv-e=3b|q)1_lNmCJtr^W)?;!CZ@jt(vpaC

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/datastructures.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/datastructures.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3edd8aa71cde9c7625979efac9124c0de7402f40
GIT binary patch
literal 7039
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
N`52l0GW};^0{~s)nIQlG

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/exceptions.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/exceptions.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..64cc3ccda321c260eafb548eee4115a1bb73e9a7
GIT binary patch
literal 12953
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/frames.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/frames.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5cd40d72bfbe5b40fed195b8dd217a9428cbac62
GIT binary patch
literal 10573
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/headers.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/headers.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..bb2f05832651f92af5d45d3579f48aac45feabdb
GIT binary patch
literal 13312
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
KAYCGy0tNsxoW@)L

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/http.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/http.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0da11fdbe437511ed8c1780964297b91fcbebd32
GIT binary patch
literal 615
zcmWIL<>g{vU|{HN+nv(F#K7<v#6iYv3=9ko3=E9Lc?=8;DGVu$ISjdsQH+crHd78$
z6jKUw3QG=iE=v>(BSQ*v3TqB)E^8DUBSR`nDtj|S3R?<W3i}+U6pj>*6wWzJDO|nG
zj0`E<>5NevDLh%6sZ3d1eGF0DDZHuNvl&wOQrTuR%w>t<Nnr|R(Byv!a)~D6E$+m;
zy!?{HlFa<PV!xM+3=9k)!JNdZ%J|IOg8ZTqO~za7WvNBQnfZBD{CX*gC5go)MWx9l
zrA4X5noLpb9;t~bsYS(6!oH<BC7A^|sbPsZrK!cPMMe2VRXln*sp*Nym3kQ^B?X#H
zQ9MPdi7D|#sfDGf#U)X^P+oCCeqM2^CetnU#GK5;;?&|Op_J5uqSWNXlGK!VsMsy8
z&|ue~ct>|vzmO`{>RP?(+A8*d%94!yJpC#jh4R#-;{4?7)RJO-P2O8v@$qS;AScGh
z7cns~Fx+A;t}KpXhxn+th=qZHp@@}%fgwr=p)Vfl%UkT}Ir&M6ImNfw<Kq)^a^mA}
zv8Ck~<tCQg;(;oO&&*59zr`028RFsZ7a!&t6zu8mSH#Z1z_5~`h#zD)i1=l!Uy@s(
zUyxa#Tbfspn4F!OqFbJknwq0)n3tDPSYB+TkFZ@I6he9hmA5!-a`RJ4b5iX<aZxPC
iz`(%6#KFYF$iv3O$imFT$n=ke6-@qQ<6~pyVFUm^WV4+B

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/http11.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/http11.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c882eeb41caea8344af49ee6e22f3b012ff4932b
GIT binary patch
literal 9054
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
V!^O+R%)%&;%)%&8&%h;M3;=&5q#*zR

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/imports.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/imports.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6cfdeb2761b66c5f95502d3dd3c1e2374e42651c
GIT binary patch
literal 2631
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
E0c-%EDF6Tf

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/protocol.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/protocol.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..787eab4c00e501e6cb36138188c45dbf5e7b283f
GIT binary patch
literal 15946
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
R5F2Q7377<JD`93~0RRmD_R9bO

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/server.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/server.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..61e394596ad541e5c108956e100e053fa0f2579b
GIT binary patch
literal 16578
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
MvoQ<QGe96O0L5`q1^@s6

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/streams.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/streams.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..108c542066d9af0328a77ed318803eef07cb4380
GIT binary patch
literal 4159
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
La9@mviH8{g*sBCA

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/typing.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/typing.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d2c725ad60b0d09017a59171a54ac4dd89d6f864
GIT binary patch
literal 683
zcmWIL<>g{vU|{HN+ntiZ%E0g##6iYv3=9ko3=E9Ln-~}vQW#Pga~N_NqZk=MY^EHh
zD5eyK6y_Y}T$U)7T-GSoT(&5-T=ppTT#hIXMurrY6xI~B6!sL36wY+ED9%)lRIXI+
zG$u)gD4tY~RHiK6RHiIGFrPn_HH9setC=ZEAeA+R9n2C;WliA#vxHLFQ@K*vQn@4<
zz^a8)*;9p5SyF|ee34Yv6fUqz(NxwHZZJzMg(;XpljkMKH=2yMxD)g8@=Fp+GV}9_
z{WMu`vG`;bm)v6aODzwnEJ(e@;a>ofO3b;%8d6%2lX{CaG%qth?-q+oVoBmHE}#7L
z^wc7s%<R-#Z2m==>6v-AxPwcR3X1Ye@{{v(Zt=QSl%(brXXfYmCFZ8y5`uFB5{nXZ
zQ%h2dZV5Q&=jEj)gKUA=b&Ef=AiXFtB{cwQil+E2uK4)0(vs4m)cE)!CI$wETkJXc
z>FJqy>9^QQDho36(u<fG7#NCJKm;p@0L4!cJ6L6Wd}2;ceEcou;*z3UtVxw6sl`Pc
zAQ?7@>u>QwXvdVqf|AstB2JKgQ0y0RgIGKuf|r4TA&MXFdXLn^l+>akK9CeY0|UcK
zh9U_N8$|pv)i22{&@ad=&@Ig?NKDR7P0=mSNKMVrHO$M)C@e2F(l1X<D$Y;NPAw_c
zhqzv^pz;=nO>TZlX-=vgBLf3Nu^Iyd0}m4iqYMiZBOLx>;o;#DVBrEo0X8s;5dbz}
BwY&fT

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/uri.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/uri.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d3262ed685ae32b4d1f331485b51684678494002
GIT binary patch
literal 2862
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/utils.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/utils.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..eefe1ad5b7fffd364e1f0f3e438ff39fc3ac7ad4
GIT binary patch
literal 1443
zcmWIL<>g{vU|{HN+nrL!!octt#6iX^3=9ko3=E9LISdR8DGVu$ISjdsQH+crHd78$
z6jKUA3R4bq6f>A+iDCiMtWm5f%qcACOi^qptWoSKY$@z>7*jY>I9phvI8xYB*iyLW
zFr{#(Ft@Noai;KqA@3aK6uuOe7M3Wk6sBMXP5zf4cW5%+;!e!V%P&bR$;{6y_PfQE
zn4FwiP!gY=T6v2rv7jKQGCnu4IJ-*4$kf8s(aq6R*VWR{MAyXJ#ZlMN)Y(zj+0@a=
zz{T0Z)XC8B7ISe)ktX9UwxZOM(xSX%kPR@*$iTqB%)r3l4Dzi60|P?|!ve+>#)XWv
z3?)npm}?joGA>|Q$Pmn+$yDXUrJ$go;GUY7T9jCls*tEql$e*2pR16aTB(qhU!+iy
zk*W}!nyee1niQO$oSj;t>z!Jukdd00l3Jw41=jphfPsNQll2yRacXi=YDsYvcS(MB
zYF>O&Wl3uBEw-e@;#4z}TbxN|CaHPJ`6;Ql*iuqKv?k*%=IqqUl?+9^3=9mvO!P}~
z3-k*z3v^5K3KEmEQ&V)yGg4D?bPe<JG78I!jr7Y?lZwG^DAq46$;>I%E2zB1lMZz{
zC>Z$}7#NB{@yx)=#aIO5X)+b@FfcF_u`w_(B!j{Q7Dh}A3=ANZ;4o5whEWYe36nU(
z0_KI#5UOP?VO_vh!?=)f0XsOn7^~{RUUtsUEhsHX1&2;qVoqtQLVg;UgBnzh;0Q(y
zEytqtVk@vApn%U#t+Z0WV**BCYjWIT&qyrJ$jMB)#ZsJ+Xn2doJ=D|X78^WlGt*Ox
zONux_z6NE8B5qLZK!ZULBnk>`aF7@Afw-WQ0!k#1fa4Hjyu}KRIZftUEGda4iMLol
zsS*-`piqN_AS(j{0|<jdFbf=lHH^)SDU8|7MIt4PDNN0bO^lHAR>G3Sx{#@ssfMwH
zp@spZMv6g%p@uPq8O9f5Xl0UQ5ND`m2J2vk>R_p1s$p?tSilBR2N4Zs&}4zegCi){
zD1h9TnU}6mk`ImpkfTBIk*EMqv<kVY#l?x~sn8UQ8V4ZtRtg{zWCF-AJ$U?pcvcD~
zy5JB2TLd-YB`EP!NrL1Ra!ZR#6q57vN)j{k6igJrYW+0XZ!zbj=H2271EmkwqN4nw
zTg;hxCAYZJit=-znS;5wviKG!NJD;6N@~$9j*@(cj3#T57$|bY85kI%I6!WT&&(@{
z;sx0kUzA#qnpl#W62$@LX6BVZq7xjk;5Y?24wR^iL5ZJ%lZTOmiH}i*k&jW6`xaMx
zd|GKqX;Er?d=V%<AxQ<4hl@BsR?0FkFx+B~k5A0WiH|Q50tta~QV}Sf6oCvzvJ7tH
iEe@O9{FKt1R69^6D+cM}Vd7u}LuL+U7G^$90UiJ{fMtsS

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/__pycache__/version.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/__pycache__/version.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0e1edc47df5b04a291a911deb620afcfc1a3a1c6
GIT binary patch
literal 1565
zcmWIL<>g{vU|{HN+nutQi-F-Wh=Yt-7#J8F7#J9fs~8v<QW#Pga~N_NqZk<(QkYVh
zQ&`fOqnJ`yqnK0JSQw&MSQw&Mqu5fJi_20NQrL6Yqu9YTM-&H`=8WP@;Yi^~;he*i
z!j;0^!V<-m%9YB}%oxQA7UxLenZumIo5I(^62+a$oywBR+RPNimcky)pvnId<SI?Z
zTil6xdHE%YC7Jno#kZJC64P(7m!%dJXXfYKVoT1?&CM(csbVuU)HBdC_PfPgTvDXT
zRK(1{z;KJLD7B=tC@+~2WDpc{GB7ZJurtVq&lngON*ER}mM|@3tYxfW%wn!#%wkDl
z%w{T*Nny%kN@12{sAa0sDq+oHOJPZ2O<_x6PvJ;sP2sEo`G+%wGljdCEsK2t$3li$
z=5U5QDHetj&Jxxvt~91>uA($X1`v#7$n%O|Na3kvDdAqgQ^QijypXAuwT3l?A)B+f
zrG&SMv4(X4-$I5MrdqaI_8RsD{Gbq7$W+T-!!Vm6g};VvHbaU)4f||{xvaqqRbnYj
zDGWIRwH!4ZS%M3MQUn(=hBE{+urQPeXLA+Z0@=vO5Xq3o6u|)2FEp1am_bw6uZp8M
zwWPE_ub{FB6d*5|KtaTuo>>ybk&;@RT$GuVTE(ubo03^nQdz~Ot6P$oUJRmh^7GO|
zUV^k}vfkoLPAn)XElQ2gFD)r3ExE;<T%K}^y(BX?HNUjv7He`wYI621mXg$pk}B<J
z16@nKSZ!Sm5F=JwQ&%G$#7fjni>)@-snxKzf>@?$ulb8n_ZFjG6^mX<YS}MF?I^DD
z)THA4<m}Xv;wnCnpn-OJX<l|-etDjz$SwAQ#FC7h%%oc^0f{9Uw>aYC(=u~X<KsaR
zMX7lu#kW}U5_3~;aTS*)6%^$srxq9AVlFDpyTw*qk^**TaY<2T!7V|z%$!ue{1UhP
z(!3PcqN4nwTSCr>IXS5*0T5jfF{Yx_Tbya7IXStBCCM4L_#BIiQ;R^U5hBf&UX)*2
zP<)HMD77FbF*)^?P-bpHeo;wIW|CfRYDr>BVoBmH4j8Kll)Y|odxDjK4bbF-q*hL_
zCqQ1i#Zi=>UlN~^S#*mV5;X-N>!SFOIPpcPw^+drisDGgEG|jROHRGTS(KWan3<Q7
zT6BvO?ueBPMLG-&48P3uOL7bJ3o;9IOY;g6le1G(bjveRQ*(3;^YStZ%ZrWl5rM7`
z&0u;3mAAOlQ%mBZd|3tthGHX7R$}I2lwe_EWMSlCWP-t80-Pd@Y)l|A9!3xpVP<0F
zVB%xsV`O74(qmv?&}0Vt6&wgf><kPH$)HpSG7p4V85kHq!2`~lW}woCv6cyxKWmt3
z7#A|tGS@JJ^NdUhQxjti^8)6D3^9zgEHx}COxa9DMl}q<3^gpl44TY-Rpy|SrWdOn
z14=v~cC2=cb~-pE!qQ(2EJ115TgB*slf9<>Eq0hFOOYG{14EHKh)@6#iXiv1BHSOv
z1r3z=qSPWykP49d!C?&{bU_)63lw^gQpyb!c;K=Z8bn--MFt>4d2VsV$ETHo^HqEi
zC`4|t$Hyn;<iy8EaTKNIq$U=prXVaX0^1`DvJvb=2@neux?s~Fc7tLZ!UDU3!zMRB
kr8Fni4wQ|H#TXbEc$m5PS(td3Sr|D$kV!zDgGq=30By3I{r~^~

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/auth.py b/iot_env/lib/python3.8/site-packages/websockets/auth.py
new file mode 100644
index 0000000..5292e4f
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/auth.py
@@ -0,0 +1,4 @@
+from __future__ import annotations
+
+# See #940 for why lazy_import isn't used here for backwards compatibility.
+from .legacy.auth import *
diff --git a/iot_env/lib/python3.8/site-packages/websockets/client.py b/iot_env/lib/python3.8/site-packages/websockets/client.py
new file mode 100644
index 0000000..bf8427c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/client.py
@@ -0,0 +1,358 @@
+from __future__ import annotations
+
+import warnings
+from typing import Any, Generator, List, Optional, Sequence
+
+from .datastructures import Headers, MultipleValuesError
+from .exceptions import (
+    InvalidHandshake,
+    InvalidHeader,
+    InvalidHeaderValue,
+    InvalidStatus,
+    InvalidUpgrade,
+    NegotiationError,
+)
+from .extensions import ClientExtensionFactory, Extension
+from .headers import (
+    build_authorization_basic,
+    build_extension,
+    build_host,
+    build_subprotocol,
+    parse_connection,
+    parse_extension,
+    parse_subprotocol,
+    parse_upgrade,
+)
+from .http11 import Request, Response
+from .protocol import CLIENT, CONNECTING, OPEN, Protocol, State
+from .typing import (
+    ConnectionOption,
+    ExtensionHeader,
+    LoggerLike,
+    Origin,
+    Subprotocol,
+    UpgradeProtocol,
+)
+from .uri import WebSocketURI
+from .utils import accept_key, generate_key
+
+
+# See #940 for why lazy_import isn't used here for backwards compatibility.
+from .legacy.client import *  # isort:skip  # noqa: I001
+
+
+__all__ = ["ClientProtocol"]
+
+
+class ClientProtocol(Protocol):
+    """
+    Sans-I/O implementation of a WebSocket client connection.
+
+    Args:
+        wsuri: URI of the WebSocket server, parsed
+            with :func:`~websockets.uri.parse_uri`.
+        origin: value of the ``Origin`` header. This is useful when connecting
+            to a server that validates the ``Origin`` header to defend against
+            Cross-Site WebSocket Hijacking attacks.
+        extensions: list of supported extensions, in order in which they
+            should be tried.
+        subprotocols: list of supported subprotocols, in order of decreasing
+            preference.
+        state: initial state of the WebSocket connection.
+        max_size: maximum size of incoming messages in bytes;
+            :obj:`None` disables the limit.
+        logger: logger for this connection;
+            defaults to ``logging.getLogger("websockets.client")``;
+            see the :doc:`logging guide <../../topics/logging>` for details.
+
+    """
+
+    def __init__(
+        self,
+        wsuri: WebSocketURI,
+        *,
+        origin: Optional[Origin] = None,
+        extensions: Optional[Sequence[ClientExtensionFactory]] = None,
+        subprotocols: Optional[Sequence[Subprotocol]] = None,
+        state: State = CONNECTING,
+        max_size: Optional[int] = 2**20,
+        logger: Optional[LoggerLike] = None,
+    ):
+        super().__init__(
+            side=CLIENT,
+            state=state,
+            max_size=max_size,
+            logger=logger,
+        )
+        self.wsuri = wsuri
+        self.origin = origin
+        self.available_extensions = extensions
+        self.available_subprotocols = subprotocols
+        self.key = generate_key()
+
+    def connect(self) -> Request:
+        """
+        Create a handshake request to open a connection.
+
+        You must send the handshake request with :meth:`send_request`.
+
+        You can modify it before sending it, for example to add HTTP headers.
+
+        Returns:
+            Request: WebSocket handshake request event to send to the server.
+
+        """
+        headers = Headers()
+
+        headers["Host"] = build_host(
+            self.wsuri.host, self.wsuri.port, self.wsuri.secure
+        )
+
+        if self.wsuri.user_info:
+            headers["Authorization"] = build_authorization_basic(*self.wsuri.user_info)
+
+        if self.origin is not None:
+            headers["Origin"] = self.origin
+
+        headers["Upgrade"] = "websocket"
+        headers["Connection"] = "Upgrade"
+        headers["Sec-WebSocket-Key"] = self.key
+        headers["Sec-WebSocket-Version"] = "13"
+
+        if self.available_extensions is not None:
+            extensions_header = build_extension(
+                [
+                    (extension_factory.name, extension_factory.get_request_params())
+                    for extension_factory in self.available_extensions
+                ]
+            )
+            headers["Sec-WebSocket-Extensions"] = extensions_header
+
+        if self.available_subprotocols is not None:
+            protocol_header = build_subprotocol(self.available_subprotocols)
+            headers["Sec-WebSocket-Protocol"] = protocol_header
+
+        return Request(self.wsuri.resource_name, headers)
+
+    def process_response(self, response: Response) -> None:
+        """
+        Check a handshake response.
+
+        Args:
+            request: WebSocket handshake response received from the server.
+
+        Raises:
+            InvalidHandshake: if the handshake response is invalid.
+
+        """
+
+        if response.status_code != 101:
+            raise InvalidStatus(response)
+
+        headers = response.headers
+
+        connection: List[ConnectionOption] = sum(
+            [parse_connection(value) for value in headers.get_all("Connection")], []
+        )
+
+        if not any(value.lower() == "upgrade" for value in connection):
+            raise InvalidUpgrade(
+                "Connection", ", ".join(connection) if connection else None
+            )
+
+        upgrade: List[UpgradeProtocol] = sum(
+            [parse_upgrade(value) for value in headers.get_all("Upgrade")], []
+        )
+
+        # For compatibility with non-strict implementations, ignore case when
+        # checking the Upgrade header. It's supposed to be 'WebSocket'.
+        if not (len(upgrade) == 1 and upgrade[0].lower() == "websocket"):
+            raise InvalidUpgrade("Upgrade", ", ".join(upgrade) if upgrade else None)
+
+        try:
+            s_w_accept = headers["Sec-WebSocket-Accept"]
+        except KeyError as exc:
+            raise InvalidHeader("Sec-WebSocket-Accept") from exc
+        except MultipleValuesError as exc:
+            raise InvalidHeader(
+                "Sec-WebSocket-Accept",
+                "more than one Sec-WebSocket-Accept header found",
+            ) from exc
+
+        if s_w_accept != accept_key(self.key):
+            raise InvalidHeaderValue("Sec-WebSocket-Accept", s_w_accept)
+
+        self.extensions = self.process_extensions(headers)
+
+        self.subprotocol = self.process_subprotocol(headers)
+
+    def process_extensions(self, headers: Headers) -> List[Extension]:
+        """
+        Handle the Sec-WebSocket-Extensions HTTP response header.
+
+        Check that each extension is supported, as well as its parameters.
+
+        :rfc:`6455` leaves the rules up to the specification of each
+        extension.
+
+        To provide this level of flexibility, for each extension accepted by
+        the server, we check for a match with each extension available in the
+        client configuration. If no match is found, an exception is raised.
+
+        If several variants of the same extension are accepted by the server,
+        it may be configured several times, which won't make sense in general.
+        Extensions must implement their own requirements. For this purpose,
+        the list of previously accepted extensions is provided.
+
+        Other requirements, for example related to mandatory extensions or the
+        order of extensions, may be implemented by overriding this method.
+
+        Args:
+            headers: WebSocket handshake response headers.
+
+        Returns:
+            List[Extension]: List of accepted extensions.
+
+        Raises:
+            InvalidHandshake: to abort the handshake.
+
+        """
+        accepted_extensions: List[Extension] = []
+
+        extensions = headers.get_all("Sec-WebSocket-Extensions")
+
+        if extensions:
+            if self.available_extensions is None:
+                raise InvalidHandshake("no extensions supported")
+
+            parsed_extensions: List[ExtensionHeader] = sum(
+                [parse_extension(header_value) for header_value in extensions], []
+            )
+
+            for name, response_params in parsed_extensions:
+                for extension_factory in self.available_extensions:
+                    # Skip non-matching extensions based on their name.
+                    if extension_factory.name != name:
+                        continue
+
+                    # Skip non-matching extensions based on their params.
+                    try:
+                        extension = extension_factory.process_response_params(
+                            response_params, accepted_extensions
+                        )
+                    except NegotiationError:
+                        continue
+
+                    # Add matching extension to the final list.
+                    accepted_extensions.append(extension)
+
+                    # Break out of the loop once we have a match.
+                    break
+
+                # If we didn't break from the loop, no extension in our list
+                # matched what the server sent. Fail the connection.
+                else:
+                    raise NegotiationError(
+                        f"Unsupported extension: "
+                        f"name = {name}, params = {response_params}"
+                    )
+
+        return accepted_extensions
+
+    def process_subprotocol(self, headers: Headers) -> Optional[Subprotocol]:
+        """
+        Handle the Sec-WebSocket-Protocol HTTP response header.
+
+        If provided, check that it contains exactly one supported subprotocol.
+
+        Args:
+            headers: WebSocket handshake response headers.
+
+        Returns:
+           Optional[Subprotocol]: Subprotocol, if one was selected.
+
+        """
+        subprotocol: Optional[Subprotocol] = None
+
+        subprotocols = headers.get_all("Sec-WebSocket-Protocol")
+
+        if subprotocols:
+            if self.available_subprotocols is None:
+                raise InvalidHandshake("no subprotocols supported")
+
+            parsed_subprotocols: Sequence[Subprotocol] = sum(
+                [parse_subprotocol(header_value) for header_value in subprotocols], []
+            )
+
+            if len(parsed_subprotocols) > 1:
+                subprotocols_display = ", ".join(parsed_subprotocols)
+                raise InvalidHandshake(f"multiple subprotocols: {subprotocols_display}")
+
+            subprotocol = parsed_subprotocols[0]
+
+            if subprotocol not in self.available_subprotocols:
+                raise NegotiationError(f"unsupported subprotocol: {subprotocol}")
+
+        return subprotocol
+
+    def send_request(self, request: Request) -> None:
+        """
+        Send a handshake request to the server.
+
+        Args:
+            request: WebSocket handshake request event.
+
+        """
+        if self.debug:
+            self.logger.debug("> GET %s HTTP/1.1", request.path)
+            for key, value in request.headers.raw_items():
+                self.logger.debug("> %s: %s", key, value)
+
+        self.writes.append(request.serialize())
+
+    def parse(self) -> Generator[None, None, None]:
+        if self.state is CONNECTING:
+            try:
+                response = yield from Response.parse(
+                    self.reader.read_line,
+                    self.reader.read_exact,
+                    self.reader.read_to_eof,
+                )
+            except Exception as exc:
+                self.handshake_exc = exc
+                self.parser = self.discard()
+                next(self.parser)  # start coroutine
+                yield
+
+            if self.debug:
+                code, phrase = response.status_code, response.reason_phrase
+                self.logger.debug("< HTTP/1.1 %d %s", code, phrase)
+                for key, value in response.headers.raw_items():
+                    self.logger.debug("< %s: %s", key, value)
+                if response.body is not None:
+                    self.logger.debug("< [body] (%d bytes)", len(response.body))
+
+            try:
+                self.process_response(response)
+            except InvalidHandshake as exc:
+                response._exception = exc
+                self.events.append(response)
+                self.handshake_exc = exc
+                self.parser = self.discard()
+                next(self.parser)  # start coroutine
+                yield
+
+            assert self.state is CONNECTING
+            self.state = OPEN
+            self.events.append(response)
+
+        yield from super().parse()
+
+
+class ClientConnection(ClientProtocol):
+    def __init__(self, *args: Any, **kwargs: Any) -> None:
+        warnings.warn(
+            "ClientConnection was renamed to ClientProtocol",
+            DeprecationWarning,
+        )
+        super().__init__(*args, **kwargs)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/connection.py b/iot_env/lib/python3.8/site-packages/websockets/connection.py
new file mode 100644
index 0000000..88bcda1
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/connection.py
@@ -0,0 +1,13 @@
+from __future__ import annotations
+
+import warnings
+
+# lazy_import doesn't support this use case.
+from .protocol import SEND_EOF, Protocol as Connection, Side, State  # noqa: F401
+
+
+warnings.warn(
+    "websockets.connection was renamed to websockets.protocol "
+    "and Connection was renamed to Protocol",
+    DeprecationWarning,
+)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/datastructures.py b/iot_env/lib/python3.8/site-packages/websockets/datastructures.py
new file mode 100644
index 0000000..36a2cba
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/datastructures.py
@@ -0,0 +1,200 @@
+from __future__ import annotations
+
+import sys
+from typing import (
+    Any,
+    Dict,
+    Iterable,
+    Iterator,
+    List,
+    Mapping,
+    MutableMapping,
+    Tuple,
+    Union,
+)
+
+
+if sys.version_info[:2] >= (3, 8):
+    from typing import Protocol
+else:  # pragma: no cover
+    Protocol = object  # mypy will report errors on Python 3.7.
+
+
+__all__ = ["Headers", "HeadersLike", "MultipleValuesError"]
+
+
+class MultipleValuesError(LookupError):
+    """
+    Exception raised when :class:`Headers` has more than one value for a key.
+
+    """
+
+    def __str__(self) -> str:
+        # Implement the same logic as KeyError_str in Objects/exceptions.c.
+        if len(self.args) == 1:
+            return repr(self.args[0])
+        return super().__str__()
+
+
+class Headers(MutableMapping[str, str]):
+    """
+    Efficient data structure for manipulating HTTP headers.
+
+    A :class:`list` of ``(name, values)`` is inefficient for lookups.
+
+    A :class:`dict` doesn't suffice because header names are case-insensitive
+    and multiple occurrences of headers with the same name are possible.
+
+    :class:`Headers` stores HTTP headers in a hybrid data structure to provide
+    efficient insertions and lookups while preserving the original data.
+
+    In order to account for multiple values with minimal hassle,
+    :class:`Headers` follows this logic:
+
+    - When getting a header with ``headers[name]``:
+        - if there's no value, :exc:`KeyError` is raised;
+        - if there's exactly one value, it's returned;
+        - if there's more than one value, :exc:`MultipleValuesError` is raised.
+
+    - When setting a header with ``headers[name] = value``, the value is
+      appended to the list of values for that header.
+
+    - When deleting a header with ``del headers[name]``, all values for that
+      header are removed (this is slow).
+
+    Other methods for manipulating headers are consistent with this logic.
+
+    As long as no header occurs multiple times, :class:`Headers` behaves like
+    :class:`dict`, except keys are lower-cased to provide case-insensitivity.
+
+    Two methods support manipulating multiple values explicitly:
+
+    - :meth:`get_all` returns a list of all values for a header;
+    - :meth:`raw_items` returns an iterator of ``(name, values)`` pairs.
+
+    """
+
+    __slots__ = ["_dict", "_list"]
+
+    # Like dict, Headers accepts an optional "mapping or iterable" argument.
+    def __init__(self, *args: HeadersLike, **kwargs: str) -> None:
+        self._dict: Dict[str, List[str]] = {}
+        self._list: List[Tuple[str, str]] = []
+        self.update(*args, **kwargs)
+
+    def __str__(self) -> str:
+        return "".join(f"{key}: {value}\r\n" for key, value in self._list) + "\r\n"
+
+    def __repr__(self) -> str:
+        return f"{self.__class__.__name__}({self._list!r})"
+
+    def copy(self) -> Headers:
+        copy = self.__class__()
+        copy._dict = self._dict.copy()
+        copy._list = self._list.copy()
+        return copy
+
+    def serialize(self) -> bytes:
+        # Since headers only contain ASCII characters, we can keep this simple.
+        return str(self).encode()
+
+    # Collection methods
+
+    def __contains__(self, key: object) -> bool:
+        return isinstance(key, str) and key.lower() in self._dict
+
+    def __iter__(self) -> Iterator[str]:
+        return iter(self._dict)
+
+    def __len__(self) -> int:
+        return len(self._dict)
+
+    # MutableMapping methods
+
+    def __getitem__(self, key: str) -> str:
+        value = self._dict[key.lower()]
+        if len(value) == 1:
+            return value[0]
+        else:
+            raise MultipleValuesError(key)
+
+    def __setitem__(self, key: str, value: str) -> None:
+        self._dict.setdefault(key.lower(), []).append(value)
+        self._list.append((key, value))
+
+    def __delitem__(self, key: str) -> None:
+        key_lower = key.lower()
+        self._dict.__delitem__(key_lower)
+        # This is inefficient. Fortunately deleting HTTP headers is uncommon.
+        self._list = [(k, v) for k, v in self._list if k.lower() != key_lower]
+
+    def __eq__(self, other: Any) -> bool:
+        if not isinstance(other, Headers):
+            return NotImplemented
+        return self._dict == other._dict
+
+    def clear(self) -> None:
+        """
+        Remove all headers.
+
+        """
+        self._dict = {}
+        self._list = []
+
+    def update(self, *args: HeadersLike, **kwargs: str) -> None:
+        """
+        Update from a :class:`Headers` instance and/or keyword arguments.
+
+        """
+        args = tuple(
+            arg.raw_items() if isinstance(arg, Headers) else arg for arg in args
+        )
+        super().update(*args, **kwargs)
+
+    # Methods for handling multiple values
+
+    def get_all(self, key: str) -> List[str]:
+        """
+        Return the (possibly empty) list of all values for a header.
+
+        Args:
+            key: header name.
+
+        """
+        return self._dict.get(key.lower(), [])
+
+    def raw_items(self) -> Iterator[Tuple[str, str]]:
+        """
+        Return an iterator of all values as ``(name, value)`` pairs.
+
+        """
+        return iter(self._list)
+
+
+# copy of _typeshed.SupportsKeysAndGetItem.
+class SupportsKeysAndGetItem(Protocol):  # pragma: no cover
+    """
+    Dict-like types with ``keys() -> str`` and ``__getitem__(key: str) -> str`` methods.
+
+    """
+
+    def keys(self) -> Iterable[str]:
+        ...
+
+    def __getitem__(self, key: str) -> str:
+        ...
+
+
+HeadersLike = Union[
+    Headers,
+    Mapping[str, str],
+    Iterable[Tuple[str, str]],
+    SupportsKeysAndGetItem,
+]
+"""
+Types accepted where :class:`Headers` is expected.
+
+In addition to :class:`Headers` itself, this includes dict-like types where both
+keys and values are :class:`str`.
+
+"""
diff --git a/iot_env/lib/python3.8/site-packages/websockets/exceptions.py b/iot_env/lib/python3.8/site-packages/websockets/exceptions.py
new file mode 100644
index 0000000..22a3b58
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/exceptions.py
@@ -0,0 +1,403 @@
+"""
+:mod:`websockets.exceptions` defines the following exception hierarchy:
+
+* :exc:`WebSocketException`
+    * :exc:`ConnectionClosed`
+        * :exc:`ConnectionClosedError`
+        * :exc:`ConnectionClosedOK`
+    * :exc:`InvalidHandshake`
+        * :exc:`SecurityError`
+        * :exc:`InvalidMessage`
+        * :exc:`InvalidHeader`
+            * :exc:`InvalidHeaderFormat`
+            * :exc:`InvalidHeaderValue`
+            * :exc:`InvalidOrigin`
+            * :exc:`InvalidUpgrade`
+        * :exc:`InvalidStatus`
+        * :exc:`InvalidStatusCode` (legacy)
+        * :exc:`NegotiationError`
+            * :exc:`DuplicateParameter`
+            * :exc:`InvalidParameterName`
+            * :exc:`InvalidParameterValue`
+        * :exc:`AbortHandshake`
+        * :exc:`RedirectHandshake`
+    * :exc:`InvalidState`
+    * :exc:`InvalidURI`
+    * :exc:`PayloadTooBig`
+    * :exc:`ProtocolError`
+
+"""
+
+from __future__ import annotations
+
+import http
+from typing import Optional
+
+from . import datastructures, frames, http11
+
+
+__all__ = [
+    "WebSocketException",
+    "ConnectionClosed",
+    "ConnectionClosedError",
+    "ConnectionClosedOK",
+    "InvalidHandshake",
+    "SecurityError",
+    "InvalidMessage",
+    "InvalidHeader",
+    "InvalidHeaderFormat",
+    "InvalidHeaderValue",
+    "InvalidOrigin",
+    "InvalidUpgrade",
+    "InvalidStatus",
+    "InvalidStatusCode",
+    "NegotiationError",
+    "DuplicateParameter",
+    "InvalidParameterName",
+    "InvalidParameterValue",
+    "AbortHandshake",
+    "RedirectHandshake",
+    "InvalidState",
+    "InvalidURI",
+    "PayloadTooBig",
+    "ProtocolError",
+    "WebSocketProtocolError",
+]
+
+
+class WebSocketException(Exception):
+    """
+    Base class for all exceptions defined by websockets.
+
+    """
+
+
+class ConnectionClosed(WebSocketException):
+    """
+    Raised when trying to interact with a closed connection.
+
+    Attributes:
+        rcvd (Optional[Close]): if a close frame was received, its code and
+            reason are available in ``rcvd.code`` and ``rcvd.reason``.
+        sent (Optional[Close]): if a close frame was sent, its code and reason
+            are available in ``sent.code`` and ``sent.reason``.
+        rcvd_then_sent (Optional[bool]): if close frames were received and
+            sent, this attribute tells in which order this happened, from the
+            perspective of this side of the connection.
+
+    """
+
+    def __init__(
+        self,
+        rcvd: Optional[frames.Close],
+        sent: Optional[frames.Close],
+        rcvd_then_sent: Optional[bool] = None,
+    ) -> None:
+        self.rcvd = rcvd
+        self.sent = sent
+        self.rcvd_then_sent = rcvd_then_sent
+
+    def __str__(self) -> str:
+        if self.rcvd is None:
+            if self.sent is None:
+                assert self.rcvd_then_sent is None
+                return "no close frame received or sent"
+            else:
+                assert self.rcvd_then_sent is None
+                return f"sent {self.sent}; no close frame received"
+        else:
+            if self.sent is None:
+                assert self.rcvd_then_sent is None
+                return f"received {self.rcvd}; no close frame sent"
+            else:
+                assert self.rcvd_then_sent is not None
+                if self.rcvd_then_sent:
+                    return f"received {self.rcvd}; then sent {self.sent}"
+                else:
+                    return f"sent {self.sent}; then received {self.rcvd}"
+
+    # code and reason attributes are provided for backwards-compatibility
+
+    @property
+    def code(self) -> int:
+        if self.rcvd is None:
+            return 1006
+        return self.rcvd.code
+
+    @property
+    def reason(self) -> str:
+        if self.rcvd is None:
+            return ""
+        return self.rcvd.reason
+
+
+class ConnectionClosedError(ConnectionClosed):
+    """
+    Like :exc:`ConnectionClosed`, when the connection terminated with an error.
+
+    A close frame with a code other than 1000 (OK) or 1001 (going away) was
+    received or sent, or the closing handshake didn't complete properly.
+
+    """
+
+
+class ConnectionClosedOK(ConnectionClosed):
+    """
+    Like :exc:`ConnectionClosed`, when the connection terminated properly.
+
+    A close code with code 1000 (OK) or 1001 (going away) or without a code was
+    received and sent.
+
+    """
+
+
+class InvalidHandshake(WebSocketException):
+    """
+    Raised during the handshake when the WebSocket connection fails.
+
+    """
+
+
+class SecurityError(InvalidHandshake):
+    """
+    Raised when a handshake request or response breaks a security rule.
+
+    Security limits are hard coded.
+
+    """
+
+
+class InvalidMessage(InvalidHandshake):
+    """
+    Raised when a handshake request or response is malformed.
+
+    """
+
+
+class InvalidHeader(InvalidHandshake):
+    """
+    Raised when an HTTP header doesn't have a valid format or value.
+
+    """
+
+    def __init__(self, name: str, value: Optional[str] = None) -> None:
+        self.name = name
+        self.value = value
+
+    def __str__(self) -> str:
+        if self.value is None:
+            return f"missing {self.name} header"
+        elif self.value == "":
+            return f"empty {self.name} header"
+        else:
+            return f"invalid {self.name} header: {self.value}"
+
+
+class InvalidHeaderFormat(InvalidHeader):
+    """
+    Raised when an HTTP header cannot be parsed.
+
+    The format of the header doesn't match the grammar for that header.
+
+    """
+
+    def __init__(self, name: str, error: str, header: str, pos: int) -> None:
+        super().__init__(name, f"{error} at {pos} in {header}")
+
+
+class InvalidHeaderValue(InvalidHeader):
+    """
+    Raised when an HTTP header has a wrong value.
+
+    The format of the header is correct but a value isn't acceptable.
+
+    """
+
+
+class InvalidOrigin(InvalidHeader):
+    """
+    Raised when the Origin header in a request isn't allowed.
+
+    """
+
+    def __init__(self, origin: Optional[str]) -> None:
+        super().__init__("Origin", origin)
+
+
+class InvalidUpgrade(InvalidHeader):
+    """
+    Raised when the Upgrade or Connection header isn't correct.
+
+    """
+
+
+class InvalidStatus(InvalidHandshake):
+    """
+    Raised when a handshake response rejects the WebSocket upgrade.
+
+    """
+
+    def __init__(self, response: http11.Response) -> None:
+        self.response = response
+
+    def __str__(self) -> str:
+        return (
+            "server rejected WebSocket connection: "
+            f"HTTP {self.response.status_code:d}"
+        )
+
+
+class InvalidStatusCode(InvalidHandshake):
+    """
+    Raised when a handshake response status code is invalid.
+
+    """
+
+    def __init__(self, status_code: int, headers: datastructures.Headers) -> None:
+        self.status_code = status_code
+        self.headers = headers
+
+    def __str__(self) -> str:
+        return f"server rejected WebSocket connection: HTTP {self.status_code}"
+
+
+class NegotiationError(InvalidHandshake):
+    """
+    Raised when negotiating an extension fails.
+
+    """
+
+
+class DuplicateParameter(NegotiationError):
+    """
+    Raised when a parameter name is repeated in an extension header.
+
+    """
+
+    def __init__(self, name: str) -> None:
+        self.name = name
+
+    def __str__(self) -> str:
+        return f"duplicate parameter: {self.name}"
+
+
+class InvalidParameterName(NegotiationError):
+    """
+    Raised when a parameter name in an extension header is invalid.
+
+    """
+
+    def __init__(self, name: str) -> None:
+        self.name = name
+
+    def __str__(self) -> str:
+        return f"invalid parameter name: {self.name}"
+
+
+class InvalidParameterValue(NegotiationError):
+    """
+    Raised when a parameter value in an extension header is invalid.
+
+    """
+
+    def __init__(self, name: str, value: Optional[str]) -> None:
+        self.name = name
+        self.value = value
+
+    def __str__(self) -> str:
+        if self.value is None:
+            return f"missing value for parameter {self.name}"
+        elif self.value == "":
+            return f"empty value for parameter {self.name}"
+        else:
+            return f"invalid value for parameter {self.name}: {self.value}"
+
+
+class AbortHandshake(InvalidHandshake):
+    """
+    Raised to abort the handshake on purpose and return an HTTP response.
+
+    This exception is an implementation detail.
+
+    The public API
+    is :meth:`~websockets.server.WebSocketServerProtocol.process_request`.
+
+    Attributes:
+        status (~http.HTTPStatus): HTTP status code.
+        headers (Headers): HTTP response headers.
+        body (bytes): HTTP response body.
+    """
+
+    def __init__(
+        self,
+        status: http.HTTPStatus,
+        headers: datastructures.HeadersLike,
+        body: bytes = b"",
+    ) -> None:
+        self.status = status
+        self.headers = datastructures.Headers(headers)
+        self.body = body
+
+    def __str__(self) -> str:
+        return (
+            f"HTTP {self.status:d}, "
+            f"{len(self.headers)} headers, "
+            f"{len(self.body)} bytes"
+        )
+
+
+class RedirectHandshake(InvalidHandshake):
+    """
+    Raised when a handshake gets redirected.
+
+    This exception is an implementation detail.
+
+    """
+
+    def __init__(self, uri: str) -> None:
+        self.uri = uri
+
+    def __str__(self) -> str:
+        return f"redirect to {self.uri}"
+
+
+class InvalidState(WebSocketException, AssertionError):
+    """
+    Raised when an operation is forbidden in the current state.
+
+    This exception is an implementation detail.
+
+    It should never be raised in normal circumstances.
+
+    """
+
+
+class InvalidURI(WebSocketException):
+    """
+    Raised when connecting to a URI that isn't a valid WebSocket URI.
+
+    """
+
+    def __init__(self, uri: str, msg: str) -> None:
+        self.uri = uri
+        self.msg = msg
+
+    def __str__(self) -> str:
+        return f"{self.uri} isn't a valid URI: {self.msg}"
+
+
+class PayloadTooBig(WebSocketException):
+    """
+    Raised when receiving a frame with a payload exceeding the maximum size.
+
+    """
+
+
+class ProtocolError(WebSocketException):
+    """
+    Raised when a frame breaks the protocol.
+
+    """
+
+
+WebSocketProtocolError = ProtocolError  # for backwards compatibility
diff --git a/iot_env/lib/python3.8/site-packages/websockets/extensions/__init__.py b/iot_env/lib/python3.8/site-packages/websockets/extensions/__init__.py
new file mode 100644
index 0000000..02838b9
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/extensions/__init__.py
@@ -0,0 +1,4 @@
+from .base import *
+
+
+__all__ = ["Extension", "ClientExtensionFactory", "ServerExtensionFactory"]
diff --git a/iot_env/lib/python3.8/site-packages/websockets/extensions/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/extensions/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b6b07492901263dfa9e8d83ebd2d6179060cb5bb
GIT binary patch
literal 258
zcmWIL<>g{vU|{HN+nticz`*br#6iZ)3=9ko3=9m#VhjunDGVu$ISe5TDNHHMDJ<#C
zQH&|9!3>&gFBusa7&IAgF>2l7bgd{!%`48#&x;as&dE&8D}f8RB_@~T7ga`y1*aC3
zr52%!`)M-WVo6FYPQAq*AD@_$6Cb~lp@@xv0Ydz8(l5y^&@ad=&@Ig?NKDR7P0=mS
zNKMVrHO$M)C@e2F(l1X<D$Y;NPAw_cPlY+6SU)~KGcU6wK3=b&@)n0pZhlH>PO2Tq
My~Run3=AC10GQ25!vFvP

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/extensions/__pycache__/base.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/extensions/__pycache__/base.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1d17bc1a13733014e17d16963c466ad48ca9ea1b
GIT binary patch
literal 3973
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/extensions/__pycache__/permessage_deflate.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/extensions/__pycache__/permessage_deflate.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2e6886740df78b6b060b42363f1814c1a10c04a9
GIT binary patch
literal 13049
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
D{+PW8

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/extensions/base.py b/iot_env/lib/python3.8/site-packages/websockets/extensions/base.py
new file mode 100644
index 0000000..6c481a4
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/extensions/base.py
@@ -0,0 +1,133 @@
+from __future__ import annotations
+
+from typing import List, Optional, Sequence, Tuple
+
+from .. import frames
+from ..typing import ExtensionName, ExtensionParameter
+
+
+__all__ = ["Extension", "ClientExtensionFactory", "ServerExtensionFactory"]
+
+
+class Extension:
+    """
+    Base class for extensions.
+
+    """
+
+    name: ExtensionName
+    """Extension identifier."""
+
+    def decode(
+        self,
+        frame: frames.Frame,
+        *,
+        max_size: Optional[int] = None,
+    ) -> frames.Frame:
+        """
+        Decode an incoming frame.
+
+        Args:
+            frame (Frame): incoming frame.
+            max_size: maximum payload size in bytes.
+
+        Returns:
+            Frame: Decoded frame.
+
+        Raises:
+            PayloadTooBig: if decoding the payload exceeds ``max_size``.
+
+        """
+        raise NotImplementedError
+
+    def encode(self, frame: frames.Frame) -> frames.Frame:
+        """
+        Encode an outgoing frame.
+
+        Args:
+            frame (Frame): outgoing frame.
+
+        Returns:
+            Frame: Encoded frame.
+
+        """
+        raise NotImplementedError
+
+
+class ClientExtensionFactory:
+    """
+    Base class for client-side extension factories.
+
+    """
+
+    name: ExtensionName
+    """Extension identifier."""
+
+    def get_request_params(self) -> List[ExtensionParameter]:
+        """
+        Build parameters to send to the server for this extension.
+
+        Returns:
+            List[ExtensionParameter]: Parameters to send to the server.
+
+        """
+        raise NotImplementedError
+
+    def process_response_params(
+        self,
+        params: Sequence[ExtensionParameter],
+        accepted_extensions: Sequence[Extension],
+    ) -> Extension:
+        """
+        Process parameters received from the server.
+
+        Args:
+            params (Sequence[ExtensionParameter]): parameters received from
+                the server for this extension.
+            accepted_extensions (Sequence[Extension]): list of previously
+                accepted extensions.
+
+        Returns:
+            Extension: An extension instance.
+
+        Raises:
+            NegotiationError: if parameters aren't acceptable.
+
+        """
+        raise NotImplementedError
+
+
+class ServerExtensionFactory:
+    """
+    Base class for server-side extension factories.
+
+    """
+
+    name: ExtensionName
+    """Extension identifier."""
+
+    def process_request_params(
+        self,
+        params: Sequence[ExtensionParameter],
+        accepted_extensions: Sequence[Extension],
+    ) -> Tuple[List[ExtensionParameter], Extension]:
+        """
+        Process parameters received from the client.
+
+        Args:
+            params (Sequence[ExtensionParameter]): parameters received from
+                the client for this extension.
+            accepted_extensions (Sequence[Extension]): list of previously
+                accepted extensions.
+
+        Returns:
+            Tuple[List[ExtensionParameter], Extension]: To accept the offer,
+            parameters to send to the client for this extension and an
+            extension instance.
+
+        Raises:
+            NegotiationError: to reject the offer, if parameters received from
+                the client aren't acceptable.
+
+        """
+        raise NotImplementedError
diff --git a/iot_env/lib/python3.8/site-packages/websockets/extensions/permessage_deflate.py b/iot_env/lib/python3.8/site-packages/websockets/extensions/permessage_deflate.py
new file mode 100644
index 0000000..b391837
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/extensions/permessage_deflate.py
@@ -0,0 +1,660 @@
+from __future__ import annotations
+
+import dataclasses
+import zlib
+from typing import Any, Dict, List, Optional, Sequence, Tuple, Union
+
+from .. import exceptions, frames
+from ..typing import ExtensionName, ExtensionParameter
+from .base import ClientExtensionFactory, Extension, ServerExtensionFactory
+
+
+__all__ = [
+    "PerMessageDeflate",
+    "ClientPerMessageDeflateFactory",
+    "enable_client_permessage_deflate",
+    "ServerPerMessageDeflateFactory",
+    "enable_server_permessage_deflate",
+]
+
+_EMPTY_UNCOMPRESSED_BLOCK = b"\x00\x00\xff\xff"
+
+_MAX_WINDOW_BITS_VALUES = [str(bits) for bits in range(8, 16)]
+
+
+class PerMessageDeflate(Extension):
+    """
+    Per-Message Deflate extension.
+
+    """
+
+    name = ExtensionName("permessage-deflate")
+
+    def __init__(
+        self,
+        remote_no_context_takeover: bool,
+        local_no_context_takeover: bool,
+        remote_max_window_bits: int,
+        local_max_window_bits: int,
+        compress_settings: Optional[Dict[Any, Any]] = None,
+    ) -> None:
+        """
+        Configure the Per-Message Deflate extension.
+
+        """
+        if compress_settings is None:
+            compress_settings = {}
+
+        assert remote_no_context_takeover in [False, True]
+        assert local_no_context_takeover in [False, True]
+        assert 8 <= remote_max_window_bits <= 15
+        assert 8 <= local_max_window_bits <= 15
+        assert "wbits" not in compress_settings
+
+        self.remote_no_context_takeover = remote_no_context_takeover
+        self.local_no_context_takeover = local_no_context_takeover
+        self.remote_max_window_bits = remote_max_window_bits
+        self.local_max_window_bits = local_max_window_bits
+        self.compress_settings = compress_settings
+
+        if not self.remote_no_context_takeover:
+            self.decoder = zlib.decompressobj(wbits=-self.remote_max_window_bits)
+
+        if not self.local_no_context_takeover:
+            self.encoder = zlib.compressobj(
+                wbits=-self.local_max_window_bits, **self.compress_settings
+            )
+
+        # To handle continuation frames properly, we must keep track of
+        # whether that initial frame was encoded.
+        self.decode_cont_data = False
+        # There's no need for self.encode_cont_data because we always encode
+        # outgoing frames, so it would always be True.
+
+    def __repr__(self) -> str:
+        return (
+            f"PerMessageDeflate("
+            f"remote_no_context_takeover={self.remote_no_context_takeover}, "
+            f"local_no_context_takeover={self.local_no_context_takeover}, "
+            f"remote_max_window_bits={self.remote_max_window_bits}, "
+            f"local_max_window_bits={self.local_max_window_bits})"
+        )
+
+    def decode(
+        self,
+        frame: frames.Frame,
+        *,
+        max_size: Optional[int] = None,
+    ) -> frames.Frame:
+        """
+        Decode an incoming frame.
+
+        """
+        # Skip control frames.
+        if frame.opcode in frames.CTRL_OPCODES:
+            return frame
+
+        # Handle continuation data frames:
+        # - skip if the message isn't encoded
+        # - reset "decode continuation data" flag if it's a final frame
+        if frame.opcode is frames.OP_CONT:
+            if not self.decode_cont_data:
+                return frame
+            if frame.fin:
+                self.decode_cont_data = False
+
+        # Handle text and binary data frames:
+        # - skip if the message isn't encoded
+        # - unset the rsv1 flag on the first frame of a compressed message
+        # - set "decode continuation data" flag if it's a non-final frame
+        else:
+            if not frame.rsv1:
+                return frame
+            frame = dataclasses.replace(frame, rsv1=False)
+            if not frame.fin:
+                self.decode_cont_data = True
+
+            # Re-initialize per-message decoder.
+            if self.remote_no_context_takeover:
+                self.decoder = zlib.decompressobj(wbits=-self.remote_max_window_bits)
+
+        # Uncompress data. Protect against zip bombs by preventing zlib from
+        # decompressing more than max_length bytes (except when the limit is
+        # disabled with max_size = None).
+        data = frame.data
+        if frame.fin:
+            data += _EMPTY_UNCOMPRESSED_BLOCK
+        max_length = 0 if max_size is None else max_size
+        try:
+            data = self.decoder.decompress(data, max_length)
+        except zlib.error as exc:
+            raise exceptions.ProtocolError("decompression failed") from exc
+        if self.decoder.unconsumed_tail:
+            raise exceptions.PayloadTooBig(f"over size limit (? > {max_size} bytes)")
+
+        # Allow garbage collection of the decoder if it won't be reused.
+        if frame.fin and self.remote_no_context_takeover:
+            del self.decoder
+
+        return dataclasses.replace(frame, data=data)
+
+    def encode(self, frame: frames.Frame) -> frames.Frame:
+        """
+        Encode an outgoing frame.
+
+        """
+        # Skip control frames.
+        if frame.opcode in frames.CTRL_OPCODES:
+            return frame
+
+        # Since we always encode messages, there's no "encode continuation
+        # data" flag similar to "decode continuation data" at this time.
+
+        if frame.opcode is not frames.OP_CONT:
+            # Set the rsv1 flag on the first frame of a compressed message.
+            frame = dataclasses.replace(frame, rsv1=True)
+            # Re-initialize per-message decoder.
+            if self.local_no_context_takeover:
+                self.encoder = zlib.compressobj(
+                    wbits=-self.local_max_window_bits, **self.compress_settings
+                )
+
+        # Compress data.
+        data = self.encoder.compress(frame.data) + self.encoder.flush(zlib.Z_SYNC_FLUSH)
+        if frame.fin and data.endswith(_EMPTY_UNCOMPRESSED_BLOCK):
+            data = data[:-4]
+
+        # Allow garbage collection of the encoder if it won't be reused.
+        if frame.fin and self.local_no_context_takeover:
+            del self.encoder
+
+        return dataclasses.replace(frame, data=data)
+
+
+def _build_parameters(
+    server_no_context_takeover: bool,
+    client_no_context_takeover: bool,
+    server_max_window_bits: Optional[int],
+    client_max_window_bits: Optional[Union[int, bool]],
+) -> List[ExtensionParameter]:
+    """
+    Build a list of ``(name, value)`` pairs for some compression parameters.
+
+    """
+    params: List[ExtensionParameter] = []
+    if server_no_context_takeover:
+        params.append(("server_no_context_takeover", None))
+    if client_no_context_takeover:
+        params.append(("client_no_context_takeover", None))
+    if server_max_window_bits:
+        params.append(("server_max_window_bits", str(server_max_window_bits)))
+    if client_max_window_bits is True:  # only in handshake requests
+        params.append(("client_max_window_bits", None))
+    elif client_max_window_bits:
+        params.append(("client_max_window_bits", str(client_max_window_bits)))
+    return params
+
+
+def _extract_parameters(
+    params: Sequence[ExtensionParameter], *, is_server: bool
+) -> Tuple[bool, bool, Optional[int], Optional[Union[int, bool]]]:
+    """
+    Extract compression parameters from a list of ``(name, value)`` pairs.
+
+    If ``is_server`` is :obj:`True`, ``client_max_window_bits`` may be
+    provided without a value. This is only allowed in handshake requests.
+
+    """
+    server_no_context_takeover: bool = False
+    client_no_context_takeover: bool = False
+    server_max_window_bits: Optional[int] = None
+    client_max_window_bits: Optional[Union[int, bool]] = None
+
+    for name, value in params:
+        if name == "server_no_context_takeover":
+            if server_no_context_takeover:
+                raise exceptions.DuplicateParameter(name)
+            if value is None:
+                server_no_context_takeover = True
+            else:
+                raise exceptions.InvalidParameterValue(name, value)
+
+        elif name == "client_no_context_takeover":
+            if client_no_context_takeover:
+                raise exceptions.DuplicateParameter(name)
+            if value is None:
+                client_no_context_takeover = True
+            else:
+                raise exceptions.InvalidParameterValue(name, value)
+
+        elif name == "server_max_window_bits":
+            if server_max_window_bits is not None:
+                raise exceptions.DuplicateParameter(name)
+            if value in _MAX_WINDOW_BITS_VALUES:
+                server_max_window_bits = int(value)
+            else:
+                raise exceptions.InvalidParameterValue(name, value)
+
+        elif name == "client_max_window_bits":
+            if client_max_window_bits is not None:
+                raise exceptions.DuplicateParameter(name)
+            if is_server and value is None:  # only in handshake requests
+                client_max_window_bits = True
+            elif value in _MAX_WINDOW_BITS_VALUES:
+                client_max_window_bits = int(value)
+            else:
+                raise exceptions.InvalidParameterValue(name, value)
+
+        else:
+            raise exceptions.InvalidParameterName(name)
+
+    return (
+        server_no_context_takeover,
+        client_no_context_takeover,
+        server_max_window_bits,
+        client_max_window_bits,
+    )
+
+
+class ClientPerMessageDeflateFactory(ClientExtensionFactory):
+    """
+    Client-side extension factory for the Per-Message Deflate extension.
+
+    Parameters behave as described in `section 7.1 of RFC 7692`_.
+
+    .. _section 7.1 of RFC 7692: https://www.rfc-editor.org/rfc/rfc7692.html#section-7.1
+
+    Set them to :obj:`True` to include them in the negotiation offer without a
+    value or to an integer value to include them with this value.
+
+    Args:
+        server_no_context_takeover: prevent server from using context takeover.
+        client_no_context_takeover: prevent client from using context takeover.
+        server_max_window_bits: maximum size of the server's LZ77 sliding window
+            in bits, between 8 and 15.
+        client_max_window_bits: maximum size of the client's LZ77 sliding window
+            in bits, between 8 and 15, or :obj:`True` to indicate support without
+            setting a limit.
+        compress_settings: additional keyword arguments for :func:`zlib.compressobj`,
+            excluding ``wbits``.
+
+    """
+
+    name = ExtensionName("permessage-deflate")
+
+    def __init__(
+        self,
+        server_no_context_takeover: bool = False,
+        client_no_context_takeover: bool = False,
+        server_max_window_bits: Optional[int] = None,
+        client_max_window_bits: Optional[Union[int, bool]] = True,
+        compress_settings: Optional[Dict[str, Any]] = None,
+    ) -> None:
+        """
+        Configure the Per-Message Deflate extension factory.
+
+        """
+        if not (server_max_window_bits is None or 8 <= server_max_window_bits <= 15):
+            raise ValueError("server_max_window_bits must be between 8 and 15")
+        if not (
+            client_max_window_bits is None
+            or client_max_window_bits is True
+            or 8 <= client_max_window_bits <= 15
+        ):
+            raise ValueError("client_max_window_bits must be between 8 and 15")
+        if compress_settings is not None and "wbits" in compress_settings:
+            raise ValueError(
+                "compress_settings must not include wbits, "
+                "set client_max_window_bits instead"
+            )
+
+        self.server_no_context_takeover = server_no_context_takeover
+        self.client_no_context_takeover = client_no_context_takeover
+        self.server_max_window_bits = server_max_window_bits
+        self.client_max_window_bits = client_max_window_bits
+        self.compress_settings = compress_settings
+
+    def get_request_params(self) -> List[ExtensionParameter]:
+        """
+        Build request parameters.
+
+        """
+        return _build_parameters(
+            self.server_no_context_takeover,
+            self.client_no_context_takeover,
+            self.server_max_window_bits,
+            self.client_max_window_bits,
+        )
+
+    def process_response_params(
+        self,
+        params: Sequence[ExtensionParameter],
+        accepted_extensions: Sequence[Extension],
+    ) -> PerMessageDeflate:
+        """
+        Process response parameters.
+
+        Return an extension instance.
+
+        """
+        if any(other.name == self.name for other in accepted_extensions):
+            raise exceptions.NegotiationError(f"received duplicate {self.name}")
+
+        # Request parameters are available in instance variables.
+
+        # Load response parameters in local variables.
+        (
+            server_no_context_takeover,
+            client_no_context_takeover,
+            server_max_window_bits,
+            client_max_window_bits,
+        ) = _extract_parameters(params, is_server=False)
+
+        # After comparing the request and the response, the final
+        # configuration must be available in the local variables.
+
+        # server_no_context_takeover
+        #
+        #   Req.    Resp.   Result
+        #   ------  ------  --------------------------------------------------
+        #   False   False   False
+        #   False   True    True
+        #   True    False   Error!
+        #   True    True    True
+
+        if self.server_no_context_takeover:
+            if not server_no_context_takeover:
+                raise exceptions.NegotiationError("expected server_no_context_takeover")
+
+        # client_no_context_takeover
+        #
+        #   Req.    Resp.   Result
+        #   ------  ------  --------------------------------------------------
+        #   False   False   False
+        #   False   True    True
+        #   True    False   True - must change value
+        #   True    True    True
+
+        if self.client_no_context_takeover:
+            if not client_no_context_takeover:
+                client_no_context_takeover = True
+
+        # server_max_window_bits
+
+        #   Req.    Resp.   Result
+        #   ------  ------  --------------------------------------------------
+        #   None    None    None
+        #   None    8≤M≤15  M
+        #   8≤N≤15  None    Error!
+        #   8≤N≤15  8≤M≤N   M
+        #   8≤N≤15  N<M≤15  Error!
+
+        if self.server_max_window_bits is None:
+            pass
+
+        else:
+            if server_max_window_bits is None:
+                raise exceptions.NegotiationError("expected server_max_window_bits")
+            elif server_max_window_bits > self.server_max_window_bits:
+                raise exceptions.NegotiationError("unsupported server_max_window_bits")
+
+        # client_max_window_bits
+
+        #   Req.    Resp.   Result
+        #   ------  ------  --------------------------------------------------
+        #   None    None    None
+        #   None    8≤M≤15  Error!
+        #   True    None    None
+        #   True    8≤M≤15  M
+        #   8≤N≤15  None    N - must change value
+        #   8≤N≤15  8≤M≤N   M
+        #   8≤N≤15  N<M≤15  Error!
+
+        if self.client_max_window_bits is None:
+            if client_max_window_bits is not None:
+                raise exceptions.NegotiationError("unexpected client_max_window_bits")
+
+        elif self.client_max_window_bits is True:
+            pass
+
+        else:
+            if client_max_window_bits is None:
+                client_max_window_bits = self.client_max_window_bits
+            elif client_max_window_bits > self.client_max_window_bits:
+                raise exceptions.NegotiationError("unsupported client_max_window_bits")
+
+        return PerMessageDeflate(
+            server_no_context_takeover,  # remote_no_context_takeover
+            client_no_context_takeover,  # local_no_context_takeover
+            server_max_window_bits or 15,  # remote_max_window_bits
+            client_max_window_bits or 15,  # local_max_window_bits
+            self.compress_settings,
+        )
+
+
+def enable_client_permessage_deflate(
+    extensions: Optional[Sequence[ClientExtensionFactory]],
+) -> Sequence[ClientExtensionFactory]:
+    """
+    Enable Per-Message Deflate with default settings in client extensions.
+
+    If the extension is already present, perhaps with non-default settings,
+    the configuration isn't changed.
+
+    """
+    if extensions is None:
+        extensions = []
+    if not any(
+        extension_factory.name == ClientPerMessageDeflateFactory.name
+        for extension_factory in extensions
+    ):
+        extensions = list(extensions) + [
+            ClientPerMessageDeflateFactory(
+                compress_settings={"memLevel": 5},
+            )
+        ]
+    return extensions
+
+
+class ServerPerMessageDeflateFactory(ServerExtensionFactory):
+    """
+    Server-side extension factory for the Per-Message Deflate extension.
+
+    Parameters behave as described in `section 7.1 of RFC 7692`_.
+
+    .. _section 7.1 of RFC 7692: https://www.rfc-editor.org/rfc/rfc7692.html#section-7.1
+
+    Set them to :obj:`True` to include them in the negotiation offer without a
+    value or to an integer value to include them with this value.
+
+    Args:
+        server_no_context_takeover: prevent server from using context takeover.
+        client_no_context_takeover: prevent client from using context takeover.
+        server_max_window_bits: maximum size of the server's LZ77 sliding window
+            in bits, between 8 and 15.
+        client_max_window_bits: maximum size of the client's LZ77 sliding window
+            in bits, between 8 and 15.
+        compress_settings: additional keyword arguments for :func:`zlib.compressobj`,
+            excluding ``wbits``.
+        require_client_max_window_bits: do not enable compression at all if
+            client doesn't advertise support for ``client_max_window_bits``;
+            the default behavior is to enable compression without enforcing
+            ``client_max_window_bits``.
+
+    """
+
+    name = ExtensionName("permessage-deflate")
+
+    def __init__(
+        self,
+        server_no_context_takeover: bool = False,
+        client_no_context_takeover: bool = False,
+        server_max_window_bits: Optional[int] = None,
+        client_max_window_bits: Optional[int] = None,
+        compress_settings: Optional[Dict[str, Any]] = None,
+        require_client_max_window_bits: bool = False,
+    ) -> None:
+        """
+        Configure the Per-Message Deflate extension factory.
+
+        """
+        if not (server_max_window_bits is None or 8 <= server_max_window_bits <= 15):
+            raise ValueError("server_max_window_bits must be between 8 and 15")
+        if not (client_max_window_bits is None or 8 <= client_max_window_bits <= 15):
+            raise ValueError("client_max_window_bits must be between 8 and 15")
+        if compress_settings is not None and "wbits" in compress_settings:
+            raise ValueError(
+                "compress_settings must not include wbits, "
+                "set server_max_window_bits instead"
+            )
+        if client_max_window_bits is None and require_client_max_window_bits:
+            raise ValueError(
+                "require_client_max_window_bits is enabled, "
+                "but client_max_window_bits isn't configured"
+            )
+
+        self.server_no_context_takeover = server_no_context_takeover
+        self.client_no_context_takeover = client_no_context_takeover
+        self.server_max_window_bits = server_max_window_bits
+        self.client_max_window_bits = client_max_window_bits
+        self.compress_settings = compress_settings
+        self.require_client_max_window_bits = require_client_max_window_bits
+
+    def process_request_params(
+        self,
+        params: Sequence[ExtensionParameter],
+        accepted_extensions: Sequence[Extension],
+    ) -> Tuple[List[ExtensionParameter], PerMessageDeflate]:
+        """
+        Process request parameters.
+
+        Return response params and an extension instance.
+
+        """
+        if any(other.name == self.name for other in accepted_extensions):
+            raise exceptions.NegotiationError(f"skipped duplicate {self.name}")
+
+        # Load request parameters in local variables.
+        (
+            server_no_context_takeover,
+            client_no_context_takeover,
+            server_max_window_bits,
+            client_max_window_bits,
+        ) = _extract_parameters(params, is_server=True)
+
+        # Configuration parameters are available in instance variables.
+
+        # After comparing the request and the configuration, the response must
+        # be available in the local variables.
+
+        # server_no_context_takeover
+        #
+        #   Config  Req.    Resp.
+        #   ------  ------  --------------------------------------------------
+        #   False   False   False
+        #   False   True    True
+        #   True    False   True - must change value to True
+        #   True    True    True
+
+        if self.server_no_context_takeover:
+            if not server_no_context_takeover:
+                server_no_context_takeover = True
+
+        # client_no_context_takeover
+        #
+        #   Config  Req.    Resp.
+        #   ------  ------  --------------------------------------------------
+        #   False   False   False
+        #   False   True    True (or False)
+        #   True    False   True - must change value to True
+        #   True    True    True (or False)
+
+        if self.client_no_context_takeover:
+            if not client_no_context_takeover:
+                client_no_context_takeover = True
+
+        # server_max_window_bits
+
+        #   Config  Req.    Resp.
+        #   ------  ------  --------------------------------------------------
+        #   None    None    None
+        #   None    8≤M≤15  M
+        #   8≤N≤15  None    N - must change value
+        #   8≤N≤15  8≤M≤N   M
+        #   8≤N≤15  N<M≤15  N - must change value
+
+        if self.server_max_window_bits is None:
+            pass
+
+        else:
+            if server_max_window_bits is None:
+                server_max_window_bits = self.server_max_window_bits
+            elif server_max_window_bits > self.server_max_window_bits:
+                server_max_window_bits = self.server_max_window_bits
+
+        # client_max_window_bits
+
+        #   Config  Req.    Resp.
+        #   ------  ------  --------------------------------------------------
+        #   None    None    None
+        #   None    True    None - must change value
+        #   None    8≤M≤15  M (or None)
+        #   8≤N≤15  None    None or Error!
+        #   8≤N≤15  True    N - must change value
+        #   8≤N≤15  8≤M≤N   M (or None)
+        #   8≤N≤15  N<M≤15  N
+
+        if self.client_max_window_bits is None:
+            if client_max_window_bits is True:
+                client_max_window_bits = self.client_max_window_bits
+
+        else:
+            if client_max_window_bits is None:
+                if self.require_client_max_window_bits:
+                    raise exceptions.NegotiationError("required client_max_window_bits")
+            elif client_max_window_bits is True:
+                client_max_window_bits = self.client_max_window_bits
+            elif self.client_max_window_bits < client_max_window_bits:
+                client_max_window_bits = self.client_max_window_bits
+
+        return (
+            _build_parameters(
+                server_no_context_takeover,
+                client_no_context_takeover,
+                server_max_window_bits,
+                client_max_window_bits,
+            ),
+            PerMessageDeflate(
+                client_no_context_takeover,  # remote_no_context_takeover
+                server_no_context_takeover,  # local_no_context_takeover
+                client_max_window_bits or 15,  # remote_max_window_bits
+                server_max_window_bits or 15,  # local_max_window_bits
+                self.compress_settings,
+            ),
+        )
+
+
+def enable_server_permessage_deflate(
+    extensions: Optional[Sequence[ServerExtensionFactory]],
+) -> Sequence[ServerExtensionFactory]:
+    """
+    Enable Per-Message Deflate with default settings in server extensions.
+
+    If the extension is already present, perhaps with non-default settings,
+    the configuration isn't changed.
+
+    """
+    if extensions is None:
+        extensions = []
+    if not any(
+        ext_factory.name == ServerPerMessageDeflateFactory.name
+        for ext_factory in extensions
+    ):
+        extensions = list(extensions) + [
+            ServerPerMessageDeflateFactory(
+                server_max_window_bits=12,
+                client_max_window_bits=12,
+                compress_settings={"memLevel": 5},
+            )
+        ]
+    return extensions
diff --git a/iot_env/lib/python3.8/site-packages/websockets/frames.py b/iot_env/lib/python3.8/site-packages/websockets/frames.py
new file mode 100644
index 0000000..8e0e6d8
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/frames.py
@@ -0,0 +1,449 @@
+from __future__ import annotations
+
+import dataclasses
+import enum
+import io
+import secrets
+import struct
+from typing import Callable, Generator, Optional, Sequence, Tuple
+
+from . import exceptions, extensions
+from .typing import Data
+
+
+try:
+    from .speedups import apply_mask
+except ImportError:
+    from .utils import apply_mask
+
+
+__all__ = [
+    "Opcode",
+    "OP_CONT",
+    "OP_TEXT",
+    "OP_BINARY",
+    "OP_CLOSE",
+    "OP_PING",
+    "OP_PONG",
+    "DATA_OPCODES",
+    "CTRL_OPCODES",
+    "Frame",
+    "prepare_data",
+    "prepare_ctrl",
+    "Close",
+]
+
+
+class Opcode(enum.IntEnum):
+    """Opcode values for WebSocket frames."""
+
+    CONT, TEXT, BINARY = 0x00, 0x01, 0x02
+    CLOSE, PING, PONG = 0x08, 0x09, 0x0A
+
+
+OP_CONT = Opcode.CONT
+OP_TEXT = Opcode.TEXT
+OP_BINARY = Opcode.BINARY
+OP_CLOSE = Opcode.CLOSE
+OP_PING = Opcode.PING
+OP_PONG = Opcode.PONG
+
+DATA_OPCODES = OP_CONT, OP_TEXT, OP_BINARY
+CTRL_OPCODES = OP_CLOSE, OP_PING, OP_PONG
+
+
+# See https://www.iana.org/assignments/websocket/websocket.xhtml
+CLOSE_CODES = {
+    1000: "OK",
+    1001: "going away",
+    1002: "protocol error",
+    1003: "unsupported type",
+    # 1004 is reserved
+    1005: "no status code [internal]",
+    1006: "connection closed abnormally [internal]",
+    1007: "invalid data",
+    1008: "policy violation",
+    1009: "message too big",
+    1010: "extension required",
+    1011: "unexpected error",
+    1012: "service restart",
+    1013: "try again later",
+    1014: "bad gateway",
+    1015: "TLS failure [internal]",
+}
+
+
+# Close code that are allowed in a close frame.
+# Using a set optimizes `code in EXTERNAL_CLOSE_CODES`.
+EXTERNAL_CLOSE_CODES = {
+    1000,
+    1001,
+    1002,
+    1003,
+    1007,
+    1008,
+    1009,
+    1010,
+    1011,
+    1012,
+    1013,
+    1014,
+}
+
+OK_CLOSE_CODES = {
+    1000,
+    1001,
+    1005,
+}
+
+
+BytesLike = bytes, bytearray, memoryview
+
+
+@dataclasses.dataclass
+class Frame:
+    """
+    WebSocket frame.
+
+    Attributes:
+        opcode: Opcode.
+        data: Payload data.
+        fin: FIN bit.
+        rsv1: RSV1 bit.
+        rsv2: RSV2 bit.
+        rsv3: RSV3 bit.
+
+    Only these fields are needed. The MASK bit, payload length and masking-key
+    are handled on the fly when parsing and serializing frames.
+
+    """
+
+    opcode: Opcode
+    data: bytes
+    fin: bool = True
+    rsv1: bool = False
+    rsv2: bool = False
+    rsv3: bool = False
+
+    def __str__(self) -> str:
+        """
+        Return a human-readable representation of a frame.
+
+        """
+        coding = None
+        length = f"{len(self.data)} byte{'' if len(self.data) == 1 else 's'}"
+        non_final = "" if self.fin else "continued"
+
+        if self.opcode is OP_TEXT:
+            # Decoding only the beginning and the end is needlessly hard.
+            # Decode the entire payload then elide later if necessary.
+            data = repr(self.data.decode())
+        elif self.opcode is OP_BINARY:
+            # We'll show at most the first 16 bytes and the last 8 bytes.
+            # Encode just what we need, plus two dummy bytes to elide later.
+            binary = self.data
+            if len(binary) > 25:
+                binary = b"".join([binary[:16], b"\x00\x00", binary[-8:]])
+            data = " ".join(f"{byte:02x}" for byte in binary)
+        elif self.opcode is OP_CLOSE:
+            data = str(Close.parse(self.data))
+        elif self.data:
+            # We don't know if a Continuation frame contains text or binary.
+            # Ping and Pong frames could contain UTF-8.
+            # Attempt to decode as UTF-8 and display it as text; fallback to
+            # binary. If self.data is a memoryview, it has no decode() method,
+            # which raises AttributeError.
+            try:
+                data = repr(self.data.decode())
+                coding = "text"
+            except (UnicodeDecodeError, AttributeError):
+                binary = self.data
+                if len(binary) > 25:
+                    binary = b"".join([binary[:16], b"\x00\x00", binary[-8:]])
+                data = " ".join(f"{byte:02x}" for byte in binary)
+                coding = "binary"
+        else:
+            data = "''"
+
+        if len(data) > 75:
+            data = data[:48] + "..." + data[-24:]
+
+        metadata = ", ".join(filter(None, [coding, length, non_final]))
+
+        return f"{self.opcode.name} {data} [{metadata}]"
+
+    @classmethod
+    def parse(
+        cls,
+        read_exact: Callable[[int], Generator[None, None, bytes]],
+        *,
+        mask: bool,
+        max_size: Optional[int] = None,
+        extensions: Optional[Sequence[extensions.Extension]] = None,
+    ) -> Generator[None, None, Frame]:
+        """
+        Parse a WebSocket frame.
+
+        This is a generator-based coroutine.
+
+        Args:
+            read_exact: generator-based coroutine that reads the requested
+                bytes or raises an exception if there isn't enough data.
+            mask: whether the frame should be masked i.e. whether the read
+                happens on the server side.
+            max_size: maximum payload size in bytes.
+            extensions: list of extensions, applied in reverse order.
+
+        Raises:
+            EOFError: if the connection is closed without a full WebSocket frame.
+            UnicodeDecodeError: if the frame contains invalid UTF-8.
+            PayloadTooBig: if the frame's payload size exceeds ``max_size``.
+            ProtocolError: if the frame contains incorrect values.
+
+        """
+        # Read the header.
+        data = yield from read_exact(2)
+        head1, head2 = struct.unpack("!BB", data)
+
+        # While not Pythonic, this is marginally faster than calling bool().
+        fin = True if head1 & 0b10000000 else False
+        rsv1 = True if head1 & 0b01000000 else False
+        rsv2 = True if head1 & 0b00100000 else False
+        rsv3 = True if head1 & 0b00010000 else False
+
+        try:
+            opcode = Opcode(head1 & 0b00001111)
+        except ValueError as exc:
+            raise exceptions.ProtocolError("invalid opcode") from exc
+
+        if (True if head2 & 0b10000000 else False) != mask:
+            raise exceptions.ProtocolError("incorrect masking")
+
+        length = head2 & 0b01111111
+        if length == 126:
+            data = yield from read_exact(2)
+            (length,) = struct.unpack("!H", data)
+        elif length == 127:
+            data = yield from read_exact(8)
+            (length,) = struct.unpack("!Q", data)
+        if max_size is not None and length > max_size:
+            raise exceptions.PayloadTooBig(
+                f"over size limit ({length} > {max_size} bytes)"
+            )
+        if mask:
+            mask_bytes = yield from read_exact(4)
+
+        # Read the data.
+        data = yield from read_exact(length)
+        if mask:
+            data = apply_mask(data, mask_bytes)
+
+        frame = cls(opcode, data, fin, rsv1, rsv2, rsv3)
+
+        if extensions is None:
+            extensions = []
+        for extension in reversed(extensions):
+            frame = extension.decode(frame, max_size=max_size)
+
+        frame.check()
+
+        return frame
+
+    def serialize(
+        self,
+        *,
+        mask: bool,
+        extensions: Optional[Sequence[extensions.Extension]] = None,
+    ) -> bytes:
+        """
+        Serialize a WebSocket frame.
+
+        Args:
+            mask: whether the frame should be masked i.e. whether the write
+                happens on the client side.
+            extensions: list of extensions, applied in order.
+
+        Raises:
+            ProtocolError: if the frame contains incorrect values.
+
+        """
+        self.check()
+
+        if extensions is None:
+            extensions = []
+        for extension in extensions:
+            self = extension.encode(self)
+
+        output = io.BytesIO()
+
+        # Prepare the header.
+        head1 = (
+            (0b10000000 if self.fin else 0)
+            | (0b01000000 if self.rsv1 else 0)
+            | (0b00100000 if self.rsv2 else 0)
+            | (0b00010000 if self.rsv3 else 0)
+            | self.opcode
+        )
+
+        head2 = 0b10000000 if mask else 0
+
+        length = len(self.data)
+        if length < 126:
+            output.write(struct.pack("!BB", head1, head2 | length))
+        elif length < 65536:
+            output.write(struct.pack("!BBH", head1, head2 | 126, length))
+        else:
+            output.write(struct.pack("!BBQ", head1, head2 | 127, length))
+
+        if mask:
+            mask_bytes = secrets.token_bytes(4)
+            output.write(mask_bytes)
+
+        # Prepare the data.
+        if mask:
+            data = apply_mask(self.data, mask_bytes)
+        else:
+            data = self.data
+        output.write(data)
+
+        return output.getvalue()
+
+    def check(self) -> None:
+        """
+        Check that reserved bits and opcode have acceptable values.
+
+        Raises:
+            ProtocolError: if a reserved bit or the opcode is invalid.
+
+        """
+        if self.rsv1 or self.rsv2 or self.rsv3:
+            raise exceptions.ProtocolError("reserved bits must be 0")
+
+        if self.opcode in CTRL_OPCODES:
+            if len(self.data) > 125:
+                raise exceptions.ProtocolError("control frame too long")
+            if not self.fin:
+                raise exceptions.ProtocolError("fragmented control frame")
+
+
+def prepare_data(data: Data) -> Tuple[int, bytes]:
+    """
+    Convert a string or byte-like object to an opcode and a bytes-like object.
+
+    This function is designed for data frames.
+
+    If ``data`` is a :class:`str`, return ``OP_TEXT`` and a :class:`bytes`
+    object encoding ``data`` in UTF-8.
+
+    If ``data`` is a bytes-like object, return ``OP_BINARY`` and a bytes-like
+    object.
+
+    Raises:
+        TypeError: if ``data`` doesn't have a supported type.
+
+    """
+    if isinstance(data, str):
+        return OP_TEXT, data.encode("utf-8")
+    elif isinstance(data, BytesLike):
+        return OP_BINARY, data
+    else:
+        raise TypeError("data must be str or bytes-like")
+
+
+def prepare_ctrl(data: Data) -> bytes:
+    """
+    Convert a string or byte-like object to bytes.
+
+    This function is designed for ping and pong frames.
+
+    If ``data`` is a :class:`str`, return a :class:`bytes` object encoding
+    ``data`` in UTF-8.
+
+    If ``data`` is a bytes-like object, return a :class:`bytes` object.
+
+    Raises:
+        TypeError: if ``data`` doesn't have a supported type.
+
+    """
+    if isinstance(data, str):
+        return data.encode("utf-8")
+    elif isinstance(data, BytesLike):
+        return bytes(data)
+    else:
+        raise TypeError("data must be str or bytes-like")
+
+
+@dataclasses.dataclass
+class Close:
+    """
+    Code and reason for WebSocket close frames.
+
+    Attributes:
+        code: Close code.
+        reason: Close reason.
+
+    """
+
+    code: int
+    reason: str
+
+    def __str__(self) -> str:
+        """
+        Return a human-readable representation of a close code and reason.
+
+        """
+        if 3000 <= self.code < 4000:
+            explanation = "registered"
+        elif 4000 <= self.code < 5000:
+            explanation = "private use"
+        else:
+            explanation = CLOSE_CODES.get(self.code, "unknown")
+        result = f"{self.code} ({explanation})"
+
+        if self.reason:
+            result = f"{result} {self.reason}"
+
+        return result
+
+    @classmethod
+    def parse(cls, data: bytes) -> Close:
+        """
+        Parse the payload of a close frame.
+
+        Args:
+            data: payload of the close frame.
+
+        Raises:
+            ProtocolError: if data is ill-formed.
+            UnicodeDecodeError: if the reason isn't valid UTF-8.
+
+        """
+        if len(data) >= 2:
+            (code,) = struct.unpack("!H", data[:2])
+            reason = data[2:].decode("utf-8")
+            close = cls(code, reason)
+            close.check()
+            return close
+        elif len(data) == 0:
+            return cls(1005, "")
+        else:
+            raise exceptions.ProtocolError("close frame too short")
+
+    def serialize(self) -> bytes:
+        """
+        Serialize the payload of a close frame.
+
+        """
+        self.check()
+        return struct.pack("!H", self.code) + self.reason.encode("utf-8")
+
+    def check(self) -> None:
+        """
+        Check that the close code has a valid value for a close frame.
+
+        Raises:
+            ProtocolError: if the close code is invalid.
+
+        """
+        if not (self.code in EXTERNAL_CLOSE_CODES or 3000 <= self.code < 5000):
+            raise exceptions.ProtocolError("invalid status code")
diff --git a/iot_env/lib/python3.8/site-packages/websockets/headers.py b/iot_env/lib/python3.8/site-packages/websockets/headers.py
new file mode 100644
index 0000000..9ae3035
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/headers.py
@@ -0,0 +1,587 @@
+from __future__ import annotations
+
+import base64
+import binascii
+import ipaddress
+import re
+from typing import Callable, List, Optional, Sequence, Tuple, TypeVar, cast
+
+from . import exceptions
+from .typing import (
+    ConnectionOption,
+    ExtensionHeader,
+    ExtensionName,
+    ExtensionParameter,
+    Subprotocol,
+    UpgradeProtocol,
+)
+
+
+__all__ = [
+    "build_host",
+    "parse_connection",
+    "parse_upgrade",
+    "parse_extension",
+    "build_extension",
+    "parse_subprotocol",
+    "build_subprotocol",
+    "validate_subprotocols",
+    "build_www_authenticate_basic",
+    "parse_authorization_basic",
+    "build_authorization_basic",
+]
+
+
+T = TypeVar("T")
+
+
+def build_host(host: str, port: int, secure: bool) -> str:
+    """
+    Build a ``Host`` header.
+
+    """
+    # https://www.rfc-editor.org/rfc/rfc3986.html#section-3.2.2
+    # IPv6 addresses must be enclosed in brackets.
+    try:
+        address = ipaddress.ip_address(host)
+    except ValueError:
+        # host is a hostname
+        pass
+    else:
+        # host is an IP address
+        if address.version == 6:
+            host = f"[{host}]"
+
+    if port != (443 if secure else 80):
+        host = f"{host}:{port}"
+
+    return host
+
+
+# To avoid a dependency on a parsing library, we implement manually the ABNF
+# described in https://www.rfc-editor.org/rfc/rfc6455.html#section-9.1 and
+# https://www.rfc-editor.org/rfc/rfc7230.html#appendix-B.
+
+
+def peek_ahead(header: str, pos: int) -> Optional[str]:
+    """
+    Return the next character from ``header`` at the given position.
+
+    Return :obj:`None` at the end of ``header``.
+
+    We never need to peek more than one character ahead.
+
+    """
+    return None if pos == len(header) else header[pos]
+
+
+_OWS_re = re.compile(r"[\t ]*")
+
+
+def parse_OWS(header: str, pos: int) -> int:
+    """
+    Parse optional whitespace from ``header`` at the given position.
+
+    Return the new position.
+
+    The whitespace itself isn't returned because it isn't significant.
+
+    """
+    # There's always a match, possibly empty, whose content doesn't matter.
+    match = _OWS_re.match(header, pos)
+    assert match is not None
+    return match.end()
+
+
+_token_re = re.compile(r"[-!#$%&\'*+.^_`|~0-9a-zA-Z]+")
+
+
+def parse_token(header: str, pos: int, header_name: str) -> Tuple[str, int]:
+    """
+    Parse a token from ``header`` at the given position.
+
+    Return the token value and the new position.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    match = _token_re.match(header, pos)
+    if match is None:
+        raise exceptions.InvalidHeaderFormat(header_name, "expected token", header, pos)
+    return match.group(), match.end()
+
+
+_quoted_string_re = re.compile(
+    r'"(?:[\x09\x20-\x21\x23-\x5b\x5d-\x7e]|\\[\x09\x20-\x7e\x80-\xff])*"'
+)
+
+
+_unquote_re = re.compile(r"\\([\x09\x20-\x7e\x80-\xff])")
+
+
+def parse_quoted_string(header: str, pos: int, header_name: str) -> Tuple[str, int]:
+    """
+    Parse a quoted string from ``header`` at the given position.
+
+    Return the unquoted value and the new position.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    match = _quoted_string_re.match(header, pos)
+    if match is None:
+        raise exceptions.InvalidHeaderFormat(
+            header_name, "expected quoted string", header, pos
+        )
+    return _unquote_re.sub(r"\1", match.group()[1:-1]), match.end()
+
+
+_quotable_re = re.compile(r"[\x09\x20-\x7e\x80-\xff]*")
+
+
+_quote_re = re.compile(r"([\x22\x5c])")
+
+
+def build_quoted_string(value: str) -> str:
+    """
+    Format ``value`` as a quoted string.
+
+    This is the reverse of :func:`parse_quoted_string`.
+
+    """
+    match = _quotable_re.fullmatch(value)
+    if match is None:
+        raise ValueError("invalid characters for quoted-string encoding")
+    return '"' + _quote_re.sub(r"\\\1", value) + '"'
+
+
+def parse_list(
+    parse_item: Callable[[str, int, str], Tuple[T, int]],
+    header: str,
+    pos: int,
+    header_name: str,
+) -> List[T]:
+    """
+    Parse a comma-separated list from ``header`` at the given position.
+
+    This is appropriate for parsing values with the following grammar:
+
+        1#item
+
+    ``parse_item`` parses one item.
+
+    ``header`` is assumed not to start or end with whitespace.
+
+    (This function is designed for parsing an entire header value and
+    :func:`~websockets.http.read_headers` strips whitespace from values.)
+
+    Return a list of items.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    # Per https://www.rfc-editor.org/rfc/rfc7230.html#section-7, "a recipient
+    # MUST parse and ignore a reasonable number of empty list elements";
+    # hence while loops that remove extra delimiters.
+
+    # Remove extra delimiters before the first item.
+    while peek_ahead(header, pos) == ",":
+        pos = parse_OWS(header, pos + 1)
+
+    items = []
+    while True:
+        # Loop invariant: a item starts at pos in header.
+        item, pos = parse_item(header, pos, header_name)
+        items.append(item)
+        pos = parse_OWS(header, pos)
+
+        # We may have reached the end of the header.
+        if pos == len(header):
+            break
+
+        # There must be a delimiter after each element except the last one.
+        if peek_ahead(header, pos) == ",":
+            pos = parse_OWS(header, pos + 1)
+        else:
+            raise exceptions.InvalidHeaderFormat(
+                header_name, "expected comma", header, pos
+            )
+
+        # Remove extra delimiters before the next item.
+        while peek_ahead(header, pos) == ",":
+            pos = parse_OWS(header, pos + 1)
+
+        # We may have reached the end of the header.
+        if pos == len(header):
+            break
+
+    # Since we only advance in the header by one character with peek_ahead()
+    # or with the end position of a regex match, we can't overshoot the end.
+    assert pos == len(header)
+
+    return items
+
+
+def parse_connection_option(
+    header: str, pos: int, header_name: str
+) -> Tuple[ConnectionOption, int]:
+    """
+    Parse a Connection option from ``header`` at the given position.
+
+    Return the protocol value and the new position.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    item, pos = parse_token(header, pos, header_name)
+    return cast(ConnectionOption, item), pos
+
+
+def parse_connection(header: str) -> List[ConnectionOption]:
+    """
+    Parse a ``Connection`` header.
+
+    Return a list of HTTP connection options.
+
+    Args
+        header: value of the ``Connection`` header.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    return parse_list(parse_connection_option, header, 0, "Connection")
+
+
+_protocol_re = re.compile(
+    r"[-!#$%&\'*+.^_`|~0-9a-zA-Z]+(?:/[-!#$%&\'*+.^_`|~0-9a-zA-Z]+)?"
+)
+
+
+def parse_upgrade_protocol(
+    header: str, pos: int, header_name: str
+) -> Tuple[UpgradeProtocol, int]:
+    """
+    Parse an Upgrade protocol from ``header`` at the given position.
+
+    Return the protocol value and the new position.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    match = _protocol_re.match(header, pos)
+    if match is None:
+        raise exceptions.InvalidHeaderFormat(
+            header_name, "expected protocol", header, pos
+        )
+    return cast(UpgradeProtocol, match.group()), match.end()
+
+
+def parse_upgrade(header: str) -> List[UpgradeProtocol]:
+    """
+    Parse an ``Upgrade`` header.
+
+    Return a list of HTTP protocols.
+
+    Args:
+        header: value of the ``Upgrade`` header.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    return parse_list(parse_upgrade_protocol, header, 0, "Upgrade")
+
+
+def parse_extension_item_param(
+    header: str, pos: int, header_name: str
+) -> Tuple[ExtensionParameter, int]:
+    """
+    Parse a single extension parameter from ``header`` at the given position.
+
+    Return a ``(name, value)`` pair and the new position.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    # Extract parameter name.
+    name, pos = parse_token(header, pos, header_name)
+    pos = parse_OWS(header, pos)
+    # Extract parameter value, if there is one.
+    value: Optional[str] = None
+    if peek_ahead(header, pos) == "=":
+        pos = parse_OWS(header, pos + 1)
+        if peek_ahead(header, pos) == '"':
+            pos_before = pos  # for proper error reporting below
+            value, pos = parse_quoted_string(header, pos, header_name)
+            # https://www.rfc-editor.org/rfc/rfc6455.html#section-9.1 says:
+            # the value after quoted-string unescaping MUST conform to
+            # the 'token' ABNF.
+            if _token_re.fullmatch(value) is None:
+                raise exceptions.InvalidHeaderFormat(
+                    header_name, "invalid quoted header content", header, pos_before
+                )
+        else:
+            value, pos = parse_token(header, pos, header_name)
+        pos = parse_OWS(header, pos)
+
+    return (name, value), pos
+
+
+def parse_extension_item(
+    header: str, pos: int, header_name: str
+) -> Tuple[ExtensionHeader, int]:
+    """
+    Parse an extension definition from ``header`` at the given position.
+
+    Return an ``(extension name, parameters)`` pair, where ``parameters`` is a
+    list of ``(name, value)`` pairs, and the new position.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    # Extract extension name.
+    name, pos = parse_token(header, pos, header_name)
+    pos = parse_OWS(header, pos)
+    # Extract all parameters.
+    parameters = []
+    while peek_ahead(header, pos) == ";":
+        pos = parse_OWS(header, pos + 1)
+        parameter, pos = parse_extension_item_param(header, pos, header_name)
+        parameters.append(parameter)
+    return (cast(ExtensionName, name), parameters), pos
+
+
+def parse_extension(header: str) -> List[ExtensionHeader]:
+    """
+    Parse a ``Sec-WebSocket-Extensions`` header.
+
+    Return a list of WebSocket extensions and their parameters in this format::
+
+        [
+            (
+                'extension name',
+                [
+                    ('parameter name', 'parameter value'),
+                    ....
+                ]
+            ),
+            ...
+        ]
+
+    Parameter values are :obj:`None` when no value is provided.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    return parse_list(parse_extension_item, header, 0, "Sec-WebSocket-Extensions")
+
+
+parse_extension_list = parse_extension  # alias for backwards compatibility
+
+
+def build_extension_item(
+    name: ExtensionName, parameters: List[ExtensionParameter]
+) -> str:
+    """
+    Build an extension definition.
+
+    This is the reverse of :func:`parse_extension_item`.
+
+    """
+    return "; ".join(
+        [cast(str, name)]
+        + [
+            # Quoted strings aren't necessary because values are always tokens.
+            name if value is None else f"{name}={value}"
+            for name, value in parameters
+        ]
+    )
+
+
+def build_extension(extensions: Sequence[ExtensionHeader]) -> str:
+    """
+    Build a ``Sec-WebSocket-Extensions`` header.
+
+    This is the reverse of :func:`parse_extension`.
+
+    """
+    return ", ".join(
+        build_extension_item(name, parameters) for name, parameters in extensions
+    )
+
+
+build_extension_list = build_extension  # alias for backwards compatibility
+
+
+def parse_subprotocol_item(
+    header: str, pos: int, header_name: str
+) -> Tuple[Subprotocol, int]:
+    """
+    Parse a subprotocol from ``header`` at the given position.
+
+    Return the subprotocol value and the new position.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    item, pos = parse_token(header, pos, header_name)
+    return cast(Subprotocol, item), pos
+
+
+def parse_subprotocol(header: str) -> List[Subprotocol]:
+    """
+    Parse a ``Sec-WebSocket-Protocol`` header.
+
+    Return a list of WebSocket subprotocols.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    return parse_list(parse_subprotocol_item, header, 0, "Sec-WebSocket-Protocol")
+
+
+parse_subprotocol_list = parse_subprotocol  # alias for backwards compatibility
+
+
+def build_subprotocol(subprotocols: Sequence[Subprotocol]) -> str:
+    """
+    Build a ``Sec-WebSocket-Protocol`` header.
+
+    This is the reverse of :func:`parse_subprotocol`.
+
+    """
+    return ", ".join(subprotocols)
+
+
+build_subprotocol_list = build_subprotocol  # alias for backwards compatibility
+
+
+def validate_subprotocols(subprotocols: Sequence[Subprotocol]) -> None:
+    """
+    Validate that ``subprotocols`` is suitable for :func:`build_subprotocol`.
+
+    """
+    if not isinstance(subprotocols, Sequence):
+        raise TypeError("subprotocols must be a list")
+    if isinstance(subprotocols, str):
+        raise TypeError("subprotocols must be a list, not a str")
+    for subprotocol in subprotocols:
+        if not _token_re.fullmatch(subprotocol):
+            raise ValueError(f"invalid subprotocol: {subprotocol}")
+
+
+def build_www_authenticate_basic(realm: str) -> str:
+    """
+    Build a ``WWW-Authenticate`` header for HTTP Basic Auth.
+
+    Args:
+        realm: identifier of the protection space.
+
+    """
+    # https://www.rfc-editor.org/rfc/rfc7617.html#section-2
+    realm = build_quoted_string(realm)
+    charset = build_quoted_string("UTF-8")
+    return f"Basic realm={realm}, charset={charset}"
+
+
+_token68_re = re.compile(r"[A-Za-z0-9-._~+/]+=*")
+
+
+def parse_token68(header: str, pos: int, header_name: str) -> Tuple[str, int]:
+    """
+    Parse a token68 from ``header`` at the given position.
+
+    Return the token value and the new position.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+
+    """
+    match = _token68_re.match(header, pos)
+    if match is None:
+        raise exceptions.InvalidHeaderFormat(
+            header_name, "expected token68", header, pos
+        )
+    return match.group(), match.end()
+
+
+def parse_end(header: str, pos: int, header_name: str) -> None:
+    """
+    Check that parsing reached the end of header.
+
+    """
+    if pos < len(header):
+        raise exceptions.InvalidHeaderFormat(header_name, "trailing data", header, pos)
+
+
+def parse_authorization_basic(header: str) -> Tuple[str, str]:
+    """
+    Parse an ``Authorization`` header for HTTP Basic Auth.
+
+    Return a ``(username, password)`` tuple.
+
+    Args:
+        header: value of the ``Authorization`` header.
+
+    Raises:
+        InvalidHeaderFormat: on invalid inputs.
+        InvalidHeaderValue: on unsupported inputs.
+
+    """
+    # https://www.rfc-editor.org/rfc/rfc7235.html#section-2.1
+    # https://www.rfc-editor.org/rfc/rfc7617.html#section-2
+    scheme, pos = parse_token(header, 0, "Authorization")
+    if scheme.lower() != "basic":
+        raise exceptions.InvalidHeaderValue(
+            "Authorization",
+            f"unsupported scheme: {scheme}",
+        )
+    if peek_ahead(header, pos) != " ":
+        raise exceptions.InvalidHeaderFormat(
+            "Authorization", "expected space after scheme", header, pos
+        )
+    pos += 1
+    basic_credentials, pos = parse_token68(header, pos, "Authorization")
+    parse_end(header, pos, "Authorization")
+
+    try:
+        user_pass = base64.b64decode(basic_credentials.encode()).decode()
+    except binascii.Error:
+        raise exceptions.InvalidHeaderValue(
+            "Authorization",
+            "expected base64-encoded credentials",
+        ) from None
+    try:
+        username, password = user_pass.split(":", 1)
+    except ValueError:
+        raise exceptions.InvalidHeaderValue(
+            "Authorization",
+            "expected username:password credentials",
+        ) from None
+
+    return username, password
+
+
+def build_authorization_basic(username: str, password: str) -> str:
+    """
+    Build an ``Authorization`` header for HTTP Basic Auth.
+
+    This is the reverse of :func:`parse_authorization_basic`.
+
+    """
+    # https://www.rfc-editor.org/rfc/rfc7617.html#section-2
+    assert ":" not in username
+    user_pass = f"{username}:{password}"
+    basic_credentials = base64.b64encode(user_pass.encode()).decode()
+    return "Basic " + basic_credentials
diff --git a/iot_env/lib/python3.8/site-packages/websockets/http.py b/iot_env/lib/python3.8/site-packages/websockets/http.py
new file mode 100644
index 0000000..b14fa94
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/http.py
@@ -0,0 +1,30 @@
+from __future__ import annotations
+
+import sys
+
+from .imports import lazy_import
+from .version import version as websockets_version
+
+
+# For backwards compatibility:
+
+
+lazy_import(
+    globals(),
+    # Headers and MultipleValuesError used to be defined in this module.
+    aliases={
+        "Headers": ".datastructures",
+        "MultipleValuesError": ".datastructures",
+    },
+    deprecated_aliases={
+        "read_request": ".legacy.http",
+        "read_response": ".legacy.http",
+    },
+)
+
+
+__all__ = ["USER_AGENT"]
+
+
+PYTHON_VERSION = "{}.{}".format(*sys.version_info)
+USER_AGENT = f"Python/{PYTHON_VERSION} websockets/{websockets_version}"
diff --git a/iot_env/lib/python3.8/site-packages/websockets/http11.py b/iot_env/lib/python3.8/site-packages/websockets/http11.py
new file mode 100644
index 0000000..ec4e3b8
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/http11.py
@@ -0,0 +1,364 @@
+from __future__ import annotations
+
+import dataclasses
+import re
+import warnings
+from typing import Callable, Generator, Optional
+
+from . import datastructures, exceptions
+
+
+# Maximum total size of headers is around 128 * 8 KiB = 1 MiB.
+MAX_HEADERS = 128
+
+# Limit request line and header lines. 8KiB is the most common default
+# configuration of popular HTTP servers.
+MAX_LINE = 8192
+
+# Support for HTTP response bodies is intended to read an error message
+# returned by a server. It isn't designed to perform large file transfers.
+MAX_BODY = 2**20  # 1 MiB
+
+
+def d(value: bytes) -> str:
+    """
+    Decode a bytestring for interpolating into an error message.
+
+    """
+    return value.decode(errors="backslashreplace")
+
+
+# See https://www.rfc-editor.org/rfc/rfc7230.html#appendix-B.
+
+# Regex for validating header names.
+
+_token_re = re.compile(rb"[-!#$%&\'*+.^_`|~0-9a-zA-Z]+")
+
+# Regex for validating header values.
+
+# We don't attempt to support obsolete line folding.
+
+# Include HTAB (\x09), SP (\x20), VCHAR (\x21-\x7e), obs-text (\x80-\xff).
+
+# The ABNF is complicated because it attempts to express that optional
+# whitespace is ignored. We strip whitespace and don't revalidate that.
+
+# See also https://www.rfc-editor.org/errata_search.php?rfc=7230&eid=4189
+
+_value_re = re.compile(rb"[\x09\x20-\x7e\x80-\xff]*")
+
+
+@dataclasses.dataclass
+class Request:
+    """
+    WebSocket handshake request.
+
+    Attributes:
+        path: Request path, including optional query.
+        headers: Request headers.
+    """
+
+    path: str
+    headers: datastructures.Headers
+    # body isn't useful is the context of this library.
+
+    _exception: Optional[Exception] = None
+
+    @property
+    def exception(self) -> Optional[Exception]:  # pragma: no cover
+        warnings.warn(
+            "Request.exception is deprecated; "
+            "use ServerProtocol.handshake_exc instead",
+            DeprecationWarning,
+        )
+        return self._exception
+
+    @classmethod
+    def parse(
+        cls,
+        read_line: Callable[[int], Generator[None, None, bytes]],
+    ) -> Generator[None, None, Request]:
+        """
+        Parse a WebSocket handshake request.
+
+        This is a generator-based coroutine.
+
+        The request path isn't URL-decoded or validated in any way.
+
+        The request path and headers are expected to contain only ASCII
+        characters. Other characters are represented with surrogate escapes.
+
+        :meth:`parse` doesn't attempt to read the request body because
+        WebSocket handshake requests don't have one. If the request contains a
+        body, it may be read from the data stream after :meth:`parse` returns.
+
+        Args:
+            read_line: generator-based coroutine that reads a LF-terminated
+                line or raises an exception if there isn't enough data
+
+        Raises:
+            EOFError: if the connection is closed without a full HTTP request.
+            SecurityError: if the request exceeds a security limit.
+            ValueError: if the request isn't well formatted.
+
+        """
+        # https://www.rfc-editor.org/rfc/rfc7230.html#section-3.1.1
+
+        # Parsing is simple because fixed values are expected for method and
+        # version and because path isn't checked. Since WebSocket software tends
+        # to implement HTTP/1.1 strictly, there's little need for lenient parsing.
+
+        try:
+            request_line = yield from parse_line(read_line)
+        except EOFError as exc:
+            raise EOFError("connection closed while reading HTTP request line") from exc
+
+        try:
+            method, raw_path, version = request_line.split(b" ", 2)
+        except ValueError:  # not enough values to unpack (expected 3, got 1-2)
+            raise ValueError(f"invalid HTTP request line: {d(request_line)}") from None
+
+        if method != b"GET":
+            raise ValueError(f"unsupported HTTP method: {d(method)}")
+        if version != b"HTTP/1.1":
+            raise ValueError(f"unsupported HTTP version: {d(version)}")
+        path = raw_path.decode("ascii", "surrogateescape")
+
+        headers = yield from parse_headers(read_line)
+
+        # https://www.rfc-editor.org/rfc/rfc7230.html#section-3.3.3
+
+        if "Transfer-Encoding" in headers:
+            raise NotImplementedError("transfer codings aren't supported")
+
+        if "Content-Length" in headers:
+            raise ValueError("unsupported request body")
+
+        return cls(path, headers)
+
+    def serialize(self) -> bytes:
+        """
+        Serialize a WebSocket handshake request.
+
+        """
+        # Since the request line and headers only contain ASCII characters,
+        # we can keep this simple.
+        request = f"GET {self.path} HTTP/1.1\r\n".encode()
+        request += self.headers.serialize()
+        return request
+
+
+@dataclasses.dataclass
+class Response:
+    """
+    WebSocket handshake response.
+
+    Attributes:
+        status_code: Response code.
+        reason_phrase: Response reason.
+        headers: Response headers.
+        body: Response body, if any.
+
+    """
+
+    status_code: int
+    reason_phrase: str
+    headers: datastructures.Headers
+    body: Optional[bytes] = None
+
+    _exception: Optional[Exception] = None
+
+    @property
+    def exception(self) -> Optional[Exception]:  # pragma: no cover
+        warnings.warn(
+            "Response.exception is deprecated; "
+            "use ClientProtocol.handshake_exc instead",
+            DeprecationWarning,
+        )
+        return self._exception
+
+    @classmethod
+    def parse(
+        cls,
+        read_line: Callable[[int], Generator[None, None, bytes]],
+        read_exact: Callable[[int], Generator[None, None, bytes]],
+        read_to_eof: Callable[[int], Generator[None, None, bytes]],
+    ) -> Generator[None, None, Response]:
+        """
+        Parse a WebSocket handshake response.
+
+        This is a generator-based coroutine.
+
+        The reason phrase and headers are expected to contain only ASCII
+        characters. Other characters are represented with surrogate escapes.
+
+        Args:
+            read_line: generator-based coroutine that reads a LF-terminated
+                line or raises an exception if there isn't enough data.
+            read_exact: generator-based coroutine that reads the requested
+                bytes or raises an exception if there isn't enough data.
+            read_to_eof: generator-based coroutine that reads until the end
+                of the stream.
+
+        Raises:
+            EOFError: if the connection is closed without a full HTTP response.
+            SecurityError: if the response exceeds a security limit.
+            LookupError: if the response isn't well formatted.
+            ValueError: if the response isn't well formatted.
+
+        """
+        # https://www.rfc-editor.org/rfc/rfc7230.html#section-3.1.2
+
+        try:
+            status_line = yield from parse_line(read_line)
+        except EOFError as exc:
+            raise EOFError("connection closed while reading HTTP status line") from exc
+
+        try:
+            version, raw_status_code, raw_reason = status_line.split(b" ", 2)
+        except ValueError:  # not enough values to unpack (expected 3, got 1-2)
+            raise ValueError(f"invalid HTTP status line: {d(status_line)}") from None
+
+        if version != b"HTTP/1.1":
+            raise ValueError(f"unsupported HTTP version: {d(version)}")
+        try:
+            status_code = int(raw_status_code)
+        except ValueError:  # invalid literal for int() with base 10
+            raise ValueError(
+                f"invalid HTTP status code: {d(raw_status_code)}"
+            ) from None
+        if not 100 <= status_code < 1000:
+            raise ValueError(f"unsupported HTTP status code: {d(raw_status_code)}")
+        if not _value_re.fullmatch(raw_reason):
+            raise ValueError(f"invalid HTTP reason phrase: {d(raw_reason)}")
+        reason = raw_reason.decode()
+
+        headers = yield from parse_headers(read_line)
+
+        # https://www.rfc-editor.org/rfc/rfc7230.html#section-3.3.3
+
+        if "Transfer-Encoding" in headers:
+            raise NotImplementedError("transfer codings aren't supported")
+
+        # Since websockets only does GET requests (no HEAD, no CONNECT), all
+        # responses except 1xx, 204, and 304 include a message body.
+        if 100 <= status_code < 200 or status_code == 204 or status_code == 304:
+            body = None
+        else:
+            content_length: Optional[int]
+            try:
+                # MultipleValuesError is sufficiently unlikely that we don't
+                # attempt to handle it. Instead we document that its parent
+                # class, LookupError, may be raised.
+                raw_content_length = headers["Content-Length"]
+            except KeyError:
+                content_length = None
+            else:
+                content_length = int(raw_content_length)
+
+            if content_length is None:
+                try:
+                    body = yield from read_to_eof(MAX_BODY)
+                except RuntimeError:
+                    raise exceptions.SecurityError(
+                        f"body too large: over {MAX_BODY} bytes"
+                    )
+            elif content_length > MAX_BODY:
+                raise exceptions.SecurityError(
+                    f"body too large: {content_length} bytes"
+                )
+            else:
+                body = yield from read_exact(content_length)
+
+        return cls(status_code, reason, headers, body)
+
+    def serialize(self) -> bytes:
+        """
+        Serialize a WebSocket handshake response.
+
+        """
+        # Since the status line and headers only contain ASCII characters,
+        # we can keep this simple.
+        response = f"HTTP/1.1 {self.status_code} {self.reason_phrase}\r\n".encode()
+        response += self.headers.serialize()
+        if self.body is not None:
+            response += self.body
+        return response
+
+
+def parse_headers(
+    read_line: Callable[[int], Generator[None, None, bytes]],
+) -> Generator[None, None, datastructures.Headers]:
+    """
+    Parse HTTP headers.
+
+    Non-ASCII characters are represented with surrogate escapes.
+
+    Args:
+        read_line: generator-based coroutine that reads a LF-terminated line
+            or raises an exception if there isn't enough data.
+
+    Raises:
+        EOFError: if the connection is closed without complete headers.
+        SecurityError: if the request exceeds a security limit.
+        ValueError: if the request isn't well formatted.
+
+    """
+    # https://www.rfc-editor.org/rfc/rfc7230.html#section-3.2
+
+    # We don't attempt to support obsolete line folding.
+
+    headers = datastructures.Headers()
+    for _ in range(MAX_HEADERS + 1):
+        try:
+            line = yield from parse_line(read_line)
+        except EOFError as exc:
+            raise EOFError("connection closed while reading HTTP headers") from exc
+        if line == b"":
+            break
+
+        try:
+            raw_name, raw_value = line.split(b":", 1)
+        except ValueError:  # not enough values to unpack (expected 2, got 1)
+            raise ValueError(f"invalid HTTP header line: {d(line)}") from None
+        if not _token_re.fullmatch(raw_name):
+            raise ValueError(f"invalid HTTP header name: {d(raw_name)}")
+        raw_value = raw_value.strip(b" \t")
+        if not _value_re.fullmatch(raw_value):
+            raise ValueError(f"invalid HTTP header value: {d(raw_value)}")
+
+        name = raw_name.decode("ascii")  # guaranteed to be ASCII at this point
+        value = raw_value.decode("ascii", "surrogateescape")
+        headers[name] = value
+
+    else:
+        raise exceptions.SecurityError("too many HTTP headers")
+
+    return headers
+
+
+def parse_line(
+    read_line: Callable[[int], Generator[None, None, bytes]],
+) -> Generator[None, None, bytes]:
+    """
+    Parse a single line.
+
+    CRLF is stripped from the return value.
+
+    Args:
+        read_line: generator-based coroutine that reads a LF-terminated line
+            or raises an exception if there isn't enough data.
+
+    Raises:
+        EOFError: if the connection is closed without a CRLF.
+        SecurityError: if the response exceeds a security limit.
+
+    """
+    try:
+        line = yield from read_line(MAX_LINE)
+    except RuntimeError:
+        raise exceptions.SecurityError("line too long")
+    # Not mandatory but safe - https://www.rfc-editor.org/rfc/rfc7230.html#section-3.5
+    if not line.endswith(b"\r\n"):
+        raise EOFError("line without CRLF")
+    return line[:-2]
diff --git a/iot_env/lib/python3.8/site-packages/websockets/imports.py b/iot_env/lib/python3.8/site-packages/websockets/imports.py
new file mode 100644
index 0000000..a6a59d4
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/imports.py
@@ -0,0 +1,99 @@
+from __future__ import annotations
+
+import warnings
+from typing import Any, Dict, Iterable, Optional
+
+
+__all__ = ["lazy_import"]
+
+
+def import_name(name: str, source: str, namespace: Dict[str, Any]) -> Any:
+    """
+    Import ``name`` from ``source`` in ``namespace``.
+
+    There are two use cases:
+
+    - ``name`` is an object defined in ``source``;
+    - ``name`` is a submodule of ``source``.
+
+    Neither :func:`__import__` nor :func:`~importlib.import_module` does
+    exactly this. :func:`__import__` is closer to the intended behavior.
+
+    """
+    level = 0
+    while source[level] == ".":
+        level += 1
+        assert level < len(source), "importing from parent isn't supported"
+    module = __import__(source[level:], namespace, None, [name], level)
+    return getattr(module, name)
+
+
+def lazy_import(
+    namespace: Dict[str, Any],
+    aliases: Optional[Dict[str, str]] = None,
+    deprecated_aliases: Optional[Dict[str, str]] = None,
+) -> None:
+    """
+    Provide lazy, module-level imports.
+
+    Typical use::
+
+        __getattr__, __dir__ = lazy_import(
+            globals(),
+            aliases={
+                "<name>": "<source module>",
+                ...
+            },
+            deprecated_aliases={
+                ...,
+            }
+        )
+
+    This function defines ``__getattr__`` and ``__dir__`` per :pep:`562`.
+
+    """
+    if aliases is None:
+        aliases = {}
+    if deprecated_aliases is None:
+        deprecated_aliases = {}
+
+    namespace_set = set(namespace)
+    aliases_set = set(aliases)
+    deprecated_aliases_set = set(deprecated_aliases)
+
+    assert not namespace_set & aliases_set, "namespace conflict"
+    assert not namespace_set & deprecated_aliases_set, "namespace conflict"
+    assert not aliases_set & deprecated_aliases_set, "namespace conflict"
+
+    package = namespace["__name__"]
+
+    def __getattr__(name: str) -> Any:
+        assert aliases is not None  # mypy cannot figure this out
+        try:
+            source = aliases[name]
+        except KeyError:
+            pass
+        else:
+            return import_name(name, source, namespace)
+
+        assert deprecated_aliases is not None  # mypy cannot figure this out
+        try:
+            source = deprecated_aliases[name]
+        except KeyError:
+            pass
+        else:
+            warnings.warn(
+                f"{package}.{name} is deprecated",
+                DeprecationWarning,
+                stacklevel=2,
+            )
+            return import_name(name, source, namespace)
+
+        raise AttributeError(f"module {package!r} has no attribute {name!r}")
+
+    namespace["__getattr__"] = __getattr__
+
+    def __dir__() -> Iterable[str]:
+        return sorted(namespace_set | aliases_set | deprecated_aliases_set)
+
+    namespace["__dir__"] = __dir__
diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__init__.py b/iot_env/lib/python3.8/site-packages/websockets/legacy/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5da8b1f2302a3796d291a4a6738868fe8fbc1cfc
GIT binary patch
literal 153
zcmWIL<>g{vU|{HN+noZUAA<;F%*epN;K0DZP|U)>z>vZa%%I8Wx00a<B#a<_+3A<$
z7U&mb7U-7d6(lBSr>5wZXQZa)=o;qbWfYbd8|jy)CKcx=XQ!4F>*u7VCni_w$H!;p
bWtPOp>lIYq;;_lhPbtkwwF8;^8Du{I!>lCg

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/async_timeout.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/async_timeout.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..57d00343ca8b8f9ca3f898c1b014811aac356b30
GIT binary patch
literal 7087
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
V82MN^lvtQqm_<ZIgoW6d7y%TqgC+m~

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/auth.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/auth.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..09e04c7f67ede718590b518923f767ba53928002
GIT binary patch
literal 5736
zcmWIL<>g{vU|{HN+nv%c!NBks#6iaF3=9ko3=E9LR~Q%=QW#Pga~N_NqZk=MY^EHh
zD5eyK6s8>JC}uFt62+3jkiwk9n#&f&mdhT+p34!%k;@synadT$mCGH)oy!x&lgk^$
z%gB(zlERw9m&+f;4`#FF2;>Sz34+<|IYPO@QNp<*Q6h{CDI6)BIik5@QDV8`QR0jY
zDO@Ss=}b`)sobfOsgh|-k_=H&DLg5>DSUI7QutE@T3Di_-5F8@Q@C0fQn*sZo0+3z
zQY2G^QiM}PQbbe4QpD%5rbwi4x3EUZrZ5FFXiB{V`B#(i7I$J^UVcepNoIatv7aW#
zEoR5O%3GX{<%yXkiAg!Bw>X>=b8;Xo&yv(42+O|!q&_j{7HddpK~Cx|*3i7n{JdK%
z$%(}!FPRt^7&IAgv3sN@rlb}XYck&A^~@_v%*jlFh-fn1l1VDf%t?taFE5WzEG@}M
z%`3@FPAo}{Pf9G#Oui*qkXTfl3YN()%B%vr4I=fD5o9*gEgp}Mkbt1n;)49V;?!H>
z;i*Z%`N`R-CBdmhWvN90MfoN9$@w|A6r4cjIhK}W;8GzCwh?Sqd;wHjd|G01Nq$jf
z5i<h=!!4Gi{QMkErdzCKi8-aIx7dnOOG=CKl0gmug&+un)NwK}FgSx!i~|D$LlsXA
zLkv?bV=YrSL!J~1LkU9(V;WO7SCJYc0|-Vkq%a0EL@<;v)i9PYH#6m1l`z#Xfmp!|
zDGb33E1CS<G+AzOhEx`$x)v4X7v16t1KAE`XBKDX6_+IDC8yqEE-oq3WG)f|xs;={
zIJGD*F*o%VM?qq7ae01G%1VYJc?JfCUsn1hxdr+KnFYF~c?F5d*{LbI<r%4|Il6{<
zc^QS}#YXz&sY%7)AS~9;Nli~ouG9xbj9x+IExyd+_~fG06i_53<`fGvFfbH@a}OgE
zBM+kxBL`EFA_D_MGAJaFF(?l)fI_5#fq@~FA&N1DA&M!KA%!uDIfW^TC51VaHHF27
zA%!)HErl(WHH96-PGL>qn8TF9nZlOBmBN|Aox(GRwVff25tPzf_@dZTm{XWR>3t4!
zieQRR3riG73Ns{)&tV3u6H5_q;fdmGXJBE7;tFQalqdo@xXPJJK|w(Qo(dF-!3jkH
z7Uc>h8Hptdsd;JnMaikf3ZT>lNjnOl#G}Ur)_seiNCp(ntVOAbIk|qncwxC9y11k$
zwn&zNfng<6kupe$U~)!kayD|XffLg&eYh4_u8Ia})=>bNprZiKb<v<i7aJRUi^VTL
zFIAKE7E5ALdNJ7SA~lc&Y}w^t5pht+!_p!s<FPU@Fo4n{KPcouN^2NX7_vEw_-Yty
z7~&afm}(f}8B3U&8M2sbm}^-2z-3x6!%9X!O%|~Ew}j#`9Dj?oxU?X(=oUwOd}dx|
zNqjuWMa8K(X<!{-7ZqtTFfbHpfx>|C7H52Xa!z7#aeO>D`4uUE<n$OA7<562hXa&K
z*f|*47}*%BGzn!<J(!(Eq9DVW!Qosa2Qm@td5~v827)k%&BDOIa2Vuykfk*YSqv$R
z*_=f(H4F<FY8Y#n7BYD<q%e9g1T%n(LFU90j0_Cm=mjMZXHc{$lxL)tWTX};Af<YR
z#G+IMP>ui<NU15%6amr_l95@gkepwXUs{rxm#UDPSgDYds*qonT2z#ol9HOIkeR2D
zs8C#*1P&1$g|z%4h180~+=84`g_3-@%^<TuISf<`DkP>Sf^xV*qC!eyNn%oBajHUo
zkwRjgLTW_`D2wNS({E;SDv~=Ki_(j&;KqSm1}hG%(9^R5OhykyJ*?2cR1cFuvMvZ*
z45HZxO0`xBR{2R;RtX_RrKt%DnQ00o8L0{xiFql-8Hw4c3dI@ur8y}I$@zIDnR%tD
z)+jE3=yXfWDTZjxEP<&{OU%qsD9<d(0EGfLdzu&+Dx`wSMkGi1xoI*M>42&T<|2Ji
z3IXNGB5+y(6@y5L5tK75L5YzKlx_sL7=@Usj0h%0jEqsl11jys;JF&)GFY_~tI2$e
zr692+;}(BWYGG+=aY=jzq(&^lNVp(ZfU-q1DB&IgnaNYbl)@;<P|F<7kf#T#L9)4u
ztUz@KBSQ&e7E=~;3R4M74MP@dGh-T4I%5iR8Z#S1Bm<~csS+q*t6^?tjA5!}sbz)g
zXV2y;s=}k61);x&VF5=COARYHtFU@76tBQ)BU>7CFhdPX4MRL<30E`20&aNrVg+R{
zP4=o_c;rIz6)1F&idBWgyc7jUb&3+JMbLU3lz8$|Q&Ui~+bv#Di44kxiJ&G(l|XoS
zxGqQtmU)Ur7#J9QGmDEe^U{%XFjuhz0|P^7UU6wbL4Hw5Y6^;^A6Of-nSvst$#aXt
zJGBy0^|EA?loZ_J0(m63B(bEl_!dv7pJQl<hkuY~l&eb-A1Kj*YJehs5Q`T?fRY-d
z&;pfyxA+T+@{?1Gi{qh*LX!=WRE<GuO+aNkFQ_bl`w*fPoQ4fRO27#jRJIjaF)%Rr
zfzmLj)MelV)y8~GY>a%2On<r9m>2~Z5j-KNI13vaQ<VY1bdK&sZcxb&YFWg`-{Ojo
z&&^LM%}I@qzr_<DUs#%$1C?Qqk59=@j*kad3b**<<B?jH@$nFUfGPn<eF1X)Ena9v
zk(`>71FI~+9t3+8>`PGf4XSpF1sE6@xENVjc{q63m>8M<$ngk?7O8;piZML@ft#Vx
z&WP5EjsmRFiYyu%8(X9f(rF3T39pa!^z?Kfi4>Ho;4KE!mSt>gl|G3&G+80x!i`j`
zfJ5RIe{xYOsPPMHj6jM9P(21Jn?M*;se>>xsCd}Kz`#($n8KLN0V*Q0IkK6GBuW@k
zn3@@z7{TJ4Mbk<cYZ#jui_A)xN|<XHo0-xXYgzJ~N?2+bOIVwkin2=BK=QRLC7=cs
zOAA8{iwi?DV>4rMMF~R+YYpRUhPhz#^7v5sB^)&@&5WH4DQqchDeNg6&_)+$3ReqH
zEmI9M$W=v)N;qqoOSrPQYnW>oYM4^Edzph7G<gzbS)ny;0JNd40BvX!)%vnZE6q!`
zO2E@zPf*A#R!B)L&P>lsO;ISxSIEpONlh<GEJ+2|9N@wTYDyiVxvK|h3PPv^g`CXn
zRE3g^%wj7mNUIN2lcKBE0GkDp0bx*zK@mWUPg^AIc$|-FD9B)NJJVJvw^AV`wG3S4
zrxq#cpjZV`hLoUeHIy<^b8_;PbQF{_bMnhlEAva0G*Pu^!VS=b_z<<_0JhXhAvig|
zAXOnh4ctUdO$L><dJ3NK`WRGyCuZg;<mcs7DmVr^dwMD)XCxLSCYPiZ6~iq6xh^R+
zIkB`D6sD;Psd>ryDWGyWKTRPoKTj83BPaq(^HNgNGV?%%K1e$Z2c@Q^7J(wQ7~&WO
zBRwOK^Q?-}lC2WVjf_nbz)h=^)RM%^oMJ@F1}Su`6g(1(Ky8nd)D)z~9CC3F_G5Bl
z9;gkMh~kfg1PxfTNk;+JAks`oP$)>uECM&r6ml|)OF(WaE=|q=3nM!N)UrhG5LhWV
z!yAp@-bYz#QD$0ZYB7p)P@LddqEM8YoSIpdTC9+e0CP=30=ObgNPsyCBv6!Inwy$e
zf*KWw`nFghQNaq_Ahk*WHQEyN6#VnR(VdWh6krJn3i(ASPDn_=XaglADCCwFmw-a7
zpeVmA6BM{fr6me^`6UWT`6U@BQIS}Z3h!rIDY!v8+K~JY$u-5`_9Cn()KhQ*CH}O;
z(wq_<aJEEoO=dCN7li7x1mu`4N-fAqOioQfF)XPPshtjSbWmbuaVk<97v3MYQt*T{
zY%zmN0ecW7LSsZB6E#lCi}Lf*p-ou7Dt%}ODx_v&^g!~96fnXbWf%g~{R8!Yib1sm
zXhfifA(pR}v4jCs)`u}LG88g_1{aF7K@DU^aHn09=@yfo!7Y}|lGI#C>lj@7f-2ry
zoHpsHd8rizMRtopjSNtI#KOSDP^E{b4AZm8$xlwqDYnytYp#;Zgbe;5r)vdRa9AmT
z`_$mRU6B!}GYj$ssLlgnkZ(ZE;>jQ%ftmzWJRJ-*43Z4sffX@mvsekztc4G%FfL%K
zVX9$V$P~;_1ZwkXG8dVF+EpwWxrxcQ_>%K;3lfV`<5M!zQ;SP9kvf!7f~ge+smUd&
zDe<tpw30DO04YPnr(`CVKmrOBM&SB;6)1EN10sBk9E??FM1>JXbQY<CqK2nP64cNG
z4XPA@%)P~p)SxMn2FZc?3%6K6<;^YT#GIU4EMRwmno74gLG@%wetu5zE%t)MqLR$S
z9B9*{$O)ts+#GdgU|>M?7|1M$$2>u*z`g^uq)S1*1L<K<6JX?E;$Y-p<YVMw<X{wH
z6ky_G;$RYE=U`-EVqs(g!M~a;etv#_nsT6KVp?fQX;Er?d=V&0i$E>aB6pD4=Ag)6
zE2%8V%u5Fkixh#<RuQOyQv~u@5oqM72o&!{oFMg}Fo@y<^@NK{ib|6~h8BZ6UbnbX
zE0R;eLy^Trptklcc32M!+z<z~!Edoa>h~f+kWoS)tJ&k@6T!_*P_weg3nUH>Yf$hN
zf&2^!2XIaR6QIDj#bE<!_S%6)TZ)w!7#MiKp~1nZ!NkMJ!zjQgz|6tK!z{ol5CtCO
IV`TUP0D1=?i2wiq

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/client.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/client.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cc91ab6d6bf95bc57a0eba952b950f37bf9c19a9
GIT binary patch
literal 19206
zcmWIL<>g{vU|{HN+nusIoq^#oh=YvT7#J8F7#J9fXE8D`q%fo~<}l<kMlmvi*i1Q0
zQA{ZeDNH%cQOsbPC5i=1vqrIkX|^bKFwGIgk;0I|oWq&R6~zVC%aX&L%M-<u%Nxa;
z%NNC$%OAy`D-b1+D;Oo1D-<P^D;y=9D-tD=D;g!r$dJOC!j>bJD;_1DD-k6D=CkKW
z=1N6L<w{3M=gLIM<jO|L=E_CM<;q9N=PE=gfYos1DCR0fDdj3hDTDc(IV!oTQL11z
zSB_e)dX##uMwCXbW|U^GR+Lt*c9eFmPLxirZj>%q4R?-Su6~q0n9Y;Joof(fkZTxa
zm}?YelxrMi3>N3jG08QJGR-xMGGk;&;Y;DqG0(M#vH-IMax8PLqO5YQqpZPv!5qC@
zn<yJFTPVji*DlJAks(DmMI=QuojJ<hogqamMYM$>MKsl}nK{bAogqa$MWTfvMWUH0
z$}!b3$|*%YMJh!)MJ7ceMRpELid>3F3u}~f3R5tHrou~5tZ6dd;!e!V%P&bR$;{6y
z_S0m%#T!zTn4FrFn4BF_S&*v9b&J_CukseJV{v6(vS&$ZQDRAc(Jc<=#GIVOq@2`S
zobIW4P(c=-%;J(;9R39$vl4S|aRjFpmZs(<r`}=>DJ{rJy~P4D@fJ&RVsXh!CI$uu
zO{QDy9;t~bsYS)NxS<T6%<NQ6_FDp;d1Z+?nJFHLc`3yiiP@>Qcwr)74Y&B9T;J5<
z;>7gSTY^x2a7kiGX|Z#DO6n~Eztr^nl1#AIT#JhGi*5-9rKV&Sr6!jk85^9MTw0V_
zQVCX}$#hH1IVUqUuf(;YBsH%%Ge6HQF}WnasPYykTtt)cmO^SC$oKKdV72iDsYSUE
zcf_ZprsX7-fV?1?RGOKS5}#OFl96AOSp{}Rd{Sa@X7Vk5h*T=fj$2$1fsFj(l3Rih
zc5!J^K~a85esX@!E&hVUqT<wegnB`U0J0iUaCjw_q{btO7Hcxz;tCCR4T^Vkcl8U=
zWVyu;_XZ@uZ*lqLr>CbDfx`V3n}1PedS>1&?qG!FnoPHN!c&ui^OLhvOG1M@Z*fBG
zE-lJ@$q0%>##{V}pu~}xA77H0o0?x*qRDiN7vhN`Pzoq6xy6^9k(!(xUzA#0ke^qa
z3QA^0sfj7b0^)E>obz*Y^Ya2=o@Y<a&&x|qF1f{1nwMD-591-J2S)--eKIIrBV%xR
z1uBs?F)%QsGDI<^Fhnt>Fh((_Fh#MXFh{Ybu)ts{TMFwOwiLD$_7sj3&J?Z`?i8LB
z-W0w$9PJEgj4Avn0xf(|>?wjNLMgl{!gH8GIkAN$iX%lVMSKopibRTJ3riGdDp!h7
z3I{0X&0$WFNs(<~X=aS#28(j0$fd~7VNOv<Q3Q+fq^PAR!ENJBQJ%w=qLQN8!WzZf
z&cMPD#TU$=sa|Brz`&4rn3;irOF=<F0Uk~YkkqFD4Ux?JJUuS33ajLt#NuMB1h`5_
zl7@v)f<i%2epzNpYO#V<ZfZ$}RYFl}a#?~xVqOYNpg1)zB>`+!a(+>MX-Q^YYOz9E
zevv{^YI163S!P~3ST#r)hz(8r#Zdb_OB9Mr3kvd!N{SW0Nh6~uKQF(uSRoT!eq`q7
zDU{?xjY?I>%uCMCMK;CC3gQirXTjRRHbd=D$jnnHPfaQYCr2x=6G7@gII%o2vjpU~
z<kaF~4XAoeh*=>SsZiVVixg5TGE0gT^74yv6LWGZ70NSG^At)lQjr2uA+uN^IVZn3
zHASI3vm^t;R!GiINd?<zXkcKVpyBVWsgPf!U}#`qsGyOa5As4{d15745Tq-=v_v5h
zNvocMXNf{lVrFq_G1!zu1*_DGWUGWaxPOZEQY(^E!R2SMo--ubXXfWQgIxkHpc1gT
z7Hk@tixcxI74l0mQj5T@hDJ<qYN~=&T4`RgRRT28B!I&f<oT5R<kH;KJV;HTke{ZI
zkdOl|84?n76cQ5h!6idNf)3cSgamk5R1A?vE_5IwsTCzfiSZfW;u@?dF)szGxwJU7
zC_XVgHLnCJpOAp;LTK_u4wszN^u**!Jy?mThe+Beg$3L@V2iMLsUR~iJw7w9B(<n4
zF$dyKun@H5f{1`)9#)tkyqud@5nr5Hl?qV=;uV&rmO{DU;w&dKH?ssJ4a!Oh3FSqZ
zC8_aHL8u2qZm~hKt)C{_EjCC9-(rJ=?kz4vsNUj14$)h@D4}^v5F-SCiNNaJXheY?
z`%3^W3MtxSe`&!*VAXRpq<DZ=4A2@cHujf1rdp($AvX4xC|m)gHYo;GBeB1D;ljlw
zMX^OJ3=9mnSp4$yQZ+e>j2RdhicCO+DTpuw5#}Jm0;Gy9yF9Tdz4#VeQEEwPQC>2r
zh5;4kpk^fp0|NudC~i<;?!~~sP{WwQkj+sfRKl=;F@<p<V=ZF|Q!_&ra~eYmQw?J#
zV-5RsraneSh8m_ChIp15<{E~0)*6-?hIqCb)*6O*_8PVthIoz?hF}IwX1`y8NZAk)
zMPRpTa^7MGMN?*8`Yq1%)DlSO-eN5-El4f8#StH$nU`4-9}o7@Es?~s#7uC*2vJ!V
z-x5QJB1dWw+}oNQw^)i(bJD;Tf=w#I5;#Q;3=9k_8E<jM$Afc7eEdp=UpD$Bxdr+K
znFYF~c?F5d*{LbI<r%4|Il6{<c^QS}#YXxFZ|OsFkv_zCdIgn5ZVU_zVGIlm#R8x}
z=H_7JViaR!gTg9ARRc*O0njR059aAx%*7=|Mf{*v0P`)Dg2a-HTkOybU*yQZz>v%g
zG8T$KQ3%4$py<m3M_&y?JS1`$YZ$VaikxZ~vX~bzr7+eoE@T2l+X9w_3@!|@5;07*
z%(W~~S*9B18kU93j0}YuDa<vDvl&uY<}%l^*07ea)-W|Qnlse0)-YtTEnu%<UBI!B
zVIipR!5Yk<$yVhCE)_skMK~yDDnMH&3OSj1so?qy>UL1=1S%3eLP7#yilEsSq`6Aa
zPQl$ZL_xJ!0i;6TP|vW6!%ji9*h)dQxQYcNRmBaL;^p$w<Sg<BC2oGGh0sE;_!etQ
zYEo%BIM#1*7A2O)XO^Vq78m(}6mymoCFT`_D$!f4;DY29TWTJt2GV3J@&x4<kdZ|J
zAf?RNsg<`_%Mx=+Q*W_D?I`jAsR0wdAT>f@GvYH!N($nkO0qx^F9eDmRyIa9CN@Ss
zMgc}479K_(rYbE&0gKYQ(!(^SN*LU_kIu|1(NTaF1F<U^AqfDMe?hjeGcYiK8e@k+
z31Arm14ETm2}2D-7GpD`CqoLO2SW^VEn_WHEps?So)Zg02~!qxHdm1mBLfIFF+?)t
z>98=Auw-);#V|6|vM@4K@s+TqFf}vQurx7+Gng`@FxIlvu|$AWGDUz)W-FRj!;r<k
zfDM#TYM4NYriK}mD4>aowU!Mk&r-u$!v>NstO1u3oHd{%$(aV~DzPToFhbj2py&@u
zO-xZJ26r<sQ%+h@elEBz0ZJJPu=Xxe;_*xaOT%P9ZH|(}%)DZSM1`dMlu8|i%o2s%
z#7c#vR0U9#q5w89Apul6=z#=MixMCWGmujf(@Ii{6iPBcbw8|~rceYfIbm%vkg_0f
zn*+761nn;QLb@$h3Q%`}oega|ff_-%i8*QcMY*Xdpq5T%ah`gKLSh~~8-WZ5VUR9R
zHUMV}nAeaz?N_Cml9{5AmtO*J^(88R`zzpV0uQGu0UNLY*eul)P<G<5fo3dCt|DDf
zLS}=6!Yy`i(=apt7N2usUUF(qPHGCcg#_xTLEBJ8!k|151R}t-PB2Kn0L*=`T&T$o
z&QG_vA#oZH%44AVC$Ts`51PMHE0T-CLB>RY2ymtX6Ofz*au6(ILHaj!pqwQEO7lES
zj8e=3jBJboj516hQh-s2i49Nw!ZfUkAJngohF8zAn#^El6}f{P11@GkooSG5Aj}EP
zW#D3V6$1l9Izuf}4Z{Kka1F^^!(6nihB1XHo1;jngfWG=nX!qngeiq3g|&sDhS`Oo
znK7NAnW>hghQ);;HY<jy7L-RAT^M3LYT0YpvzTjGvzd#+3f-y%YS<UB)UeesEo7?Y
z2xrKXU|}d>&E_hq1LammhDe4&w@8LOP(EZ@z*fTnDux*u3atv=N?23aYFKA8q_Eep
z&1RU(0&+p2RShVoaU|-qAmubrFFhv}oL_=dlXc-mk}f<fASEz7{U|^RaHN#y4C;3(
zlw>59D5NGPXDGlMSfIoW?WClp=qMx>E0m|^<bY^U-=H9|C^0v+B((@78-X(x*f}|w
z#U-FNa$+(lsimeM%tg@v%6Ir1`Os_#@+o+jBLP(RBqrq-m4NJlXEbPQ9nr-D<vOdP
zv}CIUGZRzO1cjW`#In?4kRFAi(wx*{h0+3$NuXM+xF9t-Gc7Y2JOBZ5G$<h8CR@Qn
z1S!-)@<H7wP!|zWxa6dkrRIRNrsbqoWF}?iWR_IwfO`%gvk;zFfQLs?CENzE8&ZqP
zQj2sH%2O4<BLQH&i3+)iCCM3(9u~Smuyz!vzgLn0>2`rU4Qac8ip{jl^wJ`*r}RLj
zS6)8UxJ*z_wKNYDsd)<U{uC&_!F{h3B!7CQDHNxcr4}XTD3m1@WhUm86oY&Tc5z~E
zDze9lQjt9e4(MWtr{Eq%l-$Yrd0^M2rohbybufx`6v{I)K|an06{NX|*{KS}sd>eq
zKCnVMcpNQ94{jV%BF`-?E>XzLEyzg)_0T|;XBH{sm*;^SCz(ZH(PBLXw|r=2P*7S_
zkYAh%>8pW44df$Onk^_wEz8U=EzYS#_z0c|ib3H79UedqDSvQR64Y>jSqF{(ibRmJ
z6pB(oqh2YXG?$y0mjW6jtV9G~F{t)Hj>Y_<l++?nP$MkXfmM5Of2O7=BvmTpm!%dJ
zWu}07*Cn8e4m4tskL<Kx61WNnzbf&(d}LR^Gd#Rs0V**;r6;Ig5e#aVh=5DX8irV&
zTE-HF8pdYEiA;qo!3^N`lqO@5Jg5!Mbc;#P;1&<0w222dyuk7h0$eL_*?_`3IX}0+
z?g*$h09nAsz{F5x2QS9Z8r20w`JjOdq>h80O-_DtVotH09>TCHxzIegHxPcaQpf`(
zSX+fEZXE@1=~b*?tDwn#i#<KHBt9`Gr$`V~`7sxl=H6lfDUA|`*$1x=A=-*WK?>Ot
z3kp*6QZzXcRZWyIEO#S0@fI&~AQayc0S^wQK<idW&=eQtFfcGg@uOLEOAsFU@oBI@
zR=5x(D3NMem~-JOisyjB71WbtkY{1yVq#(BVB}z8V&q|9`p?3`!^pwJ#mL0W#K^+P
z#K82QgPD(!i<yg=jg^U!?>`$W?iMblMOBDyE^_x5Ru6k%t%pHf9Z>fNTo2bUFo0U8
zOyGK$X(3}Rs2;AUVN78pR1cRh*RV7*rm$tR6h)<gYFw6ujJ2#Kj42$TI&>}*sP?R3
zN#T?P)$&X=jM?l(6(y`GTs2Iy8KAPDnw7h1JG@{4RW?|w)c|P!4%`MKu2Rh`0TsoN
z7Hn!oVsc4Nr9ysQDs21@Q~)A|l95W@AVghSoSKuGT!K@j-!C!L{0(zum1JJN0&;&E
zVJZ39TLBc8X&?fe^uPotKNn>(FfjZAB{+CSwkMR4k=%wYCl_ggx<E`i3RU8{r8y;;
z1v#K#gAe)_TPYNQdQVl7rAQeb$xJH+O|~LX9}b+gi?Tu4mN_Ri?-ol|er6sx8*8#b
zvM(rw-r`2mTLkKV7v+Qe2_Ap}`x8unJbOzRmIsiuJOz0k6g&((*m4^eBOen769*$7
zQ<XLe0aK(78a!aT#adomT9gSH`T)0UK~9DYkbqmbpxgv1t3j9tIt~QxM}oR$B@E3B
zwQMDfHH=wIHH=xzHH=v-&CE4yDU3D@HH=xTMFu5oAi9sChAoB3hM|Tjg*ltE$f1U*
zhAoA~hM|PLhOL>gmc51<ES^=u0h&OBwTGJ-YdLB-YS>cPZ5V1;z$%(bI6=9xma~Sl
zhAoA|2GrN&0?W*(VOzjm!;r-VYVX!CWbuGSH`K5#;7#EK@xcQd3=8;b7_<0m*q}Ut
zg$$kyDa;-WF-)~wwcIsaDO}lXMc-1mYq+!7i(Zrnrf`Gud5KUBcM7*81Bjg`Qp1(P
zlg&JVv52cgxQ45SyP2tpu|%YXyN10PG<d?WK(vOthIt`q>`SbMVS#uJcMS`eCsD(&
zKyo1iBSQ*vFoPy<q9qejn>!%22-M*NwJ~7x3&oi!si3+V)QHG0NX-LP#Tl@9Iix)8
zSd?Cj+Q|e*s+B@$kS9z(JZUIET2F}P4yc&|83wgd2m=jez_cVJK!z?865!2ykXjf<
z)CX1yppFtq8<q;PSO?USgtR+AQwZR8SV=}IqMZseus9>XG$#er0ndZZAEu^&M~8|^
z^H80Olsk&CS&l4^WPN^`LP~0KQEFmwW?nkHREAk!P?VaMS_GOlMYRlN0N6^wu_!6C
zq$shd5>i-0YT;r~`ztX8+zbQ77Ce@~4aL;r5~SF|GbjM6Ai%v5_^<%NptQuy9OORE
zEfx>Zq$RH-@-(Mkkt%5P4^(`CGAsy#8d<Ci3=H5#mK3a!B~%N_v<x+j3m6wNq%k2k
zwU{8S1|d-U1=Q|LEiQ?Nv`{peiqb(PR{@9s7g}HfRC0lfX#++EhGK9r&BXM-$`qdD
z(AryYKVdDLQ$dCogGy+w(Bjl0T}RMtg(hpJE+Yd&rXGmU2NA{~!i155A&SE%AJWBo
z3DT-51s)bHk_DB@EZ})v7VuaeTQO+9IW>wCJc6H@mzG~74YEobM96>$IS>IF8otF=
zT9A@hl3D~F8RsfaElEjDODxSPDT)G_%3G9LoL^d$oEi^m&lRPBw1GzRio`%HP&>9r
z2gE7@5#ZtEauBNw+!jN0DC0p{T9XGn22xZ3QUPjGK?WBPg>WE90yG2?g=n=ELtA-K
z{IF>ms6bI7NOb~;0LKiN07cI&PI#bmfFcPrG{Ydl#w5nX#>m9T@}GkR)Pw_7BTS5J
zOice+{<E-wcpy<OMjj?mCBw%g1ZwCpaxn5Saxrp&8-Ab$9vcg!p~uEjrARQ!HCg=p
z{QNZeLF4zJ(2I}1#T6f)o1apelNuj?izhz5urx6TD#IQhpOT*(A0Ne;Sqz==k75B8
zibYBwFM`I<!7&1kf?GVGVWiAtNH?Vj9QfdHZvw{|bm$&5UKJmY)W!u(XB2^g2t3&f
zitu7B1_lNWMiwa+Miy2kMmYSTA|fQhC&$Dn;=#lyq6!`yWn}n;G3^a%#)B8)yudo`
zox+^LlEMsusjMkXDXb~1Da_ERZ;lksIRc33Z_vbdieL(FiVzeEgBPKQq=<qizJ<XP
z-)vEADO@RHDN=KoKub<qSfbcdWTQAz<f1rJ<fFJ!6r#9O6jPMuFs3M{sI;&|@uaAN
zd1@)@Ei6&IDH<u7DOxFFDcW;bQgl*uTUes_QuM$o^ivF4Sfco$>J3wjT3Dh4pgiLg
zlNOdJ!BqYzA#iPGdW#)8Z<@G@4_d831wdsZs8EC_4rmpmkXWLSkWgBb37>>?1WhD^
zYB}_|(#p)#oD|SdEx{Rfa6cbhwkIcoCzta;6-p^+Lb)U#)ai#-Dd6e!R0ZgWE39Be
zw-;naQmO)2dm_kw@YpA8Ry{dCuOzjiL?JgZFEKr}$O>cn95fk?m^3fegJymWJv}{5
z(1;g&h6uIx*3*Ml7of>=s2<SVJ!rHUJR_};SXz>wn^=;WjF?AHt;j3^1sy1)p$>zZ
zLda8j3YmFnpvkmUY>Ng!LmT<v04+*|x&_Vp{5*wJ&?=u|%m4tbT!4EL)DD1iPy++i
z|0PA0r~;rW8WboX8ipYQOvs@NO>XdcdrUJx;gXqGnu=JO0QC{R(1nckgNMlw%P8_8
zvk5u*`32BW_DoYqga(8{esXeYQ88%DDJNASwYVfPDJQcy11WYu%W5+7^K{S`1wg~O
zq$o4B7&<&xQIMaPnpcvUn4<t%8<wAzrl$Z(7f_BuN@`AGC1_d%yyycodRdeT8MP}0
z#aBu(xCxb+2X6Pk$0tEu#oWxi(vno%&d&trAMor5sBH&ISRnuEC{*T`Du8kZs7`_Q
zXCbkXnGczw0L{Xqr@HdYoE*?31Y~gq#B(4c^FTQW9<bJ+0V}Ba;K0a91$hZHA_yAr
z1;tZRX;M;7DrlS)WKB|0YGSqmXvGI|lqiINMyzsDONv2`1sjx-nha`AgUbhKdQ~VX
z$^<RJQb<HN3}geyToiSQMX3sDi6x0S(7-}%aF-Tk64}%S#X(7GJgnBXQh?6*gGXgS
zfdMPtz{N~vz8<X0od79g(3`CwEr=8hUgiRAsel`#Fw@`#FKR<90kxeQoLT~!11rf_
zNK_~<0u4hIfg&Rj)YS)1dxOgH<kI4j{M^hclr=lxbdZ^sjxY~2Z=YIZr2v_;hk6fO
ze1VquA=H5~vuB9{vZEoZUqGh8=lnI4kc$oQw5XCMsL}vwhhfkX8&G&yrQ|1DfmhIg
z@>_Z-DAH~8^z`-g^h@#!GLwt-L5|DJOSglpSxHGPfwZh)27!hSi&Be0OAxKVIZX+%
z%1{@&%1{Y000<hlg)B-0kD5Zgg6c(3&?Y1x8Jqx~Zm`Nv%CbrTEzbaRQ!<M|Ya10Z
zOY{_=z5%CPn8P4GLo!7Ho9~e1aruzA-X3I}8PZz>O>iWF<`4@@GmAhAx)A=OYB!L$
zE+BIEjw;<hY+XMpb^BnE2kvzsue?I)Y=is!2?>bqPC^2#--xy6jge!N0xC-~^7Hg7
z^eXkLkg7!e2)#%p%#2b3ZYX4yfHE|48Z1i9&4*29LHf0bXa;pwU@Nn%6ha{DO~Dx(
zBm>H7pv;FTj6jt=v;smH0tyUd3!y0<l)6$CKod3jrLdkdC<DOCuVJ|!%@Mv%Fgvxf
zJijPKA+abOyb!Qh0aV`<Bo>1ktr@8bsb#5oB?_RrR~@o|5xRP`4pvQor1YSb3nB^<
z6d-*eXr%?3q)LU%8bKSXS_+ZSn!Gp_)D$l+&Vdw6i3;$bFD}l}3l8>ihBS4-<y0!D
z@0^^f5aJUIEuV^0!AYuEPazz%q!Z?ZymU|sOH@cmC@(Iy($`N&0F6lLC}e`xI6^D~
zuWW#t0-OEPQAh-t4IbYHHx7ywAbx|aVpM>%9iZ)tI*<b)(x4^apk6v?r81~p4qMuY
z?oH63KmugdZ9)QQYyjeEsH-7PPRUFI4+fPefK-E;P%uY=W{AOSLrOC8i&GWS@=Nnl
zK#3jJlYuln^7C>k6_PU&^U|S{!zro7C7F5PSyP4lG^k;qEED1!0P-ocMF?rzf$ao!
zf?=yrz?~#eO;cO~YDR(kBhcm<A{Ic^FnII`oGl^49Y{vQ8iLT$1~htvG_nVF5&F;+
zbdo$Y$P+vu1@)o=IMNhg3rXOu3sB@D^16R8cvT2kBc?wUpu<_95&?vvHen8c!Ach-
z&!JY=@Js+LlTdBN)D9|Uia`xVXtsC>S{dbciyd0CzXXlnWHK-aFuVkfxo0vkFfwQg
z+~S8OF<8?LvUH3asj`I(p@WBez$5#hfh5QP5)a4`u(I<OFL>E2Y$fb19xxZ=sQl8B
zTf8VMU~h4N*18sFR;AwJ1hK%YUT<-MSE_&)x8CB0tO^5jz^m7)4B#t3VLL^l_4M>~
zaIGkejV-bSjiuOu2rCd_4I*qnge_<gjvsDbT26jqNo*BjiD_nDN$f4=%)AotI@2P1
z(1e2UEoRVkLLW#!c<E0+hy@<l!V)w^6F{;PLBu2wF&RWm0TEL{#552w9YlZ@U_#cl
zfrc|d!<wLVlb``R&}fS{X#QA?iGiU;2(;QJg<&C6t#FMnc#W!53RA6c9#0A50;Uw^
z5@ztYKQCCus7AP!7p#K?tV5(m1T5}T!cr>&)xiqY!335`sS&AV0_$K)VPD8pD+*?F
zfOU)2h=JAgm9Q>gTgXr=o+nTvRx1v+mlI-22|H+3yH=t`B8#JFSB=mD@J0uai}J*3
zgcfk6a4iI_tK}@ZP{N(U1Db27VM*c5W-5AA!ULWsVapS%VM$@g<}CVA!kxlb!vdda
zWCw|YXC!!Q*qa#{8A|xF_-jB5Hd$-fYS?QyYB+1SYj|pSYxrvTYXoWpYb3G+Y9z8i
zG)IkSjaUkQuW+p-*gpawzfE8)Dgg5Y!M>9Mn<t(nR3lj<mBw5n)W=vWod;6El_CUo
zHOB<Tq6silnHXwiYGw13QiNleKrEQ=CNLIl0{dG8q!Q$FupOc`G7Fh%Wx#B)8rg+R
zwX#tAgli;gWNKv7SRgjmaMduxi_|cKLV5yY(XSHG1!5`UkXhXthIsKB=^BQ33D63{
zc*z=x8isf&@ET(Yzgz6k99Gl?O4Ra2so>HTDhMj_Q8ONEHfSS96-*tN2Ub;-3fkxc
zD+O+GLl*YNgZ6Q_-C_aN!&M@XW)!%-hS%x0n2U>ZLaG9xm5hcasK=R_Sq7TnP$(|W
zfhz=;-H8h2p!yP2pz44IpFlk_a19C)0l5Rx;Q-Z=Mcp6|p-fdG6-rhLnnK{B3TNq5
zL`3cbO`;dog7P6~eO(b~`oCx{XjGL2v@r;>#FhoLF+`Ke&+isLq{|Qws>DE{T!hf>
z1S%q=Z!s6-7u@0~Pb>n>XcgaL0kLigxug~pr9wvX!y!`OA=#o>(6~7tXf^`e4vGf_
za*+nyH4Pw#FsG-M+~NYyUV+R1BG5!fks?Tn6SVE3BtJi=_!fIXVi9N{1>vG7F=)9C
z@(8Hi0Ih~^2|~r8@s*jM2PvzZLH4?U2vF&EODG;g-7S{*(xS{;Z1LbZI88ao`2I|g
z7Mhfbvp^=#1`(imiDHF>&s>lIXj0)8J9LQ$IGTz;>k<*(M;ZqQ4}pV5)YpOL2SAI2
z8N_)QIT+cPc$hdCS(s7SU><1U2S^UIe3=h4O#YvR6||0>gOQJki;;tg1tf+OvoL}n
z6C=}GHZeX%9uSWKG@HQ0$n>9$O@L8=nS+ssk&lT7A;-Y<A0*4d!UmduU}R$kt(UJ7
zfDZe?*T!oy6@fz=JbewTE<jZVXd44)DKvOt$S%-2c!n$n&=Soo##(03qUQxHHB6ut
z@U<)@tl(*8)*9w4wj#3{)-1MSvl8|cMsT6boW)VYn#GaLl<!l+oW)tgn#GyTRLfSw
zR=f%{0iDI2!X(L1%U;5h#aqLk#h1od!=A-GkEw*ehCNFFq!Xkgg}Ilxj}fYhA&U#5
z4knw%JdX)%mOvk44MRK^c=H4Uc=H4!xJYC1s}e7Q?x}<{62pUoK_x?YFnIBTCKDo-
zH3f^-fRe*n1_p*(Y^6mxIhjefSi$RsZn2jZ<$zZ$ATpFVNG&4It_JC10qqSbS^<(-
z3Fd<`)h(8k%;b_=9MJwtu_gy1tw*uv=cIr#LKG*60nQ6i?0Ko>5HSz~BF0^un4208
z8IdSj2eJS>X$2-gY4R37sO6WF8V~cW783(QF{nYozyykaK1L2uYGfAs&&1Bc1Wrf)
znV4AqF)<7MWnp7sWc$y=#Pg4dne8tdI~!w_I4rfGnVP;suJv``j(_%`2~GwE20w>%
z@tfzq2S5I4{}MENTBU}v4>ua#=tUh;i!F*qpMM3-hk}}z&P)u9#m``=j<HIkhQS21
z_<+HKVHQs<Qw>uX10w@yF?}FZG>9RBA)Fy^6$?WNV-{03SCJcJfiGx5ejytRLkVb+
z{tbv2sLIP?$Yv^<P{IP*yHUfC#VW#3%M99&k;R_ESi_vc1WIv?3?+;UIBJ*|f)@TW
zcrY+B<Y__Gu#|9unkUHWAR-90U|YCE7-|_yxWR0mW~N%kNQOc-5RL#X#$c#rEMx<x
zP*%SxJw;ge1KiwCO|b^mdXNEN(1<~1o`R~LA!sRRa(-S)afl}4EsoTR<ap5JET(3K
z#Pr0>JdhD3MU^n^DGJa*22I{u+)j?p-u`ZG@xGpZ;98?74wRnaK?#<vC^0W3Klc_t
zOpT|XXNaex54du?#R9VN7He@%YHC5z43K(0m^wE{=Mev(Tg<tj-MKJ9U&jbd7I0#Z
z;)RaG$Aib=Z*jny22s4A8I{b$9Eb#3NekLaln5I1j*kxmrDr2h`2?DIW#oe{Tjyiu
zV&r24&CW70GW}&^6#~!HvVqwmOk9jSj9koBg0R#a9}hJRTxFuH!UC-Y0F{E^MLVE`
zSOZO8!3--I{lM;8$q4ofm<=JoIgcwoJ~0)vV=q3w2INSPDGZENLP(ZErK@D&y@Zg;
zg4AfI#Nt#}*oMm3*eY?jG^z}e1j^?3SWOm4N+_u;NWH}gN)zC<p0_}Ib0B-<A-w@m
z<^lyB2!q%lCxSf+>c!PCWHEr2H+V9nfRj2XSr#1zH9?q)4uT??72N29#$?ekP+~a_
zB2It^a0vt^z=6RD3XBTShO>HjSg@f)0B8a(KE6s9zAr!8F|Sfb0W`deyZePTs=yT#
zXt5P&)#5_1AA%X6F25xf9}nJd8xLBp3+q+J$AeQ8X!<lhz6iAL6%vnd_ZOXEU|{Hk
zyPOHd<q&NcPT^)?U;qausJ#Q*Fa$5Nlo%Om7#1*r7f>;HFoZKOF_<zS%C5x>!AQIa
z21MX97l9_&!Of{#d?=p5?();1Q!hX+2SqRgqX=V_98wAdyB#$sP&@)!zXtcn69xtb
zm`7X~V$akvB6}f*3A6{Qgt>&Jh8eUIqe`QOB@4Wzt%fCwy@n-=qlP7mvxX&$D}}L_
z6_%>P8S+Y47)rRaxr(MSGSsp%GE}M6uq@yKt@Em3S-=YmAaHQ;)v#vqgI1`43i=d=
zTGl#N(5|UME*6FoffB(ip)^oIe+*ivV>Ja_{BuPxfSUxuH7raFj10jHg<K^fpdDFF
zkmdoipC${W$&b3GuS%#SAGBOQuTlY4pB8J1-eN6E%u7$bCF<)K5g+90;u+-X91<Mw
z=;Pxb?&?wmY5^4Sg7O4tKYS5rJw*|yErHDf@EVvX{<Or*9Hi!S6gN1Uz}YROXdB2V
za1#wwG$WPNpiEf=YJNa>+C_1~9T~+HkJy&S37<g&=i?&K5)Ab8ewKlOVInBifR^Gg
zF!C`9F>-;Hx_}y*5d2$!U4Rj^m_>$31Wa=<u`zNnRf%CuUGbX2Ma>|Gw}6ON5YYxA
z&VvZVaul%Nc7ntXfQWq{VmF951R{=th*KZ}lpTveDZ2>dP|#`^NNs@R4Mg7UWME*3
z05!`&qcj|hEWs>n@Kq_;8`y8nY6R3l4Qv)h7A8J5K4uXvJ{CR}KG`CWS-<$f-AnKq
zcTg`)zX)V7c>D-Fl%vT4=`4Wb2y^HKRM>(RSc9?_WatH)t<o4kZGsfW6s9@MHB6ul
zz@Y8DiEm+B_<}QYGjkG)K#f%B*e$ekm7t@LR9XV=_(DZMwL5qoGBhu<LIKpXOoh!0
zfG2iAtxwQdCko)hE<k&3KqniJI#Q0-=R+GV_bdU8w}QuU;k$?x^79lxPJ#{{dX}gc
zE953-g2sAFi&N7|bHJVe?=4LS`2o@sE>-~TNPsNggc<<#6KvTD>U?rRVo8RTf?FnN
zS#o7@NouYFNCXsapm9`?{ZQ?Q!B#?3(AMBVUr=0wJcWJu7&Hv4pa5zYQ#ObkqR9;D
zfPweP&Ii@Ej79n&iWxmwfs;6x0M)TY1`G@gTR?dhRE;x;YBKp1T>|NI0j&{BD=jH4
zN{x>%0!cy&4RC)1+#?6|=5Fyox;A>?o=wquP&Qi(uI53lh~gqplD)-NQVAMx1t;?&
zP{Y0ml!}W$-NGVJ|FDP?qz%+eDgxCSMW9+3T=qrrr6iUl7MB#2CWG8j3|VCe8ifQM
z9spgNPz+fS4qgl>3^EAR3;{0)2bYWBvJJAq9JEKVND?%%A&Zzm)k91)gXS`FKuZw8
z0~w&r#*o#DG9XhyYa5F|gP-6{F-4$pYRFgz3uu=yWO1A_NTCXd0IdiuQUkHT`5CnC
z8$5gx#S0oJN-TkHD}&U^;KCieBob6^f;WCb%2+*6NV3O+cC^IDgIk&4q68eV;E2Ok
za^2#vfh_H_1GPenL8T06#DD|3ju6ztH{cauRN)k0<Y83d<YAOx1hGJvhnb66pq`<g
QL5UAUMzgRmFf#lD03_*d)c^nh

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/compatibility.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/compatibility.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9a3d063bf16b2dca38b7db170e776e0b8da257db
GIT binary patch
literal 847
zcmWIL<>g{vU|{HN+nw@_iGkrUh=Yuo85kHG7#J9fXD~1@q%fo~<}l<kMlmvi*i1Q0
zQA{ZeDNH%cQOqd}Da<)6xvWvFxolBvj0`C(DXi&CQS7PASsW=$DQvAwk_;*A*{nqo
zDI6)BDO_`yQn*uCTUeqv^90}`JP;8SJ-pehMI9*&DSSChxm;1)j0|}^Df}sXIXn<v
z3R5tHroc;(n>874aVO^G<(DLuWaj4;`)M-WVs^}{yv5>@nOt&<Ke4znFF7+mz9cg@
zHNUjvmOxH^enEU@T6{red`?NcvBgU!1_lOArk5Z;zvN(GV5pLW>d|vdDlREXOfGRP
zOU*0s$<HsS;sY5PU0hP6qu`iV8LP>3iv?ufEw-Z6lG38QWJZvSpcupkVP{Z4vM?|(
zWHJOZXfpot<5GYEkJOxk)FOqn{33;tj8ui9)ZF~C#2khEG%y!rutH){dTDNIUWr0x
zo<cxnNk)F2g0Y^VfgTs!kd+K88H+&CS;Wi0zyKzGIqR3?7U&mb7U-7d6(lBSr>5wZ
zXQZa)=o;qbWfYbd8|jy)CKcx=XQ!4F>*u7VCni_wC+FuDB$i|*W#(j-RO%H}7O^of
zFo29K1_clUD~8`d!eGCF0xgBHh9Q$Nm_d`NhzH~hgoF4%T#z|nrxo#oxFDm&7#J9!
zMr$$^fy{Wx4T=fITkO!ddI<_WP2O8v@$qS;C8b5F@$p3<OQYDK5p;{WxU%>bTS;X>
zW?p&`C<2Q>;e3ldK0YxgCqDibPg!bFab|vAd}dx+KG;J=f*|`@85kI%c)_N?5(dO|
ssP4SQVUwGmQks)$2XaZV2m=EH4-*F?2crNp2eS~95T^i#5F;NG0D9=gx&QzG

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/framing.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/framing.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b6b27b96abf17aa885a6fa4ea174b84196280dd3
GIT binary patch
literal 4585
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
Y0*nI8OpF4Ie2hZO0`&~6BJ2VJ01<+4$N&HU

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/handshake.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/handshake.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d852f23633a77c70cdbf4db463c4de5365c4cbf6
GIT binary patch
literal 5018
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
OkeP>BKvcj*NB{tZ-TCeS

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/http.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/http.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..03ecdd7d9645b1d339892cfbb83ec9b76782b013
GIT binary patch
literal 5026
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/protocol.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/protocol.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..434bacd7511c3396cc524b85c6fe4d24a7189a07
GIT binary patch
literal 40978
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
NAym(R4JI=D1ppd@Oeg>V

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/server.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/legacy/__pycache__/server.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8a78f08f1f10205bdd82339e27a8cf8027adde66
GIT binary patch
literal 33989
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%0DA=_VGZ{Rmi9l)R1zF(NrYn&!~NKtyBp+EY|aHq
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
ZS)iT)0)zPK8H)Jo8H!mr7=DXM0RVDi<nI6g

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/async_timeout.py b/iot_env/lib/python3.8/site-packages/websockets/legacy/async_timeout.py
new file mode 100644
index 0000000..8264094
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/legacy/async_timeout.py
@@ -0,0 +1,265 @@
+# From https://github.com/aio-libs/async-timeout/blob/master/async_timeout/__init__.py
+# Licensed under the Apache License (Apache-2.0)
+
+import asyncio
+import enum
+import sys
+import warnings
+from types import TracebackType
+from typing import Optional, Type
+
+
+# From https://github.com/python/typing_extensions/blob/main/src/typing_extensions.py
+# Licensed under the Python Software Foundation License (PSF-2.0)
+
+if sys.version_info >= (3, 11):
+    from typing import final
+else:
+    # @final exists in 3.8+, but we backport it for all versions
+    # before 3.11 to keep support for the __final__ attribute.
+    # See https://bugs.python.org/issue46342
+    def final(f):
+        """This decorator can be used to indicate to type checkers that
+        the decorated method cannot be overridden, and decorated class
+        cannot be subclassed. For example:
+
+            class Base:
+                @final
+                def done(self) -> None:
+                    ...
+            class Sub(Base):
+                def done(self) -> None:  # Error reported by type checker
+                    ...
+            @final
+            class Leaf:
+                ...
+            class Other(Leaf):  # Error reported by type checker
+                ...
+
+        There is no runtime checking of these properties. The decorator
+        sets the ``__final__`` attribute to ``True`` on the decorated object
+        to allow runtime introspection.
+        """
+        try:
+            f.__final__ = True
+        except (AttributeError, TypeError):
+            # Skip the attribute silently if it is not writable.
+            # AttributeError happens if the object has __slots__ or a
+            # read-only property, TypeError if it's a builtin class.
+            pass
+        return f
+
+
+# End https://github.com/aio-libs/async-timeout/blob/master/async_timeout/__init__.py
+
+__version__ = "4.0.2"
+
+
+__all__ = ("timeout", "timeout_at", "Timeout")
+
+
+def timeout(delay: Optional[float]) -> "Timeout":
+    """timeout context manager.
+
+    Useful in cases when you want to apply timeout logic around block
+    of code or in cases when asyncio.wait_for is not suitable. For example:
+
+    >>> async with timeout(0.001):
+    ...     async with aiohttp.get('https://github.com') as r:
+    ...         await r.text()
+
+
+    delay - value in seconds or None to disable timeout logic
+    """
+    loop = asyncio.get_running_loop()
+    if delay is not None:
+        deadline = loop.time() + delay  # type: Optional[float]
+    else:
+        deadline = None
+    return Timeout(deadline, loop)
+
+
+def timeout_at(deadline: Optional[float]) -> "Timeout":
+    """Schedule the timeout at absolute time.
+
+    deadline argument points on the time in the same clock system
+    as loop.time().
+
+    Please note: it is not POSIX time but a time with
+    undefined starting base, e.g. the time of the system power on.
+
+    >>> async with timeout_at(loop.time() + 10):
+    ...     async with aiohttp.get('https://github.com') as r:
+    ...         await r.text()
+
+
+    """
+    loop = asyncio.get_running_loop()
+    return Timeout(deadline, loop)
+
+
+class _State(enum.Enum):
+    INIT = "INIT"
+    ENTER = "ENTER"
+    TIMEOUT = "TIMEOUT"
+    EXIT = "EXIT"
+
+
+@final
+class Timeout:
+    # Internal class, please don't instantiate it directly
+    # Use timeout() and timeout_at() public factories instead.
+    #
+    # Implementation note: `async with timeout()` is preferred
+    # over `with timeout()`.
+    # While technically the Timeout class implementation
+    # doesn't need to be async at all,
+    # the `async with` statement explicitly points that
+    # the context manager should be used from async function context.
+    #
+    # This design allows to avoid many silly misusages.
+    #
+    # TimeoutError is raised immediately when scheduled
+    # if the deadline is passed.
+    # The purpose is to time out as soon as possible
+    # without waiting for the next await expression.
+
+    __slots__ = ("_deadline", "_loop", "_state", "_timeout_handler")
+
+    def __init__(
+        self, deadline: Optional[float], loop: asyncio.AbstractEventLoop
+    ) -> None:
+        self._loop = loop
+        self._state = _State.INIT
+
+        self._timeout_handler = None  # type: Optional[asyncio.Handle]
+        if deadline is None:
+            self._deadline = None  # type: Optional[float]
+        else:
+            self.update(deadline)
+
+    def __enter__(self) -> "Timeout":
+        warnings.warn(
+            "with timeout() is deprecated, use async with timeout() instead",
+            DeprecationWarning,
+            stacklevel=2,
+        )
+        self._do_enter()
+        return self
+
+    def __exit__(
+        self,
+        exc_type: Optional[Type[BaseException]],
+        exc_val: Optional[BaseException],
+        exc_tb: Optional[TracebackType],
+    ) -> Optional[bool]:
+        self._do_exit(exc_type)
+        return None
+
+    async def __aenter__(self) -> "Timeout":
+        self._do_enter()
+        return self
+
+    async def __aexit__(
+        self,
+        exc_type: Optional[Type[BaseException]],
+        exc_val: Optional[BaseException],
+        exc_tb: Optional[TracebackType],
+    ) -> Optional[bool]:
+        self._do_exit(exc_type)
+        return None
+
+    @property
+    def expired(self) -> bool:
+        """Is timeout expired during execution?"""
+        return self._state == _State.TIMEOUT
+
+    @property
+    def deadline(self) -> Optional[float]:
+        return self._deadline
+
+    def reject(self) -> None:
+        """Reject scheduled timeout if any."""
+        # cancel is maybe better name but
+        # task.cancel() raises CancelledError in asyncio world.
+        if self._state not in (_State.INIT, _State.ENTER):
+            raise RuntimeError(f"invalid state {self._state.value}")
+        self._reject()
+
+    def _reject(self) -> None:
+        if self._timeout_handler is not None:
+            self._timeout_handler.cancel()
+            self._timeout_handler = None
+
+    def shift(self, delay: float) -> None:
+        """Advance timeout on delay seconds.
+
+        The delay can be negative.
+
+        Raise RuntimeError if shift is called when deadline is not scheduled
+        """
+        deadline = self._deadline
+        if deadline is None:
+            raise RuntimeError("cannot shift timeout if deadline is not scheduled")
+        self.update(deadline + delay)
+
+    def update(self, deadline: float) -> None:
+        """Set deadline to absolute value.
+
+        deadline argument points on the time in the same clock system
+        as loop.time().
+
+        If new deadline is in the past the timeout is raised immediately.
+
+        Please note: it is not POSIX time but a time with
+        undefined starting base, e.g. the time of the system power on.
+        """
+        if self._state == _State.EXIT:
+            raise RuntimeError("cannot reschedule after exit from context manager")
+        if self._state == _State.TIMEOUT:
+            raise RuntimeError("cannot reschedule expired timeout")
+        if self._timeout_handler is not None:
+            self._timeout_handler.cancel()
+        self._deadline = deadline
+        if self._state != _State.INIT:
+            self._reschedule()
+
+    def _reschedule(self) -> None:
+        assert self._state == _State.ENTER
+        deadline = self._deadline
+        if deadline is None:
+            return
+
+        now = self._loop.time()
+        if self._timeout_handler is not None:
+            self._timeout_handler.cancel()
+
+        task = asyncio.current_task()
+        if deadline <= now:
+            self._timeout_handler = self._loop.call_soon(self._on_timeout, task)
+        else:
+            self._timeout_handler = self._loop.call_at(deadline, self._on_timeout, task)
+
+    def _do_enter(self) -> None:
+        if self._state != _State.INIT:
+            raise RuntimeError(f"invalid state {self._state.value}")
+        self._state = _State.ENTER
+        self._reschedule()
+
+    def _do_exit(self, exc_type: Optional[Type[BaseException]]) -> None:
+        if exc_type is asyncio.CancelledError and self._state == _State.TIMEOUT:
+            self._timeout_handler = None
+            raise asyncio.TimeoutError
+        # timeout has not expired
+        self._state = _State.EXIT
+        self._reject()
+        return None
+
+    def _on_timeout(self, task: "asyncio.Task[None]") -> None:
+        task.cancel()
+        self._state = _State.TIMEOUT
+        # drop the reference early
+        self._timeout_handler = None
+
+
+# End https://github.com/aio-libs/async-timeout/blob/master/async_timeout/__init__.py
diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/auth.py b/iot_env/lib/python3.8/site-packages/websockets/legacy/auth.py
new file mode 100644
index 0000000..d342583
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/legacy/auth.py
@@ -0,0 +1,184 @@
+from __future__ import annotations
+
+import functools
+import hmac
+import http
+from typing import Any, Awaitable, Callable, Iterable, Optional, Tuple, Union, cast
+
+from ..datastructures import Headers
+from ..exceptions import InvalidHeader
+from ..headers import build_www_authenticate_basic, parse_authorization_basic
+from .server import HTTPResponse, WebSocketServerProtocol
+
+
+__all__ = ["BasicAuthWebSocketServerProtocol", "basic_auth_protocol_factory"]
+
+Credentials = Tuple[str, str]
+
+
+def is_credentials(value: Any) -> bool:
+    try:
+        username, password = value
+    except (TypeError, ValueError):
+        return False
+    else:
+        return isinstance(username, str) and isinstance(password, str)
+
+
+class BasicAuthWebSocketServerProtocol(WebSocketServerProtocol):
+    """
+    WebSocket server protocol that enforces HTTP Basic Auth.
+
+    """
+
+    realm: str = ""
+    """
+    Scope of protection.
+
+    If provided, it should contain only ASCII characters because the
+    encoding of non-ASCII characters is undefined.
+    """
+
+    username: Optional[str] = None
+    """Username of the authenticated user."""
+
+    def __init__(
+        self,
+        *args: Any,
+        realm: Optional[str] = None,
+        check_credentials: Optional[Callable[[str, str], Awaitable[bool]]] = None,
+        **kwargs: Any,
+    ) -> None:
+        if realm is not None:
+            self.realm = realm  # shadow class attribute
+        self._check_credentials = check_credentials
+        super().__init__(*args, **kwargs)
+
+    async def check_credentials(self, username: str, password: str) -> bool:
+        """
+        Check whether credentials are authorized.
+
+        This coroutine may be overridden in a subclass, for example to
+        authenticate against a database or an external service.
+
+        Args:
+            username: HTTP Basic Auth username.
+            password: HTTP Basic Auth password.
+
+        Returns:
+            bool: :obj:`True` if the handshake should continue;
+            :obj:`False` if it should fail with an HTTP 401 error.
+
+        """
+        if self._check_credentials is not None:
+            return await self._check_credentials(username, password)
+
+        return False
+
+    async def process_request(
+        self,
+        path: str,
+        request_headers: Headers,
+    ) -> Optional[HTTPResponse]:
+        """
+        Check HTTP Basic Auth and return an HTTP 401 response if needed.
+
+        """
+        try:
+            authorization = request_headers["Authorization"]
+        except KeyError:
+            return (
+                http.HTTPStatus.UNAUTHORIZED,
+                [("WWW-Authenticate", build_www_authenticate_basic(self.realm))],
+                b"Missing credentials\n",
+            )
+
+        try:
+            username, password = parse_authorization_basic(authorization)
+        except InvalidHeader:
+            return (
+                http.HTTPStatus.UNAUTHORIZED,
+                [("WWW-Authenticate", build_www_authenticate_basic(self.realm))],
+                b"Unsupported credentials\n",
+            )
+
+        if not await self.check_credentials(username, password):
+            return (
+                http.HTTPStatus.UNAUTHORIZED,
+                [("WWW-Authenticate", build_www_authenticate_basic(self.realm))],
+                b"Invalid credentials\n",
+            )
+
+        self.username = username
+
+        return await super().process_request(path, request_headers)
+
+
+def basic_auth_protocol_factory(
+    realm: Optional[str] = None,
+    credentials: Optional[Union[Credentials, Iterable[Credentials]]] = None,
+    check_credentials: Optional[Callable[[str, str], Awaitable[bool]]] = None,
+    create_protocol: Optional[Callable[..., BasicAuthWebSocketServerProtocol]] = None,
+) -> Callable[..., BasicAuthWebSocketServerProtocol]:
+    """
+    Protocol factory that enforces HTTP Basic Auth.
+
+    :func:`basic_auth_protocol_factory` is designed to integrate with
+    :func:`~websockets.server.serve` like this::
+
+        websockets.serve(
+            ...,
+            create_protocol=websockets.basic_auth_protocol_factory(
+                realm="my dev server",
+                credentials=("hello", "iloveyou"),
+            )
+        )
+
+    Args:
+        realm: Scope of protection. It should contain only ASCII characters
+            because the encoding of non-ASCII characters is undefined.
+            Refer to section 2.2 of :rfc:`7235` for details.
+        credentials: Hard coded authorized credentials. It can be a
+            ``(username, password)`` pair or a list of such pairs.
+        check_credentials: Coroutine that verifies credentials.
+            It receives ``username`` and ``password`` arguments
+            and returns a :class:`bool`. One of ``credentials`` or
+            ``check_credentials`` must be provided but not both.
+        create_protocol: Factory that creates the protocol. By default, this
+            is :class:`BasicAuthWebSocketServerProtocol`. It can be replaced
+            by a subclass.
+    Raises:
+        TypeError: If the ``credentials`` or ``check_credentials`` argument is
+            wrong.
+
+    """
+    if (credentials is None) == (check_credentials is None):
+        raise TypeError("provide either credentials or check_credentials")
+
+    if credentials is not None:
+        if is_credentials(credentials):
+            credentials_list = [cast(Credentials, credentials)]
+        elif isinstance(credentials, Iterable):
+            credentials_list = list(credentials)
+            if not all(is_credentials(item) for item in credentials_list):
+                raise TypeError(f"invalid credentials argument: {credentials}")
+        else:
+            raise TypeError(f"invalid credentials argument: {credentials}")
+
+        credentials_dict = dict(credentials_list)
+
+        async def check_credentials(username: str, password: str) -> bool:
+            try:
+                expected_password = credentials_dict[username]
+            except KeyError:
+                return False
+            return hmac.compare_digest(expected_password, password)
+
+    if create_protocol is None:
+        create_protocol = BasicAuthWebSocketServerProtocol
+
+    return functools.partial(
+        create_protocol,
+        realm=realm,
+        check_credentials=check_credentials,
+    )
diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/client.py b/iot_env/lib/python3.8/site-packages/websockets/legacy/client.py
new file mode 100644
index 0000000..c5e9d0d
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/legacy/client.py
@@ -0,0 +1,713 @@
+from __future__ import annotations
+
+import asyncio
+import functools
+import logging
+import random
+import urllib.parse
+import warnings
+from types import TracebackType
+from typing import (
+    Any,
+    AsyncIterator,
+    Callable,
+    Generator,
+    List,
+    Optional,
+    Sequence,
+    Tuple,
+    Type,
+    cast,
+)
+
+from ..datastructures import Headers, HeadersLike
+from ..exceptions import (
+    InvalidHandshake,
+    InvalidHeader,
+    InvalidMessage,
+    InvalidStatusCode,
+    NegotiationError,
+    RedirectHandshake,
+    SecurityError,
+)
+from ..extensions import ClientExtensionFactory, Extension
+from ..extensions.permessage_deflate import enable_client_permessage_deflate
+from ..headers import (
+    build_authorization_basic,
+    build_extension,
+    build_host,
+    build_subprotocol,
+    parse_extension,
+    parse_subprotocol,
+    validate_subprotocols,
+)
+from ..http import USER_AGENT
+from ..typing import ExtensionHeader, LoggerLike, Origin, Subprotocol
+from ..uri import WebSocketURI, parse_uri
+from .compatibility import asyncio_timeout
+from .handshake import build_request, check_response
+from .http import read_response
+from .protocol import WebSocketCommonProtocol
+
+
+__all__ = ["connect", "unix_connect", "WebSocketClientProtocol"]
+
+
+class WebSocketClientProtocol(WebSocketCommonProtocol):
+    """
+    WebSocket client connection.
+
+    :class:`WebSocketClientProtocol` provides :meth:`recv` and :meth:`send`
+    coroutines for receiving and sending messages.
+
+    It supports asynchronous iteration to receive incoming messages::
+
+        async for message in websocket:
+            await process(message)
+
+    The iterator exits normally when the connection is closed with close code
+    1000 (OK) or 1001 (going away) or without a close code. It raises
+    a :exc:`~websockets.exceptions.ConnectionClosedError` when the connection
+    is closed with any other code.
+
+    See :func:`connect` for the documentation of ``logger``, ``origin``,
+    ``extensions``, ``subprotocols``, ``extra_headers``, and
+    ``user_agent_header``.
+
+    See :class:`~websockets.legacy.protocol.WebSocketCommonProtocol` for the
+    documentation of ``ping_interval``, ``ping_timeout``, ``close_timeout``,
+    ``max_size``, ``max_queue``, ``read_limit``, and ``write_limit``.
+
+    """
+
+    is_client = True
+    side = "client"
+
+    def __init__(
+        self,
+        *,
+        logger: Optional[LoggerLike] = None,
+        origin: Optional[Origin] = None,
+        extensions: Optional[Sequence[ClientExtensionFactory]] = None,
+        subprotocols: Optional[Sequence[Subprotocol]] = None,
+        extra_headers: Optional[HeadersLike] = None,
+        user_agent_header: Optional[str] = USER_AGENT,
+        **kwargs: Any,
+    ) -> None:
+        if logger is None:
+            logger = logging.getLogger("websockets.client")
+        super().__init__(logger=logger, **kwargs)
+        self.origin = origin
+        self.available_extensions = extensions
+        self.available_subprotocols = subprotocols
+        self.extra_headers = extra_headers
+        self.user_agent_header = user_agent_header
+
+    def write_http_request(self, path: str, headers: Headers) -> None:
+        """
+        Write request line and headers to the HTTP request.
+
+        """
+        self.path = path
+        self.request_headers = headers
+
+        if self.debug:
+            self.logger.debug("> GET %s HTTP/1.1", path)
+            for key, value in headers.raw_items():
+                self.logger.debug("> %s: %s", key, value)
+
+        # Since the path and headers only contain ASCII characters,
+        # we can keep this simple.
+        request = f"GET {path} HTTP/1.1\r\n"
+        request += str(headers)
+
+        self.transport.write(request.encode())
+
+    async def read_http_response(self) -> Tuple[int, Headers]:
+        """
+        Read status line and headers from the HTTP response.
+
+        If the response contains a body, it may be read from ``self.reader``
+        after this coroutine returns.
+
+        Raises:
+            InvalidMessage: If the HTTP message is malformed or isn't an
+                HTTP/1.1 GET response.
+
+        """
+        try:
+            status_code, reason, headers = await read_response(self.reader)
+        # Remove this branch when dropping support for Python < 3.8
+        # because CancelledError no longer inherits Exception.
+        except asyncio.CancelledError:  # pragma: no cover
+            raise
+        except Exception as exc:
+            raise InvalidMessage("did not receive a valid HTTP response") from exc
+
+        if self.debug:
+            self.logger.debug("< HTTP/1.1 %d %s", status_code, reason)
+            for key, value in headers.raw_items():
+                self.logger.debug("< %s: %s", key, value)
+
+        self.response_headers = headers
+
+        return status_code, self.response_headers
+
+    @staticmethod
+    def process_extensions(
+        headers: Headers,
+        available_extensions: Optional[Sequence[ClientExtensionFactory]],
+    ) -> List[Extension]:
+        """
+        Handle the Sec-WebSocket-Extensions HTTP response header.
+
+        Check that each extension is supported, as well as its parameters.
+
+        Return the list of accepted extensions.
+
+        Raise :exc:`~websockets.exceptions.InvalidHandshake` to abort the
+        connection.
+
+        :rfc:`6455` leaves the rules up to the specification of each
+        :extension.
+
+        To provide this level of flexibility, for each extension accepted by
+        the server, we check for a match with each extension available in the
+        client configuration. If no match is found, an exception is raised.
+
+        If several variants of the same extension are accepted by the server,
+        it may be configured several times, which won't make sense in general.
+        Extensions must implement their own requirements. For this purpose,
+        the list of previously accepted extensions is provided.
+
+        Other requirements, for example related to mandatory extensions or the
+        order of extensions, may be implemented by overriding this method.
+
+        """
+        accepted_extensions: List[Extension] = []
+
+        header_values = headers.get_all("Sec-WebSocket-Extensions")
+
+        if header_values:
+            if available_extensions is None:
+                raise InvalidHandshake("no extensions supported")
+
+            parsed_header_values: List[ExtensionHeader] = sum(
+                [parse_extension(header_value) for header_value in header_values], []
+            )
+
+            for name, response_params in parsed_header_values:
+                for extension_factory in available_extensions:
+                    # Skip non-matching extensions based on their name.
+                    if extension_factory.name != name:
+                        continue
+
+                    # Skip non-matching extensions based on their params.
+                    try:
+                        extension = extension_factory.process_response_params(
+                            response_params, accepted_extensions
+                        )
+                    except NegotiationError:
+                        continue
+
+                    # Add matching extension to the final list.
+                    accepted_extensions.append(extension)
+
+                    # Break out of the loop once we have a match.
+                    break
+
+                # If we didn't break from the loop, no extension in our list
+                # matched what the server sent. Fail the connection.
+                else:
+                    raise NegotiationError(
+                        f"Unsupported extension: "
+                        f"name = {name}, params = {response_params}"
+                    )
+
+        return accepted_extensions
+
+    @staticmethod
+    def process_subprotocol(
+        headers: Headers, available_subprotocols: Optional[Sequence[Subprotocol]]
+    ) -> Optional[Subprotocol]:
+        """
+        Handle the Sec-WebSocket-Protocol HTTP response header.
+
+        Check that it contains exactly one supported subprotocol.
+
+        Return the selected subprotocol.
+
+        """
+        subprotocol: Optional[Subprotocol] = None
+
+        header_values = headers.get_all("Sec-WebSocket-Protocol")
+
+        if header_values:
+            if available_subprotocols is None:
+                raise InvalidHandshake("no subprotocols supported")
+
+            parsed_header_values: Sequence[Subprotocol] = sum(
+                [parse_subprotocol(header_value) for header_value in header_values], []
+            )
+
+            if len(parsed_header_values) > 1:
+                subprotocols = ", ".join(parsed_header_values)
+                raise InvalidHandshake(f"multiple subprotocols: {subprotocols}")
+
+            subprotocol = parsed_header_values[0]
+
+            if subprotocol not in available_subprotocols:
+                raise NegotiationError(f"unsupported subprotocol: {subprotocol}")
+
+        return subprotocol
+
+    async def handshake(
+        self,
+        wsuri: WebSocketURI,
+        origin: Optional[Origin] = None,
+        available_extensions: Optional[Sequence[ClientExtensionFactory]] = None,
+        available_subprotocols: Optional[Sequence[Subprotocol]] = None,
+        extra_headers: Optional[HeadersLike] = None,
+    ) -> None:
+        """
+        Perform the client side of the opening handshake.
+
+        Args:
+            wsuri: URI of the WebSocket server.
+            origin: Value of the ``Origin`` header.
+            extensions: List of supported extensions, in order in which they
+                should be negotiated and run.
+            subprotocols: List of supported subprotocols, in order of decreasing
+                preference.
+            extra_headers: Arbitrary HTTP headers to add to the handshake request.
+
+        Raises:
+            InvalidHandshake: If the handshake fails.
+
+        """
+        request_headers = Headers()
+
+        request_headers["Host"] = build_host(wsuri.host, wsuri.port, wsuri.secure)
+
+        if wsuri.user_info:
+            request_headers["Authorization"] = build_authorization_basic(
+                *wsuri.user_info
+            )
+
+        if origin is not None:
+            request_headers["Origin"] = origin
+
+        key = build_request(request_headers)
+
+        if available_extensions is not None:
+            extensions_header = build_extension(
+                [
+                    (extension_factory.name, extension_factory.get_request_params())
+                    for extension_factory in available_extensions
+                ]
+            )
+            request_headers["Sec-WebSocket-Extensions"] = extensions_header
+
+        if available_subprotocols is not None:
+            protocol_header = build_subprotocol(available_subprotocols)
+            request_headers["Sec-WebSocket-Protocol"] = protocol_header
+
+        if self.extra_headers is not None:
+            request_headers.update(self.extra_headers)
+
+        if self.user_agent_header is not None:
+            request_headers.setdefault("User-Agent", self.user_agent_header)
+
+        self.write_http_request(wsuri.resource_name, request_headers)
+
+        status_code, response_headers = await self.read_http_response()
+        if status_code in (301, 302, 303, 307, 308):
+            if "Location" not in response_headers:
+                raise InvalidHeader("Location")
+            raise RedirectHandshake(response_headers["Location"])
+        elif status_code != 101:
+            raise InvalidStatusCode(status_code, response_headers)
+
+        check_response(response_headers, key)
+
+        self.extensions = self.process_extensions(
+            response_headers, available_extensions
+        )
+
+        self.subprotocol = self.process_subprotocol(
+            response_headers, available_subprotocols
+        )
+
+        self.connection_open()
+
+
+class Connect:
+    """
+    Connect to the WebSocket server at ``uri``.
+
+    Awaiting :func:`connect` yields a :class:`WebSocketClientProtocol` which
+    can then be used to send and receive messages.
+
+    :func:`connect` can be used as a asynchronous context manager::
+
+        async with websockets.connect(...) as websocket:
+            ...
+
+    The connection is closed automatically when exiting the context.
+
+    :func:`connect` can be used as an infinite asynchronous iterator to
+    reconnect automatically on errors::
+
+        async for websocket in websockets.connect(...):
+            try:
+                ...
+            except websockets.ConnectionClosed:
+                continue
+
+    The connection is closed automatically after each iteration of the loop.
+
+    If an error occurs while establishing the connection, :func:`connect`
+    retries with exponential backoff. The backoff delay starts at three
+    seconds and increases up to one minute.
+
+    If an error occurs in the body of the loop, you can handle the exception
+    and :func:`connect` will reconnect with the next iteration; or you can
+    let the exception bubble up and break out of the loop. This lets you
+    decide which errors trigger a reconnection and which errors are fatal.
+
+    Args:
+        uri: URI of the WebSocket server.
+        create_protocol: Factory for the :class:`asyncio.Protocol` managing
+            the connection. It defaults to :class:`WebSocketClientProtocol`.
+            Set it to a wrapper or a subclass to customize connection handling.
+        logger: Logger for this client.
+            It defaults to ``logging.getLogger("websockets.client")``.
+            See the :doc:`logging guide <../../topics/logging>` for details.
+        compression: The "permessage-deflate" extension is enabled by default.
+            Set ``compression`` to :obj:`None` to disable it. See the
+            :doc:`compression guide <../../topics/compression>` for details.
+        origin: Value of the ``Origin`` header, for servers that require it.
+        extensions: List of supported extensions, in order in which they
+            should be negotiated and run.
+        subprotocols: List of supported subprotocols, in order of decreasing
+            preference.
+        extra_headers: Arbitrary HTTP headers to add to the handshake request.
+        user_agent_header: Value of  the ``User-Agent`` request header.
+            It defaults to ``"Python/x.y.z websockets/X.Y"``.
+            Setting it to :obj:`None` removes the header.
+        open_timeout: Timeout for opening the connection in seconds.
+            :obj:`None` disables the timeout.
+
+    See :class:`~websockets.legacy.protocol.WebSocketCommonProtocol` for the
+    documentation of ``ping_interval``, ``ping_timeout``, ``close_timeout``,
+    ``max_size``, ``max_queue``, ``read_limit``, and ``write_limit``.
+
+    Any other keyword arguments are passed the event loop's
+    :meth:`~asyncio.loop.create_connection` method.
+
+    For example:
+
+    * You can set ``ssl`` to a :class:`~ssl.SSLContext` to enforce TLS
+      settings. When connecting to a ``wss://`` URI, if ``ssl`` isn't
+      provided, a TLS context is created
+      with :func:`~ssl.create_default_context`.
+
+    * You can set ``host`` and ``port`` to connect to a different host and
+      port from those found in ``uri``. This only changes the destination of
+      the TCP connection. The host name from ``uri`` is still used in the TLS
+      handshake for secure connections and in the ``Host`` header.
+
+    Raises:
+        InvalidURI: If ``uri`` isn't a valid WebSocket URI.
+        OSError: If the TCP connection fails.
+        InvalidHandshake: If the opening handshake fails.
+        ~asyncio.TimeoutError: If the opening handshake times out.
+
+    """
+
+    MAX_REDIRECTS_ALLOWED = 10
+
+    def __init__(
+        self,
+        uri: str,
+        *,
+        create_protocol: Optional[Callable[..., WebSocketClientProtocol]] = None,
+        logger: Optional[LoggerLike] = None,
+        compression: Optional[str] = "deflate",
+        origin: Optional[Origin] = None,
+        extensions: Optional[Sequence[ClientExtensionFactory]] = None,
+        subprotocols: Optional[Sequence[Subprotocol]] = None,
+        extra_headers: Optional[HeadersLike] = None,
+        user_agent_header: Optional[str] = USER_AGENT,
+        open_timeout: Optional[float] = 10,
+        ping_interval: Optional[float] = 20,
+        ping_timeout: Optional[float] = 20,
+        close_timeout: Optional[float] = None,
+        max_size: Optional[int] = 2**20,
+        max_queue: Optional[int] = 2**5,
+        read_limit: int = 2**16,
+        write_limit: int = 2**16,
+        **kwargs: Any,
+    ) -> None:
+        # Backwards compatibility: close_timeout used to be called timeout.
+        timeout: Optional[float] = kwargs.pop("timeout", None)
+        if timeout is None:
+            timeout = 10
+        else:
+            warnings.warn("rename timeout to close_timeout", DeprecationWarning)
+        # If both are specified, timeout is ignored.
+        if close_timeout is None:
+            close_timeout = timeout
+
+        # Backwards compatibility: create_protocol used to be called klass.
+        klass: Optional[Type[WebSocketClientProtocol]] = kwargs.pop("klass", None)
+        if klass is None:
+            klass = WebSocketClientProtocol
+        else:
+            warnings.warn("rename klass to create_protocol", DeprecationWarning)
+        # If both are specified, klass is ignored.
+        if create_protocol is None:
+            create_protocol = klass
+
+        # Backwards compatibility: recv() used to return None on closed connections
+        legacy_recv: bool = kwargs.pop("legacy_recv", False)
+
+        # Backwards compatibility: the loop parameter used to be supported.
+        _loop: Optional[asyncio.AbstractEventLoop] = kwargs.pop("loop", None)
+        if _loop is None:
+            loop = asyncio.get_event_loop()
+        else:
+            loop = _loop
+            warnings.warn("remove loop argument", DeprecationWarning)
+
+        wsuri = parse_uri(uri)
+        if wsuri.secure:
+            kwargs.setdefault("ssl", True)
+        elif kwargs.get("ssl") is not None:
+            raise ValueError(
+                "connect() received a ssl argument for a ws:// URI, "
+                "use a wss:// URI to enable TLS"
+            )
+
+        if compression == "deflate":
+            extensions = enable_client_permessage_deflate(extensions)
+        elif compression is not None:
+            raise ValueError(f"unsupported compression: {compression}")
+
+        if subprotocols is not None:
+            validate_subprotocols(subprotocols)
+
+        factory = functools.partial(
+            create_protocol,
+            logger=logger,
+            origin=origin,
+            extensions=extensions,
+            subprotocols=subprotocols,
+            extra_headers=extra_headers,
+            user_agent_header=user_agent_header,
+            ping_interval=ping_interval,
+            ping_timeout=ping_timeout,
+            close_timeout=close_timeout,
+            max_size=max_size,
+            max_queue=max_queue,
+            read_limit=read_limit,
+            write_limit=write_limit,
+            host=wsuri.host,
+            port=wsuri.port,
+            secure=wsuri.secure,
+            legacy_recv=legacy_recv,
+            loop=_loop,
+        )
+
+        if kwargs.pop("unix", False):
+            path: Optional[str] = kwargs.pop("path", None)
+            create_connection = functools.partial(
+                loop.create_unix_connection, factory, path, **kwargs
+            )
+        else:
+            host: Optional[str]
+            port: Optional[int]
+            if kwargs.get("sock") is None:
+                host, port = wsuri.host, wsuri.port
+            else:
+                # If sock is given, host and port shouldn't be specified.
+                host, port = None, None
+                if kwargs.get("ssl"):
+                    kwargs.setdefault("server_hostname", wsuri.host)
+            # If host and port are given, override values from the URI.
+            host = kwargs.pop("host", host)
+            port = kwargs.pop("port", port)
+            create_connection = functools.partial(
+                loop.create_connection, factory, host, port, **kwargs
+            )
+
+        self.open_timeout = open_timeout
+        if logger is None:
+            logger = logging.getLogger("websockets.client")
+        self.logger = logger
+
+        # This is a coroutine function.
+        self._create_connection = create_connection
+        self._uri = uri
+        self._wsuri = wsuri
+
+    def handle_redirect(self, uri: str) -> None:
+        # Update the state of this instance to connect to a new URI.
+        old_uri = self._uri
+        old_wsuri = self._wsuri
+        new_uri = urllib.parse.urljoin(old_uri, uri)
+        new_wsuri = parse_uri(new_uri)
+
+        # Forbid TLS downgrade.
+        if old_wsuri.secure and not new_wsuri.secure:
+            raise SecurityError("redirect from WSS to WS")
+
+        same_origin = (
+            old_wsuri.host == new_wsuri.host and old_wsuri.port == new_wsuri.port
+        )
+
+        # Rewrite the host and port arguments for cross-origin redirects.
+        # This preserves connection overrides with the host and port
+        # arguments if the redirect points to the same host and port.
+        if not same_origin:
+            # Replace the host and port argument passed to the protocol factory.
+            factory = self._create_connection.args[0]
+            factory = functools.partial(
+                factory.func,
+                *factory.args,
+                **dict(factory.keywords, host=new_wsuri.host, port=new_wsuri.port),
+            )
+            # Replace the host and port argument passed to create_connection.
+            self._create_connection = functools.partial(
+                self._create_connection.func,
+                *(factory, new_wsuri.host, new_wsuri.port),
+                **self._create_connection.keywords,
+            )
+
+        # Set the new WebSocket URI. This suffices for same-origin redirects.
+        self._uri = new_uri
+        self._wsuri = new_wsuri
+
+    # async for ... in connect(...):
+
+    BACKOFF_MIN = 1.92
+    BACKOFF_MAX = 60.0
+    BACKOFF_FACTOR = 1.618
+    BACKOFF_INITIAL = 5
+
+    async def __aiter__(self) -> AsyncIterator[WebSocketClientProtocol]:
+        backoff_delay = self.BACKOFF_MIN
+        while True:
+            try:
+                async with self as protocol:
+                    yield protocol
+            # Remove this branch when dropping support for Python < 3.8
+            # because CancelledError no longer inherits Exception.
+            except asyncio.CancelledError:  # pragma: no cover
+                raise
+            except Exception:
+                # Add a random initial delay between 0 and 5 seconds.
+                # See 7.2.3. Recovering from Abnormal Closure in RFC 6544.
+                if backoff_delay == self.BACKOFF_MIN:
+                    initial_delay = random.random() * self.BACKOFF_INITIAL
+                    self.logger.info(
+                        "! connect failed; reconnecting in %.1f seconds",
+                        initial_delay,
+                        exc_info=True,
+                    )
+                    await asyncio.sleep(initial_delay)
+                else:
+                    self.logger.info(
+                        "! connect failed again; retrying in %d seconds",
+                        int(backoff_delay),
+                        exc_info=True,
+                    )
+                    await asyncio.sleep(int(backoff_delay))
+                # Increase delay with truncated exponential backoff.
+                backoff_delay = backoff_delay * self.BACKOFF_FACTOR
+                backoff_delay = min(backoff_delay, self.BACKOFF_MAX)
+                continue
+            else:
+                # Connection succeeded - reset backoff delay
+                backoff_delay = self.BACKOFF_MIN
+
+    # async with connect(...) as ...:
+
+    async def __aenter__(self) -> WebSocketClientProtocol:
+        return await self
+
+    async def __aexit__(
+        self,
+        exc_type: Optional[Type[BaseException]],
+        exc_value: Optional[BaseException],
+        traceback: Optional[TracebackType],
+    ) -> None:
+        await self.protocol.close()
+
+    # ... = await connect(...)
+
+    def __await__(self) -> Generator[Any, None, WebSocketClientProtocol]:
+        # Create a suitable iterator by calling __await__ on a coroutine.
+        return self.__await_impl_timeout__().__await__()
+
+    async def __await_impl_timeout__(self) -> WebSocketClientProtocol:
+        async with asyncio_timeout(self.open_timeout):
+            return await self.__await_impl__()
+
+    async def __await_impl__(self) -> WebSocketClientProtocol:
+        for redirects in range(self.MAX_REDIRECTS_ALLOWED):
+            _transport, _protocol = await self._create_connection()
+            protocol = cast(WebSocketClientProtocol, _protocol)
+            try:
+                await protocol.handshake(
+                    self._wsuri,
+                    origin=protocol.origin,
+                    available_extensions=protocol.available_extensions,
+                    available_subprotocols=protocol.available_subprotocols,
+                    extra_headers=protocol.extra_headers,
+                )
+            except RedirectHandshake as exc:
+                protocol.fail_connection()
+                await protocol.wait_closed()
+                self.handle_redirect(exc.uri)
+            # Avoid leaking a connected socket when the handshake fails.
+            except (Exception, asyncio.CancelledError):
+                protocol.fail_connection()
+                await protocol.wait_closed()
+                raise
+            else:
+                self.protocol = protocol
+                return protocol
+        else:
+            raise SecurityError("too many redirects")
+
+    # ... = yield from connect(...) - remove when dropping Python < 3.10
+
+    __iter__ = __await__
+
+
+connect = Connect
+
+
+def unix_connect(
+    path: Optional[str] = None,
+    uri: str = "ws://localhost/",
+    **kwargs: Any,
+) -> Connect:
+    """
+    Similar to :func:`connect`, but for connecting to a Unix socket.
+
+    This function builds upon the event loop's
+    :meth:`~asyncio.loop.create_unix_connection` method.
+
+    It is only available on Unix.
+
+    It's mainly useful for debugging servers listening on Unix sockets.
+
+    Args:
+        path: File system path to the Unix socket.
+        uri: URI of the WebSocket server; the host is used in the TLS
+            handshake for secure connections and in the ``Host`` header.
+
+    """
+    return connect(uri=uri, path=path, unix=True, **kwargs)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/compatibility.py b/iot_env/lib/python3.8/site-packages/websockets/legacy/compatibility.py
new file mode 100644
index 0000000..cb9b02c
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/legacy/compatibility.py
@@ -0,0 +1,33 @@
+from __future__ import annotations
+
+import asyncio
+import sys
+from typing import Any, Dict
+
+
+__all__ = ["asyncio_timeout", "loop_if_py_lt_38"]
+
+
+if sys.version_info[:2] >= (3, 8):
+
+    def loop_if_py_lt_38(loop: asyncio.AbstractEventLoop) -> Dict[str, Any]:
+        """
+        Helper for the removal of the loop argument in Python 3.10.
+
+        """
+        return {}
+
+else:
+
+    def loop_if_py_lt_38(loop: asyncio.AbstractEventLoop) -> Dict[str, Any]:
+        """
+        Helper for the removal of the loop argument in Python 3.10.
+
+        """
+        return {"loop": loop}
+
+
+if sys.version_info[:2] >= (3, 11):
+    from asyncio import timeout as asyncio_timeout  # noqa: F401
+else:
+    from .async_timeout import timeout as asyncio_timeout  # noqa: F401
diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/framing.py b/iot_env/lib/python3.8/site-packages/websockets/legacy/framing.py
new file mode 100644
index 0000000..b77b869
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/legacy/framing.py
@@ -0,0 +1,176 @@
+from __future__ import annotations
+
+import struct
+from typing import Any, Awaitable, Callable, NamedTuple, Optional, Sequence, Tuple
+
+from .. import extensions, frames
+from ..exceptions import PayloadTooBig, ProtocolError
+
+
+try:
+    from ..speedups import apply_mask
+except ImportError:
+    from ..utils import apply_mask
+
+
+class Frame(NamedTuple):
+    fin: bool
+    opcode: frames.Opcode
+    data: bytes
+    rsv1: bool = False
+    rsv2: bool = False
+    rsv3: bool = False
+
+    @property
+    def new_frame(self) -> frames.Frame:
+        return frames.Frame(
+            self.opcode,
+            self.data,
+            self.fin,
+            self.rsv1,
+            self.rsv2,
+            self.rsv3,
+        )
+
+    def __str__(self) -> str:
+        return str(self.new_frame)
+
+    def check(self) -> None:
+        return self.new_frame.check()
+
+    @classmethod
+    async def read(
+        cls,
+        reader: Callable[[int], Awaitable[bytes]],
+        *,
+        mask: bool,
+        max_size: Optional[int] = None,
+        extensions: Optional[Sequence[extensions.Extension]] = None,
+    ) -> Frame:
+        """
+        Read a WebSocket frame.
+
+        Args:
+            reader: Coroutine that reads exactly the requested number of
+                bytes, unless the end of file is reached.
+            mask: Whether the frame should be masked i.e. whether the read
+                happens on the server side.
+            max_size: Maximum payload size in bytes.
+            extensions: List of extensions, applied in reverse order.
+
+        Raises:
+            PayloadTooBig: If the frame exceeds ``max_size``.
+            ProtocolError: If the frame contains incorrect values.
+
+        """
+
+        # Read the header.
+        data = await reader(2)
+        head1, head2 = struct.unpack("!BB", data)
+
+        # While not Pythonic, this is marginally faster than calling bool().
+        fin = True if head1 & 0b10000000 else False
+        rsv1 = True if head1 & 0b01000000 else False
+        rsv2 = True if head1 & 0b00100000 else False
+        rsv3 = True if head1 & 0b00010000 else False
+
+        try:
+            opcode = frames.Opcode(head1 & 0b00001111)
+        except ValueError as exc:
+            raise ProtocolError("invalid opcode") from exc
+
+        if (True if head2 & 0b10000000 else False) != mask:
+            raise ProtocolError("incorrect masking")
+
+        length = head2 & 0b01111111
+        if length == 126:
+            data = await reader(2)
+            (length,) = struct.unpack("!H", data)
+        elif length == 127:
+            data = await reader(8)
+            (length,) = struct.unpack("!Q", data)
+        if max_size is not None and length > max_size:
+            raise PayloadTooBig(f"over size limit ({length} > {max_size} bytes)")
+        if mask:
+            mask_bits = await reader(4)
+
+        # Read the data.
+        data = await reader(length)
+        if mask:
+            data = apply_mask(data, mask_bits)
+
+        new_frame = frames.Frame(opcode, data, fin, rsv1, rsv2, rsv3)
+
+        if extensions is None:
+            extensions = []
+        for extension in reversed(extensions):
+            new_frame = extension.decode(new_frame, max_size=max_size)
+
+        new_frame.check()
+
+        return cls(
+            new_frame.fin,
+            new_frame.opcode,
+            new_frame.data,
+            new_frame.rsv1,
+            new_frame.rsv2,
+            new_frame.rsv3,
+        )
+
+    def write(
+        self,
+        write: Callable[[bytes], Any],
+        *,
+        mask: bool,
+        extensions: Optional[Sequence[extensions.Extension]] = None,
+    ) -> None:
+        """
+        Write a WebSocket frame.
+
+        Args:
+            frame: Frame to write.
+            write: Function that writes bytes.
+            mask: Whether the frame should be masked i.e. whether the write
+                happens on the client side.
+            extensions: List of extensions, applied in order.
+
+        Raises:
+            ProtocolError: If the frame contains incorrect values.
+
+        """
+        # The frame is written in a single call to write in order to prevent
+        # TCP fragmentation. See #68 for details. This also makes it safe to
+        # send frames concurrently from multiple coroutines.
+        write(self.new_frame.serialize(mask=mask, extensions=extensions))
+
+
+# Backwards compatibility with previously documented public APIs
+from ..frames import (  # noqa: E402, F401, I001
+    Close,
+    prepare_ctrl as encode_data,
+    prepare_data,
+)
+
+
+def parse_close(data: bytes) -> Tuple[int, str]:
+    """
+    Parse the payload from a close frame.
+
+    Returns:
+        Close code and reason.
+
+    Raises:
+        ProtocolError: If data is ill-formed.
+        UnicodeDecodeError: If the reason isn't valid UTF-8.
+
+    """
+    close = Close.parse(data)
+    return close.code, close.reason
+
+
+def serialize_close(code: int, reason: str) -> bytes:
+    """
+    Serialize the payload for a close frame.
+
+    """
+    return Close(code, reason).serialize()
diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/handshake.py b/iot_env/lib/python3.8/site-packages/websockets/legacy/handshake.py
new file mode 100644
index 0000000..ad8faf0
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/legacy/handshake.py
@@ -0,0 +1,165 @@
+from __future__ import annotations
+
+import base64
+import binascii
+from typing import List
+
+from ..datastructures import Headers, MultipleValuesError
+from ..exceptions import InvalidHeader, InvalidHeaderValue, InvalidUpgrade
+from ..headers import parse_connection, parse_upgrade
+from ..typing import ConnectionOption, UpgradeProtocol
+from ..utils import accept_key as accept, generate_key
+
+
+__all__ = ["build_request", "check_request", "build_response", "check_response"]
+
+
+def build_request(headers: Headers) -> str:
+    """
+    Build a handshake request to send to the server.
+
+    Update request headers passed in argument.
+
+    Args:
+        headers: Handshake request headers.
+
+    Returns:
+        str: ``key`` that must be passed to :func:`check_response`.
+
+    """
+    key = generate_key()
+    headers["Upgrade"] = "websocket"
+    headers["Connection"] = "Upgrade"
+    headers["Sec-WebSocket-Key"] = key
+    headers["Sec-WebSocket-Version"] = "13"
+    return key
+
+
+def check_request(headers: Headers) -> str:
+    """
+    Check a handshake request received from the client.
+
+    This function doesn't verify that the request is an HTTP/1.1 or higher GET
+    request and doesn't perform ``Host`` and ``Origin`` checks. These controls
+    are usually performed earlier in the HTTP request handling code. They're
+    the responsibility of the caller.
+
+    Args:
+        headers: Handshake request headers.
+
+    Returns:
+        str: ``key`` that must be passed to :func:`build_response`.
+
+    Raises:
+        InvalidHandshake: If the handshake request is invalid.
+            Then, the server must return a 400 Bad Request error.
+
+    """
+    connection: List[ConnectionOption] = sum(
+        [parse_connection(value) for value in headers.get_all("Connection")], []
+    )
+
+    if not any(value.lower() == "upgrade" for value in connection):
+        raise InvalidUpgrade("Connection", ", ".join(connection))
+
+    upgrade: List[UpgradeProtocol] = sum(
+        [parse_upgrade(value) for value in headers.get_all("Upgrade")], []
+    )
+
+    # For compatibility with non-strict implementations, ignore case when
+    # checking the Upgrade header. The RFC always uses "websocket", except
+    # in section 11.2. (IANA registration) where it uses "WebSocket".
+    if not (len(upgrade) == 1 and upgrade[0].lower() == "websocket"):
+        raise InvalidUpgrade("Upgrade", ", ".join(upgrade))
+
+    try:
+        s_w_key = headers["Sec-WebSocket-Key"]
+    except KeyError as exc:
+        raise InvalidHeader("Sec-WebSocket-Key") from exc
+    except MultipleValuesError as exc:
+        raise InvalidHeader(
+            "Sec-WebSocket-Key", "more than one Sec-WebSocket-Key header found"
+        ) from exc
+
+    try:
+        raw_key = base64.b64decode(s_w_key.encode(), validate=True)
+    except binascii.Error as exc:
+        raise InvalidHeaderValue("Sec-WebSocket-Key", s_w_key) from exc
+    if len(raw_key) != 16:
+        raise InvalidHeaderValue("Sec-WebSocket-Key", s_w_key)
+
+    try:
+        s_w_version = headers["Sec-WebSocket-Version"]
+    except KeyError as exc:
+        raise InvalidHeader("Sec-WebSocket-Version") from exc
+    except MultipleValuesError as exc:
+        raise InvalidHeader(
+            "Sec-WebSocket-Version", "more than one Sec-WebSocket-Version header found"
+        ) from exc
+
+    if s_w_version != "13":
+        raise InvalidHeaderValue("Sec-WebSocket-Version", s_w_version)
+
+    return s_w_key
+
+
+def build_response(headers: Headers, key: str) -> None:
+    """
+    Build a handshake response to send to the client.
+
+    Update response headers passed in argument.
+
+    Args:
+        headers: Handshake response headers.
+        key: Returned by :func:`check_request`.
+
+    """
+    headers["Upgrade"] = "websocket"
+    headers["Connection"] = "Upgrade"
+    headers["Sec-WebSocket-Accept"] = accept(key)
+
+
+def check_response(headers: Headers, key: str) -> None:
+    """
+    Check a handshake response received from the server.
+
+    This function doesn't verify that the response is an HTTP/1.1 or higher
+    response with a 101 status code. These controls are the responsibility of
+    the caller.
+
+    Args:
+        headers: Handshake response headers.
+        key: Returned by :func:`build_request`.
+
+    Raises:
+        InvalidHandshake: If the handshake response is invalid.
+
+    """
+    connection: List[ConnectionOption] = sum(
+        [parse_connection(value) for value in headers.get_all("Connection")], []
+    )
+
+    if not any(value.lower() == "upgrade" for value in connection):
+        raise InvalidUpgrade("Connection", " ".join(connection))
+
+    upgrade: List[UpgradeProtocol] = sum(
+        [parse_upgrade(value) for value in headers.get_all("Upgrade")], []
+    )
+
+    # For compatibility with non-strict implementations, ignore case when
+    # checking the Upgrade header. The RFC always uses "websocket", except
+    # in section 11.2. (IANA registration) where it uses "WebSocket".
+    if not (len(upgrade) == 1 and upgrade[0].lower() == "websocket"):
+        raise InvalidUpgrade("Upgrade", ", ".join(upgrade))
+
+    try:
+        s_w_accept = headers["Sec-WebSocket-Accept"]
+    except KeyError as exc:
+        raise InvalidHeader("Sec-WebSocket-Accept") from exc
+    except MultipleValuesError as exc:
+        raise InvalidHeader(
+            "Sec-WebSocket-Accept", "more than one Sec-WebSocket-Accept header found"
+        ) from exc
+
+    if s_w_accept != accept(key):
+        raise InvalidHeaderValue("Sec-WebSocket-Accept", s_w_accept)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/http.py b/iot_env/lib/python3.8/site-packages/websockets/legacy/http.py
new file mode 100644
index 0000000..2ac7f70
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/legacy/http.py
@@ -0,0 +1,201 @@
+from __future__ import annotations
+
+import asyncio
+import re
+from typing import Tuple
+
+from ..datastructures import Headers
+from ..exceptions import SecurityError
+
+
+__all__ = ["read_request", "read_response"]
+
+MAX_HEADERS = 128
+MAX_LINE = 8192
+
+
+def d(value: bytes) -> str:
+    """
+    Decode a bytestring for interpolating into an error message.
+
+    """
+    return value.decode(errors="backslashreplace")
+
+
+# See https://www.rfc-editor.org/rfc/rfc7230.html#appendix-B.
+
+# Regex for validating header names.
+
+_token_re = re.compile(rb"[-!#$%&\'*+.^_`|~0-9a-zA-Z]+")
+
+# Regex for validating header values.
+
+# We don't attempt to support obsolete line folding.
+
+# Include HTAB (\x09), SP (\x20), VCHAR (\x21-\x7e), obs-text (\x80-\xff).
+
+# The ABNF is complicated because it attempts to express that optional
+# whitespace is ignored. We strip whitespace and don't revalidate that.
+
+# See also https://www.rfc-editor.org/errata_search.php?rfc=7230&eid=4189
+
+_value_re = re.compile(rb"[\x09\x20-\x7e\x80-\xff]*")
+
+
+async def read_request(stream: asyncio.StreamReader) -> Tuple[str, Headers]:
+    """
+    Read an HTTP/1.1 GET request and return ``(path, headers)``.
+
+    ``path`` isn't URL-decoded or validated in any way.
+
+    ``path`` and ``headers`` are expected to contain only ASCII characters.
+    Other characters are represented with surrogate escapes.
+
+    :func:`read_request` doesn't attempt to read the request body because
+    WebSocket handshake requests don't have one. If the request contains a
+    body, it may be read from ``stream`` after this coroutine returns.
+
+    Args:
+        stream: Input to read the request from.
+
+    Raises:
+        EOFError: If the connection is closed without a full HTTP request.
+        SecurityError: If the request exceeds a security limit.
+        ValueError: If the request isn't well formatted.
+
+    """
+    # https://www.rfc-editor.org/rfc/rfc7230.html#section-3.1.1
+
+    # Parsing is simple because fixed values are expected for method and
+    # version and because path isn't checked. Since WebSocket software tends
+    # to implement HTTP/1.1 strictly, there's little need for lenient parsing.
+
+    try:
+        request_line = await read_line(stream)
+    except EOFError as exc:
+        raise EOFError("connection closed while reading HTTP request line") from exc
+
+    try:
+        method, raw_path, version = request_line.split(b" ", 2)
+    except ValueError:  # not enough values to unpack (expected 3, got 1-2)
+        raise ValueError(f"invalid HTTP request line: {d(request_line)}") from None
+
+    if method != b"GET":
+        raise ValueError(f"unsupported HTTP method: {d(method)}")
+    if version != b"HTTP/1.1":
+        raise ValueError(f"unsupported HTTP version: {d(version)}")
+    path = raw_path.decode("ascii", "surrogateescape")
+
+    headers = await read_headers(stream)
+
+    return path, headers
+
+
+async def read_response(stream: asyncio.StreamReader) -> Tuple[int, str, Headers]:
+    """
+    Read an HTTP/1.1 response and return ``(status_code, reason, headers)``.
+
+    ``reason`` and ``headers`` are expected to contain only ASCII characters.
+    Other characters are represented with surrogate escapes.
+
+    :func:`read_request` doesn't attempt to read the response body because
+    WebSocket handshake responses don't have one. If the response contains a
+    body, it may be read from ``stream`` after this coroutine returns.
+
+    Args:
+        stream: Input to read the response from.
+
+    Raises:
+        EOFError: If the connection is closed without a full HTTP response.
+        SecurityError: If the response exceeds a security limit.
+        ValueError: If the response isn't well formatted.
+
+    """
+    # https://www.rfc-editor.org/rfc/rfc7230.html#section-3.1.2
+
+    # As in read_request, parsing is simple because a fixed value is expected
+    # for version, status_code is a 3-digit number, and reason can be ignored.
+
+    try:
+        status_line = await read_line(stream)
+    except EOFError as exc:
+        raise EOFError("connection closed while reading HTTP status line") from exc
+
+    try:
+        version, raw_status_code, raw_reason = status_line.split(b" ", 2)
+    except ValueError:  # not enough values to unpack (expected 3, got 1-2)
+        raise ValueError(f"invalid HTTP status line: {d(status_line)}") from None
+
+    if version != b"HTTP/1.1":
+        raise ValueError(f"unsupported HTTP version: {d(version)}")
+    try:
+        status_code = int(raw_status_code)
+    except ValueError:  # invalid literal for int() with base 10
+        raise ValueError(f"invalid HTTP status code: {d(raw_status_code)}") from None
+    if not 100 <= status_code < 1000:
+        raise ValueError(f"unsupported HTTP status code: {d(raw_status_code)}")
+    if not _value_re.fullmatch(raw_reason):
+        raise ValueError(f"invalid HTTP reason phrase: {d(raw_reason)}")
+    reason = raw_reason.decode()
+
+    headers = await read_headers(stream)
+
+    return status_code, reason, headers
+
+
+async def read_headers(stream: asyncio.StreamReader) -> Headers:
+    """
+    Read HTTP headers from ``stream``.
+
+    Non-ASCII characters are represented with surrogate escapes.
+
+    """
+    # https://www.rfc-editor.org/rfc/rfc7230.html#section-3.2
+
+    # We don't attempt to support obsolete line folding.
+
+    headers = Headers()
+    for _ in range(MAX_HEADERS + 1):
+        try:
+            line = await read_line(stream)
+        except EOFError as exc:
+            raise EOFError("connection closed while reading HTTP headers") from exc
+        if line == b"":
+            break
+
+        try:
+            raw_name, raw_value = line.split(b":", 1)
+        except ValueError:  # not enough values to unpack (expected 2, got 1)
+            raise ValueError(f"invalid HTTP header line: {d(line)}") from None
+        if not _token_re.fullmatch(raw_name):
+            raise ValueError(f"invalid HTTP header name: {d(raw_name)}")
+        raw_value = raw_value.strip(b" \t")
+        if not _value_re.fullmatch(raw_value):
+            raise ValueError(f"invalid HTTP header value: {d(raw_value)}")
+
+        name = raw_name.decode("ascii")  # guaranteed to be ASCII at this point
+        value = raw_value.decode("ascii", "surrogateescape")
+        headers[name] = value
+
+    else:
+        raise SecurityError("too many HTTP headers")
+
+    return headers
+
+
+async def read_line(stream: asyncio.StreamReader) -> bytes:
+    """
+    Read a single line from ``stream``.
+
+    CRLF is stripped from the return value.
+
+    """
+    # Security: this is bounded by the StreamReader's limit (default = 32 KiB).
+    line = await stream.readline()
+    # Security: this guarantees header values are small (hard-coded = 8 KiB)
+    if len(line) > MAX_LINE:
+        raise SecurityError("line too long")
+    # Not mandatory but safe - https://www.rfc-editor.org/rfc/rfc7230.html#section-3.5
+    if not line.endswith(b"\r\n"):
+        raise EOFError("line without CRLF")
+    return line[:-2]
diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/protocol.py b/iot_env/lib/python3.8/site-packages/websockets/legacy/protocol.py
new file mode 100644
index 0000000..733abb3
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/legacy/protocol.py
@@ -0,0 +1,1642 @@
+from __future__ import annotations
+
+import asyncio
+import codecs
+import collections
+import logging
+import random
+import ssl
+import struct
+import sys
+import time
+import uuid
+import warnings
+from typing import (
+    Any,
+    AsyncIterable,
+    AsyncIterator,
+    Awaitable,
+    Callable,
+    Deque,
+    Dict,
+    Iterable,
+    List,
+    Mapping,
+    Optional,
+    Tuple,
+    Union,
+    cast,
+)
+
+from ..datastructures import Headers
+from ..exceptions import (
+    ConnectionClosed,
+    ConnectionClosedError,
+    ConnectionClosedOK,
+    InvalidState,
+    PayloadTooBig,
+    ProtocolError,
+)
+from ..extensions import Extension
+from ..frames import (
+    OK_CLOSE_CODES,
+    OP_BINARY,
+    OP_CLOSE,
+    OP_CONT,
+    OP_PING,
+    OP_PONG,
+    OP_TEXT,
+    Close,
+    Opcode,
+    prepare_ctrl,
+    prepare_data,
+)
+from ..protocol import State
+from ..typing import Data, LoggerLike, Subprotocol
+from .compatibility import asyncio_timeout, loop_if_py_lt_38
+from .framing import Frame
+
+
+__all__ = ["WebSocketCommonProtocol", "broadcast"]
+
+
+# In order to ensure consistency, the code always checks the current value of
+# WebSocketCommonProtocol.state before assigning a new value and never yields
+# between the check and the assignment.
+
+
+class WebSocketCommonProtocol(asyncio.Protocol):
+    """
+    WebSocket connection.
+
+    :class:`WebSocketCommonProtocol` provides APIs shared between WebSocket
+    servers and clients. You shouldn't use it directly. Instead, use
+    :class:`~websockets.client.WebSocketClientProtocol` or
+    :class:`~websockets.server.WebSocketServerProtocol`.
+
+    This documentation focuses on low-level details that aren't covered in the
+    documentation of :class:`~websockets.client.WebSocketClientProtocol` and
+    :class:`~websockets.server.WebSocketServerProtocol` for the sake of
+    simplicity.
+
+    Once the connection is open, a Ping_ frame is sent every ``ping_interval``
+    seconds. This serves as a keepalive. It helps keeping the connection open,
+    especially in the presence of proxies with short timeouts on inactive
+    connections. Set ``ping_interval`` to :obj:`None` to disable this behavior.
+
+    .. _Ping: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.5.2
+
+    If the corresponding Pong_ frame isn't received within ``ping_timeout``
+    seconds, the connection is considered unusable and is closed with code 1011.
+    This ensures that the remote endpoint remains responsive. Set
+    ``ping_timeout`` to :obj:`None` to disable this behavior.
+
+    .. _Pong: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.5.3
+
+    See the discussion of :doc:`timeouts <../../topics/timeouts>` for details.
+
+    The ``close_timeout`` parameter defines a maximum wait time for completing
+    the closing handshake and terminating the TCP connection. For legacy
+    reasons, :meth:`close` completes in at most ``5 * close_timeout`` seconds
+    for clients and ``4 * close_timeout`` for servers.
+
+    ``close_timeout`` is a parameter of the protocol because websockets usually
+    calls :meth:`close` implicitly upon exit:
+
+    * on the client side, when using :func:`~websockets.client.connect` as a
+      context manager;
+    * on the server side, when the connection handler terminates.
+
+    To apply a timeout to any other API, wrap it in :func:`~asyncio.timeout` or
+    :func:`~asyncio.wait_for`.
+
+    The ``max_size`` parameter enforces the maximum size for incoming messages
+    in bytes. The default value is 1 MiB. If a larger message is received,
+    :meth:`recv` will raise :exc:`~websockets.exceptions.ConnectionClosedError`
+    and the connection will be closed with code 1009.
+
+    The ``max_queue`` parameter sets the maximum length of the queue that
+    holds incoming messages. The default value is ``32``. Messages are added
+    to an in-memory queue when they're received; then :meth:`recv` pops from
+    that queue. In order to prevent excessive memory consumption when
+    messages are received faster than they can be processed, the queue must
+    be bounded. If the queue fills up, the protocol stops processing incoming
+    data until :meth:`recv` is called. In this situation, various receive
+    buffers (at least in :mod:`asyncio` and in the OS) will fill up, then the
+    TCP receive window will shrink, slowing down transmission to avoid packet
+    loss.
+
+    Since Python can use up to 4 bytes of memory to represent a single
+    character, each connection may use up to ``4 * max_size * max_queue``
+    bytes of memory to store incoming messages. By default, this is 128 MiB.
+    You may want to lower the limits, depending on your application's
+    requirements.
+
+    The ``read_limit`` argument sets the high-water limit of the buffer for
+    incoming bytes. The low-water limit is half the high-water limit. The
+    default value is 64 KiB, half of asyncio's default (based on the current
+    implementation of :class:`~asyncio.StreamReader`).
+
+    The ``write_limit`` argument sets the high-water limit of the buffer for
+    outgoing bytes. The low-water limit is a quarter of the high-water limit.
+    The default value is 64 KiB, equal to asyncio's default (based on the
+    current implementation of ``FlowControlMixin``).
+
+    See the discussion of :doc:`memory usage <../../topics/memory>` for details.
+
+    Args:
+        logger: Logger for this server.
+            It defaults to ``logging.getLogger("websockets.protocol")``.
+            See the :doc:`logging guide <../../topics/logging>` for details.
+        ping_interval: Delay between keepalive pings in seconds.
+            :obj:`None` disables keepalive pings.
+        ping_timeout: Timeout for keepalive pings in seconds.
+            :obj:`None` disables timeouts.
+        close_timeout: Timeout for closing the connection in seconds.
+            For legacy reasons, the actual timeout is 4 or 5 times larger.
+        max_size: Maximum size of incoming messages in bytes.
+            :obj:`None` disables the limit.
+        max_queue: Maximum number of incoming messages in receive buffer.
+            :obj:`None` disables the limit.
+        read_limit: High-water mark of read buffer in bytes.
+        write_limit: High-water mark of write buffer in bytes.
+
+    """
+
+    # There are only two differences between the client-side and server-side
+    # behavior: masking the payload and closing the underlying TCP connection.
+    # Set is_client = True/False and side = "client"/"server" to pick a side.
+    is_client: bool
+    side: str = "undefined"
+
+    def __init__(
+        self,
+        *,
+        logger: Optional[LoggerLike] = None,
+        ping_interval: Optional[float] = 20,
+        ping_timeout: Optional[float] = 20,
+        close_timeout: Optional[float] = None,
+        max_size: Optional[int] = 2**20,
+        max_queue: Optional[int] = 2**5,
+        read_limit: int = 2**16,
+        write_limit: int = 2**16,
+        # The following arguments are kept only for backwards compatibility.
+        host: Optional[str] = None,
+        port: Optional[int] = None,
+        secure: Optional[bool] = None,
+        legacy_recv: bool = False,
+        loop: Optional[asyncio.AbstractEventLoop] = None,
+        timeout: Optional[float] = None,
+    ) -> None:
+        if legacy_recv:  # pragma: no cover
+            warnings.warn("legacy_recv is deprecated", DeprecationWarning)
+
+        # Backwards compatibility: close_timeout used to be called timeout.
+        if timeout is None:
+            timeout = 10
+        else:
+            warnings.warn("rename timeout to close_timeout", DeprecationWarning)
+        # If both are specified, timeout is ignored.
+        if close_timeout is None:
+            close_timeout = timeout
+
+        # Backwards compatibility: the loop parameter used to be supported.
+        if loop is None:
+            loop = asyncio.get_event_loop()
+        else:
+            warnings.warn("remove loop argument", DeprecationWarning)
+
+        self.ping_interval = ping_interval
+        self.ping_timeout = ping_timeout
+        self.close_timeout = close_timeout
+        self.max_size = max_size
+        self.max_queue = max_queue
+        self.read_limit = read_limit
+        self.write_limit = write_limit
+
+        # Unique identifier. For logs.
+        self.id: uuid.UUID = uuid.uuid4()
+        """Unique identifier of the connection. Useful in logs."""
+
+        # Logger or LoggerAdapter for this connection.
+        if logger is None:
+            logger = logging.getLogger("websockets.protocol")
+        self.logger: LoggerLike = logging.LoggerAdapter(logger, {"websocket": self})
+        """Logger for this connection."""
+
+        # Track if DEBUG is enabled. Shortcut logging calls if it isn't.
+        self.debug = logger.isEnabledFor(logging.DEBUG)
+
+        self.loop = loop
+
+        self._host = host
+        self._port = port
+        self._secure = secure
+        self.legacy_recv = legacy_recv
+
+        # Configure read buffer limits. The high-water limit is defined by
+        # ``self.read_limit``. The ``limit`` argument controls the line length
+        # limit and half the buffer limit of :class:`~asyncio.StreamReader`.
+        # That's why it must be set to half of ``self.read_limit``.
+        self.reader = asyncio.StreamReader(limit=read_limit // 2, loop=loop)
+
+        # Copied from asyncio.FlowControlMixin
+        self._paused = False
+        self._drain_waiter: Optional[asyncio.Future[None]] = None
+
+        self._drain_lock = asyncio.Lock(**loop_if_py_lt_38(loop))
+
+        # This class implements the data transfer and closing handshake, which
+        # are shared between the client-side and the server-side.
+        # Subclasses implement the opening handshake and, on success, execute
+        # :meth:`connection_open` to change the state to OPEN.
+        self.state = State.CONNECTING
+        if self.debug:
+            self.logger.debug("= connection is CONNECTING")
+
+        # HTTP protocol parameters.
+        self.path: str
+        """Path of the opening handshake request."""
+        self.request_headers: Headers
+        """Opening handshake request headers."""
+        self.response_headers: Headers
+        """Opening handshake response headers."""
+
+        # WebSocket protocol parameters.
+        self.extensions: List[Extension] = []
+        self.subprotocol: Optional[Subprotocol] = None
+        """Subprotocol, if one was negotiated."""
+
+        # Close code and reason, set when a close frame is sent or received.
+        self.close_rcvd: Optional[Close] = None
+        self.close_sent: Optional[Close] = None
+        self.close_rcvd_then_sent: Optional[bool] = None
+
+        # Completed when the connection state becomes CLOSED. Translates the
+        # :meth:`connection_lost` callback to a :class:`~asyncio.Future`
+        # that can be awaited. (Other :class:`~asyncio.Protocol` callbacks are
+        # translated by ``self.stream_reader``).
+        self.connection_lost_waiter: asyncio.Future[None] = loop.create_future()
+
+        # Queue of received messages.
+        self.messages: Deque[Data] = collections.deque()
+        self._pop_message_waiter: Optional[asyncio.Future[None]] = None
+        self._put_message_waiter: Optional[asyncio.Future[None]] = None
+
+        # Protect sending fragmented messages.
+        self._fragmented_message_waiter: Optional[asyncio.Future[None]] = None
+
+        # Mapping of ping IDs to pong waiters, in chronological order.
+        self.pings: Dict[bytes, Tuple[asyncio.Future[float], float]] = {}
+
+        self.latency: float = 0
+        """
+        Latency of the connection, in seconds.
+
+        This value is updated after sending a ping frame and receiving a
+        matching pong frame. Before the first ping, :attr:`latency` is ``0``.
+
+        By default, websockets enables a :ref:`keepalive <keepalive>` mechanism
+        that sends ping frames automatically at regular intervals. You can also
+        send ping frames and measure latency with :meth:`ping`.
+        """
+
+        # Task running the data transfer.
+        self.transfer_data_task: asyncio.Task[None]
+
+        # Exception that occurred during data transfer, if any.
+        self.transfer_data_exc: Optional[BaseException] = None
+
+        # Task sending keepalive pings.
+        self.keepalive_ping_task: asyncio.Task[None]
+
+        # Task closing the TCP connection.
+        self.close_connection_task: asyncio.Task[None]
+
+    # Copied from asyncio.FlowControlMixin
+    async def _drain_helper(self) -> None:  # pragma: no cover
+        if self.connection_lost_waiter.done():
+            raise ConnectionResetError("Connection lost")
+        if not self._paused:
+            return
+        waiter = self._drain_waiter
+        assert waiter is None or waiter.cancelled()
+        waiter = self.loop.create_future()
+        self._drain_waiter = waiter
+        await waiter
+
+    # Copied from asyncio.StreamWriter
+    async def _drain(self) -> None:  # pragma: no cover
+        if self.reader is not None:
+            exc = self.reader.exception()
+            if exc is not None:
+                raise exc
+        if self.transport is not None:
+            if self.transport.is_closing():
+                # Yield to the event loop so connection_lost() may be
+                # called.  Without this, _drain_helper() would return
+                # immediately, and code that calls
+                #     write(...); yield from drain()
+                # in a loop would never call connection_lost(), so it
+                # would not see an error when the socket is closed.
+                await asyncio.sleep(0, **loop_if_py_lt_38(self.loop))
+        await self._drain_helper()
+
+    def connection_open(self) -> None:
+        """
+        Callback when the WebSocket opening handshake completes.
+
+        Enter the OPEN state and start the data transfer phase.
+
+        """
+        # 4.1. The WebSocket Connection is Established.
+        assert self.state is State.CONNECTING
+        self.state = State.OPEN
+        if self.debug:
+            self.logger.debug("= connection is OPEN")
+        # Start the task that receives incoming WebSocket messages.
+        self.transfer_data_task = self.loop.create_task(self.transfer_data())
+        # Start the task that sends pings at regular intervals.
+        self.keepalive_ping_task = self.loop.create_task(self.keepalive_ping())
+        # Start the task that eventually closes the TCP connection.
+        self.close_connection_task = self.loop.create_task(self.close_connection())
+
+    @property
+    def host(self) -> Optional[str]:
+        alternative = "remote_address" if self.is_client else "local_address"
+        warnings.warn(f"use {alternative}[0] instead of host", DeprecationWarning)
+        return self._host
+
+    @property
+    def port(self) -> Optional[int]:
+        alternative = "remote_address" if self.is_client else "local_address"
+        warnings.warn(f"use {alternative}[1] instead of port", DeprecationWarning)
+        return self._port
+
+    @property
+    def secure(self) -> Optional[bool]:
+        warnings.warn("don't use secure", DeprecationWarning)
+        return self._secure
+
+    # Public API
+
+    @property
+    def local_address(self) -> Any:
+        """
+        Local address of the connection.
+
+        For IPv4 connections, this is a ``(host, port)`` tuple.
+
+        The format of the address depends on the address family;
+        see :meth:`~socket.socket.getsockname`.
+
+        :obj:`None` if the TCP connection isn't established yet.
+
+        """
+        try:
+            transport = self.transport
+        except AttributeError:
+            return None
+        else:
+            return transport.get_extra_info("sockname")
+
+    @property
+    def remote_address(self) -> Any:
+        """
+        Remote address of the connection.
+
+        For IPv4 connections, this is a ``(host, port)`` tuple.
+
+        The format of the address depends on the address family;
+        see :meth:`~socket.socket.getpeername`.
+
+        :obj:`None` if the TCP connection isn't established yet.
+
+        """
+        try:
+            transport = self.transport
+        except AttributeError:
+            return None
+        else:
+            return transport.get_extra_info("peername")
+
+    @property
+    def open(self) -> bool:
+        """
+        :obj:`True` when the connection is open; :obj:`False` otherwise.
+
+        This attribute may be used to detect disconnections. However, this
+        approach is discouraged per the EAFP_ principle. Instead, you should
+        handle :exc:`~websockets.exceptions.ConnectionClosed` exceptions.
+
+        .. _EAFP: https://docs.python.org/3/glossary.html#term-eafp
+
+        """
+        return self.state is State.OPEN and not self.transfer_data_task.done()
+
+    @property
+    def closed(self) -> bool:
+        """
+        :obj:`True` when the connection is closed; :obj:`False` otherwise.
+
+        Be aware that both :attr:`open` and :attr:`closed` are :obj:`False`
+        during the opening and closing sequences.
+
+        """
+        return self.state is State.CLOSED
+
+    @property
+    def close_code(self) -> Optional[int]:
+        """
+        WebSocket close code, defined in `section 7.1.5 of RFC 6455`_.
+
+        .. _section 7.1.5 of RFC 6455:
+            https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5
+
+        :obj:`None` if the connection isn't closed yet.
+
+        """
+        if self.state is not State.CLOSED:
+            return None
+        elif self.close_rcvd is None:
+            return 1006
+        else:
+            return self.close_rcvd.code
+
+    @property
+    def close_reason(self) -> Optional[str]:
+        """
+        WebSocket close reason, defined in `section 7.1.6 of RFC 6455`_.
+
+        .. _section 7.1.6 of RFC 6455:
+            https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.6
+
+        :obj:`None` if the connection isn't closed yet.
+
+        """
+        if self.state is not State.CLOSED:
+            return None
+        elif self.close_rcvd is None:
+            return ""
+        else:
+            return self.close_rcvd.reason
+
+    async def __aiter__(self) -> AsyncIterator[Data]:
+        """
+        Iterate on incoming messages.
+
+        The iterator exits normally when the connection is closed with the close
+        code 1000 (OK) or 1001 (going away) or without a close code.
+
+        It raises a :exc:`~websockets.exceptions.ConnectionClosedError`
+        exception when the connection is closed with any other code.
+
+        """
+        try:
+            while True:
+                yield await self.recv()
+        except ConnectionClosedOK:
+            return
+
+    async def recv(self) -> Data:
+        """
+        Receive the next message.
+
+        When the connection is closed, :meth:`recv` raises
+        :exc:`~websockets.exceptions.ConnectionClosed`. Specifically, it raises
+        :exc:`~websockets.exceptions.ConnectionClosedOK` after a normal
+        connection closure and
+        :exc:`~websockets.exceptions.ConnectionClosedError` after a protocol
+        error or a network failure. This is how you detect the end of the
+        message stream.
+
+        Canceling :meth:`recv` is safe. There's no risk of losing the next
+        message. The next invocation of :meth:`recv` will return it.
+
+        This makes it possible to enforce a timeout by wrapping :meth:`recv` in
+        :func:`~asyncio.timeout` or :func:`~asyncio.wait_for`.
+
+        Returns:
+            Data: A string (:class:`str`) for a Text_ frame. A bytestring
+            (:class:`bytes`) for a Binary_ frame.
+
+            .. _Text: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+            .. _Binary: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+
+        Raises:
+            ConnectionClosed: When the connection is closed.
+            RuntimeError: If two coroutines call :meth:`recv` concurrently.
+
+        """
+        if self._pop_message_waiter is not None:
+            raise RuntimeError(
+                "cannot call recv while another coroutine "
+                "is already waiting for the next message"
+            )
+
+        # Don't await self.ensure_open() here:
+        # - messages could be available in the queue even if the connection
+        #   is closed;
+        # - messages could be received before the closing frame even if the
+        #   connection is closing.
+
+        # Wait until there's a message in the queue (if necessary) or the
+        # connection is closed.
+        while len(self.messages) <= 0:
+            pop_message_waiter: asyncio.Future[None] = self.loop.create_future()
+            self._pop_message_waiter = pop_message_waiter
+            try:
+                # If asyncio.wait() is canceled, it doesn't cancel
+                # pop_message_waiter and self.transfer_data_task.
+                await asyncio.wait(
+                    [pop_message_waiter, self.transfer_data_task],
+                    return_when=asyncio.FIRST_COMPLETED,
+                    **loop_if_py_lt_38(self.loop),
+                )
+            finally:
+                self._pop_message_waiter = None
+
+            # If asyncio.wait(...) exited because self.transfer_data_task
+            # completed before receiving a new message, raise a suitable
+            # exception (or return None if legacy_recv is enabled).
+            if not pop_message_waiter.done():
+                if self.legacy_recv:
+                    return None  # type: ignore
+                else:
+                    # Wait until the connection is closed to raise
+                    # ConnectionClosed with the correct code and reason.
+                    await self.ensure_open()
+
+        # Pop a message from the queue.
+        message = self.messages.popleft()
+
+        # Notify transfer_data().
+        if self._put_message_waiter is not None:
+            self._put_message_waiter.set_result(None)
+            self._put_message_waiter = None
+
+        return message
+
+    async def send(
+        self,
+        message: Union[Data, Iterable[Data], AsyncIterable[Data]],
+    ) -> None:
+        """
+        Send a message.
+
+        A string (:class:`str`) is sent as a Text_ frame. A bytestring or
+        bytes-like object (:class:`bytes`, :class:`bytearray`, or
+        :class:`memoryview`) is sent as a Binary_ frame.
+
+        .. _Text: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+        .. _Binary: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+
+        :meth:`send` also accepts an iterable or an asynchronous iterable of
+        strings, bytestrings, or bytes-like objects to enable fragmentation_.
+        Each item is treated as a message fragment and sent in its own frame.
+        All items must be of the same type, or else :meth:`send` will raise a
+        :exc:`TypeError` and the connection will be closed.
+
+        .. _fragmentation: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.4
+
+        :meth:`send` rejects dict-like objects because this is often an error.
+        (If you want to send the keys of a dict-like object as fragments, call
+        its :meth:`~dict.keys` method and pass the result to :meth:`send`.)
+
+        Canceling :meth:`send` is discouraged. Instead, you should close the
+        connection with :meth:`close`. Indeed, there are only two situations
+        where :meth:`send` may yield control to the event loop and then get
+        canceled; in both cases, :meth:`close` has the same effect and is
+        more clear:
+
+        1. The write buffer is full. If you don't want to wait until enough
+           data is sent, your only alternative is to close the connection.
+           :meth:`close` will likely time out then abort the TCP connection.
+        2. ``message`` is an asynchronous iterator that yields control.
+           Stopping in the middle of a fragmented message will cause a
+           protocol error and the connection will be closed.
+
+        When the connection is closed, :meth:`send` raises
+        :exc:`~websockets.exceptions.ConnectionClosed`. Specifically, it
+        raises :exc:`~websockets.exceptions.ConnectionClosedOK` after a normal
+        connection closure and
+        :exc:`~websockets.exceptions.ConnectionClosedError` after a protocol
+        error or a network failure.
+
+        Args:
+            message (Union[Data, Iterable[Data], AsyncIterable[Data]): message
+                to send.
+
+        Raises:
+            ConnectionClosed: When the connection is closed.
+            TypeError: If ``message`` doesn't have a supported type.
+
+        """
+        await self.ensure_open()
+
+        # While sending a fragmented message, prevent sending other messages
+        # until all fragments are sent.
+        while self._fragmented_message_waiter is not None:
+            await asyncio.shield(self._fragmented_message_waiter)
+
+        # Unfragmented message -- this case must be handled first because
+        # strings and bytes-like objects are iterable.
+
+        if isinstance(message, (str, bytes, bytearray, memoryview)):
+            opcode, data = prepare_data(message)
+            await self.write_frame(True, opcode, data)
+
+        # Catch a common mistake -- passing a dict to send().
+
+        elif isinstance(message, Mapping):
+            raise TypeError("data is a dict-like object")
+
+        # Fragmented message -- regular iterator.
+
+        elif isinstance(message, Iterable):
+            # Work around https://github.com/python/mypy/issues/6227
+            message = cast(Iterable[Data], message)
+
+            iter_message = iter(message)
+            try:
+                fragment = next(iter_message)
+            except StopIteration:
+                return
+            opcode, data = prepare_data(fragment)
+
+            self._fragmented_message_waiter = asyncio.Future()
+            try:
+                # First fragment.
+                await self.write_frame(False, opcode, data)
+
+                # Other fragments.
+                for fragment in iter_message:
+                    confirm_opcode, data = prepare_data(fragment)
+                    if confirm_opcode != opcode:
+                        raise TypeError("data contains inconsistent types")
+                    await self.write_frame(False, OP_CONT, data)
+
+                # Final fragment.
+                await self.write_frame(True, OP_CONT, b"")
+
+            except (Exception, asyncio.CancelledError):
+                # We're half-way through a fragmented message and we can't
+                # complete it. This makes the connection unusable.
+                self.fail_connection(1011)
+                raise
+
+            finally:
+                self._fragmented_message_waiter.set_result(None)
+                self._fragmented_message_waiter = None
+
+        # Fragmented message -- asynchronous iterator
+
+        elif isinstance(message, AsyncIterable):
+            # Implement aiter_message = aiter(message) without aiter
+            # Work around https://github.com/python/mypy/issues/5738
+            aiter_message = cast(
+                Callable[[AsyncIterable[Data]], AsyncIterator[Data]],
+                type(message).__aiter__,
+            )(message)
+            try:
+                # Implement fragment = anext(aiter_message) without anext
+                # Work around https://github.com/python/mypy/issues/5738
+                fragment = await cast(
+                    Callable[[AsyncIterator[Data]], Awaitable[Data]],
+                    type(aiter_message).__anext__,
+                )(aiter_message)
+            except StopAsyncIteration:
+                return
+            opcode, data = prepare_data(fragment)
+
+            self._fragmented_message_waiter = asyncio.Future()
+            try:
+                # First fragment.
+                await self.write_frame(False, opcode, data)
+
+                # Other fragments.
+                async for fragment in aiter_message:
+                    confirm_opcode, data = prepare_data(fragment)
+                    if confirm_opcode != opcode:
+                        raise TypeError("data contains inconsistent types")
+                    await self.write_frame(False, OP_CONT, data)
+
+                # Final fragment.
+                await self.write_frame(True, OP_CONT, b"")
+
+            except (Exception, asyncio.CancelledError):
+                # We're half-way through a fragmented message and we can't
+                # complete it. This makes the connection unusable.
+                self.fail_connection(1011)
+                raise
+
+            finally:
+                self._fragmented_message_waiter.set_result(None)
+                self._fragmented_message_waiter = None
+
+        else:
+            raise TypeError("data must be str, bytes-like, or iterable")
+
+    async def close(self, code: int = 1000, reason: str = "") -> None:
+        """
+        Perform the closing handshake.
+
+        :meth:`close` waits for the other end to complete the handshake and
+        for the TCP connection to terminate. As a consequence, there's no need
+        to await :meth:`wait_closed` after :meth:`close`.
+
+        :meth:`close` is idempotent: it doesn't do anything once the
+        connection is closed.
+
+        Wrapping :func:`close` in :func:`~asyncio.create_task` is safe, given
+        that errors during connection termination aren't particularly useful.
+
+        Canceling :meth:`close` is discouraged. If it takes too long, you can
+        set a shorter ``close_timeout``. If you don't want to wait, let the
+        Python process exit, then the OS will take care of closing the TCP
+        connection.
+
+        Args:
+            code: WebSocket close code.
+            reason: WebSocket close reason.
+
+        """
+        try:
+            async with asyncio_timeout(self.close_timeout):
+                await self.write_close_frame(Close(code, reason))
+        except asyncio.TimeoutError:
+            # If the close frame cannot be sent because the send buffers
+            # are full, the closing handshake won't complete anyway.
+            # Fail the connection to shut down faster.
+            self.fail_connection()
+
+        # If no close frame is received within the timeout, asyncio_timeout()
+        # cancels the data transfer task and raises TimeoutError.
+
+        # If close() is called multiple times concurrently and one of these
+        # calls hits the timeout, the data transfer task will be canceled.
+        # Other calls will receive a CancelledError here.
+
+        try:
+            # If close() is canceled during the wait, self.transfer_data_task
+            # is canceled before the timeout elapses.
+            async with asyncio_timeout(self.close_timeout):
+                await self.transfer_data_task
+        except (asyncio.TimeoutError, asyncio.CancelledError):
+            pass
+
+        # Wait for the close connection task to close the TCP connection.
+        await asyncio.shield(self.close_connection_task)
+
+    async def wait_closed(self) -> None:
+        """
+        Wait until the connection is closed.
+
+        This coroutine is identical to the :attr:`closed` attribute, except it
+        can be awaited.
+
+        This can make it easier to detect connection termination, regardless
+        of its cause, in tasks that interact with the WebSocket connection.
+
+        """
+        await asyncio.shield(self.connection_lost_waiter)
+
+    async def ping(self, data: Optional[Data] = None) -> Awaitable[None]:
+        """
+        Send a Ping_.
+
+        .. _Ping: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.5.2
+
+        A ping may serve as a keepalive, as a check that the remote endpoint
+        received all messages up to this point, or to measure :attr:`latency`.
+
+        Canceling :meth:`ping` is discouraged. If :meth:`ping` doesn't return
+        immediately, it means the write buffer is full. If you don't want to
+        wait, you should close the connection.
+
+        Canceling the :class:`~asyncio.Future` returned by :meth:`ping` has no
+        effect.
+
+        Args:
+            data (Optional[Data]): payload of the ping; a string will be
+                encoded to UTF-8; or :obj:`None` to generate a payload
+                containing four random bytes.
+
+        Returns:
+            ~asyncio.Future[float]: A future that will be completed when the
+            corresponding pong is received. You can ignore it if you don't
+            intend to wait. The result of the future is the latency of the
+            connection in seconds.
+
+            ::
+
+                pong_waiter = await ws.ping()
+                # only if you want to wait for the corresponding pong
+                latency = await pong_waiter
+
+        Raises:
+            ConnectionClosed: When the connection is closed.
+            RuntimeError: If another ping was sent with the same data and
+                the corresponding pong wasn't received yet.
+
+        """
+        await self.ensure_open()
+
+        if data is not None:
+            data = prepare_ctrl(data)
+
+        # Protect against duplicates if a payload is explicitly set.
+        if data in self.pings:
+            raise RuntimeError("already waiting for a pong with the same data")
+
+        # Generate a unique random payload otherwise.
+        while data is None or data in self.pings:
+            data = struct.pack("!I", random.getrandbits(32))
+
+        pong_waiter = self.loop.create_future()
+        # Resolution of time.monotonic() may be too low on Windows.
+        ping_timestamp = time.perf_counter()
+        self.pings[data] = (pong_waiter, ping_timestamp)
+
+        await self.write_frame(True, OP_PING, data)
+
+        return asyncio.shield(pong_waiter)
+
+    async def pong(self, data: Data = b"") -> None:
+        """
+        Send a Pong_.
+
+        .. _Pong: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.5.3
+
+        An unsolicited pong may serve as a unidirectional heartbeat.
+
+        Canceling :meth:`pong` is discouraged. If :meth:`pong` doesn't return
+        immediately, it means the write buffer is full. If you don't want to
+        wait, you should close the connection.
+
+        Args:
+            data (Data): Payload of the pong. A string will be encoded to
+                UTF-8.
+
+        Raises:
+            ConnectionClosed: When the connection is closed.
+
+        """
+        await self.ensure_open()
+
+        data = prepare_ctrl(data)
+
+        await self.write_frame(True, OP_PONG, data)
+
+    # Private methods - no guarantees.
+
+    def connection_closed_exc(self) -> ConnectionClosed:
+        exc: ConnectionClosed
+        if (
+            self.close_rcvd is not None
+            and self.close_rcvd.code in OK_CLOSE_CODES
+            and self.close_sent is not None
+            and self.close_sent.code in OK_CLOSE_CODES
+        ):
+            exc = ConnectionClosedOK(
+                self.close_rcvd,
+                self.close_sent,
+                self.close_rcvd_then_sent,
+            )
+        else:
+            exc = ConnectionClosedError(
+                self.close_rcvd,
+                self.close_sent,
+                self.close_rcvd_then_sent,
+            )
+        # Chain to the exception that terminated data transfer, if any.
+        exc.__cause__ = self.transfer_data_exc
+        return exc
+
+    async def ensure_open(self) -> None:
+        """
+        Check that the WebSocket connection is open.
+
+        Raise :exc:`~websockets.exceptions.ConnectionClosed` if it isn't.
+
+        """
+        # Handle cases from most common to least common for performance.
+        if self.state is State.OPEN:
+            # If self.transfer_data_task exited without a closing handshake,
+            # self.close_connection_task may be closing the connection, going
+            # straight from OPEN to CLOSED.
+            if self.transfer_data_task.done():
+                await asyncio.shield(self.close_connection_task)
+                raise self.connection_closed_exc()
+            else:
+                return
+
+        if self.state is State.CLOSED:
+            raise self.connection_closed_exc()
+
+        if self.state is State.CLOSING:
+            # If we started the closing handshake, wait for its completion to
+            # get the proper close code and reason. self.close_connection_task
+            # will complete within 4 or 5 * close_timeout after close(). The
+            # CLOSING state also occurs when failing the connection. In that
+            # case self.close_connection_task will complete even faster.
+            await asyncio.shield(self.close_connection_task)
+            raise self.connection_closed_exc()
+
+        # Control may only reach this point in buggy third-party subclasses.
+        assert self.state is State.CONNECTING
+        raise InvalidState("WebSocket connection isn't established yet")
+
+    async def transfer_data(self) -> None:
+        """
+        Read incoming messages and put them in a queue.
+
+        This coroutine runs in a task until the closing handshake is started.
+
+        """
+        try:
+            while True:
+                message = await self.read_message()
+
+                # Exit the loop when receiving a close frame.
+                if message is None:
+                    break
+
+                # Wait until there's room in the queue (if necessary).
+                if self.max_queue is not None:
+                    while len(self.messages) >= self.max_queue:
+                        self._put_message_waiter = self.loop.create_future()
+                        try:
+                            await asyncio.shield(self._put_message_waiter)
+                        finally:
+                            self._put_message_waiter = None
+
+                # Put the message in the queue.
+                self.messages.append(message)
+
+                # Notify recv().
+                if self._pop_message_waiter is not None:
+                    self._pop_message_waiter.set_result(None)
+                    self._pop_message_waiter = None
+
+        except asyncio.CancelledError as exc:
+            self.transfer_data_exc = exc
+            # If fail_connection() cancels this task, avoid logging the error
+            # twice and failing the connection again.
+            raise
+
+        except ProtocolError as exc:
+            self.transfer_data_exc = exc
+            self.fail_connection(1002)
+
+        except (ConnectionError, TimeoutError, EOFError, ssl.SSLError) as exc:
+            # Reading data with self.reader.readexactly may raise:
+            # - most subclasses of ConnectionError if the TCP connection
+            #   breaks, is reset, or is aborted;
+            # - TimeoutError if the TCP connection times out;
+            # - IncompleteReadError, a subclass of EOFError, if fewer
+            #   bytes are available than requested;
+            # - ssl.SSLError if the other side infringes the TLS protocol.
+            self.transfer_data_exc = exc
+            self.fail_connection(1006)
+
+        except UnicodeDecodeError as exc:
+            self.transfer_data_exc = exc
+            self.fail_connection(1007)
+
+        except PayloadTooBig as exc:
+            self.transfer_data_exc = exc
+            self.fail_connection(1009)
+
+        except Exception as exc:
+            # This shouldn't happen often because exceptions expected under
+            # regular circumstances are handled above. If it does, consider
+            # catching and handling more exceptions.
+            self.logger.error("data transfer failed", exc_info=True)
+
+            self.transfer_data_exc = exc
+            self.fail_connection(1011)
+
+    async def read_message(self) -> Optional[Data]:
+        """
+        Read a single message from the connection.
+
+        Re-assemble data frames if the message is fragmented.
+
+        Return :obj:`None` when the closing handshake is started.
+
+        """
+        frame = await self.read_data_frame(max_size=self.max_size)
+
+        # A close frame was received.
+        if frame is None:
+            return None
+
+        if frame.opcode == OP_TEXT:
+            text = True
+        elif frame.opcode == OP_BINARY:
+            text = False
+        else:  # frame.opcode == OP_CONT
+            raise ProtocolError("unexpected opcode")
+
+        # Shortcut for the common case - no fragmentation
+        if frame.fin:
+            return frame.data.decode("utf-8") if text else frame.data
+
+        # 5.4. Fragmentation
+        fragments: List[Data] = []
+        max_size = self.max_size
+        if text:
+            decoder_factory = codecs.getincrementaldecoder("utf-8")
+            decoder = decoder_factory(errors="strict")
+            if max_size is None:
+
+                def append(frame: Frame) -> None:
+                    nonlocal fragments
+                    fragments.append(decoder.decode(frame.data, frame.fin))
+
+            else:
+
+                def append(frame: Frame) -> None:
+                    nonlocal fragments, max_size
+                    fragments.append(decoder.decode(frame.data, frame.fin))
+                    assert isinstance(max_size, int)
+                    max_size -= len(frame.data)
+
+        else:
+            if max_size is None:
+
+                def append(frame: Frame) -> None:
+                    nonlocal fragments
+                    fragments.append(frame.data)
+
+            else:
+
+                def append(frame: Frame) -> None:
+                    nonlocal fragments, max_size
+                    fragments.append(frame.data)
+                    assert isinstance(max_size, int)
+                    max_size -= len(frame.data)
+
+        append(frame)
+
+        while not frame.fin:
+            frame = await self.read_data_frame(max_size=max_size)
+            if frame is None:
+                raise ProtocolError("incomplete fragmented message")
+            if frame.opcode != OP_CONT:
+                raise ProtocolError("unexpected opcode")
+            append(frame)
+
+        return ("" if text else b"").join(fragments)
+
+    async def read_data_frame(self, max_size: Optional[int]) -> Optional[Frame]:
+        """
+        Read a single data frame from the connection.
+
+        Process control frames received before the next data frame.
+
+        Return :obj:`None` if a close frame is encountered before any data frame.
+
+        """
+        # 6.2. Receiving Data
+        while True:
+            frame = await self.read_frame(max_size)
+
+            # 5.5. Control Frames
+            if frame.opcode == OP_CLOSE:
+                # 7.1.5.  The WebSocket Connection Close Code
+                # 7.1.6.  The WebSocket Connection Close Reason
+                self.close_rcvd = Close.parse(frame.data)
+                if self.close_sent is not None:
+                    self.close_rcvd_then_sent = False
+                try:
+                    # Echo the original data instead of re-serializing it with
+                    # Close.serialize() because that fails when the close frame
+                    # is empty and Close.parse() synthesizes a 1005 close code.
+                    await self.write_close_frame(self.close_rcvd, frame.data)
+                except ConnectionClosed:
+                    # Connection closed before we could echo the close frame.
+                    pass
+                return None
+
+            elif frame.opcode == OP_PING:
+                # Answer pings, unless connection is CLOSING.
+                if self.state is State.OPEN:
+                    try:
+                        await self.pong(frame.data)
+                    except ConnectionClosed:
+                        # Connection closed while draining write buffer.
+                        pass
+
+            elif frame.opcode == OP_PONG:
+                if frame.data in self.pings:
+                    pong_timestamp = time.perf_counter()
+                    # Sending a pong for only the most recent ping is legal.
+                    # Acknowledge all previous pings too in that case.
+                    ping_id = None
+                    ping_ids = []
+                    for ping_id, (pong_waiter, ping_timestamp) in self.pings.items():
+                        ping_ids.append(ping_id)
+                        if not pong_waiter.done():
+                            pong_waiter.set_result(pong_timestamp - ping_timestamp)
+                        if ping_id == frame.data:
+                            self.latency = pong_timestamp - ping_timestamp
+                            break
+                    else:
+                        raise AssertionError("solicited pong not found in pings")
+                    # Remove acknowledged pings from self.pings.
+                    for ping_id in ping_ids:
+                        del self.pings[ping_id]
+
+            # 5.6. Data Frames
+            else:
+                return frame
+
+    async def read_frame(self, max_size: Optional[int]) -> Frame:
+        """
+        Read a single frame from the connection.
+
+        """
+        frame = await Frame.read(
+            self.reader.readexactly,
+            mask=not self.is_client,
+            max_size=max_size,
+            extensions=self.extensions,
+        )
+        if self.debug:
+            self.logger.debug("< %s", frame)
+        return frame
+
+    def write_frame_sync(self, fin: bool, opcode: int, data: bytes) -> None:
+        frame = Frame(fin, Opcode(opcode), data)
+        if self.debug:
+            self.logger.debug("> %s", frame)
+        frame.write(
+            self.transport.write,
+            mask=self.is_client,
+            extensions=self.extensions,
+        )
+
+    async def drain(self) -> None:
+        try:
+            # drain() cannot be called concurrently by multiple coroutines:
+            # http://bugs.python.org/issue29930. Remove this lock when no
+            # version of Python where this bugs exists is supported anymore.
+            async with self._drain_lock:
+                # Handle flow control automatically.
+                await self._drain()
+        except ConnectionError:
+            # Terminate the connection if the socket died.
+            self.fail_connection()
+            # Wait until the connection is closed to raise ConnectionClosed
+            # with the correct code and reason.
+            await self.ensure_open()
+
+    async def write_frame(
+        self, fin: bool, opcode: int, data: bytes, *, _state: int = State.OPEN
+    ) -> None:
+        # Defensive assertion for protocol compliance.
+        if self.state is not _state:  # pragma: no cover
+            raise InvalidState(
+                f"Cannot write to a WebSocket in the {self.state.name} state"
+            )
+        self.write_frame_sync(fin, opcode, data)
+        await self.drain()
+
+    async def write_close_frame(
+        self, close: Close, data: Optional[bytes] = None
+    ) -> None:
+        """
+        Write a close frame if and only if the connection state is OPEN.
+
+        This dedicated coroutine must be used for writing close frames to
+        ensure that at most one close frame is sent on a given connection.
+
+        """
+        # Test and set the connection state before sending the close frame to
+        # avoid sending two frames in case of concurrent calls.
+        if self.state is State.OPEN:
+            # 7.1.3. The WebSocket Closing Handshake is Started
+            self.state = State.CLOSING
+            if self.debug:
+                self.logger.debug("= connection is CLOSING")
+
+            self.close_sent = close
+            if self.close_rcvd is not None:
+                self.close_rcvd_then_sent = True
+            if data is None:
+                data = close.serialize()
+
+            # 7.1.2. Start the WebSocket Closing Handshake
+            await self.write_frame(True, OP_CLOSE, data, _state=State.CLOSING)
+
+    async def keepalive_ping(self) -> None:
+        """
+        Send a Ping frame and wait for a Pong frame at regular intervals.
+
+        This coroutine exits when the connection terminates and one of the
+        following happens:
+
+        - :meth:`ping` raises :exc:`ConnectionClosed`, or
+        - :meth:`close_connection` cancels :attr:`keepalive_ping_task`.
+
+        """
+        if self.ping_interval is None:
+            return
+
+        try:
+            while True:
+                await asyncio.sleep(
+                    self.ping_interval,
+                    **loop_if_py_lt_38(self.loop),
+                )
+
+                # ping() raises CancelledError if the connection is closed,
+                # when close_connection() cancels self.keepalive_ping_task.
+
+                # ping() raises ConnectionClosed if the connection is lost,
+                # when connection_lost() calls abort_pings().
+
+                self.logger.debug("% sending keepalive ping")
+                pong_waiter = await self.ping()
+
+                if self.ping_timeout is not None:
+                    try:
+                        async with asyncio_timeout(self.ping_timeout):
+                            await pong_waiter
+                        self.logger.debug("% received keepalive pong")
+                    except asyncio.TimeoutError:
+                        if self.debug:
+                            self.logger.debug("! timed out waiting for keepalive pong")
+                        self.fail_connection(1011, "keepalive ping timeout")
+                        break
+
+        # Remove this branch when dropping support for Python < 3.8
+        # because CancelledError no longer inherits Exception.
+        except asyncio.CancelledError:
+            raise
+
+        except ConnectionClosed:
+            pass
+
+        except Exception:
+            self.logger.error("keepalive ping failed", exc_info=True)
+
+    async def close_connection(self) -> None:
+        """
+        7.1.1. Close the WebSocket Connection
+
+        When the opening handshake succeeds, :meth:`connection_open` starts
+        this coroutine in a task. It waits for the data transfer phase to
+        complete then it closes the TCP connection cleanly.
+
+        When the opening handshake fails, :meth:`fail_connection` does the
+        same. There's no data transfer phase in that case.
+
+        """
+        try:
+            # Wait for the data transfer phase to complete.
+            if hasattr(self, "transfer_data_task"):
+                try:
+                    await self.transfer_data_task
+                except asyncio.CancelledError:
+                    pass
+
+            # Cancel the keepalive ping task.
+            if hasattr(self, "keepalive_ping_task"):
+                self.keepalive_ping_task.cancel()
+
+            # A client should wait for a TCP close from the server.
+            if self.is_client and hasattr(self, "transfer_data_task"):
+                if await self.wait_for_connection_lost():
+                    return
+                if self.debug:
+                    self.logger.debug("! timed out waiting for TCP close")
+
+            # Half-close the TCP connection if possible (when there's no TLS).
+            if self.transport.can_write_eof():
+                if self.debug:
+                    self.logger.debug("x half-closing TCP connection")
+                # write_eof() doesn't document which exceptions it raises.
+                # "[Errno 107] Transport endpoint is not connected" happens
+                # but it isn't completely clear under which circumstances.
+                # uvloop can raise RuntimeError here.
+                try:
+                    self.transport.write_eof()
+                except (OSError, RuntimeError):  # pragma: no cover
+                    pass
+
+                if await self.wait_for_connection_lost():
+                    return
+                if self.debug:
+                    self.logger.debug("! timed out waiting for TCP close")
+
+        finally:
+            # The try/finally ensures that the transport never remains open,
+            # even if this coroutine is canceled (for example).
+            await self.close_transport()
+
+    async def close_transport(self) -> None:
+        """
+        Close the TCP connection.
+
+        """
+        # If connection_lost() was called, the TCP connection is closed.
+        # However, if TLS is enabled, the transport still needs closing.
+        # Else asyncio complains: ResourceWarning: unclosed transport.
+        if self.connection_lost_waiter.done() and self.transport.is_closing():
+            return
+
+        # Close the TCP connection. Buffers are flushed asynchronously.
+        if self.debug:
+            self.logger.debug("x closing TCP connection")
+        self.transport.close()
+
+        if await self.wait_for_connection_lost():
+            return
+        if self.debug:
+            self.logger.debug("! timed out waiting for TCP close")
+
+        # Abort the TCP connection. Buffers are discarded.
+        if self.debug:
+            self.logger.debug("x aborting TCP connection")
+        # Due to a bug in coverage, this is erroneously reported as not covered.
+        self.transport.abort()  # pragma: no cover
+
+        # connection_lost() is called quickly after aborting.
+        await self.wait_for_connection_lost()
+
+    async def wait_for_connection_lost(self) -> bool:
+        """
+        Wait until the TCP connection is closed or ``self.close_timeout`` elapses.
+
+        Return :obj:`True` if the connection is closed and :obj:`False`
+        otherwise.
+
+        """
+        if not self.connection_lost_waiter.done():
+            try:
+                async with asyncio_timeout(self.close_timeout):
+                    await asyncio.shield(self.connection_lost_waiter)
+            except asyncio.TimeoutError:
+                pass
+        # Re-check self.connection_lost_waiter.done() synchronously because
+        # connection_lost() could run between the moment the timeout occurs
+        # and the moment this coroutine resumes running.
+        return self.connection_lost_waiter.done()
+
+    def fail_connection(self, code: int = 1006, reason: str = "") -> None:
+        """
+        7.1.7. Fail the WebSocket Connection
+
+        This requires:
+
+        1. Stopping all processing of incoming data, which means cancelling
+           :attr:`transfer_data_task`. The close code will be 1006 unless a
+           close frame was received earlier.
+
+        2. Sending a close frame with an appropriate code if the opening
+           handshake succeeded and the other side is likely to process it.
+
+        3. Closing the connection. :meth:`close_connection` takes care of
+           this once :attr:`transfer_data_task` exits after being canceled.
+
+        (The specification describes these steps in the opposite order.)
+
+        """
+        if self.debug:
+            self.logger.debug("! failing connection with code %d", code)
+
+        # Cancel transfer_data_task if the opening handshake succeeded.
+        # cancel() is idempotent and ignored if the task is done already.
+        if hasattr(self, "transfer_data_task"):
+            self.transfer_data_task.cancel()
+
+        # Send a close frame when the state is OPEN (a close frame was already
+        # sent if it's CLOSING), except when failing the connection because of
+        # an error reading from or writing to the network.
+        # Don't send a close frame if the connection is broken.
+        if code != 1006 and self.state is State.OPEN:
+            close = Close(code, reason)
+
+            # Write the close frame without draining the write buffer.
+
+            # Keeping fail_connection() synchronous guarantees it can't
+            # get stuck and simplifies the implementation of the callers.
+            # Not drainig the write buffer is acceptable in this context.
+
+            # This duplicates a few lines of code from write_close_frame().
+
+            self.state = State.CLOSING
+            if self.debug:
+                self.logger.debug("= connection is CLOSING")
+
+            # If self.close_rcvd was set, the connection state would be
+            # CLOSING. Therefore self.close_rcvd isn't set and we don't
+            # have to set self.close_rcvd_then_sent.
+            assert self.close_rcvd is None
+            self.close_sent = close
+
+            self.write_frame_sync(True, OP_CLOSE, close.serialize())
+
+        # Start close_connection_task if the opening handshake didn't succeed.
+        if not hasattr(self, "close_connection_task"):
+            self.close_connection_task = self.loop.create_task(self.close_connection())
+
+    def abort_pings(self) -> None:
+        """
+        Raise ConnectionClosed in pending keepalive pings.
+
+        They'll never receive a pong once the connection is closed.
+
+        """
+        assert self.state is State.CLOSED
+        exc = self.connection_closed_exc()
+
+        for pong_waiter, _ping_timestamp in self.pings.values():
+            pong_waiter.set_exception(exc)
+            # If the exception is never retrieved, it will be logged when ping
+            # is garbage-collected. This is confusing for users.
+            # Given that ping is done (with an exception), canceling it does
+            # nothing, but it prevents logging the exception.
+            pong_waiter.cancel()
+
+    # asyncio.Protocol methods
+
+    def connection_made(self, transport: asyncio.BaseTransport) -> None:
+        """
+        Configure write buffer limits.
+
+        The high-water limit is defined by ``self.write_limit``.
+
+        The low-water limit currently defaults to ``self.write_limit // 4`` in
+        :meth:`~asyncio.WriteTransport.set_write_buffer_limits`, which should
+        be all right for reasonable use cases of this library.
+
+        This is the earliest point where we can get hold of the transport,
+        which means it's the best point for configuring it.
+
+        """
+        transport = cast(asyncio.Transport, transport)
+        transport.set_write_buffer_limits(self.write_limit)
+        self.transport = transport
+
+        # Copied from asyncio.StreamReaderProtocol
+        self.reader.set_transport(transport)
+
+    def connection_lost(self, exc: Optional[Exception]) -> None:
+        """
+        7.1.4. The WebSocket Connection is Closed.
+
+        """
+        self.state = State.CLOSED
+        self.logger.debug("= connection is CLOSED")
+
+        self.abort_pings()
+
+        # If self.connection_lost_waiter isn't pending, that's a bug, because:
+        # - it's set only here in connection_lost() which is called only once;
+        # - it must never be canceled.
+        self.connection_lost_waiter.set_result(None)
+
+        if True:  # pragma: no cover
+            # Copied from asyncio.StreamReaderProtocol
+            if self.reader is not None:
+                if exc is None:
+                    self.reader.feed_eof()
+                else:
+                    self.reader.set_exception(exc)
+
+            # Copied from asyncio.FlowControlMixin
+            # Wake up the writer if currently paused.
+            if not self._paused:
+                return
+            waiter = self._drain_waiter
+            if waiter is None:
+                return
+            self._drain_waiter = None
+            if waiter.done():
+                return
+            if exc is None:
+                waiter.set_result(None)
+            else:
+                waiter.set_exception(exc)
+
+    def pause_writing(self) -> None:  # pragma: no cover
+        assert not self._paused
+        self._paused = True
+
+    def resume_writing(self) -> None:  # pragma: no cover
+        assert self._paused
+        self._paused = False
+
+        waiter = self._drain_waiter
+        if waiter is not None:
+            self._drain_waiter = None
+            if not waiter.done():
+                waiter.set_result(None)
+
+    def data_received(self, data: bytes) -> None:
+        self.reader.feed_data(data)
+
+    def eof_received(self) -> None:
+        """
+        Close the transport after receiving EOF.
+
+        The WebSocket protocol has its own closing handshake: endpoints close
+        the TCP or TLS connection after sending and receiving a close frame.
+
+        As a consequence, they never need to write after receiving EOF, so
+        there's no reason to keep the transport open by returning :obj:`True`.
+
+        Besides, that doesn't work on TLS connections.
+
+        """
+        self.reader.feed_eof()
+
+
+def broadcast(
+    websockets: Iterable[WebSocketCommonProtocol],
+    message: Data,
+    raise_exceptions: bool = False,
+) -> None:
+    """
+    Broadcast a message to several WebSocket connections.
+
+    A string (:class:`str`) is sent as a Text_ frame. A bytestring or bytes-like
+    object (:class:`bytes`, :class:`bytearray`, or :class:`memoryview`) is sent
+    as a Binary_ frame.
+
+    .. _Text: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+    .. _Binary: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+
+    :func:`broadcast` pushes the message synchronously to all connections even
+    if their write buffers are overflowing. There's no backpressure.
+
+    If you broadcast messages faster than a connection can handle them, messages
+    will pile up in its write buffer until the connection times out. Keep
+    ``ping_interval`` and ``ping_timeout`` low to prevent excessive memory usage
+    from slow connections.
+
+    Unlike :meth:`~websockets.server.WebSocketServerProtocol.send`,
+    :func:`broadcast` doesn't support sending fragmented messages. Indeed,
+    fragmentation is useful for sending large messages without buffering them in
+    memory, while :func:`broadcast` buffers one copy per connection as fast as
+    possible.
+
+    :func:`broadcast` skips connections that aren't open in order to avoid
+    errors on connections where the closing handshake is in progress.
+
+    :func:`broadcast` ignores failures to write the message on some connections.
+    It continues writing to other connections. On Python 3.11 and above, you
+    may set ``raise_exceptions`` to :obj:`True` to record failures and raise all
+    exceptions in a :pep:`654` :exc:`ExceptionGroup`.
+
+    Args:
+        websockets: WebSocket connections to which the message will be sent.
+        message: Message to send.
+        raise_exceptions: Whether to raise an exception in case of failures.
+
+    Raises:
+        TypeError: If ``message`` doesn't have a supported type.
+
+    """
+    if not isinstance(message, (str, bytes, bytearray, memoryview)):
+        raise TypeError("data must be str or bytes-like")
+
+    if raise_exceptions:
+        if sys.version_info[:2] < (3, 11):  # pragma: no cover
+            raise ValueError("raise_exceptions requires at least Python 3.11")
+        exceptions = []
+
+    opcode, data = prepare_data(message)
+
+    for websocket in websockets:
+        if websocket.state is not State.OPEN:
+            continue
+
+        if websocket._fragmented_message_waiter is not None:
+            if raise_exceptions:
+                exception = RuntimeError("sending a fragmented message")
+                exceptions.append(exception)
+            else:
+                websocket.logger.warning(
+                    "skipped broadcast: sending a fragmented message",
+                )
+
+        try:
+            websocket.write_frame_sync(True, opcode, data)
+        except Exception as write_exception:
+            if raise_exceptions:
+                exception = RuntimeError("failed to write message")
+                exception.__cause__ = write_exception
+                exceptions.append(exception)
+            else:
+                websocket.logger.warning(
+                    "skipped broadcast: failed to write message",
+                    exc_info=True,
+                )
+
+    if raise_exceptions:
+        raise ExceptionGroup("skipped broadcast", exceptions)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/legacy/server.py b/iot_env/lib/python3.8/site-packages/websockets/legacy/server.py
new file mode 100644
index 0000000..25d5a71
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/legacy/server.py
@@ -0,0 +1,1196 @@
+from __future__ import annotations
+
+import asyncio
+import email.utils
+import functools
+import http
+import inspect
+import logging
+import socket
+import warnings
+from types import TracebackType
+from typing import (
+    Any,
+    Awaitable,
+    Callable,
+    Generator,
+    Iterable,
+    List,
+    Optional,
+    Sequence,
+    Set,
+    Tuple,
+    Type,
+    Union,
+    cast,
+)
+
+from ..datastructures import Headers, HeadersLike, MultipleValuesError
+from ..exceptions import (
+    AbortHandshake,
+    InvalidHandshake,
+    InvalidHeader,
+    InvalidMessage,
+    InvalidOrigin,
+    InvalidUpgrade,
+    NegotiationError,
+)
+from ..extensions import Extension, ServerExtensionFactory
+from ..extensions.permessage_deflate import enable_server_permessage_deflate
+from ..headers import (
+    build_extension,
+    parse_extension,
+    parse_subprotocol,
+    validate_subprotocols,
+)
+from ..http import USER_AGENT
+from ..protocol import State
+from ..typing import ExtensionHeader, LoggerLike, Origin, Subprotocol
+from .compatibility import asyncio_timeout, loop_if_py_lt_38
+from .handshake import build_response, check_request
+from .http import read_request
+from .protocol import WebSocketCommonProtocol
+
+
+__all__ = ["serve", "unix_serve", "WebSocketServerProtocol", "WebSocketServer"]
+
+
+HeadersLikeOrCallable = Union[HeadersLike, Callable[[str, Headers], HeadersLike]]
+
+HTTPResponse = Tuple[http.HTTPStatus, HeadersLike, bytes]
+
+
+class WebSocketServerProtocol(WebSocketCommonProtocol):
+    """
+    WebSocket server connection.
+
+    :class:`WebSocketServerProtocol` provides :meth:`recv` and :meth:`send`
+    coroutines for receiving and sending messages.
+
+    It supports asynchronous iteration to receive messages::
+
+        async for message in websocket:
+            await process(message)
+
+    The iterator exits normally when the connection is closed with close code
+    1000 (OK) or 1001 (going away) or without a close code. It raises
+    a :exc:`~websockets.exceptions.ConnectionClosedError` when the connection
+    is closed with any other code.
+
+    You may customize the opening handshake in a subclass by
+    overriding :meth:`process_request` or :meth:`select_subprotocol`.
+
+    Args:
+        ws_server: WebSocket server that created this connection.
+
+    See :func:`serve` for the documentation of ``ws_handler``, ``logger``, ``origins``,
+    ``extensions``, ``subprotocols``, ``extra_headers``, and ``server_header``.
+
+    See :class:`~websockets.legacy.protocol.WebSocketCommonProtocol` for the
+    documentation of ``ping_interval``, ``ping_timeout``, ``close_timeout``,
+    ``max_size``, ``max_queue``, ``read_limit``, and ``write_limit``.
+
+    """
+
+    is_client = False
+    side = "server"
+
+    def __init__(
+        self,
+        ws_handler: Union[
+            Callable[[WebSocketServerProtocol], Awaitable[Any]],
+            Callable[[WebSocketServerProtocol, str], Awaitable[Any]],  # deprecated
+        ],
+        ws_server: WebSocketServer,
+        *,
+        logger: Optional[LoggerLike] = None,
+        origins: Optional[Sequence[Optional[Origin]]] = None,
+        extensions: Optional[Sequence[ServerExtensionFactory]] = None,
+        subprotocols: Optional[Sequence[Subprotocol]] = None,
+        extra_headers: Optional[HeadersLikeOrCallable] = None,
+        server_header: Optional[str] = USER_AGENT,
+        process_request: Optional[
+            Callable[[str, Headers], Awaitable[Optional[HTTPResponse]]]
+        ] = None,
+        select_subprotocol: Optional[
+            Callable[[Sequence[Subprotocol], Sequence[Subprotocol]], Subprotocol]
+        ] = None,
+        open_timeout: Optional[float] = 10,
+        **kwargs: Any,
+    ) -> None:
+        if logger is None:
+            logger = logging.getLogger("websockets.server")
+        super().__init__(logger=logger, **kwargs)
+        # For backwards compatibility with 6.0 or earlier.
+        if origins is not None and "" in origins:
+            warnings.warn("use None instead of '' in origins", DeprecationWarning)
+            origins = [None if origin == "" else origin for origin in origins]
+        # For backwards compatibility with 10.0 or earlier. Done here in
+        # addition to serve to trigger the deprecation warning on direct
+        # use of WebSocketServerProtocol.
+        self.ws_handler = remove_path_argument(ws_handler)
+        self.ws_server = ws_server
+        self.origins = origins
+        self.available_extensions = extensions
+        self.available_subprotocols = subprotocols
+        self.extra_headers = extra_headers
+        self.server_header = server_header
+        self._process_request = process_request
+        self._select_subprotocol = select_subprotocol
+        self.open_timeout = open_timeout
+
+    def connection_made(self, transport: asyncio.BaseTransport) -> None:
+        """
+        Register connection and initialize a task to handle it.
+
+        """
+        super().connection_made(transport)
+        # Register the connection with the server before creating the handler
+        # task. Registering at the beginning of the handler coroutine would
+        # create a race condition between the creation of the task, which
+        # schedules its execution, and the moment the handler starts running.
+        self.ws_server.register(self)
+        self.handler_task = self.loop.create_task(self.handler())
+
+    async def handler(self) -> None:
+        """
+        Handle the lifecycle of a WebSocket connection.
+
+        Since this method doesn't have a caller able to handle exceptions, it
+        attempts to log relevant ones and guarantees that the TCP connection is
+        closed before exiting.
+
+        """
+        try:
+            try:
+                async with asyncio_timeout(self.open_timeout):
+                    await self.handshake(
+                        origins=self.origins,
+                        available_extensions=self.available_extensions,
+                        available_subprotocols=self.available_subprotocols,
+                        extra_headers=self.extra_headers,
+                    )
+            # Remove this branch when dropping support for Python < 3.8
+            # because CancelledError no longer inherits Exception.
+            except asyncio.CancelledError:  # pragma: no cover
+                raise
+            except asyncio.TimeoutError:  # pragma: no cover
+                raise
+            except ConnectionError:
+                raise
+            except Exception as exc:
+                if isinstance(exc, AbortHandshake):
+                    status, headers, body = exc.status, exc.headers, exc.body
+                elif isinstance(exc, InvalidOrigin):
+                    if self.debug:
+                        self.logger.debug("! invalid origin", exc_info=True)
+                    status, headers, body = (
+                        http.HTTPStatus.FORBIDDEN,
+                        Headers(),
+                        f"Failed to open a WebSocket connection: {exc}.\n".encode(),
+                    )
+                elif isinstance(exc, InvalidUpgrade):
+                    if self.debug:
+                        self.logger.debug("! invalid upgrade", exc_info=True)
+                    status, headers, body = (
+                        http.HTTPStatus.UPGRADE_REQUIRED,
+                        Headers([("Upgrade", "websocket")]),
+                        (
+                            f"Failed to open a WebSocket connection: {exc}.\n"
+                            f"\n"
+                            f"You cannot access a WebSocket server directly "
+                            f"with a browser. You need a WebSocket client.\n"
+                        ).encode(),
+                    )
+                elif isinstance(exc, InvalidHandshake):
+                    if self.debug:
+                        self.logger.debug("! invalid handshake", exc_info=True)
+                    status, headers, body = (
+                        http.HTTPStatus.BAD_REQUEST,
+                        Headers(),
+                        f"Failed to open a WebSocket connection: {exc}.\n".encode(),
+                    )
+                else:
+                    self.logger.error("opening handshake failed", exc_info=True)
+                    status, headers, body = (
+                        http.HTTPStatus.INTERNAL_SERVER_ERROR,
+                        Headers(),
+                        (
+                            b"Failed to open a WebSocket connection.\n"
+                            b"See server log for more information.\n"
+                        ),
+                    )
+
+                headers.setdefault("Date", email.utils.formatdate(usegmt=True))
+                if self.server_header is not None:
+                    headers.setdefault("Server", self.server_header)
+
+                headers.setdefault("Content-Length", str(len(body)))
+                headers.setdefault("Content-Type", "text/plain")
+                headers.setdefault("Connection", "close")
+
+                self.write_http_response(status, headers, body)
+                self.logger.info(
+                    "connection failed (%d %s)", status.value, status.phrase
+                )
+                await self.close_transport()
+                return
+
+            try:
+                await self.ws_handler(self)
+            except Exception:
+                self.logger.error("connection handler failed", exc_info=True)
+                if not self.closed:
+                    self.fail_connection(1011)
+                raise
+
+            try:
+                await self.close()
+            except ConnectionError:
+                raise
+            except Exception:
+                self.logger.error("closing handshake failed", exc_info=True)
+                raise
+
+        except Exception:
+            # Last-ditch attempt to avoid leaking connections on errors.
+            try:
+                self.transport.close()
+            except Exception:  # pragma: no cover
+                pass
+
+        finally:
+            # Unregister the connection with the server when the handler task
+            # terminates. Registration is tied to the lifecycle of the handler
+            # task because the server waits for tasks attached to registered
+            # connections before terminating.
+            self.ws_server.unregister(self)
+            self.logger.info("connection closed")
+
+    async def read_http_request(self) -> Tuple[str, Headers]:
+        """
+        Read request line and headers from the HTTP request.
+
+        If the request contains a body, it may be read from ``self.reader``
+        after this coroutine returns.
+
+        Raises:
+            InvalidMessage: if the HTTP message is malformed or isn't an
+                HTTP/1.1 GET request.
+
+        """
+        try:
+            path, headers = await read_request(self.reader)
+        except asyncio.CancelledError:  # pragma: no cover
+            raise
+        except Exception as exc:
+            raise InvalidMessage("did not receive a valid HTTP request") from exc
+
+        if self.debug:
+            self.logger.debug("< GET %s HTTP/1.1", path)
+            for key, value in headers.raw_items():
+                self.logger.debug("< %s: %s", key, value)
+
+        self.path = path
+        self.request_headers = headers
+
+        return path, headers
+
+    def write_http_response(
+        self, status: http.HTTPStatus, headers: Headers, body: Optional[bytes] = None
+    ) -> None:
+        """
+        Write status line and headers to the HTTP response.
+
+        This coroutine is also able to write a response body.
+
+        """
+        self.response_headers = headers
+
+        if self.debug:
+            self.logger.debug("> HTTP/1.1 %d %s", status.value, status.phrase)
+            for key, value in headers.raw_items():
+                self.logger.debug("> %s: %s", key, value)
+            if body is not None:
+                self.logger.debug("> [body] (%d bytes)", len(body))
+
+        # Since the status line and headers only contain ASCII characters,
+        # we can keep this simple.
+        response = f"HTTP/1.1 {status.value} {status.phrase}\r\n"
+        response += str(headers)
+
+        self.transport.write(response.encode())
+
+        if body is not None:
+            self.transport.write(body)
+
+    async def process_request(
+        self, path: str, request_headers: Headers
+    ) -> Optional[HTTPResponse]:
+        """
+        Intercept the HTTP request and return an HTTP response if appropriate.
+
+        You may override this method in a :class:`WebSocketServerProtocol`
+        subclass, for example:
+
+        * to return an HTTP 200 OK response on a given path; then a load
+          balancer can use this path for a health check;
+        * to authenticate the request and return an HTTP 401 Unauthorized or an
+          HTTP 403 Forbidden when authentication fails.
+
+        You may also override this method with the ``process_request``
+        argument of :func:`serve` and :class:`WebSocketServerProtocol`. This
+        is equivalent, except ``process_request`` won't have access to the
+        protocol instance, so it can't store information for later use.
+
+        :meth:`process_request` is expected to complete quickly. If it may run
+        for a long time, then it should await :meth:`wait_closed` and exit if
+        :meth:`wait_closed` completes, or else it could prevent the server
+        from shutting down.
+
+        Args:
+            path: request path, including optional query string.
+            request_headers: request headers.
+
+        Returns:
+            Optional[Tuple[http.HTTPStatus, HeadersLike, bytes]]: :obj:`None`
+            to continue the WebSocket handshake normally.
+
+            An HTTP response, represented by a 3-uple of the response status,
+            headers, and body, to abort the WebSocket handshake and return
+            that HTTP response instead.
+
+        """
+        if self._process_request is not None:
+            response = self._process_request(path, request_headers)
+            if isinstance(response, Awaitable):
+                return await response
+            else:
+                # For backwards compatibility with 7.0.
+                warnings.warn(
+                    "declare process_request as a coroutine", DeprecationWarning
+                )
+                return response
+        return None
+
+    @staticmethod
+    def process_origin(
+        headers: Headers, origins: Optional[Sequence[Optional[Origin]]] = None
+    ) -> Optional[Origin]:
+        """
+        Handle the Origin HTTP request header.
+
+        Args:
+            headers: request headers.
+            origins: optional list of acceptable origins.
+
+        Raises:
+            InvalidOrigin: if the origin isn't acceptable.
+
+        """
+        # "The user agent MUST NOT include more than one Origin header field"
+        # per https://www.rfc-editor.org/rfc/rfc6454.html#section-7.3.
+        try:
+            origin = cast(Optional[Origin], headers.get("Origin"))
+        except MultipleValuesError as exc:
+            raise InvalidHeader("Origin", "more than one Origin header found") from exc
+        if origins is not None:
+            if origin not in origins:
+                raise InvalidOrigin(origin)
+        return origin
+
+    @staticmethod
+    def process_extensions(
+        headers: Headers,
+        available_extensions: Optional[Sequence[ServerExtensionFactory]],
+    ) -> Tuple[Optional[str], List[Extension]]:
+        """
+        Handle the Sec-WebSocket-Extensions HTTP request header.
+
+        Accept or reject each extension proposed in the client request.
+        Negotiate parameters for accepted extensions.
+
+        Return the Sec-WebSocket-Extensions HTTP response header and the list
+        of accepted extensions.
+
+        :rfc:`6455` leaves the rules up to the specification of each
+        :extension.
+
+        To provide this level of flexibility, for each extension proposed by
+        the client, we check for a match with each extension available in the
+        server configuration. If no match is found, the extension is ignored.
+
+        If several variants of the same extension are proposed by the client,
+        it may be accepted several times, which won't make sense in general.
+        Extensions must implement their own requirements. For this purpose,
+        the list of previously accepted extensions is provided.
+
+        This process doesn't allow the server to reorder extensions. It can
+        only select a subset of the extensions proposed by the client.
+
+        Other requirements, for example related to mandatory extensions or the
+        order of extensions, may be implemented by overriding this method.
+
+        Args:
+            headers: request headers.
+            extensions: optional list of supported extensions.
+
+        Raises:
+            InvalidHandshake: to abort the handshake with an HTTP 400 error.
+
+        """
+        response_header_value: Optional[str] = None
+
+        extension_headers: List[ExtensionHeader] = []
+        accepted_extensions: List[Extension] = []
+
+        header_values = headers.get_all("Sec-WebSocket-Extensions")
+
+        if header_values and available_extensions:
+            parsed_header_values: List[ExtensionHeader] = sum(
+                [parse_extension(header_value) for header_value in header_values], []
+            )
+
+            for name, request_params in parsed_header_values:
+                for ext_factory in available_extensions:
+                    # Skip non-matching extensions based on their name.
+                    if ext_factory.name != name:
+                        continue
+
+                    # Skip non-matching extensions based on their params.
+                    try:
+                        response_params, extension = ext_factory.process_request_params(
+                            request_params, accepted_extensions
+                        )
+                    except NegotiationError:
+                        continue
+
+                    # Add matching extension to the final list.
+                    extension_headers.append((name, response_params))
+                    accepted_extensions.append(extension)
+
+                    # Break out of the loop once we have a match.
+                    break
+
+                # If we didn't break from the loop, no extension in our list
+                # matched what the client sent. The extension is declined.
+
+        # Serialize extension header.
+        if extension_headers:
+            response_header_value = build_extension(extension_headers)
+
+        return response_header_value, accepted_extensions
+
+    # Not @staticmethod because it calls self.select_subprotocol()
+    def process_subprotocol(
+        self, headers: Headers, available_subprotocols: Optional[Sequence[Subprotocol]]
+    ) -> Optional[Subprotocol]:
+        """
+        Handle the Sec-WebSocket-Protocol HTTP request header.
+
+        Return Sec-WebSocket-Protocol HTTP response header, which is the same
+        as the selected subprotocol.
+
+        Args:
+            headers: request headers.
+            available_subprotocols: optional list of supported subprotocols.
+
+        Raises:
+            InvalidHandshake: to abort the handshake with an HTTP 400 error.
+
+        """
+        subprotocol: Optional[Subprotocol] = None
+
+        header_values = headers.get_all("Sec-WebSocket-Protocol")
+
+        if header_values and available_subprotocols:
+            parsed_header_values: List[Subprotocol] = sum(
+                [parse_subprotocol(header_value) for header_value in header_values], []
+            )
+
+            subprotocol = self.select_subprotocol(
+                parsed_header_values, available_subprotocols
+            )
+
+        return subprotocol
+
+    def select_subprotocol(
+        self,
+        client_subprotocols: Sequence[Subprotocol],
+        server_subprotocols: Sequence[Subprotocol],
+    ) -> Optional[Subprotocol]:
+        """
+        Pick a subprotocol among those supported by the client and the server.
+
+        If several subprotocols are available, select the preferred subprotocol
+        by giving equal weight to the preferences of the client and the server.
+
+        If no subprotocol is available, proceed without a subprotocol.
+
+        You may provide a ``select_subprotocol`` argument to :func:`serve` or
+        :class:`WebSocketServerProtocol` to override this logic. For example,
+        you could reject the handshake if the client doesn't support a
+        particular subprotocol, rather than accept the handshake without that
+        subprotocol.
+
+        Args:
+            client_subprotocols: list of subprotocols offered by the client.
+            server_subprotocols: list of subprotocols available on the server.
+
+        Returns:
+            Optional[Subprotocol]: Selected subprotocol, if a common subprotocol
+            was found.
+
+            :obj:`None` to continue without a subprotocol.
+
+        """
+        if self._select_subprotocol is not None:
+            return self._select_subprotocol(client_subprotocols, server_subprotocols)
+
+        subprotocols = set(client_subprotocols) & set(server_subprotocols)
+        if not subprotocols:
+            return None
+        return sorted(
+            subprotocols,
+            key=lambda p: client_subprotocols.index(p) + server_subprotocols.index(p),
+        )[0]
+
+    async def handshake(
+        self,
+        origins: Optional[Sequence[Optional[Origin]]] = None,
+        available_extensions: Optional[Sequence[ServerExtensionFactory]] = None,
+        available_subprotocols: Optional[Sequence[Subprotocol]] = None,
+        extra_headers: Optional[HeadersLikeOrCallable] = None,
+    ) -> str:
+        """
+        Perform the server side of the opening handshake.
+
+        Args:
+            origins: list of acceptable values of the Origin HTTP header;
+                include :obj:`None` if the lack of an origin is acceptable.
+            extensions: list of supported extensions, in order in which they
+                should be tried.
+            subprotocols: list of supported subprotocols, in order of
+                decreasing preference.
+            extra_headers: arbitrary HTTP headers to add to the response when
+                the handshake succeeds.
+
+        Returns:
+            str: path of the URI of the request.
+
+        Raises:
+            InvalidHandshake: if the handshake fails.
+
+        """
+        path, request_headers = await self.read_http_request()
+
+        # Hook for customizing request handling, for example checking
+        # authentication or treating some paths as plain HTTP endpoints.
+        early_response_awaitable = self.process_request(path, request_headers)
+        if isinstance(early_response_awaitable, Awaitable):
+            early_response = await early_response_awaitable
+        else:
+            # For backwards compatibility with 7.0.
+            warnings.warn("declare process_request as a coroutine", DeprecationWarning)
+            early_response = early_response_awaitable
+
+        # The connection may drop while process_request is running.
+        if self.state is State.CLOSED:
+            # This subclass of ConnectionError is silently ignored in handler().
+            raise BrokenPipeError("connection closed during opening handshake")
+
+        # Change the response to a 503 error if the server is shutting down.
+        if not self.ws_server.is_serving():
+            early_response = (
+                http.HTTPStatus.SERVICE_UNAVAILABLE,
+                [],
+                b"Server is shutting down.\n",
+            )
+
+        if early_response is not None:
+            raise AbortHandshake(*early_response)
+
+        key = check_request(request_headers)
+
+        self.origin = self.process_origin(request_headers, origins)
+
+        extensions_header, self.extensions = self.process_extensions(
+            request_headers, available_extensions
+        )
+
+        protocol_header = self.subprotocol = self.process_subprotocol(
+            request_headers, available_subprotocols
+        )
+
+        response_headers = Headers()
+
+        build_response(response_headers, key)
+
+        if extensions_header is not None:
+            response_headers["Sec-WebSocket-Extensions"] = extensions_header
+
+        if protocol_header is not None:
+            response_headers["Sec-WebSocket-Protocol"] = protocol_header
+
+        if callable(extra_headers):
+            extra_headers = extra_headers(path, self.request_headers)
+        if extra_headers is not None:
+            response_headers.update(extra_headers)
+
+        response_headers.setdefault("Date", email.utils.formatdate(usegmt=True))
+        if self.server_header is not None:
+            response_headers.setdefault("Server", self.server_header)
+
+        self.write_http_response(http.HTTPStatus.SWITCHING_PROTOCOLS, response_headers)
+
+        self.logger.info("connection open")
+
+        self.connection_open()
+
+        return path
+
+
+class WebSocketServer:
+    """
+    WebSocket server returned by :func:`serve`.
+
+    This class provides the same interface as :class:`~asyncio.Server`,
+    notably the :meth:`~asyncio.Server.close`
+    and :meth:`~asyncio.Server.wait_closed` methods.
+
+    It keeps track of WebSocket connections in order to close them properly
+    when shutting down.
+
+    Args:
+        logger: Logger for this server.
+            It defaults to ``logging.getLogger("websockets.server")``.
+            See the :doc:`logging guide <../../topics/logging>` for details.
+
+    """
+
+    def __init__(self, logger: Optional[LoggerLike] = None):
+        if logger is None:
+            logger = logging.getLogger("websockets.server")
+        self.logger = logger
+
+        # Keep track of active connections.
+        self.websockets: Set[WebSocketServerProtocol] = set()
+
+        # Task responsible for closing the server and terminating connections.
+        self.close_task: Optional[asyncio.Task[None]] = None
+
+        # Completed when the server is closed and connections are terminated.
+        self.closed_waiter: asyncio.Future[None]
+
+    def wrap(self, server: asyncio.base_events.Server) -> None:
+        """
+        Attach to a given :class:`~asyncio.Server`.
+
+        Since :meth:`~asyncio.loop.create_server` doesn't support injecting a
+        custom ``Server`` class, the easiest solution that doesn't rely on
+        private :mod:`asyncio` APIs is to:
+
+        - instantiate a :class:`WebSocketServer`
+        - give the protocol factory a reference to that instance
+        - call :meth:`~asyncio.loop.create_server` with the factory
+        - attach the resulting :class:`~asyncio.Server` with this method
+
+        """
+        self.server = server
+        for sock in server.sockets:
+            if sock.family == socket.AF_INET:
+                name = "%s:%d" % sock.getsockname()
+            elif sock.family == socket.AF_INET6:
+                name = "[%s]:%d" % sock.getsockname()[:2]
+            elif sock.family == socket.AF_UNIX:
+                name = sock.getsockname()
+            # In the unlikely event that someone runs websockets over a
+            # protocol other than IP or Unix sockets, avoid crashing.
+            else:  # pragma: no cover
+                name = str(sock.getsockname())
+            self.logger.info("server listening on %s", name)
+
+        # Initialized here because we need a reference to the event loop.
+        # This should be moved back to __init__ when dropping Python < 3.10.
+        self.closed_waiter = server.get_loop().create_future()
+
+    def register(self, protocol: WebSocketServerProtocol) -> None:
+        """
+        Register a connection with this server.
+
+        """
+        self.websockets.add(protocol)
+
+    def unregister(self, protocol: WebSocketServerProtocol) -> None:
+        """
+        Unregister a connection with this server.
+
+        """
+        self.websockets.remove(protocol)
+
+    def close(self, close_connections: bool = True) -> None:
+        """
+        Close the server.
+
+        * Close the underlying :class:`~asyncio.Server`.
+        * When ``close_connections`` is :obj:`True`, which is the default,
+          close existing connections. Specifically:
+
+          * Reject opening WebSocket connections with an HTTP 503 (service
+            unavailable) error. This happens when the server accepted the TCP
+            connection but didn't complete the opening handshake before closing.
+          * Close open WebSocket connections with close code 1001 (going away).
+
+        * Wait until all connection handlers terminate.
+
+        :meth:`close` is idempotent.
+
+        """
+        if self.close_task is None:
+            self.close_task = self.get_loop().create_task(
+                self._close(close_connections)
+            )
+
+    async def _close(self, close_connections: bool) -> None:
+        """
+        Implementation of :meth:`close`.
+
+        This calls :meth:`~asyncio.Server.close` on the underlying
+        :class:`~asyncio.Server` object to stop accepting new connections and
+        then closes open connections with close code 1001.
+
+        """
+        self.logger.info("server closing")
+
+        # Stop accepting new connections.
+        self.server.close()
+
+        # Wait until self.server.close() completes.
+        await self.server.wait_closed()
+
+        # Wait until all accepted connections reach connection_made() and call
+        # register(). See https://bugs.python.org/issue34852 for details.
+        await asyncio.sleep(0, **loop_if_py_lt_38(self.get_loop()))
+
+        if close_connections:
+            # Close OPEN connections with status code 1001. Since the server was
+            # closed, handshake() closes OPENING connections with an HTTP 503
+            # error. Wait until all connections are closed.
+
+            close_tasks = [
+                asyncio.create_task(websocket.close(1001))
+                for websocket in self.websockets
+                if websocket.state is not State.CONNECTING
+            ]
+            # asyncio.wait doesn't accept an empty first argument.
+            if close_tasks:
+                await asyncio.wait(
+                    close_tasks,
+                    **loop_if_py_lt_38(self.get_loop()),
+                )
+
+        # Wait until all connection handlers are complete.
+
+        # asyncio.wait doesn't accept an empty first argument.
+        if self.websockets:
+            await asyncio.wait(
+                [websocket.handler_task for websocket in self.websockets],
+                **loop_if_py_lt_38(self.get_loop()),
+            )
+
+        # Tell wait_closed() to return.
+        self.closed_waiter.set_result(None)
+
+        self.logger.info("server closed")
+
+    async def wait_closed(self) -> None:
+        """
+        Wait until the server is closed.
+
+        When :meth:`wait_closed` returns, all TCP connections are closed and
+        all connection handlers have returned.
+
+        To ensure a fast shutdown, a connection handler should always be
+        awaiting at least one of:
+
+        * :meth:`~WebSocketServerProtocol.recv`: when the connection is closed,
+          it raises :exc:`~websockets.exceptions.ConnectionClosedOK`;
+        * :meth:`~WebSocketServerProtocol.wait_closed`: when the connection is
+          closed, it returns.
+
+        Then the connection handler is immediately notified of the shutdown;
+        it can clean up and exit.
+
+        """
+        await asyncio.shield(self.closed_waiter)
+
+    def get_loop(self) -> asyncio.AbstractEventLoop:
+        """
+        See :meth:`asyncio.Server.get_loop`.
+
+        """
+        return self.server.get_loop()
+
+    def is_serving(self) -> bool:
+        """
+        See :meth:`asyncio.Server.is_serving`.
+
+        """
+        return self.server.is_serving()
+
+    async def start_serving(self) -> None:  # pragma: no cover
+        """
+        See :meth:`asyncio.Server.start_serving`.
+
+        Typical use::
+
+            server = await serve(..., start_serving=False)
+            # perform additional setup here...
+            # ... then start the server
+            await server.start_serving()
+
+        """
+        await self.server.start_serving()
+
+    async def serve_forever(self) -> None:  # pragma: no cover
+        """
+        See :meth:`asyncio.Server.serve_forever`.
+
+        Typical use::
+
+            server = await serve(...)
+            # this coroutine doesn't return
+            # canceling it stops the server
+            await server.serve_forever()
+
+        This is an alternative to using :func:`serve` as an asynchronous context
+        manager. Shutdown is triggered by canceling :meth:`serve_forever`
+        instead of exiting a :func:`serve` context.
+
+        """
+        await self.server.serve_forever()
+
+    @property
+    def sockets(self) -> Iterable[socket.socket]:
+        """
+        See :attr:`asyncio.Server.sockets`.
+
+        """
+        return self.server.sockets
+
+    async def __aenter__(self) -> WebSocketServer:  # pragma: no cover
+        return self
+
+    async def __aexit__(
+        self,
+        exc_type: Optional[Type[BaseException]],
+        exc_value: Optional[BaseException],
+        traceback: Optional[TracebackType],
+    ) -> None:  # pragma: no cover
+        self.close()
+        await self.wait_closed()
+
+
+class Serve:
+    """
+    Start a WebSocket server listening on ``host`` and ``port``.
+
+    Whenever a client connects, the server creates a
+    :class:`WebSocketServerProtocol`, performs the opening handshake, and
+    delegates to the connection handler, ``ws_handler``.
+
+    The handler receives the :class:`WebSocketServerProtocol` and uses it to
+    send and receive messages.
+
+    Once the handler completes, either normally or with an exception, the
+    server performs the closing handshake and closes the connection.
+
+    Awaiting :func:`serve` yields a :class:`WebSocketServer`. This object
+    provides a :meth:`~WebSocketServer.close` method to shut down the server::
+
+        stop = asyncio.Future()  # set this future to exit the server
+
+        server = await serve(...)
+        await stop
+        await server.close()
+
+    :func:`serve` can be used as an asynchronous context manager. Then, the
+    server is shut down automatically when exiting the context::
+
+        stop = asyncio.Future()  # set this future to exit the server
+
+        async with serve(...):
+            await stop
+
+    Args:
+        ws_handler: Connection handler. It receives the WebSocket connection,
+            which is a :class:`WebSocketServerProtocol`, in argument.
+        host: Network interfaces the server binds to.
+            See :meth:`~asyncio.loop.create_server` for details.
+        port: TCP port the server listens on.
+            See :meth:`~asyncio.loop.create_server` for details.
+        create_protocol: Factory for the :class:`asyncio.Protocol` managing
+            the connection. It defaults to :class:`WebSocketServerProtocol`.
+            Set it to a wrapper or a subclass to customize connection handling.
+        logger: Logger for this server.
+            It defaults to ``logging.getLogger("websockets.server")``.
+            See the :doc:`logging guide <../../topics/logging>` for details.
+        compression: The "permessage-deflate" extension is enabled by default.
+            Set ``compression`` to :obj:`None` to disable it. See the
+            :doc:`compression guide <../../topics/compression>` for details.
+        origins: Acceptable values of the ``Origin`` header, for defending
+            against Cross-Site WebSocket Hijacking attacks. Include :obj:`None`
+            in the list if the lack of an origin is acceptable.
+        extensions: List of supported extensions, in order in which they
+            should be negotiated and run.
+        subprotocols: List of supported subprotocols, in order of decreasing
+            preference.
+        extra_headers (Union[HeadersLike, Callable[[str, Headers], HeadersLike]]):
+            Arbitrary HTTP headers to add to the response. This can be
+            a :data:`~websockets.datastructures.HeadersLike` or a callable
+            taking the request path and headers in arguments and returning
+            a :data:`~websockets.datastructures.HeadersLike`.
+        server_header: Value of  the ``Server`` response header.
+            It defaults to ``"Python/x.y.z websockets/X.Y"``.
+            Setting it to :obj:`None` removes the header.
+        process_request (Optional[Callable[[str, Headers], \
+            Awaitable[Optional[Tuple[http.HTTPStatus, HeadersLike, bytes]]]]]):
+            Intercept HTTP request before the opening handshake.
+            See :meth:`~WebSocketServerProtocol.process_request` for details.
+        select_subprotocol: Select a subprotocol supported by the client.
+            See :meth:`~WebSocketServerProtocol.select_subprotocol` for details.
+        open_timeout: Timeout for opening connections in seconds.
+            :obj:`None` disables the timeout.
+
+    See :class:`~websockets.legacy.protocol.WebSocketCommonProtocol` for the
+    documentation of ``ping_interval``, ``ping_timeout``, ``close_timeout``,
+    ``max_size``, ``max_queue``, ``read_limit``, and ``write_limit``.
+
+    Any other keyword arguments are passed the event loop's
+    :meth:`~asyncio.loop.create_server` method.
+
+    For example:
+
+    * You can set ``ssl`` to a :class:`~ssl.SSLContext` to enable TLS.
+
+    * You can set ``sock`` to a :obj:`~socket.socket` that you created
+      outside of websockets.
+
+    Returns:
+        WebSocketServer: WebSocket server.
+
+    """
+
+    def __init__(
+        self,
+        ws_handler: Union[
+            Callable[[WebSocketServerProtocol], Awaitable[Any]],
+            Callable[[WebSocketServerProtocol, str], Awaitable[Any]],  # deprecated
+        ],
+        host: Optional[Union[str, Sequence[str]]] = None,
+        port: Optional[int] = None,
+        *,
+        create_protocol: Optional[Callable[..., WebSocketServerProtocol]] = None,
+        logger: Optional[LoggerLike] = None,
+        compression: Optional[str] = "deflate",
+        origins: Optional[Sequence[Optional[Origin]]] = None,
+        extensions: Optional[Sequence[ServerExtensionFactory]] = None,
+        subprotocols: Optional[Sequence[Subprotocol]] = None,
+        extra_headers: Optional[HeadersLikeOrCallable] = None,
+        server_header: Optional[str] = USER_AGENT,
+        process_request: Optional[
+            Callable[[str, Headers], Awaitable[Optional[HTTPResponse]]]
+        ] = None,
+        select_subprotocol: Optional[
+            Callable[[Sequence[Subprotocol], Sequence[Subprotocol]], Subprotocol]
+        ] = None,
+        open_timeout: Optional[float] = 10,
+        ping_interval: Optional[float] = 20,
+        ping_timeout: Optional[float] = 20,
+        close_timeout: Optional[float] = None,
+        max_size: Optional[int] = 2**20,
+        max_queue: Optional[int] = 2**5,
+        read_limit: int = 2**16,
+        write_limit: int = 2**16,
+        **kwargs: Any,
+    ) -> None:
+        # Backwards compatibility: close_timeout used to be called timeout.
+        timeout: Optional[float] = kwargs.pop("timeout", None)
+        if timeout is None:
+            timeout = 10
+        else:
+            warnings.warn("rename timeout to close_timeout", DeprecationWarning)
+        # If both are specified, timeout is ignored.
+        if close_timeout is None:
+            close_timeout = timeout
+
+        # Backwards compatibility: create_protocol used to be called klass.
+        klass: Optional[Type[WebSocketServerProtocol]] = kwargs.pop("klass", None)
+        if klass is None:
+            klass = WebSocketServerProtocol
+        else:
+            warnings.warn("rename klass to create_protocol", DeprecationWarning)
+        # If both are specified, klass is ignored.
+        if create_protocol is None:
+            create_protocol = klass
+
+        # Backwards compatibility: recv() used to return None on closed connections
+        legacy_recv: bool = kwargs.pop("legacy_recv", False)
+
+        # Backwards compatibility: the loop parameter used to be supported.
+        _loop: Optional[asyncio.AbstractEventLoop] = kwargs.pop("loop", None)
+        if _loop is None:
+            loop = asyncio.get_event_loop()
+        else:
+            loop = _loop
+            warnings.warn("remove loop argument", DeprecationWarning)
+
+        ws_server = WebSocketServer(logger=logger)
+
+        secure = kwargs.get("ssl") is not None
+
+        if compression == "deflate":
+            extensions = enable_server_permessage_deflate(extensions)
+        elif compression is not None:
+            raise ValueError(f"unsupported compression: {compression}")
+
+        if subprotocols is not None:
+            validate_subprotocols(subprotocols)
+
+        factory = functools.partial(
+            create_protocol,
+            # For backwards compatibility with 10.0 or earlier. Done here in
+            # addition to WebSocketServerProtocol to trigger the deprecation
+            # warning once per serve() call rather than once per connection.
+            remove_path_argument(ws_handler),
+            ws_server,
+            host=host,
+            port=port,
+            secure=secure,
+            open_timeout=open_timeout,
+            ping_interval=ping_interval,
+            ping_timeout=ping_timeout,
+            close_timeout=close_timeout,
+            max_size=max_size,
+            max_queue=max_queue,
+            read_limit=read_limit,
+            write_limit=write_limit,
+            loop=_loop,
+            legacy_recv=legacy_recv,
+            origins=origins,
+            extensions=extensions,
+            subprotocols=subprotocols,
+            extra_headers=extra_headers,
+            server_header=server_header,
+            process_request=process_request,
+            select_subprotocol=select_subprotocol,
+            logger=logger,
+        )
+
+        if kwargs.pop("unix", False):
+            path: Optional[str] = kwargs.pop("path", None)
+            # unix_serve(path) must not specify host and port parameters.
+            assert host is None and port is None
+            create_server = functools.partial(
+                loop.create_unix_server, factory, path, **kwargs
+            )
+        else:
+            create_server = functools.partial(
+                loop.create_server, factory, host, port, **kwargs
+            )
+
+        # This is a coroutine function.
+        self._create_server = create_server
+        self.ws_server = ws_server
+
+    # async with serve(...)
+
+    async def __aenter__(self) -> WebSocketServer:
+        return await self
+
+    async def __aexit__(
+        self,
+        exc_type: Optional[Type[BaseException]],
+        exc_value: Optional[BaseException],
+        traceback: Optional[TracebackType],
+    ) -> None:
+        self.ws_server.close()
+        await self.ws_server.wait_closed()
+
+    # await serve(...)
+
+    def __await__(self) -> Generator[Any, None, WebSocketServer]:
+        # Create a suitable iterator by calling __await__ on a coroutine.
+        return self.__await_impl__().__await__()
+
+    async def __await_impl__(self) -> WebSocketServer:
+        server = await self._create_server()
+        self.ws_server.wrap(server)
+        return self.ws_server
+
+    # yield from serve(...) - remove when dropping Python < 3.10
+
+    __iter__ = __await__
+
+
+serve = Serve
+
+
+def unix_serve(
+    ws_handler: Union[
+        Callable[[WebSocketServerProtocol], Awaitable[Any]],
+        Callable[[WebSocketServerProtocol, str], Awaitable[Any]],  # deprecated
+    ],
+    path: Optional[str] = None,
+    **kwargs: Any,
+) -> Serve:
+    """
+    Start a WebSocket server listening on a Unix socket.
+
+    This function is identical to :func:`serve`, except the ``host`` and
+    ``port`` arguments are replaced by ``path``. It is only available on Unix.
+
+    Unrecognized keyword arguments are passed the event loop's
+    :meth:`~asyncio.loop.create_unix_server` method.
+
+    It's useful for deploying a server behind a reverse proxy such as nginx.
+
+    Args:
+        path: File system path to the Unix socket.
+
+    """
+    return serve(ws_handler, path=path, unix=True, **kwargs)
+
+
+def remove_path_argument(
+    ws_handler: Union[
+        Callable[[WebSocketServerProtocol], Awaitable[Any]],
+        Callable[[WebSocketServerProtocol, str], Awaitable[Any]],
+    ]
+) -> Callable[[WebSocketServerProtocol], Awaitable[Any]]:
+    try:
+        inspect.signature(ws_handler).bind(None)
+    except TypeError:
+        try:
+            inspect.signature(ws_handler).bind(None, "")
+        except TypeError:  # pragma: no cover
+            # ws_handler accepts neither one nor two arguments; leave it alone.
+            pass
+        else:
+            # ws_handler accepts two arguments; activate backwards compatibility.
+
+            # Enable deprecation warning and announce deprecation in 11.0.
+            # warnings.warn("remove second argument of ws_handler", DeprecationWarning)
+
+            async def _ws_handler(websocket: WebSocketServerProtocol) -> Any:
+                return await cast(
+                    Callable[[WebSocketServerProtocol, str], Awaitable[Any]],
+                    ws_handler,
+                )(websocket, websocket.path)
+
+            return _ws_handler
+
+    return cast(
+        Callable[[WebSocketServerProtocol], Awaitable[Any]],
+        ws_handler,
+    )
diff --git a/iot_env/lib/python3.8/site-packages/websockets/protocol.py b/iot_env/lib/python3.8/site-packages/websockets/protocol.py
new file mode 100644
index 0000000..3fdd388
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/protocol.py
@@ -0,0 +1,707 @@
+from __future__ import annotations
+
+import enum
+import logging
+import uuid
+from typing import Generator, List, Optional, Type, Union
+
+from .exceptions import (
+    ConnectionClosed,
+    ConnectionClosedError,
+    ConnectionClosedOK,
+    InvalidState,
+    PayloadTooBig,
+    ProtocolError,
+)
+from .extensions import Extension
+from .frames import (
+    OK_CLOSE_CODES,
+    OP_BINARY,
+    OP_CLOSE,
+    OP_CONT,
+    OP_PING,
+    OP_PONG,
+    OP_TEXT,
+    Close,
+    Frame,
+)
+from .http11 import Request, Response
+from .streams import StreamReader
+from .typing import LoggerLike, Origin, Subprotocol
+
+
+__all__ = [
+    "Protocol",
+    "Side",
+    "State",
+    "SEND_EOF",
+]
+
+Event = Union[Request, Response, Frame]
+"""Events that :meth:`~Protocol.events_received` may return."""
+
+
+class Side(enum.IntEnum):
+    """A WebSocket connection is either a server or a client."""
+
+    SERVER, CLIENT = range(2)
+
+
+SERVER = Side.SERVER
+CLIENT = Side.CLIENT
+
+
+class State(enum.IntEnum):
+    """A WebSocket connection is in one of these four states."""
+
+    CONNECTING, OPEN, CLOSING, CLOSED = range(4)
+
+
+CONNECTING = State.CONNECTING
+OPEN = State.OPEN
+CLOSING = State.CLOSING
+CLOSED = State.CLOSED
+
+
+SEND_EOF = b""
+"""Sentinel signaling that the TCP connection must be half-closed."""
+
+
+class Protocol:
+    """
+    Sans-I/O implementation of a WebSocket connection.
+
+    Args:
+        side: :attr:`~Side.CLIENT` or :attr:`~Side.SERVER`.
+        state: initial state of the WebSocket connection.
+        max_size: maximum size of incoming messages in bytes;
+            :obj:`None` disables the limit.
+        logger: logger for this connection; depending on ``side``,
+            defaults to ``logging.getLogger("websockets.client")``
+            or ``logging.getLogger("websockets.server")``;
+            see the :doc:`logging guide <../../topics/logging>` for details.
+
+    """
+
+    def __init__(
+        self,
+        side: Side,
+        *,
+        state: State = OPEN,
+        max_size: Optional[int] = 2**20,
+        logger: Optional[LoggerLike] = None,
+    ) -> None:
+        # Unique identifier. For logs.
+        self.id: uuid.UUID = uuid.uuid4()
+        """Unique identifier of the connection. Useful in logs."""
+
+        # Logger or LoggerAdapter for this connection.
+        if logger is None:
+            logger = logging.getLogger(f"websockets.{side.name.lower()}")
+        self.logger: LoggerLike = logger
+        """Logger for this connection."""
+
+        # Track if DEBUG is enabled. Shortcut logging calls if it isn't.
+        self.debug = logger.isEnabledFor(logging.DEBUG)
+
+        # Connection side. CLIENT or SERVER.
+        self.side = side
+
+        # Connection state. Initially OPEN because subclasses handle CONNECTING.
+        self.state = state
+
+        # Maximum size of incoming messages in bytes.
+        self.max_size = max_size
+
+        # Current size of incoming message in bytes. Only set while reading a
+        # fragmented message i.e. a data frames with the FIN bit not set.
+        self.cur_size: Optional[int] = None
+
+        # True while sending a fragmented message i.e. a data frames with the
+        # FIN bit not set.
+        self.expect_continuation_frame = False
+
+        # WebSocket protocol parameters.
+        self.origin: Optional[Origin] = None
+        self.extensions: List[Extension] = []
+        self.subprotocol: Optional[Subprotocol] = None
+
+        # Close code and reason, set when a close frame is sent or received.
+        self.close_rcvd: Optional[Close] = None
+        self.close_sent: Optional[Close] = None
+        self.close_rcvd_then_sent: Optional[bool] = None
+
+        # Track if an exception happened during the handshake.
+        self.handshake_exc: Optional[Exception] = None
+        """
+        Exception to raise if the opening handshake failed.
+
+        :obj:`None` if the opening handshake succeeded.
+
+        """
+
+        # Track if send_eof() was called.
+        self.eof_sent = False
+
+        # Parser state.
+        self.reader = StreamReader()
+        self.events: List[Event] = []
+        self.writes: List[bytes] = []
+        self.parser = self.parse()
+        next(self.parser)  # start coroutine
+        self.parser_exc: Optional[Exception] = None
+
+    @property
+    def state(self) -> State:
+        """
+        WebSocket connection state.
+
+        Defined in 4.1, 4.2, 7.1.3, and 7.1.4 of :rfc:`6455`.
+
+        """
+        return self._state
+
+    @state.setter
+    def state(self, state: State) -> None:
+        if self.debug:
+            self.logger.debug("= connection is %s", state.name)
+        self._state = state
+
+    @property
+    def close_code(self) -> Optional[int]:
+        """
+        `WebSocket close code`_.
+
+        .. _WebSocket close code:
+            https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5
+
+        :obj:`None` if the connection isn't closed yet.
+
+        """
+        if self.state is not CLOSED:
+            return None
+        elif self.close_rcvd is None:
+            return 1006
+        else:
+            return self.close_rcvd.code
+
+    @property
+    def close_reason(self) -> Optional[str]:
+        """
+        `WebSocket close reason`_.
+
+        .. _WebSocket close reason:
+            https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.6
+
+        :obj:`None` if the connection isn't closed yet.
+
+        """
+        if self.state is not CLOSED:
+            return None
+        elif self.close_rcvd is None:
+            return ""
+        else:
+            return self.close_rcvd.reason
+
+    @property
+    def close_exc(self) -> ConnectionClosed:
+        """
+        Exception to raise when trying to interact with a closed connection.
+
+        Don't raise this exception while the connection :attr:`state`
+        is :attr:`~websockets.protocol.State.CLOSING`; wait until
+        it's :attr:`~websockets.protocol.State.CLOSED`.
+
+        Indeed, the exception includes the close code and reason, which are
+        known only once the connection is closed.
+
+        Raises:
+            AssertionError: if the connection isn't closed yet.
+
+        """
+        assert self.state is CLOSED, "connection isn't closed yet"
+        exc_type: Type[ConnectionClosed]
+        if (
+            self.close_rcvd is not None
+            and self.close_sent is not None
+            and self.close_rcvd.code in OK_CLOSE_CODES
+            and self.close_sent.code in OK_CLOSE_CODES
+        ):
+            exc_type = ConnectionClosedOK
+        else:
+            exc_type = ConnectionClosedError
+        exc: ConnectionClosed = exc_type(
+            self.close_rcvd,
+            self.close_sent,
+            self.close_rcvd_then_sent,
+        )
+        # Chain to the exception raised in the parser, if any.
+        exc.__cause__ = self.parser_exc
+        return exc
+
+    # Public methods for receiving data.
+
+    def receive_data(self, data: bytes) -> None:
+        """
+        Receive data from the network.
+
+        After calling this method:
+
+        - You must call :meth:`data_to_send` and send this data to the network.
+        - You should call :meth:`events_received` and process resulting events.
+
+        Raises:
+            EOFError: if :meth:`receive_eof` was called earlier.
+
+        """
+        self.reader.feed_data(data)
+        next(self.parser)
+
+    def receive_eof(self) -> None:
+        """
+        Receive the end of the data stream from the network.
+
+        After calling this method:
+
+        - You must call :meth:`data_to_send` and send this data to the network;
+          it will return ``[b""]``, signaling the end of the stream, or ``[]``.
+        - You aren't expected to call :meth:`events_received`; it won't return
+          any new events.
+
+        Raises:
+            EOFError: if :meth:`receive_eof` was called earlier.
+
+        """
+        self.reader.feed_eof()
+        next(self.parser)
+
+    # Public methods for sending events.
+
+    def send_continuation(self, data: bytes, fin: bool) -> None:
+        """
+        Send a `Continuation frame`_.
+
+        .. _Continuation frame:
+            https://datatracker.ietf.org/doc/html/rfc6455#section-5.6
+
+        Parameters:
+            data: payload containing the same kind of data
+                as the initial frame.
+            fin: FIN bit; set it to :obj:`True` if this is the last frame
+                of a fragmented message and to :obj:`False` otherwise.
+
+        Raises:
+            ProtocolError: if a fragmented message isn't in progress.
+
+        """
+        if not self.expect_continuation_frame:
+            raise ProtocolError("unexpected continuation frame")
+        self.expect_continuation_frame = not fin
+        self.send_frame(Frame(OP_CONT, data, fin))
+
+    def send_text(self, data: bytes, fin: bool = True) -> None:
+        """
+        Send a `Text frame`_.
+
+        .. _Text frame:
+            https://datatracker.ietf.org/doc/html/rfc6455#section-5.6
+
+        Parameters:
+            data: payload containing text encoded with UTF-8.
+            fin: FIN bit; set it to :obj:`False` if this is the first frame of
+                a fragmented message.
+
+        Raises:
+            ProtocolError: if a fragmented message is in progress.
+
+        """
+        if self.expect_continuation_frame:
+            raise ProtocolError("expected a continuation frame")
+        self.expect_continuation_frame = not fin
+        self.send_frame(Frame(OP_TEXT, data, fin))
+
+    def send_binary(self, data: bytes, fin: bool = True) -> None:
+        """
+        Send a `Binary frame`_.
+
+        .. _Binary frame:
+            https://datatracker.ietf.org/doc/html/rfc6455#section-5.6
+
+        Parameters:
+            data: payload containing arbitrary binary data.
+            fin: FIN bit; set it to :obj:`False` if this is the first frame of
+                a fragmented message.
+
+        Raises:
+            ProtocolError: if a fragmented message is in progress.
+
+        """
+        if self.expect_continuation_frame:
+            raise ProtocolError("expected a continuation frame")
+        self.expect_continuation_frame = not fin
+        self.send_frame(Frame(OP_BINARY, data, fin))
+
+    def send_close(self, code: Optional[int] = None, reason: str = "") -> None:
+        """
+        Send a `Close frame`_.
+
+        .. _Close frame:
+            https://datatracker.ietf.org/doc/html/rfc6455#section-5.5.1
+
+        Parameters:
+            code: close code.
+            reason: close reason.
+
+        Raises:
+            ProtocolError: if a fragmented message is being sent, if the code
+                isn't valid, or if a reason is provided without a code
+
+        """
+        if self.expect_continuation_frame:
+            raise ProtocolError("expected a continuation frame")
+        if code is None:
+            if reason != "":
+                raise ProtocolError("cannot send a reason without a code")
+            close = Close(1005, "")
+            data = b""
+        else:
+            close = Close(code, reason)
+            data = close.serialize()
+        # send_frame() guarantees that self.state is OPEN at this point.
+        # 7.1.3. The WebSocket Closing Handshake is Started
+        self.send_frame(Frame(OP_CLOSE, data))
+        self.close_sent = close
+        self.state = CLOSING
+
+    def send_ping(self, data: bytes) -> None:
+        """
+        Send a `Ping frame`_.
+
+        .. _Ping frame:
+            https://datatracker.ietf.org/doc/html/rfc6455#section-5.5.2
+
+        Parameters:
+            data: payload containing arbitrary binary data.
+
+        """
+        self.send_frame(Frame(OP_PING, data))
+
+    def send_pong(self, data: bytes) -> None:
+        """
+        Send a `Pong frame`_.
+
+        .. _Pong frame:
+            https://datatracker.ietf.org/doc/html/rfc6455#section-5.5.3
+
+        Parameters:
+            data: payload containing arbitrary binary data.
+
+        """
+        self.send_frame(Frame(OP_PONG, data))
+
+    def fail(self, code: int, reason: str = "") -> None:
+        """
+        `Fail the WebSocket connection`_.
+
+        .. _Fail the WebSocket connection:
+            https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.7
+
+        Parameters:
+            code: close code
+            reason: close reason
+
+        Raises:
+            ProtocolError: if the code isn't valid.
+        """
+        # 7.1.7. Fail the WebSocket Connection
+
+        # Send a close frame when the state is OPEN (a close frame was already
+        # sent if it's CLOSING), except when failing the connection because
+        # of an error reading from or writing to the network.
+        if self.state is OPEN:
+            if code != 1006:
+                close = Close(code, reason)
+                data = close.serialize()
+                self.send_frame(Frame(OP_CLOSE, data))
+                self.close_sent = close
+                self.state = CLOSING
+
+        # When failing the connection, a server closes the TCP connection
+        # without waiting for the client to complete the handshake, while a
+        # client waits for the server to close the TCP connection, possibly
+        # after sending a close frame that the client will ignore.
+        if self.side is SERVER and not self.eof_sent:
+            self.send_eof()
+
+        # 7.1.7. Fail the WebSocket Connection "An endpoint MUST NOT continue
+        # to attempt to process data(including a responding Close frame) from
+        # the remote endpoint after being instructed to _Fail the WebSocket
+        # Connection_."
+        self.parser = self.discard()
+        next(self.parser)  # start coroutine
+
+    # Public method for getting incoming events after receiving data.
+
+    def events_received(self) -> List[Event]:
+        """
+        Fetch events generated from data received from the network.
+
+        Call this method immediately after any of the ``receive_*()`` methods.
+
+        Process resulting events, likely by passing them to the application.
+
+        Returns:
+            List[Event]: Events read from the connection.
+        """
+        events, self.events = self.events, []
+        return events
+
+    # Public method for getting outgoing data after receiving data or sending events.
+
+    def data_to_send(self) -> List[bytes]:
+        """
+        Obtain data to send to the network.
+
+        Call this method immediately after any of the ``receive_*()``,
+        ``send_*()``, or :meth:`fail` methods.
+
+        Write resulting data to the connection.
+
+        The empty bytestring :data:`~websockets.protocol.SEND_EOF` signals
+        the end of the data stream. When you receive it, half-close the TCP
+        connection.
+
+        Returns:
+            List[bytes]: Data to write to the connection.
+
+        """
+        writes, self.writes = self.writes, []
+        return writes
+
+    def close_expected(self) -> bool:
+        """
+        Tell if the TCP connection is expected to close soon.
+
+        Call this method immediately after any of the ``receive_*()``,
+        ``send_close()``, or :meth:`fail` methods.
+
+        If it returns :obj:`True`, schedule closing the TCP connection after a
+        short timeout if the other side hasn't already closed it.
+
+        Returns:
+            bool: Whether the TCP connection is expected to close soon.
+
+        """
+        # We expect a TCP close if and only if we sent a close frame:
+        # * Normal closure: once we send a close frame, we expect a TCP close:
+        #   server waits for client to complete the TCP closing handshake;
+        #   client waits for server to initiate the TCP closing handshake.
+        # * Abnormal closure: we always send a close frame and the same logic
+        #   applies, except on EOFError where we don't send a close frame
+        #   because we already received the TCP close, so we don't expect it.
+        # We already got a TCP Close if and only if the state is CLOSED.
+        return self.state is CLOSING or self.handshake_exc is not None
+
+    # Private methods for receiving data.
+
+    def parse(self) -> Generator[None, None, None]:
+        """
+        Parse incoming data into frames.
+
+        :meth:`receive_data` and :meth:`receive_eof` run this generator
+        coroutine until it needs more data or reaches EOF.
+
+        :meth:`parse` never raises an exception. Instead, it sets the
+        :attr:`parser_exc` and yields control.
+
+        """
+        try:
+            while True:
+                if (yield from self.reader.at_eof()):
+                    if self.debug:
+                        self.logger.debug("< EOF")
+                    # If the WebSocket connection is closed cleanly, with a
+                    # closing handhshake, recv_frame() substitutes parse()
+                    # with discard(). This branch is reached only when the
+                    # connection isn't closed cleanly.
+                    raise EOFError("unexpected end of stream")
+
+                if self.max_size is None:
+                    max_size = None
+                elif self.cur_size is None:
+                    max_size = self.max_size
+                else:
+                    max_size = self.max_size - self.cur_size
+
+                # During a normal closure, execution ends here on the next
+                # iteration of the loop after receiving a close frame. At
+                # this point, recv_frame() replaced parse() by discard().
+                frame = yield from Frame.parse(
+                    self.reader.read_exact,
+                    mask=self.side is SERVER,
+                    max_size=max_size,
+                    extensions=self.extensions,
+                )
+
+                if self.debug:
+                    self.logger.debug("< %s", frame)
+
+                self.recv_frame(frame)
+
+        except ProtocolError as exc:
+            self.fail(1002, str(exc))
+            self.parser_exc = exc
+
+        except EOFError as exc:
+            self.fail(1006, str(exc))
+            self.parser_exc = exc
+
+        except UnicodeDecodeError as exc:
+            self.fail(1007, f"{exc.reason} at position {exc.start}")
+            self.parser_exc = exc
+
+        except PayloadTooBig as exc:
+            self.fail(1009, str(exc))
+            self.parser_exc = exc
+
+        except Exception as exc:
+            self.logger.error("parser failed", exc_info=True)
+            # Don't include exception details, which may be security-sensitive.
+            self.fail(1011)
+            self.parser_exc = exc
+
+        # During an abnormal closure, execution ends here after catching an
+        # exception. At this point, fail() replaced parse() by discard().
+        yield
+        raise AssertionError("parse() shouldn't step after error")
+
+    def discard(self) -> Generator[None, None, None]:
+        """
+        Discard incoming data.
+
+        This coroutine replaces :meth:`parse`:
+
+        - after receiving a close frame, during a normal closure (1.4);
+        - after sending a close frame, during an abnormal closure (7.1.7).
+
+        """
+        # The server close the TCP connection in the same circumstances where
+        # discard() replaces parse(). The client closes the connection later,
+        # after the server closes the connection or a timeout elapses.
+        # (The latter case cannot be handled in this Sans-I/O layer.)
+        assert (self.side is SERVER) == (self.eof_sent)
+        while not (yield from self.reader.at_eof()):
+            self.reader.discard()
+        if self.debug:
+            self.logger.debug("< EOF")
+        # A server closes the TCP connection immediately, while a client
+        # waits for the server to close the TCP connection.
+        if self.side is CLIENT:
+            self.send_eof()
+        self.state = CLOSED
+        # If discard() completes normally, execution ends here.
+        yield
+        # Once the reader reaches EOF, its feed_data/eof() methods raise an
+        # error, so our receive_data/eof() methods don't step the generator.
+        raise AssertionError("discard() shouldn't step after EOF")
+
+    def recv_frame(self, frame: Frame) -> None:
+        """
+        Process an incoming frame.
+
+        """
+        if frame.opcode is OP_TEXT or frame.opcode is OP_BINARY:
+            if self.cur_size is not None:
+                raise ProtocolError("expected a continuation frame")
+            if frame.fin:
+                self.cur_size = None
+            else:
+                self.cur_size = len(frame.data)
+
+        elif frame.opcode is OP_CONT:
+            if self.cur_size is None:
+                raise ProtocolError("unexpected continuation frame")
+            if frame.fin:
+                self.cur_size = None
+            else:
+                self.cur_size += len(frame.data)
+
+        elif frame.opcode is OP_PING:
+            # 5.5.2. Ping: "Upon receipt of a Ping frame, an endpoint MUST
+            # send a Pong frame in response"
+            pong_frame = Frame(OP_PONG, frame.data)
+            self.send_frame(pong_frame)
+
+        elif frame.opcode is OP_PONG:
+            # 5.5.3 Pong: "A response to an unsolicited Pong frame is not
+            # expected."
+            pass
+
+        elif frame.opcode is OP_CLOSE:
+            # 7.1.5.  The WebSocket Connection Close Code
+            # 7.1.6.  The WebSocket Connection Close Reason
+            self.close_rcvd = Close.parse(frame.data)
+            if self.state is CLOSING:
+                assert self.close_sent is not None
+                self.close_rcvd_then_sent = False
+
+            if self.cur_size is not None:
+                raise ProtocolError("incomplete fragmented message")
+
+            # 5.5.1 Close: "If an endpoint receives a Close frame and did
+            # not previously send a Close frame, the endpoint MUST send a
+            # Close frame in response. (When sending a Close frame in
+            # response, the endpoint typically echos the status code it
+            # received.)"
+
+            if self.state is OPEN:
+                # Echo the original data instead of re-serializing it with
+                # Close.serialize() because that fails when the close frame
+                # is empty and Close.parse() synthesizes a 1005 close code.
+                # The rest is identical to send_close().
+                self.send_frame(Frame(OP_CLOSE, frame.data))
+                self.close_sent = self.close_rcvd
+                self.close_rcvd_then_sent = True
+                self.state = CLOSING
+
+            # 7.1.2. Start the WebSocket Closing Handshake: "Once an
+            # endpoint has both sent and received a Close control frame,
+            # that endpoint SHOULD _Close the WebSocket Connection_"
+
+            # A server closes the TCP connection immediately, while a client
+            # waits for the server to close the TCP connection.
+            if self.side is SERVER:
+                self.send_eof()
+
+            # 1.4. Closing Handshake: "after receiving a control frame
+            # indicating the connection should be closed, a peer discards
+            # any further data received."
+            self.parser = self.discard()
+            next(self.parser)  # start coroutine
+
+        else:
+            # This can't happen because Frame.parse() validates opcodes.
+            raise AssertionError(f"unexpected opcode: {frame.opcode:02x}")
+
+        self.events.append(frame)
+
+    # Private methods for sending events.
+
+    def send_frame(self, frame: Frame) -> None:
+        if self.state is not OPEN:
+            raise InvalidState(
+                f"cannot write to a WebSocket in the {self.state.name} state"
+            )
+
+        if self.debug:
+            self.logger.debug("> %s", frame)
+        self.writes.append(
+            frame.serialize(mask=self.side is CLIENT, extensions=self.extensions)
+        )
+
+    def send_eof(self) -> None:
+        assert not self.eof_sent
+        self.eof_sent = True
+        if self.debug:
+            self.logger.debug("> EOF")
+        self.writes.append(SEND_EOF)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/py.typed b/iot_env/lib/python3.8/site-packages/websockets/py.typed
new file mode 100644
index 0000000..e69de29
diff --git a/iot_env/lib/python3.8/site-packages/websockets/server.py b/iot_env/lib/python3.8/site-packages/websockets/server.py
new file mode 100644
index 0000000..ecb0f74
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/server.py
@@ -0,0 +1,575 @@
+from __future__ import annotations
+
+import base64
+import binascii
+import email.utils
+import http
+import warnings
+from typing import Any, Callable, Generator, List, Optional, Sequence, Tuple, cast
+
+from .datastructures import Headers, MultipleValuesError
+from .exceptions import (
+    InvalidHandshake,
+    InvalidHeader,
+    InvalidHeaderValue,
+    InvalidOrigin,
+    InvalidStatus,
+    InvalidUpgrade,
+    NegotiationError,
+)
+from .extensions import Extension, ServerExtensionFactory
+from .headers import (
+    build_extension,
+    parse_connection,
+    parse_extension,
+    parse_subprotocol,
+    parse_upgrade,
+)
+from .http11 import Request, Response
+from .protocol import CONNECTING, OPEN, SERVER, Protocol, State
+from .typing import (
+    ConnectionOption,
+    ExtensionHeader,
+    LoggerLike,
+    Origin,
+    Subprotocol,
+    UpgradeProtocol,
+)
+from .utils import accept_key
+
+
+# See #940 for why lazy_import isn't used here for backwards compatibility.
+from .legacy.server import *  # isort:skip  # noqa: I001
+
+
+__all__ = ["ServerProtocol"]
+
+
+class ServerProtocol(Protocol):
+    """
+    Sans-I/O implementation of a WebSocket server connection.
+
+    Args:
+        origins: acceptable values of the ``Origin`` header; include
+            :obj:`None` in the list if the lack of an origin is acceptable.
+            This is useful for defending against Cross-Site WebSocket
+            Hijacking attacks.
+        extensions: list of supported extensions, in order in which they
+            should be tried.
+        subprotocols: list of supported subprotocols, in order of decreasing
+            preference.
+        select_subprotocol: Callback for selecting a subprotocol among
+            those supported by the client and the server. It has the same
+            signature as the :meth:`select_subprotocol` method, including a
+            :class:`ServerProtocol` instance as first argument.
+        state: initial state of the WebSocket connection.
+        max_size: maximum size of incoming messages in bytes;
+            :obj:`None` disables the limit.
+        logger: logger for this connection;
+            defaults to ``logging.getLogger("websockets.client")``;
+            see the :doc:`logging guide <../../topics/logging>` for details.
+
+    """
+
+    def __init__(
+        self,
+        *,
+        origins: Optional[Sequence[Optional[Origin]]] = None,
+        extensions: Optional[Sequence[ServerExtensionFactory]] = None,
+        subprotocols: Optional[Sequence[Subprotocol]] = None,
+        select_subprotocol: Optional[
+            Callable[
+                [ServerProtocol, Sequence[Subprotocol]],
+                Optional[Subprotocol],
+            ]
+        ] = None,
+        state: State = CONNECTING,
+        max_size: Optional[int] = 2**20,
+        logger: Optional[LoggerLike] = None,
+    ):
+        super().__init__(
+            side=SERVER,
+            state=state,
+            max_size=max_size,
+            logger=logger,
+        )
+        self.origins = origins
+        self.available_extensions = extensions
+        self.available_subprotocols = subprotocols
+        if select_subprotocol is not None:
+            # Bind select_subprotocol then shadow self.select_subprotocol.
+            # Use setattr to work around https://github.com/python/mypy/issues/2427.
+            setattr(
+                self,
+                "select_subprotocol",
+                select_subprotocol.__get__(self, self.__class__),
+            )
+
+    def accept(self, request: Request) -> Response:
+        """
+        Create a handshake response to accept the connection.
+
+        If the connection cannot be established, the handshake response
+        actually rejects the handshake.
+
+        You must send the handshake response with :meth:`send_response`.
+
+        You may modify it before sending it, for example to add HTTP headers.
+
+        Args:
+            request: WebSocket handshake request event received from the client.
+
+        Returns:
+            WebSocket handshake response event to send to the client.
+
+        """
+        try:
+            (
+                accept_header,
+                extensions_header,
+                protocol_header,
+            ) = self.process_request(request)
+        except InvalidOrigin as exc:
+            request._exception = exc
+            self.handshake_exc = exc
+            if self.debug:
+                self.logger.debug("! invalid origin", exc_info=True)
+            return self.reject(
+                http.HTTPStatus.FORBIDDEN,
+                f"Failed to open a WebSocket connection: {exc}.\n",
+            )
+        except InvalidUpgrade as exc:
+            request._exception = exc
+            self.handshake_exc = exc
+            if self.debug:
+                self.logger.debug("! invalid upgrade", exc_info=True)
+            response = self.reject(
+                http.HTTPStatus.UPGRADE_REQUIRED,
+                (
+                    f"Failed to open a WebSocket connection: {exc}.\n"
+                    f"\n"
+                    f"You cannot access a WebSocket server directly "
+                    f"with a browser. You need a WebSocket client.\n"
+                ),
+            )
+            response.headers["Upgrade"] = "websocket"
+            return response
+        except InvalidHandshake as exc:
+            request._exception = exc
+            self.handshake_exc = exc
+            if self.debug:
+                self.logger.debug("! invalid handshake", exc_info=True)
+            return self.reject(
+                http.HTTPStatus.BAD_REQUEST,
+                f"Failed to open a WebSocket connection: {exc}.\n",
+            )
+        except Exception as exc:
+            # Handle exceptions raised by user-provided select_subprotocol and
+            # unexpected errors.
+            request._exception = exc
+            self.handshake_exc = exc
+            self.logger.error("opening handshake failed", exc_info=True)
+            return self.reject(
+                http.HTTPStatus.INTERNAL_SERVER_ERROR,
+                (
+                    "Failed to open a WebSocket connection.\n"
+                    "See server log for more information.\n"
+                ),
+            )
+
+        headers = Headers()
+
+        headers["Date"] = email.utils.formatdate(usegmt=True)
+
+        headers["Upgrade"] = "websocket"
+        headers["Connection"] = "Upgrade"
+        headers["Sec-WebSocket-Accept"] = accept_header
+
+        if extensions_header is not None:
+            headers["Sec-WebSocket-Extensions"] = extensions_header
+
+        if protocol_header is not None:
+            headers["Sec-WebSocket-Protocol"] = protocol_header
+
+        self.logger.info("connection open")
+        return Response(101, "Switching Protocols", headers)
+
+    def process_request(
+        self,
+        request: Request,
+    ) -> Tuple[str, Optional[str], Optional[str]]:
+        """
+        Check a handshake request and negotiate extensions and subprotocol.
+
+        This function doesn't verify that the request is an HTTP/1.1 or higher
+        GET request and doesn't check the ``Host`` header. These controls are
+        usually performed earlier in the HTTP request handling code. They're
+        the responsibility of the caller.
+
+        Args:
+            request: WebSocket handshake request received from the client.
+
+        Returns:
+            Tuple[str, Optional[str], Optional[str]]:
+            ``Sec-WebSocket-Accept``, ``Sec-WebSocket-Extensions``, and
+            ``Sec-WebSocket-Protocol`` headers for the handshake response.
+
+        Raises:
+            InvalidHandshake: if the handshake request is invalid;
+                then the server must return 400 Bad Request error.
+
+        """
+        headers = request.headers
+
+        connection: List[ConnectionOption] = sum(
+            [parse_connection(value) for value in headers.get_all("Connection")], []
+        )
+
+        if not any(value.lower() == "upgrade" for value in connection):
+            raise InvalidUpgrade(
+                "Connection", ", ".join(connection) if connection else None
+            )
+
+        upgrade: List[UpgradeProtocol] = sum(
+            [parse_upgrade(value) for value in headers.get_all("Upgrade")], []
+        )
+
+        # For compatibility with non-strict implementations, ignore case when
+        # checking the Upgrade header. The RFC always uses "websocket", except
+        # in section 11.2. (IANA registration) where it uses "WebSocket".
+        if not (len(upgrade) == 1 and upgrade[0].lower() == "websocket"):
+            raise InvalidUpgrade("Upgrade", ", ".join(upgrade) if upgrade else None)
+
+        try:
+            key = headers["Sec-WebSocket-Key"]
+        except KeyError as exc:
+            raise InvalidHeader("Sec-WebSocket-Key") from exc
+        except MultipleValuesError as exc:
+            raise InvalidHeader(
+                "Sec-WebSocket-Key", "more than one Sec-WebSocket-Key header found"
+            ) from exc
+
+        try:
+            raw_key = base64.b64decode(key.encode(), validate=True)
+        except binascii.Error as exc:
+            raise InvalidHeaderValue("Sec-WebSocket-Key", key) from exc
+        if len(raw_key) != 16:
+            raise InvalidHeaderValue("Sec-WebSocket-Key", key)
+
+        try:
+            version = headers["Sec-WebSocket-Version"]
+        except KeyError as exc:
+            raise InvalidHeader("Sec-WebSocket-Version") from exc
+        except MultipleValuesError as exc:
+            raise InvalidHeader(
+                "Sec-WebSocket-Version",
+                "more than one Sec-WebSocket-Version header found",
+            ) from exc
+
+        if version != "13":
+            raise InvalidHeaderValue("Sec-WebSocket-Version", version)
+
+        accept_header = accept_key(key)
+
+        self.origin = self.process_origin(headers)
+
+        extensions_header, self.extensions = self.process_extensions(headers)
+
+        protocol_header = self.subprotocol = self.process_subprotocol(headers)
+
+        return (
+            accept_header,
+            extensions_header,
+            protocol_header,
+        )
+
+    def process_origin(self, headers: Headers) -> Optional[Origin]:
+        """
+        Handle the Origin HTTP request header.
+
+        Args:
+            headers: WebSocket handshake request headers.
+
+        Returns:
+           Optional[Origin]: origin, if it is acceptable.
+
+        Raises:
+            InvalidHandshake: if the Origin header is invalid.
+            InvalidOrigin: if the origin isn't acceptable.
+
+        """
+        # "The user agent MUST NOT include more than one Origin header field"
+        # per https://www.rfc-editor.org/rfc/rfc6454.html#section-7.3.
+        try:
+            origin = cast(Optional[Origin], headers.get("Origin"))
+        except MultipleValuesError as exc:
+            raise InvalidHeader("Origin", "more than one Origin header found") from exc
+        if self.origins is not None:
+            if origin not in self.origins:
+                raise InvalidOrigin(origin)
+        return origin
+
+    def process_extensions(
+        self,
+        headers: Headers,
+    ) -> Tuple[Optional[str], List[Extension]]:
+        """
+        Handle the Sec-WebSocket-Extensions HTTP request header.
+
+        Accept or reject each extension proposed in the client request.
+        Negotiate parameters for accepted extensions.
+
+        Per :rfc:`6455`, negotiation rules are defined by the specification of
+        each extension.
+
+        To provide this level of flexibility, for each extension proposed by
+        the client, we check for a match with each extension available in the
+        server configuration. If no match is found, the extension is ignored.
+
+        If several variants of the same extension are proposed by the client,
+        it may be accepted several times, which won't make sense in general.
+        Extensions must implement their own requirements. For this purpose,
+        the list of previously accepted extensions is provided.
+
+        This process doesn't allow the server to reorder extensions. It can
+        only select a subset of the extensions proposed by the client.
+
+        Other requirements, for example related to mandatory extensions or the
+        order of extensions, may be implemented by overriding this method.
+
+        Args:
+            headers: WebSocket handshake request headers.
+
+        Returns:
+            Tuple[Optional[str], List[Extension]]: ``Sec-WebSocket-Extensions``
+            HTTP response header and list of accepted extensions.
+
+        Raises:
+            InvalidHandshake: if the Sec-WebSocket-Extensions header is invalid.
+
+        """
+        response_header_value: Optional[str] = None
+
+        extension_headers: List[ExtensionHeader] = []
+        accepted_extensions: List[Extension] = []
+
+        header_values = headers.get_all("Sec-WebSocket-Extensions")
+
+        if header_values and self.available_extensions:
+            parsed_header_values: List[ExtensionHeader] = sum(
+                [parse_extension(header_value) for header_value in header_values], []
+            )
+
+            for name, request_params in parsed_header_values:
+                for ext_factory in self.available_extensions:
+                    # Skip non-matching extensions based on their name.
+                    if ext_factory.name != name:
+                        continue
+
+                    # Skip non-matching extensions based on their params.
+                    try:
+                        response_params, extension = ext_factory.process_request_params(
+                            request_params, accepted_extensions
+                        )
+                    except NegotiationError:
+                        continue
+
+                    # Add matching extension to the final list.
+                    extension_headers.append((name, response_params))
+                    accepted_extensions.append(extension)
+
+                    # Break out of the loop once we have a match.
+                    break
+
+                # If we didn't break from the loop, no extension in our list
+                # matched what the client sent. The extension is declined.
+
+        # Serialize extension header.
+        if extension_headers:
+            response_header_value = build_extension(extension_headers)
+
+        return response_header_value, accepted_extensions
+
+    def process_subprotocol(self, headers: Headers) -> Optional[Subprotocol]:
+        """
+        Handle the Sec-WebSocket-Protocol HTTP request header.
+
+        Args:
+            headers: WebSocket handshake request headers.
+
+        Returns:
+           Optional[Subprotocol]: Subprotocol, if one was selected; this is
+           also the value of the ``Sec-WebSocket-Protocol`` response header.
+
+        Raises:
+            InvalidHandshake: if the Sec-WebSocket-Subprotocol header is invalid.
+
+        """
+        subprotocols: Sequence[Subprotocol] = sum(
+            [
+                parse_subprotocol(header_value)
+                for header_value in headers.get_all("Sec-WebSocket-Protocol")
+            ],
+            [],
+        )
+
+        return self.select_subprotocol(subprotocols)
+
+    def select_subprotocol(
+        self,
+        subprotocols: Sequence[Subprotocol],
+    ) -> Optional[Subprotocol]:
+        """
+        Pick a subprotocol among those offered by the client.
+
+        If several subprotocols are supported by both the client and the server,
+        pick the first one in the list declared the server.
+
+        If the server doesn't support any subprotocols, continue without a
+        subprotocol, regardless of what the client offers.
+
+        If the server supports at least one subprotocol and the client doesn't
+        offer any, abort the handshake with an HTTP 400 error.
+
+        You provide a ``select_subprotocol`` argument to :class:`ServerProtocol`
+        to override this logic. For example, you could accept the connection
+        even if client doesn't offer a subprotocol, rather than reject it.
+
+        Here's how to negotiate the ``chat`` subprotocol if the client supports
+        it and continue without a subprotocol otherwise::
+
+            def select_subprotocol(protocol, subprotocols):
+                if "chat" in subprotocols:
+                    return "chat"
+
+        Args:
+            subprotocols: list of subprotocols offered by the client.
+
+        Returns:
+            Optional[Subprotocol]: Selected subprotocol, if a common subprotocol
+            was found.
+
+            :obj:`None` to continue without a subprotocol.
+
+        Raises:
+            NegotiationError: custom implementations may raise this exception
+                to abort the handshake with an HTTP 400 error.
+
+        """
+        # Server doesn't offer any subprotocols.
+        if not self.available_subprotocols:  # None or empty list
+            return None
+
+        # Server offers at least one subprotocol but client doesn't offer any.
+        if not subprotocols:
+            raise NegotiationError("missing subprotocol")
+
+        # Server and client both offer subprotocols. Look for a shared one.
+        proposed_subprotocols = set(subprotocols)
+        for subprotocol in self.available_subprotocols:
+            if subprotocol in proposed_subprotocols:
+                return subprotocol
+
+        # No common subprotocol was found.
+        raise NegotiationError(
+            "invalid subprotocol; expected one of "
+            + ", ".join(self.available_subprotocols)
+        )
+
+    def reject(
+        self,
+        status: http.HTTPStatus,
+        text: str,
+    ) -> Response:
+        """
+        Create a handshake response to reject the connection.
+
+        A short plain text response is the best fallback when failing to
+        establish a WebSocket connection.
+
+        You must send the handshake response with :meth:`send_response`.
+
+        You can modify it before sending it, for example to alter HTTP headers.
+
+        Args:
+            status: HTTP status code.
+            text: HTTP response body; will be encoded to UTF-8.
+
+        Returns:
+            Response: WebSocket handshake response event to send to the client.
+
+        """
+        body = text.encode()
+        headers = Headers(
+            [
+                ("Date", email.utils.formatdate(usegmt=True)),
+                ("Connection", "close"),
+                ("Content-Length", str(len(body))),
+                ("Content-Type", "text/plain; charset=utf-8"),
+            ]
+        )
+        response = Response(status.value, status.phrase, headers, body)
+        # When reject() is called from accept(), handshake_exc is already set.
+        # If a user calls reject(), set handshake_exc to guarantee invariant:
+        # "handshake_exc is None if and only if opening handshake succeeded."
+        if self.handshake_exc is None:
+            self.handshake_exc = InvalidStatus(response)
+        self.logger.info("connection failed (%d %s)", status.value, status.phrase)
+        return response
+
+    def send_response(self, response: Response) -> None:
+        """
+        Send a handshake response to the client.
+
+        Args:
+            response: WebSocket handshake response event to send.
+
+        """
+        if self.debug:
+            code, phrase = response.status_code, response.reason_phrase
+            self.logger.debug("> HTTP/1.1 %d %s", code, phrase)
+            for key, value in response.headers.raw_items():
+                self.logger.debug("> %s: %s", key, value)
+            if response.body is not None:
+                self.logger.debug("> [body] (%d bytes)", len(response.body))
+
+        self.writes.append(response.serialize())
+
+        if response.status_code == 101:
+            assert self.state is CONNECTING
+            self.state = OPEN
+        else:
+            self.send_eof()
+            self.parser = self.discard()
+            next(self.parser)  # start coroutine
+
+    def parse(self) -> Generator[None, None, None]:
+        if self.state is CONNECTING:
+            try:
+                request = yield from Request.parse(
+                    self.reader.read_line,
+                )
+            except Exception as exc:
+                self.handshake_exc = exc
+                self.send_eof()
+                self.parser = self.discard()
+                next(self.parser)  # start coroutine
+                yield
+
+            if self.debug:
+                self.logger.debug("< GET %s HTTP/1.1", request.path)
+                for key, value in request.headers.raw_items():
+                    self.logger.debug("< %s: %s", key, value)
+
+            self.events.append(request)
+
+        yield from super().parse()
+
+
+class ServerConnection(ServerProtocol):
+    def __init__(self, *args: Any, **kwargs: Any) -> None:
+        warnings.warn(
+            "ServerConnection was renamed to ServerProtocol",
+            DeprecationWarning,
+        )
+        super().__init__(*args, **kwargs)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/speedups.c b/iot_env/lib/python3.8/site-packages/websockets/speedups.c
new file mode 100644
index 0000000..a195904
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/speedups.c
@@ -0,0 +1,223 @@
+/* C implementation of performance sensitive functions. */
+
+#define PY_SSIZE_T_CLEAN
+#include <Python.h>
+#include <stdint.h> /* uint8_t, uint32_t, uint64_t */
+
+#if __ARM_NEON
+#include <arm_neon.h>
+#elif __SSE2__
+#include <emmintrin.h>
+#endif
+
+static const Py_ssize_t MASK_LEN = 4;
+
+/* Similar to PyBytes_AsStringAndSize, but accepts more types */
+
+static int
+_PyBytesLike_AsStringAndSize(PyObject *obj, PyObject **tmp, char **buffer, Py_ssize_t *length)
+{
+    // This supports bytes, bytearrays, and memoryview objects,
+    // which are common data structures for handling byte streams.
+    // websockets.framing.prepare_data() returns only these types.
+    // If *tmp isn't NULL, the caller gets a new reference.
+    if (PyBytes_Check(obj))
+    {
+        *tmp = NULL;
+        *buffer = PyBytes_AS_STRING(obj);
+        *length = PyBytes_GET_SIZE(obj);
+    }
+    else if (PyByteArray_Check(obj))
+    {
+        *tmp = NULL;
+        *buffer = PyByteArray_AS_STRING(obj);
+        *length = PyByteArray_GET_SIZE(obj);
+    }
+    else if (PyMemoryView_Check(obj))
+    {
+        *tmp = PyMemoryView_GetContiguous(obj, PyBUF_READ, 'C');
+        if (*tmp == NULL)
+        {
+            return -1;
+        }
+        Py_buffer *mv_buf;
+        mv_buf = PyMemoryView_GET_BUFFER(*tmp);
+        *buffer = mv_buf->buf;
+        *length = mv_buf->len;
+    }
+    else
+    {
+        PyErr_Format(
+            PyExc_TypeError,
+            "expected a bytes-like object, %.200s found",
+            Py_TYPE(obj)->tp_name);
+        return -1;
+    }
+
+    return 0;
+}
+
+/* C implementation of websockets.utils.apply_mask */
+
+static PyObject *
+apply_mask(PyObject *self, PyObject *args, PyObject *kwds)
+{
+
+    // In order to support various bytes-like types, accept any Python object.
+
+    static char *kwlist[] = {"data", "mask", NULL};
+    PyObject *input_obj;
+    PyObject *mask_obj;
+
+    // A pointer to a char * + length will be extracted from the data and mask
+    // arguments, possibly via a Py_buffer.
+
+    PyObject *input_tmp = NULL;
+    char *input;
+    Py_ssize_t input_len;
+    PyObject *mask_tmp = NULL;
+    char *mask;
+    Py_ssize_t mask_len;
+
+    // Initialize a PyBytesObject then get a pointer to the underlying char *
+    // in order to avoid an extra memory copy in PyBytes_FromStringAndSize.
+
+    PyObject *result = NULL;
+    char *output;
+
+    // Other variables.
+
+    Py_ssize_t i = 0;
+
+    // Parse inputs.
+
+    if (!PyArg_ParseTupleAndKeywords(
+            args, kwds, "OO", kwlist, &input_obj, &mask_obj))
+    {
+        goto exit;
+    }
+
+    if (_PyBytesLike_AsStringAndSize(input_obj, &input_tmp, &input, &input_len) == -1)
+    {
+        goto exit;
+    }
+
+    if (_PyBytesLike_AsStringAndSize(mask_obj, &mask_tmp, &mask, &mask_len) == -1)
+    {
+        goto exit;
+    }
+
+    if (mask_len != MASK_LEN)
+    {
+        PyErr_SetString(PyExc_ValueError, "mask must contain 4 bytes");
+        goto exit;
+    }
+
+    // Create output.
+
+    result = PyBytes_FromStringAndSize(NULL, input_len);
+    if (result == NULL)
+    {
+        goto exit;
+    }
+
+    // Since we just created result, we don't need error checks.
+    output = PyBytes_AS_STRING(result);
+
+    // Perform the masking operation.
+
+    // Apparently GCC cannot figure out the following optimizations by itself.
+
+    // We need a new scope for MSVC 2010 (non C99 friendly)
+    {
+#if __ARM_NEON
+
+        // With NEON support, XOR by blocks of 16 bytes = 128 bits.
+
+        Py_ssize_t input_len_128 = input_len & ~15;
+        uint8x16_t mask_128 = vreinterpretq_u8_u32(vdupq_n_u32(*(uint32_t *)mask));
+
+        for (; i < input_len_128; i += 16)
+        {
+            uint8x16_t in_128 = vld1q_u8((uint8_t *)(input + i));
+            uint8x16_t out_128 = veorq_u8(in_128, mask_128);
+            vst1q_u8((uint8_t *)(output + i), out_128);
+        }
+
+#elif __SSE2__
+
+        // With SSE2 support, XOR by blocks of 16 bytes = 128 bits.
+
+        // Since we cannot control the 16-bytes alignment of input and output
+        // buffers, we rely on loadu/storeu rather than load/store.
+
+        Py_ssize_t input_len_128 = input_len & ~15;
+        __m128i mask_128 = _mm_set1_epi32(*(uint32_t *)mask);
+
+        for (; i < input_len_128; i += 16)
+        {
+            __m128i in_128 = _mm_loadu_si128((__m128i *)(input + i));
+            __m128i out_128 = _mm_xor_si128(in_128, mask_128);
+            _mm_storeu_si128((__m128i *)(output + i), out_128);
+        }
+
+#else
+
+        // Without SSE2 support, XOR by blocks of 8 bytes = 64 bits.
+
+        // We assume the memory allocator aligns everything on 8 bytes boundaries.
+
+        Py_ssize_t input_len_64 = input_len & ~7;
+        uint32_t mask_32 = *(uint32_t *)mask;
+        uint64_t mask_64 = ((uint64_t)mask_32 << 32) | (uint64_t)mask_32;
+
+        for (; i < input_len_64; i += 8)
+        {
+            *(uint64_t *)(output + i) = *(uint64_t *)(input + i) ^ mask_64;
+        }
+
+#endif
+    }
+
+    // XOR the remainder of the input byte by byte.
+
+    for (; i < input_len; i++)
+    {
+        output[i] = input[i] ^ mask[i & (MASK_LEN - 1)];
+    }
+
+exit:
+    Py_XDECREF(input_tmp);
+    Py_XDECREF(mask_tmp);
+    return result;
+
+}
+
+static PyMethodDef speedups_methods[] = {
+    {
+        "apply_mask",
+        (PyCFunction)apply_mask,
+        METH_VARARGS | METH_KEYWORDS,
+        "Apply masking to the data of a WebSocket message.",
+    },
+    {NULL, NULL, 0, NULL},      /* Sentinel */
+};
+
+static struct PyModuleDef speedups_module = {
+    PyModuleDef_HEAD_INIT,
+    "websocket.speedups",       /* m_name */
+    "C implementation of performance sensitive functions.",
+                                /* m_doc */
+    -1,                         /* m_size */
+    speedups_methods,           /* m_methods */
+    NULL,
+    NULL,
+    NULL,
+    NULL
+};
+
+PyMODINIT_FUNC
+PyInit_speedups(void)
+{
+    return PyModule_Create(&speedups_module);
+}
diff --git a/iot_env/lib/python3.8/site-packages/websockets/speedups.cpython-38-x86_64-linux-gnu.so b/iot_env/lib/python3.8/site-packages/websockets/speedups.cpython-38-x86_64-linux-gnu.so
new file mode 100755
index 0000000000000000000000000000000000000000..9ee651d8d2799403040e4355d8c699daec21fe03
GIT binary patch
literal 34072
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/streams.py b/iot_env/lib/python3.8/site-packages/websockets/streams.py
new file mode 100644
index 0000000..f861d4b
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/streams.py
@@ -0,0 +1,151 @@
+from __future__ import annotations
+
+from typing import Generator
+
+
+class StreamReader:
+    """
+    Generator-based stream reader.
+
+    This class doesn't support concurrent calls to :meth:`read_line`,
+    :meth:`read_exact`, or :meth:`read_to_eof`. Make sure calls are
+    serialized.
+
+    """
+
+    def __init__(self) -> None:
+        self.buffer = bytearray()
+        self.eof = False
+
+    def read_line(self, m: int) -> Generator[None, None, bytes]:
+        """
+        Read a LF-terminated line from the stream.
+
+        This is a generator-based coroutine.
+
+        The return value includes the LF character.
+
+        Args:
+            m: maximum number bytes to read; this is a security limit.
+
+        Raises:
+            EOFError: if the stream ends without a LF.
+            RuntimeError: if the stream ends in more than ``m`` bytes.
+
+        """
+        n = 0  # number of bytes to read
+        p = 0  # number of bytes without a newline
+        while True:
+            n = self.buffer.find(b"\n", p) + 1
+            if n > 0:
+                break
+            p = len(self.buffer)
+            if p > m:
+                raise RuntimeError(f"read {p} bytes, expected no more than {m} bytes")
+            if self.eof:
+                raise EOFError(f"stream ends after {p} bytes, before end of line")
+            yield
+        if n > m:
+            raise RuntimeError(f"read {n} bytes, expected no more than {m} bytes")
+        r = self.buffer[:n]
+        del self.buffer[:n]
+        return r
+
+    def read_exact(self, n: int) -> Generator[None, None, bytes]:
+        """
+        Read a given number of bytes from the stream.
+
+        This is a generator-based coroutine.
+
+        Args:
+            n: how many bytes to read.
+
+        Raises:
+            EOFError: if the stream ends in less than ``n`` bytes.
+
+        """
+        assert n >= 0
+        while len(self.buffer) < n:
+            if self.eof:
+                p = len(self.buffer)
+                raise EOFError(f"stream ends after {p} bytes, expected {n} bytes")
+            yield
+        r = self.buffer[:n]
+        del self.buffer[:n]
+        return r
+
+    def read_to_eof(self, m: int) -> Generator[None, None, bytes]:
+        """
+        Read all bytes from the stream.
+
+        This is a generator-based coroutine.
+
+        Args:
+            m: maximum number bytes to read; this is a security limit.
+
+        Raises:
+            RuntimeError: if the stream ends in more than ``m`` bytes.
+
+        """
+        while not self.eof:
+            p = len(self.buffer)
+            if p > m:
+                raise RuntimeError(f"read {p} bytes, expected no more than {m} bytes")
+            yield
+        r = self.buffer[:]
+        del self.buffer[:]
+        return r
+
+    def at_eof(self) -> Generator[None, None, bool]:
+        """
+        Tell whether the stream has ended and all data was read.
+
+        This is a generator-based coroutine.
+
+        """
+        while True:
+            if self.buffer:
+                return False
+            if self.eof:
+                return True
+            # When all data was read but the stream hasn't ended, we can't
+            # tell if until either feed_data() or feed_eof() is called.
+            yield
+
+    def feed_data(self, data: bytes) -> None:
+        """
+        Write data to the stream.
+
+        :meth:`feed_data` cannot be called after :meth:`feed_eof`.
+
+        Args:
+            data: data to write.
+
+        Raises:
+            EOFError: if the stream has ended.
+
+        """
+        if self.eof:
+            raise EOFError("stream ended")
+        self.buffer += data
+
+    def feed_eof(self) -> None:
+        """
+        End the stream.
+
+        :meth:`feed_eof` cannot be called more than once.
+
+        Raises:
+            EOFError: if the stream has ended.
+
+        """
+        if self.eof:
+            raise EOFError("stream ended")
+        self.eof = True
+
+    def discard(self) -> None:
+        """
+        Discard all buffered data, but don't end the stream.
+
+        """
+        del self.buffer[:]
diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/__init__.py b/iot_env/lib/python3.8/site-packages/websockets/sync/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/__init__.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e002ed9e16c21784f12f8d83aac77f53052e837c
GIT binary patch
literal 151
zcmWIL<>g{vU|{HN+noZUAA<;F%*epN;K0DZP|U)>z>vZa%%I8Wx00a<B#a<_+31(#
z7U&mb7U-7d6(lBSr>5wZXQZa)=o;qbWfYbd8|jy)CKcx=XQ!4F>lat%CF{q>XXa&=
Z#K-FuRNmsS$<0qG%}KQbnfe)II{<cRBrpH~

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/client.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/client.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..074e8f7ac7d077669a8009060eafd2a2b1bfa71a
GIT binary patch
literal 9067
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
JGcYpz0|14zDfR#W

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/compatibility.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/compatibility.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..70c30fa32b7a226006718749567d77bcec144955
GIT binary patch
literal 657
zcmWIL<>g{vU|{HN+nu7##K7<v#6iX!3=9ko3=E9LK@1EGDGVu$ISjdsQH+cXRRSpt
zDNH#`xy(^4j11und0H$CsjS&tMQ)4?Aeh3C!koht#gxjF#g@jH!ji(;!WhL8$&kks
z!H~k5&KSj>!W_(?$@UUtn<nEe?!>&j{F20y%>2A!O~zZi$wjG&C8_bnsYPX}MSjUl
zAZ1X@%)r0^a+fp6T|Nv93?&Q;7-|?x7_t}_GSxCwNz^bcV5(tQ$jHc0!?b{TAp?jG
zX9#9sVJKn9VnMjEhG_vSNVbUq>Mq7$22G|ao8Zjcf}G5>%+wTxq{QUxg8ZTqh5R&y
z;{4?7)Dk@umnozb<>x8{RF-7q=P4NLS?Kv`vfW~XsJz7;?C<Oy9~=_o>gaomB`Gs6
z<rZ5`W^qYs-YwSDqN4nwTdc`B`NgT4%(vJRQ&Ngji;Hiur6uNO=2YHd0hzIqp@^4(
zf#H{<eo1bDenDn|ZfRaYVsdtBif(yEYHE(IVP0NFVR^BUetBvVNJDB#v3_x7Ub232
zer`cxNoG=JPG(7^UP0w85r}j=it9NU7#NBLK*7qy$H>IU#mK?P#wftZ!C1u4z`&r%
zaf>THKCQH*v?w(`z6cZrMJx;q3`L*_0IRsg?U@S-9apet*d5*CJ^frmZn4M5C+6hD
r$AcY@MDQ^%Fx=v>$<0qG%}KRm1X<3*z`(%6%)}_b$j8XRB*Fs#TfL^9

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/connection.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/connection.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7f4afce8cddfce4a2c76c910df66a4da9180c3ad
GIT binary patch
literal 18319
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
Hm{^zrSnaZv

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/messages.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/messages.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8d0573fbfc213824bf93694293e8ed2cbc4d0f96
GIT binary patch
literal 5451
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

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/server.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/server.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..169b910f942e83a02da3b7df4b277ef7666b38ff
GIT binary patch
literal 14836
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
BqtpNZ

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/utils.cpython-38.pyc b/iot_env/lib/python3.8/site-packages/websockets/sync/__pycache__/utils.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a586df305e6f41f67c6229947dd8e271110b01a9
GIT binary patch
literal 1434
zcmWIL<>g{vU|{HN+nrL+!octt#6iZ)3=9ko3=E9L77PpwDGVu$ISjdsQH+crHd78$
z6jKUA3Udx~E=v>(BSQ*HI%5>8J3|U<3QG$^3QIFn6k7^YFoP!BOOTnGjJLQG^YZdb
z5=%1k^NRg68E<j;7l7D_Ikz}mQWH~hGV@ZCK}wM^3(N^-3=9mZ3{i|J3{gxej8V)f
zOexGMEOVGrSX0<qSfW@`*i$&>Fs5*(Fr{$KVM^gn;b~!uVol)<X3*p-0+~|P!=<30
zpx~RBmzbWaP?DLOnqOK{tdN*olwVw|kXxEll39?Gs!&{#T2QRV1y<`=lwNEFW`T4<
zwOA>HWag$SB$g#+<|HQNq$*_QDHNwB=jWvqE94g`Smh^WSta=8=cOhnWTq*UWTY0Q
zDr6Qb<mD^mWaeg;K#i{Ahj~6aEhj&*B=!~yNRKAdEq16qx7dnOOG=CKl9`ag1H=Yl
zXHcxDF)%RHFfcOIFs3kMa}<fBFw`)_Gvx7=FfL$P$WX&54(6vY1T$zd`e`!X;z)sp
z@+}sS9k)1h^Yijc^7As2HJNU)6sP8-6|pfeFsx)K;$dK5_+_bIl3So(kXfKxnpcpR
zoSmAYTb_}cnxku&mzPmkUTmaao|;sgpPZdqQmkKGnU}0zT9TPltXEKZiz7ZhGcU6w
zK3<rCfuWcK<N-z&Mh->}rYb>LRO`XiglIC}5-3W{EKZHjOp8y=Nh~N%O}WLAl%JoY
z$yCJ8z`#(%&cMKs%m^}ufq?-;gHk34gTuiD91d9wDU8`1MSLlY!3;GFSqzX+kYK1~
zs$ncLs9{QB%4RGwC}B=vZf0y^tO2D=mc(F21_pQpJ16EOm*ymvq$(uB(uYD?QGTvM
zq5>@Bps@!^4ycI(B!cb-1r4wttQ5jCQbFlJp(I}ctVY2qwIbOn0hEsNOG{jfit>vR
z;I06f1j3NS1GiZL5-vy%2m%EeQu+jGLN?M$!4sVR@EHM4VOY#i$Vp8rAunZvoZ(jl
ziliz|P%=wV$S*C?WGMorf+9{(Y=R1%TRg~4)nqQ>2FZXU8<YmYDG);Nf+Rp<QlPX1
zN|_A&T#PJ?e2hGd9E?>0@bm<-EWfnGPm>Ll{_+xYQ{&@ramB~y=BJeAfY?0o@r9*{
zIZzq)`1q9k<oNg^K9~g%`#?58SYVq$MF+^i#ULkeFtTt6uxqk|j7=*oDJ@Ekk1qn{
zN3h3kv6WO7Wagz8fl}rz_W1b3oSgW0aNz?n5Y^~g95xWA*?|HJoJ)9^I2d`D*_Z)U
C=468a

literal 0
HcmV?d00001

diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/client.py b/iot_env/lib/python3.8/site-packages/websockets/sync/client.py
new file mode 100644
index 0000000..087ff5f
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/sync/client.py
@@ -0,0 +1,328 @@
+from __future__ import annotations
+
+import socket
+import ssl
+import threading
+from typing import Any, Optional, Sequence, Type
+
+from ..client import ClientProtocol
+from ..datastructures import HeadersLike
+from ..extensions.base import ClientExtensionFactory
+from ..extensions.permessage_deflate import enable_client_permessage_deflate
+from ..headers import validate_subprotocols
+from ..http import USER_AGENT
+from ..http11 import Response
+from ..protocol import CONNECTING, OPEN, Event
+from ..typing import LoggerLike, Origin, Subprotocol
+from ..uri import parse_uri
+from .connection import Connection
+from .utils import Deadline
+
+
+__all__ = ["connect", "unix_connect", "ClientConnection"]
+
+
+class ClientConnection(Connection):
+    """
+    Threaded implementation of a WebSocket client connection.
+
+    :class:`ClientConnection` provides :meth:`recv` and :meth:`send` methods for
+    receiving and sending messages.
+
+    It supports iteration to receive messages::
+
+        for message in websocket:
+            process(message)
+
+    The iterator exits normally when the connection is closed with close code
+    1000 (OK) or 1001 (going away) or without a close code. It raises a
+    :exc:`~websockets.exceptions.ConnectionClosedError` when the connection is
+    closed with any other code.
+
+    Args:
+        socket: Socket connected to a WebSocket server.
+        protocol: Sans-I/O connection.
+        close_timeout: Timeout for closing the connection in seconds.
+
+    """
+
+    def __init__(
+        self,
+        socket: socket.socket,
+        protocol: ClientProtocol,
+        *,
+        close_timeout: Optional[float] = 10,
+    ) -> None:
+        self.protocol: ClientProtocol
+        self.response_rcvd = threading.Event()
+        super().__init__(
+            socket,
+            protocol,
+            close_timeout=close_timeout,
+        )
+
+    def handshake(
+        self,
+        additional_headers: Optional[HeadersLike] = None,
+        user_agent_header: Optional[str] = USER_AGENT,
+        timeout: Optional[float] = None,
+    ) -> None:
+        """
+        Perform the opening handshake.
+
+        """
+        with self.send_context(expected_state=CONNECTING):
+            self.request = self.protocol.connect()
+            if additional_headers is not None:
+                self.request.headers.update(additional_headers)
+            if user_agent_header is not None:
+                self.request.headers["User-Agent"] = user_agent_header
+            self.protocol.send_request(self.request)
+
+        if not self.response_rcvd.wait(timeout):
+            self.close_socket()
+            self.recv_events_thread.join()
+            raise TimeoutError("timed out during handshake")
+
+        if self.response is None:
+            self.close_socket()
+            self.recv_events_thread.join()
+            raise ConnectionError("connection closed during handshake")
+
+        if self.protocol.state is not OPEN:
+            self.recv_events_thread.join(self.close_timeout)
+            self.close_socket()
+            self.recv_events_thread.join()
+
+        if self.protocol.handshake_exc is not None:
+            raise self.protocol.handshake_exc
+
+    def process_event(self, event: Event) -> None:
+        """
+        Process one incoming event.
+
+        """
+        # First event - handshake response.
+        if self.response is None:
+            assert isinstance(event, Response)
+            self.response = event
+            self.response_rcvd.set()
+        # Later events - frames.
+        else:
+            super().process_event(event)
+
+    def recv_events(self) -> None:
+        """
+        Read incoming data from the socket and process events.
+
+        """
+        try:
+            super().recv_events()
+        finally:
+            # If the connection is closed during the handshake, unblock it.
+            self.response_rcvd.set()
+
+
+def connect(
+    uri: str,
+    *,
+    # TCP/TLS — unix and path are only for unix_connect()
+    sock: Optional[socket.socket] = None,
+    ssl_context: Optional[ssl.SSLContext] = None,
+    server_hostname: Optional[str] = None,
+    unix: bool = False,
+    path: Optional[str] = None,
+    # WebSocket
+    origin: Optional[Origin] = None,
+    extensions: Optional[Sequence[ClientExtensionFactory]] = None,
+    subprotocols: Optional[Sequence[Subprotocol]] = None,
+    additional_headers: Optional[HeadersLike] = None,
+    user_agent_header: Optional[str] = USER_AGENT,
+    compression: Optional[str] = "deflate",
+    # Timeouts
+    open_timeout: Optional[float] = 10,
+    close_timeout: Optional[float] = 10,
+    # Limits
+    max_size: Optional[int] = 2**20,
+    # Logging
+    logger: Optional[LoggerLike] = None,
+    # Escape hatch for advanced customization
+    create_connection: Optional[Type[ClientConnection]] = None,
+) -> ClientConnection:
+    """
+    Connect to the WebSocket server at ``uri``.
+
+    This function returns a :class:`ClientConnection` instance, which you can
+    use to send and receive messages.
+
+    :func:`connect` may be used as a context manager::
+
+        async with websockets.sync.client.connect(...) as websocket:
+            ...
+
+    The connection is closed automatically when exiting the context.
+
+    Args:
+        uri: URI of the WebSocket server.
+        sock: Preexisting TCP socket. ``sock`` overrides the host and port
+            from ``uri``. You may call :func:`socket.create_connection` to
+            create a suitable TCP socket.
+        ssl_context: Configuration for enabling TLS on the connection.
+        server_hostname: Host name for the TLS handshake. ``server_hostname``
+            overrides the host name from ``uri``.
+        origin: Value of the ``Origin`` header, for servers that require it.
+        extensions: List of supported extensions, in order in which they
+            should be negotiated and run.
+        subprotocols: List of supported subprotocols, in order of decreasing
+            preference.
+        additional_headers (HeadersLike | None): Arbitrary HTTP headers to add
+            to the handshake request.
+        user_agent_header: Value of  the ``User-Agent`` request header.
+            It defaults to ``"Python/x.y.z websockets/X.Y"``.
+            Setting it to :obj:`None` removes the header.
+        compression: The "permessage-deflate" extension is enabled by default.
+            Set ``compression`` to :obj:`None` to disable it. See the
+            :doc:`compression guide <../../topics/compression>` for details.
+        open_timeout: Timeout for opening the connection in seconds.
+            :obj:`None` disables the timeout.
+        close_timeout: Timeout for closing the connection in seconds.
+            :obj:`None` disables the timeout.
+        max_size: Maximum size of incoming messages in bytes.
+            :obj:`None` disables the limit.
+        logger: Logger for this client.
+            It defaults to ``logging.getLogger("websockets.client")``.
+            See the :doc:`logging guide <../../topics/logging>` for details.
+        create_connection: Factory for the :class:`ClientConnection` managing
+            the connection. Set it to a wrapper or a subclass to customize
+            connection handling.
+
+    Raises:
+        InvalidURI: If ``uri`` isn't a valid WebSocket URI.
+        OSError: If the TCP connection fails.
+        InvalidHandshake: If the opening handshake fails.
+        TimeoutError: If the opening handshake times out.
+
+    """
+
+    # Process parameters
+
+    wsuri = parse_uri(uri)
+    if not wsuri.secure and ssl_context is not None:
+        raise TypeError("ssl_context argument is incompatible with a ws:// URI")
+
+    if unix:
+        if path is None and sock is None:
+            raise TypeError("missing path argument")
+        elif path is not None and sock is not None:
+            raise TypeError("path and sock arguments are incompatible")
+    else:
+        assert path is None  # private argument, only set by unix_connect()
+
+    if subprotocols is not None:
+        validate_subprotocols(subprotocols)
+
+    if compression == "deflate":
+        extensions = enable_client_permessage_deflate(extensions)
+    elif compression is not None:
+        raise ValueError(f"unsupported compression: {compression}")
+
+    # Calculate timeouts on the TCP, TLS, and WebSocket handshakes.
+    # The TCP and TLS timeouts must be set on the socket, then removed
+    # to avoid conflicting with the WebSocket timeout in handshake().
+    deadline = Deadline(open_timeout)
+
+    if create_connection is None:
+        create_connection = ClientConnection
+
+    try:
+        # Connect socket
+
+        if sock is None:
+            if unix:
+                sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+                sock.settimeout(deadline.timeout())
+                assert path is not None  # validated above -- this is for mpypy
+                sock.connect(path)
+            else:
+                sock = socket.create_connection(
+                    (wsuri.host, wsuri.port),
+                    deadline.timeout(),
+                )
+            sock.settimeout(None)
+
+        # Disable Nagle algorithm
+
+        if not unix:
+            sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, True)
+
+        # Initialize TLS wrapper and perform TLS handshake
+
+        if wsuri.secure:
+            if ssl_context is None:
+                ssl_context = ssl.create_default_context()
+            if server_hostname is None:
+                server_hostname = wsuri.host
+            sock.settimeout(deadline.timeout())
+            sock = ssl_context.wrap_socket(sock, server_hostname=server_hostname)
+            sock.settimeout(None)
+
+        # Initialize WebSocket connection
+
+        protocol = ClientProtocol(
+            wsuri,
+            origin=origin,
+            extensions=extensions,
+            subprotocols=subprotocols,
+            state=CONNECTING,
+            max_size=max_size,
+            logger=logger,
+        )
+
+        # Initialize WebSocket protocol
+
+        connection = create_connection(
+            sock,
+            protocol,
+            close_timeout=close_timeout,
+        )
+        # On failure, handshake() closes the socket and raises an exception.
+        connection.handshake(
+            additional_headers,
+            user_agent_header,
+            deadline.timeout(),
+        )
+
+    except Exception:
+        if sock is not None:
+            sock.close()
+        raise
+
+    return connection
+
+
+def unix_connect(
+    path: Optional[str] = None,
+    uri: Optional[str] = None,
+    **kwargs: Any,
+) -> ClientConnection:
+    """
+    Connect to a WebSocket server listening on a Unix socket.
+
+    This function is identical to :func:`connect`, except for the additional
+    ``path`` argument. It's only available on Unix.
+
+    It's mainly useful for debugging servers listening on Unix sockets.
+
+    Args:
+        path: File system path to the Unix socket.
+        uri: URI of the WebSocket server. ``uri`` defaults to
+            ``ws://localhost/`` or, when a ``ssl_context`` is provided, to
+            ``wss://localhost/``.
+
+    """
+    if uri is None:
+        if kwargs.get("ssl_context") is None:
+            uri = "ws://localhost/"
+        else:
+            uri = "wss://localhost/"
+    return connect(uri=uri, unix=True, path=path, **kwargs)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/compatibility.py b/iot_env/lib/python3.8/site-packages/websockets/sync/compatibility.py
new file mode 100644
index 0000000..38d2ab6
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/sync/compatibility.py
@@ -0,0 +1,21 @@
+from __future__ import annotations
+
+
+try:
+    from socket import create_server as socket_create_server
+except ImportError:
+    import socket
+
+    def socket_create_server(address, family=socket.AF_INET):  # type: ignore
+        """Simplified backport of socket.create_server from Python 3.8."""
+        sock = socket.socket(family, socket.SOCK_STREAM)
+        try:
+            sock.bind(address)
+            sock.listen()
+            return sock
+        except socket.error:
+            sock.close()
+            raise
+
+
+__all__ = ["socket_create_server"]
diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/connection.py b/iot_env/lib/python3.8/site-packages/websockets/sync/connection.py
new file mode 100644
index 0000000..697d663
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/sync/connection.py
@@ -0,0 +1,764 @@
+from __future__ import annotations
+
+import contextlib
+import logging
+import random
+import socket
+import struct
+import threading
+import uuid
+from types import TracebackType
+from typing import Any, Dict, Iterable, Iterator, Mapping, Optional, Type, Union
+
+from ..exceptions import ConnectionClosed, ConnectionClosedOK, ProtocolError
+from ..frames import DATA_OPCODES, BytesLike, Frame, Opcode, prepare_ctrl
+from ..http11 import Request, Response
+from ..protocol import CLOSED, OPEN, Event, Protocol, State
+from ..typing import Data, LoggerLike, Subprotocol
+from .messages import Assembler
+from .utils import Deadline
+
+
+__all__ = ["Connection"]
+
+logger = logging.getLogger(__name__)
+
+BUFSIZE = 65536
+
+
+class Connection:
+    """
+    Threaded implementation of a WebSocket connection.
+
+    :class:`Connection` provides APIs shared between WebSocket servers and
+    clients.
+
+    You shouldn't use it directly. Instead, use
+    :class:`~websockets.sync.client.ClientConnection` or
+    :class:`~websockets.sync.server.ServerConnection`.
+
+    """
+
+    def __init__(
+        self,
+        socket: socket.socket,
+        protocol: Protocol,
+        *,
+        close_timeout: Optional[float] = 10,
+    ) -> None:
+        self.socket = socket
+        self.protocol = protocol
+        self.close_timeout = close_timeout
+
+        # Inject reference to this instance in the protocol's logger.
+        self.protocol.logger = logging.LoggerAdapter(
+            self.protocol.logger,
+            {"websocket": self},
+        )
+
+        # Copy attributes from the protocol for convenience.
+        self.id: uuid.UUID = self.protocol.id
+        """Unique identifier of the connection. Useful in logs."""
+        self.logger: LoggerLike = self.protocol.logger
+        """Logger for this connection."""
+        self.debug = self.protocol.debug
+
+        # HTTP handshake request and response.
+        self.request: Optional[Request] = None
+        """Opening handshake request."""
+        self.response: Optional[Response] = None
+        """Opening handshake response."""
+
+        # Mutex serializing interactions with the protocol.
+        self.protocol_mutex = threading.Lock()
+
+        # Assembler turning frames into messages and serializing reads.
+        self.recv_messages = Assembler()
+
+        # Whether we are busy sending a fragmented message.
+        self.send_in_progress = False
+
+        # Deadline for the closing handshake.
+        self.close_deadline: Optional[Deadline] = None
+
+        # Mapping of ping IDs to pong waiters, in chronological order.
+        self.pings: Dict[bytes, threading.Event] = {}
+
+        # Receiving events from the socket.
+        self.recv_events_thread = threading.Thread(target=self.recv_events)
+        self.recv_events_thread.start()
+
+        # Exception raised in recv_events, to be chained to ConnectionClosed
+        # in the user thread in order to show why the TCP connection dropped.
+        self.recv_events_exc: Optional[BaseException] = None
+
+    # Public attributes
+
+    @property
+    def local_address(self) -> Any:
+        """
+        Local address of the connection.
+
+        For IPv4 connections, this is a ``(host, port)`` tuple.
+
+        The format of the address depends on the address family.
+        See :meth:`~socket.socket.getsockname`.
+
+        """
+        return self.socket.getsockname()
+
+    @property
+    def remote_address(self) -> Any:
+        """
+        Remote address of the connection.
+
+        For IPv4 connections, this is a ``(host, port)`` tuple.
+
+        The format of the address depends on the address family.
+        See :meth:`~socket.socket.getpeername`.
+
+        """
+        return self.socket.getpeername()
+
+    @property
+    def subprotocol(self) -> Optional[Subprotocol]:
+        """
+        Subprotocol negotiated during the opening handshake.
+
+        :obj:`None` if no subprotocol was negotiated.
+
+        """
+        return self.protocol.subprotocol
+
+    # Public methods
+
+    def __enter__(self) -> Connection:
+        return self
+
+    def __exit__(
+        self,
+        exc_type: Optional[Type[BaseException]],
+        exc_value: Optional[BaseException],
+        traceback: Optional[TracebackType],
+    ) -> None:
+        self.close(1000 if exc_type is None else 1011)
+
+    def __iter__(self) -> Iterator[Data]:
+        """
+        Iterate on incoming messages.
+
+        The iterator calls :meth:`recv` and yields messages in an infinite loop.
+
+        It exits when the connection is closed normally. It raises a
+        :exc:`~websockets.exceptions.ConnectionClosedError` exception after a
+        protocol error or a network failure.
+
+        """
+        try:
+            while True:
+                yield self.recv()
+        except ConnectionClosedOK:
+            return
+
+    def recv(self, timeout: Optional[float] = None) -> Data:
+        """
+        Receive the next message.
+
+        When the connection is closed, :meth:`recv` raises
+        :exc:`~websockets.exceptions.ConnectionClosed`. Specifically, it raises
+        :exc:`~websockets.exceptions.ConnectionClosedOK` after a normal closure
+        and :exc:`~websockets.exceptions.ConnectionClosedError` after a protocol
+        error or a network failure. This is how you detect the end of the
+        message stream.
+
+        If ``timeout`` is :obj:`None`, block until a message is received. If
+        ``timeout`` is set and no message is received within ``timeout``
+        seconds, raise :exc:`TimeoutError`. Set ``timeout`` to ``0`` to check if
+        a message was already received.
+
+        If the message is fragmented, wait until all fragments are received,
+        reassemble them, and return the whole message.
+
+        Returns:
+            A string (:class:`str`) for a Text_ frame or a bytestring
+            (:class:`bytes`) for a Binary_ frame.
+
+            .. _Text: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+            .. _Binary: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+
+        Raises:
+            ConnectionClosed: When the connection is closed.
+            RuntimeError: If two threads call :meth:`recv` or
+                :meth:`recv_streaming` concurrently.
+
+        """
+        try:
+            return self.recv_messages.get(timeout)
+        except EOFError:
+            raise self.protocol.close_exc from self.recv_events_exc
+        except RuntimeError:
+            raise RuntimeError(
+                "cannot call recv while another thread "
+                "is already running recv or recv_streaming"
+            ) from None
+
+    def recv_streaming(self) -> Iterator[Data]:
+        """
+        Receive the next message frame by frame.
+
+        If the message is fragmented, yield each fragment as it is received.
+        The iterator must be fully consumed, or else the connection will become
+        unusable.
+
+        :meth:`recv_streaming` raises the same exceptions as :meth:`recv`.
+
+        Returns:
+            An iterator of strings (:class:`str`) for a Text_ frame or
+            bytestrings (:class:`bytes`) for a Binary_ frame.
+
+            .. _Text: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+            .. _Binary: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+
+        Raises:
+            ConnectionClosed: When the connection is closed.
+            RuntimeError: If two threads call :meth:`recv` or
+                :meth:`recv_streaming` concurrently.
+
+        """
+        try:
+            yield from self.recv_messages.get_iter()
+        except EOFError:
+            raise self.protocol.close_exc from self.recv_events_exc
+        except RuntimeError:
+            raise RuntimeError(
+                "cannot call recv_streaming while another thread "
+                "is already running recv or recv_streaming"
+            ) from None
+
+    def send(self, message: Union[Data, Iterable[Data]]) -> None:
+        """
+        Send a message.
+
+        A string (:class:`str`) is sent as a Text_ frame. A bytestring or
+        bytes-like object (:class:`bytes`, :class:`bytearray`, or
+        :class:`memoryview`) is sent as a Binary_ frame.
+
+        .. _Text: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+        .. _Binary: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+
+        :meth:`send` also accepts an iterable of strings, bytestrings, or
+        bytes-like objects to enable fragmentation_. Each item is treated as a
+        message fragment and sent in its own frame. All items must be of the
+        same type, or else :meth:`send` will raise a :exc:`TypeError` and the
+        connection will be closed.
+
+        .. _fragmentation: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.4
+
+        :meth:`send` rejects dict-like objects because this is often an error.
+        (If you really want to send the keys of a dict-like object as fragments,
+        call its :meth:`~dict.keys` method and pass the result to :meth:`send`.)
+
+        When the connection is closed, :meth:`send` raises
+        :exc:`~websockets.exceptions.ConnectionClosed`. Specifically, it
+        raises :exc:`~websockets.exceptions.ConnectionClosedOK` after a normal
+        connection closure and
+        :exc:`~websockets.exceptions.ConnectionClosedError` after a protocol
+        error or a network failure.
+
+        Args:
+            message: Message to send.
+
+        Raises:
+            ConnectionClosed: When the connection is closed.
+            RuntimeError: If a connection is busy sending a fragmented message.
+            TypeError: If ``message`` doesn't have a supported type.
+
+        """
+        # Unfragmented message -- this case must be handled first because
+        # strings and bytes-like objects are iterable.
+
+        if isinstance(message, str):
+            with self.send_context():
+                if self.send_in_progress:
+                    raise RuntimeError(
+                        "cannot call send while another thread "
+                        "is already running send"
+                    )
+                self.protocol.send_text(message.encode("utf-8"))
+
+        elif isinstance(message, BytesLike):
+            with self.send_context():
+                if self.send_in_progress:
+                    raise RuntimeError(
+                        "cannot call send while another thread "
+                        "is already running send"
+                    )
+                self.protocol.send_binary(message)
+
+        # Catch a common mistake -- passing a dict to send().
+
+        elif isinstance(message, Mapping):
+            raise TypeError("data is a dict-like object")
+
+        # Fragmented message -- regular iterator.
+
+        elif isinstance(message, Iterable):
+            chunks = iter(message)
+            try:
+                chunk = next(chunks)
+            except StopIteration:
+                return
+
+            try:
+                # First fragment.
+                if isinstance(chunk, str):
+                    text = True
+                    with self.send_context():
+                        if self.send_in_progress:
+                            raise RuntimeError(
+                                "cannot call send while another thread "
+                                "is already running send"
+                            )
+                        self.send_in_progress = True
+                        self.protocol.send_text(
+                            chunk.encode("utf-8"),
+                            fin=False,
+                        )
+                elif isinstance(chunk, BytesLike):
+                    text = False
+                    with self.send_context():
+                        if self.send_in_progress:
+                            raise RuntimeError(
+                                "cannot call send while another thread "
+                                "is already running send"
+                            )
+                        self.send_in_progress = True
+                        self.protocol.send_binary(
+                            chunk,
+                            fin=False,
+                        )
+                else:
+                    raise TypeError("data iterable must contain bytes or str")
+
+                # Other fragments
+                for chunk in chunks:
+                    if isinstance(chunk, str) and text:
+                        with self.send_context():
+                            assert self.send_in_progress
+                            self.protocol.send_continuation(
+                                chunk.encode("utf-8"),
+                                fin=False,
+                            )
+                    elif isinstance(chunk, BytesLike) and not text:
+                        with self.send_context():
+                            assert self.send_in_progress
+                            self.protocol.send_continuation(
+                                chunk,
+                                fin=False,
+                            )
+                    else:
+                        raise TypeError("data iterable must contain uniform types")
+
+                # Final fragment.
+                with self.send_context():
+                    self.protocol.send_continuation(b"", fin=True)
+                    self.send_in_progress = False
+
+            except RuntimeError:
+                # We didn't start sending a fragmented message.
+                raise
+
+            except Exception:
+                # We're half-way through a fragmented message and we can't
+                # complete it. This makes the connection unusable.
+                with self.send_context():
+                    self.protocol.fail(1011, "error in fragmented message")
+                raise
+
+        else:
+            raise TypeError("data must be bytes, str, or iterable")
+
+    def close(self, code: int = 1000, reason: str = "") -> None:
+        """
+        Perform the closing handshake.
+
+        :meth:`close` waits for the other end to complete the handshake, for the
+        TCP connection to terminate, and for all incoming messages to be read
+        with :meth:`recv`.
+
+        :meth:`close` is idempotent: it doesn't do anything once the
+        connection is closed.
+
+        Args:
+            code: WebSocket close code.
+            reason: WebSocket close reason.
+
+        """
+        try:
+            # The context manager takes care of waiting for the TCP connection
+            # to terminate after calling a method that sends a close frame.
+            with self.send_context():
+                if self.send_in_progress:
+                    self.protocol.fail(1011, "close during fragmented message")
+                else:
+                    self.protocol.send_close(code, reason)
+        except ConnectionClosed:
+            # Ignore ConnectionClosed exceptions raised from send_context().
+            # They mean that the connection is closed, which was the goal.
+            pass
+
+    def ping(self, data: Optional[Data] = None) -> threading.Event:
+        """
+        Send a Ping_.
+
+        .. _Ping: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.5.2
+
+        A ping may serve as a keepalive or as a check that the remote endpoint
+        received all messages up to this point
+
+        Args:
+            data: Payload of the ping. A :class:`str` will be encoded to UTF-8.
+                If ``data`` is :obj:`None`, the payload is four random bytes.
+
+        Returns:
+            An event that will be set when the corresponding pong is received.
+            You can ignore it if you don't intend to wait.
+
+            ::
+
+                pong_event = ws.ping()
+                pong_event.wait()  # only if you want to wait for the pong
+
+        Raises:
+            ConnectionClosed: When the connection is closed.
+            RuntimeError: If another ping was sent with the same data and
+                the corresponding pong wasn't received yet.
+
+        """
+        if data is not None:
+            data = prepare_ctrl(data)
+
+        with self.send_context():
+            # Protect against duplicates if a payload is explicitly set.
+            if data in self.pings:
+                raise RuntimeError("already waiting for a pong with the same data")
+
+            # Generate a unique random payload otherwise.
+            while data is None or data in self.pings:
+                data = struct.pack("!I", random.getrandbits(32))
+
+            pong_waiter = threading.Event()
+            self.pings[data] = pong_waiter
+            self.protocol.send_ping(data)
+            return pong_waiter
+
+    def pong(self, data: Data = b"") -> None:
+        """
+        Send a Pong_.
+
+        .. _Pong: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.5.3
+
+        An unsolicited pong may serve as a unidirectional heartbeat.
+
+        Args:
+            data: Payload of the pong. A :class:`str` will be encoded to UTF-8.
+
+        Raises:
+            ConnectionClosed: When the connection is closed.
+
+        """
+        data = prepare_ctrl(data)
+
+        with self.send_context():
+            self.protocol.send_pong(data)
+
+    # Private methods
+
+    def process_event(self, event: Event) -> None:
+        """
+        Process one incoming event.
+
+        This method is overridden in subclasses to handle the handshake.
+
+        """
+        assert isinstance(event, Frame)
+        if event.opcode in DATA_OPCODES:
+            self.recv_messages.put(event)
+
+        if event.opcode is Opcode.PONG:
+            self.acknowledge_pings(bytes(event.data))
+
+    def acknowledge_pings(self, data: bytes) -> None:
+        """
+        Acknowledge pings when receiving a pong.
+
+        """
+        with self.protocol_mutex:
+            # Ignore unsolicited pong.
+            if data not in self.pings:
+                return
+            # Sending a pong for only the most recent ping is legal.
+            # Acknowledge all previous pings too in that case.
+            ping_id = None
+            ping_ids = []
+            for ping_id, ping in self.pings.items():
+                ping_ids.append(ping_id)
+                ping.set()
+                if ping_id == data:
+                    break
+            else:
+                raise AssertionError("solicited pong not found in pings")
+            # Remove acknowledged pings from self.pings.
+            for ping_id in ping_ids:
+                del self.pings[ping_id]
+
+    def recv_events(self) -> None:
+        """
+        Read incoming data from the socket and process events.
+
+        Run this method in a thread as long as the connection is alive.
+
+        ``recv_events()`` exits immediately when the ``self.socket`` is closed.
+
+        """
+        try:
+            while True:
+                try:
+                    if self.close_deadline is not None:
+                        self.socket.settimeout(self.close_deadline.timeout())
+                    data = self.socket.recv(BUFSIZE)
+                except Exception as exc:
+                    if self.debug:
+                        self.logger.debug("error while receiving data", exc_info=True)
+                    # When the closing handshake is initiated by our side,
+                    # recv() may block until send_context() closes the socket.
+                    # In that case, send_context() already set recv_events_exc.
+                    # Calling set_recv_events_exc() avoids overwriting it.
+                    with self.protocol_mutex:
+                        self.set_recv_events_exc(exc)
+                    break
+
+                if data == b"":
+                    break
+
+                # Acquire the connection lock.
+                with self.protocol_mutex:
+                    # Feed incoming data to the connection.
+                    self.protocol.receive_data(data)
+
+                    # This isn't expected to raise an exception.
+                    events = self.protocol.events_received()
+
+                    # Write outgoing data to the socket.
+                    try:
+                        self.send_data()
+                    except Exception as exc:
+                        if self.debug:
+                            self.logger.debug("error while sending data", exc_info=True)
+                        # Similarly to the above, avoid overriding an exception
+                        # set by send_context(), in case of a race condition
+                        # i.e. send_context() closes the socket after recv()
+                        # returns above but before send_data() calls send().
+                        self.set_recv_events_exc(exc)
+                        break
+
+                    if self.protocol.close_expected():
+                        # If the connection is expected to close soon, set the
+                        # close deadline based on the close timeout.
+                        if self.close_deadline is None:
+                            self.close_deadline = Deadline(self.close_timeout)
+
+                # Unlock conn_mutex before processing events. Else, the
+                # application can't send messages in response to events.
+
+                # If self.send_data raised an exception, then events are lost.
+                # Given that automatic responses write small amounts of data,
+                # this should be uncommon, so we don't handle the edge case.
+
+                try:
+                    for event in events:
+                        # This may raise EOFError if the closing handshake
+                        # times out while a message is waiting to be read.
+                        self.process_event(event)
+                except EOFError:
+                    break
+
+            # Breaking out of the while True: ... loop means that we believe
+            # that the socket doesn't work anymore.
+            with self.protocol_mutex:
+                # Feed the end of the data stream to the connection.
+                self.protocol.receive_eof()
+
+                # This isn't expected to generate events.
+                assert not self.protocol.events_received()
+
+                # There is no error handling because send_data() can only write
+                # the end of the data stream here and it handles errors itself.
+                self.send_data()
+
+        except Exception as exc:
+            # This branch should never run. It's a safety net in case of bugs.
+            self.logger.error("unexpected internal error", exc_info=True)
+            with self.protocol_mutex:
+                self.set_recv_events_exc(exc)
+            # We don't know where we crashed. Force protocol state to CLOSED.
+            self.protocol.state = CLOSED
+        finally:
+            # This isn't expected to raise an exception.
+            self.close_socket()
+
+    @contextlib.contextmanager
+    def send_context(
+        self,
+        *,
+        expected_state: State = OPEN,  # CONNECTING during the opening handshake
+    ) -> Iterator[None]:
+        """
+        Create a context for writing to the connection from user code.
+
+        On entry, :meth:`send_context` acquires the connection lock and checks
+        that the connection is open; on exit, it writes outgoing data to the
+        socket::
+
+            with self.send_context():
+                self.protocol.send_text(message.encode("utf-8"))
+
+        When the connection isn't open on entry, when the connection is expected
+        to close on exit, or when an unexpected error happens, terminating the
+        connection, :meth:`send_context` waits until the connection is closed
+        then raises :exc:`~websockets.exceptions.ConnectionClosed`.
+
+        """
+        # Should we wait until the connection is closed?
+        wait_for_close = False
+        # Should we close the socket and raise ConnectionClosed?
+        raise_close_exc = False
+        # What exception should we chain ConnectionClosed to?
+        original_exc: Optional[BaseException] = None
+
+        # Acquire the protocol lock.
+        with self.protocol_mutex:
+            if self.protocol.state is expected_state:
+                # Let the caller interact with the protocol.
+                try:
+                    yield
+                except (ProtocolError, RuntimeError):
+                    # The protocol state wasn't changed. Exit immediately.
+                    raise
+                except Exception as exc:
+                    self.logger.error("unexpected internal error", exc_info=True)
+                    # This branch should never run. It's a safety net in case of
+                    # bugs. Since we don't know what happened, we will close the
+                    # connection and raise the exception to the caller.
+                    wait_for_close = False
+                    raise_close_exc = True
+                    original_exc = exc
+                else:
+                    # Check if the connection is expected to close soon.
+                    if self.protocol.close_expected():
+                        wait_for_close = True
+                        # If the connection is expected to close soon, set the
+                        # close deadline based on the close timeout.
+
+                        # Since we tested earlier that protocol.state was OPEN
+                        # (or CONNECTING) and we didn't release protocol_mutex,
+                        # it is certain that self.close_deadline is still None.
+                        assert self.close_deadline is None
+                        self.close_deadline = Deadline(self.close_timeout)
+                    # Write outgoing data to the socket.
+                    try:
+                        self.send_data()
+                    except Exception as exc:
+                        if self.debug:
+                            self.logger.debug("error while sending data", exc_info=True)
+                        # While the only expected exception here is OSError,
+                        # other exceptions would be treated identically.
+                        wait_for_close = False
+                        raise_close_exc = True
+                        original_exc = exc
+
+            else:  # self.protocol.state is not expected_state
+                # Minor layering violation: we assume that the connection
+                # will be closing soon if it isn't in the expected state.
+                wait_for_close = True
+                raise_close_exc = True
+
+        # To avoid a deadlock, release the connection lock by exiting the
+        # context manager before waiting for recv_events() to terminate.
+
+        # If the connection is expected to close soon and the close timeout
+        # elapses, close the socket to terminate the connection.
+        if wait_for_close:
+            if self.close_deadline is None:
+                timeout = self.close_timeout
+            else:
+                # Thread.join() returns immediately if timeout is negative.
+                timeout = self.close_deadline.timeout(raise_if_elapsed=False)
+            self.recv_events_thread.join(timeout)
+
+            if self.recv_events_thread.is_alive():
+                # There's no risk to overwrite another error because
+                # original_exc is never set when wait_for_close is True.
+                assert original_exc is None
+                original_exc = TimeoutError("timed out while closing connection")
+                # Set recv_events_exc before closing the socket in order to get
+                # proper exception reporting.
+                raise_close_exc = True
+                with self.protocol_mutex:
+                    self.set_recv_events_exc(original_exc)
+
+        # If an error occurred, close the socket to terminate the connection and
+        # raise an exception.
+        if raise_close_exc:
+            self.close_socket()
+            self.recv_events_thread.join()
+            raise self.protocol.close_exc from original_exc
+
+    def send_data(self) -> None:
+        """
+        Send outgoing data.
+
+        This method requires holding protocol_mutex.
+
+        Raises:
+            OSError: When a socket operations fails.
+
+        """
+        assert self.protocol_mutex.locked()
+        for data in self.protocol.data_to_send():
+            if data:
+                if self.close_deadline is not None:
+                    self.socket.settimeout(self.close_deadline.timeout())
+                self.socket.sendall(data)
+            else:
+                try:
+                    self.socket.shutdown(socket.SHUT_WR)
+                except OSError:  # socket already closed
+                    pass
+
+    def set_recv_events_exc(self, exc: Optional[BaseException]) -> None:
+        """
+        Set recv_events_exc, if not set yet.
+
+        This method requires holding protocol_mutex.
+
+        """
+        assert self.protocol_mutex.locked()
+        if self.recv_events_exc is None:
+            self.recv_events_exc = exc
+
+    def close_socket(self) -> None:
+        """
+        Shutdown and close socket. Close message assembler.
+
+        Calling close_socket() guarantees that recv_events() terminates. Indeed,
+        recv_events() may block only on socket.recv() or on recv_messages.put().
+
+        """
+        # shutdown() is required to interrupt recv() on Linux.
+        try:
+            self.socket.shutdown(socket.SHUT_RDWR)
+        except OSError:
+            pass  # socket is already closed
+        self.socket.close()
+        self.recv_messages.close()
diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/messages.py b/iot_env/lib/python3.8/site-packages/websockets/sync/messages.py
new file mode 100644
index 0000000..67a2231
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/sync/messages.py
@@ -0,0 +1,281 @@
+from __future__ import annotations
+
+import codecs
+import queue
+import threading
+from typing import Iterator, List, Optional, cast
+
+from ..frames import Frame, Opcode
+from ..typing import Data
+
+
+__all__ = ["Assembler"]
+
+UTF8Decoder = codecs.getincrementaldecoder("utf-8")
+
+
+class Assembler:
+    """
+    Assemble messages from frames.
+
+    """
+
+    def __init__(self) -> None:
+        # Serialize reads and writes -- except for reads via synchronization
+        # primitives provided by the threading and queue modules.
+        self.mutex = threading.Lock()
+
+        # We create a latch with two events to ensure proper interleaving of
+        # writing and reading messages.
+        # put() sets this event to tell get() that a message can be fetched.
+        self.message_complete = threading.Event()
+        # get() sets this event to let put() that the message was fetched.
+        self.message_fetched = threading.Event()
+
+        # This flag prevents concurrent calls to get() by user code.
+        self.get_in_progress = False
+        # This flag prevents concurrent calls to put() by library code.
+        self.put_in_progress = False
+
+        # Decoder for text frames, None for binary frames.
+        self.decoder: Optional[codecs.IncrementalDecoder] = None
+
+        # Buffer of frames belonging to the same message.
+        self.chunks: List[Data] = []
+
+        # When switching from "buffering" to "streaming", we use a thread-safe
+        # queue for transferring frames from the writing thread (library code)
+        # to the reading thread (user code). We're buffering when chunks_queue
+        # is None and streaming when it's a SimpleQueue. None is a sentinel
+        # value marking the end of the stream, superseding message_complete.
+
+        # Stream data from frames belonging to the same message.
+        # Remove quotes around type when dropping Python < 3.9.
+        self.chunks_queue: Optional["queue.SimpleQueue[Optional[Data]]"] = None
+
+        # This flag marks the end of the stream.
+        self.closed = False
+
+    def get(self, timeout: Optional[float] = None) -> Data:
+        """
+        Read the next message.
+
+        :meth:`get` returns a single :class:`str` or :class:`bytes`.
+
+        If the message is fragmented, :meth:`get` waits until the last frame is
+        received, then it reassembles the message and returns it. To receive
+        messages frame by frame, use :meth:`get_iter` instead.
+
+        Args:
+            timeout: If a timeout is provided and elapses before a complete
+                message is received, :meth:`get` raises :exc:`TimeoutError`.
+
+        Raises:
+            EOFError: If the stream of frames has ended.
+            RuntimeError: If two threads run :meth:`get` or :meth:``get_iter`
+                concurrently.
+
+        """
+        with self.mutex:
+            if self.closed:
+                raise EOFError("stream of frames ended")
+
+            if self.get_in_progress:
+                raise RuntimeError("get or get_iter is already running")
+
+            self.get_in_progress = True
+
+        # If the message_complete event isn't set yet, release the lock to
+        # allow put() to run and eventually set it.
+        # Locking with get_in_progress ensures only one thread can get here.
+        completed = self.message_complete.wait(timeout)
+
+        with self.mutex:
+            self.get_in_progress = False
+
+            # Waiting for a complete message timed out.
+            if not completed:
+                raise TimeoutError(f"timed out in {timeout:.1f}s")
+
+            # get() was unblocked by close() rather than put().
+            if self.closed:
+                raise EOFError("stream of frames ended")
+
+            assert self.message_complete.is_set()
+            self.message_complete.clear()
+
+            joiner: Data = b"" if self.decoder is None else ""
+            # mypy cannot figure out that chunks have the proper type.
+            message: Data = joiner.join(self.chunks)  # type: ignore
+
+            assert not self.message_fetched.is_set()
+            self.message_fetched.set()
+
+            self.chunks = []
+            assert self.chunks_queue is None
+
+            return message
+
+    def get_iter(self) -> Iterator[Data]:
+        """
+        Stream the next message.
+
+        Iterating the return value of :meth:`get_iter` yields a :class:`str` or
+        :class:`bytes` for each frame in the message.
+
+        The iterator must be fully consumed before calling :meth:`get_iter` or
+        :meth:`get` again. Else, :exc:`RuntimeError` is raised.
+
+        This method only makes sense for fragmented messages. If messages aren't
+        fragmented, use :meth:`get` instead.
+
+        Raises:
+            EOFError: If the stream of frames has ended.
+            RuntimeError: If two threads run :meth:`get` or :meth:``get_iter`
+                concurrently.
+
+        """
+        with self.mutex:
+            if self.closed:
+                raise EOFError("stream of frames ended")
+
+            if self.get_in_progress:
+                raise RuntimeError("get or get_iter is already running")
+
+            chunks = self.chunks
+            self.chunks = []
+            self.chunks_queue = cast(
+                # Remove quotes around type when dropping Python < 3.9.
+                "queue.SimpleQueue[Optional[Data]]",
+                queue.SimpleQueue(),
+            )
+
+            # Sending None in chunk_queue supersedes setting message_complete
+            # when switching to "streaming". If message is already complete
+            # when the switch happens, put() didn't send None, so we have to.
+            if self.message_complete.is_set():
+                self.chunks_queue.put(None)
+
+            self.get_in_progress = True
+
+        # Locking with get_in_progress ensures only one thread can get here.
+        yield from chunks
+        while True:
+            chunk = self.chunks_queue.get()
+            if chunk is None:
+                break
+            yield chunk
+
+        with self.mutex:
+            self.get_in_progress = False
+
+            assert self.message_complete.is_set()
+            self.message_complete.clear()
+
+            # get_iter() was unblocked by close() rather than put().
+            if self.closed:
+                raise EOFError("stream of frames ended")
+
+            assert not self.message_fetched.is_set()
+            self.message_fetched.set()
+
+            assert self.chunks == []
+            self.chunks_queue = None
+
+    def put(self, frame: Frame) -> None:
+        """
+        Add ``frame`` to the next message.
+
+        When ``frame`` is the final frame in a message, :meth:`put` waits until
+        the message is fetched, either by calling :meth:`get` or by fully
+        consuming the return value of :meth:`get_iter`.
+
+        :meth:`put` assumes that the stream of frames respects the protocol. If
+        it doesn't, the behavior is undefined.
+
+        Raises:
+            EOFError: If the stream of frames has ended.
+            RuntimeError: If two threads run :meth:`put` concurrently.
+
+        """
+        with self.mutex:
+            if self.closed:
+                raise EOFError("stream of frames ended")
+
+            if self.put_in_progress:
+                raise RuntimeError("put is already running")
+
+            if frame.opcode is Opcode.TEXT:
+                self.decoder = UTF8Decoder(errors="strict")
+            elif frame.opcode is Opcode.BINARY:
+                self.decoder = None
+            elif frame.opcode is Opcode.CONT:
+                pass
+            else:
+                # Ignore control frames.
+                return
+
+            data: Data
+            if self.decoder is not None:
+                data = self.decoder.decode(frame.data, frame.fin)
+            else:
+                data = frame.data
+
+            if self.chunks_queue is None:
+                self.chunks.append(data)
+            else:
+                self.chunks_queue.put(data)
+
+            if not frame.fin:
+                return
+
+            # Message is complete. Wait until it's fetched to return.
+
+            assert not self.message_complete.is_set()
+            self.message_complete.set()
+
+            if self.chunks_queue is not None:
+                self.chunks_queue.put(None)
+
+            assert not self.message_fetched.is_set()
+
+            self.put_in_progress = True
+
+        # Release the lock to allow get() to run and eventually set the event.
+        self.message_fetched.wait()
+
+        with self.mutex:
+            self.put_in_progress = False
+
+            assert self.message_fetched.is_set()
+            self.message_fetched.clear()
+
+            # put() was unblocked by close() rather than get() or get_iter().
+            if self.closed:
+                raise EOFError("stream of frames ended")
+
+            self.decoder = None
+
+    def close(self) -> None:
+        """
+        End the stream of frames.
+
+        Callling :meth:`close` concurrently with :meth:`get`, :meth:`get_iter`,
+        or :meth:`put` is safe. They will raise :exc:`EOFError`.
+
+        """
+        with self.mutex:
+            if self.closed:
+                return
+
+            self.closed = True
+
+            # Unblock get or get_iter.
+            if self.get_in_progress:
+                self.message_complete.set()
+                if self.chunks_queue is not None:
+                    self.chunks_queue.put(None)
+
+            # Unblock put().
+            if self.put_in_progress:
+                self.message_fetched.set()
diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/server.py b/iot_env/lib/python3.8/site-packages/websockets/sync/server.py
new file mode 100644
index 0000000..7d6cea7
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/sync/server.py
@@ -0,0 +1,529 @@
+from __future__ import annotations
+
+import http
+import logging
+import os
+import selectors
+import socket
+import ssl
+import sys
+import threading
+from types import TracebackType
+from typing import Any, Callable, Optional, Sequence, Type
+
+from ..extensions.base import ServerExtensionFactory
+from ..extensions.permessage_deflate import enable_server_permessage_deflate
+from ..headers import validate_subprotocols
+from ..http import USER_AGENT
+from ..http11 import Request, Response
+from ..protocol import CONNECTING, OPEN, Event
+from ..server import ServerProtocol
+from ..typing import LoggerLike, Origin, Subprotocol
+from .compatibility import socket_create_server
+from .connection import Connection
+from .utils import Deadline
+
+
+__all__ = ["serve", "unix_serve", "ServerConnection", "WebSocketServer"]
+
+
+class ServerConnection(Connection):
+    """
+    Threaded implementation of a WebSocket server connection.
+
+    :class:`ServerConnection` provides :meth:`recv` and :meth:`send` methods for
+    receiving and sending messages.
+
+    It supports iteration to receive messages::
+
+        for message in websocket:
+            process(message)
+
+    The iterator exits normally when the connection is closed with close code
+    1000 (OK) or 1001 (going away) or without a close code. It raises a
+    :exc:`~websockets.exceptions.ConnectionClosedError` when the connection is
+    closed with any other code.
+
+    Args:
+        socket: Socket connected to a WebSocket client.
+        protocol: Sans-I/O connection.
+        close_timeout: Timeout for closing the connection in seconds.
+
+    """
+
+    def __init__(
+        self,
+        socket: socket.socket,
+        protocol: ServerProtocol,
+        *,
+        close_timeout: Optional[float] = 10,
+    ) -> None:
+        self.protocol: ServerProtocol
+        self.request_rcvd = threading.Event()
+        super().__init__(
+            socket,
+            protocol,
+            close_timeout=close_timeout,
+        )
+
+    def handshake(
+        self,
+        process_request: Optional[
+            Callable[
+                [ServerConnection, Request],
+                Optional[Response],
+            ]
+        ] = None,
+        process_response: Optional[
+            Callable[
+                [ServerConnection, Request, Response],
+                Optional[Response],
+            ]
+        ] = None,
+        server_header: Optional[str] = USER_AGENT,
+        timeout: Optional[float] = None,
+    ) -> None:
+        """
+        Perform the opening handshake.
+
+        """
+        if not self.request_rcvd.wait(timeout):
+            self.close_socket()
+            self.recv_events_thread.join()
+            raise TimeoutError("timed out during handshake")
+
+        if self.request is None:
+            self.close_socket()
+            self.recv_events_thread.join()
+            raise ConnectionError("connection closed during handshake")
+
+        with self.send_context(expected_state=CONNECTING):
+            self.response = None
+
+            if process_request is not None:
+                try:
+                    self.response = process_request(self, self.request)
+                except Exception as exc:
+                    self.protocol.handshake_exc = exc
+                    self.logger.error("opening handshake failed", exc_info=True)
+                    self.response = self.protocol.reject(
+                        http.HTTPStatus.INTERNAL_SERVER_ERROR,
+                        (
+                            "Failed to open a WebSocket connection.\n"
+                            "See server log for more information.\n"
+                        ),
+                    )
+
+            if self.response is None:
+                self.response = self.protocol.accept(self.request)
+
+            if server_header is not None:
+                self.response.headers["Server"] = server_header
+
+            if process_response is not None:
+                try:
+                    response = process_response(self, self.request, self.response)
+                except Exception as exc:
+                    self.protocol.handshake_exc = exc
+                    self.logger.error("opening handshake failed", exc_info=True)
+                    self.response = self.protocol.reject(
+                        http.HTTPStatus.INTERNAL_SERVER_ERROR,
+                        (
+                            "Failed to open a WebSocket connection.\n"
+                            "See server log for more information.\n"
+                        ),
+                    )
+                else:
+                    if response is not None:
+                        self.response = response
+
+            self.protocol.send_response(self.response)
+
+        if self.protocol.state is not OPEN:
+            self.recv_events_thread.join(self.close_timeout)
+            self.close_socket()
+            self.recv_events_thread.join()
+
+        if self.protocol.handshake_exc is not None:
+            raise self.protocol.handshake_exc
+
+    def process_event(self, event: Event) -> None:
+        """
+        Process one incoming event.
+
+        """
+        # First event - handshake request.
+        if self.request is None:
+            assert isinstance(event, Request)
+            self.request = event
+            self.request_rcvd.set()
+        # Later events - frames.
+        else:
+            super().process_event(event)
+
+    def recv_events(self) -> None:
+        """
+        Read incoming data from the socket and process events.
+
+        """
+        try:
+            super().recv_events()
+        finally:
+            # If the connection is closed during the handshake, unblock it.
+            self.request_rcvd.set()
+
+
+class WebSocketServer:
+    """
+    WebSocket server returned by :func:`serve`.
+
+    This class mirrors the API of :class:`~socketserver.BaseServer`, notably the
+    :meth:`~socketserver.BaseServer.serve_forever` and
+    :meth:`~socketserver.BaseServer.shutdown` methods, as well as the context
+    manager protocol.
+
+    Args:
+        socket: Server socket listening for new connections.
+        handler: Handler for one connection. Receives the socket and address
+            returned by :meth:`~socket.socket.accept`.
+        logger: Logger for this server.
+
+    """
+
+    def __init__(
+        self,
+        socket: socket.socket,
+        handler: Callable[[socket.socket, Any], None],
+        logger: Optional[LoggerLike] = None,
+    ):
+        self.socket = socket
+        self.handler = handler
+        if logger is None:
+            logger = logging.getLogger("websockets.server")
+        self.logger = logger
+        if sys.platform != "win32":
+            self.shutdown_watcher, self.shutdown_notifier = os.pipe()
+
+    def serve_forever(self) -> None:
+        """
+        See :meth:`socketserver.BaseServer.serve_forever`.
+
+        This method doesn't return. Calling :meth:`shutdown` from another thread
+        stops the server.
+
+        Typical use::
+
+            with serve(...) as server:
+                server.serve_forever()
+
+        """
+        poller = selectors.DefaultSelector()
+        poller.register(self.socket, selectors.EVENT_READ)
+        if sys.platform != "win32":
+            poller.register(self.shutdown_watcher, selectors.EVENT_READ)
+
+        while True:
+            poller.select()
+            try:
+                # If the socket is closed, this will raise an exception and exit
+                # the loop. So we don't need to check the return value of select().
+                sock, addr = self.socket.accept()
+            except OSError:
+                break
+            thread = threading.Thread(target=self.handler, args=(sock, addr))
+            thread.start()
+
+    def shutdown(self) -> None:
+        """
+        See :meth:`socketserver.BaseServer.shutdown`.
+
+        """
+        self.socket.close()
+        if sys.platform != "win32":
+            os.write(self.shutdown_notifier, b"x")
+
+    def fileno(self) -> int:
+        """
+        See :meth:`socketserver.BaseServer.fileno`.
+
+        """
+        return self.socket.fileno()
+
+    def __enter__(self) -> WebSocketServer:
+        return self
+
+    def __exit__(
+        self,
+        exc_type: Optional[Type[BaseException]],
+        exc_value: Optional[BaseException],
+        traceback: Optional[TracebackType],
+    ) -> None:
+        self.shutdown()
+
+
+def serve(
+    handler: Callable[[ServerConnection], None],
+    host: Optional[str] = None,
+    port: Optional[int] = None,
+    *,
+    # TCP/TLS — unix and path are only for unix_serve()
+    sock: Optional[socket.socket] = None,
+    ssl_context: Optional[ssl.SSLContext] = None,
+    unix: bool = False,
+    path: Optional[str] = None,
+    # WebSocket
+    origins: Optional[Sequence[Optional[Origin]]] = None,
+    extensions: Optional[Sequence[ServerExtensionFactory]] = None,
+    subprotocols: Optional[Sequence[Subprotocol]] = None,
+    select_subprotocol: Optional[
+        Callable[
+            [ServerConnection, Sequence[Subprotocol]],
+            Optional[Subprotocol],
+        ]
+    ] = None,
+    process_request: Optional[
+        Callable[
+            [ServerConnection, Request],
+            Optional[Response],
+        ]
+    ] = None,
+    process_response: Optional[
+        Callable[
+            [ServerConnection, Request, Response],
+            Optional[Response],
+        ]
+    ] = None,
+    server_header: Optional[str] = USER_AGENT,
+    compression: Optional[str] = "deflate",
+    # Timeouts
+    open_timeout: Optional[float] = 10,
+    close_timeout: Optional[float] = 10,
+    # Limits
+    max_size: Optional[int] = 2**20,
+    # Logging
+    logger: Optional[LoggerLike] = None,
+    # Escape hatch for advanced customization
+    create_connection: Optional[Type[ServerConnection]] = None,
+) -> WebSocketServer:
+    """
+    Create a WebSocket server listening on ``host`` and ``port``.
+
+    Whenever a client connects, the server creates a :class:`ServerConnection`,
+    performs the opening handshake, and delegates to the ``handler``.
+
+    The handler receives a :class:`ServerConnection` instance, which you can use
+    to send and receive messages.
+
+    Once the handler completes, either normally or with an exception, the server
+    performs the closing handshake and closes the connection.
+
+    :class:`WebSocketServer` mirrors the API of
+    :class:`~socketserver.BaseServer`. Treat it as a context manager to ensure
+    that it will be closed and call the :meth:`~WebSocketServer.serve_forever`
+    method to serve requests::
+
+        def handler(websocket):
+            ...
+
+        with websockets.sync.server.serve(handler, ...) as server:
+            server.serve_forever()
+
+    Args:
+        handler: Connection handler. It receives the WebSocket connection,
+            which is a :class:`ServerConnection`, in argument.
+        host: Network interfaces the server binds to.
+            See :func:`~socket.create_server` for details.
+        port: TCP port the server listens on.
+            See :func:`~socket.create_server` for details.
+        sock: Preexisting TCP socket. ``sock`` replaces ``host`` and ``port``.
+            You may call :func:`socket.create_server` to create a suitable TCP
+            socket.
+        ssl_context: Configuration for enabling TLS on the connection.
+        origins: Acceptable values of the ``Origin`` header, for defending
+            against Cross-Site WebSocket Hijacking attacks. Include :obj:`None`
+            in the list if the lack of an origin is acceptable.
+        extensions: List of supported extensions, in order in which they
+            should be negotiated and run.
+        subprotocols: List of supported subprotocols, in order of decreasing
+            preference.
+        select_subprotocol: Callback for selecting a subprotocol among
+            those supported by the client and the server. It receives a
+            :class:`ServerConnection` (not a
+            :class:`~websockets.server.ServerProtocol`!) instance and a list of
+            subprotocols offered by the client. Other than the first argument,
+            it has the same behavior as the
+            :meth:`ServerProtocol.select_subprotocol
+            <websockets.server.ServerProtocol.select_subprotocol>` method.
+        process_request: Intercept the request during the opening handshake.
+            Return an HTTP response to force the response or :obj:`None` to
+            continue normally. When you force an HTTP 101 Continue response,
+            the handshake is successful. Else, the connection is aborted.
+        process_response: Intercept the response during the opening handshake.
+            Return an HTTP response to force the response or :obj:`None` to
+            continue normally. When you force an HTTP 101 Continue response,
+            the handshake is successful. Else, the connection is aborted.
+        server_header: Value of  the ``Server`` response header.
+            It defaults to ``"Python/x.y.z websockets/X.Y"``. Setting it to
+            :obj:`None` removes the header.
+        compression: The "permessage-deflate" extension is enabled by default.
+            Set ``compression`` to :obj:`None` to disable it. See the
+            :doc:`compression guide <../../topics/compression>` for details.
+        open_timeout: Timeout for opening connections in seconds.
+            :obj:`None` disables the timeout.
+        close_timeout: Timeout for closing connections in seconds.
+            :obj:`None` disables the timeout.
+        max_size: Maximum size of incoming messages in bytes.
+            :obj:`None` disables the limit.
+        logger: Logger for this server.
+            It defaults to ``logging.getLogger("websockets.server")``. See the
+            :doc:`logging guide <../../topics/logging>` for details.
+        create_connection: Factory for the :class:`ServerConnection` managing
+            the connection. Set it to a wrapper or a subclass to customize
+            connection handling.
+    """
+
+    # Process parameters
+
+    if subprotocols is not None:
+        validate_subprotocols(subprotocols)
+
+    if compression == "deflate":
+        extensions = enable_server_permessage_deflate(extensions)
+    elif compression is not None:
+        raise ValueError(f"unsupported compression: {compression}")
+
+    if create_connection is None:
+        create_connection = ServerConnection
+
+    # Bind socket and listen
+
+    if sock is None:
+        if unix:
+            if path is None:
+                raise TypeError("missing path argument")
+            sock = socket_create_server(path, family=socket.AF_UNIX)
+        else:
+            sock = socket_create_server((host, port))
+    else:
+        if path is not None:
+            raise TypeError("path and sock arguments are incompatible")
+
+    # Initialize TLS wrapper
+
+    if ssl_context is not None:
+        sock = ssl_context.wrap_socket(
+            sock,
+            server_side=True,
+            # Delay TLS handshake until after we set a timeout on the socket.
+            do_handshake_on_connect=False,
+        )
+
+    # Define request handler
+
+    def conn_handler(sock: socket.socket, addr: Any) -> None:
+        # Calculate timeouts on the TLS and WebSocket handshakes.
+        # The TLS timeout must be set on the socket, then removed
+        # to avoid conflicting with the WebSocket timeout in handshake().
+        deadline = Deadline(open_timeout)
+
+        try:
+            # Disable Nagle algorithm
+
+            if not unix:
+                sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, True)
+
+            # Perform TLS handshake
+
+            if ssl_context is not None:
+                sock.settimeout(deadline.timeout())
+                assert isinstance(sock, ssl.SSLSocket)  # mypy cannot figure this out
+                sock.do_handshake()
+                sock.settimeout(None)
+
+            # Create a closure so that select_subprotocol has access to self.
+
+            protocol_select_subprotocol: Optional[
+                Callable[
+                    [ServerProtocol, Sequence[Subprotocol]],
+                    Optional[Subprotocol],
+                ]
+            ] = None
+
+            if select_subprotocol is not None:
+
+                def protocol_select_subprotocol(
+                    protocol: ServerProtocol,
+                    subprotocols: Sequence[Subprotocol],
+                ) -> Optional[Subprotocol]:
+                    # mypy doesn't know that select_subprotocol is immutable.
+                    assert select_subprotocol is not None
+                    # Ensure this function is only used in the intended context.
+                    assert protocol is connection.protocol
+                    return select_subprotocol(connection, subprotocols)
+
+            # Initialize WebSocket connection
+
+            protocol = ServerProtocol(
+                origins=origins,
+                extensions=extensions,
+                subprotocols=subprotocols,
+                select_subprotocol=protocol_select_subprotocol,
+                state=CONNECTING,
+                max_size=max_size,
+                logger=logger,
+            )
+
+            # Initialize WebSocket protocol
+
+            assert create_connection is not None  # help mypy
+            connection = create_connection(
+                sock,
+                protocol,
+                close_timeout=close_timeout,
+            )
+            # On failure, handshake() closes the socket, raises an exception, and
+            # logs it.
+            connection.handshake(
+                process_request,
+                process_response,
+                server_header,
+                deadline.timeout(),
+            )
+
+        except Exception:
+            sock.close()
+            return
+
+        try:
+            handler(connection)
+        except Exception:
+            protocol.logger.error("connection handler failed", exc_info=True)
+            connection.close(1011)
+        else:
+            connection.close()
+
+    # Initialize server
+
+    return WebSocketServer(sock, conn_handler, logger)
+
+
+def unix_serve(
+    handler: Callable[[ServerConnection], Any],
+    path: Optional[str] = None,
+    **kwargs: Any,
+) -> WebSocketServer:
+    """
+    Create a WebSocket server listening on a Unix socket.
+
+    This function is identical to :func:`serve`, except the ``host`` and
+    ``port`` arguments are replaced by ``path``. It's only available on Unix.
+
+    It's useful for deploying a server behind a reverse proxy such as nginx.
+
+    Args:
+        handler: Connection handler. It receives the WebSocket connection,
+            which is a :class:`ServerConnection`, in argument.
+        path: File system path to the Unix socket.
+
+    """
+    return serve(handler, path=path, unix=True, **kwargs)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/sync/utils.py b/iot_env/lib/python3.8/site-packages/websockets/sync/utils.py
new file mode 100644
index 0000000..471f32e
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/sync/utils.py
@@ -0,0 +1,46 @@
+from __future__ import annotations
+
+import time
+from typing import Optional
+
+
+__all__ = ["Deadline"]
+
+
+class Deadline:
+    """
+    Manage timeouts across multiple steps.
+
+    Args:
+        timeout: Time available in seconds or :obj:`None` if there is no limit.
+
+    """
+
+    def __init__(self, timeout: Optional[float]) -> None:
+        self.deadline: Optional[float]
+        if timeout is None:
+            self.deadline = None
+        else:
+            self.deadline = time.monotonic() + timeout
+
+    def timeout(self, *, raise_if_elapsed: bool = True) -> Optional[float]:
+        """
+        Calculate a timeout from a deadline.
+
+        Args:
+            raise_if_elapsed (bool): Whether to raise :exc:`TimeoutError`
+                if the deadline lapsed.
+
+        Raises:
+            TimeoutError: If the deadline lapsed.
+
+        Returns:
+            Time left in seconds or :obj:`None` if there is no limit.
+
+        """
+        if self.deadline is None:
+            return None
+        timeout = self.deadline - time.monotonic()
+        if raise_if_elapsed and timeout <= 0:
+            raise TimeoutError("timed out")
+        return timeout
diff --git a/iot_env/lib/python3.8/site-packages/websockets/typing.py b/iot_env/lib/python3.8/site-packages/websockets/typing.py
new file mode 100644
index 0000000..e672ba0
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/typing.py
@@ -0,0 +1,60 @@
+from __future__ import annotations
+
+import logging
+from typing import List, NewType, Optional, Tuple, Union
+
+
+__all__ = [
+    "Data",
+    "LoggerLike",
+    "Origin",
+    "Subprotocol",
+    "ExtensionName",
+    "ExtensionParameter",
+]
+
+
+# Public types used in the signature of public APIs
+
+Data = Union[str, bytes]
+"""Types supported in a WebSocket message:
+:class:`str` for a Text_ frame, :class:`bytes` for a Binary_.
+
+.. _Text: https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+.. _Binary : https://www.rfc-editor.org/rfc/rfc6455.html#section-5.6
+
+"""
+
+
+LoggerLike = Union[logging.Logger, logging.LoggerAdapter]
+"""Types accepted where a :class:`~logging.Logger` is expected."""
+
+
+Origin = NewType("Origin", str)
+"""Value of a ``Origin`` header."""
+
+
+Subprotocol = NewType("Subprotocol", str)
+"""Subprotocol in a ``Sec-WebSocket-Protocol`` header."""
+
+
+ExtensionName = NewType("ExtensionName", str)
+"""Name of a WebSocket extension."""
+
+
+ExtensionParameter = Tuple[str, Optional[str]]
+"""Parameter of a WebSocket extension."""
+
+
+# Private types
+
+ExtensionHeader = Tuple[ExtensionName, List[ExtensionParameter]]
+"""Extension in a ``Sec-WebSocket-Extensions`` header."""
+
+
+ConnectionOption = NewType("ConnectionOption", str)
+"""Connection option in a ``Connection`` header."""
+
+
+UpgradeProtocol = NewType("UpgradeProtocol", str)
+"""Upgrade protocol in an ``Upgrade`` header."""
diff --git a/iot_env/lib/python3.8/site-packages/websockets/uri.py b/iot_env/lib/python3.8/site-packages/websockets/uri.py
new file mode 100644
index 0000000..385090f
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/uri.py
@@ -0,0 +1,108 @@
+from __future__ import annotations
+
+import dataclasses
+import urllib.parse
+from typing import Optional, Tuple
+
+from . import exceptions
+
+
+__all__ = ["parse_uri", "WebSocketURI"]
+
+
+@dataclasses.dataclass
+class WebSocketURI:
+    """
+    WebSocket URI.
+
+    Attributes:
+        secure: :obj:`True` for a ``wss`` URI, :obj:`False` for a ``ws`` URI.
+        host: Normalized to lower case.
+        port: Always set even if it's the default.
+        path: May be empty.
+        query: May be empty if the URI doesn't include a query component.
+        username: Available when the URI contains `User Information`_.
+        password: Available when the URI contains `User Information`_.
+
+    .. _User Information: https://www.rfc-editor.org/rfc/rfc3986.html#section-3.2.1
+
+    """
+
+    secure: bool
+    host: str
+    port: int
+    path: str
+    query: str
+    username: Optional[str] = None
+    password: Optional[str] = None
+
+    @property
+    def resource_name(self) -> str:
+        if self.path:
+            resource_name = self.path
+        else:
+            resource_name = "/"
+        if self.query:
+            resource_name += "?" + self.query
+        return resource_name
+
+    @property
+    def user_info(self) -> Optional[Tuple[str, str]]:
+        if self.username is None:
+            return None
+        assert self.password is not None
+        return (self.username, self.password)
+
+
+# All characters from the gen-delims and sub-delims sets in RFC 3987.
+DELIMS = ":/?#[]@!$&'()*+,;="
+
+
+def parse_uri(uri: str) -> WebSocketURI:
+    """
+    Parse and validate a WebSocket URI.
+
+    Args:
+        uri: WebSocket URI.
+
+    Returns:
+        WebSocketURI: Parsed WebSocket URI.
+
+    Raises:
+        InvalidURI: if ``uri`` isn't a valid WebSocket URI.
+
+    """
+    parsed = urllib.parse.urlparse(uri)
+    if parsed.scheme not in ["ws", "wss"]:
+        raise exceptions.InvalidURI(uri, "scheme isn't ws or wss")
+    if parsed.hostname is None:
+        raise exceptions.InvalidURI(uri, "hostname isn't provided")
+    if parsed.fragment != "":
+        raise exceptions.InvalidURI(uri, "fragment identifier is meaningless")
+
+    secure = parsed.scheme == "wss"
+    host = parsed.hostname
+    port = parsed.port or (443 if secure else 80)
+    path = parsed.path
+    query = parsed.query
+    username = parsed.username
+    password = parsed.password
+    # urllib.parse.urlparse accepts URLs with a username but without a
+    # password. This doesn't make sense for HTTP Basic Auth credentials.
+    if username is not None and password is None:
+        raise exceptions.InvalidURI(uri, "username provided without password")
+
+    try:
+        uri.encode("ascii")
+    except UnicodeEncodeError:
+        # Input contains non-ASCII characters.
+        # It must be an IRI. Convert it to a URI.
+        host = host.encode("idna").decode()
+        path = urllib.parse.quote(path, safe=DELIMS)
+        query = urllib.parse.quote(query, safe=DELIMS)
+        if username is not None:
+            assert password is not None
+            username = urllib.parse.quote(username, safe=DELIMS)
+            password = urllib.parse.quote(password, safe=DELIMS)
+
+    return WebSocketURI(secure, host, port, path, query, username, password)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/utils.py b/iot_env/lib/python3.8/site-packages/websockets/utils.py
new file mode 100644
index 0000000..c404049
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/utils.py
@@ -0,0 +1,51 @@
+from __future__ import annotations
+
+import base64
+import hashlib
+import secrets
+import sys
+
+
+__all__ = ["accept_key", "apply_mask"]
+
+
+GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
+
+
+def generate_key() -> str:
+    """
+    Generate a random key for the Sec-WebSocket-Key header.
+
+    """
+    key = secrets.token_bytes(16)
+    return base64.b64encode(key).decode()
+
+
+def accept_key(key: str) -> str:
+    """
+    Compute the value of the Sec-WebSocket-Accept header.
+
+    Args:
+        key: value of the Sec-WebSocket-Key header.
+
+    """
+    sha1 = hashlib.sha1((key + GUID).encode()).digest()
+    return base64.b64encode(sha1).decode()
+
+
+def apply_mask(data: bytes, mask: bytes) -> bytes:
+    """
+    Apply masking to the data of a WebSocket message.
+
+    Args:
+        data: data to mask.
+        mask: 4-bytes mask.
+
+    """
+    if len(mask) != 4:
+        raise ValueError("mask must contain 4 bytes")
+
+    data_int = int.from_bytes(data, sys.byteorder)
+    mask_repeated = mask * (len(data) // 4) + mask[: len(data) % 4]
+    mask_int = int.from_bytes(mask_repeated, sys.byteorder)
+    return (data_int ^ mask_int).to_bytes(len(data), sys.byteorder)
diff --git a/iot_env/lib/python3.8/site-packages/websockets/version.py b/iot_env/lib/python3.8/site-packages/websockets/version.py
new file mode 100644
index 0000000..f7254a0
--- /dev/null
+++ b/iot_env/lib/python3.8/site-packages/websockets/version.py
@@ -0,0 +1,78 @@
+from __future__ import annotations
+
+
+__all__ = ["tag", "version", "commit"]
+
+
+# ========= =========== ===================
+#           release     development
+# ========= =========== ===================
+# tag       X.Y         X.Y (upcoming)
+# version   X.Y         X.Y.dev1+g5678cde
+# commit    X.Y         5678cde
+# ========= =========== ===================
+
+
+# When tagging a release, set `released = True`.
+# After tagging a release, set `released = False` and increment `tag`.
+
+released = True
+
+tag = version = commit = "11.0.3"
+
+
+if not released:  # pragma: no cover
+    import pathlib
+    import re
+    import subprocess
+
+    def get_version(tag: str) -> str:
+        # Since setup.py executes the contents of src/websockets/version.py,
+        # __file__ can point to either of these two files.
+        file_path = pathlib.Path(__file__)
+        root_dir = file_path.parents[0 if file_path.name == "setup.py" else 2]
+
+        # Read version from git if available. This prevents reading stale
+        # information from src/websockets.egg-info after building a sdist.
+        try:
+            description = subprocess.run(
+                ["git", "describe", "--dirty", "--tags", "--long"],
+                capture_output=True,
+                cwd=root_dir,
+                timeout=1,
+                check=True,
+                text=True,
+            ).stdout.strip()
+        # subprocess.run raises FileNotFoundError if git isn't on $PATH.
+        except (FileNotFoundError, subprocess.CalledProcessError):
+            pass
+        else:
+            description_re = r"[0-9.]+-([0-9]+)-(g[0-9a-f]{7,}(?:-dirty)?)"
+            match = re.fullmatch(description_re, description)
+            assert match is not None
+            distance, remainder = match.groups()
+            remainder = remainder.replace("-", ".")  # required by PEP 440
+            return f"{tag}.dev{distance}+{remainder}"
+
+        # Read version from package metadata if it is installed.
+        try:
+            import importlib.metadata  # move up when dropping Python 3.7
+
+            return importlib.metadata.version("websockets")
+        except ImportError:
+            pass
+
+        # Avoid crashing if the development version cannot be determined.
+        return f"{tag}.dev0+gunknown"
+
+    version = get_version(tag)
+
+    def get_commit(tag: str, version: str) -> str:
+        # Extract commit from version, falling back to tag if not available.
+        version_re = r"[0-9.]+\.dev[0-9]+\+g([0-9a-f]{7,}|unknown)(?:\.dirty)?"
+        match = re.fullmatch(version_re, version)
+        assert match is not None
+        (commit,) = match.groups()
+        return tag if commit == "unknown" else commit
+
+    commit = get_commit(tag, version)
diff --git a/iot_env/lib64 b/iot_env/lib64
new file mode 120000
index 0000000..7951405
--- /dev/null
+++ b/iot_env/lib64
@@ -0,0 +1 @@
+lib
\ No newline at end of file
diff --git a/iot_env/pyvenv.cfg b/iot_env/pyvenv.cfg
new file mode 100644
index 0000000..853404e
--- /dev/null
+++ b/iot_env/pyvenv.cfg
@@ -0,0 +1,3 @@
+home = /usr/bin
+include-system-site-packages = false
+version = 3.8.10
diff --git a/iot_env/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl b/iot_env/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..3f3a89504d8c216ed142ca8b3f0e511f3d12cc90
GIT binary patch
literal 28023
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
RMZyfi42xMA81|)ucmUz7BL)Bf

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl b/iot_env/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..629bdcc5cb9380a9a0a1dbe562d2b8d3e353d2c6
GIT binary patch
literal 18776
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
Vo0SbD&d$KjAjHJLVBiko0RW4vpydDn

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl b/iot_env/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..cc1145339fdd7ba331b762076af38c07eb77bf08
GIT binary patch
literal 164552
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%0A1yww=?r
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
Hz`y_iyvn}O

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl b/iot_env/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..3d27d991b93657fcb06519ec295710b126da84cf
GIT binary patch
literal 141487
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
Hfq?-4&_s|N

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl b/iot_env/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..96b3fb126da2a87897ed71abd54d383587cf181e
GIT binary patch
literal 25094
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

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl b/iot_env/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..d10bcdeb0cee2eaed9cb1b92f42ab34bc48af346
GIT binary patch
literal 17188
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
H2M`YcXf1}A

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl b/iot_env/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..193b6ac4028cfdba42146b225db0d952ffc05104
GIT binary patch
literal 152027
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
WRyL3dNd`%V>ud}R@4T287#IMDQ@k<&

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl b/iot_env/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..9c7ccf1eb245b1c0e0d8a31f4821c781ae5ad908
GIT binary patch
literal 23898
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

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl b/iot_env/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..92806672ef623bb4117f012785c62b4ebbdbdf9f
GIT binary patch
literal 120020
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
HFfafBO&$No

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/idna-2.8-py2.py3-none-any.whl b/iot_env/share/python-wheels/idna-2.8-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..925157560ee235e866b2539b37d30b570089e84b
GIT binary patch
literal 66836
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
UOZXW07*;YfFoZHPGB7Xz0E>3p&j0`b

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl b/iot_env/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..dd676316cd0045c70a9dd510f8b3d875684e4a22
GIT binary patch
literal 24287
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
Y6;uXzv$BDN*%{awxS1Fj_QimB0JO<%ng9R*

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl b/iot_env/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..d9efa3f1be68c5604028b009974d0a4ab5e178ea
GIT binary patch
literal 21972
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

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl b/iot_env/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..638f215f21e81da9b71402c04d716025456e5dfb
GIT binary patch
literal 92927
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

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/packaging-20.3-py2.py3-none-any.whl b/iot_env/share/python-wheels/packaging-20.3-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..7285070132a20da3e9a6a14b490c1077e10ec5d1
GIT binary patch
literal 42242
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

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl b/iot_env/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..2d3bc05015c5732c3820afd79aa06b6f20c6700a
GIT binary patch
literal 26686
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

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl b/iot_env/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..6f88203f5f1f7c910596fb76e518e42bfe1aeca7
GIT binary patch
literal 262440
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%0DF#2j3$ZgwE_0Z4!}-g_
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

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl b/iot_env/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..22081cd9d5236168edf809c232474a32d8a60dfe
GIT binary patch
literal 127312
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
Bj{yJx

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/progress-1.5-py2.py3-none-any.whl b/iot_env/share/python-wheels/progress-1.5-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..d4ce42d50c24180578cbaf895e9f6ec6b0172494
GIT binary patch
literal 17547
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
J!vaST4*=Wu5|;n~

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl b/iot_env/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..97c72f19db3921e09757cac22dace4f64a6efb15
GIT binary patch
literal 77093
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
B{bc|E

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl b/iot_env/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..0936e56b1c7ff22834f5da57e4d7104cb960a69f
GIT binary patch
literal 67543
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

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl b/iot_env/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..7c98727cf8f23b3b8e3ddc0b1cb401effc454a8d
GIT binary patch
literal 16358
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
F0|0~n=_3FD

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl b/iot_env/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..adc27761239ac8d526a6d1d132d1e6b876d704f9
GIT binary patch
literal 477455
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%0DPHJ!a^!?XyQ!kcd;eY*&
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
DuFW=O

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/six-1.14.0-py2.py3-none-any.whl b/iot_env/share/python-wheels/six-1.14.0-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..f66dca602f0cb5719a6642cf8d98af17c0625c74
GIT binary patch
literal 20256
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
J20mYq3IL+!Zqon&

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/toml-0.10.0-py2.py3-none-any.whl b/iot_env/share/python-wheels/toml-0.10.0-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..4c505473165a2703fbd597654777ac2cd676d72c
GIT binary patch
literal 24106
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

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl b/iot_env/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..df00d69e2ac2a9eab7a437f4cdf6dfe90f15117e
GIT binary patch
literal 127068
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

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl b/iot_env/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..a82791f816cf16dcd3e3fc7278ab4982b2126b5f
GIT binary patch
literal 20484
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
IbRUpT0BaV0t^fc4

literal 0
HcmV?d00001

diff --git a/iot_env/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl b/iot_env/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..4d476be01c858425b85740dd1aac3aaf4b965bf1
GIT binary patch
literal 35613
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

literal 0
HcmV?d00001

diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..0638d9e
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,2 @@
+websockets
+asyncio
diff --git a/server.py b/server.py
new file mode 100644
index 0000000..fcc2550
--- /dev/null
+++ b/server.py
@@ -0,0 +1,31 @@
+import base64
+import asyncio
+import websockets
+"""
+# Connecting to the server
+async def receive_message():
+    ws = websockets.WebSocket()
+    await ws.connect("ws://localhost:5612")
+    
+    await ws.send("Testing Testing")
+
+    response = await ws.recv()
+    print(f"Server's Respons: {response}")
+
+    await ws.close()
+
+
+asyncio.get_event_loop().run_until_complete(receive_message())
+"""
+
+# Test Function to test connection to server
+async def test_connection(uri):
+    async with websockets.connect(uri) as websocket:
+        # Send a message
+        await websocket.send("Server Test")
+
+        # wait for response
+        response = await websocket.recv()
+        print(response)
+# Runs test_connection function
+asyncio.get_event_loop().run_until_complete(test_connection('ws://localhost:5612'))
\ No newline at end of file
-- 
GitLab