py2docfx 0.1.9.dev1886355__py3-none-any.whl → 0.1.9.dev1897607__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2380) hide show
  1. py2docfx/__main__.py +15 -90
  2. py2docfx/convert_prepare/constants.py +3 -0
  3. py2docfx/convert_prepare/environment.py +1 -1
  4. py2docfx/convert_prepare/generate_document.py +2 -15
  5. py2docfx/convert_prepare/get_source.py +5 -23
  6. py2docfx/convert_prepare/git.py +0 -1
  7. py2docfx/convert_prepare/pack.py +0 -1
  8. py2docfx/convert_prepare/sphinx_caller.py +23 -39
  9. py2docfx/convert_prepare/tests/test_environment.py +53 -0
  10. py2docfx/convert_prepare/tests/test_generate_document.py +2 -0
  11. py2docfx/convert_prepare/tests/test_sphinx_caller.py +2 -0
  12. py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +32 -8
  13. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +21 -3
  14. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +5 -1
  15. py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +69 -28
  16. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +25 -0
  17. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +4 -4
  18. py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +81 -0
  19. py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +281 -0
  20. py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +1157 -0
  21. py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +724 -0
  22. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +72 -0
  23. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +21 -0
  24. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_read.py +41 -0
  25. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_write.py +41 -0
  26. py2docfx/venv/venv1/Lib/site-packages/adodbapi/is64bit.py +34 -0
  27. py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +137 -0
  28. py2docfx/venv/venv1/Lib/site-packages/adodbapi/schema_table.py +16 -0
  29. py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +68 -0
  30. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +1599 -0
  31. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +184 -0
  32. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +885 -0
  33. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/is64bit.py +34 -0
  34. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +97 -0
  35. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/test_adodbapi_dbapi20.py +195 -0
  36. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/tryconnection.py +30 -0
  37. py2docfx/venv/venv1/Lib/site-packages/azure/core/__init__.py +43 -0
  38. py2docfx/venv/venv1/Lib/site-packages/azure/core/_azure_clouds.py +41 -0
  39. py2docfx/venv/venv1/Lib/site-packages/azure/core/_enum_meta.py +66 -0
  40. py2docfx/venv/venv1/Lib/site-packages/azure/core/_match_conditions.py +46 -0
  41. py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client.py +201 -0
  42. py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client_async.py +289 -0
  43. py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +12 -0
  44. py2docfx/venv/venv1/Lib/site-packages/azure/core/async_paging.py +151 -0
  45. py2docfx/venv/venv1/Lib/site-packages/azure/core/configuration.py +148 -0
  46. py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials.py +250 -0
  47. py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials_async.py +84 -0
  48. py2docfx/venv/venv1/Lib/site-packages/azure/core/exceptions.py +579 -0
  49. py2docfx/venv/venv1/Lib/site-packages/azure/core/messaging.py +229 -0
  50. py2docfx/venv/venv1/Lib/site-packages/azure/core/paging.py +125 -0
  51. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/__init__.py +189 -0
  52. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base.py +229 -0
  53. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +219 -0
  54. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools.py +84 -0
  55. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools_async.py +73 -0
  56. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/__init__.py +76 -0
  57. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication.py +270 -0
  58. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication_async.py +188 -0
  59. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_base.py +140 -0
  60. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_base_async.py +57 -0
  61. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_custom_hook.py +79 -0
  62. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_distributed_tracing.py +147 -0
  63. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect.py +211 -0
  64. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect_async.py +87 -0
  65. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry.py +563 -0
  66. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry_async.py +215 -0
  67. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_sensitive_header_cleanup_policy.py +77 -0
  68. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_universal.py +750 -0
  69. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_utils.py +104 -0
  70. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/__init__.py +120 -0
  71. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +564 -0
  72. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base.py +863 -0
  73. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +169 -0
  74. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_requests_async.py +55 -0
  75. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_bigger_block_size_http_adapters.py +48 -0
  76. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +297 -0
  77. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_basic.py +413 -0
  78. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_trio.py +303 -0
  79. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/__init__.py +42 -0
  80. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_async_poller.py +208 -0
  81. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_poller.py +303 -0
  82. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/async_base_polling.py +180 -0
  83. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/base_polling.py +857 -0
  84. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/__init__.py +36 -0
  85. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_aiohttp.py +228 -0
  86. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_helpers.py +421 -0
  87. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl.py +475 -0
  88. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl_async.py +155 -0
  89. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_asyncio.py +47 -0
  90. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_basic.py +102 -0
  91. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_trio.py +42 -0
  92. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_rest_py3.py +418 -0
  93. py2docfx/venv/venv1/Lib/site-packages/azure/core/serialization.py +125 -0
  94. py2docfx/venv/venv1/Lib/site-packages/azure/core/settings.py +520 -0
  95. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/__init__.py +12 -0
  96. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_abstract_span.py +311 -0
  97. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/common.py +108 -0
  98. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator.py +109 -0
  99. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator_async.py +109 -0
  100. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/__init__.py +303 -0
  101. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/_version.py +6 -0
  102. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/__init__.py +35 -0
  103. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_connection_string_parser.py +44 -0
  104. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_messaging_shared.py +46 -0
  105. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared.py +420 -0
  106. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +62 -0
  107. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_utils.py +188 -0
  108. py2docfx/venv/venv1/Lib/site-packages/azure/identity/__init__.py +66 -0
  109. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_auth_record.py +114 -0
  110. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_bearer_token_provider.py +46 -0
  111. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_constants.py +67 -0
  112. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/__init__.py +47 -0
  113. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/app_service.py +39 -0
  114. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/application.py +119 -0
  115. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/authorization_code.py +141 -0
  116. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azd_cli.py +284 -0
  117. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_arc.py +123 -0
  118. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_cli.py +258 -0
  119. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_ml.py +80 -0
  120. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_pipelines.py +176 -0
  121. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_powershell.py +265 -0
  122. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/browser.py +157 -0
  123. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/certificate.py +182 -0
  124. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/chained.py +219 -0
  125. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/client_assertion.py +77 -0
  126. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/client_secret.py +53 -0
  127. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/cloud_shell.py +47 -0
  128. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/default.py +257 -0
  129. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/device_code.py +118 -0
  130. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/environment.py +183 -0
  131. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/imds.py +129 -0
  132. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/managed_identity.py +185 -0
  133. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/on_behalf_of.py +168 -0
  134. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/service_fabric.py +39 -0
  135. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/shared_cache.py +202 -0
  136. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/silent.py +224 -0
  137. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/user_password.py +79 -0
  138. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/vscode.py +216 -0
  139. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/workload_identity.py +97 -0
  140. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_enums.py +67 -0
  141. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_exceptions.py +50 -0
  142. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/__init__.py +56 -0
  143. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aad_client.py +77 -0
  144. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aad_client_base.py +420 -0
  145. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aadclient_certificate.py +46 -0
  146. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/auth_code_redirect_handler.py +62 -0
  147. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/client_credential_base.py +57 -0
  148. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/decorators.py +74 -0
  149. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/get_token_mixin.py +165 -0
  150. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/interactive.py +302 -0
  151. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/linux_vscode_adapter.py +100 -0
  152. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/macos_vscode_adapter.py +34 -0
  153. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/managed_identity_base.py +61 -0
  154. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/managed_identity_client.py +151 -0
  155. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_client.py +145 -0
  156. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_credentials.py +147 -0
  157. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_managed_identity_client.py +210 -0
  158. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/pipeline.py +94 -0
  159. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/shared_token_cache.py +291 -0
  160. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/user_agent.py +9 -0
  161. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/utils.py +120 -0
  162. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/win_vscode_adapter.py +77 -0
  163. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_persistent_cache.py +116 -0
  164. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_version.py +5 -0
  165. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/__init__.py +46 -0
  166. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_bearer_token_provider.py +47 -0
  167. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/__init__.py +40 -0
  168. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/app_service.py +20 -0
  169. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/application.py +121 -0
  170. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/authorization_code.py +147 -0
  171. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azd_cli.py +232 -0
  172. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_arc.py +45 -0
  173. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_cli.py +209 -0
  174. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_ml.py +20 -0
  175. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_pipelines.py +146 -0
  176. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_powershell.py +186 -0
  177. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/certificate.py +77 -0
  178. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/chained.py +192 -0
  179. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/client_assertion.py +75 -0
  180. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/client_secret.py +67 -0
  181. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/cloud_shell.py +29 -0
  182. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/default.py +242 -0
  183. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/environment.py +153 -0
  184. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/imds.py +85 -0
  185. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/managed_identity.py +170 -0
  186. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/on_behalf_of.py +135 -0
  187. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/service_fabric.py +20 -0
  188. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/shared_cache.py +154 -0
  189. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/vscode.py +127 -0
  190. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/workload_identity.py +77 -0
  191. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/__init__.py +32 -0
  192. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/aad_client.py +97 -0
  193. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/decorators.py +74 -0
  194. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/get_token_mixin.py +165 -0
  195. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/managed_identity_base.py +68 -0
  196. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/managed_identity_client.py +39 -0
  197. py2docfx/venv/venv1/Lib/site-packages/cachetools/__init__.py +859 -0
  198. py2docfx/venv/venv1/Lib/site-packages/cachetools/func.py +121 -0
  199. py2docfx/venv/venv1/Lib/site-packages/cachetools/keys.py +62 -0
  200. py2docfx/venv/venv1/Lib/site-packages/certifi/__init__.py +4 -0
  201. py2docfx/venv/venv1/Lib/site-packages/certifi/__main__.py +12 -0
  202. py2docfx/venv/venv1/Lib/site-packages/certifi/core.py +114 -0
  203. py2docfx/venv/venv1/Lib/site-packages/cffi/__init__.py +14 -0
  204. py2docfx/venv/venv1/Lib/site-packages/cffi/_imp_emulation.py +83 -0
  205. py2docfx/venv/venv1/Lib/site-packages/cffi/_shimmed_dist_utils.py +45 -0
  206. py2docfx/venv/venv1/Lib/site-packages/cffi/api.py +967 -0
  207. py2docfx/venv/venv1/Lib/site-packages/cffi/backend_ctypes.py +1121 -0
  208. py2docfx/venv/venv1/Lib/site-packages/cffi/cffi_opcode.py +187 -0
  209. py2docfx/venv/venv1/Lib/site-packages/cffi/commontypes.py +82 -0
  210. py2docfx/venv/venv1/Lib/site-packages/cffi/cparser.py +1015 -0
  211. py2docfx/venv/venv1/Lib/site-packages/cffi/error.py +31 -0
  212. py2docfx/venv/venv1/Lib/site-packages/cffi/ffiplatform.py +113 -0
  213. py2docfx/venv/venv1/Lib/site-packages/cffi/lock.py +30 -0
  214. py2docfx/venv/venv1/Lib/site-packages/cffi/model.py +618 -0
  215. py2docfx/venv/venv1/Lib/site-packages/cffi/pkgconfig.py +121 -0
  216. py2docfx/venv/venv1/Lib/site-packages/cffi/recompiler.py +1598 -0
  217. py2docfx/venv/venv1/Lib/site-packages/cffi/setuptools_ext.py +216 -0
  218. py2docfx/venv/venv1/Lib/site-packages/cffi/vengine_cpy.py +1084 -0
  219. py2docfx/venv/venv1/Lib/site-packages/cffi/vengine_gen.py +679 -0
  220. py2docfx/venv/venv1/Lib/site-packages/cffi/verifier.py +306 -0
  221. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/__init__.py +46 -0
  222. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/__main__.py +4 -0
  223. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/api.py +668 -0
  224. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cd.py +395 -0
  225. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cli/__init__.py +6 -0
  226. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cli/__main__.py +320 -0
  227. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/constant.py +1997 -0
  228. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/legacy.py +65 -0
  229. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/md.py +628 -0
  230. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/models.py +359 -0
  231. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/utils.py +421 -0
  232. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/version.py +6 -0
  233. py2docfx/venv/venv1/Lib/site-packages/cryptography/__about__.py +17 -0
  234. py2docfx/venv/venv1/Lib/site-packages/cryptography/__init__.py +13 -0
  235. py2docfx/venv/venv1/Lib/site-packages/cryptography/exceptions.py +52 -0
  236. py2docfx/venv/venv1/Lib/site-packages/cryptography/fernet.py +215 -0
  237. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/__init__.py +13 -0
  238. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/_oid.py +313 -0
  239. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/__init__.py +13 -0
  240. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/openssl/__init__.py +9 -0
  241. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/openssl/backend.py +291 -0
  242. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/__init__.py +3 -0
  243. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/__init__.py +3 -0
  244. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py +183 -0
  245. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/binding.py +121 -0
  246. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/__init__.py +5 -0
  247. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/ciphers/__init__.py +5 -0
  248. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py +107 -0
  249. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/__init__.py +3 -0
  250. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_asymmetric.py +19 -0
  251. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_cipheralgorithm.py +58 -0
  252. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_serialization.py +169 -0
  253. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/__init__.py +3 -0
  254. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py +135 -0
  255. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py +154 -0
  256. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py +403 -0
  257. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py +116 -0
  258. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py +118 -0
  259. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/padding.py +113 -0
  260. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py +260 -0
  261. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/types.py +111 -0
  262. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/utils.py +24 -0
  263. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py +109 -0
  264. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py +112 -0
  265. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/__init__.py +27 -0
  266. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/aead.py +23 -0
  267. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py +177 -0
  268. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/base.py +145 -0
  269. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/modes.py +268 -0
  270. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/cmac.py +10 -0
  271. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/constant_time.py +14 -0
  272. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/hashes.py +242 -0
  273. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/hmac.py +13 -0
  274. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/__init__.py +23 -0
  275. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py +124 -0
  276. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py +101 -0
  277. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py +302 -0
  278. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py +62 -0
  279. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py +80 -0
  280. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py +61 -0
  281. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/keywrap.py +177 -0
  282. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/padding.py +204 -0
  283. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/poly1305.py +11 -0
  284. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/__init__.py +63 -0
  285. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/base.py +14 -0
  286. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py +156 -0
  287. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py +336 -0
  288. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/ssh.py +1569 -0
  289. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/__init__.py +9 -0
  290. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py +92 -0
  291. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/totp.py +50 -0
  292. py2docfx/venv/venv1/Lib/site-packages/cryptography/utils.py +127 -0
  293. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/__init__.py +259 -0
  294. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/base.py +1226 -0
  295. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/certificate_transparency.py +97 -0
  296. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/extensions.py +2196 -0
  297. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/general_name.py +281 -0
  298. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/name.py +465 -0
  299. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/ocsp.py +678 -0
  300. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/oid.py +35 -0
  301. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/verification.py +28 -0
  302. py2docfx/venv/venv1/Lib/site-packages/google/api/annotations_pb2.py +46 -0
  303. py2docfx/venv/venv1/Lib/site-packages/google/api/auth_pb2.py +52 -0
  304. py2docfx/venv/venv1/Lib/site-packages/google/api/backend_pb2.py +52 -0
  305. py2docfx/venv/venv1/Lib/site-packages/google/api/billing_pb2.py +44 -0
  306. py2docfx/venv/venv1/Lib/site-packages/google/api/client_pb2.py +93 -0
  307. py2docfx/venv/venv1/Lib/site-packages/google/api/config_change_pb2.py +48 -0
  308. py2docfx/venv/venv1/Lib/site-packages/google/api/consumer_pb2.py +46 -0
  309. py2docfx/venv/venv1/Lib/site-packages/google/api/context_pb2.py +44 -0
  310. py2docfx/venv/venv1/Lib/site-packages/google/api/control_pb2.py +45 -0
  311. py2docfx/venv/venv1/Lib/site-packages/google/api/distribution_pb2.py +60 -0
  312. py2docfx/venv/venv1/Lib/site-packages/google/api/documentation_pb2.py +48 -0
  313. py2docfx/venv/venv1/Lib/site-packages/google/api/endpoint_pb2.py +42 -0
  314. py2docfx/venv/venv1/Lib/site-packages/google/api/error_reason_pb2.py +44 -0
  315. py2docfx/venv/venv1/Lib/site-packages/google/api/field_behavior_pb2.py +49 -0
  316. py2docfx/venv/venv1/Lib/site-packages/google/api/field_info_pb2.py +51 -0
  317. py2docfx/venv/venv1/Lib/site-packages/google/api/http_pb2.py +46 -0
  318. py2docfx/venv/venv1/Lib/site-packages/google/api/httpbody_pb2.py +45 -0
  319. py2docfx/venv/venv1/Lib/site-packages/google/api/label_pb2.py +44 -0
  320. py2docfx/venv/venv1/Lib/site-packages/google/api/launch_stage_pb2.py +44 -0
  321. py2docfx/venv/venv1/Lib/site-packages/google/api/log_pb2.py +45 -0
  322. py2docfx/venv/venv1/Lib/site-packages/google/api/logging_pb2.py +44 -0
  323. py2docfx/venv/venv1/Lib/site-packages/google/api/metric_pb2.py +65 -0
  324. py2docfx/venv/venv1/Lib/site-packages/google/api/monitored_resource_pb2.py +61 -0
  325. py2docfx/venv/venv1/Lib/site-packages/google/api/monitoring_pb2.py +46 -0
  326. py2docfx/venv/venv1/Lib/site-packages/google/api/policy_pb2.py +47 -0
  327. py2docfx/venv/venv1/Lib/site-packages/google/api/quota_pb2.py +54 -0
  328. py2docfx/venv/venv1/Lib/site-packages/google/api/resource_pb2.py +51 -0
  329. py2docfx/venv/venv1/Lib/site-packages/google/api/routing_pb2.py +47 -0
  330. py2docfx/venv/venv1/Lib/site-packages/google/api/service_pb2.py +67 -0
  331. py2docfx/venv/venv1/Lib/site-packages/google/api/source_info_pb2.py +47 -0
  332. py2docfx/venv/venv1/Lib/site-packages/google/api/system_parameter_pb2.py +48 -0
  333. py2docfx/venv/venv1/Lib/site-packages/google/api/usage_pb2.py +44 -0
  334. py2docfx/venv/venv1/Lib/site-packages/google/api/visibility_pb2.py +49 -0
  335. py2docfx/venv/venv1/Lib/site-packages/google/api_core/__init__.py +22 -0
  336. py2docfx/venv/venv1/Lib/site-packages/google/api_core/_rest_streaming_base.py +118 -0
  337. py2docfx/venv/venv1/Lib/site-packages/google/api_core/bidi.py +743 -0
  338. py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_info.py +108 -0
  339. py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_options.py +137 -0
  340. py2docfx/venv/venv1/Lib/site-packages/google/api_core/datetime_helpers.py +298 -0
  341. py2docfx/venv/venv1/Lib/site-packages/google/api_core/exceptions.py +670 -0
  342. py2docfx/venv/venv1/Lib/site-packages/google/api_core/extended_operation.py +225 -0
  343. py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/__init__.py +19 -0
  344. py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/_helpers.py +39 -0
  345. py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/async_future.py +162 -0
  346. py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/base.py +64 -0
  347. py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/polling.py +323 -0
  348. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/__init__.py +29 -0
  349. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/client_info.py +57 -0
  350. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/config.py +175 -0
  351. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/config_async.py +42 -0
  352. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/method.py +253 -0
  353. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/method_async.py +59 -0
  354. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/routing_header.py +87 -0
  355. py2docfx/venv/venv1/Lib/site-packages/google/api_core/general_helpers.py +16 -0
  356. py2docfx/venv/venv1/Lib/site-packages/google/api_core/grpc_helpers.py +622 -0
  357. py2docfx/venv/venv1/Lib/site-packages/google/api_core/grpc_helpers_async.py +331 -0
  358. py2docfx/venv/venv1/Lib/site-packages/google/api_core/iam.py +427 -0
  359. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operation.py +365 -0
  360. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operation_async.py +225 -0
  361. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/__init__.py +40 -0
  362. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/abstract_operations_base_client.py +370 -0
  363. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/abstract_operations_client.py +387 -0
  364. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_async_client.py +364 -0
  365. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_client.py +378 -0
  366. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_client_config.py +60 -0
  367. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_rest_client_async.py +345 -0
  368. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/pagers.py +67 -0
  369. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/pagers_async.py +71 -0
  370. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/pagers_base.py +73 -0
  371. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/__init__.py +39 -0
  372. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/base.py +282 -0
  373. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/rest.py +473 -0
  374. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/rest_asyncio.py +560 -0
  375. py2docfx/venv/venv1/Lib/site-packages/google/api_core/page_iterator.py +571 -0
  376. py2docfx/venv/venv1/Lib/site-packages/google/api_core/page_iterator_async.py +285 -0
  377. py2docfx/venv/venv1/Lib/site-packages/google/api_core/path_template.py +346 -0
  378. py2docfx/venv/venv1/Lib/site-packages/google/api_core/protobuf_helpers.py +373 -0
  379. py2docfx/venv/venv1/Lib/site-packages/google/api_core/rest_helpers.py +109 -0
  380. py2docfx/venv/venv1/Lib/site-packages/google/api_core/rest_streaming.py +66 -0
  381. py2docfx/venv/venv1/Lib/site-packages/google/api_core/rest_streaming_async.py +89 -0
  382. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/__init__.py +52 -0
  383. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_base.py +361 -0
  384. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming.py +263 -0
  385. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming_async.py +325 -0
  386. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary.py +301 -0
  387. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary_async.py +238 -0
  388. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry_async.py +34 -0
  389. py2docfx/venv/venv1/Lib/site-packages/google/api_core/timeout.py +284 -0
  390. py2docfx/venv/venv1/Lib/site-packages/google/api_core/universe.py +82 -0
  391. py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +15 -0
  392. py2docfx/venv/venv1/Lib/site-packages/google/api_core/version_header.py +29 -0
  393. py2docfx/venv/venv1/Lib/site-packages/google/auth/__init__.py +53 -0
  394. py2docfx/venv/venv1/Lib/site-packages/google/auth/_cloud_sdk.py +153 -0
  395. py2docfx/venv/venv1/Lib/site-packages/google/auth/_credentials_async.py +171 -0
  396. py2docfx/venv/venv1/Lib/site-packages/google/auth/_credentials_base.py +75 -0
  397. py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +693 -0
  398. py2docfx/venv/venv1/Lib/site-packages/google/auth/_default_async.py +282 -0
  399. py2docfx/venv/venv1/Lib/site-packages/google/auth/_exponential_backoff.py +164 -0
  400. py2docfx/venv/venv1/Lib/site-packages/google/auth/_helpers.py +273 -0
  401. py2docfx/venv/venv1/Lib/site-packages/google/auth/_jwt_async.py +164 -0
  402. py2docfx/venv/venv1/Lib/site-packages/google/auth/_oauth2client.py +167 -0
  403. py2docfx/venv/venv1/Lib/site-packages/google/auth/_refresh_worker.py +109 -0
  404. py2docfx/venv/venv1/Lib/site-packages/google/auth/_service_account_info.py +80 -0
  405. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/__init__.py +25 -0
  406. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/credentials.py +143 -0
  407. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/__init__.py +144 -0
  408. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/aiohttp.py +184 -0
  409. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/sessions.py +268 -0
  410. py2docfx/venv/venv1/Lib/site-packages/google/auth/api_key.py +76 -0
  411. py2docfx/venv/venv1/Lib/site-packages/google/auth/app_engine.py +180 -0
  412. py2docfx/venv/venv1/Lib/site-packages/google/auth/aws.py +861 -0
  413. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/__init__.py +22 -0
  414. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +367 -0
  415. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/credentials.py +496 -0
  416. py2docfx/venv/venv1/Lib/site-packages/google/auth/credentials.py +522 -0
  417. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/__init__.py +98 -0
  418. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/_cryptography_rsa.py +151 -0
  419. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/_python_rsa.py +175 -0
  420. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/base.py +127 -0
  421. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/es256.py +175 -0
  422. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/rsa.py +30 -0
  423. py2docfx/venv/venv1/Lib/site-packages/google/auth/downscoped.py +512 -0
  424. py2docfx/venv/venv1/Lib/site-packages/google/auth/environment_vars.py +84 -0
  425. py2docfx/venv/venv1/Lib/site-packages/google/auth/exceptions.py +108 -0
  426. py2docfx/venv/venv1/Lib/site-packages/google/auth/external_account.py +628 -0
  427. py2docfx/venv/venv1/Lib/site-packages/google/auth/external_account_authorized_user.py +380 -0
  428. py2docfx/venv/venv1/Lib/site-packages/google/auth/iam.py +114 -0
  429. py2docfx/venv/venv1/Lib/site-packages/google/auth/identity_pool.py +439 -0
  430. py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +462 -0
  431. py2docfx/venv/venv1/Lib/site-packages/google/auth/jwt.py +878 -0
  432. py2docfx/venv/venv1/Lib/site-packages/google/auth/metrics.py +154 -0
  433. py2docfx/venv/venv1/Lib/site-packages/google/auth/pluggable.py +429 -0
  434. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/__init__.py +103 -0
  435. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_aiohttp_requests.py +391 -0
  436. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_custom_tls_signer.py +283 -0
  437. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_http_client.py +113 -0
  438. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_mtls_helper.py +407 -0
  439. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_requests_base.py +52 -0
  440. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/grpc.py +343 -0
  441. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/mtls.py +112 -0
  442. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +600 -0
  443. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/urllib3.py +444 -0
  444. py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +15 -0
  445. py2docfx/venv/venv1/Lib/site-packages/google/cloud/extended_operations_pb2.py +47 -0
  446. py2docfx/venv/venv1/Lib/site-packages/google/cloud/location/locations_pb2.py +71 -0
  447. py2docfx/venv/venv1/Lib/site-packages/google/gapic/metadata/gapic_metadata_pb2.py +62 -0
  448. py2docfx/venv/venv1/Lib/site-packages/google/logging/type/http_request_pb2.py +47 -0
  449. py2docfx/venv/venv1/Lib/site-packages/google/logging/type/log_severity_pb2.py +44 -0
  450. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_grpc.py +19 -0
  451. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_grpc_pb2.py +15 -0
  452. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_pb2.py +42 -0
  453. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_pb2_grpc.py +341 -0
  454. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_proto.py +5 -0
  455. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_proto_pb2.py +95 -0
  456. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/__init__.py +36 -0
  457. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_client.py +500 -0
  458. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_client_async.py +286 -0
  459. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_credentials_async.py +118 -0
  460. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_id_token_async.py +285 -0
  461. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_reauth_async.py +328 -0
  462. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_service_account_async.py +132 -0
  463. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/challenges.py +281 -0
  464. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/credentials.py +614 -0
  465. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/gdch_credentials.py +251 -0
  466. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/id_token.py +340 -0
  467. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/reauth.py +369 -0
  468. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/service_account.py +846 -0
  469. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/sts.py +176 -0
  470. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/utils.py +168 -0
  471. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_handler.py +82 -0
  472. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_handler_factory.py +16 -0
  473. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_types.py +156 -0
  474. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +10 -0
  475. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +37 -0
  476. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +43 -0
  477. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +46 -0
  478. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor.py +1511 -0
  479. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_database.py +154 -0
  480. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +3169 -0
  481. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pool.py +1355 -0
  482. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +37 -0
  483. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +37 -0
  484. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +37 -0
  485. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/__init__.py +7 -0
  486. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/_parameterized.py +420 -0
  487. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/api_implementation.py +142 -0
  488. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/builder.py +117 -0
  489. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/containers.py +677 -0
  490. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +1036 -0
  491. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/encoder.py +806 -0
  492. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/enum_type_wrapper.py +112 -0
  493. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/extension_dict.py +194 -0
  494. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/field_mask.py +310 -0
  495. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/message_listener.py +55 -0
  496. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +5 -0
  497. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +1580 -0
  498. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +119 -0
  499. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/type_checkers.py +408 -0
  500. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +678 -0
  501. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/wire_format.py +245 -0
  502. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +1069 -0
  503. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message.py +422 -0
  504. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +237 -0
  505. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto.py +116 -0
  506. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_builder.py +111 -0
  507. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_json.py +83 -0
  508. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/pyext/cpp_message.py +49 -0
  509. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/reflection.py +85 -0
  510. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +117 -0
  511. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service.py +213 -0
  512. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service_reflection.py +272 -0
  513. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +37 -0
  514. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +47 -0
  515. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/symbol_database.py +197 -0
  516. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_encoding.py +106 -0
  517. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +1864 -0
  518. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +37 -0
  519. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +53 -0
  520. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/unknown_fields.py +97 -0
  521. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +53 -0
  522. py2docfx/venv/venv1/Lib/site-packages/google/rpc/code_pb2.py +42 -0
  523. py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/attribute_context_pb2.py +82 -0
  524. py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/audit_context_pb2.py +47 -0
  525. py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.py +77 -0
  526. py2docfx/venv/venv1/Lib/site-packages/google/rpc/http_pb2.py +46 -0
  527. py2docfx/venv/venv1/Lib/site-packages/google/rpc/status_pb2.py +45 -0
  528. py2docfx/venv/venv1/Lib/site-packages/google/type/calendar_period_pb2.py +44 -0
  529. py2docfx/venv/venv1/Lib/site-packages/google/type/color_pb2.py +45 -0
  530. py2docfx/venv/venv1/Lib/site-packages/google/type/date_pb2.py +42 -0
  531. py2docfx/venv/venv1/Lib/site-packages/google/type/datetime_pb2.py +49 -0
  532. py2docfx/venv/venv1/Lib/site-packages/google/type/dayofweek_pb2.py +44 -0
  533. py2docfx/venv/venv1/Lib/site-packages/google/type/decimal_pb2.py +42 -0
  534. py2docfx/venv/venv1/Lib/site-packages/google/type/expr_pb2.py +42 -0
  535. py2docfx/venv/venv1/Lib/site-packages/google/type/fraction_pb2.py +44 -0
  536. py2docfx/venv/venv1/Lib/site-packages/google/type/interval_pb2.py +47 -0
  537. py2docfx/venv/venv1/Lib/site-packages/google/type/latlng_pb2.py +42 -0
  538. py2docfx/venv/venv1/Lib/site-packages/google/type/localized_text_pb2.py +44 -0
  539. py2docfx/venv/venv1/Lib/site-packages/google/type/money_pb2.py +42 -0
  540. py2docfx/venv/venv1/Lib/site-packages/google/type/month_pb2.py +42 -0
  541. py2docfx/venv/venv1/Lib/site-packages/google/type/phone_number_pb2.py +46 -0
  542. py2docfx/venv/venv1/Lib/site-packages/google/type/postal_address_pb2.py +44 -0
  543. py2docfx/venv/venv1/Lib/site-packages/google/type/quaternion_pb2.py +44 -0
  544. py2docfx/venv/venv1/Lib/site-packages/google/type/timeofday_pb2.py +44 -0
  545. py2docfx/venv/venv1/Lib/site-packages/idna/__init__.py +45 -0
  546. py2docfx/venv/venv1/Lib/site-packages/idna/codec.py +122 -0
  547. py2docfx/venv/venv1/Lib/site-packages/idna/compat.py +15 -0
  548. py2docfx/venv/venv1/Lib/site-packages/idna/core.py +437 -0
  549. py2docfx/venv/venv1/Lib/site-packages/idna/idnadata.py +4243 -0
  550. py2docfx/venv/venv1/Lib/site-packages/idna/intranges.py +57 -0
  551. py2docfx/venv/venv1/Lib/site-packages/idna/package_data.py +1 -0
  552. py2docfx/venv/venv1/Lib/site-packages/idna/uts46data.py +8681 -0
  553. py2docfx/venv/venv1/Lib/site-packages/isapi/__init__.py +39 -0
  554. py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +812 -0
  555. py2docfx/venv/venv1/Lib/site-packages/isapi/isapicon.py +121 -0
  556. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/advanced.py +218 -0
  557. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +116 -0
  558. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +85 -0
  559. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +161 -0
  560. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/test.py +195 -0
  561. py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +72 -0
  562. py2docfx/venv/venv1/Lib/site-packages/isapi/test/extension_simple.py +114 -0
  563. py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +190 -0
  564. py2docfx/venv/venv1/Lib/site-packages/jwt/__init__.py +74 -0
  565. py2docfx/venv/venv1/Lib/site-packages/jwt/algorithms.py +860 -0
  566. py2docfx/venv/venv1/Lib/site-packages/jwt/api_jwk.py +144 -0
  567. py2docfx/venv/venv1/Lib/site-packages/jwt/api_jws.py +335 -0
  568. py2docfx/venv/venv1/Lib/site-packages/jwt/api_jwt.py +377 -0
  569. py2docfx/venv/venv1/Lib/site-packages/jwt/exceptions.py +74 -0
  570. py2docfx/venv/venv1/Lib/site-packages/jwt/help.py +64 -0
  571. py2docfx/venv/venv1/Lib/site-packages/jwt/jwk_set_cache.py +31 -0
  572. py2docfx/venv/venv1/Lib/site-packages/jwt/jwks_client.py +124 -0
  573. py2docfx/venv/venv1/Lib/site-packages/jwt/types.py +5 -0
  574. py2docfx/venv/venv1/Lib/site-packages/jwt/utils.py +145 -0
  575. py2docfx/venv/venv1/Lib/site-packages/jwt/warnings.py +2 -0
  576. py2docfx/venv/venv1/Lib/site-packages/msal/__init__.py +48 -0
  577. py2docfx/venv/venv1/Lib/site-packages/msal/__main__.py +343 -0
  578. py2docfx/venv/venv1/Lib/site-packages/msal/application.py +2432 -0
  579. py2docfx/venv/venv1/Lib/site-packages/msal/auth_scheme.py +34 -0
  580. py2docfx/venv/venv1/Lib/site-packages/msal/authority.py +225 -0
  581. py2docfx/venv/venv1/Lib/site-packages/msal/broker.py +265 -0
  582. py2docfx/venv/venv1/Lib/site-packages/msal/cloudshell.py +122 -0
  583. py2docfx/venv/venv1/Lib/site-packages/msal/exceptions.py +38 -0
  584. py2docfx/venv/venv1/Lib/site-packages/msal/individual_cache.py +286 -0
  585. py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +649 -0
  586. py2docfx/venv/venv1/Lib/site-packages/msal/mex.py +137 -0
  587. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/__init__.py +7 -0
  588. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/assertion.py +137 -0
  589. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/authcode.py +379 -0
  590. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/http.py +74 -0
  591. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/oauth2.py +865 -0
  592. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/oidc.py +338 -0
  593. py2docfx/venv/venv1/Lib/site-packages/msal/region.py +45 -0
  594. py2docfx/venv/venv1/Lib/site-packages/msal/telemetry.py +78 -0
  595. py2docfx/venv/venv1/Lib/site-packages/msal/throttled_http_client.py +148 -0
  596. py2docfx/venv/venv1/Lib/site-packages/msal/token_cache.py +418 -0
  597. py2docfx/venv/venv1/Lib/site-packages/msal/wstrust_request.py +129 -0
  598. py2docfx/venv/venv1/Lib/site-packages/msal/wstrust_response.py +94 -0
  599. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/__init__.py +13 -0
  600. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/cache_lock.py +71 -0
  601. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/libsecret.py +134 -0
  602. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/osx.py +252 -0
  603. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/persistence.py +344 -0
  604. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/token_cache.py +88 -0
  605. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/windows.py +123 -0
  606. py2docfx/venv/venv1/Lib/site-packages/opencensus/__init__.py +1 -0
  607. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/__init__.py +1 -0
  608. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/backports/__init__.py +79 -0
  609. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/configuration/__init__.py +46 -0
  610. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/http_handler/__init__.py +43 -0
  611. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/aws_identity_doc_utils.py +95 -0
  612. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/gcp_metadata_config.py +115 -0
  613. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/k8s_utils.py +64 -0
  614. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/monitored_resource.py +68 -0
  615. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/resource/__init__.py +218 -0
  616. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/runtime_context/__init__.py +177 -0
  617. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/runtime_context/version.py +15 -0
  618. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/schedule/__init__.py +149 -0
  619. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/__init__.py +13 -0
  620. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/async_.py +231 -0
  621. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/base.py +31 -0
  622. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/sync.py +28 -0
  623. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/utils/__init__.py +131 -0
  624. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/version/__init__.py +15 -0
  625. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/__init__.py +1 -0
  626. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/__init__.py +1 -0
  627. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/__init__.py +138 -0
  628. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/exporter.py +93 -0
  629. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/processor.py +63 -0
  630. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/protocol.py +206 -0
  631. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/storage.py +205 -0
  632. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/transport.py +358 -0
  633. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/utils.py +79 -0
  634. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/version.py +15 -0
  635. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/log_exporter/__init__.py +314 -0
  636. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/__init__.py +190 -0
  637. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/__init__.py +62 -0
  638. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/cpu.py +50 -0
  639. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/http_requests.py +176 -0
  640. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/memory.py +42 -0
  641. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/process.py +87 -0
  642. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/__init__.py +1 -0
  643. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/state.py +50 -0
  644. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat.py +100 -0
  645. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat_metrics.py +480 -0
  646. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/trace_exporter/__init__.py +236 -0
  647. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/threading/__init__.py +13 -0
  648. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/threading/trace.py +154 -0
  649. py2docfx/venv/venv1/Lib/site-packages/opencensus/log/__init__.py +115 -0
  650. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/cumulative.py +87 -0
  651. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/gauge.py +513 -0
  652. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/metric.py +79 -0
  653. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/metric_descriptor.py +174 -0
  654. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/metric_producer.py +81 -0
  655. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/point.py +47 -0
  656. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/summary.py +144 -0
  657. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/time_series.py +90 -0
  658. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/value.py +307 -0
  659. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/label_key.py +51 -0
  660. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/label_value.py +42 -0
  661. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/transport.py +145 -0
  662. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/__init__.py +13 -0
  663. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/aggregation.py +144 -0
  664. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/aggregation_data.py +399 -0
  665. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/base_exporter.py +42 -0
  666. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/bucket_boundaries.py +41 -0
  667. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/execution_context.py +32 -0
  668. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measure.py +60 -0
  669. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measure_to_view_map.py +163 -0
  670. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measurement.py +50 -0
  671. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measurement_map.py +118 -0
  672. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/metric_utils.py +79 -0
  673. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/stats.py +43 -0
  674. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/stats_recorder.py +34 -0
  675. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/view.py +106 -0
  676. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/view_data.py +96 -0
  677. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/view_manager.py +55 -0
  678. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/__init__.py +23 -0
  679. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/propagation/__init__.py +13 -0
  680. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/propagation/binary_serializer.py +109 -0
  681. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag.py +38 -0
  682. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag_key.py +35 -0
  683. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag_map.py +104 -0
  684. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag_value.py +35 -0
  685. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/validation.py +42 -0
  686. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/__init__.py +17 -0
  687. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/attributes.py +74 -0
  688. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/attributes_helper.py +43 -0
  689. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/base_exporter.py +43 -0
  690. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/base_span.py +109 -0
  691. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/blank_span.py +165 -0
  692. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/config_integration.py +38 -0
  693. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/exceptions_status.py +25 -0
  694. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/execution_context.py +89 -0
  695. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/file_exporter.py +71 -0
  696. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/integrations.py +52 -0
  697. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/link.py +71 -0
  698. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/logging_exporter.py +85 -0
  699. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/print_exporter.py +51 -0
  700. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/__init__.py +13 -0
  701. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/b3_format.py +117 -0
  702. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/binary_format.py +168 -0
  703. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/google_cloud_format.py +128 -0
  704. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/text_format.py +85 -0
  705. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/trace_context_http_header_format.py +115 -0
  706. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/tracestate_string_format.py +43 -0
  707. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/samplers/__init__.py +94 -0
  708. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/span.py +457 -0
  709. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/span_context.py +168 -0
  710. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/span_data.py +184 -0
  711. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/stack_trace.py +189 -0
  712. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/status.py +84 -0
  713. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/time_event.py +117 -0
  714. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/trace_options.py +78 -0
  715. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracer.py +144 -0
  716. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/__init__.py +13 -0
  717. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/base.py +82 -0
  718. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/context_tracer.py +176 -0
  719. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/noop_tracer.py +85 -0
  720. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracestate.py +65 -0
  721. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/utils.py +128 -0
  722. py2docfx/venv/venv1/Lib/site-packages/portalocker/__about__.py +6 -0
  723. py2docfx/venv/venv1/Lib/site-packages/portalocker/__init__.py +79 -0
  724. py2docfx/venv/venv1/Lib/site-packages/portalocker/__main__.py +122 -0
  725. py2docfx/venv/venv1/Lib/site-packages/portalocker/constants.py +59 -0
  726. py2docfx/venv/venv1/Lib/site-packages/portalocker/exceptions.py +27 -0
  727. py2docfx/venv/venv1/Lib/site-packages/portalocker/portalocker.py +154 -0
  728. py2docfx/venv/venv1/Lib/site-packages/portalocker/redis.py +236 -0
  729. py2docfx/venv/venv1/Lib/site-packages/portalocker/utils.py +569 -0
  730. py2docfx/venv/venv1/Lib/site-packages/proto/__init__.py +72 -0
  731. py2docfx/venv/venv1/Lib/site-packages/proto/_file_info.py +196 -0
  732. py2docfx/venv/venv1/Lib/site-packages/proto/_package_info.py +50 -0
  733. py2docfx/venv/venv1/Lib/site-packages/proto/datetime_helpers.py +225 -0
  734. py2docfx/venv/venv1/Lib/site-packages/proto/enums.py +161 -0
  735. py2docfx/venv/venv1/Lib/site-packages/proto/fields.py +165 -0
  736. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/__init__.py +18 -0
  737. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/__init__.py +24 -0
  738. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/maps.py +82 -0
  739. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/repeated.py +184 -0
  740. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/compat.py +67 -0
  741. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/marshal.py +297 -0
  742. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/__init__.py +13 -0
  743. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/bytes.py +44 -0
  744. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/dates.py +85 -0
  745. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/enums.py +59 -0
  746. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/field_mask.py +36 -0
  747. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/message.py +48 -0
  748. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/stringy_numbers.py +71 -0
  749. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/struct.py +143 -0
  750. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/wrappers.py +84 -0
  751. py2docfx/venv/venv1/Lib/site-packages/proto/message.py +998 -0
  752. py2docfx/venv/venv1/Lib/site-packages/proto/modules.py +50 -0
  753. py2docfx/venv/venv1/Lib/site-packages/proto/primitives.py +38 -0
  754. py2docfx/venv/venv1/Lib/site-packages/proto/utils.py +58 -0
  755. py2docfx/venv/venv1/Lib/site-packages/proto/version.py +15 -0
  756. py2docfx/venv/venv1/Lib/site-packages/psutil/__init__.py +2486 -0
  757. py2docfx/venv/venv1/Lib/site-packages/psutil/_common.py +994 -0
  758. py2docfx/venv/venv1/Lib/site-packages/psutil/_compat.py +477 -0
  759. py2docfx/venv/venv1/Lib/site-packages/psutil/_psaix.py +579 -0
  760. py2docfx/venv/venv1/Lib/site-packages/psutil/_psbsd.py +985 -0
  761. py2docfx/venv/venv1/Lib/site-packages/psutil/_pslinux.py +2375 -0
  762. py2docfx/venv/venv1/Lib/site-packages/psutil/_psosx.py +552 -0
  763. py2docfx/venv/venv1/Lib/site-packages/psutil/_psposix.py +243 -0
  764. py2docfx/venv/venv1/Lib/site-packages/psutil/_pssunos.py +753 -0
  765. py2docfx/venv/venv1/Lib/site-packages/psutil/_pswindows.py +1174 -0
  766. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/__init__.py +2113 -0
  767. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/__main__.py +12 -0
  768. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_aix.py +115 -0
  769. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_bsd.py +592 -0
  770. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_connections.py +567 -0
  771. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_contracts.py +339 -0
  772. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_linux.py +2348 -0
  773. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_memleaks.py +493 -0
  774. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_misc.py +1058 -0
  775. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_osx.py +192 -0
  776. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_posix.py +496 -0
  777. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_process.py +1746 -0
  778. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_process_all.py +543 -0
  779. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_sunos.py +39 -0
  780. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_system.py +987 -0
  781. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_testutils.py +587 -0
  782. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_unicode.py +369 -0
  783. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_windows.py +934 -0
  784. py2docfx/venv/venv1/Lib/site-packages/pyasn1/__init__.py +2 -0
  785. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/__init__.py +1 -0
  786. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/__init__.py +1 -0
  787. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/decoder.py +2189 -0
  788. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/encoder.py +954 -0
  789. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/eoo.py +28 -0
  790. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/cer/__init__.py +1 -0
  791. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/cer/decoder.py +149 -0
  792. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/cer/encoder.py +331 -0
  793. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/der/__init__.py +1 -0
  794. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/der/decoder.py +120 -0
  795. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/der/encoder.py +126 -0
  796. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/native/__init__.py +1 -0
  797. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/native/decoder.py +244 -0
  798. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/native/encoder.py +285 -0
  799. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/streaming.py +234 -0
  800. py2docfx/venv/venv1/Lib/site-packages/pyasn1/compat/__init__.py +4 -0
  801. py2docfx/venv/venv1/Lib/site-packages/pyasn1/compat/integer.py +13 -0
  802. py2docfx/venv/venv1/Lib/site-packages/pyasn1/debug.py +146 -0
  803. py2docfx/venv/venv1/Lib/site-packages/pyasn1/error.py +116 -0
  804. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/__init__.py +1 -0
  805. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/base.py +699 -0
  806. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/char.py +288 -0
  807. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/constraint.py +751 -0
  808. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/error.py +11 -0
  809. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/namedtype.py +550 -0
  810. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/namedval.py +192 -0
  811. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/opentype.py +104 -0
  812. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/tag.py +335 -0
  813. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/tagmap.py +96 -0
  814. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/univ.py +3327 -0
  815. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/useful.py +189 -0
  816. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/__init__.py +2 -0
  817. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/pem.py +58 -0
  818. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1155.py +96 -0
  819. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1157.py +126 -0
  820. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1901.py +22 -0
  821. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1902.py +129 -0
  822. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1905.py +135 -0
  823. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2251.py +563 -0
  824. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2314.py +48 -0
  825. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2315.py +294 -0
  826. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2437.py +69 -0
  827. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2459.py +1339 -0
  828. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2511.py +258 -0
  829. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2560.py +225 -0
  830. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2631.py +37 -0
  831. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2634.py +336 -0
  832. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2876.py +56 -0
  833. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2985.py +588 -0
  834. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2986.py +75 -0
  835. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3058.py +42 -0
  836. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3114.py +77 -0
  837. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3125.py +469 -0
  838. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3161.py +142 -0
  839. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3274.py +59 -0
  840. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3279.py +260 -0
  841. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3280.py +1543 -0
  842. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3281.py +331 -0
  843. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3370.py +146 -0
  844. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3412.py +53 -0
  845. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3414.py +28 -0
  846. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3447.py +45 -0
  847. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3537.py +34 -0
  848. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3560.py +74 -0
  849. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3565.py +57 -0
  850. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3657.py +66 -0
  851. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3709.py +207 -0
  852. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3739.py +203 -0
  853. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3770.py +75 -0
  854. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3779.py +137 -0
  855. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3820.py +65 -0
  856. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3852.py +706 -0
  857. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4010.py +58 -0
  858. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4043.py +43 -0
  859. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4055.py +258 -0
  860. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4073.py +59 -0
  861. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4108.py +350 -0
  862. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4210.py +803 -0
  863. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4211.py +396 -0
  864. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4334.py +75 -0
  865. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4357.py +477 -0
  866. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4387.py +23 -0
  867. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4476.py +93 -0
  868. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4490.py +113 -0
  869. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4491.py +44 -0
  870. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4683.py +72 -0
  871. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4985.py +49 -0
  872. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5035.py +199 -0
  873. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5083.py +52 -0
  874. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5084.py +97 -0
  875. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5126.py +577 -0
  876. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5208.py +56 -0
  877. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5275.py +404 -0
  878. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5280.py +1658 -0
  879. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5480.py +190 -0
  880. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5636.py +113 -0
  881. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5639.py +49 -0
  882. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5649.py +33 -0
  883. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5652.py +761 -0
  884. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5697.py +70 -0
  885. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5751.py +124 -0
  886. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5752.py +49 -0
  887. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5753.py +157 -0
  888. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5755.py +398 -0
  889. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5913.py +44 -0
  890. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5914.py +119 -0
  891. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5915.py +32 -0
  892. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5916.py +35 -0
  893. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5917.py +55 -0
  894. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5924.py +19 -0
  895. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5934.py +786 -0
  896. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5940.py +59 -0
  897. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5958.py +98 -0
  898. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5990.py +237 -0
  899. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6010.py +88 -0
  900. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6019.py +45 -0
  901. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6031.py +469 -0
  902. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6032.py +68 -0
  903. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6120.py +43 -0
  904. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6170.py +17 -0
  905. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6187.py +22 -0
  906. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6210.py +42 -0
  907. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6211.py +72 -0
  908. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6402.py +628 -0
  909. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6482.py +74 -0
  910. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6486.py +68 -0
  911. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6487.py +22 -0
  912. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6664.py +147 -0
  913. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6955.py +108 -0
  914. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6960.py +223 -0
  915. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7030.py +66 -0
  916. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7191.py +261 -0
  917. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7229.py +29 -0
  918. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7292.py +357 -0
  919. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7296.py +32 -0
  920. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7508.py +90 -0
  921. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7585.py +50 -0
  922. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7633.py +38 -0
  923. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7773.py +52 -0
  924. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7894.py +92 -0
  925. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7906.py +736 -0
  926. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7914.py +49 -0
  927. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8017.py +153 -0
  928. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8018.py +260 -0
  929. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8103.py +36 -0
  930. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8209.py +20 -0
  931. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8226.py +149 -0
  932. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8358.py +50 -0
  933. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8360.py +44 -0
  934. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8398.py +52 -0
  935. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8410.py +43 -0
  936. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8418.py +36 -0
  937. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8419.py +68 -0
  938. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8479.py +45 -0
  939. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8494.py +80 -0
  940. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8520.py +63 -0
  941. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8619.py +45 -0
  942. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8649.py +40 -0
  943. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8692.py +79 -0
  944. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8696.py +104 -0
  945. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8702.py +105 -0
  946. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8708.py +41 -0
  947. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8769.py +21 -0
  948. py2docfx/venv/venv1/Lib/site-packages/pycparser/__init__.py +93 -0
  949. py2docfx/venv/venv1/Lib/site-packages/pycparser/_ast_gen.py +336 -0
  950. py2docfx/venv/venv1/Lib/site-packages/pycparser/_build_tables.py +40 -0
  951. py2docfx/venv/venv1/Lib/site-packages/pycparser/ast_transforms.py +164 -0
  952. py2docfx/venv/venv1/Lib/site-packages/pycparser/c_ast.py +1125 -0
  953. py2docfx/venv/venv1/Lib/site-packages/pycparser/c_generator.py +502 -0
  954. py2docfx/venv/venv1/Lib/site-packages/pycparser/c_lexer.py +555 -0
  955. py2docfx/venv/venv1/Lib/site-packages/pycparser/c_parser.py +1950 -0
  956. py2docfx/venv/venv1/Lib/site-packages/pycparser/lextab.py +10 -0
  957. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/__init__.py +5 -0
  958. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/cpp.py +905 -0
  959. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/ctokens.py +133 -0
  960. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/lex.py +1099 -0
  961. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/yacc.py +3494 -0
  962. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/ygen.py +74 -0
  963. py2docfx/venv/venv1/Lib/site-packages/pycparser/plyparser.py +133 -0
  964. py2docfx/venv/venv1/Lib/site-packages/pycparser/yacctab.py +369 -0
  965. py2docfx/venv/venv1/Lib/site-packages/pythoncom.py +4 -0
  966. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +258 -0
  967. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +185 -0
  968. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +65 -0
  969. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dlgappdemo.py +51 -0
  970. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dojobapp.py +71 -0
  971. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/helloapp.py +53 -0
  972. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +116 -0
  973. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/createwin.py +114 -0
  974. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/demoutils.py +65 -0
  975. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dibdemo.py +73 -0
  976. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dlgtest.py +145 -0
  977. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dyndlg.py +104 -0
  978. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/fontdemo.py +85 -0
  979. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +80 -0
  980. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/hiertest.py +138 -0
  981. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/menutest.py +13 -0
  982. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +57 -0
  983. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +65 -0
  984. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +95 -0
  985. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/msoffice.py +159 -0
  986. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +133 -0
  987. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +244 -0
  988. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +72 -0
  989. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +370 -0
  990. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/progressbar.py +105 -0
  991. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/sliderdemo.py +76 -0
  992. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/splittst.py +79 -0
  993. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/threadedgui.py +189 -0
  994. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +106 -0
  995. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/__init__.py +3 -0
  996. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/__init__.py +133 -0
  997. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +34 -0
  998. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +32 -0
  999. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgpyapp.py +48 -0
  1000. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +1098 -0
  1001. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +54 -0
  1002. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +139 -0
  1003. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +143 -0
  1004. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +156 -0
  1005. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/status.py +242 -0
  1006. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +677 -0
  1007. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +414 -0
  1008. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/bitmap.py +168 -0
  1009. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/cmdline.py +54 -0
  1010. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +189 -0
  1011. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dlgappcore.py +76 -0
  1012. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +235 -0
  1013. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +103 -0
  1014. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/coloreditor.py +646 -0
  1015. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/configui.py +299 -0
  1016. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +380 -0
  1017. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +511 -0
  1018. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/frame.py +74 -0
  1019. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/template.py +59 -0
  1020. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +104 -0
  1021. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +172 -0
  1022. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +995 -0
  1023. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +554 -0
  1024. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +60 -0
  1025. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/mdi_pychecker.py +850 -0
  1026. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +686 -0
  1027. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +758 -0
  1028. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +70 -0
  1029. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +171 -0
  1030. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +281 -0
  1031. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/window.py +14 -0
  1032. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/winout.py +589 -0
  1033. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoExpand.py +95 -0
  1034. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +536 -0
  1035. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +218 -0
  1036. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/FormatParagraph.py +166 -0
  1037. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/IdleHistory.py +87 -0
  1038. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/PyParse.py +585 -0
  1039. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/__init__.py +1 -0
  1040. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +80 -0
  1041. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/afxres.py +501 -0
  1042. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +280 -0
  1043. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/docview.py +151 -0
  1044. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/object.py +66 -0
  1045. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/thread.py +25 -0
  1046. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/window.py +50 -0
  1047. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +597 -0
  1048. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/__init__.py +1 -0
  1049. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +178 -0
  1050. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +365 -0
  1051. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +292 -0
  1052. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/control.py +565 -0
  1053. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +312 -0
  1054. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/find.py +511 -0
  1055. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +704 -0
  1056. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +190 -0
  1057. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +1983 -0
  1058. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +845 -0
  1059. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/TraceCollector.py +79 -0
  1060. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browseProjects.py +323 -0
  1061. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +506 -0
  1062. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +353 -0
  1063. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regedit.py +382 -0
  1064. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regpy.py +80 -0
  1065. py2docfx/venv/venv1/Lib/site-packages/requests/__init__.py +184 -0
  1066. py2docfx/venv/venv1/Lib/site-packages/requests/__version__.py +14 -0
  1067. py2docfx/venv/venv1/Lib/site-packages/requests/_internal_utils.py +50 -0
  1068. py2docfx/venv/venv1/Lib/site-packages/requests/adapters.py +719 -0
  1069. py2docfx/venv/venv1/Lib/site-packages/requests/api.py +157 -0
  1070. py2docfx/venv/venv1/Lib/site-packages/requests/auth.py +314 -0
  1071. py2docfx/venv/venv1/Lib/site-packages/requests/certs.py +17 -0
  1072. py2docfx/venv/venv1/Lib/site-packages/requests/compat.py +94 -0
  1073. py2docfx/venv/venv1/Lib/site-packages/requests/cookies.py +561 -0
  1074. py2docfx/venv/venv1/Lib/site-packages/requests/exceptions.py +151 -0
  1075. py2docfx/venv/venv1/Lib/site-packages/requests/help.py +134 -0
  1076. py2docfx/venv/venv1/Lib/site-packages/requests/hooks.py +33 -0
  1077. py2docfx/venv/venv1/Lib/site-packages/requests/models.py +1037 -0
  1078. py2docfx/venv/venv1/Lib/site-packages/requests/packages.py +23 -0
  1079. py2docfx/venv/venv1/Lib/site-packages/requests/sessions.py +831 -0
  1080. py2docfx/venv/venv1/Lib/site-packages/requests/status_codes.py +128 -0
  1081. py2docfx/venv/venv1/Lib/site-packages/requests/structures.py +99 -0
  1082. py2docfx/venv/venv1/Lib/site-packages/requests/utils.py +1096 -0
  1083. py2docfx/venv/venv1/Lib/site-packages/rsa/__init__.py +60 -0
  1084. py2docfx/venv/venv1/Lib/site-packages/rsa/asn1.py +52 -0
  1085. py2docfx/venv/venv1/Lib/site-packages/rsa/cli.py +321 -0
  1086. py2docfx/venv/venv1/Lib/site-packages/rsa/common.py +184 -0
  1087. py2docfx/venv/venv1/Lib/site-packages/rsa/core.py +53 -0
  1088. py2docfx/venv/venv1/Lib/site-packages/rsa/key.py +858 -0
  1089. py2docfx/venv/venv1/Lib/site-packages/rsa/parallel.py +96 -0
  1090. py2docfx/venv/venv1/Lib/site-packages/rsa/pem.py +134 -0
  1091. py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1.py +485 -0
  1092. py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1_v2.py +100 -0
  1093. py2docfx/venv/venv1/Lib/site-packages/rsa/prime.py +198 -0
  1094. py2docfx/venv/venv1/Lib/site-packages/rsa/randnum.py +95 -0
  1095. py2docfx/venv/venv1/Lib/site-packages/rsa/transform.py +72 -0
  1096. py2docfx/venv/venv1/Lib/site-packages/rsa/util.py +97 -0
  1097. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
  1098. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
  1099. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
  1100. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
  1101. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
  1102. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
  1103. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/inflect/compat/__init__.py +0 -0
  1104. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/vendored/__init__.py +0 -0
  1105. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/__init__.py +0 -0
  1106. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/zipp/compat/__init__.py +0 -0
  1107. py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +554 -0
  1108. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +653 -0
  1109. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +721 -0
  1110. py2docfx/venv/venv1/Lib/site-packages/setuptools/compat/__init__.py +0 -0
  1111. py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +996 -0
  1112. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/compat/__init__.py +0 -0
  1113. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/__init__.py +0 -0
  1114. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/__init__.py +0 -0
  1115. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +646 -0
  1116. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +280 -0
  1117. py2docfx/venv/venv1/Lib/site-packages/six.py +998 -0
  1118. py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +3641 -0
  1119. py2docfx/venv/venv1/Lib/site-packages/urllib3/__init__.py +211 -0
  1120. py2docfx/venv/venv1/Lib/site-packages/urllib3/_base_connection.py +172 -0
  1121. py2docfx/venv/venv1/Lib/site-packages/urllib3/_collections.py +483 -0
  1122. py2docfx/venv/venv1/Lib/site-packages/urllib3/_request_methods.py +278 -0
  1123. py2docfx/venv/venv1/Lib/site-packages/urllib3/_version.py +16 -0
  1124. py2docfx/venv/venv1/Lib/site-packages/urllib3/connection.py +1033 -0
  1125. py2docfx/venv/venv1/Lib/site-packages/urllib3/connectionpool.py +1182 -0
  1126. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/__init__.py +0 -0
  1127. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/__init__.py +16 -0
  1128. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/connection.py +254 -0
  1129. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +418 -0
  1130. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/request.py +22 -0
  1131. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/response.py +285 -0
  1132. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/pyopenssl.py +552 -0
  1133. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/socks.py +228 -0
  1134. py2docfx/venv/venv1/Lib/site-packages/urllib3/exceptions.py +321 -0
  1135. py2docfx/venv/venv1/Lib/site-packages/urllib3/fields.py +341 -0
  1136. py2docfx/venv/venv1/Lib/site-packages/urllib3/filepost.py +89 -0
  1137. py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/__init__.py +53 -0
  1138. py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/connection.py +356 -0
  1139. py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/probe.py +87 -0
  1140. py2docfx/venv/venv1/Lib/site-packages/urllib3/poolmanager.py +637 -0
  1141. py2docfx/venv/venv1/Lib/site-packages/urllib3/response.py +1265 -0
  1142. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/__init__.py +42 -0
  1143. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/connection.py +137 -0
  1144. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/proxy.py +43 -0
  1145. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/request.py +256 -0
  1146. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/response.py +101 -0
  1147. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/retry.py +533 -0
  1148. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_.py +513 -0
  1149. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_match_hostname.py +159 -0
  1150. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssltransport.py +276 -0
  1151. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/timeout.py +275 -0
  1152. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/url.py +471 -0
  1153. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/util.py +42 -0
  1154. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/wait.py +124 -0
  1155. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/__init__.py +0 -0
  1156. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/__init__.py +0 -0
  1157. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupRead_BackupWrite.py +119 -0
  1158. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupSeek_streamheaders.py +137 -0
  1159. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CopyFileEx.py +57 -0
  1160. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CreateFileTransacted_MiniVersion.py +122 -0
  1161. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +83 -0
  1162. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_pull.py +28 -0
  1163. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +25 -0
  1164. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/FileSecurityTest.py +137 -0
  1165. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +43 -0
  1166. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/NetValidatePasswordPolicy.py +127 -0
  1167. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/OpenEncryptedFileRaw.py +66 -0
  1168. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegCreateKeyTransacted.py +60 -0
  1169. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegRestoreKey.py +71 -0
  1170. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/SystemParametersInfo.py +210 -0
  1171. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +26 -0
  1172. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +18 -0
  1173. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +42 -0
  1174. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/desktopmanager.py +246 -0
  1175. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/eventLogDemo.py +143 -0
  1176. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +33 -0
  1177. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/mmapfile_demo.py +101 -0
  1178. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/cat.py +17 -0
  1179. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +114 -0
  1180. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/print_desktop.py +113 -0
  1181. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +168 -0
  1182. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +110 -0
  1183. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +51 -0
  1184. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +171 -0
  1185. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +42 -0
  1186. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +37 -0
  1187. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +65 -0
  1188. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsaregevent.py +14 -0
  1189. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsastore.py +12 -0
  1190. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +25 -0
  1191. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsave_sa.py +61 -0
  1192. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsecurity.py +36 -0
  1193. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sa_inherit.py +8 -0
  1194. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/security_enums.py +336 -0
  1195. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +107 -0
  1196. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +74 -0
  1197. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +28 -0
  1198. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +135 -0
  1199. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setnamedsecurityinfo.py +131 -0
  1200. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +132 -0
  1201. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +103 -0
  1202. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +158 -0
  1203. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +72 -0
  1204. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +200 -0
  1205. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/validate_password.py +41 -0
  1206. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/nativePipeTestService.py +63 -0
  1207. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +184 -0
  1208. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +155 -0
  1209. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/serviceEvents.py +98 -0
  1210. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/timer_demo.py +72 -0
  1211. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +143 -0
  1212. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboard_bitmapdemo.py +117 -0
  1213. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +144 -0
  1214. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +135 -0
  1215. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32cred_demo.py +82 -0
  1216. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32fileDemo.py +41 -0
  1217. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_demo.py +177 -0
  1218. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +107 -0
  1219. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_dialog.py +445 -0
  1220. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +409 -0
  1221. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +136 -0
  1222. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +275 -0
  1223. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32rcparser_demo.py +86 -0
  1224. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32servicedemo.py +23 -0
  1225. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +25 -0
  1226. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +123 -0
  1227. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/winnetwk.py +100 -0
  1228. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/winprocess.py +230 -0
  1229. py2docfx/venv/venv1/Lib/site-packages/win32/lib/_win32verstamp_pywin32ctypes.py +164 -0
  1230. py2docfx/venv/venv1/Lib/site-packages/win32/lib/afxres.py +8 -0
  1231. py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +1551 -0
  1232. py2docfx/venv/venv1/Lib/site-packages/win32/lib/mmsystem.py +956 -0
  1233. py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +295 -0
  1234. py2docfx/venv/venv1/Lib/site-packages/win32/lib/ntsecuritycon.py +731 -0
  1235. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +29 -0
  1236. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +291 -0
  1237. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +124 -0
  1238. py2docfx/venv/venv1/Lib/site-packages/win32/lib/rasutil.py +40 -0
  1239. py2docfx/venv/venv1/Lib/site-packages/win32/lib/regcheck.py +161 -0
  1240. py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +395 -0
  1241. py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +413 -0
  1242. py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspicon.py +477 -0
  1243. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +7 -0
  1244. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +5083 -0
  1245. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +1925 -0
  1246. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +226 -0
  1247. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +957 -0
  1248. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32inetcon.py +1086 -0
  1249. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32netcon.py +627 -0
  1250. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +571 -0
  1251. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +212 -0
  1252. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +673 -0
  1253. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +1075 -0
  1254. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +1018 -0
  1255. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32traceutil.py +59 -0
  1256. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +235 -0
  1257. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +3040 -0
  1258. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winioctlcon.py +1079 -0
  1259. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winnt.py +1347 -0
  1260. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winperf.py +236 -0
  1261. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +8 -0
  1262. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/ControlService.py +594 -0
  1263. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/BrandProject.py +97 -0
  1264. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/bulkstamp.py +156 -0
  1265. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/vssutil.py +201 -0
  1266. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/backupEventLog.py +46 -0
  1267. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/killProcName.py +62 -0
  1268. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/rasutil.py +98 -0
  1269. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +610 -0
  1270. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +111 -0
  1271. py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +167 -0
  1272. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +126 -0
  1273. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_exceptions.py +213 -0
  1274. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_odbc.py +264 -0
  1275. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_pywintypes.py +111 -0
  1276. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_security.py +166 -0
  1277. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +229 -0
  1278. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +269 -0
  1279. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +60 -0
  1280. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +92 -0
  1281. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +131 -0
  1282. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32event.py +119 -0
  1283. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +1080 -0
  1284. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +228 -0
  1285. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +336 -0
  1286. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +91 -0
  1287. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +24 -0
  1288. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32pipe.py +148 -0
  1289. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32print.py +24 -0
  1290. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32profile.py +19 -0
  1291. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32rcparser.py +70 -0
  1292. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32timezone.py +16 -0
  1293. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32trace.py +366 -0
  1294. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32wnet.py +174 -0
  1295. py2docfx/venv/venv1/Lib/site-packages/win32/test/testall.py +223 -0
  1296. py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +21 -0
  1297. py2docfx/venv/venv1/Lib/site-packages/win32com/__init__.py +134 -0
  1298. py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +58 -0
  1299. py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +685 -0
  1300. py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +771 -0
  1301. py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +620 -0
  1302. py2docfx/venv/venv1/Lib/site-packages/win32com/client/connect.py +48 -0
  1303. py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +699 -0
  1304. py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +807 -0
  1305. py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +1398 -0
  1306. py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +449 -0
  1307. py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +183 -0
  1308. py2docfx/venv/venv1/Lib/site-packages/win32com/client/tlbrowse.py +277 -0
  1309. py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +103 -0
  1310. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/__init__.py +0 -0
  1311. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/connect.py +96 -0
  1312. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +74 -0
  1313. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsApartmentThreaded.py +98 -0
  1314. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsFreeThreaded.py +92 -0
  1315. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +169 -0
  1316. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +434 -0
  1317. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +217 -0
  1318. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +368 -0
  1319. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +137 -0
  1320. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/trybag.py +78 -0
  1321. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/__init__.py +1 -0
  1322. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +626 -0
  1323. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +335 -0
  1324. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +1019 -0
  1325. py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +70 -0
  1326. py2docfx/venv/venv1/Lib/site-packages/win32com/server/__init__.py +1 -0
  1327. py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +85 -0
  1328. py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +243 -0
  1329. py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +99 -0
  1330. py2docfx/venv/venv1/Lib/site-packages/win32com/server/factory.py +26 -0
  1331. py2docfx/venv/venv1/Lib/site-packages/win32com/server/localserver.py +53 -0
  1332. py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +817 -0
  1333. py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +678 -0
  1334. py2docfx/venv/venv1/Lib/site-packages/win32com/server/util.py +229 -0
  1335. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/PythonTools.py +47 -0
  1336. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/__init__.py +0 -0
  1337. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +136 -0
  1338. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +59 -0
  1339. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/perfmon.py +36 -0
  1340. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +182 -0
  1341. py2docfx/venv/venv1/Lib/site-packages/win32com/storagecon.py +142 -0
  1342. py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +97 -0
  1343. py2docfx/venv/venv1/Lib/site-packages/win32com/test/__init__.py +1 -0
  1344. py2docfx/venv/venv1/Lib/site-packages/win32com/test/daodump.py +88 -0
  1345. py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +243 -0
  1346. py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +99 -0
  1347. py2docfx/venv/venv1/Lib/site-packages/win32com/test/policySemantics.py +115 -0
  1348. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +100 -0
  1349. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +45 -0
  1350. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAccess.py +185 -0
  1351. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testArrays.py +99 -0
  1352. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testClipboard.py +169 -0
  1353. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testCollections.py +159 -0
  1354. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testConversionErrors.py +35 -0
  1355. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDCOM.py +50 -0
  1356. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDates.py +74 -0
  1357. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +100 -0
  1358. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +85 -0
  1359. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +126 -0
  1360. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExplorer.py +139 -0
  1361. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGIT.py +142 -0
  1362. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +149 -0
  1363. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +140 -0
  1364. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +201 -0
  1365. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +138 -0
  1366. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMarshal.py +160 -0
  1367. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testNetscape.py +24 -0
  1368. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +227 -0
  1369. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +81 -0
  1370. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +782 -0
  1371. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testROT.py +29 -0
  1372. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +52 -0
  1373. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testShell.py +272 -0
  1374. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStorage.py +88 -0
  1375. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStreams.py +147 -0
  1376. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testWMI.py +18 -0
  1377. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +321 -0
  1378. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +55 -0
  1379. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +579 -0
  1380. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvbscript_regexp.py +40 -0
  1381. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testxslt.py +34 -0
  1382. py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +264 -0
  1383. py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +226 -0
  1384. py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +35 -0
  1385. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/__init__.py +113 -0
  1386. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/adsicon.py +340 -0
  1387. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/objectPicker.py +68 -0
  1388. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +565 -0
  1389. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +152 -0
  1390. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/test.py +274 -0
  1391. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/__init__.py +6 -0
  1392. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +252 -0
  1393. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +239 -0
  1394. py2docfx/venv/venv1/Lib/site-packages/win32comext/axcontrol/__init__.py +4 -0
  1395. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/__init__.py +4 -0
  1396. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +473 -0
  1397. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +275 -0
  1398. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +60 -0
  1399. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +238 -0
  1400. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +136 -0
  1401. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +59 -0
  1402. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +212 -0
  1403. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/gateways.py +583 -0
  1404. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/stackframe.py +178 -0
  1405. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +105 -0
  1406. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/__init__.py +4 -0
  1407. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/asputil.py +13 -0
  1408. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/__init__.py +1 -0
  1409. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +235 -0
  1410. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +263 -0
  1411. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +1291 -0
  1412. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +79 -0
  1413. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +443 -0
  1414. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript_rexec.py +54 -0
  1415. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +104 -0
  1416. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/__init__.py +0 -0
  1417. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +146 -0
  1418. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +186 -0
  1419. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost.py +240 -0
  1420. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +86 -0
  1421. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/__init__.py +6 -0
  1422. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/show_all_jobs.py +48 -0
  1423. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +119 -0
  1424. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/__init__.py +4 -0
  1425. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/__init__.py +1 -0
  1426. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_record.py +60 -0
  1427. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_test.py +402 -0
  1428. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/__init__.py +1 -0
  1429. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +300 -0
  1430. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/ifiltercon.py +110 -0
  1431. py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/__init__.py +4 -0
  1432. py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/inetcon.py +261 -0
  1433. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/__init__.py +21 -0
  1434. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +98 -0
  1435. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +874 -0
  1436. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +1025 -0
  1437. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +211 -0
  1438. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/__init__.py +1 -0
  1439. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/pscon.py +838 -0
  1440. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +5 -0
  1441. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/__init__.py +4 -0
  1442. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IActiveDesktop.py +83 -0
  1443. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +179 -0
  1444. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IShellLinkDataList.py +67 -0
  1445. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +91 -0
  1446. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IUniformResourceLocator.py +56 -0
  1447. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/browse_for_folder.py +45 -0
  1448. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/create_link.py +73 -0
  1449. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/dump_link.py +58 -0
  1450. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/explorer_browser.py +143 -0
  1451. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +126 -0
  1452. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/context_menu.py +122 -0
  1453. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +84 -0
  1454. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +188 -0
  1455. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +866 -0
  1456. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +82 -0
  1457. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +972 -0
  1458. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/shellexecuteex.py +19 -0
  1459. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/viewstate.py +68 -0
  1460. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/walk_shell_folders.py +24 -0
  1461. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/shellcon.py +1615 -0
  1462. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testSHFileOperation.py +75 -0
  1463. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellFolder.py +21 -0
  1464. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellItem.py +69 -0
  1465. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/__init__.py +6 -0
  1466. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask.py +66 -0
  1467. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_1.py +68 -0
  1468. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +50 -0
  1469. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_localsystem.py +3 -0
  1470. py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +778 -0
  1471. py2docfx/venv/venv1/Scripts/pywin32_testall.py +125 -0
  1472. py2docfx-0.1.9.dev1897607.dist-info/METADATA +16 -0
  1473. py2docfx-0.1.9.dev1897607.dist-info/RECORD +4241 -0
  1474. py2docfx/venv/venv0/Lib/site-packages/setuptools/build_meta.py +0 -530
  1475. py2docfx/venv/venv0/Lib/site-packages/setuptools/command/bdist_wheel.py +0 -635
  1476. py2docfx/venv/venv0/Lib/site-packages/setuptools/command/egg_info.py +0 -717
  1477. py2docfx/venv/venv0/Lib/site-packages/setuptools/dist.py +0 -955
  1478. py2docfx/venv/venv0/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +0 -621
  1479. py2docfx/venv/venv0/Lib/site-packages/setuptools/tests/test_dist.py +0 -280
  1480. py2docfx-0.1.9.dev1886355.dist-info/METADATA +0 -16
  1481. py2docfx-0.1.9.dev1886355.dist-info/RECORD +0 -2791
  1482. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/_distutils_hack/__init__.py +0 -0
  1483. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/_distutils_hack/override.py +0 -0
  1484. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/operations → venv1/Lib/site-packages/azure/core/tracing/ext}/__init__.py +0 -0
  1485. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/operations/build/__init__.py → venv1/Lib/site-packages/google/auth/crypt/_helpers.py} +0 -0
  1486. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/resolution → venv1/Lib/site-packages/google/protobuf/compiler}/__init__.py +0 -0
  1487. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/resolution/legacy → venv1/Lib/site-packages/google/protobuf/pyext}/__init__.py +0 -0
  1488. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/resolution/resolvelib → venv1/Lib/site-packages/google/protobuf/testdata}/__init__.py +0 -0
  1489. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/utils → venv1/Lib/site-packages/google/protobuf/util}/__init__.py +0 -0
  1490. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/chardet/cli → venv1/Lib/site-packages/opencensus/common/monitored_resource}/__init__.py +0 -0
  1491. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/chardet/metadata → venv1/Lib/site-packages/opencensus/metrics}/__init__.py +0 -0
  1492. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/resolvelib/compat → venv1/Lib/site-packages/opencensus/metrics/export}/__init__.py +0 -0
  1493. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/__init__.py +0 -0
  1494. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/__main__.py +0 -0
  1495. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/__pip-runner__.py +0 -0
  1496. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/__init__.py +0 -0
  1497. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/build_env.py +0 -0
  1498. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cache.py +0 -0
  1499. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/__init__.py +0 -0
  1500. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/autocompletion.py +0 -0
  1501. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/base_command.py +0 -0
  1502. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/cmdoptions.py +0 -0
  1503. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/command_context.py +0 -0
  1504. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/main.py +0 -0
  1505. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/main_parser.py +0 -0
  1506. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/parser.py +0 -0
  1507. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/progress_bars.py +0 -0
  1508. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/req_command.py +0 -0
  1509. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/spinners.py +0 -0
  1510. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/status_codes.py +0 -0
  1511. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/__init__.py +0 -0
  1512. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/cache.py +0 -0
  1513. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/check.py +0 -0
  1514. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/completion.py +0 -0
  1515. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/configuration.py +0 -0
  1516. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/debug.py +0 -0
  1517. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/download.py +0 -0
  1518. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/freeze.py +0 -0
  1519. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/hash.py +0 -0
  1520. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/help.py +0 -0
  1521. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/index.py +0 -0
  1522. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/inspect.py +0 -0
  1523. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/install.py +0 -0
  1524. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/list.py +0 -0
  1525. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/search.py +0 -0
  1526. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/show.py +0 -0
  1527. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/uninstall.py +0 -0
  1528. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/wheel.py +0 -0
  1529. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/configuration.py +0 -0
  1530. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/__init__.py +0 -0
  1531. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/base.py +0 -0
  1532. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/installed.py +0 -0
  1533. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/sdist.py +0 -0
  1534. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/wheel.py +0 -0
  1535. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/exceptions.py +0 -0
  1536. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/__init__.py +0 -0
  1537. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/collector.py +0 -0
  1538. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/package_finder.py +0 -0
  1539. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/sources.py +0 -0
  1540. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/__init__.py +0 -0
  1541. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/_distutils.py +0 -0
  1542. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/_sysconfig.py +0 -0
  1543. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/base.py +0 -0
  1544. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/main.py +0 -0
  1545. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/__init__.py +0 -0
  1546. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/_json.py +0 -0
  1547. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/base.py +0 -0
  1548. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -0
  1549. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -0
  1550. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -0
  1551. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -0
  1552. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +0 -0
  1553. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/__init__.py +0 -0
  1554. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/candidate.py +0 -0
  1555. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/direct_url.py +0 -0
  1556. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/format_control.py +0 -0
  1557. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/index.py +0 -0
  1558. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/installation_report.py +0 -0
  1559. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/link.py +0 -0
  1560. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/scheme.py +0 -0
  1561. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/search_scope.py +0 -0
  1562. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/selection_prefs.py +0 -0
  1563. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/target_python.py +0 -0
  1564. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/wheel.py +0 -0
  1565. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/__init__.py +0 -0
  1566. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/auth.py +0 -0
  1567. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/cache.py +0 -0
  1568. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/download.py +0 -0
  1569. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/lazy_wheel.py +0 -0
  1570. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/session.py +0 -0
  1571. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/utils.py +0 -0
  1572. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/xmlrpc.py +0 -0
  1573. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/contrib → venv1/Lib/site-packages/pip/_internal/operations}/__init__.py +0 -0
  1574. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport → venv1/Lib/site-packages/pip/_internal/operations/build}/__init__.py +0 -0
  1575. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +0 -0
  1576. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/metadata.py +0 -0
  1577. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -0
  1578. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -0
  1579. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/wheel.py +0 -0
  1580. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -0
  1581. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -0
  1582. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/check.py +0 -0
  1583. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/freeze.py +0 -0
  1584. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/install/__init__.py +0 -0
  1585. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -0
  1586. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/install/wheel.py +0 -0
  1587. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/prepare.py +0 -0
  1588. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/pyproject.py +0 -0
  1589. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/__init__.py +0 -0
  1590. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/constructors.py +0 -0
  1591. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_file.py +0 -0
  1592. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_install.py +0 -0
  1593. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_set.py +0 -0
  1594. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_uninstall.py +0 -0
  1595. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/packages → venv1/Lib/site-packages/pip/_internal/resolution}/__init__.py +0 -0
  1596. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/base.py +0 -0
  1597. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/packages/backports → venv1/Lib/site-packages/pip/_internal/resolution/legacy}/__init__.py +0 -0
  1598. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -0
  1599. /py2docfx/venv/{venv0/Lib/site-packages/pkg_resources/tests → venv1/Lib/site-packages/pip/_internal/resolution/resolvelib}/__init__.py +0 -0
  1600. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -0
  1601. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -0
  1602. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -0
  1603. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
  1604. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -0
  1605. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -0
  1606. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -0
  1607. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -0
  1608. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/self_outdated_check.py +0 -0
  1609. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_distutils/tests/compat → venv1/Lib/site-packages/pip/_internal/utils}/__init__.py +0 -0
  1610. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +0 -0
  1611. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/_log.py +0 -0
  1612. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/appdirs.py +0 -0
  1613. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/compat.py +0 -0
  1614. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +0 -0
  1615. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/datetime.py +0 -0
  1616. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/deprecation.py +0 -0
  1617. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -0
  1618. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/egg_link.py +0 -0
  1619. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/encoding.py +0 -0
  1620. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/entrypoints.py +0 -0
  1621. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/filesystem.py +0 -0
  1622. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/filetypes.py +0 -0
  1623. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/glibc.py +0 -0
  1624. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/hashes.py +0 -0
  1625. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/logging.py +0 -0
  1626. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/misc.py +0 -0
  1627. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/models.py +0 -0
  1628. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/packaging.py +0 -0
  1629. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/setuptools_build.py +0 -0
  1630. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/subprocess.py +0 -0
  1631. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/temp_dir.py +0 -0
  1632. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/unpacking.py +0 -0
  1633. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/urls.py +0 -0
  1634. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/virtualenv.py +0 -0
  1635. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/wheel.py +0 -0
  1636. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/__init__.py +0 -0
  1637. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/bazaar.py +0 -0
  1638. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/git.py +0 -0
  1639. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/mercurial.py +0 -0
  1640. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/subversion.py +0 -0
  1641. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +0 -0
  1642. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/wheel_builder.py +0 -0
  1643. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/__init__.py +0 -0
  1644. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -0
  1645. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -0
  1646. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -0
  1647. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +0 -0
  1648. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
  1649. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
  1650. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
  1651. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +0 -0
  1652. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -0
  1653. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -0
  1654. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -0
  1655. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -0
  1656. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/certifi/__init__.py +0 -0
  1657. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/certifi/__main__.py +0 -0
  1658. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/certifi/core.py +0 -0
  1659. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/__init__.py +0 -0
  1660. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/big5freq.py +0 -0
  1661. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/big5prober.py +0 -0
  1662. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/chardistribution.py +0 -0
  1663. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -0
  1664. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/charsetprober.py +0 -0
  1665. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat → venv1/Lib/site-packages/pip/_vendor/chardet/cli}/__init__.py +0 -0
  1666. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -0
  1667. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -0
  1668. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/codingstatemachinedict.py +0 -0
  1669. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/cp949prober.py +0 -0
  1670. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/enums.py +0 -0
  1671. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/escprober.py +0 -0
  1672. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/escsm.py +0 -0
  1673. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -0
  1674. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -0
  1675. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euckrprober.py +0 -0
  1676. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -0
  1677. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euctwprober.py +0 -0
  1678. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -0
  1679. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -0
  1680. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -0
  1681. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/jisfreq.py +0 -0
  1682. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/johabfreq.py +0 -0
  1683. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/johabprober.py +0 -0
  1684. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/jpcntx.py +0 -0
  1685. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -0
  1686. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -0
  1687. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -0
  1688. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -0
  1689. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -0
  1690. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -0
  1691. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -0
  1692. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/latin1prober.py +0 -0
  1693. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/macromanprober.py +0 -0
  1694. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -0
  1695. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -0
  1696. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/mbcssm.py +0 -0
  1697. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat → venv1/Lib/site-packages/pip/_vendor/chardet/metadata}/__init__.py +0 -0
  1698. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -0
  1699. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/resultdict.py +0 -0
  1700. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -0
  1701. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -0
  1702. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/sjisprober.py +0 -0
  1703. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/universaldetector.py +0 -0
  1704. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/utf1632prober.py +0 -0
  1705. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/utf8prober.py +0 -0
  1706. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/version.py +0 -0
  1707. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/__init__.py +0 -0
  1708. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/ansi.py +0 -0
  1709. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -0
  1710. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/initialise.py +0 -0
  1711. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/__init__.py +0 -0
  1712. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/ansi_test.py +0 -0
  1713. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/ansitowin32_test.py +0 -0
  1714. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/initialise_test.py +0 -0
  1715. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/isatty_test.py +0 -0
  1716. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/utils.py +0 -0
  1717. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/winterm_test.py +0 -0
  1718. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/win32.py +0 -0
  1719. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/winterm.py +0 -0
  1720. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/__init__.py +0 -0
  1721. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/compat.py +0 -0
  1722. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/database.py +0 -0
  1723. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/index.py +0 -0
  1724. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/locators.py +0 -0
  1725. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/manifest.py +0 -0
  1726. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/markers.py +0 -0
  1727. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/metadata.py +0 -0
  1728. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/resources.py +0 -0
  1729. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/scripts.py +0 -0
  1730. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/util.py +0 -0
  1731. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/version.py +0 -0
  1732. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/wheel.py +0 -0
  1733. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distro/__init__.py +0 -0
  1734. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distro/__main__.py +0 -0
  1735. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distro/distro.py +0 -0
  1736. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/__init__.py +0 -0
  1737. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/codec.py +0 -0
  1738. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/compat.py +0 -0
  1739. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/core.py +0 -0
  1740. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/idnadata.py +0 -0
  1741. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/intranges.py +0 -0
  1742. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/package_data.py +0 -0
  1743. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/uts46data.py +0 -0
  1744. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/__init__.py +0 -0
  1745. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +0 -0
  1746. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/ext.py +0 -0
  1747. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/fallback.py +0 -0
  1748. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/__about__.py +0 -0
  1749. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/__init__.py +0 -0
  1750. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +0 -0
  1751. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +0 -0
  1752. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/_structures.py +0 -0
  1753. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/markers.py +0 -0
  1754. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/requirements.py +0 -0
  1755. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/specifiers.py +0 -0
  1756. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/tags.py +0 -0
  1757. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/utils.py +0 -0
  1758. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/version.py +0 -0
  1759. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -0
  1760. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +0 -0
  1761. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +0 -0
  1762. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/android.py +0 -0
  1763. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/api.py +0 -0
  1764. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/macos.py +0 -0
  1765. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/unix.py +0 -0
  1766. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/version.py +0 -0
  1767. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/windows.py +0 -0
  1768. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/__init__.py +0 -0
  1769. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/__main__.py +0 -0
  1770. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/cmdline.py +0 -0
  1771. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/console.py +0 -0
  1772. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/filter.py +0 -0
  1773. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -0
  1774. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatter.py +0 -0
  1775. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -0
  1776. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -0
  1777. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/bbcode.py +0 -0
  1778. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/groff.py +0 -0
  1779. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/html.py +0 -0
  1780. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/img.py +0 -0
  1781. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/irc.py +0 -0
  1782. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/latex.py +0 -0
  1783. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/other.py +0 -0
  1784. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +0 -0
  1785. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/rtf.py +0 -0
  1786. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/svg.py +0 -0
  1787. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/terminal.py +0 -0
  1788. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/terminal256.py +0 -0
  1789. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexer.py +0 -0
  1790. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -0
  1791. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -0
  1792. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +0 -0
  1793. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/modeline.py +0 -0
  1794. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/plugin.py +0 -0
  1795. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/regexopt.py +0 -0
  1796. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/scanner.py +0 -0
  1797. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +0 -0
  1798. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/style.py +0 -0
  1799. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -0
  1800. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/token.py +0 -0
  1801. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/unistring.py +0 -0
  1802. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/util.py +0 -0
  1803. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/__init__.py +0 -0
  1804. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/actions.py +0 -0
  1805. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/common.py +0 -0
  1806. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/core.py +0 -0
  1807. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/diagram/__init__.py +0 -0
  1808. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/exceptions.py +0 -0
  1809. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/helpers.py +0 -0
  1810. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/results.py +0 -0
  1811. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/testing.py +0 -0
  1812. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/unicode.py +0 -0
  1813. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/util.py +0 -0
  1814. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -0
  1815. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_compat.py +0 -0
  1816. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -0
  1817. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
  1818. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
  1819. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/__init__.py +0 -0
  1820. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/__version__.py +0 -0
  1821. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +0 -0
  1822. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/adapters.py +0 -0
  1823. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/api.py +0 -0
  1824. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/auth.py +0 -0
  1825. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/certs.py +0 -0
  1826. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/compat.py +0 -0
  1827. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/cookies.py +0 -0
  1828. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/exceptions.py +0 -0
  1829. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/help.py +0 -0
  1830. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/hooks.py +0 -0
  1831. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/models.py +0 -0
  1832. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/packages.py +0 -0
  1833. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/sessions.py +0 -0
  1834. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/status_codes.py +0 -0
  1835. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/structures.py +0 -0
  1836. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/utils.py +0 -0
  1837. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +0 -0
  1838. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources → venv1/Lib/site-packages/pip/_vendor/resolvelib}/compat/__init__.py +0 -0
  1839. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -0
  1840. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/providers.py +0 -0
  1841. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +0 -0
  1842. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -0
  1843. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/structs.py +0 -0
  1844. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/__init__.py +0 -0
  1845. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/__main__.py +0 -0
  1846. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +0 -0
  1847. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -0
  1848. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -0
  1849. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_export_format.py +0 -0
  1850. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_extension.py +0 -0
  1851. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_fileno.py +0 -0
  1852. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_inspect.py +0 -0
  1853. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_log_render.py +0 -0
  1854. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_loop.py +0 -0
  1855. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_null_file.py +0 -0
  1856. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_palettes.py +0 -0
  1857. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_pick.py +0 -0
  1858. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_ratio.py +0 -0
  1859. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_spinners.py +0 -0
  1860. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_stack.py +0 -0
  1861. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_timer.py +0 -0
  1862. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_win32_console.py +0 -0
  1863. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_windows.py +0 -0
  1864. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -0
  1865. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_wrap.py +0 -0
  1866. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/abc.py +0 -0
  1867. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/align.py +0 -0
  1868. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/ansi.py +0 -0
  1869. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/bar.py +0 -0
  1870. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/box.py +0 -0
  1871. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/cells.py +0 -0
  1872. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/color.py +0 -0
  1873. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/color_triplet.py +0 -0
  1874. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/columns.py +0 -0
  1875. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/console.py +0 -0
  1876. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/constrain.py +0 -0
  1877. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/containers.py +0 -0
  1878. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/control.py +0 -0
  1879. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/default_styles.py +0 -0
  1880. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/diagnose.py +0 -0
  1881. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/emoji.py +0 -0
  1882. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/errors.py +0 -0
  1883. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/file_proxy.py +0 -0
  1884. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/filesize.py +0 -0
  1885. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/highlighter.py +0 -0
  1886. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/json.py +0 -0
  1887. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/jupyter.py +0 -0
  1888. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/layout.py +0 -0
  1889. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/live.py +0 -0
  1890. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/live_render.py +0 -0
  1891. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/logging.py +0 -0
  1892. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/markup.py +0 -0
  1893. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/measure.py +0 -0
  1894. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/padding.py +0 -0
  1895. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/pager.py +0 -0
  1896. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/palette.py +0 -0
  1897. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/panel.py +0 -0
  1898. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/pretty.py +0 -0
  1899. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/progress.py +0 -0
  1900. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/progress_bar.py +0 -0
  1901. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/prompt.py +0 -0
  1902. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/protocol.py +0 -0
  1903. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/region.py +0 -0
  1904. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/repr.py +0 -0
  1905. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/rule.py +0 -0
  1906. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/scope.py +0 -0
  1907. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/screen.py +0 -0
  1908. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/segment.py +0 -0
  1909. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/spinner.py +0 -0
  1910. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/status.py +0 -0
  1911. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/style.py +0 -0
  1912. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/styled.py +0 -0
  1913. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/syntax.py +0 -0
  1914. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/table.py +0 -0
  1915. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +0 -0
  1916. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/text.py +0 -0
  1917. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/theme.py +0 -0
  1918. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/themes.py +0 -0
  1919. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/traceback.py +0 -0
  1920. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/tree.py +0 -0
  1921. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/six.py +0 -0
  1922. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/__init__.py +0 -0
  1923. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -0
  1924. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/_utils.py +0 -0
  1925. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/after.py +0 -0
  1926. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/before.py +0 -0
  1927. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -0
  1928. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/nap.py +0 -0
  1929. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/retry.py +0 -0
  1930. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/stop.py +0 -0
  1931. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -0
  1932. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/wait.py +0 -0
  1933. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/__init__.py +0 -0
  1934. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/_parser.py +0 -0
  1935. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/_re.py +0 -0
  1936. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/_types.py +0 -0
  1937. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/__init__.py +0 -0
  1938. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_api.py +0 -0
  1939. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_macos.py +0 -0
  1940. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_openssl.py +0 -0
  1941. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -0
  1942. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_windows.py +0 -0
  1943. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/typing_extensions.py +0 -0
  1944. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/__init__.py +0 -0
  1945. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/_collections.py +0 -0
  1946. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/_version.py +0 -0
  1947. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/connection.py +0 -0
  1948. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -0
  1949. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/future → venv1/Lib/site-packages/pip/_vendor/urllib3/contrib}/__init__.py +0 -0
  1950. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
  1951. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests → venv1/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport}/__init__.py +0 -0
  1952. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
  1953. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
  1954. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -0
  1955. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
  1956. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
  1957. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
  1958. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -0
  1959. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +0 -0
  1960. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/fields.py +0 -0
  1961. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/filepost.py +0 -0
  1962. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat → venv1/Lib/site-packages/pip/_vendor/urllib3/packages}/__init__.py +0 -0
  1963. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01 → venv1/Lib/site-packages/pip/_vendor/urllib3/packages/backports}/__init__.py +0 -0
  1964. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
  1965. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
  1966. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +0 -0
  1967. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -0
  1968. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/request.py +0 -0
  1969. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/response.py +0 -0
  1970. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -0
  1971. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +0 -0
  1972. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -0
  1973. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +0 -0
  1974. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/request.py +0 -0
  1975. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/response.py +0 -0
  1976. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +0 -0
  1977. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -0
  1978. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
  1979. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -0
  1980. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -0
  1981. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/url.py +0 -0
  1982. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +0 -0
  1983. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/__init__.py +0 -0
  1984. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/labels.py +0 -0
  1985. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/mklabels.py +0 -0
  1986. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/tests.py +0 -0
  1987. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -0
  1988. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/__init__.py +0 -0
  1989. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory → venv1/Lib/site-packages/pkg_resources/tests}/__init__.py +0 -0
  1990. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +0 -0
  1991. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_find_distributions.py +0 -0
  1992. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_integration_zope_interface.py +0 -0
  1993. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_markers.py +0 -0
  1994. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +0 -0
  1995. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_resources.py +0 -0
  1996. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_working_set.py +0 -0
  1997. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02 → venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx}/__init__.py +0 -0
  1998. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one → venv1/Lib/site-packages/pythonwin/pywin/dialogs}/__init__.py +0 -0
  1999. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two → venv1/Lib/site-packages/pythonwin/pywin/docking}/__init__.py +0 -0
  2000. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/inflect/compat → venv1/Lib/site-packages/pythonwin/pywin/framework}/__init__.py +0 -0
  2001. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/wheel/vendored → venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color}/__init__.py +0 -0
  2002. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging → venv1/Lib/site-packages/pythonwin/pywin/mfc}/__init__.py +0 -0
  2003. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/zipp/compat → venv1/Lib/site-packages/pythonwin/pywin/tools}/__init__.py +0 -0
  2004. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/__init__.py +0 -0
  2005. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_core_metadata.py +0 -0
  2006. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/__init__.py +0 -0
  2007. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_log.py +0 -0
  2008. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_macos_compat.py +0 -0
  2009. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_modified.py +0 -0
  2010. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +0 -0
  2011. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/archive_util.py +0 -0
  2012. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/ccompiler.py +0 -0
  2013. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/cmd.py +0 -0
  2014. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/__init__.py +0 -0
  2015. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/_framework_compat.py +0 -0
  2016. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/bdist.py +0 -0
  2017. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -0
  2018. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -0
  2019. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build.py +0 -0
  2020. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_clib.py +0 -0
  2021. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_ext.py +0 -0
  2022. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_py.py +0 -0
  2023. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +0 -0
  2024. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/check.py +0 -0
  2025. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/clean.py +0 -0
  2026. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/config.py +0 -0
  2027. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install.py +0 -0
  2028. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_data.py +0 -0
  2029. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -0
  2030. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_headers.py +0 -0
  2031. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_lib.py +0 -0
  2032. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +0 -0
  2033. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/sdist.py +0 -0
  2034. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/compat/__init__.py +0 -0
  2035. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/compat/py38.py +0 -0
  2036. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/compat/py39.py +0 -0
  2037. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/core.py +0 -0
  2038. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -0
  2039. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/debug.py +0 -0
  2040. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/dep_util.py +0 -0
  2041. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/dir_util.py +0 -0
  2042. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/dist.py +0 -0
  2043. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/errors.py +0 -0
  2044. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/extension.py +0 -0
  2045. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/fancy_getopt.py +0 -0
  2046. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/file_util.py +0 -0
  2047. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/filelist.py +0 -0
  2048. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/log.py +0 -0
  2049. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/spawn.py +0 -0
  2050. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -0
  2051. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/__init__.py +0 -0
  2052. /py2docfx/venv/{venv0/Lib/site-packages/setuptools → venv1/Lib/site-packages/setuptools/_distutils/tests}/compat/__init__.py +0 -0
  2053. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/compat/py38.py +0 -0
  2054. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/support.py +0 -0
  2055. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_archive_util.py +0 -0
  2056. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_bdist.py +0 -0
  2057. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_bdist_dumb.py +0 -0
  2058. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_bdist_rpm.py +0 -0
  2059. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build.py +0 -0
  2060. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_clib.py +0 -0
  2061. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +0 -0
  2062. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_py.py +0 -0
  2063. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_scripts.py +0 -0
  2064. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_ccompiler.py +0 -0
  2065. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_check.py +0 -0
  2066. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_clean.py +0 -0
  2067. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_cmd.py +0 -0
  2068. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_config_cmd.py +0 -0
  2069. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_core.py +0 -0
  2070. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py +0 -0
  2071. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +0 -0
  2072. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_dist.py +0 -0
  2073. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_extension.py +0 -0
  2074. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_file_util.py +0 -0
  2075. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_filelist.py +0 -0
  2076. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install.py +0 -0
  2077. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_data.py +0 -0
  2078. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_headers.py +0 -0
  2079. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_lib.py +0 -0
  2080. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_scripts.py +0 -0
  2081. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_log.py +0 -0
  2082. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_mingwccompiler.py +0 -0
  2083. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_modified.py +0 -0
  2084. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py +0 -0
  2085. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +0 -0
  2086. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_spawn.py +0 -0
  2087. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_sysconfig.py +0 -0
  2088. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_text_file.py +0 -0
  2089. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_unixccompiler.py +0 -0
  2090. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_util.py +0 -0
  2091. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_version.py +0 -0
  2092. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_versionpredicate.py +0 -0
  2093. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/unix_compat.py +0 -0
  2094. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/text_file.py +0 -0
  2095. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/unixccompiler.py +0 -0
  2096. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/util.py +0 -0
  2097. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/version.py +0 -0
  2098. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/versionpredicate.py +0 -0
  2099. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/zosccompiler.py +0 -0
  2100. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_entry_points.py +0 -0
  2101. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_imp.py +0 -0
  2102. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_importlib.py +0 -0
  2103. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_itertools.py +0 -0
  2104. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_normalization.py +0 -0
  2105. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_path.py +0 -0
  2106. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_reqs.py +0 -0
  2107. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/__init__.py +0 -0
  2108. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/autoasync.py +0 -0
  2109. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/autocommand.py +0 -0
  2110. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/automain.py +0 -0
  2111. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/autoparse.py +0 -0
  2112. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/errors.py +0 -0
  2113. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/__init__.py +0 -0
  2114. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/tarfile/__init__.py +0 -0
  2115. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/tarfile/__main__.py +0 -0
  2116. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/tests → venv1/Lib/site-packages/setuptools/_vendor/backports/tarfile}/compat/__init__.py +0 -0
  2117. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat/py38.py +0 -0
  2118. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/__init__.py +0 -0
  2119. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py +0 -0
  2120. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_collections.py +0 -0
  2121. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_compat.py +0 -0
  2122. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_functools.py +0 -0
  2123. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py +0 -0
  2124. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_meta.py +0 -0
  2125. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_text.py +0 -0
  2126. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/tests/config → venv1/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat}/__init__.py +0 -0
  2127. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py311.py +0 -0
  2128. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py39.py +0 -0
  2129. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/diagnose.py +0 -0
  2130. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -0
  2131. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -0
  2132. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -0
  2133. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -0
  2134. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -0
  2135. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/tests/integration → venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat}/__init__.py +0 -0
  2136. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -0
  2137. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -0
  2138. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -0
  2139. /py2docfx/venv/{venv0/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future}/__init__.py +0 -0
  2140. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -0
  2141. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -0
  2142. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -0
  2143. /py2docfx/venv/{venv0/Lib/site-packages/wheel/vendored/packaging → venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests}/__init__.py +0 -0
  2144. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -0
  2145. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -0
  2146. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -0
  2147. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -0
  2148. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -0
  2149. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -0
  2150. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -0
  2151. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -0
  2152. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -0
  2153. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -0
  2154. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -0
  2155. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -0
  2156. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -0
  2157. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -0
  2158. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -0
  2159. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/inflect/__init__.py +0 -0
  2160. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/inflect/compat/py38.py +0 -0
  2161. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/collections/__init__.py +0 -0
  2162. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/context.py +0 -0
  2163. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.py +0 -0
  2164. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/__init__.py +0 -0
  2165. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/layouts.py +0 -0
  2166. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/show-newlines.py +0 -0
  2167. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/strip-prefix.py +0 -0
  2168. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/to-dvorak.py +0 -0
  2169. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/to-qwerty.py +0 -0
  2170. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -0
  2171. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/more_itertools/more.py +0 -0
  2172. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -0
  2173. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +0 -0
  2174. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +0 -0
  2175. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +0 -0
  2176. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_musllinux.py +0 -0
  2177. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_parser.py +0 -0
  2178. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_structures.py +0 -0
  2179. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_tokenizer.py +0 -0
  2180. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/markers.py +0 -0
  2181. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +0 -0
  2182. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/requirements.py +0 -0
  2183. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -0
  2184. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/tags.py +0 -0
  2185. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/utils.py +0 -0
  2186. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/version.py +0 -0
  2187. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/__init__.py +0 -0
  2188. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/__main__.py +0 -0
  2189. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/android.py +0 -0
  2190. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/api.py +0 -0
  2191. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/macos.py +0 -0
  2192. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/unix.py +0 -0
  2193. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/version.py +0 -0
  2194. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/windows.py +0 -0
  2195. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/__init__.py +0 -0
  2196. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/_parser.py +0 -0
  2197. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/_re.py +0 -0
  2198. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/_types.py +0 -0
  2199. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/__init__.py +0 -0
  2200. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_checkers.py +0 -0
  2201. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_config.py +0 -0
  2202. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_decorators.py +0 -0
  2203. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_exceptions.py +0 -0
  2204. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_functions.py +0 -0
  2205. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_importhook.py +0 -0
  2206. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_memo.py +0 -0
  2207. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_pytest_plugin.py +0 -0
  2208. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_suppression.py +0 -0
  2209. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_transformer.py +0 -0
  2210. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_union_transformer.py +0 -0
  2211. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_utils.py +0 -0
  2212. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typing_extensions.py +0 -0
  2213. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +0 -0
  2214. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/__main__.py +0 -0
  2215. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +0 -0
  2216. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +0 -0
  2217. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +0 -0
  2218. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +0 -0
  2219. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/pack.py +0 -0
  2220. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/tags.py +0 -0
  2221. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/unpack.py +0 -0
  2222. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +0 -0
  2223. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +0 -0
  2224. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -0
  2225. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_elffile.py +0 -0
  2226. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_manylinux.py +0 -0
  2227. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_musllinux.py +0 -0
  2228. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_parser.py +0 -0
  2229. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_structures.py +0 -0
  2230. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_tokenizer.py +0 -0
  2231. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/markers.py +0 -0
  2232. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/requirements.py +0 -0
  2233. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/specifiers.py +0 -0
  2234. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/tags.py +0 -0
  2235. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/utils.py +0 -0
  2236. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/version.py +0 -0
  2237. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +0 -0
  2238. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/zipp/__init__.py +0 -0
  2239. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/zipp/compat/py310.py +0 -0
  2240. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/zipp/glob.py +0 -0
  2241. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/archive_util.py +0 -0
  2242. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/__init__.py +0 -0
  2243. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/_requirestxt.py +0 -0
  2244. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/alias.py +0 -0
  2245. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/bdist_egg.py +0 -0
  2246. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/bdist_rpm.py +0 -0
  2247. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build.py +0 -0
  2248. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build_clib.py +0 -0
  2249. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build_ext.py +0 -0
  2250. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build_py.py +0 -0
  2251. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/develop.py +0 -0
  2252. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/dist_info.py +0 -0
  2253. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/easy_install.py +0 -0
  2254. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/editable_wheel.py +0 -0
  2255. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install.py +0 -0
  2256. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install_egg_info.py +0 -0
  2257. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install_lib.py +0 -0
  2258. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install_scripts.py +0 -0
  2259. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/rotate.py +0 -0
  2260. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/saveopts.py +0 -0
  2261. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/sdist.py +0 -0
  2262. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/setopt.py +0 -0
  2263. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/test.py +0 -0
  2264. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py310.py +0 -0
  2265. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py311.py +0 -0
  2266. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py312.py +0 -0
  2267. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py39.py +0 -0
  2268. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/__init__.py +0 -0
  2269. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +0 -0
  2270. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/__init__.py +0 -0
  2271. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/error_reporting.py +0 -0
  2272. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +0 -0
  2273. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py +0 -0
  2274. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +0 -0
  2275. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +0 -0
  2276. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/expand.py +0 -0
  2277. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/pyprojecttoml.py +0 -0
  2278. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/setupcfg.py +0 -0
  2279. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/depends.py +0 -0
  2280. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/discovery.py +0 -0
  2281. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/errors.py +0 -0
  2282. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/extension.py +0 -0
  2283. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/glob.py +0 -0
  2284. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/installer.py +0 -0
  2285. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/launch.py +0 -0
  2286. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/logging.py +0 -0
  2287. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/modified.py +0 -0
  2288. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/monkey.py +0 -0
  2289. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/msvc.py +0 -0
  2290. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/namespaces.py +0 -0
  2291. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/package_index.py +0 -0
  2292. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/sandbox.py +0 -0
  2293. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/__init__.py +0 -0
  2294. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/compat/py39.py +0 -0
  2295. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +0 -0
  2296. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/downloads/preload.py +0 -0
  2297. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +0 -0
  2298. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_expand.py +0 -0
  2299. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +0 -0
  2300. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +0 -0
  2301. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +0 -0
  2302. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/contexts.py +0 -0
  2303. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/environment.py +0 -0
  2304. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/fixtures.py +0 -0
  2305. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/integration/helpers.py +0 -0
  2306. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +0 -0
  2307. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/mod_with_constant.py +0 -0
  2308. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/namespaces.py +0 -0
  2309. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/script-with-bom.py +0 -0
  2310. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/server.py +0 -0
  2311. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_archive_util.py +0 -0
  2312. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_bdist_deprecations.py +0 -0
  2313. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_bdist_egg.py +0 -0
  2314. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build.py +0 -0
  2315. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_clib.py +0 -0
  2316. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_ext.py +0 -0
  2317. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -0
  2318. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_py.py +0 -0
  2319. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_config_discovery.py +0 -0
  2320. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_core_metadata.py +0 -0
  2321. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_depends.py +0 -0
  2322. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_develop.py +0 -0
  2323. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -0
  2324. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +0 -0
  2325. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -0
  2326. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_editable_install.py +0 -0
  2327. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_egg_info.py +0 -0
  2328. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_extern.py +0 -0
  2329. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_find_packages.py +0 -0
  2330. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_find_py_modules.py +0 -0
  2331. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_glob.py +0 -0
  2332. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_install_scripts.py +0 -0
  2333. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_logging.py +0 -0
  2334. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_manifest.py +0 -0
  2335. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_namespaces.py +0 -0
  2336. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -0
  2337. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -0
  2338. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_sdist.py +0 -0
  2339. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_setopt.py +0 -0
  2340. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_setuptools.py +0 -0
  2341. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_unicode_utils.py +0 -0
  2342. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_virtualenv.py +0 -0
  2343. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_warnings.py +0 -0
  2344. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_wheel.py +0 -0
  2345. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +0 -0
  2346. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/text.py +0 -0
  2347. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/textwrap.py +0 -0
  2348. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/unicode_utils.py +0 -0
  2349. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/version.py +0 -0
  2350. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/warnings.py +0 -0
  2351. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/wheel.py +0 -0
  2352. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/windows_support.py +0 -0
  2353. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/__init__.py +0 -0
  2354. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/__main__.py +0 -0
  2355. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/_bdist_wheel.py +0 -0
  2356. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/_setuptools_logging.py +0 -0
  2357. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/bdist_wheel.py +0 -0
  2358. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/__init__.py +0 -0
  2359. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/convert.py +0 -0
  2360. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/pack.py +0 -0
  2361. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/tags.py +0 -0
  2362. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/unpack.py +0 -0
  2363. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/macosx_libfile.py +0 -0
  2364. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/metadata.py +0 -0
  2365. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/util.py +0 -0
  2366. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_elffile.py +0 -0
  2367. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_manylinux.py +0 -0
  2368. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_musllinux.py +0 -0
  2369. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_parser.py +0 -0
  2370. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_structures.py +0 -0
  2371. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_tokenizer.py +0 -0
  2372. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/markers.py +0 -0
  2373. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/requirements.py +0 -0
  2374. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/specifiers.py +0 -0
  2375. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/tags.py +0 -0
  2376. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/utils.py +0 -0
  2377. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/version.py +0 -0
  2378. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/wheelfile.py +0 -0
  2379. {py2docfx-0.1.9.dev1886355.dist-info → py2docfx-0.1.9.dev1897607.dist-info}/WHEEL +0 -0
  2380. {py2docfx-0.1.9.dev1886355.dist-info → py2docfx-0.1.9.dev1897607.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2486 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ # Copyright (c) 2009, Giampaolo Rodola'. All rights reserved.
4
+ # Use of this source code is governed by a BSD-style license that can be
5
+ # found in the LICENSE file.
6
+
7
+ """psutil is a cross-platform library for retrieving information on
8
+ running processes and system utilization (CPU, memory, disks, network,
9
+ sensors) in Python. Supported platforms:
10
+
11
+ - Linux
12
+ - Windows
13
+ - macOS
14
+ - FreeBSD
15
+ - OpenBSD
16
+ - NetBSD
17
+ - Sun Solaris
18
+ - AIX
19
+
20
+ Works with Python versions 2.7 and 3.6+.
21
+ """
22
+
23
+ from __future__ import division
24
+
25
+ import collections
26
+ import contextlib
27
+ import datetime
28
+ import functools
29
+ import os
30
+ import signal
31
+ import subprocess
32
+ import sys
33
+ import threading
34
+ import time
35
+
36
+
37
+ try:
38
+ import pwd
39
+ except ImportError:
40
+ pwd = None
41
+
42
+ from . import _common
43
+ from ._common import AIX
44
+ from ._common import BSD
45
+ from ._common import CONN_CLOSE
46
+ from ._common import CONN_CLOSE_WAIT
47
+ from ._common import CONN_CLOSING
48
+ from ._common import CONN_ESTABLISHED
49
+ from ._common import CONN_FIN_WAIT1
50
+ from ._common import CONN_FIN_WAIT2
51
+ from ._common import CONN_LAST_ACK
52
+ from ._common import CONN_LISTEN
53
+ from ._common import CONN_NONE
54
+ from ._common import CONN_SYN_RECV
55
+ from ._common import CONN_SYN_SENT
56
+ from ._common import CONN_TIME_WAIT
57
+ from ._common import FREEBSD # NOQA
58
+ from ._common import LINUX
59
+ from ._common import MACOS
60
+ from ._common import NETBSD # NOQA
61
+ from ._common import NIC_DUPLEX_FULL
62
+ from ._common import NIC_DUPLEX_HALF
63
+ from ._common import NIC_DUPLEX_UNKNOWN
64
+ from ._common import OPENBSD # NOQA
65
+ from ._common import OSX # deprecated alias
66
+ from ._common import POSIX # NOQA
67
+ from ._common import POWER_TIME_UNKNOWN
68
+ from ._common import POWER_TIME_UNLIMITED
69
+ from ._common import STATUS_DEAD
70
+ from ._common import STATUS_DISK_SLEEP
71
+ from ._common import STATUS_IDLE
72
+ from ._common import STATUS_LOCKED
73
+ from ._common import STATUS_PARKED
74
+ from ._common import STATUS_RUNNING
75
+ from ._common import STATUS_SLEEPING
76
+ from ._common import STATUS_STOPPED
77
+ from ._common import STATUS_TRACING_STOP
78
+ from ._common import STATUS_WAITING
79
+ from ._common import STATUS_WAKING
80
+ from ._common import STATUS_ZOMBIE
81
+ from ._common import SUNOS
82
+ from ._common import WINDOWS
83
+ from ._common import AccessDenied
84
+ from ._common import Error
85
+ from ._common import NoSuchProcess
86
+ from ._common import TimeoutExpired
87
+ from ._common import ZombieProcess
88
+ from ._common import debug
89
+ from ._common import memoize_when_activated
90
+ from ._common import wrap_numbers as _wrap_numbers
91
+ from ._compat import PY3 as _PY3
92
+ from ._compat import PermissionError
93
+ from ._compat import ProcessLookupError
94
+ from ._compat import SubprocessTimeoutExpired as _SubprocessTimeoutExpired
95
+ from ._compat import long
96
+
97
+
98
+ if LINUX:
99
+ # This is public API and it will be retrieved from _pslinux.py
100
+ # via sys.modules.
101
+ PROCFS_PATH = "/proc"
102
+
103
+ from . import _pslinux as _psplatform
104
+ from ._pslinux import IOPRIO_CLASS_BE # NOQA
105
+ from ._pslinux import IOPRIO_CLASS_IDLE # NOQA
106
+ from ._pslinux import IOPRIO_CLASS_NONE # NOQA
107
+ from ._pslinux import IOPRIO_CLASS_RT # NOQA
108
+
109
+ elif WINDOWS:
110
+ from . import _pswindows as _psplatform
111
+ from ._psutil_windows import ABOVE_NORMAL_PRIORITY_CLASS # NOQA
112
+ from ._psutil_windows import BELOW_NORMAL_PRIORITY_CLASS # NOQA
113
+ from ._psutil_windows import HIGH_PRIORITY_CLASS # NOQA
114
+ from ._psutil_windows import IDLE_PRIORITY_CLASS # NOQA
115
+ from ._psutil_windows import NORMAL_PRIORITY_CLASS # NOQA
116
+ from ._psutil_windows import REALTIME_PRIORITY_CLASS # NOQA
117
+ from ._pswindows import CONN_DELETE_TCB # NOQA
118
+ from ._pswindows import IOPRIO_HIGH # NOQA
119
+ from ._pswindows import IOPRIO_LOW # NOQA
120
+ from ._pswindows import IOPRIO_NORMAL # NOQA
121
+ from ._pswindows import IOPRIO_VERYLOW # NOQA
122
+
123
+ elif MACOS:
124
+ from . import _psosx as _psplatform
125
+
126
+ elif BSD:
127
+ from . import _psbsd as _psplatform
128
+
129
+ elif SUNOS:
130
+ from . import _pssunos as _psplatform
131
+ from ._pssunos import CONN_BOUND # NOQA
132
+ from ._pssunos import CONN_IDLE # NOQA
133
+
134
+ # This is public writable API which is read from _pslinux.py and
135
+ # _pssunos.py via sys.modules.
136
+ PROCFS_PATH = "/proc"
137
+
138
+ elif AIX:
139
+ from . import _psaix as _psplatform
140
+
141
+ # This is public API and it will be retrieved from _pslinux.py
142
+ # via sys.modules.
143
+ PROCFS_PATH = "/proc"
144
+
145
+ else: # pragma: no cover
146
+ raise NotImplementedError('platform %s is not supported' % sys.platform)
147
+
148
+
149
+ # fmt: off
150
+ __all__ = [
151
+ # exceptions
152
+ "Error", "NoSuchProcess", "ZombieProcess", "AccessDenied",
153
+ "TimeoutExpired",
154
+
155
+ # constants
156
+ "version_info", "__version__",
157
+
158
+ "STATUS_RUNNING", "STATUS_IDLE", "STATUS_SLEEPING", "STATUS_DISK_SLEEP",
159
+ "STATUS_STOPPED", "STATUS_TRACING_STOP", "STATUS_ZOMBIE", "STATUS_DEAD",
160
+ "STATUS_WAKING", "STATUS_LOCKED", "STATUS_WAITING", "STATUS_LOCKED",
161
+ "STATUS_PARKED",
162
+
163
+ "CONN_ESTABLISHED", "CONN_SYN_SENT", "CONN_SYN_RECV", "CONN_FIN_WAIT1",
164
+ "CONN_FIN_WAIT2", "CONN_TIME_WAIT", "CONN_CLOSE", "CONN_CLOSE_WAIT",
165
+ "CONN_LAST_ACK", "CONN_LISTEN", "CONN_CLOSING", "CONN_NONE",
166
+ # "CONN_IDLE", "CONN_BOUND",
167
+
168
+ "AF_LINK",
169
+
170
+ "NIC_DUPLEX_FULL", "NIC_DUPLEX_HALF", "NIC_DUPLEX_UNKNOWN",
171
+
172
+ "POWER_TIME_UNKNOWN", "POWER_TIME_UNLIMITED",
173
+
174
+ "BSD", "FREEBSD", "LINUX", "NETBSD", "OPENBSD", "MACOS", "OSX", "POSIX",
175
+ "SUNOS", "WINDOWS", "AIX",
176
+
177
+ # "RLIM_INFINITY", "RLIMIT_AS", "RLIMIT_CORE", "RLIMIT_CPU", "RLIMIT_DATA",
178
+ # "RLIMIT_FSIZE", "RLIMIT_LOCKS", "RLIMIT_MEMLOCK", "RLIMIT_NOFILE",
179
+ # "RLIMIT_NPROC", "RLIMIT_RSS", "RLIMIT_STACK", "RLIMIT_MSGQUEUE",
180
+ # "RLIMIT_NICE", "RLIMIT_RTPRIO", "RLIMIT_RTTIME", "RLIMIT_SIGPENDING",
181
+
182
+ # classes
183
+ "Process", "Popen",
184
+
185
+ # functions
186
+ "pid_exists", "pids", "process_iter", "wait_procs", # proc
187
+ "virtual_memory", "swap_memory", # memory
188
+ "cpu_times", "cpu_percent", "cpu_times_percent", "cpu_count", # cpu
189
+ "cpu_stats", # "cpu_freq", "getloadavg"
190
+ "net_io_counters", "net_connections", "net_if_addrs", # network
191
+ "net_if_stats",
192
+ "disk_io_counters", "disk_partitions", "disk_usage", # disk
193
+ # "sensors_temperatures", "sensors_battery", "sensors_fans" # sensors
194
+ "users", "boot_time", # others
195
+ ]
196
+ # fmt: on
197
+
198
+
199
+ __all__.extend(_psplatform.__extra__all__)
200
+
201
+ # Linux, FreeBSD
202
+ if hasattr(_psplatform.Process, "rlimit"):
203
+ # Populate global namespace with RLIM* constants.
204
+ from . import _psutil_posix
205
+
206
+ _globals = globals()
207
+ _name = None
208
+ for _name in dir(_psutil_posix):
209
+ if _name.startswith('RLIM') and _name.isupper():
210
+ _globals[_name] = getattr(_psutil_posix, _name)
211
+ __all__.append(_name)
212
+ del _globals, _name
213
+
214
+ AF_LINK = _psplatform.AF_LINK
215
+
216
+ __author__ = "Giampaolo Rodola'"
217
+ __version__ = "6.1.0"
218
+ version_info = tuple([int(num) for num in __version__.split('.')])
219
+
220
+ _timer = getattr(time, 'monotonic', time.time)
221
+ _TOTAL_PHYMEM = None
222
+ _LOWEST_PID = None
223
+ _SENTINEL = object()
224
+
225
+ # Sanity check in case the user messed up with psutil installation
226
+ # or did something weird with sys.path. In this case we might end
227
+ # up importing a python module using a C extension module which
228
+ # was compiled for a different version of psutil.
229
+ # We want to prevent that by failing sooner rather than later.
230
+ # See: https://github.com/giampaolo/psutil/issues/564
231
+ if int(__version__.replace('.', '')) != getattr(
232
+ _psplatform.cext, 'version', None
233
+ ):
234
+ msg = "version conflict: %r C extension " % _psplatform.cext.__file__
235
+ msg += "module was built for another version of psutil"
236
+ if hasattr(_psplatform.cext, 'version'):
237
+ msg += " (%s instead of %s)" % (
238
+ '.'.join([x for x in str(_psplatform.cext.version)]),
239
+ __version__,
240
+ )
241
+ else:
242
+ msg += " (different than %s)" % __version__
243
+ msg += "; you may try to 'pip uninstall psutil', manually remove %s" % (
244
+ getattr(
245
+ _psplatform.cext,
246
+ "__file__",
247
+ "the existing psutil install directory",
248
+ )
249
+ )
250
+ msg += " or clean the virtual env somehow, then reinstall"
251
+ raise ImportError(msg)
252
+
253
+
254
+ # =====================================================================
255
+ # --- Utils
256
+ # =====================================================================
257
+
258
+
259
+ if hasattr(_psplatform, 'ppid_map'):
260
+ # Faster version (Windows and Linux).
261
+ _ppid_map = _psplatform.ppid_map
262
+ else: # pragma: no cover
263
+
264
+ def _ppid_map():
265
+ """Return a {pid: ppid, ...} dict for all running processes in
266
+ one shot. Used to speed up Process.children().
267
+ """
268
+ ret = {}
269
+ for pid in pids():
270
+ try:
271
+ ret[pid] = _psplatform.Process(pid).ppid()
272
+ except (NoSuchProcess, ZombieProcess):
273
+ pass
274
+ return ret
275
+
276
+
277
+ def _pprint_secs(secs):
278
+ """Format seconds in a human readable form."""
279
+ now = time.time()
280
+ secs_ago = int(now - secs)
281
+ fmt = "%H:%M:%S" if secs_ago < 60 * 60 * 24 else "%Y-%m-%d %H:%M:%S"
282
+ return datetime.datetime.fromtimestamp(secs).strftime(fmt)
283
+
284
+
285
+ # =====================================================================
286
+ # --- Process class
287
+ # =====================================================================
288
+
289
+
290
+ class Process(object): # noqa: UP004
291
+ """Represents an OS process with the given PID.
292
+ If PID is omitted current process PID (os.getpid()) is used.
293
+ Raise NoSuchProcess if PID does not exist.
294
+
295
+ Note that most of the methods of this class do not make sure that
296
+ the PID of the process being queried has been reused. That means
297
+ that you may end up retrieving information for another process.
298
+
299
+ The only exceptions for which process identity is pre-emptively
300
+ checked and guaranteed are:
301
+
302
+ - parent()
303
+ - children()
304
+ - nice() (set)
305
+ - ionice() (set)
306
+ - rlimit() (set)
307
+ - cpu_affinity (set)
308
+ - suspend()
309
+ - resume()
310
+ - send_signal()
311
+ - terminate()
312
+ - kill()
313
+
314
+ To prevent this problem for all other methods you can use
315
+ is_running() before querying the process.
316
+ """
317
+
318
+ def __init__(self, pid=None):
319
+ self._init(pid)
320
+
321
+ def _init(self, pid, _ignore_nsp=False):
322
+ if pid is None:
323
+ pid = os.getpid()
324
+ else:
325
+ if not _PY3 and not isinstance(pid, (int, long)):
326
+ msg = "pid must be an integer (got %r)" % pid
327
+ raise TypeError(msg)
328
+ if pid < 0:
329
+ msg = "pid must be a positive integer (got %s)" % pid
330
+ raise ValueError(msg)
331
+ try:
332
+ _psplatform.cext.check_pid_range(pid)
333
+ except OverflowError:
334
+ msg = "process PID out of range (got %s)" % pid
335
+ raise NoSuchProcess(pid, msg=msg)
336
+
337
+ self._pid = pid
338
+ self._name = None
339
+ self._exe = None
340
+ self._create_time = None
341
+ self._gone = False
342
+ self._pid_reused = False
343
+ self._hash = None
344
+ self._lock = threading.RLock()
345
+ # used for caching on Windows only (on POSIX ppid may change)
346
+ self._ppid = None
347
+ # platform-specific modules define an _psplatform.Process
348
+ # implementation class
349
+ self._proc = _psplatform.Process(pid)
350
+ self._last_sys_cpu_times = None
351
+ self._last_proc_cpu_times = None
352
+ self._exitcode = _SENTINEL
353
+ self._ident = (self.pid, None)
354
+ try:
355
+ self._ident = self._get_ident()
356
+ except AccessDenied:
357
+ # This should happen on Windows only, since we use the fast
358
+ # create time method. AFAIK, on all other platforms we are
359
+ # able to get create time for all PIDs.
360
+ pass
361
+ except ZombieProcess:
362
+ # Zombies can still be queried by this class (although
363
+ # not always) and pids() return them so just go on.
364
+ pass
365
+ except NoSuchProcess:
366
+ if not _ignore_nsp:
367
+ msg = "process PID not found"
368
+ raise NoSuchProcess(pid, msg=msg)
369
+ else:
370
+ self._gone = True
371
+
372
+ def _get_ident(self):
373
+ """Return a (pid, uid) tuple which is supposed to identify a
374
+ Process instance univocally over time. The PID alone is not
375
+ enough, as it can be assigned to a new process after this one
376
+ terminates, so we add process creation time to the mix. We need
377
+ this in order to prevent killing the wrong process later on.
378
+ This is also known as PID reuse or PID recycling problem.
379
+
380
+ The reliability of this strategy mostly depends on
381
+ create_time() precision, which is 0.01 secs on Linux. The
382
+ assumption is that, after a process terminates, the kernel
383
+ won't reuse the same PID after such a short period of time
384
+ (0.01 secs). Technically this is inherently racy, but
385
+ practically it should be good enough.
386
+ """
387
+ if WINDOWS:
388
+ # Use create_time() fast method in order to speedup
389
+ # `process_iter()`. This means we'll get AccessDenied for
390
+ # most ADMIN processes, but that's fine since it means
391
+ # we'll also get AccessDenied on kill().
392
+ # https://github.com/giampaolo/psutil/issues/2366#issuecomment-2381646555
393
+ self._create_time = self._proc.create_time(fast_only=True)
394
+ return (self.pid, self._create_time)
395
+ else:
396
+ return (self.pid, self.create_time())
397
+
398
+ def __str__(self):
399
+ info = collections.OrderedDict()
400
+ info["pid"] = self.pid
401
+ if self._name:
402
+ info['name'] = self._name
403
+ with self.oneshot():
404
+ if self._pid_reused:
405
+ info["status"] = "terminated + PID reused"
406
+ else:
407
+ try:
408
+ info["name"] = self.name()
409
+ info["status"] = self.status()
410
+ except ZombieProcess:
411
+ info["status"] = "zombie"
412
+ except NoSuchProcess:
413
+ info["status"] = "terminated"
414
+ except AccessDenied:
415
+ pass
416
+
417
+ if self._exitcode not in (_SENTINEL, None):
418
+ info["exitcode"] = self._exitcode
419
+ if self._create_time is not None:
420
+ info['started'] = _pprint_secs(self._create_time)
421
+
422
+ return "%s.%s(%s)" % (
423
+ self.__class__.__module__,
424
+ self.__class__.__name__,
425
+ ", ".join(["%s=%r" % (k, v) for k, v in info.items()]),
426
+ )
427
+
428
+ __repr__ = __str__
429
+
430
+ def __eq__(self, other):
431
+ # Test for equality with another Process object based
432
+ # on PID and creation time.
433
+ if not isinstance(other, Process):
434
+ return NotImplemented
435
+ if OPENBSD or NETBSD: # pragma: no cover
436
+ # Zombie processes on Open/NetBSD have a creation time of
437
+ # 0.0. This covers the case when a process started normally
438
+ # (so it has a ctime), then it turned into a zombie. It's
439
+ # important to do this because is_running() depends on
440
+ # __eq__.
441
+ pid1, ident1 = self._ident
442
+ pid2, ident2 = other._ident
443
+ if pid1 == pid2:
444
+ if ident1 and not ident2:
445
+ try:
446
+ return self.status() == STATUS_ZOMBIE
447
+ except Error:
448
+ pass
449
+ return self._ident == other._ident
450
+
451
+ def __ne__(self, other):
452
+ return not self == other
453
+
454
+ def __hash__(self):
455
+ if self._hash is None:
456
+ self._hash = hash(self._ident)
457
+ return self._hash
458
+
459
+ def _raise_if_pid_reused(self):
460
+ """Raises NoSuchProcess in case process PID has been reused."""
461
+ if self._pid_reused or (not self.is_running() and self._pid_reused):
462
+ # We may directly raise NSP in here already if PID is just
463
+ # not running, but I prefer NSP to be raised naturally by
464
+ # the actual Process API call. This way unit tests will tell
465
+ # us if the API is broken (aka don't raise NSP when it
466
+ # should). We also remain consistent with all other "get"
467
+ # APIs which don't use _raise_if_pid_reused().
468
+ msg = "process no longer exists and its PID has been reused"
469
+ raise NoSuchProcess(self.pid, self._name, msg=msg)
470
+
471
+ @property
472
+ def pid(self):
473
+ """The process PID."""
474
+ return self._pid
475
+
476
+ # --- utility methods
477
+
478
+ @contextlib.contextmanager
479
+ def oneshot(self):
480
+ """Utility context manager which considerably speeds up the
481
+ retrieval of multiple process information at the same time.
482
+
483
+ Internally different process info (e.g. name, ppid, uids,
484
+ gids, ...) may be fetched by using the same routine, but
485
+ only one information is returned and the others are discarded.
486
+ When using this context manager the internal routine is
487
+ executed once (in the example below on name()) and the
488
+ other info are cached.
489
+
490
+ The cache is cleared when exiting the context manager block.
491
+ The advice is to use this every time you retrieve more than
492
+ one information about the process. If you're lucky, you'll
493
+ get a hell of a speedup.
494
+
495
+ >>> import psutil
496
+ >>> p = psutil.Process()
497
+ >>> with p.oneshot():
498
+ ... p.name() # collect multiple info
499
+ ... p.cpu_times() # return cached value
500
+ ... p.cpu_percent() # return cached value
501
+ ... p.create_time() # return cached value
502
+ ...
503
+ >>>
504
+ """
505
+ with self._lock:
506
+ if hasattr(self, "_cache"):
507
+ # NOOP: this covers the use case where the user enters the
508
+ # context twice:
509
+ #
510
+ # >>> with p.oneshot():
511
+ # ... with p.oneshot():
512
+ # ...
513
+ #
514
+ # Also, since as_dict() internally uses oneshot()
515
+ # I expect that the code below will be a pretty common
516
+ # "mistake" that the user will make, so let's guard
517
+ # against that:
518
+ #
519
+ # >>> with p.oneshot():
520
+ # ... p.as_dict()
521
+ # ...
522
+ yield
523
+ else:
524
+ try:
525
+ # cached in case cpu_percent() is used
526
+ self.cpu_times.cache_activate(self)
527
+ # cached in case memory_percent() is used
528
+ self.memory_info.cache_activate(self)
529
+ # cached in case parent() is used
530
+ self.ppid.cache_activate(self)
531
+ # cached in case username() is used
532
+ if POSIX:
533
+ self.uids.cache_activate(self)
534
+ # specific implementation cache
535
+ self._proc.oneshot_enter()
536
+ yield
537
+ finally:
538
+ self.cpu_times.cache_deactivate(self)
539
+ self.memory_info.cache_deactivate(self)
540
+ self.ppid.cache_deactivate(self)
541
+ if POSIX:
542
+ self.uids.cache_deactivate(self)
543
+ self._proc.oneshot_exit()
544
+
545
+ def as_dict(self, attrs=None, ad_value=None):
546
+ """Utility method returning process information as a
547
+ hashable dictionary.
548
+ If *attrs* is specified it must be a list of strings
549
+ reflecting available Process class' attribute names
550
+ (e.g. ['cpu_times', 'name']) else all public (read
551
+ only) attributes are assumed.
552
+ *ad_value* is the value which gets assigned in case
553
+ AccessDenied or ZombieProcess exception is raised when
554
+ retrieving that particular process information.
555
+ """
556
+ valid_names = _as_dict_attrnames
557
+ if attrs is not None:
558
+ if not isinstance(attrs, (list, tuple, set, frozenset)):
559
+ msg = "invalid attrs type %s" % type(attrs)
560
+ raise TypeError(msg)
561
+ attrs = set(attrs)
562
+ invalid_names = attrs - valid_names
563
+ if invalid_names:
564
+ msg = "invalid attr name%s %s" % (
565
+ "s" if len(invalid_names) > 1 else "",
566
+ ", ".join(map(repr, invalid_names)),
567
+ )
568
+ raise ValueError(msg)
569
+
570
+ retdict = {}
571
+ ls = attrs or valid_names
572
+ with self.oneshot():
573
+ for name in ls:
574
+ try:
575
+ if name == 'pid':
576
+ ret = self.pid
577
+ else:
578
+ meth = getattr(self, name)
579
+ ret = meth()
580
+ except (AccessDenied, ZombieProcess):
581
+ ret = ad_value
582
+ except NotImplementedError:
583
+ # in case of not implemented functionality (may happen
584
+ # on old or exotic systems) we want to crash only if
585
+ # the user explicitly asked for that particular attr
586
+ if attrs:
587
+ raise
588
+ continue
589
+ retdict[name] = ret
590
+ return retdict
591
+
592
+ def parent(self):
593
+ """Return the parent process as a Process object pre-emptively
594
+ checking whether PID has been reused.
595
+ If no parent is known return None.
596
+ """
597
+ lowest_pid = _LOWEST_PID if _LOWEST_PID is not None else pids()[0]
598
+ if self.pid == lowest_pid:
599
+ return None
600
+ ppid = self.ppid()
601
+ if ppid is not None:
602
+ ctime = self.create_time()
603
+ try:
604
+ parent = Process(ppid)
605
+ if parent.create_time() <= ctime:
606
+ return parent
607
+ # ...else ppid has been reused by another process
608
+ except NoSuchProcess:
609
+ pass
610
+
611
+ def parents(self):
612
+ """Return the parents of this process as a list of Process
613
+ instances. If no parents are known return an empty list.
614
+ """
615
+ parents = []
616
+ proc = self.parent()
617
+ while proc is not None:
618
+ parents.append(proc)
619
+ proc = proc.parent()
620
+ return parents
621
+
622
+ def is_running(self):
623
+ """Return whether this process is running.
624
+
625
+ It also checks if PID has been reused by another process, in
626
+ which case it will remove the process from `process_iter()`
627
+ internal cache and return False.
628
+ """
629
+ if self._gone or self._pid_reused:
630
+ return False
631
+ try:
632
+ # Checking if PID is alive is not enough as the PID might
633
+ # have been reused by another process. Process identity /
634
+ # uniqueness over time is guaranteed by (PID + creation
635
+ # time) and that is verified in __eq__.
636
+ self._pid_reused = self != Process(self.pid)
637
+ if self._pid_reused:
638
+ _pids_reused.add(self.pid)
639
+ raise NoSuchProcess(self.pid)
640
+ return True
641
+ except ZombieProcess:
642
+ # We should never get here as it's already handled in
643
+ # Process.__init__; here just for extra safety.
644
+ return True
645
+ except NoSuchProcess:
646
+ self._gone = True
647
+ return False
648
+
649
+ # --- actual API
650
+
651
+ @memoize_when_activated
652
+ def ppid(self):
653
+ """The process parent PID.
654
+ On Windows the return value is cached after first call.
655
+ """
656
+ # On POSIX we don't want to cache the ppid as it may unexpectedly
657
+ # change to 1 (init) in case this process turns into a zombie:
658
+ # https://github.com/giampaolo/psutil/issues/321
659
+ # http://stackoverflow.com/questions/356722/
660
+
661
+ # XXX should we check creation time here rather than in
662
+ # Process.parent()?
663
+ self._raise_if_pid_reused()
664
+ if POSIX:
665
+ return self._proc.ppid()
666
+ else: # pragma: no cover
667
+ self._ppid = self._ppid or self._proc.ppid()
668
+ return self._ppid
669
+
670
+ def name(self):
671
+ """The process name. The return value is cached after first call."""
672
+ # Process name is only cached on Windows as on POSIX it may
673
+ # change, see:
674
+ # https://github.com/giampaolo/psutil/issues/692
675
+ if WINDOWS and self._name is not None:
676
+ return self._name
677
+ name = self._proc.name()
678
+ if POSIX and len(name) >= 15:
679
+ # On UNIX the name gets truncated to the first 15 characters.
680
+ # If it matches the first part of the cmdline we return that
681
+ # one instead because it's usually more explicative.
682
+ # Examples are "gnome-keyring-d" vs. "gnome-keyring-daemon".
683
+ try:
684
+ cmdline = self.cmdline()
685
+ except (AccessDenied, ZombieProcess):
686
+ # Just pass and return the truncated name: it's better
687
+ # than nothing. Note: there are actual cases where a
688
+ # zombie process can return a name() but not a
689
+ # cmdline(), see:
690
+ # https://github.com/giampaolo/psutil/issues/2239
691
+ pass
692
+ else:
693
+ if cmdline:
694
+ extended_name = os.path.basename(cmdline[0])
695
+ if extended_name.startswith(name):
696
+ name = extended_name
697
+ self._name = name
698
+ self._proc._name = name
699
+ return name
700
+
701
+ def exe(self):
702
+ """The process executable as an absolute path.
703
+ May also be an empty string.
704
+ The return value is cached after first call.
705
+ """
706
+
707
+ def guess_it(fallback):
708
+ # try to guess exe from cmdline[0] in absence of a native
709
+ # exe representation
710
+ cmdline = self.cmdline()
711
+ if cmdline and hasattr(os, 'access') and hasattr(os, 'X_OK'):
712
+ exe = cmdline[0] # the possible exe
713
+ # Attempt to guess only in case of an absolute path.
714
+ # It is not safe otherwise as the process might have
715
+ # changed cwd.
716
+ if (
717
+ os.path.isabs(exe)
718
+ and os.path.isfile(exe)
719
+ and os.access(exe, os.X_OK)
720
+ ):
721
+ return exe
722
+ if isinstance(fallback, AccessDenied):
723
+ raise fallback
724
+ return fallback
725
+
726
+ if self._exe is None:
727
+ try:
728
+ exe = self._proc.exe()
729
+ except AccessDenied as err:
730
+ return guess_it(fallback=err)
731
+ else:
732
+ if not exe:
733
+ # underlying implementation can legitimately return an
734
+ # empty string; if that's the case we don't want to
735
+ # raise AD while guessing from the cmdline
736
+ try:
737
+ exe = guess_it(fallback=exe)
738
+ except AccessDenied:
739
+ pass
740
+ self._exe = exe
741
+ return self._exe
742
+
743
+ def cmdline(self):
744
+ """The command line this process has been called with."""
745
+ return self._proc.cmdline()
746
+
747
+ def status(self):
748
+ """The process current status as a STATUS_* constant."""
749
+ try:
750
+ return self._proc.status()
751
+ except ZombieProcess:
752
+ return STATUS_ZOMBIE
753
+
754
+ def username(self):
755
+ """The name of the user that owns the process.
756
+ On UNIX this is calculated by using *real* process uid.
757
+ """
758
+ if POSIX:
759
+ if pwd is None:
760
+ # might happen if python was installed from sources
761
+ msg = "requires pwd module shipped with standard python"
762
+ raise ImportError(msg)
763
+ real_uid = self.uids().real
764
+ try:
765
+ return pwd.getpwuid(real_uid).pw_name
766
+ except KeyError:
767
+ # the uid can't be resolved by the system
768
+ return str(real_uid)
769
+ else:
770
+ return self._proc.username()
771
+
772
+ def create_time(self):
773
+ """The process creation time as a floating point number
774
+ expressed in seconds since the epoch.
775
+ The return value is cached after first call.
776
+ """
777
+ if self._create_time is None:
778
+ self._create_time = self._proc.create_time()
779
+ return self._create_time
780
+
781
+ def cwd(self):
782
+ """Process current working directory as an absolute path."""
783
+ return self._proc.cwd()
784
+
785
+ def nice(self, value=None):
786
+ """Get or set process niceness (priority)."""
787
+ if value is None:
788
+ return self._proc.nice_get()
789
+ else:
790
+ self._raise_if_pid_reused()
791
+ self._proc.nice_set(value)
792
+
793
+ if POSIX:
794
+
795
+ @memoize_when_activated
796
+ def uids(self):
797
+ """Return process UIDs as a (real, effective, saved)
798
+ namedtuple.
799
+ """
800
+ return self._proc.uids()
801
+
802
+ def gids(self):
803
+ """Return process GIDs as a (real, effective, saved)
804
+ namedtuple.
805
+ """
806
+ return self._proc.gids()
807
+
808
+ def terminal(self):
809
+ """The terminal associated with this process, if any,
810
+ else None.
811
+ """
812
+ return self._proc.terminal()
813
+
814
+ def num_fds(self):
815
+ """Return the number of file descriptors opened by this
816
+ process (POSIX only).
817
+ """
818
+ return self._proc.num_fds()
819
+
820
+ # Linux, BSD, AIX and Windows only
821
+ if hasattr(_psplatform.Process, "io_counters"):
822
+
823
+ def io_counters(self):
824
+ """Return process I/O statistics as a
825
+ (read_count, write_count, read_bytes, write_bytes)
826
+ namedtuple.
827
+ Those are the number of read/write calls performed and the
828
+ amount of bytes read and written by the process.
829
+ """
830
+ return self._proc.io_counters()
831
+
832
+ # Linux and Windows
833
+ if hasattr(_psplatform.Process, "ionice_get"):
834
+
835
+ def ionice(self, ioclass=None, value=None):
836
+ """Get or set process I/O niceness (priority).
837
+
838
+ On Linux *ioclass* is one of the IOPRIO_CLASS_* constants.
839
+ *value* is a number which goes from 0 to 7. The higher the
840
+ value, the lower the I/O priority of the process.
841
+
842
+ On Windows only *ioclass* is used and it can be set to 2
843
+ (normal), 1 (low) or 0 (very low).
844
+
845
+ Available on Linux and Windows > Vista only.
846
+ """
847
+ if ioclass is None:
848
+ if value is not None:
849
+ msg = "'ioclass' argument must be specified"
850
+ raise ValueError(msg)
851
+ return self._proc.ionice_get()
852
+ else:
853
+ self._raise_if_pid_reused()
854
+ return self._proc.ionice_set(ioclass, value)
855
+
856
+ # Linux / FreeBSD only
857
+ if hasattr(_psplatform.Process, "rlimit"):
858
+
859
+ def rlimit(self, resource, limits=None):
860
+ """Get or set process resource limits as a (soft, hard)
861
+ tuple.
862
+
863
+ *resource* is one of the RLIMIT_* constants.
864
+ *limits* is supposed to be a (soft, hard) tuple.
865
+
866
+ See "man prlimit" for further info.
867
+ Available on Linux and FreeBSD only.
868
+ """
869
+ if limits is not None:
870
+ self._raise_if_pid_reused()
871
+ return self._proc.rlimit(resource, limits)
872
+
873
+ # Windows, Linux and FreeBSD only
874
+ if hasattr(_psplatform.Process, "cpu_affinity_get"):
875
+
876
+ def cpu_affinity(self, cpus=None):
877
+ """Get or set process CPU affinity.
878
+ If specified, *cpus* must be a list of CPUs for which you
879
+ want to set the affinity (e.g. [0, 1]).
880
+ If an empty list is passed, all egible CPUs are assumed
881
+ (and set).
882
+ (Windows, Linux and BSD only).
883
+ """
884
+ if cpus is None:
885
+ return sorted(set(self._proc.cpu_affinity_get()))
886
+ else:
887
+ self._raise_if_pid_reused()
888
+ if not cpus:
889
+ if hasattr(self._proc, "_get_eligible_cpus"):
890
+ cpus = self._proc._get_eligible_cpus()
891
+ else:
892
+ cpus = tuple(range(len(cpu_times(percpu=True))))
893
+ self._proc.cpu_affinity_set(list(set(cpus)))
894
+
895
+ # Linux, FreeBSD, SunOS
896
+ if hasattr(_psplatform.Process, "cpu_num"):
897
+
898
+ def cpu_num(self):
899
+ """Return what CPU this process is currently running on.
900
+ The returned number should be <= psutil.cpu_count()
901
+ and <= len(psutil.cpu_percent(percpu=True)).
902
+ It may be used in conjunction with
903
+ psutil.cpu_percent(percpu=True) to observe the system
904
+ workload distributed across CPUs.
905
+ """
906
+ return self._proc.cpu_num()
907
+
908
+ # All platforms has it, but maybe not in the future.
909
+ if hasattr(_psplatform.Process, "environ"):
910
+
911
+ def environ(self):
912
+ """The environment variables of the process as a dict. Note: this
913
+ might not reflect changes made after the process started.
914
+ """
915
+ return self._proc.environ()
916
+
917
+ if WINDOWS:
918
+
919
+ def num_handles(self):
920
+ """Return the number of handles opened by this process
921
+ (Windows only).
922
+ """
923
+ return self._proc.num_handles()
924
+
925
+ def num_ctx_switches(self):
926
+ """Return the number of voluntary and involuntary context
927
+ switches performed by this process.
928
+ """
929
+ return self._proc.num_ctx_switches()
930
+
931
+ def num_threads(self):
932
+ """Return the number of threads used by this process."""
933
+ return self._proc.num_threads()
934
+
935
+ if hasattr(_psplatform.Process, "threads"):
936
+
937
+ def threads(self):
938
+ """Return threads opened by process as a list of
939
+ (id, user_time, system_time) namedtuples representing
940
+ thread id and thread CPU times (user/system).
941
+ On OpenBSD this method requires root access.
942
+ """
943
+ return self._proc.threads()
944
+
945
+ def children(self, recursive=False):
946
+ """Return the children of this process as a list of Process
947
+ instances, pre-emptively checking whether PID has been reused.
948
+ If *recursive* is True return all the parent descendants.
949
+
950
+ Example (A == this process):
951
+
952
+ A ─┐
953
+
954
+ ├─ B (child) ─┐
955
+ │ └─ X (grandchild) ─┐
956
+ │ └─ Y (great grandchild)
957
+ ├─ C (child)
958
+ └─ D (child)
959
+
960
+ >>> import psutil
961
+ >>> p = psutil.Process()
962
+ >>> p.children()
963
+ B, C, D
964
+ >>> p.children(recursive=True)
965
+ B, X, Y, C, D
966
+
967
+ Note that in the example above if process X disappears
968
+ process Y won't be listed as the reference to process A
969
+ is lost.
970
+ """
971
+ self._raise_if_pid_reused()
972
+ ppid_map = _ppid_map()
973
+ ret = []
974
+ if not recursive:
975
+ for pid, ppid in ppid_map.items():
976
+ if ppid == self.pid:
977
+ try:
978
+ child = Process(pid)
979
+ # if child happens to be older than its parent
980
+ # (self) it means child's PID has been reused
981
+ if self.create_time() <= child.create_time():
982
+ ret.append(child)
983
+ except (NoSuchProcess, ZombieProcess):
984
+ pass
985
+ else:
986
+ # Construct a {pid: [child pids]} dict
987
+ reverse_ppid_map = collections.defaultdict(list)
988
+ for pid, ppid in ppid_map.items():
989
+ reverse_ppid_map[ppid].append(pid)
990
+ # Recursively traverse that dict, starting from self.pid,
991
+ # such that we only call Process() on actual children
992
+ seen = set()
993
+ stack = [self.pid]
994
+ while stack:
995
+ pid = stack.pop()
996
+ if pid in seen:
997
+ # Since pids can be reused while the ppid_map is
998
+ # constructed, there may be rare instances where
999
+ # there's a cycle in the recorded process "tree".
1000
+ continue
1001
+ seen.add(pid)
1002
+ for child_pid in reverse_ppid_map[pid]:
1003
+ try:
1004
+ child = Process(child_pid)
1005
+ # if child happens to be older than its parent
1006
+ # (self) it means child's PID has been reused
1007
+ intime = self.create_time() <= child.create_time()
1008
+ if intime:
1009
+ ret.append(child)
1010
+ stack.append(child_pid)
1011
+ except (NoSuchProcess, ZombieProcess):
1012
+ pass
1013
+ return ret
1014
+
1015
+ def cpu_percent(self, interval=None):
1016
+ """Return a float representing the current process CPU
1017
+ utilization as a percentage.
1018
+
1019
+ When *interval* is 0.0 or None (default) compares process times
1020
+ to system CPU times elapsed since last call, returning
1021
+ immediately (non-blocking). That means that the first time
1022
+ this is called it will return a meaningful 0.0 value.
1023
+
1024
+ When *interval* is > 0.0 compares process times to system CPU
1025
+ times elapsed before and after the interval (blocking).
1026
+
1027
+ In this case is recommended for accuracy that this function
1028
+ be called with at least 0.1 seconds between calls.
1029
+
1030
+ A value > 100.0 can be returned in case of processes running
1031
+ multiple threads on different CPU cores.
1032
+
1033
+ The returned value is explicitly NOT split evenly between
1034
+ all available logical CPUs. This means that a busy loop process
1035
+ running on a system with 2 logical CPUs will be reported as
1036
+ having 100% CPU utilization instead of 50%.
1037
+
1038
+ Examples:
1039
+
1040
+ >>> import psutil
1041
+ >>> p = psutil.Process(os.getpid())
1042
+ >>> # blocking
1043
+ >>> p.cpu_percent(interval=1)
1044
+ 2.0
1045
+ >>> # non-blocking (percentage since last call)
1046
+ >>> p.cpu_percent(interval=None)
1047
+ 2.9
1048
+ >>>
1049
+ """
1050
+ blocking = interval is not None and interval > 0.0
1051
+ if interval is not None and interval < 0:
1052
+ msg = "interval is not positive (got %r)" % interval
1053
+ raise ValueError(msg)
1054
+ num_cpus = cpu_count() or 1
1055
+
1056
+ def timer():
1057
+ return _timer() * num_cpus
1058
+
1059
+ if blocking:
1060
+ st1 = timer()
1061
+ pt1 = self._proc.cpu_times()
1062
+ time.sleep(interval)
1063
+ st2 = timer()
1064
+ pt2 = self._proc.cpu_times()
1065
+ else:
1066
+ st1 = self._last_sys_cpu_times
1067
+ pt1 = self._last_proc_cpu_times
1068
+ st2 = timer()
1069
+ pt2 = self._proc.cpu_times()
1070
+ if st1 is None or pt1 is None:
1071
+ self._last_sys_cpu_times = st2
1072
+ self._last_proc_cpu_times = pt2
1073
+ return 0.0
1074
+
1075
+ delta_proc = (pt2.user - pt1.user) + (pt2.system - pt1.system)
1076
+ delta_time = st2 - st1
1077
+ # reset values for next call in case of interval == None
1078
+ self._last_sys_cpu_times = st2
1079
+ self._last_proc_cpu_times = pt2
1080
+
1081
+ try:
1082
+ # This is the utilization split evenly between all CPUs.
1083
+ # E.g. a busy loop process on a 2-CPU-cores system at this
1084
+ # point is reported as 50% instead of 100%.
1085
+ overall_cpus_percent = (delta_proc / delta_time) * 100
1086
+ except ZeroDivisionError:
1087
+ # interval was too low
1088
+ return 0.0
1089
+ else:
1090
+ # Note 1:
1091
+ # in order to emulate "top" we multiply the value for the num
1092
+ # of CPU cores. This way the busy process will be reported as
1093
+ # having 100% (or more) usage.
1094
+ #
1095
+ # Note 2:
1096
+ # taskmgr.exe on Windows differs in that it will show 50%
1097
+ # instead.
1098
+ #
1099
+ # Note 3:
1100
+ # a percentage > 100 is legitimate as it can result from a
1101
+ # process with multiple threads running on different CPU
1102
+ # cores (top does the same), see:
1103
+ # http://stackoverflow.com/questions/1032357
1104
+ # https://github.com/giampaolo/psutil/issues/474
1105
+ single_cpu_percent = overall_cpus_percent * num_cpus
1106
+ return round(single_cpu_percent, 1)
1107
+
1108
+ @memoize_when_activated
1109
+ def cpu_times(self):
1110
+ """Return a (user, system, children_user, children_system)
1111
+ namedtuple representing the accumulated process time, in
1112
+ seconds.
1113
+ This is similar to os.times() but per-process.
1114
+ On macOS and Windows children_user and children_system are
1115
+ always set to 0.
1116
+ """
1117
+ return self._proc.cpu_times()
1118
+
1119
+ @memoize_when_activated
1120
+ def memory_info(self):
1121
+ """Return a namedtuple with variable fields depending on the
1122
+ platform, representing memory information about the process.
1123
+
1124
+ The "portable" fields available on all platforms are `rss` and `vms`.
1125
+
1126
+ All numbers are expressed in bytes.
1127
+ """
1128
+ return self._proc.memory_info()
1129
+
1130
+ @_common.deprecated_method(replacement="memory_info")
1131
+ def memory_info_ex(self):
1132
+ return self.memory_info()
1133
+
1134
+ def memory_full_info(self):
1135
+ """This method returns the same information as memory_info(),
1136
+ plus, on some platform (Linux, macOS, Windows), also provides
1137
+ additional metrics (USS, PSS and swap).
1138
+ The additional metrics provide a better representation of actual
1139
+ process memory usage.
1140
+
1141
+ Namely USS is the memory which is unique to a process and which
1142
+ would be freed if the process was terminated right now.
1143
+
1144
+ It does so by passing through the whole process address.
1145
+ As such it usually requires higher user privileges than
1146
+ memory_info() and is considerably slower.
1147
+ """
1148
+ return self._proc.memory_full_info()
1149
+
1150
+ def memory_percent(self, memtype="rss"):
1151
+ """Compare process memory to total physical system memory and
1152
+ calculate process memory utilization as a percentage.
1153
+ *memtype* argument is a string that dictates what type of
1154
+ process memory you want to compare against (defaults to "rss").
1155
+ The list of available strings can be obtained like this:
1156
+
1157
+ >>> psutil.Process().memory_info()._fields
1158
+ ('rss', 'vms', 'shared', 'text', 'lib', 'data', 'dirty', 'uss', 'pss')
1159
+ """
1160
+ valid_types = list(_psplatform.pfullmem._fields)
1161
+ if memtype not in valid_types:
1162
+ msg = "invalid memtype %r; valid types are %r" % (
1163
+ memtype,
1164
+ tuple(valid_types),
1165
+ )
1166
+ raise ValueError(msg)
1167
+ fun = (
1168
+ self.memory_info
1169
+ if memtype in _psplatform.pmem._fields
1170
+ else self.memory_full_info
1171
+ )
1172
+ metrics = fun()
1173
+ value = getattr(metrics, memtype)
1174
+
1175
+ # use cached value if available
1176
+ total_phymem = _TOTAL_PHYMEM or virtual_memory().total
1177
+ if not total_phymem > 0:
1178
+ # we should never get here
1179
+ msg = (
1180
+ "can't calculate process memory percent because total physical"
1181
+ " system memory is not positive (%r)" % (total_phymem)
1182
+ )
1183
+ raise ValueError(msg)
1184
+ return (value / float(total_phymem)) * 100
1185
+
1186
+ if hasattr(_psplatform.Process, "memory_maps"):
1187
+
1188
+ def memory_maps(self, grouped=True):
1189
+ """Return process' mapped memory regions as a list of namedtuples
1190
+ whose fields are variable depending on the platform.
1191
+
1192
+ If *grouped* is True the mapped regions with the same 'path'
1193
+ are grouped together and the different memory fields are summed.
1194
+
1195
+ If *grouped* is False every mapped region is shown as a single
1196
+ entity and the namedtuple will also include the mapped region's
1197
+ address space ('addr') and permission set ('perms').
1198
+ """
1199
+ it = self._proc.memory_maps()
1200
+ if grouped:
1201
+ d = {}
1202
+ for tupl in it:
1203
+ path = tupl[2]
1204
+ nums = tupl[3:]
1205
+ try:
1206
+ d[path] = map(lambda x, y: x + y, d[path], nums)
1207
+ except KeyError:
1208
+ d[path] = nums
1209
+ nt = _psplatform.pmmap_grouped
1210
+ return [nt(path, *d[path]) for path in d] # NOQA
1211
+ else:
1212
+ nt = _psplatform.pmmap_ext
1213
+ return [nt(*x) for x in it]
1214
+
1215
+ def open_files(self):
1216
+ """Return files opened by process as a list of
1217
+ (path, fd) namedtuples including the absolute file name
1218
+ and file descriptor number.
1219
+ """
1220
+ return self._proc.open_files()
1221
+
1222
+ def net_connections(self, kind='inet'):
1223
+ """Return socket connections opened by process as a list of
1224
+ (fd, family, type, laddr, raddr, status) namedtuples.
1225
+ The *kind* parameter filters for connections that match the
1226
+ following criteria:
1227
+
1228
+ +------------+----------------------------------------------------+
1229
+ | Kind Value | Connections using |
1230
+ +------------+----------------------------------------------------+
1231
+ | inet | IPv4 and IPv6 |
1232
+ | inet4 | IPv4 |
1233
+ | inet6 | IPv6 |
1234
+ | tcp | TCP |
1235
+ | tcp4 | TCP over IPv4 |
1236
+ | tcp6 | TCP over IPv6 |
1237
+ | udp | UDP |
1238
+ | udp4 | UDP over IPv4 |
1239
+ | udp6 | UDP over IPv6 |
1240
+ | unix | UNIX socket (both UDP and TCP protocols) |
1241
+ | all | the sum of all the possible families and protocols |
1242
+ +------------+----------------------------------------------------+
1243
+ """
1244
+ return self._proc.net_connections(kind)
1245
+
1246
+ @_common.deprecated_method(replacement="net_connections")
1247
+ def connections(self, kind="inet"):
1248
+ return self.net_connections(kind=kind)
1249
+
1250
+ # --- signals
1251
+
1252
+ if POSIX:
1253
+
1254
+ def _send_signal(self, sig):
1255
+ assert not self.pid < 0, self.pid
1256
+ self._raise_if_pid_reused()
1257
+ if self.pid == 0:
1258
+ # see "man 2 kill"
1259
+ msg = (
1260
+ "preventing sending signal to process with PID 0 as it "
1261
+ "would affect every process in the process group of the "
1262
+ "calling process (os.getpid()) instead of PID 0"
1263
+ )
1264
+ raise ValueError(msg)
1265
+ try:
1266
+ os.kill(self.pid, sig)
1267
+ except ProcessLookupError:
1268
+ if OPENBSD and pid_exists(self.pid):
1269
+ # We do this because os.kill() lies in case of
1270
+ # zombie processes.
1271
+ raise ZombieProcess(self.pid, self._name, self._ppid)
1272
+ else:
1273
+ self._gone = True
1274
+ raise NoSuchProcess(self.pid, self._name)
1275
+ except PermissionError:
1276
+ raise AccessDenied(self.pid, self._name)
1277
+
1278
+ def send_signal(self, sig):
1279
+ """Send a signal *sig* to process pre-emptively checking
1280
+ whether PID has been reused (see signal module constants) .
1281
+ On Windows only SIGTERM is valid and is treated as an alias
1282
+ for kill().
1283
+ """
1284
+ if POSIX:
1285
+ self._send_signal(sig)
1286
+ else: # pragma: no cover
1287
+ self._raise_if_pid_reused()
1288
+ if sig != signal.SIGTERM and not self.is_running():
1289
+ msg = "process no longer exists"
1290
+ raise NoSuchProcess(self.pid, self._name, msg=msg)
1291
+ self._proc.send_signal(sig)
1292
+
1293
+ def suspend(self):
1294
+ """Suspend process execution with SIGSTOP pre-emptively checking
1295
+ whether PID has been reused.
1296
+ On Windows this has the effect of suspending all process threads.
1297
+ """
1298
+ if POSIX:
1299
+ self._send_signal(signal.SIGSTOP)
1300
+ else: # pragma: no cover
1301
+ self._raise_if_pid_reused()
1302
+ self._proc.suspend()
1303
+
1304
+ def resume(self):
1305
+ """Resume process execution with SIGCONT pre-emptively checking
1306
+ whether PID has been reused.
1307
+ On Windows this has the effect of resuming all process threads.
1308
+ """
1309
+ if POSIX:
1310
+ self._send_signal(signal.SIGCONT)
1311
+ else: # pragma: no cover
1312
+ self._raise_if_pid_reused()
1313
+ self._proc.resume()
1314
+
1315
+ def terminate(self):
1316
+ """Terminate the process with SIGTERM pre-emptively checking
1317
+ whether PID has been reused.
1318
+ On Windows this is an alias for kill().
1319
+ """
1320
+ if POSIX:
1321
+ self._send_signal(signal.SIGTERM)
1322
+ else: # pragma: no cover
1323
+ self._raise_if_pid_reused()
1324
+ self._proc.kill()
1325
+
1326
+ def kill(self):
1327
+ """Kill the current process with SIGKILL pre-emptively checking
1328
+ whether PID has been reused.
1329
+ """
1330
+ if POSIX:
1331
+ self._send_signal(signal.SIGKILL)
1332
+ else: # pragma: no cover
1333
+ self._raise_if_pid_reused()
1334
+ self._proc.kill()
1335
+
1336
+ def wait(self, timeout=None):
1337
+ """Wait for process to terminate and, if process is a children
1338
+ of os.getpid(), also return its exit code, else None.
1339
+ On Windows there's no such limitation (exit code is always
1340
+ returned).
1341
+
1342
+ If the process is already terminated immediately return None
1343
+ instead of raising NoSuchProcess.
1344
+
1345
+ If *timeout* (in seconds) is specified and process is still
1346
+ alive raise TimeoutExpired.
1347
+
1348
+ To wait for multiple Process(es) use psutil.wait_procs().
1349
+ """
1350
+ if timeout is not None and not timeout >= 0:
1351
+ msg = "timeout must be a positive integer"
1352
+ raise ValueError(msg)
1353
+ if self._exitcode is not _SENTINEL:
1354
+ return self._exitcode
1355
+ self._exitcode = self._proc.wait(timeout)
1356
+ return self._exitcode
1357
+
1358
+
1359
+ # The valid attr names which can be processed by Process.as_dict().
1360
+ # fmt: off
1361
+ _as_dict_attrnames = set(
1362
+ [x for x in dir(Process) if not x.startswith('_') and x not in
1363
+ {'send_signal', 'suspend', 'resume', 'terminate', 'kill', 'wait',
1364
+ 'is_running', 'as_dict', 'parent', 'parents', 'children', 'rlimit',
1365
+ 'memory_info_ex', 'connections', 'oneshot'}])
1366
+ # fmt: on
1367
+
1368
+
1369
+ # =====================================================================
1370
+ # --- Popen class
1371
+ # =====================================================================
1372
+
1373
+
1374
+ class Popen(Process):
1375
+ """Same as subprocess.Popen, but in addition it provides all
1376
+ psutil.Process methods in a single class.
1377
+ For the following methods which are common to both classes, psutil
1378
+ implementation takes precedence:
1379
+
1380
+ * send_signal()
1381
+ * terminate()
1382
+ * kill()
1383
+
1384
+ This is done in order to avoid killing another process in case its
1385
+ PID has been reused, fixing BPO-6973.
1386
+
1387
+ >>> import psutil
1388
+ >>> from subprocess import PIPE
1389
+ >>> p = psutil.Popen(["python", "-c", "print 'hi'"], stdout=PIPE)
1390
+ >>> p.name()
1391
+ 'python'
1392
+ >>> p.uids()
1393
+ user(real=1000, effective=1000, saved=1000)
1394
+ >>> p.username()
1395
+ 'giampaolo'
1396
+ >>> p.communicate()
1397
+ ('hi', None)
1398
+ >>> p.terminate()
1399
+ >>> p.wait(timeout=2)
1400
+ 0
1401
+ >>>
1402
+ """
1403
+
1404
+ def __init__(self, *args, **kwargs):
1405
+ # Explicitly avoid to raise NoSuchProcess in case the process
1406
+ # spawned by subprocess.Popen terminates too quickly, see:
1407
+ # https://github.com/giampaolo/psutil/issues/193
1408
+ self.__subproc = subprocess.Popen(*args, **kwargs)
1409
+ self._init(self.__subproc.pid, _ignore_nsp=True)
1410
+
1411
+ def __dir__(self):
1412
+ return sorted(set(dir(Popen) + dir(subprocess.Popen)))
1413
+
1414
+ def __enter__(self):
1415
+ if hasattr(self.__subproc, '__enter__'):
1416
+ self.__subproc.__enter__()
1417
+ return self
1418
+
1419
+ def __exit__(self, *args, **kwargs):
1420
+ if hasattr(self.__subproc, '__exit__'):
1421
+ return self.__subproc.__exit__(*args, **kwargs)
1422
+ else:
1423
+ if self.stdout:
1424
+ self.stdout.close()
1425
+ if self.stderr:
1426
+ self.stderr.close()
1427
+ try:
1428
+ # Flushing a BufferedWriter may raise an error.
1429
+ if self.stdin:
1430
+ self.stdin.close()
1431
+ finally:
1432
+ # Wait for the process to terminate, to avoid zombies.
1433
+ self.wait()
1434
+
1435
+ def __getattribute__(self, name):
1436
+ try:
1437
+ return object.__getattribute__(self, name)
1438
+ except AttributeError:
1439
+ try:
1440
+ return object.__getattribute__(self.__subproc, name)
1441
+ except AttributeError:
1442
+ msg = "%s instance has no attribute '%s'" % (
1443
+ self.__class__.__name__,
1444
+ name,
1445
+ )
1446
+ raise AttributeError(msg)
1447
+
1448
+ def wait(self, timeout=None):
1449
+ if self.__subproc.returncode is not None:
1450
+ return self.__subproc.returncode
1451
+ ret = super(Popen, self).wait(timeout) # noqa
1452
+ self.__subproc.returncode = ret
1453
+ return ret
1454
+
1455
+
1456
+ # =====================================================================
1457
+ # --- system processes related functions
1458
+ # =====================================================================
1459
+
1460
+
1461
+ def pids():
1462
+ """Return a list of current running PIDs."""
1463
+ global _LOWEST_PID
1464
+ ret = sorted(_psplatform.pids())
1465
+ _LOWEST_PID = ret[0]
1466
+ return ret
1467
+
1468
+
1469
+ def pid_exists(pid):
1470
+ """Return True if given PID exists in the current process list.
1471
+ This is faster than doing "pid in psutil.pids()" and
1472
+ should be preferred.
1473
+ """
1474
+ if pid < 0:
1475
+ return False
1476
+ elif pid == 0 and POSIX:
1477
+ # On POSIX we use os.kill() to determine PID existence.
1478
+ # According to "man 2 kill" PID 0 has a special meaning
1479
+ # though: it refers to <<every process in the process
1480
+ # group of the calling process>> and that is not we want
1481
+ # to do here.
1482
+ return pid in pids()
1483
+ else:
1484
+ return _psplatform.pid_exists(pid)
1485
+
1486
+
1487
+ _pmap = {}
1488
+ _pids_reused = set()
1489
+
1490
+
1491
+ def process_iter(attrs=None, ad_value=None):
1492
+ """Return a generator yielding a Process instance for all
1493
+ running processes.
1494
+
1495
+ Every new Process instance is only created once and then cached
1496
+ into an internal table which is updated every time this is used.
1497
+ Cache can optionally be cleared via `process_iter.clear_cache()`.
1498
+
1499
+ The sorting order in which processes are yielded is based on
1500
+ their PIDs.
1501
+
1502
+ *attrs* and *ad_value* have the same meaning as in
1503
+ Process.as_dict(). If *attrs* is specified as_dict() is called
1504
+ and the resulting dict is stored as a 'info' attribute attached
1505
+ to returned Process instance.
1506
+ If *attrs* is an empty list it will retrieve all process info
1507
+ (slow).
1508
+ """
1509
+ global _pmap
1510
+
1511
+ def add(pid):
1512
+ proc = Process(pid)
1513
+ pmap[proc.pid] = proc
1514
+ return proc
1515
+
1516
+ def remove(pid):
1517
+ pmap.pop(pid, None)
1518
+
1519
+ pmap = _pmap.copy()
1520
+ a = set(pids())
1521
+ b = set(pmap.keys())
1522
+ new_pids = a - b
1523
+ gone_pids = b - a
1524
+ for pid in gone_pids:
1525
+ remove(pid)
1526
+ while _pids_reused:
1527
+ pid = _pids_reused.pop()
1528
+ debug("refreshing Process instance for reused PID %s" % pid)
1529
+ remove(pid)
1530
+ try:
1531
+ ls = sorted(list(pmap.items()) + list(dict.fromkeys(new_pids).items()))
1532
+ for pid, proc in ls:
1533
+ try:
1534
+ if proc is None: # new process
1535
+ proc = add(pid)
1536
+ if attrs is not None:
1537
+ proc.info = proc.as_dict(attrs=attrs, ad_value=ad_value)
1538
+ yield proc
1539
+ except NoSuchProcess:
1540
+ remove(pid)
1541
+ finally:
1542
+ _pmap = pmap
1543
+
1544
+
1545
+ process_iter.cache_clear = lambda: _pmap.clear() # noqa
1546
+ process_iter.cache_clear.__doc__ = "Clear process_iter() internal cache."
1547
+
1548
+
1549
+ def wait_procs(procs, timeout=None, callback=None):
1550
+ """Convenience function which waits for a list of processes to
1551
+ terminate.
1552
+
1553
+ Return a (gone, alive) tuple indicating which processes
1554
+ are gone and which ones are still alive.
1555
+
1556
+ The gone ones will have a new *returncode* attribute indicating
1557
+ process exit status (may be None).
1558
+
1559
+ *callback* is a function which gets called every time a process
1560
+ terminates (a Process instance is passed as callback argument).
1561
+
1562
+ Function will return as soon as all processes terminate or when
1563
+ *timeout* occurs.
1564
+ Differently from Process.wait() it will not raise TimeoutExpired if
1565
+ *timeout* occurs.
1566
+
1567
+ Typical use case is:
1568
+
1569
+ - send SIGTERM to a list of processes
1570
+ - give them some time to terminate
1571
+ - send SIGKILL to those ones which are still alive
1572
+
1573
+ Example:
1574
+
1575
+ >>> def on_terminate(proc):
1576
+ ... print("process {} terminated".format(proc))
1577
+ ...
1578
+ >>> for p in procs:
1579
+ ... p.terminate()
1580
+ ...
1581
+ >>> gone, alive = wait_procs(procs, timeout=3, callback=on_terminate)
1582
+ >>> for p in alive:
1583
+ ... p.kill()
1584
+ """
1585
+
1586
+ def check_gone(proc, timeout):
1587
+ try:
1588
+ returncode = proc.wait(timeout=timeout)
1589
+ except TimeoutExpired:
1590
+ pass
1591
+ except _SubprocessTimeoutExpired:
1592
+ pass
1593
+ else:
1594
+ if returncode is not None or not proc.is_running():
1595
+ # Set new Process instance attribute.
1596
+ proc.returncode = returncode
1597
+ gone.add(proc)
1598
+ if callback is not None:
1599
+ callback(proc)
1600
+
1601
+ if timeout is not None and not timeout >= 0:
1602
+ msg = "timeout must be a positive integer, got %s" % timeout
1603
+ raise ValueError(msg)
1604
+ gone = set()
1605
+ alive = set(procs)
1606
+ if callback is not None and not callable(callback):
1607
+ msg = "callback %r is not a callable" % callback
1608
+ raise TypeError(msg)
1609
+ if timeout is not None:
1610
+ deadline = _timer() + timeout
1611
+
1612
+ while alive:
1613
+ if timeout is not None and timeout <= 0:
1614
+ break
1615
+ for proc in alive:
1616
+ # Make sure that every complete iteration (all processes)
1617
+ # will last max 1 sec.
1618
+ # We do this because we don't want to wait too long on a
1619
+ # single process: in case it terminates too late other
1620
+ # processes may disappear in the meantime and their PID
1621
+ # reused.
1622
+ max_timeout = 1.0 / len(alive)
1623
+ if timeout is not None:
1624
+ timeout = min((deadline - _timer()), max_timeout)
1625
+ if timeout <= 0:
1626
+ break
1627
+ check_gone(proc, timeout)
1628
+ else:
1629
+ check_gone(proc, max_timeout)
1630
+ alive = alive - gone # noqa PLR6104
1631
+
1632
+ if alive:
1633
+ # Last attempt over processes survived so far.
1634
+ # timeout == 0 won't make this function wait any further.
1635
+ for proc in alive:
1636
+ check_gone(proc, 0)
1637
+ alive = alive - gone # noqa: PLR6104
1638
+
1639
+ return (list(gone), list(alive))
1640
+
1641
+
1642
+ # =====================================================================
1643
+ # --- CPU related functions
1644
+ # =====================================================================
1645
+
1646
+
1647
+ def cpu_count(logical=True):
1648
+ """Return the number of logical CPUs in the system (same as
1649
+ os.cpu_count() in Python 3.4).
1650
+
1651
+ If *logical* is False return the number of physical cores only
1652
+ (e.g. hyper thread CPUs are excluded).
1653
+
1654
+ Return None if undetermined.
1655
+
1656
+ The return value is cached after first call.
1657
+ If desired cache can be cleared like this:
1658
+
1659
+ >>> psutil.cpu_count.cache_clear()
1660
+ """
1661
+ if logical:
1662
+ ret = _psplatform.cpu_count_logical()
1663
+ else:
1664
+ ret = _psplatform.cpu_count_cores()
1665
+ if ret is not None and ret < 1:
1666
+ ret = None
1667
+ return ret
1668
+
1669
+
1670
+ def cpu_times(percpu=False):
1671
+ """Return system-wide CPU times as a namedtuple.
1672
+ Every CPU time represents the seconds the CPU has spent in the
1673
+ given mode. The namedtuple's fields availability varies depending on the
1674
+ platform:
1675
+
1676
+ - user
1677
+ - system
1678
+ - idle
1679
+ - nice (UNIX)
1680
+ - iowait (Linux)
1681
+ - irq (Linux, FreeBSD)
1682
+ - softirq (Linux)
1683
+ - steal (Linux >= 2.6.11)
1684
+ - guest (Linux >= 2.6.24)
1685
+ - guest_nice (Linux >= 3.2.0)
1686
+
1687
+ When *percpu* is True return a list of namedtuples for each CPU.
1688
+ First element of the list refers to first CPU, second element
1689
+ to second CPU and so on.
1690
+ The order of the list is consistent across calls.
1691
+ """
1692
+ if not percpu:
1693
+ return _psplatform.cpu_times()
1694
+ else:
1695
+ return _psplatform.per_cpu_times()
1696
+
1697
+
1698
+ try:
1699
+ _last_cpu_times = {threading.current_thread().ident: cpu_times()}
1700
+ except Exception: # noqa: BLE001
1701
+ # Don't want to crash at import time.
1702
+ _last_cpu_times = {}
1703
+
1704
+ try:
1705
+ _last_per_cpu_times = {
1706
+ threading.current_thread().ident: cpu_times(percpu=True)
1707
+ }
1708
+ except Exception: # noqa: BLE001
1709
+ # Don't want to crash at import time.
1710
+ _last_per_cpu_times = {}
1711
+
1712
+
1713
+ def _cpu_tot_time(times):
1714
+ """Given a cpu_time() ntuple calculates the total CPU time
1715
+ (including idle time).
1716
+ """
1717
+ tot = sum(times)
1718
+ if LINUX:
1719
+ # On Linux guest times are already accounted in "user" or
1720
+ # "nice" times, so we subtract them from total.
1721
+ # Htop does the same. References:
1722
+ # https://github.com/giampaolo/psutil/pull/940
1723
+ # http://unix.stackexchange.com/questions/178045
1724
+ # https://github.com/torvalds/linux/blob/
1725
+ # 447976ef4fd09b1be88b316d1a81553f1aa7cd07/kernel/sched/
1726
+ # cputime.c#L158
1727
+ tot -= getattr(times, "guest", 0) # Linux 2.6.24+
1728
+ tot -= getattr(times, "guest_nice", 0) # Linux 3.2.0+
1729
+ return tot
1730
+
1731
+
1732
+ def _cpu_busy_time(times):
1733
+ """Given a cpu_time() ntuple calculates the busy CPU time.
1734
+ We do so by subtracting all idle CPU times.
1735
+ """
1736
+ busy = _cpu_tot_time(times)
1737
+ busy -= times.idle
1738
+ # Linux: "iowait" is time during which the CPU does not do anything
1739
+ # (waits for IO to complete). On Linux IO wait is *not* accounted
1740
+ # in "idle" time so we subtract it. Htop does the same.
1741
+ # References:
1742
+ # https://github.com/torvalds/linux/blob/
1743
+ # 447976ef4fd09b1be88b316d1a81553f1aa7cd07/kernel/sched/cputime.c#L244
1744
+ busy -= getattr(times, "iowait", 0)
1745
+ return busy
1746
+
1747
+
1748
+ def _cpu_times_deltas(t1, t2):
1749
+ assert t1._fields == t2._fields, (t1, t2)
1750
+ field_deltas = []
1751
+ for field in _psplatform.scputimes._fields:
1752
+ field_delta = getattr(t2, field) - getattr(t1, field)
1753
+ # CPU times are always supposed to increase over time
1754
+ # or at least remain the same and that's because time
1755
+ # cannot go backwards.
1756
+ # Surprisingly sometimes this might not be the case (at
1757
+ # least on Windows and Linux), see:
1758
+ # https://github.com/giampaolo/psutil/issues/392
1759
+ # https://github.com/giampaolo/psutil/issues/645
1760
+ # https://github.com/giampaolo/psutil/issues/1210
1761
+ # Trim negative deltas to zero to ignore decreasing fields.
1762
+ # top does the same. Reference:
1763
+ # https://gitlab.com/procps-ng/procps/blob/v3.3.12/top/top.c#L5063
1764
+ field_delta = max(0, field_delta)
1765
+ field_deltas.append(field_delta)
1766
+ return _psplatform.scputimes(*field_deltas)
1767
+
1768
+
1769
+ def cpu_percent(interval=None, percpu=False):
1770
+ """Return a float representing the current system-wide CPU
1771
+ utilization as a percentage.
1772
+
1773
+ When *interval* is > 0.0 compares system CPU times elapsed before
1774
+ and after the interval (blocking).
1775
+
1776
+ When *interval* is 0.0 or None compares system CPU times elapsed
1777
+ since last call or module import, returning immediately (non
1778
+ blocking). That means the first time this is called it will
1779
+ return a meaningless 0.0 value which you should ignore.
1780
+ In this case is recommended for accuracy that this function be
1781
+ called with at least 0.1 seconds between calls.
1782
+
1783
+ When *percpu* is True returns a list of floats representing the
1784
+ utilization as a percentage for each CPU.
1785
+ First element of the list refers to first CPU, second element
1786
+ to second CPU and so on.
1787
+ The order of the list is consistent across calls.
1788
+
1789
+ Examples:
1790
+
1791
+ >>> # blocking, system-wide
1792
+ >>> psutil.cpu_percent(interval=1)
1793
+ 2.0
1794
+ >>>
1795
+ >>> # blocking, per-cpu
1796
+ >>> psutil.cpu_percent(interval=1, percpu=True)
1797
+ [2.0, 1.0]
1798
+ >>>
1799
+ >>> # non-blocking (percentage since last call)
1800
+ >>> psutil.cpu_percent(interval=None)
1801
+ 2.9
1802
+ >>>
1803
+ """
1804
+ tid = threading.current_thread().ident
1805
+ blocking = interval is not None and interval > 0.0
1806
+ if interval is not None and interval < 0:
1807
+ msg = "interval is not positive (got %r)" % interval
1808
+ raise ValueError(msg)
1809
+
1810
+ def calculate(t1, t2):
1811
+ times_delta = _cpu_times_deltas(t1, t2)
1812
+ all_delta = _cpu_tot_time(times_delta)
1813
+ busy_delta = _cpu_busy_time(times_delta)
1814
+
1815
+ try:
1816
+ busy_perc = (busy_delta / all_delta) * 100
1817
+ except ZeroDivisionError:
1818
+ return 0.0
1819
+ else:
1820
+ return round(busy_perc, 1)
1821
+
1822
+ # system-wide usage
1823
+ if not percpu:
1824
+ if blocking:
1825
+ t1 = cpu_times()
1826
+ time.sleep(interval)
1827
+ else:
1828
+ t1 = _last_cpu_times.get(tid) or cpu_times()
1829
+ _last_cpu_times[tid] = cpu_times()
1830
+ return calculate(t1, _last_cpu_times[tid])
1831
+ # per-cpu usage
1832
+ else:
1833
+ ret = []
1834
+ if blocking:
1835
+ tot1 = cpu_times(percpu=True)
1836
+ time.sleep(interval)
1837
+ else:
1838
+ tot1 = _last_per_cpu_times.get(tid) or cpu_times(percpu=True)
1839
+ _last_per_cpu_times[tid] = cpu_times(percpu=True)
1840
+ for t1, t2 in zip(tot1, _last_per_cpu_times[tid]):
1841
+ ret.append(calculate(t1, t2))
1842
+ return ret
1843
+
1844
+
1845
+ # Use a separate dict for cpu_times_percent(), so it's independent from
1846
+ # cpu_percent() and they can both be used within the same program.
1847
+ _last_cpu_times_2 = _last_cpu_times.copy()
1848
+ _last_per_cpu_times_2 = _last_per_cpu_times.copy()
1849
+
1850
+
1851
+ def cpu_times_percent(interval=None, percpu=False):
1852
+ """Same as cpu_percent() but provides utilization percentages
1853
+ for each specific CPU time as is returned by cpu_times().
1854
+ For instance, on Linux we'll get:
1855
+
1856
+ >>> cpu_times_percent()
1857
+ cpupercent(user=4.8, nice=0.0, system=4.8, idle=90.5, iowait=0.0,
1858
+ irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
1859
+ >>>
1860
+
1861
+ *interval* and *percpu* arguments have the same meaning as in
1862
+ cpu_percent().
1863
+ """
1864
+ tid = threading.current_thread().ident
1865
+ blocking = interval is not None and interval > 0.0
1866
+ if interval is not None and interval < 0:
1867
+ msg = "interval is not positive (got %r)" % interval
1868
+ raise ValueError(msg)
1869
+
1870
+ def calculate(t1, t2):
1871
+ nums = []
1872
+ times_delta = _cpu_times_deltas(t1, t2)
1873
+ all_delta = _cpu_tot_time(times_delta)
1874
+ # "scale" is the value to multiply each delta with to get percentages.
1875
+ # We use "max" to avoid division by zero (if all_delta is 0, then all
1876
+ # fields are 0 so percentages will be 0 too. all_delta cannot be a
1877
+ # fraction because cpu times are integers)
1878
+ scale = 100.0 / max(1, all_delta)
1879
+ for field_delta in times_delta:
1880
+ field_perc = field_delta * scale
1881
+ field_perc = round(field_perc, 1)
1882
+ # make sure we don't return negative values or values over 100%
1883
+ field_perc = min(max(0.0, field_perc), 100.0)
1884
+ nums.append(field_perc)
1885
+ return _psplatform.scputimes(*nums)
1886
+
1887
+ # system-wide usage
1888
+ if not percpu:
1889
+ if blocking:
1890
+ t1 = cpu_times()
1891
+ time.sleep(interval)
1892
+ else:
1893
+ t1 = _last_cpu_times_2.get(tid) or cpu_times()
1894
+ _last_cpu_times_2[tid] = cpu_times()
1895
+ return calculate(t1, _last_cpu_times_2[tid])
1896
+ # per-cpu usage
1897
+ else:
1898
+ ret = []
1899
+ if blocking:
1900
+ tot1 = cpu_times(percpu=True)
1901
+ time.sleep(interval)
1902
+ else:
1903
+ tot1 = _last_per_cpu_times_2.get(tid) or cpu_times(percpu=True)
1904
+ _last_per_cpu_times_2[tid] = cpu_times(percpu=True)
1905
+ for t1, t2 in zip(tot1, _last_per_cpu_times_2[tid]):
1906
+ ret.append(calculate(t1, t2))
1907
+ return ret
1908
+
1909
+
1910
+ def cpu_stats():
1911
+ """Return CPU statistics."""
1912
+ return _psplatform.cpu_stats()
1913
+
1914
+
1915
+ if hasattr(_psplatform, "cpu_freq"):
1916
+
1917
+ def cpu_freq(percpu=False):
1918
+ """Return CPU frequency as a namedtuple including current,
1919
+ min and max frequency expressed in Mhz.
1920
+
1921
+ If *percpu* is True and the system supports per-cpu frequency
1922
+ retrieval (Linux only) a list of frequencies is returned for
1923
+ each CPU. If not a list with one element is returned.
1924
+ """
1925
+ ret = _psplatform.cpu_freq()
1926
+ if percpu:
1927
+ return ret
1928
+ else:
1929
+ num_cpus = float(len(ret))
1930
+ if num_cpus == 0:
1931
+ return None
1932
+ elif num_cpus == 1:
1933
+ return ret[0]
1934
+ else:
1935
+ currs, mins, maxs = 0.0, 0.0, 0.0
1936
+ set_none = False
1937
+ for cpu in ret:
1938
+ currs += cpu.current
1939
+ # On Linux if /proc/cpuinfo is used min/max are set
1940
+ # to None.
1941
+ if LINUX and cpu.min is None:
1942
+ set_none = True
1943
+ continue
1944
+ mins += cpu.min
1945
+ maxs += cpu.max
1946
+
1947
+ current = currs / num_cpus
1948
+
1949
+ if set_none:
1950
+ min_ = max_ = None
1951
+ else:
1952
+ min_ = mins / num_cpus
1953
+ max_ = maxs / num_cpus
1954
+
1955
+ return _common.scpufreq(current, min_, max_)
1956
+
1957
+ __all__.append("cpu_freq")
1958
+
1959
+
1960
+ if hasattr(os, "getloadavg") or hasattr(_psplatform, "getloadavg"):
1961
+ # Perform this hasattr check once on import time to either use the
1962
+ # platform based code or proxy straight from the os module.
1963
+ if hasattr(os, "getloadavg"):
1964
+ getloadavg = os.getloadavg
1965
+ else:
1966
+ getloadavg = _psplatform.getloadavg
1967
+
1968
+ __all__.append("getloadavg")
1969
+
1970
+
1971
+ # =====================================================================
1972
+ # --- system memory related functions
1973
+ # =====================================================================
1974
+
1975
+
1976
+ def virtual_memory():
1977
+ """Return statistics about system memory usage as a namedtuple
1978
+ including the following fields, expressed in bytes:
1979
+
1980
+ - total:
1981
+ total physical memory available.
1982
+
1983
+ - available:
1984
+ the memory that can be given instantly to processes without the
1985
+ system going into swap.
1986
+ This is calculated by summing different memory values depending
1987
+ on the platform and it is supposed to be used to monitor actual
1988
+ memory usage in a cross platform fashion.
1989
+
1990
+ - percent:
1991
+ the percentage usage calculated as (total - available) / total * 100
1992
+
1993
+ - used:
1994
+ memory used, calculated differently depending on the platform and
1995
+ designed for informational purposes only:
1996
+ macOS: active + wired
1997
+ BSD: active + wired + cached
1998
+ Linux: total - free
1999
+
2000
+ - free:
2001
+ memory not being used at all (zeroed) that is readily available;
2002
+ note that this doesn't reflect the actual memory available
2003
+ (use 'available' instead)
2004
+
2005
+ Platform-specific fields:
2006
+
2007
+ - active (UNIX):
2008
+ memory currently in use or very recently used, and so it is in RAM.
2009
+
2010
+ - inactive (UNIX):
2011
+ memory that is marked as not used.
2012
+
2013
+ - buffers (BSD, Linux):
2014
+ cache for things like file system metadata.
2015
+
2016
+ - cached (BSD, macOS):
2017
+ cache for various things.
2018
+
2019
+ - wired (macOS, BSD):
2020
+ memory that is marked to always stay in RAM. It is never moved to disk.
2021
+
2022
+ - shared (BSD):
2023
+ memory that may be simultaneously accessed by multiple processes.
2024
+
2025
+ The sum of 'used' and 'available' does not necessarily equal total.
2026
+ On Windows 'available' and 'free' are the same.
2027
+ """
2028
+ global _TOTAL_PHYMEM
2029
+ ret = _psplatform.virtual_memory()
2030
+ # cached for later use in Process.memory_percent()
2031
+ _TOTAL_PHYMEM = ret.total
2032
+ return ret
2033
+
2034
+
2035
+ def swap_memory():
2036
+ """Return system swap memory statistics as a namedtuple including
2037
+ the following fields:
2038
+
2039
+ - total: total swap memory in bytes
2040
+ - used: used swap memory in bytes
2041
+ - free: free swap memory in bytes
2042
+ - percent: the percentage usage
2043
+ - sin: no. of bytes the system has swapped in from disk (cumulative)
2044
+ - sout: no. of bytes the system has swapped out from disk (cumulative)
2045
+
2046
+ 'sin' and 'sout' on Windows are meaningless and always set to 0.
2047
+ """
2048
+ return _psplatform.swap_memory()
2049
+
2050
+
2051
+ # =====================================================================
2052
+ # --- disks/partitions related functions
2053
+ # =====================================================================
2054
+
2055
+
2056
+ def disk_usage(path):
2057
+ """Return disk usage statistics about the given *path* as a
2058
+ namedtuple including total, used and free space expressed in bytes
2059
+ plus the percentage usage.
2060
+ """
2061
+ return _psplatform.disk_usage(path)
2062
+
2063
+
2064
+ def disk_partitions(all=False):
2065
+ """Return mounted partitions as a list of
2066
+ (device, mountpoint, fstype, opts) namedtuple.
2067
+ 'opts' field is a raw string separated by commas indicating mount
2068
+ options which may vary depending on the platform.
2069
+
2070
+ If *all* parameter is False return physical devices only and ignore
2071
+ all others.
2072
+ """
2073
+ return _psplatform.disk_partitions(all)
2074
+
2075
+
2076
+ def disk_io_counters(perdisk=False, nowrap=True):
2077
+ """Return system disk I/O statistics as a namedtuple including
2078
+ the following fields:
2079
+
2080
+ - read_count: number of reads
2081
+ - write_count: number of writes
2082
+ - read_bytes: number of bytes read
2083
+ - write_bytes: number of bytes written
2084
+ - read_time: time spent reading from disk (in ms)
2085
+ - write_time: time spent writing to disk (in ms)
2086
+
2087
+ Platform specific:
2088
+
2089
+ - busy_time: (Linux, FreeBSD) time spent doing actual I/Os (in ms)
2090
+ - read_merged_count (Linux): number of merged reads
2091
+ - write_merged_count (Linux): number of merged writes
2092
+
2093
+ If *perdisk* is True return the same information for every
2094
+ physical disk installed on the system as a dictionary
2095
+ with partition names as the keys and the namedtuple
2096
+ described above as the values.
2097
+
2098
+ If *nowrap* is True it detects and adjust the numbers which overflow
2099
+ and wrap (restart from 0) and add "old value" to "new value" so that
2100
+ the returned numbers will always be increasing or remain the same,
2101
+ but never decrease.
2102
+ "disk_io_counters.cache_clear()" can be used to invalidate the
2103
+ cache.
2104
+
2105
+ On recent Windows versions 'diskperf -y' command may need to be
2106
+ executed first otherwise this function won't find any disk.
2107
+ """
2108
+ kwargs = dict(perdisk=perdisk) if LINUX else {}
2109
+ rawdict = _psplatform.disk_io_counters(**kwargs)
2110
+ if not rawdict:
2111
+ return {} if perdisk else None
2112
+ if nowrap:
2113
+ rawdict = _wrap_numbers(rawdict, 'psutil.disk_io_counters')
2114
+ nt = getattr(_psplatform, "sdiskio", _common.sdiskio)
2115
+ if perdisk:
2116
+ for disk, fields in rawdict.items():
2117
+ rawdict[disk] = nt(*fields)
2118
+ return rawdict
2119
+ else:
2120
+ return nt(*(sum(x) for x in zip(*rawdict.values())))
2121
+
2122
+
2123
+ disk_io_counters.cache_clear = functools.partial(
2124
+ _wrap_numbers.cache_clear, 'psutil.disk_io_counters'
2125
+ )
2126
+ disk_io_counters.cache_clear.__doc__ = "Clears nowrap argument cache"
2127
+
2128
+
2129
+ # =====================================================================
2130
+ # --- network related functions
2131
+ # =====================================================================
2132
+
2133
+
2134
+ def net_io_counters(pernic=False, nowrap=True):
2135
+ """Return network I/O statistics as a namedtuple including
2136
+ the following fields:
2137
+
2138
+ - bytes_sent: number of bytes sent
2139
+ - bytes_recv: number of bytes received
2140
+ - packets_sent: number of packets sent
2141
+ - packets_recv: number of packets received
2142
+ - errin: total number of errors while receiving
2143
+ - errout: total number of errors while sending
2144
+ - dropin: total number of incoming packets which were dropped
2145
+ - dropout: total number of outgoing packets which were dropped
2146
+ (always 0 on macOS and BSD)
2147
+
2148
+ If *pernic* is True return the same information for every
2149
+ network interface installed on the system as a dictionary
2150
+ with network interface names as the keys and the namedtuple
2151
+ described above as the values.
2152
+
2153
+ If *nowrap* is True it detects and adjust the numbers which overflow
2154
+ and wrap (restart from 0) and add "old value" to "new value" so that
2155
+ the returned numbers will always be increasing or remain the same,
2156
+ but never decrease.
2157
+ "net_io_counters.cache_clear()" can be used to invalidate the
2158
+ cache.
2159
+ """
2160
+ rawdict = _psplatform.net_io_counters()
2161
+ if not rawdict:
2162
+ return {} if pernic else None
2163
+ if nowrap:
2164
+ rawdict = _wrap_numbers(rawdict, 'psutil.net_io_counters')
2165
+ if pernic:
2166
+ for nic, fields in rawdict.items():
2167
+ rawdict[nic] = _common.snetio(*fields)
2168
+ return rawdict
2169
+ else:
2170
+ return _common.snetio(*[sum(x) for x in zip(*rawdict.values())])
2171
+
2172
+
2173
+ net_io_counters.cache_clear = functools.partial(
2174
+ _wrap_numbers.cache_clear, 'psutil.net_io_counters'
2175
+ )
2176
+ net_io_counters.cache_clear.__doc__ = "Clears nowrap argument cache"
2177
+
2178
+
2179
+ def net_connections(kind='inet'):
2180
+ """Return system-wide socket connections as a list of
2181
+ (fd, family, type, laddr, raddr, status, pid) namedtuples.
2182
+ In case of limited privileges 'fd' and 'pid' may be set to -1
2183
+ and None respectively.
2184
+ The *kind* parameter filters for connections that fit the
2185
+ following criteria:
2186
+
2187
+ +------------+----------------------------------------------------+
2188
+ | Kind Value | Connections using |
2189
+ +------------+----------------------------------------------------+
2190
+ | inet | IPv4 and IPv6 |
2191
+ | inet4 | IPv4 |
2192
+ | inet6 | IPv6 |
2193
+ | tcp | TCP |
2194
+ | tcp4 | TCP over IPv4 |
2195
+ | tcp6 | TCP over IPv6 |
2196
+ | udp | UDP |
2197
+ | udp4 | UDP over IPv4 |
2198
+ | udp6 | UDP over IPv6 |
2199
+ | unix | UNIX socket (both UDP and TCP protocols) |
2200
+ | all | the sum of all the possible families and protocols |
2201
+ +------------+----------------------------------------------------+
2202
+
2203
+ On macOS this function requires root privileges.
2204
+ """
2205
+ return _psplatform.net_connections(kind)
2206
+
2207
+
2208
+ def net_if_addrs():
2209
+ """Return the addresses associated to each NIC (network interface
2210
+ card) installed on the system as a dictionary whose keys are the
2211
+ NIC names and value is a list of namedtuples for each address
2212
+ assigned to the NIC. Each namedtuple includes 5 fields:
2213
+
2214
+ - family: can be either socket.AF_INET, socket.AF_INET6 or
2215
+ psutil.AF_LINK, which refers to a MAC address.
2216
+ - address: is the primary address and it is always set.
2217
+ - netmask: and 'broadcast' and 'ptp' may be None.
2218
+ - ptp: stands for "point to point" and references the
2219
+ destination address on a point to point interface
2220
+ (typically a VPN).
2221
+ - broadcast: and *ptp* are mutually exclusive.
2222
+
2223
+ Note: you can have more than one address of the same family
2224
+ associated with each interface.
2225
+ """
2226
+ has_enums = _PY3
2227
+ if has_enums:
2228
+ import socket
2229
+ rawlist = _psplatform.net_if_addrs()
2230
+ rawlist.sort(key=lambda x: x[1]) # sort by family
2231
+ ret = collections.defaultdict(list)
2232
+ for name, fam, addr, mask, broadcast, ptp in rawlist:
2233
+ if has_enums:
2234
+ try:
2235
+ fam = socket.AddressFamily(fam)
2236
+ except ValueError:
2237
+ if WINDOWS and fam == -1:
2238
+ fam = _psplatform.AF_LINK
2239
+ elif (
2240
+ hasattr(_psplatform, "AF_LINK")
2241
+ and fam == _psplatform.AF_LINK
2242
+ ):
2243
+ # Linux defines AF_LINK as an alias for AF_PACKET.
2244
+ # We re-set the family here so that repr(family)
2245
+ # will show AF_LINK rather than AF_PACKET
2246
+ fam = _psplatform.AF_LINK
2247
+ if fam == _psplatform.AF_LINK:
2248
+ # The underlying C function may return an incomplete MAC
2249
+ # address in which case we fill it with null bytes, see:
2250
+ # https://github.com/giampaolo/psutil/issues/786
2251
+ separator = ":" if POSIX else "-"
2252
+ while addr.count(separator) < 5:
2253
+ addr += "%s00" % separator
2254
+ ret[name].append(_common.snicaddr(fam, addr, mask, broadcast, ptp))
2255
+ return dict(ret)
2256
+
2257
+
2258
+ def net_if_stats():
2259
+ """Return information about each NIC (network interface card)
2260
+ installed on the system as a dictionary whose keys are the
2261
+ NIC names and value is a namedtuple with the following fields:
2262
+
2263
+ - isup: whether the interface is up (bool)
2264
+ - duplex: can be either NIC_DUPLEX_FULL, NIC_DUPLEX_HALF or
2265
+ NIC_DUPLEX_UNKNOWN
2266
+ - speed: the NIC speed expressed in mega bits (MB); if it can't
2267
+ be determined (e.g. 'localhost') it will be set to 0.
2268
+ - mtu: the maximum transmission unit expressed in bytes.
2269
+ """
2270
+ return _psplatform.net_if_stats()
2271
+
2272
+
2273
+ # =====================================================================
2274
+ # --- sensors
2275
+ # =====================================================================
2276
+
2277
+
2278
+ # Linux, macOS
2279
+ if hasattr(_psplatform, "sensors_temperatures"):
2280
+
2281
+ def sensors_temperatures(fahrenheit=False):
2282
+ """Return hardware temperatures. Each entry is a namedtuple
2283
+ representing a certain hardware sensor (it may be a CPU, an
2284
+ hard disk or something else, depending on the OS and its
2285
+ configuration).
2286
+ All temperatures are expressed in celsius unless *fahrenheit*
2287
+ is set to True.
2288
+ """
2289
+
2290
+ def convert(n):
2291
+ if n is not None:
2292
+ return (float(n) * 9 / 5) + 32 if fahrenheit else n
2293
+
2294
+ ret = collections.defaultdict(list)
2295
+ rawdict = _psplatform.sensors_temperatures()
2296
+
2297
+ for name, values in rawdict.items():
2298
+ while values:
2299
+ label, current, high, critical = values.pop(0)
2300
+ current = convert(current)
2301
+ high = convert(high)
2302
+ critical = convert(critical)
2303
+
2304
+ if high and not critical:
2305
+ critical = high
2306
+ elif critical and not high:
2307
+ high = critical
2308
+
2309
+ ret[name].append(
2310
+ _common.shwtemp(label, current, high, critical)
2311
+ )
2312
+
2313
+ return dict(ret)
2314
+
2315
+ __all__.append("sensors_temperatures")
2316
+
2317
+
2318
+ # Linux
2319
+ if hasattr(_psplatform, "sensors_fans"):
2320
+
2321
+ def sensors_fans():
2322
+ """Return fans speed. Each entry is a namedtuple
2323
+ representing a certain hardware sensor.
2324
+ All speed are expressed in RPM (rounds per minute).
2325
+ """
2326
+ return _psplatform.sensors_fans()
2327
+
2328
+ __all__.append("sensors_fans")
2329
+
2330
+
2331
+ # Linux, Windows, FreeBSD, macOS
2332
+ if hasattr(_psplatform, "sensors_battery"):
2333
+
2334
+ def sensors_battery():
2335
+ """Return battery information. If no battery is installed
2336
+ returns None.
2337
+
2338
+ - percent: battery power left as a percentage.
2339
+ - secsleft: a rough approximation of how many seconds are left
2340
+ before the battery runs out of power. May be
2341
+ POWER_TIME_UNLIMITED or POWER_TIME_UNLIMITED.
2342
+ - power_plugged: True if the AC power cable is connected.
2343
+ """
2344
+ return _psplatform.sensors_battery()
2345
+
2346
+ __all__.append("sensors_battery")
2347
+
2348
+
2349
+ # =====================================================================
2350
+ # --- other system related functions
2351
+ # =====================================================================
2352
+
2353
+
2354
+ def boot_time():
2355
+ """Return the system boot time expressed in seconds since the epoch."""
2356
+ # Note: we are not caching this because it is subject to
2357
+ # system clock updates.
2358
+ return _psplatform.boot_time()
2359
+
2360
+
2361
+ def users():
2362
+ """Return users currently connected on the system as a list of
2363
+ namedtuples including the following fields.
2364
+
2365
+ - user: the name of the user
2366
+ - terminal: the tty or pseudo-tty associated with the user, if any.
2367
+ - host: the host name associated with the entry, if any.
2368
+ - started: the creation time as a floating point number expressed in
2369
+ seconds since the epoch.
2370
+ """
2371
+ return _psplatform.users()
2372
+
2373
+
2374
+ # =====================================================================
2375
+ # --- Windows services
2376
+ # =====================================================================
2377
+
2378
+
2379
+ if WINDOWS:
2380
+
2381
+ def win_service_iter():
2382
+ """Return a generator yielding a WindowsService instance for all
2383
+ Windows services installed.
2384
+ """
2385
+ return _psplatform.win_service_iter()
2386
+
2387
+ def win_service_get(name):
2388
+ """Get a Windows service by *name*.
2389
+ Raise NoSuchProcess if no service with such name exists.
2390
+ """
2391
+ return _psplatform.win_service_get(name)
2392
+
2393
+
2394
+ # =====================================================================
2395
+
2396
+
2397
+ def _set_debug(value):
2398
+ """Enable or disable PSUTIL_DEBUG option, which prints debugging
2399
+ messages to stderr.
2400
+ """
2401
+ import psutil._common
2402
+
2403
+ psutil._common.PSUTIL_DEBUG = bool(value)
2404
+ _psplatform.cext.set_debug(bool(value))
2405
+
2406
+
2407
+ def test(): # pragma: no cover
2408
+ from ._common import bytes2human
2409
+ from ._compat import get_terminal_size
2410
+
2411
+ today_day = datetime.date.today()
2412
+ # fmt: off
2413
+ templ = "%-10s %5s %5s %7s %7s %5s %6s %6s %6s %s"
2414
+ attrs = ['pid', 'memory_percent', 'name', 'cmdline', 'cpu_times',
2415
+ 'create_time', 'memory_info', 'status', 'nice', 'username']
2416
+ print(templ % ("USER", "PID", "%MEM", "VSZ", "RSS", "NICE", # NOQA
2417
+ "STATUS", "START", "TIME", "CMDLINE"))
2418
+ # fmt: on
2419
+ for p in process_iter(attrs, ad_value=None):
2420
+ if p.info['create_time']:
2421
+ ctime = datetime.datetime.fromtimestamp(p.info['create_time'])
2422
+ if ctime.date() == today_day:
2423
+ ctime = ctime.strftime("%H:%M")
2424
+ else:
2425
+ ctime = ctime.strftime("%b%d")
2426
+ else:
2427
+ ctime = ''
2428
+ if p.info['cpu_times']:
2429
+ cputime = time.strftime(
2430
+ "%M:%S", time.localtime(sum(p.info['cpu_times']))
2431
+ )
2432
+ else:
2433
+ cputime = ''
2434
+
2435
+ user = p.info['username'] or ''
2436
+ if not user and POSIX:
2437
+ try:
2438
+ user = p.uids()[0]
2439
+ except Error:
2440
+ pass
2441
+ if user and WINDOWS and '\\' in user:
2442
+ user = user.split('\\')[1]
2443
+ user = user[:9]
2444
+ vms = (
2445
+ bytes2human(p.info['memory_info'].vms)
2446
+ if p.info['memory_info'] is not None
2447
+ else ''
2448
+ )
2449
+ rss = (
2450
+ bytes2human(p.info['memory_info'].rss)
2451
+ if p.info['memory_info'] is not None
2452
+ else ''
2453
+ )
2454
+ memp = (
2455
+ round(p.info['memory_percent'], 1)
2456
+ if p.info['memory_percent'] is not None
2457
+ else ''
2458
+ )
2459
+ nice = int(p.info['nice']) if p.info['nice'] else ''
2460
+ if p.info['cmdline']:
2461
+ cmdline = ' '.join(p.info['cmdline'])
2462
+ else:
2463
+ cmdline = p.info['name']
2464
+ status = p.info['status'][:5] if p.info['status'] else ''
2465
+
2466
+ line = templ % (
2467
+ user[:10],
2468
+ p.info['pid'],
2469
+ memp,
2470
+ vms,
2471
+ rss,
2472
+ nice,
2473
+ status,
2474
+ ctime,
2475
+ cputime,
2476
+ cmdline,
2477
+ )
2478
+ print(line[: get_terminal_size()[0]]) # NOQA
2479
+
2480
+
2481
+ del memoize_when_activated, division
2482
+ if sys.version_info[0] < 3:
2483
+ del num, x # noqa
2484
+
2485
+ if __name__ == "__main__":
2486
+ test()