Your message dated Fri, 03 Feb 2023 15:49:05 +0000
with message-id <e1pnyjf-001aka...@fasolo.debian.org>
and subject line Bug#1028886: fixed in pyemd 0.5.1-3
has caused the Debian Bug report #1028886,
regarding pyemd: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i 
python{version} -p "3.10 3.11" returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1028886: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1028886
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: pyemd
Version: 0.5.1-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230113 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> for python in $(py3versions --supported) ; do \
>       "$python" setup.py test ; \
> done
> running test
> WARNING: Testing via this command is deprecated and will be removed in a 
> future version. Users looking for a generic test entry point independent of 
> test runner are encouraged to use tox.
> running egg_info
> creating pyemd.egg-info
> writing pyemd.egg-info/PKG-INFO
> writing dependency_links to pyemd.egg-info/dependency_links.txt
> writing requirements to pyemd.egg-info/requires.txt
> writing top-level names to pyemd.egg-info/top_level.txt
> writing manifest file 'pyemd.egg-info/SOURCES.txt'
> reading manifest file 'pyemd.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '__pycache__' found anywhere 
> in distribution
> warning: no previously-included files matching '*.py[cod]' found anywhere in 
> distribution
> warning: no previously-included files matching '*.so' found anywhere in 
> distribution
> warning: no previously-included files matching '*.dylib' found anywhere in 
> distribution
> adding license file 'LICENSE'
> writing manifest file 'pyemd.egg-info/SOURCES.txt'
> running build_ext
> building 'pyemd.emd' extension
> x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv 
> -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g 
> -fwrapv -O2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
> -D_FORTIFY_SOURCE=2 -fPIC -Ipyemd -I/usr/include/python3.10 
> -I/usr/lib/python3/dist-packages/numpy/core/include -c pyemd/emd.cpp -o 
> build/temp.linux-x86_64-cpython-310/pyemd/emd.o
> In file included from /usr/include/python3.10/numpy/ndarraytypes.h:1940,
>                  from /usr/include/python3.10/numpy/ndarrayobject.h:12,
>                  from /usr/include/python3.10/numpy/arrayobject.h:5,
>                  from pyemd/emd.cpp:797:
> /usr/include/python3.10/numpy/npy_1_7_deprecated_api.h:17:2: warning: 
> #warning "Using deprecated NumPy API, disable it with " "#define 
> NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
>    17 | #warning "Using deprecated NumPy API, disable it with " \
>       |  ^~~~~~~
> In file included from pyemd/lib/emd_hat.hpp:95,
>                  from pyemd/emd.cpp:805:
> pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’:
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/emd_hat_impl.hpp:41:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, 
> std::allocator<double> >::size_type’ {aka ‘long unsigned int’} 
> [-Wsign-compare]
>    41 |     {for (NODE_T i=0; i<P.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = NO_FLOW]’:
> pyemd/emd.cpp:2651:42:   required from here
> pyemd/lib/emd_hat_impl.hpp:41:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, 
> std::allocator<double> >::size_type’ {aka ‘long unsigned int’} 
> [-Wsign-compare]
> pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘void 
> fillFWithZeros(std::vector<std::vector<NUM_T> >&) [with NUM_T = double]’:
> pyemd/lib/emd_hat_impl.hpp:33:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/emd_hat_impl.hpp:17:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >::size_type’ 
> {aka ‘long unsigned int’} [-Wsign-compare]
>    17 |     for (NODE_T i= 0; i<F.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp:18:28: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, 
> std::allocator<double> >::size_type’ {aka ‘long unsigned int’} 
> [-Wsign-compare]
>    18 |         for (NODE_T j= 0; j<F[i].size(); ++j) {
>       |                           ~^~~~~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T 
> emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’:
> pyemd/lib/emd_hat_impl.hpp:385:62:   required from ‘emd_hat_impl<long long 
> int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, 
> FLOW_TYPE>::operator()(const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<std::vector<long long int> >&, 
> NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE 
> = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:456:56:   required from ‘emd_hat_impl<double, 
> FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const 
> std::vector<double, std::allocator<double> >&, const std::vector<double, 
> std::allocator<double> >&, const std::vector<double, std::allocator<double> 
> >&, const std::vector<double, std::allocator<double> >&, const 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >*) [with 
> FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’
> pyemd/lib/emd_hat_impl.hpp:57:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/emd_hat_impl.hpp:255:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long 
> int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   255 |     {for (NODE_T i=0; i<b.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp:263:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<std::__cxx11::list<edge<long long int>, std::allocator<edge<long 
> long int> > >, std::allocator<std::__cxx11::list<edge<long long int>, 
> std::allocator<edge<long long int> > > > >::size_type’ {aka ‘long unsigned 
> int’} [-Wsign-compare]
>   263 |     {for (NODE_T i=0; i<c.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp:296:51: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<std::__cxx11::list<edge0<long long int>, 
> std::allocator<edge0<long long int> > >, 
> std::allocator<std::__cxx11::list<edge0<long long int>, 
> std::allocator<edge0<long long int> > > > >::size_type’ {aka ‘long unsigned 
> int’} [-Wsign-compare]
>   296 |         for (NODE_T new_name_from=0; new_name_from<flows.size(); 
> ++new_name_from) {
>       |                                      ~~~~~~~~~~~~~^~~~~~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T 
> emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T 
> FLOW_TYPE = NO_FLOW]’:
> pyemd/lib/emd_hat_impl.hpp:385:62:   required from ‘emd_hat_impl<long long 
> int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, 
> FLOW_TYPE>::operator()(const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<std::vector<long long int> >&, 
> NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE 
> = NO_FLOW; NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:456:56:   required from ‘emd_hat_impl<double, 
> FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const 
> std::vector<double, std::allocator<double> >&, const std::vector<double, 
> std::allocator<double> >&, const std::vector<double, std::allocator<double> 
> >&, const std::vector<double, std::allocator<double> >&, const 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >*) [with 
> FLOW_TYPE_T FLOW_TYPE = NO_FLOW; NUM_T = double]’
> pyemd/lib/emd_hat_impl.hpp:57:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = NO_FLOW]’
> pyemd/emd.cpp:2651:42:   required from here
> pyemd/lib/emd_hat_impl.hpp:255:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long 
> int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   255 |     {for (NODE_T i=0; i<b.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp:263:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<std::__cxx11::list<edge<long long int>, std::allocator<edge<long 
> long int> > >, std::allocator<std::__cxx11::list<edge<long long int>, 
> std::allocator<edge<long long int> > > > >::size_type’ {aka ‘long unsigned 
> int’} [-Wsign-compare]
>   263 |     {for (NODE_T i=0; i<c.size(); ++i) {
>       |                       ~^~~~~~~~~
> In file included from pyemd/lib/emd_hat_impl.hpp:8:
> pyemd/lib/min_cost_flow.hpp: In instantiation of ‘void 
> min_cost_flow<NUM_T>::compute_shortest_path(std::vector<NUM_T>&, 
> std::vector<int>&, NODE_T, std::vector<std::__cxx11::list<edge1<NUM_T> > >&, 
> std::vector<std::__cxx11::list<edge2<NUM_T> > >&, const std::vector<NUM_T>&, 
> NODE_T&) [with NUM_T = long long int; NODE_T = int]’:
> pyemd/lib/min_cost_flow.hpp:155:17:   required from ‘NUM_T 
> min_cost_flow<NUM_T>::operator()(std::vector<NUM_T>&, const 
> std::vector<std::__cxx11::list<edge<NUM_T> > >&, 
> std::vector<std::__cxx11::list<edge0<NUM_T> > >&) [with NUM_T = long long 
> int]’
> pyemd/lib/emd_hat_impl.hpp:291:24:   required from ‘NUM_T 
> emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat_impl.hpp:385:62:   required from ‘emd_hat_impl<long long 
> int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, 
> FLOW_TYPE>::operator()(const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<std::vector<long long int> >&, 
> NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE 
> = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:456:56:   required from ‘emd_hat_impl<double, 
> FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const 
> std::vector<double, std::allocator<double> >&, const std::vector<double, 
> std::allocator<double> >&, const std::vector<double, std::allocator<double> 
> >&, const std::vector<double, std::allocator<double> >&, const 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >*) [with 
> FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’
> pyemd/lib/emd_hat_impl.hpp:57:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/min_cost_flow.hpp:321:37: warning: comparison of integer 
> expressions of different signedness: 
> ‘__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘int’} 
> and ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > 
> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   321 |                 if ( (_nodes_to_Q[v]<Q.size()) && 
> (alt<Q[_nodes_to_Q[v]]._dist) ) {
>       |                      ~~~~~~~~~~~~~~~^~~~~~~~~~
> pyemd/lib/min_cost_flow.hpp:332:41: warning: comparison of integer 
> expressions of different signedness: 
> ‘__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘int’} 
> and ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > 
> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   332 |                     if ( (_nodes_to_Q[v]<Q.size()) && 
> (alt<Q[_nodes_to_Q[v]]._dist) )  {
>       |                          ~~~~~~~~~~~~~~~^~~~~~~~~~
> In file included from pyemd/lib/emd_hat.hpp:7:
> pyemd/lib/flow_utils.hpp: In instantiation of ‘void 
> return_flow_from_to_transhipment_vertex(const std::vector<std::vector<NUM_T> 
> >&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> std::vector<NUM_T>&, std::vector<NUM_T>&) [with NUM_T = long long int]’:
> pyemd/lib/flow_utils.hpp:46:44:   required from ‘void 
> transform_flow_to_regular(std::vector<std::vector<NUM_T> >&, const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&) [with NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:322:70:   required from ‘NUM_T 
> emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat_impl.hpp:385:62:   required from ‘emd_hat_impl<long long 
> int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, 
> FLOW_TYPE>::operator()(const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<std::vector<long long int> >&, 
> NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE 
> = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:456:56:   required from ‘emd_hat_impl<double, 
> FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const 
> std::vector<double, std::allocator<double> >&, const std::vector<double, 
> std::allocator<double> >&, const std::vector<double, std::allocator<double> 
> >&, const std::vector<double, std::allocator<double> >&, const 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >*) [with 
> FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’
> pyemd/lib/emd_hat_impl.hpp:57:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/flow_utils.hpp:25:24: warning: comparison of integer expressions of 
> different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long 
> int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>    25 |     for (NODE_T i= 0; i<P.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/flow_utils.hpp:26:28: warning: comparison of integer expressions of 
> different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long 
> int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>    26 |         for (NODE_T j= 0; j<P.size(); ++j) {
>       |                           ~^~~~~~~~~
> pyemd/lib/min_cost_flow.hpp: In instantiation of ‘void 
> min_cost_flow<NUM_T>::heapify(std::vector<edge3<NUM_T> >&, std::vector<int>&, 
> NODE_T) [with NUM_T = long long int; NODE_T = int]’:
> pyemd/lib/min_cost_flow.hpp:392:9:   required from ‘void 
> min_cost_flow<NUM_T>::heap_remove_first(std::vector<edge3<NUM_T> >&, 
> std::vector<int>&) [with NUM_T = long long int]’
> pyemd/lib/min_cost_flow.hpp:313:13:   required from ‘void 
> min_cost_flow<NUM_T>::compute_shortest_path(std::vector<NUM_T>&, 
> std::vector<int>&, NODE_T, std::vector<std::__cxx11::list<edge1<NUM_T> > >&, 
> std::vector<std::__cxx11::list<edge2<NUM_T> > >&, const std::vector<NUM_T>&, 
> NODE_T&) [with NUM_T = long long int; NODE_T = int]’
> pyemd/lib/min_cost_flow.hpp:155:17:   required from ‘NUM_T 
> min_cost_flow<NUM_T>::operator()(std::vector<NUM_T>&, const 
> std::vector<std::__cxx11::list<edge<NUM_T> > >&, 
> std::vector<std::__cxx11::list<edge0<NUM_T> > >&) [with NUM_T = long long 
> int]’
> pyemd/lib/emd_hat_impl.hpp:291:24:   required from ‘NUM_T 
> emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat_impl.hpp:385:62:   required from ‘emd_hat_impl<long long 
> int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, 
> FLOW_TYPE>::operator()(const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<std::vector<long long int> >&, 
> NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE 
> = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:456:56:   required from ‘emd_hat_impl<double, 
> FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const 
> std::vector<double, std::allocator<double> >&, const std::vector<double, 
> std::allocator<double> >&, const std::vector<double, std::allocator<double> 
> >&, const std::vector<double, std::allocator<double> >&, const 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >*) [with 
> FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’
> pyemd/lib/emd_hat_impl.hpp:57:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/min_cost_flow.hpp:405:20: warning: comparison of integer 
> expressions of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > 
> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   405 |             if ( (l<Q.size()) && (Q[l]._dist<Q[i]._dist) ) {
>       |                  ~~^~~~~~~~~~
> pyemd/lib/min_cost_flow.hpp:410:20: warning: comparison of integer 
> expressions of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > 
> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   410 |             if ( (r<Q.size())&& (Q[r]._dist<Q[smallest]._dist) ) {
>       |                  ~~^~~~~~~~~~
> creating build/lib.linux-x86_64-cpython-310
> creating build/lib.linux-x86_64-cpython-310/pyemd
> x86_64-linux-gnu-g++ -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 
> -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
> -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-310/pyemd/emd.o 
> -L/usr/lib/x86_64-linux-gnu -o 
> build/lib.linux-x86_64-cpython-310/pyemd/emd.cpython-310-x86_64-linux-gnu.so
> copying 
> build/lib.linux-x86_64-cpython-310/pyemd/emd.cpython-310-x86_64-linux-gnu.so 
> -> pyemd
> 
> ----------------------------------------------------------------------
> Ran 0 tests in 0.000s
> 
> OK
> running test
> WARNING: Testing via this command is deprecated and will be removed in a 
> future version. Users looking for a generic test entry point independent of 
> test runner are encouraged to use tox.
> running egg_info
> writing pyemd.egg-info/PKG-INFO
> writing dependency_links to pyemd.egg-info/dependency_links.txt
> writing requirements to pyemd.egg-info/requires.txt
> writing top-level names to pyemd.egg-info/top_level.txt
> reading manifest file 'pyemd.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '__pycache__' found anywhere 
> in distribution
> warning: no previously-included files matching '*.dylib' found anywhere in 
> distribution
> adding license file 'LICENSE'
> writing manifest file 'pyemd.egg-info/SOURCES.txt'
> running build_ext
> building 'pyemd.emd' extension
> x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g 
> -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g 
> -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ipyemd 
> -I/usr/include/python3.11 -I/usr/lib/python3/dist-packages/numpy/core/include 
> -c pyemd/emd.cpp -o build/temp.linux-x86_64-cpython-311/pyemd/emd.o
> In file included from /usr/include/python3.11/numpy/ndarraytypes.h:1940,
>                  from /usr/include/python3.11/numpy/ndarrayobject.h:12,
>                  from /usr/include/python3.11/numpy/arrayobject.h:5,
>                  from pyemd/emd.cpp:797:
> /usr/include/python3.11/numpy/npy_1_7_deprecated_api.h:17:2: warning: 
> #warning "Using deprecated NumPy API, disable it with " "#define 
> NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
>    17 | #warning "Using deprecated NumPy API, disable it with " \
>       |  ^~~~~~~
> In file included from pyemd/lib/emd_hat.hpp:95,
>                  from pyemd/emd.cpp:805:
> pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’:
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/emd_hat_impl.hpp:41:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, 
> std::allocator<double> >::size_type’ {aka ‘long unsigned int’} 
> [-Wsign-compare]
>    41 |     {for (NODE_T i=0; i<P.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = NO_FLOW]’:
> pyemd/emd.cpp:2651:42:   required from here
> pyemd/lib/emd_hat_impl.hpp:41:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, 
> std::allocator<double> >::size_type’ {aka ‘long unsigned int’} 
> [-Wsign-compare]
> pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘void 
> fillFWithZeros(std::vector<std::vector<NUM_T> >&) [with NUM_T = double]’:
> pyemd/lib/emd_hat_impl.hpp:33:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/emd_hat_impl.hpp:17:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >::size_type’ 
> {aka ‘long unsigned int’} [-Wsign-compare]
>    17 |     for (NODE_T i= 0; i<F.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp:18:28: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, 
> std::allocator<double> >::size_type’ {aka ‘long unsigned int’} 
> [-Wsign-compare]
>    18 |         for (NODE_T j= 0; j<F[i].size(); ++j) {
>       |                           ~^~~~~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T 
> emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’:
> pyemd/lib/emd_hat_impl.hpp:385:62:   required from ‘emd_hat_impl<long long 
> int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, 
> FLOW_TYPE>::operator()(const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<std::vector<long long int> >&, 
> NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE 
> = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:456:56:   required from ‘emd_hat_impl<double, 
> FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const 
> std::vector<double, std::allocator<double> >&, const std::vector<double, 
> std::allocator<double> >&, const std::vector<double, std::allocator<double> 
> >&, const std::vector<double, std::allocator<double> >&, const 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >*) [with 
> FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’
> pyemd/lib/emd_hat_impl.hpp:57:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/emd_hat_impl.hpp:255:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long 
> int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   255 |     {for (NODE_T i=0; i<b.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp:263:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<std::__cxx11::list<edge<long long int>, std::allocator<edge<long 
> long int> > >, std::allocator<std::__cxx11::list<edge<long long int>, 
> std::allocator<edge<long long int> > > > >::size_type’ {aka ‘long unsigned 
> int’} [-Wsign-compare]
>   263 |     {for (NODE_T i=0; i<c.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp:296:51: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<std::__cxx11::list<edge0<long long int>, 
> std::allocator<edge0<long long int> > >, 
> std::allocator<std::__cxx11::list<edge0<long long int>, 
> std::allocator<edge0<long long int> > > > >::size_type’ {aka ‘long unsigned 
> int’} [-Wsign-compare]
>   296 |         for (NODE_T new_name_from=0; new_name_from<flows.size(); 
> ++new_name_from) {
>       |                                      ~~~~~~~~~~~~~^~~~~~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T 
> emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T 
> FLOW_TYPE = NO_FLOW]’:
> pyemd/lib/emd_hat_impl.hpp:385:62:   required from ‘emd_hat_impl<long long 
> int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, 
> FLOW_TYPE>::operator()(const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<std::vector<long long int> >&, 
> NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE 
> = NO_FLOW; NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:456:56:   required from ‘emd_hat_impl<double, 
> FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const 
> std::vector<double, std::allocator<double> >&, const std::vector<double, 
> std::allocator<double> >&, const std::vector<double, std::allocator<double> 
> >&, const std::vector<double, std::allocator<double> >&, const 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >*) [with 
> FLOW_TYPE_T FLOW_TYPE = NO_FLOW; NUM_T = double]’
> pyemd/lib/emd_hat_impl.hpp:57:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = NO_FLOW]’
> pyemd/emd.cpp:2651:42:   required from here
> pyemd/lib/emd_hat_impl.hpp:255:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long 
> int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   255 |     {for (NODE_T i=0; i<b.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/emd_hat_impl.hpp:263:24: warning: comparison of integer expressions 
> of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<std::__cxx11::list<edge<long long int>, std::allocator<edge<long 
> long int> > >, std::allocator<std::__cxx11::list<edge<long long int>, 
> std::allocator<edge<long long int> > > > >::size_type’ {aka ‘long unsigned 
> int’} [-Wsign-compare]
>   263 |     {for (NODE_T i=0; i<c.size(); ++i) {
>       |                       ~^~~~~~~~~
> In file included from pyemd/lib/emd_hat_impl.hpp:8:
> pyemd/lib/min_cost_flow.hpp: In instantiation of ‘void 
> min_cost_flow<NUM_T>::compute_shortest_path(std::vector<NUM_T>&, 
> std::vector<int>&, NODE_T, std::vector<std::__cxx11::list<edge1<NUM_T> > >&, 
> std::vector<std::__cxx11::list<edge2<NUM_T> > >&, const std::vector<NUM_T>&, 
> NODE_T&) [with NUM_T = long long int; NODE_T = int]’:
> pyemd/lib/min_cost_flow.hpp:155:17:   required from ‘NUM_T 
> min_cost_flow<NUM_T>::operator()(std::vector<NUM_T>&, const 
> std::vector<std::__cxx11::list<edge<NUM_T> > >&, 
> std::vector<std::__cxx11::list<edge0<NUM_T> > >&) [with NUM_T = long long 
> int]’
> pyemd/lib/emd_hat_impl.hpp:291:24:   required from ‘NUM_T 
> emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat_impl.hpp:385:62:   required from ‘emd_hat_impl<long long 
> int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, 
> FLOW_TYPE>::operator()(const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<std::vector<long long int> >&, 
> NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE 
> = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:456:56:   required from ‘emd_hat_impl<double, 
> FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const 
> std::vector<double, std::allocator<double> >&, const std::vector<double, 
> std::allocator<double> >&, const std::vector<double, std::allocator<double> 
> >&, const std::vector<double, std::allocator<double> >&, const 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >*) [with 
> FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’
> pyemd/lib/emd_hat_impl.hpp:57:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/min_cost_flow.hpp:321:37: warning: comparison of integer 
> expressions of different signedness: 
> ‘__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘int’} 
> and ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > 
> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   321 |                 if ( (_nodes_to_Q[v]<Q.size()) && 
> (alt<Q[_nodes_to_Q[v]]._dist) ) {
>       |                      ~~~~~~~~~~~~~~~^~~~~~~~~~
> pyemd/lib/min_cost_flow.hpp:332:41: warning: comparison of integer 
> expressions of different signedness: 
> ‘__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘int’} 
> and ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > 
> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   332 |                     if ( (_nodes_to_Q[v]<Q.size()) && 
> (alt<Q[_nodes_to_Q[v]]._dist) )  {
>       |                          ~~~~~~~~~~~~~~~^~~~~~~~~~
> In file included from pyemd/lib/emd_hat.hpp:7:
> pyemd/lib/flow_utils.hpp: In instantiation of ‘void 
> return_flow_from_to_transhipment_vertex(const std::vector<std::vector<NUM_T> 
> >&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> std::vector<NUM_T>&, std::vector<NUM_T>&) [with NUM_T = long long int]’:
> pyemd/lib/flow_utils.hpp:46:44:   required from ‘void 
> transform_flow_to_regular(std::vector<std::vector<NUM_T> >&, const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&) [with NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:322:70:   required from ‘NUM_T 
> emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat_impl.hpp:385:62:   required from ‘emd_hat_impl<long long 
> int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, 
> FLOW_TYPE>::operator()(const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<std::vector<long long int> >&, 
> NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE 
> = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:456:56:   required from ‘emd_hat_impl<double, 
> FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const 
> std::vector<double, std::allocator<double> >&, const std::vector<double, 
> std::allocator<double> >&, const std::vector<double, std::allocator<double> 
> >&, const std::vector<double, std::allocator<double> >&, const 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >*) [with 
> FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’
> pyemd/lib/emd_hat_impl.hpp:57:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/flow_utils.hpp:25:24: warning: comparison of integer expressions of 
> different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long 
> int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>    25 |     for (NODE_T i= 0; i<P.size(); ++i) {
>       |                       ~^~~~~~~~~
> pyemd/lib/flow_utils.hpp:26:28: warning: comparison of integer expressions of 
> different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long 
> int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>    26 |         for (NODE_T j= 0; j<P.size(); ++j) {
>       |                           ~^~~~~~~~~
> pyemd/lib/min_cost_flow.hpp: In instantiation of ‘void 
> min_cost_flow<NUM_T>::heapify(std::vector<edge3<NUM_T> >&, std::vector<int>&, 
> NODE_T) [with NUM_T = long long int; NODE_T = int]’:
> pyemd/lib/min_cost_flow.hpp:392:9:   required from ‘void 
> min_cost_flow<NUM_T>::heap_remove_first(std::vector<edge3<NUM_T> >&, 
> std::vector<int>&) [with NUM_T = long long int]’
> pyemd/lib/min_cost_flow.hpp:313:13:   required from ‘void 
> min_cost_flow<NUM_T>::compute_shortest_path(std::vector<NUM_T>&, 
> std::vector<int>&, NODE_T, std::vector<std::__cxx11::list<edge1<NUM_T> > >&, 
> std::vector<std::__cxx11::list<edge2<NUM_T> > >&, const std::vector<NUM_T>&, 
> NODE_T&) [with NUM_T = long long int; NODE_T = int]’
> pyemd/lib/min_cost_flow.hpp:155:17:   required from ‘NUM_T 
> min_cost_flow<NUM_T>::operator()(std::vector<NUM_T>&, const 
> std::vector<std::__cxx11::list<edge<NUM_T> > >&, 
> std::vector<std::__cxx11::list<edge0<NUM_T> > >&) [with NUM_T = long long 
> int]’
> pyemd/lib/emd_hat_impl.hpp:291:24:   required from ‘NUM_T 
> emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const 
> std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat_impl.hpp:385:62:   required from ‘emd_hat_impl<long long 
> int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, 
> FLOW_TYPE>::operator()(const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<long long int>&, const 
> std::vector<long long int>&, const std::vector<std::vector<long long int> >&, 
> NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE 
> = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’
> pyemd/lib/emd_hat_impl.hpp:456:56:   required from ‘emd_hat_impl<double, 
> FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const 
> std::vector<double, std::allocator<double> >&, const std::vector<double, 
> std::allocator<double> >&, const std::vector<double, std::allocator<double> 
> >&, const std::vector<double, std::allocator<double> >&, const 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, 
> std::vector<std::vector<double, std::allocator<double> >, 
> std::allocator<std::vector<double, std::allocator<double> > > >*) [with 
> FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’
> pyemd/lib/emd_hat_impl.hpp:57:43:   required from ‘NUM_T 
> emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, 
> const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, 
> std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T 
> FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’
> pyemd/lib/emd_hat.hpp:87:52:   required from here
> pyemd/lib/min_cost_flow.hpp:405:20: warning: comparison of integer 
> expressions of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > 
> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   405 |             if ( (l<Q.size()) && (Q[l]._dist<Q[i]._dist) ) {
>       |                  ~~^~~~~~~~~~
> pyemd/lib/min_cost_flow.hpp:410:20: warning: comparison of integer 
> expressions of different signedness: ‘NODE_T’ {aka ‘int’} and 
> ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > 
> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
>   410 |             if ( (r<Q.size())&& (Q[r]._dist<Q[smallest]._dist) ) {
>       |                  ~~^~~~~~~~~~
> creating build/lib.linux-x86_64-cpython-311
> creating build/lib.linux-x86_64-cpython-311/pyemd
> x86_64-linux-gnu-g++ -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 
> -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
> -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-311/pyemd/emd.o 
> -L/usr/lib/x86_64-linux-gnu -o 
> build/lib.linux-x86_64-cpython-311/pyemd/emd.cpython-311-x86_64-linux-gnu.so
> copying 
> build/lib.linux-x86_64-cpython-311/pyemd/emd.cpython-311-x86_64-linux-gnu.so 
> -> pyemd
> 
> ----------------------------------------------------------------------
> Ran 0 tests in 0.000s
> 
> OK
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyemd/build; 
> python3.10 -m pytest test
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.10.9, pytest-7.2.0, pluggy-1.0.0+repack -- 
> /usr/bin/python3.10
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>, configfile: pytest.ini
> collecting ... collected 35 items
> 
> test/test_pyemd.py::test_emd_1 PASSED                           
>          [  2%]
> test/test_pyemd.py::test_emd_2 PASSED                           
>          [  5%]
> test/test_pyemd.py::test_emd_3 PASSED                           
>          [  8%]
> test/test_pyemd.py::test_emd_4 PASSED                           
>          [ 11%]
> test/test_pyemd.py::test_emd_extra_mass_penalty PASSED          
>          [ 14%]
> test/test_pyemd.py::test_emd_validate_larger_signatures_1 
> PASSED         [ 17%]
> test/test_pyemd.py::test_emd_validate_larger_signatures_2 
> PASSED         [ 20%]
> test/test_pyemd.py::test_emd_validate_larger_signatures_3 
> PASSED         [ 22%]
> test/test_pyemd.py::test_emd_validate_different_signature_dims 
> PASSED    [ 25%]
> test/test_pyemd.py::test_emd_validate_symmetric_distance_matrix 
> FAILED   [ 28%]
> test/test_pyemd.py::test_emd_with_flow_1 PASSED                 
>          [ 31%]
> test/test_pyemd.py::test_emd_with_flow_2 PASSED                 
>          [ 34%]
> test/test_pyemd.py::test_emd_with_flow_3 PASSED                 
>          [ 37%]
> test/test_pyemd.py::test_emd_with_flow_4 PASSED                 
>          [ 40%]
> test/test_pyemd.py::test_emd_with_flow_5 PASSED                 
>          [ 42%]
> test/test_pyemd.py::test_emd_with_flow_6 PASSED                 
>          [ 45%]
> test/test_pyemd.py::test_emd_with_flow_extra_mass_penalty 
> PASSED         [ 48%]
> test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_1 
> PASSED [ 51%]
> test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_2 
> PASSED [ 54%]
> test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_3 
> PASSED [ 57%]
> test/test_pyemd.py::test_emd_with_flow_validate_different_signature_dims 
> PASSED [ 60%]
> test/test_pyemd.py::test_emd_with_flow_validate_square_distance_matrix 
> FAILED [ 62%]
> test/test_pyemd.py::test_emd_samples_1 PASSED                   
>          [ 65%]
> test/test_pyemd.py::test_emd_samples_1_binsize PASSED           
>          [ 68%]
> test/test_pyemd.py::test_emd_samples_1_manual_range PASSED      
>          [ 71%]
> test/test_pyemd.py::test_emd_samples_1_not_normalized PASSED    
>          [ 74%]
> test/test_pyemd.py::test_emd_samples_1_custom_distance PASSED   
>          [ 77%]
> test/test_pyemd.py::test_emd_samples_all_kwargs PASSED          
>          [ 80%]
> test/test_pyemd.py::test_emd_samples_2 PASSED                   
>          [ 82%]
> test/test_pyemd.py::test_emd_samples_3 PASSED                   
>          [ 85%]
> test/test_pyemd.py::test_emd_samples_4 PASSED                   
>          [ 88%]
> test/test_pyemd.py::test_emd_samples_5 PASSED                   
>          [ 91%]
> test/test_pyemd.py::test_emd_samples_validate_empty PASSED      
>          [ 94%]
> test/test_pyemd.py::test_emd_samples_validate_distance_matrix_square 
> PASSED [ 97%]
> test/test_pyemd.py::test_emd_samples_validate_distance_matrix_size 
> PASSED [100%]
> 
> =================================== FAILURES 
> ===================================
> _________________ test_emd_validate_symmetric_distance_matrix 
> __________________
> 
>     def test_emd_validate_symmetric_distance_matrix():
>         first_signature = np.array([0.0, 1.0])
>         second_signature = np.array([5.0, 3.0])
> >       distance_matrix = np.array([[0.0, 0.5, 3.0],
>                                     [0.5, 0.0]])
> E       ValueError: setting an array element with a sequence. The 
> requested array has an inhomogeneous shape after 1 dimensions. The detected 
> shape was (2,) + inhomogeneous part.
> 
> test/test_pyemd.py:132: ValueError
> ______________ test_emd_with_flow_validate_square_distance_matrix 
> ______________
> 
>     def test_emd_with_flow_validate_square_distance_matrix():
>         first_signature = np.array([0.0, 1.0])
>         second_signature = np.array([5.0, 3.0])
> >       distance_matrix = np.array([[0.0, 0.5, 3.0],
>                                     [0.5, 0.0]])
> E       ValueError: setting an array element with a sequence. The 
> requested array has an inhomogeneous shape after 1 dimensions. The detected 
> shape was (2,) + inhomogeneous part.
> 
> test/test_pyemd.py:278: ValueError
> =========================== short test summary info 
> ============================
> FAILED 
> test/test_pyemd.py::test_emd_validate_symmetric_distance_matrix - 
> ValueError: setting an array element with a sequence. The requested array h...
> FAILED 
> test/test_pyemd.py::test_emd_with_flow_validate_square_distance_matrix
>  - ValueError: setting an array element with a sequence. The requested array 
> h...
> ========================= 2 failed, 33 passed 
> in 0.21s =========================
> E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyemd/build; python3.10 -m pytest test
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyemd/build; 
> python3.11 -m pytest test
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.1, pytest-7.2.0, pluggy-1.0.0+repack -- 
> /usr/bin/python3.11
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>, configfile: pytest.ini
> collecting ... collected 35 items
> 
> test/test_pyemd.py::test_emd_1 PASSED                           
>          [  2%]
> test/test_pyemd.py::test_emd_2 PASSED                           
>          [  5%]
> test/test_pyemd.py::test_emd_3 PASSED                           
>          [  8%]
> test/test_pyemd.py::test_emd_4 PASSED                           
>          [ 11%]
> test/test_pyemd.py::test_emd_extra_mass_penalty PASSED          
>          [ 14%]
> test/test_pyemd.py::test_emd_validate_larger_signatures_1 
> PASSED         [ 17%]
> test/test_pyemd.py::test_emd_validate_larger_signatures_2 
> PASSED         [ 20%]
> test/test_pyemd.py::test_emd_validate_larger_signatures_3 
> PASSED         [ 22%]
> test/test_pyemd.py::test_emd_validate_different_signature_dims 
> PASSED    [ 25%]
> test/test_pyemd.py::test_emd_validate_symmetric_distance_matrix 
> FAILED   [ 28%]
> test/test_pyemd.py::test_emd_with_flow_1 PASSED                 
>          [ 31%]
> test/test_pyemd.py::test_emd_with_flow_2 PASSED                 
>          [ 34%]
> test/test_pyemd.py::test_emd_with_flow_3 PASSED                 
>          [ 37%]
> test/test_pyemd.py::test_emd_with_flow_4 PASSED                 
>          [ 40%]
> test/test_pyemd.py::test_emd_with_flow_5 PASSED                 
>          [ 42%]
> test/test_pyemd.py::test_emd_with_flow_6 PASSED                 
>          [ 45%]
> test/test_pyemd.py::test_emd_with_flow_extra_mass_penalty 
> PASSED         [ 48%]
> test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_1 
> PASSED [ 51%]
> test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_2 
> PASSED [ 54%]
> test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_3 
> PASSED [ 57%]
> test/test_pyemd.py::test_emd_with_flow_validate_different_signature_dims 
> PASSED [ 60%]
> test/test_pyemd.py::test_emd_with_flow_validate_square_distance_matrix 
> FAILED [ 62%]
> test/test_pyemd.py::test_emd_samples_1 PASSED                   
>          [ 65%]
> test/test_pyemd.py::test_emd_samples_1_binsize PASSED           
>          [ 68%]
> test/test_pyemd.py::test_emd_samples_1_manual_range PASSED      
>          [ 71%]
> test/test_pyemd.py::test_emd_samples_1_not_normalized PASSED    
>          [ 74%]
> test/test_pyemd.py::test_emd_samples_1_custom_distance PASSED   
>          [ 77%]
> test/test_pyemd.py::test_emd_samples_all_kwargs PASSED          
>          [ 80%]
> test/test_pyemd.py::test_emd_samples_2 PASSED                   
>          [ 82%]
> test/test_pyemd.py::test_emd_samples_3 PASSED                   
>          [ 85%]
> test/test_pyemd.py::test_emd_samples_4 PASSED                   
>          [ 88%]
> test/test_pyemd.py::test_emd_samples_5 PASSED                   
>          [ 91%]
> test/test_pyemd.py::test_emd_samples_validate_empty PASSED      
>          [ 94%]
> test/test_pyemd.py::test_emd_samples_validate_distance_matrix_square 
> PASSED [ 97%]
> test/test_pyemd.py::test_emd_samples_validate_distance_matrix_size 
> PASSED [100%]
> 
> =================================== FAILURES 
> ===================================
> _________________ test_emd_validate_symmetric_distance_matrix 
> __________________
> 
>     def test_emd_validate_symmetric_distance_matrix():
>         first_signature = np.array([0.0, 1.0])
>         second_signature = np.array([5.0, 3.0])
> >       distance_matrix = np.array([[0.0, 0.5, 3.0],
>                                     [0.5, 0.0]])
> E       ValueError: setting an array element with a sequence. The 
> requested array has an inhomogeneous shape after 1 dimensions. The detected 
> shape was (2,) + inhomogeneous part.
> 
> test/test_pyemd.py:132: ValueError
> ______________ test_emd_with_flow_validate_square_distance_matrix 
> ______________
> 
>     def test_emd_with_flow_validate_square_distance_matrix():
>         first_signature = np.array([0.0, 1.0])
>         second_signature = np.array([5.0, 3.0])
> >       distance_matrix = np.array([[0.0, 0.5, 3.0],
>                                     [0.5, 0.0]])
> E       ValueError: setting an array element with a sequence. The 
> requested array has an inhomogeneous shape after 1 dimensions. The detected 
> shape was (2,) + inhomogeneous part.
> 
> test/test_pyemd.py:278: ValueError
> =========================== short test summary info 
> ============================
> FAILED 
> test/test_pyemd.py::test_emd_validate_symmetric_distance_matrix - 
> ValueError: setting an array element with a sequence. The requested array h...
> FAILED 
> test/test_pyemd.py::test_emd_with_flow_validate_square_distance_matrix
>  - ValueError: setting an array element with a sequence. The requested array 
> h...
> ========================= 2 failed, 33 passed 
> in 0.15s =========================
> E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyemd/build; python3.11 -m pytest test
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.10 
> 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/01/13/pyemd_0.5.1-2_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230113;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230113&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Source: pyemd
Source-Version: 0.5.1-3
Done: Andreas Tille <ti...@debian.org>

We believe that the bug you reported is fixed in the latest version of
pyemd, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1028...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Tille <ti...@debian.org> (supplier of updated pyemd package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 03 Feb 2023 16:21:45 +0100
Source: pyemd
Architecture: source
Version: 0.5.1-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers 
<debian-science-maintain...@lists.alioth.debian.org>
Changed-By: Andreas Tille <ti...@debian.org>
Closes: 1027236 1028886
Changes:
 pyemd (0.5.1-3) unstable; urgency=medium
 .
   * Team upload
 .
   [ Paul Wise ]
   * Declare compliance with Debian Policy 4.6.2, no changes needed
   * Update Debian copyright years
   * Drop deprecated XB-Python-Version field
 .
   [ Debian Janitor ]
   * Remove constraints unnecessary since buster (oldstable):
     + Build-Depends: Drop versioned constraint on python3-numpy.
 .
   [ Andreas Tille ]
   * Add salsa-ci file (routine-update)
   * Ignore tests that are based on broken input data
     Closes: #1027236, #1028886
Checksums-Sha1:
 dde03f2dd54b699cbe6d5aa0322d6fd1905ee757 2095 pyemd_0.5.1-3.dsc
 a627cd3202101f352892b92b3214e39b62752830 3592 pyemd_0.5.1-3.debian.tar.xz
 2bc5846ae951c7eb00dca9a28a869a23ddf6a508 7680 pyemd_0.5.1-3_amd64.buildinfo
Checksums-Sha256:
 5f124469034214fbf7142d9bafd0d95d979187b65a46cdf46558c44c913f4508 2095 
pyemd_0.5.1-3.dsc
 e64e8b45f1445371287388ac3c54ec45922a78ea65dcdf3f0b5639bb320157a6 3592 
pyemd_0.5.1-3.debian.tar.xz
 055bcb6d3174d869351fc6661d3a90553ef78b0bbf3b202798f088c74899178e 7680 
pyemd_0.5.1-3_amd64.buildinfo
Files:
 833ed22a6f9dd568769227860a518e40 2095 python optional pyemd_0.5.1-3.dsc
 14c30b77efaab2818d7cf3e4aa4086bb 3592 python optional 
pyemd_0.5.1-3.debian.tar.xz
 24b24aa229003d586c1f495de124e86b 7680 python optional 
pyemd_0.5.1-3_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAmPdJ8kRHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtEoOw//dhrixaTIuJxmtvwlBaFGifFwAwGBPqY8
5sSUiLluGIdrvpXadDckJRjlnlFwnRs1C2T15B5Z8VC/scdBVNedjQvIe4qhlWHr
GeewnsYcAuU9nEIFWkzvxdrECMPFg1VUDOqaOqb4QgQtZPhKcUKq5QsHdpkNsRx6
lk24RvuKs2wLnJqRbs9/H4Re5/agZ56n8R+M0HzxIE0I04qEEViQGs1T4AUnpYdJ
RwKNTVq9pr4Q83xX6RphgoYpqxiOCgAqrJktPaJ9ZbOw6vppzYDmG6sMc6A0yOWb
03bgZ32oUka+z38mzrsZwRzdWQ89ZB7wtIWDKjiQwRAlo22fBNYyu+rLIXyuBJI9
Y2Z8NYGHA/h1XSc6j4U8XTsplpAXsDNMnHUsd2K9Aw9ZSaTgQ2TtFCCDL86AV0/y
2YEY1+3ISjvK6P43gL/JLev/nc21ddV0zudgqKz5C2086ucXZfACKbKjYlqNB8+T
LFlT7v66DIvXYBkVnTvLg6FZxkcS8l9xheh8Cq6UQWsKYMZAEN3bi0/FakId/aJy
MwatnoQ6e599RF8WTv79Mh3F635qYpQ42z/Cs3I4ggp5bj4kpDyEeKxYfEK/7Eb4
bzgb04t9n7cG13Uh9MPp7UO46hC4sanRt629DFTLeS0cgXmFdYxT80javsvJHz6T
hQsbYgw4pQE=
=J0tq
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to