arraykit 1.1.0__tar.gz → 1.2.0__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.
- {arraykit-1.1.0 → arraykit-1.2.0}/MANIFEST.in +1 -0
- {arraykit-1.1.0/arraykit.egg-info → arraykit-1.2.0}/PKG-INFO +29 -15
- {arraykit-1.1.0 → arraykit-1.2.0}/README.rst +5 -0
- arraykit-1.2.0/VERSION +2 -0
- {arraykit-1.1.0 → arraykit-1.2.0/arraykit.egg-info}/PKG-INFO +29 -15
- {arraykit-1.1.0 → arraykit-1.2.0}/arraykit.egg-info/SOURCES.txt +2 -0
- arraykit-1.2.0/pyproject.toml +56 -0
- arraykit-1.2.0/setup.py +38 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_pyi.py +2 -0
- arraykit-1.1.0/setup.py +0 -94
- {arraykit-1.1.0 → arraykit-1.2.0}/LICENSE.txt +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/arraykit.egg-info/dependency_links.txt +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/arraykit.egg-info/requires.txt +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/arraykit.egg-info/top_level.txt +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/setup.cfg +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/__init__.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/__init__.pyi +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/_arraykit.c +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/array_go.c +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/array_go.h +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/array_to_tuple.c +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/array_to_tuple.h +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/auto_map.c +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/auto_map.h +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/block_index.c +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/block_index.h +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/delimited_to_arrays.c +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/delimited_to_arrays.h +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/methods.c +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/methods.h +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/py.typed +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/tri_map.c +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/tri_map.h +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/src/utilities.h +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_array_go.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_astype_array.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_auto_map.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_auto_map_property.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_block_index.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_delimited_to_arrays.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_delimited_to_arrays_integration.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_delimited_to_arrays_property.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_nonzero_1d.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_nonzero_1d_property.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_objectable.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_split_after_count.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_tri_map.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_type_discovery.py +0 -0
- {arraykit-1.1.0 → arraykit-1.2.0}/test/test_util.py +0 -0
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: arraykit
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: Array utilities for StaticFrame
|
|
5
|
-
Home-page: https://github.com/static-frame/arraykit
|
|
6
5
|
Author: Christopher Ariza, Brandt Bucher, Charles Burkland
|
|
7
|
-
License: MIT
|
|
8
|
-
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/static-frame/arraykit
|
|
8
|
+
Keywords: numpy,array
|
|
9
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: Topic :: Software Development
|
|
12
12
|
Classifier: Programming Language :: C
|
|
13
13
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
14
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
15
14
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
16
15
|
Classifier: Operating System :: Microsoft :: Windows
|
|
17
16
|
Classifier: Operating System :: POSIX
|
|
@@ -19,22 +18,32 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
22
|
+
Classifier: Programming Language :: Python :: Free Threading
|
|
22
23
|
Classifier: Typing :: Typed
|
|
23
24
|
Requires-Python: >=3.10
|
|
24
25
|
Description-Content-Type: text/x-rst
|
|
25
26
|
License-File: LICENSE.txt
|
|
26
27
|
Requires-Dist: numpy>=1.24.3
|
|
27
|
-
Dynamic: author
|
|
28
|
-
Dynamic: classifier
|
|
29
|
-
Dynamic: description
|
|
30
|
-
Dynamic: description-content-type
|
|
31
|
-
Dynamic: home-page
|
|
32
|
-
Dynamic: keywords
|
|
33
|
-
Dynamic: license
|
|
34
28
|
Dynamic: license-file
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
.. image:: https://img.shields.io/pypi/pyversions/arraykit.svg
|
|
33
|
+
:target: https://pypi.org/project/arraykit
|
|
34
|
+
|
|
35
|
+
.. image:: https://img.shields.io/pypi/v/arraykit.svg
|
|
36
|
+
:target: https://pypi.org/project/arraykit
|
|
37
|
+
|
|
38
|
+
.. image:: https://img.shields.io/conda/vn/conda-forge/arraykit.svg
|
|
39
|
+
:target: https://anaconda.org/conda-forge/arraykit
|
|
40
|
+
|
|
41
|
+
.. image:: https://img.shields.io/github/actions/workflow/status/static-frame/arraykit/ci.yml?branch=master&label=build&logo=Github
|
|
42
|
+
:target: https://github.com/static-frame/arraykit/actions/workflows/ci.yml
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
arraykit
|
|
46
|
+
=============
|
|
38
47
|
|
|
39
48
|
The ArrayKit library provides utilities for creating and transforming NumPy arrays, implementing performance-critical StaticFrame operations as Python C extensions.
|
|
40
49
|
|
|
@@ -55,6 +64,11 @@ ArrayKit requires the following:
|
|
|
55
64
|
What is New in ArrayKit
|
|
56
65
|
-------------------------
|
|
57
66
|
|
|
67
|
+
1.2.0
|
|
68
|
+
............
|
|
69
|
+
|
|
70
|
+
Now building wheels for Python 3.14 and 3.14t.
|
|
71
|
+
|
|
58
72
|
|
|
59
73
|
1.1.0
|
|
60
74
|
............
|
arraykit-1.2.0/VERSION
ADDED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: arraykit
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: Array utilities for StaticFrame
|
|
5
|
-
Home-page: https://github.com/static-frame/arraykit
|
|
6
5
|
Author: Christopher Ariza, Brandt Bucher, Charles Burkland
|
|
7
|
-
License: MIT
|
|
8
|
-
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/static-frame/arraykit
|
|
8
|
+
Keywords: numpy,array
|
|
9
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: Topic :: Software Development
|
|
12
12
|
Classifier: Programming Language :: C
|
|
13
13
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
14
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
15
14
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
16
15
|
Classifier: Operating System :: Microsoft :: Windows
|
|
17
16
|
Classifier: Operating System :: POSIX
|
|
@@ -19,22 +18,32 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
22
|
+
Classifier: Programming Language :: Python :: Free Threading
|
|
22
23
|
Classifier: Typing :: Typed
|
|
23
24
|
Requires-Python: >=3.10
|
|
24
25
|
Description-Content-Type: text/x-rst
|
|
25
26
|
License-File: LICENSE.txt
|
|
26
27
|
Requires-Dist: numpy>=1.24.3
|
|
27
|
-
Dynamic: author
|
|
28
|
-
Dynamic: classifier
|
|
29
|
-
Dynamic: description
|
|
30
|
-
Dynamic: description-content-type
|
|
31
|
-
Dynamic: home-page
|
|
32
|
-
Dynamic: keywords
|
|
33
|
-
Dynamic: license
|
|
34
28
|
Dynamic: license-file
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
.. image:: https://img.shields.io/pypi/pyversions/arraykit.svg
|
|
33
|
+
:target: https://pypi.org/project/arraykit
|
|
34
|
+
|
|
35
|
+
.. image:: https://img.shields.io/pypi/v/arraykit.svg
|
|
36
|
+
:target: https://pypi.org/project/arraykit
|
|
37
|
+
|
|
38
|
+
.. image:: https://img.shields.io/conda/vn/conda-forge/arraykit.svg
|
|
39
|
+
:target: https://anaconda.org/conda-forge/arraykit
|
|
40
|
+
|
|
41
|
+
.. image:: https://img.shields.io/github/actions/workflow/status/static-frame/arraykit/ci.yml?branch=master&label=build&logo=Github
|
|
42
|
+
:target: https://github.com/static-frame/arraykit/actions/workflows/ci.yml
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
arraykit
|
|
46
|
+
=============
|
|
38
47
|
|
|
39
48
|
The ArrayKit library provides utilities for creating and transforming NumPy arrays, implementing performance-critical StaticFrame operations as Python C extensions.
|
|
40
49
|
|
|
@@ -55,6 +64,11 @@ ArrayKit requires the following:
|
|
|
55
64
|
What is New in ArrayKit
|
|
56
65
|
-------------------------
|
|
57
66
|
|
|
67
|
+
1.2.0
|
|
68
|
+
............
|
|
69
|
+
|
|
70
|
+
Now building wheels for Python 3.14 and 3.14t.
|
|
71
|
+
|
|
58
72
|
|
|
59
73
|
1.1.0
|
|
60
74
|
............
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = [
|
|
3
|
+
"setuptools>=64",
|
|
4
|
+
"wheel",
|
|
5
|
+
"numpy>=2.2"
|
|
6
|
+
]
|
|
7
|
+
build-backend = "setuptools.build_meta"
|
|
8
|
+
|
|
9
|
+
[project]
|
|
10
|
+
name = "arraykit"
|
|
11
|
+
description = "Array utilities for StaticFrame"
|
|
12
|
+
readme = { file = "README.rst", content-type = "text/x-rst" }
|
|
13
|
+
requires-python = ">=3.10"
|
|
14
|
+
|
|
15
|
+
dynamic = ["version"]
|
|
16
|
+
|
|
17
|
+
authors = [
|
|
18
|
+
{ name = "Christopher Ariza" },
|
|
19
|
+
{ name = "Brandt Bucher" },
|
|
20
|
+
{ name = "Charles Burkland" },
|
|
21
|
+
]
|
|
22
|
+
license = "MIT"
|
|
23
|
+
keywords = ["numpy", "array"]
|
|
24
|
+
dependencies = [
|
|
25
|
+
"numpy>=1.24.3",
|
|
26
|
+
]
|
|
27
|
+
classifiers = [
|
|
28
|
+
"Development Status :: 5 - Production/Stable",
|
|
29
|
+
"Intended Audience :: Developers",
|
|
30
|
+
"Topic :: Software Development",
|
|
31
|
+
"Programming Language :: C",
|
|
32
|
+
"Programming Language :: Python :: Implementation :: CPython",
|
|
33
|
+
"Operating System :: MacOS :: MacOS X",
|
|
34
|
+
"Operating System :: Microsoft :: Windows",
|
|
35
|
+
"Operating System :: POSIX",
|
|
36
|
+
"Programming Language :: Python :: 3.10",
|
|
37
|
+
"Programming Language :: Python :: 3.11",
|
|
38
|
+
"Programming Language :: Python :: 3.12",
|
|
39
|
+
"Programming Language :: Python :: 3.13",
|
|
40
|
+
"Programming Language :: Python :: 3.14",
|
|
41
|
+
"Programming Language :: Python :: Free Threading",
|
|
42
|
+
"Typing :: Typed",
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
[project.urls]
|
|
46
|
+
Homepage = "https://github.com/static-frame/arraykit"
|
|
47
|
+
|
|
48
|
+
[tool.setuptools]
|
|
49
|
+
package-dir = { "arraykit" = "src" }
|
|
50
|
+
|
|
51
|
+
[tool.setuptools.package-data]
|
|
52
|
+
arraykit = ["__init__.pyi", "py.typed"]
|
|
53
|
+
|
|
54
|
+
[tool.setuptools.dynamic]
|
|
55
|
+
version = { file = "VERSION" }
|
|
56
|
+
|
arraykit-1.2.0/setup.py
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from setuptools import setup, Extension
|
|
2
|
+
from setuptools.command.build_ext import build_ext
|
|
3
|
+
import site, os
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
AK_VERSION = Path("VERSION").read_text(encoding="utf-8").strip()
|
|
7
|
+
|
|
8
|
+
def get_ext_dir(*components: tp.Iterable[str]) -> tp.Sequence[str]:
|
|
9
|
+
dirs = []
|
|
10
|
+
for sp in site.getsitepackages():
|
|
11
|
+
fp = os.path.join(sp, *components)
|
|
12
|
+
if os.path.exists(fp):
|
|
13
|
+
dirs.append(fp)
|
|
14
|
+
return dirs
|
|
15
|
+
|
|
16
|
+
ext_modules = [
|
|
17
|
+
Extension(
|
|
18
|
+
name="arraykit._arraykit",
|
|
19
|
+
sources=[
|
|
20
|
+
"src/_arraykit.c",
|
|
21
|
+
"src/array_go.c",
|
|
22
|
+
"src/array_to_tuple.c",
|
|
23
|
+
"src/block_index.c",
|
|
24
|
+
"src/delimited_to_arrays.c",
|
|
25
|
+
"src/methods.c",
|
|
26
|
+
"src/tri_map.c",
|
|
27
|
+
"src/auto_map.c",
|
|
28
|
+
],
|
|
29
|
+
|
|
30
|
+
include_dirs=get_ext_dir('numpy', '_core', 'include') + ['src'],
|
|
31
|
+
library_dirs=get_ext_dir('numpy', '_core', 'lib'),
|
|
32
|
+
define_macros=[("AK_VERSION", AK_VERSION)],
|
|
33
|
+
libraries=["npymath"],
|
|
34
|
+
)
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
setup(ext_modules=ext_modules)
|
|
38
|
+
|
arraykit-1.1.0/setup.py
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import site
|
|
2
|
-
import os
|
|
3
|
-
from os import path
|
|
4
|
-
import typing as tp
|
|
5
|
-
from setuptools import Extension # type: ignore
|
|
6
|
-
from setuptools import setup
|
|
7
|
-
|
|
8
|
-
AK_VERSION = '1.1.0'
|
|
9
|
-
|
|
10
|
-
ROOT_DIR_FP = path.abspath(path.dirname(__file__))
|
|
11
|
-
|
|
12
|
-
def get_long_description() -> str:
|
|
13
|
-
with open(path.join(ROOT_DIR_FP, 'README.rst'), encoding='utf-8') as f:
|
|
14
|
-
msg = []
|
|
15
|
-
collect = False
|
|
16
|
-
start = -1
|
|
17
|
-
for i, line in enumerate(f):
|
|
18
|
-
if line.startswith('arraykit'):
|
|
19
|
-
start = i + 2 # skip this line and the next
|
|
20
|
-
if i == start:
|
|
21
|
-
collect = True
|
|
22
|
-
if collect:
|
|
23
|
-
msg.append(line)
|
|
24
|
-
return ''.join(msg).strip()
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
# NOTE: we do this to avoid importing numpy: https://stackoverflow.com/questions/54117786/add-numpy-get-include-argument-to-setuptools-without-preinstalled-numpy
|
|
28
|
-
# we used to import the following to get directories:
|
|
29
|
-
# from numpy.distutils.misc_util import get_info
|
|
30
|
-
# import numpy as np # type: ignore
|
|
31
|
-
# get_info('npymath')['library_dirs']
|
|
32
|
-
# get_info('npymath')['libraries']
|
|
33
|
-
|
|
34
|
-
def get_ext_dir(*components: tp.Iterable[str]) -> tp.Sequence[str]:
|
|
35
|
-
dirs = []
|
|
36
|
-
for sp in site.getsitepackages():
|
|
37
|
-
fp = os.path.join(sp, *components)
|
|
38
|
-
if os.path.exists(fp):
|
|
39
|
-
dirs.append(fp)
|
|
40
|
-
return dirs
|
|
41
|
-
|
|
42
|
-
ak_extension = Extension(
|
|
43
|
-
name='arraykit._arraykit', # build into module
|
|
44
|
-
sources=[
|
|
45
|
-
'src/_arraykit.c',
|
|
46
|
-
'src/array_go.c',
|
|
47
|
-
'src/array_to_tuple.c',
|
|
48
|
-
'src/block_index.c',
|
|
49
|
-
'src/delimited_to_arrays.c',
|
|
50
|
-
'src/methods.c',
|
|
51
|
-
'src/tri_map.c',
|
|
52
|
-
'src/auto_map.c',
|
|
53
|
-
],
|
|
54
|
-
include_dirs=get_ext_dir('numpy', '_core', 'include') + ['src'],
|
|
55
|
-
library_dirs=get_ext_dir('numpy', '_core', 'lib'),
|
|
56
|
-
define_macros=[("AK_VERSION", AK_VERSION)],
|
|
57
|
-
libraries=['npymath'], # not including mlib at this time
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
setup(
|
|
61
|
-
name='arraykit',
|
|
62
|
-
version=AK_VERSION,
|
|
63
|
-
description='Array utilities for StaticFrame',
|
|
64
|
-
long_description=get_long_description(),
|
|
65
|
-
long_description_content_type='text/x-rst', # use text/x-rst
|
|
66
|
-
python_requires='>=3.10',
|
|
67
|
-
install_requires=['numpy>=1.24.3'],
|
|
68
|
-
url='https://github.com/static-frame/arraykit',
|
|
69
|
-
author='Christopher Ariza, Brandt Bucher, Charles Burkland',
|
|
70
|
-
license='MIT',
|
|
71
|
-
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
|
|
72
|
-
classifiers=[
|
|
73
|
-
'Development Status :: 5 - Production/Stable',
|
|
74
|
-
'Intended Audience :: Developers',
|
|
75
|
-
'Topic :: Software Development',
|
|
76
|
-
"Programming Language :: C",
|
|
77
|
-
"Programming Language :: Python :: Implementation :: CPython",
|
|
78
|
-
'License :: OSI Approved :: MIT License',
|
|
79
|
-
'Operating System :: MacOS :: MacOS X',
|
|
80
|
-
'Operating System :: Microsoft :: Windows',
|
|
81
|
-
'Operating System :: POSIX',
|
|
82
|
-
'Programming Language :: Python :: 3.10',
|
|
83
|
-
'Programming Language :: Python :: 3.11',
|
|
84
|
-
'Programming Language :: Python :: 3.12',
|
|
85
|
-
'Programming Language :: Python :: 3.13',
|
|
86
|
-
'Typing :: Typed',
|
|
87
|
-
],
|
|
88
|
-
keywords='numpy array',
|
|
89
|
-
packages=['arraykit'],
|
|
90
|
-
package_dir={'arraykit': 'src'},
|
|
91
|
-
package_data={'arraykit': ['__init__.pyi', 'py.typed']},
|
|
92
|
-
include_package_data=True,
|
|
93
|
-
ext_modules=[ak_extension],
|
|
94
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|