wexample-wex-addon-dev-python 10.1.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.1.0 → wexample_wex_addon_dev_python-10.1.1}/PKG-INFO +10 -10
- {wexample_wex_addon_dev_python-10.1.0 → wexample_wex_addon_dev_python-10.1.1}/README.md +5 -5
- {wexample_wex_addon_dev_python-10.1.0 → wexample_wex_addon_dev_python-10.1.1}/pyproject.toml +5 -5
- 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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/workdir/python_packages_suite_workdir.py +0 -0
- {wexample_wex_addon_dev_python-10.1.0 → wexample_wex_addon_dev_python-10.1.1}/src/wexample_wex_addon_dev_python/workdir/python_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.1.
|
|
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.1.
|
|
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.1.
|
|
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.1.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.1.
|
|
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]
|
|
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
|
|
File without changes
|