Your message dated Sun, 05 Feb 2023 01:42:02 +0000
with message-id <e1pou2c-008ub0...@fasolo.debian.org>
and subject line Bug#1028886: fixed in pyemd 0.5.1.54.g802fa86-1
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.54.g802fa86-1
Done: Paul Wise <p...@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.
Paul Wise <p...@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: Sun, 05 Feb 2023 09:14:13 +0800
Source: pyemd
Architecture: source
Version: 0.5.1.54.g802fa86-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers 
<debian-science-maintain...@lists.alioth.debian.org>
Changed-By: Paul Wise <p...@debian.org>
Closes: 1027236 1028886
Changes:
 pyemd (0.5.1.54.g802fa86-1) unstable; urgency=medium
 .
   * New upstream snapshot
     - Fixes tests ignored in the previous upload Closes: #1027236, #1028886
   * Drop no longer needed patches disabling tests
Checksums-Sha1:
 34d0434aee060d7a8ca0f43b6db157133360f5a4 2154 pyemd_0.5.1.54.g802fa86-1.dsc
 d438385ef98104ae2696b9930a423f6d54ef4829 19820 
pyemd_0.5.1.54.g802fa86.orig.tar.xz
 e88ac255a6ae84a04756438a624fa959f22026c1 3328 
pyemd_0.5.1.54.g802fa86-1.debian.tar.xz
Checksums-Sha256:
 6fd26a032ae181c5512b63aba9bca0d7cbdc0013dc0fcb26f59de4d24967ca14 2154 
pyemd_0.5.1.54.g802fa86-1.dsc
 4e87f461f87f00b852b71ede0f7a80979ab1c0a3ccafc166fb2f2a8629f146e2 19820 
pyemd_0.5.1.54.g802fa86.orig.tar.xz
 57e6b64a2bcb5b73f41454699716bdc484a843b93460cda9d4a6f893f089c011 3328 
pyemd_0.5.1.54.g802fa86-1.debian.tar.xz
Files:
 28a54aef5eff627e5e2443f431e14ed1 2154 python optional 
pyemd_0.5.1.54.g802fa86-1.dsc
 d65443b7060b2b1985c7a03bfb72263f 19820 python optional 
pyemd_0.5.1.54.g802fa86.orig.tar.xz
 e98ccf1a5809a52ff9fa9730d50ef0e3 3328 python optional 
pyemd_0.5.1.54.g802fa86-1.debian.tar.xz

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

iQIzBAEBCgAdFiEEYQsotVz8/kXqG1Y7MRa6Xp/6aaMFAmPfA84ACgkQMRa6Xp/6
aaOXRQ//Wov63X8P/9qIkPyZeJDLl3mbuzmyJAjaLn2X63QWzOMzbvfmIr6mbZUt
qYFDX4YEnX4gq0Gyp/oPd27EoaJrST/21s5XVJYUSc7tI7qjc2W6uz2WYBkDwe54
uMwxxMDh46gGAgC5H5Rfmzs4iA1RmHXOXIrXoVDkiPdP7f4joo1GZlPzycMJ/lL9
Upi/hAF+DR4ONuEmWYRfdCfCkSr7H2ICFABHDZoxP/FUwWEsk6k/UtREaTCaZOcg
pS0XrFbDDL7zX/A5ADcZfrC+eAAKP6XSouCz1U2OSv/4OdTcoP2dwpovq0J3NWM1
STpA/V682LfMLDKAztMdl/lm8YAGWdKGyAJa7rjKjAnmDiRk7jOoz2SqkrKvwtdk
FcBpWdi4yjz9rL0aw0IhRn6fCc5usiieq+gf6SP/IG5KXz7ojId7eZRDY8nn3ECL
m5Qw4qdiKE7VTDQxV3gm0+Qqal5H4MRINMCON2M53EjXV/o8FcF+jqUfNnc9vod7
MVbIixCQIAwo8xDLI3mz2aRL7Yp+PJCKznKH0Oy8C2RR01SPUQi7yYmM7m/7aJTj
G4uNyqB18gaqM5/75C6IO3atEAYqsTRkYcTALK7cIf71/LHONPKhVSFpvuZfbFBW
WPFK+FR0516fEGSJ1ur62LNyOAbhEN2a9ruih8OV+/adZgadHr0=
=ComD
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to