python-netgear-switch-library 0.0.post347__tar.gz → 0.0.post348__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/PKG-INFO +1 -1
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/_version.py +2 -2
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/aio_api.py +15 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/snmp_write.py +61 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/sync_api.py +16 -3
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_capabilities.py +1 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/.github/workflows/ci.yml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/.github/workflows/deb.yml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/.github/workflows/publish-pypi.yml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/.gitignore +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/.readthedocs.yaml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/CLAUDE.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/LICENSE +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/README.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/RELEASING.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/debian/changelog +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/debian/control +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/debian/copyright +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/debian/rules +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/debian/source/format +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/Makefile +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_ext/filelinks.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_ext/support_tables.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_static/models/gs105pe.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_static/models/gs110emx.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_static/models/gs305ep.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_static/models/gs728tpp.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_static/models/gsm7228ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_static/models/gsm7252ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_static/models/m4300-16x.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_static/models/m4300-24x.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/_static/ngsw.css +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/api/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/api/core.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/api/facades.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/api/index.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/api/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/api/operations.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/api/protocols.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/api/transport.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/api/virtual.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/conf.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/development.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/fake/index.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/fake/internals.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/fake/serving.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/fake/testing.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/guide/concepts.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/guide/configuration.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/guide/installation.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/guide/principles.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/guide/quickstart.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/guide/reading.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/guide/writing.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/index.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/models/gs105pe.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/models/gs110emx.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/models/gs305ep.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/models/gs728tpp.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/models/gsm7228ps.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/models/gsm7252ps.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/models/index.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/models/m4300-16x.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/models/m4300-24x.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/models/support.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/protocols/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/protocols/http/cheetah-form.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/protocols/http/cheetah-v1.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/protocols/http/gambit.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/protocols/http/merge-hash-cgi.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/protocols/http/xml-api.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/protocols/http.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/protocols/index.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/protocols/nsdp.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/protocols/snmp.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/plans/2026-07-17-slice-02-snmp-read-core.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/plans/2026-07-17-slice-03-read-apis.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/plans/2026-07-18-slice-04-snmp-write.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/plans/2026-07-18-slice-05-nsdp.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/plans/2026-07-18-slice-06-http.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/plans/2026-07-18-slice-07-cli.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/plans/2026-07-18-slice-08-packaging-ci.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/plans/2026-07-23-gsm7252ps-http-xe-dialect.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/specs/2026-07-15-netgear-control-library-design.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/specs/2026-07-23-gsm7252ps-http-xe-dialect-design.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/superpowers/specs/2026-08-02-snmp-surface-findings.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/packaging/apt-index.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/packaging/ci-build.sh +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/packaging/deb-version.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/pyproject.toml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/cli/capture.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/cli/context.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/cli/format.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/cli/main.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/cli/resolve.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/cli/safety.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/config.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/errors.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/http_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/http_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/mcp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/mcp/server.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/models.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/cli/commands.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/cli/parse.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/http/crypt.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/http/endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/http/forms.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/http/parse.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/http/session.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/http/types.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/nsdp/client.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/nsdp/types.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/nsdp/write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/snmp/client.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/snmp/oids.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/snmp/parse.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/protocols/snmp/write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/py.typed +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/registry.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/aio/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/cli/console.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/cli/session.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/cli/ssh.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/cli/telnet.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/http/client.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/sync/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/transport/sync/snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/faces/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/faces/cli.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/faces/http.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/faces/mibview.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/faces/snmp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/seed.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/server.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/state.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/web.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/src/netgear_switch/virtual/web_m4300.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/capture_parity.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_capture.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_cli_integration.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_control_poe_port.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_control_vlan_ip.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_format.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_main_framework.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_new_commands.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_op_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_prompt_wiring.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_read_commands.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_resolve.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_safety.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/cli/test_serve.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/conftest.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/captures/gsm7228ps.json +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/captures/gsm7252ps.json +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/captures/m4300-16x.json +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/captures/m4300-24x.json +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/gsm7252ps_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_vlan_1.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_vlan_4.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_16x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/cli/m4300_24x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs105pe_membership.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs105pe_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs105pe_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs105pe_status.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs110emx_login.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs110emx_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs110emx_redirect.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs305ep_login.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs305ep_membership.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs305ep_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs305ep_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs728tpp_device_info_and_sensors.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs728tpp_vlan_membership_per_vlan.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_login.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_addresstable.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_ports.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/http_specs.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/cli/test_cli_parse.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/http/test_crypt.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/http/test_endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/http/test_forms.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/http/test_parse.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/nsdp/test_auth.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/nsdp/test_parsers.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/nsdp/test_protocol.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/nsdp/test_write_frame.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/snmp/test_client.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/snmp/test_oids.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/snmp/test_parse_ports.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/snmp/test_parse_system_info.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/snmp/test_parse_vlans.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/protocols/snmp/test_write_encode.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_cli_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_config.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_cross_backend_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_deb_version.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_docs_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_errors.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_facade_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_http_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_http_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_http_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_http_vlan_membership.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_http_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_http_xui_writes.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_import.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_mcp_server.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_models.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_models_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_nsdp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_public_api.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_quality_gates.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_registry.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_snmp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_version.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/test_write_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/transport/_fastpath_fake.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/transport/test_cli_console.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/transport/test_cli_scp_cert.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/transport/test_cli_telnet.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/transport/test_http_client.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/transport/test_nsdp_udp_sync.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/transport/test_set_transport.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/transport/test_snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/transport/test_value_parity.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_cli_cross_backend.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_gsm7228ps_seed.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_hostname.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_m4300_seeds.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_mibview.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_mutable_state.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_nsdp_state.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_serve_daemon.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_snmp_write_face.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_state_seed.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_switchport_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_virtual_http_face.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_virtual_nsdp_face.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_virtual_snmp_face.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/tests/virtual/test_web_projection.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/uv.lock +0 -0
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-netgear-switch-library
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.post348
|
|
4
4
|
Summary: Python library and CLI to query and control Netgear switches over SNMP, NSDP and HTTP.
|
|
5
5
|
Author-email: Tim Ansell <me@mith.ro>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0, '
|
|
21
|
+
__version__ = version = '0.0.post348'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 'post348')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -661,6 +661,21 @@ class AsyncSwitch:
|
|
|
661
661
|
lambda w: w.clear_poe_fault(port, force=force, timeouts=timeouts), backend
|
|
662
662
|
)
|
|
663
663
|
|
|
664
|
+
async def set_syslog_enabled(
|
|
665
|
+
self,
|
|
666
|
+
enabled: bool,
|
|
667
|
+
*,
|
|
668
|
+
force: bool = False,
|
|
669
|
+
backend: Backend | None = None,
|
|
670
|
+
) -> None:
|
|
671
|
+
"""Turn remote syslog on or off.
|
|
672
|
+
|
|
673
|
+
Served over SNMP. Adding or removing a COLLECTOR is a separate,
|
|
674
|
+
unbuilt operation -- it needs a row-status write that has not
|
|
675
|
+
been driven against hardware.
|
|
676
|
+
"""
|
|
677
|
+
await self._write(lambda w: w.set_syslog_enabled(enabled, force=force), backend)
|
|
678
|
+
|
|
664
679
|
async def set_hostname(
|
|
665
680
|
self, name: str, *, force: bool = False, backend: Backend | None = None
|
|
666
681
|
) -> None:
|
|
@@ -707,6 +707,46 @@ class SnmpWriter:
|
|
|
707
707
|
after=after,
|
|
708
708
|
)
|
|
709
709
|
|
|
710
|
+
def set_syslog_enabled(self, enabled: bool, *, force: bool = False) -> None:
|
|
711
|
+
"""Turn remote syslog on or off.
|
|
712
|
+
|
|
713
|
+
Writes the vendor logging admin-mode column (``<base>.14.1.4.1.0``),
|
|
714
|
+
whose enum is ``1 = enabled, 2 = disabled`` -- established from captured
|
|
715
|
+
CLI rather than assumed, see ``oids.VendorOids.syslog_admin_mode``.
|
|
716
|
+
|
|
717
|
+
WRITABILITY MEASURED 2026-08-02 by SETting each switch the value it
|
|
718
|
+
already held, which cannot change device state but still distinguishes a
|
|
719
|
+
writable column from a read-only one: m4300-24x (10.1.5.13), gsm7252ps
|
|
720
|
+
(10.1.5.22) and gsm7228ps (10.1.5.11) all accepted it.
|
|
721
|
+
|
|
722
|
+
Deliberately narrower than ``get_syslog`` reads. Adding or removing a
|
|
723
|
+
COLLECTOR means creating a row in the host table, which needs a
|
|
724
|
+
row-status write that has not been driven against hardware; offering it
|
|
725
|
+
here on the strength of the read alone would be the inference this
|
|
726
|
+
project refuses.
|
|
727
|
+
|
|
728
|
+
Not force-gated: toggling log delivery cannot strand a switch and is
|
|
729
|
+
reversible by writing the old value back.
|
|
730
|
+
"""
|
|
731
|
+
del force # accepted for a uniform writer signature; nothing to gate
|
|
732
|
+
if not oids.has_vendor_oids(self.model):
|
|
733
|
+
raise UnsupportedCapabilityError(
|
|
734
|
+
f"model {self.model.key!r} registers no Netgear vendor OID "
|
|
735
|
+
"subtree, and the logging columns are vendor-only"
|
|
736
|
+
)
|
|
737
|
+
vo = oids.vendor_oids(self.model)
|
|
738
|
+
before = self._reader.get_syslog()
|
|
739
|
+
self.client.set_many(
|
|
740
|
+
[SetVarbind(vo.syslog_admin_mode, 1 if enabled else 2, "i")]
|
|
741
|
+
)
|
|
742
|
+
after = self._reader.get_syslog()
|
|
743
|
+
if after.enabled != enabled:
|
|
744
|
+
raise WriteVerificationError(
|
|
745
|
+
f"syslog enabled is {after.enabled} after writing {enabled}",
|
|
746
|
+
before=before,
|
|
747
|
+
after=after,
|
|
748
|
+
)
|
|
749
|
+
|
|
710
750
|
def set_hostname(self, name: str, *, force: bool = False) -> None:
|
|
711
751
|
"""Set the switch's host name via the standard MIB-II ``sysName``.
|
|
712
752
|
|
|
@@ -1112,6 +1152,27 @@ class AsyncSnmpWriter:
|
|
|
1112
1152
|
after=after,
|
|
1113
1153
|
)
|
|
1114
1154
|
|
|
1155
|
+
async def set_syslog_enabled(self, enabled: bool, *, force: bool = False) -> None:
|
|
1156
|
+
"""Async twin of ``SnmpWriter.set_syslog_enabled`` -- see there."""
|
|
1157
|
+
del force # accepted for a uniform writer signature; nothing to gate
|
|
1158
|
+
if not oids.has_vendor_oids(self.model):
|
|
1159
|
+
raise UnsupportedCapabilityError(
|
|
1160
|
+
f"model {self.model.key!r} registers no Netgear vendor OID "
|
|
1161
|
+
"subtree, and the logging columns are vendor-only"
|
|
1162
|
+
)
|
|
1163
|
+
vo = oids.vendor_oids(self.model)
|
|
1164
|
+
before = await self._reader.get_syslog()
|
|
1165
|
+
await self.client.set_many(
|
|
1166
|
+
[SetVarbind(vo.syslog_admin_mode, 1 if enabled else 2, "i")]
|
|
1167
|
+
)
|
|
1168
|
+
after = await self._reader.get_syslog()
|
|
1169
|
+
if after.enabled != enabled:
|
|
1170
|
+
raise WriteVerificationError(
|
|
1171
|
+
f"syslog enabled is {after.enabled} after writing {enabled}",
|
|
1172
|
+
before=before,
|
|
1173
|
+
after=after,
|
|
1174
|
+
)
|
|
1175
|
+
|
|
1115
1176
|
async def set_hostname(self, name: str, *, force: bool = False) -> None:
|
|
1116
1177
|
"""Async twin of ``SnmpWriter.set_hostname`` -- see there."""
|
|
1117
1178
|
del force # accepted for a uniform writer signature; nothing to gate
|
|
@@ -503,9 +503,7 @@ class SyncSwitch:
|
|
|
503
503
|
has -- the actionable information the old silent fallback destroyed.
|
|
504
504
|
"""
|
|
505
505
|
if requested is None:
|
|
506
|
-
others = sorted(
|
|
507
|
-
b.name for b in self.model.backends if b is not chosen
|
|
508
|
-
)
|
|
506
|
+
others = sorted(b.name for b in self.model.backends if b is not chosen)
|
|
509
507
|
hint = (
|
|
510
508
|
f"; pass backend=Backend.<{'|'.join(others)}> to use another backend"
|
|
511
509
|
if others
|
|
@@ -814,6 +812,21 @@ class SyncSwitch:
|
|
|
814
812
|
lambda w: w.clear_poe_fault(port, force=force, timeouts=timeouts), backend
|
|
815
813
|
)
|
|
816
814
|
|
|
815
|
+
def set_syslog_enabled(
|
|
816
|
+
self,
|
|
817
|
+
enabled: bool,
|
|
818
|
+
*,
|
|
819
|
+
force: bool = False,
|
|
820
|
+
backend: Backend | None = None,
|
|
821
|
+
) -> None:
|
|
822
|
+
"""Turn remote syslog on or off.
|
|
823
|
+
|
|
824
|
+
Served over SNMP. Adding or removing a COLLECTOR is a separate,
|
|
825
|
+
unbuilt operation -- it needs a row-status write that has not
|
|
826
|
+
been driven against hardware.
|
|
827
|
+
"""
|
|
828
|
+
self._write(lambda w: w.set_syslog_enabled(enabled, force=force), backend)
|
|
829
|
+
|
|
817
830
|
def set_hostname(
|
|
818
831
|
self, name: str, *, force: bool = False, backend: Backend | None = None
|
|
819
832
|
) -> None:
|
|
@@ -97,6 +97,7 @@ _WRITE_ARGS: dict[str, tuple[tuple[Any, ...], dict[str, Any]]] = {
|
|
|
97
97
|
# `hostname` with no argument is rejected by the device itself and clearing
|
|
98
98
|
# a name is a different command (`no hostname`) that is not implemented.
|
|
99
99
|
"set_hostname": (("capcheck",), {}),
|
|
100
|
+
"set_syslog_enabled": ((True,), {}),
|
|
100
101
|
}
|
|
101
102
|
|
|
102
103
|
#: Not driven. ``upload_certificate_scp`` runs a multi-command deploy sequence
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/CLAUDE.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/LICENSE
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/README.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/RELEASING.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/debian/rules
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/cli.rst
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/conf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post348}/docs/mcp.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|