#
tokens: 46247/50000 1/808 files (page 120/168)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 120 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/lxml/includes/libxml/tree.h:
--------------------------------------------------------------------------------

```
   1 | /*
   2 |  * Summary: interfaces for tree manipulation
   3 |  * Description: this module describes the structures found in an tree resulting
   4 |  *              from an XML or HTML parsing, as well as the API provided for
   5 |  *              various processing on that tree
   6 |  *
   7 |  * Copy: See Copyright for the status of this software.
   8 |  *
   9 |  * Author: Daniel Veillard
  10 |  */
  11 | 
  12 | #ifndef XML_TREE_INTERNALS
  13 | 
  14 | /*
  15 |  * Emulate circular dependency for backward compatibility
  16 |  */
  17 | #include <libxml/parser.h>
  18 | 
  19 | #else /* XML_TREE_INTERNALS */
  20 | 
  21 | #ifndef __XML_TREE_H__
  22 | #define __XML_TREE_H__
  23 | 
  24 | #include <stdio.h>
  25 | #include <limits.h>
  26 | #include <libxml/xmlversion.h>
  27 | #include <libxml/xmlstring.h>
  28 | #include <libxml/xmlmemory.h>
  29 | #include <libxml/xmlregexp.h>
  30 | 
  31 | #ifdef __cplusplus
  32 | extern "C" {
  33 | #endif
  34 | 
  35 | /*
  36 |  * Some of the basic types pointer to structures:
  37 |  */
  38 | /* xmlIO.h */
  39 | typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
  40 | typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
  41 | 
  42 | typedef struct _xmlOutputBuffer xmlOutputBuffer;
  43 | typedef xmlOutputBuffer *xmlOutputBufferPtr;
  44 | 
  45 | /* parser.h */
  46 | typedef struct _xmlParserInput xmlParserInput;
  47 | typedef xmlParserInput *xmlParserInputPtr;
  48 | 
  49 | typedef struct _xmlParserCtxt xmlParserCtxt;
  50 | typedef xmlParserCtxt *xmlParserCtxtPtr;
  51 | 
  52 | typedef struct _xmlSAXLocator xmlSAXLocator;
  53 | typedef xmlSAXLocator *xmlSAXLocatorPtr;
  54 | 
  55 | typedef struct _xmlSAXHandler xmlSAXHandler;
  56 | typedef xmlSAXHandler *xmlSAXHandlerPtr;
  57 | 
  58 | /* entities.h */
  59 | typedef struct _xmlEntity xmlEntity;
  60 | typedef xmlEntity *xmlEntityPtr;
  61 | 
  62 | /**
  63 |  * BASE_BUFFER_SIZE:
  64 |  *
  65 |  * default buffer size 4000.
  66 |  */
  67 | #define BASE_BUFFER_SIZE 4096
  68 | 
  69 | /**
  70 |  * LIBXML_NAMESPACE_DICT:
  71 |  *
  72 |  * Defines experimental behaviour:
  73 |  * 1) xmlNs gets an additional field @context (a xmlDoc)
  74 |  * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc.
  75 |  */
  76 | /* #define LIBXML_NAMESPACE_DICT */
  77 | 
  78 | /**
  79 |  * xmlBufferAllocationScheme:
  80 |  *
  81 |  * A buffer allocation scheme can be defined to either match exactly the
  82 |  * need or double it's allocated size each time it is found too small.
  83 |  */
  84 | 
  85 | typedef enum {
  86 |     XML_BUFFER_ALLOC_DOUBLEIT,	/* double each time one need to grow */
  87 |     XML_BUFFER_ALLOC_EXACT,	/* grow only to the minimal size */
  88 |     XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer, deprecated */
  89 |     XML_BUFFER_ALLOC_IO,	/* special allocation scheme used for I/O */
  90 |     XML_BUFFER_ALLOC_HYBRID,	/* exact up to a threshold, and doubleit thereafter */
  91 |     XML_BUFFER_ALLOC_BOUNDED	/* limit the upper size of the buffer */
  92 | } xmlBufferAllocationScheme;
  93 | 
  94 | /**
  95 |  * xmlBuffer:
  96 |  *
  97 |  * A buffer structure, this old construct is limited to 2GB and
  98 |  * is being deprecated, use API with xmlBuf instead
  99 |  */
 100 | typedef struct _xmlBuffer xmlBuffer;
 101 | typedef xmlBuffer *xmlBufferPtr;
 102 | struct _xmlBuffer {
 103 |     xmlChar *content;		/* The buffer content UTF8 */
 104 |     unsigned int use;		/* The buffer size used */
 105 |     unsigned int size;		/* The buffer size */
 106 |     xmlBufferAllocationScheme alloc; /* The realloc method */
 107 |     xmlChar *contentIO;		/* in IO mode we may have a different base */
 108 | };
 109 | 
 110 | /**
 111 |  * xmlBuf:
 112 |  *
 113 |  * A buffer structure, new one, the actual structure internals are not public
 114 |  */
 115 | 
 116 | typedef struct _xmlBuf xmlBuf;
 117 | 
 118 | /**
 119 |  * xmlBufPtr:
 120 |  *
 121 |  * A pointer to a buffer structure, the actual structure internals are not
 122 |  * public
 123 |  */
 124 | 
 125 | typedef xmlBuf *xmlBufPtr;
 126 | 
 127 | /*
 128 |  * A few public routines for xmlBuf. As those are expected to be used
 129 |  * mostly internally the bulk of the routines are internal in buf.h
 130 |  */
 131 | XMLPUBFUN xmlChar*       xmlBufContent	(const xmlBuf* buf);
 132 | XMLPUBFUN xmlChar*       xmlBufEnd      (xmlBufPtr buf);
 133 | XMLPUBFUN size_t         xmlBufUse      (const xmlBufPtr buf);
 134 | XMLPUBFUN size_t         xmlBufShrink	(xmlBufPtr buf, size_t len);
 135 | 
 136 | /*
 137 |  * LIBXML2_NEW_BUFFER:
 138 |  *
 139 |  * Macro used to express that the API use the new buffers for
 140 |  * xmlParserInputBuffer and xmlOutputBuffer. The change was
 141 |  * introduced in 2.9.0.
 142 |  */
 143 | #define LIBXML2_NEW_BUFFER
 144 | 
 145 | /**
 146 |  * XML_XML_NAMESPACE:
 147 |  *
 148 |  * This is the namespace for the special xml: prefix predefined in the
 149 |  * XML Namespace specification.
 150 |  */
 151 | #define XML_XML_NAMESPACE \
 152 |     (const xmlChar *) "http://www.w3.org/XML/1998/namespace"
 153 | 
 154 | /**
 155 |  * XML_XML_ID:
 156 |  *
 157 |  * This is the name for the special xml:id attribute
 158 |  */
 159 | #define XML_XML_ID (const xmlChar *) "xml:id"
 160 | 
 161 | /*
 162 |  * The different element types carried by an XML tree.
 163 |  *
 164 |  * NOTE: This is synchronized with DOM Level1 values
 165 |  *       See http://www.w3.org/TR/REC-DOM-Level-1/
 166 |  *
 167 |  * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
 168 |  * be deprecated to use an XML_DTD_NODE.
 169 |  */
 170 | typedef enum {
 171 |     XML_ELEMENT_NODE=		1,
 172 |     XML_ATTRIBUTE_NODE=		2,
 173 |     XML_TEXT_NODE=		3,
 174 |     XML_CDATA_SECTION_NODE=	4,
 175 |     XML_ENTITY_REF_NODE=	5,
 176 |     XML_ENTITY_NODE=		6,
 177 |     XML_PI_NODE=		7,
 178 |     XML_COMMENT_NODE=		8,
 179 |     XML_DOCUMENT_NODE=		9,
 180 |     XML_DOCUMENT_TYPE_NODE=	10,
 181 |     XML_DOCUMENT_FRAG_NODE=	11,
 182 |     XML_NOTATION_NODE=		12,
 183 |     XML_HTML_DOCUMENT_NODE=	13,
 184 |     XML_DTD_NODE=		14,
 185 |     XML_ELEMENT_DECL=		15,
 186 |     XML_ATTRIBUTE_DECL=		16,
 187 |     XML_ENTITY_DECL=		17,
 188 |     XML_NAMESPACE_DECL=		18,
 189 |     XML_XINCLUDE_START=		19,
 190 |     XML_XINCLUDE_END=		20
 191 |     /* XML_DOCB_DOCUMENT_NODE=	21 */ /* removed */
 192 | } xmlElementType;
 193 | 
 194 | /** DOC_DISABLE */
 195 | /* For backward compatibility */
 196 | #define XML_DOCB_DOCUMENT_NODE 21
 197 | /** DOC_ENABLE */
 198 | 
 199 | /**
 200 |  * xmlNotation:
 201 |  *
 202 |  * A DTD Notation definition.
 203 |  */
 204 | 
 205 | typedef struct _xmlNotation xmlNotation;
 206 | typedef xmlNotation *xmlNotationPtr;
 207 | struct _xmlNotation {
 208 |     const xmlChar               *name;	        /* Notation name */
 209 |     const xmlChar               *PublicID;	/* Public identifier, if any */
 210 |     const xmlChar               *SystemID;	/* System identifier, if any */
 211 | };
 212 | 
 213 | /**
 214 |  * xmlAttributeType:
 215 |  *
 216 |  * A DTD Attribute type definition.
 217 |  */
 218 | 
 219 | typedef enum {
 220 |     XML_ATTRIBUTE_CDATA = 1,
 221 |     XML_ATTRIBUTE_ID,
 222 |     XML_ATTRIBUTE_IDREF	,
 223 |     XML_ATTRIBUTE_IDREFS,
 224 |     XML_ATTRIBUTE_ENTITY,
 225 |     XML_ATTRIBUTE_ENTITIES,
 226 |     XML_ATTRIBUTE_NMTOKEN,
 227 |     XML_ATTRIBUTE_NMTOKENS,
 228 |     XML_ATTRIBUTE_ENUMERATION,
 229 |     XML_ATTRIBUTE_NOTATION
 230 | } xmlAttributeType;
 231 | 
 232 | /**
 233 |  * xmlAttributeDefault:
 234 |  *
 235 |  * A DTD Attribute default definition.
 236 |  */
 237 | 
 238 | typedef enum {
 239 |     XML_ATTRIBUTE_NONE = 1,
 240 |     XML_ATTRIBUTE_REQUIRED,
 241 |     XML_ATTRIBUTE_IMPLIED,
 242 |     XML_ATTRIBUTE_FIXED
 243 | } xmlAttributeDefault;
 244 | 
 245 | /**
 246 |  * xmlEnumeration:
 247 |  *
 248 |  * List structure used when there is an enumeration in DTDs.
 249 |  */
 250 | 
 251 | typedef struct _xmlEnumeration xmlEnumeration;
 252 | typedef xmlEnumeration *xmlEnumerationPtr;
 253 | struct _xmlEnumeration {
 254 |     struct _xmlEnumeration    *next;	/* next one */
 255 |     const xmlChar            *name;	/* Enumeration name */
 256 | };
 257 | 
 258 | /**
 259 |  * xmlAttribute:
 260 |  *
 261 |  * An Attribute declaration in a DTD.
 262 |  */
 263 | 
 264 | typedef struct _xmlAttribute xmlAttribute;
 265 | typedef xmlAttribute *xmlAttributePtr;
 266 | struct _xmlAttribute {
 267 |     void           *_private;	        /* application data */
 268 |     xmlElementType          type;       /* XML_ATTRIBUTE_DECL, must be second ! */
 269 |     const xmlChar          *name;	/* Attribute name */
 270 |     struct _xmlNode    *children;	/* NULL */
 271 |     struct _xmlNode        *last;	/* NULL */
 272 |     struct _xmlDtd       *parent;	/* -> DTD */
 273 |     struct _xmlNode        *next;	/* next sibling link  */
 274 |     struct _xmlNode        *prev;	/* previous sibling link  */
 275 |     struct _xmlDoc          *doc;       /* the containing document */
 276 | 
 277 |     struct _xmlAttribute  *nexth;	/* next in hash table */
 278 |     xmlAttributeType       atype;	/* The attribute type */
 279 |     xmlAttributeDefault      def;	/* the default */
 280 |     const xmlChar  *defaultValue;	/* or the default value */
 281 |     xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
 282 |     const xmlChar        *prefix;	/* the namespace prefix if any */
 283 |     const xmlChar          *elem;	/* Element holding the attribute */
 284 | };
 285 | 
 286 | /**
 287 |  * xmlElementContentType:
 288 |  *
 289 |  * Possible definitions of element content types.
 290 |  */
 291 | typedef enum {
 292 |     XML_ELEMENT_CONTENT_PCDATA = 1,
 293 |     XML_ELEMENT_CONTENT_ELEMENT,
 294 |     XML_ELEMENT_CONTENT_SEQ,
 295 |     XML_ELEMENT_CONTENT_OR
 296 | } xmlElementContentType;
 297 | 
 298 | /**
 299 |  * xmlElementContentOccur:
 300 |  *
 301 |  * Possible definitions of element content occurrences.
 302 |  */
 303 | typedef enum {
 304 |     XML_ELEMENT_CONTENT_ONCE = 1,
 305 |     XML_ELEMENT_CONTENT_OPT,
 306 |     XML_ELEMENT_CONTENT_MULT,
 307 |     XML_ELEMENT_CONTENT_PLUS
 308 | } xmlElementContentOccur;
 309 | 
 310 | /**
 311 |  * xmlElementContent:
 312 |  *
 313 |  * An XML Element content as stored after parsing an element definition
 314 |  * in a DTD.
 315 |  */
 316 | 
 317 | typedef struct _xmlElementContent xmlElementContent;
 318 | typedef xmlElementContent *xmlElementContentPtr;
 319 | struct _xmlElementContent {
 320 |     xmlElementContentType     type;	/* PCDATA, ELEMENT, SEQ or OR */
 321 |     xmlElementContentOccur    ocur;	/* ONCE, OPT, MULT or PLUS */
 322 |     const xmlChar             *name;	/* Element name */
 323 |     struct _xmlElementContent *c1;	/* first child */
 324 |     struct _xmlElementContent *c2;	/* second child */
 325 |     struct _xmlElementContent *parent;	/* parent */
 326 |     const xmlChar             *prefix;	/* Namespace prefix */
 327 | };
 328 | 
 329 | /**
 330 |  * xmlElementTypeVal:
 331 |  *
 332 |  * The different possibilities for an element content type.
 333 |  */
 334 | 
 335 | typedef enum {
 336 |     XML_ELEMENT_TYPE_UNDEFINED = 0,
 337 |     XML_ELEMENT_TYPE_EMPTY = 1,
 338 |     XML_ELEMENT_TYPE_ANY,
 339 |     XML_ELEMENT_TYPE_MIXED,
 340 |     XML_ELEMENT_TYPE_ELEMENT
 341 | } xmlElementTypeVal;
 342 | 
 343 | /**
 344 |  * xmlElement:
 345 |  *
 346 |  * An XML Element declaration from a DTD.
 347 |  */
 348 | 
 349 | typedef struct _xmlElement xmlElement;
 350 | typedef xmlElement *xmlElementPtr;
 351 | struct _xmlElement {
 352 |     void           *_private;	        /* application data */
 353 |     xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
 354 |     const xmlChar          *name;	/* Element name */
 355 |     struct _xmlNode    *children;	/* NULL */
 356 |     struct _xmlNode        *last;	/* NULL */
 357 |     struct _xmlDtd       *parent;	/* -> DTD */
 358 |     struct _xmlNode        *next;	/* next sibling link  */
 359 |     struct _xmlNode        *prev;	/* previous sibling link  */
 360 |     struct _xmlDoc          *doc;       /* the containing document */
 361 | 
 362 |     xmlElementTypeVal      etype;	/* The type */
 363 |     xmlElementContentPtr content;	/* the allowed element content */
 364 |     xmlAttributePtr   attributes;	/* List of the declared attributes */
 365 |     const xmlChar        *prefix;	/* the namespace prefix if any */
 366 | #ifdef LIBXML_REGEXP_ENABLED
 367 |     xmlRegexpPtr       contModel;	/* the validating regexp */
 368 | #else
 369 |     void	      *contModel;
 370 | #endif
 371 | };
 372 | 
 373 | 
 374 | /**
 375 |  * XML_LOCAL_NAMESPACE:
 376 |  *
 377 |  * A namespace declaration node.
 378 |  */
 379 | #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
 380 | typedef xmlElementType xmlNsType;
 381 | 
 382 | /**
 383 |  * xmlNs:
 384 |  *
 385 |  * An XML namespace.
 386 |  * Note that prefix == NULL is valid, it defines the default namespace
 387 |  * within the subtree (until overridden).
 388 |  *
 389 |  * xmlNsType is unified with xmlElementType.
 390 |  */
 391 | 
 392 | typedef struct _xmlNs xmlNs;
 393 | typedef xmlNs *xmlNsPtr;
 394 | struct _xmlNs {
 395 |     struct _xmlNs  *next;	/* next Ns link for this node  */
 396 |     xmlNsType      type;	/* global or local */
 397 |     const xmlChar *href;	/* URL for the namespace */
 398 |     const xmlChar *prefix;	/* prefix for the namespace */
 399 |     void           *_private;   /* application data */
 400 |     struct _xmlDoc *context;		/* normally an xmlDoc */
 401 | };
 402 | 
 403 | /**
 404 |  * xmlDtd:
 405 |  *
 406 |  * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
 407 |  * the internal subset and for the external subset.
 408 |  */
 409 | typedef struct _xmlDtd xmlDtd;
 410 | typedef xmlDtd *xmlDtdPtr;
 411 | struct _xmlDtd {
 412 |     void           *_private;	/* application data */
 413 |     xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
 414 |     const xmlChar *name;	/* Name of the DTD */
 415 |     struct _xmlNode *children;	/* the value of the property link */
 416 |     struct _xmlNode *last;	/* last child link */
 417 |     struct _xmlDoc  *parent;	/* child->parent link */
 418 |     struct _xmlNode *next;	/* next sibling link  */
 419 |     struct _xmlNode *prev;	/* previous sibling link  */
 420 |     struct _xmlDoc  *doc;	/* the containing document */
 421 | 
 422 |     /* End of common part */
 423 |     void          *notations;   /* Hash table for notations if any */
 424 |     void          *elements;    /* Hash table for elements if any */
 425 |     void          *attributes;  /* Hash table for attributes if any */
 426 |     void          *entities;    /* Hash table for entities if any */
 427 |     const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
 428 |     const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
 429 |     void          *pentities;   /* Hash table for param entities if any */
 430 | };
 431 | 
 432 | /**
 433 |  * xmlAttr:
 434 |  *
 435 |  * An attribute on an XML node.
 436 |  */
 437 | typedef struct _xmlAttr xmlAttr;
 438 | typedef xmlAttr *xmlAttrPtr;
 439 | struct _xmlAttr {
 440 |     void           *_private;	/* application data */
 441 |     xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
 442 |     const xmlChar   *name;      /* the name of the property */
 443 |     struct _xmlNode *children;	/* the value of the property */
 444 |     struct _xmlNode *last;	/* NULL */
 445 |     struct _xmlNode *parent;	/* child->parent link */
 446 |     struct _xmlAttr *next;	/* next sibling link  */
 447 |     struct _xmlAttr *prev;	/* previous sibling link  */
 448 |     struct _xmlDoc  *doc;	/* the containing document */
 449 |     xmlNs           *ns;        /* pointer to the associated namespace */
 450 |     xmlAttributeType atype;     /* the attribute type if validating */
 451 |     void            *psvi;	/* for type/PSVI information */
 452 | };
 453 | 
 454 | /**
 455 |  * xmlID:
 456 |  *
 457 |  * An XML ID instance.
 458 |  */
 459 | 
 460 | typedef struct _xmlID xmlID;
 461 | typedef xmlID *xmlIDPtr;
 462 | struct _xmlID {
 463 |     struct _xmlID    *next;	/* next ID */
 464 |     const xmlChar    *value;	/* The ID name */
 465 |     xmlAttrPtr        attr;	/* The attribute holding it */
 466 |     const xmlChar    *name;	/* The attribute if attr is not available */
 467 |     int               lineno;	/* The line number if attr is not available */
 468 |     struct _xmlDoc   *doc;	/* The document holding the ID */
 469 | };
 470 | 
 471 | /**
 472 |  * xmlRef:
 473 |  *
 474 |  * An XML IDREF instance.
 475 |  */
 476 | 
 477 | typedef struct _xmlRef xmlRef;
 478 | typedef xmlRef *xmlRefPtr;
 479 | struct _xmlRef {
 480 |     struct _xmlRef    *next;	/* next Ref */
 481 |     const xmlChar     *value;	/* The Ref name */
 482 |     xmlAttrPtr        attr;	/* The attribute holding it */
 483 |     const xmlChar    *name;	/* The attribute if attr is not available */
 484 |     int               lineno;	/* The line number if attr is not available */
 485 | };
 486 | 
 487 | /**
 488 |  * xmlNode:
 489 |  *
 490 |  * A node in an XML tree.
 491 |  */
 492 | typedef struct _xmlNode xmlNode;
 493 | typedef xmlNode *xmlNodePtr;
 494 | struct _xmlNode {
 495 |     void           *_private;	/* application data */
 496 |     xmlElementType   type;	/* type number, must be second ! */
 497 |     const xmlChar   *name;      /* the name of the node, or the entity */
 498 |     struct _xmlNode *children;	/* parent->childs link */
 499 |     struct _xmlNode *last;	/* last child link */
 500 |     struct _xmlNode *parent;	/* child->parent link */
 501 |     struct _xmlNode *next;	/* next sibling link  */
 502 |     struct _xmlNode *prev;	/* previous sibling link  */
 503 |     struct _xmlDoc  *doc;	/* the containing document */
 504 | 
 505 |     /* End of common part */
 506 |     xmlNs           *ns;        /* pointer to the associated namespace */
 507 |     xmlChar         *content;   /* the content */
 508 |     struct _xmlAttr *properties;/* properties list */
 509 |     xmlNs           *nsDef;     /* namespace definitions on this node */
 510 |     void            *psvi;	/* for type/PSVI information */
 511 |     unsigned short   line;	/* line number */
 512 |     unsigned short   extra;	/* extra data for XPath/XSLT */
 513 | };
 514 | 
 515 | /**
 516 |  * XML_GET_CONTENT:
 517 |  *
 518 |  * Macro to extract the content pointer of a node.
 519 |  */
 520 | #define XML_GET_CONTENT(n)					\
 521 |     ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
 522 | 
 523 | /**
 524 |  * XML_GET_LINE:
 525 |  *
 526 |  * Macro to extract the line number of an element node.
 527 |  */
 528 | #define XML_GET_LINE(n)						\
 529 |     (xmlGetLineNo(n))
 530 | 
 531 | /**
 532 |  * xmlDocProperty
 533 |  *
 534 |  * Set of properties of the document as found by the parser
 535 |  * Some of them are linked to similarly named xmlParserOption
 536 |  */
 537 | typedef enum {
 538 |     XML_DOC_WELLFORMED		= 1<<0, /* document is XML well formed */
 539 |     XML_DOC_NSVALID		= 1<<1, /* document is Namespace valid */
 540 |     XML_DOC_OLD10		= 1<<2, /* parsed with old XML-1.0 parser */
 541 |     XML_DOC_DTDVALID		= 1<<3, /* DTD validation was successful */
 542 |     XML_DOC_XINCLUDE		= 1<<4, /* XInclude substitution was done */
 543 |     XML_DOC_USERBUILT		= 1<<5, /* Document was built using the API
 544 |                                            and not by parsing an instance */
 545 |     XML_DOC_INTERNAL		= 1<<6, /* built for internal processing */
 546 |     XML_DOC_HTML		= 1<<7  /* parsed or built HTML document */
 547 | } xmlDocProperties;
 548 | 
 549 | /**
 550 |  * xmlDoc:
 551 |  *
 552 |  * An XML document.
 553 |  */
 554 | typedef struct _xmlDoc xmlDoc;
 555 | typedef xmlDoc *xmlDocPtr;
 556 | struct _xmlDoc {
 557 |     void           *_private;	/* application data */
 558 |     xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
 559 |     char           *name;	/* name/filename/URI of the document */
 560 |     struct _xmlNode *children;	/* the document tree */
 561 |     struct _xmlNode *last;	/* last child link */
 562 |     struct _xmlNode *parent;	/* child->parent link */
 563 |     struct _xmlNode *next;	/* next sibling link  */
 564 |     struct _xmlNode *prev;	/* previous sibling link  */
 565 |     struct _xmlDoc  *doc;	/* autoreference to itself */
 566 | 
 567 |     /* End of common part */
 568 |     int             compression;/* level of zlib compression */
 569 |     int             standalone; /* standalone document (no external refs)
 570 | 				     1 if standalone="yes"
 571 | 				     0 if standalone="no"
 572 | 				    -1 if there is no XML declaration
 573 | 				    -2 if there is an XML declaration, but no
 574 | 					standalone attribute was specified */
 575 |     struct _xmlDtd  *intSubset;	/* the document internal subset */
 576 |     struct _xmlDtd  *extSubset;	/* the document external subset */
 577 |     struct _xmlNs   *oldNs;	/* Global namespace, the old way */
 578 |     const xmlChar  *version;	/* the XML version string */
 579 |     const xmlChar  *encoding;   /* actual encoding, if any */
 580 |     void           *ids;        /* Hash table for ID attributes if any */
 581 |     void           *refs;       /* Hash table for IDREFs attributes if any */
 582 |     const xmlChar  *URL;	/* The URI for that document */
 583 |     int             charset;    /* unused */
 584 |     struct _xmlDict *dict;      /* dict used to allocate names or NULL */
 585 |     void           *psvi;	/* for type/PSVI information */
 586 |     int             parseFlags;	/* set of xmlParserOption used to parse the
 587 | 				   document */
 588 |     int             properties;	/* set of xmlDocProperties for this document
 589 | 				   set at the end of parsing */
 590 | };
 591 | 
 592 | 
 593 | typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt;
 594 | typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;
 595 | 
 596 | /**
 597 |  * xmlDOMWrapAcquireNsFunction:
 598 |  * @ctxt:  a DOM wrapper context
 599 |  * @node:  the context node (element or attribute)
 600 |  * @nsName:  the requested namespace name
 601 |  * @nsPrefix:  the requested namespace prefix
 602 |  *
 603 |  * A function called to acquire namespaces (xmlNs) from the wrapper.
 604 |  *
 605 |  * Returns an xmlNsPtr or NULL in case of an error.
 606 |  */
 607 | typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt,
 608 | 						 xmlNodePtr node,
 609 | 						 const xmlChar *nsName,
 610 | 						 const xmlChar *nsPrefix);
 611 | 
 612 | /**
 613 |  * xmlDOMWrapCtxt:
 614 |  *
 615 |  * Context for DOM wrapper-operations.
 616 |  */
 617 | struct _xmlDOMWrapCtxt {
 618 |     void * _private;
 619 |     /*
 620 |     * The type of this context, just in case we need specialized
 621 |     * contexts in the future.
 622 |     */
 623 |     int type;
 624 |     /*
 625 |     * Internal namespace map used for various operations.
 626 |     */
 627 |     void * namespaceMap;
 628 |     /*
 629 |     * Use this one to acquire an xmlNsPtr intended for node->ns.
 630 |     * (Note that this is not intended for elem->nsDef).
 631 |     */
 632 |     xmlDOMWrapAcquireNsFunction getNsForNodeFunc;
 633 | };
 634 | 
 635 | /**
 636 |  * xmlRegisterNodeFunc:
 637 |  * @node: the current node
 638 |  *
 639 |  * Signature for the registration callback of a created node
 640 |  */
 641 | typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
 642 | 
 643 | /**
 644 |  * xmlDeregisterNodeFunc:
 645 |  * @node: the current node
 646 |  *
 647 |  * Signature for the deregistration callback of a discarded node
 648 |  */
 649 | typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
 650 | 
 651 | /**
 652 |  * xmlChildrenNode:
 653 |  *
 654 |  * Macro for compatibility naming layer with libxml1. Maps
 655 |  * to "children."
 656 |  */
 657 | #ifndef xmlChildrenNode
 658 | #define xmlChildrenNode children
 659 | #endif
 660 | 
 661 | /**
 662 |  * xmlRootNode:
 663 |  *
 664 |  * Macro for compatibility naming layer with libxml1. Maps
 665 |  * to "children".
 666 |  */
 667 | #ifndef xmlRootNode
 668 | #define xmlRootNode children
 669 | #endif
 670 | 
 671 | /*
 672 |  * Variables.
 673 |  */
 674 | 
 675 | /** DOC_DISABLE */
 676 | #define XML_GLOBALS_TREE \
 677 |   XML_OP(xmlBufferAllocScheme, xmlBufferAllocationScheme, XML_DEPRECATED) \
 678 |   XML_OP(xmlDefaultBufferSize, int, XML_DEPRECATED) \
 679 |   XML_OP(xmlRegisterNodeDefaultValue, xmlRegisterNodeFunc, XML_DEPRECATED) \
 680 |   XML_OP(xmlDeregisterNodeDefaultValue, xmlDeregisterNodeFunc, \
 681 |          XML_DEPRECATED)
 682 | 
 683 | #define XML_OP XML_DECLARE_GLOBAL
 684 | XML_GLOBALS_TREE
 685 | #undef XML_OP
 686 | 
 687 | #if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION)
 688 |   #define xmlBufferAllocScheme XML_GLOBAL_MACRO(xmlBufferAllocScheme)
 689 |   #define xmlDefaultBufferSize XML_GLOBAL_MACRO(xmlDefaultBufferSize)
 690 |   #define xmlRegisterNodeDefaultValue \
 691 |     XML_GLOBAL_MACRO(xmlRegisterNodeDefaultValue)
 692 |   #define xmlDeregisterNodeDefaultValue \
 693 |     XML_GLOBAL_MACRO(xmlDeregisterNodeDefaultValue)
 694 | #endif
 695 | /** DOC_ENABLE */
 696 | 
 697 | /*
 698 |  * Some helper functions
 699 |  */
 700 | XMLPUBFUN int
 701 | 		xmlValidateNCName	(const xmlChar *value,
 702 | 					 int space);
 703 | 
 704 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 705 | XMLPUBFUN int
 706 | 		xmlValidateQName	(const xmlChar *value,
 707 | 					 int space);
 708 | XMLPUBFUN int
 709 | 		xmlValidateName		(const xmlChar *value,
 710 | 					 int space);
 711 | XMLPUBFUN int
 712 | 		xmlValidateNMToken	(const xmlChar *value,
 713 | 					 int space);
 714 | #endif
 715 | 
 716 | XMLPUBFUN xmlChar *
 717 | 		xmlBuildQName		(const xmlChar *ncname,
 718 | 					 const xmlChar *prefix,
 719 | 					 xmlChar *memory,
 720 | 					 int len);
 721 | XMLPUBFUN xmlChar *
 722 | 		xmlSplitQName2		(const xmlChar *name,
 723 | 					 xmlChar **prefix);
 724 | XMLPUBFUN const xmlChar *
 725 | 		xmlSplitQName3		(const xmlChar *name,
 726 | 					 int *len);
 727 | 
 728 | /*
 729 |  * Handling Buffers, the old ones see @xmlBuf for the new ones.
 730 |  */
 731 | 
 732 | XMLPUBFUN void
 733 | 		xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
 734 | XMLPUBFUN xmlBufferAllocationScheme
 735 | 		xmlGetBufferAllocationScheme(void);
 736 | 
 737 | XMLPUBFUN xmlBufferPtr
 738 | 		xmlBufferCreate		(void);
 739 | XMLPUBFUN xmlBufferPtr
 740 | 		xmlBufferCreateSize	(size_t size);
 741 | XMLPUBFUN xmlBufferPtr
 742 | 		xmlBufferCreateStatic	(void *mem,
 743 | 					 size_t size);
 744 | XMLPUBFUN int
 745 | 		xmlBufferResize		(xmlBufferPtr buf,
 746 | 					 unsigned int size);
 747 | XMLPUBFUN void
 748 | 		xmlBufferFree		(xmlBufferPtr buf);
 749 | XMLPUBFUN int
 750 | 		xmlBufferDump		(FILE *file,
 751 | 					 xmlBufferPtr buf);
 752 | XMLPUBFUN int
 753 | 		xmlBufferAdd		(xmlBufferPtr buf,
 754 | 					 const xmlChar *str,
 755 | 					 int len);
 756 | XMLPUBFUN int
 757 | 		xmlBufferAddHead	(xmlBufferPtr buf,
 758 | 					 const xmlChar *str,
 759 | 					 int len);
 760 | XMLPUBFUN int
 761 | 		xmlBufferCat		(xmlBufferPtr buf,
 762 | 					 const xmlChar *str);
 763 | XMLPUBFUN int
 764 | 		xmlBufferCCat		(xmlBufferPtr buf,
 765 | 					 const char *str);
 766 | XMLPUBFUN int
 767 | 		xmlBufferShrink		(xmlBufferPtr buf,
 768 | 					 unsigned int len);
 769 | XMLPUBFUN int
 770 | 		xmlBufferGrow		(xmlBufferPtr buf,
 771 | 					 unsigned int len);
 772 | XMLPUBFUN void
 773 | 		xmlBufferEmpty		(xmlBufferPtr buf);
 774 | XMLPUBFUN const xmlChar*
 775 | 		xmlBufferContent	(const xmlBuffer *buf);
 776 | XMLPUBFUN xmlChar*
 777 | 		xmlBufferDetach         (xmlBufferPtr buf);
 778 | XMLPUBFUN void
 779 | 		xmlBufferSetAllocationScheme(xmlBufferPtr buf,
 780 | 					 xmlBufferAllocationScheme scheme);
 781 | XMLPUBFUN int
 782 | 		xmlBufferLength		(const xmlBuffer *buf);
 783 | 
 784 | /*
 785 |  * Creating/freeing new structures.
 786 |  */
 787 | XMLPUBFUN xmlDtdPtr
 788 | 		xmlCreateIntSubset	(xmlDocPtr doc,
 789 | 					 const xmlChar *name,
 790 | 					 const xmlChar *ExternalID,
 791 | 					 const xmlChar *SystemID);
 792 | XMLPUBFUN xmlDtdPtr
 793 | 		xmlNewDtd		(xmlDocPtr doc,
 794 | 					 const xmlChar *name,
 795 | 					 const xmlChar *ExternalID,
 796 | 					 const xmlChar *SystemID);
 797 | XMLPUBFUN xmlDtdPtr
 798 | 		xmlGetIntSubset		(const xmlDoc *doc);
 799 | XMLPUBFUN void
 800 | 		xmlFreeDtd		(xmlDtdPtr cur);
 801 | #ifdef LIBXML_LEGACY_ENABLED
 802 | XML_DEPRECATED
 803 | XMLPUBFUN xmlNsPtr
 804 | 		xmlNewGlobalNs		(xmlDocPtr doc,
 805 | 					 const xmlChar *href,
 806 | 					 const xmlChar *prefix);
 807 | #endif /* LIBXML_LEGACY_ENABLED */
 808 | XMLPUBFUN xmlNsPtr
 809 | 		xmlNewNs		(xmlNodePtr node,
 810 | 					 const xmlChar *href,
 811 | 					 const xmlChar *prefix);
 812 | XMLPUBFUN void
 813 | 		xmlFreeNs		(xmlNsPtr cur);
 814 | XMLPUBFUN void
 815 | 		xmlFreeNsList		(xmlNsPtr cur);
 816 | XMLPUBFUN xmlDocPtr
 817 | 		xmlNewDoc		(const xmlChar *version);
 818 | XMLPUBFUN void
 819 | 		xmlFreeDoc		(xmlDocPtr cur);
 820 | XMLPUBFUN xmlAttrPtr
 821 | 		xmlNewDocProp		(xmlDocPtr doc,
 822 | 					 const xmlChar *name,
 823 | 					 const xmlChar *value);
 824 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
 825 |     defined(LIBXML_SCHEMAS_ENABLED)
 826 | XMLPUBFUN xmlAttrPtr
 827 | 		xmlNewProp		(xmlNodePtr node,
 828 | 					 const xmlChar *name,
 829 | 					 const xmlChar *value);
 830 | #endif
 831 | XMLPUBFUN xmlAttrPtr
 832 | 		xmlNewNsProp		(xmlNodePtr node,
 833 | 					 xmlNsPtr ns,
 834 | 					 const xmlChar *name,
 835 | 					 const xmlChar *value);
 836 | XMLPUBFUN xmlAttrPtr
 837 | 		xmlNewNsPropEatName	(xmlNodePtr node,
 838 | 					 xmlNsPtr ns,
 839 | 					 xmlChar *name,
 840 | 					 const xmlChar *value);
 841 | XMLPUBFUN void
 842 | 		xmlFreePropList		(xmlAttrPtr cur);
 843 | XMLPUBFUN void
 844 | 		xmlFreeProp		(xmlAttrPtr cur);
 845 | XMLPUBFUN xmlAttrPtr
 846 | 		xmlCopyProp		(xmlNodePtr target,
 847 | 					 xmlAttrPtr cur);
 848 | XMLPUBFUN xmlAttrPtr
 849 | 		xmlCopyPropList		(xmlNodePtr target,
 850 | 					 xmlAttrPtr cur);
 851 | #ifdef LIBXML_TREE_ENABLED
 852 | XMLPUBFUN xmlDtdPtr
 853 | 		xmlCopyDtd		(xmlDtdPtr dtd);
 854 | #endif /* LIBXML_TREE_ENABLED */
 855 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 856 | XMLPUBFUN xmlDocPtr
 857 | 		xmlCopyDoc		(xmlDocPtr doc,
 858 | 					 int recursive);
 859 | #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
 860 | /*
 861 |  * Creating new nodes.
 862 |  */
 863 | XMLPUBFUN xmlNodePtr
 864 | 		xmlNewDocNode		(xmlDocPtr doc,
 865 | 					 xmlNsPtr ns,
 866 | 					 const xmlChar *name,
 867 | 					 const xmlChar *content);
 868 | XMLPUBFUN xmlNodePtr
 869 | 		xmlNewDocNodeEatName	(xmlDocPtr doc,
 870 | 					 xmlNsPtr ns,
 871 | 					 xmlChar *name,
 872 | 					 const xmlChar *content);
 873 | XMLPUBFUN xmlNodePtr
 874 | 		xmlNewNode		(xmlNsPtr ns,
 875 | 					 const xmlChar *name);
 876 | XMLPUBFUN xmlNodePtr
 877 | 		xmlNewNodeEatName	(xmlNsPtr ns,
 878 | 					 xmlChar *name);
 879 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
 880 | XMLPUBFUN xmlNodePtr
 881 | 		xmlNewChild		(xmlNodePtr parent,
 882 | 					 xmlNsPtr ns,
 883 | 					 const xmlChar *name,
 884 | 					 const xmlChar *content);
 885 | #endif
 886 | XMLPUBFUN xmlNodePtr
 887 | 		xmlNewDocText		(const xmlDoc *doc,
 888 | 					 const xmlChar *content);
 889 | XMLPUBFUN xmlNodePtr
 890 | 		xmlNewText		(const xmlChar *content);
 891 | XMLPUBFUN xmlNodePtr
 892 | 		xmlNewDocPI		(xmlDocPtr doc,
 893 | 					 const xmlChar *name,
 894 | 					 const xmlChar *content);
 895 | XMLPUBFUN xmlNodePtr
 896 | 		xmlNewPI		(const xmlChar *name,
 897 | 					 const xmlChar *content);
 898 | XMLPUBFUN xmlNodePtr
 899 | 		xmlNewDocTextLen	(xmlDocPtr doc,
 900 | 					 const xmlChar *content,
 901 | 					 int len);
 902 | XMLPUBFUN xmlNodePtr
 903 | 		xmlNewTextLen		(const xmlChar *content,
 904 | 					 int len);
 905 | XMLPUBFUN xmlNodePtr
 906 | 		xmlNewDocComment	(xmlDocPtr doc,
 907 | 					 const xmlChar *content);
 908 | XMLPUBFUN xmlNodePtr
 909 | 		xmlNewComment		(const xmlChar *content);
 910 | XMLPUBFUN xmlNodePtr
 911 | 		xmlNewCDataBlock	(xmlDocPtr doc,
 912 | 					 const xmlChar *content,
 913 | 					 int len);
 914 | XMLPUBFUN xmlNodePtr
 915 | 		xmlNewCharRef		(xmlDocPtr doc,
 916 | 					 const xmlChar *name);
 917 | XMLPUBFUN xmlNodePtr
 918 | 		xmlNewReference		(const xmlDoc *doc,
 919 | 					 const xmlChar *name);
 920 | XMLPUBFUN xmlNodePtr
 921 | 		xmlCopyNode		(xmlNodePtr node,
 922 | 					 int recursive);
 923 | XMLPUBFUN xmlNodePtr
 924 | 		xmlDocCopyNode		(xmlNodePtr node,
 925 | 					 xmlDocPtr doc,
 926 | 					 int recursive);
 927 | XMLPUBFUN xmlNodePtr
 928 | 		xmlDocCopyNodeList	(xmlDocPtr doc,
 929 | 					 xmlNodePtr node);
 930 | XMLPUBFUN xmlNodePtr
 931 | 		xmlCopyNodeList		(xmlNodePtr node);
 932 | #ifdef LIBXML_TREE_ENABLED
 933 | XMLPUBFUN xmlNodePtr
 934 | 		xmlNewTextChild		(xmlNodePtr parent,
 935 | 					 xmlNsPtr ns,
 936 | 					 const xmlChar *name,
 937 | 					 const xmlChar *content);
 938 | XMLPUBFUN xmlNodePtr
 939 | 		xmlNewDocRawNode	(xmlDocPtr doc,
 940 | 					 xmlNsPtr ns,
 941 | 					 const xmlChar *name,
 942 | 					 const xmlChar *content);
 943 | XMLPUBFUN xmlNodePtr
 944 | 		xmlNewDocFragment	(xmlDocPtr doc);
 945 | #endif /* LIBXML_TREE_ENABLED */
 946 | 
 947 | /*
 948 |  * Navigating.
 949 |  */
 950 | XMLPUBFUN long
 951 | 		xmlGetLineNo		(const xmlNode *node);
 952 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
 953 | XMLPUBFUN xmlChar *
 954 | 		xmlGetNodePath		(const xmlNode *node);
 955 | #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
 956 | XMLPUBFUN xmlNodePtr
 957 | 		xmlDocGetRootElement	(const xmlDoc *doc);
 958 | XMLPUBFUN xmlNodePtr
 959 | 		xmlGetLastChild		(const xmlNode *parent);
 960 | XMLPUBFUN int
 961 | 		xmlNodeIsText		(const xmlNode *node);
 962 | XMLPUBFUN int
 963 | 		xmlIsBlankNode		(const xmlNode *node);
 964 | 
 965 | /*
 966 |  * Changing the structure.
 967 |  */
 968 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
 969 | XMLPUBFUN xmlNodePtr
 970 | 		xmlDocSetRootElement	(xmlDocPtr doc,
 971 | 					 xmlNodePtr root);
 972 | #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
 973 | #ifdef LIBXML_TREE_ENABLED
 974 | XMLPUBFUN void
 975 | 		xmlNodeSetName		(xmlNodePtr cur,
 976 | 					 const xmlChar *name);
 977 | #endif /* LIBXML_TREE_ENABLED */
 978 | XMLPUBFUN xmlNodePtr
 979 | 		xmlAddChild		(xmlNodePtr parent,
 980 | 					 xmlNodePtr cur);
 981 | XMLPUBFUN xmlNodePtr
 982 | 		xmlAddChildList		(xmlNodePtr parent,
 983 | 					 xmlNodePtr cur);
 984 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
 985 | XMLPUBFUN xmlNodePtr
 986 | 		xmlReplaceNode		(xmlNodePtr old,
 987 | 					 xmlNodePtr cur);
 988 | #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
 989 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
 990 |     defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
 991 | XMLPUBFUN xmlNodePtr
 992 | 		xmlAddPrevSibling	(xmlNodePtr cur,
 993 | 					 xmlNodePtr elem);
 994 | #endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */
 995 | XMLPUBFUN xmlNodePtr
 996 | 		xmlAddSibling		(xmlNodePtr cur,
 997 | 					 xmlNodePtr elem);
 998 | XMLPUBFUN xmlNodePtr
 999 | 		xmlAddNextSibling	(xmlNodePtr cur,
1000 | 					 xmlNodePtr elem);
1001 | XMLPUBFUN void
1002 | 		xmlUnlinkNode		(xmlNodePtr cur);
1003 | XMLPUBFUN xmlNodePtr
1004 | 		xmlTextMerge		(xmlNodePtr first,
1005 | 					 xmlNodePtr second);
1006 | XMLPUBFUN int
1007 | 		xmlTextConcat		(xmlNodePtr node,
1008 | 					 const xmlChar *content,
1009 | 					 int len);
1010 | XMLPUBFUN void
1011 | 		xmlFreeNodeList		(xmlNodePtr cur);
1012 | XMLPUBFUN void
1013 | 		xmlFreeNode		(xmlNodePtr cur);
1014 | XMLPUBFUN void
1015 | 		xmlSetTreeDoc		(xmlNodePtr tree,
1016 | 					 xmlDocPtr doc);
1017 | XMLPUBFUN void
1018 | 		xmlSetListDoc		(xmlNodePtr list,
1019 | 					 xmlDocPtr doc);
1020 | /*
1021 |  * Namespaces.
1022 |  */
1023 | XMLPUBFUN xmlNsPtr
1024 | 		xmlSearchNs		(xmlDocPtr doc,
1025 | 					 xmlNodePtr node,
1026 | 					 const xmlChar *nameSpace);
1027 | XMLPUBFUN xmlNsPtr
1028 | 		xmlSearchNsByHref	(xmlDocPtr doc,
1029 | 					 xmlNodePtr node,
1030 | 					 const xmlChar *href);
1031 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
1032 |     defined(LIBXML_SCHEMAS_ENABLED)
1033 | XMLPUBFUN xmlNsPtr *
1034 | 		xmlGetNsList		(const xmlDoc *doc,
1035 | 					 const xmlNode *node);
1036 | #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */
1037 | 
1038 | XMLPUBFUN void
1039 | 		xmlSetNs		(xmlNodePtr node,
1040 | 					 xmlNsPtr ns);
1041 | XMLPUBFUN xmlNsPtr
1042 | 		xmlCopyNamespace	(xmlNsPtr cur);
1043 | XMLPUBFUN xmlNsPtr
1044 | 		xmlCopyNamespaceList	(xmlNsPtr cur);
1045 | 
1046 | /*
1047 |  * Changing the content.
1048 |  */
1049 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
1050 |     defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
1051 | XMLPUBFUN xmlAttrPtr
1052 | 		xmlSetProp		(xmlNodePtr node,
1053 | 					 const xmlChar *name,
1054 | 					 const xmlChar *value);
1055 | XMLPUBFUN xmlAttrPtr
1056 | 		xmlSetNsProp		(xmlNodePtr node,
1057 | 					 xmlNsPtr ns,
1058 | 					 const xmlChar *name,
1059 | 					 const xmlChar *value);
1060 | #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
1061 | 	  defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
1062 | XMLPUBFUN xmlChar *
1063 | 		xmlGetNoNsProp		(const xmlNode *node,
1064 | 					 const xmlChar *name);
1065 | XMLPUBFUN xmlChar *
1066 | 		xmlGetProp		(const xmlNode *node,
1067 | 					 const xmlChar *name);
1068 | XMLPUBFUN xmlAttrPtr
1069 | 		xmlHasProp		(const xmlNode *node,
1070 | 					 const xmlChar *name);
1071 | XMLPUBFUN xmlAttrPtr
1072 | 		xmlHasNsProp		(const xmlNode *node,
1073 | 					 const xmlChar *name,
1074 | 					 const xmlChar *nameSpace);
1075 | XMLPUBFUN xmlChar *
1076 | 		xmlGetNsProp		(const xmlNode *node,
1077 | 					 const xmlChar *name,
1078 | 					 const xmlChar *nameSpace);
1079 | XMLPUBFUN xmlNodePtr
1080 | 		xmlStringGetNodeList	(const xmlDoc *doc,
1081 | 					 const xmlChar *value);
1082 | XMLPUBFUN xmlNodePtr
1083 | 		xmlStringLenGetNodeList	(const xmlDoc *doc,
1084 | 					 const xmlChar *value,
1085 | 					 int len);
1086 | XMLPUBFUN xmlChar *
1087 | 		xmlNodeListGetString	(xmlDocPtr doc,
1088 | 					 const xmlNode *list,
1089 | 					 int inLine);
1090 | #ifdef LIBXML_TREE_ENABLED
1091 | XMLPUBFUN xmlChar *
1092 | 		xmlNodeListGetRawString	(const xmlDoc *doc,
1093 | 					 const xmlNode *list,
1094 | 					 int inLine);
1095 | #endif /* LIBXML_TREE_ENABLED */
1096 | XMLPUBFUN void
1097 | 		xmlNodeSetContent	(xmlNodePtr cur,
1098 | 					 const xmlChar *content);
1099 | #ifdef LIBXML_TREE_ENABLED
1100 | XMLPUBFUN void
1101 | 		xmlNodeSetContentLen	(xmlNodePtr cur,
1102 | 					 const xmlChar *content,
1103 | 					 int len);
1104 | #endif /* LIBXML_TREE_ENABLED */
1105 | XMLPUBFUN void
1106 | 		xmlNodeAddContent	(xmlNodePtr cur,
1107 | 					 const xmlChar *content);
1108 | XMLPUBFUN void
1109 | 		xmlNodeAddContentLen	(xmlNodePtr cur,
1110 | 					 const xmlChar *content,
1111 | 					 int len);
1112 | XMLPUBFUN xmlChar *
1113 | 		xmlNodeGetContent	(const xmlNode *cur);
1114 | 
1115 | XMLPUBFUN int
1116 | 		xmlNodeBufGetContent	(xmlBufferPtr buffer,
1117 | 					 const xmlNode *cur);
1118 | XMLPUBFUN int
1119 | 		xmlBufGetNodeContent	(xmlBufPtr buf,
1120 | 					 const xmlNode *cur);
1121 | 
1122 | XMLPUBFUN xmlChar *
1123 | 		xmlNodeGetLang		(const xmlNode *cur);
1124 | XMLPUBFUN int
1125 | 		xmlNodeGetSpacePreserve	(const xmlNode *cur);
1126 | #ifdef LIBXML_TREE_ENABLED
1127 | XMLPUBFUN void
1128 | 		xmlNodeSetLang		(xmlNodePtr cur,
1129 | 					 const xmlChar *lang);
1130 | XMLPUBFUN void
1131 | 		xmlNodeSetSpacePreserve (xmlNodePtr cur,
1132 | 					 int val);
1133 | #endif /* LIBXML_TREE_ENABLED */
1134 | XMLPUBFUN xmlChar *
1135 | 		xmlNodeGetBase		(const xmlDoc *doc,
1136 | 					 const xmlNode *cur);
1137 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
1138 | XMLPUBFUN void
1139 | 		xmlNodeSetBase		(xmlNodePtr cur,
1140 | 					 const xmlChar *uri);
1141 | #endif
1142 | 
1143 | /*
1144 |  * Removing content.
1145 |  */
1146 | XMLPUBFUN int
1147 | 		xmlRemoveProp		(xmlAttrPtr cur);
1148 | #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
1149 | XMLPUBFUN int
1150 | 		xmlUnsetNsProp		(xmlNodePtr node,
1151 | 					 xmlNsPtr ns,
1152 | 					 const xmlChar *name);
1153 | XMLPUBFUN int
1154 | 		xmlUnsetProp		(xmlNodePtr node,
1155 | 					 const xmlChar *name);
1156 | #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
1157 | 
1158 | /*
1159 |  * Internal, don't use.
1160 |  */
1161 | XMLPUBFUN void
1162 | 		xmlBufferWriteCHAR	(xmlBufferPtr buf,
1163 | 					 const xmlChar *string);
1164 | XMLPUBFUN void
1165 | 		xmlBufferWriteChar	(xmlBufferPtr buf,
1166 | 					 const char *string);
1167 | XMLPUBFUN void
1168 | 		xmlBufferWriteQuotedString(xmlBufferPtr buf,
1169 | 					 const xmlChar *string);
1170 | 
1171 | #ifdef LIBXML_OUTPUT_ENABLED
1172 | XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
1173 | 					 xmlDocPtr doc,
1174 | 					 xmlAttrPtr attr,
1175 | 					 const xmlChar *string);
1176 | #endif /* LIBXML_OUTPUT_ENABLED */
1177 | 
1178 | #ifdef LIBXML_TREE_ENABLED
1179 | /*
1180 |  * Namespace handling.
1181 |  */
1182 | XMLPUBFUN int
1183 | 		xmlReconciliateNs	(xmlDocPtr doc,
1184 | 					 xmlNodePtr tree);
1185 | #endif
1186 | 
1187 | #ifdef LIBXML_OUTPUT_ENABLED
1188 | /*
1189 |  * Saving.
1190 |  */
1191 | XMLPUBFUN void
1192 | 		xmlDocDumpFormatMemory	(xmlDocPtr cur,
1193 | 					 xmlChar **mem,
1194 | 					 int *size,
1195 | 					 int format);
1196 | XMLPUBFUN void
1197 | 		xmlDocDumpMemory	(xmlDocPtr cur,
1198 | 					 xmlChar **mem,
1199 | 					 int *size);
1200 | XMLPUBFUN void
1201 | 		xmlDocDumpMemoryEnc	(xmlDocPtr out_doc,
1202 | 					 xmlChar **doc_txt_ptr,
1203 | 					 int * doc_txt_len,
1204 | 					 const char *txt_encoding);
1205 | XMLPUBFUN void
1206 | 		xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
1207 | 					 xmlChar **doc_txt_ptr,
1208 | 					 int * doc_txt_len,
1209 | 					 const char *txt_encoding,
1210 | 					 int format);
1211 | XMLPUBFUN int
1212 | 		xmlDocFormatDump	(FILE *f,
1213 | 					 xmlDocPtr cur,
1214 | 					 int format);
1215 | XMLPUBFUN int
1216 | 		xmlDocDump		(FILE *f,
1217 | 					 xmlDocPtr cur);
1218 | XMLPUBFUN void
1219 | 		xmlElemDump		(FILE *f,
1220 | 					 xmlDocPtr doc,
1221 | 					 xmlNodePtr cur);
1222 | XMLPUBFUN int
1223 | 		xmlSaveFile		(const char *filename,
1224 | 					 xmlDocPtr cur);
1225 | XMLPUBFUN int
1226 | 		xmlSaveFormatFile	(const char *filename,
1227 | 					 xmlDocPtr cur,
1228 | 					 int format);
1229 | XMLPUBFUN size_t
1230 | 		xmlBufNodeDump		(xmlBufPtr buf,
1231 | 					 xmlDocPtr doc,
1232 | 					 xmlNodePtr cur,
1233 | 					 int level,
1234 | 					 int format);
1235 | XMLPUBFUN int
1236 | 		xmlNodeDump		(xmlBufferPtr buf,
1237 | 					 xmlDocPtr doc,
1238 | 					 xmlNodePtr cur,
1239 | 					 int level,
1240 | 					 int format);
1241 | 
1242 | XMLPUBFUN int
1243 | 		xmlSaveFileTo		(xmlOutputBufferPtr buf,
1244 | 					 xmlDocPtr cur,
1245 | 					 const char *encoding);
1246 | XMLPUBFUN int
1247 | 		xmlSaveFormatFileTo     (xmlOutputBufferPtr buf,
1248 | 					 xmlDocPtr cur,
1249 | 				         const char *encoding,
1250 | 				         int format);
1251 | XMLPUBFUN void
1252 | 		xmlNodeDumpOutput	(xmlOutputBufferPtr buf,
1253 | 					 xmlDocPtr doc,
1254 | 					 xmlNodePtr cur,
1255 | 					 int level,
1256 | 					 int format,
1257 | 					 const char *encoding);
1258 | 
1259 | XMLPUBFUN int
1260 | 		xmlSaveFormatFileEnc    (const char *filename,
1261 | 					 xmlDocPtr cur,
1262 | 					 const char *encoding,
1263 | 					 int format);
1264 | 
1265 | XMLPUBFUN int
1266 | 		xmlSaveFileEnc		(const char *filename,
1267 | 					 xmlDocPtr cur,
1268 | 					 const char *encoding);
1269 | 
1270 | #endif /* LIBXML_OUTPUT_ENABLED */
1271 | /*
1272 |  * XHTML
1273 |  */
1274 | XMLPUBFUN int
1275 | 		xmlIsXHTML		(const xmlChar *systemID,
1276 | 					 const xmlChar *publicID);
1277 | 
1278 | /*
1279 |  * Compression.
1280 |  */
1281 | XMLPUBFUN int
1282 | 		xmlGetDocCompressMode	(const xmlDoc *doc);
1283 | XMLPUBFUN void
1284 | 		xmlSetDocCompressMode	(xmlDocPtr doc,
1285 | 					 int mode);
1286 | XMLPUBFUN int
1287 | 		xmlGetCompressMode	(void);
1288 | XMLPUBFUN void
1289 | 		xmlSetCompressMode	(int mode);
1290 | 
1291 | /*
1292 | * DOM-wrapper helper functions.
1293 | */
1294 | XMLPUBFUN xmlDOMWrapCtxtPtr
1295 | 		xmlDOMWrapNewCtxt	(void);
1296 | XMLPUBFUN void
1297 | 		xmlDOMWrapFreeCtxt	(xmlDOMWrapCtxtPtr ctxt);
1298 | XMLPUBFUN int
1299 | 	    xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
1300 | 					 xmlNodePtr elem,
1301 | 					 int options);
1302 | XMLPUBFUN int
1303 | 	    xmlDOMWrapAdoptNode		(xmlDOMWrapCtxtPtr ctxt,
1304 | 					 xmlDocPtr sourceDoc,
1305 | 					 xmlNodePtr node,
1306 | 					 xmlDocPtr destDoc,
1307 | 					 xmlNodePtr destParent,
1308 | 					 int options);
1309 | XMLPUBFUN int
1310 | 	    xmlDOMWrapRemoveNode	(xmlDOMWrapCtxtPtr ctxt,
1311 | 					 xmlDocPtr doc,
1312 | 					 xmlNodePtr node,
1313 | 					 int options);
1314 | XMLPUBFUN int
1315 | 	    xmlDOMWrapCloneNode		(xmlDOMWrapCtxtPtr ctxt,
1316 | 					 xmlDocPtr sourceDoc,
1317 | 					 xmlNodePtr node,
1318 | 					 xmlNodePtr *clonedNode,
1319 | 					 xmlDocPtr destDoc,
1320 | 					 xmlNodePtr destParent,
1321 | 					 int deep,
1322 | 					 int options);
1323 | 
1324 | #ifdef LIBXML_TREE_ENABLED
1325 | /*
1326 |  * 5 interfaces from DOM ElementTraversal, but different in entities
1327 |  * traversal.
1328 |  */
1329 | XMLPUBFUN unsigned long
1330 |             xmlChildElementCount        (xmlNodePtr parent);
1331 | XMLPUBFUN xmlNodePtr
1332 |             xmlNextElementSibling       (xmlNodePtr node);
1333 | XMLPUBFUN xmlNodePtr
1334 |             xmlFirstElementChild        (xmlNodePtr parent);
1335 | XMLPUBFUN xmlNodePtr
1336 |             xmlLastElementChild         (xmlNodePtr parent);
1337 | XMLPUBFUN xmlNodePtr
1338 |             xmlPreviousElementSibling   (xmlNodePtr node);
1339 | #endif
1340 | 
1341 | XMLPUBFUN xmlRegisterNodeFunc
1342 | 	    xmlRegisterNodeDefault	(xmlRegisterNodeFunc func);
1343 | XMLPUBFUN xmlDeregisterNodeFunc
1344 | 	    xmlDeregisterNodeDefault	(xmlDeregisterNodeFunc func);
1345 | XMLPUBFUN xmlRegisterNodeFunc
1346 |             xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
1347 | XMLPUBFUN xmlDeregisterNodeFunc
1348 |             xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
1349 | 
1350 | XML_DEPRECATED XMLPUBFUN xmlBufferAllocationScheme
1351 |             xmlThrDefBufferAllocScheme  (xmlBufferAllocationScheme v);
1352 | XML_DEPRECATED XMLPUBFUN int
1353 |             xmlThrDefDefaultBufferSize  (int v);
1354 | 
1355 | #ifdef __cplusplus
1356 | }
1357 | #endif
1358 | 
1359 | #endif /* __XML_TREE_H__ */
1360 | 
1361 | #endif /* XML_TREE_INTERNALS */
1362 | 
1363 | 
```
Page 120/168FirstPrevNextLast