rosotacom-dev 2.5.dev16__tar.gz → 2.5.dev17__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.
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/PKG-INFO +1 -1
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/rfcs/0002-expectation-concepts.md +18 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview.py +12 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview_core.py +11 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom_dev.egg-info/PKG-INFO +1 -1
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom_dev.egg-info/scm_version.json +2 -2
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_status_overview.py +48 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.devcontainer/devcontainer.json.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.devcontainer/re_generate_devcontainer_json.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/CODEOWNERS +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/documentation-audit.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/implementation-cleanup.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/quality-workflow.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/redesign.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/release-process.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/repository-diagnosis.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/test-ci-audit.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/work-item.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/dependabot.yml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/workflows/benchmark-calibrate.yml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/workflows/benchmark-gate.yml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/workflows/dev-release.yml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/workflows/image-scan.yml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/workflows/nightly-e2e.yml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/workflows/pr-lightweight.yml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/workflows/pr-merge-gate.yml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/workflows/release.yml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.pre-commit-config.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/AGENTS.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/CONCURRENCY.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/CONTRIBUTING.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/DEVELOPMENT_PRINCIPLES.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/MANIFEST.in +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/README.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/budgets.jsonl +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/README.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/capacity-size-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/probe-loss-gop-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/probe-loss-nominal-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/probe-loss-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/probe-loss-tight-fastdds.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/probe-loss-tight-zenoh.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/codecov.yml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/deployment-configuration.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/benchmark-ab.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/benchmark-bag-as-load.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/ci.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/ffmpeg-keyframes.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/README.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/cyclone-spdp-discovery-bursts.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/delay-alone-no-loss.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/head-of-line-irregularity.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/jitter-loss-bandwidth-latency.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/lighter-message-loss.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/zero-loss-boundaries-18kb-20hz.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/forensics-report.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/geo-link-map.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/github-repository-settings.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/link-trace.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/owner-runbook.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/performance-bands.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/playbooks/README.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/quality-model.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/release-notes/TEMPLATE.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/release-notes/v2.1.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/release-notes/v2.2.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/release-notes/v2.3.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/release-notes/v2.4.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/release.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/rfcs/0001-expectation-driven-test-suite.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/rfcs/0003-metric-backbone.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/rfcs/0004-network-profiles.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/rfcs/0005-benchmark-genres-and-ci.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/rfcs/0006-dynamic-qos.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/rfcs/0007-regression-gate.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/rfcs/README.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/testing.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/work-items.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/install.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/justfile +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/media/control_center.png +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/media/echo_test.png +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/media/forensics-report-example.png +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/media/host.png +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/media/vehicle.png +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/pyproject.toml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/requirements.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/rosotacom.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/run_session_in_container.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/session-configuration.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/setup.cfg +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/__init__.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/__main__.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/anonymize.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/bag_ground_truth.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/benched_set.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/benchmark.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/benchmark_delta.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/bundle_check.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/cli.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/cli_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/deployment.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/ffmpeg_packet.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/forensics.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/geomap.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/network_profiles.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/network_shaper.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/plots.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/py.typed +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/benched-set.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/.gitignore +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/README.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/__init__.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/bags/8_drop_reference/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/deployment.example.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/profiles.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/rosotacom.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scenarios/2_native_chatter/scenario-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_a.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_b.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/wait_for_echo_topic.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/foxglove.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/costmap_1second_0.mcap +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/foxglove.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/costmap_1second_0.mcap +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/10_restamp/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/11_trickle/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/12_content_integrity/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/13_link_latency/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/14_remote_assist_anonymized/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/15_remote_assist_anonymized_costmap/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/16_remote_assist_anonymized_camera/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/17_synthetic_camera_quality/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/1_heartbeat/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/1_heartbeat_status/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/2_native_chatter/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/3_comp_occ_grid/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/4_comp_occ_grid_zen/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/5_sized_payload/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/6_sized_payload_zen/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/7_latched_static/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/8_drop/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/9_throttle/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/bench_1_1_capacity/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/bench_1_2_load_sweep/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/bench_1_3_ramp/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/bench_1_4_recovery/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/sessions/bench_1_5_camera/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ros2docker.json.example +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/.vscode/c_cpp_properties.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/.vscode/settings.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_easy_mode.xml.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_initial_peer_list.xml.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v2.xml.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v3.xml.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v4.xml.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v5.xml.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/create_zenoh_json5.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/cyclonedds_minimal.xml.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/cyclonedds_tuned.xml.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/fastdds_unicast.xml.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/get_ota_xml.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/utils.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ota_configs/zenoh.json5.template +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/.gitkeep +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_cpp/CMakeLists.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_cpp/COLCON_IGNORE +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_cpp/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_cpp/package.xml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_cpp/src/hz_monitor.cpp +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_compressor.cpp +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_decompressor.cpp +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_msgs/CMakeLists.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_msgs/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/CompressedData.msg +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/EchoHeartbeat.msg +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/OtaStamped.msg +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/SizedPayload.msg +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_msgs/package.xml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/__init__.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/base_bridge_relay.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_in.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_out.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/heartbeat_echo.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/hz_monitor.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/image_bandwidth_reducer.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/image_pixel_capper.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/lanelet_saver.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/latch_relay.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/costmap_remapper.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/marker_remapper.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/speed_test.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/tf_remapper.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/traffic_monitor.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/wifi_network_analysis_1.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/link_bytes.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/link_trace.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/local_global_frame_bridge.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/localization_map_split_reduce_saver.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/msg_transform.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/pair_management.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/pub_sub_pair.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/qos.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_in.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_out.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/restamp.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/sized_publisher.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency_core.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/tf_map_to_cart_saver.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_monitor.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_resolution.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/trickle.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_compressor.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_decompressor.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_unwrapper.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_wrapper.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/package.xml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/resource/com_py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/setup.cfg +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/setup.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/test/test_copyright.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/test/test_flake8.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/ros2src/com_py/test/test_pep257.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/session/content/base/session_plugin_base.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/session/content/network/up_connectivity.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/session/content/network/wifi_network_analysis_2.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/session/creation/anonymize_bag.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/session/creation/catmux_log_setup.sh +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/session/creation/create_session_yaml.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/session/creation/generate_session_files.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/session/creation/run_session.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/session/creation/run_session_in_external_terminal.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/ws/session/creation/strip_ansi.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/status_eval.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/stream_stats.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/trace_profiles.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/transit.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/video_quality.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom_dev.egg-info/SOURCES.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom_dev.egg-info/dependency_links.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom_dev.egg-info/entry_points.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom_dev.egg-info/requires.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom_dev.egg-info/scm_file_list.json +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom_dev.egg-info/top_level.txt +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/stop_session_in_container.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/terminology.md +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_benched_set_registry.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_findings.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_markdown_links.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_ota_source_bundle.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_package_metadata.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_packaged_resources.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_profile_covers_generated_commands.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_pytest_policy.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_readme_examples.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_security_maintenance_config.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_session_configuration_doc.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/contract/test_workflow_contracts.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/e2e/conftest.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/e2e/test_anonymize_e2e.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/e2e/test_benchmark_ab.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/e2e/test_benchmark_capacity.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/e2e/test_benchmark_replay.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/e2e/test_parallel_smoke.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/e2e/test_smoke.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/e2e/test_timeline_stepping.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/e2e/test_video_quality_e2e.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/sessions/generate_rmw_matrix.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-local_zenoh-ros2dds-ota/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota-tuned/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/sessions/rmw_matrix/1_heartbeat_fastdds/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/sessions/rmw_matrix/1_heartbeat_zen-endpoints/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_anonymize.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_bag_ground_truth.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_benched_set.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_benchmark_delta.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_bundle_check.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_cli.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_cli_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_concurrency.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_deployment.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_ffmpeg_packet.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_forensics.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_geomap.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_link_bytes.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_link_trace.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_network_profiles.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_network_shaper.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_ota_xml.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_plots.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_stage_latency.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_status_eval.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_stream_stats.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_trace_profiles.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_transit.py +0 -0
- {rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/tests/unit/test_video_quality.py +0 -0
|
@@ -290,6 +290,24 @@ once `optional` are all fixed:
|
|
|
290
290
|
end-to-end by remote_assist (`/tf` local→global, `/move_base_free/goal`
|
|
291
291
|
global→local, both delivered to `native_in`); ffmpeg video is n/a -- there is no
|
|
292
292
|
video/ffmpeg feature anywhere in the codebase, so there is nothing to test.
|
|
293
|
+
- [x] The third latched "not delivering" state is named (issue #231, Option A).
|
|
294
|
+
A latched topic that has a publisher but holds no value now reads distinctly
|
|
295
|
+
("has a publisher but holds no retained latched value") from "no publisher"
|
|
296
|
+
and "stopped", so a broken/empty latch is no longer indistinguishable from a
|
|
297
|
+
silent producer (`classify_stage` carries a `latched` flag; `_stage_diagnosis`
|
|
298
|
+
names it). The transient_local read Option A asks for was **not** forced per
|
|
299
|
+
declared role: a first attempt did (`collect_latched_stage_topics` ->
|
|
300
|
+
forced QoS) and broke `e2e-remote-assist`, because a latched topic's *native
|
|
301
|
+
source* stage is published VOLATILE (the ROS 1 bridge offers no durability)
|
|
302
|
+
and a TRANSIENT_LOCAL reader is incompatible with a VOLATILE writer -- it
|
|
303
|
+
received nothing and reported a false STALLED. The correct, per-stage form
|
|
304
|
+
is the existing publisher-matched `_observation_qos`, which already requests
|
|
305
|
+
transient_local on the delivered stages that offer it (com_in/app_in); that
|
|
306
|
+
matched subscription is observable on the graph (it raises the subscriber
|
|
307
|
+
count). Validation:
|
|
308
|
+
`tests/unit/test_status_overview.py::test_observation_qos_does_not_force_transient_local_for_latched_roles`,
|
|
309
|
+
`::test_stage_diagnosis_names_the_three_latched_states`,
|
|
310
|
+
`::test_classify_stage_marks_latched_role`.
|
|
293
311
|
|
|
294
312
|
### Replay-only (ground-truth) assertions — from "Live vs replay" above
|
|
295
313
|
|
|
@@ -161,6 +161,18 @@ class StageObserver(Node):
|
|
|
161
161
|
value. Adopting the publisher's offered durability/reliability (request ==
|
|
162
162
|
offered) is always compatible and replays the durable history. Falls back
|
|
163
163
|
to best-effort/volatile when no publisher QoS is available.
|
|
164
|
+
|
|
165
|
+
Adopting the *publisher's* offered durability (rather than forcing
|
|
166
|
+
TRANSIENT_LOCAL for every stage of a declared latched topic) is
|
|
167
|
+
deliberate: a latched topic's own source stage -- the vehicle's native
|
|
168
|
+
publish -- is VOLATILE (the ROS 1 bridge offers no durability), and a
|
|
169
|
+
TRANSIENT_LOCAL reader is incompatible with a VOLATILE writer and would
|
|
170
|
+
receive nothing, turning a healthy native stage into a false STALLED.
|
|
171
|
+
Only the delivered stages (com_in/app_in) offer TRANSIENT_LOCAL, and the
|
|
172
|
+
per-publisher match already requests it there -- which is the
|
|
173
|
+
"subscribe transient_local on latched roles" of issue #231, made
|
|
174
|
+
per-stage-correct. The matched subscription is observable on the graph
|
|
175
|
+
(it raises the topic's subscriber count).
|
|
164
176
|
"""
|
|
165
177
|
durability = DurabilityPolicy.VOLATILE
|
|
166
178
|
reliability = ReliabilityPolicy.BEST_EFFORT
|
|
@@ -497,6 +497,7 @@ class StatusAggregator:
|
|
|
497
497
|
"quality_reason": None,
|
|
498
498
|
"observation": "graph" if obs is not None and obs.graph_only else "payload",
|
|
499
499
|
"inferred_from": None,
|
|
500
|
+
"latched": str((expect or {}).get("mode", "")).strip().lower() == "latched",
|
|
500
501
|
}
|
|
501
502
|
if obs is None:
|
|
502
503
|
return result
|
|
@@ -744,6 +745,16 @@ class StatusAggregator:
|
|
|
744
745
|
f"{topic} has a publisher; payload is intentionally not "
|
|
745
746
|
"subscribed and adjacent local flow is not observed"
|
|
746
747
|
)
|
|
748
|
+
if stage_result.get("latched"):
|
|
749
|
+
# The third state issue #231 names: distinct from "no publisher"
|
|
750
|
+
# (ABSENT) and "stopped" (STALE). The observation subscribes
|
|
751
|
+
# transient_local for latched roles, so a value published before
|
|
752
|
+
# it matched would have been replayed; holding none means nothing
|
|
753
|
+
# was ever latched (empty/broken latch), not a late-joining reader.
|
|
754
|
+
return (
|
|
755
|
+
f"{topic} has a publisher but holds no retained latched "
|
|
756
|
+
"value (nothing was latched, or the latch was lost)"
|
|
757
|
+
)
|
|
747
758
|
return f"{topic} has a publisher but no messages observed yet"
|
|
748
759
|
if st == STALE:
|
|
749
760
|
return f"{topic} stopped receiving messages"
|
|
@@ -179,6 +179,20 @@ def test_observation_qos_matches_publisher_durability() -> None:
|
|
|
179
179
|
assert "qos = self._observation_qos(topic)" in source
|
|
180
180
|
|
|
181
181
|
|
|
182
|
+
def test_observation_qos_does_not_force_transient_local_for_latched_roles() -> None:
|
|
183
|
+
"""#231 regression: the observer must NOT force TRANSIENT_LOCAL for every
|
|
184
|
+
stage of a latched topic. A latched topic's native source stage is published
|
|
185
|
+
VOLATILE (the ROS 1 bridge offers no durability), and a TRANSIENT_LOCAL
|
|
186
|
+
reader is incompatible with a VOLATILE writer -- forcing it made the native
|
|
187
|
+
stage receive nothing and read a false STALLED (broke e2e-remote-assist).
|
|
188
|
+
The per-publisher QoS match already requests transient_local on the delivered
|
|
189
|
+
stages that offer it, which is the correct per-stage form of Option A.
|
|
190
|
+
"""
|
|
191
|
+
source = STATUS_NODE_PY.read_text(encoding="utf-8")
|
|
192
|
+
assert "self._latched_topics" not in source
|
|
193
|
+
assert "collect_latched_stage_topics" not in source
|
|
194
|
+
|
|
195
|
+
|
|
182
196
|
# ---------------------------------------------------------------------------
|
|
183
197
|
# state classification + rollup
|
|
184
198
|
# ---------------------------------------------------------------------------
|
|
@@ -294,6 +308,40 @@ def test_rollup_latched_never_delivered_still_stalled(tmp_path: Path) -> None:
|
|
|
294
308
|
assert agg.rollup(spec, stages)["overall"] == core.STALLED
|
|
295
309
|
|
|
296
310
|
|
|
311
|
+
def test_stage_diagnosis_names_the_three_latched_states(tmp_path: Path) -> None:
|
|
312
|
+
"""#231: a latched topic that is not delivering reads as one of three
|
|
313
|
+
distinct states. The new one -- a publisher present but no retained value
|
|
314
|
+
held -- must not collapse into 'no publisher', which is the difference
|
|
315
|
+
between a broken latch and a genuinely silent producer."""
|
|
316
|
+
agg = _build({}, tmp_path)
|
|
317
|
+
topic = "/b/site/latched"
|
|
318
|
+
no_publisher = agg._stage_diagnosis({"state": core.ABSENT, "topic": topic, "produced_by": "relay"})
|
|
319
|
+
stopped = agg._stage_diagnosis({"state": core.STALE, "topic": topic, "produced_by": "relay"})
|
|
320
|
+
no_retained = agg._stage_diagnosis({"state": core.IDLE, "topic": topic, "produced_by": "relay", "latched": True})
|
|
321
|
+
plain_idle = agg._stage_diagnosis({"state": core.IDLE, "topic": "/heartbeat_a", "produced_by": "relay"})
|
|
322
|
+
assert "no publisher" in no_publisher
|
|
323
|
+
assert "stopped" in stopped
|
|
324
|
+
assert "retained latched" in no_retained
|
|
325
|
+
# all three name-distinct, and the latched case is not the plain-idle text
|
|
326
|
+
assert len({no_publisher, stopped, no_retained}) == 3
|
|
327
|
+
assert no_retained != plain_idle
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
def test_classify_stage_marks_latched_role(tmp_path: Path) -> None:
|
|
331
|
+
"""classify_stage carries the latched flag so _stage_diagnosis can name the
|
|
332
|
+
third state without re-reading the spec."""
|
|
333
|
+
agg = _build({}, tmp_path)
|
|
334
|
+
latched = agg.classify_stage(
|
|
335
|
+
{"stage": "app_in", "topic": "/b/site/latched"},
|
|
336
|
+
None,
|
|
337
|
+
0.0,
|
|
338
|
+
{"mode": "latched"},
|
|
339
|
+
)
|
|
340
|
+
streamed = agg.classify_stage({"stage": "native", "topic": "/b/twist"}, None, 0.0, {"mode": "stream"})
|
|
341
|
+
assert latched["latched"] is True
|
|
342
|
+
assert streamed["latched"] is False
|
|
343
|
+
|
|
344
|
+
|
|
297
345
|
def test_rollup_latched_outbound_produced_is_ok(tmp_path: Path) -> None:
|
|
298
346
|
# On the sender a one-shot held value shows at native/processed; the inferred
|
|
299
347
|
# send stage may idle. Producing+latching is enough (receiver confirms delivery).
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.devcontainer/devcontainer.json.template
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.devcontainer/re_generate_devcontainer_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/documentation-audit.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/implementation-cleanup.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/quality-workflow.md
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/release-process.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/ISSUE_TEMPLATE/repository-diagnosis.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/.github/workflows/benchmark-calibrate.yml
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
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/capacity-size-tight-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/probe-loss-gop-tight-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/probe-loss-nominal-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/probe-loss-tight-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/calibration/probe-loss-tight-fastdds.json
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
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/cyclone-spdp-discovery-bursts.md
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/head-of-line-irregularity.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/jitter-loss-bandwidth-latency.md
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/findings/zero-loss-boundaries-18kb-20hz.md
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
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/rfcs/0001-expectation-driven-test-suite.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/docs/rfcs/0005-benchmark-genres-and-ci.md
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
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/benched-set.yaml
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/.gitignore
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/README.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/profiles.yaml
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/ros2docker.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev16 → rosotacom_dev-2.5.dev17}/src/rosotacom/resources/examples/rosotacom.yaml
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
|