Canstralian commited on
Commit
fb7582f
·
verified ·
1 Parent(s): 2f2431b

Upload 1352 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .github/ISSUE_TEMPLATE/bug_report.md +38 -0
  2. .github/ISSUE_TEMPLATE/feature_request.md +20 -0
  3. .github/workflows/ci.yml +62 -0
  4. .github/workflows/codeql.yml +92 -0
  5. .gitignore +0 -0
  6. .venv/Lib/site-packages/_distutils_hack/__init__.py +222 -0
  7. .venv/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc +0 -0
  8. .venv/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc +0 -0
  9. .venv/Lib/site-packages/_distutils_hack/override.py +1 -0
  10. .venv/Lib/site-packages/distutils-precedence.pth +3 -0
  11. .venv/Lib/site-packages/pip-25.0.dist-info/AUTHORS.txt +806 -0
  12. .venv/Lib/site-packages/pip-25.0.dist-info/INSTALLER +1 -0
  13. .venv/Lib/site-packages/pip-25.0.dist-info/LICENSE.txt +20 -0
  14. .venv/Lib/site-packages/pip-25.0.dist-info/METADATA +90 -0
  15. .venv/Lib/site-packages/pip-25.0.dist-info/RECORD +854 -0
  16. .venv/Lib/site-packages/pip-25.0.dist-info/REQUESTED +0 -0
  17. .venv/Lib/site-packages/pip-25.0.dist-info/WHEEL +5 -0
  18. .venv/Lib/site-packages/pip-25.0.dist-info/entry_points.txt +3 -0
  19. .venv/Lib/site-packages/pip-25.0.dist-info/top_level.txt +1 -0
  20. .venv/Lib/site-packages/pip/__init__.py +13 -0
  21. .venv/Lib/site-packages/pip/__main__.py +24 -0
  22. .venv/Lib/site-packages/pip/__pip-runner__.py +50 -0
  23. .venv/Lib/site-packages/pip/__pycache__/__init__.cpython-311.pyc +0 -0
  24. .venv/Lib/site-packages/pip/__pycache__/__main__.cpython-311.pyc +0 -0
  25. .venv/Lib/site-packages/pip/__pycache__/__pip-runner__.cpython-311.pyc +0 -0
  26. .venv/Lib/site-packages/pip/_internal/__init__.py +18 -0
  27. .venv/Lib/site-packages/pip/_internal/__pycache__/__init__.cpython-311.pyc +0 -0
  28. .venv/Lib/site-packages/pip/_internal/__pycache__/build_env.cpython-311.pyc +0 -0
  29. .venv/Lib/site-packages/pip/_internal/__pycache__/cache.cpython-311.pyc +0 -0
  30. .venv/Lib/site-packages/pip/_internal/__pycache__/configuration.cpython-311.pyc +0 -0
  31. .venv/Lib/site-packages/pip/_internal/__pycache__/exceptions.cpython-311.pyc +0 -0
  32. .venv/Lib/site-packages/pip/_internal/__pycache__/main.cpython-311.pyc +0 -0
  33. .venv/Lib/site-packages/pip/_internal/__pycache__/pyproject.cpython-311.pyc +0 -0
  34. .venv/Lib/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-311.pyc +0 -0
  35. .venv/Lib/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-311.pyc +0 -0
  36. .venv/Lib/site-packages/pip/_internal/build_env.py +323 -0
  37. .venv/Lib/site-packages/pip/_internal/cache.py +290 -0
  38. .venv/Lib/site-packages/pip/_internal/cli/__init__.py +4 -0
  39. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-311.pyc +0 -0
  40. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-311.pyc +0 -0
  41. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-311.pyc +0 -0
  42. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-311.pyc +0 -0
  43. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-311.pyc +0 -0
  44. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-311.pyc +0 -0
  45. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/main.cpython-311.pyc +0 -0
  46. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-311.pyc +0 -0
  47. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/parser.cpython-311.pyc +0 -0
  48. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-311.pyc +0 -0
  49. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-311.pyc +0 -0
  50. .venv/Lib/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-311.pyc +0 -0
.github/ISSUE_TEMPLATE/bug_report.md ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior:
15
+ 1. Go to '...'
16
+ 2. Click on '....'
17
+ 3. Scroll down to '....'
18
+ 4. See error
19
+
20
+ **Expected behavior**
21
+ A clear and concise description of what you expected to happen.
22
+
23
+ **Screenshots**
24
+ If applicable, add screenshots to help explain your problem.
25
+
26
+ **Desktop (please complete the following information):**
27
+ - OS: [e.g. iOS]
28
+ - Browser [e.g. chrome, safari]
29
+ - Version [e.g. 22]
30
+
31
+ **Smartphone (please complete the following information):**
32
+ - Device: [e.g. iPhone6]
33
+ - OS: [e.g. iOS8.1]
34
+ - Browser [e.g. stock browser, safari]
35
+ - Version [e.g. 22]
36
+
37
+ **Additional context**
38
+ Add any other context about the problem here.
.github/ISSUE_TEMPLATE/feature_request.md ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
.github/workflows/ci.yml ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: CI Pipeline
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+
11
+ jobs:
12
+ lint-and-test:
13
+ runs-on: ubuntu-latest
14
+
15
+ steps:
16
+ # Checkout the repository
17
+ - name: Checkout code
18
+ uses: actions/checkout@v3
19
+
20
+ # Set up Python environment
21
+ - name: Set up Python
22
+ uses: actions/setup-python@v4
23
+ with:
24
+ python-version: '3.9'
25
+
26
+ # Install dependencies
27
+ - name: Install dependencies
28
+ run: |
29
+ python -m pip install --upgrade pip
30
+ pip install -r requirements.txt
31
+ pip install flake8
32
+
33
+ # Lint code with Flake8
34
+ - name: Run Flake8
35
+ run: |
36
+ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
37
+ flake8 . --count --exit-zero --max-complexity=10 --max-line-length=88 --statistics
38
+
39
+ # Run Gradio interface test
40
+ - name: Test Gradio app
41
+ run: |
42
+ python -m unittest discover -s tests
43
+
44
+ # (Optional) Cache dependencies
45
+ - name: Cache dependencies
46
+ uses: actions/cache@v3
47
+ with:
48
+ path: ~/.cache/pip
49
+ key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
50
+ restore-keys: |
51
+ ${{ runner.os }}-pip-
52
+
53
+ deploy:
54
+ runs-on: ubuntu-latest
55
+ needs: lint-and-test
56
+
57
+ steps:
58
+ # Checkout the repository
59
+ - name: Checkout code
60
+ uses: actions/checkout@v3
61
+
62
+ # Deploy to
.github/workflows/codeql.yml ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # For most projects, this workflow file will not need changing; you simply need
2
+ # to commit it to your repository.
3
+ #
4
+ # You may wish to alter this file to override the set of languages analyzed,
5
+ # or to provide custom queries or build logic.
6
+ #
7
+ # ******** NOTE ********
8
+ # We have attempted to detect the languages in your repository. Please check
9
+ # the `language` matrix defined below to confirm you have the correct set of
10
+ # supported CodeQL languages.
11
+ #
12
+ name: "CodeQL Advanced"
13
+
14
+ on:
15
+ push:
16
+ branches: [ "main" ]
17
+ pull_request:
18
+ branches: [ "main" ]
19
+ schedule:
20
+ - cron: '39 9 * * 2'
21
+
22
+ jobs:
23
+ analyze:
24
+ name: Analyze (${{ matrix.language }})
25
+ # Runner size impacts CodeQL analysis time. To learn more, please see:
26
+ # - https://gh.io/recommended-hardware-resources-for-running-codeql
27
+ # - https://gh.io/supported-runners-and-hardware-resources
28
+ # - https://gh.io/using-larger-runners (GitHub.com only)
29
+ # Consider using larger runners or machines with greater resources for possible analysis time improvements.
30
+ runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
31
+ permissions:
32
+ # required for all workflows
33
+ security-events: write
34
+
35
+ # required to fetch internal or private CodeQL packs
36
+ packages: read
37
+
38
+ # only required for workflows in private repositories
39
+ actions: read
40
+ contents: read
41
+
42
+ strategy:
43
+ fail-fast: false
44
+ matrix:
45
+ include:
46
+ - language: python
47
+ build-mode: none
48
+ # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
49
+ # Use `c-cpp` to analyze code written in C, C++ or both
50
+ # Use 'java-kotlin' to analyze code written in Java, Kotlin or both
51
+ # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
52
+ # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
53
+ # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
54
+ # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
55
+ # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
56
+ steps:
57
+ - name: Checkout repository
58
+ uses: actions/checkout@v4
59
+
60
+ # Initializes the CodeQL tools for scanning.
61
+ - name: Initialize CodeQL
62
+ uses: github/codeql-action/init@v3
63
+ with:
64
+ languages: ${{ matrix.language }}
65
+ build-mode: ${{ matrix.build-mode }}
66
+ # If you wish to specify custom queries, you can do so here or in a config file.
67
+ # By default, queries listed here will override any specified in a config file.
68
+ # Prefix the list here with "+" to use these queries and those in the config file.
69
+
70
+ # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
71
+ # queries: security-extended,security-and-quality
72
+
73
+ # If the analyze step fails for one of the languages you are analyzing with
74
+ # "We were unable to automatically build your code", modify the matrix above
75
+ # to set the build mode to "manual" for that language. Then modify this step
76
+ # to build your code.
77
+ # ℹ️ Command-line programs to run using the OS shell.
78
+ # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
79
+ - if: matrix.build-mode == 'manual'
80
+ shell: bash
81
+ run: |
82
+ echo 'If you are using a "manual" build mode for one or more of the' \
83
+ 'languages you are analyzing, replace this with the commands to build' \
84
+ 'your code, for example:'
85
+ echo ' make bootstrap'
86
+ echo ' make release'
87
+ exit 1
88
+
89
+ - name: Perform CodeQL Analysis
90
+ uses: github/codeql-action/analyze@v3
91
+ with:
92
+ category: "/language:${{matrix.language}}"
.gitignore ADDED
File without changes
.venv/Lib/site-packages/_distutils_hack/__init__.py ADDED
@@ -0,0 +1,222 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # don't import any costly modules
2
+ import sys
3
+ import os
4
+
5
+
6
+ is_pypy = '__pypy__' in sys.builtin_module_names
7
+
8
+
9
+ def warn_distutils_present():
10
+ if 'distutils' not in sys.modules:
11
+ return
12
+ if is_pypy and sys.version_info < (3, 7):
13
+ # PyPy for 3.6 unconditionally imports distutils, so bypass the warning
14
+ # https://foss.heptapod.net/pypy/pypy/-/blob/be829135bc0d758997b3566062999ee8b23872b4/lib-python/3/site.py#L250
15
+ return
16
+ import warnings
17
+
18
+ warnings.warn(
19
+ "Distutils was imported before Setuptools, but importing Setuptools "
20
+ "also replaces the `distutils` module in `sys.modules`. This may lead "
21
+ "to undesirable behaviors or errors. To avoid these issues, avoid "
22
+ "using distutils directly, ensure that setuptools is installed in the "
23
+ "traditional way (e.g. not an editable install), and/or make sure "
24
+ "that setuptools is always imported before distutils."
25
+ )
26
+
27
+
28
+ def clear_distutils():
29
+ if 'distutils' not in sys.modules:
30
+ return
31
+ import warnings
32
+
33
+ warnings.warn("Setuptools is replacing distutils.")
34
+ mods = [
35
+ name
36
+ for name in sys.modules
37
+ if name == "distutils" or name.startswith("distutils.")
38
+ ]
39
+ for name in mods:
40
+ del sys.modules[name]
41
+
42
+
43
+ def enabled():
44
+ """
45
+ Allow selection of distutils by environment variable.
46
+ """
47
+ which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'local')
48
+ return which == 'local'
49
+
50
+
51
+ def ensure_local_distutils():
52
+ import importlib
53
+
54
+ clear_distutils()
55
+
56
+ # With the DistutilsMetaFinder in place,
57
+ # perform an import to cause distutils to be
58
+ # loaded from setuptools._distutils. Ref #2906.
59
+ with shim():
60
+ importlib.import_module('distutils')
61
+
62
+ # check that submodules load as expected
63
+ core = importlib.import_module('distutils.core')
64
+ assert '_distutils' in core.__file__, core.__file__
65
+ assert 'setuptools._distutils.log' not in sys.modules
66
+
67
+
68
+ def do_override():
69
+ """
70
+ Ensure that the local copy of distutils is preferred over stdlib.
71
+
72
+ See https://github.com/pypa/setuptools/issues/417#issuecomment-392298401
73
+ for more motivation.
74
+ """
75
+ if enabled():
76
+ warn_distutils_present()
77
+ ensure_local_distutils()
78
+
79
+
80
+ class _TrivialRe:
81
+ def __init__(self, *patterns):
82
+ self._patterns = patterns
83
+
84
+ def match(self, string):
85
+ return all(pat in string for pat in self._patterns)
86
+
87
+
88
+ class DistutilsMetaFinder:
89
+ def find_spec(self, fullname, path, target=None):
90
+ # optimization: only consider top level modules and those
91
+ # found in the CPython test suite.
92
+ if path is not None and not fullname.startswith('test.'):
93
+ return
94
+
95
+ method_name = 'spec_for_{fullname}'.format(**locals())
96
+ method = getattr(self, method_name, lambda: None)
97
+ return method()
98
+
99
+ def spec_for_distutils(self):
100
+ if self.is_cpython():
101
+ return
102
+
103
+ import importlib
104
+ import importlib.abc
105
+ import importlib.util
106
+
107
+ try:
108
+ mod = importlib.import_module('setuptools._distutils')
109
+ except Exception:
110
+ # There are a couple of cases where setuptools._distutils
111
+ # may not be present:
112
+ # - An older Setuptools without a local distutils is
113
+ # taking precedence. Ref #2957.
114
+ # - Path manipulation during sitecustomize removes
115
+ # setuptools from the path but only after the hook
116
+ # has been loaded. Ref #2980.
117
+ # In either case, fall back to stdlib behavior.
118
+ return
119
+
120
+ class DistutilsLoader(importlib.abc.Loader):
121
+ def create_module(self, spec):
122
+ mod.__name__ = 'distutils'
123
+ return mod
124
+
125
+ def exec_module(self, module):
126
+ pass
127
+
128
+ return importlib.util.spec_from_loader(
129
+ 'distutils', DistutilsLoader(), origin=mod.__file__
130
+ )
131
+
132
+ @staticmethod
133
+ def is_cpython():
134
+ """
135
+ Suppress supplying distutils for CPython (build and tests).
136
+ Ref #2965 and #3007.
137
+ """
138
+ return os.path.isfile('pybuilddir.txt')
139
+
140
+ def spec_for_pip(self):
141
+ """
142
+ Ensure stdlib distutils when running under pip.
143
+ See pypa/pip#8761 for rationale.
144
+ """
145
+ if self.pip_imported_during_build():
146
+ return
147
+ clear_distutils()
148
+ self.spec_for_distutils = lambda: None
149
+
150
+ @classmethod
151
+ def pip_imported_during_build(cls):
152
+ """
153
+ Detect if pip is being imported in a build script. Ref #2355.
154
+ """
155
+ import traceback
156
+
157
+ return any(
158
+ cls.frame_file_is_setup(frame) for frame, line in traceback.walk_stack(None)
159
+ )
160
+
161
+ @staticmethod
162
+ def frame_file_is_setup(frame):
163
+ """
164
+ Return True if the indicated frame suggests a setup.py file.
165
+ """
166
+ # some frames may not have __file__ (#2940)
167
+ return frame.f_globals.get('__file__', '').endswith('setup.py')
168
+
169
+ def spec_for_sensitive_tests(self):
170
+ """
171
+ Ensure stdlib distutils when running select tests under CPython.
172
+
173
+ python/cpython#91169
174
+ """
175
+ clear_distutils()
176
+ self.spec_for_distutils = lambda: None
177
+
178
+ sensitive_tests = (
179
+ [
180
+ 'test.test_distutils',
181
+ 'test.test_peg_generator',
182
+ 'test.test_importlib',
183
+ ]
184
+ if sys.version_info < (3, 10)
185
+ else [
186
+ 'test.test_distutils',
187
+ ]
188
+ )
189
+
190
+
191
+ for name in DistutilsMetaFinder.sensitive_tests:
192
+ setattr(
193
+ DistutilsMetaFinder,
194
+ f'spec_for_{name}',
195
+ DistutilsMetaFinder.spec_for_sensitive_tests,
196
+ )
197
+
198
+
199
+ DISTUTILS_FINDER = DistutilsMetaFinder()
200
+
201
+
202
+ def add_shim():
203
+ DISTUTILS_FINDER in sys.meta_path or insert_shim()
204
+
205
+
206
+ class shim:
207
+ def __enter__(self):
208
+ insert_shim()
209
+
210
+ def __exit__(self, exc, value, tb):
211
+ remove_shim()
212
+
213
+
214
+ def insert_shim():
215
+ sys.meta_path.insert(0, DISTUTILS_FINDER)
216
+
217
+
218
+ def remove_shim():
219
+ try:
220
+ sys.meta_path.remove(DISTUTILS_FINDER)
221
+ except ValueError:
222
+ pass
.venv/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (11.2 kB). View file
 
.venv/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc ADDED
Binary file (341 Bytes). View file
 
.venv/Lib/site-packages/_distutils_hack/override.py ADDED
@@ -0,0 +1 @@
 
 
1
+ __import__('_distutils_hack').do_override()
.venv/Lib/site-packages/distutils-precedence.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224
3
+ size 151
.venv/Lib/site-packages/pip-25.0.dist-info/AUTHORS.txt ADDED
@@ -0,0 +1,806 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @Switch01
2
+ A_Rog
3
+ Aakanksha Agrawal
4
+ Abhinav Sagar
5
+ ABHYUDAY PRATAP SINGH
6
+ abs51295
7
+ AceGentile
8
+ Adam Chainz
9
+ Adam Tse
10
+ Adam Wentz
11
+ admin
12
+ Adolfo Ochagavía
13
+ Adrien Morison
14
+ Agus
15
+ ahayrapetyan
16
+ Ahilya
17
+ AinsworthK
18
+ Akash Srivastava
19
+ Alan Yee
20
+ Albert Tugushev
21
+ Albert-Guan
22
+ albertg
23
+ Alberto Sottile
24
+ Aleks Bunin
25
+ Ales Erjavec
26
+ Alethea Flowers
27
+ Alex Gaynor
28
+ Alex Grönholm
29
+ Alex Hedges
30
+ Alex Loosley
31
+ Alex Morega
32
+ Alex Stachowiak
33
+ Alexander Shtyrov
34
+ Alexandre Conrad
35
+ Alexey Popravka
36
+ Aleš Erjavec
37
+ Alli
38
+ Ami Fischman
39
+ Ananya Maiti
40
+ Anatoly Techtonik
41
+ Anders Kaseorg
42
+ Andre Aguiar
43
+ Andreas Lutro
44
+ Andrei Geacar
45
+ Andrew Gaul
46
+ Andrew Shymanel
47
+ Andrey Bienkowski
48
+ Andrey Bulgakov
49
+ Andrés Delfino
50
+ Andy Freeland
51
+ Andy Kluger
52
+ Ani Hayrapetyan
53
+ Aniruddha Basak
54
+ Anish Tambe
55
+ Anrs Hu
56
+ Anthony Sottile
57
+ Antoine Musso
58
+ Anton Ovchinnikov
59
+ Anton Patrushev
60
+ Anton Zelenov
61
+ Antonio Alvarado Hernandez
62
+ Antony Lee
63
+ Antti Kaihola
64
+ Anubhav Patel
65
+ Anudit Nagar
66
+ Anuj Godase
67
+ AQNOUCH Mohammed
68
+ AraHaan
69
+ arena
70
+ arenasys
71
+ Arindam Choudhury
72
+ Armin Ronacher
73
+ Arnon Yaari
74
+ Artem
75
+ Arun Babu Neelicattu
76
+ Ashley Manton
77
+ Ashwin Ramaswami
78
+ atse
79
+ Atsushi Odagiri
80
+ Avinash Karhana
81
+ Avner Cohen
82
+ Awit (Ah-Wit) Ghirmai
83
+ Baptiste Mispelon
84
+ Barney Gale
85
+ barneygale
86
+ Bartek Ogryczak
87
+ Bastian Venthur
88
+ Ben Bodenmiller
89
+ Ben Darnell
90
+ Ben Hoyt
91
+ Ben Mares
92
+ Ben Rosser
93
+ Bence Nagy
94
+ Benjamin Peterson
95
+ Benjamin VanEvery
96
+ Benoit Pierre
97
+ Berker Peksag
98
+ Bernard
99
+ Bernard Tyers
100
+ Bernardo B. Marques
101
+ Bernhard M. Wiedemann
102
+ Bertil Hatt
103
+ Bhavam Vidyarthi
104
+ Blazej Michalik
105
+ Bogdan Opanchuk
106
+ BorisZZZ
107
+ Brad Erickson
108
+ Bradley Ayers
109
+ Branch Vincent
110
+ Brandon L. Reiss
111
+ Brandt Bucher
112
+ Brannon Dorsey
113
+ Brett Randall
114
+ Brett Rosen
115
+ Brian Cristante
116
+ Brian Rosner
117
+ briantracy
118
+ BrownTruck
119
+ Bruno Oliveira
120
+ Bruno Renié
121
+ Bruno S
122
+ Bstrdsmkr
123
+ Buck Golemon
124
+ burrows
125
+ Bussonnier Matthias
126
+ bwoodsend
127
+ c22
128
+ Caleb Brown
129
+ Caleb Martinez
130
+ Calvin Smith
131
+ Carl Meyer
132
+ Carlos Liam
133
+ Carol Willing
134
+ Carter Thayer
135
+ Cass
136
+ Chandrasekhar Atina
137
+ Charlie Marsh
138
+ charwick
139
+ Chih-Hsuan Yen
140
+ Chris Brinker
141
+ Chris Hunt
142
+ Chris Jerdonek
143
+ Chris Kuehl
144
+ Chris Markiewicz
145
+ Chris McDonough
146
+ Chris Pawley
147
+ Chris Pryer
148
+ Chris Wolfe
149
+ Christian Clauss
150
+ Christian Heimes
151
+ Christian Oudard
152
+ Christoph Reiter
153
+ Christopher Hunt
154
+ Christopher Snyder
155
+ chrysle
156
+ cjc7373
157
+ Clark Boylan
158
+ Claudio Jolowicz
159
+ Clay McClure
160
+ Cody
161
+ Cody Soyland
162
+ Colin Watson
163
+ Collin Anderson
164
+ Connor Osborn
165
+ Cooper Lees
166
+ Cooper Ry Lees
167
+ Cory Benfield
168
+ Cory Wright
169
+ Craig Kerstiens
170
+ Cristian Sorinel
171
+ Cristina
172
+ Cristina Muñoz
173
+ ctg123
174
+ Curtis Doty
175
+ cytolentino
176
+ Daan De Meyer
177
+ Dale
178
+ Damian
179
+ Damian Quiroga
180
+ Damian Shaw
181
+ Dan Black
182
+ Dan Savilonis
183
+ Dan Sully
184
+ Dane Hillard
185
+ daniel
186
+ Daniel Collins
187
+ Daniel Hahler
188
+ Daniel Holth
189
+ Daniel Jost
190
+ Daniel Katz
191
+ Daniel Shaulov
192
+ Daniele Esposti
193
+ Daniele Nicolodi
194
+ Daniele Procida
195
+ Daniil Konovalenko
196
+ Danny Hermes
197
+ Danny McClanahan
198
+ Darren Kavanagh
199
+ Dav Clark
200
+ Dave Abrahams
201
+ Dave Jones
202
+ David Aguilar
203
+ David Black
204
+ David Bordeynik
205
+ David Caro
206
+ David D Lowe
207
+ David Evans
208
+ David Hewitt
209
+ David Linke
210
+ David Poggi
211
+ David Poznik
212
+ David Pursehouse
213
+ David Runge
214
+ David Tucker
215
+ David Wales
216
+ Davidovich
217
+ ddelange
218
+ Deepak Sharma
219
+ Deepyaman Datta
220
+ Denise Yu
221
+ dependabot[bot]
222
+ derwolfe
223
+ Desetude
224
+ Devesh Kumar Singh
225
+ devsagul
226
+ Diego Caraballo
227
+ Diego Ramirez
228
+ DiegoCaraballo
229
+ Dimitri Merejkowsky
230
+ Dimitri Papadopoulos
231
+ Dimitri Papadopoulos Orfanos
232
+ Dirk Stolle
233
+ Dmitry Gladkov
234
+ Dmitry Volodin
235
+ Domen Kožar
236
+ Dominic Davis-Foster
237
+ Donald Stufft
238
+ Dongweiming
239
+ doron zarhi
240
+ Dos Moonen
241
+ Douglas Thor
242
+ DrFeathers
243
+ Dustin Ingram
244
+ Dustin Rodrigues
245
+ Dwayne Bailey
246
+ Ed Morley
247
+ Edgar Ramírez
248
+ Edgar Ramírez Mondragón
249
+ Ee Durbin
250
+ Efflam Lemaillet
251
+ efflamlemaillet
252
+ Eitan Adler
253
+ ekristina
254
+ elainechan
255
+ Eli Schwartz
256
+ Elisha Hollander
257
+ Ellen Marie Dash
258
+ Emil Burzo
259
+ Emil Styrke
260
+ Emmanuel Arias
261
+ Endoh Takanao
262
+ enoch
263
+ Erdinc Mutlu
264
+ Eric Cousineau
265
+ Eric Gillingham
266
+ Eric Hanchrow
267
+ Eric Hopper
268
+ Erik M. Bray
269
+ Erik Rose
270
+ Erwin Janssen
271
+ Eugene Vereshchagin
272
+ everdimension
273
+ Federico
274
+ Felipe Peter
275
+ Felix Yan
276
+ fiber-space
277
+ Filip Kokosiński
278
+ Filipe Laíns
279
+ Finn Womack
280
+ finnagin
281
+ Flavio Amurrio
282
+ Florian Briand
283
+ Florian Rathgeber
284
+ Francesco
285
+ Francesco Montesano
286
+ Fredrik Orderud
287
+ Frost Ming
288
+ Gabriel Curio
289
+ Gabriel de Perthuis
290
+ Garry Polley
291
+ gavin
292
+ gdanielson
293
+ Geoffrey Sneddon
294
+ George Song
295
+ Georgi Valkov
296
+ Georgy Pchelkin
297
+ ghost
298
+ Giftlin Rajaiah
299
+ gizmoguy1
300
+ gkdoc
301
+ Godefroid Chapelle
302
+ Gopinath M
303
+ GOTO Hayato
304
+ gousaiyang
305
+ gpiks
306
+ Greg Roodt
307
+ Greg Ward
308
+ Guilherme Espada
309
+ Guillaume Seguin
310
+ gutsytechster
311
+ Guy Rozendorn
312
+ Guy Tuval
313
+ gzpan123
314
+ Hanjun Kim
315
+ Hari Charan
316
+ Harsh Vardhan
317
+ harupy
318
+ Harutaka Kawamura
319
+ hauntsaninja
320
+ Henrich Hartzer
321
+ Henry Schreiner
322
+ Herbert Pfennig
323
+ Holly Stotelmyer
324
+ Honnix
325
+ Hsiaoming Yang
326
+ Hugo Lopes Tavares
327
+ Hugo van Kemenade
328
+ Hugues Bruant
329
+ Hynek Schlawack
330
+ Ian Bicking
331
+ Ian Cordasco
332
+ Ian Lee
333
+ Ian Stapleton Cordasco
334
+ Ian Wienand
335
+ Igor Kuzmitshov
336
+ Igor Sobreira
337
+ Ikko Ashimine
338
+ Ilan Schnell
339
+ Illia Volochii
340
+ Ilya Baryshev
341
+ Inada Naoki
342
+ Ionel Cristian Mărieș
343
+ Ionel Maries Cristian
344
+ Itamar Turner-Trauring
345
+ Ivan Pozdeev
346
+ J. Nick Koston
347
+ Jacob Kim
348
+ Jacob Walls
349
+ Jaime Sanz
350
+ jakirkham
351
+ Jakub Kuczys
352
+ Jakub Stasiak
353
+ Jakub Vysoky
354
+ Jakub Wilk
355
+ James Cleveland
356
+ James Curtin
357
+ James Firth
358
+ James Gerity
359
+ James Polley
360
+ Jan Pokorný
361
+ Jannis Leidel
362
+ Jarek Potiuk
363
+ jarondl
364
+ Jason Curtis
365
+ Jason R. Coombs
366
+ JasonMo
367
+ JasonMo1
368
+ Jay Graves
369
+ Jean Abou Samra
370
+ Jean-Christophe Fillion-Robin
371
+ Jeff Barber
372
+ Jeff Dairiki
373
+ Jeff Widman
374
+ Jelmer Vernooij
375
+ jenix21
376
+ Jeremy Fleischman
377
+ Jeremy Stanley
378
+ Jeremy Zafran
379
+ Jesse Rittner
380
+ Jiashuo Li
381
+ Jim Fisher
382
+ Jim Garrison
383
+ Jinzhe Zeng
384
+ Jiun Bae
385
+ Jivan Amara
386
+ Joe Bylund
387
+ Joe Michelini
388
+ John Paton
389
+ John Sirois
390
+ John T. Wodder II
391
+ John-Scott Atlakson
392
+ johnthagen
393
+ Jon Banafato
394
+ Jon Dufresne
395
+ Jon Parise
396
+ Jonas Nockert
397
+ Jonathan Herbert
398
+ Joonatan Partanen
399
+ Joost Molenaar
400
+ Jorge Niedbalski
401
+ Joseph Bylund
402
+ Joseph Long
403
+ Josh Bronson
404
+ Josh Cannon
405
+ Josh Hansen
406
+ Josh Schneier
407
+ Joshua
408
+ JoshuaPerdue
409
+ Juan Luis Cano Rodríguez
410
+ Juanjo Bazán
411
+ Judah Rand
412
+ Julian Berman
413
+ Julian Gethmann
414
+ Julien Demoor
415
+ July Tikhonov
416
+ Jussi Kukkonen
417
+ Justin van Heek
418
+ jwg4
419
+ Jyrki Pulliainen
420
+ Kai Chen
421
+ Kai Mueller
422
+ Kamal Bin Mustafa
423
+ Karolina Surma
424
+ kasium
425
+ kaustav haldar
426
+ keanemind
427
+ Keith Maxwell
428
+ Kelsey Hightower
429
+ Kenneth Belitzky
430
+ Kenneth Reitz
431
+ Kevin Burke
432
+ Kevin Carter
433
+ Kevin Frommelt
434
+ Kevin R Patterson
435
+ Kexuan Sun
436
+ Kit Randel
437
+ Klaas van Schelven
438
+ KOLANICH
439
+ konstin
440
+ kpinc
441
+ Krishna Oza
442
+ Kumar McMillan
443
+ Kuntal Majumder
444
+ Kurt McKee
445
+ Kyle Persohn
446
+ lakshmanaram
447
+ Laszlo Kiss-Kollar
448
+ Laurent Bristiel
449
+ Laurent LAPORTE
450
+ Laurie O
451
+ Laurie Opperman
452
+ layday
453
+ Leon Sasson
454
+ Lev Givon
455
+ Lincoln de Sousa
456
+ Lipis
457
+ lorddavidiii
458
+ Loren Carvalho
459
+ Lucas Cimon
460
+ Ludovic Gasc
461
+ Luis Medel
462
+ Lukas Geiger
463
+ Lukas Juhrich
464
+ Luke Macken
465
+ Luo Jiebin
466
+ luojiebin
467
+ luz.paz
468
+ László Kiss Kollár
469
+ M00nL1ght
470
+ Marc Abramowitz
471
+ Marc Tamlyn
472
+ Marcus Smith
473
+ Mariatta
474
+ Mark Kohler
475
+ Mark McLoughlin
476
+ Mark Williams
477
+ Markus Hametner
478
+ Martey Dodoo
479
+ Martin Fischer
480
+ Martin Häcker
481
+ Martin Pavlasek
482
+ Masaki
483
+ Masklinn
484
+ Matej Stuchlik
485
+ Mathew Jennings
486
+ Mathieu Bridon
487
+ Mathieu Kniewallner
488
+ Matt Bacchi
489
+ Matt Good
490
+ Matt Maker
491
+ Matt Robenolt
492
+ Matt Wozniski
493
+ matthew
494
+ Matthew Einhorn
495
+ Matthew Feickert
496
+ Matthew Gilliard
497
+ Matthew Hughes
498
+ Matthew Iversen
499
+ Matthew Treinish
500
+ Matthew Trumbell
501
+ Matthew Willson
502
+ Matthias Bussonnier
503
+ mattip
504
+ Maurits van Rees
505
+ Max W Chase
506
+ Maxim Kurnikov
507
+ Maxime Rouyrre
508
+ mayeut
509
+ mbaluna
510
+ mdebi
511
+ memoselyk
512
+ meowmeowcat
513
+ Michael
514
+ Michael Aquilina
515
+ Michael E. Karpeles
516
+ Michael Klich
517
+ Michael Mintz
518
+ Michael Williamson
519
+ michaelpacer
520
+ Michał Górny
521
+ Mickaël Schoentgen
522
+ Miguel Araujo Perez
523
+ Mihir Singh
524
+ Mike
525
+ Mike Hendricks
526
+ Min RK
527
+ MinRK
528
+ Miro Hrončok
529
+ Monica Baluna
530
+ montefra
531
+ Monty Taylor
532
+ morotti
533
+ mrKazzila
534
+ Muha Ajjan
535
+ Nadav Wexler
536
+ Nahuel Ambrosini
537
+ Nate Coraor
538
+ Nate Prewitt
539
+ Nathan Houghton
540
+ Nathaniel J. Smith
541
+ Nehal J Wani
542
+ Neil Botelho
543
+ Nguyễn Gia Phong
544
+ Nicholas Serra
545
+ Nick Coghlan
546
+ Nick Stenning
547
+ Nick Timkovich
548
+ Nicolas Bock
549
+ Nicole Harris
550
+ Nikhil Benesch
551
+ Nikhil Ladha
552
+ Nikita Chepanov
553
+ Nikolay Korolev
554
+ Nipunn Koorapati
555
+ Nitesh Sharma
556
+ Niyas Sait
557
+ Noah
558
+ Noah Gorny
559
+ Nowell Strite
560
+ NtaleGrey
561
+ nvdv
562
+ OBITORASU
563
+ Ofek Lev
564
+ ofrinevo
565
+ Oliver Freund
566
+ Oliver Jeeves
567
+ Oliver Mannion
568
+ Oliver Tonnhofer
569
+ Olivier Girardot
570
+ Olivier Grisel
571
+ Ollie Rutherfurd
572
+ OMOTO Kenji
573
+ Omry Yadan
574
+ onlinejudge95
575
+ Oren Held
576
+ Oscar Benjamin
577
+ Oz N Tiram
578
+ Pachwenko
579
+ Patrick Dubroy
580
+ Patrick Jenkins
581
+ Patrick Lawson
582
+ patricktokeeffe
583
+ Patrik Kopkan
584
+ Paul Ganssle
585
+ Paul Kehrer
586
+ Paul Moore
587
+ Paul Nasrat
588
+ Paul Oswald
589
+ Paul van der Linden
590
+ Paulus Schoutsen
591
+ Pavel Safronov
592
+ Pavithra Eswaramoorthy
593
+ Pawel Jasinski
594
+ Paweł Szramowski
595
+ Pekka Klärck
596
+ Peter Gessler
597
+ Peter Lisák
598
+ Peter Shen
599
+ Peter Waller
600
+ Petr Viktorin
601
+ petr-tik
602
+ Phaneendra Chiruvella
603
+ Phil Elson
604
+ Phil Freo
605
+ Phil Pennock
606
+ Phil Whelan
607
+ Philip Jägenstedt
608
+ Philip Molloy
609
+ Philippe Ombredanne
610
+ Pi Delport
611
+ Pierre-Yves Rofes
612
+ Pieter Degroote
613
+ pip
614
+ Prabakaran Kumaresshan
615
+ Prabhjyotsing Surjit Singh Sodhi
616
+ Prabhu Marappan
617
+ Pradyun Gedam
618
+ Prashant Sharma
619
+ Pratik Mallya
620
+ pre-commit-ci[bot]
621
+ Preet Thakkar
622
+ Preston Holmes
623
+ Przemek Wrzos
624
+ Pulkit Goyal
625
+ q0w
626
+ Qiangning Hong
627
+ Qiming Xu
628
+ Quentin Lee
629
+ Quentin Pradet
630
+ R. David Murray
631
+ Rafael Caricio
632
+ Ralf Schmitt
633
+ Ran Benita
634
+ Randy Döring
635
+ Razzi Abuissa
636
+ rdb
637
+ Reece Dunham
638
+ Remi Rampin
639
+ Rene Dudfield
640
+ Riccardo Magliocchetti
641
+ Riccardo Schirone
642
+ Richard Jones
643
+ Richard Si
644
+ Ricky Ng-Adam
645
+ Rishi
646
+ rmorotti
647
+ RobberPhex
648
+ Robert Collins
649
+ Robert McGibbon
650
+ Robert Pollak
651
+ Robert T. McGibbon
652
+ robin elisha robinson
653
+ Roey Berman
654
+ Rohan Jain
655
+ Roman Bogorodskiy
656
+ Roman Donchenko
657
+ Romuald Brunet
658
+ ronaudinho
659
+ Ronny Pfannschmidt
660
+ Rory McCann
661
+ Ross Brattain
662
+ Roy Wellington Ⅳ
663
+ Ruairidh MacLeod
664
+ Russell Keith-Magee
665
+ Ryan Shepherd
666
+ Ryan Wooden
667
+ ryneeverett
668
+ S. Guliaev
669
+ Sachi King
670
+ Salvatore Rinchiera
671
+ sandeepkiran-js
672
+ Sander Van Balen
673
+ Savio Jomton
674
+ schlamar
675
+ Scott Kitterman
676
+ Sean
677
+ seanj
678
+ Sebastian Jordan
679
+ Sebastian Schaetz
680
+ Segev Finer
681
+ SeongSoo Cho
682
+ Sergey Vasilyev
683
+ Seth Michael Larson
684
+ Seth Woodworth
685
+ Shahar Epstein
686
+ Shantanu
687
+ shenxianpeng
688
+ shireenrao
689
+ Shivansh-007
690
+ Shixian Sheng
691
+ Shlomi Fish
692
+ Shovan Maity
693
+ Simeon Visser
694
+ Simon Cross
695
+ Simon Pichugin
696
+ sinoroc
697
+ sinscary
698
+ snook92
699
+ socketubs
700
+ Sorin Sbarnea
701
+ Srinivas Nyayapati
702
+ Srishti Hegde
703
+ Stavros Korokithakis
704
+ Stefan Scherfke
705
+ Stefano Rivera
706
+ Stephan Erb
707
+ Stephen Rosen
708
+ stepshal
709
+ Steve (Gadget) Barnes
710
+ Steve Barnes
711
+ Steve Dower
712
+ Steve Kowalik
713
+ Steven Myint
714
+ Steven Silvester
715
+ stonebig
716
+ studioj
717
+ Stéphane Bidoul
718
+ Stéphane Bidoul (ACSONE)
719
+ Stéphane Klein
720
+ Sumana Harihareswara
721
+ Surbhi Sharma
722
+ Sviatoslav Sydorenko
723
+ Sviatoslav Sydorenko (Святослав Сидоренко)
724
+ Swat009
725
+ Sylvain
726
+ Takayuki SHIMIZUKAWA
727
+ Taneli Hukkinen
728
+ tbeswick
729
+ Thiago
730
+ Thijs Triemstra
731
+ Thomas Fenzl
732
+ Thomas Grainger
733
+ Thomas Guettler
734
+ Thomas Johansson
735
+ Thomas Kluyver
736
+ Thomas Smith
737
+ Thomas VINCENT
738
+ Tim D. Smith
739
+ Tim Gates
740
+ Tim Harder
741
+ Tim Heap
742
+ tim smith
743
+ tinruufu
744
+ Tobias Hermann
745
+ Tom Forbes
746
+ Tom Freudenheim
747
+ Tom V
748
+ Tomas Hrnciar
749
+ Tomas Orsava
750
+ Tomer Chachamu
751
+ Tommi Enenkel | AnB
752
+ Tomáš Hrnčiar
753
+ Tony Beswick
754
+ Tony Narlock
755
+ Tony Zhaocheng Tan
756
+ TonyBeswick
757
+ toonarmycaptain
758
+ Toshio Kuratomi
759
+ toxinu
760
+ Travis Swicegood
761
+ Tushar Sadhwani
762
+ Tzu-ping Chung
763
+ Valentin Haenel
764
+ Victor Stinner
765
+ victorvpaulo
766
+ Vikram - Google
767
+ Viktor Szépe
768
+ Ville Skyttä
769
+ Vinay Sajip
770
+ Vincent Philippon
771
+ Vinicyus Macedo
772
+ Vipul Kumar
773
+ Vitaly Babiy
774
+ Vladimir Fokow
775
+ Vladimir Rutsky
776
+ W. Trevor King
777
+ Wil Tan
778
+ Wilfred Hughes
779
+ William Edwards
780
+ William ML Leslie
781
+ William T Olson
782
+ William Woodruff
783
+ Wilson Mo
784
+ wim glenn
785
+ Winson Luk
786
+ Wolfgang Maier
787
+ Wu Zhenyu
788
+ XAMES3
789
+ Xavier Fernandez
790
+ Xianpeng Shen
791
+ xoviat
792
+ xtreak
793
+ YAMAMOTO Takashi
794
+ Yen Chi Hsuan
795
+ Yeray Diaz Diaz
796
+ Yoval P
797
+ Yu Jian
798
+ Yuan Jing Vincent Yan
799
+ Yusuke Hayashi
800
+ Zearin
801
+ Zhiping Deng
802
+ ziebam
803
+ Zvezdan Petkovic
804
+ Łukasz Langa
805
+ Роман Донченко
806
+ Семён Марьясин
.venv/Lib/site-packages/pip-25.0.dist-info/INSTALLER ADDED
@@ -0,0 +1 @@
 
 
1
+ pip
.venv/Lib/site-packages/pip-25.0.dist-info/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright (c) 2008-present The pip developers (see AUTHORS.txt file)
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.venv/Lib/site-packages/pip-25.0.dist-info/METADATA ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.2
2
+ Name: pip
3
+ Version: 25.0
4
+ Summary: The PyPA recommended tool for installing Python packages.
5
+ Author-email: The pip developers <distutils-sig@python.org>
6
+ License: MIT
7
+ Project-URL: Homepage, https://pip.pypa.io/
8
+ Project-URL: Documentation, https://pip.pypa.io
9
+ Project-URL: Source, https://github.com/pypa/pip
10
+ Project-URL: Changelog, https://pip.pypa.io/en/stable/news/
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Topic :: Software Development :: Build Tools
15
+ Classifier: Programming Language :: Python
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3 :: Only
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Programming Language :: Python :: Implementation :: CPython
25
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
26
+ Requires-Python: >=3.8
27
+ Description-Content-Type: text/x-rst
28
+ License-File: LICENSE.txt
29
+ License-File: AUTHORS.txt
30
+
31
+ pip - The Python Package Installer
32
+ ==================================
33
+
34
+ .. |pypi-version| image:: https://img.shields.io/pypi/v/pip.svg
35
+ :target: https://pypi.org/project/pip/
36
+ :alt: PyPI
37
+
38
+ .. |python-versions| image:: https://img.shields.io/pypi/pyversions/pip
39
+ :target: https://pypi.org/project/pip
40
+ :alt: PyPI - Python Version
41
+
42
+ .. |docs-badge| image:: https://readthedocs.org/projects/pip/badge/?version=latest
43
+ :target: https://pip.pypa.io/en/latest
44
+ :alt: Documentation
45
+
46
+ |pypi-version| |python-versions| |docs-badge|
47
+
48
+ pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.
49
+
50
+ Please take a look at our documentation for how to install and use pip:
51
+
52
+ * `Installation`_
53
+ * `Usage`_
54
+
55
+ We release updates regularly, with a new version every 3 months. Find more details in our documentation:
56
+
57
+ * `Release notes`_
58
+ * `Release process`_
59
+
60
+ If you find bugs, need help, or want to talk to the developers, please use our mailing lists or chat rooms:
61
+
62
+ * `Issue tracking`_
63
+ * `Discourse channel`_
64
+ * `User IRC`_
65
+
66
+ If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:
67
+
68
+ * `GitHub page`_
69
+ * `Development documentation`_
70
+ * `Development IRC`_
71
+
72
+ Code of Conduct
73
+ ---------------
74
+
75
+ Everyone interacting in the pip project's codebases, issue trackers, chat
76
+ rooms, and mailing lists is expected to follow the `PSF Code of Conduct`_.
77
+
78
+ .. _package installer: https://packaging.python.org/guides/tool-recommendations/
79
+ .. _Python Package Index: https://pypi.org
80
+ .. _Installation: https://pip.pypa.io/en/stable/installation/
81
+ .. _Usage: https://pip.pypa.io/en/stable/
82
+ .. _Release notes: https://pip.pypa.io/en/stable/news.html
83
+ .. _Release process: https://pip.pypa.io/en/latest/development/release-process/
84
+ .. _GitHub page: https://github.com/pypa/pip
85
+ .. _Development documentation: https://pip.pypa.io/en/latest/development
86
+ .. _Issue tracking: https://github.com/pypa/pip/issues
87
+ .. _Discourse channel: https://discuss.python.org/c/packaging
88
+ .. _User IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa
89
+ .. _Development IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa-dev
90
+ .. _PSF Code of Conduct: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
.venv/Lib/site-packages/pip-25.0.dist-info/RECORD ADDED
@@ -0,0 +1,854 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ../../Scripts/pip.exe,sha256=oEgqW64a8gGyv7T87kTTSvzQCyVZk30Jm9UNSwVQfTs,108442
2
+ ../../Scripts/pip3.11.exe,sha256=n9vwxA5qw13XIdz_H5MEpXB2oPCg6JAAoH9Cl5PWVK4,108442
3
+ ../../Scripts/pip3.exe,sha256=oEgqW64a8gGyv7T87kTTSvzQCyVZk30Jm9UNSwVQfTs,108442
4
+ pip-25.0.dist-info/AUTHORS.txt,sha256=HqzpBVLfT1lBthqQfiDlVeFkg65hJ7ZQvvWhoq-BAsA,11018
5
+ pip-25.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
6
+ pip-25.0.dist-info/LICENSE.txt,sha256=Y0MApmnUmurmWxLGxIySTFGkzfPR_whtw0VtyLyqIQQ,1093
7
+ pip-25.0.dist-info/METADATA,sha256=0zqSx1A3yJWb9n2TnoVwcP_2VnrD9kKT5yhgDQlbxvA,3675
8
+ pip-25.0.dist-info/RECORD,,
9
+ pip-25.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ pip-25.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
11
+ pip-25.0.dist-info/entry_points.txt,sha256=eeIjuzfnfR2PrhbjnbzFU6MnSS70kZLxwaHHq6M-bD0,87
12
+ pip-25.0.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
13
+ pip/__init__.py,sha256=_N_hFrsElYkcpo13D9NxLwDzPF3WgkSXpv4FjKoSa_8,355
14
+ pip/__main__.py,sha256=WzbhHXTbSE6gBY19mNN9m4s5o_365LOvTYSgqgbdBhE,854
15
+ pip/__pip-runner__.py,sha256=cPPWuJ6NK_k-GzfvlejLFgwzmYUROmpAR6QC3Q-vkXQ,1450
16
+ pip/__pycache__/__init__.cpython-311.pyc,,
17
+ pip/__pycache__/__main__.cpython-311.pyc,,
18
+ pip/__pycache__/__pip-runner__.cpython-311.pyc,,
19
+ pip/_internal/__init__.py,sha256=MfcoOluDZ8QMCFYal04IqOJ9q6m2V7a0aOsnI-WOxUo,513
20
+ pip/_internal/__pycache__/__init__.cpython-311.pyc,,
21
+ pip/_internal/__pycache__/build_env.cpython-311.pyc,,
22
+ pip/_internal/__pycache__/cache.cpython-311.pyc,,
23
+ pip/_internal/__pycache__/configuration.cpython-311.pyc,,
24
+ pip/_internal/__pycache__/exceptions.cpython-311.pyc,,
25
+ pip/_internal/__pycache__/main.cpython-311.pyc,,
26
+ pip/_internal/__pycache__/pyproject.cpython-311.pyc,,
27
+ pip/_internal/__pycache__/self_outdated_check.cpython-311.pyc,,
28
+ pip/_internal/__pycache__/wheel_builder.cpython-311.pyc,,
29
+ pip/_internal/build_env.py,sha256=FBnRPwsUlI05I1SXoYsq_Zbe1dskPpCSbS4smuVI_Oo,10716
30
+ pip/_internal/cache.py,sha256=Jb698p5PNigRtpW5o26wQNkkUv4MnQ94mc471wL63A0,10369
31
+ pip/_internal/cli/__init__.py,sha256=FkHBgpxxb-_gd6r1FjnNhfMOzAUYyXoXKJ6abijfcFU,132
32
+ pip/_internal/cli/__pycache__/__init__.cpython-311.pyc,,
33
+ pip/_internal/cli/__pycache__/autocompletion.cpython-311.pyc,,
34
+ pip/_internal/cli/__pycache__/base_command.cpython-311.pyc,,
35
+ pip/_internal/cli/__pycache__/cmdoptions.cpython-311.pyc,,
36
+ pip/_internal/cli/__pycache__/command_context.cpython-311.pyc,,
37
+ pip/_internal/cli/__pycache__/index_command.cpython-311.pyc,,
38
+ pip/_internal/cli/__pycache__/main.cpython-311.pyc,,
39
+ pip/_internal/cli/__pycache__/main_parser.cpython-311.pyc,,
40
+ pip/_internal/cli/__pycache__/parser.cpython-311.pyc,,
41
+ pip/_internal/cli/__pycache__/progress_bars.cpython-311.pyc,,
42
+ pip/_internal/cli/__pycache__/req_command.cpython-311.pyc,,
43
+ pip/_internal/cli/__pycache__/spinners.cpython-311.pyc,,
44
+ pip/_internal/cli/__pycache__/status_codes.cpython-311.pyc,,
45
+ pip/_internal/cli/autocompletion.py,sha256=Lli3Mr6aDNu7ZkJJFFvwD2-hFxNI6Avz8OwMyS5TVrs,6865
46
+ pip/_internal/cli/base_command.py,sha256=NZin6KMzW9NSYzKk4Tc8isb_TQYKR4CKd5j9mSm46PI,8625
47
+ pip/_internal/cli/cmdoptions.py,sha256=V3BB22F4_v_RkHaZ5onWnszhbBtjYZvNhbn9M0NO0HI,30116
48
+ pip/_internal/cli/command_context.py,sha256=RHgIPwtObh5KhMrd3YZTkl8zbVG-6Okml7YbFX4Ehg0,774
49
+ pip/_internal/cli/index_command.py,sha256=i_sgNlPmXC5iHUaY-dmmrHKKTgc5O4hWzisr5Al1rr0,5677
50
+ pip/_internal/cli/main.py,sha256=BDZef-bWe9g9Jpr4OVs4dDf-845HJsKw835T7AqEnAc,2817
51
+ pip/_internal/cli/main_parser.py,sha256=laDpsuBDl6kyfywp9eMMA9s84jfH2TJJn-vmL0GG90w,4338
52
+ pip/_internal/cli/parser.py,sha256=VCMtduzECUV87KaHNu-xJ-wLNL82yT3x16V4XBxOAqI,10825
53
+ pip/_internal/cli/progress_bars.py,sha256=9GcgusWtwfqou2zhAQp1XNbQHIDslqyyz9UwLzw7Jgc,2717
54
+ pip/_internal/cli/req_command.py,sha256=DqeFhmUMs6o6Ev8qawAcOoYNdAZsfyKS0MZI5jsJYwQ,12250
55
+ pip/_internal/cli/spinners.py,sha256=hIJ83GerdFgFCdobIA23Jggetegl_uC4Sp586nzFbPE,5118
56
+ pip/_internal/cli/status_codes.py,sha256=sEFHUaUJbqv8iArL3HAtcztWZmGOFX01hTesSytDEh0,116
57
+ pip/_internal/commands/__init__.py,sha256=5oRO9O3dM2vGuh0bFw4HOVletryrz5HHMmmPWwJrH9U,3882
58
+ pip/_internal/commands/__pycache__/__init__.cpython-311.pyc,,
59
+ pip/_internal/commands/__pycache__/cache.cpython-311.pyc,,
60
+ pip/_internal/commands/__pycache__/check.cpython-311.pyc,,
61
+ pip/_internal/commands/__pycache__/completion.cpython-311.pyc,,
62
+ pip/_internal/commands/__pycache__/configuration.cpython-311.pyc,,
63
+ pip/_internal/commands/__pycache__/debug.cpython-311.pyc,,
64
+ pip/_internal/commands/__pycache__/download.cpython-311.pyc,,
65
+ pip/_internal/commands/__pycache__/freeze.cpython-311.pyc,,
66
+ pip/_internal/commands/__pycache__/hash.cpython-311.pyc,,
67
+ pip/_internal/commands/__pycache__/help.cpython-311.pyc,,
68
+ pip/_internal/commands/__pycache__/index.cpython-311.pyc,,
69
+ pip/_internal/commands/__pycache__/inspect.cpython-311.pyc,,
70
+ pip/_internal/commands/__pycache__/install.cpython-311.pyc,,
71
+ pip/_internal/commands/__pycache__/list.cpython-311.pyc,,
72
+ pip/_internal/commands/__pycache__/search.cpython-311.pyc,,
73
+ pip/_internal/commands/__pycache__/show.cpython-311.pyc,,
74
+ pip/_internal/commands/__pycache__/uninstall.cpython-311.pyc,,
75
+ pip/_internal/commands/__pycache__/wheel.cpython-311.pyc,,
76
+ pip/_internal/commands/cache.py,sha256=IOezTicHjGE5sWdBx2nwPVgbjuJHM3s-BZEkpZLemuY,8107
77
+ pip/_internal/commands/check.py,sha256=Hr_4eiMd9cgVDgEvjtIdw915NmL7ROIWW8enkr8slPQ,2268
78
+ pip/_internal/commands/completion.py,sha256=HT4lD0bgsflHq2IDgYfiEdp7IGGtE7s6MgI3xn0VQEw,4287
79
+ pip/_internal/commands/configuration.py,sha256=n98enwp6y0b5G6fiRQjaZo43FlJKYve_daMhN-4BRNc,9766
80
+ pip/_internal/commands/debug.py,sha256=DNDRgE9YsKrbYzU0s3VKi8rHtKF4X13CJ_br_8PUXO0,6797
81
+ pip/_internal/commands/download.py,sha256=0qB0nys6ZEPsog451lDsjL5Bx7Z97t-B80oFZKhpzKM,5273
82
+ pip/_internal/commands/freeze.py,sha256=2Vt72BYTSm9rzue6d8dNzt8idxWK4Db6Hd-anq7GQ80,3203
83
+ pip/_internal/commands/hash.py,sha256=EVVOuvGtoPEdFi8SNnmdqlCQrhCxV-kJsdwtdcCnXGQ,1703
84
+ pip/_internal/commands/help.py,sha256=gcc6QDkcgHMOuAn5UxaZwAStsRBrnGSn_yxjS57JIoM,1132
85
+ pip/_internal/commands/index.py,sha256=RAXxmJwFhVb5S1BYzb5ifX3sn9Na8v2CCVYwSMP8pao,4731
86
+ pip/_internal/commands/inspect.py,sha256=PGrY9TRTRCM3y5Ml8Bdk8DEOXquWRfscr4DRo1LOTPc,3189
87
+ pip/_internal/commands/install.py,sha256=r3yHQUxvxt7gD5j9n6zRDslAvtx9CT_whLuQJcktp6M,29390
88
+ pip/_internal/commands/list.py,sha256=oiIzSjLP6__d7dIS3q0Xb5ywsaOThBWRqMyjjKzkPdM,12769
89
+ pip/_internal/commands/search.py,sha256=fWkUQVx_gm8ebbFAlCgqtxKXT9rNahpJ-BI__3HNZpg,5626
90
+ pip/_internal/commands/show.py,sha256=0YBhCga3PAd81vT3l7UWflktSpB5-aYqQcJxBVPazVM,7857
91
+ pip/_internal/commands/uninstall.py,sha256=7pOR7enK76gimyxQbzxcG1OsyLXL3DvX939xmM8Fvtg,3892
92
+ pip/_internal/commands/wheel.py,sha256=eJRhr_qoNNxWAkkdJCNiQM7CXd4E1_YyQhsqJnBPGGg,6414
93
+ pip/_internal/configuration.py,sha256=-KOok6jh3hFzXMPQFPJ1_EFjBpAsge-RSreQuLHLmzo,14005
94
+ pip/_internal/distributions/__init__.py,sha256=Hq6kt6gXBgjNit5hTTWLAzeCNOKoB-N0pGYSqehrli8,858
95
+ pip/_internal/distributions/__pycache__/__init__.cpython-311.pyc,,
96
+ pip/_internal/distributions/__pycache__/base.cpython-311.pyc,,
97
+ pip/_internal/distributions/__pycache__/installed.cpython-311.pyc,,
98
+ pip/_internal/distributions/__pycache__/sdist.cpython-311.pyc,,
99
+ pip/_internal/distributions/__pycache__/wheel.cpython-311.pyc,,
100
+ pip/_internal/distributions/base.py,sha256=QeB9qvKXDIjLdPBDE5fMgpfGqMMCr-govnuoQnGuiF8,1783
101
+ pip/_internal/distributions/installed.py,sha256=QinHFbWAQ8oE0pbD8MFZWkwlnfU1QYTccA1vnhrlYOU,842
102
+ pip/_internal/distributions/sdist.py,sha256=PlcP4a6-R6c98XnOM-b6Lkb3rsvh9iG4ok8shaanrzs,6751
103
+ pip/_internal/distributions/wheel.py,sha256=THBYfnv7VVt8mYhMYUtH13S1E7FDwtDyDfmUcl8ai0E,1317
104
+ pip/_internal/exceptions.py,sha256=2_byISIv3kSnI_9T-Esfxrt0LnTRgcUHyxu0twsHjQY,26481
105
+ pip/_internal/index/__init__.py,sha256=vpt-JeTZefh8a-FC22ZeBSXFVbuBcXSGiILhQZJaNpQ,30
106
+ pip/_internal/index/__pycache__/__init__.cpython-311.pyc,,
107
+ pip/_internal/index/__pycache__/collector.cpython-311.pyc,,
108
+ pip/_internal/index/__pycache__/package_finder.cpython-311.pyc,,
109
+ pip/_internal/index/__pycache__/sources.cpython-311.pyc,,
110
+ pip/_internal/index/collector.py,sha256=RdPO0JLAlmyBWPAWYHPyRoGjz3GNAeTngCNkbGey_mE,16265
111
+ pip/_internal/index/package_finder.py,sha256=mJHAljlHeHuclyuxtjvBZO6DtovKjsZjF_tCh_wux5E,38076
112
+ pip/_internal/index/sources.py,sha256=lPBLK5Xiy8Q6IQMio26Wl7ocfZOKkgGklIBNyUJ23fI,8632
113
+ pip/_internal/locations/__init__.py,sha256=UaAxeZ_f93FyouuFf4p7SXYF-4WstXuEvd3LbmPCAno,14925
114
+ pip/_internal/locations/__pycache__/__init__.cpython-311.pyc,,
115
+ pip/_internal/locations/__pycache__/_distutils.cpython-311.pyc,,
116
+ pip/_internal/locations/__pycache__/_sysconfig.cpython-311.pyc,,
117
+ pip/_internal/locations/__pycache__/base.cpython-311.pyc,,
118
+ pip/_internal/locations/_distutils.py,sha256=x6nyVLj7X11Y4khIdf-mFlxMl2FWadtVEgeb8upc_WI,6013
119
+ pip/_internal/locations/_sysconfig.py,sha256=IGzds60qsFneRogC-oeBaY7bEh3lPt_v47kMJChQXsU,7724
120
+ pip/_internal/locations/base.py,sha256=RQiPi1d4FVM2Bxk04dQhXZ2PqkeljEL2fZZ9SYqIQ78,2556
121
+ pip/_internal/main.py,sha256=r-UnUe8HLo5XFJz8inTcOOTiu_sxNhgHb6VwlGUllOI,340
122
+ pip/_internal/metadata/__init__.py,sha256=CU8jK1TZso7jOLdr0sX9xDjrcs5iy8d7IRK-hvaIO5Y,4337
123
+ pip/_internal/metadata/__pycache__/__init__.cpython-311.pyc,,
124
+ pip/_internal/metadata/__pycache__/_json.cpython-311.pyc,,
125
+ pip/_internal/metadata/__pycache__/base.cpython-311.pyc,,
126
+ pip/_internal/metadata/__pycache__/pkg_resources.cpython-311.pyc,,
127
+ pip/_internal/metadata/_json.py,sha256=ezrIYazHCINM2QUk1eA9wEAMj3aeGWeDVgGalgUzKpc,2707
128
+ pip/_internal/metadata/base.py,sha256=ft0K5XNgI4ETqZnRv2-CtvgYiMOMAeGMAzxT-f6VLJA,25298
129
+ pip/_internal/metadata/importlib/__init__.py,sha256=jUUidoxnHcfITHHaAWG1G2i5fdBYklv_uJcjo2x7VYE,135
130
+ pip/_internal/metadata/importlib/__pycache__/__init__.cpython-311.pyc,,
131
+ pip/_internal/metadata/importlib/__pycache__/_compat.cpython-311.pyc,,
132
+ pip/_internal/metadata/importlib/__pycache__/_dists.cpython-311.pyc,,
133
+ pip/_internal/metadata/importlib/__pycache__/_envs.cpython-311.pyc,,
134
+ pip/_internal/metadata/importlib/_compat.py,sha256=c6av8sP8BBjAZuFSJow1iWfygUXNM3xRTCn5nqw6B9M,2796
135
+ pip/_internal/metadata/importlib/_dists.py,sha256=oAYCd-ZyY-aZgDXo06qk-BOd6vXyg75g47WaLlAqdH0,8260
136
+ pip/_internal/metadata/importlib/_envs.py,sha256=UUB980XSrDWrMpQ1_G45i0r8Hqlg_tg3IPQ63mEqbNc,7431
137
+ pip/_internal/metadata/pkg_resources.py,sha256=U07ETAINSGeSRBfWUG93E4tZZbaW_f7PGzEqZN0hulc,10542
138
+ pip/_internal/models/__init__.py,sha256=3DHUd_qxpPozfzouoqa9g9ts1Czr5qaHfFxbnxriepM,63
139
+ pip/_internal/models/__pycache__/__init__.cpython-311.pyc,,
140
+ pip/_internal/models/__pycache__/candidate.cpython-311.pyc,,
141
+ pip/_internal/models/__pycache__/direct_url.cpython-311.pyc,,
142
+ pip/_internal/models/__pycache__/format_control.cpython-311.pyc,,
143
+ pip/_internal/models/__pycache__/index.cpython-311.pyc,,
144
+ pip/_internal/models/__pycache__/installation_report.cpython-311.pyc,,
145
+ pip/_internal/models/__pycache__/link.cpython-311.pyc,,
146
+ pip/_internal/models/__pycache__/scheme.cpython-311.pyc,,
147
+ pip/_internal/models/__pycache__/search_scope.cpython-311.pyc,,
148
+ pip/_internal/models/__pycache__/selection_prefs.cpython-311.pyc,,
149
+ pip/_internal/models/__pycache__/target_python.cpython-311.pyc,,
150
+ pip/_internal/models/__pycache__/wheel.cpython-311.pyc,,
151
+ pip/_internal/models/candidate.py,sha256=zzgFRuw_kWPjKpGw7LC0ZUMD2CQ2EberUIYs8izjdCA,753
152
+ pip/_internal/models/direct_url.py,sha256=uBtY2HHd3TO9cKQJWh0ThvE5FRr-MWRYChRU4IG9HZE,6578
153
+ pip/_internal/models/format_control.py,sha256=wtsQqSK9HaUiNxQEuB-C62eVimw6G4_VQFxV9-_KDBE,2486
154
+ pip/_internal/models/index.py,sha256=tYnL8oxGi4aSNWur0mG8DAP7rC6yuha_MwJO8xw0crI,1030
155
+ pip/_internal/models/installation_report.py,sha256=zRVZoaz-2vsrezj_H3hLOhMZCK9c7TbzWgC-jOalD00,2818
156
+ pip/_internal/models/link.py,sha256=GQ8hq7x-FDFPv25Nbn2veIM-MlBrGZDGLd7aZeF4Xrg,21448
157
+ pip/_internal/models/scheme.py,sha256=PakmHJM3e8OOWSZFtfz1Az7f1meONJnkGuQxFlt3wBE,575
158
+ pip/_internal/models/search_scope.py,sha256=67NEnsYY84784S-MM7ekQuo9KXLH-7MzFntXjapvAo0,4531
159
+ pip/_internal/models/selection_prefs.py,sha256=qaFfDs3ciqoXPg6xx45N1jPLqccLJw4N0s4P0PyHTQ8,2015
160
+ pip/_internal/models/target_python.py,sha256=2XaH2rZ5ZF-K5wcJbEMGEl7SqrTToDDNkrtQ2v_v_-Q,4271
161
+ pip/_internal/models/wheel.py,sha256=G7dND_s4ebPkEL7RJ1qCY0QhUUWIIK6AnjWgRATF5no,4539
162
+ pip/_internal/network/__init__.py,sha256=jf6Tt5nV_7zkARBrKojIXItgejvoegVJVKUbhAa5Ioc,50
163
+ pip/_internal/network/__pycache__/__init__.cpython-311.pyc,,
164
+ pip/_internal/network/__pycache__/auth.cpython-311.pyc,,
165
+ pip/_internal/network/__pycache__/cache.cpython-311.pyc,,
166
+ pip/_internal/network/__pycache__/download.cpython-311.pyc,,
167
+ pip/_internal/network/__pycache__/lazy_wheel.cpython-311.pyc,,
168
+ pip/_internal/network/__pycache__/session.cpython-311.pyc,,
169
+ pip/_internal/network/__pycache__/utils.cpython-311.pyc,,
170
+ pip/_internal/network/__pycache__/xmlrpc.cpython-311.pyc,,
171
+ pip/_internal/network/auth.py,sha256=D4gASjUrqoDFlSt6gQ767KAAjv6PUyJU0puDlhXNVRE,20809
172
+ pip/_internal/network/cache.py,sha256=0yGMA3Eet59xBSLtbPAenvI53dl29oUOeqZ2c0QL2Ss,4614
173
+ pip/_internal/network/download.py,sha256=FLOP29dPYECBiAi7eEjvAbNkyzaKNqbyjOT2m8HPW8U,6048
174
+ pip/_internal/network/lazy_wheel.py,sha256=PBdoMoNQQIA84Fhgne38jWF52W4x_KtsHjxgv4dkRKA,7622
175
+ pip/_internal/network/session.py,sha256=msM4es16LmmNEYNkrYyg8fTc7gAHbKFltawfKP27LOI,18771
176
+ pip/_internal/network/utils.py,sha256=Inaxel-NxBu4PQWkjyErdnfewsFCcgHph7dzR1-FboY,4088
177
+ pip/_internal/network/xmlrpc.py,sha256=sAxzOacJ-N1NXGPvap9jC3zuYWSnnv3GXtgR2-E2APA,1838
178
+ pip/_internal/operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
+ pip/_internal/operations/__pycache__/__init__.cpython-311.pyc,,
180
+ pip/_internal/operations/__pycache__/check.cpython-311.pyc,,
181
+ pip/_internal/operations/__pycache__/freeze.cpython-311.pyc,,
182
+ pip/_internal/operations/__pycache__/prepare.cpython-311.pyc,,
183
+ pip/_internal/operations/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
+ pip/_internal/operations/build/__pycache__/__init__.cpython-311.pyc,,
185
+ pip/_internal/operations/build/__pycache__/build_tracker.cpython-311.pyc,,
186
+ pip/_internal/operations/build/__pycache__/metadata.cpython-311.pyc,,
187
+ pip/_internal/operations/build/__pycache__/metadata_editable.cpython-311.pyc,,
188
+ pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-311.pyc,,
189
+ pip/_internal/operations/build/__pycache__/wheel.cpython-311.pyc,,
190
+ pip/_internal/operations/build/__pycache__/wheel_editable.cpython-311.pyc,,
191
+ pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-311.pyc,,
192
+ pip/_internal/operations/build/build_tracker.py,sha256=-ARW_TcjHCOX7D2NUOGntB4Fgc6b4aolsXkAK6BWL7w,4774
193
+ pip/_internal/operations/build/metadata.py,sha256=9S0CUD8U3QqZeXp-Zyt8HxwU90lE4QrnYDgrqZDzBnc,1422
194
+ pip/_internal/operations/build/metadata_editable.py,sha256=xlAwcP9q_8_fmv_3I39w9EZ7SQV9hnJZr9VuTsq2Y68,1510
195
+ pip/_internal/operations/build/metadata_legacy.py,sha256=8i6i1QZX9m_lKPStEFsHKM0MT4a-CD408JOw99daLmo,2190
196
+ pip/_internal/operations/build/wheel.py,sha256=sT12FBLAxDC6wyrDorh8kvcZ1jG5qInCRWzzP-UkJiQ,1075
197
+ pip/_internal/operations/build/wheel_editable.py,sha256=yOtoH6zpAkoKYEUtr8FhzrYnkNHQaQBjWQ2HYae1MQg,1417
198
+ pip/_internal/operations/build/wheel_legacy.py,sha256=K-6kNhmj-1xDF45ny1yheMerF0ui4EoQCLzEoHh6-tc,3045
199
+ pip/_internal/operations/check.py,sha256=L24vRL8VWbyywdoeAhM89WCd8zLTnjIbULlKelUgIec,5912
200
+ pip/_internal/operations/freeze.py,sha256=1_M79jAQKnCxWr-KCCmHuVXOVFGaUJHmoWLfFzgh7K4,9843
201
+ pip/_internal/operations/install/__init__.py,sha256=mX7hyD2GNBO2mFGokDQ30r_GXv7Y_PLdtxcUv144e-s,51
202
+ pip/_internal/operations/install/__pycache__/__init__.cpython-311.pyc,,
203
+ pip/_internal/operations/install/__pycache__/editable_legacy.cpython-311.pyc,,
204
+ pip/_internal/operations/install/__pycache__/wheel.cpython-311.pyc,,
205
+ pip/_internal/operations/install/editable_legacy.py,sha256=PoEsNEPGbIZ2yQphPsmYTKLOCMs4gv5OcCdzW124NcA,1283
206
+ pip/_internal/operations/install/wheel.py,sha256=X5Iz9yUg5LlK5VNQ9g2ikc6dcRu8EPi_SUi5iuEDRgo,27615
207
+ pip/_internal/operations/prepare.py,sha256=joWJwPkuqGscQgVNImLK71e9hRapwKvRCM8HclysmvU,28118
208
+ pip/_internal/pyproject.py,sha256=GLJ6rWRS5_2noKdajohoLyDty57Z7QXhcUAYghmTnWc,7286
209
+ pip/_internal/req/__init__.py,sha256=HxBFtZy_BbCclLgr26waMtpzYdO5T3vxePvpGAXSt5s,2653
210
+ pip/_internal/req/__pycache__/__init__.cpython-311.pyc,,
211
+ pip/_internal/req/__pycache__/constructors.cpython-311.pyc,,
212
+ pip/_internal/req/__pycache__/req_file.cpython-311.pyc,,
213
+ pip/_internal/req/__pycache__/req_install.cpython-311.pyc,,
214
+ pip/_internal/req/__pycache__/req_set.cpython-311.pyc,,
215
+ pip/_internal/req/__pycache__/req_uninstall.cpython-311.pyc,,
216
+ pip/_internal/req/constructors.py,sha256=v1qzCN1mIldwx-nCrPc8JO4lxkm3Fv8M5RWvt8LISjc,18430
217
+ pip/_internal/req/req_file.py,sha256=eys82McgaICOGic2UZRHjD720piKJPwmeSYdXlWwl6w,20234
218
+ pip/_internal/req/req_install.py,sha256=BMptxHYg2uG_b-7HFEULPb3nuw0FMAbuea8zTq2rE7w,35786
219
+ pip/_internal/req/req_set.py,sha256=j3esG0s6SzoVReX9rWn4rpYNtyET_fwxbwJPRimvRxo,2858
220
+ pip/_internal/req/req_uninstall.py,sha256=qzDIxJo-OETWqGais7tSMCDcWbATYABT-Tid3ityF0s,23853
221
+ pip/_internal/resolution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
+ pip/_internal/resolution/__pycache__/__init__.cpython-311.pyc,,
223
+ pip/_internal/resolution/__pycache__/base.cpython-311.pyc,,
224
+ pip/_internal/resolution/base.py,sha256=qlmh325SBVfvG6Me9gc5Nsh5sdwHBwzHBq6aEXtKsLA,583
225
+ pip/_internal/resolution/legacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
+ pip/_internal/resolution/legacy/__pycache__/__init__.cpython-311.pyc,,
227
+ pip/_internal/resolution/legacy/__pycache__/resolver.cpython-311.pyc,,
228
+ pip/_internal/resolution/legacy/resolver.py,sha256=3HZiJBRd1FTN6jQpI4qRO8-TbLYeIbUTS6PFvXnXs2w,24068
229
+ pip/_internal/resolution/resolvelib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
230
+ pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-311.pyc,,
231
+ pip/_internal/resolution/resolvelib/__pycache__/base.cpython-311.pyc,,
232
+ pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-311.pyc,,
233
+ pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-311.pyc,,
234
+ pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-311.pyc,,
235
+ pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-311.pyc,,
236
+ pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-311.pyc,,
237
+ pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-311.pyc,,
238
+ pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-311.pyc,,
239
+ pip/_internal/resolution/resolvelib/base.py,sha256=DCf669FsqyQY5uqXeePDHQY1e4QO-pBzWH8O0s9-K94,5023
240
+ pip/_internal/resolution/resolvelib/candidates.py,sha256=5UZ1upNnmqsP-nmEZaDYxaBgCoejw_e2WVGmmAvBxXc,20001
241
+ pip/_internal/resolution/resolvelib/factory.py,sha256=MJOLSZJY8_28PPdcutoQ6gjJ_1eBDt6Z1edtfTJyR4E,32659
242
+ pip/_internal/resolution/resolvelib/found_candidates.py,sha256=9hrTyQqFvl9I7Tji79F1AxHv39Qh1rkJ_7deSHSMfQc,6383
243
+ pip/_internal/resolution/resolvelib/provider.py,sha256=bcsFnYvlmtB80cwVdW1fIwgol8ZNr1f1VHyRTkz47SM,9935
244
+ pip/_internal/resolution/resolvelib/reporter.py,sha256=00JtoXEkTlw0-rl_sl54d71avwOsJHt9GGHcrj5Sza0,3168
245
+ pip/_internal/resolution/resolvelib/requirements.py,sha256=7JG4Z72e5Yk4vU0S5ulGvbqTy4FMQGYhY5zQhX9zTtY,8065
246
+ pip/_internal/resolution/resolvelib/resolver.py,sha256=nLJOsVMEVi2gQUVJoUFKMZAeu2f7GRMjGMvNSWyz0Bc,12592
247
+ pip/_internal/self_outdated_check.py,sha256=1PFtttvLAeyCVR3tPoBq2sOlPD0IJ-KSqU6bc1HUk9c,8318
248
+ pip/_internal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
249
+ pip/_internal/utils/__pycache__/__init__.cpython-311.pyc,,
250
+ pip/_internal/utils/__pycache__/_jaraco_text.cpython-311.pyc,,
251
+ pip/_internal/utils/__pycache__/_log.cpython-311.pyc,,
252
+ pip/_internal/utils/__pycache__/appdirs.cpython-311.pyc,,
253
+ pip/_internal/utils/__pycache__/compat.cpython-311.pyc,,
254
+ pip/_internal/utils/__pycache__/compatibility_tags.cpython-311.pyc,,
255
+ pip/_internal/utils/__pycache__/datetime.cpython-311.pyc,,
256
+ pip/_internal/utils/__pycache__/deprecation.cpython-311.pyc,,
257
+ pip/_internal/utils/__pycache__/direct_url_helpers.cpython-311.pyc,,
258
+ pip/_internal/utils/__pycache__/egg_link.cpython-311.pyc,,
259
+ pip/_internal/utils/__pycache__/entrypoints.cpython-311.pyc,,
260
+ pip/_internal/utils/__pycache__/filesystem.cpython-311.pyc,,
261
+ pip/_internal/utils/__pycache__/filetypes.cpython-311.pyc,,
262
+ pip/_internal/utils/__pycache__/glibc.cpython-311.pyc,,
263
+ pip/_internal/utils/__pycache__/hashes.cpython-311.pyc,,
264
+ pip/_internal/utils/__pycache__/logging.cpython-311.pyc,,
265
+ pip/_internal/utils/__pycache__/misc.cpython-311.pyc,,
266
+ pip/_internal/utils/__pycache__/packaging.cpython-311.pyc,,
267
+ pip/_internal/utils/__pycache__/retry.cpython-311.pyc,,
268
+ pip/_internal/utils/__pycache__/setuptools_build.cpython-311.pyc,,
269
+ pip/_internal/utils/__pycache__/subprocess.cpython-311.pyc,,
270
+ pip/_internal/utils/__pycache__/temp_dir.cpython-311.pyc,,
271
+ pip/_internal/utils/__pycache__/unpacking.cpython-311.pyc,,
272
+ pip/_internal/utils/__pycache__/urls.cpython-311.pyc,,
273
+ pip/_internal/utils/__pycache__/virtualenv.cpython-311.pyc,,
274
+ pip/_internal/utils/__pycache__/wheel.cpython-311.pyc,,
275
+ pip/_internal/utils/_jaraco_text.py,sha256=M15uUPIh5NpP1tdUGBxRau6q1ZAEtI8-XyLEETscFfE,3350
276
+ pip/_internal/utils/_log.py,sha256=-jHLOE_THaZz5BFcCnoSL9EYAtJ0nXem49s9of4jvKw,1015
277
+ pip/_internal/utils/appdirs.py,sha256=swgcTKOm3daLeXTW6v5BUS2Ti2RvEnGRQYH_yDXklAo,1665
278
+ pip/_internal/utils/compat.py,sha256=ckkFveBiYQjRWjkNsajt_oWPS57tJvE8XxoC4OIYgCY,2399
279
+ pip/_internal/utils/compatibility_tags.py,sha256=OWq5axHpW-MEEPztGdvgADrgJPAcV9a88Rxm4Z8VBs8,6272
280
+ pip/_internal/utils/datetime.py,sha256=m21Y3wAtQc-ji6Veb6k_M5g6A0ZyFI4egchTdnwh-pQ,242
281
+ pip/_internal/utils/deprecation.py,sha256=k7Qg_UBAaaTdyq82YVARA6D7RmcGTXGv7fnfcgigj4Q,3707
282
+ pip/_internal/utils/direct_url_helpers.py,sha256=r2MRtkVDACv9AGqYODBUC9CjwgtsUU1s68hmgfCJMtA,3196
283
+ pip/_internal/utils/egg_link.py,sha256=0FePZoUYKv4RGQ2t6x7w5Z427wbA_Uo3WZnAkrgsuqo,2463
284
+ pip/_internal/utils/entrypoints.py,sha256=YlhLTRl2oHBAuqhc-zmL7USS67TPWVHImjeAQHreZTQ,3064
285
+ pip/_internal/utils/filesystem.py,sha256=ajvA-q4ocliW9kPp8Yquh-4vssXbu-UKbo5FV9V4X64,4950
286
+ pip/_internal/utils/filetypes.py,sha256=i8XAQ0eFCog26Fw9yV0Yb1ygAqKYB1w9Cz9n0fj8gZU,716
287
+ pip/_internal/utils/glibc.py,sha256=vUkWq_1pJuzcYNcGKLlQmABoUiisK8noYY1yc8Wq4w4,3734
288
+ pip/_internal/utils/hashes.py,sha256=XGGLL0AG8-RhWnyz87xF6MFZ--BKadHU35D47eApCKI,4972
289
+ pip/_internal/utils/logging.py,sha256=ONfbrhaD248akkosK79if97n20EABxwjOxp5dE5RCRY,11845
290
+ pip/_internal/utils/misc.py,sha256=DWnYxBUItjRp7hhxEg4ih6P6YpKrykM86dbi_EcU8SQ,23450
291
+ pip/_internal/utils/packaging.py,sha256=cm-X_0HVHV_jRwUVZh6AuEWqSitzf8EpaJ7Uv2UGu6A,2142
292
+ pip/_internal/utils/retry.py,sha256=mhFbykXjhTnZfgzeuy-vl9c8nECnYn_CMtwNJX2tYzQ,1392
293
+ pip/_internal/utils/setuptools_build.py,sha256=ouXpud-jeS8xPyTPsXJ-m34NPvK5os45otAzdSV_IJE,4435
294
+ pip/_internal/utils/subprocess.py,sha256=EsvqSRiSMHF98T8Txmu6NLU3U--MpTTQjtNgKP0P--M,8988
295
+ pip/_internal/utils/temp_dir.py,sha256=5qOXe8M4JeY6vaFQM867d5zkp1bSwMZ-KT5jymmP0Zg,9310
296
+ pip/_internal/utils/unpacking.py,sha256=_gVdyzTRDMYktpnYljn4OoxrZTtMCf4xknSm4rK0WaA,11967
297
+ pip/_internal/utils/urls.py,sha256=qceSOZb5lbNDrHNsv7_S4L4Ytszja5NwPKUMnZHbYnM,1599
298
+ pip/_internal/utils/virtualenv.py,sha256=S6f7csYorRpiD6cvn3jISZYc3I8PJC43H5iMFpRAEDU,3456
299
+ pip/_internal/utils/wheel.py,sha256=b442jkydFHjXzDy6cMR7MpzWBJ1Q82hR5F33cmcHV3g,4494
300
+ pip/_internal/vcs/__init__.py,sha256=UAqvzpbi0VbZo3Ub6skEeZAw-ooIZR-zX_WpCbxyCoU,596
301
+ pip/_internal/vcs/__pycache__/__init__.cpython-311.pyc,,
302
+ pip/_internal/vcs/__pycache__/bazaar.cpython-311.pyc,,
303
+ pip/_internal/vcs/__pycache__/git.cpython-311.pyc,,
304
+ pip/_internal/vcs/__pycache__/mercurial.cpython-311.pyc,,
305
+ pip/_internal/vcs/__pycache__/subversion.cpython-311.pyc,,
306
+ pip/_internal/vcs/__pycache__/versioncontrol.cpython-311.pyc,,
307
+ pip/_internal/vcs/bazaar.py,sha256=EKStcQaKpNu0NK4p5Q10Oc4xb3DUxFw024XrJy40bFQ,3528
308
+ pip/_internal/vcs/git.py,sha256=3tpc9LQA_J4IVW5r5NvWaaSeDzcmJOrSFZN0J8vIKfU,18177
309
+ pip/_internal/vcs/mercurial.py,sha256=oULOhzJ2Uie-06d1omkL-_Gc6meGaUkyogvqG9ZCyPs,5249
310
+ pip/_internal/vcs/subversion.py,sha256=ddTugHBqHzV3ebKlU5QXHPN4gUqlyXbOx8q8NgXKvs8,11735
311
+ pip/_internal/vcs/versioncontrol.py,sha256=cvf_-hnTAjQLXJ3d17FMNhQfcO1AcKWUF10tfrYyP-c,22440
312
+ pip/_internal/wheel_builder.py,sha256=DL3A8LKeRj_ACp11WS5wSgASgPFqeyAeXJKdXfmaWXU,11799
313
+ pip/_vendor/__init__.py,sha256=JYuAXvClhInxIrA2FTp5p-uuWVL7WV6-vEpTs46-Qh4,4873
314
+ pip/_vendor/__pycache__/__init__.cpython-311.pyc,,
315
+ pip/_vendor/__pycache__/typing_extensions.cpython-311.pyc,,
316
+ pip/_vendor/cachecontrol/__init__.py,sha256=LMC5CBe94ZRL5xhlzwyPDmHXvBD0p7lT4R3Z73D6a_I,677
317
+ pip/_vendor/cachecontrol/__pycache__/__init__.cpython-311.pyc,,
318
+ pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-311.pyc,,
319
+ pip/_vendor/cachecontrol/__pycache__/adapter.cpython-311.pyc,,
320
+ pip/_vendor/cachecontrol/__pycache__/cache.cpython-311.pyc,,
321
+ pip/_vendor/cachecontrol/__pycache__/controller.cpython-311.pyc,,
322
+ pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-311.pyc,,
323
+ pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-311.pyc,,
324
+ pip/_vendor/cachecontrol/__pycache__/serialize.cpython-311.pyc,,
325
+ pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-311.pyc,,
326
+ pip/_vendor/cachecontrol/_cmd.py,sha256=iist2EpzJvDVIhMAxXq8iFnTBsiZAd6iplxfmNboNyk,1737
327
+ pip/_vendor/cachecontrol/adapter.py,sha256=febjY4LV87iiCIK3jcl8iH58iaSA7b9WkovsByIDK0Y,6348
328
+ pip/_vendor/cachecontrol/cache.py,sha256=OXwv7Fn2AwnKNiahJHnjtvaKLndvVLv_-zO-ltlV9qI,1953
329
+ pip/_vendor/cachecontrol/caches/__init__.py,sha256=dtrrroK5BnADR1GWjCZ19aZ0tFsMfvFBtLQQU1sp_ag,303
330
+ pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-311.pyc,,
331
+ pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-311.pyc,,
332
+ pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-311.pyc,,
333
+ pip/_vendor/cachecontrol/caches/file_cache.py,sha256=b7oMgsRSqPmEsonVJw6uFEYUlFgD6GF8TyacOGG1x3M,5399
334
+ pip/_vendor/cachecontrol/caches/redis_cache.py,sha256=9rmqwtYu_ljVkW6_oLqbC7EaX_a8YT_yLuna-eS0dgo,1386
335
+ pip/_vendor/cachecontrol/controller.py,sha256=glbPj2iZlGqdBg8z09D2DtQOzoOGXnWvy7K2LEyBsEQ,18576
336
+ pip/_vendor/cachecontrol/filewrapper.py,sha256=2ktXNPE0KqnyzF24aOsKCA58HQq1xeC6l2g6_zwjghc,4291
337
+ pip/_vendor/cachecontrol/heuristics.py,sha256=gqMXU8w0gQuEQiSdu3Yg-0vd9kW7nrWKbLca75rheGE,4881
338
+ pip/_vendor/cachecontrol/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
339
+ pip/_vendor/cachecontrol/serialize.py,sha256=HQd2IllQ05HzPkVLMXTF2uX5mjEQjDBkxCqUJUODpZk,5163
340
+ pip/_vendor/cachecontrol/wrapper.py,sha256=hsGc7g8QGQTT-4f8tgz3AM5qwScg6FO0BSdLSRdEvpU,1417
341
+ pip/_vendor/certifi/__init__.py,sha256=p_GYZrjUwPBUhpLlCZoGb0miKBKSqDAyZC5DvIuqbHQ,94
342
+ pip/_vendor/certifi/__main__.py,sha256=1k3Cr95vCxxGRGDljrW3wMdpZdL3Nhf0u1n-k2qdsCY,255
343
+ pip/_vendor/certifi/__pycache__/__init__.cpython-311.pyc,,
344
+ pip/_vendor/certifi/__pycache__/__main__.cpython-311.pyc,,
345
+ pip/_vendor/certifi/__pycache__/core.cpython-311.pyc,,
346
+ pip/_vendor/certifi/cacert.pem,sha256=lO3rZukXdPyuk6BWUJFOKQliWaXH6HGh9l1GGrUgG0c,299427
347
+ pip/_vendor/certifi/core.py,sha256=2SRT5rIcQChFDbe37BQa-kULxAgJ8qN6l1jfqTp4HIs,4486
348
+ pip/_vendor/certifi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
349
+ pip/_vendor/distlib/__init__.py,sha256=dcwgYGYGQqAEawBXPDtIx80DO_3cOmFv8HTc8JMzknQ,625
350
+ pip/_vendor/distlib/__pycache__/__init__.cpython-311.pyc,,
351
+ pip/_vendor/distlib/__pycache__/compat.cpython-311.pyc,,
352
+ pip/_vendor/distlib/__pycache__/database.cpython-311.pyc,,
353
+ pip/_vendor/distlib/__pycache__/index.cpython-311.pyc,,
354
+ pip/_vendor/distlib/__pycache__/locators.cpython-311.pyc,,
355
+ pip/_vendor/distlib/__pycache__/manifest.cpython-311.pyc,,
356
+ pip/_vendor/distlib/__pycache__/markers.cpython-311.pyc,,
357
+ pip/_vendor/distlib/__pycache__/metadata.cpython-311.pyc,,
358
+ pip/_vendor/distlib/__pycache__/resources.cpython-311.pyc,,
359
+ pip/_vendor/distlib/__pycache__/scripts.cpython-311.pyc,,
360
+ pip/_vendor/distlib/__pycache__/util.cpython-311.pyc,,
361
+ pip/_vendor/distlib/__pycache__/version.cpython-311.pyc,,
362
+ pip/_vendor/distlib/__pycache__/wheel.cpython-311.pyc,,
363
+ pip/_vendor/distlib/compat.py,sha256=2jRSjRI4o-vlXeTK2BCGIUhkc6e9ZGhSsacRM5oseTw,41467
364
+ pip/_vendor/distlib/database.py,sha256=mHy_LxiXIsIVRb-T0-idBrVLw3Ffij5teHCpbjmJ9YU,51160
365
+ pip/_vendor/distlib/index.py,sha256=lTbw268rRhj8dw1sib3VZ_0EhSGgoJO3FKJzSFMOaeA,20797
366
+ pip/_vendor/distlib/locators.py,sha256=oBeAZpFuPQSY09MgNnLfQGGAXXvVO96BFpZyKMuK4tM,51026
367
+ pip/_vendor/distlib/manifest.py,sha256=3qfmAmVwxRqU1o23AlfXrQGZzh6g_GGzTAP_Hb9C5zQ,14168
368
+ pip/_vendor/distlib/markers.py,sha256=X6sDvkFGcYS8gUW8hfsWuKEKAqhQZAJ7iXOMLxRYjYk,5164
369
+ pip/_vendor/distlib/metadata.py,sha256=zil3sg2EUfLXVigljY2d_03IJt-JSs7nX-73fECMX2s,38724
370
+ pip/_vendor/distlib/resources.py,sha256=LwbPksc0A1JMbi6XnuPdMBUn83X7BPuFNWqPGEKI698,10820
371
+ pip/_vendor/distlib/scripts.py,sha256=BJliaDAZaVB7WAkwokgC3HXwLD2iWiHaVI50H7C6eG8,18608
372
+ pip/_vendor/distlib/t32.exe,sha256=a0GV5kCoWsMutvliiCKmIgV98eRZ33wXoS-XrqvJQVs,97792
373
+ pip/_vendor/distlib/t64-arm.exe,sha256=68TAa32V504xVBnufojh0PcenpR3U4wAqTqf-MZqbPw,182784
374
+ pip/_vendor/distlib/t64.exe,sha256=gaYY8hy4fbkHYTTnA4i26ct8IQZzkBG2pRdy0iyuBrc,108032
375
+ pip/_vendor/distlib/util.py,sha256=vMPGvsS4j9hF6Y9k3Tyom1aaHLb0rFmZAEyzeAdel9w,66682
376
+ pip/_vendor/distlib/version.py,sha256=s5VIs8wBn0fxzGxWM_aA2ZZyx525HcZbMvcTlTyZ3Rg,23727
377
+ pip/_vendor/distlib/w32.exe,sha256=R4csx3-OGM9kL4aPIzQKRo5TfmRSHZo6QWyLhDhNBks,91648
378
+ pip/_vendor/distlib/w64-arm.exe,sha256=xdyYhKj0WDcVUOCb05blQYvzdYIKMbmJn2SZvzkcey4,168448
379
+ pip/_vendor/distlib/w64.exe,sha256=ejGf-rojoBfXseGLpya6bFTFPWRG21X5KvU8J5iU-K0,101888
380
+ pip/_vendor/distlib/wheel.py,sha256=DFIVguEQHCdxnSdAO0dfFsgMcvVZitg7bCOuLwZ7A_s,43979
381
+ pip/_vendor/distro/__init__.py,sha256=2fHjF-SfgPvjyNZ1iHh_wjqWdR_Yo5ODHwZC0jLBPhc,981
382
+ pip/_vendor/distro/__main__.py,sha256=bu9d3TifoKciZFcqRBuygV3GSuThnVD_m2IK4cz96Vs,64
383
+ pip/_vendor/distro/__pycache__/__init__.cpython-311.pyc,,
384
+ pip/_vendor/distro/__pycache__/__main__.cpython-311.pyc,,
385
+ pip/_vendor/distro/__pycache__/distro.cpython-311.pyc,,
386
+ pip/_vendor/distro/distro.py,sha256=XqbefacAhDT4zr_trnbA15eY8vdK4GTghgmvUGrEM_4,49430
387
+ pip/_vendor/distro/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
388
+ pip/_vendor/idna/__init__.py,sha256=MPqNDLZbXqGaNdXxAFhiqFPKEQXju2jNQhCey6-5eJM,868
389
+ pip/_vendor/idna/__pycache__/__init__.cpython-311.pyc,,
390
+ pip/_vendor/idna/__pycache__/codec.cpython-311.pyc,,
391
+ pip/_vendor/idna/__pycache__/compat.cpython-311.pyc,,
392
+ pip/_vendor/idna/__pycache__/core.cpython-311.pyc,,
393
+ pip/_vendor/idna/__pycache__/idnadata.cpython-311.pyc,,
394
+ pip/_vendor/idna/__pycache__/intranges.cpython-311.pyc,,
395
+ pip/_vendor/idna/__pycache__/package_data.cpython-311.pyc,,
396
+ pip/_vendor/idna/__pycache__/uts46data.cpython-311.pyc,,
397
+ pip/_vendor/idna/codec.py,sha256=PEew3ItwzjW4hymbasnty2N2OXvNcgHB-JjrBuxHPYY,3422
398
+ pip/_vendor/idna/compat.py,sha256=RzLy6QQCdl9784aFhb2EX9EKGCJjg0P3PilGdeXXcx8,316
399
+ pip/_vendor/idna/core.py,sha256=YJYyAMnwiQEPjVC4-Fqu_p4CJ6yKKuDGmppBNQNQpFs,13239
400
+ pip/_vendor/idna/idnadata.py,sha256=W30GcIGvtOWYwAjZj4ZjuouUutC6ffgNuyjJy7fZ-lo,78306
401
+ pip/_vendor/idna/intranges.py,sha256=amUtkdhYcQG8Zr-CoMM_kVRacxkivC1WgxN1b63KKdU,1898
402
+ pip/_vendor/idna/package_data.py,sha256=q59S3OXsc5VI8j6vSD0sGBMyk6zZ4vWFREE88yCJYKs,21
403
+ pip/_vendor/idna/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
404
+ pip/_vendor/idna/uts46data.py,sha256=rt90K9J40gUSwppDPCrhjgi5AA6pWM65dEGRSf6rIhM,239289
405
+ pip/_vendor/msgpack/__init__.py,sha256=reRaiOtEzSjPnr7TpxjgIvbfln5pV66FhricAs2eC-g,1109
406
+ pip/_vendor/msgpack/__pycache__/__init__.cpython-311.pyc,,
407
+ pip/_vendor/msgpack/__pycache__/exceptions.cpython-311.pyc,,
408
+ pip/_vendor/msgpack/__pycache__/ext.cpython-311.pyc,,
409
+ pip/_vendor/msgpack/__pycache__/fallback.cpython-311.pyc,,
410
+ pip/_vendor/msgpack/exceptions.py,sha256=dCTWei8dpkrMsQDcjQk74ATl9HsIBH0ybt8zOPNqMYc,1081
411
+ pip/_vendor/msgpack/ext.py,sha256=kteJv03n9tYzd5oo3xYopVTo4vRaAxonBQQJhXohZZo,5726
412
+ pip/_vendor/msgpack/fallback.py,sha256=0g1Pzp0vtmBEmJ5w9F3s_-JMVURP8RS4G1cc5TRaAsI,32390
413
+ pip/_vendor/packaging/__init__.py,sha256=dk4Ta_vmdVJxYHDcfyhvQNw8V3PgSBomKNXqg-D2JDY,494
414
+ pip/_vendor/packaging/__pycache__/__init__.cpython-311.pyc,,
415
+ pip/_vendor/packaging/__pycache__/_elffile.cpython-311.pyc,,
416
+ pip/_vendor/packaging/__pycache__/_manylinux.cpython-311.pyc,,
417
+ pip/_vendor/packaging/__pycache__/_musllinux.cpython-311.pyc,,
418
+ pip/_vendor/packaging/__pycache__/_parser.cpython-311.pyc,,
419
+ pip/_vendor/packaging/__pycache__/_structures.cpython-311.pyc,,
420
+ pip/_vendor/packaging/__pycache__/_tokenizer.cpython-311.pyc,,
421
+ pip/_vendor/packaging/__pycache__/markers.cpython-311.pyc,,
422
+ pip/_vendor/packaging/__pycache__/metadata.cpython-311.pyc,,
423
+ pip/_vendor/packaging/__pycache__/requirements.cpython-311.pyc,,
424
+ pip/_vendor/packaging/__pycache__/specifiers.cpython-311.pyc,,
425
+ pip/_vendor/packaging/__pycache__/tags.cpython-311.pyc,,
426
+ pip/_vendor/packaging/__pycache__/utils.cpython-311.pyc,,
427
+ pip/_vendor/packaging/__pycache__/version.cpython-311.pyc,,
428
+ pip/_vendor/packaging/_elffile.py,sha256=cflAQAkE25tzhYmq_aCi72QfbT_tn891tPzfpbeHOwE,3306
429
+ pip/_vendor/packaging/_manylinux.py,sha256=vl5OCoz4kx80H5rwXKeXWjl9WNISGmr4ZgTpTP9lU9c,9612
430
+ pip/_vendor/packaging/_musllinux.py,sha256=p9ZqNYiOItGee8KcZFeHF_YcdhVwGHdK6r-8lgixvGQ,2694
431
+ pip/_vendor/packaging/_parser.py,sha256=s_TvTvDNK0NrM2QB3VKThdWFM4Nc0P6JnkObkl3MjpM,10236
432
+ pip/_vendor/packaging/_structures.py,sha256=q3eVNmbWJGG_S0Dit_S3Ao8qQqz_5PYTXFAKBZe5yr4,1431
433
+ pip/_vendor/packaging/_tokenizer.py,sha256=J6v5H7Jzvb-g81xp_2QACKwO7LxHQA6ikryMU7zXwN8,5273
434
+ pip/_vendor/packaging/licenses/__init__.py,sha256=A116-FU49_Dz4162M4y1uAiZN4Rgdc83FxNd8EjlfqI,5727
435
+ pip/_vendor/packaging/licenses/__pycache__/__init__.cpython-311.pyc,,
436
+ pip/_vendor/packaging/licenses/__pycache__/_spdx.cpython-311.pyc,,
437
+ pip/_vendor/packaging/licenses/_spdx.py,sha256=oAm1ztPFwlsmCKe7lAAsv_OIOfS1cWDu9bNBkeu-2ns,48398
438
+ pip/_vendor/packaging/markers.py,sha256=c89TNzB7ZdGYhkovm6PYmqGyHxXlYVaLW591PHUNKD8,10561
439
+ pip/_vendor/packaging/metadata.py,sha256=YJibM7GYe4re8-0a3OlXmGS-XDgTEoO4tlBt2q25Bng,34762
440
+ pip/_vendor/packaging/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
441
+ pip/_vendor/packaging/requirements.py,sha256=gYyRSAdbrIyKDY66ugIDUQjRMvxkH2ALioTmX3tnL6o,2947
442
+ pip/_vendor/packaging/specifiers.py,sha256=hGU6kuCd77bL-msIL6yLCp6MNT75RSMUKZDuju26c8U,40098
443
+ pip/_vendor/packaging/tags.py,sha256=CFqrJzAzc2XNGexerH__T-Y5Iwq7WbsYXsiLERLWxY0,21014
444
+ pip/_vendor/packaging/utils.py,sha256=0F3Hh9OFuRgrhTgGZUl5K22Fv1YP2tZl1z_2gO6kJiA,5050
445
+ pip/_vendor/packaging/version.py,sha256=oiHqzTUv_p12hpjgsLDVcaF5hT7pDaSOViUNMD4GTW0,16688
446
+ pip/_vendor/pkg_resources/__init__.py,sha256=jrhDRbOubP74QuPXxd7U7Po42PH2l-LZ2XfcO7llpZ4,124463
447
+ pip/_vendor/pkg_resources/__pycache__/__init__.cpython-311.pyc,,
448
+ pip/_vendor/platformdirs/__init__.py,sha256=JueR2cRLkxY7iwik-qNWJCwKOrAlBgVgcZ_IHQzqGLE,22344
449
+ pip/_vendor/platformdirs/__main__.py,sha256=jBJ8zb7Mpx5ebcqF83xrpO94MaeCpNGHVf9cvDN2JLg,1505
450
+ pip/_vendor/platformdirs/__pycache__/__init__.cpython-311.pyc,,
451
+ pip/_vendor/platformdirs/__pycache__/__main__.cpython-311.pyc,,
452
+ pip/_vendor/platformdirs/__pycache__/android.cpython-311.pyc,,
453
+ pip/_vendor/platformdirs/__pycache__/api.cpython-311.pyc,,
454
+ pip/_vendor/platformdirs/__pycache__/macos.cpython-311.pyc,,
455
+ pip/_vendor/platformdirs/__pycache__/unix.cpython-311.pyc,,
456
+ pip/_vendor/platformdirs/__pycache__/version.cpython-311.pyc,,
457
+ pip/_vendor/platformdirs/__pycache__/windows.cpython-311.pyc,,
458
+ pip/_vendor/platformdirs/android.py,sha256=kV5oL3V3DZ6WZKu9yFiQupv18yp_jlSV2ChH1TmPcds,9007
459
+ pip/_vendor/platformdirs/api.py,sha256=2dfUDNbEXeDhDKarqtR5NY7oUikUZ4RZhs3ozstmhBQ,9246
460
+ pip/_vendor/platformdirs/macos.py,sha256=UlbyFZ8Rzu3xndCqQEHrfsYTeHwYdFap1Ioz-yxveT4,6154
461
+ pip/_vendor/platformdirs/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
462
+ pip/_vendor/platformdirs/unix.py,sha256=uRPJWRyQEtv7yOSvU94rUmsblo5XKDLA1SzFg55kbK0,10393
463
+ pip/_vendor/platformdirs/version.py,sha256=oH4KgTfK4AklbTYVcV_yynvJ9JLI3pyvDVay0hRsLCs,411
464
+ pip/_vendor/platformdirs/windows.py,sha256=IFpiohUBwxPtCzlyKwNtxyW4Jk8haa6W8o59mfrDXVo,10125
465
+ pip/_vendor/pygments/__init__.py,sha256=7N1oiaWulw_nCsTY4EEixYLz15pWY5u4uPAFFi-ielU,2983
466
+ pip/_vendor/pygments/__main__.py,sha256=isIhBxLg65nLlXukG4VkMuPfNdd7gFzTZ_R_z3Q8diY,353
467
+ pip/_vendor/pygments/__pycache__/__init__.cpython-311.pyc,,
468
+ pip/_vendor/pygments/__pycache__/__main__.cpython-311.pyc,,
469
+ pip/_vendor/pygments/__pycache__/cmdline.cpython-311.pyc,,
470
+ pip/_vendor/pygments/__pycache__/console.cpython-311.pyc,,
471
+ pip/_vendor/pygments/__pycache__/filter.cpython-311.pyc,,
472
+ pip/_vendor/pygments/__pycache__/formatter.cpython-311.pyc,,
473
+ pip/_vendor/pygments/__pycache__/lexer.cpython-311.pyc,,
474
+ pip/_vendor/pygments/__pycache__/modeline.cpython-311.pyc,,
475
+ pip/_vendor/pygments/__pycache__/plugin.cpython-311.pyc,,
476
+ pip/_vendor/pygments/__pycache__/regexopt.cpython-311.pyc,,
477
+ pip/_vendor/pygments/__pycache__/scanner.cpython-311.pyc,,
478
+ pip/_vendor/pygments/__pycache__/sphinxext.cpython-311.pyc,,
479
+ pip/_vendor/pygments/__pycache__/style.cpython-311.pyc,,
480
+ pip/_vendor/pygments/__pycache__/token.cpython-311.pyc,,
481
+ pip/_vendor/pygments/__pycache__/unistring.cpython-311.pyc,,
482
+ pip/_vendor/pygments/__pycache__/util.cpython-311.pyc,,
483
+ pip/_vendor/pygments/cmdline.py,sha256=LIVzmAunlk9sRJJp54O4KRy9GDIN4Wu13v9p9QzfGPM,23656
484
+ pip/_vendor/pygments/console.py,sha256=yhP9UsLAVmWKVQf2446JJewkA7AiXeeTf4Ieg3Oi2fU,1718
485
+ pip/_vendor/pygments/filter.py,sha256=_ADNPCskD8_GmodHi6_LoVgPU3Zh336aBCT5cOeTMs0,1910
486
+ pip/_vendor/pygments/filters/__init__.py,sha256=RdedK2KWKXlKwR7cvkfr3NUj9YiZQgMgilRMFUg2jPA,40392
487
+ pip/_vendor/pygments/filters/__pycache__/__init__.cpython-311.pyc,,
488
+ pip/_vendor/pygments/formatter.py,sha256=jDWBTndlBH2Z5IYZFVDnP0qn1CaTQjTWt7iAGtCnJEg,4390
489
+ pip/_vendor/pygments/formatters/__init__.py,sha256=8No-NUs8rBTSSBJIv4hSEQt2M0cFB4hwAT0snVc2QGE,5385
490
+ pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-311.pyc,,
491
+ pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-311.pyc,,
492
+ pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-311.pyc,,
493
+ pip/_vendor/pygments/formatters/__pycache__/groff.cpython-311.pyc,,
494
+ pip/_vendor/pygments/formatters/__pycache__/html.cpython-311.pyc,,
495
+ pip/_vendor/pygments/formatters/__pycache__/img.cpython-311.pyc,,
496
+ pip/_vendor/pygments/formatters/__pycache__/irc.cpython-311.pyc,,
497
+ pip/_vendor/pygments/formatters/__pycache__/latex.cpython-311.pyc,,
498
+ pip/_vendor/pygments/formatters/__pycache__/other.cpython-311.pyc,,
499
+ pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-311.pyc,,
500
+ pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-311.pyc,,
501
+ pip/_vendor/pygments/formatters/__pycache__/svg.cpython-311.pyc,,
502
+ pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-311.pyc,,
503
+ pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-311.pyc,,
504
+ pip/_vendor/pygments/formatters/_mapping.py,sha256=1Cw37FuQlNacnxRKmtlPX4nyLoX9_ttko5ZwscNUZZ4,4176
505
+ pip/_vendor/pygments/formatters/bbcode.py,sha256=3JQLI45tcrQ_kRUMjuab6C7Hb0XUsbVWqqbSn9cMjkI,3320
506
+ pip/_vendor/pygments/formatters/groff.py,sha256=M39k0PaSSZRnxWjqBSVPkF0mu1-Vr7bm6RsFvs-CNN4,5106
507
+ pip/_vendor/pygments/formatters/html.py,sha256=SE2jc3YCqbMS3rZW9EAmDlAUhdVxJ52gA4dileEvCGU,35669
508
+ pip/_vendor/pygments/formatters/img.py,sha256=MwA4xWPLOwh6j7Yc6oHzjuqSPt0M1fh5r-5BTIIUfsU,23287
509
+ pip/_vendor/pygments/formatters/irc.py,sha256=dp1Z0l_ObJ5NFh9MhqLGg5ptG5hgJqedT2Vkutt9v0M,4981
510
+ pip/_vendor/pygments/formatters/latex.py,sha256=XMmhOCqUKDBQtG5mGJNAFYxApqaC5puo5cMmPfK3944,19306
511
+ pip/_vendor/pygments/formatters/other.py,sha256=56PMJOliin-rAUdnRM0i1wsV1GdUPd_dvQq0_UPfF9c,5034
512
+ pip/_vendor/pygments/formatters/pangomarkup.py,sha256=y16U00aVYYEFpeCfGXlYBSMacG425CbfoG8oKbKegIg,2218
513
+ pip/_vendor/pygments/formatters/rtf.py,sha256=ZT90dmcKyJboIB0mArhL7IhE467GXRN0G7QAUgG03To,11957
514
+ pip/_vendor/pygments/formatters/svg.py,sha256=KKsiophPupHuxm0So-MsbQEWOT54IAiSF7hZPmxtKXE,7174
515
+ pip/_vendor/pygments/formatters/terminal.py,sha256=AojNG4MlKq2L6IsC_VnXHu4AbHCBn9Otog6u45XvxeI,4674
516
+ pip/_vendor/pygments/formatters/terminal256.py,sha256=kGkNUVo3FpwjytIDS0if79EuUoroAprcWt3igrcIqT0,11753
517
+ pip/_vendor/pygments/lexer.py,sha256=TYHDt___gNW4axTl2zvPZff-VQi8fPaIh5OKRcVSjUM,35349
518
+ pip/_vendor/pygments/lexers/__init__.py,sha256=pIlxyQJuu_syh9lE080cq8ceVbEVcKp0osAFU5fawJU,12115
519
+ pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-311.pyc,,
520
+ pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-311.pyc,,
521
+ pip/_vendor/pygments/lexers/__pycache__/python.cpython-311.pyc,,
522
+ pip/_vendor/pygments/lexers/_mapping.py,sha256=61-h3zr103m01OS5BUq_AfUiL9YI06Ves9ipQ7k4vr4,76097
523
+ pip/_vendor/pygments/lexers/python.py,sha256=2J_YJrPTr_A6fJY_qKiKv0GpgPwHMrlMSeo59qN3fe4,53687
524
+ pip/_vendor/pygments/modeline.py,sha256=gtRYZBS-CKOCDXHhGZqApboHBaZwGH8gznN3O6nuxj4,1005
525
+ pip/_vendor/pygments/plugin.py,sha256=ioeJ3QeoJ-UQhZpY9JL7vbxsTVuwwM7BCu-Jb8nN0AU,1891
526
+ pip/_vendor/pygments/regexopt.py,sha256=Hky4EB13rIXEHQUNkwmCrYqtIlnXDehNR3MztafZ43w,3072
527
+ pip/_vendor/pygments/scanner.py,sha256=NDy3ofK_fHRFK4hIDvxpamG871aewqcsIb6sgTi7Fhk,3092
528
+ pip/_vendor/pygments/sphinxext.py,sha256=iOptJBcqOGPwMEJ2p70PvwpZPIGdvdZ8dxvq6kzxDgA,7981
529
+ pip/_vendor/pygments/style.py,sha256=rSCZWFpg1_DwFMXDU0nEVmAcBHpuQGf9RxvOPPQvKLQ,6420
530
+ pip/_vendor/pygments/styles/__init__.py,sha256=qUk6_1z5KmT8EdJFZYgESmG6P_HJF_2vVrDD7HSCGYY,2042
531
+ pip/_vendor/pygments/styles/__pycache__/__init__.cpython-311.pyc,,
532
+ pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-311.pyc,,
533
+ pip/_vendor/pygments/styles/_mapping.py,sha256=6lovFUE29tz6EsV3XYY4hgozJ7q1JL7cfO3UOlgnS8w,3312
534
+ pip/_vendor/pygments/token.py,sha256=qZwT7LSPy5YBY3JgDjut642CCy7JdQzAfmqD9NmT5j0,6226
535
+ pip/_vendor/pygments/unistring.py,sha256=p5c1i-HhoIhWemy9CUsaN9o39oomYHNxXll0Xfw6tEA,63208
536
+ pip/_vendor/pygments/util.py,sha256=2tj2nS1X9_OpcuSjf8dOET2bDVZhs8cEKd_uT6-Fgg8,10031
537
+ pip/_vendor/pyproject_hooks/__init__.py,sha256=cPB_a9LXz5xvsRbX1o2qyAdjLatZJdQ_Lc5McNX-X7Y,691
538
+ pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-311.pyc,,
539
+ pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-311.pyc,,
540
+ pip/_vendor/pyproject_hooks/_impl.py,sha256=jY-raxnmyRyB57ruAitrJRUzEexuAhGTpgMygqx67Z4,14936
541
+ pip/_vendor/pyproject_hooks/_in_process/__init__.py,sha256=MJNPpfIxcO-FghxpBbxkG1rFiQf6HOUbV4U5mq0HFns,557
542
+ pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-311.pyc,,
543
+ pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-311.pyc,,
544
+ pip/_vendor/pyproject_hooks/_in_process/_in_process.py,sha256=qcXMhmx__MIJq10gGHW3mA4Tl8dy8YzHMccwnNoKlw0,12216
545
+ pip/_vendor/pyproject_hooks/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
546
+ pip/_vendor/requests/__init__.py,sha256=HlB_HzhrzGtfD_aaYUwUh1zWXLZ75_YCLyit75d0Vz8,5057
547
+ pip/_vendor/requests/__pycache__/__init__.cpython-311.pyc,,
548
+ pip/_vendor/requests/__pycache__/__version__.cpython-311.pyc,,
549
+ pip/_vendor/requests/__pycache__/_internal_utils.cpython-311.pyc,,
550
+ pip/_vendor/requests/__pycache__/adapters.cpython-311.pyc,,
551
+ pip/_vendor/requests/__pycache__/api.cpython-311.pyc,,
552
+ pip/_vendor/requests/__pycache__/auth.cpython-311.pyc,,
553
+ pip/_vendor/requests/__pycache__/certs.cpython-311.pyc,,
554
+ pip/_vendor/requests/__pycache__/compat.cpython-311.pyc,,
555
+ pip/_vendor/requests/__pycache__/cookies.cpython-311.pyc,,
556
+ pip/_vendor/requests/__pycache__/exceptions.cpython-311.pyc,,
557
+ pip/_vendor/requests/__pycache__/help.cpython-311.pyc,,
558
+ pip/_vendor/requests/__pycache__/hooks.cpython-311.pyc,,
559
+ pip/_vendor/requests/__pycache__/models.cpython-311.pyc,,
560
+ pip/_vendor/requests/__pycache__/packages.cpython-311.pyc,,
561
+ pip/_vendor/requests/__pycache__/sessions.cpython-311.pyc,,
562
+ pip/_vendor/requests/__pycache__/status_codes.cpython-311.pyc,,
563
+ pip/_vendor/requests/__pycache__/structures.cpython-311.pyc,,
564
+ pip/_vendor/requests/__pycache__/utils.cpython-311.pyc,,
565
+ pip/_vendor/requests/__version__.py,sha256=FVfglgZmNQnmYPXpOohDU58F5EUb_-VnSTaAesS187g,435
566
+ pip/_vendor/requests/_internal_utils.py,sha256=nMQymr4hs32TqVo5AbCrmcJEhvPUh7xXlluyqwslLiQ,1495
567
+ pip/_vendor/requests/adapters.py,sha256=J7VeVxKBvawbtlX2DERVo05J9BXTcWYLMHNd1Baa-bk,27607
568
+ pip/_vendor/requests/api.py,sha256=_Zb9Oa7tzVIizTKwFrPjDEY9ejtm_OnSRERnADxGsQs,6449
569
+ pip/_vendor/requests/auth.py,sha256=kF75tqnLctZ9Mf_hm9TZIj4cQWnN5uxRz8oWsx5wmR0,10186
570
+ pip/_vendor/requests/certs.py,sha256=kHDlkK_beuHXeMPc5jta2wgl8gdKeUWt5f2nTDVrvt8,441
571
+ pip/_vendor/requests/compat.py,sha256=Mo9f9xZpefod8Zm-n9_StJcVTmwSukXR2p3IQyyVXvU,1485
572
+ pip/_vendor/requests/cookies.py,sha256=bNi-iqEj4NPZ00-ob-rHvzkvObzN3lEpgw3g6paS3Xw,18590
573
+ pip/_vendor/requests/exceptions.py,sha256=D1wqzYWne1mS2rU43tP9CeN1G7QAy7eqL9o1god6Ejw,4272
574
+ pip/_vendor/requests/help.py,sha256=hRKaf9u0G7fdwrqMHtF3oG16RKktRf6KiwtSq2Fo1_0,3813
575
+ pip/_vendor/requests/hooks.py,sha256=CiuysiHA39V5UfcCBXFIx83IrDpuwfN9RcTUgv28ftQ,733
576
+ pip/_vendor/requests/models.py,sha256=x4K4CmH-lC0l2Kb-iPfMN4dRXxHEcbOaEWBL_i09AwI,35483
577
+ pip/_vendor/requests/packages.py,sha256=_ZQDCJTJ8SP3kVWunSqBsRZNPzj2c1WFVqbdr08pz3U,1057
578
+ pip/_vendor/requests/sessions.py,sha256=ykTI8UWGSltOfH07HKollH7kTBGw4WhiBVaQGmckTw4,30495
579
+ pip/_vendor/requests/status_codes.py,sha256=iJUAeA25baTdw-6PfD0eF4qhpINDJRJI-yaMqxs4LEI,4322
580
+ pip/_vendor/requests/structures.py,sha256=-IbmhVz06S-5aPSZuUthZ6-6D9XOjRuTXHOabY041XM,2912
581
+ pip/_vendor/requests/utils.py,sha256=L79vnFbzJ3SFLKtJwpoWe41Tozi3RlZv94pY1TFIyow,33631
582
+ pip/_vendor/resolvelib/__init__.py,sha256=h509TdEcpb5-44JonaU3ex2TM15GVBLjM9CNCPwnTTs,537
583
+ pip/_vendor/resolvelib/__pycache__/__init__.cpython-311.pyc,,
584
+ pip/_vendor/resolvelib/__pycache__/providers.cpython-311.pyc,,
585
+ pip/_vendor/resolvelib/__pycache__/reporters.cpython-311.pyc,,
586
+ pip/_vendor/resolvelib/__pycache__/resolvers.cpython-311.pyc,,
587
+ pip/_vendor/resolvelib/__pycache__/structs.cpython-311.pyc,,
588
+ pip/_vendor/resolvelib/compat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
589
+ pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-311.pyc,,
590
+ pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-311.pyc,,
591
+ pip/_vendor/resolvelib/compat/collections_abc.py,sha256=uy8xUZ-NDEw916tugUXm8HgwCGiMO0f-RcdnpkfXfOs,156
592
+ pip/_vendor/resolvelib/providers.py,sha256=fuuvVrCetu5gsxPB43ERyjfO8aReS3rFQHpDgiItbs4,5871
593
+ pip/_vendor/resolvelib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
594
+ pip/_vendor/resolvelib/reporters.py,sha256=TSbRmWzTc26w0ggsV1bxVpeWDB8QNIre6twYl7GIZBE,1601
595
+ pip/_vendor/resolvelib/resolvers.py,sha256=G8rsLZSq64g5VmIq-lB7UcIJ1gjAxIQJmTF4REZleQ0,20511
596
+ pip/_vendor/resolvelib/structs.py,sha256=0_1_XO8z_CLhegP3Vpf9VJ3zJcfLm0NOHRM-i0Ykz3o,4963
597
+ pip/_vendor/rich/__init__.py,sha256=dRxjIL-SbFVY0q3IjSMrfgBTHrm1LZDgLOygVBwiYZc,6090
598
+ pip/_vendor/rich/__main__.py,sha256=eO7Cq8JnrgG8zVoeImiAs92q3hXNMIfp0w5lMsO7Q2Y,8477
599
+ pip/_vendor/rich/__pycache__/__init__.cpython-311.pyc,,
600
+ pip/_vendor/rich/__pycache__/__main__.cpython-311.pyc,,
601
+ pip/_vendor/rich/__pycache__/_cell_widths.cpython-311.pyc,,
602
+ pip/_vendor/rich/__pycache__/_emoji_codes.cpython-311.pyc,,
603
+ pip/_vendor/rich/__pycache__/_emoji_replace.cpython-311.pyc,,
604
+ pip/_vendor/rich/__pycache__/_export_format.cpython-311.pyc,,
605
+ pip/_vendor/rich/__pycache__/_extension.cpython-311.pyc,,
606
+ pip/_vendor/rich/__pycache__/_fileno.cpython-311.pyc,,
607
+ pip/_vendor/rich/__pycache__/_inspect.cpython-311.pyc,,
608
+ pip/_vendor/rich/__pycache__/_log_render.cpython-311.pyc,,
609
+ pip/_vendor/rich/__pycache__/_loop.cpython-311.pyc,,
610
+ pip/_vendor/rich/__pycache__/_null_file.cpython-311.pyc,,
611
+ pip/_vendor/rich/__pycache__/_palettes.cpython-311.pyc,,
612
+ pip/_vendor/rich/__pycache__/_pick.cpython-311.pyc,,
613
+ pip/_vendor/rich/__pycache__/_ratio.cpython-311.pyc,,
614
+ pip/_vendor/rich/__pycache__/_spinners.cpython-311.pyc,,
615
+ pip/_vendor/rich/__pycache__/_stack.cpython-311.pyc,,
616
+ pip/_vendor/rich/__pycache__/_timer.cpython-311.pyc,,
617
+ pip/_vendor/rich/__pycache__/_win32_console.cpython-311.pyc,,
618
+ pip/_vendor/rich/__pycache__/_windows.cpython-311.pyc,,
619
+ pip/_vendor/rich/__pycache__/_windows_renderer.cpython-311.pyc,,
620
+ pip/_vendor/rich/__pycache__/_wrap.cpython-311.pyc,,
621
+ pip/_vendor/rich/__pycache__/abc.cpython-311.pyc,,
622
+ pip/_vendor/rich/__pycache__/align.cpython-311.pyc,,
623
+ pip/_vendor/rich/__pycache__/ansi.cpython-311.pyc,,
624
+ pip/_vendor/rich/__pycache__/bar.cpython-311.pyc,,
625
+ pip/_vendor/rich/__pycache__/box.cpython-311.pyc,,
626
+ pip/_vendor/rich/__pycache__/cells.cpython-311.pyc,,
627
+ pip/_vendor/rich/__pycache__/color.cpython-311.pyc,,
628
+ pip/_vendor/rich/__pycache__/color_triplet.cpython-311.pyc,,
629
+ pip/_vendor/rich/__pycache__/columns.cpython-311.pyc,,
630
+ pip/_vendor/rich/__pycache__/console.cpython-311.pyc,,
631
+ pip/_vendor/rich/__pycache__/constrain.cpython-311.pyc,,
632
+ pip/_vendor/rich/__pycache__/containers.cpython-311.pyc,,
633
+ pip/_vendor/rich/__pycache__/control.cpython-311.pyc,,
634
+ pip/_vendor/rich/__pycache__/default_styles.cpython-311.pyc,,
635
+ pip/_vendor/rich/__pycache__/diagnose.cpython-311.pyc,,
636
+ pip/_vendor/rich/__pycache__/emoji.cpython-311.pyc,,
637
+ pip/_vendor/rich/__pycache__/errors.cpython-311.pyc,,
638
+ pip/_vendor/rich/__pycache__/file_proxy.cpython-311.pyc,,
639
+ pip/_vendor/rich/__pycache__/filesize.cpython-311.pyc,,
640
+ pip/_vendor/rich/__pycache__/highlighter.cpython-311.pyc,,
641
+ pip/_vendor/rich/__pycache__/json.cpython-311.pyc,,
642
+ pip/_vendor/rich/__pycache__/jupyter.cpython-311.pyc,,
643
+ pip/_vendor/rich/__pycache__/layout.cpython-311.pyc,,
644
+ pip/_vendor/rich/__pycache__/live.cpython-311.pyc,,
645
+ pip/_vendor/rich/__pycache__/live_render.cpython-311.pyc,,
646
+ pip/_vendor/rich/__pycache__/logging.cpython-311.pyc,,
647
+ pip/_vendor/rich/__pycache__/markup.cpython-311.pyc,,
648
+ pip/_vendor/rich/__pycache__/measure.cpython-311.pyc,,
649
+ pip/_vendor/rich/__pycache__/padding.cpython-311.pyc,,
650
+ pip/_vendor/rich/__pycache__/pager.cpython-311.pyc,,
651
+ pip/_vendor/rich/__pycache__/palette.cpython-311.pyc,,
652
+ pip/_vendor/rich/__pycache__/panel.cpython-311.pyc,,
653
+ pip/_vendor/rich/__pycache__/pretty.cpython-311.pyc,,
654
+ pip/_vendor/rich/__pycache__/progress.cpython-311.pyc,,
655
+ pip/_vendor/rich/__pycache__/progress_bar.cpython-311.pyc,,
656
+ pip/_vendor/rich/__pycache__/prompt.cpython-311.pyc,,
657
+ pip/_vendor/rich/__pycache__/protocol.cpython-311.pyc,,
658
+ pip/_vendor/rich/__pycache__/region.cpython-311.pyc,,
659
+ pip/_vendor/rich/__pycache__/repr.cpython-311.pyc,,
660
+ pip/_vendor/rich/__pycache__/rule.cpython-311.pyc,,
661
+ pip/_vendor/rich/__pycache__/scope.cpython-311.pyc,,
662
+ pip/_vendor/rich/__pycache__/screen.cpython-311.pyc,,
663
+ pip/_vendor/rich/__pycache__/segment.cpython-311.pyc,,
664
+ pip/_vendor/rich/__pycache__/spinner.cpython-311.pyc,,
665
+ pip/_vendor/rich/__pycache__/status.cpython-311.pyc,,
666
+ pip/_vendor/rich/__pycache__/style.cpython-311.pyc,,
667
+ pip/_vendor/rich/__pycache__/styled.cpython-311.pyc,,
668
+ pip/_vendor/rich/__pycache__/syntax.cpython-311.pyc,,
669
+ pip/_vendor/rich/__pycache__/table.cpython-311.pyc,,
670
+ pip/_vendor/rich/__pycache__/terminal_theme.cpython-311.pyc,,
671
+ pip/_vendor/rich/__pycache__/text.cpython-311.pyc,,
672
+ pip/_vendor/rich/__pycache__/theme.cpython-311.pyc,,
673
+ pip/_vendor/rich/__pycache__/themes.cpython-311.pyc,,
674
+ pip/_vendor/rich/__pycache__/traceback.cpython-311.pyc,,
675
+ pip/_vendor/rich/__pycache__/tree.cpython-311.pyc,,
676
+ pip/_vendor/rich/_cell_widths.py,sha256=fbmeyetEdHjzE_Vx2l1uK7tnPOhMs2X1lJfO3vsKDpA,10209
677
+ pip/_vendor/rich/_emoji_codes.py,sha256=hu1VL9nbVdppJrVoijVshRlcRRe_v3dju3Mmd2sKZdY,140235
678
+ pip/_vendor/rich/_emoji_replace.py,sha256=n-kcetsEUx2ZUmhQrfeMNc-teeGhpuSQ5F8VPBsyvDo,1064
679
+ pip/_vendor/rich/_export_format.py,sha256=RI08pSrm5tBSzPMvnbTqbD9WIalaOoN5d4M1RTmLq1Y,2128
680
+ pip/_vendor/rich/_extension.py,sha256=Xt47QacCKwYruzjDi-gOBq724JReDj9Cm9xUi5fr-34,265
681
+ pip/_vendor/rich/_fileno.py,sha256=HWZxP5C2ajMbHryvAQZseflVfQoGzsKOHzKGsLD8ynQ,799
682
+ pip/_vendor/rich/_inspect.py,sha256=QM05lEFnFoTaFqpnbx-zBEI6k8oIKrD3cvjEOQNhKig,9655
683
+ pip/_vendor/rich/_log_render.py,sha256=1ByI0PA1ZpxZY3CGJOK54hjlq4X-Bz_boIjIqCd8Kns,3225
684
+ pip/_vendor/rich/_loop.py,sha256=hV_6CLdoPm0va22Wpw4zKqM0RYsz3TZxXj0PoS-9eDQ,1236
685
+ pip/_vendor/rich/_null_file.py,sha256=ADGKp1yt-k70FMKV6tnqCqecB-rSJzp-WQsD7LPL-kg,1394
686
+ pip/_vendor/rich/_palettes.py,sha256=cdev1JQKZ0JvlguV9ipHgznTdnvlIzUFDBb0It2PzjI,7063
687
+ pip/_vendor/rich/_pick.py,sha256=evDt8QN4lF5CiwrUIXlOJCntitBCOsI3ZLPEIAVRLJU,423
688
+ pip/_vendor/rich/_ratio.py,sha256=Zt58apszI6hAAcXPpgdWKpu3c31UBWebOeR4mbyptvU,5471
689
+ pip/_vendor/rich/_spinners.py,sha256=U2r1_g_1zSjsjiUdAESc2iAMc3i4ri_S8PYP6kQ5z1I,19919
690
+ pip/_vendor/rich/_stack.py,sha256=-C8OK7rxn3sIUdVwxZBBpeHhIzX0eI-VM3MemYfaXm0,351
691
+ pip/_vendor/rich/_timer.py,sha256=zelxbT6oPFZnNrwWPpc1ktUeAT-Vc4fuFcRZLQGLtMI,417
692
+ pip/_vendor/rich/_win32_console.py,sha256=BSaDRIMwBLITn_m0mTRLPqME5q-quGdSMuYMpYeYJwc,22755
693
+ pip/_vendor/rich/_windows.py,sha256=aBwaD_S56SbgopIvayVmpk0Y28uwY2C5Bab1wl3Bp-I,1925
694
+ pip/_vendor/rich/_windows_renderer.py,sha256=t74ZL3xuDCP3nmTp9pH1L5LiI2cakJuQRQleHCJerlk,2783
695
+ pip/_vendor/rich/_wrap.py,sha256=FlSsom5EX0LVkA3KWy34yHnCfLtqX-ZIepXKh-70rpc,3404
696
+ pip/_vendor/rich/abc.py,sha256=ON-E-ZqSSheZ88VrKX2M3PXpFbGEUUZPMa_Af0l-4f0,890
697
+ pip/_vendor/rich/align.py,sha256=Rh-3adnDaN1Ao07EjR2PhgE62PGLPgO8SMwJBku1urQ,10469
698
+ pip/_vendor/rich/ansi.py,sha256=Avs1LHbSdcyOvDOdpELZUoULcBiYewY76eNBp6uFBhs,6921
699
+ pip/_vendor/rich/bar.py,sha256=ldbVHOzKJOnflVNuv1xS7g6dLX2E3wMnXkdPbpzJTcs,3263
700
+ pip/_vendor/rich/box.py,sha256=nr5fYIUghB_iUCEq6y0Z3LlCT8gFPDrzN9u2kn7tJl4,10831
701
+ pip/_vendor/rich/cells.py,sha256=KrQkj5-LghCCpJLSNQIyAZjndc4bnEqOEmi5YuZ9UCY,5130
702
+ pip/_vendor/rich/color.py,sha256=3HSULVDj7qQkXUdFWv78JOiSZzfy5y1nkcYhna296V0,18211
703
+ pip/_vendor/rich/color_triplet.py,sha256=3lhQkdJbvWPoLDO-AnYImAWmJvV5dlgYNCVZ97ORaN4,1054
704
+ pip/_vendor/rich/columns.py,sha256=HUX0KcMm9dsKNi11fTbiM_h2iDtl8ySCaVcxlalEzq8,7131
705
+ pip/_vendor/rich/console.py,sha256=nKjrEx_7xy8KGmDVT-BgNII0R5hm1cexhAHDwdwNVqg,100156
706
+ pip/_vendor/rich/constrain.py,sha256=1VIPuC8AgtKWrcncQrjBdYqA3JVWysu6jZo1rrh7c7Q,1288
707
+ pip/_vendor/rich/containers.py,sha256=c_56TxcedGYqDepHBMTuZdUIijitAQgnox-Qde0Z1qo,5502
708
+ pip/_vendor/rich/control.py,sha256=DSkHTUQLorfSERAKE_oTAEUFefZnZp4bQb4q8rHbKws,6630
709
+ pip/_vendor/rich/default_styles.py,sha256=dZxgaSD9VUy7SXQShO33aLYiAWspCr2sCQZFX_JK1j4,8159
710
+ pip/_vendor/rich/diagnose.py,sha256=an6uouwhKPAlvQhYpNNpGq9EJysfMIOvvCbO3oSoR24,972
711
+ pip/_vendor/rich/emoji.py,sha256=omTF9asaAnsM4yLY94eR_9dgRRSm1lHUszX20D1yYCQ,2501
712
+ pip/_vendor/rich/errors.py,sha256=5pP3Kc5d4QJ_c0KFsxrfyhjiPVe7J1zOqSFbFAzcV-Y,642
713
+ pip/_vendor/rich/file_proxy.py,sha256=Tl9THMDZ-Pk5Wm8sI1gGg_U5DhusmxD-FZ0fUbcU0W0,1683
714
+ pip/_vendor/rich/filesize.py,sha256=_iz9lIpRgvW7MNSeCZnLg-HwzbP4GETg543WqD8SFs0,2484
715
+ pip/_vendor/rich/highlighter.py,sha256=G_sn-8DKjM1sEjLG_oc4ovkWmiUpWvj8bXi0yed2LnY,9586
716
+ pip/_vendor/rich/json.py,sha256=vVEoKdawoJRjAFayPwXkMBPLy7RSTs-f44wSQDR2nJ0,5031
717
+ pip/_vendor/rich/jupyter.py,sha256=QyoKoE_8IdCbrtiSHp9TsTSNyTHY0FO5whE7jOTd9UE,3252
718
+ pip/_vendor/rich/layout.py,sha256=ajkSFAtEVv9EFTcFs-w4uZfft7nEXhNzL7ZVdgrT5rI,14004
719
+ pip/_vendor/rich/live.py,sha256=DhzAPEnjTxQuq9_0Y2xh2MUwQcP_aGPkenLfKETslwM,14270
720
+ pip/_vendor/rich/live_render.py,sha256=zJtB471jGziBtEwxc54x12wEQtH4BuQr1SA8v9kU82w,3666
721
+ pip/_vendor/rich/logging.py,sha256=ZgpKMMBY_BuMAI_BYzo-UtXak6t5oH9VK8m9Q2Lm0f4,12458
722
+ pip/_vendor/rich/markup.py,sha256=3euGKP5s41NCQwaSjTnJxus5iZMHjxpIM0W6fCxra38,8451
723
+ pip/_vendor/rich/measure.py,sha256=HmrIJX8sWRTHbgh8MxEay_83VkqNW_70s8aKP5ZcYI8,5305
724
+ pip/_vendor/rich/padding.py,sha256=KVEI3tOwo9sgK1YNSuH__M1_jUWmLZwRVV_KmOtVzyM,4908
725
+ pip/_vendor/rich/pager.py,sha256=SO_ETBFKbg3n_AgOzXm41Sv36YxXAyI3_R-KOY2_uSc,828
726
+ pip/_vendor/rich/palette.py,sha256=lInvR1ODDT2f3UZMfL1grq7dY_pDdKHw4bdUgOGaM4Y,3396
727
+ pip/_vendor/rich/panel.py,sha256=fFRHcviXvWhk3V3zx5Zwmsb_RL9KJ3esD-sU0NYEVyw,11235
728
+ pip/_vendor/rich/pretty.py,sha256=gy3S72u4FRg2ytoo7N1ZDWDIvB4unbzd5iUGdgm-8fc,36391
729
+ pip/_vendor/rich/progress.py,sha256=MtmCjTk5zYU_XtRHxRHTAEHG6hF9PeF7EMWbEPleIC0,60357
730
+ pip/_vendor/rich/progress_bar.py,sha256=mZTPpJUwcfcdgQCTTz3kyY-fc79ddLwtx6Ghhxfo064,8162
731
+ pip/_vendor/rich/prompt.py,sha256=l0RhQU-0UVTV9e08xW1BbIj0Jq2IXyChX4lC0lFNzt4,12447
732
+ pip/_vendor/rich/protocol.py,sha256=5hHHDDNHckdk8iWH5zEbi-zuIVSF5hbU2jIo47R7lTE,1391
733
+ pip/_vendor/rich/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
734
+ pip/_vendor/rich/region.py,sha256=rNT9xZrVZTYIXZC0NYn41CJQwYNbR-KecPOxTgQvB8Y,166
735
+ pip/_vendor/rich/repr.py,sha256=5MZJZmONgC6kud-QW-_m1okXwL2aR6u6y-pUcUCJz28,4431
736
+ pip/_vendor/rich/rule.py,sha256=0fNaS_aERa3UMRc3T5WMpN_sumtDxfaor2y3of1ftBk,4602
737
+ pip/_vendor/rich/scope.py,sha256=TMUU8qo17thyqQCPqjDLYpg_UU1k5qVd-WwiJvnJVas,2843
738
+ pip/_vendor/rich/screen.py,sha256=YoeReESUhx74grqb0mSSb9lghhysWmFHYhsbMVQjXO8,1591
739
+ pip/_vendor/rich/segment.py,sha256=otnKeKGEV-WRlQVosfJVeFDcDxAKHpvJ_hLzSu5lumM,24743
740
+ pip/_vendor/rich/spinner.py,sha256=PT5qgXPG3ZpqRj7n3EZQ6NW56mx3ldZqZCU7gEMyZk4,4364
741
+ pip/_vendor/rich/status.py,sha256=kkPph3YeAZBo-X-4wPp8gTqZyU466NLwZBA4PZTTewo,4424
742
+ pip/_vendor/rich/style.py,sha256=aSoUNbVgfP1PAnduAqgbbl4AMQy668qs2S1FEwr3Oqs,27067
743
+ pip/_vendor/rich/styled.py,sha256=eZNnzGrI4ki_54pgY3Oj0T-x3lxdXTYh4_ryDB24wBU,1258
744
+ pip/_vendor/rich/syntax.py,sha256=qqAnEUZ4K57Po81_5RBxnsuU4KRzSdvDPAhKw8ma_3E,35763
745
+ pip/_vendor/rich/table.py,sha256=yXYUr0YsPpG466N50HCAw2bpb5ZUuuzdc-G66Zk-oTc,40103
746
+ pip/_vendor/rich/terminal_theme.py,sha256=1j5-ufJfnvlAo5Qsi_ACZiXDmwMXzqgmFByObT9-yJY,3370
747
+ pip/_vendor/rich/text.py,sha256=AO7JPCz6-gaN1thVLXMBntEmDPVYFgFNG1oM61_sanU,47552
748
+ pip/_vendor/rich/theme.py,sha256=oNyhXhGagtDlbDye3tVu3esWOWk0vNkuxFw-_unlaK0,3771
749
+ pip/_vendor/rich/themes.py,sha256=0xgTLozfabebYtcJtDdC5QkX5IVUEaviqDUJJh4YVFk,102
750
+ pip/_vendor/rich/traceback.py,sha256=z8UoN7NbTQKW6YDDUVwOh7F8snZf6gYnUWtOrKsLE1w,31797
751
+ pip/_vendor/rich/tree.py,sha256=yWnQ6rAvRGJ3qZGqBrxS2SW2TKBTNrP0SdY8QxOFPuw,9451
752
+ pip/_vendor/tomli/__init__.py,sha256=PhNw_eyLgdn7McJ6nrAN8yIm3dXC75vr1sVGVVwDSpA,314
753
+ pip/_vendor/tomli/__pycache__/__init__.cpython-311.pyc,,
754
+ pip/_vendor/tomli/__pycache__/_parser.cpython-311.pyc,,
755
+ pip/_vendor/tomli/__pycache__/_re.cpython-311.pyc,,
756
+ pip/_vendor/tomli/__pycache__/_types.cpython-311.pyc,,
757
+ pip/_vendor/tomli/_parser.py,sha256=9w8LG0jB7fwmZZWB0vVXbeejDHcl4ANIJxB2scEnDlA,25591
758
+ pip/_vendor/tomli/_re.py,sha256=sh4sBDRgO94KJZwNIrgdcyV_qQast50YvzOAUGpRDKA,3171
759
+ pip/_vendor/tomli/_types.py,sha256=-GTG2VUqkpxwMqzmVO4F7ybKddIbAnuAHXfmWQcTi3Q,254
760
+ pip/_vendor/tomli/py.typed,sha256=8PjyZ1aVoQpRVvt71muvuq5qE-jTFZkK-GLHkhdebmc,26
761
+ pip/_vendor/truststore/__init__.py,sha256=WIDeyzWm7EVX44g354M25vpRXbeY1lsPH6EmUJUcq4o,1264
762
+ pip/_vendor/truststore/__pycache__/__init__.cpython-311.pyc,,
763
+ pip/_vendor/truststore/__pycache__/_api.cpython-311.pyc,,
764
+ pip/_vendor/truststore/__pycache__/_macos.cpython-311.pyc,,
765
+ pip/_vendor/truststore/__pycache__/_openssl.cpython-311.pyc,,
766
+ pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-311.pyc,,
767
+ pip/_vendor/truststore/__pycache__/_windows.cpython-311.pyc,,
768
+ pip/_vendor/truststore/_api.py,sha256=GeXRNTlxPZ3kif4kNoh6JY0oE4QRzTGcgXr6l_X_Gk0,10555
769
+ pip/_vendor/truststore/_macos.py,sha256=nZlLkOmszUE0g6ryRwBVGY5COzPyudcsiJtDWarM5LQ,20503
770
+ pip/_vendor/truststore/_openssl.py,sha256=LLUZ7ZGaio-i5dpKKjKCSeSufmn6T8pi9lDcFnvSyq0,2324
771
+ pip/_vendor/truststore/_ssl_constants.py,sha256=NUD4fVKdSD02ri7-db0tnO0VqLP9aHuzmStcW7tAl08,1130
772
+ pip/_vendor/truststore/_windows.py,sha256=rAHyKYD8M7t-bXfG8VgOVa3TpfhVhbt4rZQlO45YuP8,17993
773
+ pip/_vendor/truststore/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
774
+ pip/_vendor/typing_extensions.py,sha256=78hFl0HpDY-ylHUVCnWdU5nTHxUP2-S-3wEZk6CQmLk,134499
775
+ pip/_vendor/urllib3/__init__.py,sha256=iXLcYiJySn0GNbWOOZDDApgBL1JgP44EZ8i1760S8Mc,3333
776
+ pip/_vendor/urllib3/__pycache__/__init__.cpython-311.pyc,,
777
+ pip/_vendor/urllib3/__pycache__/_collections.cpython-311.pyc,,
778
+ pip/_vendor/urllib3/__pycache__/_version.cpython-311.pyc,,
779
+ pip/_vendor/urllib3/__pycache__/connection.cpython-311.pyc,,
780
+ pip/_vendor/urllib3/__pycache__/connectionpool.cpython-311.pyc,,
781
+ pip/_vendor/urllib3/__pycache__/exceptions.cpython-311.pyc,,
782
+ pip/_vendor/urllib3/__pycache__/fields.cpython-311.pyc,,
783
+ pip/_vendor/urllib3/__pycache__/filepost.cpython-311.pyc,,
784
+ pip/_vendor/urllib3/__pycache__/poolmanager.cpython-311.pyc,,
785
+ pip/_vendor/urllib3/__pycache__/request.cpython-311.pyc,,
786
+ pip/_vendor/urllib3/__pycache__/response.cpython-311.pyc,,
787
+ pip/_vendor/urllib3/_collections.py,sha256=pyASJJhW7wdOpqJj9QJA8FyGRfr8E8uUUhqUvhF0728,11372
788
+ pip/_vendor/urllib3/_version.py,sha256=t9wGB6ooOTXXgiY66K1m6BZS1CJyXHAU8EoWDTe6Shk,64
789
+ pip/_vendor/urllib3/connection.py,sha256=ttIA909BrbTUzwkqEe_TzZVh4JOOj7g61Ysei2mrwGg,20314
790
+ pip/_vendor/urllib3/connectionpool.py,sha256=e2eiAwNbFNCKxj4bwDKNK-w7HIdSz3OmMxU_TIt-evQ,40408
791
+ pip/_vendor/urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
792
+ pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-311.pyc,,
793
+ pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-311.pyc,,
794
+ pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-311.pyc,,
795
+ pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-311.pyc,,
796
+ pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-311.pyc,,
797
+ pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-311.pyc,,
798
+ pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-311.pyc,,
799
+ pip/_vendor/urllib3/contrib/_appengine_environ.py,sha256=bDbyOEhW2CKLJcQqAKAyrEHN-aklsyHFKq6vF8ZFsmk,957
800
+ pip/_vendor/urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
801
+ pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-311.pyc,,
802
+ pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-311.pyc,,
803
+ pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-311.pyc,,
804
+ pip/_vendor/urllib3/contrib/_securetransport/bindings.py,sha256=4Xk64qIkPBt09A5q-RIFUuDhNc9mXilVapm7WnYnzRw,17632
805
+ pip/_vendor/urllib3/contrib/_securetransport/low_level.py,sha256=B2JBB2_NRP02xK6DCa1Pa9IuxrPwxzDzZbixQkb7U9M,13922
806
+ pip/_vendor/urllib3/contrib/appengine.py,sha256=VR68eAVE137lxTgjBDwCna5UiBZTOKa01Aj_-5BaCz4,11036
807
+ pip/_vendor/urllib3/contrib/ntlmpool.py,sha256=NlfkW7WMdW8ziqudopjHoW299og1BTWi0IeIibquFwk,4528
808
+ pip/_vendor/urllib3/contrib/pyopenssl.py,sha256=hDJh4MhyY_p-oKlFcYcQaVQRDv6GMmBGuW9yjxyeejM,17081
809
+ pip/_vendor/urllib3/contrib/securetransport.py,sha256=Fef1IIUUFHqpevzXiDPbIGkDKchY2FVKeVeLGR1Qq3g,34446
810
+ pip/_vendor/urllib3/contrib/socks.py,sha256=aRi9eWXo9ZEb95XUxef4Z21CFlnnjbEiAo9HOseoMt4,7097
811
+ pip/_vendor/urllib3/exceptions.py,sha256=0Mnno3KHTNfXRfY7638NufOPkUb6mXOm-Lqj-4x2w8A,8217
812
+ pip/_vendor/urllib3/fields.py,sha256=kvLDCg_JmH1lLjUUEY_FLS8UhY7hBvDPuVETbY8mdrM,8579
813
+ pip/_vendor/urllib3/filepost.py,sha256=5b_qqgRHVlL7uLtdAYBzBh-GHmU5AfJVt_2N0XS3PeY,2440
814
+ pip/_vendor/urllib3/packages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
815
+ pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-311.pyc,,
816
+ pip/_vendor/urllib3/packages/__pycache__/six.cpython-311.pyc,,
817
+ pip/_vendor/urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
818
+ pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-311.pyc,,
819
+ pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-311.pyc,,
820
+ pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-311.pyc,,
821
+ pip/_vendor/urllib3/packages/backports/makefile.py,sha256=nbzt3i0agPVP07jqqgjhaYjMmuAi_W5E0EywZivVO8E,1417
822
+ pip/_vendor/urllib3/packages/backports/weakref_finalize.py,sha256=tRCal5OAhNSRyb0DhHp-38AtIlCsRP8BxF3NX-6rqIA,5343
823
+ pip/_vendor/urllib3/packages/six.py,sha256=b9LM0wBXv7E7SrbCjAm4wwN-hrH-iNxv18LgWNMMKPo,34665
824
+ pip/_vendor/urllib3/poolmanager.py,sha256=aWyhXRtNO4JUnCSVVqKTKQd8EXTvUm1VN9pgs2bcONo,19990
825
+ pip/_vendor/urllib3/request.py,sha256=YTWFNr7QIwh7E1W9dde9LM77v2VWTJ5V78XuTTw7D1A,6691
826
+ pip/_vendor/urllib3/response.py,sha256=fmDJAFkG71uFTn-sVSTh2Iw0WmcXQYqkbRjihvwBjU8,30641
827
+ pip/_vendor/urllib3/util/__init__.py,sha256=JEmSmmqqLyaw8P51gUImZh8Gwg9i1zSe-DoqAitn2nc,1155
828
+ pip/_vendor/urllib3/util/__pycache__/__init__.cpython-311.pyc,,
829
+ pip/_vendor/urllib3/util/__pycache__/connection.cpython-311.pyc,,
830
+ pip/_vendor/urllib3/util/__pycache__/proxy.cpython-311.pyc,,
831
+ pip/_vendor/urllib3/util/__pycache__/queue.cpython-311.pyc,,
832
+ pip/_vendor/urllib3/util/__pycache__/request.cpython-311.pyc,,
833
+ pip/_vendor/urllib3/util/__pycache__/response.cpython-311.pyc,,
834
+ pip/_vendor/urllib3/util/__pycache__/retry.cpython-311.pyc,,
835
+ pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-311.pyc,,
836
+ pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-311.pyc,,
837
+ pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-311.pyc,,
838
+ pip/_vendor/urllib3/util/__pycache__/timeout.cpython-311.pyc,,
839
+ pip/_vendor/urllib3/util/__pycache__/url.cpython-311.pyc,,
840
+ pip/_vendor/urllib3/util/__pycache__/wait.cpython-311.pyc,,
841
+ pip/_vendor/urllib3/util/connection.py,sha256=5Lx2B1PW29KxBn2T0xkN1CBgRBa3gGVJBKoQoRogEVk,4901
842
+ pip/_vendor/urllib3/util/proxy.py,sha256=zUvPPCJrp6dOF0N4GAVbOcl6o-4uXKSrGiTkkr5vUS4,1605
843
+ pip/_vendor/urllib3/util/queue.py,sha256=nRgX8_eX-_VkvxoX096QWoz8Ps0QHUAExILCY_7PncM,498
844
+ pip/_vendor/urllib3/util/request.py,sha256=C0OUt2tcU6LRiQJ7YYNP9GvPrSvl7ziIBekQ-5nlBZk,3997
845
+ pip/_vendor/urllib3/util/response.py,sha256=GJpg3Egi9qaJXRwBh5wv-MNuRWan5BIu40oReoxWP28,3510
846
+ pip/_vendor/urllib3/util/retry.py,sha256=6ENvOZ8PBDzh8kgixpql9lIrb2dxH-k7ZmBanJF2Ng4,22050
847
+ pip/_vendor/urllib3/util/ssl_.py,sha256=QDuuTxPSCj1rYtZ4xpD7Ux-r20TD50aHyqKyhQ7Bq4A,17460
848
+ pip/_vendor/urllib3/util/ssl_match_hostname.py,sha256=Ir4cZVEjmAk8gUAIHWSi7wtOO83UCYABY2xFD1Ql_WA,5758
849
+ pip/_vendor/urllib3/util/ssltransport.py,sha256=NA-u5rMTrDFDFC8QzRKUEKMG0561hOD4qBTr3Z4pv6E,6895
850
+ pip/_vendor/urllib3/util/timeout.py,sha256=cwq4dMk87mJHSBktK1miYJ-85G-3T3RmT20v7SFCpno,10168
851
+ pip/_vendor/urllib3/util/url.py,sha256=lCAE7M5myA8EDdW0sJuyyZhVB9K_j38ljWhHAnFaWoE,14296
852
+ pip/_vendor/urllib3/util/wait.py,sha256=fOX0_faozG2P7iVojQoE1mbydweNyTcm-hXEfFrTtLI,5403
853
+ pip/_vendor/vendor.txt,sha256=EW-E3cE5XEAtVFzGInikArOMDxGP0DLUWzXpY4RZfFY,333
854
+ pip/py.typed,sha256=EBVvvPRTn_eIpz5e5QztSCdrMX7Qwd7VP93RSoIlZ2I,286
.venv/Lib/site-packages/pip-25.0.dist-info/REQUESTED ADDED
File without changes
.venv/Lib/site-packages/pip-25.0.dist-info/WHEEL ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.8.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
.venv/Lib/site-packages/pip-25.0.dist-info/entry_points.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ [console_scripts]
2
+ pip = pip._internal.cli.main:main
3
+ pip3 = pip._internal.cli.main:main
.venv/Lib/site-packages/pip-25.0.dist-info/top_level.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ pip
.venv/Lib/site-packages/pip/__init__.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import List, Optional
2
+
3
+ __version__ = "25.0"
4
+
5
+
6
+ def main(args: Optional[List[str]] = None) -> int:
7
+ """This is an internal API only meant for use by pip's own console scripts.
8
+
9
+ For additional details, see https://github.com/pypa/pip/issues/7498.
10
+ """
11
+ from pip._internal.utils.entrypoints import _wrapper
12
+
13
+ return _wrapper(args)
.venv/Lib/site-packages/pip/__main__.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+
4
+ # Remove '' and current working directory from the first entry
5
+ # of sys.path, if present to avoid using current directory
6
+ # in pip commands check, freeze, install, list and show,
7
+ # when invoked as python -m pip <command>
8
+ if sys.path[0] in ("", os.getcwd()):
9
+ sys.path.pop(0)
10
+
11
+ # If we are running from a wheel, add the wheel to sys.path
12
+ # This allows the usage python pip-*.whl/pip install pip-*.whl
13
+ if __package__ == "":
14
+ # __file__ is pip-*.whl/pip/__main__.py
15
+ # first dirname call strips of '/__main__.py', second strips off '/pip'
16
+ # Resulting path is the name of the wheel itself
17
+ # Add that to sys.path so we can import pip
18
+ path = os.path.dirname(os.path.dirname(__file__))
19
+ sys.path.insert(0, path)
20
+
21
+ if __name__ == "__main__":
22
+ from pip._internal.cli.main import main as _main
23
+
24
+ sys.exit(_main())
.venv/Lib/site-packages/pip/__pip-runner__.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Execute exactly this copy of pip, within a different environment.
2
+
3
+ This file is named as it is, to ensure that this module can't be imported via
4
+ an import statement.
5
+ """
6
+
7
+ # /!\ This version compatibility check section must be Python 2 compatible. /!\
8
+
9
+ import sys
10
+
11
+ # Copied from pyproject.toml
12
+ PYTHON_REQUIRES = (3, 8)
13
+
14
+
15
+ def version_str(version): # type: ignore
16
+ return ".".join(str(v) for v in version)
17
+
18
+
19
+ if sys.version_info[:2] < PYTHON_REQUIRES:
20
+ raise SystemExit(
21
+ "This version of pip does not support python {} (requires >={}).".format(
22
+ version_str(sys.version_info[:2]), version_str(PYTHON_REQUIRES)
23
+ )
24
+ )
25
+
26
+ # From here on, we can use Python 3 features, but the syntax must remain
27
+ # Python 2 compatible.
28
+
29
+ import runpy # noqa: E402
30
+ from importlib.machinery import PathFinder # noqa: E402
31
+ from os.path import dirname # noqa: E402
32
+
33
+ PIP_SOURCES_ROOT = dirname(dirname(__file__))
34
+
35
+
36
+ class PipImportRedirectingFinder:
37
+ @classmethod
38
+ def find_spec(self, fullname, path=None, target=None): # type: ignore
39
+ if fullname != "pip":
40
+ return None
41
+
42
+ spec = PathFinder.find_spec(fullname, [PIP_SOURCES_ROOT], target)
43
+ assert spec, (PIP_SOURCES_ROOT, fullname)
44
+ return spec
45
+
46
+
47
+ sys.meta_path.insert(0, PipImportRedirectingFinder())
48
+
49
+ assert __name__ == "__main__", "Cannot run __pip-runner__.py as a non-main module"
50
+ runpy.run_module("pip", run_name="__main__", alter_sys=True)
.venv/Lib/site-packages/pip/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (794 Bytes). View file
 
.venv/Lib/site-packages/pip/__pycache__/__main__.cpython-311.pyc ADDED
Binary file (913 Bytes). View file
 
.venv/Lib/site-packages/pip/__pycache__/__pip-runner__.cpython-311.pyc ADDED
Binary file (2.53 kB). View file
 
.venv/Lib/site-packages/pip/_internal/__init__.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import List, Optional
2
+
3
+ from pip._internal.utils import _log
4
+
5
+ # init_logging() must be called before any call to logging.getLogger()
6
+ # which happens at import of most modules.
7
+ _log.init_logging()
8
+
9
+
10
+ def main(args: Optional[List[str]] = None) -> int:
11
+ """This is preserved for old console scripts that may still be referencing
12
+ it.
13
+
14
+ For additional details, see https://github.com/pypa/pip/issues/7498.
15
+ """
16
+ from pip._internal.utils.entrypoints import _wrapper
17
+
18
+ return _wrapper(args)
.venv/Lib/site-packages/pip/_internal/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (910 Bytes). View file
 
.venv/Lib/site-packages/pip/_internal/__pycache__/build_env.cpython-311.pyc ADDED
Binary file (16.7 kB). View file
 
.venv/Lib/site-packages/pip/_internal/__pycache__/cache.cpython-311.pyc ADDED
Binary file (14.4 kB). View file
 
.venv/Lib/site-packages/pip/_internal/__pycache__/configuration.cpython-311.pyc ADDED
Binary file (19.8 kB). View file
 
.venv/Lib/site-packages/pip/_internal/__pycache__/exceptions.cpython-311.pyc ADDED
Binary file (41.6 kB). View file
 
.venv/Lib/site-packages/pip/_internal/__pycache__/main.cpython-311.pyc ADDED
Binary file (779 Bytes). View file
 
.venv/Lib/site-packages/pip/_internal/__pycache__/pyproject.cpython-311.pyc ADDED
Binary file (5.81 kB). View file
 
.venv/Lib/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-311.pyc ADDED
Binary file (11.7 kB). View file
 
.venv/Lib/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-311.pyc ADDED
Binary file (15.2 kB). View file
 
.venv/Lib/site-packages/pip/_internal/build_env.py ADDED
@@ -0,0 +1,323 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Build Environment used for isolation during sdist building
2
+ """
3
+
4
+ import logging
5
+ import os
6
+ import pathlib
7
+ import site
8
+ import sys
9
+ import textwrap
10
+ from collections import OrderedDict
11
+ from types import TracebackType
12
+ from typing import TYPE_CHECKING, Iterable, List, Optional, Set, Tuple, Type, Union
13
+
14
+ from pip._vendor.certifi import where
15
+ from pip._vendor.packaging.version import Version
16
+
17
+ from pip import __file__ as pip_location
18
+ from pip._internal.cli.spinners import open_spinner
19
+ from pip._internal.locations import get_platlib, get_purelib, get_scheme
20
+ from pip._internal.metadata import get_default_environment, get_environment
21
+ from pip._internal.utils.logging import VERBOSE
22
+ from pip._internal.utils.packaging import get_requirement
23
+ from pip._internal.utils.subprocess import call_subprocess
24
+ from pip._internal.utils.temp_dir import TempDirectory, tempdir_kinds
25
+
26
+ if TYPE_CHECKING:
27
+ from pip._internal.index.package_finder import PackageFinder
28
+
29
+ logger = logging.getLogger(__name__)
30
+
31
+
32
+ def _dedup(a: str, b: str) -> Union[Tuple[str], Tuple[str, str]]:
33
+ return (a, b) if a != b else (a,)
34
+
35
+
36
+ class _Prefix:
37
+ def __init__(self, path: str) -> None:
38
+ self.path = path
39
+ self.setup = False
40
+ scheme = get_scheme("", prefix=path)
41
+ self.bin_dir = scheme.scripts
42
+ self.lib_dirs = _dedup(scheme.purelib, scheme.platlib)
43
+
44
+
45
+ def get_runnable_pip() -> str:
46
+ """Get a file to pass to a Python executable, to run the currently-running pip.
47
+
48
+ This is used to run a pip subprocess, for installing requirements into the build
49
+ environment.
50
+ """
51
+ source = pathlib.Path(pip_location).resolve().parent
52
+
53
+ if not source.is_dir():
54
+ # This would happen if someone is using pip from inside a zip file. In that
55
+ # case, we can use that directly.
56
+ return str(source)
57
+
58
+ return os.fsdecode(source / "__pip-runner__.py")
59
+
60
+
61
+ def _get_system_sitepackages() -> Set[str]:
62
+ """Get system site packages
63
+
64
+ Usually from site.getsitepackages,
65
+ but fallback on `get_purelib()/get_platlib()` if unavailable
66
+ (e.g. in a virtualenv created by virtualenv<20)
67
+
68
+ Returns normalized set of strings.
69
+ """
70
+ if hasattr(site, "getsitepackages"):
71
+ system_sites = site.getsitepackages()
72
+ else:
73
+ # virtualenv < 20 overwrites site.py without getsitepackages
74
+ # fallback on get_purelib/get_platlib.
75
+ # this is known to miss things, but shouldn't in the cases
76
+ # where getsitepackages() has been removed (inside a virtualenv)
77
+ system_sites = [get_purelib(), get_platlib()]
78
+ return {os.path.normcase(path) for path in system_sites}
79
+
80
+
81
+ class BuildEnvironment:
82
+ """Creates and manages an isolated environment to install build deps"""
83
+
84
+ def __init__(self) -> None:
85
+ temp_dir = TempDirectory(kind=tempdir_kinds.BUILD_ENV, globally_managed=True)
86
+
87
+ self._prefixes = OrderedDict(
88
+ (name, _Prefix(os.path.join(temp_dir.path, name)))
89
+ for name in ("normal", "overlay")
90
+ )
91
+
92
+ self._bin_dirs: List[str] = []
93
+ self._lib_dirs: List[str] = []
94
+ for prefix in reversed(list(self._prefixes.values())):
95
+ self._bin_dirs.append(prefix.bin_dir)
96
+ self._lib_dirs.extend(prefix.lib_dirs)
97
+
98
+ # Customize site to:
99
+ # - ensure .pth files are honored
100
+ # - prevent access to system site packages
101
+ system_sites = _get_system_sitepackages()
102
+
103
+ self._site_dir = os.path.join(temp_dir.path, "site")
104
+ if not os.path.exists(self._site_dir):
105
+ os.mkdir(self._site_dir)
106
+ with open(
107
+ os.path.join(self._site_dir, "sitecustomize.py"), "w", encoding="utf-8"
108
+ ) as fp:
109
+ fp.write(
110
+ textwrap.dedent(
111
+ """
112
+ import os, site, sys
113
+
114
+ # First, drop system-sites related paths.
115
+ original_sys_path = sys.path[:]
116
+ known_paths = set()
117
+ for path in {system_sites!r}:
118
+ site.addsitedir(path, known_paths=known_paths)
119
+ system_paths = set(
120
+ os.path.normcase(path)
121
+ for path in sys.path[len(original_sys_path):]
122
+ )
123
+ original_sys_path = [
124
+ path for path in original_sys_path
125
+ if os.path.normcase(path) not in system_paths
126
+ ]
127
+ sys.path = original_sys_path
128
+
129
+ # Second, add lib directories.
130
+ # ensuring .pth file are processed.
131
+ for path in {lib_dirs!r}:
132
+ assert not path in sys.path
133
+ site.addsitedir(path)
134
+ """
135
+ ).format(system_sites=system_sites, lib_dirs=self._lib_dirs)
136
+ )
137
+
138
+ def __enter__(self) -> None:
139
+ self._save_env = {
140
+ name: os.environ.get(name, None)
141
+ for name in ("PATH", "PYTHONNOUSERSITE", "PYTHONPATH")
142
+ }
143
+
144
+ path = self._bin_dirs[:]
145
+ old_path = self._save_env["PATH"]
146
+ if old_path:
147
+ path.extend(old_path.split(os.pathsep))
148
+
149
+ pythonpath = [self._site_dir]
150
+
151
+ os.environ.update(
152
+ {
153
+ "PATH": os.pathsep.join(path),
154
+ "PYTHONNOUSERSITE": "1",
155
+ "PYTHONPATH": os.pathsep.join(pythonpath),
156
+ }
157
+ )
158
+
159
+ def __exit__(
160
+ self,
161
+ exc_type: Optional[Type[BaseException]],
162
+ exc_val: Optional[BaseException],
163
+ exc_tb: Optional[TracebackType],
164
+ ) -> None:
165
+ for varname, old_value in self._save_env.items():
166
+ if old_value is None:
167
+ os.environ.pop(varname, None)
168
+ else:
169
+ os.environ[varname] = old_value
170
+
171
+ def check_requirements(
172
+ self, reqs: Iterable[str]
173
+ ) -> Tuple[Set[Tuple[str, str]], Set[str]]:
174
+ """Return 2 sets:
175
+ - conflicting requirements: set of (installed, wanted) reqs tuples
176
+ - missing requirements: set of reqs
177
+ """
178
+ missing = set()
179
+ conflicting = set()
180
+ if reqs:
181
+ env = (
182
+ get_environment(self._lib_dirs)
183
+ if hasattr(self, "_lib_dirs")
184
+ else get_default_environment()
185
+ )
186
+ for req_str in reqs:
187
+ req = get_requirement(req_str)
188
+ # We're explicitly evaluating with an empty extra value, since build
189
+ # environments are not provided any mechanism to select specific extras.
190
+ if req.marker is not None and not req.marker.evaluate({"extra": ""}):
191
+ continue
192
+ dist = env.get_distribution(req.name)
193
+ if not dist:
194
+ missing.add(req_str)
195
+ continue
196
+ if isinstance(dist.version, Version):
197
+ installed_req_str = f"{req.name}=={dist.version}"
198
+ else:
199
+ installed_req_str = f"{req.name}==={dist.version}"
200
+ if not req.specifier.contains(dist.version, prereleases=True):
201
+ conflicting.add((installed_req_str, req_str))
202
+ # FIXME: Consider direct URL?
203
+ return conflicting, missing
204
+
205
+ def install_requirements(
206
+ self,
207
+ finder: "PackageFinder",
208
+ requirements: Iterable[str],
209
+ prefix_as_string: str,
210
+ *,
211
+ kind: str,
212
+ ) -> None:
213
+ prefix = self._prefixes[prefix_as_string]
214
+ assert not prefix.setup
215
+ prefix.setup = True
216
+ if not requirements:
217
+ return
218
+ self._install_requirements(
219
+ get_runnable_pip(),
220
+ finder,
221
+ requirements,
222
+ prefix,
223
+ kind=kind,
224
+ )
225
+
226
+ @staticmethod
227
+ def _install_requirements(
228
+ pip_runnable: str,
229
+ finder: "PackageFinder",
230
+ requirements: Iterable[str],
231
+ prefix: _Prefix,
232
+ *,
233
+ kind: str,
234
+ ) -> None:
235
+ args: List[str] = [
236
+ sys.executable,
237
+ pip_runnable,
238
+ "install",
239
+ "--ignore-installed",
240
+ "--no-user",
241
+ "--prefix",
242
+ prefix.path,
243
+ "--no-warn-script-location",
244
+ "--disable-pip-version-check",
245
+ # The prefix specified two lines above, thus
246
+ # target from config file or env var should be ignored
247
+ "--target",
248
+ "",
249
+ "--cert",
250
+ finder.custom_cert or where(),
251
+ ]
252
+ if logger.getEffectiveLevel() <= logging.DEBUG:
253
+ args.append("-vv")
254
+ elif logger.getEffectiveLevel() <= VERBOSE:
255
+ args.append("-v")
256
+ for format_control in ("no_binary", "only_binary"):
257
+ formats = getattr(finder.format_control, format_control)
258
+ args.extend(
259
+ (
260
+ "--" + format_control.replace("_", "-"),
261
+ ",".join(sorted(formats or {":none:"})),
262
+ )
263
+ )
264
+
265
+ index_urls = finder.index_urls
266
+ if index_urls:
267
+ args.extend(["-i", index_urls[0]])
268
+ for extra_index in index_urls[1:]:
269
+ args.extend(["--extra-index-url", extra_index])
270
+ else:
271
+ args.append("--no-index")
272
+ for link in finder.find_links:
273
+ args.extend(["--find-links", link])
274
+
275
+ if finder.proxy:
276
+ args.extend(["--proxy", finder.proxy])
277
+ for host in finder.trusted_hosts:
278
+ args.extend(["--trusted-host", host])
279
+ if finder.client_cert:
280
+ args.extend(["--client-cert", finder.client_cert])
281
+ if finder.allow_all_prereleases:
282
+ args.append("--pre")
283
+ if finder.prefer_binary:
284
+ args.append("--prefer-binary")
285
+ args.append("--")
286
+ args.extend(requirements)
287
+ with open_spinner(f"Installing {kind}") as spinner:
288
+ call_subprocess(
289
+ args,
290
+ command_desc=f"pip subprocess to install {kind}",
291
+ spinner=spinner,
292
+ )
293
+
294
+
295
+ class NoOpBuildEnvironment(BuildEnvironment):
296
+ """A no-op drop-in replacement for BuildEnvironment"""
297
+
298
+ def __init__(self) -> None:
299
+ pass
300
+
301
+ def __enter__(self) -> None:
302
+ pass
303
+
304
+ def __exit__(
305
+ self,
306
+ exc_type: Optional[Type[BaseException]],
307
+ exc_val: Optional[BaseException],
308
+ exc_tb: Optional[TracebackType],
309
+ ) -> None:
310
+ pass
311
+
312
+ def cleanup(self) -> None:
313
+ pass
314
+
315
+ def install_requirements(
316
+ self,
317
+ finder: "PackageFinder",
318
+ requirements: Iterable[str],
319
+ prefix_as_string: str,
320
+ *,
321
+ kind: str,
322
+ ) -> None:
323
+ raise NotImplementedError()
.venv/Lib/site-packages/pip/_internal/cache.py ADDED
@@ -0,0 +1,290 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Cache Management
2
+ """
3
+
4
+ import hashlib
5
+ import json
6
+ import logging
7
+ import os
8
+ from pathlib import Path
9
+ from typing import Any, Dict, List, Optional
10
+
11
+ from pip._vendor.packaging.tags import Tag, interpreter_name, interpreter_version
12
+ from pip._vendor.packaging.utils import canonicalize_name
13
+
14
+ from pip._internal.exceptions import InvalidWheelFilename
15
+ from pip._internal.models.direct_url import DirectUrl
16
+ from pip._internal.models.link import Link
17
+ from pip._internal.models.wheel import Wheel
18
+ from pip._internal.utils.temp_dir import TempDirectory, tempdir_kinds
19
+ from pip._internal.utils.urls import path_to_url
20
+
21
+ logger = logging.getLogger(__name__)
22
+
23
+ ORIGIN_JSON_NAME = "origin.json"
24
+
25
+
26
+ def _hash_dict(d: Dict[str, str]) -> str:
27
+ """Return a stable sha224 of a dictionary."""
28
+ s = json.dumps(d, sort_keys=True, separators=(",", ":"), ensure_ascii=True)
29
+ return hashlib.sha224(s.encode("ascii")).hexdigest()
30
+
31
+
32
+ class Cache:
33
+ """An abstract class - provides cache directories for data from links
34
+
35
+ :param cache_dir: The root of the cache.
36
+ """
37
+
38
+ def __init__(self, cache_dir: str) -> None:
39
+ super().__init__()
40
+ assert not cache_dir or os.path.isabs(cache_dir)
41
+ self.cache_dir = cache_dir or None
42
+
43
+ def _get_cache_path_parts(self, link: Link) -> List[str]:
44
+ """Get parts of part that must be os.path.joined with cache_dir"""
45
+
46
+ # We want to generate an url to use as our cache key, we don't want to
47
+ # just reuse the URL because it might have other items in the fragment
48
+ # and we don't care about those.
49
+ key_parts = {"url": link.url_without_fragment}
50
+ if link.hash_name is not None and link.hash is not None:
51
+ key_parts[link.hash_name] = link.hash
52
+ if link.subdirectory_fragment:
53
+ key_parts["subdirectory"] = link.subdirectory_fragment
54
+
55
+ # Include interpreter name, major and minor version in cache key
56
+ # to cope with ill-behaved sdists that build a different wheel
57
+ # depending on the python version their setup.py is being run on,
58
+ # and don't encode the difference in compatibility tags.
59
+ # https://github.com/pypa/pip/issues/7296
60
+ key_parts["interpreter_name"] = interpreter_name()
61
+ key_parts["interpreter_version"] = interpreter_version()
62
+
63
+ # Encode our key url with sha224, we'll use this because it has similar
64
+ # security properties to sha256, but with a shorter total output (and
65
+ # thus less secure). However the differences don't make a lot of
66
+ # difference for our use case here.
67
+ hashed = _hash_dict(key_parts)
68
+
69
+ # We want to nest the directories some to prevent having a ton of top
70
+ # level directories where we might run out of sub directories on some
71
+ # FS.
72
+ parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]]
73
+
74
+ return parts
75
+
76
+ def _get_candidates(self, link: Link, canonical_package_name: str) -> List[Any]:
77
+ can_not_cache = not self.cache_dir or not canonical_package_name or not link
78
+ if can_not_cache:
79
+ return []
80
+
81
+ path = self.get_path_for_link(link)
82
+ if os.path.isdir(path):
83
+ return [(candidate, path) for candidate in os.listdir(path)]
84
+ return []
85
+
86
+ def get_path_for_link(self, link: Link) -> str:
87
+ """Return a directory to store cached items in for link."""
88
+ raise NotImplementedError()
89
+
90
+ def get(
91
+ self,
92
+ link: Link,
93
+ package_name: Optional[str],
94
+ supported_tags: List[Tag],
95
+ ) -> Link:
96
+ """Returns a link to a cached item if it exists, otherwise returns the
97
+ passed link.
98
+ """
99
+ raise NotImplementedError()
100
+
101
+
102
+ class SimpleWheelCache(Cache):
103
+ """A cache of wheels for future installs."""
104
+
105
+ def __init__(self, cache_dir: str) -> None:
106
+ super().__init__(cache_dir)
107
+
108
+ def get_path_for_link(self, link: Link) -> str:
109
+ """Return a directory to store cached wheels for link
110
+
111
+ Because there are M wheels for any one sdist, we provide a directory
112
+ to cache them in, and then consult that directory when looking up
113
+ cache hits.
114
+
115
+ We only insert things into the cache if they have plausible version
116
+ numbers, so that we don't contaminate the cache with things that were
117
+ not unique. E.g. ./package might have dozens of installs done for it
118
+ and build a version of 0.0...and if we built and cached a wheel, we'd
119
+ end up using the same wheel even if the source has been edited.
120
+
121
+ :param link: The link of the sdist for which this will cache wheels.
122
+ """
123
+ parts = self._get_cache_path_parts(link)
124
+ assert self.cache_dir
125
+ # Store wheels within the root cache_dir
126
+ return os.path.join(self.cache_dir, "wheels", *parts)
127
+
128
+ def get(
129
+ self,
130
+ link: Link,
131
+ package_name: Optional[str],
132
+ supported_tags: List[Tag],
133
+ ) -> Link:
134
+ candidates = []
135
+
136
+ if not package_name:
137
+ return link
138
+
139
+ canonical_package_name = canonicalize_name(package_name)
140
+ for wheel_name, wheel_dir in self._get_candidates(link, canonical_package_name):
141
+ try:
142
+ wheel = Wheel(wheel_name)
143
+ except InvalidWheelFilename:
144
+ continue
145
+ if canonicalize_name(wheel.name) != canonical_package_name:
146
+ logger.debug(
147
+ "Ignoring cached wheel %s for %s as it "
148
+ "does not match the expected distribution name %s.",
149
+ wheel_name,
150
+ link,
151
+ package_name,
152
+ )
153
+ continue
154
+ if not wheel.supported(supported_tags):
155
+ # Built for a different python/arch/etc
156
+ continue
157
+ candidates.append(
158
+ (
159
+ wheel.support_index_min(supported_tags),
160
+ wheel_name,
161
+ wheel_dir,
162
+ )
163
+ )
164
+
165
+ if not candidates:
166
+ return link
167
+
168
+ _, wheel_name, wheel_dir = min(candidates)
169
+ return Link(path_to_url(os.path.join(wheel_dir, wheel_name)))
170
+
171
+
172
+ class EphemWheelCache(SimpleWheelCache):
173
+ """A SimpleWheelCache that creates it's own temporary cache directory"""
174
+
175
+ def __init__(self) -> None:
176
+ self._temp_dir = TempDirectory(
177
+ kind=tempdir_kinds.EPHEM_WHEEL_CACHE,
178
+ globally_managed=True,
179
+ )
180
+
181
+ super().__init__(self._temp_dir.path)
182
+
183
+
184
+ class CacheEntry:
185
+ def __init__(
186
+ self,
187
+ link: Link,
188
+ persistent: bool,
189
+ ):
190
+ self.link = link
191
+ self.persistent = persistent
192
+ self.origin: Optional[DirectUrl] = None
193
+ origin_direct_url_path = Path(self.link.file_path).parent / ORIGIN_JSON_NAME
194
+ if origin_direct_url_path.exists():
195
+ try:
196
+ self.origin = DirectUrl.from_json(
197
+ origin_direct_url_path.read_text(encoding="utf-8")
198
+ )
199
+ except Exception as e:
200
+ logger.warning(
201
+ "Ignoring invalid cache entry origin file %s for %s (%s)",
202
+ origin_direct_url_path,
203
+ link.filename,
204
+ e,
205
+ )
206
+
207
+
208
+ class WheelCache(Cache):
209
+ """Wraps EphemWheelCache and SimpleWheelCache into a single Cache
210
+
211
+ This Cache allows for gracefully degradation, using the ephem wheel cache
212
+ when a certain link is not found in the simple wheel cache first.
213
+ """
214
+
215
+ def __init__(self, cache_dir: str) -> None:
216
+ super().__init__(cache_dir)
217
+ self._wheel_cache = SimpleWheelCache(cache_dir)
218
+ self._ephem_cache = EphemWheelCache()
219
+
220
+ def get_path_for_link(self, link: Link) -> str:
221
+ return self._wheel_cache.get_path_for_link(link)
222
+
223
+ def get_ephem_path_for_link(self, link: Link) -> str:
224
+ return self._ephem_cache.get_path_for_link(link)
225
+
226
+ def get(
227
+ self,
228
+ link: Link,
229
+ package_name: Optional[str],
230
+ supported_tags: List[Tag],
231
+ ) -> Link:
232
+ cache_entry = self.get_cache_entry(link, package_name, supported_tags)
233
+ if cache_entry is None:
234
+ return link
235
+ return cache_entry.link
236
+
237
+ def get_cache_entry(
238
+ self,
239
+ link: Link,
240
+ package_name: Optional[str],
241
+ supported_tags: List[Tag],
242
+ ) -> Optional[CacheEntry]:
243
+ """Returns a CacheEntry with a link to a cached item if it exists or
244
+ None. The cache entry indicates if the item was found in the persistent
245
+ or ephemeral cache.
246
+ """
247
+ retval = self._wheel_cache.get(
248
+ link=link,
249
+ package_name=package_name,
250
+ supported_tags=supported_tags,
251
+ )
252
+ if retval is not link:
253
+ return CacheEntry(retval, persistent=True)
254
+
255
+ retval = self._ephem_cache.get(
256
+ link=link,
257
+ package_name=package_name,
258
+ supported_tags=supported_tags,
259
+ )
260
+ if retval is not link:
261
+ return CacheEntry(retval, persistent=False)
262
+
263
+ return None
264
+
265
+ @staticmethod
266
+ def record_download_origin(cache_dir: str, download_info: DirectUrl) -> None:
267
+ origin_path = Path(cache_dir) / ORIGIN_JSON_NAME
268
+ if origin_path.exists():
269
+ try:
270
+ origin = DirectUrl.from_json(origin_path.read_text(encoding="utf-8"))
271
+ except Exception as e:
272
+ logger.warning(
273
+ "Could not read origin file %s in cache entry (%s). "
274
+ "Will attempt to overwrite it.",
275
+ origin_path,
276
+ e,
277
+ )
278
+ else:
279
+ # TODO: use DirectUrl.equivalent when
280
+ # https://github.com/pypa/pip/pull/10564 is merged.
281
+ if origin.url != download_info.url:
282
+ logger.warning(
283
+ "Origin URL %s in cache entry %s does not match download URL "
284
+ "%s. This is likely a pip bug or a cache corruption issue. "
285
+ "Will overwrite it with the new value.",
286
+ origin.url,
287
+ cache_dir,
288
+ download_info.url,
289
+ )
290
+ origin_path.write_text(download_info.to_json(), encoding="utf-8")
.venv/Lib/site-packages/pip/_internal/cli/__init__.py ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ """Subpackage containing all of pip's command line interface related code
2
+ """
3
+
4
+ # This file intentionally does not import submodules
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (314 Bytes). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-311.pyc ADDED
Binary file (10.5 kB). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-311.pyc ADDED
Binary file (12 kB). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-311.pyc ADDED
Binary file (33.8 kB). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-311.pyc ADDED
Binary file (2.14 kB). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-311.pyc ADDED
Binary file (7.99 kB). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main.cpython-311.pyc ADDED
Binary file (2.61 kB). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-311.pyc ADDED
Binary file (5.55 kB). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/parser.cpython-311.pyc ADDED
Binary file (17.1 kB). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-311.pyc ADDED
Binary file (4.64 kB). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-311.pyc ADDED
Binary file (13.1 kB). View file
 
.venv/Lib/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-311.pyc ADDED
Binary file (8.86 kB). View file