wexample-wex-addon-dev-python 10.0.0__tar.gz → 10.1.1__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.
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/PKG-INFO +10 -10
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/README.md +5 -5
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/pyproject.toml +5 -5
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/workdir/python_workdir.py +12 -3
- wexample_wex_addon_dev_python-10.1.1/tests/helpers/__init__.py +0 -0
- wexample_wex_addon_dev_python-10.1.1/tests/helpers/test_pdm.py +68 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/code/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/code/check/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/code/check/mypy.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/code/check/pylint.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/code/check/pyright.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/code/check.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/code/format/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/code/format/black.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/code/format/isort.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/code/format.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/examples/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/examples/utils/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/examples/utils/some_example_type.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/examples/validate.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/commands/release/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/common/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/common/pypi_registry_gateway.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/config_value/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/config_value/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/config_value/python_package_readme_config_value.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/const/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/const/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/const/package.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/const/python.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/const/tags.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/file/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/file/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/file/python_app_iml_file.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/file/python_pyproject_toml_file.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/helpers/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/helpers/pdm.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/middleware/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/middleware/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/middleware/each_python_file_middleware.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/py.typed +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/python_addon_manager.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/resources/.wex.yml +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/resources/docker/Dockerfile.python-profiling +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/resources/package_publish_gitlab.yml +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/resources/readme_templates/tests.md.j2 +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/app_service.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/commands/service/install.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/commands/service/setup.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/samples/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/samples/docker/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/samples/docker/entrypoint.sh +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/samples/docker/images/Dockerfile.base +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/samples/docker/images/Dockerfile.develop +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/samples/docker/images/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/services/python/service.yml +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/workdir/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/workdir/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/workdir/mixin/__init__.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/workdir/mixin/with_profiling_python_workdir_mixin.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/workdir/python_package_workdir.py +0 -0
- {wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/workdir/python_packages_suite_workdir.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: wexample-wex-addon-dev-python
|
|
3
|
-
Version: 10.
|
|
3
|
+
Version: 10.1.1
|
|
4
4
|
Summary: Python dev addon for wex
|
|
5
5
|
Author-Email: weeger <contact@wexample.com>
|
|
6
6
|
License: MIT
|
|
@@ -15,10 +15,10 @@ Requires-Dist: griffe>=2.0.2
|
|
|
15
15
|
Requires-Dist: networkx
|
|
16
16
|
Requires-Dist: pylint
|
|
17
17
|
Requires-Dist: pyright
|
|
18
|
-
Requires-Dist: wexample-api>=6.
|
|
19
|
-
Requires-Dist: wexample-filestate-python>=
|
|
20
|
-
Requires-Dist: wexample-wex-addon-ai>=
|
|
21
|
-
Requires-Dist: wexample-wex-addon-app>=25.
|
|
18
|
+
Requires-Dist: wexample-api>=6.4.0
|
|
19
|
+
Requires-Dist: wexample-filestate-python>=7.0.0
|
|
20
|
+
Requires-Dist: wexample-wex-addon-ai>=10.0.0
|
|
21
|
+
Requires-Dist: wexample-wex-addon-app>=25.2.0
|
|
22
22
|
Provides-Extra: dev
|
|
23
23
|
Requires-Dist: pytest; extra == "dev"
|
|
24
24
|
Requires-Dist: pytest-cov; extra == "dev"
|
|
@@ -26,7 +26,7 @@ Description-Content-Type: text/markdown
|
|
|
26
26
|
|
|
27
27
|
# wex_addon_dev_python
|
|
28
28
|
|
|
29
|
-
Version: 10.
|
|
29
|
+
Version: 10.1.1
|
|
30
30
|
|
|
31
31
|
Python dev addon for wex
|
|
32
32
|
|
|
@@ -112,10 +112,10 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
|
|
|
112
112
|
- networkx:
|
|
113
113
|
- pylint:
|
|
114
114
|
- pyright:
|
|
115
|
-
- wexample-api: >=6.
|
|
116
|
-
- wexample-filestate-python: >=
|
|
117
|
-
- wexample-wex-addon-ai: >=
|
|
118
|
-
- wexample-wex-addon-app: >=25.
|
|
115
|
+
- wexample-api: >=6.4.0
|
|
116
|
+
- wexample-filestate-python: >=7.0.0
|
|
117
|
+
- wexample-wex-addon-ai: >=10.0.0
|
|
118
|
+
- wexample-wex-addon-app: >=25.2.0
|
|
119
119
|
|
|
120
120
|
## Versioning & Compatibility Policy
|
|
121
121
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# wex_addon_dev_python
|
|
2
2
|
|
|
3
|
-
Version: 10.
|
|
3
|
+
Version: 10.1.1
|
|
4
4
|
|
|
5
5
|
Python dev addon for wex
|
|
6
6
|
|
|
@@ -86,10 +86,10 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
|
|
|
86
86
|
- networkx:
|
|
87
87
|
- pylint:
|
|
88
88
|
- pyright:
|
|
89
|
-
- wexample-api: >=6.
|
|
90
|
-
- wexample-filestate-python: >=
|
|
91
|
-
- wexample-wex-addon-ai: >=
|
|
92
|
-
- wexample-wex-addon-app: >=25.
|
|
89
|
+
- wexample-api: >=6.4.0
|
|
90
|
+
- wexample-filestate-python: >=7.0.0
|
|
91
|
+
- wexample-wex-addon-ai: >=10.0.0
|
|
92
|
+
- wexample-wex-addon-app: >=25.2.0
|
|
93
93
|
|
|
94
94
|
## Versioning & Compatibility Policy
|
|
95
95
|
|
{wexample_wex_addon_dev_python-10.0.0 → wexample_wex_addon_dev_python-10.1.1}/pyproject.toml
RENAMED
|
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "wexample-wex-addon-dev-python"
|
|
9
|
-
version = "10.
|
|
9
|
+
version = "10.1.1"
|
|
10
10
|
description = "Python dev addon for wex"
|
|
11
11
|
authors = [
|
|
12
12
|
{ name = "weeger", email = "contact@wexample.com" },
|
|
@@ -24,10 +24,10 @@ dependencies = [
|
|
|
24
24
|
"networkx",
|
|
25
25
|
"pylint",
|
|
26
26
|
"pyright",
|
|
27
|
-
"wexample-api>=6.
|
|
28
|
-
"wexample-filestate-python>=
|
|
29
|
-
"wexample-wex-addon-ai>=
|
|
30
|
-
"wexample-wex-addon-app>=25.
|
|
27
|
+
"wexample-api>=6.4.0",
|
|
28
|
+
"wexample-filestate-python>=7.0.0",
|
|
29
|
+
"wexample-wex-addon-ai>=10.0.0",
|
|
30
|
+
"wexample-wex-addon-app>=25.2.0",
|
|
31
31
|
]
|
|
32
32
|
|
|
33
33
|
[project.readme]
|
|
@@ -306,9 +306,18 @@ class PythonWorkdir(
|
|
|
306
306
|
format = format or PYTHON_PYTEST_COV_FORMAT_JSON
|
|
307
307
|
self.shell_run_for_app(cmd=self.test_get_command(format=format))
|
|
308
308
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
309
|
+
# pytest-cov writes no report at all when nothing was measured
|
|
310
|
+
# (e.g. tests that never import the covered module) — a legitimate
|
|
311
|
+
# outcome it signals with a warning, not a failure.
|
|
312
|
+
json_path = self.get_path() / PYTHON_FILE_PYTEST_COVERAGE_JSON
|
|
313
|
+
if not json_path.exists():
|
|
314
|
+
self.warning(
|
|
315
|
+
"Tests passed but coverage collected no data "
|
|
316
|
+
"(covered module never imported); no report stored."
|
|
317
|
+
)
|
|
318
|
+
return
|
|
319
|
+
|
|
320
|
+
json_file = JsonFile.create_from_path(path=json_path)
|
|
312
321
|
totals = json_file.read_config().search("totals", default={}).get_dict()
|
|
313
322
|
|
|
314
323
|
from wexample_helpers_git.helpers.git import git_get_current_commit_hash
|
|
File without changes
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import pathlib
|
|
4
|
+
import shutil
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
import pytest
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def test_apply_pdm_bin_dir_noop_when_already_present(
|
|
11
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
12
|
+
) -> None:
|
|
13
|
+
from wexample_wex_addon_dev_python.helpers.pdm import apply_pdm_bin_dir
|
|
14
|
+
|
|
15
|
+
monkeypatch.setenv("PATH", "/opt/bin:/usr/bin")
|
|
16
|
+
apply_pdm_bin_dir("/opt/bin")
|
|
17
|
+
|
|
18
|
+
import os
|
|
19
|
+
|
|
20
|
+
assert os.environ["PATH"] == "/opt/bin:/usr/bin"
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def test_apply_pdm_bin_dir_prepends_when_absent(
|
|
24
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
25
|
+
) -> None:
|
|
26
|
+
from wexample_wex_addon_dev_python.helpers.pdm import apply_pdm_bin_dir
|
|
27
|
+
|
|
28
|
+
monkeypatch.setenv("PATH", "/usr/bin")
|
|
29
|
+
apply_pdm_bin_dir("/opt/bin")
|
|
30
|
+
|
|
31
|
+
import os
|
|
32
|
+
|
|
33
|
+
assert os.environ["PATH"] == "/opt/bin:/usr/bin"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def test_detect_pdm_bin_dir_returns_local_bin_when_present(
|
|
37
|
+
monkeypatch: pytest.MonkeyPatch, tmp_path: Path
|
|
38
|
+
) -> None:
|
|
39
|
+
from wexample_wex_addon_dev_python.helpers.pdm import detect_pdm_bin_dir
|
|
40
|
+
|
|
41
|
+
monkeypatch.setattr(shutil, "which", lambda _: None)
|
|
42
|
+
monkeypatch.setattr(pathlib.Path, "home", classmethod(lambda cls: tmp_path))
|
|
43
|
+
local_bin = tmp_path / ".local" / "bin"
|
|
44
|
+
local_bin.mkdir(parents=True)
|
|
45
|
+
(local_bin / "pdm").write_text("#!/bin/sh\n")
|
|
46
|
+
|
|
47
|
+
assert detect_pdm_bin_dir() == str(local_bin)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def test_detect_pdm_bin_dir_returns_none_when_nowhere(
|
|
51
|
+
monkeypatch: pytest.MonkeyPatch, tmp_path: Path
|
|
52
|
+
) -> None:
|
|
53
|
+
from wexample_wex_addon_dev_python.helpers.pdm import detect_pdm_bin_dir
|
|
54
|
+
|
|
55
|
+
monkeypatch.setattr(shutil, "which", lambda _: None)
|
|
56
|
+
monkeypatch.setattr(pathlib.Path, "home", classmethod(lambda cls: tmp_path))
|
|
57
|
+
|
|
58
|
+
assert detect_pdm_bin_dir() is None
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def test_detect_pdm_bin_dir_returns_none_when_pdm_on_path(
|
|
62
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
63
|
+
) -> None:
|
|
64
|
+
from wexample_wex_addon_dev_python.helpers.pdm import detect_pdm_bin_dir
|
|
65
|
+
|
|
66
|
+
monkeypatch.setattr(shutil, "which", lambda _: "/usr/bin/pdm")
|
|
67
|
+
|
|
68
|
+
assert detect_pdm_bin_dir() is None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|