InterpolatePy 1.0.1__tar.gz → 1.0.2__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.
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/.github/workflows/test.yml +1 -2
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/InterpolatePy.egg-info/PKG-INFO +37 -24
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/InterpolatePy.egg-info/SOURCES.txt +0 -1
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/InterpolatePy.egg-info/requires.txt +1 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/PKG-INFO +37 -24
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/README.md +35 -23
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/version.py +1 -1
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/pyproject.toml +1 -24
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/requirements-dev.txt +0 -2
- interpolatepy-1.0.1/codecov.yml +0 -8
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/.editorconfig +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/.gitattributes +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/.github/workflows/pre-commit.yml +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/.github/workflows/publish.yml +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/.gitignore +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/.pre-commit-config.yaml +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/InterpolatePy.egg-info/dependency_links.txt +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/InterpolatePy.egg-info/top_level.txt +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/LICENSE +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/b_spline_approx_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/b_spline_cubic_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/b_spline_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/b_spline_interpolate_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/b_spline_smooth_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/c_s_smoot_search_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/c_s_smoothing_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/c_s_with_acc1_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/c_s_with_acc2_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/cubic_spline_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/double_s_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/frenet_frame_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/linear_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/main.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/polynomials_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/simple_paths_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/examples/trapezoidal_ex.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/__init__.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/b_spline.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/b_spline_approx.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/b_spline_cubic.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/b_spline_interpolate.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/b_spline_smooth.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/c_s_smoot_search.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/c_s_smoothing.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/c_s_with_acc1.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/c_s_with_acc2.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/cubic_spline.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/double_s.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/frenet_frame.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/linear.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/polynomials.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/simple_paths.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/trapezoidal.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/interpolatepy/tridiagonal_inv.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/requirements.txt +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/setup.cfg +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/tests/__init__.py +0 -0
- {interpolatepy-1.0.1 → interpolatepy-1.0.2}/tests/inv_test.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: InterpolatePy
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
4
4
|
Summary: This is a lib on interpolations in python.
|
|
5
5
|
Author-email: Giorgio Medico <giorgio.medico11@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -22,6 +22,7 @@ Description-Content-Type: text/markdown
|
|
|
22
22
|
License-File: LICENSE
|
|
23
23
|
Requires-Dist: numpy>=2.0.0
|
|
24
24
|
Requires-Dist: matplotlib>=3.10.1
|
|
25
|
+
Requires-Dist: scipy>=1.15.2
|
|
25
26
|
Provides-Extra: test
|
|
26
27
|
Requires-Dist: pytest; extra == "test"
|
|
27
28
|
Requires-Dist: pytest-cov; extra == "test"
|
|
@@ -46,20 +47,41 @@ Dynamic: license-file
|
|
|
46
47
|
|
|
47
48
|
## Table of Contents
|
|
48
49
|
|
|
49
|
-
- [
|
|
50
|
-
- [
|
|
51
|
-
- [
|
|
52
|
-
- [
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- [
|
|
56
|
-
- [
|
|
57
|
-
- [
|
|
58
|
-
- [
|
|
59
|
-
- [
|
|
60
|
-
- [
|
|
61
|
-
- [
|
|
62
|
-
- [
|
|
50
|
+
- [InterpolatePy](#interpolatepy)
|
|
51
|
+
- [Table of Contents](#table-of-contents)
|
|
52
|
+
- [Overview](#overview)
|
|
53
|
+
- [Key Features](#key-features)
|
|
54
|
+
- [Spline Interpolation](#spline-interpolation)
|
|
55
|
+
- [B-Splines](#b-splines)
|
|
56
|
+
- [Cubic Splines](#cubic-splines)
|
|
57
|
+
- [Imposing Acceleration Constraints at Endpoints](#imposing-acceleration-constraints-at-endpoints)
|
|
58
|
+
- [Motion Profiles](#motion-profiles)
|
|
59
|
+
- [Path Generation](#path-generation)
|
|
60
|
+
- [Utility Functions](#utility-functions)
|
|
61
|
+
- [Installation](#installation)
|
|
62
|
+
- [Using pip](#using-pip)
|
|
63
|
+
- [From Source](#from-source)
|
|
64
|
+
- [Optional Dependencies](#optional-dependencies)
|
|
65
|
+
- [Usage Examples](#usage-examples)
|
|
66
|
+
- [Cubic Spline Trajectory](#cubic-spline-trajectory)
|
|
67
|
+
- [Cubic Spline with Acceleration Constraints](#cubic-spline-with-acceleration-constraints)
|
|
68
|
+
- [Double-S Trajectory](#double-s-trajectory)
|
|
69
|
+
- [B-Spline Curve](#b-spline-curve)
|
|
70
|
+
- [Trapezoidal Trajectory with Waypoints](#trapezoidal-trajectory-with-waypoints)
|
|
71
|
+
- [3D Path with Frenet Frames](#3d-path-with-frenet-frames)
|
|
72
|
+
- [Mathematical Concepts](#mathematical-concepts)
|
|
73
|
+
- [B-splines](#b-splines-1)
|
|
74
|
+
- [Cubic Splines](#cubic-splines-1)
|
|
75
|
+
- [Smoothing Splines](#smoothing-splines)
|
|
76
|
+
- [Trapezoidal Velocity Profiles](#trapezoidal-velocity-profiles)
|
|
77
|
+
- [Double-S Trajectories](#double-s-trajectories)
|
|
78
|
+
- [Frenet Frames](#frenet-frames)
|
|
79
|
+
- [Requirements](#requirements)
|
|
80
|
+
- [Development](#development)
|
|
81
|
+
- [Running Tests](#running-tests)
|
|
82
|
+
- [Contributing](#contributing)
|
|
83
|
+
- [License](#license)
|
|
84
|
+
- [Acknowledgments](#acknowledgments)
|
|
63
85
|
|
|
64
86
|
## Overview
|
|
65
87
|
|
|
@@ -346,7 +368,6 @@ InterpolatePy uses modern Python tooling for development:
|
|
|
346
368
|
|
|
347
369
|
- **Code Quality**: Black and isort for formatting, Ruff and mypy for linting and type checking
|
|
348
370
|
- **Testing**: pytest for unit tests and benchmarks
|
|
349
|
-
- **Documentation**: mkdocs for documentation generation
|
|
350
371
|
|
|
351
372
|
To set up the development environment:
|
|
352
373
|
|
|
@@ -361,14 +382,6 @@ pre-commit install
|
|
|
361
382
|
python -m pytest tests
|
|
362
383
|
```
|
|
363
384
|
|
|
364
|
-
### Building Documentation
|
|
365
|
-
|
|
366
|
-
```bash
|
|
367
|
-
mkdocs build
|
|
368
|
-
# or to serve locally
|
|
369
|
-
mkdocs serve
|
|
370
|
-
```
|
|
371
|
-
|
|
372
385
|
## Contributing
|
|
373
386
|
|
|
374
387
|
Contributions to InterpolatePy are welcome! To contribute:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: InterpolatePy
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
4
4
|
Summary: This is a lib on interpolations in python.
|
|
5
5
|
Author-email: Giorgio Medico <giorgio.medico11@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -22,6 +22,7 @@ Description-Content-Type: text/markdown
|
|
|
22
22
|
License-File: LICENSE
|
|
23
23
|
Requires-Dist: numpy>=2.0.0
|
|
24
24
|
Requires-Dist: matplotlib>=3.10.1
|
|
25
|
+
Requires-Dist: scipy>=1.15.2
|
|
25
26
|
Provides-Extra: test
|
|
26
27
|
Requires-Dist: pytest; extra == "test"
|
|
27
28
|
Requires-Dist: pytest-cov; extra == "test"
|
|
@@ -46,20 +47,41 @@ Dynamic: license-file
|
|
|
46
47
|
|
|
47
48
|
## Table of Contents
|
|
48
49
|
|
|
49
|
-
- [
|
|
50
|
-
- [
|
|
51
|
-
- [
|
|
52
|
-
- [
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- [
|
|
56
|
-
- [
|
|
57
|
-
- [
|
|
58
|
-
- [
|
|
59
|
-
- [
|
|
60
|
-
- [
|
|
61
|
-
- [
|
|
62
|
-
- [
|
|
50
|
+
- [InterpolatePy](#interpolatepy)
|
|
51
|
+
- [Table of Contents](#table-of-contents)
|
|
52
|
+
- [Overview](#overview)
|
|
53
|
+
- [Key Features](#key-features)
|
|
54
|
+
- [Spline Interpolation](#spline-interpolation)
|
|
55
|
+
- [B-Splines](#b-splines)
|
|
56
|
+
- [Cubic Splines](#cubic-splines)
|
|
57
|
+
- [Imposing Acceleration Constraints at Endpoints](#imposing-acceleration-constraints-at-endpoints)
|
|
58
|
+
- [Motion Profiles](#motion-profiles)
|
|
59
|
+
- [Path Generation](#path-generation)
|
|
60
|
+
- [Utility Functions](#utility-functions)
|
|
61
|
+
- [Installation](#installation)
|
|
62
|
+
- [Using pip](#using-pip)
|
|
63
|
+
- [From Source](#from-source)
|
|
64
|
+
- [Optional Dependencies](#optional-dependencies)
|
|
65
|
+
- [Usage Examples](#usage-examples)
|
|
66
|
+
- [Cubic Spline Trajectory](#cubic-spline-trajectory)
|
|
67
|
+
- [Cubic Spline with Acceleration Constraints](#cubic-spline-with-acceleration-constraints)
|
|
68
|
+
- [Double-S Trajectory](#double-s-trajectory)
|
|
69
|
+
- [B-Spline Curve](#b-spline-curve)
|
|
70
|
+
- [Trapezoidal Trajectory with Waypoints](#trapezoidal-trajectory-with-waypoints)
|
|
71
|
+
- [3D Path with Frenet Frames](#3d-path-with-frenet-frames)
|
|
72
|
+
- [Mathematical Concepts](#mathematical-concepts)
|
|
73
|
+
- [B-splines](#b-splines-1)
|
|
74
|
+
- [Cubic Splines](#cubic-splines-1)
|
|
75
|
+
- [Smoothing Splines](#smoothing-splines)
|
|
76
|
+
- [Trapezoidal Velocity Profiles](#trapezoidal-velocity-profiles)
|
|
77
|
+
- [Double-S Trajectories](#double-s-trajectories)
|
|
78
|
+
- [Frenet Frames](#frenet-frames)
|
|
79
|
+
- [Requirements](#requirements)
|
|
80
|
+
- [Development](#development)
|
|
81
|
+
- [Running Tests](#running-tests)
|
|
82
|
+
- [Contributing](#contributing)
|
|
83
|
+
- [License](#license)
|
|
84
|
+
- [Acknowledgments](#acknowledgments)
|
|
63
85
|
|
|
64
86
|
## Overview
|
|
65
87
|
|
|
@@ -346,7 +368,6 @@ InterpolatePy uses modern Python tooling for development:
|
|
|
346
368
|
|
|
347
369
|
- **Code Quality**: Black and isort for formatting, Ruff and mypy for linting and type checking
|
|
348
370
|
- **Testing**: pytest for unit tests and benchmarks
|
|
349
|
-
- **Documentation**: mkdocs for documentation generation
|
|
350
371
|
|
|
351
372
|
To set up the development environment:
|
|
352
373
|
|
|
@@ -361,14 +382,6 @@ pre-commit install
|
|
|
361
382
|
python -m pytest tests
|
|
362
383
|
```
|
|
363
384
|
|
|
364
|
-
### Building Documentation
|
|
365
|
-
|
|
366
|
-
```bash
|
|
367
|
-
mkdocs build
|
|
368
|
-
# or to serve locally
|
|
369
|
-
mkdocs serve
|
|
370
|
-
```
|
|
371
|
-
|
|
372
385
|
## Contributing
|
|
373
386
|
|
|
374
387
|
Contributions to InterpolatePy are welcome! To contribute:
|
|
@@ -7,20 +7,41 @@
|
|
|
7
7
|
|
|
8
8
|
## Table of Contents
|
|
9
9
|
|
|
10
|
-
- [
|
|
11
|
-
- [
|
|
12
|
-
- [
|
|
13
|
-
- [
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
- [
|
|
17
|
-
- [
|
|
18
|
-
- [
|
|
19
|
-
- [
|
|
20
|
-
- [
|
|
21
|
-
- [
|
|
22
|
-
- [
|
|
23
|
-
- [
|
|
10
|
+
- [InterpolatePy](#interpolatepy)
|
|
11
|
+
- [Table of Contents](#table-of-contents)
|
|
12
|
+
- [Overview](#overview)
|
|
13
|
+
- [Key Features](#key-features)
|
|
14
|
+
- [Spline Interpolation](#spline-interpolation)
|
|
15
|
+
- [B-Splines](#b-splines)
|
|
16
|
+
- [Cubic Splines](#cubic-splines)
|
|
17
|
+
- [Imposing Acceleration Constraints at Endpoints](#imposing-acceleration-constraints-at-endpoints)
|
|
18
|
+
- [Motion Profiles](#motion-profiles)
|
|
19
|
+
- [Path Generation](#path-generation)
|
|
20
|
+
- [Utility Functions](#utility-functions)
|
|
21
|
+
- [Installation](#installation)
|
|
22
|
+
- [Using pip](#using-pip)
|
|
23
|
+
- [From Source](#from-source)
|
|
24
|
+
- [Optional Dependencies](#optional-dependencies)
|
|
25
|
+
- [Usage Examples](#usage-examples)
|
|
26
|
+
- [Cubic Spline Trajectory](#cubic-spline-trajectory)
|
|
27
|
+
- [Cubic Spline with Acceleration Constraints](#cubic-spline-with-acceleration-constraints)
|
|
28
|
+
- [Double-S Trajectory](#double-s-trajectory)
|
|
29
|
+
- [B-Spline Curve](#b-spline-curve)
|
|
30
|
+
- [Trapezoidal Trajectory with Waypoints](#trapezoidal-trajectory-with-waypoints)
|
|
31
|
+
- [3D Path with Frenet Frames](#3d-path-with-frenet-frames)
|
|
32
|
+
- [Mathematical Concepts](#mathematical-concepts)
|
|
33
|
+
- [B-splines](#b-splines-1)
|
|
34
|
+
- [Cubic Splines](#cubic-splines-1)
|
|
35
|
+
- [Smoothing Splines](#smoothing-splines)
|
|
36
|
+
- [Trapezoidal Velocity Profiles](#trapezoidal-velocity-profiles)
|
|
37
|
+
- [Double-S Trajectories](#double-s-trajectories)
|
|
38
|
+
- [Frenet Frames](#frenet-frames)
|
|
39
|
+
- [Requirements](#requirements)
|
|
40
|
+
- [Development](#development)
|
|
41
|
+
- [Running Tests](#running-tests)
|
|
42
|
+
- [Contributing](#contributing)
|
|
43
|
+
- [License](#license)
|
|
44
|
+
- [Acknowledgments](#acknowledgments)
|
|
24
45
|
|
|
25
46
|
## Overview
|
|
26
47
|
|
|
@@ -307,7 +328,6 @@ InterpolatePy uses modern Python tooling for development:
|
|
|
307
328
|
|
|
308
329
|
- **Code Quality**: Black and isort for formatting, Ruff and mypy for linting and type checking
|
|
309
330
|
- **Testing**: pytest for unit tests and benchmarks
|
|
310
|
-
- **Documentation**: mkdocs for documentation generation
|
|
311
331
|
|
|
312
332
|
To set up the development environment:
|
|
313
333
|
|
|
@@ -322,14 +342,6 @@ pre-commit install
|
|
|
322
342
|
python -m pytest tests
|
|
323
343
|
```
|
|
324
344
|
|
|
325
|
-
### Building Documentation
|
|
326
|
-
|
|
327
|
-
```bash
|
|
328
|
-
mkdocs build
|
|
329
|
-
# or to serve locally
|
|
330
|
-
mkdocs serve
|
|
331
|
-
```
|
|
332
|
-
|
|
333
345
|
## Contributing
|
|
334
346
|
|
|
335
347
|
Contributions to InterpolatePy are welcome! To contribute:
|
|
@@ -19,7 +19,7 @@ classifiers = [
|
|
|
19
19
|
"Operating System :: Unix",
|
|
20
20
|
"Operating System :: MacOS",
|
|
21
21
|
]
|
|
22
|
-
dependencies = ["numpy>=2.0.0", "matplotlib>=3.10.1"]
|
|
22
|
+
dependencies = ["numpy>=2.0.0", "matplotlib>=3.10.1", "scipy>=1.15.2"]
|
|
23
23
|
dynamic = ["version"]
|
|
24
24
|
|
|
25
25
|
[project.optional-dependencies]
|
|
@@ -38,29 +38,6 @@ version = { attr = "interpolatepy.__version__" }
|
|
|
38
38
|
minversion = "7.3"
|
|
39
39
|
testpaths = "tests"
|
|
40
40
|
|
|
41
|
-
[tool.coverage.run]
|
|
42
|
-
branch = true
|
|
43
|
-
parallel = true
|
|
44
|
-
omit = ["setup.py", "interpolatepy/__init__.py", "interpolatepy/version.py"]
|
|
45
|
-
|
|
46
|
-
[tool.coverage.report]
|
|
47
|
-
exclude_lines = [
|
|
48
|
-
"pragma: no cover",
|
|
49
|
-
"def __repr__",
|
|
50
|
-
"if self.debug",
|
|
51
|
-
"raise AssertionError",
|
|
52
|
-
"raise NotImplementedError",
|
|
53
|
-
"if __name__ == .__main__.:",
|
|
54
|
-
"raise AssertionError",
|
|
55
|
-
"raise NotImplementedError",
|
|
56
|
-
]
|
|
57
|
-
|
|
58
|
-
[tool.coverage.paths]
|
|
59
|
-
source = ["interpolatepy/*"]
|
|
60
|
-
|
|
61
|
-
[tool.coverage.html]
|
|
62
|
-
directory = "reports"
|
|
63
|
-
|
|
64
41
|
######## Tools
|
|
65
42
|
[tool.black]
|
|
66
43
|
target-version = ['py311']
|
interpolatepy-1.0.1/codecov.yml
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|