runtimepy 5.7.2__tar.gz → 5.7.3__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.
- {runtimepy-5.7.2/runtimepy.egg-info → runtimepy-5.7.3}/PKG-INFO +5 -5
- {runtimepy-5.7.2 → runtimepy-5.7.3}/README.md +2 -2
- {runtimepy-5.7.2 → runtimepy-5.7.3}/pyproject.toml +1 -1
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/__init__.py +2 -2
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/mixins/logging.py +26 -3
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/env/tab/html.py +3 -1
- {runtimepy-5.7.2 → runtimepy-5.7.3/runtimepy.egg-info}/PKG-INFO +5 -5
- {runtimepy-5.7.2 → runtimepy-5.7.3}/LICENSE +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/__main__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/app.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/array.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/command/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/command/parser.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/command/processor.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/command/result.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/create.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/file.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/sample.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/environment/telemetry.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/event/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/event/header.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/channel/registry.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/codec/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/codec/protocol/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/codec/protocol/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/codec/protocol/json.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/codec/system/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/commands/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/commands/all.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/commands/arbiter.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/commands/common.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/commands/mtu.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/commands/server.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/commands/task.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/commands/tftp.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/commands/tui.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/control/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/control/env/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/control/source.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/control/step.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/browser.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/css/bootstrap_extra.css +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/css/font.css +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/css/main.css +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/dummy_load.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/factories.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/favicon.ico +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/DataConnection.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/JsonConnection.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/audio.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/App.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/ChannelTable.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/DataConnection.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/JsonConnection.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/OverlayManager.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/Plot.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/PlotDrawer.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/PlotManager.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/PlotModalManager.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/PointBuffer.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/PointManager.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/TabFilter.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/TabInterface.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/UnitSystem.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/WindowHashManager.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/classes/WorkerInterface.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/events.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/init.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/main.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/tab/env.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/tab/sound.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/third-party/webgl-debug.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/unused/pyodide.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/util.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/js/worker.js +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/md/Connection.md +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/md/PeriodicTask.md +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/md/RuntimeStruct.md +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/md/RuntimepyPeer.md +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/md/SinusoidTask.md +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/sample_telemetry.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/BitFields.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/Channel.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/ChannelCommand.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/ChannelRegistry.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/ClientConnectionConfig.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/ConnectionArbiterConfig.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/EnumRegistry.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/FindFile.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/PeerProcessConfig.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/RuntimeEnum.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/ServerConnectionConfig.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/StructConfig.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/TaskConfig.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/channel_controls.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/has_config.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/has_factory.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/has_markdown.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/has_name.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/schemas/has_request_flag.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/server.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/server_base.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/server_dev.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/svg/chip-circle-bootstrap.svg +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/CascadiaCode-Bold.woff2 +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/CascadiaCode-BoldItalic.woff2 +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/CascadiaCode-Italic.woff2 +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/CascadiaCode-Regular.woff2 +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/CascadiaMono-Bold.woff2 +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/CascadiaMono-BoldItalic.woff2 +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/CascadiaMono-Italic.woff2 +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/CascadiaMono-Regular.woff2 +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/README.md +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/tftp_server.yaml +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/dev_requirements.txt +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/entry.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/enum/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/enum/registry.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/enum/types.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/mapping.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/message/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/message/handlers.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/message/interface.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/message/types.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/metrics/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/metrics/channel.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/metrics/connection.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/metrics/task.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/mixins/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/mixins/async_command.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/mixins/enum.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/mixins/environment.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/mixins/finalize.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/mixins/psutil.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/mixins/regex.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/mixins/trig.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/apps/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/config/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/config/codec.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/config/util.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/factory/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/factory/connection.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/factory/task.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/housekeeping/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/imports/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/imports/util.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/info.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/result.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/struct/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/task.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/tcp/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/tcp/json.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/udp.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/arbiter/websocket.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/backoff.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/connection.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/factories/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/http/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/http/common.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/http/header.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/http/request_target.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/http/response.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/http/state.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/http/version.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/manager.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/mixin.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/mtu.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/bootstrap/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/bootstrap/elements.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/bootstrap/tabs.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/create.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/elements.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/env/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/env/modal.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/env/settings.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/env/tab/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/env/tab/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/env/tab/controls.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/env/tab/message.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/env/widgets.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/files.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/landing_page.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/placeholder.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/pyodide.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/sound.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/app/tab.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/html.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/json.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/struct/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/websocket/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/server/websocket/state.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/ssl.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/stream/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/stream/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/stream/json/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/stream/string.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/tcp/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/tcp/connection.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/tcp/create.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/tcp/http/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/tcp/protocol.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/tcp/scpi/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/tcp/telnet/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/tcp/telnet/codes.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/tcp/telnet/np_05b.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/udp/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/udp/connection.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/udp/create.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/udp/protocol.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/udp/queue.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/udp/tftp/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/udp/tftp/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/udp/tftp/endpoint.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/udp/tftp/enums.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/udp/tftp/io.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/util.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/websocket/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/net/websocket/connection.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/noise/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/array/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/bool.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/byte_order.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/evaluation.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/field/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/field/fields.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/field/manager/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/field/manager/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/float.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/int.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/scaling.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/serializable/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/serializable/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/serializable/fixed.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/serializable/framer.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/serializable/prefixed.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/string.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/types/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/types/base.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/types/bool.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/types/bounds.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/types/float.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/primitives/types/int.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/py.typed +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/registry/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/registry/bool.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/registry/item.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/registry/name.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/requirements.txt +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/sample/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/sample/peer.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/sample/program.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/schemas.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/struct/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/subprocess/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/subprocess/interface.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/subprocess/peer.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/subprocess/program.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/subprocess/protocol.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/task/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/task/asynchronous.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/task/basic/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/task/basic/manager.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/task/basic/periodic.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/task/sample.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/task/trig/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/telemetry/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/telemetry/sample.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/tui/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/tui/channels/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/tui/cursor.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/tui/mixin.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/tui/mock.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/tui/task.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/ui/__init__.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/ui/controls.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/util.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy.egg-info/SOURCES.txt +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy.egg-info/dependency_links.txt +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy.egg-info/entry_points.txt +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy.egg-info/requires.txt +2 -2
- {runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy.egg-info/top_level.txt +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/setup.cfg +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/setup.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/tests/test_entry.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/tests/test_mapping.py +0 -0
- {runtimepy-5.7.2 → runtimepy-5.7.3}/tests/test_resources.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: runtimepy
|
|
3
|
-
Version: 5.7.
|
|
3
|
+
Version: 5.7.3
|
|
4
4
|
Summary: A framework for implementing Python services.
|
|
5
5
|
Home-page: https://github.com/vkottler/runtimepy
|
|
6
6
|
Author: Vaughn Kottler
|
|
@@ -17,11 +17,11 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
17
17
|
Requires-Python: >=3.11
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
|
-
Requires-Dist: psutil
|
|
21
20
|
Requires-Dist: svgen>=0.6.8
|
|
21
|
+
Requires-Dist: aiofiles
|
|
22
22
|
Requires-Dist: websockets
|
|
23
|
+
Requires-Dist: psutil
|
|
23
24
|
Requires-Dist: vcorelib>=3.4.2
|
|
24
|
-
Requires-Dist: aiofiles
|
|
25
25
|
Provides-Extra: test
|
|
26
26
|
Requires-Dist: pylint; extra == "test"
|
|
27
27
|
Requires-Dist: flake8; extra == "test"
|
|
@@ -45,11 +45,11 @@ Requires-Dist: uvloop; (sys_platform != "win32" and sys_platform != "cygwin") an
|
|
|
45
45
|
=====================================
|
|
46
46
|
generator=datazen
|
|
47
47
|
version=3.1.4
|
|
48
|
-
hash=
|
|
48
|
+
hash=ef917873929a5dc6a70367fde7f1447f
|
|
49
49
|
=====================================
|
|
50
50
|
-->
|
|
51
51
|
|
|
52
|
-
# runtimepy ([5.7.
|
|
52
|
+
# runtimepy ([5.7.3](https://pypi.org/project/runtimepy/))
|
|
53
53
|
|
|
54
54
|
[](https://pypi.org/project/runtimepy/)
|
|
55
55
|

|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
=====================================
|
|
3
3
|
generator=datazen
|
|
4
4
|
version=3.1.4
|
|
5
|
-
hash=
|
|
5
|
+
hash=ef917873929a5dc6a70367fde7f1447f
|
|
6
6
|
=====================================
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
|
-
# runtimepy ([5.7.
|
|
9
|
+
# runtimepy ([5.7.3](https://pypi.org/project/runtimepy/))
|
|
10
10
|
|
|
11
11
|
[](https://pypi.org/project/runtimepy/)
|
|
12
12
|

|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# =====================================
|
|
2
2
|
# generator=datazen
|
|
3
3
|
# version=3.1.4
|
|
4
|
-
# hash=
|
|
4
|
+
# hash=37a32f51e0bf04276100ce27658b7f8f
|
|
5
5
|
# =====================================
|
|
6
6
|
|
|
7
7
|
"""
|
|
@@ -10,7 +10,7 @@ Useful defaults and other package metadata.
|
|
|
10
10
|
|
|
11
11
|
DESCRIPTION = "A framework for implementing Python services."
|
|
12
12
|
PKG_NAME = "runtimepy"
|
|
13
|
-
VERSION = "5.7.
|
|
13
|
+
VERSION = "5.7.3"
|
|
14
14
|
|
|
15
15
|
# runtimepy-specific content.
|
|
16
16
|
METRICS_NAME = "metrics"
|
|
@@ -10,7 +10,7 @@ from typing import Any, Iterable
|
|
|
10
10
|
|
|
11
11
|
# third-party
|
|
12
12
|
import aiofiles
|
|
13
|
-
from vcorelib.logging import LoggerMixin, LoggerType
|
|
13
|
+
from vcorelib.logging import ListLogger, LoggerMixin, LoggerType
|
|
14
14
|
from vcorelib.paths import Pathlike, normalize
|
|
15
15
|
|
|
16
16
|
# internal
|
|
@@ -66,6 +66,25 @@ class LoggerMixinLevelControl(LoggerMixin):
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
LogPaths = Iterable[tuple[LogLevellike, Pathlike]]
|
|
69
|
+
EXT_LOG_EXTRA = {"external": True}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def handle_safe_log(
|
|
73
|
+
logger: LoggerType, level: int, data: str, safe_to_log: bool
|
|
74
|
+
) -> None:
|
|
75
|
+
"""handle a log filtering scenario."""
|
|
76
|
+
|
|
77
|
+
if safe_to_log:
|
|
78
|
+
logger.log(level, data, extra=EXT_LOG_EXTRA)
|
|
79
|
+
else:
|
|
80
|
+
record = logging.LogRecord(
|
|
81
|
+
logger.name, level, __file__, -1, data, (), None
|
|
82
|
+
)
|
|
83
|
+
record.external = True
|
|
84
|
+
|
|
85
|
+
for handler in logger.handlers: # type: ignore
|
|
86
|
+
if isinstance(handler, ListLogger):
|
|
87
|
+
handler.emit(record)
|
|
69
88
|
|
|
70
89
|
|
|
71
90
|
class LogCaptureMixin:
|
|
@@ -76,7 +95,10 @@ class LogCaptureMixin:
|
|
|
76
95
|
# Open aiofiles handles.
|
|
77
96
|
streams: list[tuple[int, Any]]
|
|
78
97
|
|
|
79
|
-
|
|
98
|
+
# Set false to only forward to ListLogger handlers. Required for when the
|
|
99
|
+
# system log / process-management logs are being forwarded (otherwise also
|
|
100
|
+
# logging would lead to infinite spam).
|
|
101
|
+
safe_to_log = True
|
|
80
102
|
|
|
81
103
|
async def init_log_capture(
|
|
82
104
|
self, stack: AsyncExitStack, log_paths: LogPaths
|
|
@@ -98,7 +120,8 @@ class LogCaptureMixin:
|
|
|
98
120
|
|
|
99
121
|
def log_line(self, level: int, data: str) -> None:
|
|
100
122
|
"""Log a line for output."""
|
|
101
|
-
|
|
123
|
+
|
|
124
|
+
handle_safe_log(self.logger, level, data, self.safe_to_log)
|
|
102
125
|
|
|
103
126
|
async def dispatch_log_capture(self) -> None:
|
|
104
127
|
"""Get the next line from this log stream."""
|
|
@@ -241,7 +241,9 @@ class ChannelEnvironmentTabHtml(ChannelEnvironmentTabControls):
|
|
|
241
241
|
logs = div(
|
|
242
242
|
tag="textarea",
|
|
243
243
|
parent=div(parent=vert_container, class_str="form-floating"),
|
|
244
|
-
class_str=(
|
|
244
|
+
class_str=(
|
|
245
|
+
f"form-control rounded-0 {TEXT} text-body-emphasis text-logs"
|
|
246
|
+
),
|
|
245
247
|
id=self.get_id("logs"),
|
|
246
248
|
title=f"Text logs for {self.name}.",
|
|
247
249
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: runtimepy
|
|
3
|
-
Version: 5.7.
|
|
3
|
+
Version: 5.7.3
|
|
4
4
|
Summary: A framework for implementing Python services.
|
|
5
5
|
Home-page: https://github.com/vkottler/runtimepy
|
|
6
6
|
Author: Vaughn Kottler
|
|
@@ -17,11 +17,11 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
17
17
|
Requires-Python: >=3.11
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
|
-
Requires-Dist: psutil
|
|
21
20
|
Requires-Dist: svgen>=0.6.8
|
|
21
|
+
Requires-Dist: aiofiles
|
|
22
22
|
Requires-Dist: websockets
|
|
23
|
+
Requires-Dist: psutil
|
|
23
24
|
Requires-Dist: vcorelib>=3.4.2
|
|
24
|
-
Requires-Dist: aiofiles
|
|
25
25
|
Provides-Extra: test
|
|
26
26
|
Requires-Dist: pylint; extra == "test"
|
|
27
27
|
Requires-Dist: flake8; extra == "test"
|
|
@@ -45,11 +45,11 @@ Requires-Dist: uvloop; (sys_platform != "win32" and sys_platform != "cygwin") an
|
|
|
45
45
|
=====================================
|
|
46
46
|
generator=datazen
|
|
47
47
|
version=3.1.4
|
|
48
|
-
hash=
|
|
48
|
+
hash=ef917873929a5dc6a70367fde7f1447f
|
|
49
49
|
=====================================
|
|
50
50
|
-->
|
|
51
51
|
|
|
52
|
-
# runtimepy ([5.7.
|
|
52
|
+
# runtimepy ([5.7.3](https://pypi.org/project/runtimepy/))
|
|
53
53
|
|
|
54
54
|
[](https://pypi.org/project/runtimepy/)
|
|
55
55
|

|
|
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
|
{runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/CascadiaCode-BoldItalic.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runtimepy-5.7.2 → runtimepy-5.7.3}/runtimepy/data/static/woff2/CascadiaMono-BoldItalic.woff2
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
|