#
tokens: 49355/50000 17/808 files (page 7/168)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 7 of 168. Use http://codebase.md/romanshablio/mcp_server?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .DS_Store
├── .venv
│   ├── __pycache__
│   │   └── hello.cpython-312.pyc
│   ├── bin
│   │   ├── activate
│   │   ├── activate.csh
│   │   ├── activate.fish
│   │   ├── Activate.ps1
│   │   ├── flask
│   │   ├── normalizer
│   │   ├── pip
│   │   ├── pip3
│   │   ├── pip3.12
│   │   ├── python
│   │   ├── python3
│   │   └── python3.12
│   ├── hello.py
│   ├── lib
│   │   └── python3.12
│   │       └── site-packages
│   │           ├── beautifulsoup4-4.12.3.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── licenses
│   │           │   │   ├── AUTHORS
│   │           │   │   └── LICENSE
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   └── WHEEL
│   │           ├── blinker
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _utilities.cpython-312.pyc
│   │           │   │   └── base.cpython-312.pyc
│   │           │   ├── _utilities.py
│   │           │   ├── base.py
│   │           │   └── py.typed
│   │           ├── blinker-1.8.2.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── bs4
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── css.cpython-312.pyc
│   │           │   │   ├── dammit.cpython-312.pyc
│   │           │   │   ├── diagnose.cpython-312.pyc
│   │           │   │   ├── element.cpython-312.pyc
│   │           │   │   └── formatter.cpython-312.pyc
│   │           │   ├── builder
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── _html5lib.cpython-312.pyc
│   │           │   │   │   ├── _htmlparser.cpython-312.pyc
│   │           │   │   │   └── _lxml.cpython-312.pyc
│   │           │   │   ├── _html5lib.py
│   │           │   │   ├── _htmlparser.py
│   │           │   │   └── _lxml.py
│   │           │   ├── css.py
│   │           │   ├── dammit.py
│   │           │   ├── diagnose.py
│   │           │   ├── element.py
│   │           │   ├── formatter.py
│   │           │   └── tests
│   │           │       ├── __init__.py
│   │           │       ├── __pycache__
│   │           │       │   ├── __init__.cpython-312.pyc
│   │           │       │   ├── test_builder_registry.cpython-312.pyc
│   │           │       │   ├── test_builder.cpython-312.pyc
│   │           │       │   ├── test_css.cpython-312.pyc
│   │           │       │   ├── test_dammit.cpython-312.pyc
│   │           │       │   ├── test_docs.cpython-312.pyc
│   │           │       │   ├── test_element.cpython-312.pyc
│   │           │       │   ├── test_formatter.cpython-312.pyc
│   │           │       │   ├── test_fuzz.cpython-312.pyc
│   │           │       │   ├── test_html5lib.cpython-312.pyc
│   │           │       │   ├── test_htmlparser.cpython-312.pyc
│   │           │       │   ├── test_lxml.cpython-312.pyc
│   │           │       │   ├── test_navigablestring.cpython-312.pyc
│   │           │       │   ├── test_pageelement.cpython-312.pyc
│   │           │       │   ├── test_soup.cpython-312.pyc
│   │           │       │   ├── test_tag.cpython-312.pyc
│   │           │       │   └── test_tree.cpython-312.pyc
│   │           │       ├── fuzz
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-4670634698080256.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-4818336571064320.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-4999465949331456.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5000587759190016.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5167584867909632.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5270998950477824.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5375146639360000.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5492400320282624.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5703933063462912.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5843991618256896.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5984173902397440.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6124268085182464.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6241471367348224.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6306874195312640.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6450958476902400.testcase
│   │           │       │   ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6600557255327744.testcase
│   │           │       │   ├── crash-0d306a50c8ed8bcd0785b67000fcd5dea1d33f08.testcase
│   │           │       │   └── crash-ffbdfa8a2b26f13537b68d3794b0478a4090ee4a.testcase
│   │           │       ├── test_builder_registry.py
│   │           │       ├── test_builder.py
│   │           │       ├── test_css.py
│   │           │       ├── test_dammit.py
│   │           │       ├── test_docs.py
│   │           │       ├── test_element.py
│   │           │       ├── test_formatter.py
│   │           │       ├── test_fuzz.py
│   │           │       ├── test_html5lib.py
│   │           │       ├── test_htmlparser.py
│   │           │       ├── test_lxml.py
│   │           │       ├── test_navigablestring.py
│   │           │       ├── test_pageelement.py
│   │           │       ├── test_soup.py
│   │           │       ├── test_tag.py
│   │           │       └── test_tree.py
│   │           ├── certifi
│   │           │   ├── __init__.py
│   │           │   ├── __main__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __main__.cpython-312.pyc
│   │           │   │   └── core.cpython-312.pyc
│   │           │   ├── cacert.pem
│   │           │   ├── core.py
│   │           │   └── py.typed
│   │           ├── certifi-2024.8.30.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── charset_normalizer
│   │           │   ├── __init__.py
│   │           │   ├── __main__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __main__.cpython-312.pyc
│   │           │   │   ├── api.cpython-312.pyc
│   │           │   │   ├── cd.cpython-312.pyc
│   │           │   │   ├── constant.cpython-312.pyc
│   │           │   │   ├── legacy.cpython-312.pyc
│   │           │   │   ├── md.cpython-312.pyc
│   │           │   │   ├── models.cpython-312.pyc
│   │           │   │   ├── utils.cpython-312.pyc
│   │           │   │   └── version.cpython-312.pyc
│   │           │   ├── api.py
│   │           │   ├── cd.py
│   │           │   ├── cli
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __main__.py
│   │           │   │   └── __pycache__
│   │           │   │       ├── __init__.cpython-312.pyc
│   │           │   │       └── __main__.cpython-312.pyc
│   │           │   ├── constant.py
│   │           │   ├── legacy.py
│   │           │   ├── md__mypyc.cpython-312-darwin.so
│   │           │   ├── md.cpython-312-darwin.so
│   │           │   ├── md.py
│   │           │   ├── models.py
│   │           │   ├── py.typed
│   │           │   ├── utils.py
│   │           │   └── version.py
│   │           ├── charset_normalizer-3.4.0.dist-info
│   │           │   ├── entry_points.txt
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── click
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _compat.cpython-312.pyc
│   │           │   │   ├── _termui_impl.cpython-312.pyc
│   │           │   │   ├── _textwrap.cpython-312.pyc
│   │           │   │   ├── _winconsole.cpython-312.pyc
│   │           │   │   ├── core.cpython-312.pyc
│   │           │   │   ├── decorators.cpython-312.pyc
│   │           │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   ├── formatting.cpython-312.pyc
│   │           │   │   ├── globals.cpython-312.pyc
│   │           │   │   ├── parser.cpython-312.pyc
│   │           │   │   ├── shell_completion.cpython-312.pyc
│   │           │   │   ├── termui.cpython-312.pyc
│   │           │   │   ├── testing.cpython-312.pyc
│   │           │   │   ├── types.cpython-312.pyc
│   │           │   │   └── utils.cpython-312.pyc
│   │           │   ├── _compat.py
│   │           │   ├── _termui_impl.py
│   │           │   ├── _textwrap.py
│   │           │   ├── _winconsole.py
│   │           │   ├── core.py
│   │           │   ├── decorators.py
│   │           │   ├── exceptions.py
│   │           │   ├── formatting.py
│   │           │   ├── globals.py
│   │           │   ├── parser.py
│   │           │   ├── py.typed
│   │           │   ├── shell_completion.py
│   │           │   ├── termui.py
│   │           │   ├── testing.py
│   │           │   ├── types.py
│   │           │   └── utils.py
│   │           ├── click-8.1.7.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.rst
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── fake_useragent
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── errors.cpython-312.pyc
│   │           │   │   ├── fake.cpython-312.pyc
│   │           │   │   ├── log.cpython-312.pyc
│   │           │   │   ├── settings.cpython-312.pyc
│   │           │   │   └── utils.cpython-312.pyc
│   │           │   ├── data
│   │           │   │   └── browsers.json
│   │           │   ├── errors.py
│   │           │   ├── fake.py
│   │           │   ├── log.py
│   │           │   ├── settings.py
│   │           │   └── utils.py
│   │           ├── fake_useragent-1.5.1.dist-info
│   │           │   ├── AUTHORS
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── flask
│   │           │   ├── __init__.py
│   │           │   ├── __main__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __main__.cpython-312.pyc
│   │           │   │   ├── app.cpython-312.pyc
│   │           │   │   ├── blueprints.cpython-312.pyc
│   │           │   │   ├── cli.cpython-312.pyc
│   │           │   │   ├── config.cpython-312.pyc
│   │           │   │   ├── ctx.cpython-312.pyc
│   │           │   │   ├── debughelpers.cpython-312.pyc
│   │           │   │   ├── globals.cpython-312.pyc
│   │           │   │   ├── helpers.cpython-312.pyc
│   │           │   │   ├── logging.cpython-312.pyc
│   │           │   │   ├── sessions.cpython-312.pyc
│   │           │   │   ├── signals.cpython-312.pyc
│   │           │   │   ├── templating.cpython-312.pyc
│   │           │   │   ├── testing.cpython-312.pyc
│   │           │   │   ├── typing.cpython-312.pyc
│   │           │   │   ├── views.cpython-312.pyc
│   │           │   │   └── wrappers.cpython-312.pyc
│   │           │   ├── app.py
│   │           │   ├── blueprints.py
│   │           │   ├── cli.py
│   │           │   ├── config.py
│   │           │   ├── ctx.py
│   │           │   ├── debughelpers.py
│   │           │   ├── globals.py
│   │           │   ├── helpers.py
│   │           │   ├── json
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── provider.cpython-312.pyc
│   │           │   │   │   └── tag.cpython-312.pyc
│   │           │   │   ├── provider.py
│   │           │   │   └── tag.py
│   │           │   ├── logging.py
│   │           │   ├── py.typed
│   │           │   ├── sansio
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── app.cpython-312.pyc
│   │           │   │   │   ├── blueprints.cpython-312.pyc
│   │           │   │   │   └── scaffold.cpython-312.pyc
│   │           │   │   ├── app.py
│   │           │   │   ├── blueprints.py
│   │           │   │   ├── README.md
│   │           │   │   └── scaffold.py
│   │           │   ├── sessions.py
│   │           │   ├── signals.py
│   │           │   ├── templating.py
│   │           │   ├── testing.py
│   │           │   ├── typing.py
│   │           │   ├── views.py
│   │           │   └── wrappers.py
│   │           ├── flask-3.0.3.dist-info
│   │           │   ├── entry_points.txt
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   └── WHEEL
│   │           ├── idna
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── codec.cpython-312.pyc
│   │           │   │   ├── compat.cpython-312.pyc
│   │           │   │   ├── core.cpython-312.pyc
│   │           │   │   ├── idnadata.cpython-312.pyc
│   │           │   │   ├── intranges.cpython-312.pyc
│   │           │   │   ├── package_data.cpython-312.pyc
│   │           │   │   └── uts46data.cpython-312.pyc
│   │           │   ├── codec.py
│   │           │   ├── compat.py
│   │           │   ├── core.py
│   │           │   ├── idnadata.py
│   │           │   ├── intranges.py
│   │           │   ├── package_data.py
│   │           │   ├── py.typed
│   │           │   └── uts46data.py
│   │           ├── idna-3.10.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.md
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── itsdangerous
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _json.cpython-312.pyc
│   │           │   │   ├── encoding.cpython-312.pyc
│   │           │   │   ├── exc.cpython-312.pyc
│   │           │   │   ├── serializer.cpython-312.pyc
│   │           │   │   ├── signer.cpython-312.pyc
│   │           │   │   ├── timed.cpython-312.pyc
│   │           │   │   └── url_safe.cpython-312.pyc
│   │           │   ├── _json.py
│   │           │   ├── encoding.py
│   │           │   ├── exc.py
│   │           │   ├── py.typed
│   │           │   ├── serializer.py
│   │           │   ├── signer.py
│   │           │   ├── timed.py
│   │           │   └── url_safe.py
│   │           ├── itsdangerous-2.2.0.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── jinja2
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _identifier.cpython-312.pyc
│   │           │   │   ├── async_utils.cpython-312.pyc
│   │           │   │   ├── bccache.cpython-312.pyc
│   │           │   │   ├── compiler.cpython-312.pyc
│   │           │   │   ├── constants.cpython-312.pyc
│   │           │   │   ├── debug.cpython-312.pyc
│   │           │   │   ├── defaults.cpython-312.pyc
│   │           │   │   ├── environment.cpython-312.pyc
│   │           │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   ├── ext.cpython-312.pyc
│   │           │   │   ├── filters.cpython-312.pyc
│   │           │   │   ├── idtracking.cpython-312.pyc
│   │           │   │   ├── lexer.cpython-312.pyc
│   │           │   │   ├── loaders.cpython-312.pyc
│   │           │   │   ├── meta.cpython-312.pyc
│   │           │   │   ├── nativetypes.cpython-312.pyc
│   │           │   │   ├── nodes.cpython-312.pyc
│   │           │   │   ├── optimizer.cpython-312.pyc
│   │           │   │   ├── parser.cpython-312.pyc
│   │           │   │   ├── runtime.cpython-312.pyc
│   │           │   │   ├── sandbox.cpython-312.pyc
│   │           │   │   ├── tests.cpython-312.pyc
│   │           │   │   ├── utils.cpython-312.pyc
│   │           │   │   └── visitor.cpython-312.pyc
│   │           │   ├── _identifier.py
│   │           │   ├── async_utils.py
│   │           │   ├── bccache.py
│   │           │   ├── compiler.py
│   │           │   ├── constants.py
│   │           │   ├── debug.py
│   │           │   ├── defaults.py
│   │           │   ├── environment.py
│   │           │   ├── exceptions.py
│   │           │   ├── ext.py
│   │           │   ├── filters.py
│   │           │   ├── idtracking.py
│   │           │   ├── lexer.py
│   │           │   ├── loaders.py
│   │           │   ├── meta.py
│   │           │   ├── nativetypes.py
│   │           │   ├── nodes.py
│   │           │   ├── optimizer.py
│   │           │   ├── parser.py
│   │           │   ├── py.typed
│   │           │   ├── runtime.py
│   │           │   ├── sandbox.py
│   │           │   ├── tests.py
│   │           │   ├── utils.py
│   │           │   └── visitor.py
│   │           ├── jinja2-3.1.4.dist-info
│   │           │   ├── entry_points.txt
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── lxml
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _elementpath.cpython-312.pyc
│   │           │   │   ├── builder.cpython-312.pyc
│   │           │   │   ├── cssselect.cpython-312.pyc
│   │           │   │   ├── doctestcompare.cpython-312.pyc
│   │           │   │   ├── ElementInclude.cpython-312.pyc
│   │           │   │   ├── pyclasslookup.cpython-312.pyc
│   │           │   │   ├── sax.cpython-312.pyc
│   │           │   │   └── usedoctest.cpython-312.pyc
│   │           │   ├── _elementpath.cpython-312-darwin.so
│   │           │   ├── _elementpath.py
│   │           │   ├── apihelpers.pxi
│   │           │   ├── builder.cpython-312-darwin.so
│   │           │   ├── builder.py
│   │           │   ├── classlookup.pxi
│   │           │   ├── cleanup.pxi
│   │           │   ├── cssselect.py
│   │           │   ├── debug.pxi
│   │           │   ├── docloader.pxi
│   │           │   ├── doctestcompare.py
│   │           │   ├── dtd.pxi
│   │           │   ├── ElementInclude.py
│   │           │   ├── etree_api.h
│   │           │   ├── etree.cpython-312-darwin.so
│   │           │   ├── etree.h
│   │           │   ├── etree.pyx
│   │           │   ├── extensions.pxi
│   │           │   ├── html
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── _diffcommand.cpython-312.pyc
│   │           │   │   │   ├── _html5builder.cpython-312.pyc
│   │           │   │   │   ├── _setmixin.cpython-312.pyc
│   │           │   │   │   ├── builder.cpython-312.pyc
│   │           │   │   │   ├── clean.cpython-312.pyc
│   │           │   │   │   ├── defs.cpython-312.pyc
│   │           │   │   │   ├── diff.cpython-312.pyc
│   │           │   │   │   ├── ElementSoup.cpython-312.pyc
│   │           │   │   │   ├── formfill.cpython-312.pyc
│   │           │   │   │   ├── html5parser.cpython-312.pyc
│   │           │   │   │   ├── soupparser.cpython-312.pyc
│   │           │   │   │   └── usedoctest.cpython-312.pyc
│   │           │   │   ├── _diffcommand.py
│   │           │   │   ├── _html5builder.py
│   │           │   │   ├── _setmixin.py
│   │           │   │   ├── builder.py
│   │           │   │   ├── clean.py
│   │           │   │   ├── defs.py
│   │           │   │   ├── diff.cpython-312-darwin.so
│   │           │   │   ├── diff.py
│   │           │   │   ├── ElementSoup.py
│   │           │   │   ├── formfill.py
│   │           │   │   ├── html5parser.py
│   │           │   │   ├── soupparser.py
│   │           │   │   └── usedoctest.py
│   │           │   ├── includes
│   │           │   │   ├── __init__.pxd
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   ├── c14n.pxd
│   │           │   │   ├── config.pxd
│   │           │   │   ├── dtdvalid.pxd
│   │           │   │   ├── etree_defs.h
│   │           │   │   ├── etreepublic.pxd
│   │           │   │   ├── extlibs
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   │   ├── libcharset.h
│   │           │   │   │   ├── localcharset.h
│   │           │   │   │   ├── zconf.h
│   │           │   │   │   └── zlib.h
│   │           │   │   ├── htmlparser.pxd
│   │           │   │   ├── libexslt
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   │   ├── exslt.h
│   │           │   │   │   ├── exsltconfig.h
│   │           │   │   │   └── exsltexports.h
│   │           │   │   ├── libxml
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   │   ├── c14n.h
│   │           │   │   │   ├── catalog.h
│   │           │   │   │   ├── chvalid.h
│   │           │   │   │   ├── debugXML.h
│   │           │   │   │   ├── dict.h
│   │           │   │   │   ├── encoding.h
│   │           │   │   │   ├── entities.h
│   │           │   │   │   ├── globals.h
│   │           │   │   │   ├── hash.h
│   │           │   │   │   ├── HTMLparser.h
│   │           │   │   │   ├── HTMLtree.h
│   │           │   │   │   ├── list.h
│   │           │   │   │   ├── nanoftp.h
│   │           │   │   │   ├── nanohttp.h
│   │           │   │   │   ├── parser.h
│   │           │   │   │   ├── parserInternals.h
│   │           │   │   │   ├── relaxng.h
│   │           │   │   │   ├── SAX.h
│   │           │   │   │   ├── SAX2.h
│   │           │   │   │   ├── schemasInternals.h
│   │           │   │   │   ├── schematron.h
│   │           │   │   │   ├── threads.h
│   │           │   │   │   ├── tree.h
│   │           │   │   │   ├── uri.h
│   │           │   │   │   ├── valid.h
│   │           │   │   │   ├── xinclude.h
│   │           │   │   │   ├── xlink.h
│   │           │   │   │   ├── xmlautomata.h
│   │           │   │   │   ├── xmlerror.h
│   │           │   │   │   ├── xmlexports.h
│   │           │   │   │   ├── xmlIO.h
│   │           │   │   │   ├── xmlmemory.h
│   │           │   │   │   ├── xmlmodule.h
│   │           │   │   │   ├── xmlreader.h
│   │           │   │   │   ├── xmlregexp.h
│   │           │   │   │   ├── xmlsave.h
│   │           │   │   │   ├── xmlschemas.h
│   │           │   │   │   ├── xmlschemastypes.h
│   │           │   │   │   ├── xmlstring.h
│   │           │   │   │   ├── xmlunicode.h
│   │           │   │   │   ├── xmlversion.h
│   │           │   │   │   ├── xmlwriter.h
│   │           │   │   │   ├── xpath.h
│   │           │   │   │   ├── xpathInternals.h
│   │           │   │   │   └── xpointer.h
│   │           │   │   ├── libxslt
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   │   ├── attributes.h
│   │           │   │   │   ├── documents.h
│   │           │   │   │   ├── extensions.h
│   │           │   │   │   ├── extra.h
│   │           │   │   │   ├── functions.h
│   │           │   │   │   ├── imports.h
│   │           │   │   │   ├── keys.h
│   │           │   │   │   ├── namespaces.h
│   │           │   │   │   ├── numbersInternals.h
│   │           │   │   │   ├── pattern.h
│   │           │   │   │   ├── preproc.h
│   │           │   │   │   ├── security.h
│   │           │   │   │   ├── templates.h
│   │           │   │   │   ├── transform.h
│   │           │   │   │   ├── variables.h
│   │           │   │   │   ├── xslt.h
│   │           │   │   │   ├── xsltconfig.h
│   │           │   │   │   ├── xsltexports.h
│   │           │   │   │   ├── xsltInternals.h
│   │           │   │   │   ├── xsltlocale.h
│   │           │   │   │   └── xsltutils.h
│   │           │   │   ├── lxml-version.h
│   │           │   │   ├── relaxng.pxd
│   │           │   │   ├── schematron.pxd
│   │           │   │   ├── tree.pxd
│   │           │   │   ├── uri.pxd
│   │           │   │   ├── xinclude.pxd
│   │           │   │   ├── xmlerror.pxd
│   │           │   │   ├── xmlparser.pxd
│   │           │   │   ├── xmlschema.pxd
│   │           │   │   ├── xpath.pxd
│   │           │   │   └── xslt.pxd
│   │           │   ├── isoschematron
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   └── __init__.cpython-312.pyc
│   │           │   │   └── resources
│   │           │   │       ├── rng
│   │           │   │       │   └── iso-schematron.rng
│   │           │   │       └── xsl
│   │           │   │           ├── iso-schematron-xslt1
│   │           │   │           │   ├── iso_abstract_expand.xsl
│   │           │   │           │   ├── iso_dsdl_include.xsl
│   │           │   │           │   ├── iso_schematron_message.xsl
│   │           │   │           │   ├── iso_schematron_skeleton_for_xslt1.xsl
│   │           │   │           │   ├── iso_svrl_for_xslt1.xsl
│   │           │   │           │   └── readme.txt
│   │           │   │           ├── RNG2Schtrn.xsl
│   │           │   │           └── XSD2Schtrn.xsl
│   │           │   ├── iterparse.pxi
│   │           │   ├── lxml.etree_api.h
│   │           │   ├── lxml.etree.h
│   │           │   ├── nsclasses.pxi
│   │           │   ├── objectify.cpython-312-darwin.so
│   │           │   ├── objectify.pyx
│   │           │   ├── objectpath.pxi
│   │           │   ├── parser.pxi
│   │           │   ├── parsertarget.pxi
│   │           │   ├── proxy.pxi
│   │           │   ├── public-api.pxi
│   │           │   ├── pyclasslookup.py
│   │           │   ├── readonlytree.pxi
│   │           │   ├── relaxng.pxi
│   │           │   ├── sax.cpython-312-darwin.so
│   │           │   ├── sax.py
│   │           │   ├── saxparser.pxi
│   │           │   ├── schematron.pxi
│   │           │   ├── serializer.pxi
│   │           │   ├── usedoctest.py
│   │           │   ├── xinclude.pxi
│   │           │   ├── xmlerror.pxi
│   │           │   ├── xmlid.pxi
│   │           │   ├── xmlschema.pxi
│   │           │   ├── xpath.pxi
│   │           │   ├── xslt.pxi
│   │           │   └── xsltext.pxi
│   │           ├── lxml-5.3.0.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── LICENSES.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── markupsafe
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   └── _native.cpython-312.pyc
│   │           │   ├── _native.py
│   │           │   ├── _speedups.c
│   │           │   ├── _speedups.cpython-312-darwin.so
│   │           │   ├── _speedups.pyi
│   │           │   └── py.typed
│   │           ├── MarkupSafe-3.0.1.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── pip
│   │           │   ├── __init__.py
│   │           │   ├── __main__.py
│   │           │   ├── __pip-runner__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __main__.cpython-312.pyc
│   │           │   │   └── __pip-runner__.cpython-312.pyc
│   │           │   ├── _internal
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── build_env.cpython-312.pyc
│   │           │   │   │   ├── cache.cpython-312.pyc
│   │           │   │   │   ├── configuration.cpython-312.pyc
│   │           │   │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   │   ├── main.cpython-312.pyc
│   │           │   │   │   ├── pyproject.cpython-312.pyc
│   │           │   │   │   ├── self_outdated_check.cpython-312.pyc
│   │           │   │   │   └── wheel_builder.cpython-312.pyc
│   │           │   │   ├── build_env.py
│   │           │   │   ├── cache.py
│   │           │   │   ├── cli
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── autocompletion.cpython-312.pyc
│   │           │   │   │   │   ├── base_command.cpython-312.pyc
│   │           │   │   │   │   ├── cmdoptions.cpython-312.pyc
│   │           │   │   │   │   ├── command_context.cpython-312.pyc
│   │           │   │   │   │   ├── index_command.cpython-312.pyc
│   │           │   │   │   │   ├── main_parser.cpython-312.pyc
│   │           │   │   │   │   ├── main.cpython-312.pyc
│   │           │   │   │   │   ├── parser.cpython-312.pyc
│   │           │   │   │   │   ├── progress_bars.cpython-312.pyc
│   │           │   │   │   │   ├── req_command.cpython-312.pyc
│   │           │   │   │   │   ├── spinners.cpython-312.pyc
│   │           │   │   │   │   └── status_codes.cpython-312.pyc
│   │           │   │   │   ├── autocompletion.py
│   │           │   │   │   ├── base_command.py
│   │           │   │   │   ├── cmdoptions.py
│   │           │   │   │   ├── command_context.py
│   │           │   │   │   ├── index_command.py
│   │           │   │   │   ├── main_parser.py
│   │           │   │   │   ├── main.py
│   │           │   │   │   ├── parser.py
│   │           │   │   │   ├── progress_bars.py
│   │           │   │   │   ├── req_command.py
│   │           │   │   │   ├── spinners.py
│   │           │   │   │   └── status_codes.py
│   │           │   │   ├── commands
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── cache.cpython-312.pyc
│   │           │   │   │   │   ├── check.cpython-312.pyc
│   │           │   │   │   │   ├── completion.cpython-312.pyc
│   │           │   │   │   │   ├── configuration.cpython-312.pyc
│   │           │   │   │   │   ├── debug.cpython-312.pyc
│   │           │   │   │   │   ├── download.cpython-312.pyc
│   │           │   │   │   │   ├── freeze.cpython-312.pyc
│   │           │   │   │   │   ├── hash.cpython-312.pyc
│   │           │   │   │   │   ├── help.cpython-312.pyc
│   │           │   │   │   │   ├── index.cpython-312.pyc
│   │           │   │   │   │   ├── inspect.cpython-312.pyc
│   │           │   │   │   │   ├── install.cpython-312.pyc
│   │           │   │   │   │   ├── list.cpython-312.pyc
│   │           │   │   │   │   ├── search.cpython-312.pyc
│   │           │   │   │   │   ├── show.cpython-312.pyc
│   │           │   │   │   │   ├── uninstall.cpython-312.pyc
│   │           │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   ├── cache.py
│   │           │   │   │   ├── check.py
│   │           │   │   │   ├── completion.py
│   │           │   │   │   ├── configuration.py
│   │           │   │   │   ├── debug.py
│   │           │   │   │   ├── download.py
│   │           │   │   │   ├── freeze.py
│   │           │   │   │   ├── hash.py
│   │           │   │   │   ├── help.py
│   │           │   │   │   ├── index.py
│   │           │   │   │   ├── inspect.py
│   │           │   │   │   ├── install.py
│   │           │   │   │   ├── list.py
│   │           │   │   │   ├── search.py
│   │           │   │   │   ├── show.py
│   │           │   │   │   ├── uninstall.py
│   │           │   │   │   └── wheel.py
│   │           │   │   ├── configuration.py
│   │           │   │   ├── distributions
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── base.cpython-312.pyc
│   │           │   │   │   │   ├── installed.cpython-312.pyc
│   │           │   │   │   │   ├── sdist.cpython-312.pyc
│   │           │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   ├── base.py
│   │           │   │   │   ├── installed.py
│   │           │   │   │   ├── sdist.py
│   │           │   │   │   └── wheel.py
│   │           │   │   ├── exceptions.py
│   │           │   │   ├── index
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── collector.cpython-312.pyc
│   │           │   │   │   │   ├── package_finder.cpython-312.pyc
│   │           │   │   │   │   └── sources.cpython-312.pyc
│   │           │   │   │   ├── collector.py
│   │           │   │   │   ├── package_finder.py
│   │           │   │   │   └── sources.py
│   │           │   │   ├── locations
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _distutils.cpython-312.pyc
│   │           │   │   │   │   ├── _sysconfig.cpython-312.pyc
│   │           │   │   │   │   └── base.cpython-312.pyc
│   │           │   │   │   ├── _distutils.py
│   │           │   │   │   ├── _sysconfig.py
│   │           │   │   │   └── base.py
│   │           │   │   ├── main.py
│   │           │   │   ├── metadata
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _json.cpython-312.pyc
│   │           │   │   │   │   ├── base.cpython-312.pyc
│   │           │   │   │   │   └── pkg_resources.cpython-312.pyc
│   │           │   │   │   ├── _json.py
│   │           │   │   │   ├── base.py
│   │           │   │   │   ├── importlib
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── _compat.cpython-312.pyc
│   │           │   │   │   │   │   ├── _dists.cpython-312.pyc
│   │           │   │   │   │   │   └── _envs.cpython-312.pyc
│   │           │   │   │   │   ├── _compat.py
│   │           │   │   │   │   ├── _dists.py
│   │           │   │   │   │   └── _envs.py
│   │           │   │   │   └── pkg_resources.py
│   │           │   │   ├── models
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── candidate.cpython-312.pyc
│   │           │   │   │   │   ├── direct_url.cpython-312.pyc
│   │           │   │   │   │   ├── format_control.cpython-312.pyc
│   │           │   │   │   │   ├── index.cpython-312.pyc
│   │           │   │   │   │   ├── installation_report.cpython-312.pyc
│   │           │   │   │   │   ├── link.cpython-312.pyc
│   │           │   │   │   │   ├── scheme.cpython-312.pyc
│   │           │   │   │   │   ├── search_scope.cpython-312.pyc
│   │           │   │   │   │   ├── selection_prefs.cpython-312.pyc
│   │           │   │   │   │   ├── target_python.cpython-312.pyc
│   │           │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   ├── candidate.py
│   │           │   │   │   ├── direct_url.py
│   │           │   │   │   ├── format_control.py
│   │           │   │   │   ├── index.py
│   │           │   │   │   ├── installation_report.py
│   │           │   │   │   ├── link.py
│   │           │   │   │   ├── scheme.py
│   │           │   │   │   ├── search_scope.py
│   │           │   │   │   ├── selection_prefs.py
│   │           │   │   │   ├── target_python.py
│   │           │   │   │   └── wheel.py
│   │           │   │   ├── network
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── auth.cpython-312.pyc
│   │           │   │   │   │   ├── cache.cpython-312.pyc
│   │           │   │   │   │   ├── download.cpython-312.pyc
│   │           │   │   │   │   ├── lazy_wheel.cpython-312.pyc
│   │           │   │   │   │   ├── session.cpython-312.pyc
│   │           │   │   │   │   ├── utils.cpython-312.pyc
│   │           │   │   │   │   └── xmlrpc.cpython-312.pyc
│   │           │   │   │   ├── auth.py
│   │           │   │   │   ├── cache.py
│   │           │   │   │   ├── download.py
│   │           │   │   │   ├── lazy_wheel.py
│   │           │   │   │   ├── session.py
│   │           │   │   │   ├── utils.py
│   │           │   │   │   └── xmlrpc.py
│   │           │   │   ├── operations
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── check.cpython-312.pyc
│   │           │   │   │   │   ├── freeze.cpython-312.pyc
│   │           │   │   │   │   └── prepare.cpython-312.pyc
│   │           │   │   │   ├── build
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── build_tracker.cpython-312.pyc
│   │           │   │   │   │   │   ├── metadata_editable.cpython-312.pyc
│   │           │   │   │   │   │   ├── metadata_legacy.cpython-312.pyc
│   │           │   │   │   │   │   ├── metadata.cpython-312.pyc
│   │           │   │   │   │   │   ├── wheel_editable.cpython-312.pyc
│   │           │   │   │   │   │   ├── wheel_legacy.cpython-312.pyc
│   │           │   │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   │   ├── build_tracker.py
│   │           │   │   │   │   ├── metadata_editable.py
│   │           │   │   │   │   ├── metadata_legacy.py
│   │           │   │   │   │   ├── metadata.py
│   │           │   │   │   │   ├── wheel_editable.py
│   │           │   │   │   │   ├── wheel_legacy.py
│   │           │   │   │   │   └── wheel.py
│   │           │   │   │   ├── check.py
│   │           │   │   │   ├── freeze.py
│   │           │   │   │   ├── install
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── editable_legacy.cpython-312.pyc
│   │           │   │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   │   ├── editable_legacy.py
│   │           │   │   │   │   └── wheel.py
│   │           │   │   │   └── prepare.py
│   │           │   │   ├── pyproject.py
│   │           │   │   ├── req
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── constructors.cpython-312.pyc
│   │           │   │   │   │   ├── req_file.cpython-312.pyc
│   │           │   │   │   │   ├── req_install.cpython-312.pyc
│   │           │   │   │   │   ├── req_set.cpython-312.pyc
│   │           │   │   │   │   └── req_uninstall.cpython-312.pyc
│   │           │   │   │   ├── constructors.py
│   │           │   │   │   ├── req_file.py
│   │           │   │   │   ├── req_install.py
│   │           │   │   │   ├── req_set.py
│   │           │   │   │   └── req_uninstall.py
│   │           │   │   ├── resolution
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   └── base.cpython-312.pyc
│   │           │   │   │   ├── base.py
│   │           │   │   │   ├── legacy
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   └── resolver.cpython-312.pyc
│   │           │   │   │   │   └── resolver.py
│   │           │   │   │   └── resolvelib
│   │           │   │   │       ├── __init__.py
│   │           │   │   │       ├── __pycache__
│   │           │   │   │       │   ├── __init__.cpython-312.pyc
│   │           │   │   │       │   ├── base.cpython-312.pyc
│   │           │   │   │       │   ├── candidates.cpython-312.pyc
│   │           │   │   │       │   ├── factory.cpython-312.pyc
│   │           │   │   │       │   ├── found_candidates.cpython-312.pyc
│   │           │   │   │       │   ├── provider.cpython-312.pyc
│   │           │   │   │       │   ├── reporter.cpython-312.pyc
│   │           │   │   │       │   ├── requirements.cpython-312.pyc
│   │           │   │   │       │   └── resolver.cpython-312.pyc
│   │           │   │   │       ├── base.py
│   │           │   │   │       ├── candidates.py
│   │           │   │   │       ├── factory.py
│   │           │   │   │       ├── found_candidates.py
│   │           │   │   │       ├── provider.py
│   │           │   │   │       ├── reporter.py
│   │           │   │   │       ├── requirements.py
│   │           │   │   │       └── resolver.py
│   │           │   │   ├── self_outdated_check.py
│   │           │   │   ├── utils
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _jaraco_text.cpython-312.pyc
│   │           │   │   │   │   ├── _log.cpython-312.pyc
│   │           │   │   │   │   ├── appdirs.cpython-312.pyc
│   │           │   │   │   │   ├── compat.cpython-312.pyc
│   │           │   │   │   │   ├── compatibility_tags.cpython-312.pyc
│   │           │   │   │   │   ├── datetime.cpython-312.pyc
│   │           │   │   │   │   ├── deprecation.cpython-312.pyc
│   │           │   │   │   │   ├── direct_url_helpers.cpython-312.pyc
│   │           │   │   │   │   ├── egg_link.cpython-312.pyc
│   │           │   │   │   │   ├── encoding.cpython-312.pyc
│   │           │   │   │   │   ├── entrypoints.cpython-312.pyc
│   │           │   │   │   │   ├── filesystem.cpython-312.pyc
│   │           │   │   │   │   ├── filetypes.cpython-312.pyc
│   │           │   │   │   │   ├── glibc.cpython-312.pyc
│   │           │   │   │   │   ├── hashes.cpython-312.pyc
│   │           │   │   │   │   ├── logging.cpython-312.pyc
│   │           │   │   │   │   ├── misc.cpython-312.pyc
│   │           │   │   │   │   ├── packaging.cpython-312.pyc
│   │           │   │   │   │   ├── retry.cpython-312.pyc
│   │           │   │   │   │   ├── setuptools_build.cpython-312.pyc
│   │           │   │   │   │   ├── subprocess.cpython-312.pyc
│   │           │   │   │   │   ├── temp_dir.cpython-312.pyc
│   │           │   │   │   │   ├── unpacking.cpython-312.pyc
│   │           │   │   │   │   ├── urls.cpython-312.pyc
│   │           │   │   │   │   ├── virtualenv.cpython-312.pyc
│   │           │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   ├── _jaraco_text.py
│   │           │   │   │   ├── _log.py
│   │           │   │   │   ├── appdirs.py
│   │           │   │   │   ├── compat.py
│   │           │   │   │   ├── compatibility_tags.py
│   │           │   │   │   ├── datetime.py
│   │           │   │   │   ├── deprecation.py
│   │           │   │   │   ├── direct_url_helpers.py
│   │           │   │   │   ├── egg_link.py
│   │           │   │   │   ├── encoding.py
│   │           │   │   │   ├── entrypoints.py
│   │           │   │   │   ├── filesystem.py
│   │           │   │   │   ├── filetypes.py
│   │           │   │   │   ├── glibc.py
│   │           │   │   │   ├── hashes.py
│   │           │   │   │   ├── logging.py
│   │           │   │   │   ├── misc.py
│   │           │   │   │   ├── packaging.py
│   │           │   │   │   ├── retry.py
│   │           │   │   │   ├── setuptools_build.py
│   │           │   │   │   ├── subprocess.py
│   │           │   │   │   ├── temp_dir.py
│   │           │   │   │   ├── unpacking.py
│   │           │   │   │   ├── urls.py
│   │           │   │   │   ├── virtualenv.py
│   │           │   │   │   └── wheel.py
│   │           │   │   ├── vcs
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── bazaar.cpython-312.pyc
│   │           │   │   │   │   ├── git.cpython-312.pyc
│   │           │   │   │   │   ├── mercurial.cpython-312.pyc
│   │           │   │   │   │   ├── subversion.cpython-312.pyc
│   │           │   │   │   │   └── versioncontrol.cpython-312.pyc
│   │           │   │   │   ├── bazaar.py
│   │           │   │   │   ├── git.py
│   │           │   │   │   ├── mercurial.py
│   │           │   │   │   ├── subversion.py
│   │           │   │   │   └── versioncontrol.py
│   │           │   │   └── wheel_builder.py
│   │           │   ├── _vendor
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   └── typing_extensions.cpython-312.pyc
│   │           │   │   ├── cachecontrol
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _cmd.cpython-312.pyc
│   │           │   │   │   │   ├── adapter.cpython-312.pyc
│   │           │   │   │   │   ├── cache.cpython-312.pyc
│   │           │   │   │   │   ├── controller.cpython-312.pyc
│   │           │   │   │   │   ├── filewrapper.cpython-312.pyc
│   │           │   │   │   │   ├── heuristics.cpython-312.pyc
│   │           │   │   │   │   ├── serialize.cpython-312.pyc
│   │           │   │   │   │   └── wrapper.cpython-312.pyc
│   │           │   │   │   ├── _cmd.py
│   │           │   │   │   ├── adapter.py
│   │           │   │   │   ├── cache.py
│   │           │   │   │   ├── caches
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── file_cache.cpython-312.pyc
│   │           │   │   │   │   │   └── redis_cache.cpython-312.pyc
│   │           │   │   │   │   ├── file_cache.py
│   │           │   │   │   │   └── redis_cache.py
│   │           │   │   │   ├── controller.py
│   │           │   │   │   ├── filewrapper.py
│   │           │   │   │   ├── heuristics.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   ├── serialize.py
│   │           │   │   │   └── wrapper.py
│   │           │   │   ├── certifi
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __main__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __main__.cpython-312.pyc
│   │           │   │   │   │   └── core.cpython-312.pyc
│   │           │   │   │   ├── cacert.pem
│   │           │   │   │   ├── core.py
│   │           │   │   │   └── py.typed
│   │           │   │   ├── distlib
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── compat.cpython-312.pyc
│   │           │   │   │   │   ├── database.cpython-312.pyc
│   │           │   │   │   │   ├── index.cpython-312.pyc
│   │           │   │   │   │   ├── locators.cpython-312.pyc
│   │           │   │   │   │   ├── manifest.cpython-312.pyc
│   │           │   │   │   │   ├── markers.cpython-312.pyc
│   │           │   │   │   │   ├── metadata.cpython-312.pyc
│   │           │   │   │   │   ├── resources.cpython-312.pyc
│   │           │   │   │   │   ├── scripts.cpython-312.pyc
│   │           │   │   │   │   ├── util.cpython-312.pyc
│   │           │   │   │   │   ├── version.cpython-312.pyc
│   │           │   │   │   │   └── wheel.cpython-312.pyc
│   │           │   │   │   ├── compat.py
│   │           │   │   │   ├── database.py
│   │           │   │   │   ├── index.py
│   │           │   │   │   ├── locators.py
│   │           │   │   │   ├── manifest.py
│   │           │   │   │   ├── markers.py
│   │           │   │   │   ├── metadata.py
│   │           │   │   │   ├── resources.py
│   │           │   │   │   ├── scripts.py
│   │           │   │   │   ├── t32.exe
│   │           │   │   │   ├── t64-arm.exe
│   │           │   │   │   ├── t64.exe
│   │           │   │   │   ├── util.py
│   │           │   │   │   ├── version.py
│   │           │   │   │   ├── w32.exe
│   │           │   │   │   ├── w64-arm.exe
│   │           │   │   │   ├── w64.exe
│   │           │   │   │   └── wheel.py
│   │           │   │   ├── distro
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __main__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __main__.cpython-312.pyc
│   │           │   │   │   │   └── distro.cpython-312.pyc
│   │           │   │   │   ├── distro.py
│   │           │   │   │   └── py.typed
│   │           │   │   ├── idna
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── codec.cpython-312.pyc
│   │           │   │   │   │   ├── compat.cpython-312.pyc
│   │           │   │   │   │   ├── core.cpython-312.pyc
│   │           │   │   │   │   ├── idnadata.cpython-312.pyc
│   │           │   │   │   │   ├── intranges.cpython-312.pyc
│   │           │   │   │   │   ├── package_data.cpython-312.pyc
│   │           │   │   │   │   └── uts46data.cpython-312.pyc
│   │           │   │   │   ├── codec.py
│   │           │   │   │   ├── compat.py
│   │           │   │   │   ├── core.py
│   │           │   │   │   ├── idnadata.py
│   │           │   │   │   ├── intranges.py
│   │           │   │   │   ├── package_data.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   └── uts46data.py
│   │           │   │   ├── msgpack
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   │   │   ├── ext.cpython-312.pyc
│   │           │   │   │   │   └── fallback.cpython-312.pyc
│   │           │   │   │   ├── exceptions.py
│   │           │   │   │   ├── ext.py
│   │           │   │   │   └── fallback.py
│   │           │   │   ├── packaging
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _elffile.cpython-312.pyc
│   │           │   │   │   │   ├── _manylinux.cpython-312.pyc
│   │           │   │   │   │   ├── _musllinux.cpython-312.pyc
│   │           │   │   │   │   ├── _parser.cpython-312.pyc
│   │           │   │   │   │   ├── _structures.cpython-312.pyc
│   │           │   │   │   │   ├── _tokenizer.cpython-312.pyc
│   │           │   │   │   │   ├── markers.cpython-312.pyc
│   │           │   │   │   │   ├── metadata.cpython-312.pyc
│   │           │   │   │   │   ├── requirements.cpython-312.pyc
│   │           │   │   │   │   ├── specifiers.cpython-312.pyc
│   │           │   │   │   │   ├── tags.cpython-312.pyc
│   │           │   │   │   │   ├── utils.cpython-312.pyc
│   │           │   │   │   │   └── version.cpython-312.pyc
│   │           │   │   │   ├── _elffile.py
│   │           │   │   │   ├── _manylinux.py
│   │           │   │   │   ├── _musllinux.py
│   │           │   │   │   ├── _parser.py
│   │           │   │   │   ├── _structures.py
│   │           │   │   │   ├── _tokenizer.py
│   │           │   │   │   ├── markers.py
│   │           │   │   │   ├── metadata.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   ├── requirements.py
│   │           │   │   │   ├── specifiers.py
│   │           │   │   │   ├── tags.py
│   │           │   │   │   ├── utils.py
│   │           │   │   │   └── version.py
│   │           │   │   ├── pkg_resources
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   └── __pycache__
│   │           │   │   │       └── __init__.cpython-312.pyc
│   │           │   │   ├── platformdirs
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __main__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __main__.cpython-312.pyc
│   │           │   │   │   │   ├── android.cpython-312.pyc
│   │           │   │   │   │   ├── api.cpython-312.pyc
│   │           │   │   │   │   ├── macos.cpython-312.pyc
│   │           │   │   │   │   ├── unix.cpython-312.pyc
│   │           │   │   │   │   ├── version.cpython-312.pyc
│   │           │   │   │   │   └── windows.cpython-312.pyc
│   │           │   │   │   ├── android.py
│   │           │   │   │   ├── api.py
│   │           │   │   │   ├── macos.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   ├── unix.py
│   │           │   │   │   ├── version.py
│   │           │   │   │   └── windows.py
│   │           │   │   ├── pygments
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __main__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __main__.cpython-312.pyc
│   │           │   │   │   │   ├── cmdline.cpython-312.pyc
│   │           │   │   │   │   ├── console.cpython-312.pyc
│   │           │   │   │   │   ├── filter.cpython-312.pyc
│   │           │   │   │   │   ├── formatter.cpython-312.pyc
│   │           │   │   │   │   ├── lexer.cpython-312.pyc
│   │           │   │   │   │   ├── modeline.cpython-312.pyc
│   │           │   │   │   │   ├── plugin.cpython-312.pyc
│   │           │   │   │   │   ├── regexopt.cpython-312.pyc
│   │           │   │   │   │   ├── scanner.cpython-312.pyc
│   │           │   │   │   │   ├── sphinxext.cpython-312.pyc
│   │           │   │   │   │   ├── style.cpython-312.pyc
│   │           │   │   │   │   ├── token.cpython-312.pyc
│   │           │   │   │   │   ├── unistring.cpython-312.pyc
│   │           │   │   │   │   └── util.cpython-312.pyc
│   │           │   │   │   ├── cmdline.py
│   │           │   │   │   ├── console.py
│   │           │   │   │   ├── filter.py
│   │           │   │   │   ├── filters
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   └── __pycache__
│   │           │   │   │   │       └── __init__.cpython-312.pyc
│   │           │   │   │   ├── formatter.py
│   │           │   │   │   ├── formatters
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── _mapping.cpython-312.pyc
│   │           │   │   │   │   │   ├── bbcode.cpython-312.pyc
│   │           │   │   │   │   │   ├── groff.cpython-312.pyc
│   │           │   │   │   │   │   ├── html.cpython-312.pyc
│   │           │   │   │   │   │   ├── img.cpython-312.pyc
│   │           │   │   │   │   │   ├── irc.cpython-312.pyc
│   │           │   │   │   │   │   ├── latex.cpython-312.pyc
│   │           │   │   │   │   │   ├── other.cpython-312.pyc
│   │           │   │   │   │   │   ├── pangomarkup.cpython-312.pyc
│   │           │   │   │   │   │   ├── rtf.cpython-312.pyc
│   │           │   │   │   │   │   ├── svg.cpython-312.pyc
│   │           │   │   │   │   │   ├── terminal.cpython-312.pyc
│   │           │   │   │   │   │   └── terminal256.cpython-312.pyc
│   │           │   │   │   │   ├── _mapping.py
│   │           │   │   │   │   ├── bbcode.py
│   │           │   │   │   │   ├── groff.py
│   │           │   │   │   │   ├── html.py
│   │           │   │   │   │   ├── img.py
│   │           │   │   │   │   ├── irc.py
│   │           │   │   │   │   ├── latex.py
│   │           │   │   │   │   ├── other.py
│   │           │   │   │   │   ├── pangomarkup.py
│   │           │   │   │   │   ├── rtf.py
│   │           │   │   │   │   ├── svg.py
│   │           │   │   │   │   ├── terminal.py
│   │           │   │   │   │   └── terminal256.py
│   │           │   │   │   ├── lexer.py
│   │           │   │   │   ├── lexers
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── _mapping.cpython-312.pyc
│   │           │   │   │   │   │   └── python.cpython-312.pyc
│   │           │   │   │   │   ├── _mapping.py
│   │           │   │   │   │   └── python.py
│   │           │   │   │   ├── modeline.py
│   │           │   │   │   ├── plugin.py
│   │           │   │   │   ├── regexopt.py
│   │           │   │   │   ├── scanner.py
│   │           │   │   │   ├── sphinxext.py
│   │           │   │   │   ├── style.py
│   │           │   │   │   ├── styles
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   └── _mapping.cpython-312.pyc
│   │           │   │   │   │   └── _mapping.py
│   │           │   │   │   ├── token.py
│   │           │   │   │   ├── unistring.py
│   │           │   │   │   └── util.py
│   │           │   │   ├── pyproject_hooks
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _compat.cpython-312.pyc
│   │           │   │   │   │   └── _impl.cpython-312.pyc
│   │           │   │   │   ├── _compat.py
│   │           │   │   │   ├── _impl.py
│   │           │   │   │   └── _in_process
│   │           │   │   │       ├── __init__.py
│   │           │   │   │       ├── __pycache__
│   │           │   │   │       │   ├── __init__.cpython-312.pyc
│   │           │   │   │       │   └── _in_process.cpython-312.pyc
│   │           │   │   │       └── _in_process.py
│   │           │   │   ├── requests
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __version__.cpython-312.pyc
│   │           │   │   │   │   ├── _internal_utils.cpython-312.pyc
│   │           │   │   │   │   ├── adapters.cpython-312.pyc
│   │           │   │   │   │   ├── api.cpython-312.pyc
│   │           │   │   │   │   ├── auth.cpython-312.pyc
│   │           │   │   │   │   ├── certs.cpython-312.pyc
│   │           │   │   │   │   ├── compat.cpython-312.pyc
│   │           │   │   │   │   ├── cookies.cpython-312.pyc
│   │           │   │   │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   │   │   ├── help.cpython-312.pyc
│   │           │   │   │   │   ├── hooks.cpython-312.pyc
│   │           │   │   │   │   ├── models.cpython-312.pyc
│   │           │   │   │   │   ├── packages.cpython-312.pyc
│   │           │   │   │   │   ├── sessions.cpython-312.pyc
│   │           │   │   │   │   ├── status_codes.cpython-312.pyc
│   │           │   │   │   │   ├── structures.cpython-312.pyc
│   │           │   │   │   │   └── utils.cpython-312.pyc
│   │           │   │   │   ├── __version__.py
│   │           │   │   │   ├── _internal_utils.py
│   │           │   │   │   ├── adapters.py
│   │           │   │   │   ├── api.py
│   │           │   │   │   ├── auth.py
│   │           │   │   │   ├── certs.py
│   │           │   │   │   ├── compat.py
│   │           │   │   │   ├── cookies.py
│   │           │   │   │   ├── exceptions.py
│   │           │   │   │   ├── help.py
│   │           │   │   │   ├── hooks.py
│   │           │   │   │   ├── models.py
│   │           │   │   │   ├── packages.py
│   │           │   │   │   ├── sessions.py
│   │           │   │   │   ├── status_codes.py
│   │           │   │   │   ├── structures.py
│   │           │   │   │   └── utils.py
│   │           │   │   ├── resolvelib
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── providers.cpython-312.pyc
│   │           │   │   │   │   ├── reporters.cpython-312.pyc
│   │           │   │   │   │   ├── resolvers.cpython-312.pyc
│   │           │   │   │   │   └── structs.cpython-312.pyc
│   │           │   │   │   ├── compat
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   └── collections_abc.cpython-312.pyc
│   │           │   │   │   │   └── collections_abc.py
│   │           │   │   │   ├── providers.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   ├── reporters.py
│   │           │   │   │   ├── resolvers.py
│   │           │   │   │   └── structs.py
│   │           │   │   ├── rich
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __main__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── __main__.cpython-312.pyc
│   │           │   │   │   │   ├── _cell_widths.cpython-312.pyc
│   │           │   │   │   │   ├── _emoji_codes.cpython-312.pyc
│   │           │   │   │   │   ├── _emoji_replace.cpython-312.pyc
│   │           │   │   │   │   ├── _export_format.cpython-312.pyc
│   │           │   │   │   │   ├── _extension.cpython-312.pyc
│   │           │   │   │   │   ├── _fileno.cpython-312.pyc
│   │           │   │   │   │   ├── _inspect.cpython-312.pyc
│   │           │   │   │   │   ├── _log_render.cpython-312.pyc
│   │           │   │   │   │   ├── _loop.cpython-312.pyc
│   │           │   │   │   │   ├── _null_file.cpython-312.pyc
│   │           │   │   │   │   ├── _palettes.cpython-312.pyc
│   │           │   │   │   │   ├── _pick.cpython-312.pyc
│   │           │   │   │   │   ├── _ratio.cpython-312.pyc
│   │           │   │   │   │   ├── _spinners.cpython-312.pyc
│   │           │   │   │   │   ├── _stack.cpython-312.pyc
│   │           │   │   │   │   ├── _timer.cpython-312.pyc
│   │           │   │   │   │   ├── _win32_console.cpython-312.pyc
│   │           │   │   │   │   ├── _windows_renderer.cpython-312.pyc
│   │           │   │   │   │   ├── _windows.cpython-312.pyc
│   │           │   │   │   │   ├── _wrap.cpython-312.pyc
│   │           │   │   │   │   ├── abc.cpython-312.pyc
│   │           │   │   │   │   ├── align.cpython-312.pyc
│   │           │   │   │   │   ├── ansi.cpython-312.pyc
│   │           │   │   │   │   ├── bar.cpython-312.pyc
│   │           │   │   │   │   ├── box.cpython-312.pyc
│   │           │   │   │   │   ├── cells.cpython-312.pyc
│   │           │   │   │   │   ├── color_triplet.cpython-312.pyc
│   │           │   │   │   │   ├── color.cpython-312.pyc
│   │           │   │   │   │   ├── columns.cpython-312.pyc
│   │           │   │   │   │   ├── console.cpython-312.pyc
│   │           │   │   │   │   ├── constrain.cpython-312.pyc
│   │           │   │   │   │   ├── containers.cpython-312.pyc
│   │           │   │   │   │   ├── control.cpython-312.pyc
│   │           │   │   │   │   ├── default_styles.cpython-312.pyc
│   │           │   │   │   │   ├── diagnose.cpython-312.pyc
│   │           │   │   │   │   ├── emoji.cpython-312.pyc
│   │           │   │   │   │   ├── errors.cpython-312.pyc
│   │           │   │   │   │   ├── file_proxy.cpython-312.pyc
│   │           │   │   │   │   ├── filesize.cpython-312.pyc
│   │           │   │   │   │   ├── highlighter.cpython-312.pyc
│   │           │   │   │   │   ├── json.cpython-312.pyc
│   │           │   │   │   │   ├── jupyter.cpython-312.pyc
│   │           │   │   │   │   ├── layout.cpython-312.pyc
│   │           │   │   │   │   ├── live_render.cpython-312.pyc
│   │           │   │   │   │   ├── live.cpython-312.pyc
│   │           │   │   │   │   ├── logging.cpython-312.pyc
│   │           │   │   │   │   ├── markup.cpython-312.pyc
│   │           │   │   │   │   ├── measure.cpython-312.pyc
│   │           │   │   │   │   ├── padding.cpython-312.pyc
│   │           │   │   │   │   ├── pager.cpython-312.pyc
│   │           │   │   │   │   ├── palette.cpython-312.pyc
│   │           │   │   │   │   ├── panel.cpython-312.pyc
│   │           │   │   │   │   ├── pretty.cpython-312.pyc
│   │           │   │   │   │   ├── progress_bar.cpython-312.pyc
│   │           │   │   │   │   ├── progress.cpython-312.pyc
│   │           │   │   │   │   ├── prompt.cpython-312.pyc
│   │           │   │   │   │   ├── protocol.cpython-312.pyc
│   │           │   │   │   │   ├── region.cpython-312.pyc
│   │           │   │   │   │   ├── repr.cpython-312.pyc
│   │           │   │   │   │   ├── rule.cpython-312.pyc
│   │           │   │   │   │   ├── scope.cpython-312.pyc
│   │           │   │   │   │   ├── screen.cpython-312.pyc
│   │           │   │   │   │   ├── segment.cpython-312.pyc
│   │           │   │   │   │   ├── spinner.cpython-312.pyc
│   │           │   │   │   │   ├── status.cpython-312.pyc
│   │           │   │   │   │   ├── style.cpython-312.pyc
│   │           │   │   │   │   ├── styled.cpython-312.pyc
│   │           │   │   │   │   ├── syntax.cpython-312.pyc
│   │           │   │   │   │   ├── table.cpython-312.pyc
│   │           │   │   │   │   ├── terminal_theme.cpython-312.pyc
│   │           │   │   │   │   ├── text.cpython-312.pyc
│   │           │   │   │   │   ├── theme.cpython-312.pyc
│   │           │   │   │   │   ├── themes.cpython-312.pyc
│   │           │   │   │   │   ├── traceback.cpython-312.pyc
│   │           │   │   │   │   └── tree.cpython-312.pyc
│   │           │   │   │   ├── _cell_widths.py
│   │           │   │   │   ├── _emoji_codes.py
│   │           │   │   │   ├── _emoji_replace.py
│   │           │   │   │   ├── _export_format.py
│   │           │   │   │   ├── _extension.py
│   │           │   │   │   ├── _fileno.py
│   │           │   │   │   ├── _inspect.py
│   │           │   │   │   ├── _log_render.py
│   │           │   │   │   ├── _loop.py
│   │           │   │   │   ├── _null_file.py
│   │           │   │   │   ├── _palettes.py
│   │           │   │   │   ├── _pick.py
│   │           │   │   │   ├── _ratio.py
│   │           │   │   │   ├── _spinners.py
│   │           │   │   │   ├── _stack.py
│   │           │   │   │   ├── _timer.py
│   │           │   │   │   ├── _win32_console.py
│   │           │   │   │   ├── _windows_renderer.py
│   │           │   │   │   ├── _windows.py
│   │           │   │   │   ├── _wrap.py
│   │           │   │   │   ├── abc.py
│   │           │   │   │   ├── align.py
│   │           │   │   │   ├── ansi.py
│   │           │   │   │   ├── bar.py
│   │           │   │   │   ├── box.py
│   │           │   │   │   ├── cells.py
│   │           │   │   │   ├── color_triplet.py
│   │           │   │   │   ├── color.py
│   │           │   │   │   ├── columns.py
│   │           │   │   │   ├── console.py
│   │           │   │   │   ├── constrain.py
│   │           │   │   │   ├── containers.py
│   │           │   │   │   ├── control.py
│   │           │   │   │   ├── default_styles.py
│   │           │   │   │   ├── diagnose.py
│   │           │   │   │   ├── emoji.py
│   │           │   │   │   ├── errors.py
│   │           │   │   │   ├── file_proxy.py
│   │           │   │   │   ├── filesize.py
│   │           │   │   │   ├── highlighter.py
│   │           │   │   │   ├── json.py
│   │           │   │   │   ├── jupyter.py
│   │           │   │   │   ├── layout.py
│   │           │   │   │   ├── live_render.py
│   │           │   │   │   ├── live.py
│   │           │   │   │   ├── logging.py
│   │           │   │   │   ├── markup.py
│   │           │   │   │   ├── measure.py
│   │           │   │   │   ├── padding.py
│   │           │   │   │   ├── pager.py
│   │           │   │   │   ├── palette.py
│   │           │   │   │   ├── panel.py
│   │           │   │   │   ├── pretty.py
│   │           │   │   │   ├── progress_bar.py
│   │           │   │   │   ├── progress.py
│   │           │   │   │   ├── prompt.py
│   │           │   │   │   ├── protocol.py
│   │           │   │   │   ├── py.typed
│   │           │   │   │   ├── region.py
│   │           │   │   │   ├── repr.py
│   │           │   │   │   ├── rule.py
│   │           │   │   │   ├── scope.py
│   │           │   │   │   ├── screen.py
│   │           │   │   │   ├── segment.py
│   │           │   │   │   ├── spinner.py
│   │           │   │   │   ├── status.py
│   │           │   │   │   ├── style.py
│   │           │   │   │   ├── styled.py
│   │           │   │   │   ├── syntax.py
│   │           │   │   │   ├── table.py
│   │           │   │   │   ├── terminal_theme.py
│   │           │   │   │   ├── text.py
│   │           │   │   │   ├── theme.py
│   │           │   │   │   ├── themes.py
│   │           │   │   │   ├── traceback.py
│   │           │   │   │   └── tree.py
│   │           │   │   ├── tomli
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _parser.cpython-312.pyc
│   │           │   │   │   │   ├── _re.cpython-312.pyc
│   │           │   │   │   │   └── _types.cpython-312.pyc
│   │           │   │   │   ├── _parser.py
│   │           │   │   │   ├── _re.py
│   │           │   │   │   ├── _types.py
│   │           │   │   │   └── py.typed
│   │           │   │   ├── truststore
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _api.cpython-312.pyc
│   │           │   │   │   │   ├── _macos.cpython-312.pyc
│   │           │   │   │   │   ├── _openssl.cpython-312.pyc
│   │           │   │   │   │   ├── _ssl_constants.cpython-312.pyc
│   │           │   │   │   │   └── _windows.cpython-312.pyc
│   │           │   │   │   ├── _api.py
│   │           │   │   │   ├── _macos.py
│   │           │   │   │   ├── _openssl.py
│   │           │   │   │   ├── _ssl_constants.py
│   │           │   │   │   ├── _windows.py
│   │           │   │   │   └── py.typed
│   │           │   │   ├── typing_extensions.py
│   │           │   │   ├── urllib3
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── _collections.cpython-312.pyc
│   │           │   │   │   │   ├── _version.cpython-312.pyc
│   │           │   │   │   │   ├── connection.cpython-312.pyc
│   │           │   │   │   │   ├── connectionpool.cpython-312.pyc
│   │           │   │   │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   │   │   ├── fields.cpython-312.pyc
│   │           │   │   │   │   ├── filepost.cpython-312.pyc
│   │           │   │   │   │   ├── poolmanager.cpython-312.pyc
│   │           │   │   │   │   ├── request.cpython-312.pyc
│   │           │   │   │   │   └── response.cpython-312.pyc
│   │           │   │   │   ├── _collections.py
│   │           │   │   │   ├── _version.py
│   │           │   │   │   ├── connection.py
│   │           │   │   │   ├── connectionpool.py
│   │           │   │   │   ├── contrib
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   ├── _appengine_environ.cpython-312.pyc
│   │           │   │   │   │   │   ├── appengine.cpython-312.pyc
│   │           │   │   │   │   │   ├── ntlmpool.cpython-312.pyc
│   │           │   │   │   │   │   ├── pyopenssl.cpython-312.pyc
│   │           │   │   │   │   │   ├── securetransport.cpython-312.pyc
│   │           │   │   │   │   │   └── socks.cpython-312.pyc
│   │           │   │   │   │   ├── _appengine_environ.py
│   │           │   │   │   │   ├── _securetransport
│   │           │   │   │   │   │   ├── __init__.py
│   │           │   │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   │   ├── bindings.cpython-312.pyc
│   │           │   │   │   │   │   │   └── low_level.cpython-312.pyc
│   │           │   │   │   │   │   ├── bindings.py
│   │           │   │   │   │   │   └── low_level.py
│   │           │   │   │   │   ├── appengine.py
│   │           │   │   │   │   ├── ntlmpool.py
│   │           │   │   │   │   ├── pyopenssl.py
│   │           │   │   │   │   ├── securetransport.py
│   │           │   │   │   │   └── socks.py
│   │           │   │   │   ├── exceptions.py
│   │           │   │   │   ├── fields.py
│   │           │   │   │   ├── filepost.py
│   │           │   │   │   ├── packages
│   │           │   │   │   │   ├── __init__.py
│   │           │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   └── six.cpython-312.pyc
│   │           │   │   │   │   ├── backports
│   │           │   │   │   │   │   ├── __init__.py
│   │           │   │   │   │   │   ├── __pycache__
│   │           │   │   │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   │   │   ├── makefile.cpython-312.pyc
│   │           │   │   │   │   │   │   └── weakref_finalize.cpython-312.pyc
│   │           │   │   │   │   │   ├── makefile.py
│   │           │   │   │   │   │   └── weakref_finalize.py
│   │           │   │   │   │   └── six.py
│   │           │   │   │   ├── poolmanager.py
│   │           │   │   │   ├── request.py
│   │           │   │   │   ├── response.py
│   │           │   │   │   └── util
│   │           │   │   │       ├── __init__.py
│   │           │   │   │       ├── __pycache__
│   │           │   │   │       │   ├── __init__.cpython-312.pyc
│   │           │   │   │       │   ├── connection.cpython-312.pyc
│   │           │   │   │       │   ├── proxy.cpython-312.pyc
│   │           │   │   │       │   ├── queue.cpython-312.pyc
│   │           │   │   │       │   ├── request.cpython-312.pyc
│   │           │   │   │       │   ├── response.cpython-312.pyc
│   │           │   │   │       │   ├── retry.cpython-312.pyc
│   │           │   │   │       │   ├── ssl_.cpython-312.pyc
│   │           │   │   │       │   ├── ssl_match_hostname.cpython-312.pyc
│   │           │   │   │       │   ├── ssltransport.cpython-312.pyc
│   │           │   │   │       │   ├── timeout.cpython-312.pyc
│   │           │   │   │       │   ├── url.cpython-312.pyc
│   │           │   │   │       │   └── wait.cpython-312.pyc
│   │           │   │   │       ├── connection.py
│   │           │   │   │       ├── proxy.py
│   │           │   │   │       ├── queue.py
│   │           │   │   │       ├── request.py
│   │           │   │   │       ├── response.py
│   │           │   │   │       ├── retry.py
│   │           │   │   │       ├── ssl_.py
│   │           │   │   │       ├── ssl_match_hostname.py
│   │           │   │   │       ├── ssltransport.py
│   │           │   │   │       ├── timeout.py
│   │           │   │   │       ├── url.py
│   │           │   │   │       └── wait.py
│   │           │   │   └── vendor.txt
│   │           │   └── py.typed
│   │           ├── pip-24.2.dist-info
│   │           │   ├── AUTHORS.txt
│   │           │   ├── entry_points.txt
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── requests
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __version__.cpython-312.pyc
│   │           │   │   ├── _internal_utils.cpython-312.pyc
│   │           │   │   ├── adapters.cpython-312.pyc
│   │           │   │   ├── api.cpython-312.pyc
│   │           │   │   ├── auth.cpython-312.pyc
│   │           │   │   ├── certs.cpython-312.pyc
│   │           │   │   ├── compat.cpython-312.pyc
│   │           │   │   ├── cookies.cpython-312.pyc
│   │           │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   ├── help.cpython-312.pyc
│   │           │   │   ├── hooks.cpython-312.pyc
│   │           │   │   ├── models.cpython-312.pyc
│   │           │   │   ├── packages.cpython-312.pyc
│   │           │   │   ├── sessions.cpython-312.pyc
│   │           │   │   ├── status_codes.cpython-312.pyc
│   │           │   │   ├── structures.cpython-312.pyc
│   │           │   │   └── utils.cpython-312.pyc
│   │           │   ├── __version__.py
│   │           │   ├── _internal_utils.py
│   │           │   ├── adapters.py
│   │           │   ├── api.py
│   │           │   ├── auth.py
│   │           │   ├── certs.py
│   │           │   ├── compat.py
│   │           │   ├── cookies.py
│   │           │   ├── exceptions.py
│   │           │   ├── help.py
│   │           │   ├── hooks.py
│   │           │   ├── models.py
│   │           │   ├── packages.py
│   │           │   ├── sessions.py
│   │           │   ├── status_codes.py
│   │           │   ├── structures.py
│   │           │   └── utils.py
│   │           ├── requests-2.32.3.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── soupsieve
│   │           │   ├── __init__.py
│   │           │   ├── __meta__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── __meta__.cpython-312.pyc
│   │           │   │   ├── css_match.cpython-312.pyc
│   │           │   │   ├── css_parser.cpython-312.pyc
│   │           │   │   ├── css_types.cpython-312.pyc
│   │           │   │   ├── pretty.cpython-312.pyc
│   │           │   │   └── util.cpython-312.pyc
│   │           │   ├── css_match.py
│   │           │   ├── css_parser.py
│   │           │   ├── css_types.py
│   │           │   ├── pretty.py
│   │           │   ├── py.typed
│   │           │   └── util.py
│   │           ├── soupsieve-2.6.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── licenses
│   │           │   │   └── LICENSE.md
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── urllib3
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _base_connection.cpython-312.pyc
│   │           │   │   ├── _collections.cpython-312.pyc
│   │           │   │   ├── _request_methods.cpython-312.pyc
│   │           │   │   ├── _version.cpython-312.pyc
│   │           │   │   ├── connection.cpython-312.pyc
│   │           │   │   ├── connectionpool.cpython-312.pyc
│   │           │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   ├── fields.cpython-312.pyc
│   │           │   │   ├── filepost.cpython-312.pyc
│   │           │   │   ├── poolmanager.cpython-312.pyc
│   │           │   │   └── response.cpython-312.pyc
│   │           │   ├── _base_connection.py
│   │           │   ├── _collections.py
│   │           │   ├── _request_methods.py
│   │           │   ├── _version.py
│   │           │   ├── connection.py
│   │           │   ├── connectionpool.py
│   │           │   ├── contrib
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── pyopenssl.cpython-312.pyc
│   │           │   │   │   └── socks.cpython-312.pyc
│   │           │   │   ├── emscripten
│   │           │   │   │   ├── __init__.py
│   │           │   │   │   ├── __pycache__
│   │           │   │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   │   ├── connection.cpython-312.pyc
│   │           │   │   │   │   ├── fetch.cpython-312.pyc
│   │           │   │   │   │   ├── request.cpython-312.pyc
│   │           │   │   │   │   └── response.cpython-312.pyc
│   │           │   │   │   ├── connection.py
│   │           │   │   │   ├── emscripten_fetch_worker.js
│   │           │   │   │   ├── fetch.py
│   │           │   │   │   ├── request.py
│   │           │   │   │   └── response.py
│   │           │   │   ├── pyopenssl.py
│   │           │   │   └── socks.py
│   │           │   ├── exceptions.py
│   │           │   ├── fields.py
│   │           │   ├── filepost.py
│   │           │   ├── http2
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── connection.cpython-312.pyc
│   │           │   │   │   └── probe.cpython-312.pyc
│   │           │   │   ├── connection.py
│   │           │   │   └── probe.py
│   │           │   ├── poolmanager.py
│   │           │   ├── py.typed
│   │           │   ├── response.py
│   │           │   └── util
│   │           │       ├── __init__.py
│   │           │       ├── __pycache__
│   │           │       │   ├── __init__.cpython-312.pyc
│   │           │       │   ├── connection.cpython-312.pyc
│   │           │       │   ├── proxy.cpython-312.pyc
│   │           │       │   ├── request.cpython-312.pyc
│   │           │       │   ├── response.cpython-312.pyc
│   │           │       │   ├── retry.cpython-312.pyc
│   │           │       │   ├── ssl_.cpython-312.pyc
│   │           │       │   ├── ssl_match_hostname.cpython-312.pyc
│   │           │       │   ├── ssltransport.cpython-312.pyc
│   │           │       │   ├── timeout.cpython-312.pyc
│   │           │       │   ├── url.cpython-312.pyc
│   │           │       │   ├── util.cpython-312.pyc
│   │           │       │   └── wait.cpython-312.pyc
│   │           │       ├── connection.py
│   │           │       ├── proxy.py
│   │           │       ├── request.py
│   │           │       ├── response.py
│   │           │       ├── retry.py
│   │           │       ├── ssl_.py
│   │           │       ├── ssl_match_hostname.py
│   │           │       ├── ssltransport.py
│   │           │       ├── timeout.py
│   │           │       ├── url.py
│   │           │       ├── util.py
│   │           │       └── wait.py
│   │           ├── urllib3-2.2.3.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── licenses
│   │           │   │   └── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   └── WHEEL
│   │           ├── useragent
│   │           │   ├── __init__.py
│   │           │   ├── __init__.pyc
│   │           │   ├── __pycache__
│   │           │   │   └── __init__.cpython-312.pyc
│   │           │   ├── resources
│   │           │   │   └── user_agent_data.json
│   │           │   └── test
│   │           │       ├── __init__.py
│   │           │       ├── __pycache__
│   │           │       │   └── __init__.cpython-312.pyc
│   │           │       ├── test_additional_os.json
│   │           │       ├── test_browser.json
│   │           │       ├── test_device.json
│   │           │       ├── test_firefox.json
│   │           │       ├── test_os.json
│   │           │       └── test_pgts_browser.json
│   │           ├── useragent-0.1.1.dist-info
│   │           │   ├── INSTALLER
│   │           │   ├── LICENSE.txt
│   │           │   ├── METADATA
│   │           │   ├── RECORD
│   │           │   ├── REQUESTED
│   │           │   ├── top_level.txt
│   │           │   └── WHEEL
│   │           ├── werkzeug
│   │           │   ├── __init__.py
│   │           │   ├── __pycache__
│   │           │   │   ├── __init__.cpython-312.pyc
│   │           │   │   ├── _internal.cpython-312.pyc
│   │           │   │   ├── _reloader.cpython-312.pyc
│   │           │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   ├── formparser.cpython-312.pyc
│   │           │   │   ├── http.cpython-312.pyc
│   │           │   │   ├── local.cpython-312.pyc
│   │           │   │   ├── security.cpython-312.pyc
│   │           │   │   ├── serving.cpython-312.pyc
│   │           │   │   ├── test.cpython-312.pyc
│   │           │   │   ├── testapp.cpython-312.pyc
│   │           │   │   ├── urls.cpython-312.pyc
│   │           │   │   ├── user_agent.cpython-312.pyc
│   │           │   │   ├── utils.cpython-312.pyc
│   │           │   │   └── wsgi.cpython-312.pyc
│   │           │   ├── _internal.py
│   │           │   ├── _reloader.py
│   │           │   ├── datastructures
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── accept.cpython-312.pyc
│   │           │   │   │   ├── auth.cpython-312.pyc
│   │           │   │   │   ├── cache_control.cpython-312.pyc
│   │           │   │   │   ├── csp.cpython-312.pyc
│   │           │   │   │   ├── etag.cpython-312.pyc
│   │           │   │   │   ├── file_storage.cpython-312.pyc
│   │           │   │   │   ├── headers.cpython-312.pyc
│   │           │   │   │   ├── mixins.cpython-312.pyc
│   │           │   │   │   ├── range.cpython-312.pyc
│   │           │   │   │   └── structures.cpython-312.pyc
│   │           │   │   ├── accept.py
│   │           │   │   ├── accept.pyi
│   │           │   │   ├── auth.py
│   │           │   │   ├── cache_control.py
│   │           │   │   ├── cache_control.pyi
│   │           │   │   ├── csp.py
│   │           │   │   ├── csp.pyi
│   │           │   │   ├── etag.py
│   │           │   │   ├── etag.pyi
│   │           │   │   ├── file_storage.py
│   │           │   │   ├── file_storage.pyi
│   │           │   │   ├── headers.py
│   │           │   │   ├── headers.pyi
│   │           │   │   ├── mixins.py
│   │           │   │   ├── mixins.pyi
│   │           │   │   ├── range.py
│   │           │   │   ├── range.pyi
│   │           │   │   ├── structures.py
│   │           │   │   └── structures.pyi
│   │           │   ├── debug
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── console.cpython-312.pyc
│   │           │   │   │   ├── repr.cpython-312.pyc
│   │           │   │   │   └── tbtools.cpython-312.pyc
│   │           │   │   ├── console.py
│   │           │   │   ├── repr.py
│   │           │   │   ├── shared
│   │           │   │   │   ├── console.png
│   │           │   │   │   ├── debugger.js
│   │           │   │   │   ├── ICON_LICENSE.md
│   │           │   │   │   ├── less.png
│   │           │   │   │   ├── more.png
│   │           │   │   │   └── style.css
│   │           │   │   └── tbtools.py
│   │           │   ├── exceptions.py
│   │           │   ├── formparser.py
│   │           │   ├── http.py
│   │           │   ├── local.py
│   │           │   ├── middleware
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── dispatcher.cpython-312.pyc
│   │           │   │   │   ├── http_proxy.cpython-312.pyc
│   │           │   │   │   ├── lint.cpython-312.pyc
│   │           │   │   │   ├── profiler.cpython-312.pyc
│   │           │   │   │   ├── proxy_fix.cpython-312.pyc
│   │           │   │   │   └── shared_data.cpython-312.pyc
│   │           │   │   ├── dispatcher.py
│   │           │   │   ├── http_proxy.py
│   │           │   │   ├── lint.py
│   │           │   │   ├── profiler.py
│   │           │   │   ├── proxy_fix.py
│   │           │   │   └── shared_data.py
│   │           │   ├── py.typed
│   │           │   ├── routing
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── converters.cpython-312.pyc
│   │           │   │   │   ├── exceptions.cpython-312.pyc
│   │           │   │   │   ├── map.cpython-312.pyc
│   │           │   │   │   ├── matcher.cpython-312.pyc
│   │           │   │   │   └── rules.cpython-312.pyc
│   │           │   │   ├── converters.py
│   │           │   │   ├── exceptions.py
│   │           │   │   ├── map.py
│   │           │   │   ├── matcher.py
│   │           │   │   └── rules.py
│   │           │   ├── sansio
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── http.cpython-312.pyc
│   │           │   │   │   ├── multipart.cpython-312.pyc
│   │           │   │   │   ├── request.cpython-312.pyc
│   │           │   │   │   ├── response.cpython-312.pyc
│   │           │   │   │   └── utils.cpython-312.pyc
│   │           │   │   ├── http.py
│   │           │   │   ├── multipart.py
│   │           │   │   ├── request.py
│   │           │   │   ├── response.py
│   │           │   │   └── utils.py
│   │           │   ├── security.py
│   │           │   ├── serving.py
│   │           │   ├── test.py
│   │           │   ├── testapp.py
│   │           │   ├── urls.py
│   │           │   ├── user_agent.py
│   │           │   ├── utils.py
│   │           │   ├── wrappers
│   │           │   │   ├── __init__.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── __init__.cpython-312.pyc
│   │           │   │   │   ├── request.cpython-312.pyc
│   │           │   │   │   └── response.cpython-312.pyc
│   │           │   │   ├── request.py
│   │           │   │   └── response.py
│   │           │   └── wsgi.py
│   │           └── werkzeug-3.0.4.dist-info
│   │               ├── INSTALLER
│   │               ├── LICENSE.txt
│   │               ├── METADATA
│   │               ├── RECORD
│   │               └── WHEEL
│   ├── pyvenv.cfg
│   ├── static
│   │   └── styles.css
│   ├── templates
│   │   └── index.html
│   └── test.py
├── cline_config.json
├── mcp_server.py
├── README.md
├── search_results.json
├── settings.json
└── test_files
    ├── text1.txt
    └── text2.txt
```

# Files

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.py:
--------------------------------------------------------------------------------

```python
 1 | # This file is dual licensed under the terms of the Apache License, Version
 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
 3 | # for complete details.
 4 | from __future__ import annotations
 5 | 
 6 | from typing import Any, Iterator
 7 | 
 8 | from ._parser import parse_requirement as _parse_requirement
 9 | from ._tokenizer import ParserSyntaxError
10 | from .markers import Marker, _normalize_extra_values
11 | from .specifiers import SpecifierSet
12 | from .utils import canonicalize_name
13 | 
14 | 
15 | class InvalidRequirement(ValueError):
16 |     """
17 |     An invalid requirement was found, users should refer to PEP 508.
18 |     """
19 | 
20 | 
21 | class Requirement:
22 |     """Parse a requirement.
23 | 
24 |     Parse a given requirement string into its parts, such as name, specifier,
25 |     URL, and extras. Raises InvalidRequirement on a badly-formed requirement
26 |     string.
27 |     """
28 | 
29 |     # TODO: Can we test whether something is contained within a requirement?
30 |     #       If so how do we do that? Do we need to test against the _name_ of
31 |     #       the thing as well as the version? What about the markers?
32 |     # TODO: Can we normalize the name and extra name?
33 | 
34 |     def __init__(self, requirement_string: str) -> None:
35 |         try:
36 |             parsed = _parse_requirement(requirement_string)
37 |         except ParserSyntaxError as e:
38 |             raise InvalidRequirement(str(e)) from e
39 | 
40 |         self.name: str = parsed.name
41 |         self.url: str | None = parsed.url or None
42 |         self.extras: set[str] = set(parsed.extras or [])
43 |         self.specifier: SpecifierSet = SpecifierSet(parsed.specifier)
44 |         self.marker: Marker | None = None
45 |         if parsed.marker is not None:
46 |             self.marker = Marker.__new__(Marker)
47 |             self.marker._markers = _normalize_extra_values(parsed.marker)
48 | 
49 |     def _iter_parts(self, name: str) -> Iterator[str]:
50 |         yield name
51 | 
52 |         if self.extras:
53 |             formatted_extras = ",".join(sorted(self.extras))
54 |             yield f"[{formatted_extras}]"
55 | 
56 |         if self.specifier:
57 |             yield str(self.specifier)
58 | 
59 |         if self.url:
60 |             yield f"@ {self.url}"
61 |             if self.marker:
62 |                 yield " "
63 | 
64 |         if self.marker:
65 |             yield f"; {self.marker}"
66 | 
67 |     def __str__(self) -> str:
68 |         return "".join(self._iter_parts(self.name))
69 | 
70 |     def __repr__(self) -> str:
71 |         return f"<Requirement('{self}')>"
72 | 
73 |     def __hash__(self) -> int:
74 |         return hash(
75 |             (
76 |                 self.__class__.__name__,
77 |                 *self._iter_parts(canonicalize_name(self.name)),
78 |             )
79 |         )
80 | 
81 |     def __eq__(self, other: Any) -> bool:
82 |         if not isinstance(other, Requirement):
83 |             return NotImplemented
84 | 
85 |         return (
86 |             canonicalize_name(self.name) == canonicalize_name(other.name)
87 |             and self.extras == other.extras
88 |             and self.specifier == other.specifier
89 |             and self.url == other.url
90 |             and self.marker == other.marker
91 |         )
92 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/xsltconfig.h:
--------------------------------------------------------------------------------

```
  1 | /*
  2 |  * Summary: compile-time version information for the XSLT engine
  3 |  * Description: compile-time version information for the XSLT engine
  4 |  *              this module is autogenerated.
  5 |  *
  6 |  * Copy: See Copyright for the status of this software.
  7 |  *
  8 |  * Author: Daniel Veillard
  9 |  */
 10 | 
 11 | #ifndef __XML_XSLTCONFIG_H__
 12 | #define __XML_XSLTCONFIG_H__
 13 | 
 14 | #ifdef __cplusplus
 15 | extern "C" {
 16 | #endif
 17 | 
 18 | /**
 19 |  * LIBXSLT_DOTTED_VERSION:
 20 |  *
 21 |  * the version string like "1.2.3"
 22 |  */
 23 | #define LIBXSLT_DOTTED_VERSION "1.1.42"
 24 | 
 25 | /**
 26 |  * LIBXSLT_VERSION:
 27 |  *
 28 |  * the version number: 1.2.3 value is 10203
 29 |  */
 30 | #define LIBXSLT_VERSION 10142
 31 | 
 32 | /**
 33 |  * LIBXSLT_VERSION_STRING:
 34 |  *
 35 |  * the version number string, 1.2.3 value is "10203"
 36 |  */
 37 | #define LIBXSLT_VERSION_STRING "10142"
 38 | 
 39 | /**
 40 |  * LIBXSLT_VERSION_EXTRA:
 41 |  *
 42 |  * extra version information, used to show a Git commit description
 43 |  */
 44 | #define	LIBXSLT_VERSION_EXTRA ""
 45 | 
 46 | /**
 47 |  * WITH_XSLT_DEBUG:
 48 |  *
 49 |  * Activate the compilation of the debug reporting. Speed penalty
 50 |  * is insignifiant and being able to run xsltpoc -v is useful. On
 51 |  * by default unless --without-debug is passed to configure
 52 |  */
 53 | #if 1
 54 | #define WITH_XSLT_DEBUG
 55 | #endif
 56 | 
 57 | /**
 58 |  * XSLT_NEED_TRIO:
 59 |  *
 60 |  * should be activated if the existing libc library lacks some of the
 61 |  * string formatting function, in that case reuse the Trio ones already
 62 |  * compiled in the libxml2 library.
 63 |  */
 64 | 
 65 | #if 0
 66 | #define XSLT_NEED_TRIO
 67 | #endif
 68 | #ifdef __VMS
 69 | #define HAVE_SYS_STAT_H 1
 70 | #ifndef XSLT_NEED_TRIO
 71 | #define XSLT_NEED_TRIO
 72 | #endif
 73 | #endif
 74 | 
 75 | #ifdef	XSLT_NEED_TRIO
 76 | #define	TRIO_REPLACE_STDIO
 77 | #endif
 78 | 
 79 | /**
 80 |  * WITH_XSLT_DEBUGGER:
 81 |  *
 82 |  * Activate the compilation of the debugger support. Speed penalty
 83 |  * is insignifiant.
 84 |  * On by default unless --without-debugger is passed to configure
 85 |  */
 86 | #if 1
 87 | #ifndef WITH_DEBUGGER
 88 | #define WITH_DEBUGGER
 89 | #endif
 90 | #endif
 91 | 
 92 | /**
 93 |  * WITH_PROFILER:
 94 |  *
 95 |  * Activate the compilation of the profiler. Speed penalty
 96 |  * is insignifiant.
 97 |  * On by default unless --without-profiler is passed to configure
 98 |  */
 99 | #if 1
100 | #ifndef WITH_PROFILER
101 | #define WITH_PROFILER
102 | #endif
103 | #endif
104 | 
105 | /**
106 |  * WITH_MODULES:
107 |  *
108 |  * Whether module support is configured into libxslt
109 |  * Note: no default module path for win32 platforms
110 |  */
111 | #if 0
112 | #ifndef WITH_MODULES
113 | #define WITH_MODULES
114 | #endif
115 | #define LIBXSLT_DEFAULT_PLUGINS_PATH() "/Users/runner/work/lxml/lxml/build/tmp/libxml2/lib/libxslt-plugins"
116 | #endif
117 | 
118 | /**
119 |  * LIBXSLT_ATTR_FORMAT:
120 |  *
121 |  * This macro is used to indicate to GCC the parameters are printf-like
122 |  */
123 | #ifdef __GNUC__
124 | #define LIBXSLT_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
125 | #else
126 | #define LIBXSLT_ATTR_FORMAT(fmt,args)
127 | #endif
128 | 
129 | /**
130 |  * LIBXSLT_PUBLIC:
131 |  *
132 |  * This macro is used to declare PUBLIC variables for Cygwin and for MSC on Windows
133 |  */
134 | #if !defined LIBXSLT_PUBLIC
135 | #if (defined(__CYGWIN__) || defined _MSC_VER) && !defined IN_LIBXSLT && !defined LIBXSLT_STATIC
136 | #define LIBXSLT_PUBLIC __declspec(dllimport)
137 | #else
138 | #define LIBXSLT_PUBLIC
139 | #endif
140 | #endif
141 | 
142 | #ifdef __cplusplus
143 | }
144 | #endif
145 | 
146 | #endif /* __XML_XSLTCONFIG_H__ */
147 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__init__.py:
--------------------------------------------------------------------------------

```python
 1 | """
 2 |     Pygments
 3 |     ~~~~~~~~
 4 | 
 5 |     Pygments is a syntax highlighting package written in Python.
 6 | 
 7 |     It is a generic syntax highlighter for general use in all kinds of software
 8 |     such as forum systems, wikis or other applications that need to prettify
 9 |     source code. Highlights are:
10 | 
11 |     * a wide range of common languages and markup formats is supported
12 |     * special attention is paid to details, increasing quality by a fair amount
13 |     * support for new languages and formats are added easily
14 |     * a number of output formats, presently HTML, LaTeX, RTF, SVG, all image
15 |       formats that PIL supports, and ANSI sequences
16 |     * it is usable as a command-line tool and as a library
17 |     * ... and it highlights even Brainfuck!
18 | 
19 |     The `Pygments master branch`_ is installable with ``easy_install Pygments==dev``.
20 | 
21 |     .. _Pygments master branch:
22 |        https://github.com/pygments/pygments/archive/master.zip#egg=Pygments-dev
23 | 
24 |     :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
25 |     :license: BSD, see LICENSE for details.
26 | """
27 | from io import StringIO, BytesIO
28 | 
29 | __version__ = '2.18.0'
30 | __docformat__ = 'restructuredtext'
31 | 
32 | __all__ = ['lex', 'format', 'highlight']
33 | 
34 | 
35 | def lex(code, lexer):
36 |     """
37 |     Lex `code` with the `lexer` (must be a `Lexer` instance)
38 |     and return an iterable of tokens. Currently, this only calls
39 |     `lexer.get_tokens()`.
40 |     """
41 |     try:
42 |         return lexer.get_tokens(code)
43 |     except TypeError:
44 |         # Heuristic to catch a common mistake.
45 |         from pip._vendor.pygments.lexer import RegexLexer
46 |         if isinstance(lexer, type) and issubclass(lexer, RegexLexer):
47 |             raise TypeError('lex() argument must be a lexer instance, '
48 |                             'not a class')
49 |         raise
50 | 
51 | 
52 | def format(tokens, formatter, outfile=None):  # pylint: disable=redefined-builtin
53 |     """
54 |     Format ``tokens`` (an iterable of tokens) with the formatter ``formatter``
55 |     (a `Formatter` instance).
56 | 
57 |     If ``outfile`` is given and a valid file object (an object with a
58 |     ``write`` method), the result will be written to it, otherwise it
59 |     is returned as a string.
60 |     """
61 |     try:
62 |         if not outfile:
63 |             realoutfile = getattr(formatter, 'encoding', None) and BytesIO() or StringIO()
64 |             formatter.format(tokens, realoutfile)
65 |             return realoutfile.getvalue()
66 |         else:
67 |             formatter.format(tokens, outfile)
68 |     except TypeError:
69 |         # Heuristic to catch a common mistake.
70 |         from pip._vendor.pygments.formatter import Formatter
71 |         if isinstance(formatter, type) and issubclass(formatter, Formatter):
72 |             raise TypeError('format() argument must be a formatter instance, '
73 |                             'not a class')
74 |         raise
75 | 
76 | 
77 | def highlight(code, lexer, formatter, outfile=None):
78 |     """
79 |     This is the most high-level highlighting function. It combines `lex` and
80 |     `format` in one function.
81 |     """
82 |     return format(lex(code, lexer), formatter, outfile)
83 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/urllib3/http2/probe.py:
--------------------------------------------------------------------------------

```python
 1 | from __future__ import annotations
 2 | 
 3 | import threading
 4 | 
 5 | 
 6 | class _HTTP2ProbeCache:
 7 |     __slots__ = (
 8 |         "_lock",
 9 |         "_cache_locks",
10 |         "_cache_values",
11 |     )
12 | 
13 |     def __init__(self) -> None:
14 |         self._lock = threading.Lock()
15 |         self._cache_locks: dict[tuple[str, int], threading.RLock] = {}
16 |         self._cache_values: dict[tuple[str, int], bool | None] = {}
17 | 
18 |     def acquire_and_get(self, host: str, port: int) -> bool | None:
19 |         # By the end of this block we know that
20 |         # _cache_[values,locks] is available.
21 |         value = None
22 |         with self._lock:
23 |             key = (host, port)
24 |             try:
25 |                 value = self._cache_values[key]
26 |                 # If it's a known value we return right away.
27 |                 if value is not None:
28 |                     return value
29 |             except KeyError:
30 |                 self._cache_locks[key] = threading.RLock()
31 |                 self._cache_values[key] = None
32 | 
33 |         # If the value is unknown, we acquire the lock to signal
34 |         # to the requesting thread that the probe is in progress
35 |         # or that the current thread needs to return their findings.
36 |         key_lock = self._cache_locks[key]
37 |         key_lock.acquire()
38 |         try:
39 |             # If the by the time we get the lock the value has been
40 |             # updated we want to return the updated value.
41 |             value = self._cache_values[key]
42 | 
43 |         # In case an exception like KeyboardInterrupt is raised here.
44 |         except BaseException as e:  # Defensive:
45 |             assert not isinstance(e, KeyError)  # KeyError shouldn't be possible.
46 |             key_lock.release()
47 |             raise
48 | 
49 |         return value
50 | 
51 |     def set_and_release(
52 |         self, host: str, port: int, supports_http2: bool | None
53 |     ) -> None:
54 |         key = (host, port)
55 |         key_lock = self._cache_locks[key]
56 |         with key_lock:  # Uses an RLock, so can be locked again from same thread.
57 |             if supports_http2 is None and self._cache_values[key] is not None:
58 |                 raise ValueError(
59 |                     "Cannot reset HTTP/2 support for origin after value has been set."
60 |                 )  # Defensive: not expected in normal usage
61 | 
62 |         self._cache_values[key] = supports_http2
63 |         key_lock.release()
64 | 
65 |     def _values(self) -> dict[tuple[str, int], bool | None]:
66 |         """This function is for testing purposes only. Gets the current state of the probe cache"""
67 |         with self._lock:
68 |             return {k: v for k, v in self._cache_values.items()}
69 | 
70 |     def _reset(self) -> None:
71 |         """This function is for testing purposes only. Reset the cache values"""
72 |         with self._lock:
73 |             self._cache_locks = {}
74 |             self._cache_values = {}
75 | 
76 | 
77 | _HTTP2_PROBE_CACHE = _HTTP2ProbeCache()
78 | 
79 | set_and_release = _HTTP2_PROBE_CACHE.set_and_release
80 | acquire_and_get = _HTTP2_PROBE_CACHE.acquire_and_get
81 | _values = _HTTP2_PROBE_CACHE._values
82 | _reset = _HTTP2_PROBE_CACHE._reset
83 | 
84 | __all__ = [
85 |     "set_and_release",
86 |     "acquire_and_get",
87 | ]
88 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/lxml/includes/libxml/c14n.h:
--------------------------------------------------------------------------------

```
  1 | /*
  2 |  * Summary: Provide Canonical XML and Exclusive XML Canonicalization
  3 |  * Description: the c14n modules provides a
  4 |  *
  5 |  * "Canonical XML" implementation
  6 |  * http://www.w3.org/TR/xml-c14n
  7 |  *
  8 |  * and an
  9 |  *
 10 |  * "Exclusive XML Canonicalization" implementation
 11 |  * http://www.w3.org/TR/xml-exc-c14n
 12 | 
 13 |  * Copy: See Copyright for the status of this software.
 14 |  *
 15 |  * Author: Aleksey Sanin <[email protected]>
 16 |  */
 17 | #ifndef __XML_C14N_H__
 18 | #define __XML_C14N_H__
 19 | 
 20 | #include <libxml/xmlversion.h>
 21 | 
 22 | #ifdef LIBXML_C14N_ENABLED
 23 | 
 24 | #include <libxml/tree.h>
 25 | #include <libxml/xpath.h>
 26 | 
 27 | #ifdef __cplusplus
 28 | extern "C" {
 29 | #endif /* __cplusplus */
 30 | 
 31 | /*
 32 |  * XML Canonicalization
 33 |  * http://www.w3.org/TR/xml-c14n
 34 |  *
 35 |  * Exclusive XML Canonicalization
 36 |  * http://www.w3.org/TR/xml-exc-c14n
 37 |  *
 38 |  * Canonical form of an XML document could be created if and only if
 39 |  *  a) default attributes (if any) are added to all nodes
 40 |  *  b) all character and parsed entity references are resolved
 41 |  * In order to achieve this in libxml2 the document MUST be loaded with
 42 |  * following global settings:
 43 |  *
 44 |  *    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
 45 |  *    xmlSubstituteEntitiesDefault(1);
 46 |  *
 47 |  * or corresponding parser context setting:
 48 |  *    xmlParserCtxtPtr ctxt;
 49 |  *
 50 |  *    ...
 51 |  *    ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
 52 |  *    ctxt->replaceEntities = 1;
 53 |  *    ...
 54 |  */
 55 | 
 56 | /*
 57 |  * xmlC14NMode:
 58 |  *
 59 |  * Predefined values for C14N modes
 60 |  *
 61 |  */
 62 | typedef enum {
 63 |     XML_C14N_1_0            = 0,    /* Original C14N 1.0 spec */
 64 |     XML_C14N_EXCLUSIVE_1_0  = 1,    /* Exclusive C14N 1.0 spec */
 65 |     XML_C14N_1_1            = 2     /* C14N 1.1 spec */
 66 | } xmlC14NMode;
 67 | 
 68 | XMLPUBFUN int
 69 | 		xmlC14NDocSaveTo	(xmlDocPtr doc,
 70 | 					 xmlNodeSetPtr nodes,
 71 | 					 int mode, /* a xmlC14NMode */
 72 | 					 xmlChar **inclusive_ns_prefixes,
 73 | 					 int with_comments,
 74 | 					 xmlOutputBufferPtr buf);
 75 | 
 76 | XMLPUBFUN int
 77 | 		xmlC14NDocDumpMemory	(xmlDocPtr doc,
 78 | 					 xmlNodeSetPtr nodes,
 79 | 					 int mode, /* a xmlC14NMode */
 80 | 					 xmlChar **inclusive_ns_prefixes,
 81 | 					 int with_comments,
 82 | 					 xmlChar **doc_txt_ptr);
 83 | 
 84 | XMLPUBFUN int
 85 | 		xmlC14NDocSave		(xmlDocPtr doc,
 86 | 					 xmlNodeSetPtr nodes,
 87 | 					 int mode, /* a xmlC14NMode */
 88 | 					 xmlChar **inclusive_ns_prefixes,
 89 | 					 int with_comments,
 90 | 					 const char* filename,
 91 | 					 int compression);
 92 | 
 93 | 
 94 | /**
 95 |  * This is the core C14N function
 96 |  */
 97 | /**
 98 |  * xmlC14NIsVisibleCallback:
 99 |  * @user_data: user data
100 |  * @node: the current node
101 |  * @parent: the parent node
102 |  *
103 |  * Signature for a C14N callback on visible nodes
104 |  *
105 |  * Returns 1 if the node should be included
106 |  */
107 | typedef int (*xmlC14NIsVisibleCallback)	(void* user_data,
108 | 					 xmlNodePtr node,
109 | 					 xmlNodePtr parent);
110 | 
111 | XMLPUBFUN int
112 | 		xmlC14NExecute		(xmlDocPtr doc,
113 | 					 xmlC14NIsVisibleCallback is_visible_callback,
114 | 					 void* user_data,
115 | 					 int mode, /* a xmlC14NMode */
116 | 					 xmlChar **inclusive_ns_prefixes,
117 | 					 int with_comments,
118 | 					 xmlOutputBufferPtr buf);
119 | 
120 | #ifdef __cplusplus
121 | }
122 | #endif /* __cplusplus */
123 | 
124 | #endif /* LIBXML_C14N_ENABLED */
125 | #endif /* __XML_C14N_H__ */
126 | 
127 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/pip/_internal/utils/entrypoints.py:
--------------------------------------------------------------------------------

```python
 1 | import itertools
 2 | import os
 3 | import shutil
 4 | import sys
 5 | from typing import List, Optional
 6 | 
 7 | from pip._internal.cli.main import main
 8 | from pip._internal.utils.compat import WINDOWS
 9 | 
10 | _EXECUTABLE_NAMES = [
11 |     "pip",
12 |     f"pip{sys.version_info.major}",
13 |     f"pip{sys.version_info.major}.{sys.version_info.minor}",
14 | ]
15 | if WINDOWS:
16 |     _allowed_extensions = {"", ".exe"}
17 |     _EXECUTABLE_NAMES = [
18 |         "".join(parts)
19 |         for parts in itertools.product(_EXECUTABLE_NAMES, _allowed_extensions)
20 |     ]
21 | 
22 | 
23 | def _wrapper(args: Optional[List[str]] = None) -> int:
24 |     """Central wrapper for all old entrypoints.
25 | 
26 |     Historically pip has had several entrypoints defined. Because of issues
27 |     arising from PATH, sys.path, multiple Pythons, their interactions, and most
28 |     of them having a pip installed, users suffer every time an entrypoint gets
29 |     moved.
30 | 
31 |     To alleviate this pain, and provide a mechanism for warning users and
32 |     directing them to an appropriate place for help, we now define all of
33 |     our old entrypoints as wrappers for the current one.
34 |     """
35 |     sys.stderr.write(
36 |         "WARNING: pip is being invoked by an old script wrapper. This will "
37 |         "fail in a future version of pip.\n"
38 |         "Please see https://github.com/pypa/pip/issues/5599 for advice on "
39 |         "fixing the underlying issue.\n"
40 |         "To avoid this problem you can invoke Python with '-m pip' instead of "
41 |         "running pip directly.\n"
42 |     )
43 |     return main(args)
44 | 
45 | 
46 | def get_best_invocation_for_this_pip() -> str:
47 |     """Try to figure out the best way to invoke pip in the current environment."""
48 |     binary_directory = "Scripts" if WINDOWS else "bin"
49 |     binary_prefix = os.path.join(sys.prefix, binary_directory)
50 | 
51 |     # Try to use pip[X[.Y]] names, if those executables for this environment are
52 |     # the first on PATH with that name.
53 |     path_parts = os.path.normcase(os.environ.get("PATH", "")).split(os.pathsep)
54 |     exe_are_in_PATH = os.path.normcase(binary_prefix) in path_parts
55 |     if exe_are_in_PATH:
56 |         for exe_name in _EXECUTABLE_NAMES:
57 |             found_executable = shutil.which(exe_name)
58 |             binary_executable = os.path.join(binary_prefix, exe_name)
59 |             if (
60 |                 found_executable
61 |                 and os.path.exists(binary_executable)
62 |                 and os.path.samefile(
63 |                     found_executable,
64 |                     binary_executable,
65 |                 )
66 |             ):
67 |                 return exe_name
68 | 
69 |     # Use the `-m` invocation, if there's no "nice" invocation.
70 |     return f"{get_best_invocation_for_this_python()} -m pip"
71 | 
72 | 
73 | def get_best_invocation_for_this_python() -> str:
74 |     """Try to figure out the best way to invoke the current Python."""
75 |     exe = sys.executable
76 |     exe_name = os.path.basename(exe)
77 | 
78 |     # Try to use the basename, if it's the first executable.
79 |     found_executable = shutil.which(exe_name)
80 |     if found_executable and os.path.samefile(found_executable, exe):
81 |         return exe_name
82 | 
83 |     # Use the full executable name, because we couldn't find something simpler.
84 |     return exe
85 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/regexopt.py:
--------------------------------------------------------------------------------

```python
 1 | """
 2 |     pygments.regexopt
 3 |     ~~~~~~~~~~~~~~~~~
 4 | 
 5 |     An algorithm that generates optimized regexes for matching long lists of
 6 |     literal strings.
 7 | 
 8 |     :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
 9 |     :license: BSD, see LICENSE for details.
10 | """
11 | 
12 | import re
13 | from re import escape
14 | from os.path import commonprefix
15 | from itertools import groupby
16 | from operator import itemgetter
17 | 
18 | CS_ESCAPE = re.compile(r'[\[\^\\\-\]]')
19 | FIRST_ELEMENT = itemgetter(0)
20 | 
21 | 
22 | def make_charset(letters):
23 |     return '[' + CS_ESCAPE.sub(lambda m: '\\' + m.group(), ''.join(letters)) + ']'
24 | 
25 | 
26 | def regex_opt_inner(strings, open_paren):
27 |     """Return a regex that matches any string in the sorted list of strings."""
28 |     close_paren = open_paren and ')' or ''
29 |     # print strings, repr(open_paren)
30 |     if not strings:
31 |         # print '-> nothing left'
32 |         return ''
33 |     first = strings[0]
34 |     if len(strings) == 1:
35 |         # print '-> only 1 string'
36 |         return open_paren + escape(first) + close_paren
37 |     if not first:
38 |         # print '-> first string empty'
39 |         return open_paren + regex_opt_inner(strings[1:], '(?:') \
40 |             + '?' + close_paren
41 |     if len(first) == 1:
42 |         # multiple one-char strings? make a charset
43 |         oneletter = []
44 |         rest = []
45 |         for s in strings:
46 |             if len(s) == 1:
47 |                 oneletter.append(s)
48 |             else:
49 |                 rest.append(s)
50 |         if len(oneletter) > 1:  # do we have more than one oneletter string?
51 |             if rest:
52 |                 # print '-> 1-character + rest'
53 |                 return open_paren + regex_opt_inner(rest, '') + '|' \
54 |                     + make_charset(oneletter) + close_paren
55 |             # print '-> only 1-character'
56 |             return open_paren + make_charset(oneletter) + close_paren
57 |     prefix = commonprefix(strings)
58 |     if prefix:
59 |         plen = len(prefix)
60 |         # we have a prefix for all strings
61 |         # print '-> prefix:', prefix
62 |         return open_paren + escape(prefix) \
63 |             + regex_opt_inner([s[plen:] for s in strings], '(?:') \
64 |             + close_paren
65 |     # is there a suffix?
66 |     strings_rev = [s[::-1] for s in strings]
67 |     suffix = commonprefix(strings_rev)
68 |     if suffix:
69 |         slen = len(suffix)
70 |         # print '-> suffix:', suffix[::-1]
71 |         return open_paren \
72 |             + regex_opt_inner(sorted(s[:-slen] for s in strings), '(?:') \
73 |             + escape(suffix[::-1]) + close_paren
74 |     # recurse on common 1-string prefixes
75 |     # print '-> last resort'
76 |     return open_paren + \
77 |         '|'.join(regex_opt_inner(list(group[1]), '')
78 |                  for group in groupby(strings, lambda s: s[0] == first[0])) \
79 |         + close_paren
80 | 
81 | 
82 | def regex_opt(strings, prefix='', suffix=''):
83 |     """Return a compiled regex that matches any string in the given list.
84 | 
85 |     The strings to match must be literal strings, not regexes.  They will be
86 |     regex-escaped.
87 | 
88 |     *prefix* and *suffix* are pre- and appended to the final regex.
89 |     """
90 |     strings = sorted(strings)
91 |     return prefix + regex_opt_inner(strings, '(') + suffix
92 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/scanner.py:
--------------------------------------------------------------------------------

```python
  1 | """
  2 |     pygments.scanner
  3 |     ~~~~~~~~~~~~~~~~
  4 | 
  5 |     This library implements a regex based scanner. Some languages
  6 |     like Pascal are easy to parse but have some keywords that
  7 |     depend on the context. Because of this it's impossible to lex
  8 |     that just by using a regular expression lexer like the
  9 |     `RegexLexer`.
 10 | 
 11 |     Have a look at the `DelphiLexer` to get an idea of how to use
 12 |     this scanner.
 13 | 
 14 |     :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
 15 |     :license: BSD, see LICENSE for details.
 16 | """
 17 | import re
 18 | 
 19 | 
 20 | class EndOfText(RuntimeError):
 21 |     """
 22 |     Raise if end of text is reached and the user
 23 |     tried to call a match function.
 24 |     """
 25 | 
 26 | 
 27 | class Scanner:
 28 |     """
 29 |     Simple scanner
 30 | 
 31 |     All method patterns are regular expression strings (not
 32 |     compiled expressions!)
 33 |     """
 34 | 
 35 |     def __init__(self, text, flags=0):
 36 |         """
 37 |         :param text:    The text which should be scanned
 38 |         :param flags:   default regular expression flags
 39 |         """
 40 |         self.data = text
 41 |         self.data_length = len(text)
 42 |         self.start_pos = 0
 43 |         self.pos = 0
 44 |         self.flags = flags
 45 |         self.last = None
 46 |         self.match = None
 47 |         self._re_cache = {}
 48 | 
 49 |     def eos(self):
 50 |         """`True` if the scanner reached the end of text."""
 51 |         return self.pos >= self.data_length
 52 |     eos = property(eos, eos.__doc__)
 53 | 
 54 |     def check(self, pattern):
 55 |         """
 56 |         Apply `pattern` on the current position and return
 57 |         the match object. (Doesn't touch pos). Use this for
 58 |         lookahead.
 59 |         """
 60 |         if self.eos:
 61 |             raise EndOfText()
 62 |         if pattern not in self._re_cache:
 63 |             self._re_cache[pattern] = re.compile(pattern, self.flags)
 64 |         return self._re_cache[pattern].match(self.data, self.pos)
 65 | 
 66 |     def test(self, pattern):
 67 |         """Apply a pattern on the current position and check
 68 |         if it patches. Doesn't touch pos.
 69 |         """
 70 |         return self.check(pattern) is not None
 71 | 
 72 |     def scan(self, pattern):
 73 |         """
 74 |         Scan the text for the given pattern and update pos/match
 75 |         and related fields. The return value is a boolean that
 76 |         indicates if the pattern matched. The matched value is
 77 |         stored on the instance as ``match``, the last value is
 78 |         stored as ``last``. ``start_pos`` is the position of the
 79 |         pointer before the pattern was matched, ``pos`` is the
 80 |         end position.
 81 |         """
 82 |         if self.eos:
 83 |             raise EndOfText()
 84 |         if pattern not in self._re_cache:
 85 |             self._re_cache[pattern] = re.compile(pattern, self.flags)
 86 |         self.last = self.match
 87 |         m = self._re_cache[pattern].match(self.data, self.pos)
 88 |         if m is None:
 89 |             return False
 90 |         self.start_pos = m.start()
 91 |         self.pos = m.end()
 92 |         self.match = m.group()
 93 |         return True
 94 | 
 95 |     def get_char(self):
 96 |         """Scan exactly one char."""
 97 |         self.scan('.')
 98 | 
 99 |     def __repr__(self):
100 |         return '<%s %d/%d>' % (
101 |             self.__class__.__name__,
102 |             self.pos,
103 |             self.data_length
104 |         )
105 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/lxml/includes/libexslt/exslt.h:
--------------------------------------------------------------------------------

```
  1 | /*
  2 |  * Summary: main header file
  3 |  *
  4 |  * Copy: See Copyright for the status of this software.
  5 |  */
  6 | 
  7 | 
  8 | #ifndef __EXSLT_H__
  9 | #define __EXSLT_H__
 10 | 
 11 | #include <libxml/tree.h>
 12 | #include <libxml/xpath.h>
 13 | #include "exsltexports.h"
 14 | #include <libexslt/exsltconfig.h>
 15 | 
 16 | #ifdef __cplusplus
 17 | extern "C" {
 18 | #endif
 19 | 
 20 | EXSLTPUBVAR const char *exsltLibraryVersion;
 21 | EXSLTPUBVAR const int exsltLibexsltVersion;
 22 | EXSLTPUBVAR const int exsltLibxsltVersion;
 23 | EXSLTPUBVAR const int exsltLibxmlVersion;
 24 | 
 25 | /**
 26 |  * EXSLT_COMMON_NAMESPACE:
 27 |  *
 28 |  * Namespace for EXSLT common functions
 29 |  */
 30 | #define EXSLT_COMMON_NAMESPACE ((const xmlChar *) "http://exslt.org/common")
 31 | /**
 32 |  * EXSLT_CRYPTO_NAMESPACE:
 33 |  *
 34 |  * Namespace for EXSLT crypto functions
 35 |  */
 36 | #define EXSLT_CRYPTO_NAMESPACE ((const xmlChar *) "http://exslt.org/crypto")
 37 | /**
 38 |  * EXSLT_MATH_NAMESPACE:
 39 |  *
 40 |  * Namespace for EXSLT math functions
 41 |  */
 42 | #define EXSLT_MATH_NAMESPACE ((const xmlChar *) "http://exslt.org/math")
 43 | /**
 44 |  * EXSLT_SETS_NAMESPACE:
 45 |  *
 46 |  * Namespace for EXSLT set functions
 47 |  */
 48 | #define EXSLT_SETS_NAMESPACE ((const xmlChar *) "http://exslt.org/sets")
 49 | /**
 50 |  * EXSLT_FUNCTIONS_NAMESPACE:
 51 |  *
 52 |  * Namespace for EXSLT functions extension functions
 53 |  */
 54 | #define EXSLT_FUNCTIONS_NAMESPACE ((const xmlChar *) "http://exslt.org/functions")
 55 | /**
 56 |  * EXSLT_STRINGS_NAMESPACE:
 57 |  *
 58 |  * Namespace for EXSLT strings functions
 59 |  */
 60 | #define EXSLT_STRINGS_NAMESPACE ((const xmlChar *) "http://exslt.org/strings")
 61 | /**
 62 |  * EXSLT_DATE_NAMESPACE:
 63 |  *
 64 |  * Namespace for EXSLT date functions
 65 |  */
 66 | #define EXSLT_DATE_NAMESPACE ((const xmlChar *) "http://exslt.org/dates-and-times")
 67 | /**
 68 |  * EXSLT_DYNAMIC_NAMESPACE:
 69 |  *
 70 |  * Namespace for EXSLT dynamic functions
 71 |  */
 72 | #define EXSLT_DYNAMIC_NAMESPACE ((const xmlChar *) "http://exslt.org/dynamic")
 73 | 
 74 | /**
 75 |  * SAXON_NAMESPACE:
 76 |  *
 77 |  * Namespace for SAXON extensions functions
 78 |  */
 79 | #define SAXON_NAMESPACE ((const xmlChar *) "http://icl.com/saxon")
 80 | 
 81 | EXSLTPUBFUN void EXSLTCALL exsltCommonRegister (void);
 82 | #ifdef EXSLT_CRYPTO_ENABLED
 83 | EXSLTPUBFUN void EXSLTCALL exsltCryptoRegister (void);
 84 | #endif
 85 | EXSLTPUBFUN void EXSLTCALL exsltMathRegister (void);
 86 | EXSLTPUBFUN void EXSLTCALL exsltSetsRegister (void);
 87 | EXSLTPUBFUN void EXSLTCALL exsltFuncRegister (void);
 88 | EXSLTPUBFUN void EXSLTCALL exsltStrRegister (void);
 89 | EXSLTPUBFUN void EXSLTCALL exsltDateRegister (void);
 90 | EXSLTPUBFUN void EXSLTCALL exsltSaxonRegister (void);
 91 | EXSLTPUBFUN void EXSLTCALL exsltDynRegister(void);
 92 | 
 93 | EXSLTPUBFUN void EXSLTCALL exsltRegisterAll (void);
 94 | 
 95 | EXSLTPUBFUN int EXSLTCALL exsltDateXpathCtxtRegister (xmlXPathContextPtr ctxt,
 96 |                                                       const xmlChar *prefix);
 97 | EXSLTPUBFUN int EXSLTCALL exsltMathXpathCtxtRegister (xmlXPathContextPtr ctxt,
 98 |                                                       const xmlChar *prefix);
 99 | EXSLTPUBFUN int EXSLTCALL exsltSetsXpathCtxtRegister (xmlXPathContextPtr ctxt,
100 |                                                       const xmlChar *prefix);
101 | EXSLTPUBFUN int EXSLTCALL exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt,
102 |                                                      const xmlChar *prefix);
103 | 
104 | #ifdef __cplusplus
105 | }
106 | #endif
107 | #endif /* __EXSLT_H__ */
108 | 
109 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/click/__init__.py:
--------------------------------------------------------------------------------

```python
 1 | """
 2 | Click is a simple Python module inspired by the stdlib optparse to make
 3 | writing command line scripts fun. Unlike other modules, it's based
 4 | around a simple API that does not come with too much magic and is
 5 | composable.
 6 | """
 7 | from .core import Argument as Argument
 8 | from .core import BaseCommand as BaseCommand
 9 | from .core import Command as Command
10 | from .core import CommandCollection as CommandCollection
11 | from .core import Context as Context
12 | from .core import Group as Group
13 | from .core import MultiCommand as MultiCommand
14 | from .core import Option as Option
15 | from .core import Parameter as Parameter
16 | from .decorators import argument as argument
17 | from .decorators import command as command
18 | from .decorators import confirmation_option as confirmation_option
19 | from .decorators import group as group
20 | from .decorators import help_option as help_option
21 | from .decorators import make_pass_decorator as make_pass_decorator
22 | from .decorators import option as option
23 | from .decorators import pass_context as pass_context
24 | from .decorators import pass_obj as pass_obj
25 | from .decorators import password_option as password_option
26 | from .decorators import version_option as version_option
27 | from .exceptions import Abort as Abort
28 | from .exceptions import BadArgumentUsage as BadArgumentUsage
29 | from .exceptions import BadOptionUsage as BadOptionUsage
30 | from .exceptions import BadParameter as BadParameter
31 | from .exceptions import ClickException as ClickException
32 | from .exceptions import FileError as FileError
33 | from .exceptions import MissingParameter as MissingParameter
34 | from .exceptions import NoSuchOption as NoSuchOption
35 | from .exceptions import UsageError as UsageError
36 | from .formatting import HelpFormatter as HelpFormatter
37 | from .formatting import wrap_text as wrap_text
38 | from .globals import get_current_context as get_current_context
39 | from .parser import OptionParser as OptionParser
40 | from .termui import clear as clear
41 | from .termui import confirm as confirm
42 | from .termui import echo_via_pager as echo_via_pager
43 | from .termui import edit as edit
44 | from .termui import getchar as getchar
45 | from .termui import launch as launch
46 | from .termui import pause as pause
47 | from .termui import progressbar as progressbar
48 | from .termui import prompt as prompt
49 | from .termui import secho as secho
50 | from .termui import style as style
51 | from .termui import unstyle as unstyle
52 | from .types import BOOL as BOOL
53 | from .types import Choice as Choice
54 | from .types import DateTime as DateTime
55 | from .types import File as File
56 | from .types import FLOAT as FLOAT
57 | from .types import FloatRange as FloatRange
58 | from .types import INT as INT
59 | from .types import IntRange as IntRange
60 | from .types import ParamType as ParamType
61 | from .types import Path as Path
62 | from .types import STRING as STRING
63 | from .types import Tuple as Tuple
64 | from .types import UNPROCESSED as UNPROCESSED
65 | from .types import UUID as UUID
66 | from .utils import echo as echo
67 | from .utils import format_filename as format_filename
68 | from .utils import get_app_dir as get_app_dir
69 | from .utils import get_binary_stream as get_binary_stream
70 | from .utils import get_text_stream as get_text_stream
71 | from .utils import open_file as open_file
72 | 
73 | __version__ = "8.1.7"
74 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/lxml/includes/libxml/list.h:
--------------------------------------------------------------------------------

```
  1 | /*
  2 |  * Summary: lists interfaces
  3 |  * Description: this module implement the list support used in
  4 |  * various place in the library.
  5 |  *
  6 |  * Copy: See Copyright for the status of this software.
  7 |  *
  8 |  * Author: Gary Pennington <[email protected]>
  9 |  */
 10 | 
 11 | #ifndef __XML_LINK_INCLUDE__
 12 | #define __XML_LINK_INCLUDE__
 13 | 
 14 | #include <libxml/xmlversion.h>
 15 | 
 16 | #ifdef __cplusplus
 17 | extern "C" {
 18 | #endif
 19 | 
 20 | typedef struct _xmlLink xmlLink;
 21 | typedef xmlLink *xmlLinkPtr;
 22 | 
 23 | typedef struct _xmlList xmlList;
 24 | typedef xmlList *xmlListPtr;
 25 | 
 26 | /**
 27 |  * xmlListDeallocator:
 28 |  * @lk:  the data to deallocate
 29 |  *
 30 |  * Callback function used to free data from a list.
 31 |  */
 32 | typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
 33 | /**
 34 |  * xmlListDataCompare:
 35 |  * @data0: the first data
 36 |  * @data1: the second data
 37 |  *
 38 |  * Callback function used to compare 2 data.
 39 |  *
 40 |  * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
 41 |  */
 42 | typedef int  (*xmlListDataCompare) (const void *data0, const void *data1);
 43 | /**
 44 |  * xmlListWalker:
 45 |  * @data: the data found in the list
 46 |  * @user: extra user provided data to the walker
 47 |  *
 48 |  * Callback function used when walking a list with xmlListWalk().
 49 |  *
 50 |  * Returns 0 to stop walking the list, 1 otherwise.
 51 |  */
 52 | typedef int (*xmlListWalker) (const void *data, void *user);
 53 | 
 54 | /* Creation/Deletion */
 55 | XMLPUBFUN xmlListPtr
 56 | 		xmlListCreate		(xmlListDeallocator deallocator,
 57 | 	                                 xmlListDataCompare compare);
 58 | XMLPUBFUN void
 59 | 		xmlListDelete		(xmlListPtr l);
 60 | 
 61 | /* Basic Operators */
 62 | XMLPUBFUN void *
 63 | 		xmlListSearch		(xmlListPtr l,
 64 | 					 void *data);
 65 | XMLPUBFUN void *
 66 | 		xmlListReverseSearch	(xmlListPtr l,
 67 | 					 void *data);
 68 | XMLPUBFUN int
 69 | 		xmlListInsert		(xmlListPtr l,
 70 | 					 void *data) ;
 71 | XMLPUBFUN int
 72 | 		xmlListAppend		(xmlListPtr l,
 73 | 					 void *data) ;
 74 | XMLPUBFUN int
 75 | 		xmlListRemoveFirst	(xmlListPtr l,
 76 | 					 void *data);
 77 | XMLPUBFUN int
 78 | 		xmlListRemoveLast	(xmlListPtr l,
 79 | 					 void *data);
 80 | XMLPUBFUN int
 81 | 		xmlListRemoveAll	(xmlListPtr l,
 82 | 					 void *data);
 83 | XMLPUBFUN void
 84 | 		xmlListClear		(xmlListPtr l);
 85 | XMLPUBFUN int
 86 | 		xmlListEmpty		(xmlListPtr l);
 87 | XMLPUBFUN xmlLinkPtr
 88 | 		xmlListFront		(xmlListPtr l);
 89 | XMLPUBFUN xmlLinkPtr
 90 | 		xmlListEnd		(xmlListPtr l);
 91 | XMLPUBFUN int
 92 | 		xmlListSize		(xmlListPtr l);
 93 | 
 94 | XMLPUBFUN void
 95 | 		xmlListPopFront		(xmlListPtr l);
 96 | XMLPUBFUN void
 97 | 		xmlListPopBack		(xmlListPtr l);
 98 | XMLPUBFUN int
 99 | 		xmlListPushFront	(xmlListPtr l,
100 | 					 void *data);
101 | XMLPUBFUN int
102 | 		xmlListPushBack		(xmlListPtr l,
103 | 					 void *data);
104 | 
105 | /* Advanced Operators */
106 | XMLPUBFUN void
107 | 		xmlListReverse		(xmlListPtr l);
108 | XMLPUBFUN void
109 | 		xmlListSort		(xmlListPtr l);
110 | XMLPUBFUN void
111 | 		xmlListWalk		(xmlListPtr l,
112 | 					 xmlListWalker walker,
113 | 					 void *user);
114 | XMLPUBFUN void
115 | 		xmlListReverseWalk	(xmlListPtr l,
116 | 					 xmlListWalker walker,
117 | 					 void *user);
118 | XMLPUBFUN void
119 | 		xmlListMerge		(xmlListPtr l1,
120 | 					 xmlListPtr l2);
121 | XMLPUBFUN xmlListPtr
122 | 		xmlListDup		(const xmlListPtr old);
123 | XMLPUBFUN int
124 | 		xmlListCopy		(xmlListPtr cur,
125 | 					 const xmlListPtr old);
126 | /* Link operators */
127 | XMLPUBFUN void *
128 | 		xmlLinkGetData          (xmlLinkPtr lk);
129 | 
130 | /* xmlListUnique() */
131 | /* xmlListSwap */
132 | 
133 | #ifdef __cplusplus
134 | }
135 | #endif
136 | 
137 | #endif /* __XML_LINK_INCLUDE__ */
138 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/variables.h:
--------------------------------------------------------------------------------

```
  1 | /*
  2 |  * Summary: interface for the variable matching and lookup.
  3 |  * Description: interface for the variable matching and lookup.
  4 |  *
  5 |  * Copy: See Copyright for the status of this software.
  6 |  *
  7 |  * Author: Daniel Veillard
  8 |  */
  9 | 
 10 | #ifndef __XML_XSLT_VARIABLES_H__
 11 | #define __XML_XSLT_VARIABLES_H__
 12 | 
 13 | #include <libxml/xpath.h>
 14 | #include <libxml/xpathInternals.h>
 15 | #include "xsltexports.h"
 16 | #include "xsltInternals.h"
 17 | #include "functions.h"
 18 | 
 19 | #ifdef __cplusplus
 20 | extern "C" {
 21 | #endif
 22 | 
 23 | 
 24 | /**
 25 |  * XSLT_REGISTER_VARIABLE_LOOKUP:
 26 |  *
 27 |  * Registering macro, not general purpose at all but used in different modules.
 28 |  */
 29 | 
 30 | #define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt)			\
 31 |     xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt,		\
 32 | 	       xsltXPathVariableLookup,	(void *)(ctxt));	\
 33 |     xsltRegisterAllFunctions((ctxt)->xpathCtxt);		\
 34 |     xsltRegisterAllElement(ctxt);				\
 35 |     (ctxt)->xpathCtxt->extra = ctxt
 36 | 
 37 | /*
 38 |  * Flags for memory management of RVTs
 39 |  */
 40 | 
 41 | /**
 42 |  * XSLT_RVT_LOCAL:
 43 |  *
 44 |  * RVT is destroyed after the current instructions ends.
 45 |  */
 46 | #define XSLT_RVT_LOCAL       1
 47 | 
 48 | /**
 49 |  * XSLT_RVT_FUNC_RESULT:
 50 |  *
 51 |  * RVT is part of results returned with func:result. The RVT won't be
 52 |  * destroyed after exiting a template and will be reset to XSLT_RVT_LOCAL or
 53 |  * XSLT_RVT_VARIABLE in the template that receives the return value.
 54 |  */
 55 | #define XSLT_RVT_FUNC_RESULT 2
 56 | 
 57 | /**
 58 |  * XSLT_RVT_GLOBAL:
 59 |  *
 60 |  * RVT is part of a global variable.
 61 |  */
 62 | #define XSLT_RVT_GLOBAL      3
 63 | 
 64 | /*
 65 |  * Interfaces for the variable module.
 66 |  */
 67 | 
 68 | XSLTPUBFUN int XSLTCALL
 69 | 		xsltEvalGlobalVariables		(xsltTransformContextPtr ctxt);
 70 | XSLTPUBFUN int XSLTCALL
 71 | 		xsltEvalUserParams		(xsltTransformContextPtr ctxt,
 72 | 						 const char **params);
 73 | XSLTPUBFUN int XSLTCALL
 74 | 		xsltQuoteUserParams		(xsltTransformContextPtr ctxt,
 75 | 						 const char **params);
 76 | XSLTPUBFUN int XSLTCALL
 77 | 		xsltEvalOneUserParam		(xsltTransformContextPtr ctxt,
 78 | 						 const xmlChar * name,
 79 | 						 const xmlChar * value);
 80 | XSLTPUBFUN int XSLTCALL
 81 | 		xsltQuoteOneUserParam		(xsltTransformContextPtr ctxt,
 82 | 						 const xmlChar * name,
 83 | 						 const xmlChar * value);
 84 | 
 85 | XSLTPUBFUN void XSLTCALL
 86 | 		xsltParseGlobalVariable		(xsltStylesheetPtr style,
 87 | 						 xmlNodePtr cur);
 88 | XSLTPUBFUN void XSLTCALL
 89 | 		xsltParseGlobalParam		(xsltStylesheetPtr style,
 90 | 						 xmlNodePtr cur);
 91 | XSLTPUBFUN void XSLTCALL
 92 | 		xsltParseStylesheetVariable	(xsltTransformContextPtr ctxt,
 93 | 						 xmlNodePtr cur);
 94 | XSLTPUBFUN void XSLTCALL
 95 | 		xsltParseStylesheetParam	(xsltTransformContextPtr ctxt,
 96 | 						 xmlNodePtr cur);
 97 | XSLTPUBFUN xsltStackElemPtr XSLTCALL
 98 | 		xsltParseStylesheetCallerParam	(xsltTransformContextPtr ctxt,
 99 | 						 xmlNodePtr cur);
100 | XSLTPUBFUN int XSLTCALL
101 | 		xsltAddStackElemList		(xsltTransformContextPtr ctxt,
102 | 						 xsltStackElemPtr elems);
103 | XSLTPUBFUN void XSLTCALL
104 | 		xsltFreeGlobalVariables		(xsltTransformContextPtr ctxt);
105 | XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
106 | 		xsltVariableLookup		(xsltTransformContextPtr ctxt,
107 | 						 const xmlChar *name,
108 | 						 const xmlChar *ns_uri);
109 | XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
110 | 		xsltXPathVariableLookup		(void *ctxt,
111 | 						 const xmlChar *name,
112 | 						 const xmlChar *ns_uri);
113 | #ifdef __cplusplus
114 | }
115 | #endif
116 | 
117 | #endif /* __XML_XSLT_VARIABLES_H__ */
118 | 
119 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/reporter.py:
--------------------------------------------------------------------------------

```python
 1 | from collections import defaultdict
 2 | from logging import getLogger
 3 | from typing import Any, DefaultDict
 4 | 
 5 | from pip._vendor.resolvelib.reporters import BaseReporter
 6 | 
 7 | from .base import Candidate, Requirement
 8 | 
 9 | logger = getLogger(__name__)
10 | 
11 | 
12 | class PipReporter(BaseReporter):
13 |     def __init__(self) -> None:
14 |         self.reject_count_by_package: DefaultDict[str, int] = defaultdict(int)
15 | 
16 |         self._messages_at_reject_count = {
17 |             1: (
18 |                 "pip is looking at multiple versions of {package_name} to "
19 |                 "determine which version is compatible with other "
20 |                 "requirements. This could take a while."
21 |             ),
22 |             8: (
23 |                 "pip is still looking at multiple versions of {package_name} to "
24 |                 "determine which version is compatible with other "
25 |                 "requirements. This could take a while."
26 |             ),
27 |             13: (
28 |                 "This is taking longer than usual. You might need to provide "
29 |                 "the dependency resolver with stricter constraints to reduce "
30 |                 "runtime. See https://pip.pypa.io/warnings/backtracking for "
31 |                 "guidance. If you want to abort this run, press Ctrl + C."
32 |             ),
33 |         }
34 | 
35 |     def rejecting_candidate(self, criterion: Any, candidate: Candidate) -> None:
36 |         self.reject_count_by_package[candidate.name] += 1
37 | 
38 |         count = self.reject_count_by_package[candidate.name]
39 |         if count not in self._messages_at_reject_count:
40 |             return
41 | 
42 |         message = self._messages_at_reject_count[count]
43 |         logger.info("INFO: %s", message.format(package_name=candidate.name))
44 | 
45 |         msg = "Will try a different candidate, due to conflict:"
46 |         for req_info in criterion.information:
47 |             req, parent = req_info.requirement, req_info.parent
48 |             # Inspired by Factory.get_installation_error
49 |             msg += "\n    "
50 |             if parent:
51 |                 msg += f"{parent.name} {parent.version} depends on "
52 |             else:
53 |                 msg += "The user requested "
54 |             msg += req.format_for_error()
55 |         logger.debug(msg)
56 | 
57 | 
58 | class PipDebuggingReporter(BaseReporter):
59 |     """A reporter that does an info log for every event it sees."""
60 | 
61 |     def starting(self) -> None:
62 |         logger.info("Reporter.starting()")
63 | 
64 |     def starting_round(self, index: int) -> None:
65 |         logger.info("Reporter.starting_round(%r)", index)
66 | 
67 |     def ending_round(self, index: int, state: Any) -> None:
68 |         logger.info("Reporter.ending_round(%r, state)", index)
69 |         logger.debug("Reporter.ending_round(%r, %r)", index, state)
70 | 
71 |     def ending(self, state: Any) -> None:
72 |         logger.info("Reporter.ending(%r)", state)
73 | 
74 |     def adding_requirement(self, requirement: Requirement, parent: Candidate) -> None:
75 |         logger.info("Reporter.adding_requirement(%r, %r)", requirement, parent)
76 | 
77 |     def rejecting_candidate(self, criterion: Any, candidate: Candidate) -> None:
78 |         logger.info("Reporter.rejecting_candidate(%r, %r)", criterion, candidate)
79 | 
80 |     def pinning(self, candidate: Candidate) -> None:
81 |         logger.info("Reporter.pinning(%r)", candidate)
82 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/pip/_internal/commands/inspect.py:
--------------------------------------------------------------------------------

```python
 1 | import logging
 2 | from optparse import Values
 3 | from typing import Any, Dict, List
 4 | 
 5 | from pip._vendor.packaging.markers import default_environment
 6 | from pip._vendor.rich import print_json
 7 | 
 8 | from pip import __version__
 9 | from pip._internal.cli import cmdoptions
10 | from pip._internal.cli.base_command import Command
11 | from pip._internal.cli.status_codes import SUCCESS
12 | from pip._internal.metadata import BaseDistribution, get_environment
13 | from pip._internal.utils.compat import stdlib_pkgs
14 | from pip._internal.utils.urls import path_to_url
15 | 
16 | logger = logging.getLogger(__name__)
17 | 
18 | 
19 | class InspectCommand(Command):
20 |     """
21 |     Inspect the content of a Python environment and produce a report in JSON format.
22 |     """
23 | 
24 |     ignore_require_venv = True
25 |     usage = """
26 |       %prog [options]"""
27 | 
28 |     def add_options(self) -> None:
29 |         self.cmd_opts.add_option(
30 |             "--local",
31 |             action="store_true",
32 |             default=False,
33 |             help=(
34 |                 "If in a virtualenv that has global access, do not list "
35 |                 "globally-installed packages."
36 |             ),
37 |         )
38 |         self.cmd_opts.add_option(
39 |             "--user",
40 |             dest="user",
41 |             action="store_true",
42 |             default=False,
43 |             help="Only output packages installed in user-site.",
44 |         )
45 |         self.cmd_opts.add_option(cmdoptions.list_path())
46 |         self.parser.insert_option_group(0, self.cmd_opts)
47 | 
48 |     def run(self, options: Values, args: List[str]) -> int:
49 |         cmdoptions.check_list_path_option(options)
50 |         dists = get_environment(options.path).iter_installed_distributions(
51 |             local_only=options.local,
52 |             user_only=options.user,
53 |             skip=set(stdlib_pkgs),
54 |         )
55 |         output = {
56 |             "version": "1",
57 |             "pip_version": __version__,
58 |             "installed": [self._dist_to_dict(dist) for dist in dists],
59 |             "environment": default_environment(),
60 |             # TODO tags? scheme?
61 |         }
62 |         print_json(data=output)
63 |         return SUCCESS
64 | 
65 |     def _dist_to_dict(self, dist: BaseDistribution) -> Dict[str, Any]:
66 |         res: Dict[str, Any] = {
67 |             "metadata": dist.metadata_dict,
68 |             "metadata_location": dist.info_location,
69 |         }
70 |         # direct_url. Note that we don't have download_info (as in the installation
71 |         # report) since it is not recorded in installed metadata.
72 |         direct_url = dist.direct_url
73 |         if direct_url is not None:
74 |             res["direct_url"] = direct_url.to_dict()
75 |         else:
76 |             # Emulate direct_url for legacy editable installs.
77 |             editable_project_location = dist.editable_project_location
78 |             if editable_project_location is not None:
79 |                 res["direct_url"] = {
80 |                     "url": path_to_url(editable_project_location),
81 |                     "dir_info": {
82 |                         "editable": True,
83 |                     },
84 |                 }
85 |         # installer
86 |         installer = dist.installer
87 |         if dist.installer:
88 |             res["installer"] = installer
89 |         # requested
90 |         if dist.installed_with_dist_info:
91 |             res["requested"] = dist.requested
92 |         return res
93 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/flask/typing.py:
--------------------------------------------------------------------------------

```python
 1 | from __future__ import annotations
 2 | 
 3 | import typing as t
 4 | 
 5 | if t.TYPE_CHECKING:  # pragma: no cover
 6 |     from _typeshed.wsgi import WSGIApplication  # noqa: F401
 7 |     from werkzeug.datastructures import Headers  # noqa: F401
 8 |     from werkzeug.sansio.response import Response  # noqa: F401
 9 | 
10 | # The possible types that are directly convertible or are a Response object.
11 | ResponseValue = t.Union[
12 |     "Response",
13 |     str,
14 |     bytes,
15 |     t.List[t.Any],
16 |     # Only dict is actually accepted, but Mapping allows for TypedDict.
17 |     t.Mapping[str, t.Any],
18 |     t.Iterator[str],
19 |     t.Iterator[bytes],
20 | ]
21 | 
22 | # the possible types for an individual HTTP header
23 | # This should be a Union, but mypy doesn't pass unless it's a TypeVar.
24 | HeaderValue = t.Union[str, t.List[str], t.Tuple[str, ...]]
25 | 
26 | # the possible types for HTTP headers
27 | HeadersValue = t.Union[
28 |     "Headers",
29 |     t.Mapping[str, HeaderValue],
30 |     t.Sequence[t.Tuple[str, HeaderValue]],
31 | ]
32 | 
33 | # The possible types returned by a route function.
34 | ResponseReturnValue = t.Union[
35 |     ResponseValue,
36 |     t.Tuple[ResponseValue, HeadersValue],
37 |     t.Tuple[ResponseValue, int],
38 |     t.Tuple[ResponseValue, int, HeadersValue],
39 |     "WSGIApplication",
40 | ]
41 | 
42 | # Allow any subclass of werkzeug.Response, such as the one from Flask,
43 | # as a callback argument. Using werkzeug.Response directly makes a
44 | # callback annotated with flask.Response fail type checking.
45 | ResponseClass = t.TypeVar("ResponseClass", bound="Response")
46 | 
47 | AppOrBlueprintKey = t.Optional[str]  # The App key is None, whereas blueprints are named
48 | AfterRequestCallable = t.Union[
49 |     t.Callable[[ResponseClass], ResponseClass],
50 |     t.Callable[[ResponseClass], t.Awaitable[ResponseClass]],
51 | ]
52 | BeforeFirstRequestCallable = t.Union[
53 |     t.Callable[[], None], t.Callable[[], t.Awaitable[None]]
54 | ]
55 | BeforeRequestCallable = t.Union[
56 |     t.Callable[[], t.Optional[ResponseReturnValue]],
57 |     t.Callable[[], t.Awaitable[t.Optional[ResponseReturnValue]]],
58 | ]
59 | ShellContextProcessorCallable = t.Callable[[], t.Dict[str, t.Any]]
60 | TeardownCallable = t.Union[
61 |     t.Callable[[t.Optional[BaseException]], None],
62 |     t.Callable[[t.Optional[BaseException]], t.Awaitable[None]],
63 | ]
64 | TemplateContextProcessorCallable = t.Union[
65 |     t.Callable[[], t.Dict[str, t.Any]],
66 |     t.Callable[[], t.Awaitable[t.Dict[str, t.Any]]],
67 | ]
68 | TemplateFilterCallable = t.Callable[..., t.Any]
69 | TemplateGlobalCallable = t.Callable[..., t.Any]
70 | TemplateTestCallable = t.Callable[..., bool]
71 | URLDefaultCallable = t.Callable[[str, t.Dict[str, t.Any]], None]
72 | URLValuePreprocessorCallable = t.Callable[
73 |     [t.Optional[str], t.Optional[t.Dict[str, t.Any]]], None
74 | ]
75 | 
76 | # This should take Exception, but that either breaks typing the argument
77 | # with a specific exception, or decorating multiple times with different
78 | # exceptions (and using a union type on the argument).
79 | # https://github.com/pallets/flask/issues/4095
80 | # https://github.com/pallets/flask/issues/4295
81 | # https://github.com/pallets/flask/issues/4297
82 | ErrorHandlerCallable = t.Union[
83 |     t.Callable[[t.Any], ResponseReturnValue],
84 |     t.Callable[[t.Any], t.Awaitable[ResponseReturnValue]],
85 | ]
86 | 
87 | RouteCallable = t.Union[
88 |     t.Callable[..., ResponseReturnValue],
89 |     t.Callable[..., t.Awaitable[ResponseReturnValue]],
90 | ]
91 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py:
--------------------------------------------------------------------------------

```python
 1 | from typing import Optional
 2 | 
 3 | from pip._internal.models.direct_url import ArchiveInfo, DirectUrl, DirInfo, VcsInfo
 4 | from pip._internal.models.link import Link
 5 | from pip._internal.utils.urls import path_to_url
 6 | from pip._internal.vcs import vcs
 7 | 
 8 | 
 9 | def direct_url_as_pep440_direct_reference(direct_url: DirectUrl, name: str) -> str:
10 |     """Convert a DirectUrl to a pip requirement string."""
11 |     direct_url.validate()  # if invalid, this is a pip bug
12 |     requirement = name + " @ "
13 |     fragments = []
14 |     if isinstance(direct_url.info, VcsInfo):
15 |         requirement += (
16 |             f"{direct_url.info.vcs}+{direct_url.url}@{direct_url.info.commit_id}"
17 |         )
18 |     elif isinstance(direct_url.info, ArchiveInfo):
19 |         requirement += direct_url.url
20 |         if direct_url.info.hash:
21 |             fragments.append(direct_url.info.hash)
22 |     else:
23 |         assert isinstance(direct_url.info, DirInfo)
24 |         requirement += direct_url.url
25 |     if direct_url.subdirectory:
26 |         fragments.append("subdirectory=" + direct_url.subdirectory)
27 |     if fragments:
28 |         requirement += "#" + "&".join(fragments)
29 |     return requirement
30 | 
31 | 
32 | def direct_url_for_editable(source_dir: str) -> DirectUrl:
33 |     return DirectUrl(
34 |         url=path_to_url(source_dir),
35 |         info=DirInfo(editable=True),
36 |     )
37 | 
38 | 
39 | def direct_url_from_link(
40 |     link: Link, source_dir: Optional[str] = None, link_is_in_wheel_cache: bool = False
41 | ) -> DirectUrl:
42 |     if link.is_vcs:
43 |         vcs_backend = vcs.get_backend_for_scheme(link.scheme)
44 |         assert vcs_backend
45 |         url, requested_revision, _ = vcs_backend.get_url_rev_and_auth(
46 |             link.url_without_fragment
47 |         )
48 |         # For VCS links, we need to find out and add commit_id.
49 |         if link_is_in_wheel_cache:
50 |             # If the requested VCS link corresponds to a cached
51 |             # wheel, it means the requested revision was an
52 |             # immutable commit hash, otherwise it would not have
53 |             # been cached. In that case we don't have a source_dir
54 |             # with the VCS checkout.
55 |             assert requested_revision
56 |             commit_id = requested_revision
57 |         else:
58 |             # If the wheel was not in cache, it means we have
59 |             # had to checkout from VCS to build and we have a source_dir
60 |             # which we can inspect to find out the commit id.
61 |             assert source_dir
62 |             commit_id = vcs_backend.get_revision(source_dir)
63 |         return DirectUrl(
64 |             url=url,
65 |             info=VcsInfo(
66 |                 vcs=vcs_backend.name,
67 |                 commit_id=commit_id,
68 |                 requested_revision=requested_revision,
69 |             ),
70 |             subdirectory=link.subdirectory_fragment,
71 |         )
72 |     elif link.is_existing_dir():
73 |         return DirectUrl(
74 |             url=link.url_without_fragment,
75 |             info=DirInfo(),
76 |             subdirectory=link.subdirectory_fragment,
77 |         )
78 |     else:
79 |         hash = None
80 |         hash_name = link.hash_name
81 |         if hash_name:
82 |             hash = f"{hash_name}={link.hash}"
83 |         return DirectUrl(
84 |             url=link.url_without_fragment,
85 |             info=ArchiveInfo(hash=hash),
86 |             subdirectory=link.subdirectory_fragment,
87 |         )
88 | 
```

--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/itsdangerous/exc.py:
--------------------------------------------------------------------------------

```python
  1 | from __future__ import annotations
  2 | 
  3 | import typing as t
  4 | from datetime import datetime
  5 | 
  6 | 
  7 | class BadData(Exception):
  8 |     """Raised if bad data of any sort was encountered. This is the base
  9 |     for all exceptions that ItsDangerous defines.
 10 | 
 11 |     .. versionadded:: 0.15
 12 |     """
 13 | 
 14 |     def __init__(self, message: str):
 15 |         super().__init__(message)
 16 |         self.message = message
 17 | 
 18 |     def __str__(self) -> str:
 19 |         return self.message
 20 | 
 21 | 
 22 | class BadSignature(BadData):
 23 |     """Raised if a signature does not match."""
 24 | 
 25 |     def __init__(self, message: str, payload: t.Any | None = None):
 26 |         super().__init__(message)
 27 | 
 28 |         #: The payload that failed the signature test. In some
 29 |         #: situations you might still want to inspect this, even if
 30 |         #: you know it was tampered with.
 31 |         #:
 32 |         #: .. versionadded:: 0.14
 33 |         self.payload: t.Any | None = payload
 34 | 
 35 | 
 36 | class BadTimeSignature(BadSignature):
 37 |     """Raised if a time-based signature is invalid. This is a subclass
 38 |     of :class:`BadSignature`.
 39 |     """
 40 | 
 41 |     def __init__(
 42 |         self,
 43 |         message: str,
 44 |         payload: t.Any | None = None,
 45 |         date_signed: datetime | None = None,
 46 |     ):
 47 |         super().__init__(message, payload)
 48 | 
 49 |         #: If the signature expired this exposes the date of when the
 50 |         #: signature was created. This can be helpful in order to
 51 |         #: tell the user how long a link has been gone stale.
 52 |         #:
 53 |         #: .. versionchanged:: 2.0
 54 |         #:     The datetime value is timezone-aware rather than naive.
 55 |         #:
 56 |         #: .. versionadded:: 0.14
 57 |         self.date_signed = date_signed
 58 | 
 59 | 
 60 | class SignatureExpired(BadTimeSignature):
 61 |     """Raised if a signature timestamp is older than ``max_age``. This
 62 |     is a subclass of :exc:`BadTimeSignature`.
 63 |     """
 64 | 
 65 | 
 66 | class BadHeader(BadSignature):
 67 |     """Raised if a signed header is invalid in some form. This only
 68 |     happens for serializers that have a header that goes with the
 69 |     signature.
 70 | 
 71 |     .. versionadded:: 0.24
 72 |     """
 73 | 
 74 |     def __init__(
 75 |         self,
 76 |         message: str,
 77 |         payload: t.Any | None = None,
 78 |         header: t.Any | None = None,
 79 |         original_error: Exception | None = None,
 80 |     ):
 81 |         super().__init__(message, payload)
 82 | 
 83 |         #: If the header is actually available but just malformed it
 84 |         #: might be stored here.
 85 |         self.header: t.Any | None = header
 86 | 
 87 |         #: If available, the error that indicates why the payload was
 88 |         #: not valid. This might be ``None``.
 89 |         self.original_error: Exception | None = original_error
 90 | 
 91 | 
 92 | class BadPayload(BadData):
 93 |     """Raised if a payload is invalid. This could happen if the payload
 94 |     is loaded despite an invalid signature, or if there is a mismatch
 95 |     between the serializer and deserializer. The original exception
 96 |     that occurred during loading is stored on as :attr:`original_error`.
 97 | 
 98 |     .. versionadded:: 0.15
 99 |     """
100 | 
101 |     def __init__(self, message: str, original_error: Exception | None = None):
102 |         super().__init__(message)
103 | 
104 |         #: If available, the error that indicates why the payload was
105 |         #: not valid. This might be ``None``.
106 |         self.original_error: Exception | None = original_error
107 | 
```
Page 7/168FirstPrevNextLast