Alexandre PAYEN
4c2b6978f6
package/python-numpy: fix run-time failure with clapack
...
The numpy build system attempts to find lapack/blas at build time. It
tries a lot of different implementations, e.g. lapack, openblas, atlas,
... It is possible to help this automatic discovery by specifying
libraries to load in site.cfg and/or by setting environment variables
BLAS and LAPACK.
Unfortunately, the build system's logic is really hard to understand and
it's fragile. For example, regardless of what is specified as libraries
to load, it *will* try to find libblas.so and liblapack.so. However,
when something is specified explicitly in site.cfg, it will use a
different code path.
It turns out that when we specified the blas and lapack libraries
explicitly, as is done now, the build system logic will assume (without
checking) that cblas is used. This causes calls to cblas_* to be linked
in - again without checking, because numpy contains a copy of the header
and it uses dlopen to load it. clapack, however, does *not* provide
cblas (although it does provide a library libblas.so, but no
libcblas.so). Therefore, when importing numpy at runtime, we get an
error like:
ImportError: /usr/lib/python3.7/site-packages/numpy/core/_multiarray_umath.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: cblas_sgemm
The initial attempt to fix this added cblas to the libraries. This
happens to work because apparently the entire libraries line is ignored
when a non-existing library is added to it (remember, clapack does not
provide libcblas).
Another attempt was to set BLAS=None in the environment. This didn't
have any effect. Setting both BLAS=None and LAPACK=None does disable
lapack and blas, but then we don't use clapack at all.
In fact, it is not necessary to provide a libraries line at all: the
build system will attempt to find liblapack, libblas and libcblas
without any help.
Therefore, remove the libraries line from site.cfg and remove
PYTHON_NUMPY_SITE_CFG_LIBS.
Note that the paths to staging's /usr/include and /usr/lib need to be
specified explicitly. Indeed, the numpy build system doesn't use the
compiler to check the presence/absence of includes and libraries; it
searches the paths itself. It also hardcodes paths to /usr/lib etc, but
this is something that will be tackled in a separate commit.
Note that there is another problem: both lapack and clapack provide
libblas.so and liblapack.so. This will be handled in a later commit.
Also, openblas provides a cblas implementation in libopenblas.so, so
there should be a dependency on openblas to make sure numpy can find it.
This part is not entirely clear yet, so it will also be handled in a
separate commit.
Runtime testing is essential to be able to track this kind of issue, so
that is something that will be added in a separate commit as well.
Fixes:
http://lists.busybox.net/pipermail/buildroot/2019-June/252380.html
Initial patch from Giulio Benetti :
[v1] http://patchwork.ozlabs.org/patch/1100100/
[v2] http://patchwork.ozlabs.org/patch/1100208/
Signed-off-by: Alexandre PAYEN <alexandre.payen@smile.fr >
Cc: Giulio Benetti <giulio.benetti@micronovasrl.com >
Signed-off-by: Romain Naour <romain.naour@smile.fr >
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be >
2019-08-03 11:03:23 +02:00
..
2019-06-19 22:27:55 +02:00
2019-05-31 00:20:43 +02:00
2019-07-14 12:14:14 +02:00
2019-04-01 22:46:38 +02:00
2019-04-01 22:46:38 +02:00
2019-04-01 22:46:38 +02:00
2019-04-01 22:46:38 +02:00
2019-06-01 15:05:44 +02:00
2019-06-22 17:46:54 +02:00
2019-04-11 08:20:32 +02:00
2019-06-19 22:27:55 +02:00
2019-03-19 22:27:53 +01:00
2019-04-03 09:24:30 +02:00
2019-03-17 11:13:38 +01:00
2019-08-01 18:47:12 +02:00
2019-07-30 17:27:06 +02:00
2019-07-11 16:04:27 +02:00
2019-05-08 15:39:57 +02:00
2019-07-11 16:09:59 +02:00
2019-05-22 23:04:44 +02:00
2019-05-31 00:20:53 +02:00
2019-04-11 10:55:32 +02:00
2019-04-15 21:26:38 +02:00
2019-06-06 14:15:33 +02:00
2019-03-14 21:58:19 +01:00
2019-07-24 00:11:18 +02:00
2019-06-19 22:27:55 +02:00
2019-04-14 14:59:42 +02:00
2019-06-19 22:27:55 +02:00
2019-03-14 21:31:02 +01:00
2019-06-19 22:27:55 +02:00
2019-04-07 08:46:34 +02:00
2019-06-19 22:27:55 +02:00
2019-03-14 23:26:32 +01:00
2019-08-01 09:32:44 +02:00
2019-04-01 22:46:38 +02:00
2019-07-28 12:24:23 +02:00
2019-05-09 21:25:32 +02:00
2019-06-19 13:49:46 +02:00
2019-04-03 21:52:01 +02:00
2019-05-01 21:28:47 +02:00
2019-08-02 09:46:23 +02:00
2019-07-18 22:44:00 +02:00
2019-07-18 22:29:41 +02:00
2019-06-19 22:27:55 +02:00
2019-04-18 11:25:28 +02:00
2019-07-18 20:37:12 +02:00
2019-02-11 09:09:45 +01:00
2019-03-26 22:14:04 +01:00
2019-06-20 16:29:17 +02:00
2019-07-30 17:56:28 +02:00
2019-06-19 14:44:54 +02:00
2019-06-20 16:08:14 +02:00
2019-06-27 17:56:46 +02:00
2019-08-01 11:47:04 +02:00
2019-06-19 22:27:55 +02:00
2019-05-14 18:25:26 +02:00
2019-08-01 08:28:51 +02:00
2019-06-19 22:27:55 +02:00
2019-04-11 08:30:46 +02:00
2019-06-19 22:27:55 +02:00
2019-03-07 22:59:34 +01:00
2019-04-14 14:58:39 +02:00
2019-04-17 08:55:19 +02:00
2019-04-11 14:24:06 +02:00
2019-08-03 10:45:20 +02:00
2019-05-24 21:39:50 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-03-27 09:31:35 +01:00
2019-08-01 18:42:09 +02:00
2019-08-01 20:12:19 +02:00
2019-05-31 00:23:09 +02:00
2019-04-14 14:59:27 +02:00
2019-07-05 08:19:00 +02:00
2019-06-10 15:30:48 +02:00
2019-05-20 10:23:02 +02:00
2019-07-18 20:39:36 +02:00
2019-04-07 15:12:26 +02:00
2019-06-22 17:48:43 +02:00
2019-06-19 22:27:55 +02:00
2019-07-17 08:47:34 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-05-10 15:59:43 +02:00
2019-05-07 17:02:44 +02:00
2019-06-20 18:19:50 +02:00
2019-06-01 22:35:26 +02:00
2019-03-04 21:35:03 +01:00
2019-03-11 22:19:20 +01:00
2019-04-14 17:20:26 +02:00
2019-06-22 09:57:50 +02:00
2019-06-19 22:27:55 +02:00
2019-06-13 21:12:11 +02:00
2019-05-31 00:23:43 +02:00
2019-08-01 12:52:29 +02:00
2019-05-24 21:41:47 +02:00
2019-03-02 21:24:35 +01:00
2019-08-01 18:26:09 +02:00
2019-05-18 21:21:15 +02:00
2019-06-30 14:59:31 +02:00
2019-07-17 07:15:19 +02:00
2019-06-22 19:50:21 +02:00
2019-03-07 23:13:18 +01:00
2019-08-02 22:47:37 +02:00
2019-06-30 14:38:45 +02:00
2019-06-19 22:27:55 +02:00
2019-06-30 14:38:27 +02:00
2019-03-17 17:20:53 +01:00
2019-05-23 11:08:07 +02:00
2019-07-04 00:35:21 +02:00
2019-07-24 00:14:12 +02:00
2019-07-24 00:14:17 +02:00
2019-06-02 22:11:20 +02:00
2019-08-01 23:26:25 +02:00
2019-05-14 19:21:21 +02:00
2019-06-19 22:27:55 +02:00
2019-08-01 10:54:37 +02:00
2019-06-25 20:58:18 +02:00
2019-08-01 18:11:07 +02:00
2019-07-04 08:22:51 +02:00
2019-04-17 21:07:36 +02:00
2019-06-19 14:14:51 +02:00
2019-02-15 22:10:57 +01:00
2019-02-14 21:46:22 +01:00
2019-06-23 12:42:20 +02:00
2019-08-01 11:22:06 +02:00
2019-03-24 09:04:57 +01:00
2019-03-12 22:40:34 +01:00
2019-05-31 10:27:59 +02:00
2019-06-19 23:26:35 +02:00
2019-04-24 22:48:16 +02:00
2019-06-30 15:09:11 +02:00
2019-07-28 12:24:27 +02:00
2019-06-08 18:24:07 +02:00
2019-06-30 14:40:18 +02:00
2019-07-30 23:35:22 +02:00
2019-07-04 00:02:46 +02:00
2019-06-19 22:27:55 +02:00
2019-03-28 17:52:50 +01:00
2019-06-19 22:27:55 +02:00
2019-05-23 11:10:16 +02:00
2019-03-17 12:00:26 +01:00
2019-08-01 10:09:40 +02:00
2019-07-14 12:08:55 +02:00
2019-03-26 20:18:33 +01:00
2019-03-12 16:16:34 +01:00
2019-06-19 21:52:58 +02:00
2019-03-17 17:20:53 +01:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-20 16:57:44 +02:00
2019-07-18 20:39:48 +02:00
2019-06-19 07:30:34 +02:00
2019-06-19 22:27:55 +02:00
2019-03-17 16:49:52 +01:00
2019-04-01 22:43:00 +02:00
2019-06-19 22:27:55 +02:00
2019-05-31 00:24:45 +02:00
2019-04-20 15:33:22 +02:00
2019-07-14 15:59:56 +02:00
2019-07-05 08:23:41 +02:00
2019-06-19 22:27:55 +02:00
2019-07-14 12:24:22 +02:00
2019-06-19 22:27:55 +02:00
2019-06-22 19:34:21 +02:00
2019-08-02 22:51:54 +02:00
2019-05-24 09:43:24 +02:00
2019-08-02 22:49:23 +02:00
2019-05-21 21:50:00 +02:00
2019-06-22 17:46:38 +02:00
2019-03-20 14:38:42 +01:00
2019-04-10 13:35:05 +02:00
2019-04-10 13:35:05 +02:00
2019-04-10 13:35:05 +02:00
2019-06-19 22:27:55 +02:00
2019-04-20 15:34:15 +02:00
2019-08-01 11:04:26 +02:00
2019-08-01 15:36:48 +02:00
2019-04-11 18:28:28 +02:00
2019-08-01 19:38:46 +02:00
2019-06-19 13:49:46 +02:00
2019-07-04 00:04:47 +02:00
2019-04-10 19:09:12 +02:00
2019-06-19 22:27:55 +02:00
2019-02-23 14:42:22 +01:00
2019-05-31 00:25:17 +02:00
2019-08-01 20:14:48 +02:00
2019-03-17 12:38:52 +01:00
2019-07-14 11:56:58 +02:00
2019-04-20 15:50:29 +02:00
2019-07-17 07:40:18 +02:00
2019-05-07 22:30:13 +02:00
2019-08-01 10:38:11 +02:00
2019-02-11 09:08:48 +01:00
2019-05-31 00:25:58 +02:00
2019-06-19 21:49:41 +02:00
2019-06-22 17:47:08 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-08-03 10:50:02 +02:00
2019-08-02 23:00:42 +02:00
2019-06-19 22:27:55 +02:00
2019-08-01 21:10:52 +02:00
2019-06-19 23:26:35 +02:00
2019-08-01 00:54:01 +02:00
2019-08-02 23:01:19 +02:00
2019-07-11 16:06:35 +02:00
2019-08-02 23:01:38 +02:00
2019-05-06 09:33:56 +02:00
2019-07-11 16:09:02 +02:00
2019-06-20 13:32:51 +02:00
2019-06-20 17:12:48 +02:00
2019-06-24 06:10:37 +02:00
2019-06-20 13:30:38 +02:00
2019-07-26 22:44:03 +02:00
2019-07-04 00:10:47 +02:00
2019-07-18 20:26:50 +02:00
2019-06-19 22:27:55 +02:00
2019-07-11 16:01:29 +02:00
2019-06-19 22:27:55 +02:00
2019-04-18 11:25:28 +02:00
2019-02-24 23:12:27 +01:00
2019-08-01 11:03:04 +02:00
2019-05-17 10:52:51 +02:00
2019-05-18 23:16:04 +02:00
2019-06-19 22:27:55 +02:00
2019-08-01 10:44:38 +02:00
2019-08-02 19:46:40 +02:00
2019-06-10 20:22:19 +02:00
2019-06-19 22:27:55 +02:00
2019-03-24 23:02:54 +01:00
2019-04-16 22:13:35 +02:00
2019-04-30 13:15:41 +02:00
2019-06-19 23:26:35 +02:00
2019-05-31 00:26:25 +02:00
2019-07-14 12:35:10 +02:00
2019-03-05 10:59:38 +01:00
2019-07-10 22:26:06 +02:00
2019-08-01 10:46:19 +02:00
2019-04-13 16:56:46 +02:00
2019-07-03 23:56:08 +02:00
2019-07-03 23:55:27 +02:00
2019-08-02 17:27:16 +02:00
2019-06-19 22:27:55 +02:00
2019-07-03 23:29:19 +02:00
2019-05-24 23:15:39 +02:00
2019-03-17 11:11:16 +01:00
2019-05-31 00:37:42 +02:00
2019-06-19 22:27:55 +02:00
2019-07-11 22:38:47 +02:00
2019-07-16 19:04:37 +02:00
2019-06-19 23:26:35 +02:00
2019-05-07 22:58:41 +02:00
2019-03-17 17:29:35 +01:00
2019-03-12 22:37:34 +01:00
2019-04-04 23:24:03 +02:00
2019-06-19 22:27:55 +02:00
2019-08-01 09:33:40 +02:00
2019-08-01 09:47:21 +02:00
2019-07-17 07:30:19 +02:00
2019-05-25 13:58:42 +02:00
2019-03-27 09:38:51 +01:00
2019-06-18 19:57:41 +02:00
2019-05-05 21:09:32 +02:00
2019-05-24 21:56:24 +02:00
2019-06-19 13:15:46 +02:00
2019-06-19 21:37:27 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-01 14:11:27 +02:00
2019-06-19 22:27:55 +02:00
2019-07-14 12:33:57 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-07-09 19:47:02 +02:00
2019-08-01 09:26:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-22 19:53:57 +02:00
2019-05-06 21:40:40 +02:00
2019-06-27 22:29:37 +02:00
2019-06-23 21:44:12 +02:00
2019-07-14 12:30:34 +02:00
2019-03-12 22:36:47 +01:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-20 23:20:28 +02:00
2019-07-28 22:40:02 +02:00
2019-06-19 22:27:55 +02:00
2019-07-04 08:34:02 +02:00
2019-07-30 23:35:00 +02:00
2019-06-19 22:27:55 +02:00
2019-05-20 21:26:28 +02:00
2019-07-04 08:04:37 +02:00
2019-06-27 22:28:46 +02:00
2019-08-02 23:31:00 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-04-13 15:57:04 +02:00
2019-07-14 16:08:15 +02:00
2019-03-25 17:55:43 +01:00
2019-04-03 21:39:39 +02:00
2019-08-01 10:49:20 +02:00
2019-06-19 22:27:55 +02:00
2019-04-24 22:53:51 +02:00
2019-07-30 17:27:51 +02:00
2019-07-28 09:54:38 +02:00
2019-08-01 09:26:46 +02:00
2019-07-09 19:50:20 +02:00
2019-06-06 23:50:04 +02:00
2019-07-21 15:44:50 +02:00
2019-08-01 15:30:52 +02:00
2019-05-28 00:30:54 +02:00
2019-06-19 22:27:55 +02:00
2019-02-21 00:12:07 +01:00
2019-06-20 16:01:17 +02:00
2019-06-23 17:09:00 +02:00
2019-07-04 08:01:03 +02:00
2019-06-19 22:27:55 +02:00
2019-07-17 07:31:08 +02:00
2019-06-19 22:27:55 +02:00
2019-04-21 11:47:24 +02:00
2019-03-14 21:53:44 +01:00
2019-06-19 22:27:55 +02:00
2019-02-15 22:43:33 +01:00
2019-08-01 00:41:37 +02:00
2019-08-01 15:26:12 +02:00
2019-08-01 00:45:42 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 23:26:35 +02:00
2019-07-05 08:22:55 +02:00
2019-04-24 22:03:02 +02:00
2019-08-01 00:48:26 +02:00
2019-06-19 22:27:55 +02:00
2019-06-01 00:12:21 +02:00
2019-04-07 08:54:00 +02:00
2019-06-19 22:27:55 +02:00
2019-03-19 22:31:09 +01:00
2019-08-01 09:49:32 +02:00
2019-07-14 16:00:48 +02:00
2019-04-27 14:15:39 +02:00
2019-07-04 00:35:40 +02:00
2019-07-10 22:32:02 +02:00
2019-07-17 07:20:54 +02:00
2019-03-02 21:27:54 +01:00
2019-06-21 22:39:12 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-08-01 09:31:42 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-07-05 08:22:33 +02:00
2019-04-11 11:37:08 +02:00
2019-04-11 14:23:16 +02:00
2019-07-04 00:10:47 +02:00
2019-06-19 22:27:55 +02:00
2019-07-04 00:36:04 +02:00
2019-08-01 00:42:10 +02:00
2019-07-04 00:36:29 +02:00
2019-05-08 22:12:37 +02:00
2019-08-01 10:44:06 +02:00
2019-06-17 20:25:54 +02:00
2019-04-13 16:02:31 +02:00
2019-08-01 19:38:46 +02:00
2019-03-04 22:36:11 +01:00
2019-06-19 21:53:39 +02:00
2019-06-19 22:27:55 +02:00
2019-07-04 07:55:28 +02:00
2019-05-18 21:58:18 +02:00
2019-08-01 09:35:38 +02:00
2019-08-01 09:29:35 +02:00
2019-07-04 00:37:00 +02:00
2019-04-15 21:29:40 +02:00
2019-08-01 18:20:40 +02:00
2019-06-22 20:50:57 +02:00
2019-06-19 22:27:55 +02:00
2019-06-08 18:37:24 +02:00
2019-05-07 22:58:48 +02:00
2019-05-18 23:31:55 +02:00
2019-04-03 21:31:13 +02:00
2019-03-26 13:19:52 +01:00
2019-05-01 15:09:53 +02:00
2019-08-01 09:34:34 +02:00
2019-06-19 23:26:35 +02:00
2019-07-28 09:28:54 +02:00
2019-04-24 22:36:54 +02:00
2019-07-14 12:22:24 +02:00
2019-07-17 09:23:26 +02:00
2019-03-15 21:33:09 +01:00
2019-07-20 15:24:47 +02:00
2019-07-14 13:35:26 +02:00
2019-06-19 22:27:55 +02:00
2019-08-01 09:36:08 +02:00
2019-06-19 22:27:55 +02:00
2019-05-20 21:25:35 +02:00
2019-02-12 11:17:04 +01:00
2019-04-02 22:28:38 +02:00
2019-05-31 00:27:39 +02:00
2019-07-14 12:27:51 +02:00
2019-02-12 20:08:45 +01:00
2019-04-24 22:40:47 +02:00
2019-05-01 14:44:08 +02:00
2019-05-14 18:22:23 +02:00
2019-07-28 09:46:37 +02:00
2019-08-02 19:46:55 +02:00
2019-04-22 22:25:41 +02:00
2019-05-27 00:04:36 +02:00
2019-06-19 22:27:55 +02:00
2019-04-01 22:33:29 +02:00
2019-06-19 22:27:55 +02:00
2019-04-13 15:55:18 +02:00
2019-08-01 18:43:19 +02:00
2019-06-19 22:27:55 +02:00
2019-06-22 10:14:19 +02:00
2019-06-19 13:40:37 +02:00
2019-04-11 08:14:05 +02:00
2019-08-01 09:38:53 +02:00
2019-06-19 13:18:00 +02:00
2019-03-12 21:36:11 +01:00
2019-04-13 21:27:50 +02:00
2019-04-20 22:15:37 +02:00
2019-06-20 23:20:28 +02:00
2019-05-20 11:05:10 +02:00
2019-08-01 09:39:50 +02:00
2019-03-28 18:54:59 +01:00
2019-06-19 23:26:35 +02:00
2019-07-26 23:14:01 +02:00
2019-05-14 19:21:39 +02:00
2019-03-31 20:57:34 +02:00
2019-03-28 19:00:49 +01:00
2019-04-03 21:35:35 +02:00
2019-03-28 19:01:19 +01:00
2019-06-19 22:27:55 +02:00
2019-04-13 21:27:45 +02:00
2019-04-13 21:27:48 +02:00
2019-02-23 17:00:55 +01:00
2019-04-30 14:40:49 +02:00
2019-07-26 23:14:36 +02:00
2019-08-01 18:11:33 +02:00
2019-06-09 23:40:08 +02:00
2019-04-17 08:42:36 +02:00
2019-06-20 18:25:15 +02:00
2019-07-28 09:30:36 +02:00
2019-03-31 12:06:07 +02:00
2019-03-24 09:06:19 +01:00
2019-05-15 13:42:55 +02:00
2019-06-19 22:27:55 +02:00
2019-05-07 22:59:02 +02:00
2019-04-05 21:24:03 +02:00
2019-07-30 17:51:31 +02:00
2019-05-31 00:17:41 +02:00
2019-07-04 00:57:50 +02:00
2019-06-11 00:36:58 +02:00
2019-07-16 19:00:15 +02:00
2019-07-16 19:00:19 +02:00
2019-06-10 16:16:59 +02:00
2019-07-14 00:36:51 +02:00
2019-07-14 00:36:51 +02:00
2019-07-14 15:07:32 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-04-24 22:37:55 +02:00
2019-04-24 22:37:55 +02:00
2019-06-19 22:27:55 +02:00
2019-05-05 22:45:54 +02:00
2019-05-01 09:10:14 +02:00
2019-06-23 12:54:23 +02:00
2019-06-20 23:20:28 +02:00
2019-03-24 23:01:32 +01:00
2019-07-10 22:32:27 +02:00
2019-04-24 22:44:45 +02:00
2019-06-17 21:11:39 +02:00
2019-06-23 12:36:34 +02:00
2019-08-01 23:06:09 +02:00
2019-05-23 10:06:45 +02:00
2019-08-01 23:06:09 +02:00
2019-08-02 19:46:48 +02:00
2019-04-14 14:57:07 +02:00
2019-06-19 23:26:35 +02:00
2019-04-07 15:14:06 +02:00
2019-08-01 10:57:26 +02:00
2019-07-28 09:28:46 +02:00
2019-05-07 22:59:28 +02:00
2019-08-02 22:25:55 +02:00
2019-06-19 22:27:55 +02:00
2019-04-07 08:10:11 +02:00
2019-04-13 16:23:50 +02:00
2019-08-02 17:10:50 +02:00
2019-07-04 00:37:10 +02:00
2019-05-20 22:16:08 +02:00
2019-08-01 00:44:43 +02:00
2019-05-26 20:31:34 +02:00
2019-04-07 08:09:29 +02:00
2019-08-01 18:31:51 +02:00
2019-06-06 23:50:48 +02:00
2019-08-01 15:25:57 +02:00
2019-05-21 21:49:43 +02:00
2019-07-26 22:56:56 +02:00
2019-06-10 16:39:46 +02:00
2019-06-19 22:27:55 +02:00
2019-04-20 15:57:25 +02:00
2019-04-22 22:24:42 +02:00
2019-05-31 00:10:32 +02:00
2019-05-18 21:49:48 +02:00
2019-04-13 16:57:56 +02:00
2019-08-01 16:54:04 +02:00
2019-07-04 01:01:54 +02:00
2019-07-28 09:41:59 +02:00
2019-05-05 22:41:11 +02:00
2019-03-15 22:16:47 +01:00
2019-07-04 00:10:47 +02:00
2019-06-19 22:27:55 +02:00
2019-05-06 14:13:12 +02:00
2019-03-14 21:33:21 +01:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-03-18 21:57:49 +01:00
2019-05-23 11:09:24 +02:00
2019-03-12 16:20:51 +01:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-03-25 19:25:17 +01:00
2019-05-24 10:11:23 +02:00
2019-03-31 13:54:45 +02:00
2019-05-20 11:12:14 +02:00
2019-06-19 22:27:55 +02:00
2019-06-20 21:50:58 +02:00
2019-07-24 00:09:26 +02:00
2019-07-30 17:27:15 +02:00
2019-07-30 17:27:15 +02:00
2019-05-16 09:08:50 +02:00
2019-03-31 21:15:48 +02:00
2019-05-31 22:52:57 +02:00
2019-05-18 23:25:08 +02:00
2019-06-21 22:45:58 +02:00
2019-06-19 22:27:55 +02:00
2019-07-26 23:11:22 +02:00
2019-03-15 21:36:14 +01:00
2019-06-19 22:27:55 +02:00
2019-07-05 08:29:42 +02:00
2019-06-01 15:14:12 +02:00
2019-05-14 18:13:22 +02:00
2019-05-14 18:09:48 +02:00
2019-05-14 18:09:48 +02:00
2019-05-14 18:09:48 +02:00
2019-05-24 22:05:40 +02:00
2019-05-06 21:38:26 +02:00
2019-05-06 21:28:33 +02:00
2019-07-04 01:05:35 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-05-31 00:30:14 +02:00
2019-08-01 09:31:19 +02:00
2019-07-04 01:03:51 +02:00
2019-07-04 01:05:15 +02:00
2019-05-20 11:08:29 +02:00
2019-08-02 22:46:14 +02:00
2019-04-22 22:30:52 +02:00
2019-07-26 23:15:59 +02:00
2019-06-10 16:20:08 +02:00
2019-04-01 21:56:40 +02:00
2019-06-10 16:20:18 +02:00
2019-04-01 21:56:40 +02:00
2019-04-01 21:56:40 +02:00
2019-04-01 21:56:40 +02:00
2019-04-27 14:24:36 +02:00
2019-04-01 21:56:40 +02:00
2019-06-10 16:20:28 +02:00
2019-04-01 22:00:11 +02:00
2019-04-27 14:24:36 +02:00
2019-04-27 14:24:36 +02:00
2019-07-26 23:16:04 +02:00
2019-04-01 22:01:11 +02:00
2019-06-10 16:20:38 +02:00
2019-04-01 22:01:11 +02:00
2019-04-01 22:07:35 +02:00
2019-04-01 22:07:56 +02:00
2019-06-10 16:20:47 +02:00
2019-04-01 22:07:56 +02:00
2019-07-21 15:50:28 +02:00
2019-08-01 22:53:13 +02:00
2019-08-01 21:01:17 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-04-11 08:12:13 +02:00
2019-04-16 00:37:09 +02:00
2019-07-29 09:06:17 +02:00
2019-06-19 23:26:35 +02:00
2019-07-04 00:10:47 +02:00
2019-05-31 00:30:46 +02:00
2019-06-11 00:08:23 +02:00
2019-04-30 14:42:06 +02:00
2019-06-22 19:53:53 +02:00
2019-06-19 22:27:55 +02:00
2019-05-20 21:17:08 +02:00
2019-05-20 11:11:11 +02:00
2019-07-24 00:16:36 +02:00
2019-08-01 15:36:00 +02:00
2019-06-19 22:27:55 +02:00
2019-06-20 16:01:59 +02:00
2019-06-19 23:26:35 +02:00
2019-06-17 20:15:17 +02:00
2019-02-15 22:44:21 +01:00
2019-04-13 16:22:23 +02:00
2019-07-30 17:54:20 +02:00
2019-08-01 00:38:14 +02:00
2019-06-17 21:05:27 +02:00
2019-07-14 12:03:05 +02:00
2019-05-01 09:20:25 +02:00
2019-03-14 21:55:47 +01:00
2019-03-17 16:24:08 +01:00
2019-03-17 11:34:17 +01:00
2019-03-14 23:27:13 +01:00
2019-03-18 21:56:28 +01:00
2019-03-17 16:24:19 +01:00
2019-03-18 21:56:57 +01:00
2019-04-20 16:37:10 +02:00
2019-07-28 22:41:24 +02:00
2019-06-20 21:51:51 +02:00
2019-06-19 22:27:55 +02:00
2019-05-20 11:29:33 +02:00
2019-07-26 23:17:16 +02:00
2019-06-21 22:21:51 +02:00
2019-08-01 18:38:12 +02:00
2019-05-20 22:45:14 +02:00
2019-07-28 09:37:22 +02:00
2019-05-01 09:26:43 +02:00
2019-05-01 09:27:35 +02:00
2019-05-07 22:59:46 +02:00
2019-07-18 22:25:27 +02:00
2019-06-30 15:30:52 +02:00
2019-06-20 22:01:56 +02:00
2019-04-20 22:00:47 +02:00
2019-05-01 09:24:26 +02:00
2019-04-20 21:55:54 +02:00
2019-05-01 09:26:09 +02:00
2019-07-04 07:54:05 +02:00
2019-07-28 09:32:45 +02:00
2019-05-01 09:23:25 +02:00
2019-08-02 23:34:26 +02:00
2019-05-07 23:00:12 +02:00
2019-03-15 21:36:06 +01:00
2019-08-03 11:03:23 +02:00
2019-08-01 14:35:49 +02:00
2019-06-25 20:56:41 +02:00
2019-04-20 16:42:19 +02:00
2019-06-22 17:51:01 +02:00
2019-05-08 09:15:37 +02:00
2019-07-28 22:41:02 +02:00
2019-05-01 09:21:29 +02:00
2019-04-30 20:11:41 +02:00
2019-05-08 09:15:46 +02:00
2019-06-11 22:16:30 +02:00
2019-07-16 19:04:53 +02:00
2019-02-22 22:40:20 +01:00
2019-06-21 22:34:18 +02:00
2019-03-17 11:35:41 +01:00
2019-06-19 22:27:55 +02:00
2019-04-20 22:18:58 +02:00
2019-03-27 00:13:04 +01:00
2019-03-18 22:06:43 +01:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-03-04 21:13:21 +01:00
2019-02-12 20:12:14 +01:00
2019-08-01 14:34:46 +02:00
2019-04-30 13:15:30 +02:00
2019-06-19 22:27:55 +02:00
2019-05-18 21:20:52 +02:00
2019-06-19 22:27:55 +02:00
2019-07-04 07:55:15 +02:00
2019-04-17 08:53:09 +02:00
2019-04-17 08:53:23 +02:00
2019-05-01 09:20:25 +02:00
2019-04-24 22:00:48 +02:00
2019-05-20 21:11:56 +02:00
2019-05-01 09:27:09 +02:00
2019-07-28 09:36:44 +02:00
2019-03-17 17:36:39 +01:00
2019-06-20 22:18:34 +02:00
2019-03-15 22:21:20 +01:00
2019-06-20 22:19:58 +02:00
2019-02-12 20:13:15 +01:00
2019-04-26 09:13:52 +02:00
2019-03-27 09:39:15 +01:00
2019-03-15 21:58:58 +01:00
2019-06-19 23:26:35 +02:00
2019-06-19 23:26:35 +02:00
2019-02-18 22:47:36 +01:00
2019-05-01 09:23:58 +02:00
2019-02-23 14:52:50 +01:00
2019-07-04 07:51:36 +02:00
2019-06-19 22:27:55 +02:00
2019-08-02 23:49:11 +02:00
2019-03-27 20:11:31 +01:00
2019-06-19 22:27:55 +02:00
2019-03-18 22:07:03 +01:00
2019-07-30 17:55:02 +02:00
2019-08-02 22:48:00 +02:00
2019-08-03 00:32:27 +02:00
2019-05-08 09:15:55 +02:00
2019-02-15 22:41:01 +01:00
2019-06-19 22:27:55 +02:00
2019-05-05 21:14:48 +02:00
2019-06-19 22:27:55 +02:00
2019-04-10 19:08:20 +02:00
2019-06-23 18:04:14 +02:00
2019-03-27 23:17:06 +01:00
2019-06-19 22:27:55 +02:00
2019-07-14 13:37:46 +02:00
2019-04-21 11:46:40 +02:00
2019-04-11 14:34:20 +02:00
2019-07-04 00:46:14 +02:00
2019-07-04 00:46:29 +02:00
2019-05-12 22:18:27 +02:00
2019-04-17 23:32:34 +02:00
2019-06-30 15:12:05 +02:00
2019-08-01 18:21:03 +02:00
2019-03-27 23:19:31 +01:00
2019-05-26 15:35:47 +02:00
2019-04-17 08:42:12 +02:00
2019-06-19 22:27:55 +02:00
2019-04-11 08:30:52 +02:00
2019-04-11 08:30:49 +02:00
2019-06-19 22:27:55 +02:00
2019-07-26 22:46:35 +02:00
2019-05-08 09:16:07 +02:00
2019-04-13 21:16:29 +02:00
2019-04-01 22:46:38 +02:00
2019-08-01 09:35:19 +02:00
2019-04-11 14:34:10 +02:00
2019-04-11 14:34:27 +02:00
2019-07-04 00:10:47 +02:00
2019-02-11 15:37:24 +01:00
2019-03-01 20:13:29 +01:00
2019-04-30 14:41:34 +02:00
2019-08-01 15:28:18 +02:00
2019-05-24 09:44:18 +02:00
2019-06-19 22:27:55 +02:00
2019-08-01 22:49:50 +02:00
2019-05-18 22:56:16 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 18:00:17 +02:00
2019-08-01 08:28:57 +02:00
2019-04-13 16:53:21 +02:00
2019-06-01 15:11:43 +02:00
2019-06-19 22:27:55 +02:00
2019-08-01 09:52:53 +02:00
2019-04-11 19:36:56 +02:00
2019-04-13 21:13:23 +02:00
2019-05-26 15:39:39 +02:00
2019-03-17 11:05:45 +01:00
2019-02-18 22:55:26 +01:00
2019-05-10 15:56:51 +02:00
2019-06-19 14:35:22 +02:00
2019-07-14 12:12:09 +02:00
2019-08-01 10:36:08 +02:00
2019-04-17 08:47:09 +02:00
2019-07-26 23:02:07 +02:00
2019-06-19 22:27:55 +02:00
2019-05-27 23:48:41 +02:00
2019-04-24 22:55:27 +02:00
2019-07-29 09:11:04 +02:00
2019-06-01 09:23:52 +02:00
2019-06-10 23:51:36 +02:00
2019-06-19 22:27:55 +02:00
2019-05-07 22:57:46 +02:00
2019-04-17 23:32:48 +02:00
2019-07-04 00:10:47 +02:00
2019-04-16 00:06:51 +02:00
2019-08-01 10:40:26 +02:00
2019-04-15 21:30:52 +02:00
2019-06-19 22:27:55 +02:00
2019-05-24 09:41:46 +02:00
2019-06-19 22:27:55 +02:00
2019-05-07 22:57:55 +02:00
2019-05-31 00:36:56 +02:00
2019-07-20 15:36:27 +02:00
2019-04-13 16:29:52 +02:00
2019-03-31 13:54:12 +02:00
2019-04-02 08:30:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-08-01 18:18:11 +02:00
2019-05-05 12:06:01 +02:00
2019-03-09 15:36:22 +01:00
2019-04-08 22:35:41 +02:00
2019-05-27 10:54:05 +02:00
2019-04-17 08:41:22 +02:00
2019-04-05 21:21:53 +02:00
2019-05-21 10:36:07 +02:00
2019-06-19 22:27:55 +02:00
2019-08-01 11:20:34 +02:00
2019-08-01 10:40:45 +02:00
2019-07-14 15:46:17 +02:00
2019-06-19 22:27:55 +02:00
2019-06-22 21:30:09 +02:00
2019-05-31 00:31:42 +02:00
2019-06-08 11:59:38 +02:00
2019-06-19 22:27:55 +02:00
2019-03-15 21:46:46 +01:00
2019-03-07 22:59:34 +01:00
2019-07-14 15:04:08 +02:00
2019-04-03 21:31:22 +02:00
2019-05-31 00:07:32 +02:00
2019-05-31 00:32:07 +02:00
2019-06-23 17:08:47 +02:00
2019-06-19 22:27:55 +02:00
2019-04-24 21:23:35 +02:00
2019-06-19 22:27:55 +02:00
2019-05-07 22:58:01 +02:00
2019-05-08 09:16:24 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-22 19:29:22 +02:00
2019-06-19 22:27:55 +02:00
2019-03-07 22:22:53 +01:00
2019-08-03 00:26:48 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-06-19 22:27:55 +02:00
2019-07-04 00:46:29 +02:00
2019-06-17 20:16:26 +02:00
2019-08-01 19:38:46 +02:00
2019-07-26 23:00:20 +02:00
2019-04-26 09:06:32 +02:00
2019-06-25 20:55:21 +02:00
2019-04-06 19:13:11 +02:00
2019-06-23 12:37:32 +02:00
2019-02-11 09:12:15 +01:00
2019-06-17 21:03:40 +02:00
2019-05-31 00:32:50 +02:00
2019-06-01 00:27:04 +02:00
2019-05-14 23:31:36 +02:00
2019-04-24 21:25:23 +02:00
2019-04-27 14:24:36 +02:00
2019-03-17 17:28:41 +01:00
2019-07-05 08:18:34 +02:00
2019-06-08 22:41:18 +02:00
2019-04-07 10:38:24 +02:00
2019-08-01 15:29:20 +02:00
2019-06-25 20:57:31 +02:00
2019-05-20 11:16:40 +02:00
2019-07-14 12:35:36 +02:00
2019-06-19 22:27:55 +02:00
2019-07-30 17:27:44 +02:00
2019-08-01 09:28:41 +02:00
2019-06-19 23:26:35 +02:00
2019-06-19 22:27:55 +02:00
2019-07-17 07:26:39 +02:00
2019-03-17 12:15:44 +01:00
2019-06-19 22:27:55 +02:00
2019-04-11 08:19:26 +02:00
2019-04-21 12:32:23 +02:00
2019-06-19 22:27:55 +02:00
2019-03-12 23:09:32 +01:00
2019-07-20 21:51:49 +02:00
2019-07-29 09:26:26 +02:00
2019-03-18 21:54:58 +01:00
2019-06-22 19:29:11 +02:00
2019-06-19 22:27:55 +02:00
2019-06-20 23:20:28 +02:00
2019-06-19 22:27:55 +02:00
2019-06-01 09:20:19 +02:00
2019-08-02 18:43:57 +02:00
2019-08-01 12:52:29 +02:00
2019-07-18 22:54:36 +02:00
2019-04-04 22:47:25 +02:00
2019-04-15 23:21:54 +02:00
2019-07-03 23:04:50 +02:00
2019-06-10 20:44:08 +02:00
2019-08-02 17:18:25 +02:00
2019-07-01 09:51:16 +02:00
2019-04-15 23:37:44 +02:00