labnotes 0.0.90__tar.gz → 0.0.92__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.
- {labnotes-0.0.90 → labnotes-0.0.92}/PKG-INFO +1 -1
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/experiment_screen.py +7 -1
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/experiments_screen.py +5 -1
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/reload_on_change.py +7 -2
- labnotes-0.0.92/src/labnotes/tui/stopped_title.py +3 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/.gitignore +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/CHANGELOG.md +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/MIGRATIONS.md +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/README.md +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/pyproject.toml +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/__init__.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/__main__.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/asset_url.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/check_counts.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/cli.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/context.md +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/context_guide.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/count_groups.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/count_runs.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/create_app.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/create_experiment.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/create_note.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/__init__.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/control_run.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/daemon_app.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/daemon_client.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/daemon_running.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/daemon_server.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/describe_status.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/ensure_daemon.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/exit_when_idle.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/remote_start.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/run_daemon.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/run_logs.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/serve_daemon.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/socket_path.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/stop_runs.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/watch_daemon.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon/watch_status.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/daemon_command.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/data_html.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/default_config_text.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/default_counts.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/drain_watch.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/experiment_notes.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/experiment_runs.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/experiments.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/file_changes.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/format_duration.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/format_started.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/format_value.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/group_runs.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/init.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/invocation_started.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/is_positive_int.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/list_experiments.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/list_runs.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/load_config.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/load_experiment.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/load_run.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/models.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/modes.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/nests_runs.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/note_path.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/notebook_kernel.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/output_html.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/parse_run_view.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/print_rows.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/python_blocks.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/read_config.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/read_path.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/render_markdown.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/run_command.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/run_control.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/run_output.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/run_status.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/__init__.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/describe_event.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/execute_run.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/hold_folder.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/new_param_run_id.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/new_run_id.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/new_stamped_run_id.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/param_args.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/param_grid.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/param_run_name.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/plan_runs.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/prepare_experiment.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/read_experiment_config.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/run_experiment.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/run_folder.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/run_headless.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/runs_parent.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/shell_command.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/signal_tree.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/stop_then_kill.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/wait_for_tree.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/runner/write_run_json.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/save_conflict_copy.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/save_note.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/saved_outputs.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/serve_app.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/server.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/shared_params.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/sort_href.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/sql_quote.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/elapsed.js +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/experiment.js +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/labnotes.css +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/local-time.js +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/new-note.js +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/note-edit.js +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/note-editor.js +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/row-link.js +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/run-cell.js +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/run-output.js +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/static/view-toggle.js +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/summarize_config.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/__init__.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/experiment_rows.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/experiment_run_ids.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/file_prefix.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/file_text.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/iso_time.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/list_experiment_runs.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/note_text.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/open_tables.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/path_glob.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/path_pattern.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/read_experiment.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/read_file.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/read_log.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/read_run.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tables/summarize_experiments.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/templates/base.html +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/templates/editor_imports.html +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/templates/experiment.html +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/templates/index.html +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/templates/note.html +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/templates/run.html +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/__init__.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/browse_app.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/browse_tui.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/dim.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/fill_table.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/format_elapsed.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/group_cells.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/invocation_columns.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/invocation_rows.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/run_app.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/run_cells.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/run_output.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/run_screen.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/run_tui.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/tui/runs_table.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/wait_for_note.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/src/labnotes/watch_rows.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/testing-conventions.toml +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/tests/integration/conftest.py +0 -0
- {labnotes-0.0.90 → labnotes-0.0.92}/uv.lock +0 -0
|
@@ -16,6 +16,7 @@ from labnotes.tui.invocation_rows import invocation_rows
|
|
|
16
16
|
from labnotes.tui.reload_on_change import reload_on_change
|
|
17
17
|
from labnotes.tui.run_screen import RunScreen
|
|
18
18
|
from labnotes.tui.runs_table import RunsTable
|
|
19
|
+
from labnotes.tui.stopped_title import stopped_title
|
|
19
20
|
from labnotes.watch_rows import watch_rows
|
|
20
21
|
|
|
21
22
|
WATCHED = {"runs", "experiment_configs"}
|
|
@@ -44,7 +45,9 @@ class ExperimentScreen(Screen[None]):
|
|
|
44
45
|
self.sub_title = self.experiment_name
|
|
45
46
|
self.run_worker(
|
|
46
47
|
reload_on_change(
|
|
47
|
-
watch_rows(self.tables, WATCHED, self.experiment_name),
|
|
48
|
+
watch_rows(self.tables, WATCHED, self.experiment_name),
|
|
49
|
+
self.load,
|
|
50
|
+
self.stopped,
|
|
48
51
|
),
|
|
49
52
|
exit_on_error=False,
|
|
50
53
|
)
|
|
@@ -53,6 +56,9 @@ class ExperimentScreen(Screen[None]):
|
|
|
53
56
|
if event.state == WorkerState.ERROR:
|
|
54
57
|
self.app.exit(event.worker.error)
|
|
55
58
|
|
|
59
|
+
def stopped(self, error: BaseException | None) -> None:
|
|
60
|
+
self.sub_title = stopped_title(self.sub_title, error)
|
|
61
|
+
|
|
56
62
|
async def load(self) -> None:
|
|
57
63
|
loaded = await load_experiment(
|
|
58
64
|
self.tables,
|
|
@@ -10,6 +10,7 @@ from labnotes.tui.experiment_screen import ExperimentScreen
|
|
|
10
10
|
from labnotes.tui.fill_table import fill_table
|
|
11
11
|
from labnotes.tui.reload_on_change import reload_on_change
|
|
12
12
|
from labnotes.tui.runs_table import RunsTable
|
|
13
|
+
from labnotes.tui.stopped_title import stopped_title
|
|
13
14
|
from labnotes.watch_rows import watch_rows
|
|
14
15
|
|
|
15
16
|
WATCHED = {"files", "runs", "experiment_configs"}
|
|
@@ -28,7 +29,7 @@ class ExperimentsScreen(Screen[None]):
|
|
|
28
29
|
|
|
29
30
|
def on_mount(self) -> None:
|
|
30
31
|
self.run_worker(
|
|
31
|
-
reload_on_change(watch_rows(self.tables, WATCHED), self.load),
|
|
32
|
+
reload_on_change(watch_rows(self.tables, WATCHED), self.load, self.stopped),
|
|
32
33
|
exit_on_error=False,
|
|
33
34
|
)
|
|
34
35
|
|
|
@@ -36,6 +37,9 @@ class ExperimentsScreen(Screen[None]):
|
|
|
36
37
|
if event.state == WorkerState.ERROR:
|
|
37
38
|
self.app.exit(event.worker.error)
|
|
38
39
|
|
|
40
|
+
def stopped(self, error: BaseException | None) -> None:
|
|
41
|
+
self.sub_title = stopped_title(self.sub_title, error)
|
|
42
|
+
|
|
39
43
|
async def load(self) -> None:
|
|
40
44
|
rows = await summarize_experiments(self.tables)
|
|
41
45
|
self.sub_title = "" if rows else "No experiments."
|
|
@@ -3,7 +3,9 @@ from collections.abc import AsyncIterable, Awaitable, Callable
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
async def reload_on_change(
|
|
6
|
-
changes: AsyncIterable[object],
|
|
6
|
+
changes: AsyncIterable[object],
|
|
7
|
+
reload: Callable[[], Awaitable[None]],
|
|
8
|
+
stopped: Callable[[BaseException | None], None],
|
|
7
9
|
) -> None:
|
|
8
10
|
# Changes that land during a reload collapse into one more reload.
|
|
9
11
|
stale = asyncio.Event()
|
|
@@ -13,10 +15,13 @@ async def reload_on_change(
|
|
|
13
15
|
stale.set()
|
|
14
16
|
|
|
15
17
|
marker = asyncio.create_task(mark())
|
|
18
|
+
marker.add_done_callback(lambda _: stale.set())
|
|
16
19
|
try:
|
|
17
|
-
while
|
|
20
|
+
while not marker.done():
|
|
18
21
|
await reload()
|
|
19
22
|
await stale.wait()
|
|
20
23
|
stale.clear()
|
|
24
|
+
await reload()
|
|
25
|
+
stopped(marker.exception())
|
|
21
26
|
finally:
|
|
22
27
|
marker.cancel()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|