gemcode 0.4.15__tar.gz → 0.4.16__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.
- {gemcode-0.4.15/src/gemcode.egg-info → gemcode-0.4.16}/PKG-INFO +1 -1
- {gemcode-0.4.15 → gemcode-0.4.16}/pyproject.toml +1 -1
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/agent_mesh.py +35 -1
- {gemcode-0.4.15 → gemcode-0.4.16/src/gemcode.egg-info}/PKG-INFO +1 -1
- {gemcode-0.4.15 → gemcode-0.4.16}/LICENSE +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/MANIFEST.in +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/README.md +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/setup.cfg +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/__init__.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/__main__.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/a2a_bridge.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/agent.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/agent_habits.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/agent_intelligence.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/agent_triggers.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/audit.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/autocompact.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/automations.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/autotune.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/callbacks.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/capability_routing.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/checkpoints.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/cli.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/codebase_awareness.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/compaction.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/computer_use/__init__.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/computer_use/browser_computer.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/config.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/context_budget.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/context_warning.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/credentials.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/curated_memory.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/delegation_learning.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/dynamic_policy.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/evals/harness.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/event_bus.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/fleet_reports.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/hitl_session.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/hooks.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/ide_protocol.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/ide_stdio.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/intent_classifier.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/interactions.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/invoke.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/kaira_client.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/kaira_daemon.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/kaira_ipc.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/kaira_job_store.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/learning.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/limits.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/live_audio_engine.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/logging_config.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/mcp_loader.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/memory/__init__.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/memory/embedding_memory_service.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/memory/file_memory_service.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/modality_tools.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/model_errors.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/model_routing.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/multimodal_input.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/openapi_loader.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/org.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/output_styles.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/paths.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/permissions.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/plugins/__init__.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/plugins/terminal_hooks_plugin.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/plugins/tool_recovery_plugin.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/policy_profile.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/pricing.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/prompt_suggestions.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/query/__init__.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/query/config.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/query/deps.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/query/engine.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/query/stop_hooks.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/query/token_budget.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/query/transitions.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/query_sanitizer.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/refine.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/repl_commands.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/repl_slash.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/review_agent.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/rules.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/self_healing.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/session_runtime.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/session_store.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/session_summariser.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/skills.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/slash_commands.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/thinking.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tool_prompt_manifest.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tool_registry.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tool_result_store.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tool_synthesis.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/__init__.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/automations_tools.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/bash.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/browser.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/compress_memory.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/curated_memory.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/edit.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/filesystem.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/notebook.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/notes.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/org_tools.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/repo_map.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/search.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/shell.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/shell_gate.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/skills.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/subtask.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/tasks.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/think.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/todo.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/user_choice.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/veomem_tools.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/web.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools/web_search.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tools_inspector.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/trust.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tui/input_handler.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tui/scrollback.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tui/spinner.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tui/welcome_banner.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/tui/welcome_rich.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/veomem_bridge.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/version.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/vertex.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/wal.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/web/__init__.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/web/sse_adapter.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/web/terminal_repl.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/web/web_sse_compat.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode/workspace_hints.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode.egg-info/SOURCES.txt +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode.egg-info/dependency_links.txt +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode.egg-info/entry_points.txt +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode.egg-info/requires.txt +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/src/gemcode.egg-info/top_level.txt +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_add_dir.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_agent_habits.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_agent_instruction.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_agent_mesh.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_autocompact.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_automations.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_capability_routing.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_checkpoint_diff_command.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_cli_init.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_compress_memory_tool.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_computer_use_permissions.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_context_budget.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_context_warning.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_credentials.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_eval_harness_layout.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_event_bus.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_fleet_reports.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_ide_stdio_attachments.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_interactive_permission_ask.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_kaira_ipc_paths.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_kaira_scheduler.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_modality_tools.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_model_error_retry.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_model_errors.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_model_routing.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_multimodal_input.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_output_styles_and_rules.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_paths.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_permissions.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_prompt_suggestions.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_repl_commands.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_repl_slash.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_session_runtime_cache.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_skills.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_slash_commands.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_slash_completion_registry.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_thinking_config.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_token_budget.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_tool_context_circulation.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_tools.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_tools_inspector.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_web_sse_adapter.py +0 -0
- {gemcode-0.4.15 → gemcode-0.4.16}/tests/test_workspace_hints.py +0 -0
|
@@ -395,7 +395,10 @@ class AgentMesh:
|
|
|
395
395
|
|
|
396
396
|
# Nested wait=True from inside a running mesh job would deadlock the scheduler
|
|
397
397
|
# (parent holds a concurrency slot while the child waits for another slot).
|
|
398
|
-
|
|
398
|
+
# Only use the inline path on the mesh thread: the manager runs on a different
|
|
399
|
+
# event loop; _mesh_job_depth can be >0 while a habit runs, but inline
|
|
400
|
+
# _run_job_inner must not run there (asyncio locks / ADK are mesh-loop-local).
|
|
401
|
+
if self._is_on_mesh_thread() and self._mesh_job_depth > 0:
|
|
399
402
|
job_id = f"mesh_{uuid.uuid4().hex[:10]}"
|
|
400
403
|
with self._enqueue_lock:
|
|
401
404
|
self._seq += 1
|
|
@@ -868,12 +871,41 @@ class AgentMesh:
|
|
|
868
871
|
_global_mesh: AgentMesh | None = None
|
|
869
872
|
|
|
870
873
|
|
|
874
|
+
def _sync_mesh_cfg_project_root(mesh: AgentMesh, cfg: GemCodeConfig) -> None:
|
|
875
|
+
"""
|
|
876
|
+
Keep the singleton aligned with the active manager ``cfg.project_root``.
|
|
877
|
+
|
|
878
|
+
If the mesh was created from a different cwd than a later ``ensure_mesh`` /
|
|
879
|
+
``get_mesh`` (e.g. ``-C``), habits/triggers/fleet would otherwise read the
|
|
880
|
+
wrong ``.gemcode/`` tree while the UI used another.
|
|
881
|
+
"""
|
|
882
|
+
try:
|
|
883
|
+
cur = Path(mesh.cfg.project_root).resolve()
|
|
884
|
+
nxt = Path(cfg.project_root).resolve()
|
|
885
|
+
if cur == nxt:
|
|
886
|
+
return
|
|
887
|
+
mesh.cfg.project_root = cfg.project_root
|
|
888
|
+
if mesh._trigger_engine is not None:
|
|
889
|
+
mesh._trigger_engine.cfg = mesh.cfg
|
|
890
|
+
mesh._trigger_engine.reload()
|
|
891
|
+
if mesh._habit_scheduler is not None:
|
|
892
|
+
mesh._habit_scheduler.cfg = mesh.cfg
|
|
893
|
+
if mesh._learner is not None:
|
|
894
|
+
mesh._learner.cfg = mesh.cfg
|
|
895
|
+
if mesh._self_healing is not None:
|
|
896
|
+
mesh._self_healing.cfg = mesh.cfg
|
|
897
|
+
except Exception:
|
|
898
|
+
pass
|
|
899
|
+
|
|
900
|
+
|
|
871
901
|
def get_mesh(cfg: GemCodeConfig | None = None) -> AgentMesh | None:
|
|
872
902
|
"""Get or create the global agent mesh."""
|
|
873
903
|
global _global_mesh
|
|
874
904
|
if _global_mesh is None and cfg is not None:
|
|
875
905
|
concurrency = int(os.environ.get("GEMCODE_MESH_CONCURRENCY", "3"))
|
|
876
906
|
_global_mesh = AgentMesh(cfg, max_concurrency=concurrency)
|
|
907
|
+
elif _global_mesh is not None and cfg is not None:
|
|
908
|
+
_sync_mesh_cfg_project_root(_global_mesh, cfg)
|
|
877
909
|
return _global_mesh
|
|
878
910
|
|
|
879
911
|
|
|
@@ -883,6 +915,8 @@ def ensure_mesh(cfg: GemCodeConfig) -> AgentMesh:
|
|
|
883
915
|
if _global_mesh is None:
|
|
884
916
|
concurrency = int(os.environ.get("GEMCODE_MESH_CONCURRENCY", "3"))
|
|
885
917
|
_global_mesh = AgentMesh(cfg, max_concurrency=concurrency)
|
|
918
|
+
else:
|
|
919
|
+
_sync_mesh_cfg_project_root(_global_mesh, cfg)
|
|
886
920
|
return _global_mesh
|
|
887
921
|
|
|
888
922
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|