Compare commits

...

No commits in common. 'c9' and 'c10-beta' have entirely different histories.
c9 ... c10-beta

2
.gitignore vendored

@ -1 +1 @@
SOURCES/scipy-1.6.2.tar.gz SOURCES/scipy-1.11.3.tar.gz

@ -1 +1 @@
7ef8a684f9feb4fd24d35e87f9d1f69eb6ec793e SOURCES/scipy-1.6.2.tar.gz 15905a54347bfbeb32f804bd7fa968b2d47881cc SOURCES/scipy-1.11.3.tar.gz

@ -0,0 +1,28 @@
From 28413806316049c09bb4b0182f652cce0ba82a50 Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Fri, 27 Oct 2023 16:47:37 -0400
Subject: [PATCH] TST: Fix #19442 minimally
Use a sorted version of the set REAL_DTYPES to parameterize
test_b_orthonormalize.
---
scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py b/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py
index c17d37051fca..fd6f166dc62d 100644
--- a/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py
+++ b/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py
@@ -101,9 +101,9 @@ def test_MikotaPair():
@pytest.mark.parametrize("n", [50])
@pytest.mark.parametrize("m", [1, 2, 10])
-@pytest.mark.parametrize("Vdtype", REAL_DTYPES)
-@pytest.mark.parametrize("Bdtype", REAL_DTYPES)
-@pytest.mark.parametrize("BVdtype", REAL_DTYPES)
+@pytest.mark.parametrize("Vdtype", sorted(REAL_DTYPES, key=str))
+@pytest.mark.parametrize("Bdtype", sorted(REAL_DTYPES, key=str))
+@pytest.mark.parametrize("BVdtype", sorted(REAL_DTYPES, key=str))
def test_b_orthonormalize(n, m, Vdtype, Bdtype, BVdtype):
"""Test B-orthonormalization by Cholesky with callable 'B'.
The function '_b_orthonormalize' is key in LOBPCG but may

@ -1,6 +1,27 @@
# without means enabled # without means enabled
%bcond_with doc %bcond_with doc
# Pythran is an optional build dependency.
# When used, it makes some modules faster,
# but it is usually not available soon enough for new major Python versions.
%if 0%{?rhel}
%bcond_with pythran
%bcond_with pooch
%else
%bcond_without pythran
%bcond_without pooch
%endif
# The code is not safe to build with LTO
%global _lto_cflags %{nil}
%ifarch %{ix86}
# On i686, there is a confusion whether Fortran INTEGER should be
# translated as int or long.
# <https://github.com/scipy/scipy/issues/19993>
%global build_type_safety_c 2
%endif
# Set to pre-release version suffix if building pre-release, else %%{nil} # Set to pre-release version suffix if building pre-release, else %%{nil}
%global rcver %{nil} %global rcver %{nil}
@ -14,29 +35,56 @@
Summary: Scientific Tools for Python Summary: Scientific Tools for Python
Name: scipy Name: scipy
Version: 1.6.2 Version: 1.11.3
Release: 8%{?dist} Release: 11%{?dist}
# BSD -- whole package except: # BSD-3-Clause -- whole package except:
# Boost -- scipy/special/cephes/scipy_iv.c # BSD-2-Clause -- scipy/_lib/_pep440.py
# Public Domain -- scipy/odr/__odrpack.c # scipy/_lib/decorator.py
License: BSD and Boost and Public Domain # scipy/optimize/lbfgsb_src
# scipy/special/_ellip_harm.pxd
# MIT -- scipy/cluster/_optimal_leaf_ordering.pyx
# scipy/io/_idl.py
# scipy/linalg/_basic.py (in part)
# scipy/optimize/_highs
# scipy/optimize/_lbfgsb_py.py
# scipy/optimize/_tnc.py
# scipy/optimize/_trlib
# scipy/optimize/tnc
# scipy/special/Faddeeva.{cc,hh}
# BSL-1.0 -- scipy/_lib/boost_math
# scipy/special/cephes
# Boehm-GC -- scipy/sparse/linalg/_dsolve/SuperLU
# Qhull -- scipy/spatial/qhull_src
# LicenseRef-Fedora-Public-Domain -- scipy/odr/__odrpack.c
License: BSD-3-Clause AND BSD-2-Clause AND MIT AND BSL-1.0 AND Boehm-GC AND Qhull AND LicenseRef-Fedora-Public-Domain
Url: http://www.scipy.org/scipylib/index.html Url: http://www.scipy.org/scipylib/index.html
Source0: https://github.com/scipy/scipy/releases/download/v%{version}/scipy-%{version}.tar.gz Source0: https://github.com/scipy/scipy/releases/download/v%{version}/scipy-%{version}.tar.gz
BuildRequires: fftw-devel, suitesparse-devel # TST: Fix #19442 minimally
# https://github.com/scipy/scipy/pull/19443
#
# Fixes:
#
# BUG: Error collecting tests due to inconsistent parameterization order in
# test_b_orthonormalize
# https://github.com/scipy/scipy/issues/19442
Patch: https://github.com/scipy/scipy/pull/19443.patch
BuildRequires: %{blaslib}-devel BuildRequires: %{blaslib}-devel
BuildRequires: gcc-gfortran, swig, gcc-c++ BuildRequires: gcc-gfortran, gcc-c++
BuildRequires: qhull-devel
BuildRequires: /usr/bin/pathfix.py
BuildRequires: pybind11-devel BuildRequires: pybind11-devel
BuildRequires: python3-pybind11 >= 2.4.0 BuildRequires: python3-devel, python3-numpy-f2py
BuildRequires: python3-numpy, python3-devel, python3-numpy-f2py
BuildRequires: python3-setuptools
BuildRequires: python3-Cython
BuildRequires: python3-pytest BuildRequires: python3-pytest
BuildRequires: python3-pytest-timeout BuildRequires: python3-pytest-timeout
%if ! 0%{?rhel}
BuildRequires: python3-pytest-xdist
%endif
%if %{with pooch}
BuildRequires: python3-pooch
%endif
%if %{with doc} %if %{with doc}
BuildRequires: python3-sphinx BuildRequires: python3-sphinx
@ -60,7 +108,23 @@ leading scientists and engineers.}
%package -n python3-scipy %package -n python3-scipy
Summary: Scientific Tools for Python Summary: Scientific Tools for Python
Requires: python3-numpy, python3-f2py Requires: python3-numpy, python3-f2py
%{?python_provide:%python_provide python3-scipy} %if %{with pooch}
Requires: python3-pooch
%endif
Provides: bundled(arpack) = 3.3.0
Provides: bundled(biasedurn)
Provides: bundled(boost-math)
Provides: bundled(coin-or-HiGHS) = 1.2
Provides: bundled(Faddeeva)
Provides: bundled(id)
Provides: bundled(l-bfgs-b) = 3.0
Provides: bundled(LAPJVsp)
Provides: bundled(python3-decorator) = 4.0.5
Provides: bundled(python3-pep440)
Provides: bundled(python3-pypocketfft) = bf2c431c21213b7c5e23c2f542009b0bd3ec1445
Provides: bundled(qhull) = 2019.1
Provides: bundled(SuperLU) = 5.2.0
Provides: bundled(unuran) = 1.8.1
%description -n python3-scipy %_description %description -n python3-scipy %_description
%if %{with doc} %if %{with doc}
@ -71,62 +135,101 @@ Requires: python3-scipy = %{version}-%{release}
HTML documentation for Scipy HTML documentation for Scipy
%endif %endif
%package -n python3-scipy-tests
Summary: Scientific Tools for Python - test files
Requires: python3-scipy = %{version}-%{release}
Requires: python3-pytest
%description -n python3-scipy-tests
Scipy test files
%prep %prep
%autosetup -p1 -n %{name}-%{version}%{?rcver} %autosetup -p1 -n %{name}-%{version}%{?rcver}
cat > site.cfg << EOF
[amd] # Remove pythran dependency if not explicitly required
library_dirs = %{_libdir} %if %{without pythran}
include_dirs = /usr/include/suitesparse sed -i '/pythran/d' pyproject.toml
amd_libs = amd %endif
%if %{without pooch}
sed -i 's/, "pooch"]/]/g' pyproject.toml
sed -i '/pooch/d' pyproject.toml
%endif
[umfpack] cat >> pyproject.toml << EOF
library_dirs = %{_libdir}
include_dirs = /usr/include/suitesparse
umfpack_libs = umfpack
[openblas] [tool.meson-python.args]
libraries = %{blaslib}%{blasvar} setup = ['-Dblas=%{blaslib}%{blasvar}', '-Dlapack=%{blaslib}%{blasvar}'%{!?with_pythran:, '-Duse-pythran=false'}]
library_dirs = %{_libdir}
EOF EOF
# Docs won't build unless the .dat files are specified here # Enable build with Python 3.13+
sed -i 's/metadata = dict(/metadata = dict(package_data={"": ["*.dat"]},/' setup.py # Upstream only allows Python pre-releases in git HEAD, not in releases.
# However in Fedora, we actively build packages with Python pre-releases very soon.
sed -i 's/requires-python = ">=3.9,<3.13"/requires-python = ">=3.9"/' pyproject.toml
# remove bundled numpydoc # Docs won't build unless the .dat files are specified here
rm doc/sphinxext -r sed -i 's/metadata = dict(/metadata = dict(package_data={"": ["*.dat"]},/' _setup.py
rm $(grep -rl '/\* Generated by Cython') PKG-INFO rm $(grep -rl '/\* Generated by Cython') PKG-INFO
# numpy no longer contains a copy of distutils
for f in $(grep -Frl numpy.distutils); do
sed -i.orig 's/numpy\.\(distutils\)/\1/g' $f
touch -r $f.orig $f
rm $f.orig
done
# Do not do benchmarking or coverage testing for RPM builds
sed -i '/^[[:blank:]]*"(asv|pytest-cov)"/d' pyproject.toml
# No scikit-umfpack in Fedora
sed -i '/^[[:blank:]]*"scikit-umfpack"/d' pyproject.toml
# No pytest-xdist in RHEL
%if 0%{?rhel}
sed -i '/^[[:blank:]]*"pytest-xdist"/d' pyproject.toml
%endif
# Loosen the lower bound on numpy
sed -i "/numpy.*python_version=='3.12'/s/1\.26\.0/1\.24\.4/" pyproject.toml
# Loosen the upper bound on meson-python
sed -i '/meson-python/s/0\.15\.0/0\.16\.0/' pyproject.toml
# Loosen the upper bound on Cython
sed -i '/Cython/s/3\.0/3\.1/' pyproject.toml
# Loosen the upper bound on pybind11
sed -i '/pybind11/s/2\.11\.1/2.12.0/' pyproject.toml
# Work around failure to detect open_memstream. In glibc, open_memstream is
# not a real function. It is a weak alias to __open_memstream.
sed -i "s/\('has_openmemstream', \)'0'/\1'1'/" scipy/_lib/meson.build
%generate_buildrequires
%pyproject_buildrequires -R
%build %build
%pyproject_wheel
%if %{with doc}
for PY in %{python3_version}; do for PY in %{python3_version}; do
# Adding -fallow-argument-mismatch workaround for https://github.com/scipy/scipy/issues/11611
env CFLAGS="$RPM_OPT_FLAGS -lm" \
%if 0%{?fedora} >= 32 || 0%{?rhel} >= 9
FFLAGS="$RPM_OPT_FLAGS -fPIC -fallow-argument-mismatch" \
%else
FFLAGS="$RPM_OPT_FLAGS -fPIC" \
%endif
LDFLAGS="%{__global_ldflags}" \
%{_bindir}/python$PY setup.py config_fc \
--fcompiler=gnu95 --noarch \
build
%if %{with doc}
pushd doc pushd doc
export PYTHONPATH=$(echo ../build/lib.linux-*-$PY/) export PYTHONPATH=$(echo ../build/lib.linux-*-$PY/)
make html SPHINXBUILD=sphinx-build-$PY make html SPHINXBUILD=sphinx-build-$PY
rm -rf build/html/.buildinfo rm -rf build/html/.buildinfo
mv build build-$PY mv build build-$PY
popd popd
%endif
done done
%endif
%install %install
%py3_install %pyproject_install
%pyproject_save_files scipy
# Some files got ambiguous python shebangs, we fix them after everything else is done # Some files got ambiguous python shebangs, we fix them after everything else is done
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{python3_sitearch} %py3_shebang_fix %{buildroot}%{python3_sitearch}
# Fix executable bits
chmod 0755 %{buildroot}%{python3_sitearch}/scipy/sparse/linalg/_isolve/tests/test_gcrotmk.py
%check %check
# check against the reference BLAS/LAPACK # check against the reference BLAS/LAPACK
@ -135,35 +238,87 @@ export FLEXIBLAS=netlib
# default test timeout # default test timeout
TIMEOUT=500 TIMEOUT=500
# TestDatasets try to download from the internet
SKIP_ALL="not TestDatasets"
export PYTEST_ADDOPTS="-k '$SKIP_ALL'"
%ifarch ppc64le
export PYTEST_ADDOPTS="-k '$SKIP_ALL and \
not test_eigs and \
not test_gees_trexc and \
not test_gees_trsen and \
not test_trexc_NAG and \
not test_trsen_NAG and \
not test_real_nonsymmetric_modes and \
not test_real_eigs_real_k_subset and \
not test_ticket_1459_arpack_crash'"
TIMEOUT=1000
%endif
%ifarch aarch64
# TestConstructUtils::test_concatenate_int32_overflow is flaky on aarch64
export PYTEST_ADDOPTS="-k '$SKIP_ALL and \
not test_concatenate_int32_overflow'"
TIMEOUT=1000
%endif
%ifarch s390x %ifarch s390x
# skip failing tests on s390x for now # https://bugzilla.redhat.com/show_bug.cgi?id=1959353
export PYTEST_ADDOPTS="-k '\ export PYTEST_ADDOPTS="-k '$SKIP_ALL and \
not (TestNoData and test_nodata) and \ not test_distance_transform_cdt05'"
not test_fortranfile_read_mixed_record and \
not test_kde_1d and \
not test_kde_1d_weighted and \
not test_kde_2d and \
not test_kde_2d_weighted and \
not test_gaussian_kde_subclassing and \
not test_gaussian_kde_covariance_caching and \
not test_kde_integer_input and \
not test_pdf_logpdf and \
not test_pdf_logpdf_weighted'"
# some tests (namely test_logpdf_overflow) tend to run for a long time on s390x
TIMEOUT=1000 TIMEOUT=1000
%endif %endif
%ifarch x86_64
%if 0%{?rhel}
export PYTEST_ADDOPTS="-k '$SKIP_ALL and \
not test_list_of_problems and \
not test_gh7799'"
%endif
%endif
%ifarch i686
# https://github.com/scipy/scipy/issues/17213
export PYTEST_ADDOPTS="-k '$SKIP_ALL and \
not test_gh12218 and \
not test_examples and \
not test_shifts and \
not test_svdp'"
%endif
%ifarch riscv64
export PYTEST_ADDOPTS="-k '$SKIP_ALL and \
not TestSchur and \
not test_gejsv_general and \
not test_kendall_p_exact_large and \
not test_gejsv_edge_arguments and \
not test_gh12999 and \
not test_propack and \
not test_milp and \
not test_gejsv_NAG'"
%endif
pushd %{buildroot}/%{python3_sitearch} pushd %{buildroot}/%{python3_sitearch}
%{pytest} --timeout=${TIMEOUT} scipy # Ignoring the datasets tests as we don't have the optional pooch
# dependency on RHEL.
%{pytest} %{!?with_pooch:--ignore=scipy/datasets/tests/test_data.py} --timeout=${TIMEOUT} scipy %{?!rhel:--numprocesses=auto}
# Remove test remnants # Remove test remnants
rm -rf gram{A,B} rm -rf gram{A,B}
rm -rf .pytest_cache
popd popd
%files -n python3-scipy %files -n python3-scipy -f %{pyproject_files}
%doc LICENSE.txt %license LICENSE.txt LICENSES_bundled.txt
%{python3_sitearch}/scipy/ %exclude %{python3_sitearch}/scipy/*/tests/
%{python3_sitearch}/*.egg-info %exclude %{python3_sitearch}/scipy/*/*/tests/
%exclude %{python3_sitearch}/scipy/*/*/*/tests/
%exclude %{python3_sitearch}/scipy/*/*/*/*/tests/
%files -n python3-scipy-tests
%{python3_sitearch}/scipy/*/tests/
%{python3_sitearch}/scipy/*/*/tests/
%{python3_sitearch}/scipy/*/*/*/tests/
%{python3_sitearch}/scipy/*/*/*/*/tests/
%if %{with doc} %if %{with doc}
%files -n python3-scipy-doc %files -n python3-scipy-doc
@ -172,33 +327,132 @@ popd
%endif %endif
%changelog %changelog
* Mon Feb 21 2022 Tomas Orsava <torsava@redhat.com> - 1.6.2-8 * Fri Jun 07 2024 Pavel Simovec <psimovec@redhat.com> - 1.11.3-11
- Add gating configuration and a simple smoke test - Fix python-pooch not fully removed
- Related: rhbz#1950291 - Resolves: RHEL-35429
* Tue Feb 08 2022 Tomáš Hrnčiar <thrnciar@redhat.com> - 1.6.2-7 * Fri Jun 07 2024 Richard W.M. Jones <rjones@redhat.com> - 1.11.3-10
- Add automatically generated Obsoletes tag with the python39- prefix - Enable riscv64
for smoother upgrade from RHEL8
- Related: rhbz#1990421
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1.6.2-6 * Tue May 28 2024 Pavel Simovec <psimovec@redhat.com> - 1.11.3-9
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Remove python-pooch optional dependency from RHEL
Related: rhbz#1991688 - Related: RHELMISC-5321
* Thu May 13 2021 Nikola Forró <nforro@redhat.com> - 1.6.2-5 * Thu May 02 2024 Pavel Simovec <psimovec@redhat.com> - 1.11.3-8
- Use proper LDFLAGS - Build without pythran in RHEL by default
related: #1945060 - Resolves: RHEL-33955
* Mon Apr 26 2021 Nikola Forró <nforro@redhat.com> - 1.6.2-4 * Fri Apr 26 2024 Pavel Simovec <psimovec@redhat.com> - 1.11.3-7
- Remove RPATH from certain shared object files - Fully remove pythran dependency
related: #1945060 - Resolves: RHEL-33955
* Tue Jan 30 2024 Miro Hrončok <mhroncok@redhat.com> - 1.11.3-6
- Skip fewer tests during build
* Mon Jan 29 2024 Florian Weimer <fweimer@redhat.com> - 1.11.3-5
- Disable incompatible-pointer-types errors on i686 (#2258823)
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Nov 30 2023 Karolina Surma <ksurma@redhat.com> - 1.11.3-3
- Fix the build without pythran
* Wed Nov 01 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1.11.3-2
- Patch error collecting tests with pytest-xdist
* Wed Oct 11 2023 Jerry James <loganjerry@gmail.com> - 1.11.3-1
- New upstream release 1.11.3
resolves: #2211813
- Convert License tag to SPDX
- Add Provides for bundled projects
- Disable LTO
- Pythran works on 32-bit architectures again
- Fix detection of open_memstream
- Use pyproject macros instead of the deprecated py3 macros
- Reenable some tests that work again
- Remove unused BuildRequires
* Wed Jul 12 2023 psimovec <psimovec@redhat.com> - 1.11.1-1
- New upstream release 1.11.1
resolves: #2211813
- Separate tests into subpackage python3-scipy-tests
* Mon Jul 10 2023 Python Maint <python-maint@redhat.com> - 1.10.1-5
- Rebuilt for Python 3.12
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 1.10.1-4
- Bootstrap for Python 3.12
* Tue May 23 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.10.1-3
- Avoid pytest-xdist dependency in RHEL builds
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.6.2-3 * Wed Mar 15 2023 Pavel Šimovec <psimovec@redhat.com> - 1.10.1-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 - Remove workaround for linking issue on x86_64
- resolves: #2068530
* Wed Feb 22 2023 Pavel Šimovec <psimovec@redhat.com> - 1.10.1-1
- New upstream release 1.10.1
resolves: #2101172
- Use the optional python3-pooch dependency
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Jul 3 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.8.1-5
- Fix linalg.lapack syevr segfault (#2099102)
* Fri Jun 17 2022 Python Maint <python-maint@redhat.com> - 1.8.1-4
- Rebuilt for Python 3.11
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 1.8.1-3
- Bootstrap for Python 3.11
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 1.8.1-2
- Rebuilt for Python 3.11
* Thu Jun 09 2022 Nikola Forró <nforro@redhat.com> - 1.8.1-1
- New upstream release 1.8.1
resolves: #2088437
* Sat Mar 26 2022 Nikola Forró <nforro@redhat.com> - 1.8.0-3
- Skip test_cython_api also on armv7hl
* Sat Mar 26 2022 Nikola Forró <nforro@redhat.com> - 1.8.0-2
- Disable pythran on armv7hl as well
* Mon Feb 07 2022 Nikola Forró <nforro@redhat.com> - 1.8.0-1
- New upstream release 1.8.0
resolves: #2035126
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Dec 21 2021 Nikola Forró <nforro@redhat.com> - 1.7.3-1
- New upstream release 1.7.3
resolves: #1988883
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jul 14 2021 Miro Hrončok <mhroncok@redhat.com> - 1.7.0-2
- Use the optional Pythran build dependency
* Wed Jun 23 2021 Nikola Forró <nforro@redhat.com> - 1.7.0-1
- New upstream release 1.7.0
resolves: #1953422
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.6.2-4
- Rebuilt for Python 3.10
* Fri Apr 23 2021 Nikola Forró <nforro@redhat.com> - 1.6.2-3
- Remove RPATH from certain shared object files
* Thu Apr 08 2021 Nikola Forró <nforro@redhat.com> - 1.6.2-2 * Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 1.6.2-2
- Remove python-pytest-xdist dependency - Rebuilt for removed libstdc++ symbol (#1937698)
resolves: #1945060
* Thu Mar 25 2021 Nikola Forró <nforro@redhat.com> - 1.6.2-1 * Thu Mar 25 2021 Nikola Forró <nforro@redhat.com> - 1.6.2-1
- New upstream release 1.6.2 - New upstream release 1.6.2

Loading…
Cancel
Save