kanibako-cli 1.8.0.dev95__tar.gz → 1.8.0.dev98__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.
- {kanibako_cli-1.8.0.dev95/src/kanibako_cli.egg-info → kanibako_cli-1.8.0.dev98}/PKG-INFO +1 -1
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/pyproject.toml +1 -1
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/__init__.py +1 -1
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/targets/__init__.py +46 -1
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98/src/kanibako_cli.egg-info}/PKG-INFO +1 -1
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/LICENSE.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/README.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/setup.cfg +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/__main__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/_atomic.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/agent_config.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/agent_defaults.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/agent_ref.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/auth_browser.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/auth_parser.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/box_lifecycle.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/box_supervisor.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/browser_sidecar.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/browser_state.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/bun_sea.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/channels/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/channels/channels.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/channels/helper_client.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/channels/helper_listener.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/channels/helpers.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/cli.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/agent_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/archive.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/baseline_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/box/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/box/_duplicate.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/box/_lifecycle.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/box/_parser.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/clean.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/code_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/diagnose.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/flags.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/fork_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/helper_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/image.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/install.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/restore.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/setup_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/start.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/stop.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/system_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/upgrade.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/vault_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/workset_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/containers/Containerfile.template-android +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/containers/Containerfile.template-dotnet +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/containers/Containerfile.template-js +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/containers/Containerfile.template-jvm +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/containers/Containerfile.template-systems +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/containers/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/containers/tmux.conf +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/core-defaults.yaml +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/KICKOFF.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/rom/COLLECTION.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/rom/bible/ROM_CONTENTS.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/rom/bible/box/directives/ROM_BOX.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/rom/bible/general/directives/ROM_GENERAL.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/rom/bible/workset/directives/ROM_WORKSET.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/agent_default/canon/handbook/directives/SYS_AGENT.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/box/canon/handbook/directives/SYS_BOX.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/box/home/canon/notebook/MY_CONTENTS.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/box/home/canon/notebook/directives/CONVENTIONS.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/box/home/canon/workbook/devnotes.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/box/home/canon/workbook/tasks.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/handbook/SYS_CONTENTS.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/handbook/general/directives/SYS_GENERAL.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/handbook/general/directives/rules/CANON.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/handbook/general/directives/rules/DATAPOLICY.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/handbook/general/directives/rules/INTERACTION.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/template/workset/canon/handbook/directives/SYS_WORKSET.md +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/image-baseline.yaml +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/keyspace-manifest.yaml +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/errors.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/git.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/install_method.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/kuid.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/launch/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/launch/box_identity.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/launch/box_resolve.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/launch/creds_watcher.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/launch/hygiene.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/launch/journal.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/launch/shells.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/launch/templates.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/log.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/persona_store.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/plugins/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/project/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/project/import_reconcile.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/project/names.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/project/registry_store.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/project/workset.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/project/workset_registry.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/py.typed +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/baseline.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/container.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/containerfiles.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/freshness.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/image_sharing.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/registry.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/rig_bundle.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/rig_meta.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/rig_registry.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/rig_resolve.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/rig_source.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/templates_image.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/scripts/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/scripts/helper-init.sh +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/scripts/import-directives.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/scripts/kanibako-entry +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/scripts/kanibako-secrets.sh +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/agent_config.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/agent_defaults.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/agent_file.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/agent_representation.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/agent_select.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/config.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/config_dest.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/config_display.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/config_interface.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/config_io.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/config_keys.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/core_defaults.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/defaults_inventory.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/kb_store.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/keyspace_manifest.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/keystore.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/keystore_strings.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/paths.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/paths_defaults.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_assemble.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_categories.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_cli_level.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_configset.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_expand.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_keyspace.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_launch.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_merge.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_prefs.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_resolve.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_views.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/store_collapse.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/store_shape.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings_resolve.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/snapshots.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/targets/assembly.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/targets/base.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/targets/credsync.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/targets/no_agent.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/tweakcc.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/tweakcc_cache.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/utils.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/vscode/__init__.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/vscode/vscode_config.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/vscode/vscode_remote.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/vscode_config.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako_cli.egg-info/SOURCES.txt +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako_cli.egg-info/dependency_links.txt +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako_cli.egg-info/entry_points.txt +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako_cli.egg-info/requires.txt +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako_cli.egg-info/top_level.txt +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_agent_ref.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_agent_resolution.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_archive_restore_integration.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_atomic.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_auth_browser.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_auth_parser.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_box_lifecycle.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_box_supervisor.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_browser_sidecar.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_browser_state.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_bun_sea.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_canon_delivery.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_canon_lifecycle_deletion.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_categories_live.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_category_collisions.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_cli.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_cli_exitcodes.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_comms.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_create_recovery.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_credentials.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_delivery_manifest.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_env_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_error_messages.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_explicit_create.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_flawed_oracle.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_fork.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_git.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_helper_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_import.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_import_directives.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_import_recovery.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_init_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_install_integration.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_instructions_bind.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_kuid.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_lifecycle_integration.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_log.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_meta_pin.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_persona_config_set.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_persona_store.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_plugin_import_compat.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_protected_tree_cleanup.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_resource_scoping.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_safety_invariants.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_seed_hostdest.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_setup_cmd.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_snapshots.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_start_integration.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_status.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_tweakcc.py +0 -0
- {kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_utils.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "kanibako-cli"
|
|
7
|
-
version = "1.8.0.
|
|
7
|
+
version = "1.8.0.dev98"
|
|
8
8
|
description = "Run AI coding agents in rootless containers with per-project isolation"
|
|
9
9
|
requires-python = ">=3.11"
|
|
10
10
|
dependencies = ["argcomplete>=3.0", "PyYAML>=6.0", "packaging>=20.0"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""kanibako: Run AI coding agents in rootless containers with per-project isolation."""
|
|
2
2
|
|
|
3
|
-
__version__ = "1.8.0.
|
|
3
|
+
__version__ = "1.8.0.dev98"
|
|
4
4
|
|
|
5
5
|
# Two-tier setup/config compatibility constants for the 5-band setup-completion
|
|
6
6
|
# gate (design: ``plans/2026-06-23-setup-version-tiers-NEXT.md``). Both are
|
|
@@ -6,6 +6,7 @@ import importlib
|
|
|
6
6
|
import importlib.util
|
|
7
7
|
import logging
|
|
8
8
|
import pkgutil
|
|
9
|
+
import sys
|
|
9
10
|
from importlib.metadata import entry_points
|
|
10
11
|
from pathlib import Path
|
|
11
12
|
|
|
@@ -20,6 +21,12 @@ __all__ = [
|
|
|
20
21
|
|
|
21
22
|
logger = logging.getLogger(__name__)
|
|
22
23
|
|
|
24
|
+
# Entry points whose load() already failed, so the stderr warning is emitted ONCE
|
|
25
|
+
# per process. ``discover_targets`` is called many times per command (selection,
|
|
26
|
+
# setup's agent menu, the target resolve), and repeating the same paragraph on
|
|
27
|
+
# every call would bury the rest of the output.
|
|
28
|
+
_EP_LOAD_FAILED: set[str] = set()
|
|
29
|
+
|
|
23
30
|
|
|
24
31
|
def _scan_plugin_modules(targets: dict[str, type[Target]]) -> None:
|
|
25
32
|
"""Scan ``kanibako.plugins.*`` for Target subclasses (bind-mount fallback).
|
|
@@ -119,7 +126,45 @@ def discover_targets(project_path: Path | None = None) -> dict[str, type[Target]
|
|
|
119
126
|
# avoid clashing with this entry-point registry. Do not "unify".
|
|
120
127
|
eps = entry_points(group="kanibako.agents")
|
|
121
128
|
for ep in eps:
|
|
122
|
-
|
|
129
|
+
# ⚑⚑ ONE BROKEN ADAPTER MUST NOT TAKE THE WHOLE CLI DOWN. ``ep.load()``
|
|
130
|
+
# imports third-party code, and an adapter built against a different
|
|
131
|
+
# kanibako-cli raises ImportError from its own module body. Unguarded,
|
|
132
|
+
# that propagated out of discovery and killed whatever command called it
|
|
133
|
+
# — as a raw traceback, from a plugin the user was not even using, since
|
|
134
|
+
# agent SELECTION enumerates every entry point. Worse, ``setup_cmd``
|
|
135
|
+
# calls this too, so the documented cure (`kanibako setup`) died the same
|
|
136
|
+
# way and hand-editing site-packages was the only way back in. MEASURED
|
|
137
|
+
# 2026-08-17 with a stale kanibako-agent-goose: three sequential
|
|
138
|
+
# dead-ends, three manual edits.
|
|
139
|
+
#
|
|
140
|
+
# The two FALLBACK scanners below have always tolerated a failing plugin
|
|
141
|
+
# (``logger.debug`` + continue); this loop is the primary path and was the
|
|
142
|
+
# only one that did not. Skip-and-warn brings it in line.
|
|
143
|
+
#
|
|
144
|
+
# WARN, never swallow: a pip-installed adapter that cannot load is a
|
|
145
|
+
# broken install the user must know about, so this goes to stderr with
|
|
146
|
+
# the cure — unlike the fallbacks' debug-level note, which covers
|
|
147
|
+
# optional bind-mount/file-drop paths where absence is routine.
|
|
148
|
+
try:
|
|
149
|
+
cls = ep.load()
|
|
150
|
+
except Exception as exc:
|
|
151
|
+
if ep.name not in _EP_LOAD_FAILED:
|
|
152
|
+
_EP_LOAD_FAILED.add(ep.name)
|
|
153
|
+
dist = getattr(getattr(ep, "dist", None), "name", None)
|
|
154
|
+
who = f"'{dist}'" if dist else f"the '{ep.name}' agent plugin"
|
|
155
|
+
print(
|
|
156
|
+
f"Warning: {who} failed to load and is being SKIPPED: "
|
|
157
|
+
f"{type(exc).__name__}: {exc}\n"
|
|
158
|
+
f" The '{ep.name}' agent is unavailable; every other agent, "
|
|
159
|
+
f"and 'kanibako setup', still work. This usually means the "
|
|
160
|
+
f"package was built against a different kanibako-cli — "
|
|
161
|
+
f"upgrade it, or uninstall it if you do not use it.",
|
|
162
|
+
file=sys.stderr,
|
|
163
|
+
)
|
|
164
|
+
logger.debug(
|
|
165
|
+
"entry point %s failed to load", ep.name, exc_info=True,
|
|
166
|
+
)
|
|
167
|
+
continue
|
|
123
168
|
targets[ep.name] = cls
|
|
124
169
|
|
|
125
170
|
# Fallback: scan kanibako.plugins.* for bind-mounted plugins
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/channels/helper_client.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/channels/helper_listener.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
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/box/_duplicate.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/commands/box/_lifecycle.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/global/rom/COLLECTION.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
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/data/keyspace-manifest.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
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/project/import_reconcile.py
RENAMED
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/project/registry_store.py
RENAMED
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/project/workset_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/containerfiles.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
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/runtime/templates_image.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/scripts/import-directives.py
RENAMED
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/scripts/kanibako-secrets.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/agent_defaults.py
RENAMED
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/agent_representation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/config_display.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/config_interface.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/core_defaults.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/defaults_inventory.py
RENAMED
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/keyspace_manifest.py
RENAMED
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/keystore_strings.py
RENAMED
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/paths_defaults.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_assemble.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_categories.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_cli_level.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_configset.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_expand.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_keyspace.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_launch.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_merge.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_prefs.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_resolve.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/settings_views.py
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako/settings/store_collapse.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
|
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako_cli.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako_cli.egg-info/requires.txt
RENAMED
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/src/kanibako_cli.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_archive_restore_integration.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
|
{kanibako_cli-1.8.0.dev95 → kanibako_cli-1.8.0.dev98}/tests/test_canon_lifecycle_deletion.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|