diff options
Diffstat (limited to 'poky/meta/recipes-graphics')
187 files changed, 1896 insertions, 3429 deletions
diff --git a/poky/meta/recipes-graphics/cairo/cairo-fpu.inc b/poky/meta/recipes-graphics/cairo/cairo-fpu.inc deleted file mode 100644 index fe7c53337..000000000 --- a/poky/meta/recipes-graphics/cairo/cairo-fpu.inc +++ /dev/null @@ -1,6 +0,0 @@ - -def get_cairo_fpu_setting(bb, d): - if d.getVar('TARGET_FPU') in [ 'soft' ]: - return "--disable-some-floating-point" - return "" - diff --git a/poky/meta/recipes-graphics/cairo/cairo.inc b/poky/meta/recipes-graphics/cairo/cairo.inc deleted file mode 100644 index 20e0d2c92..000000000 --- a/poky/meta/recipes-graphics/cairo/cairo.inc +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "The Cairo 2D vector graphics library" -DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \ -vector-based rendering for multiple target backends. Paths consist \ -of line segments and cubic splines and can be rendered at any width \ -with various join and cap styles. All colors may be specified with \ -optional translucence (opacity/alpha) and combined using the \ -extended Porter/Duff compositing algebra as found in the X Render \ -Extension." -HOMEPAGE = "http://cairographics.org" -BUGTRACKER = "http://bugs.freedesktop.org" -SECTION = "libs" - -LICENSE = "MPL-1 & LGPLv2.1 & GPLv3+" -LICENSE_${PN} = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-dev = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-doc = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-gobject = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-script-interpreter = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-perf-utils = "GPLv3+" - -X11DEPENDS = "virtual/libx11 libsm libxrender libxext" -DEPENDS = "libpng fontconfig pixman glib-2.0 zlib" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)}" - -PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no --disable-xlib,${X11DEPENDS}" -PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb" -PACKAGECONFIG[directfb] = "--enable-directfb=yes,,directfb" -PACKAGECONFIG[valgrind] = "--enable-valgrind=yes,--disable-valgrind,valgrind" -PACKAGECONFIG[egl] = "--enable-egl=yes,--disable-egl,virtual/egl" -PACKAGECONFIG[glesv2] = "--enable-glesv2,--disable-glesv2,virtual/libgles2" -PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl" - -#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points -require cairo-fpu.inc -EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} \ - --enable-tee \ - " - -inherit autotools pkgconfig upstream-version-is-even gtk-doc - -# We don't depend on binutils so we need to disable this -export ac_cv_lib_bfd_bfd_openr="no" -# Ensure we don't depend on LZO -export ac_cv_lib_lzo2_lzo2a_decompress="no" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb b/poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb index 075ca1ed3..18b947948 100644 --- a/poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb +++ b/poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb @@ -1,7 +1,27 @@ -require cairo.inc +SUMMARY = "The Cairo 2D vector graphics library" +DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \ +vector-based rendering for multiple target backends. Paths consist \ +of line segments and cubic splines and can be rendered at any width \ +with various join and cap styles. All colors may be specified with \ +optional translucence (opacity/alpha) and combined using the \ +extended Porter/Duff compositing algebra as found in the X Render \ +Extension." +HOMEPAGE = "http://cairographics.org" +BUGTRACKER = "http://bugs.freedesktop.org" +SECTION = "libs" + +LICENSE = "MPL-1 & LGPLv2.1 & GPLv3+" +LICENSE_${PN} = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-dev = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-doc = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-gobject = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-script-interpreter = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-perf-utils = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" +DEPENDS = "fontconfig glib-2.0 libpng pixman zlib" + SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ file://cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff \ file://0001-cairo-Fix-CVE-2017-9814.patch \ @@ -10,16 +30,43 @@ SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ SRC_URI[md5sum] = "9f0db9dbfca0966be8acd682e636d165" SRC_URI[sha256sum] = "8c90f00c500b2299c0a323dd9beead2a00353752b2092ead558139bd67f7bf16" -PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils" +inherit autotools pkgconfig upstream-version-is-even gtk-doc multilib_script -SUMMARY_${PN} = "The Cairo 2D vector graphics library" -DESCRIPTION_${PN} = "Cairo is a multi-platform library providing anti-aliased \ -vector-based rendering for multiple target backends. Paths consist \ -of line segments and cubic splines and can be rendered at any width \ -with various join and cap styles. All colors may be specified with \ -optional translucence (opacity/alpha) and combined using the \ -extended Porter/Duff compositing algebra as found in the X Render \ -Extension." +MULTILIB_SCRIPTS = "${PN}-perf-utils:${bindir}/cairo-trace" + +X11DEPENDS = "virtual/libx11 libsm libxrender libxext" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)}" + +PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no --disable-xlib,${X11DEPENDS}" +PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb" +PACKAGECONFIG[directfb] = "--enable-directfb=yes,,directfb" +PACKAGECONFIG[valgrind] = "--enable-valgrind=yes,--disable-valgrind,valgrind" +PACKAGECONFIG[egl] = "--enable-egl=yes,--disable-egl,virtual/egl" +PACKAGECONFIG[glesv2] = "--enable-glesv2,--disable-glesv2,virtual/libgles2" +PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl" + +EXTRA_OECONF += " \ + ${@bb.utils.contains('TARGET_FPU', 'soft', '--disable-some-floating-point', '', d)} \ + --enable-tee \ +" + +# We don't depend on binutils so we need to disable this +export ac_cv_lib_bfd_bfd_openr="no" +# Ensure we don't depend on LZO +export ac_cv_lib_lzo2_lzo2a_decompress="no" + +do_install_append () { + rm -rf ${D}${bindir}/cairo-sphinx + rm -rf ${D}${libdir}/cairo/cairo-fdr* + rm -rf ${D}${libdir}/cairo/cairo-sphinx* + rm -rf ${D}${libdir}/cairo/.debug/cairo-fdr* + rm -rf ${D}${libdir}/cairo/.debug/cairo-sphinx* +} + +PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils" SUMMARY_cairo-gobject = "The Cairo library GObject wrapper library" DESCRIPTION_cairo-gobject = "A GObject wrapper library for the Cairo API." @@ -32,15 +79,9 @@ to replay rendering." DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities" FILES_${PN} = "${libdir}/libcairo.so.*" -FILES_${PN}-dev += "${libdir}/cairo/*.so" FILES_${PN}-gobject = "${libdir}/libcairo-gobject.so.*" FILES_${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*" -FILES_${PN}-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/*.la ${libdir}/cairo/libcairo-trace.so.*" +FILES_${PN}-perf-utils = "${bindir}/cairo-trace* ${libdir}/cairo/*.la ${libdir}/cairo/libcairo-trace.so.*" +FILES_${PN}-dev += "${libdir}/cairo/*.so" -do_install_append () { - rm -rf ${D}${bindir}/cairo-sphinx - rm -rf ${D}${libdir}/cairo/cairo-fdr* - rm -rf ${D}${libdir}/cairo/cairo-sphinx* - rm -rf ${D}${libdir}/cairo/.debug/cairo-fdr* - rm -rf ${D}${libdir}/cairo/.debug/cairo-sphinx* -} +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb b/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb index 9d8fb2828..db480bd39 100644 --- a/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb +++ b/poky/meta/recipes-graphics/cantarell-fonts/cantarell-fonts_git.bb @@ -10,10 +10,10 @@ SECTION = "fonts" LICENSE = "OFL-1.1" LIC_FILES_CHKSUM = "file://COPYING;md5=df91e3ffcab8cfb972a66bf11255188d" -PV = "0.0.24" +PV = "0.0.25" -SRCREV = "07b6ea2cbbebfc360aa4668612a376be5e214eaa" -SRC_URI = "git://gitlab.gnome.org/GNOME/cantarell-fonts;protocol=https;branch=master" +SRCREV = "e28a9096da43984212b5b4002b949bcb8c7527f9" +SRC_URI = "git://gitlab.gnome.org/GNOME/cantarell-fonts.git;protocol=https;branch=reconstruction-0.0.25" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!0\.13)(?!0\.10\.1)\d+\.\d+(\.\d+)+)" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.24.bb b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.26.bb index ca5e0ae41..8a0dda542 100644 --- a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.24.bb +++ b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.26.bb @@ -3,5 +3,5 @@ require clutter-gst-3.0.inc LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4" -SRC_URI[archive.md5sum] = "3e145e24bb3c340eeeddafd18efe547d" -SRC_URI[archive.sha256sum] = "e9f1c87d8f4c47062e952fb8008704f8942cf2d6f290688f3f7d13e83578cc6c" +SRC_URI[archive.md5sum] = "7809ca6ce9d1a3490597fd4a7375c389" +SRC_URI[archive.sha256sum] = "d8618a6d9accec0f2a8574c5e1220051f8505fb82b20336c26bdbd482aa6cb3a" diff --git a/poky/meta/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch b/poky/meta/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch deleted file mode 100644 index 40bebc0f5..000000000 --- a/poky/meta/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch +++ /dev/null @@ -1,53 +0,0 @@ -From e6bd4205b0b546afe991ae6f72256645f4404ad4 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Mon, 5 Sep 2016 14:41:37 +0300 -Subject: [PATCH libdrm] configure.ac: Allow explicit enabling of cunit tests - -Add --with-cunit to make it easier to do reproducible builds. Default -is still to probe cunit and build opportunistically. - -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> -Upstream-Status: Submitted [mailing list] ---- - configure.ac | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -Index: libdrm-2.4.91/configure.ac -=================================================================== ---- libdrm-2.4.91.orig/configure.ac -+++ libdrm-2.4.91/configure.ac -@@ -163,6 +163,12 @@ AC_ARG_ENABLE(install-test-programs, - [Install test programs (default: no)]), - [INSTALL_TESTS=$enableval], [INSTALL_TESTS=no]) - -+AC_ARG_WITH([cunit], -+ [AS_HELP_STRING([--with-cunit], -+ [Build tests that use cunit (default: auto)])], -+ [], -+ [with_cunit=auto]) -+ - dnl =========================================================================== - dnl check compiler flags - AC_DEFUN([LIBDRM_CC_TRY_FLAG], [ -@@ -411,7 +417,7 @@ else - AC_DEFINE(HAVE_RADEON, 0) - fi - --if test "x$AMDGPU" != xno; then -+if test "x$with_cunit" != xno -a "x$AMDGPU" != xno; then - # Detect cunit library - PKG_CHECK_MODULES([CUNIT], [cunit >= 2.1], [have_cunit=yes], [have_cunit=no]) - # If pkg-config does not find cunit, check it using AC_CHECK_LIB. We -@@ -436,7 +442,11 @@ if test "x$AMDGPU" = xyes; then - AC_DEFINE(HAVE_AMDGPU, 1, [Have amdgpu support]) - - if test "x$have_cunit" = "xno"; then -- AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests]) -+ if test "x$with_cunit" = "xyes"; then -+ AC_MSG_ERROR([Could not find cunit library but --with-cunit was given]) -+ elif test "x$with_cunit" = "xauto"; then -+ AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests]) -+ fi - fi - else - AC_DEFINE(HAVE_AMDGPU, 0) diff --git a/poky/meta/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch b/poky/meta/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch deleted file mode 100644 index 4708bf1eb..000000000 --- a/poky/meta/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch +++ /dev/null @@ -1,24 +0,0 @@ -drmdevice.c: define _GNU_SOURCE - -Include config.h to fix this build error with uclibc: - -libdrm-2.4.66/tests/drmdevice.c: In function 'main': -libdrm-2.4.66/tests/drmdevice.c:96:60: error: -'O_CLOEXEC' undeclared (first use in this function) -fd = open(devices[i]->nodes[j],O_RDONLY | O_CLOEXEC, 0); - -Upstream-Status: Pending - -Signed-off-by: Maxin B. John <maxin.john@intel.com> ---- -diff -Naur libdrm-2.4.66-orig/tests/drmdevice.c libdrm-2.4.66/tests/drmdevice.c ---- libdrm-2.4.66-orig/tests/drmdevice.c 2016-02-23 11:34:02.054904502 +0200 -+++ libdrm-2.4.66/tests/drmdevice.c 2016-02-23 11:35:34.371750383 +0200 -@@ -21,6 +21,7 @@ - * - */ - -+#include <config.h> - #include <errno.h> - #include <stdio.h> - #include <stdlib.h> diff --git a/poky/meta/recipes-graphics/drm/libdrm/installtests.patch b/poky/meta/recipes-graphics/drm/libdrm/installtests.patch deleted file mode 100644 index ec1fb0236..000000000 --- a/poky/meta/recipes-graphics/drm/libdrm/installtests.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 5c6eb43c2f6e7f2ee7c25c92e42f4e4403fa0527 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Tue, 21 Feb 2017 14:37:52 +0200 -Subject: [PATCH] tests: also install test apps - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Yu Ke <ke.yu@intel.com> -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - tests/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 0355a92..b4882cd 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -45,3 +45,4 @@ TESTS = \ - check_PROGRAMS = \ - $(TESTS) \ - drmdevice -+bin_PROGRAMS = $(check_PROGRAMS) --- -2.1.4 - diff --git a/poky/meta/recipes-graphics/drm/libdrm/musl-ioctl.patch b/poky/meta/recipes-graphics/drm/libdrm/musl-ioctl.patch new file mode 100644 index 000000000..e3d6c5b85 --- /dev/null +++ b/poky/meta/recipes-graphics/drm/libdrm/musl-ioctl.patch @@ -0,0 +1,35 @@ +Upstream-Status: Submitted +Signed-off-by: Ross Burton <ross.burton@intel.com> + +From 46c0fd6c827a8cb4d04e067bf04fab579ac4712e Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@intel.com> +Date: Mon, 18 Jun 2018 15:07:03 +0100 +Subject: [PATCH] tests/nouveau/threaded: adapt ioctl signature + +POSIX says ioctl() has the signature (int, int, ...) but glibc has decided to +use (int, unsigned long int, ...) instead. + +Use a #ifdef to adapt the replacement function as appropriate. +--- + tests/nouveau/threaded.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/tests/nouveau/threaded.c b/tests/nouveau/threaded.c +index 3669bcd3..e1c27c01 100644 +--- a/tests/nouveau/threaded.c ++++ b/tests/nouveau/threaded.c +@@ -36,7 +36,11 @@ static int failed; + + static int import_fd; + ++#ifdef __GLIBC__ + int ioctl(int fd, unsigned long request, ...) ++#else ++int ioctl(int fd, int request, ...) ++#endif + { + va_list va; + int ret; +-- +2.11.0 + diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.91.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.94.bb index c49028588..d6542921f 100644 --- a/poky/meta/recipes-graphics/drm/libdrm_2.4.91.bb +++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.94.bb @@ -8,27 +8,34 @@ SECTION = "x11/base" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" PROVIDES = "drm" -DEPENDS = "libpthread-stubs libpciaccess" +DEPENDS = "libpthread-stubs" SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \ - file://installtests.patch \ - file://fix_O_CLOEXEC_undeclared.patch \ - file://0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch \ - " + file://musl-ioctl.patch" +SRC_URI[md5sum] = "e9803233838007047f39eb385c70d9e0" +SRC_URI[sha256sum] = "b73c59b0a3760502c428ba81de49cd4807657d26be5e697eba3a87dd021d16be" -SRC_URI[md5sum] = "23d87cda92700b710a37d9b8edaa9f54" -SRC_URI[sha256sum] = "634a0ed0cc1eff06f48674b1da81aafa661a9f001e7a4f43dde81076886dc800" +inherit meson pkgconfig manpages -inherit autotools pkgconfig manpages - -EXTRA_OECONF += "--disable-cairo-tests \ - --without-cunit \ - --enable-omap-experimental-api \ - --enable-etnaviv-experimental-api \ - --enable-install-test-programs \ - --disable-valgrind \ - " -PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native" +PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs" +PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false" +PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess" +PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false" +PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false" +PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false" +PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false" +PACKAGECONFIG[omap] = "-Domap=true,-Domap=false" +PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false" +PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false" +PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false" +PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false" +PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false" +PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false" +PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind" +PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false" +PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false" +PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev" +PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native" ALLOW_EMPTY_${PN}-drivers = "1" PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \ @@ -49,3 +56,5 @@ FILES_${PN}-kms = "${libdir}/libkms*.so.*" FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*" FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.*" FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo.inc b/poky/meta/recipes-graphics/eglinfo/eglinfo.inc index 8e7d9bddd..07ad07220 100644 --- a/poky/meta/recipes-graphics/eglinfo/eglinfo.inc +++ b/poky/meta/recipes-graphics/eglinfo/eglinfo.inc @@ -7,15 +7,17 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8d4f33bc3add976f7dfae85dab66f03c" DEPENDS = "virtual/egl" SRC_URI = "git://github.com/dv1/eglinfo.git;branch=master \ + file://waf \ file://0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch \ - " + file://0001-Check-for-libegl-using-pkg-config.patch \ + " SRCREV = "4b317648ec6cf39556a9e5d8078f605bc0edd5de" CVE_PRODUCT = "eglinfo" S = "${WORKDIR}/git" -inherit waf distro_features_check +inherit waf distro_features_check pkgconfig # depends on virtual/egl REQUIRED_DISTRO_FEATURES ?= "opengl" @@ -28,6 +30,9 @@ EXTRA_OECONF = "--platform=${EGLINFO_PLATFORM} \ --device=${EGLINFO_DEVICE} \ --sysroot ${STAGING_DIR_TARGET}" +do_configure_prepend() { + install -D -m 0755 ${WORKDIR}/waf ${S}/waf +} do_install_append() { mv ${D}/${bindir}/eglinfo ${D}/${bindir}/${EGLINFO_BINARY_NAME} } diff --git a/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch b/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch new file mode 100644 index 000000000..0289ac228 --- /dev/null +++ b/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch @@ -0,0 +1,31 @@ +From 58d51d941d3f4dfa38be18282d3e285d76d9020d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 13 Aug 2018 15:46:53 -0700 +Subject: [PATCH] Check for libegl using pkg-config + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + wscript | 1 + + 1 file changed, 1 insertion(+) + +Index: git/wscript +=================================================================== +--- git.orig/wscript ++++ git/wscript +@@ -160,14 +160,9 @@ def configure_raspberrypi_device(conf, p + conf.env['PLATFORM_USELIBS'] += ["X11"] + elif platform == "fb": + conf.env['PLATFORM_SOURCE'] = ['src/platform_fb_raspberrypi.cpp'] +- conf.check_cxx(mandatory = 1, lib = ['GLESv2', 'EGL', 'bcm_host'], uselib_store = 'EGL') ++ conf.check_cfg(package='egl', args='--libs --cflags') + import os + sysroot = conf.options.sysroot + conf.options.prefix +- std_include_path = os.path.join(sysroot, 'include') +- vcos_pthread_path = os.path.join(sysroot, 'include/interface/vcos/pthreads') +- vcms_host_path = os.path.join(sysroot, 'include/interface/vmcs_host/linux') +- if not conf.check_cxx(mandatory = 0, header_name = ['vcos_platform_types.h', 'EGL/egl.h', 'bcm_host.h'], includes = [vcos_pthread_path, vcms_host_path, std_include_path], uselib_store = 'EGL'): +- conf.fatal('Check if --prefix and --sysroot are set correctly.') + conf.env['WITH_APIS'] = [] + if check_gles2(conf): + conf.env['WITH_APIS'] += ['GLES1', 'GLES2'] diff --git a/poky/meta/recipes-graphics/eglinfo/files/waf b/poky/meta/recipes-graphics/eglinfo/files/waf new file mode 100755 index 000000000..04ddd9f63 --- /dev/null +++ b/poky/meta/recipes-graphics/eglinfo/files/waf @@ -0,0 +1,169 @@ +#!/usr/bin/env python +# encoding: latin-1 +# Thomas Nagy, 2005-2018 +# +""" +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +""" + +import os, sys, inspect + +VERSION="2.0.11" +REVISION="41b69b45f8aa445dce066a4aec3cdb75" +GIT="fe03c6fa470f0bc3c086baafed8c6b4b6d28a245" +INSTALL='' +C1='#4' +C2='#*' +C3='#)' +cwd = os.getcwd() +join = os.path.join + + +WAF='waf' +def b(x): + return x +if sys.hexversion>0x300000f: + WAF='waf3' + def b(x): + return x.encode() + +def err(m): + print(('\033[91mError: %s\033[0m' % m)) + sys.exit(1) + +def unpack_wafdir(dir, src): + f = open(src,'rb') + c = 'corrupt archive (%d)' + while 1: + line = f.readline() + if not line: err('run waf-light from a folder containing waflib') + if line == b('#==>\n'): + txt = f.readline() + if not txt: err(c % 1) + if f.readline() != b('#<==\n'): err(c % 2) + break + if not txt: err(c % 3) + txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')).replace(b(C3), b('\x00')) + + import shutil, tarfile + try: shutil.rmtree(dir) + except OSError: pass + try: + for x in ('Tools', 'extras'): + os.makedirs(join(dir, 'waflib', x)) + except OSError: + err("Cannot unpack waf lib into %s\nMove waf in a writable directory" % dir) + + os.chdir(dir) + tmp = 't.gz' + t = open(tmp,'wb') + try: t.write(txt) + finally: t.close() + + try: + t = tarfile.open(tmp) + except: + try: + os.system('gzip -d t.gz') + t = tarfile.open('t') + tmp = 't' + except: + os.chdir(cwd) + try: shutil.rmtree(dir) + except OSError: pass + err("Waf cannot be unpacked, check that bzip2 support is present") + + try: + for x in t: t.extract(x) + finally: + t.close() + + for x in ('Tools', 'extras'): + os.chmod(join('waflib',x), 493) + + if sys.hexversion<0x300000f: + sys.path = [join(dir, 'waflib')] + sys.path + import fixpy2 + fixpy2.fixdir(dir) + + os.remove(tmp) + os.chdir(cwd) + + try: dir = unicode(dir, 'mbcs') + except: pass + try: + from ctypes import windll + windll.kernel32.SetFileAttributesW(dir, 2) + except: + pass + +def test(dir): + try: + os.stat(join(dir, 'waflib')) + return os.path.abspath(dir) + except OSError: + pass + +def find_lib(): + src = os.path.abspath(inspect.getfile(inspect.getmodule(err))) + base, name = os.path.split(src) + + #devs use $WAFDIR + w=test(os.environ.get('WAFDIR', '')) + if w: return w + + #waf-light + if name.endswith('waf-light'): + w = test(base) + if w: return w + err('waf-light requires waflib -> export WAFDIR=/folder') + + dirname = '%s-%s-%s' % (WAF, VERSION, REVISION) + for i in (INSTALL,'/usr','/usr/local','/opt'): + w = test(i + '/lib/' + dirname) + if w: return w + + #waf-local + dir = join(base, (sys.platform != 'win32' and '.' or '') + dirname) + w = test(dir) + if w: return w + + #unpack + unpack_wafdir(dir, src) + return dir + +wafdir = find_lib() +sys.path.insert(0, wafdir) + +if __name__ == '__main__': + + from waflib import Scripting + Scripting.waf_entry_point(cwd, VERSION, wafdir) + +#==> +#‹‰†Ť[˙tmp-waf-2.0.11.tar#)ě˝kcŰƱ0ÜŻâŻ`Ôę#)° Z’/iu‚´Ž$>q$?–Ó´Gfq(”‘€•&ďoçş#)¤ä6iźç4n#‹ÝŮŮűĚě\năéäâá`^Nެő·żúÉ˙íĂż§ŹÓ/ü«ý|Ľđ«GŹ?z´řńÁáŻö?~ňčWÝý_ýţ-ËjPt»ż*ňĽÚ”ď®ďőĆý?ňď×u.ËâáĹdţ0›żď.n««|Ţůu7›óŃd~yÔ]Vă˝ßBĘ·ĎŢśĽ<ůâŁî‹Ľ;Ď«n6šTuŻŞjQ=|x3÷&ůĂ‹<ż~8™Ź˛U漢MťćŐ`2@iu•Ą+O¦Y§3™-ň˘ęće\dqy[vĆE>ëŢĐtěĘÇoŞÉ´ěÜLóáuBĎ˝ęŞČVď$†Q§*nŹ:[TvXÝ.˛RËžUĹrX-ř#* 3ťĆĂ´Ľ‚đ»4Ó|~ ż“y_ÜŮžo†W"~}úňäíńxÇ,ťl5ĚU÷%>.ŠĽ€J‡ÓAYvźÁĘy+'Ě/ľË†U¶Fٸ›ÔI•¦a™MÇqYŢ3ú¸… =NHřSą!ú9Ă:ĘÄÉ*IE°yVUĹäbYeŠü[#)J¦BŚ$#4š7¬{ƱZ1öęůŢ`ř×ĺ¤Č ł·|ě{\Ë5>Ť§ĐË\d<™¦Sd‘MłAÉ śóśĐ`Š†nŢő rS„*°%Ú+Çś“rPU·›Kž¨“MËĚŚíóÓÓ7/B3“¨4Lßl:*Óä<ÜţӶΪ(·˙lßú#4áěëgŻ^ĄoŽźżÝ#)ćU6®<Hoó…÷ţfryĺçř,ŻŞ|ÖRáóÓ“łÓWÇéŮó7ÇÇ'égß|ţůń›ôĺÉç§8›|źmÇÔZţ|Y”yń:‡#a’ĎťfĆ•Űfaú·°Âň›íضSż¬&łĺŚ?şU4}ţÍ›łÓ»°F$ĐuUś”“‹)%Â"FČ2ySÜ’ĺ|ł=ëč’9Ěějá,0 PŽĹ“é`v1tçËŮEVÄ0wËiuÄŻÝÁ|Ô…L!żFyŃ•ťł·/ŇÓoŢľţćmúĺł“ŻŽ“˝N>~óZfR;[Ľő®łbžMöľČŞłjô%€źf˝AqI»Xr.ěßQ ČJj†doÍý<ź—ů4;Y6˙l9gĹËů8oV¦Ű^¸~EýŞÂ˘×ŽÝ™)ú6[Uf~µ ¦ó wUţůd:•‚§Ëj±¬žĂÖ?ôm+|44űŠV‡ľęěěX}Śë}úę§ÄőţÝj‡ĂßH6Î7Ůî#*ëC‘¸ç„wv˘ű Ó:Ç?.h! ÖS˙#*ŕžüümHmHŻ&e•·Éyż\Ńľ’„Ą9p“ä0ÂÍŻľťualě|řŐ;*Ů´}…\[dJĄ%˘ă<ŮpŚ9™‡Ą—Ů=F(×úŤĘ_čaËd`č‚Źś#4óbry_‹äţűä$ś*]L`IŠ$9‰UĚô‚€¦…Ęě'AĹĹÂĄˇäŕ1Ň®H§“ą•Řă„ňťÁYśĐ»9Mů+̤}jw-/‡f{¨ćɸKp’žîXSŠL\•0˝¶3^mËřsdóĂĚľ¬®ÉtEďO´¬¦üáđíŔ˙ôwVş·#C´¨ŹDkţżż<ŇĘ ů*›+Ńľz6_µI#Get(vĐŠm;dbyŐG÷«ÖěyµZĄ•–HýĐŞíěĺą×>™Vä‰ďGď´•ŠĽyËĐä“?’ő±{°fşµO⬌§Í÷íĎĚ˝Ýóx®Ď[}äOl±ő3ŰĂ1ď5ąŁ]ż1^©?ď[Ń?gQ¸-r»çź˛,>¸r\ )S¦ëâ>óż…âč#*‹l>jßQM˝ůb]µ0Ë[ ňÄʧŁt‘‹ĄV-€aĆß9ź¸˘XfŐ:oă2[Ä+>ôzđ·bxÁ„ÁJ·“U|íPMş5I÷éßyvC#*ćĺ=›ĚĂŮ`Ë|ĹŢBbűíÖ˙öçö™vĎNĽNɧËYs]ů{čĎÓĘMÇńOÓÂYţ>óĆ}•ćă1´;ž5Ź÷_!ëÚ¶fŰŐę6đšNŘ˝m-ú“Ž?őÎrŃÜ+°Űu¦«öjłÂ4Ęoć#)k¨i6®îµşZJć>#)ŘXólUµ“Ě÷ŢZŰq_G¬ŢŐQ‹"{˙ŻAh]w—‡—˛Ň†® 7‡˙q}ňÉaô<á_řy}úéam/jŮź!µ”Íą\L'•ŮďÓLŕŔŠ¤qĽ’Čš!đ7]„/”ŽvőP)/8ľ÷Éđ“Gżĺ/Äż˙±żŹÇűŃTż6}¸÷HŠ…÷?^SxýP+ýxzé±a$űnńÇYk–)uŕ”ú!Ů_í˙Öűü¸öů·űŢçŹŰQţíoqčäőă}ŔÇNÂţÇů{Ę˙jűÂ1â*żYKĚ8ĽOĚÄeßKt?y"q5e†ÄţO‹^úº̀O«Öđ·ŕYp$[w|&ϸůĆÁsyŁ=/^Č+n§qp™M,>ŽĚ_G–/ĺ•°Ť±˙ú_Á‘ËĹÁWšŔŔ® »˝8GNGĆÁĚT†o% b ×8X»!(㵪ü:›—I‘ő ;“iáďŹŢ.Ţť‡çű{żűýöDáů`ďűg{˙݇iyţüÚߍ˘ jąJËîu—¦¬HsdYŕćÁ»ßp6Â[9ÜH(źkoÓ`0ť†¶*eômžÓńr>Llio¸{—ěGłQ¤¸<•1@w’ĘGËČ霥Nygoť|-÷‡™d»ÇEˇŢżµÜÄ´9ĄRąońŁ¬ gÂVŔz›K4Rbş)’Nľ7¬o1ű(źË˛ňQž#)Ďe:exµś_'Ź?ůä€×őĚ».fűHwĺQŽ’[$ç(sŚąCá,J#)Đ9Â?Â?»”—$¸(y¬w“ł,Ç1ĺmĺöâ€e&gaĎBŕÓOyÄss^MćËLĐ„úJďćžy˙‰îwEŞ}ç…®¬Ą-®Ű Źňee.xamIjV&ˇŕ»ĄŚ#4ż=A·Jż]‰x‡:ćC¤Ţ÷“%cŁa©¦¨ˇ;[~°T·v´Hr=ˇĘ(V2EI—˛ńx8Ż¦1b1ÉËvĄ&Yî¨čľ#@ťśă%ĹűI!îLÁŰă7_qD¨n« -gÍĂ2 >řüĹşs’ujůU×'ÜrúÓ‰Ý[Îáu¸ý%üŰć.čMňa5#*?ˇ}Ń{űňôůßľ<9űďXŠą…öůQťŕŐCŞěËścúz¸;(»™;ëÍţéÍ‚ĘwţAýV¸y¨·R˙ýŻýýŹú_Źž>ýE˙ëµţׯ~ů÷Ă?Y˙p^L`ë™_ţŔúźO5Ö˙“ŹY˙˙»×?©l¦ŔX ®WšŞÚćͤşÂŰ*›eóĘŃ-Ż¦Ů#4ţ.« Ĺ`]Ŕ ĂA>ĎQ4ĆBk•Hc ‹Ć“KT}•_–ń)ťłš,4>!#!SĆź-'ÓPĂŁ¬sŹéhR¤Ŕî0› RÉťyž§“Ů…ňTerµš ßő°ř§d›€lw‡>€¶·é"'в(ŕkȆxAC5% CNHD˘‘îŃ=͉©ęV0î}űěó?ż9{yzňQ"%‘V "¤0ßH?#)–xw‡5Ů ŠAq‹Ż#ÎŮ ^uC|ŠJł2Ĺ©X Ş˛Ő¤#4ŕMsb3á{ÂŮlz±śSşľOŔ[^QRŁ':[t1µîŁŽ@R'ONźżzůőgwr]â ¸|}J˛«EÜN5LÓî±TW˝ďrd·C˘ĺ€ĂT-püé|0ËÂĚ(1Ťü(ű—Żß¦źżÎAH]*=)q9´”ňŻş2Íób†ˇ&#)vk*f¦é:-0¸( #)ţá+íŔ·órÚLş#ĂŃV+Óŕ)`]¦C~#*śör(ϱ®…Ć#J 4^z•.‚#)—!přůM#4Ěä<ż™S˝<H WĺlşE~ÝĽŚÜ8[°Óh‘¬ĹáŐ+ď”—‚Áü(ŤąF Lcą©¤÷–%˝N*şíQJÜŃÂkŃ4zxyčÖkčée‘VwD#)‰GĂ0-i˘N'ŔÂL#4ś¦űpzf•Ŕ0#ësąŰŔgmÝ]ÎQ›%A±#)Ěesěˇg'6#)`ÖÄlš=óÄr#ě‚\Pz0#4ë«*®ĂŽDŘ0ϱa¸‡S«Îń©wöxŕÓľŁďv̫φŤ7+fÂaY!ËČĚÁ)©ł†že#4čĐČŕŻT ĺÉ8đ+› LĘřîG‡®Ě#*†.1嶰ĺÎřš®KĚLwqšX5ŰżŐ:Ěnăëâ8cAŻ&Ů#4ó¸9Č9ĹiÖÜ#4ŕą'ó÷éN±®N‡ťŇLúů#)ŠëäÇU_żÎřtA;ĂägĐ%댝·‚tk5Ş®@ë^ěLí¦Đ@ÜQ )©oąv±ĐçDÖ©Ág~Q¤ě~˘YęçNcw§%SC)nkC™ŤKËÂa\Večž%ÎNxs•Mi“u‡ůíUVfÝA‘uNë^fó¬µH7śç]öpQä¨ŃÚçËůĹß[fŁ/z‹š«Ë@%čîŞF•uß,ç]˘Ú#)p:ĘŠ.®;&!#*6*šs!,hX/Ý˝«.®íXiíť:}"«şjx…›h‹ŁNËBk`#*˝ĄčÖ·R‹†…ŘŠ^SĚ ˇé,-ĐŃ20)Ú#4éÉH…›ősĽ9~ÄYč´‹ÎŮYyYëć˛*BŢf=$ÖĘśZŰ*¸ŃŇżO{#*.Ójqať‡ŃˇOŔĂÜ4o™Šľć¤x;#nxš‚ŐÂôÚß°µ˙i M=C5ű˙Pť˝jUŃŚ^$\Qď˙†őŻ˝ŔźßŞÉ,"i)§}ü»XöSÝçÍ~ďc`Ź7C;~]čáÄ#*‚~lj6ćeW ÷ăĐą›nůP€Ŕ+aúĚlVŤkšb0ˇÝüŽ©ČŇ„‘ů÷©ÜßcŠş-ëi˘7GµöłŰĐ<†d–ĎÖpkŠMď9ýüů§đľĘn/ňA1z łş(–2,Í&C6#4|pOuTńŔ]âCJÔ÷‘e.ĺ«ĺŕđl–hčˇL‚>&&[Ç(<Ŕ/ÚĐćŹgV/˝4ĹÇ4µ‡%ľă˛n#)Oa-«4•űč#4ďĎĂz®‹ÇXMÇPĘŔB–UŚđŢvÎOWŮi`EíÚśZňµÁ](4>b)±#4ťĂNd ˇ#)/¬?˘–lŞĽÎ•‚.LR°!®H>Ň˝Ă=9-<iłU6D{đ+Yír!ő4U·tä@36čő§ş{¨“vŽÝŃđB™fŮŤ2ٸMÓü2ĹŤ´žz‹Ďˇ|ÔN¬aĘQľ˘ŔĚáZë&çjżĐëä{ú$·=\o ŹKm¤:îîňÜŤ”]kE-iŚňŘDa/µö Ç´ŻDÍ'ĺU6ę–Ëá0+ËńZŐ#*wúŃR±×ťu„Íňŕ3ËOîPČ[l6¬ć÷XľEăţRF0ůs¤§×nNZřČlĄVę±€¶G#ć~Ă —Ă~Ů›ĺCüq "áşĆĽ5ą4/Ő:ćɲHĄČPá$k׬a‰˘öyľśŽhpY ^‚XËQ'č‹Ď`ŚE‡]ČwŚŠ„Eaµ†íf^Lé;’UöŠYUdYĂ&´’—TĚŤĆë‚€«,»$A˘ł$ŇhP#* oůś-EÝ^ÇăĺÜĂ/ŻÝŰĆ+íťéYŹ«%ôÓ;>9=>yëíş÷zó®dä)Ž#čqG›! Pz¸wŘĺżřňßŕ'M˝ČPK×®¤eĄě|ŁCĽńXŕ5¶Î&śXŠĽ.S©Ł0§›dEŇŻ"™5Dł×#ę3a'y+ęÜ!'wKUśq_'±ouć°ĺ±Ł<`© ‡5G MvľöeC´ĐŮš$uxţćĘuÜ‹óÚlp˛5ć…%dÜ\uá‘2;Ľîý!ąn:‹Řl(Q‡ŤF_@[Ěv$ż˛#*đé‰ôáŐV›Ă(#?¬|y™/‹!~e´;ŕů`/Á3lćy0˝Ě“#)VNďâűĂ#)'m•RÚß~ä-EĎOŁhĂú¤jĎeáy]&˛ž<ŤHfÎJhŚ;žŁX…ľš*„ϬčšhksđůIĺQÂ$…î<§Ď(Ś:x‰¬ź•Kˇ9šMůß{łÁu–â‡ĐÔěVŚ_zŁlš1©±ţ\آóѶ^C‘#qď@÷»›ŤŽěŤđH·ŔF”ÍCŞWEúQÜ»J‘-¦Ŕ T˘‰ÜÖ9«e`F¨XRá*†ÇHjí#*§ą¨ŕ‘Ż©#I‚ď'‹€Ď7x—qŰ‚ÇD^{˙=Y|Žp(xa°(€’ĺbłż|ťľ8ţüŐł·Ç/Öb-S§67hÔxněÝ#*lŠ˛ĐV¦ JQC\9ą°ăµXaY·od«ˇjĆp6OĂ଴żaguŮ;#* ŘxÉĹôpů=˙®ľÇ#*űÓť[$Ó¸”WŽPŁĽ>yj'šŻ€…âe‡.}‹”&vC.žŕíŢ?ó°ŕÎŽ§Ë2 Š.˝«lĹĹÂ!z’ÝŘMöĄŃQw§Dˇ°YäÜw\^;)/ÁŁN&ĺM¬f·áţü-ÂťlgCł“';đ0Ńf©ŐQ˙füŢ4S8¸ţśˇ˘E6ž¬îž4xo9‘f'ż]zoKŞ Ŕ#*0°YüDç#4Q/U«ŻşęŇ#4_Ä4@ŤyÎc ?(7%ÂŘďděMÁFľúpkÍ®«ÓÍU¤´ů6îĄn‘Ú´uÚ»QĄ?aî޶[ÎoÍ÷dÔÓŚ.„Í–›'Kouë((Ön;ÖćűF¬ë&t/׉P4áŮë×'Ďľţcžc)ÉýűÝĄőV>8číQÇDđŘ#*ö‚]Zë§=ÚЬéći‚9î5Ě• 6=-GYZd—ĺnĐ}đŕ!ů˝řŘsž™Ú·éćĺÁ˙GaĂúŽĐ`…ź·C}ČůábpÍĺÍ‚ !E¶wó ¨]#4 ™ÇËl>âÉ…K•íůôŻĺ5jŇó‘«ŰŽ#*Ü…Ť6ŘťŹ6>ÍnÔngĘ Ńďý@ŹűÝÉlI™ÁĽJ/§ůE`§1Ť‹YH4Ú‘ł2¸ĺL¦I"8ĚđäşL§t'Sd‰ĐP’”IŃ’ČP˘,™ű%‚!>‘´AéRşD«&üR±Q&Ädó"ŇĎ "3±:-”řŽ/ůŞ˝E’fK˘î›)@vŇe6vsoW§šV]C©˛Fj^ydă^€Ţk¨ĎYT‡‡·5V‘eż;ęJq@ňř%ˇ鞖sűĽ·7ĘĂM‚]n|đ±Sęâ.ăţkôŮŚ¨¨ŘRötÎym…Ź§_ĺ äu«Â=míůČG\?©7»ásôđ“&µó"’^b‹Ĺć`PY"š,—Ŕkˇř÷šđF;ťáͨőDŠ`ďšTJĺ{…QżU í„ďŽĐ„©Ă'‡śń”®)ÉEŻ˘y?Ř$;ĚFŮ(îÂZĺE޽ɀ2E[.ąŢßqšîK˛ÚűŃŻhříNAď%NQ—G3«˛š)]fM#»_¸¬r3QCŮŇYV]ĺ#¬¤ug°Ş#)\®gˇ¸GŤ‹w6kąŚň”áŤGŇҢőRSoh×€ą·†›ScůůĽ·‰~‡Ů8D„""‹Ź’6‰fqç:đŠm¬¤Á9Ľ«Ęr%«ä*E™X^ĹüŽüĹ83I+j?›ŐzÚpZ§°bs^}D""dšxOĽ‰ÂjÇďś„‹ř.g#´tAcâ#)żěŢĹEV˛Íő+ s¤ÄÉř› ş®Dâd żk—ÜyžąÜz¨€¤?mŔÜ4>ů#?Ű°^üŹŇťíŃ_ťiň)ń×ňúŚŃ/ö˙Tý˙·ňú‹lţł˙ܡ˙˙čđđŃŁşţ˙ÁÓŹŃ˙˙wđ˙<Ě·č:/ńÂjXĺů´Ő4NP>HX_Ôôţ>©ęŹłAĄWírÍŤ»`®N:_?{qü&=ţÓŰłä<č]áUäŐbA?«ý\}aQ*¨/˝ÚÎşoś#*íPřy1’i”˘ßtÚk‘:X#)3˛®ţ÷Ź®ă®o,/Ăó*…R‹…yL¤ÂÎ[:°É°—–^™ňş4< j/\#)e§öőŤĂ‘oR䥓ъŹ}#g»‡ş¨€'×7çTI߯źńúŁP>Ëh˛ü}Ë—Č»ÂŔşWLÄχ—sĚŘ÷’HřÉń~´{p‡ßL· ÝÜQŃAĄę2…ďp’.ç•-rwęýp»ô˝ľĘnQ;¬KŢ):S›aŐäˇů'ŮĚÜö]¦¦#•ÝţDY‹d°@`Ţ3›đéöÓ$ím6şČlŁˇnŮY2ßvµŽŻíŞí/Ě!äR‰GöĂ0Ő!ĺę@«®ËöN™ě”€ä*FÂK·ő«(r„Ű#))¸aPd;în3 #)Ł#*ŤC^ŘżzżuÍÁsrCąŰ…ŠžűťrEßMłYÄSި#)j€®"żź9+«–[i*K#4q+4íöiÇzÖRúRŕąb-+H,ÝÇFmÄĂyY>_#)K]T·ˇöS¬ĹĄ·«ś†“WŘ=§3 Í°=knHSĹşľvÄÝś€V°ŢŚ đs3Ü$¸#)”äYBą”gE†r8‘BÓţIroą#*€mĄsë<xXą”Ů×%đÓjó-j,ýÂK˝JđŞŻîňDtâÖmĆXí·=: •Ĺs¸P©„mÇ€‡'b#)Ý˝.ĐŁî ę˘ŰŽŞ˝ÔeV†;©~Ä$«ˇc’¶X|J«Bâ›Ű&ýjwÜĐ#)y±ű€ĎиDłqC‘+3;ËŔ+áî‘úlé(’Pfµă0l¦ťý#)Y7–AÄ5‘"pXd(QĎÔśi+_Ęć&N=f¬nź!3fÝ"wč7ťH™âÍq%S{3×ć«ěvŁĚ(›vťR¶ćĆęÁš0aFÇŞĹtÔům˙č.SŰ3«ČIkíťÉŘV…ŽLÎç·Cč¦QV©ĹGJ7dć0KVŤL^Đůż7ĂčžnO ö`ďĆ*é—ÁNx»ŇS›*”ľ8Ăh—ť˝›ËŽŕŁČ'ĹH—Ç(»X^†—G´› ¬đر2žČAá-^1Nłăý>©Uwkge}\ .ëÚ rl:1¨ vîă`geU˛ŘűîŚ"Xľţ[ďíŐpkăa0Í°ęMČŽÉ»ŁžWŔ7Ôî„ůdŔ;#9ŤęHk™÷ű#*71ČmuŻ>=]µěůµ»ŢŢ.Ü.%Í2˛Š#*Í™µmôv—ÖŹ=L—k•ÖQÚţśUźđ˘ĆŞ+ĹŘ"D‘"đC]dŹ~m‚Ý‚Ô[©4(×bďŰc6.‹!ŃěquYńa70gânóçX˘şÝĄŮc3a‘âiRĺ¶ ŕ)=™/–UBşä€jý9ąŞ-Cř †äÓ ô8]ĎřâĚ|•¶OsuTV§4w˛ĽW#4,ŚîAhúD¦·kHG$çCú2ęq«ą•¸ćęa±ÔéMwndGn¸‡š„Şi”RJqř¤4Ŕ’>RŔcĹÓi#4 ĺ9üé»L™AË)UăŰ”˛Ł,ńgn ^“Ď#4AhÍ@Ó#*˝UĹ`.łŹĽ˛%ÁgŻľ9Ć»Gś1pNŇ™ńEĂ„pL7>@@‚!”ĂÁśźän*5Śi\^eÓ)÷¶_ŕűô'Füël~făÇ<ÂlFŘ.ŚďPň¡n< ‹Zj;5\Éčţ1í”_m,˙Hé/7˙HŁčŻ,ő•Ł#4c6K¤%¨ÂÔ«÷|źČ"Xď,Úu¶#4š€ŕEÓ>ńU"ťîÔ2ˇŃĆÄ.NXueOâ..H"®y놉1żĚ`Á«ÔaŐ“MA×ůµGfň|DăkveŔó4Ă1ß#Ď·‰P|`ľađmű";ľ|Üßzk»T ¶KL8YßÚ jĄ%šJűŻŃĽÓTľř7yňÄb¦<ĘǧçÜ]7E3:F<-ôh¶ÇĐÎ<›Ś_^‰Ń‚ě[eý(žĂÎĐMKˇ‘ÜÎŃ›˝Ŕ7&;eřŕZŻě`2ĺč=ˇRËÔbéšIzâpčěŇäÜ+Űwő}A7^ÚÎź#)CxN},M×=í㇠Ô"‘őöÁ—ŻHqÓřç6 ĺ.Ü-śŤ#*p¶8}˘Ů’~#4ÜW-H»ž±ZŹăüyß™îf¬’ë›SŃSŽ“ńŞr:ZŨBDé¬Lm#ťÚŮŤpIGęDwußŔźľł¦ýkZV-•C B3V+F+HĂ#)ťI˝ąŠÖ4ł9Wž!pp46r)hşA(‡82ž3FŮ&%ŃMǬd>~DćÄsŇn@¬•±přI9ťt›-:ĐÍ$x VL˘Ž‘2x#żqEę~|©g âsâiŹA•=%řłYv…0sNČbđ÷•ŔG˛†9RoéLIĚážÔ>ÂáüÜ4®ś[ç"‹čpjşY{Dłş”„WĂÄČšŞĂ«ĚŇôJ(§§łž1Ý\D@Ă«Y>ňąÝ€ŇuFĘ$PmČ0-E¤Ŕ$W#*¦ŤNÄ&BA’Ş’L-éűAQÖ2`M˘úP<^Ż„S#*|¶ě&/F-9ĺ‹É˝DÇ8ÔCµĽ¦›#)lb@¤_¶«–ÝůÄLţrsˇIÓ{:Ęe˘«^-JńŹ„YivkdńáľĆ5u+čgbGŠ‰T&|cé’Řip¬cęäŘA8âN“›%@Ćô‰+Ç”xűťvńKżdíŮď:q"[ާe‹Â’U×ŕú:ŚŠ|O2]‡Ţ˛&‰TÂ3Ŕl†[ćďQS\O}W-S+˘ÔĂ´ôLšî‚5ű)ˇň6ż«áÜěřhą»8‡ăpyaéex˝»$HĂ„nŹd‘lN!™Í‚fU‚’"…ťŮB…©N"BQ‰„ĚdliŹy(vŕ?;g-3čřŃń%LÇ ÜžÖev\őřővRóYV/sëůidtÖL“&0âÓúşeN-ŚŞ™Xű<FRŁ›AŮťTćşî÷‘Ęř¤…µăŐ¶Îé+ěy}żąëtË®ĘňvÖs™®Ám@ #4Zč„DŹľÄ¤Č¬˛Ŕ§úĘë†,Ek‡š‘=ťĽ;á.Jťč]C ŹÔÍWŁPV^!x7…ŕąÓĽBój¬ĘžÉXTR…Ţŕ—–ÂéÍඬ•ĺDŘřçÖ}YN:Ăťbëo#*čę8ĎÎm̵;Ż]HçµkĶëĹ–{J‡2măýí%+ŠĽHe‡#*áą&ČćęůN#4qmŇrµ]äą|µ{ť÷÷đč^™ŤŚzĽŘácöôéăÇ2ŻŰiToÂ9ŕӶ͵č•4 oF5°F—ęL#4~‡ jµu8Ş•ÜĂĘפńՔÓŐ!”ËěŻúJůë2RR¬qia{ŮBfďöő|ď ˙Qř%#ď~ĆÜŐrŐěkťťý•C˘µÜµĚ¸#*Łó 콓×jµ@: l[$Đć;Ią}o‚VúÍ“ý–¤ç¨ĄI['MjŤWąŤÇ^‹?„ďnvŁ?1$~fĆĺň˘¬ŇĹ0¤Ł˙(×#*@-Đ«9™d–kďÂÝÓÎ%×ý{VĘéQMDSídSŞIüq܇I™˘ŕĽŽĹ$f©ä|9Ăś˛ł©ÜLwşC–Ôů¤Ď‘¤7ĸ‡ÚŤźľZW/„[şÄŔ«ŇˇäćĆb€c}›á›íµ9*®˘…(emčXŤ5•…:!2Ö^îXŇCmîüPđ%q¤SöĄMâuj #)¦Đó˝¶WŢĐ(žÄµ¦#*[,“QbG)Át)±ů5N`Ë/hĎĚ˙Ý#*ů€¤6Ů$Wl¸w#)ÜÎMAŁ7ĹN?Ó®(ąů— ˝ô.‹|ą6^†M˝(Lt©ľíťÔ}*·w.Ů󖤓Ţ!!´®Á´ĺŕö?öuH™^VnT•Ń°Ú¨Ţ4<ł•…”¶Áf…vî*ďČćďĎW}ď·„ćĐŻé×#Č@®řáŮs.S»¦Ľ(o1ůF(Ud-{3t;ŁÎĎ3ŹZx€bpC#*SdK`ŢŁ~˝ĺö~6mĘÉemQ'Y?séŘž\Űh7iÔm˘)V5:đş\¨Ý•î?h"ˇJ&tműZÄĎĹĘëCw’;ŕ›2~-$CÚ0F֙ƉEK[Ŕăp$íVđ‚–;Żsń!âţ#4%§Ů6«é#)úżIFx\·žőŚÍ˙¬\>č-†°©©†ÔđbŘĽ…leţĄ6Ęׯ4jJJŘ| #*ľ‰ş~ó·W/?{ńň͏חl~ňNőő×i™*ú‘F·qWüt·¤7\)o]dÍ•¨ÄşÖn¤7IŞkĚ_1¬] ´sřŹ#4 ›#)+cŮĘÖ#)#´sřÓ·ţŐ‹aôÇ·şdnqÍ#*€ş‚ě"+şůXŚ„Šxg-Ţ5B“8&šřűÉ‚Ú¨}Eq4t»éâaľśNŐ3úŹmlk_°*Ą©Ľ+E®·‰·&q•$ŚÂ ©±±d=ÎŇ—çŮP˘rŠăaćÖĄŔjţ!.#4S´Ýš<°kô·†ďnŕW>‘śĚ+ëŹ>BX5«¸u޸HÖsň·•Ü6*ąHní(6#*î°!ţŇőî”ÖďNA#ďą~şŻjĺĺŢRş¶1Ô#)wřěëú ,ëZ”îyv“Ĺcś˘ŁwQSE0qţp«U#4ű¸K&-LŘŘĐąwmŽŠ¬(,@öHW~ý}őâţ2Źš¤â㼞ýź5wýÄ˙y|pŘ˙óä—ř?˙öy‰Ö^pćCâăĹąÍ ĐZţ±U Fô!ë@#*ćĂQ|řĽč|űěóôůéÉç/żH_ť~‘¸n>;Ž‘7ëUâKŠî#€qBťĆŕ×ĆwÁNLtTvŤó¨›Ď»¨“{©·ĐU¨«»Âß÷Yiáŕb‚Ĺ.&QKĂűâ?Ż¸4´š˘Śőůëî˛$ń\€”ť_ŁC¦Iuˇ°µŇĚużŇó`\ş6ďä†;帔ß~µX+SĹ%rŃm¨điŰ3ĺ¨HÇš˘•B&‘6dŹuĹ"Ş©Ěů‹P›cB=¦u#ŤdÍŽ $rQ¤Ëhťĺ¸’[.Ţm"ĐPy‘±ZÂw«LŤě«{ďB#4RlťÖőđG~ŹJN_7ÇOŮR#¤ęňµkŹµ\ż÷X.a›ľ#)˙7AÜšk'i\ĂbÍ#)r÷)—é5ľÚP*!Ă*ÄŮłë"-eţ•Ţ¦ů‚®†ł¸|‘¸“Ŕâ–•rÔýp –ŚwzĐz{úÚĄ†ęĺŰmRńK=Ľ¤Ů‹—bHżˇĄĺ!e1wx´xcÓĚHŇ,ÔĐ/Dr ŐÎČ]s5(Áő.bŤÝ–ŚwvŃé7oë]ÔV‘ş6±Lq»»˙N™żu˝;+Đż3U´d$—•ŇDí; k§#EÂGČ#*H[c–M=lY®`?Ő`Ĺđ—·Ć”á¶ÚĽ—gž6bväěÄY+™m¸Éí•]1Öuni¸5úm1-eĎź=˙ň8}ńňMŁśÓl/ňÉEŰQŚýSŐ€„Ső2+˛"8Ť±áeŹp®źt8ÄÓ™€z^Źpnn('®đ´±a™o±Ćm˛f*ŃŽ^1Ä·¸Ěŕě ŕŽ#)é#*éú&Š:©#ś¶WŮJcârfó;źńÔŽ¶ŐzŘ„ž‹¦‚Ł–hzPöĂłĎ^BĘbÁç4$ÇÁm˛Ăx[Ł´ň2ŕDalůţÍŮ7ükŞfX¶LŰ”$VqäďEI˘)R"Ş».rQJ’.1ĐŞ“3q.ţŁŹ’:p=H˝Vŕ}ßfĚÇNá†ęł"ëŢćËî¶ĎŮ*J¨‡7pJˇm*śFZ˛ÝŰîţž0»“ČqÂhTűĽŕ×zH«öţo‰F×Ţéwx¤Br#)'X˘3MŇÖDMp]ůžuý#_ę!÷lŘ.Çv= źVľôĂ÷ŮJ˝3%†R“Ä6÷†ě‘Ť.!i·g“Ü;9…mčůWéË“ôÍ7'B‰ŐCşYčľH÷’ZOˇ+NăŻQ$öĆ`]žľ6 Č]C–{#ăqO„7ş&Ű€0w!YîŤ0í ÷BXť˛·!ĚÂuKB{vŽ›ú×oŽ?ů'Ý[ęk„=ßbëÚ˘ţŮňI{ÁͮهŹĆg/Oŕ(^‡šÓ«6›;iĎÖ¬T˛·…eĹ×JÁoţĆřüŚ›á Ĺ&ëĐ>ÜC‹s'íŮšhIöMhAQ¤‹8Ľ<}ç°exn‚Hô<-cHvk){\oqK[ű\®b9É»Iwµłz7'6ŢvŠwó`ÇL·/Ź˙¤Ç´ĺ6ťĹáóM#*'ŕ㊏>Ć[íۇîŮŇ•¸8‘őáŇ`-Ő,Ă\Ą¶KŁĺcŰâń»ČRpPrץϾů†@—94dź§Č5ăŐ=)ŽŠ`¬ľsěćŰ’M2Q1f&Űdn1źî_D¸j4ĚĐ…ńâšš%Ä5%„WęS®SÖŞ¨nÍ— •QŰuÜ"m5Ŕřň…ĽV˙Ę \űB!‚†ń“˛;˘šË-uşŐ,Ż'dp;Kôn˝€˘µT1ę§ÜLdVUˇ-TBáöi“0 Ť™?$Ţ›ëQŔq!oĂŔxsŘr2dŽŽÓ÷[1H§űĐáŞ!G„‹îř‘˝¦Ú€<бč8Źăć÷řd¶ Őfřď?(:őŽßjȨQÎCň| ‘đ˘ŽćŽAń5Ę@ŮűÁ”.oËĐĚǦt9vD™Çµ®ą’Z†ÖÜٶrŠéĹq–iLO1UĎň=o´ŕ7´B!ÖÁ”ąő·#)_·ÁN¤×ř»5,€oÁż?FÖNŞţ•}ă;ÉcŻ¬#4,¬pη*1鱍E`…Z’ĐŐZoňɶWztüDăkm'á,#*ŐLJfÂ6?˛ëŹ›Ëä$GďşWµť´ańŻ$Ä8d5#)ĚŽŤúĺM ýq˘BÇmr}C~c“blźęîŁĆB#|Ł7Zž')öČ]€Ž±±LĆNđ@'`sřÇž]fds7Ý}6ój#:Ŕž1Ú&y™Rh#4<1şŁćcg´\ŘF:ăX¸~¶]Ćá#)ôm&׊ČŃň¸čVÔÂbÄâ^MkqÍ„jfRŽT‹ťÄ¦ŃôMÉóPčä‹ĽÓjŚććąşBŹ¬GuŐô<·îÍ€RÄvŔ{ßd,łE‚ä¨çzĚé°şX˝´5oë}˛JÔülťúÜÚŠ7âN'#n<>„Ră®Mć“$8čý®÷»ßńl°‚·Ă>0KGr§NŇ#*r7ŹD.tĽžQŇŹĽ˝íѱ…Z}:Šé ŔF‘®$”85ÉÁŽ#*>_Î!řTäMîÖŕVZ^Ńqz‘YWYr°IPĺť°*IŞ˘¶:ŐO>¤ÎY~w•T«” <âÎĚŻĄŁťˇ"‰µU Ă'ş5ˇ8‹“óľÄěΛvĚšß5óPő [Ůjűײ¬=ŠwĎ#Ý°kÓ‘7ť5ÔŽ(”;Áz›E~Yfµfë<„ůRâćM|1ľ¨Ň2”hŇ@!cTÚŹ{*FL€Ć«=8{‹i,Ś‹JB<~|Ó(›ěܱń#4#?˘Šc˛f:[0Ȧxâ îę6¨ąpM#4“#*žEŢ*‡#$±B$Ú#^ppľ×ëC®40ý„j±˘“±ý<ĎkR,p“t$bj.±nŞŘ0Ě6Ż'¬xýěí—]¶#™(°=r}¶…ÓĄĘzw“F¨ś‡Ž–)űţ6őĽ—Eeëç’ ł…Ç &®-éĺr[Óá7eiĘĎ?(nÍX˘_–RZ=Ĺnď9Čú†ű¦n‘OúŇůxł©ä6…“Žă1ąz_~uüçôů7oŢźĽMż9;~;Óîg¨ęŐéógŻŇŻŻ}yrěŐŐÚ›`ÁĆiĺFLN’Ĺ—ü°[ד¤|°Ł iâŞÉĘÚ˝ÓH6ÚeŕkĚ…ôŕ‘>ŃYř×ĺ$3Ö‘oDű”@J`S§)Ś¸#)á}¸ˇ>\s_&j#4[h+“Ö;;˘ŮqŠ‚7ęŐ·IŃ20Ťqş{‚ˇ˛#)7ł[†“&KŰIAFL™0ÁŠG—IŘ/C‚X.Äi—k^^t”łłˇPL<#*o#*ůč2o˘ý]*ŕŘÁÔÎYlŢńPŇ’Ł1(őP4t)«bvŚ®$śÓxŇjgß|jëײFÖ28îűŐëlÍaą4AG‰ŻZÝyúŇUź©Ëš5×°1[Ť˘Žgc»ĺę$Îk8Ď6nnߣÖ{¸ßGžçc<6>JČ»¬ŮóÉ^n×ßľě2±ĽÚIčŢxTŃ.±ü)ĎĎ`לGWŮ*Ľ˛®4rľĄ‹[–a‰ě cłu™Ýé>ĚI‹c…ěǦĺÉ#)Iú4s-|"zCŮŚ(CĺkTŽ7FePͨő¦Ę§ĚPŢ n.dT;#ˇAŠ»ĺ˘^Éwç#*Pý—bŤ'KćĎNĽ¤·Ř5Ć—`ÓŕîßÁ1{p'ͦa_N]…@(Đ#*ŘăΔiÉ«\÷JÓ˛>y*ęĆý®Áś”pGlPÓ#*LÖ†c—*c˝ÖĂvč%ž EţĎ]µ¶>…--.ŕ¤Ůç4VŻ/“#)ă¬a‚¨8Şś®âkăŚŘ•iK¸Á#q%«“®o …qr˛ńë9ˇ§N@[ž~ź…ěÝ;0ËIç)—e+٦¤DuËÍ4k›"G¤şŃ.^ě´Noćę’1$#)ńÄű~°ú–…¶~…Eúµe=đ±ĆźŰ.6,Hăěß‹Ĺ3˘őŘ7â™WR†Ô˛ü˘˛Iç™őČ8‘›żÄ8ŔéabůŇôeZ'ę'8ńxµ Ď)}vDZ$`¤€úJźáH˛”^f–!,íqer2Ë©MB9Źá¦Ö0ĺŐŹ?żzuúm`d|ĐRx#)Vý"/łO¬©Äş°´o‡Ç+ĄHae©ÓÇé8’îrl>ĂÖ` ']:ĐRÓЦű ë„D«‘k#3ýz:±şüšk*śŃÓůűo˙O¶7?Kđź»ő˙ź<~ü¤¦˙˙čÉá/ńţťô˙oKŃţoSőgŃâwăǢ^~‡"Ââß_?ř5ţô~ý#)věĐ[Jo˙ž˙ńL~> /˝áűrr9‡ßΞ??Ó_Éđľ,agí•Ă!e/ßĎőW2|6©ľĘ˛4~9©ôWk€G[CďâűBýTÍ~u)?’~ýöD5ČÜ›ŚJ|ůľüH9FđXÚ'Í#*ěę”Îvz{q–ž!€ťG÷+sŘ"Ńm#)z]‰§á€ŻSŠŚoRŠ¬÷ýĺŰŻěxźŔóő*ůn•¬¬Žď»w@ˇ>tµ~>ä>ÍVÖć#*éôZí1IQ{ĂáŇĆw đz“`răA•PŃú„2ë<_'׎ú1ŕqŢ뻸=@ăänĘď1ĹMŘ…„wďvĹEČuüe§üM°s]ó2#)Ś˛ë›ĺ:Öľ•ËźÍwáë¬_ŠE-sUVĚ™*˝ŽĺĘŮą+v{p)‰h_ýQ'GąĽŔE‹~gŘ_ôś§†w`ˇ)¨ÄÜרżĂ´ˇ0D‘Ť32NýlFdnř*¤Ě–”<č·»ăw śőëÎđl¶¶w0iŔ«A; hkşD׌ŠÓh¦Ďˇ“¶NĂP#€›Ůwëłô‰f:ďcBNv>@±ŻŐEĽÇřQŁ•ť»‰TFęťô…”&;[iZNóŞLÓ$Ď c,%Ô˘…ç@é|wRyZă— ÚÉŠ$ť>č3$ü#ń?čŮXČ«a1fVŚ6F¶ ;%ž)UĄŠ!HHŰťBs‚ťĐE•%ż21›aNR˘a[!Ź,¶`Pk&&±Řm)ĄČU+˝öëŠ%kš+g†Á[(…L§_ú¨8<S3ü˘×ÍmuŚŮ%áĆx_˘qf•ŹŰxmĚŚ®ĽĚë±ěƬE·\#)űQ¬ ¤ůfI©T=4Ţ5"°^T¬Ź37쬏%0ĹĄëŠFZëąY[Ź\7`±F#*B˝D(ý®ĚŤ;˘9«ËŮŠč#4ÜÚXĄE´ĘÓĹ`R”ä†8±ľ#4{Iól>Ů_=bÂÔżËOQç(YÎ'CŠOfÎźOÎ=g+«ÂxJĺšBşđ˛‚f?4Č Ef”¤h6ÍPşGnJ䙝•@ąľ]m —z0ý*ő3ĎĆ÷b˝;DŢíÂţú—Á¤hNÚ#)ř7m%N€-:b±ř¤ŕmkÂZZÇM±SÇ’t÷JĺR]'YfÂÄ›áQŠ;yťiEóo(Ş[Ž»ÔśIHĄĂfuH›Z‘#)QX&xG]¶€ě)…µaP„d:™g(óÄ_(iŹ|ÎÄ»:WýĹfL,)4ň3ĹîWęśŃr¶ŕm0Pü;ěcl5OŃ®#)×Í™×7WŇ\ijjE˛Ůú&WÝúk]-ŤeX[IÇn¬^Ýáy•ĆI^mW±±G°dt·ĘŢĂ„µŁ¬‹ŰŤ‰´#*ŐnmFyŻy´sÖUŽ;ë,ßš±yIѦ‚ŃŽ…ĘÜčÖx•Žmô42%â*+ţ©iAÁ gÎYhŹxsTŞ5ër<ž¬lÁëd6X…ű6\UŻ ĎůHí×ý$‘öÂő‘@şĘ&—W.#4BH{”>K$¸‘ř6ő5„Y8fH=!nžŢśš=÷“ßůč䍢®9“30„Čö}®;E6%¤Y᪊9ÓČíIÇÍLs…ĐW 9ÇÎC÷˘ăžłF#Úązö.¶ë‹VĂKÇäŇńůS᪓ĺ>Y×’o2/óŤŃⳣ>Ç9t‘é© änYĹaP*ň8ôQSSčLäÁ0Q8÷zëüčâËt˘C€[ÇÔĂjE¦˛ŽýC‹4_Ďa 4ľĄ …ßm“-˙´5\şîü°1ŔözÂŞc^řODőHxk„â2c6Ľ˘Ü÷57kŰ yÁ#*ßN(]IÍškF3mµá˝”ë#)’xC˘«EŚ8ÉŽY,ÍţÖćçłµX”_Hµ+±+i#0üsĎĚźsě%»ŮßWý|üďWÓĹgÓ ×ű˝ĚPX÷˙PĎŻ]Í~—ľýŽŹµ+k$űš‰IjI(®™´-ĂĂ„)C,ţžś˝´ŃBʡ›bÜĄ.ä„Źa(ů)äŐî5ALJ¬^í)#*Eö{CéO!I\EňůŤ¨AíN™CŻ-ŰTDnŞÚ«ăŕĂGŽďŔÝÉžÄë9DZí?X˛ŹRü QX˝Ý5[l°çĽ€ąÓąŤÉ×׍a¬=‰Ň}śŤş˝Ó2$ŁŮŽŞŘ%Mąałî:Äm~w6ô|ÜRÍF°GŹV3úŘ®‘hk5•čŰ:iÓÖF9ýD#fęŽ^˛Ý€I»¦oťż¶ŁzěM“EČ…Zűm}Ç5¨Üş!ż]ó]ňŁÉx,ÖⲲ÷ŘpÖą×ńSqŕ#/>€ł°‹FľYP˛Ł8vRiĽĂÁűźK€#ÁËUrř„´‘Ňé¤#)«$ąafźIGÓ1z„ěx^ö‹Pî‘ý`éuť¸k™áşÍ:qd×O;éRĎA$c]t•ďaĺ‚ť\ŃŮňbĂŤĘ'Ą˛¤ăŢtÄä:ń…άąÇÍe#*äĎF ËŔĺ[ÇŹˇb ÜŠ}ŃĄâÂF…@Ď!ÔšŢQ'ܵó¶u;É}`™¬%#*wŰü^¶–PS+žPƸOo±XëP'˘ĚAţ±łPöx6R÷ÄŞŻ…Ó]¤Ęl䙏ô7Ş5ńÚN˙Ëi~ŃĐ!˛ŞóĎÖę«Ôr?€Órę;§äŐ^×Ňő޳Ш_èbŰŤ:0ćÇ›!&ś¨F˙Ť^mí¦?Ś™‚$ńáŞÇ\TZ}c“dŁdmqßřÚŐö+uqč^"–îiě~ÄĆşĺ>Sˇ˙ĚËjËŮ1|›šÂËdĂÚť“™±l‡ťÇ›+—MÇÎŞ‡ă·a<TúZ†¬z>ífýOO*W—”"›?ThH‡f]YžT<§@âM=]K‘ňŐ€/IëŰ?q5l˛“aĺeĐĹę“Äť:#)ÁţB´‘ëŘ˙ă~#)h#*ńŹwŁ!•ď‡f¦4úŰľř ÚÔŮ‚¤G C˝–#4_Óx{M§N”˙©mŻaßhÝÚľ©WÝŇU÷îŠz%Ž¨©Ą®wę(ĚI’CWRd•-ŽĂqâ5=˙đŮ{7ţçAš˘đ(Mţ®čÔ«Ě8ţąy^7Čš:×vyî©gÓd‚«ůĹp)Eľ$ËeL±8$ĆŃZq‹Ą/ë>°ďŃXŤoءůď”ŘůáÜ[ş¤‘›ÚÓň¶7CEČ˙śqĽcŞ#4'ô#)ßž¬*#*LnĽ{rPU‡ź1áŐ]»$Śqî_¨îѧɾT]óŁëľZěXË|–OvĐlą=\ą1]A¸«QF>ĂYL®§#źő¸Ç¶»şŐŮN1ü ŇÖA%ßwOýŇíô˝OÉćŇÓćÝydô´)¶_Ҷ[;·cŕtÓcŤś›ĘÎÇĆ5ź¬>ßŃ”™8qr±3L„–ŤĽŢşBě?×ÇHěTĚą6xjR—ńřÂ#4„°âÜVĎK›ŃNë-Ň2a´$ŽNŁĎJë|—k2Ďĺ Ť"ú‘'U+s‹č$/&ĂëiFÎĆÔXř#4ďÝ'óËŢ+H#«Lő(Ô8$oů߯˙-ŃH0$éĎă˙ýă'OÖčď>yú´î˙ýéÓGżč˙›č“żw5˘Š/€q~ú8FťěÁ´Ă[侦%Üi:˛yx•ŁÖ¬ćö@#)ď+SÉâŇyßŐÉĆŕŢr`×ăŐbRdŁÄ~ďů_:ëvoŢjü̡ŃúŤŚ¨†@$ß6«Š\|˘#)qN:C¨Ţ‚.‰cĄ!d$Ů#*äÍV“Š"şˇó—řú-Şâ!ţí'ŇC˘Äß»xúH¤·#)#4EçĆĚ ýíć-¸OtP]'Ί'ľ$4ˇsěkřŠävÔëxňÂ&¶ô˛gŽ#)GóÎ!jLĎPG#*-<j^ő0ău˘Ń˙&"¸"óyv“–E/ăËpŤścęÉtş¸TŁO8™8!¤ú“‘LČŢŮË/ľzůęUí®ra >×"Ż‡eRxĘHCŁá©‘ç&Ćp?ĺ(qVŤ@4J1E'VMHďĂŘaŹĎ?Vî[«ZH©…uěš(®.ž=C8oÇąŞ|¤¤ň•´™<2Ě°,NTŞC?»Á»y°«~”d®&ÉěUŞăt#4o}âM“_|—Ř ,Ůt~ł.ĆëC{>^@#)CÂ.ľëÉŚoýŽúéăé˛D‰ ŐëuŠŞëVę"Ł—č, X.hMrhž˙ëÎ˙ńdµ¸=ü™,Ŕ6ŰíÂÉ_?˙÷źürţ˙ď>˙ÉÎ+MÇKĄ—¦jëĹ.*QŐąK%tĐ(ţÉ°0b……Ń›k›Q}hĽ÷“ĎŻů˘‰ŢZ¬ yI†éb'}ś?Ň%zŞ»cdÓŃĘýČ•!jç ×}Kei/e ×ýÉąŐćkŕrYÝj×*ŠüA #ĺČoő*vµ)}Řf¬ÄŰžŃö3>ˇ(üëí҉m<ČŁ%{ADŇDÔ#&TĐ•!RíEolQU̥̬•‰ÔŁ\‚$JżŰ†]űwęÎŻúÚ'ŇĐvĹŻDryY'ĽŰšóF%x a‹#4čŠxµÄíĄőť3ŇwnćŘÖŁÇ9^tĺˇóAµ7ŮX< ¤`młC,ŐźńŞ5!IŮk–âüf9źgű#ÜÜ[ÁĚUFÖ»ŔË#„fßzô5rŔ«c ˙ÉFřŰapLÎxÔ¤66^C*!‹b¤ ť÷ËÇ$§O´śö·Ł_âČÝăügČĎd#)ľůüôä|«Ůüřŕ—ó˙—ó_Ďx>6aě…sŠ2ąČ†šŹŁżŠgb°xR„üďâILěŐO!T`k9ţÉói FWbqE[Đů~˙“G–?¸[±ŐŠF‹BxĎą|‚†qO§y8.uGŮ_őS`°śVd„ęőzĘNú°őüÔŢ˙~żIÎ5}Ä_Ůâ¨Ĺ‰€¸`ôÝM;fŁ'‘ 2ÉͿ꯽FÔĽfž±›˙:ýě,`’P<Ú‰1ú‡äý$8tdÇţW´9ɶťo¤ď3üërâPP˝Bą°ÉeóŁ/.Oěë[zJ0µsöň‹ôäĺ«$‡T-QŇÁxŻÉăĂýÎéÇOž$Ź÷¨Säč4¦HÎŮ7Ŕä#* ö‚>}šŚVÉľHçób”Á\$uŠcâĄk]E&Rľťf¦¨ß#*«^{ ą*„Žp.‡(ż“Ö#4ŐŁë9{ťÝĆÖTĄSŰ ’Zźíl©öUđŮAv-`ăé€J2BŁlZ+g›ÔúµnÔÄHfň±úşŻŚŽQÓdX”ĺͪ#4ř±>3O„i±”řmfn{fî@ŠRäőě=ü#)hř‹¶ÚěŘŁîlUéĺ¤c|ď%#)$/ň$jÉһŊî°Ö 5¬¦dkĎ.(ăŕ#4–N»q=gMö÷-~’Ć?Ć(‚r‚f"ČÄtOä&ŰŇ«÷É4U>Ëó¶‰c/č©v#*?˘—ó“˛k Őm„XU NƉ^ç|˝mž'“Óý”řmr¶·/YŐÖßiÁsÓz®fŰ5ĹŻ‹¶¶*D‹ííh]_Ž˘.ę#)XPŃ'Îd8˛š±ŢŻëŤ}¸~Xl§ŐTL+©“[ ZĂcÉB°µWҼ ü·¶m?3˘˛$}ÍJÇMFcɡK<=ëZs9OH`,!1L ˙ܱѹÎ$°;Ü,Ú+Ş˘9©6ŢőŰl‰b>prŐu1'#*KAşŁę`‰qţ‡-Ĺt‚B"ĺ :ęŞ`ŽId3Űŕqoř=wźwަ\ a3Ł » ĽĹfC\…‘ ŐäI¤~Łü~†˙TxâxXpâřy/q÷®W:;ĆĆ^űLÓgÜC|X§ 8ň˘d’Ű&í±ő«Ť\”t=•±ú¶™%@°†Q…YQ8|Ą16f"cö5Ě=rHČsx"uŘ9ů :měŤ&—č¤1˛g]8Ţ8…ŘŮĚĚÓôäôĺÉ—Ço^ľý^߼8=yőgěO§»(űś˙ł—'ĎŢp†ÝÖo^|űĆ’ń#LäökÔŤÓcľM{yŞöÄěXŰŁ±Ž‚ťqôNý˛71&ŁňäżWÍÓߌćżb8łäů›ăg2CŢľůćä9?~ű'Ëţ<ú×ĚI0s‡ş]ŰčÔŮ4ëÖłöľ®ęÄhQ;ŤsWQc>#)űÚĚ×@ţ¦â¶ĺçÚVxKYÎ'«„;2-)…ź;ŇW”ÄĎ(°qŻűťN`]€w9ŹĹ]U“8[4—ęIÜŃŮâšw D°JĂţÁżz_úýUž_/5qzŚ/‡“ “âBĽ4nVő3â;ťŚoĂŇQinqxm´#)Ńą™lÖ뉫"'{D[DÎÔÚŔy}̇ŔÜloowŢČ–q•uáÓ#)j›ĚÓ.úŽĘĘl^±˙Ö|Ü Ď”‡tŽ€é–G’‚KDÜítŽP•Ŕ~ę`ŽgY#*ĄőÜ-=ÚJD|Ąěl‘Ö¨c˘Őnp‘Ţ.Ď>{ţâřó/ľ|ů__˝úúäôő˙ysöö›?~ű§?˙wŕ~!Gö¦ď`5B'Ăerř”|L/Ç W®Ţ¶ą)|sÎ˙#)a°“ Ĺ ŁéßbžMöľČŞWůĺd8ľŔ|g®|VKé‹Űč¨,rŚ~ÉO>¤őŠÁÍůă“#řo÷°ofÍ€=M)P_:śĚ«P{HŘFýŽáLŚIúŻK’íŁm"źwŤÍn{uš\Yböšo`ťu@*m=ű&ô·w|rz|ňÖěVYDZh6ľQ˘Ž<&6µCĘęĆLW3xŠ¦†AÂ#)H#*×Őh–F†Ş–‹)ĄŞ#JvÓ,DÍJŢ—ËL§›–“O°kĄz˝ÝäđÉÓÂG{“č|=źôk«ŘXŘfEG–2iĐ#4ĂÚđ©UwÂ#*IzSíE2Q«]ń˙UćS°Ë‡t5¤µşę6H#*tŁ#*3p1¸Ě6L˙ç\óó×at{r—‰Vč®y0\쌂ýd:Żý>6„ě‡Og‘#TKřđ¶1p C(ÔŘäj|ŚkŔş,Ţ^ŢHü0.ŕxtyřкݮACümx e×ÄŞi™$uT#4ŘŁ</ĄÁůCtÓßmâÉ»ď&4ŮńŚ"J°Ą2*…ţaT)·Ĺ–‡łżPüô{/T~2ĹëjÔÔ™Á€âËęj#*ÁŹ›Ú’4›bśč´dá<”E{Z8ú´b{Dk#4ëd(^Î#*‡a…żđ<€é ţ8÷nH0ŢŹî©5y5čUĄXFĺcü?)˙kFŐ&‘h±ş2Z'@G¨}GŔÓÍIÓĽ#^ţĚ–ĚWk^®ŻĎţ|ööřk {Ô#4qvüŔ·ćáÍ]ň´gÁŐÚ±ďms†É%Mçâ¶űý¤Ľ{÷źÝ_˘“z˝§‰ůI¤1ýůź˙Ń®¦ţç:BŕDCäAÄiTŽĆť#Ł.ţĂMI©mÄł@gF7_ýh5nď\Řç¬/âÍ×{ĺb^ÂqÉĺ„Ł‘pAI9ÍŔ8O˘lţŢg©őžp\™˝†0őp¨'´ëfłEu+=őQ`ŤŹţŘ ŢđŮÇ"ú.ćx#4ŔiČeý)=ý#4CvĐűŘSˇâíG`Ť»”‡¨$©Ř¸®Ő«F8RT'µşÂIgHÇŹĐ„Á©8˘]żÎNÎEń˛{á6l‘–"ţĄĂÉ NLźinßqf˝&—щýŽSäĆJ<cnéH‰/&}=ĽÉń),–ąÖë˛Ę&©ÂŢ_—9Űđ4™sř)¦5ÇKŤEś˙e°÷ýł˝˙Ţßűť„$D*ÓÉîJ¤Â%§Ź—¨Đ©]Ňqyĺ—ďŢ•?Ľ~ŘÖăň*Ăh6ĺp°0ńXׇpu‚ ÖÍë‘…#4WŠP§XµB#4ůawL,)ś*KLx+Kz żN 0Ů\ÉFľŘî#4診ť#*k"Jq=OťĽIzůÍC‘şŃż@au5‘‹V‡ăŘ“#)Uµú)Yݡg”Ś”řPř“ŁR§Ed3Ë}§A»GA°9βŕ›Ho%uł=f#ĽJDµ±[-ÂMvnWI0ĎTŕŔ˛Ő߇Xś®d`$íj‰śî”A|;#*oą‰Üď"á'ű\ňç\ŰĘqÚ0/ű>ýOąŹ'h}„ĎŇ|•‘eĆ`5›Żp§FźŃsł^d—¬oé.b;Dň*ú!|÷›wż‰~€żĎ˙ňc7z÷㶣;šľoQ8—9,Ž^Lńc8ÓMeÖ»,ňĺ"<đ\Z#)#*ç>ô>˙&hz»âŠČÄ]d„ZňŃţzĽâç¶Tßéé˘*M±y‘lĄe•—Ăňb2ĎŞPîhůb±Ń BL[0÷ň@ćß^†rń+ÝKţAŇĘu¬,pŠËs6ó]Ńr.s ĄP UBöď2qiCž8ŁđÝŕý€ë #ľö¦Ŕ«˛ÍŮm «)»„±§_9lČŐm.–(ˇŃ_†@·t˙ä2#*ÚęCĚÇá[`6ó›˛ë»7‘ë0-OĎzPóŇĎđĺë˝oüzŻ{Ë•ÍCÝ}¶śźžA÷žĺÓA1)ýZËĺ</Ť'6čľŢ4żáĂG*Yŕűb莪iťdaÔń†^IW–gr#*§“@Ńg›W.Tí#)3•]|7Úý#*›Č‘Äd0¸ŃëiSłzdo^íu+Űjˇžžŕç7á:őŁlZ#*śl{5bQ*dT{ř‡’¸˙dó+T#4äý¨L8/]XÜĘ[!ĺ#4Î#4g3KF“÷č˝™żJÉřŃS–rĎ&sŘ`WśĘĹO÷Y[>ě#4ôŮdXä’öŕ Ű{JcS.§Î™cÜ–2}0}7 vF#řŹń’H8ŠőśWÁĄ·dĹÁ·^jěČ;Wvʝޣ1ĆRçŚÚF@¤úąéj󰬆2čŽĐžÔ;aç)Ćé0_Î)f¬jły`Í‚ró;W’étŔ·ŁJůű"Ź"řś+ ś+É» ě=ŢÁ–ŹM’’#*<Â’„vtCN`xY[č1Vi<ÍĆU\ Żş8MŚ`ł*/N$ÉhxŽ9ű e˝CĂJ»ohBŁćBn‘-ą@lůćn°ŠúąĹöö×ëÜŕNŞ5Gsk4AWô‚• Ýy!HŮߤ˛#*‚rú¤4f騇„fPgÔµqŁĂËŠ¶aˇ=†ZĄő!ˇ ˙Ď2+n© ÚöY>®nEöîÝ×´¶ŕőÝ;Ůţß˝{ľ,ĐńĂů8{÷îŮbŃ}Ť,Ô»w;h]mď8áË7pubq×XJF/ňĺY$·O‡‘‘…°˛ĆĂ@`é1JA €˘u± ěéă‹ oß-×Rő&đÖôş<°é{Ü€¶Ç>źůĺ#)Ř+¤…ĂbÔąŔ–8Áh‰)Ň®tŚÚMéô°É{¸%z‹|áŘZľDŤsÓýŘÇžhk4)¬Ł–ň]]'–ë wW ‹“s6+ŃŔŃq°7bQŽ‘Ş"×IR›‘3‹é<č—ŻŹc˛ĺn¤^,Çĺäű,ŮŹĚę^#)±ś×¦{ęćÜm‘01ťC9˛51GÄ$ĄY+ApBßmDŰ´"ŹĚ „ooâó×'t=uNh#4,É%Đ<ë›Ňacqo6tl‰|ř÷ĂycöŰ–ŚÖľ–-ö2¨Ů/ő“¦ŁčŐZâ[YŰĹw-wéŻyłN‘=ÁĂŤ0ĐÍŽÚšKµfŞ{‹iÇşľĂrŰ9aÂh0M+IžĐmŘO'€\©Ż#˘s íŔ†5-ˇb&–嶇”[Ŕ‘ʵ”ńÍ‚Ł5Öń8ś?Ť]ĽőkĚJc¶®ČŮM{‰wäáU~#Ň0ÜŔ’˝85xh˛çĂđçjBr3",µž‘}YÜŔžD™ťű{ĘŃŇăÁ7ók sćŰ›ĺĄZđˇbç‡ý:*„d—ËbapgÄĺ÷GÎý!ČPÂĆĺn±ř8÷˛µNŚĄŚîpwb g¸Ź‰†\¨7»–#řbđ_Oü-·–e‹ď ÁX]!ÖĐŔ)}3#)ů®>÷n$ţ•oQŽś.±wfÔ0oKá3}ăL_3‰ÉwîšYěŠwŤËýűĄd?4ťćĂÔ=¤ÂyµÁYbÜ^Ëý§ÓÎŘ9Đă&sx 22 x<sň€çćŚ(LşĚ2»÷H#Ăd•Š9Ňf-zn±¤Ąĺ¸•Y IÝĺ¶ÖömGřJşŹĚąß<ßn™ÚÝ͵kšżŰ€ÇLŇkť‘“qŘĐo;Ü˙xlÜ(ę#*l$áŽP7A©îSĚ#*`÷óičQض%ę´ÜÝ~űěóôä4}ýćřóÓ7_QSáPč@µ·<:YŠ»é>cô‹•÷ťöߧDýLŕ›íż>~úhżî˙ĺđăĂ_ěż˙MüżUŮliqľ¨˘äpŕE«ď«"Ž.î&4.xÎ38Q =b=qD:h€‚Öó~š—CřŽ ő»ľc˝:}ţyĆ<{óN™^,'S`ŇÜÍKMˇÎ”*ĘB«çőšRŰŤŤ†ŐŠNÁ›tÉä´2˘LÍVŐM¦Űá#4Z7& @7ËSt“?ŤŇ«lşHąW$X…ěç z¸ÁĐąáN;ˇúí€v˙ńřÍŮËÓ“ŘIzsüÇ—;Böů….@n&Łę*Á1ˇ‹/HšĄĂ|ZZ›Chc˙é«ß\ďMzHwo¤5ÄË0ý%SWVe•ňBEN”ąö®»`ë(ĆägCbцI6»\.óeé|Ťl´nőzę5R]öń¦‘¸{8}E«ÇXä@‡Äq±§Ł/ŠÉĽJ—ĺŕRIÓ46΋=¶”§B(Š*fłĹŮ)ďlT"lFŠÉpJQ•u*ĐL—[#)#*A6-{P®Ë™ńď™x6Ń»dK•ŕv#h• f]+T`Ł#)6ŠŇąŔé'rCˇ(]˘ďžĄX[Ę!ę8(ëw„Śë$u5Je ›8E9pyˇ—›«%ĐÚ7săcÉůĺPk+„şJ~2}ÄJŢC~Ťl¬‘÷¦qJn]·÷ŠÓęë~bŠÁ·ďŕ 2#4ĂעčA9©$}Fjb$Ż#˙*čÂrg—9@BN1ĺ‹ żś~S€ÚMý–p’ ČLŔ({őĐ®r®›mż{.ÝÚďtľ tůŇ#*łŐ`¶€aëöđÔčŇĆÚÝűîqÔŮ);#)hďxgşD:ŘtôsŰĂ8ë̢¦ÎÜ}mń `,Q›ÇŻ€"Fvź_#)ĆňE-ÎfďyŕJSj”ĽŚľË/JľžÄ'Ö¸?Ë°As\{ů4/ÇĐÉéóÓW§oČ…ô[0ĎaMe•ćNÁ+đüŐK[Vâ~ Z6‹«ěm]Á(ôçÇZüŔ+~›Ńuô"$Ůw°·GéAŚĘ@ÂăK¨żŹ„Ţă)@&Ŕ ćJ¸ÁŮs•!P N#ęJrÉnđÎó‡ŘĽ¨{.pŽşřŢâáU>Ý; ŹsWĐ$G¬ľ#¬°ź)}f”đ-¦0Ö°Ę+Ĺf0ĂËAÔ˘D#*Śé4›v1#ŤŤř¨đŻ ţu–-ľ>3ü}Ó\şoÔ#4tç@-Ť€±#Żn¸w}Ť}#)ÇV÷j€>-˘@«zOUÁi}‘c¬®ÍyÝX!ç›T·Ýiöšł÷ţOJđóŢéÚýľ©pď{8;Lż™®'Úr”],//Qă#4tĂjP^Łťum]”qßá'«†¶i(ôĆHër^ë˘ĘŇŞXjŤćä=űć5°“ggé—ÇŻ^[ČŁ•˙A¤q˝‡îŤľÜ y»ĽĘoXß»3 =༥íůĺm•Ö7Ţ=Č•Ú‹BĚĄd;kßjÎqŽQîĚäě'—UŕŔ†ĺÔ""Ő‡Ôl]Ţ”G“‚QU†#4Ő7´/HŐRGEuTůâî:Ęb¸©„ŃVĂŢ<ß#Â|2ß+–ó uꕵµÔ4ĎÉ-<ěú)Ľ«Ňfţ•®ëK·ŇfŹţ•j÷Jy’NVxéF"Ň:~Ć ®#(âyů§ r.ü"J;˛łąő#4cFu‰i˘Q˘"ÖĎ6˛[#*ůĆł5Ýݑ؇8$u-»ÜuçĂÁôaĐÖ˙ÚTݬôŤ{܇&“š®^¦S^ąüĹŮtwŠ~°ă—kx`Ç1¨šT¬o˛4ůµ°ĘN9}ărň¶yçůŚÖ=)©»#*ąkş¨»k+ZĐ6+ţÖŇ9č=˝wžt{‹Ł®čB˙ěî- i2‚}î,Ú»ČnÔë5»Ś}Ý|ŢáqÖ5nDđ`ë]öşŰ\ţ ćßĂí;ú÷¬ĘwöféfZÓ{¸ L+ĚËć6P6$;T#4Źf,Ev™Úžg@÷†ń‡€ć·|ŰŰ*°N1«ôv€Çgo_Ľdtc/ĽtçΚĺü¦›d~hŠÝŮ[‚rжJQ´·nŤJąĆš·éŘý#4˝mÂŤi¦Óť†-}a,ťYKKpö.Žť·(ۧ÷hRVd;ł‡B† žÁ~ţ~#)üł7_ś˛·¸\˘ö:Ďr#—wMI‹ÝŇů3IDÄĐXé®Ë-RëS‚ÖĹűz(PĆOä$Nľůúłă7ééçéë7§Ďá¬:}Óâ#)oüVńAT»®«™˙ĂyDi˘•eÔłç鉔žžĽ:|Ľ"†Ywń’a+(˛‘Dëžźž|ţ×B@"ď”íŃ·qt{ů˘¦ n˘ŽÎµç¤‰üěłđn6Jˇ4P—á9őY…:÷P)üę¦7.–A_˘‹îkűÄBÂ7ýRĐęÍÉs±ˇgŹBR†Á_ÎŃ$5‹Ńaż Wjű#)“›“‰ż(‹KŻźě>vżÂ«cdiţÔ® †ßŔZD(”%:Ů}ŤŤ®M»Y·F_èë41µD©Ęb˛µ2oŤŇ ËÂĘ›8«Hr]\oşä^‡:Ň÷¬)2ń;Ňb*˝öŞI5Í’D@ű±ă)G#Ô›h$NŞÉ÷˘•HM!}“áÍČ#4HuyÜ°Î~Sjw:X·Wh=I˛š6ŐE1Ť\ř†r#)$^řéĆž¶–®Ę‡Çn!’]ě—”ÖťSÓ#ďÄÚŠµ×ŢŮ$kß#4ĺŔ$Ýä(qŞ&ňćcC©ŃĹ°·(¸¶ěő#4Ź5dŁ‹p˛îřxôbP¤˘pHŹLčrxůČŠňôŕşjśřÓČ5"ůו#YIp&š»B{žř'´řlN!“S3_Äh’ŤĽ ÖV.ÂaâÝ°l«HŁä›6-–>U”C2ĆVMźĽ¸Lµ>›˛ř"ĺő‰®uŤ#)ś˝—2-75"Ůsâ“0E#4sBŁ´8çqŞ7ß"g&¨ńž‹š3mÜĎŠ¬FjbĹŠ©Ô÷lţË>NHUë“OyŃŤP÷¸ŤQ4ęű •qşŽ±Ňěn}N}F×Y"mK´™ň.‚W?ńÓäŔq“šFaSR‘ŠwËäo$»<:Áĺщ1ŹöTAyŹ3ö‡lŽJ)§†üůäŤ*§ôšxµ»bś·>·Ť<Ă˝V›cÔMýtż^ŃyPPD@Ľ5xą›ą`F»Íµmqî¬mŹł9Ů=ŇxvŚ×Ż—Ő]UJ ľbHîX*ż;ĐĽţµĹ•…-#4T:l,tţ'ë°Ŕń,«~®řâ˙|üřé“şţÇ“Ă'żčü;čóĹ-şđĎËÍęhi‰ž©ý_Â_G~ž˙ĺ×I˙ÁďŁwÝä]7ěÁÓoĐ:Ł÷µŞgÉ˝Ć'łşb怯íÎM€łKŐ]/Ł‡ÉT;Śő’ĆK!蔲îTy+a?$|A.Áj=ŘľźîőĆÇN$yß7ľÁ¦Ë—żNŘ^ˇ—Ő!—’x—ĐfŻć‘‰Č«”<›Ž6úżT™ç㓦x÷Î'&Ţáq“CőÓ]šŘ»#*ËQÎľýnľÍäűůöjŐoď„«¸áŹyY•Rv?şĂG¶Ž“Ť·eBs'ˇCFÉśÍ+/Ä´iŮŞŁ*!‰3ŕ÷Ţóţ˝śŇ×(;ÔÓZďńřÂąm%2ĐšŐř8‘hY¦Ítg"ŻĎžB#*ň@yFvţs´k§ˇu|÷ű01(¬ââ`+oôŘßŃ#*¦ň¶âžĎAń¤í¶{”ˇw>;ÇçŮ#*şŚ±»_deöčz6ŽŁń›«C'hwu1µAägYq™Ť8ú‚«ż/X3ÎÎvúnÚh+€ĘdŤy‘Ň0‰dŔ€]xxôFY¶Ŕ‡#ß8ÂjsČm5ř:1SşáȤôśiŠ#*}ÝK‹RŚ8ÉáÇŔLˇ#*hÍ1Śś©ľQPŢ—ńmB#°s#4qŹGóë{]#4ť÷RRß5ŕ2c"˛q)úˢ'ÇôÓoóÉ.ÄóÉW3ÎoÔŮ#4Ă©Äú%ԵǢîwîft—áxë_ăýń'Ŕ}>ě°+S§sďR¨&ŞU^«Wĺ˝ě'ŔĎé(Mݲű!X:µśOţúŻé)ł°!›Î‡•Č¨»\‘ţx=kM*Ě‚v÷%»sŤčđ|Ç=ŃŁcř`¶Ů€=D»Épą@ ¸ŕ8qÄeŹŕM+Ťľnm nÁHjřŠÍµŐł[@'·ŇVuĺääé'ŢĐřôęZoľ—2“ť-Ú7X— O[ęGŻAkŹKÚyM˛ÔˇOé9~“ń¬¸ś#)zŽL2 +W!ŇśHG”Ë9†m„sěZćčőV¦#*úšMş;ĺ»9ęD˘‡*Áóë>;bv]=˙›ř•˛Ý‹k]2EJżĄëőÜ”ab§WŐZ›ßş0fě^™žŢ…—HŮj8ĹËD|uä8ĽŁ~’ÁÚ/Ĺë _HM+DÓoR#)Ťť("Ś¸Ě.B}T#uęŤ"ť`Ň!#4ňbré·Îo®KęŇíz{Ęuî>Ó ”Ѥöľ{ŽČ%„bśIUs,có’HťBˇ«éZfý–r˙űěŢĘëź+üăňź'űO÷ëńź=yôôůĎż‰ýOÁ?ĆČD—o“±íÉ…Äđçäômú曓dżóőËł3@09č<óěěËăÉaçřOĎŹ_ż}yz’<ę<vňüř$?îś}őňőkxúmçě›çx…žü®óěě«ôŐł·Ço’˝Ę~}śěv#)8=)#)zyÜy~úőë—ŻŽÓ·Ç_żĆb)ÔřęUo”qX•äq{5éÂKŹ«Ël.ŻF—¨łu1A"$ôŕ©7’+“©JáwÎ$!١¬Kg3L@gˇFŇĺżďüÚ÷čS׺"4VŮPďeČľoB¬3î*i#~FY@Mj´öäôçnŻë»|µjˇIW€0Ѥ]iÝůjĺđ«Ă sb4Î=THBÚčňuřáühď ßÝížÓ?c>ĽG×GĎý4AăäŁÚdŇ;ZÇ4Xľ:>;1‰ß~cLÉ5ÇşÁŹßŕaPĆ?>{sÖ=ľŮŔšŇ”¤§icĹQŻś\ňeIôłÎi ©ś®Ăě&(ů-E’ËqĐ‚#*Ó$¤ŞYŕ+*T¨ŹNö9ř§a‡c‰îB÷)e¬Q$Ąj bČíŘ…Ôˡ`…ĂlƤţTؤhö~2%/{ňŽçmPż}FŚđJ#*…•{ýŚŃvč:*Ů79áÄĘ$7˘×#Wł,JÄ×+‡ŇdďžN›#*ɦTR'‡É ß$čˇILĆćŤ.çhť˘°XSvçČËfI}Vá‘d! UŻM4óMóDĆś#4˛Ý(l¸ä”0m|uYďTéP#*<D˝şbyF—ŘGww!áĂKř –y‰<ľvpÜ“útäŮËmDĹűQŻ*p^„řGŢčX¦7ŰG)Y=Ťµľ‰ÎoŽŹOЩ窂yJńťzŕóş`™Ď`řŇ“ŰN‰ÔÚŮBĂ–T÷ ä&C§thVäćuQLň”˘˛â›{Żr5(©ăł+Ŕ3ú BC»Ĺ•nÖÔŧTŠQűđç!Ů~ÓëĘ5%B#4ÔC—šę“ë›s™u˘µZ!7ú'n±„<iŮëdlsŬōrRLăś4ÓH˝bá†NM3s4”j3é„5[3ő)epěŢ ’u0.ďŤĆ'kAÜŤOÖ ˇ'…aÎŕ(IüááÓ…LuY˛řĘÉšGő3ů™ĺ<aŃąřö)/t’çľopQâWë/A@VE+~3ř’UrźěăM#)e\ŹŠÖ“9Ćăf1”C7¬kôU»ŰV¬’UO*‡I™ăQpÎí5·)߶:ĎŘ%+´ÂíR|zWéăv°í@ ¶wĘí`gŐqŻ©ÄD™˛văĆwsĽyěšIŔŰGĽç í©8¨.1t*Ú˙ű*rá8#*â’|*˛M<{X×ÚĐ]Rlń9t:ÓńtŤy€”ë;ʆÂR vż{8‡ČÇßZŔ–€)}+ÇŐ<ćy©ž•"SŇřZy żv¬#*9RHčÔź¤ą[;ó»ľaehL"+Z¨. $ ńŕwk7î7ZäkŢF;7[k“Ős‘i±$Hőü¶¦ qm¤1ÁdTÍ‹őŞOdr&îóqvŔ–÷ŰßvŤ’LJśĺa¶O%*Ý‘X˘Ç¤˘ÄµzÓŽÜí»Ňa~‡:ĘÖjivŤ«Bőä"N¤ yď#4cNMĘ•®ëAÎ;ść%ć5$SSwËô ^GÝ?ěÝ˝OŃ9˘÷úŢěmŁ#*Îp÷<řC°ĄűF·xk<™¦Si«ŐĎKŤ.úŮ2äć}ßý‘qŐŐS#š®‰0ěĂ"ÚČÄ’÷ĺdÄÖím§ż`č(Y$z\»!§Śď@K2Ŕ\Lgĺebâ*#…"ˇ˝—bĹH&j7bPˇső…0‰FŹ»sřGŤŢ_s ă÷;ôóŤz~kďÝĘőílş·L"…qö<ţđ‘~áčr´ü†ąşfĐ'łEŰ·š¶aë§ů%°°Č|z!Ą ;K-®ÉZ’<r&µąOî)8uOŻCŤĺˇşËLŕçÄ&ű#+źqµw¶î‡Ź(ťŘK+‘ö†ËŘ°4wŘúuîT#44î8ËŠbü#*öá"Ě‚# @…ŢDt˙›RÖGĆ8Ž†đ{ż‡?FmŤ©ĂmAż‡řűŁ,wxÄţhęµĎ$z#*\ż‰'§oľ~ö#4/±%ŕmý8ZičJaY„Ţĺ?—ěÉN”Ťö$/un{E÷˝fĽď7Jë·B“›ĽĚ*±TWĺŐ`cűńĎá}kdyW6PPŹ¶=öűś :Eb…©9[‘ę˝ŃfaN¨Ýq'JßkňKw@¶ęNđ+pÂ)ü𻩻Sţ νńń%!‹O§Ńż$ţŇ˝ ßÇÔí>áÇĐwŻđĘ:qúĆ)[$q!’C#4ź‰ţí1…Ný1ŕ~ľłł3=¤żýîÎNiţOxÍc"ä®oUGĂČ8:ÝMş›#) ď„î)wdîp®oxŢ”:s(ęĚ ĽBBŔi0™We€çP—T/K˘ŘI"~ÖKaiD# Ý‰Ş¦ťČŤäŚÓŻ$T‰'ĺ„a_HŠQ1„'S€6śďćč––wpź1TÉ™©zZUT¸ÂąĂŰöŢ‹]$î6Ý4¶‹űâ‡b¨ŘoßB1IÄÖIŰrŽn;‚>wĎŞ‰OÓĘž‹n¬2L†5ôŢ̀çŠúP™Ă”†m©„sś|ő˛řRç,‡$qÎb%+üCVť€¤t*€Öqoˇ_ńt#4źČŮ©ČĐ11´é®ő»©*V#)5Ń—k ·‹ÔlR–č„m ć=€éťQ 4DF[‘#*čË&›JF¤äÄü$:°Š&ŃüăűÁt2Ň>c}mo}¨ŁHo¸§ŞDö~Pŕľ×0Ć›Čä᧾ݖŕ[M/´ˇäS:rŹĘtč=†ŹÖ#)¬FMOîŇvśËŽIĺAšţ˙ě˝{CG˛7üţk}#4…7śŃAě8YÎŽłĆ OŰÇěîVŻPĐm5ÝÍwëÚ]=ąťgOĽYŁ™žľ_Ş«««~ĄŠ9¤pË1„GČçŞ@ĺN&:·qxiSŁëKK´†ÔíRv§†¶DPŠş÷ÎPEwQ`|âXKý¶ÇuFaNj3dg¦^É–‘ŻIĽÝlŃkoľTËñ;ýń µLM=ÚKÎe˘Q×@Úe|F±˛ľ˛üAęúĐŞćł]85Čă®I×HDf‚UlĂübţł˛˛<BŐȢ/#*ZŔQ¨Ĺ;e†Áů±AeüO¶Ę]Š[#*«sšHµc§EOň¦ŕ]ÓÍŇŤ×ń™¨vlůVSĂu¶„|f´G÷,>źŞŮ\Ő.=‚ÝIňP҉_ß/Ćců(!ďSć@^¨(”±+Őůmţp-QŐüĄç—•ś&ń{wÄ·ó˘~ë Fľl߻ܪč¶X±9ĐčŃÉřdţO"řHíŁőLZ¶hąFüçÎß5fCŁ#\.ýrWZę#):+›?’› tYS jřbšęĄl mzhŁ<oÓÖŇ?Ç^‚Ő‚üśĘĘZ“Ľ7CV3äťž+´ Ô(Ű*Ąđ[ÔÝ—oşĄ`–ľ0©ľÜa,ćĄ!¤{ˇ4Iµ‘˛P3,N>jyŚŞŻĺą!.çĺ+Ž<ě6źĽ,ŚK·I#*@ß5c„±'A+'űm‚Č÷QקĄŮ˘»8r\t˛ĺt8č#*.ejL5*Ł1eąŽ‹;ł)ȱ°'Ţg.‡ aľý#4a¶—_ůWĽ„A3WŇĎeNí×Q"ÜäAlůă–íqŃ.R%`·vÜ Zőřąĺů5§¬ä.Ľ5ÚE·)î4—Ěč“wmŘKĺŢ}3™żGɆm…zšôr6SĘt–]S1ˇv…e•fc‚ݦÉćh‘Ďq0vCäłęnbH“ϢMA’Ł8›˝KôĐŹÜqG+ĎZ]˛őqO|”jeď]Wëż{”HR#*¬\a—`*!]…¨«čjGŻ)ÝF-uĽW%»cÄâR/éčkljZŞ*N쯟\ Ž”Óú8ŐO•`î(ś}łC`rO˙äZô'™Ž!§UĺÚ«JŻzALÇAćß-aşŹP!űÝ”aĺŕ×7ŘJĺ€Ű(‰äŁÂ1—Ď”›ŰwWřg·yQĽ`ăÓi¸ČkďVŞŠĺ1“iľ~ľCZŕ%÷ĺçîá#).F7#)ÇĐÔó3NŤc—Ů >p4xŮya¸öV 3’ öäĘŚşCŞXj#<€…ňw;ý´ĺńňÔ^Ý„·!€5!m`aý2řÓuz¶(€uŞę˙ŕÚö:‰ĐäpŘ1Ö©f„}ví9“jú[¦nőh‘¬ śtsôÔ¬±VýĆ4!amŔ.#*ąđíP0ZŞ#)ć©›š;8VCŇŤ4Ł“85_űŘ(Na?€¤pEBF¬Lj`ŤJLĐÝ}UÚ‘qsKíĹš'Çz\Ć(áj”ŔT&83˘EnSZ+cšj6-`$ŮUžŐýępŤeRő}±qť,©ÝČ*ęú˛@U©O”g©–ô˝ËÁ°Orś<•HŐËË_ťbÁĺŁc$×ó«-tÚ#)ż$#níŁ¤¤§4ëŢřÁh˘ÄqŤÜnŹp·‰Ńa~Đ©¤ł˙l.Ćâ0˘OE˘·ťwWÁđwĄĆŢ9S«GŰ™sÝo°e¬ŻŠ#K]pÓ…}<z©ÂŘ[’#cĚĐČ^¶ĘÝ&aőx^®źÁ©wćÁ)ńś’žŇGQre;žÁbvTÓf·Z«¶ć3ŘÔ‹ÓyęĐM˘3™şr»CHaîě!¤¸Wĺ]Ę‘ěá‡,Cë*s7ŐŃiÁi›ëÍ™<aV'I˝CcŻëŃ›s0íjJFquG‹UI8s>ĺnBŇÜÍ”ÓóFű5ř€÷Ędîš9íŮ’02„Ĺ#*şguAÂ#>—ÇŰŞ+NB ˝íUqÎtMh“=j–i–ďV„ńiNDäő«ŕ1†Ń˙vCŃ”ęNEŹ:ŢÜŽ’h9ÂqFů\´!ó—`= ¸ű‹ąŕŻúüHÉ&Ď4iH#4˙Čl÷7:ř¶n€ÄbFşKŢŚ‹9µ¨™ďčŐ¬"Ď_·Ý-«m2fŹĺŢ/äÍÁFăW’îÜ•t[Ż•Ă´ň´ŐPY9n¶Ő´JÉmâ8—ÖŚŘŁ¤ŤD¶uýâÖďî–T|śwOi.ă0Vx@XŃN,¬”Ť7ŚŻw2PSi¨#)ôhž/Ę#*soDí—RÇ*\ťňÄa6©ä«Sk}đ€z ¤˛ö=ňvÉXÜ/°ÂóQ#)~NńŹS€^65@C¸1ń„!Üć/ęvř#41×řWÉš*’ÉYy:›LłŮü¶ĺŘ!ťHPN/Cî f:őđ:QĽş”gÉ~«¦Îeşl—”)HÉçw|yjaĽĽ‰ăGyÔ]H_D@’°Ěws‰ź™ľn§¶Ś}<8=ĺ»=LôO4ŘŘN\ÂGóťrĘ4%ľKô'V:`óúô'Ť41w’ů¶‹ůÄ„·Fö|Ú-W˘K°¸¬ôĺěTë†=ÓŤ˙¸2@|>çâńAöµey%tęiěĆŘ/\Ť]Ľš™CĆńÝŮâZ6ţŤĎ°Z=ZP=â4PEŁŐKú=ďuşß;ŽÎŁS„:ţčXg/ŢýŚĎOn6âáËž˙ĹŹŔŁ>˙ô±2C[ű6)gŃßZ‡ď÷ţuôŐQ|ňçŤöă/>¦ť.0CADĚ:s —ĎON8÷ţd8Ä‚?>ůňĹY>Ç÷ÚJá3î‡Ď€íäÇX!Ř”1«µY.µP‘ŤŚE—ó™ŹÂMłE0Đ4].Rzv0¨AÇŞNd·ĄµŹ×Tw"¸qŘÂDŁVH¬….Ä|»Ćx #1‚вÖóµFA·“JŹ¶!_T6&ÔDś‹:Ĺ;c.ŠĆ–3ku¸'}g׷иËŘ÷QŻ5ŇdŃBŰ°˝trq#*vń&łB4¨apľL]\ę‘^iuMRÔ!¬üeŽżł›–M§)ľH˝‰Jˇ^ âĐ_˘“1ěk©<ÎÔ4‚Éé,!1’PŠ)T#)RŢwń"žrW)ĹZk®U¨#4 ˝iÜtű Ďę”˝Q·p#*`i¬ŞlŐżHÜ}°Ż+QžÇp»*EsC Ř9ČclőqB©mob„čž=5šžňpýqŻ<´I&ĄC‚é>ŠMnvLaź8$©{¤tcQHę”Ę]?ŤĽąččx÷É©BßĎńÎŤ#)á/śĹĽ”Š@iů¨bT±dÖ¸Zź%Íő<F·™4©cŹW]»/4ďl9E’LDÝч^˘Ăű§čwMSĐ5'¤¬IYKŃJZˇÚ¬§âVY8a0Ž/Bß\Ą‰…±Ö¦Ĺkë: ĚŢ& •ľ¶ľÎU\[oE *2śĚE_żÇĆ·8ĹGÝš^ZŤ°N›ABéˇ)ńş[ÓS\g6żÁ$ĚÉeŤn°b(Ě&6•µÝíbS8ź=?É7˛©QTű}Ţ:ţŰÇMhöřdvr~r}ú/Ú7ⵚmOęá6>…QňűÁ(‹ŚdÔŁý/Ý4ĚQ0XďH{+¨5ŤśT(č´€Ť[€c&Ihˇq#4ź˝IäÇuřXµÂ#*Ű€»GąÝdă‚™ň^Řđ؇Eß‘.ŞX>ŞJEHä(ć=i»§P…Ý®¶xKdzůn_đđĄÉKő^W±ŮuĆřn·«ŘîĽßUnxßńVo\«÷Ľ{¦Ţő*Ą}ďţ_¸óyľ'ŘńÂ#*ĎgőŽW·ĺéƶ(‘üewżăÓ¸´ýŮv—6@?_«v@.1I´Tjš‹P`ë#4UnB§č@pfř=š¦ĂάçÚ}@ÎŹ7wNúÝć. Ű"~o0>>¦^öD˘KŰEdôˇ)OŁT#*NŮűmRĎúîÓk¸®~ł…lîµÝÂ_·á6<ŢÔ#*LIćŐ9Ž!şâx€‡w"ýčŹQü|«)‡' {^ö˙¬7CEqoé0RŐ:NÁŞeßřÎ`ěŚ/-ş×cÇ”ÜÎ#)€e™ČWÖFÚg˙Ź|‰ş!ź€źgĹËX#*Î Ižő©$§ čk =ľŔRµţ#4v¤:[Ń,É9CňĄ%®)4bÔĆÝ0jĹaŢ÷zEĽ€ű ¦Š»IW˙Ęy™üd6Ďúî;ń=H×ęiš…y4ĎĽd›…`SUžÍµ(I뤪B>Ú^$ *TH8‡E4™Ý˛ŃdÚco=4qŘŹEjIPKâqZÓ’(J‹]E‰SŔ¦˘ĎâzÁ˘]üR°Cćh—ý0łŇ.#WRfŃ.ýŔ^=ďâßäÇâúÄĐ@9c!¬ąbáďˇÇ·čQxz˙ŻßÝ·Ţ0O ‡4Xą»č9‰Žc$BÓ1`:X?î3˛ůćrŢu´äZĂE‡Žµń±źË Xgőż&ŃăËEw·h›G,ŚĚ!nÂ`;_Űë˝ ¶Ôîť*LtůSóÝ~.iÔ4HR2-…•ÄüľěćÉ@ÍýŔa6ęN/Q°»ęŽ`ĽůŰxIá_ĂůDčˇů‚s,Ŕ ÝÁÜĘĺFÍú%”gÚ YĹĎS-HŽJ˝ż/#4…+ČfNŃŘç+‡şĺ<@ĚBÖ‹öşcäš0[ý!{Xhë\;•ëY6Ě ëÂâřŠ•€IţoŔ˙”;Ţ_ô˙/Űź}¶Uô˙˛˝˝ý˙ó÷€˙éP$TČŚSHuřŐD†T^qőNY\ŠvŐ«ŮA¶Ş›Šl|K|©Î^‡Ő`2[ÚkIHaT40´Ę–q™ŁĚ–‰6ÍjőrîĐaô˛‡&‚ÇŰ °„ŢĽ3?kˇŢE¶ěuF!>Ţ9#*ëĽQ‘Š>@Ü]>t°*"뎱±0:%|řÓĽďđŇtŔ¤MĚ#KŢĄylmO”‡–,˝Yń&ĄÁeĆó>hN᳎e`8Ż´&§řżf[ăHŹ VuĆ+Í—sÔö)”!Ăw‹öŞć5Ż"üzĄ§˘ëž•ű‰”ýV,„+b8}ťRśýOŽÜţGč˙Îö ůEúź?Đ˙ßýżĚşÓżČgV#ŕçż/˛E¦¸Ď˙…/É;•Ł·†h‹PUŁ¤˙UJÚPµłň÷0ÓG•ąňi$ŚÚ˘ż±ŕNCę#;Sw‰#)0–ĘKP*żţ5S,ŕ)ŕÜĹľqž©,ş©Ť§Aŕç„ÉĄU}Â8Đ’1©'S“8®GئÓs…„¶ÝřęĹ»ôÓFŘ#*)_u0ŚŻ] r\±cx¶>źÇ÷vôĺ#łsÓúr…‡¶•U=‹¸ĘĆ‚’Óˇ;ۇ§Ő·uŻß‘ďQAĂ|ś\TÜcqŁÍł"$‹(fenůĽä]»„=Á<śßňÎTćG$ţú}+_Ś`Däě{‰ŞˇxÎ9˘§ę=>źvo`ÓńÝYť¸†“ĂT)ţqg—ĘŻÎć/»pÚ·¶-o4sÇĚ@ÍY [%É°-Ř=ů|2µĚYřU]zbÍZ®˘¤üg€ó‚”y6jë‰1nÔä;YĚŰJ\–¦'ť9č#4#4ä:ä #*ýđˇP-ţńă *Ľ>/KVžݟţ¬Á““ödZŹ×gáŢě#4µx`®ţˇ› čě#)ęëBÄ®™m•>XÍŇäÁŚÚkŽuzJď––'=J…»3PŮpĄ oHwav1)â1ŠÓ°ź˛îľj<#ŔńIC:ď=ÚNňů¦Vż.Â`ŚâÝa6ĎB!uXn˘[±)9-†ä+âJ«ž© ů ěQw¬Ś“™ÁY>Ă˝BŕńÍć·a˘YvMB±:Ýŕpaéj’iŻ#4¨đęWľő5_ěÚÝZI|1&9ť‰˝™)v|…`ÉŤ‰;lip\CĆwg8JÉŰwôs;CĂŽoá°IFJcÉÉj›Ą»ei(ĄÍ"€ R{ŹYŤÉµ®hIz’bÖ×íŁtM,ŐÜLiÜeľčA/ýµ"]nŽŐ<Ň@UŘRęFśL¤ăAߢŕAŃi‡6ťk$kÖö°ç'sĆo]gôZŃóŽőŠWg™xiXÉɸé,Ł-&šř4Q';ă§Á<o>.ŕ<ţ‚@I°\-±Úp8z)ťŹn#ˇAYÁ¦ĘŘOá]mdÎľ±ź"nËcX3JËĹđO>®)Â/f˝v‚›Đfâ:™±Łhę© `2RřěuŮ—Ec›:Ťö`ęn÷‹dUĺÇË8`űÁ2ĹĽmÖ5#úĺlr•áť!‘E7®ÍÉŘĂ}}J÷ň,§AzŘň48ÖëHŘ/đWp¨x‡˝Ń±î}ăŃŞ¦\lÓ;˘Ó-EŘHŚÂ¨űżŞi˛tŞZŤÔiC^şFP ?J"ĎúěŔPÚüȉ‹Âî#H˝C&ş?ňŤtŇ ŐMÎâ‚âzWşővÁ*ZV«ź›Źk#*s,öaR>_\Íś#*O=ÓvÚń±±żRť4ÓJ7ŤM]™\ąŮéě®Čđă?Fr gf·ĚĹăN´´v©Ú6MâĘŘŕÜgú•‡ěîYxŹ9čgŕŮq”Ę!oEÝŮUÎ#4ü2ë‡3Źî™g·ťĹř|–e˙ČDĐYV’˘ŐZE†<ˇ(‚5× •äšÖřGe·ly§ă±O«<Ň.kćÝ’ćLp©Ú;[˘°C>ąIföç2y#*şÝÍZÎAYKţÂQ#4Ém#CĚ{"'ąž‰"…”‘”Ů…K ;2js•™é]jSŢ1¬xéI~Č]Te2u$;H#)‰‘µîU'ëV5żr0‡î›ő¨Ă˛‰˘Î#*rU8ăíÚ7ÓíoWďËÓlÇ{‡Ě1ÔđřěąâNuüź4±Ęźţt\Tžčî—}Tí}{€‡».Řđ]ŕx"SţDOuń7/ž-+Ź–!ĐV ąĐÚh˙n¸}OĐÍ\źú~. D\WcĄČß“ üNK]ĚůŚýɬsŮEyÜĚ“_#*¦ĺěĹłbX¬UłŽ„„ęş:+…˝+Ż°˛ĹyćV#4r"cDCx¨•yî›]>Ú1Š%ó5m¬ĺô€öePgÔw#˙׿GíÚ(ŤÄ!›Ťµ ˘Ă®/\<ßnZěŐĚÂpÔőŐŁŞŽ-žřÂBî‘Ąt.M‰ŔËAqľk§qm†ây·ě¤¶Ž™-ĐCJ\ÄReď»ĆË1ě¨B”đPdÎI!ŔéWÇL«»LvÜDrrŘ€NlćňËç©“~ę”Ö~Ädó”űž»v«ö6Gˇ‡6CµŰ-k’ŘŞVUĚřűb!‡Ţ·ŰX5WWLŐ•‚'QŤHrň+ŘŹvIšSŘdŮľş†0z>ŰŞî ^őŃs˘Ţß”áŕť¬4w†ĺˇu6°n×ŔXÎE’H> sčQ}P«Č«žĹľß±éŽSSíˇ©pfrś¬´¦pP2‹R#Řsö"uIkW\Ť«ë®BËŨʼnŻb×câŽqžn R¶Ův($l#*DµóuMµľ*(Żaé¸mn°Ż§ëxŁ˛JřĄŘő™jąă%Eľ-Ű»Ť•r1‡<Ô»í#*”x1îYjoËŻž_xľÓ?ŇŢłdŇ1rÜŕeBjčéG„mg‹‹ŐKŕéhÖRAY=mô¬ŞÍßsţWś0ŰŠ¨ŚÜ×I#M±ńÄţ 8Ä«WŰO\Łźp~*šßŔg+\I·×{Ŕ‚(Ě~i±LDĘ+dňi_„‚ǧn]Čëvź´‚Ń@#*Ö™f#*I6\ö’…ź±ZĶSJŇS«gCrÉÔťčŮź©)zެÔ,#FŐ*¬(qÍÍ—µ¦ÁÉ +”’Ś¸bČdľ€Ý˙óá?]˙w¨ L×_GěýŻOwĘú_;ź>ű ˙ő{Đ˙š }Nč5ä6ŻWG˛šHňŁµßLúYăëýż|ż˙ţNKéÖ=7žmm5ţüâ•®í´·ÚŰŰkö~˙űěţáłógçg[xş˝ő‡íł§xöěěŮΧçŰźf˝';çÝĎ>Ňýü,ë5^|yîl5^~ůęŕő~µˇěé w5Ě6×óÍő>üýDÜćíé°;ÇCq˘%AÜxńîÝ›ßBzyZżH˘ĆŃŰwiĽrÔxűÝQŠî‘ŁĆź÷ŢĽ;ępá7yo6B°¸Áčfh_Ź”T!ą>Bz}Ä®—GąŢîčË7RŕÉ0sÁŔď^Ŕ᤿f|}~xôkµŤűďߧ›ŰŤ/ß}#*[¦ş`‡M…„(肬?‘Ş ÷F‚ú˛Ž›˝űUNަ]mô9ťj#4+ÄX¶4yăQoľL…f…ˇmr!.©˝AË|¸†×ŠÝË1|…_xIżÂ+üťNáÉ&ę%‘4$°±·PŠ84\Ť]łń~+`ĐâF“]]fM©?÷=Ţ#*“SvTdNnźósçCÝŐŠúÚŐNÎfxVkmQď4p¤ÂNçVWy?×…DÍIąUl7ćÄ˝UxW÷ĽNđŐ''ą˛*j]}C4‰âôc›‘ŞĂ&j'P]CnčŹTĽ”#4†š—L§kŐ'Š*˘Rßďâ¸Ç¤…HHzÝI„ł“€@§-ÖS—ŮÇbłZł~hС^;†Ü¬˘˘KúO]ńž=źë3ZVĘă=ţč-šČ)ĄÇ*&‘1z?,éeIT“ě>ľ&Üi€dx§ŇáÄ-ţŃŰëáŤ>¨ďřᤫi0HćxçyZíąśŚ=~WŹËç—ş’C;řĐ~îeŤ„F Ęcëűj ×ĆDm±ĘmÍL“„ůo,§‡•¨«•óH´pvBÇÖhŻ“ ůąžÉÎUŹÎűŔ^Ěł‚Ľq–ˇkЬu¬îСĺ{Kw šz\©S'ţĎ:šŽ-Ń@·<%ŰF;×ĚńŞiŹYÓ^U!«ĹăŻ/ÖdV¬†Ţ„9!§‹j„ănůŻAůAŃĐKĽˇ°#*0bĽ†á‹¬d‡I~r»±#˛!®\>u‰üů·Źs/ś×X×ŘjŔęPłçűľś:ű©†{ŕ<ŠŽšđ“°.aô~b9Żóę»7©<oDťhöTç÷LÍç˝Ű2OëČÉĆK®ű#41[Ôč즂Ëč:%V<%ÄfGî–@Ń(Ý„rÎ8Ś"6ă#*#4;k¦ ‰2ŠV4ű.r#ëŔôúOĐ‚„Ič«!‰0j$ˇĄřA{5g}=ké”›Ć~ĺ®”Ö-¦)e“TŽBmďBşŞÎ•Ţť#Ö˛ëÜU˝kÁŮ…ëíXÉĎBźąeTčőG`K:ÚÝŽZ†'ĺ ç ¦_AVEµ.·Ŕ˝ţJp;RĎ®˝™45SVŘÉh•:O•¶j…ŮW6´ĺýś¦ĚŞ9S5ij۶άz¤*ȆôCGˇSřşţ;l\HĶžĂf›ÍHMó«ďIXr„BYh%V›:ł{oßędž¨5zšĆ #4Y˙|4Gb–1r=ď°p¨ěě}ű˛ó#4˝J9´'Śš˘§ltyČCŤ‹ó8#ŹđđĂ™#):há7ĄXq×F&{ŚÜ_˙ťOě6ŻnRÄuˇC’îďĺf;Ž(_śÉ]‘VĆŰácA‘8M+ZbCW„tŞ5eńnĎÍ;»—ÖΡóúxbâë‡ÓÔ׬ýîŕÝľKg‡ędřˇ:Y0ŘNyĆ´Vä´Ś#4®čI¬ďńÖiĽę öŽ9ÂÔŁä`]Râá©;»ŕĂ#*6#)˝ocű|íËë)‚¬?őG’ñKzJç÷f¦_DwÉrz…'cSŽöS1†'٨ČTĚŞLa…1źU”°Ô|oř’dW+Ř'b{7ý°ĐÂúÂçÔ¬2–ş§Ŕ?’ŰA€…Fv0ęg¸9wş°„Š˘“8T¶@/hĽ,ëĎ–ŞâÂk ˇ>¨Ň˝hvóf¶jíSŽ1Ń<y1ËXLNćć1ZÁëŃ]#)O*zkçű#*.Pť‡›×Ň&%r˝Š77XąBu°lÂb@{™CË‹8ušŁĂ™Ş“uGp¨„ŮÍ«źŰŃný(ÍęÔ4ľć`·Ăż_¦9lÍaŮÔËđP۬FMsđ“mNŃł JŞđÚJýméđßlî&8˝y9śfć+ĂĎE ‹˙âߎXÎje°ÜMשuxcőFoŐE}†ş]v›řţĄđ*Şű˘{Ĺ{Áăm*-‡ŹR^Í6eůĄĺá(úşPt¦Č…śößżż;§"15 uYZfţEf#*T€©fÖgc(G,ä6¤c· ÜeBy±sÜ»ô»^ń“#´ÎWY4d9XŤÇŤµ÷\ŠĽP$í˘6žâÔ 5÷á#ş#4[—«đJ âŞÄˇxĎ:VľÚ#*CtěŢĆ›‰WoF xĹąSqäy÷ţŕÍQçŐ‹×ß˝ßďĽ~ű•˘ŠěMjâî힌×ó“14D*™Čň„“Ýą†Á)LÖR]/<ńi5±[5iCGŐk®ĺí#44ŠLŐÚeję0YŐ\öq÷1÷6ńśéµ˘Đľ™#*P˘:§J_ ˙ő|j’K•1µ3v’Mř˝Ö 8ě¶ĂŰLŁî.u€Ü–˛™Eĺűz¬ż.‘ÇÄh†*gfČÁj˛Ĺ8„ŽpqBÎɆ#)"Bňżîż~ýöĎî®$ÖkÍQ>Q«ď´b;•ÝEŰ׌ą›Âíw#GŔ®D”Cé2 ʆťĺ‰T‹ŇeYż˘L*oąls M×ă¬óĂ"ź#XH+JPÁM'Іů<Ý#4Ňęýk!˙ÇŃfäVB@ľIýŠ¸ľét6C·˝AyÇë(YSíîÚ:¤j1ŹB–(ľś¦‘^Çč>xÄL§mĆf|\d7§9C™×fˇ*§îG4'WDnËĄhrĺPŃY"…ŃügǦFbĘ'Yűéě(‚"„q΂;Yč‡üË#4;–ŐU·.ĹýÍUü|›¶a\ @'i´(ĄŠ•<y .x0\ë^k^y\;˝SëäÓ¬7čé˘J4î‚ů¬;VĚ.Ţ9äĹ€˘„Ŕ#;Tî‚Z#™ ąIý„ŽYy·»č·o89sáeLgý%×íÍ3u˙Č߯ńWŹüޞ޺Ë<×7´Źýc0eQ˘ Ýţ÷`ŠŰ)Ů^QíňÔş6h;%•ćµîk+=Ë<lř'Č R¸«ďc¨műqcĎÇ•Î~ÝÝî˙t]'#4—ý Ž”ĂΧʜ…ý4KĎĘE9a°«ä,9w& ś«“ď«…úÄgzžž—ű»8.çq®D.O'37ńDđO7ŁĄ[3Y;Şůa39ƧŤŞ%Ä<ŹÜ.Ŕ·ńě%ĺn«¤#)â8-CŐĄÁŤŹ˝„Xáô´Nţ=YűÍPŽSŮ`ąú]Tě)ŢĘJRK˘¨z>ŤoMp'EWQÔ˝€’űÝÝ?u:č}Ěß%¸Äl2Čżb#)R~sÚ9ňꆗ/ľáO"×ëž<gşpN·é.ŽŃÓ4úˇ{ÝŤôfź_o"ŹHLˇřÇĎÂŤ#*ô޸ŚÓ;<(<ž:Ý m®i9éSHOJ= ÚÖŢÁ0Cň5Qőź‹|Ů0%řë”N‡)O§C9¶…«ĚbáŘDČőCHÎqč}9¸rWöĺQî«;u0¦9ÜŇ(ĄÍÓśßě)Ł˛ăUĚ`K]]9ŽFŐnŽ°č6#4#5„©hDĎčë¦ěÝôřrÝőyJˇ-Ž#*l“ÉZüfŁXßťĄ‘´˝YOnřCFÔÔ˘¶ZŤÔ-«úŰ˙“úß{ú+Áޡ˙ýé“gĎžôżź|¶őéýď߉ţ7”´Ť'¨ ž_.€ĄJĐ S°@%bď)\W~JÖÉF⩱+ĘIy“ńnÉ„ç«lĚҨ„ĺE‡ŮśŃ/ńü“Ľ%Ń0}#Ť_QFÝ{±÷ő~çĺÁű4ę='’Ăď^˝:řK±Ş2·Ť7‡G/^żNa†ÖřnŇűá‹ď÷_v^˝?Ćq"úč#ăn|‚šóì{CHýMçA<b-pśŘ{őq¨Qďü‚z9ŹďŢAţť·oööÓ-~}ýâż˙#4čwďß˝Ý{‹UQŢŞľLTo8@ĘEڲΪ¨«[‚üâE‘hćÄ°đSDŕFý4â×úÎŔŽ<ĂPçeĄk[&éBĄkf)´?±Y᳨6ĽW٤÷(ńűŮT·?E8Č»O ŢňUTďť°A”Ž] đWr^s_Łř ‹č†|s–şAsę‹ÄSŰ"]HT4Ľu_Ľ@Ç'/kńIŰ7Á]Ą»¨Ž2ľ–;2ŻĄŚÓ„ąYkÂtţ“PšÓŮ]Ěí"óz"%zű™0/d‰¶'ň‹>ýú§GÂ5ă` ݸ!ŚĹYwVŠh?:¨hGgÔ×»Śvš¨¨6Ę>Ťý¤Ó^M›lű‘Ű˝F.ÝËG+Š ‹eŢëܲ»˘»ČŠ$ĄńJřB‰°[ô\/SĆÜÔÎ*ý2C·6c”ąJ„®»Í˝¦f˛ľ»Ů0ŇDšˇâú©jŘ#g+ôŢM+c;rŻůFЬŢ6ň°é*¤7–/úˇ˘“ém#)d\}ćg <±•ČŽŕm6¦¬o•Úi9úk•:ĂEo„Óí«łŰú#*Ł€v°‰˛ęRO.UăčZs#*vW¸Ö<Ěň9[8ŁÜ‹UUX=~üÉc”aŮÝ2a]ŐŠ—ş©DlEŐ¨IFŻo#)‡¦Ńt~»‹ú×Z#Ú„¤Q`FŞ%jöҸü#-H'ŞY/‘''ptüDüŽŻSÇ?´ÝSkiô3=LŽRńmŹ*<ÇŠˇ»9·›ËÍý8»©_ ;“Ĺ˝2ĹöÔ'±(E^ář¤'W¨»Ť†Ěő™#4ž’şľý(ZWëÚ™Q“ĽHGZˇ6ąÝžc[W|Ö˝6ţçiA§?źőŞşZéb‰_#)*S?ę^eféÚULÔ]aľw]ýT `Kg‘˝‰T˘[óȲCdĄPŽşŇĽFÓôínsŚč0üű˙`ń®%µr"–/ň>IPÍŰUDî`ä\fás+.^‡©T˛˘íAíŢśňąYŕ>x«“ľç Eű‹žÇëFdËYs[k‡ŮâEV«—ôsťŇţňőwűA#)_†ĹŐ°ŃťŠa6ěĽÉ¬39G¬ťęo㽦Ż«×Y÷úľCô®ë ÄV‰•«ÓŻ÷Ńđ\k0Ůtú–ĚÁęHf™}p{WÂŰc›×1Żě=h•d˝J™#4n‹×•˙öÄ+=Ţ*ă)I¸š]čüóóŮą¦dßśśŁ7Ł¤9%¬ľ€vx;ňV`X-o ć#)ĐÓxüĆţŮů¸‚e·¬‘6‡-•í`÷»ónp]ą%Ńě,ň=Ř*ö`˛˙ö•ńWdŐËi v›ţŠ‰Ź?ńÉ漞7[#ŢOâ(Á"‹5'l%łJ>ľNaˇţH.ź#V8ÔH9ű5Ě[[č#4}Ż;Z&b…rŰXůž:˛ëřŚ"^äĂ— Ö‘8Č%˛äeŕ˝RďXwr®[®ÓŚÖuL|R¬FAü“‹ n<ď~ň¬[=®+‡u鲿My G÷‚•=ÄłžôopÚoDíůhAżŹŇč†çż#‰dÝŇ'HuśäîÂă̢ˇq¦Ľs3?Ů…jTtťÜŚM!ůrë,}yşôÍz‰i"V1±%\T>ÝçůL©&Ć‹jaç±Ű>#*Ż#T=·OΓ€wś¸ađ{ÄŔyGŔC•@ZШUż·8ź#*ćęőlŇťőĹ-¦óPá&ďÔg+t“¦L»ń°Dý> #*ÇŔőĘŞ#*荛˛ŠřŢ=%—Ur|$ˇ8˛&‰;Käđvýů*‚…C㶗đ@/čJ›Ĺ@óŤC}'ľÚvň¦Ę‹Ö8D@›¸5Ęx-6Ęmß#B€¬ĽÍŰ^qKBę•Í*FŃ©ëLW^rÝz~ąşâ4çä#4HV±ÁţîŽÝaÇCq1t%ů,2+q·Z<‡ľÇďÂ.Ś!ö#)/S§ŽhďîŁLą;|îm:XČU0i…G$Ęh·Î$Öµ<·^|lʬ:vµŔ6Ďo‘źW·‘:ĎLĺ@VƆ·#4Íý\‚-D«qŤL˘ĄşóWílśv†÷PŰĂXµgA/¶Ť«sÇ#4ÁrşÄ ĆŽ®Ůż!L;ő˛mçń€Ňę8dQÓr-ŔßăÍýUż9xŤąő—¤d6čŁďú8ŢŔW^µe93Ů,‹¸—UąKŔŚE™©ł˝á"CÝNÍw°äuÓ#|2ŚÜ=Eb×Eb§Ő'ÍS˛$ĆśđZŘÚK6a—ÚťrÂ1@]jâŘśÍűe¶D1^śH˘˘Ô)ÄĹg·$,DIŮmťQ%8ôĂJŽv_8Ŕsóző…9}ş(«"éôE›%Fó‹@ű ŇŻ‰öea拉;fSGwďRF˘ĹŢeżUÚa˶R#)“hs–fçvýeBµ¨Ő»Ťv‰sÍ^śg˘Jĺ@ôqfS>±gőf“yň챚ÔbpďrvDZŠý0íĄíöc‰?ˇüĂĚÓµăőőő~˙řs#4ŹůúúNťţ—Ă;ü[[oŤ(žŮů<=Ď×[…ĆM{Ü>śa,™F˙;E{Śâ…!.jaIhÓ4ĚfŁµâMl7–ĹO”eĽ±ó_03óĽ#$ţń3Ő)ÍÓĎH#)#*§ ´…Ńrn77<ŢÜ&}§YÚŠŇč1EŰžG±h÷büX4¨EŃôp¬SHšpĄü’"§»ŚŇ>˘]vĺ(í#*2#4ęĂŘ^ZŻĐ" ÎÁ-!{‰0&ňW‘ĂMYÖĹČ,îĚ Ł®Č#4™)MŚ#42١Ś1WH·/ŠuŹH’ĄÇŕÔ)ŐZY¦Výˇ…jş Tś’|#*"çÄâm‘!mîę„Č”\yvŻŕ¤Çĺű±ÓFÁŮ…ą«Î…żÓŽSQÄŇôˇ»×a›Üî8¦śUůZ–1ÇXĹK%T2ŻŠCXˇl±A$ołŕOľGéoě0ś1ËB§›Í(°Y1Ĺ^.KÜśHŁ/×Ę~D¦M xÂnŚÓ>\„čżË†ĄËaE®h‡#4‡ŽĚ/ô&N+Ł)KżĐË]W¤ßRWŢaś¤ŃÔă*C.1:űr8Áě´Qđ«¦ĂkĆÖ`ńŔąŢ):d62]ťńęiV˝CşbveĚ›Ý!!Ő"ĘaG‰"¬]TßíĘŤĐEx¬SáB–VŰČÇ+dçDUz‰ąž—L ˝/4qßrV:vÖHí”w»ďČÉ@]đ´ř±…« +>Q€C®żµżTó-5˛$/Äß’©Eq«X-ĂiŃh„ÖCĎEŰř˘ZĹmI˘mă„™ÇF˛Ć,‘mžŁÁÚ6uu¦ź$Mź(]Őů…—ÄLŞÎ1˝ÉW#Ż=šFĎĄX±·“:Ś¸?´zó‹S‡"4JÓ ‰Dň¤Ę@4KÄDâÖU÷ٸŕ]IS%‹Ś¨Är845ÉwŰÇý÷>“.đKK(Q>š¶·ĆęÁU^¸{“TÉĄ¨0ÁîŘϤ]ýÖéˇdúT´É˙Čţ‚y`Ńaٶ…a>ťlŮíá4sɨăZÁů\ĎÉö#)®sm8Fá\󖽍#*žÂMfNDň7ĽÍ"ő=/ww—[ ž6zcsS{_-S´rŤ `UŐBâ•k±÷ç—HÂ|źĽôP^Ytł…WĚ}ŘpŃ©ŕř‹8J (oŞk*(TŐWÄ‹22U\¤QSšşb"đSÜ[NŽp%xÜ#*¸Ş(űć'Č ą¸k ŕyyţYo\á©Wö¤rë+jgťB˛®śW–Łm|8ţ(č]ă–ˇ˘MUcńŔUWw»Îü–#)[KŐ¦ĚŢ1,ŹűpHË(‰RÇ`ŰZ198Qńfu_Ó‚ ߪuXRĺť…HŔGŽ$¶Z•„D%6™l“¸^G÷#?şŽÎ–G"éÜ5)}®ţDňóŞ«Ł¨ÜÖ—'lN†°”‚Čǡ.NÇŕ凙.pś˝e×u1~%WDFśí—Ŕľ8•ÔŹÖ6}9>U•Ňşec˝ĚňyBďţt/'(üÄç jë<ë¬Ëň4Ň|°Ŕ(qo“”rsĄŔ¶š¬)«6FA˛čSq8ÂřúśE/Úű¦Ý=u7#đ¬Âaů]NĆEŘŕ®m-#*7řUÚdţwćć·Łá`|UjîŻÖÔű7ÓW-â`|Ă,~NŁ˙¤‡z©+¬~ě#śeçnŤ˘‘IŠwwłĹŠqŻ|µé¬K<›ĄŁ©NX|}ü)¦łżü“•: óĎhčq·”·©˘ç9Ż3ďĺo#*ßsÇľĺ†2Q†F!:MŔ} |Anü)LË•óŚÉ¬0wë˘E;oe¶™r+ÁĐóÔnĘŮBô<Ö»ňěćńMoŢ>{úTbŃäŃHřBÖÉ av˘Šĺ2y×C#)ęÁ5<ô®î€#*Ž˛¶–$4}}Ł9Ь|Ą©_„0&…jvZ¨űĆßô6±+ZîďlI+šűŁBÄP+:őQsŮ-âĆ=Ö©úOOn0qţyß•`¶&]#4U3N÷‡ŕöąĽ‘8Ý·äî=ŠíţBe uU™ĹĽG™lřZ^ŽéĽ&#)k¨µ‚ŔĹ žđeŐNó|C|éĺXAC®á‰Ô]i{d$ą×~NýŘŹvȨâšz€ą8ŞsÜ^©„µ™Oč`+ęÉv͸‚R^ć§Ä…Kśśzç®Č·q¨~$ †vŰ}ćVšô×ý®fž«bK•,ř!Rż‰łz#*"Â#)mö± ša-÷ŔálQ1Ú%5ňŽę.ű9YçţŇő–ܡSŻ†^,«::ťŔ´BŕräTnŤĄ@Rϸ¤¸2+'ŞűiÍt°YnúH6-ůUÜ‚ďW»ZS¶±ĂnŰş*O±ŚŐú»ôÇ˝°˘!Gx5eoś7íC˝0ň@\č 4÷ŽEí)+ľ7˘ě=küŞňqBBAŠéŕ7óą×â°Ů\Őµô•TŽz¨h.&ß|ćÁĨ‰íÖ űłÁµLôăíÓöA¦§¨8ťgSk~„1TSpzëo‘Áž_8Í“UcÁ IżçńóťO˙ŕŕ=!€UůrTxF““/NNś<zžş #*xĂyIćĽm,}§ĄĄę|=,;0őFy‹Ci¦Ž:dĂăíG\Eůđ o®´"=’Ě˝T•'G¨¬Ł_ŞŕÇĺĆAÖ‰Ů3Ľ1éĘInŻß*&~é˛M–¦÷)čŠIĹ8X<´‹ŢŹ·ą‹ľŁŠěü:íŁ›‡ń•‘‡÷ĹCĆŮ„ĄŞH-=e˝G‰ň1,Ô÷Ý##.®ęč’4™z3!zţqú-EPéŘ{61FX@sýł5ú2ĹÄžjżéÍq¦jÜRE$ůMÜ´ÍK,嬰fÂĎo&ó÷x]h•mä°Ř\źíjć„‚Éëbk‰ěuÂççěG]T0ÜÔ ž#*46,ľHŽPř]PóĘçŰNiZ×î¸@Čżvń•ďV¨·QWz„ú0;ĎSČĚ˝óÔâůŕ°ä+ľ„Ž#4*&“µR©˛7Ą‰6U®C†ÁGÚ;qpŐ¬ČY(͵qwQÚäVÇUě]sbývnű°sđíŰ—ű-;m‘EŢ×8Ć$şî2Ž#VH"Zşąx#4_S¬7ş(8ŰDś+ć&F`¸_±ń!ĚÜŚ×ĹŽ7ł†%w5ç¤_™Űiă®Ďôj§KĆŤ>·;ŕtä@.Őwó;[°Ő›ĐŃ:T5#4ŘlóŚŁ&Žźm•±ę;ş&c>Źß;g]ĆkęM;÷3·mČfŘ%gs›µičŃhűĂ]§Ą=Îyždř;#4FŃňeIWE¶b`Šú.,E9ˇťŤ÷"Á=Vń|â×°L¦˛Vli‘¤‹?±^wŐ«!QěŞgĚě®}÷¶ń@b¸Ůä.!ĎR•{Ą€ dm’ů(Ąźöţ›·űoŽ<¬p)¸u4X˙†Ň…Ćq‘ą)K›|2bz€¶J+β¦Ë#ë7QÝxvË›××M_ )Ĺ‘3â¶čúĎ·wK%Zd@é¸f‹jŘDđ> H0ÜYű\ŕžéĎ(lva”W,-ŤűÓ–Kyś˛ëÔŐť%TÜË#4NcQc™FĆ‘iôŇr2¦×ü6źg#ŹTŁÂé{ŕӄߡFxe©üw:I´úa¦Ň#)ţnrůş»wźÚKľoý–‘zďDŐ‡ťOŞy€Çŕ*Lߢ_Í#4ľŢ.=äc°%;óĐŚÓoĄŃĆhöxX#4VUâ`c´Ů«9ŽÝ)Ń|(AĐ[ˇÔL”h*ÔĽ“wĚÁ˝kŞ6™Í8@Ł_U°w™Ě:˘‰Ý:Źkp*ârä Ä˙#)´ě#*Ó¨Ť†šŹ›ŹŃ$şĂBŕëc±«FXő&aka#4âÉy#)ś˘ŢťĺC#4/p¦ľBç:e<®HÁ‘}ć :Ľ#)^!_1˙‘·+żLvż0Ö˙ÄBx@CŽ^IźÇ¸H´ęvÖY:/›—–ŁČž<Bţ=8ĽŢV>™Í3™ěU<dÓ€¨“X,ö#4ÉśQL:<¦X妪qr ‰)˘«l\o5tĚQOE<Č^J•m!eňHŃ/Ś‚'łĐŃ;*•F¦ü#¦“˝ńČf±› }wÜ™"˝3DzÂy%ĂîY6L5˛ÎţĂy6]1ű=(ę’`—táźM7Ďn7ń·yŢÍ/ŃU:5˝@Çyna`¤űlg¦+w2"%,/#41®¶«ÍfĂ•˝čŁ]<ćŮl좨-¬ÁČŤË–]ôgÁ4ÔöÍM®Í¨;·{Iw:]ăQµŮ*ş#4— ^Ý©”ĺÖAµ–ńÖąYX Ş©P;ý¤ú—%T1Wgęآęô#Â-·¦ě€ĆŻqŤ9^Á&ű" .C=Ň-W¦ĘŃUËóřóü*ÜÄŽ+ĹŔ˛Ë¦Š\ý€nĽŰöK4ąĄö䬕埜QťÔśý &D2.cĺÔ+Ę1›ň˝ŠĐ)ă¸Dxł$ü-ĹX¶Ç8Ül>G™ĎśĚ7!*9#)ň·CZ/µŇćĺ:v8ô©'Ż\cĆ»‘wÎäz˘ˇéµÇűÂxBn‰˙*ćž’$#,»>#Š(9ukaŰd*#49Ql!B]Çćy+ô 2Ó©ŽĄGko|^#4i€Ű“)ÖóŹ]tÂ,s4H*GŢjČ€™N3’_Ýő‘ú%,#4Pť,(Ś}XÝ7_żr?¦^ĺ;żKÚľ¶á•†Ú)âgŮŃöÇ×uŢ{ŕ®ämŚ~CfíWŔćÝţ׾˙y{çłťţó§Ow>ŕ?˙NđźgY2ź]D(x®mf€ćî8GôQĂŹŻdoŢţőÍžjٱ®Ł÷+ęÉ‘Ŕ ^’űÂćiřŽęLŇéÄęŮB|ÇiŮíđp6˝-Éš¬‡%ˇ;ą°$ KBŻuµ%‘;:ét:ťÚxýö+ń;]é–ÚF/nŢĂó\ś7×[˝í8_oýžđŰۡ@8äÝ˝éë·ß˝_•·ůŽ™˝»ţíîú!$Ä<‰&bG;'Dé?Łď÷Ł]ÜŽ“čË·Ż_F»ŃÉrűěxkű?·QĄňýľ#*zBa|#)‘Đ';$ľ•4ě †˝;xóŤůC§Ďćö÷ţúÂgöLň˙«ůCÄą•&Ĺ Á§ˇ_ě|ziÂĎĎ͇a”üŘp–ńit2Ł/ß°Ý$ŕć‹ń#)嵊jţXfĺsĺo1ě8‹î›ą+[7Ăá)M·#*ĘfĹDÄ»÷ňBőî‰ě«A&ěłč#ăVĺÎÎŇ”8Ú˙gŹôÖcEĚţbt¦˛1ŚG®;(0‰˛Q·§r1©·ô9·ÔgyĚŮť¦Ńő|{kO‹n®ÓT;M!ťôw€¤ŕWZܨ;y8»Ĺ` >ßjQY{ŇëtҵµµĆŁ÷‰Ĺ?hŹ1óßÍ ?żDn»wŮ)óvŁńh—3Üe4#*čĽ@;7‘špĚmâQă˘*Č.dŚ¤u¤Nhő†2GJ}b]$ąo4<˝!˘Sädfb‘úykr†Â[Ż* =ŹwmŻřşt+!›ë#sµRSnÜ!şŰ…ĺCgQëäf#Ţm¶ÚŹăö’ö·*@ÇÇ°×@Źµ„Z¶_Ń«Żą#UxÄs.Śß.Gt÷Ľ”=·&m鵑¦ř žŽX®×f×Ůp<yžj o^˝#*´äř”2Ją©ę`łĘťů·$rF|.omÇŚČŞ D”mI*R‚IôҶ†ÖŁR#*ĆlNfŃăH߬ď;˝•Ú±™)on[áGAĽşa8$,ÔŻ9TG##*ć®''ł~pßä•MXŹéSŽ'owşq˙côŇ_ăpL¦©-ΓբčáÎ4âx–•ˇťť ôâl#)‡<i«żzU? #4XBĘKé˘jNĂFŤČ%đ'#4îuV^pĹhOű.7˘4’)Śiű2“ăEţĚš“1C–šĎ3O62ďýÚ9™ŤčD&O¶#Îs<~F…Jó`pnq8Đ«©C<—»ĺĄjŔv"̬\đ޸#4:ĎŐ}2Çm[żŇ!“D`?®çůş,H?ďľăě“3â#)Š)HŞią¨rÁ%#*âş‚ĹúW?_đpXą2ŰĄ%)kÚ#*ž'¬RI[CšęF>$«žUMg©„–'I@hC\ˇz:–ÚĆ#4/ßĹ$#*f0J$ÍÝóVÄa|éXÇ?[E1ö¶Ó€¨ö¶Cu™Ţv#)yń ČŞ~wŘ˙ţí{šnK%ŰŔ Ë©K’4ź’yć;»-ɦ$śąShäN””!°Ĺw3±şxÔ Ř˝ť¸č öë|q»řɬőĹG'ăř_Ŕ%yrÜúć_íÇ_´F˙şü×0ŽqgJüţ·şÖ˝Ľ Hż®ŹB`*żkş7ßt<ThŕN´Ő€P”fwqĘ6sqĚ<_ä+Ľsäť•ĽW°Ł·+l1:¬%oÎĆó#)Ţű4ŮÉÂä˘fƇ"ű&ŚÚ2y7GµžÄŮW^oŽú˝+ŻŢŞ0ą°Pv7هěŮâÜ\4;ťäPÇ“Ä=“H^$€D-˘fó•ú hëý„ť|ĂĚ©Ę,vZ2(3Őfř“â·6ëĹÇş#)!’Üt»ÎŔ®dĹ{řsßŃeNˇë‚°›ťOŠ±‚°†3FBĎľďŔ»Cś+ÝÍ]XPŻÉ‰¸ş.Ä‘ĹüÔ};u/0ĂÉď—ýá,µěUĚahâ¦aËÓęX2íöűBŕ[݇ľr̲ňÍšr|ŤÎŃű—ű_~÷·,RŘ:C*<"‡U4Rh™\fKAKľµ|ÂŇ3ňHŞ.TÍÁUĂĽ3ĎŔý«ďĺŢ3m){3˝©öĚęú(--ăV#4EVőp¬m®îbüPב–Śd3߯Łl¤}KË€ÝD'¤řüůö2‘ÄešźÎś}›Ť&ł[©ĚÝcBý¤iaY‰^&SńżiŹAH›RüđSzň|–ąĘ?ĆO°wĂůjˇX¶{É kÁ¬‚Ą•]Çľ–Ĺ J2lr´iä»ó(bźčČ9#í—[.üŹTăDĆ?1ďśvÓá<śc ĂŠďB¦?>ě~@ä˙ä*ő“_Éäjů˙ÖÓí‚ü˙éöÓgä˙˙«ĺ˙µB~ň˝(nM¤¶>käĐţ9ś†„ô×p3 ÓâôÖ”ýNŢ뎓~‡ÍĘŰ˝ąbTQ;šXaqI>wĎrę‡Ń´NS‘V)ZŚŃ<:Ť>ţçË›đçŐë_ŇÓÁ›˝ÎáŃ.üĽ{qô5‡ußďu^íÂ_~=úę^áďŹÖ9媷ńŹV CŢu/łn¨ MZę×/á°µ‹¶}jîµ}ŠŞ{|7ş˘f6É–MąĘI˝Ş:‰$óµí|˝˙âĺţ{|Ćň\^¤XܵÜŰÚy#*Ś:'Ä'ßę×oľáüČYjď_yŹ=‚ťCçđčőÁ—ťo_Ľ—\9@ăąW9čëBr“8Húµ$Ĺ„îůń M_ĽyyđŢ÷A~ “´Ą]Á[‡‹ÉĂČsŚlć,Ƨ}éOn•´˘vŽíţ#)˙ľ€7XĆ"í“YHâ|ćóIŽx©@4ÎG|ÄAq<lÁ‡Gť·‡qšFÓA@˘ÉŮlLh^˘Á×^ď·‰µ§+xbjX±¸żÄĹ«¶Śâ!RŢľ1ˇ°÷Ăš?jFYÔdĹ‹»:gS\˘ÇĆÂŢ»*7LśăĎiŞEloh„ úó™,–ÜX! ÎI}WDÁ⏸W+Ł`NNýĐŢć"ë >2^mťˇlő]»Â,G$Eˇmś\u†c%š‹©ö±;˙öÖHfN=ăUŽBvéńŞŚNr(?ýDŹ©6±Úęy#A_’…^éaa#)äňnĹÄŚ±×'Ľ”7á¬uÍŞŚ}ÓćERś´ćăřŰőţß˙ßťý*€;ř˙O·?+ň˙Ož|đ˙ţ»á˙Ĺ÷9ĹgďĐřýĺkV žÝYłÂ\+ę΄b;Çza,Jެ#ĆF·+iôâ=J&(‚;s>ě^ä-ř@|cäA©(n•ň‰ÂŇăhÖËŁÓĆż÷úżčţ*J€wŻ˙'Ĺő˙éÖö‡ő˙{Đ˙ÎÝÝ|TlďÎî˝ÎŹ#Ép ąčő˘SYđ‡nÁÓş=äÓ,ÜÍÄÜ$X=óŮť1†˙¨”(‰P>ŠţM9©`ýŹ'ě^ő¦w˙§ŰĎ#4ë˙Ó'Ď>ě˙ż;ů#4hŤł âŮ°ŻÚ.S=šŇRTH#*˘± 7ĚQ‰dP$Éň6ĉú^}A-Ć)üű†‚ő6Č'ă_ž¸cýo?ýl§¸ţ·>Č˙§ë…ČßËöYÂIÓőž˛ĺ/ßľAq+=8Ůđáű˝#)ÜěÇćć‚açÇ`$(‘…‚XXö%°řô§·=ú{+g‘łÁE‡+P/»yç2Ť6ű‘/ä5|…HFĘwűtöů¨1Ń‚hMVČö"ô ŮÖ'öŔťKµo»#Ůĺedĺ€÷(ç§C©ć• ÍÔs"µš0†%á7ßôS+Î%żl©Î*‡$[Ób'|)ń€łˇKÜ"ŤIŔ0úQB†°˙ďxÔ»›ţ«BŢ/ĽÜĹ˙mVĽ˙ýôéłô˙7ý˙ zýżoý÷Gý˙ůĎÎłť˘üçégO?¬˙ßü§`ďYů$ý‡ŠaŻ”#*Áw´>őwŕgŘw""Ľý¦[jJÔő;]H‡ş›Žxą›˙će6śF§,!FDĚżµö˛ąÇ7ĄłćőZś¦›ŰÂ@Ý•źh?Fz%čłD@qşě{ůíËćővŰg+#*ë˘űõ~6ĎzsŮÓ#4°%´ńhŕZlşâŚ&cwwŕŁëŞëT«Ďí—ž×Ń#4¦ď&ů`‰˘°ë¶S° nUŁwXASͲᤇžÇ›D:L§˛ÎŐő°CV¨kn°śŽ‹ą\´99GCJ#4bŐŹéÝi|‚˝”“±:hŐŮŔܬ#4楪©‹OyĽŢş\ŚžĆ2oďµÄsťŘQŤl&A]EŐ˝zţî`Ż0#)ćëëÍüxăľ$ö7ű)]öÚâ#)&ýe _źk“JáÜÉ?ăĐyeŢé°;GíÎ4e/Ń=×€_SÁ#4ě˘ÚiGńóňô§•Ś‹äĎbrăöĺ‹é”đť´Ńh^ô{U#43~‡ó éQ\ľJ˛>Bi˛ę +Ňbą@’®ĎLciŇmA9[\‹ż˝9Ř˙Ż»ĂîŻŔ#)¬Ţ˙w*äżOź}ú˙˙]ě˙ł¬JDp+‰˘x±BL‚%äĆ!Đ.V%Ą´{‰Ť’‚‚Ňݜ˙pYôB9ú€HŹ×ľńúĹŢZÂżťď÷߼}#ďDi×NKŇŁ˛@dś8˛Ú^E8ôHő‡ň 3ÖŻŠ‹~F#4Hś§b9w˝|eç]';g ©&âé(P—+ă4V÷ T•eÖCM°ďäť 4†ľPáýÁ¬S†Ôaź!ÖLÜ}8€2Ű_Ś¦ť~6Í;Nje•ó;ăť’Ë ŢU÷"Ë-˛–]Ą˘F"jEŮlËäş%ěo ĹF6…ŹTĄĺ¦îU&Ńníą#4ůH$3Íí W%Zä™Ć'*ÎÂ&iNóÓXÇ»,ZÚ–şVx‰č«·_ţźý˝#'¨\XgÜđâl4bě<ó>H˝)1NeNŇ!ĚŃVä&v”pÜRÍČ« ć,‚VµGmĽ—#ěÂNTßeÔUťQťÇŤŕÝ knáL7ş}Niśóy…>IŞó3N>*ńŔY5Đ9íÖgŻ;&ź^fŠ~’ ’ľş¨ŔsUë4Č‹ďߍ`čśăfĽš°´Ł4póËqlÖ™WővSřčë÷Ŕ—¦pĹ–AÇXÇw\blŹÂx<ir}Đ#*´đ™ę6ĎÍI5˘§©qa‚©$ŰQÚ̆C[FŢ>ęÉů *Í&ôâZÓ/Ž^\74ëJפG¬˘x]©˘Â4jo_–ňp‰*Ç—n˛ŮĘČ‘ëÂś¬ş|PąëîtÖO¶ˇ‚Âő @zżĐiü€’0.čBÖ·m$„Q5gďć«®‘~múĄÇmč\ŕ¨ŘńÍç(Ńď<ÓŞ¨ŕgM1Fqţđ§Mކ›CĹDvÁăy6Áiő˛éněWmlÜé”LvDdAtëęLgk r÷ÚP5˛n”AͦWĹjÓť*T#*¶ćTG$ ¬0`Ňh»˝…đŢŠÖzŃađ—$zńî@yC4ŇäŸmU0K×Úkjľ,©Đ<]ŰZ‡‚¦6k[íµ#*ŤĹ¶ŮFÂFô9m¬µ·Ö<“d") _ąš“ŃHÚánš[Eű7$řIpŁĚ„zT¤qáŕăľ|qôâýŰ·GhőBg×O#)ŘŚ`° UąČÁIpäü¶µß˝ŘűćĹWű6±¨őWÔĂ|ˇšĽŮ{ýÝË}ŞČzľIö-Ą:$ĺéTŮWg6ľ¨é.ů*®Qą€\ŃBęźVŻ5‰eXÉpżE6S`;z]¤J~V·Ň8K¨K6f$#)öŐ†hŮaúřů–#)qÓ{~mO'âÝł¶ĽÝeă*öl¬ôS"‡ś–Âô‡ÔqN%Đp›ttxP´ÉŮ{Źvˇ4ál¦“ęôÝ#*¬‰ÂäŹ]c[ČŮuxÄ:`S˘@ŻĂ[ĄÝ&Mmm`•ăŻ)Ť›sč2µ$şçh—fNŹ‚čX g*‡ÝëĆ.‰Ž÷li«Ćw÷š™›†.7bîń}ş»ň–Ë3Ď×,``ÜJ0luţŰA^äŇ^´_še¸ĆĹpĽ¸†Ž"Đćż˙Śgp|s#*ÉƧa˛šmlĘ9ٱ9eí7×˝Ą®Ď=ú©č"óZą"ţś:UöMx€ŃŘĆĽéÚę#*Sýˇ’˙Ľ(ČšßăÉöż¦;,ěÚłÍŃUŔň'ˇ/×uů(Á>ń€E„lłÇI·sĽ*őřDLtoŽą˘¬¸˛–u[VXŚi~¦Çšža©8ĺ&í|q~>X¶bŕ(Ú—koóđÇ~-ěZxř’Ëhöąl<Wí¤Iŕ·Ü–Ä]}źŞ·|Őă–·dŤ:|-ŽĄ!.»ŠVŔ§‡4Á±a\ X{äâÜď&¤ÂšCąľx¦¸»şĄN#*·_6‘uŤĂÖhńqťčĉ#gĺ;’hüb‡‘ă’č@¤•®ľúµBąAŮÚXl©âMú[˝`#4 ÉRĚ_ůÄxj(ôa1¨Íw‘‹6Őč\/8m>a3ęDOµ¶©Ő *ôŕHěyĎKˇś2䋶ľđ•¸#)wú<Ţőú„3ľŽjGńéFÔî!dę›líud¬śdCµ<ýVčqâÚąŻa9ýŰőuAďŘ=>2÷?Ś•ńçř"XV?Á¤ şŔšI×n‚ąOĄtt•jő ęZ.G„Ľ!:1PwDfËş3ŤNúmů)ĆżŔ‹ĆęZŁĹĄ\ç‹)Śä1âß,c·<áë©ÎŽQ~ŃŠöĐ÷ŠŇ0Ęz®çÜćó”]ÝÖtbľąmŇ…<OmZĆ>Ăďĺ4 ަvě?t>™4'čŘeśe}®ńÚz8¶’¶ÚîÖGOţiĆŮŘS¨Ő —YĘsÍ䝶¶’Ď“89›‹w™Ş°Ky -˛óíÁ([iSWĹ©MÜůňý‹7{_cRÚŠXÎŞ’ŁšD¦üăÝťSŹĎTXQĽT7E˘sSoťJSŹ·Oă$iY\+^zŰG#4*nIT…ŮUő?ńkîćČúyŔ^řúĹ÷űą'!h¨«‹‚¦˙TU´«ěÍŘ”éĚĽ^‡|GŔG˝dI"L››=Úך$ÝÍŁC1ç}…€|—ęGÝů0ë˘{% %ďHĹ|đ#)uEďü˘őř±ć×őKŰë{‚eŕ5=!˘úłž•h‚+FV5ą/XŁDˇ8ąĘá.(4`ö÷j–ľČÝŰb<ř{áň#*vŚ˝HôäĄq-řĹúÁOEő°lř’§ř™Ę¦Tě˛ĆcśSÚ‘nłéL>˝#*»VÄ%P“îb8'˘• ŘLZ1j#`Úż}ńŢľo‘yű>JP‹(ŤŽŘëšę L<9áîBµűę-5ö”*—Ć8ĘńďÝţ«×é]´ŹűE•€îŇ˙ýěIŃ˙˧Ϟ}°˙ţÝŮ1ţ[ô[µrŽş:pG‰Ľ5̉pˇÚ#4Šˇkîť$–nOF¶ô×ţËtI§%ľQ~yĽ4ǧŤíÝSŹ„#4&X§|<8‡VĘílKńaˇš¤¸cë{usń‰¸őůí4Ĺ řE#)f‘#*‰zËeł7ť6{Í^Żą űíˇÖbIě¤3p×Ü–ť#4Š7¶ÁyÔ‹$:ÂýÓÁ׼Ăţj2+ä%¶\+8÷üa«ůŞů#4ţbŕ+ ŨŘyŻXŻ~}É}†ć`o$µ±č«WţáwbH oÉŃި'éĎâďśw1ł›ÁpHćÝ˝˝›JTŽę,)+ěXÂÄ–$QOĹĹA•–P2‹}îŢ'NDî´y®nŘcŠN&/U%#4!” DUF‡ăű†G¬´ć–®őšŞY°öE´NĐ2™©î<ťaĘşÉ|u“`3 #4nž¦đ—_]-O×D•Í7#4wIËƲŰz@>Ó–].VĎ#*¬o*¤8Pfź!éÝ•ĎŽ»3›ß+łů˝2ăł@~gvŻ.Ăď˙pPÂvřŰÚ˙}¶ý¬„˙đlëţďď`˙ďtÎ8ť;ÝŮÉ.†džŤ˛ń<đWĹ2¨Š°×&5áJtFu]Ą)¬ ˛gűLˇeWh#*cYNÍ)đ=ŘhÝí0ăă|ĎşxŠĹýŽ:WóÉ_q/ąĘné€{Ď_LćYźŽ»ü¸I™¸/ËŃĐ|„7÷}vŢű|g§źťáwtÖ’Ă rÔĄś"GR.Ń[Y•v,p*rEÔë3Ľŕ«“rĽ~»÷â5j@X#*=2đ÷ţV#HÂčŃ«ň&W TŃ»wNďŢďż:řŇňî;Ĺeö§`¤‰) ŘGáÉb©´±3‹¬6öámÇ„wÎ]ďXXKĚ<ŘđŠ"T>ő=ęĹ:Y{8–†#)Ő˘&xăYPjÁ0Ľą4BÝ%-}ôň—#)ő‰‘XëMCćA0©–R4’ojz瀚ܗ—VćC#4Ç*ů+•8xsôzďĹŢ×űéq8p’IA§4N¨ŕ„2Â+ľ Łwoq¸¶x8âFť#42¦)HXuZ›F7ČEěĽÜőâ»×G¬2&iÉÁEsCoTußgýŸßĎ››˝&€Ě¤NŇç a·řö¦ĺ[čPYҢBVF·¬%íleI-•9¦çSŹ_űMv[@®55šKh®çkjU]7čC5ńC\ˇÝ&Ó·Çľ*Ş™0pÚ&Ż‰{ŕ§ĆµĐż®úu°§W'ľ•úhŞ„Şc{»ňúĂU{AVIN¦“jr2ťüfÄJ®Đ‘“Pż6JŠŤđâÝ»7/ľÝ‡#4+őŞŇ´¬_߇VÝ9n$ţGňŤüĢ›'©Ţ”„ Fôř–$ç“Ţü˛9™˘˘Ý‘nŢd1C>ąqqŁŢlĐEs·Źo‚%ĺŽrâ}Ć»ăţőPČ™m¤ĎČDI;Ú(ăÝ0:ŢěnţăĹćwţÔ>Ýô–ł Ĺ!ĚĘ;=ŇÄi ~•BW®¦Š«ÎKŻü6˘6ÎZ>ĚÖ,CP‡;<riíâÂë†hÖŚÂđpŞ]«!^µŰí©1s‡,-*qŽN&ř´Ńólşˇyč{ôzŻóíţáá‹Żö##*”ŮżAŐmx=2»ü»ĄµO…Ő#)Ľ¦ę]Âę)Ěv#4‹mż…Ł’…ŕa×ÜěE„|ă&k´°Ń#4Ać5ů\hhÔ›xŞ5őŮô$°`3ŘHß~őęŰ#}äˇ÷C<%ÎH)TmvHúŹŢľ}ŤŮ¸m@_h»gň˘_h˙Ö˘Ą"Ĺ.ÚGůâĎŻ#)őá‚ęĂíŚJ÷őŽćŽ˛Ů…·q.âżľŰ˙Ú™î†ĹLłŮP#4ÁXrmuŠ÷UÄ+‘ x'`0Čm˛!ô¤+QëĽIuŽ`ÎÍłŮř±LëŔŐŃÁ¸J®ôflĂ#4]‹3Y©öŢšTű׿üĹ›6ă=UKôľŘµ*ď9ýôüĺ˙ÎűźQ~ÝűÍíżź=ÝŮ*á¶ýáţçwa˙=É“üĄ;‰ó<X5Dŕjü}·‹ Rj/8ş‡€¦Ž†HI/é-—IwÖ#)FL''Ľ¨}FQÔčö†‹AłŰ›®ł~Ţěö·áÔŤcóÁ ?¨ĺ†îŐóŰ:ÚkvóË4Ď.Ń”°y6çč©đ<›ˇŹŢóáäfŃěua€˛yŁ×ť6{ŮlŢíŹčwĐ6{Ų…bsČUzó!dýá?PÎňŰׇ÷ŔA×˝ĽL\Şß›ÝNçˇ`~€ý'ýĎç—WÍ~wBĄöĎ.2`FáďŢ›ýŢ`ÔE×ń}đäSůé7řw!ďH—#*»·ĐŻÍţeoÚ˘éĐöčgĚo9ěy-_€Ăkö…‚¤"0˦ÍsÜOűĂ!<šç}řűcÖżíëøyŃÇކżSč˘ćĹ°»X^4Ĺ9?#lKăběú“ť›&=@ó/éç15§:ViĐAbřýÍ˝Č.áă`DSx¦8XëĆU6g8WůöÖ6fyż‹ś|¸źőFsůéÓďTާ0™S 9üä1‚|#ž:Ł‹Ń‹ÁŇBŤńćhÔkŽ&gůí~§3üGß˙>éÂĽŁĽKŐĺ˝QŽ'ł,kŚň~7‡ů`tAQĆs”“DçÄ_÷ţ·7ů¤‡–Ł!¤›/ń_Ô€ąÂ5cMÇ<ńĆÓéśŇxާAĹßłŢFđ÷E6»mNúg=HŚ?Đ#*üíM1`ŘG&"‡‡Ś^łnŻG?‹9ż÷ĎčďđţB'c #4$ňg[ôpŁĐäÓůUsÚťaçOű—Mř0ÇÇ‹ Đ9đ°ř8C‰ŘÍ-y›<#§đ)źŹô·/‹†üö›źäd%3ëćÜ|x€şŕĺ#)‡’°ćl#)ó·żłŐśM{ăţŚ~ň§ř3›ĂĎ|ÔÍ%ć:§K-ďug}Ě,ďÍ`M\gúpÓĚ3(-Ďx±Ŕ|AÓ/?ď5s´Řęüňşš™_očă ?»ZL›ůxÄ‘şŃ÷ šÓäóBŘäÝs(ëşGSW†u~ą_A¦@ĎĎ=vî}“7ł!ţMƶuÂÜQůt{«IÄb±„=#)zéĎ·ü·ßĽîŹ€z4T[çúüßśe´&›Í›ě-¬š7.Őă7“ßÇŁţĄîˇ‡)JŇđa>5ŕ—§y3ěwq#4݌ܱ7*!ßéĐtýÂt¦_H1—A\vńôŢ»l.aRÁÂn#)}wgv<áýW <=nEËgOQ9mÔ‡ß8÷Ďźˇ”ţâŰ KźéGľv8n!M§2ćlDŠo#ÂiéC)—NX*‡…©]MJŤ‚žëea«ŕűőS›ß&`4ÂŢř`B:çÓRŕu9¤-ż|J÷ň¦{µ†k8č#*ĂúáégXčĹš4BÝ';¦[ćÝń`1r˝|Z§*¬Ń«b ކĂŃýŁM&ëźaŐ>KčĆ}Ť‚¶·Ú[ =ýˇ˝µćÝČöµ¦ VzËW$1¤ ŔšŚîÎ}<ˇ6‡ÝÜF ˛+hÎLz–ťsTzĐB Â`xËÚ®MS"p×ŮdŚ÷tą/UDkŹ@ů7ĺHŁhĺĐ4‘ŽęzÔá~\ku8ĂŽö©z"n[|pŽŽNIę‚Bwxýöđű˝ÎŃ‹÷_íĆ“Ůń€4YÉ(Q)ŻőŤŇ<ܨX;„ö“€§ŇsWłÜÄŞhV)+׺җ°Y˘W~H#)hŘj1Oě·rBHk™1hă˝#Z&ŁĆ®Ăč‚wT›g‘$[•˙úĹ˙µó⻣·/÷Źö÷Žđ.ôjȾؔ!Ę6*Cő_ö˙ş;W]şËQń+ÁÍ€`Łp#4_µAbĹ{~ęőÇëTCÚćŇť«˝¦J~ŕË ďĐ•‡Č(mmÚäa;Ţ˝xýz˙ĄëńÔTUŚ2eźGÍIűŘź;őěn“{#)™˛őYs“M"…¶3°Ţe}Ř#4ËsÝM±p&KnX©-9kŻş©bgýPmŁíáŘZ»ßoa‚ĐNÇDŞëÇĄŞ‚AÖĺqĂyW2ĹÄ„#ćőŔ‚´g˛ĽšQ˛Íă.J4Ą$ fK6–łśža•»gŕÖÝsoşhŘ„<„p~Ěóػ҅j—oҨű8Ŕx#4ĹŽ&ßv´×[ĹaNxjW®Ů?Ş‘–¤0µumÓ9Äź\÷ŇIysB»\ţT—ź·W˘Ţ Ô˝ń|#Ý^aDĹg0×PzOÎŕ@@Id)‚Cú& Ćy+[ď·!E´ä»l4lmmíOYďrŇśśź7`Š7Ľ!Ą—×_¦pʆó$Ýz®ç#*Š‹đťéú:ţ¬Żs&[_—'ý€Y¬ŻĂßőő˙¤_IŻ·¸źO“W˘cGŕ†—çźěď҆đÉ÷ň»%Ú$kĹř.˘RĚwąjŘK)Ľ ˛‹Ď„·°zQ…Žíá]:Ónň*+böň‹reŹŇuĺ%W^„ź1Ž?%”Sšż˝iE˙)ĘUŮi_KŽ¶’şQk•Ž?ß=5YâÓimľ8T6Oil)ϧUyÂö#4Ş€ş%¦j‰É2ö–0ě…Zw…Vq-vžÄtí;ľN‘ŕežđeÚ^LűH ]w“xź×,¨ˇŚĂ?ź±°ž Jđ˛^óv`ËeZľ•3ĆŇŘÚu«Mě˝&ĹÝń5ł.Ă<cčilx±ËĺĆqô ăÄ&Ř^řç/ĽżĂshßx€ť§N ŘĆ#*«‹Š×˝–ÜéĘëĹE6óx˛üÎ6b-¶č.™Äę^@ˇ™/Fý#4žv/˛/ĚEü>ýEbŢĚŞwřzúÚÜ|Ţ<ď†8ÖóZj‹Zë-ÂtިpŹU‚Q¸ÁµTŚčq©ŕfcŃ•řć5nUýĚúî-76ç™fŻ%ĐŚ·ß¬Ú,`Í˝µľŹŮtJčËĽAßcąń’3Oîŕ€=wNLŁ/ť{˝"¦ď_ÉŃâͲ‹öŰi6î¤~ýÍţ_;¤«ĐůöĹŢ×oö“čđí«Ł?żxżrňçÉÍł§Ovpó:9ůvĐ›MňÉůÂąxożIç““Ă—ßäf(@ĺš~ˇ*Ý«U„R~ů‹R#4Ůő`Rµ]‹*ýl™n5(h;Đbę_Ű=čeaëöÇ‹¶ŽËI(‹XT÷ÄôÖ´E¸VÄŁ¸Ęâť˝ţĄ•¬dłlaôŐűÉdţr0«ë1Kt˙<ĆLĽŘ>2„&‚Ě—Ła¨ŃŇĎ›qN7> ‘î®N"ĂËq|§¬L®"w‚H,ő©8/ëˇB3䨢*¨ř˛“č5nĐBŽw.'5»hĹ&őYŚr‚˛KîU¦ôNXýÚYďŞ$9ą±×߯_2† ‘UĐw* j¦\ÔxžÍĆ.ŃßZ'ý“ţ'mú‰[űËiüĹÇŚÜZČË»Šä™VäsZŃ÷{l–ĺ(x'¤}?ČÝáá|ŃLHpA±ÎËôä/Ú bĚŞ#€ËO"q\zÍJ,W˛6~Ĺţ’őąk;ŇhiŁŹýJŇhëidU‰Jó,Ń{DĘ^ia‰#47¨§IOA• gŮ,=Nşó}…±mV÷ň˛#)KŻJsĎ-“ [e6h.JwnD4\OTzăÖ|A6JşŞŕŽ=óĽŤňŻśžSHĺWa)ž¨>‰˛R“Űߨ“JőžĹJ]˝ůŇ“ťŢtáx8ş‰đ<k"“ę0Äθ ňĐwâĘůć aé°ŕ,Ô4´‘Â@FŞîĂt‘’ČBPCtH§Äě*śúGóC]ŽÚ}ŕ®qr‡ynP°Â$ĽŘ±‘Óp-ZźÄ&–dA{ŰŞ¤Đ÷nhÄţ*tšn÷µÖ&iÓĂęJ ŔÂäqiĄťÜ6)vťqSś^ç:í`;—Yg'=nňUýsń~Ł(¨ťY6*vF`%ě:˛knSłWůť;Üu»ýEv8ú1 9?ź~ßcsŹMä›?˝šŤ˙EkvżĘTm:‰Wńĺ?a繯8+·ť˘„Zke—uUł»Ř}řp›=2‰¤ŮK„á]Ş×ŹĚ†ŽHšp¤FŁ^ĎŘČU™ËŚ`ĺuÍ÷Ç×(#)nĘÉó˙ůŁ^tČZR|ůŽjW´Y˛Îż§iqŁáŞc¶ÖmTŃ'ц”qżzšI’SŽÍČĂďžjŮyyŃŰ+˝pÍ»ę`Ëđt¦/‚ÓBąS%UŚ+T÷Ĺb9ş3tÚJ>Fŕ—%˛Đ{$<Žť‹ii:Lס\xVvňńîîćö©˘;z“G&ۢ,çgVżÁ˘Î{őÉżGÓN÷ČĂŇgĐO$ŇŔţĘ1·';¦ÉZyŇX]wÖFp+„Ţ~bÉiĆ—´Ř¸#~ˇŞ×Ő»˛(FNಠNV9)ňŞÜ-ÖŻq>ŃŢk‘'ÜWI…Đ›Ťs´x¦;ČrtÓIL: -Wľz]ŕR9-ŢrBĹ÷öIpRÝelyĺö±PxáÇĺłĎjI‡K™DPˇ•RY‡đŰI“ŠH´Ú'+Ł‘:Q´ábóݸpžőEHżEőąwçĂÁbř¨ňÄE?[_DŘö»Ë)ćW.Hś˘m‡ŻáůÍőOŻä–ż%ŽŮ”ďl'ťť8µQ9˘ČŁ%ŢF!™ňíʲ۱Öpő˘u35$9˛<Âć4Ę,SżNyµlD~C^˝P§—pôzĐZ-îË?ią'Ż"ő[µ•HĄę —frŻąÎoŕ'[q,vT4ĹČńř,lá…9Ö.NřŽI$gMť5w¶¶?SuŹ ŻţľĚ˛ĽůŽtň›;íg‘5şžÎ.:J•äÎŹaVŢńuÜ+˛N…ůŻŤkfo÷äD‚šÖät䟀ŰŇ>-;‰üA#hLäĺlF{eB7ÚhqŠ ÇDčÚ©żč‘6×c´zfÝr9›,ý†'ěŇČßČĚ—·ć;X#*zşâÎÔŽ®Ű˛>ݶe¶·ĹÁĄRăóÉńÖéźheŕdŠw€rbÚĺ“aÖQC#4#ďÎf)¶„pőň$â@/vGgýnsą»<V+X:n|oP]qmec„őÁő4›)f+…Ő$“((Úâ5#*|+ÂnĆÁąjTä˙#*tOU® ˛ĺ şAŰzŚŘ„XŃ˙ŤÚßúU,ŮIřzˇúô°BdŔ„ĘIµ[׎ZŔy/Ć‹Đ;ë^ŻJ±w<ď:ąCđĆÚÉÉ!*Džś|ż·V+¬ýĄË*-Ú˝ŤŤµźx&~Çk÷>_?żkw‹aěm4xyA‡źqëŢ<+/¸ëę͸uĆeŮIqEą›8ľL˛Ůyg?-łÚkďôî{ń@UQ7zZłR˘8y'`ŠxŞčAť˘ŁĚmÎďyBb’R[Ë*yŠgEBŠ=î:uÔůŰôő˙üîđĺ7ôűů–;ŹĂâÂŤGÂŹ=ňt®˘Ďh·ŔĚIÝ/Óâ{Ń÷@ÎS&ó¨nýĂm'ţÍ$Ăh“pr˘P¸9<nlü†ÂŕÚň˙—Č‹‡ú#4qh źżë\*ŃUVęŚF¬v±4Ú˙öŮӣΛGßďG!a÷±ŚO'ÝŢî-}ć{K——(ťűŮý@9ö˝v5“}iĎ®ÜŮ4Ć6ţ„ń4jÂPGˇŞh”ĎGÜ÷;÷Ń€„Ôţ&Uł|ČtpC÷“:ßăŻ8Ő,ĆżÍ`Śş?LfŢă aű›s8ĺ‡pŠ¶âNń¨“Oä?wřâ·Ţy–˙ö€/÷á˙•ż{x$VpůĂČKIE[tĹÖPE|‹°R…ş«ď»_¤:”łĐÓ#‚ALĎ‹A˙.˛§Uş8Ň%Ă[(Ş»égqźoôaK˘âŢ#4ëŇA~é&iÔ©üv¬Őµä&ëö“OojSX”ňgłÂ]áşWŇΑ);Ą†,fĂ4B‡ÝO>AADĎÚÔ|Ü>ÉĆ›‹ü ‹QţÉ|2ô>y˛óůÓĎ?đŻ (ě®úń*E5#ǧ©˘Ś ÷áĂż?ÜŢŢÚ{űíÄi:„ `ËhÓ©mҦ—ęzšy'c͢lřا=ÝEíöÉÁËý“ď˙<‹J'Ig5Ł~vŤ÷÷Ë"Ł‰M?8oÍ"¨1‰›këa+×kŠ_‹Z?Bëť·Jť+6zAÖXhx]4۬Řő¬őLŮŠŽ.ł&mžMSşÉćd¬ćĐ9{ůgˇě»yřÍwÍ(j7ĎĐ{ëĽŮźdą çf#´ł8Ëš"TÍúM(b}Ö†°ÇD¶Wh¦¶Z<I«1‡ëŐ\Ś‡Ş*BZvZ?‹˘AޤEőŰÍĂ,ŰEIlĽ^첤Ô׉[:ń/Áɱd•MżU—L•ŐţÓ[†łkő‚vš8®0pôú˝ąm¶Čúť"‘”ÂÁVÉ ]ńs#*×YŽŞ•ż‡5-/]1q”:{`'“ě0É$´oLA˝2ko^ĽÎ٬Ë÷5ŢQ’ŃÖ 'ôíAŹ±75vzŚw«ëy{ŘŤÖ5~Tx˝q•yf6Üu–d['9ČćyMv‰pö‡CŐ~¸g€¤ęˇwŽśz#4ŇQߍG˘třBÖeHŚ”/Çř3i˛+f§KĂńŽ5Ωµw}G˘ÉBŽłîŚNç6ch÷É×Ä<5ˇŇš1‡“›lf?˘ÓľĹY+:iĂŰÇXPqpYíÚ‚źěFÉ&’¦Ö“aż#ő±už@«ŻŤsęQ‡ăSVĚĂ“_©™ű˘@¦VRçŹŇ(˛rߪ|+K ?‡EŢ–#“ŞB<Ť˝pXĎrŢÇ`ĚĆśökV'˘Lxťg¤-Čý±dNVÖ=×*#*öłýĚ€7žŘ9‡KJ/%83ŁęKÎl>cź)a.ŔŮŤ"“Šö8Żeęy64ťKŐcă3$KŘé®…Rgô\Ydš%Ş=˛foθÍâ$)Ô©˘LŤźĺöPľťn©š·Šô±Ëq¸FŠRšăhńL”¶ş÷đ«ý„–·PĺBf¸ćKůaX×çF)|§ť~ˇđTB:Úę[Ö(C¶6—¶ŢA2»k¸^tۤgcě3ża܇Î`Ą#)ĺ”˝Â-Ć}ZI]r‹#*Q˝ŽĆş™‹ĺ-rnBŃüŐéź LŻŰ0ű¨Ęś)NŃé$ÚißIë;Ń™—`äT- <a)ĺáal6Ř“A¶JlÓ)HDĄÓň&®ăčđENÝ&§SX_ש_K>ţŠŘ=SÁÖäU´R'ⶕ}„IBc‘ö|E‡#)Ří.ćfÜZ˛‘XÜÝëžCÝeŘ#4Ö#cŹŽúĄ+e#*!éůĐĺ˛2¸×A¸§B·Šö˙Á×t˘éät˘ ľű.Ăß° ÁHůŢĽíM6Łţ ÄŻĐ;&«B>$‘đCuí#)ŤŘqo!ë]늢hc.>ŰIĺĐéâ%dú„yÚC O_,šn5Ű/÷Ź:{ďľc#©ë¶QŔÁ¤8L5obźJ1Dő„ď»×űďŤ –ú´ šÄz®äĽ6Äó_•ćxwó‰¸ó\#*â°+@Mb&bŃMđŤĺ}콎2äĘ…ýĺŕőÁ›o8řĚ„}ů\Ȧ"—rśC§¨˘Ś.°bęířhş‚ˇ‰˝Ű‹›Á8*‚q`o6Ů©?›ßLfWpšF`DN&zx‘3S3!IB“ĂOż´0đî^"#*ďAă,ż}ńćŕLŮ´eF•ôHÉǵúÁţ<žĚl2ýb<+Äŕ™DŮŢľ'#4ˇďýĺ/‘ÁĄ#)Z˘})°%b0CŢh#4&ŃF~{Žă¤˝.d<TF,‡§#)ĘKHIÍY¨›ö źŤçóAFîů<%ĽóĘá÷şŔŕ@~äžw5DÚđ曎ĹHzÍ|ŘS -FůE#4ěWó¦Ë““±ţ%QŚÜ„OM=®…Eq©{LBä%ő31_Ľg‚ä¨°Şľg••ĄŇ_ĽŹr€Ë&´ňÄRô>őu*ô=Ď5 űßE•…Ë—ÉQEö˙?{ďŢÖĆ‘ô#*˙#*źbÂ.×hĚ ;÷˛g `‡]<€ű•őčŇ#)Z„¤ŐHX<Žżű[§î®žo˛{Ű{mŚ¦ŐçîęęŞ_i|vnL˘}ý07×Ô #4Ăń á挚ş¸@FĚăhĺq˝QUÚç}šJnűŞ:oŤLëÖŢ(<OěNĄWÎ#ľ¦ßÖGăÔ÷uħU7fuf©©4,…ÖѬU‰›uyqrÎ+#*3—”äz¤Č#4™Ť]ďľrJ˙¸řüĺYŽPťwô´c}]ۉ•¤zýzˇt¸\*îî=ß?Ü;%OwÉÇí#*§';ç„•Bźg/Îŕ2Ł˝ÂĂç4/yçđÂwYĘŢE-ĎUčmŢ;^d·/¦w›~.ýSP]Íç;asÍqĽ®ťI`¨úÇÇ8¸/öĄ/¶O$R;€mÇ~˝~í>ÇGŻÎ¶¸Ř-ĆÎÉYëĺ«ł}ö˙ľ·ËYŞ"ˇJ°4çhíĚ%B Đî}„~|q!H@5ęŢ_Ą¨I"ŞšPÄöł\Đ'ĘÝo¤Ż2#4|˙Ęe ŔŠ,ĺ{ňü…aRĘŇFwČź*ib«VÂ)ŞĂ-!“ܲia‰pp:Ä„:Ű;9„ô&•#*a5µw3ĘG™^Řylúć!˙6ť¦+5quĺŹ\É“*ňĆÝ®ź>9ř-íî'.ü!|Q}ţ¦}ÔBö†G¬çłĽ“×gç`ŚvR˙#*F{kFćŮQ†|¦ůîŠčĆřđâ&M_żÜ=[ąŐqäŠŮŹB{I‚P|2=gÉcŢëť '4WÖŹbó…]ĘWí#4‘Čۦ' …ű€6Ş™[âŇŽg7Q-ͨ\Đ…gÝEîáCHóÓM.´ÔA}Ń26dL‰âƨ{î<vŮNŇ.±<‡Z\ž—Ë3Ĺq!kuĘ]®ĺÖP…Ě-ť$ąßž€W¸<îcč;ÉňjĆŠBj;WÝă«Ű-ţ0^šç·nÚŢE*^+V€>Smś·Z…ˇzeŔ ´ćŹ&=8‘I]µÇpĺ`–w8nuÓNBj6Ţx'“¦„P¤rřMžŰĆÝ#wm$âĽbŘbČČ#*»hßôúwئ•”»}4ѵP!T`ß?Ü>Ţo=ß~ąđÝ^#41—ŘcĽţż_Ó9;¶†N¸•Î{N,R nďÓ‹äÔ[˘Ń‡\ĹébÜ)Nł´4rÔľDw"Ägr™V¦ĂXĹŢtöWˇ+ýi˙tt¸×Ú>>Kü”gšţÁzx$NÂđp"u^ÇXúöhôą˙Ó0›Px3×üOË\äŁ\ű?ÎŽŽĄé_qý'ř˙ęuţîżîó˙ľńÝwy˙ďß>čŻţżľ#)˙_ŔMÝëp«=Ž/;ť<wĺý:vś,¸Ó)‘a5BH‚–Ę=,’Ę뼑Ô%|z'†Ô‰~ľŃě‘ş×Ç"VÉ{üiŹí7´±üĺ#n`0.z°)iö}ďBťEžzrë<=żűÝý˙m|÷í·›E˙ß}]˙_†˙ż2w,µ®ţĐŻ{Çťçîď<˝@ç5ľż?tśÎpýĂňI¸ 'ňBYsĄč#*:¤ #)›GÎw,)Χnß}Ş;ˇDJ–]ňîJô˘ţůýöÉÎO»ű'“W?ľA_¸”y°ÄóžîßB8#±škj4¬·zNaź¶ůÓÜ8©źsďőŮGdĆÔŃGô&uN<—Ďä„H:šü®Ă8'ráyYŤ‘Š™‚6•§±%ă›Ţ#)aŘźF+ý%ű2áâ—ú2&B’sťCĄĂşkŹďś’y%d•ő …‰×á:N)ĽŐPËŢ íţPŃmüČĎ`+ŔrŤP®#)ut5ŞU‚cŘŃ”ç0÷ř…ďăăÔ;Ć@ﶢËr࡮AÉd:ę§p˙Őz‹Ô˘'˘…ë5XłlŻ>ä(Ĺ˝š#€Ż&çŁ7#4}„kMćg‘}ˇŕ´ňtżľw™˝jPŃ˝,€3]šŇM§Üd—pĹ„ď?HÝŻ+ÜMWŮT¸tŢáÄDĹúľS°Ö¸ęř|QID*)82]`ŠĆ,(ČÓ&0:ó.B3ó… Ă´ÎĂÎÚš{ý˛ôÍ$öÇ˝tľČ,X©ŻDo”Ôv‡ÓI#*¦ż†őt#4Ä#Ź+e<>gVqd`Ů@â¦WÇ"ꊏj*Ĺó2;9çłbkkçčđůţ‹Ć긮bfŁmŐ¨1‚ĘÁšj(Ňßöἶ˙%Ţŕq”ŻşăBVŚŕpëH1k‰Ę°ĽäS}oU•<O«TF×ÇŢRĄ ĂúBŁÂ‚ Ě©EůŽľ‰ŤĽ#4ŇM"هěŽďö„¦,S 7Ň´ ZBs‚ľäŚšr^#)Ô’ăĆo«(gĎIżfĆL%1O¤–¦T[%‘GŚŇBwvvه»Wnî„!Ń~¸ćeÜ= ó’,§ö˘vOÚ>ŮŰE˛lśI‰h±Ň/Č˙˙& ×I|Ě$8fs‹Ôűé€ŘŃłM•qł™$+ŁQg%źďŃVÓë;óňaN©ćĄČM>čýÓÜpÜ›#¶O^´\ëˇ!eG¨Ś¤V¬kÎ)™“©¨mčgő*•ő&©]Ő4\5âůçQeż$Őőá,%Őѵ1+Sz†°R“°.ô›Ö¨e›ČR‹Î«\…˘…'”NnOóűw]äOäÄ ŢÂlţ•öŃMŹbóţ?%u®ËšµPĐPÎqjďŚuýÇůú{$ů˙7{5#)&d|.Ś¦°óÜe$.ĎY)u`&)IŘqW´ŰcÉ:ăÄ›ĐŢPčšÂÜâ#)ˇş‘±'†>€ż?Ň"ř¬ďĂ×éÉľíäßşöúŔQÂĹü“˘űžu,}ÝĚŐśďPvΩńôy:J;˝ŕ`ě:“ář. “$´/“› {űË(]ŻC›uVî^ÔŐÂXÓTUÂÄűuh÷Ń:šÇŐ(ScŹÜW łÔŐšřąJ˘˙ő’iOţłwpůů@÷Č67ľ}ś“˙<Ů€?_ĺ?˙›ĺ?˙.ˇ/ÍáůbßŇ„|)aµČ—éÜ+ôĺ*yb_'î÷oo`§&_ÚFÍę“˙9BâŻ˙ű2ö˙Y˙Źx˙{´ń¨ ˙˛ąůu˙˙Â÷˙ŹßűaţŢ÷ŕIZ¸ŮÂߊ'?LᎀŇ}3«˛1ÇzĘVX”ť‚í:>B®í÷ąşú;;ś•e}jN}¶!´|ÜuŁ«•”×wv#+=®÷]€ËzPPµé|µQ›ňÄýŇŹ×Ç$˙1YŽ°1’ë~úR}ą}ňŹ˝tVRú—2śŘP$~>žôE#*´D“2,Ń>#*×/Ž÷wÂreS}ăaHĂżélt1í÷KuMĹĐ6~„–¨äißĎ;ŕ”®â#4óîëi˙őżéţÇŠąź›ţ?~účń·ůűߣÇ_Ď˙/äý?§e*#)îÍ?>vÓXTĐüjž€Ö\ŚË5Prw™Lpą‚€Ď’´Úý^;Kł¸ÓBC§ń®†"…Ăl˙â;E¶#)Ďrúćôlď%:Ş&Ödž†##)9ž~‹Ę«ňa;í~.ÖÁôętIýĽ}r*°7‚´G–•"“Ş$ŤŘžBk#*e>?ů—Ł“°Ń–RßÂhŐîěěîÓ‚˘rÔ/őÍ>˝×ŻMN›·´”nY»ś%źÖĽC-Rň&]óf’oŞ‹aŇhŐ3Ŕüµfpˇe“(ÔŞó†'*Lšn«TU=H]ŃRŃŹ/VÓ„˙gTrRQɉ®¤1ĎPĹ&ÁgďýB źąăŠô?¶ÍíĚ5wűÔöđßü]ŤůJ~©÷ů.?Yđ»îšÇŤátBĎ’«Ýú0\Yëq>ÚE@Wgńˇź?,™ř“…(˙‚¤«d#*ÄHŢ…¶'“qď|:Iýg!?kŇŔ?MűB_Ą}1˘ÎVSžvz~F/(đ‡ô,MÔŻbwŕLVŤĘÍ‚·4‰†“Gl¤fy ZŚÄGŠÚLJ”EÔŚµúˇÁÖÂtč)ëł}žA´@ťąěNµßűFš÷ŘRHŠíČ9_Ćş76ĐäčO'v”X#4đŤĄ"‚ŻČ‚uëfăNuB‘%´©x˝†ĽµČ«ŁGšŇb#)=ĺv®z}[µ|}Ť©Ň¨~sŤŽÔ˘|Ť#4!·zBK¬ćâý+âz‹CíÁ,[ÔB˘ ¨UŮŚˇUîÁyh¦›7U+´ülmâF3ŠÖ#4j‘U*ätÔˇY‚m]ęĽyżëÖ"_B“#*™hŐ •Ó“"Myë´ćFţcggŘŽ“đÍŢÁÁŃ/p3~—ö.Ż&ÉcDšÎ&hĆŕ`ť«›aW—Łďž<aőĽ2~$7V0Ö·#4ëČřžŚyś—fZ6HÇíÉp\gĚŻŢľÖ`DáY`+Ys˘‚ šwâ2‡€Ć-^ýhµ¨Z-řE0KµĐÜ˙)OD=’Ý 3-–[ =!:™ĄýÚ‚#˛Ć”‚ť7ÖkĹ"i/®…b÷lŁ`˛ćZ‡·éŤgřßYľíHiî™ŐéěÉ”1>Yăˤ°ÍÚz¸†”ŮđM#)ţüüG§w«ô<ëÚ=ĘőLŐjČ‚˘˛FĎ’GÎOŻ%!e¦<›f¸“eÜŚţ^ţÎŇŃšd]%¸ŇćcŁô,-„Ţę1ŔAÓű<7”ä*}–˛T§-{üŕ:~đŕúťŃQK˛)Bm9sZÚ@ę^>“Ĺap@ĆŔ3eT†–Cf0şą¨EZ%n˘*wsáąq÷_žiÄ˝#*¶l$E¶IąbÄhOXé {ŕi#GÔÚµŞ¬Ĺˇ”!nsX eJŞĆLWÍ-QGÔťö%†nćËů ľu„đSµQęE§ä7]mĺ±›Ëf 9eáj~^H Î÷¨Ô‘]zsžvńÖž!Věj‰˝ëOfyÖÔ¨q`ťîÂÝZI?p2b7ŁČOÝ×í¸ÄćWÓ$2záë<Ćek5ű+-c=ţ¨ýbk«fáóů39—”uąË“SĂŮ>AÝaşů'‹Đ?üů=ü•ł0:8ţ‰őôŰoéLĂĐ^Njť>MŘ?’ĐNĽnŢŤŰÎ2Ňş"DíÍđ6î„#4_#4$o€-űĽSĐ!.đčý,Fĺ¤0ƢŁe©źgr_ĹńŻlOĄ•h ;tm}öŮ,Ă8#—Yh‡Ź%—Ą]š%zI-›u‚ůyA,›*–ť¸š"F˛—eÓs#4«éčƬ{Sg‰áË’™Ţ\ĚŢb†ç˙Äk‰NrRA«çßdŤ3Z—¶Ô❣b,#ʧ縦ş=WŚsRáĽ#4¶&sî\^W”Ó{•ü¶7´ŹD ě> @…üV3ćĺ—‹§ŔبgyÉeôÖ8í¨»°9`ń<<Hô-B’—Çá=OO#)éí;wWB.{‚u8g`çš(%ŢŁé[ÖHžĄ|˝čŠi"M#4ĚQą«Ź†]uďl2(Îó÷úťŔ@ówh ]~áâMjh´Ňn>ßą±™3ë\ôB«0MĺH+tYAoŰ+: &ąŐË55YóĄ0ô ărŃ,őY6Z7‚‰T%00ëýŽl˛ř˘&» ˝,¬đSçĘÚ¬Yđt#çÄ6˘ü,®űGz§NH—4H˝VM!šéł87ş±»ęŁ€jŤÂbvpĄÖ[Ő÷c…E`O™ëI~ňMaľ“HÇŚOqÄČ{ĐGšÓ5ČzÄ»S'ßĎ——*yn9&ťNíŘMťDzB‹ĄL+r&íŰ#) ,ďóű‹ě©¨ÇđJ#^rő|Îít{Ş“›xʵոŢ*gÂś–u±Qŕc‚±Ł!ŮŞaUMJšőfE .±Ť˘é^ş M˛{]Áţç]OI®/Ýş±Ř»Ť»¦ą^š&z’Ż\3{A†ŽßËŁĆďÜu„Ôřx€âP·2šeĚ=Ş·Z#*(0’¨ł’2Ü»ŮlçÓ¨Q#4÷Y$‰ĂŤĐŰĹ©=Ä= —`¦¦çŤűÔ?7‚ÂŻ‚^*qăNŘűŁ>&áßŇŁµÍfł©›ŽXôeî+wEĆ"2÷y6˝˝+]ů¶“‰ů"´¨´ ‚ámXŃ”ÓĚzg±ęŇvçP*śF§v'W|uҤ3|kląíÇItJö.óµvçÉďę92•ĺ°j±Â(ş?o´% ˇňíĎ,ü{gh5K•—U8ňYÓ>ş-Ď9—2cľŚŢţsjrmkr]Z“˛ŞTđ¸ívÍüŐhp]jÓ‚…•ĘZU¬”téTdAí%’.p}ţ’śĂřńŽm:–.Nٵľ:M.K/N[Ţ^>qëvË“P–uĘĚ:yQ·Ť›5+ӱ¬#4}•?$ĺoÂ$srŹ{TĘţ«÷6:sď[;˙ćţĎöm›‚łPAĚ˝Ď3ę“đ^E&®Đ4ŮőtsvµĐyI~€ţŕŠ·4×ezemaŚś¨Á™Ó“áł~)l=(Đ?˙î0ł9Żúěns4˘ĂĹ+"ŁHKý:łGL Nw5k‘©Ě˘¦=öľ-#)ięQ›'ä[ĂŽ1,+MĂKĺđćv®‚ć ŃůO,J”{´$™ľŠ®łÜ¬Ţ’G-– ů;·Â2řČś"U—D誤≙S” ¨‘IÝ3—Aú\ĺÜx¨XˇŰ|$=[\DĆÇ…ľ´˝l8* u5ĘČGą«śâcc—3ŹĆĺ+D‹dž“Bťwl—őťĘş*O˙<Q´<Ź#3—Z‘K۵ mŇ˝/©°4¬CĄôK–’cŠÇ’r]-C›—ßć˙üž'Ţîţɇб0™¦ŤKś_ç–fĽ$gJlĹtĽÔ>‡´ŽI}´h˝Ý#*¦7ľ‡ćZcsý/Í·o»~ÝjŤzÓŢoÄŹ>üđçđľí´›ßWĺ}ó^yÄ=4H$żéúÓźQĂu/`÷cßTáhőfx*ŰX„5¨…YoÚťőačÁę’Ř9ĎE٧=Ş•¸M¦DřÍąeîËFéĐA‘sŁL[†#űmĂĆđ6@+Ű=ž…ioĂşz'K‡;'§îBóqş,éä‰Ęăn‡_wí;/#4f)ď–‹m~CŮł9ť`vKś{íIďĽĺ@Z°ź«Ä˛ÉĆßYžeîŢŮg:Śzl˝#ŤÓQż#*›şIă3´ü^u#&ů-–Oj§Ź[[""ܬYÂyşŰˇ} X»2:IŠát?Z^䨸5ž}ßć}˙˙}ćH–4´™S˘vk%ÂůGß"Ác~CËĺůEVrî™ďóZ%#*¶!‹=UŠ›öU;O = ťţc˙řxo·4Ý`ŘJÇcĆh@Qˇî˛ĂéąÉËKK(JąZ#*m56‹Ű}ŰŰëaj>4ŞWÖ™żőSßUoüîřÇ®ö›Úd3öNýűkDp5˘—Asŕă+3yě#4ÉînŘţĄ˛ëĺË+†f¤)ägäŇäŃÇ”@ů«čĎëşÉŁxň8§Ű7/ůcšÝẸŕĂ-¤§ü^ži.łtß›aîŃpi$Żé®>áë¤a3Lő"Q´Ę»ÝŽyu/Ćľ6ÂuÓ>ȬnĚlćťÖů»:+>‚ÔtŚ;•GD¬Ĺ@ěF™bÝΛíC|›ˇ.i„uô=ŢdmëôîÝpÜu#4ĚE„§<CP°¦—ČUhń őűĚW±±SbŻNĄ#4Fďĺ“ĹQ“ŮĄ7¨x.1†lJ']ŕ^O\žŻé!M łÂčźf~s'¶ą¨B|ˇ–NdO÷#4ĄÁŘ>ýGë`űÝzyá¸ď·^îyőšĐ5}ňR3gµJ`BÜkî\<ť6ăśřW‰ś6a©›BĆ©Y?cj“%!ő±.Ť=ŁíŹ<ńµ˘…ô|‘ąď|ů9±qˇe“˙„–M>GË„>ęfÉ{鮆3<%ϬôWśľ#4łh]Ŕ†Ć×kŘŚĄR6›#Űĺéµ_Zë#)¶P×/Űţó–NŃm€#)Ĺ•řŚ÷:R¨pjĹŞˇ#*㣔ş˛Yx“´ťľÖ°"”ćZ޸j«TE }?K|zĹ8úśŚFi¦mÖý×o÷öŃ˝nQ'̉;G˘kTJÍö¸ÄGâ;/÷UEÇ^^:ŘźÖ#*%j‡”;Źs©!łp}Đ=ď®BKRµ#ŻäT~•Ęú9×·ˇćč~Ý&žJö 4ĂĄËAÓľôł–Ą7ܡ^ÎÝjKwH#*†kŞ><˙§‘ †ŐŐčD4â=©LŞ5Dٵ€„-b#4ó)–0h“[–\őĽîĆ\µÔ-ó4ů<MÝÉ°Ą,€»űGZ¬RŁ~AnŻćÇ$îKřD+jŃBDě˘ŐuŹD+¨RŠýÝ<·‡cĹR7,„ĺÖç˙”Y«äLžÓós1#*÷Ä‚šß&Ŕ»Wëj4ť•úˇq7ĺ«Ńútć đťU‚¶ŮQš{!i”š©‘悱|Z*xčk@ަŐĺđě%†EűŁĽ‰‘Š2ěú`8ľˇĘyü;¶#žE‘vICe“™ĘWëüßŮţĐÎn~ü˙Ťďľ}’Ç˙yúÝ·_í˙żüůĄ#*ďë0çYůË–¬öf~ßvrzśĘţăuĹ˝ÜŘĐĆs^ź‰¤đtt/l‹°áŮí#4ĽŰi¨a…¶Os¸=*¦ęŁ×r›uň—>ÚŹČ–Ć˙0ž›á¤űŚűŔ=ë˙ń·Ź6rë˙é·Ź]˙_Âú÷Á?ĘŔĘŔAŠľ@ĐĘÄ’IÔ2Ěá–őaţ=ź=~„·^ňꇗkkČĹ!4#ü‚k±ń#*ß% ŰK€I›¨vo†áł~džz´€ů›Î©XĺďuFşOĂŔŹŽ¦Ü÷fŞČŞĎav±ůłúľL‹Ą4YČEH‹‹µ¤’&~ Nâm7˛‚ďůŤ°#*ĤČn§‘c¦(ôÎ<ĘŃ0Ëzxý˛űyěÖD¶>áXÇ7l]›–™ăľ”~Ő&-—/´ÄkA9nŽĐ>j0ąů}FWőUK:dÎ-Mů—_Ůîv}čfü’}\o»a´"ě»-·‡ć´ÄMĄBíťC{< `OËXPKA#4ĺŰóJ±:j;ĘC®ÚźęŔ9:VšÍeVyLÚY:"„ŹšĘ–"K`č{Ilużl‘cš×uŘ|Ż_[Ś#iŁQ!𠹉E‚â2‹_ěD&¦T? Zö&9łŇŹh”©´šJjbgiĐô€|#<Mô»8wK'¦™a-ěn÷ď±pľó f8˘ig‰Ýş§#”©ˇ5ő)%Ă妅´©ÖM*Äâ¦Ú’DP`¸qĹĂŻőč_%€I4Vłf¸Zh5czŻ—ęŠÖĽ,d3/Ó$8°‹ĄNł/ţÎă˙úÓö€˙şąąůÝWü×/˙տݕ"˛i\8_FłV‰gákˇ,$ë„#4»Čs¨M‘¤ą"/Ůĺ*!äŚŔ)EĽÚŢÝ?!×â~ĎPăKŚmJ,e?^Ónâ٬Đ#čcŠW:ť€*í|Öł`}XűvcÔÎŻĘÇű‡˙ľÜJ'˛ń$˙ęÇ÷ż˙óß±űߏ˙˝ů]˙{óÉ×ű˙ł˙ëŽr÷9ŚS 8‹Ię,10)K-Á—˙&ĹÔőŇ‘¤Óş‚řHŃ[žŹ¤#WŹA>ňęČŘ©}źBŐűúΕě äo˙â÷Ž5ńŕ1‰@i-Lř–˙Â`ľ%?)ńŽ‡Â!#45ĹĂ/ę\ČF˘†mj¦+üĚ:íAbG¸Žź¦ýćÔ©sŚt,ŃęZqí,Vş®˛•¬VÔÚ#)oť^şżm€[6:ßÜ~şöĂĄ4ˇň“źWĺTů$—ä,΢2†z§NgLĹAN.ksk~ ăŔ*Cf8h¸ÄÖ°Á$.Ó~"]°ŻGďŕůŹBŔĎ*ú_čţ·ń$˙{ňř»Żţżż ű_…˙§Ůěý?ÍfîÚ2›Uş€By7»#)Aˇ`…¨Ů¬Ę#*”8Çý8?PPµĎä Š^%ž bŽ'(-sÁ_˝C|áű˙E§…×ďĽ˙?~ôxŁ°˙?úę˙ďKy˙…+GëdďĹŢëdeeĄöĂÖ˙ýµ®<kľÍü5‚ ä×?ÁßH€ŤßfkôöÝZ+úˇńýJجŐ×~j?$Ť•đY3žŁH” sfkżÂúő ćŹÚţáŮÉţáéţNôomET<”DD_í–…ŕW@÷ř}|r´ł·űęd/ú#*ĺŚST×F±¶bÜ'»Ůi–ę¶Á.A©¶ö’BfaĆíAk7€t\c=LŁ5Ű‚zô&–ÁKg¤/§ěia¶ř“áĄŐ7+z7ťHĚ.…Žµn:Ę©Ň.Mf6¸D#*QzX|BZ/ż •™Óa„ăŠ4U!/?ň`€AĄB;cěY¨7z±Ĺ{dj°oŚ‘vÇjŕŢÔůĺk“)7”;'7Öj^n¨ëśÜŘ’ňÜ,*¨aĺb,Q3A¦—Ý\ĎQożk÷&°čبű‡Q¶t+Ą‹©ś„ňÖ†łcęM`ZşR}ů…ůµ@;¤Ć°ß>Ćar#ĚΤ‚˝›dľš)ëiŤď¨öĎ1M4îQ“wÇßVł•Ő™RŘ÷€ó#)TôťÜłÔ±ťŠ:,¬ßNť<řM˘nĆŇřë†La´ŚňŔ–a–”Ŕŕ`şAN#*Ú’˛ ×JWK2P¤˛@4łŁmžÂĄĺŽŞ bëWÉŻśŮŔ˙áé<Ĺ=ßĚ?8ź˙Űľďi^˙ďéW˙Ď_˙7Ěâ쪟Îâě.[@ă7öü{ĺPąŞéA<‡ĹG¬¸rŻÎ!.€ţ°s-Úm“+äBp<€@ŕFNwNöŹĎZg{/ŹŃÚYBčÉŐw_d•šłéąX€Ä¶°sÓ#*HŁ1ô)‚ţ#*§P“Á•]Hń)@C‹ŕ˛{ľµü'Nßá+Śp˝=ľĚÂf°@Ä2ŽCűčń2Ű6A€+łŢi÷űXV 8üčúc•ĽyŚˇJWiżź(#J‹Ţ4˘e¨n=ť!hŽ–‘9-B»jş}`Žň‡ÎëôŽDP–÷tá±{‡č˘Gtî<#4Îo°Ţ”ŹĘLŞüß`ęyť+ço†r8rŇĘ:ăŢhb``(mo#)łpŚľÖ¤‚‘Ż‘Ď^Vchűˇ“ôĹ3)[ăČyŐÎ\ 6ýżk¶M"ázÁMO°AYŹi)‡#*mO1šü0Ä9ßZb^/YĚÄWđ[† ÂŐÜĐĐ‹ÂĹ×L‰ĹXI·˛–ĘIĚ‚"D÷R5Ž)9T*5ôŁž=k@×̇„3â"-`ô¤ĺr*+L§=©d˘űý#)!ˇ`ŕÍé-Ő€O‡í;iÉuĘ‚:‚ÜůÁbHŮŢŐjé65§4Af~˙{¸vßFĐłŚśýŤ\ŤŃš"MÜkÄ/=9Y€˛ZX¬·n©Ţ&·ĄéĆu3q‘˘»»v›_pmQGKŇ[†ĄŔLyü[ł}Ţě*ÇR)‹vB‡äabî]{śt±aTn‰UMî˛9Ę;©°˝`4Ožb"_°ô˘}@´ů¬®j.>šÁ‡đü”ĺ,@ďbqP[#)v—ş›kÄ] jŻg=mzť[\“$çXsÁŐ˝‡:*,ŐΤdąZÇVT#*2®:$f‹GŻNkL+Ń#ĂPV3#˝¬EĆai2¸pdĽdܧ•ź$ÖľÁ'łűć`íçO¶OŢ´,M• ,ÚŽÚÜdUťL‡ß‰`—plF1ź·8Ě!˘ˇ–¶B¸ţNű‘-M¦#,FąÍY™NP±|…˘|»ě©ÎoͲ)Ů|łl/cŇ€,Mź2.•O¦^Č,%V´*µIE$|”¶A†uý–h§M¶›Ó hŢc?Ż6ŔÂ8#*†ě×”öżäÜkŻVT]ńě“/U&N4Ă)VÖ„*UńęrňęĐVĹóxE{v7,än@ÎC/·î5ZľN±6MtOWvúi{Üşhłvn‰UDň®îfn46›NÓ÷_‡‹¦•ő.gcÚ>§)ÂĄ4PďÂ[´Úiźmˇ7şĹn±ÔôN9K;I•/:‰GÎβŰ8±yą˝˘„ŠŢ)¨!ćşĹÔ„nˇÂÁpšUk`¤z©¬ż4í°Í¦¬r膗,ëŃM;ńÂźŽŮÔo÷L‹îÎeç·0¶DÉ]WW߇|Q#*·ř–—v¦\jqÚ–Ĺpµ3?‚I|Ä–ŹîŞśu…ŘŃ[đĎU6Ţô“Ş\qZ ʲ…;y7¶ô˘¦˛ÇŞ‘8Í"07/‘óiÄ›ÔpřťłôŮ&/x#4ë#*.†µđ]Łńm›€r±ŕ ÜŁÚ–8ÚHYN‡Qf.×ÇĽG7ć˘;MŐ3;ס٤›ŽÇ%d÷Ź÷0u´*"Ëní|i_ZŞqV!%¤G‡Óv‡°¶µČ=”l ś&IjĚb˘ĆłG$öł:śÔŰťM{c.Î0‹ĺűCá°ćspé˘7€ť›sZ˛ăöBösa¶g#uĐ;óĽćqśk ó‚Ď1…Ą:ľ«Á.iܲj‡Ţé2¨8²űšcŁŃ¸7@[3iCO ¸ľĐnJhĎ4NÚýKÉkŕOŤY ]ä˛w“ý[xĽ8ŮŰĂ’#4dÁ䪍EáÜ_í>\톫5*eťHÇôŰ`›×`ÜËÇŽ‹Ň˘űŽE%Ş(3 aĂEEĐÝ*µ(Ů?OövóUĹxWŐŹdEM9¶zuĄY´‘|ÔŘΆ®ĹMvÉ—'qa)ďz™}6 yµlf„Ş9D0A#4÷$g#)U-$qk(ČŮ($ŹK)ax‘„–SÂCźí]j>Ý€nTjfč[˘1Lć>ÚB€3ÄšŚ§©łęŁ3HĚúö`ęĂd#4pź $/Yí9ö0*+ţ§”ŮJŠrü_iYÄ]3wµxyχăNp.U&JqáXÚ—m˙JgŢ»IMUJ8ąŇ:ŮKŽWť|M¦MË;™ŠĎ W§)I1ż×Q¨Ç†ĄłöÍÎż[d˛rŰî_ŽĆk}ťěz×qݱ +jĹ´p:€)ÄĺÍ@…Ż[eŃţÝ!AŚĽGVŢ90ZŽno”‹ÜĐ×WÄŹ|˙CŘ€wźßhţűߣǏźô7ľÚ˙|AďŔő«‚·ŹrpĐ ^ŕ!ŃÄóžď})¤vŃ#^wšä÷§îlźž#4čÚß·ŢfcÄ®8=zu˛ĘZIřŕÁĂuBęXţűö‰#*ۉ›µ.]†ËŁéyż× X®C÷ËK"řs;ěučďÚ)íďŤfĐ_ŢFri‡MD{çeĆĄ†Quŕ7/'WÁ÷Á&§Z:˝Ë&é#*B:Ô‰ˇęj+/ĺq rLir%ú«NŠŻ„ß}GaÝgR8”I@ĺÖˇ·Q&Ś…"Ę?%:čł ¨Q’Ăáä9ŞŹě‘#)ŮĺtN•Ęł”TlÓÖ‹«3öű˘Ól`šË–±źÝkę‚ř‰üHYěm„Żoč,YL‘Bţł=&͡0Śi( ]94„üU‡Ďq§ŰÓOČŃşa$Ě’÷L #AĚ*0’ËCŕ@ýđÄ!ĺਗGHÂîÍo^ŔSÂU×˝žähH© /ŞłšúÖo®á_ëÇS2đÜuôęý™H…vH)h°X´ü5ÇŚ¦ur)]ěw†,tĎyB˘¨\Ď‘˙Ő0µ9/ęĽ`´wä_ÚąˇÍ#[bWyčłwęm۱ů#4đ•@Y‘ý»ö‘i[ÍÚăčň0s¨šüşäÜV">,ľ/I!¦äÍ‹!ѵĂ~cÍᬩmŘÍ‹xf.éL&’Ű´˙Fŕ–F(špýnҨčC‰Î‚"j/w[ąŁ^OJýĐŹĹ·ˇĆ{'žóőić\q ĆqIRםMëm:űČ^cÜĘŮŚŰ®÷ĚKRdÝdóŞrX·ćÚÜh~˘˙ÜŹqk1~Ë^绉ķłűBŢë×ŃyÉödŕw°5ć§ä"ę]ÝDęWČxsnÇŞŁxÂ"˝+9őĺńŽDř™vűTIŹŃ„+#)ŻB‚¨’ůT9OŞ<&Ń(깣°o퉥_ës[ŠI’I/úUŐŐŻ$’sŞ,ŇŇ{36ć2d#4+ŢŮy›$ŢÓ°î®ń=ťUě”…8śţ#4Ä/ ×óŢç8XŤę\Ł%řCČN~b )×M{Đ»H•<Ś™`Ë< bońĐ”PÍbHP9ŹÁ‹šSäŹ?SÂ|VCR©MwN>űô¬*µŔi)©Ť,çËÔśaYţc<źű·8@ÓµXä¸âIĎ7aTÚ›†Rľ'çú4™Ľ#*ŹrżůN3.´LăuĐő—›é+:č*=#)ʤD_1§¶ďM]ë2Ąv :̬“\‡ŮU•ë3ĺhŇ$qdMHŮśrţ9Ť×3¶¦g&˛oË©ˇËÂ(3żĺŻ]ÖV&ĽľŁ» •ÔžsË|Fňfř¸Šźť&’Č‹Ř9ŮCeWŰĹ%[·;rˇ"ĺΫčľmÔnk’ßż(†ÄŰtś›útÔĹg>ጥ×ßQRôŚ@ďÝ-¸““› ó:-–=řJ4ŕňż6 Őá+aôćVXüúß#*ÄÔŞ#)㙲‰Ą–ýk:„˝íŽ!µg…„bÎaZç6×Úßsj.üĺ!…ŔLFL;ˇ?88,™ýÂßËGŹ—á÷H_˝NE$úYPźCőö`ŇşěĎk,GŠŮ!‹Ó#ĽmbŹ“ôş5íŰ Ą0MĄ–g…(RărWżĺś´Ŕ¤#4ăRáÇŚ.ě…ýńŕŐ^~\&„3Ëů!Đ‹aÚ Ľß,Cŕˇ6W+…fđiĘĺwň™Śq¸5í©hşQóŹ#4ř…;B«çžľó˘Ś˘ę%ßٵźr¸ŕß'¤[ŤËÚĂřQůťÄŢÜmzÚómă#ťAÍŤ˝¦—źÁš¨áf®[IŞ?ÝK¦Ěžj•˛re‚ß“â™z°—FZ6»u+ň8OęV¤˘ž8Ą«ĺŹPĎb®˛Ýą"Zą›ZwŘ©öđ>žöÍmB¸RÉb›\-3cÂt;i㼻–ČAŢ֨ݹn_¦INV’¤”YóňÖ•ÁS¸Sş”Ť+ɡ7ě—2•IŮrŘ86±ŤÖ>öVł-Ż?ßĚFx˙N ˛Ĺ\hľŠEŐ<«]Dš‡řĘź§š˙vĺ*†ĺ–Îĺ¨KMÝĺt´ÄIeie‘µDëJ»Đ2Úî2·p)nÖy×p“«Ai¸şÎŰřČ#ż˛ÂiĽhÖţog¬jh}ćŕn,›’?±™Wţy{÷h‡6#•°®ÝŁŞ1Î)8ú™µřO:ą$•ZŚög±éą,»,ĚGWTŃ-S>ĺJÔ”šĺűt]«#*k°?ĽÄ“‰4ćŢuc±xÁÉRjüŻi¸ěŤĘY™Uw˘ÚśĂ(·ź[“˘ßmŁöLK°Î-·ĹR ÁŠüÍ2c˝Ô{ÄŚ´~:zą§ą"#*ľę#*Ďĺ’_–#ŃŚC„‹šk6§–şŮ„ÂŰ”QPŹ|¤Í™sł«†{Űa¤Íŕ#4wD>ŮW€;±uüYI˵0ĎŻ«ËÖ´'#*]l]uřâŽUîeÁ8%Ć.Mó›6áćS“ě‰<:Ŕ)a?äi±%GË”©é{6Ę/8Äp ľď4~!¦®!#4rĂźä«ď`ęĐ\Ç1Šůyń]űbÝ„ °M®’ůŽÉl/nUí´kĹ´ů·4żnÖŚ¬śśźŘҨŹo&ă4©ŠĆ‚ŃyůIQĹEËľ’±·*4#*Rć‡ů(.ľĹ[IzAď۬“ťµĆBÄ›˘ÉkÔÓń|ńán>RŰ8gÝ›W<|`k]A¦ţĆŻń$ôžŻÂ¤2ě•NiŠ>"ÜĄçB7»,ÜC´Ŕ€GNé‹3xĐԋ̢¦YT¶¶CXk„ĽęG#4[ŢąbśmçEă˘7†#ŞvŮéÄÁĺÚZÔë‘Zľ–žÝĎňłtŘHzĘ«oFJAęśp˛î¶ýÓđ&MŠTáŇ#*[OĽŤ8gŁ8YKSŻ…ĹO¬ÔoÚ°źŕj&ˇĺÇŃŞ×ţÄ]]NN·Řµ¶;L3ąâAk'Ăŕˇd&č3vę>)4_$…kQ#*FöW]‹ő+*pĐŮíŤém4o—ç^S?˛‡ĘË~đĎŰ›z-ţÚí÷%‡¸4Üđw#4Ç#*3†Í9Ô#*Q„SŮb&ŢĹwúMíçÓÖIěźG¶yâű1IÂXPçY7ôÜ»äžŔ,Üm»ý‹Ź° ”WŻ®*t+ďŘ…Ö`Ť×_‹5S`Č`¸bv@,a?m˙Ľ×úűá~ë'rx‰nočÝŘ:7–!Žĺ=ô<“k&˛YţŇÂPOô$¶ V<óA[îBĹ8ž#* ^Ř\ômłUř®:ěŽQ¸*}đU1´\˙ťQ}~ř×{ńßKđ˙=yňU˙óKĂgYóČ°Ź#4›)DŘ[{,ËŐIĘ XwPĆŰ!_jVöMŢ6ŐŤ¶ÓANŤD6ť oÉŹŢ»VéŕĹžl§ÓeU€ÉęĐMŔĚÂÂ<-®S…P©]sł<,lYł™6a˘“4żŁIô·Ž®Ż˝{¬3Ř˝űJ(Ż°HëŽjÎ%Ó„9/ľ*1ĐÎCŕ®29ô]€Ëz &]ĄÓę:ĺö)‡ýҏׯbˇpŐ!îÇîś|˝Ž"ďâXß–˘śWh4t?Ű;9LBˇÍçsŇl:öÁŚL)F˝ÎăGŘÍ»Çű;Ü%î×É_p¤ reŔÇjVφa1ďDňšjZ#4“#4íű‹ł<h±‚!ÎŞ`ż#*˙÷áż?nÝĎĘÜwţ?ÝČŰ<Ýxň˙íKÁ˙„mC«Îĺ®v⪖^vń”ę˘Ý[Řďvý>>K»s=–v˙hĄÝßÓ[i÷w÷Uşűç©TŁ7¸ŽąĎYéîb®Jw«•îţánJw?““Ňîos?Ú]Ŕůhw1ף»éx4ĚŻąđżĐí¨ţ·DZňy%#)óĎ8ýźî˙O67ľž˙˙űď˙ÖĹ5XZ-sňÓS^[R¦++ŃqĘ@±eěÂŹxÇ#4ëU róULGO\gži¨‡-+ş5~Ů~ŢÚ9:|ľ˙˘ől#4Ľ‚®Âe¸ÍţcďÍiŠő:˝ŃŮŠĽ”CO÷Ź[{/ŹĎŢ´ŽOŽ^ślż$‹ĎŢ`ÂÖśřŁ=ľěÄAç#4fëÖŞł†&źĆý5°żo˙j_\6ţ*VŤ/·wNŽZgG-”-ť3Őj‘›úV+܇ő1„˝8|E!čZżźŹÓôÇÓ]#43Âh?L'&xNLčŃ(`„Ç1á(ŔŘŻ÷řÍ~íŮ˝=Ĺ_öŕł7îŃçöţkřjóGkçÍ‹_ö‰dçî!ë0ôĺé›Ó\Ř+HSů„Ż§ßÂ7ĺI#)üP˝Ăź÷OŽ_îžÁĺ~§utÚzÝúyďät˙č°ő#4=Ůű?ŻöOö¸A—ϸüÓŃáć]$ç˙9|MA˙pëp¤Ý+ŘďÁ|çîlwúáŔZ;ÇŻhČf˙ó´őô[JÇ?‰Hű¦[ě=†ßĆmIÔkÓ÷Mo”Ń7ţŕaµÇ#4˘_L»?şjSýâ0ôb Ää7…O®¦7çJż8íř†ÓŤodčGLPČhř.Ź¸\ůÍá%a°ĽnSžłü“[ňô®ą%đ[ňř/śŚ~Ů0Ä!Wü}E_ä’ëĆ?Ăř’¬‘“PĐK;)"ëgŇg!ÎâŃAZ,~Xŕú{3űŹţŔ‰©q˘&(N˘cEă# úąŽ‰â#+©a†o߆ôÔñ]ŕŔ„G¨ÄűöKŹbéĚŕźáż\ÎK˙r’ú»«p5Ł6¶y)ŁďL9Ť‹-Y5ĹĚň죻Šµ{ÚŁ!\޶űF›-gť¶šµČJSqţRŰüÓ*ću¬š‚žeq!¸>3TôrÎ0 9łĆÖ#TnâĎG[MV{…”_˘›gúůp?ÔęłC‚L˝%Şx(mNĂx8±ČťL˛ÇtČTy»ĚMÉ#*,±č$C’ČŠÄŃ+’»PËšç¸, o˛ŰNH ‚TűÝ0Z´úp=aimIĺű‹uÂhă, I¸ö.jzŐĐܧ_ˇGaS4g,–{đ ĺ˛Ń˝eS2;rĹ#4řv%Ç–ôçg+qW¸QV .mŐ+*˛žMşI®vŽŔ~±¶†ŰŔŚşdFĺzyVAz-Śä®SsÎq¸~mü;ęuä{OľS©‰7gełWZŃv¨«‚Ă}1nߤď†ăëpË)ëv5T«¦Şwž»#4鬬ůOËÜ/ßƤZ‰M7!'ˇkŐ‰µ¤•˘ë}„Z‚LZ=ND'Öýsbjńť®EI®ŇLOçgł6QYÎÍͲV›§ÓnóÍz”Ľ‘Ę1”ËhžQlN łĘ\Q_=ÓĆ&;Ş9ř3Ş|¦hb˙†ć"ţŁá?—0:3=Ëęz>Eř폮biáĐk|Ai‚P_–íľŠ.¨YI4$ÜËî2ĽĆĘżůp)ÔD:hWÝ5u¨#§‡ŹUđ/)ăŕüéXě«LŮťŠŽ[řjŔ çÝ#)y127šéP˛ą$‡Ú—âvâťS)iů¦wýn+gş‚găń?^đ]Εë;]_®óO|‡Ú¤Đrý®Á%4“"M`9€kOÂrŇJLČĽär˘µZx3ěÂDçTX%ó›„ MŮTëgäÄJ+ťµ;“ţ]#)l"Š¶*‹ŚWéÖI)ÁÍ4›–—Ó’váRwÝ}Mˇ>ÄÁ|ÍÄ躎Lž%4šŁšrS&Xˇ“ć–¶:6Ą0}•ą©gZu~`!ypyš®W†×¶_Ś~biĺ0;§ęw)ľ…t<öşSJXˇEÓ’2,Ňé¬AUŮKRŞćÇs]čE5“’JG,GBÇ4ńIÜ\ŹĂU~~aO•¬V,Y‰¤?şŇľY†?vÉ!Zćßq´pk*_Zo·±Ţż‘Ň\Yqç Ý?”uÍëwôř„[‘l[G64q-˛d]‡hMřoJ#*Ü»ŚčŠŐâi¤ótĹĘQ:ÁČ°µv`ˇŹ¸"¦˘¨6ŮîKo…ń¦2““T™ăM‡×í#)%—;Ł1‚7Ľâ(Ä+«Y˛ą˛Ş¨G~Íđą€FFśłčşa©¬ÍdsŃő‡šÜ¤ĹŢ@,SNżnÓŻKúÄÔzÎfgíi<}Łk:)'&«Ý”V ck¨rĹůĄŢ´%Ő™‘UFm|v©#*N,űă\(±¤Sf›6'ŰZ±Î?ćJĚ° 8{hÎj8†‹ž™ťŢ lćąĚXPď?đs#*:Ąžm0—öŚŁLnÍ”J]7ĄÂđŃÖ„@äD#4¦žúŠç`čqˇ/ŰqřU˛°ł/îo(^Č@.Ś€Ř°uó™‰(áČŃOL‚qËŐfkţţȵ4-UU˝%'¦}´dL/cEÉ~şHŘjk¬[ěoLÎŢÚýâüÄjăô´®Ý–NÇ%bÄŚ §d¸ĺTä„ś@yjáŚ#*¬CŢLÍ-2µů‰©„¸¤Řňnň…üG¤mvgÇ/ş,*ył {¤<¸¶î¨Ź^ŃgÝŘüÚľ´[¦‡ép‡đq#/붇ěaFéäeťc|mGűžeçŮł˝vmé†Ů‰Ă7{Gż„¦&XţŢ…`‡mZŚy:N·ČP%Ťr–XgW©}Ŕćgd|.đŘŰŻŢ,!¬d6í 15lnä[–ß˝†±Y}ęúXöFäTO›ńĹ‘e…t%ĺ¤ÔďÖ1·u%NRŮmAö`’lÜ!°…‘T™1’ŚlĄv9rkň–%&Ţ@—´şfÂĄŢžĚëřuLKźsęÍ6“ňa|MÖ`6qBZdĘ|Y•˘–‚1}J’goh˙ô}’¬¬ć›Tv=ÔŮ…•0LîFr8ĹáE/…á0ÓaWó·a¶č±_F_ůéŰčŠŃ#4`˙|r„Ú÷™ÜLěow]€ýÄż+@€şpvÓqď–|$đf- l~«°ŕßYěđz´mb`âQăU×Y)2egżflĆČCŐ™ÍDR 1JLëlYµŘ_µí ł¶¦ô‹ś!eWŻń‰í”ŇŞ¤ä÷úęNK»c\WPk#4`źöü7=JřA8ů%©Ś$Ü!ůžrĺPoIőpnúŐ˘L—¶8šˇL}d¨Š‘"®¤`ďwdÁg«ç¶€¤Q¬něŞT¸UĎĎŮt›p.q‘›p‘ĹłPéŕąí‰÷Ąz'\«ŐJşťű±DĂŃ(V+4^ş‡ĆAw·3‘= ߣc\»ĺjŹÎŢĽÔMĺ©3őŔFř'Qľ_Íž!Š„2´MÇ,‡,°’đÜĺőâݵ˝źĺŇ4?ĺJ-ô#4Wg;}¦{díCdĚ®fő+`Í$,#*°¦ÉÍ@.îpŇş2ŔQHţklÓóqŠ&˝îIáZ{=śdÔ×@±ą\-í±}Ĺ.D¸¶fjÚWŰ"j),,µčŠĄ˛r™B`î…^;Ź/Y…ŮÄ/Ë9–‰b«Ý&¶8…TÜӛфś0ąó2qÓ…ŹEő”O™<ýĎ+téłé'ô;Ę‘?ż!ç¸=ľłŽ”šź* ŁĚ®P1˛·řÄŞÉ»`ľ†Lň“ë(Ů˝Z„ľ$ËĺÜ–Ů5™l‚ćÇ6‰Ů ĄMB—ąpČË;Cq»—+Ţ0đ,lÄ\°µU¬NŇÂKCńL3ŢŰ#4Úíš"WÚÄjÉpĆDMŰVŹBKĽ©ŕş‹/kľIK®Łr§™ lšg3ÚBUxńµRv@†®őĚkySłŰ$úPű$±t™@¨ZŕÝ)áŻhľ•m5#4|˘!úsÍ\¶NÉŇÓÓ;;TšŃć\s”<ëM#4W##45çCł$._'ĽŚŕ•Ä @‘ł2ťˇĹ޵k‰mżI@EtąÓŐ\@ŁÂŤÔ‡Ë÷SƦT á*x4ďlÜ‹Ż@ŠÂ}t¶ău†RPšRÚĂqyE/kIĄ“Ťň‰+a¶ib#i4žôřH#ĆćN¸¤É{Drp“.UÍďF²ҀůÉŠqCчJżO;¨řň]Hv®úŻXeŤĆpĄBć*ěürß+†Ż”Ă+jôT“¸[řpBůcÓLů<8˛h? ś„+«ŮJ¸ęʡ8—źSˇO7—„- ŤřU×S™$ăäžç×ú‚Ţ™Ń)Ë]1ďI\čÝŞîśßmż˝ćĄ]“ëÇhÁ—•Ä«n2n©‹<ŠŃŠ¨,4żsexŹ1ţ´qÝW‘:?‹ćđë¶K¦ĐÔ/*aTúĹ}/ÇJ|—n<‹ę Ą‚‘»ĎŃŇ!î“ߡHŁ‡ú翅祻ŕż{Ž(ýš”¸7š`Rr=вbűYr]ďŁv®ő‘ Ĺa˝t˝¶řČ-ˡ 'Uś}ß'öfáô§ą#4•¤n5SF©¨»hD¦|şl›´9#4Źź!Ĺ.‘Uۦ©ŁŮµÍ{D©©N#)iUÁß"%g(*ËĆÎsm^ćÇşĘ1ě8çnb^ZµCyĹKŕ!Ť}ÚŞFDśďä:ż·-Z‚‡÷5ż[B‰ŢÁűaĹIť`Ye‚Č űŢ"jŢ ě¶`ç8Ů>yÓĺÝ7Ĺ0ú#=gßĺJýňúHˇ„«fáÄ`’O˝0úĎ8ý>˙o@W”Ö׼RŹ$x»M›–Ţť<,}ŘŃä·LçüÜDĹWĘ٬°]—żhďĐąŞ@´s?ÍE)˘cËł?&ďBéťaÔxkąÉÜŇ`ö¬µsôM€NŚÜM&üuę—¦h@MĂâ~¨ęuY]Ż{ë#ËVÚŹIi•`“Bď¦&Ľšm0ĚDaöQěoŐ0t6+úÂYđ¦ánŞéÝ–§‘fE 9Ň€©ľÉňRŽ°í±Űy1ĹF.ë,^ľsˇýa›ń™ą¨&ˇĆqtߎm2X#4I¶jZQŽóö µ0K–\/ź*+_çÚSş‘Álo ĘYDÖfŔC™%fľ™¬‰—xp-(14¤™aŘžâäŃóYÍ#)+ČOúOôB˙5JD0¦/ˇQ辦j®‰ôŃ)ÍżŁôťÍ[źglĺµ ×fÉ-Đ›#*N\ŁĆ¤¤îŔ&‹ň¸·?H]á+ČI \ť˝‘Ş˘ąÜ¸ - ů`©dŮNöÖpÖŔ#4mÚšűď*ŞŻŻş¦âzÄKXŔżŕ–Mża7‰ŞµZqFşBHĺ"'dŕ^#4"+a_NŰă.ţGÖÝ7Íxk–÷‰#esź0§ĘE)PŰ0//ˇ•6—O˙b36¶ Uµň®Ł†NuP+jN#k°ř €Űs̨<tQŽśK¤ażPÚ^‡śqúvżŹFŇË4n ‹Ęá#4N rŔô®ŃçiЇkĐ7Á‡oI™Y«ůý©wŹŕű˙Äí3Pţ¶[bű+ŠĽÜb^83fąňľrC¨ü…á6®f\ăUWü˛VăqBptţQ}^ą|}çů‹Öóý˝Ó¸á;Ůq0O)ăW©– ËvŰT~‹Ô~©#Í&őÁ«‹˝D‹`Î/›×Ž_ăSëąÜ:>ŮCËś2çÜ´â”ËŢ*xdÉżBäfŹ˙ö »Ü(‚ń9ďűç¤)e›ŮR;nĹçÉ5Î÷IŹŃLľŢ#)F»™ś—‘đGĄÓ&„ÄNĘüYh®K’P@i$Whg\¸*ažc˘ÉNE·@V3úÇÉĹzđ:Ć#4_7cˇ)‡C˙Hďśď+&eţi*ëŹ#4/%©i©Ţ#4VV°ňv°âÖ‚ľ@tÎśuGĐ1™Ä„;ÇÇbŠÔťŽDwIÂb2Uš‡v÷YŠłFXĄć€ô攨Śî)ň`wn;ćŻ#4ż[Ť=ä'r|?—Ău#4;aľ×ŇQ+(ż‹)(NŹ;ťř˛c¬ţ{öW§‡RbĹh"Ŕ¸ˇÝ—hśG6˛xámŢVŇ3ýµ·í8ţWŢ,@ÜßlÄ$)ŕwQ‚rIk‘’I,†Pę|}uÓI:ľÁĄ>!1ź(ŃĂ-ń!ŕ<;ět„!Ęő\-lµöĎöZŔ*Śž%mK‰á–—ö] °ćQY=Đq mś`jâ/_í´Zaôý1:Šşťă#4ĺÝŰ>Rei}§S ťoˇK8D_FťÎĂ^gÔBTˇűŞ™§AŃéßµ5#*[?źtry› 1:ô!jĂA˙.ŘÁŚQĐńŹ\]—`°ŇË`g'´ßţO€Ż~â Á°R×t´IgÁ´˝ä?T™ąč˝ť‘°d"łoř…GD›CŐ@Rl– UĐČ“jěęωúDz‡WĂĆfÓ>â'ë‹-]ł”…5ţů´‹ňBďvŔ˘ËŕÚi´•íĹÍőď¨ţ=ĚžĂŘ1rd,°můHm†B.OŁ×ô°Űôë#ŇŃÝ>>>ŘĂŃĺ[…•ź0¨˘@c_ß$0„łyŮHŮ3Zż’iďŕąÍăgůq˙đůËł$†#\öKúe˙đ𳑇‚,®Źc„žy¤a=*u_›f˙ĺńÁţŹ»ű'ą–Řp·Ąň·WB> ĆItl·Ď©ÝM»ł>«&§ŞÎÎ'bËÁŮ;¶Î{‹›I-?,Qĺ”C” ű'B ˛ĺçťlH‚[äĆ60ăV®YDˆ)ˇ1kÂeń‡Đ©ÓKĄńŔ5Ő|AÁaÔ4OŃ=>8Đ`-ąn÷צ×s;;Ć 4©AREk˛†ý»ŮŚĘWÝŐ#4â°›ö?‡ă’ˇŁŞůÉ›±ě#*ŠpµęŔvv›ö1&÷*P]ŚlBŠľ^îťp?SKřńöŮÎO{?CŹµ 7´ůĐuŽe™ő<‹Ď“üK™ú~Űń ¬CP!ĹDű°Úxe˙Ç—Áë`çáÎ۵·kőÁϵŽż§~ö¶ű z[§oěrú^‰#eóاÉ8Ëy^»Ťác?Şg)B"@˛•Ä%®A;đÄ‚vĘś¤¬ŁĐď:!RŇX´<g쨊<pT;ô9ľ,޸‘×;†ŃŞĎ|ŮXţüŮQŮta=kWíŚŢŮŇ8ä‰Fšl´ŞTT6éĺ˛`¨‰€37¨‰jv‘Ö™,.ph}ÂŹekíęĄ 5ý¨9rÉS>aĆ°÷mµl2íö†ő?üú6[‹~¨AŤŕGSň×Nôkí—ářúôj8‚Đ!E?`˘ął5ĚMČÂ|tÖ±z.–OĹŹš‰3y#)J§ ^ŰYk¦ÝÔůŔŐŇ}Ŕ1g€Ź1ČÇ+gtÖ(V<•˝ŽßŕÝ ÁfÖŰŮ:×%4ţ<;—“R××VoĐ›Oý’¸d“ÖËÓYŹąFű†žz0·ÚwÇ ‹x”žÍwĆ;[ČŻ?yuŘząWâ¤Řó|ş˙˘u¸ Á{—~D^ ±§]“BĚhqz°3R–5Ňż;C¸ÚÍ&µÉpÔ˛ţťŚŐ˘•>â.ä˘Ejě»;¦·ńögAA4T“/‚J%¤t†ź°Ď]Ň`áă5ý–›iŇă—eś+”ÂeSj¶ť¶Â/Tš‡5áY\!|"ŻY{=2ąnpŇfŚ5Á#)Q-Î.I4&mÁÚ/Ĺz7*Nq(2ÇBpQŞ!¨4€šwaSkCŤg6—WeŁW%îc{K~CGôQQÄ„#*şÝď›4EBóŞUĺţI¦Ű¦8#)eĆnšąŐéE±%–č/ŰA#‚ř”čW¨jő‡ťkĄˇ‘C"·äD,2ę˘ô‹2I¨N‡Gg-XuÚµ´MZAźąú}Â{ťŞH”_}Şß0ŐÓW;;{§§•Tmsód0„™’/Á©×ŢGÇĚETÝ:/Nöö˝íßő`ąJžÖľÓó~Ź?Qź|µ›SĂţÉÂUĽă_GVL«ŮGq‘vGŐč¨äR—©bÜŁAÁgȨ=®#*Ď˙™ŠĹ_áôP:ˇ×i:˛hfb¦n\IJŕ_ĐĐ\=sź·Ç¨î Ć…x;Š˛°/HŮtÄł.÷ßGüz!#Ch¬”5˛ĂŁĄßoqG›m€¶Ë›‘«'Čo+(]ĺŤŃ@ft;ä7ţšˇ2µńo#”7l˘Y9[TTBęG˛ÖŤ=†ĚhÂ%@’>$ý¶'J1™ěĺtMĄĂ›ô¦Ĺ5Ôĺč!ő(V{˝ě˝®6Ńtmkm&Ä6›ÉLă¸c…sŻ`ľ~ďL󒥦oŃč—‘Ö ďTQ(Rç:ÄĘ‘^Ŕń:Ň‚XGŕXüşFîŘ-—€{îÍ…jÉ#4ażC%gą*a“ŠĐZŘs'Ł—rÂ`e5XŠÁůG^ÜÇĂî´>JÇ»~ÜĂ,Nű8ËŢ·ő†ńĎáy&“:·ÉJ‚«„#*¨~#)äđŁ~ŢCVN!|Ř=›¶1Ö±ńžV‹Ę¦™–uŚŚQ7®_ô§ěŢ"·!†ëĎĚنű u lP[ă™sÄzĆs¨Â´˘ă,Ć=żE›«SaőP2fuIiŐli jꆱhĎžěíĘYÁCť»’~L–ŁíA@Ő1ŢPĹX1°s•çEöź<ÄL”ŃNOxŚŘŃę§ nĹ>%˝>i ŹÄXźşbs¬‰®1hSŕ–h9çÎUV16ĘŐ«^öČôTNşT˝9„YŻC}’U¶°ä¸§Řj®€r`ˇđÁŤďa#)qŚhŐă=\Ú¶đ`ĺu0á#4׶šO"4ťG˝Kąö“šľÍÉ••Dź}«u¤l"ë ďşH©y‡űÎN©;9âšLSĐWËŇLÝ$¤·kň®®Ö5ĹůűSúŁČŹ;óĎwéúž]f"#4˛Ü0đ°Ď+ÚÇŘÖĹüříÝĄ VhýÂĚ÷˙ńopţą€˙ŻÇ›9˙ß>yôô«˙Ź/Í˙§¸ă -}ŽPÔÁ“ł¤Î/&ĄUPŹŃě]~/˙MŠa4›†őÎh„´ťý;CőúMĎFŐŕ#4ZÇ›J%śj` µĺExصy˘FÉ—ĹȶN’S#*şŔĹŘŘŃú τʸfn&săˇ)M#üšÍ|Á˛cŔ'áźßĂľř!řóűí“tą…ńŰč—ŕoy”ÚşńÜÚ?ÜÁź”Ń9ňÜ’źBš˝~řó{řk‚hg† řë6}®#*ząD;·*ŔěîźŇľ?›Ŕ5ÂęR™Áµ:±ÓŁŽź®€Żťąî0ţL±T+W”*Z·¦^Ĺí©RQ÷Ó3'¦·îďOŕĹ–Ť“öHjż#*]űáRšP#4ůÉĎ«rŞ|’Kňě%=(–‡ˇ€ť„ĚčŮîصüś#49í`Đa[sŁB,ËŔď±^Ĩ©eĚ ŞYöŐQčgô˙Ő=źf˙ŕľóóQŢ˙×·Oź~ő˙őEž˙q™pßM.8óŚŁ.ąđ×ňßüXűH…S›JćăŰ#)ŢSz#Çą;Ě3%Ą#*)o?{t6ä …ŇĘmžŠ˛Bh¬FfłŃ—Uö2 ˇlR5ĘŞŠvv^»1fžE—`ĺŠpUB/ĄÚrR5…DlŇ©ď2>ÜV¨Čšˇ©`Á0˝łi.JH'ßâČᚦ1‘—ß#4‘ęłµKS#4¶-f®čź:+ţ·đ• y‚HČ°€÷ÇW§-:Š_´ÎŽŽPßűůţë„»`nĘ—G»{ ö‘śH…J”š!˙xđj/ôÎFbSÓQ(éC°ľ.#4î%±RcLD·Ý˛$XUL ŹůĚЙ|T&»Jű}~ßąĎë·uy€]—Ö®s—3FEľđđ«ßî˙ęóź7˙ĎÎĚ?˙żĹ˙ňţ?}űÝ×ó˙Kđ˙=Ěâě.+ăÄm'ąđ<ÄŢ8ő$6Äřó¸{»÷„řť|Â]ěůät>ÇĽZ®žAŘż vFýi†˙-cńăA°˛łĽ_f.¸8#*{Ýŕř®µ?čMzí~ď˙Ąě˛óŻ.ę9>¨«Ň˝{Ü.ż_‚ ĘA(Dů5‰L‡ä‰îžž±wRŤ{,»źVŤ#4’ ű¶±ŮŚűńH<†~ŠDŇ»ű§gŻÎöN[ű/ŹD „ńéö˛É”^o —xŽ‘:(c2|ňĄožÉ-†KĽ—[rĐ Ł;až$ů d¦Úď“oŚÄgtTĂüćě§#ľýF|ĹĹhlNENŚ’7‘˘»pÔěA~©xZ&őCaeýŇrLšOęř(×6ĘŁ?HCN9T v™ľĺ›oS'‘ĆÇ7Q,ŰgB(2çQ!ţÓ0gO.&Ł0g†Ňč¤Fö}BśCĽ:;Â{öxÓÖÁ´ŕń#fyţ¦e~v Íd¶˛=ńŃé_Ľ!Ž˘ł+ż_Ý„NN'–§žB7;ÝĽ§Řě ;D“aR {cE<pç]7)ĐŹÇiź}ĚNĆ˝Îubô~|xˇß\vy)eö™Çovňľ5FwĆ:FĄ:*¦ęTwîč®+ĎľŮô<›|Um…P‰WšŃkśXO®D@Ô輋íČĎQ~úô#*y¤îëÂńU¦´ŹDˇéö»iŘŕĂ#íťźČ(v‰0‰.ţjl?nr[†ç˙L´ÍµµŐVÚč¤÷®Ó†UŠ:ó*Z]§˙CĂĎ«T•fÜ *§`ÖűÔÖC]îVrJöžĺ÷Dă{!0÷@ěCřŻd˛I´Ŕj0DPW2|‚‘ż ¨LZŤĄXľVDŐčî^H«Ţµć‘»•; §¶™›eÜ•“Y˝ßž:W<\QT¦ĎyÓM…ůlµÚĄI¸Ţ cäâ*˘8WÁ|ôbSc°ÍB5đ(tűcß•'#i{ëčřě?©ź5—+,,CŤÚ—¸Ü[ł‡:UŠHe\g2¨ *×Q>ď%ž¤bj6ůŚ§`µ&+š;~ł÷úĚĘä8‰ZˇO{ĘpZ3ءç#44°9Ű;9tLyČ(ĆÜ´;Üśb5Ę«B.ŞJéV„牮‚öQŘŰŚĆ…¨lCŻőΧ“ÔW%đř[;eń݉eîźj°ă˛ŃE`Đ&÷b'ÖŚŃÉSŰ!$üÝBłŃçöÓ›sRíŇÓ>×Ä{ůăŢîâSŹRçŤ|˙kĽhq‰ö3ć[PfťËË$ŕ-ą.)e+ ˛ćÔ±‹óÂćó.fËK""d_ď’&˛Á¶]ˇ˛é#4lµ‰©ńS®ŚĆČÖănm5‹˘•U䀆YËş1T¸vÎwÓ~ŔiáË흣Ó×Ý˝ăŁ7¨ÉŰ:Ű>y±wĆŹ”Ř v”錣ŠnŔrW4¨B%µb^0†Ź«1×#4.Ź™iŻµ¨Á4í“bÝt0Í°Ź¶Ěý/XáÁZď˘ áĘví>¨şµöcÝgÖÝ%ObWí=1:ZVđédĆkŇ#)rJ°ôpn…j‘RĚČý^TĹŞáą“$+á#4ˇ˙ !&}EñD…+ˇŠ‚Ż¨šrz‹:ŃÎq6j˝¬Ű»4:¤ĺůH˙,˛Ě¤ŢąĂĚĺP«Ť0őł>Ş}ťA_a)Ú×[f")Š)Ŕ_`@DRĆř›ˇŁĚš§2ŕ?§'†"'c˘lłČĽ$h››4ŐĄŐAŕ„1Á%ŚĂ8§Ü&“ÔTÝSs‹Jš/Çnyăg“Ď×t8i?˛á¦Ůć"źKç%W´˛ˇ˛őuĆC¸÷[1˝Zbfśĺ”ŰR*ľjµRÚĂČP9EaôŕÖ…€Z’‚ú`±t8MŞRj;-±>0Š¦ˇ/\ řVčqˇ€,h˛ŕQ€">F§Ąä!q‚Dx’žđîWgĄn\3çÓŔôl–ě ą5¨ ':ě뇊3ÝN#4ŇTă‘d-ŘŇ^Ž+Ó™Ć"ť{Ŕ†l˝č8JX^·=\“«ńpzy”‹ĆłĺľË#4î$éßŘq˘˛Ő»Ĺ9c`)Ë˝|toxsé÷ě]đ'ő0Hą>ˇýšzEćU–eŐ´[K˙¶ő."²ŔÓ®8YŁxĄ¬.6ž•ÍĄ‹ëŕ!,h!¸âĂ-+ŻĎĆpÖĘ}ôrĘ[ü"¨%ďć˘7†Ňk—ťN\®Ĺ{ö ŘĚVşmÚ¦ĺ€/Máţţc«P&Ú%CŚ»óŢ q--Š¸G#)· {B Ť™q|ăKďęÁéQ`ćë™áźă`˙pŃߎßŕČŢáöŹ{Óź¶Oöv*¦IŠ!¸k|ś›Ő2—( ĄŠ—2ôŤ˙ Ł"¤$ÚŻ‡áŠvasŰtĚĺÉ´›´_a…ĎÝ€ŘĹáđ…ÍTsúµő[˘Ü…‹L𨾂=ÇGŇŔŁ4aŻ÷łř.BoLřjđ˙€_ĽŤ§)ÚƧ§ž.,¬'zşXo±wΕŐ#*¤bˇ±DňGóËwe@č,©ćę^Ż3dKśšĎšv]ČŃ’pZ3ţµ9†pŤ,żNŹđŠ0Ţ$a]ęUśĽ2Ş"jl=jFeę#*ăÇŹšÁ}ú.#*<ě«™ Y…âL¨„#ŕť#4^Íntę&k^Hą9¨ŹĚJl#*EçvZ/GÎKާQlI'F˝-[ZëěVš~t9°)ÎiđŮî*ťÉŞý~cöhă;|őfěBEďşiA#4m0đďHŽűy'ýśăŤ5ř(Rt–ŠsL<ävvíŢž¤‡hâ›-U腫҆ľŁ„ …n‹ĹS6âłj'‰=ˇb˛Vd"n"ŻÂ±e/ß<wçŮ{,™9ć7*v¤BQĽµ‰ă†ď/€'°ŇŻqĂË(FÎŐőŐ–ÄĆeE{öYGl6ůĽă…w…FË0^čXam)Wײq˘¤×jîbÔ]?ˇßuŚ»µĚE#4?ŘDč'Ţ7ţŇśšił™=Ćí~’ćTý¤bcfKJëŤAM€ÎŠ=ˇW¨»óaIŮă6Î;qX“mŮÖÔś÷ÍŘĆI¬…7áĽř¶ç‹[BÜś@•éUËodfÎç"-®Ž9 ŃÝź€5ľĂµĂßFĘyŠ°¸đ”¦‡H®PW*o(ĄG=ŠşMľ¨2ôĽ™;bßvÎwż‰ŰB~CZÍ)“Şž(.*6·.*ÚŹĘíË6”HŔëvLäţČŔŠ/ĐîăŇfc𧴸ßZ6„ ç:úcş0O'Vö¨jSa ógć§BPýőűv•®{E‡©ţ1/¶tPPgqÝaŐ® Źł}DŻŮVg1Ť WĺőŢ"`˙żBŕĐ«¶©äëú› ö®7xüč÷ď&][Ż›T‰`Ô,ŮL¨ËŢé$N*ĐNČ1ĆÝ©0ĺuęźţ„3=8<:ž˝:Üĺ^±@˝¬E˝0ÎDŮÉYRĹ×g; „úi\ĽW˝}ąvcS©7ŹóÂĆ Ć7§Ű^» ¸ŹĚÎÁSĚŢ'a–á5†ŕ(9ěTjÓČ'l“Qß—%v^®űIBZ[Ą#槤pýb0\GŮg˛Ţî÷ÚAŕ\Vĺ&ŢŁ:Ż©‘pôó«$f†ź\)•Áj™ŽZąÉn;+ÖąžS+Äp+#4Í—§?ďH7äzč>MľIo(^4RĺĘzÖĎlҤĹb˝đ $¬c9#*ąůµ˛«ö8íšďGú#*sYŘŢĘ…ţ»vi1äťCi÷‡ŕÇńđ:5;«‰ –ű‡ŕE:É]Ăwß” ädN$Ľéỳ}Aß$jžď}#ăÉtDţ)XneAř^u^ˇ6 0ŻŹNőöíŔÇÝ‘'A‚D膀_SgEČ;kTW.iĄHĄ™)Ę(ú‰Y„^K##'ĺŇ^ç1}”$OâŢ,WŢÎËt6J;¸p?Á˝vJ—>ć?ŘŹ·N˝šĐ#E lDěľ6˝ŻGMÉŽjÄ.řŰfä®5,Q:«Jz–pt”;)‰“5¸/‹Ł€ň ¦Ăčóř Ąĺ;˛Ő#4Ť#eHoT#*ôť#á°ËsÚ×?7IżTŽf×?nů†XS¬đŢéYLŁŹ\JV+˝ŚW|mě.źn{ÜĹŹdĂ$Ëcâú‘›×Şß_§Ęă@,¬VÇVÂęzś,¬¬żvżŢˇŠ;iąeçŞîqźąîVHÓŁpa_×}Űź‡%í´ž’I‡čŁ%O2ř“Ż„Šš€yJzšśŢD¬Ů<7¦¨ÔĘ`;é]ô:Éf|ú óţ,µ0łĎ4„¦3ÍFśq&©áŔŤ@Ĺ-9Y?)LĶ´’ýÉMʇ'±ŮÍćy1í÷ݦuÓá{›ŐcŁĄäo‹ö„"č"ďf!çQÂŹ]QŠŰgjlŢ/_vŘhŃ"‚gI@î_Ń8RĹ#4#4“»@áp¬WÂĽż‰\™=ô41†ý®9Ąpl«ĽĽěě/Źv_Áälďĺ1‚ŻjŁ¸~µł 3Łćo‹ď˦ŚÄšŮú â l®1Ľů BÔU;lŤŚ”;Ţ#*Lp´,ÁQátp#*<4¶®©ŕ‡¸ÂŃovŽ^ńzěf;˝6”Ť›č/áÁ®ň›×C¦A“Y<č!TńÂ~Í.]†Ăt@iY¦\49Y“T>HşfÍűŃĘ#*Š—yCYđíŃöD¨ËźÓđźS»Ę÷ŤW*{MfŽdשüpÎAΦ‘Ą*AG›ôąĘäď?v–ń>łôgŕÉÁô¦öŕ:rpúÎe0häˇÓ'Ö$j•\Ô5{#)Pç^Yökr/őHއPŹp‹^É Îá–—;#*q6ÓŰ„TÇl÷Ćď?Ä]%&JoKиţ#4şĂ”ěű˝ěâŽúS4Ő+ף¦Śă‚9Nq”jçž˙Í–’B4ü#)ś#4P.yěD›~˛rđ”6‡S9y{`Í+b0㏼5_)¶éť=šTFW,iÜÓ&)#*5'áFĺnbohř#4!&¸ô=ŘRU/·¤‘P%r"cżPĺ? ׏$l'™SŰżÖ±ÔĽtCN'{¨Řŕ,şŹ®Čv#)ţĘÇ#4ü"&mŇľ¬Epîn;«ŢNIÓg˛Ô« Äç~$đ;ŁČŰ[%iŃJ$©UĘZ¸ľNĂŽb‡l’p§´;|\Ń_ë÷nKŕ{°ŠWi”„bĹl„Üçw“Ýen#)Sµ#†Š5Oá1#4»LlKr7Ă9uşş#*?nH聯‘Ω«ÜđsTNÖWPřŐśŔ&úu›fi ¬żŕł4ߡ§.[qMÎ\•ÚÓÉ°˛>fˇPeDźaEJ•őĽ7hsç)VˇëHĂĆÝ®Â[˛s˘}ËŚŚ#*ŕâö•dɉ˝Ó:~t[8ëhôŽ‚5TµŃˇ·7…˘ůŤ¶ű¨®Ź#*\ NVDŤµBă7W1Ulwˇz÷5dm˝ľ˘`|Ĺ˙`üŻbćýÎřOž|—Ç˙z˛ůô+ţç˙áo«Ł{CŻŹ¦‚âł6s SŔ: ÇXfÄÂřBPőLú|zAF07íYBúd/|ž^öÍ`ă˝ď!šn^ Äł4Ľ”‘Y#4:/$Ó~)ť^(Wł#*"´Őc1R7í÷n’]Śsz)Oß+Á”AŮŚ‡#*q˝&v.X·oC‰4Díó—›Ó[Vą†÷V×RK\’ŘÚ*čŞ#4Ő5©ŠÉ€MBä«ăD´…†/ŤĆpëš’î’±b$ÖOL]’-”č•Âí•Ěk6óĂ|ću›/Rgq>ęw»OŢ´Óvë|üć&?(©µŞNˇó5PĹżÁĹ|Cn_·ňDĚĺZfĚú¦Ńp3–^%sJO˘0đ•ô9ué,k:E|7 i-ŇÚŇ®4Š~`Š{˛7™Ű¶6Ű´‰óĄTVÚ_×#4ˇßĆ˙ýks-Z‰TzŢ\Ľô47˝ÁyËĽŚ~ŇoŐęJ3Ń´—Łń“ćZR«ëBÄ!ŻůD{rÝĆ|›MÇ$ć÷ ÜëČó«‡l(NĄ¦.ą!6kŇcň‹n&&T ůůşiĂh-¬łµ„`^…AO-0ó"•»wí.ľ’h3éĺÚ#)©Śm#)őŚ.ż-awX7ypA…!ä.ꄶ!ćYDž\#*\Éň¶?×ÄQ[ĂřđTO)ťÝŠ›–ŮôĽÂäBĄľŘ$dŻmµM¶©áŮ‚ž'PŻ'ńg#* ĆésY¬z„“g8짲tK:IéóµÔ ĽšÂ É:ŕȤb•Ô)¶–/ČşLň©M*_-?•Ą¦ XůLF9?ďäÇŔô†d2ŽŞpu–·˘¤ôodwm•ËěÖLBEřUŐđ5–ńę“MÄă9ń‡Ľő’40¸iÝŁč8†pÔłľFĂQm#˛ó‘&4vĽ’Žs…‘~YZf §\˛˛"ÚŐ96Śaj–>&3Hnť™ůjeĽnÁ˘C»ŽÍĆľU8‹ĽhĎaX~ɦ7H¸¸X‹}ÜVÍţşĽt9žö®{úŕ “Cľs«Ś#)=PÁˇ‚X„#*ˇ#î_Ď}‰7lŽ ßËŇ!„żÍIHy˛ÂţsîÜŢýďňń˙đdóŰţó“Ç_ď_ţsÎżůpŰăPÝK&1/0Žíl–”g]®áA‡nÄ–jçőëĐîI—EąÓťÍâËNÇ€™9«FĂ‘5XÇlF{äp ¶ eŹ5śźü łÁßÖ?#*ęwæzÄ0ľ XzoľĘ(ů‹G2çő†ż†$\ß_Íč•Áyk€Ŕ] dôč»#)—ő@Ťo•N;"P)O\zj“>łÉr„˝é"]„rT q?vď`%źô¦x?«J´s0ŕüI˙đs‹ńÁNş8Ţßá~rZ‘:ž• 9EüŐoVłz6‹&B@WĐR™”PiçĽÜŢůńŐáîÁR,&đ4JĐŹ¤ôK«+p:#4›^+˝ü®™Eś"čźşĐĎÍkŕ_{=`H]¬bf—÷8JäĂňNČnżO‘°°K˘¤+ö_Ű™Fž~‡ÓÉ:竇”YˇďJ:ĂD*%ŹĽëř6±Î»ę#*W´ľswůN”Ż°ůU=SŇ1ą–!Őř*Ą\“ŻŞ¶íËtýĽťĄ¤é\Ń-a0Ąę-ęăׇLA†\ťłFčýšť÷Łű\†S»BˇÂaRĄď†ăk¦-ţP0ŻdeŐš¸9ŕm$tV˛űPuŻµ{łŠ.ó#47ČH2jçăIť%v©áßt6B=§°´Ő»M«ę·XěT;Tm×ĺćׯÜ5†0żĎł®Ź3Ź‡iU§Ă9ě2g›?˙¦f-2´j¬tqŁgűČÎ*€^|¸f›D>ĎŹNŚoĺ…ŔZt/(?˛8žš{yeî%Ď}čb+2?Ä"92ČĽ`|ŞôI‘žbpŃ% Ůr}[üŻz˙ŃËţ#*7Ŕů÷żÍŤ§Oóďß~˝˙}1ř˙W¨~›}©Ň3Đ˝˙9Ç@@ŕ#ţűŢ‚€ë"SRÝýţ‡ŮMßhę%+›őŤŰÉĘ«łçë˙łňĂłĺďżŮ=Ú9{sĽŚPů+8}sz¶÷2XÁfA?ô‡ťv˙jMž’1íöČ|¸{¶›=<Ă98žÜ@ÎzwŇ]zLĆ–»Q˙†"ĘłĺĄďŻÓ»g;Ď$–üQÎîFé÷1âYâölűřřŕű‡ň‘Ëö"ťěC#O)2źq‡@“»Áů]đKű˘ŠÄiďr@˝™Ďţü/źéđčl/źîě§ýÓ#)ţżĽŘ;Ü;Ů>ŰŰ#*žďěĹÁľ<ÚÝţ¦Şü=«Ň“'üÇ…j\Ţďrď}˙úök=[ĚOĽaóédŔHá;_«›ŽúĂ;”p¶`S@ ,Oj±ÉŞŔhB2sFŐP”É˝´Ř§m5 Ö\q˘uúqŞ‹V×jîBĽz‹FŹĆĹ)óÁ%ŘÜrŰěöĆňCć^‰Ż˝q‚8•‚—MěÍî)i§!5ó¤Ó; p¸ň©áÎp0a×»áËvçč”®H”ÁĺY<Ş˘b-ĄzXRÚŮbĺšÔŹ„°‚¬Ö~ťđű‰ˇ±ő4M®źńŰ2㪤úus-Ä^č„m¬Ť1ÓHZMUąGđŚ5Ę‚®¬ş›üB“!ľj*ĂĆ:a>–-/V+f˝wŐş`ôł©EsúŹ¬cÇP»žv ©ÍEG46ŁŃ´OŞPm¬\‰ç0îA»+´"Đ›ŤńB9ׯÇĂmčď^‡4ń2|}¸š=4•{HU{ČćöË‹#)ĘK™9§#4›qç#4vŃp9úîÉy#),QÔžßm`Ů–¤"EZg#yŤ~?YŚox[ňţćĎy!Lt?‰}űĂ]ËŹ’w´˘ĂŰvż×Í%&{#4‹űśŁ?†ś`Mł§Î[Á‰<ngň~ýÉcí™Qćvń˘gyéŧć×ŘHôÝł›CĎ5XhJSÔSzéÄ?ÔŞŮRT¤˛ëéŘ.un@Ű˝™†BŃíGÉ”Äq„^ĚLz^zřâ´úŘク˝˙ÇţqëĺŢçßţř_¶"GW§†…nóŁoÚţÜŻŇůÂăFS¶=›ĽŽo°él’Ľ#*cnU6›öŢ8„ž”Dđë!×ęLfąµ%á\„Űyz5›'Jˇ>őé¨-PéŞ6Ciš¸ů^+íę¤|Î$´kěmMř)Ř<E›ŮŻM–UĄM‰–˛çÔÄOhn!źçřůíŹĆÇďô9´‚č{ŕţ« ÷É«rPµů™˘|Eš‡7¶6§«˛Ü˛,Fż|V÷@Z›L˙{ÜĆI€m5ÚTOeŽŔ_«xçDteĹ#*#ńvźůĐî¨2Ná…ĽÇSŠçÎ$ďS¤ŕŻ‡ďđ0ťGwŹj9×$ٸsźk’ČUŤ÷ę9•sNßĹÓxˇ¶…mW™>†Pq·Et骦ŤpµGŐbчáŤ1OZö˛÷ČÉ$€˙ęxIjOjH|T҉ďĆ=ŘĐH)ů?DţwŃOg€˙ďGßmü÷Ő˙÷—"˙+7 ‘źřîSˇĂ¸¤^—Ýyęm˝ö¶\Ă’ňťvś÷z’÷ „”Kŕăv ďG¨^&ľ˘——€ŰĄĎŹŇňŇ»n‚÷°LZdëJşşr(Ěff«RW®ŮĚ]ł¤"ł™rG5›-“3Ř+şé&F_Őɬ[3ŕ9őü`ďuÍŤ¦“‘ hÇKmuávAQď`${í6áü[fČÁ!ÖËÓ7§ěy’iͬň0\+˛tDúĂV%Đ’PŐă0ă8Pá^÷ý"ŔŢŔ=űV›®B4ů[{׍E§GąÜőăM{é$AťČ‰ĎżÚ=Ř©9żż°—HJP´,s˛.\y«s….Xí#4'JŹQýWćL,ÇL(4îĂ):NÜTŤ™^ťŽż4k0…&Î<áíAéřĎpšńőW§{řĆůóöÉi#„yŠŚ^MĄŹĘÎfeIöÎí#µ)ŞŽVŠ˛ńÉx"úKc«2=^yűö«Ţ66Ö˙Ro®˝}{ÎŰ·t椳ôĎ+±G#4ý·4扝aěęéëÓÝżáýOPßZťĎÉÜsţ?~ô8Ż˙ůôŃć×ó˙K·˙#×ßŐG˙Egů˘ă°ß‡¤}n5ÂK85&ă6îâ˝ŇćŠí«‡{ů—':#*Ü`§łůIţŮľmĎO!¦ü^"n÷|ĘÍ´PjŰöĚEžŽě«MrߣÎňŇhe˝s¸ŹÚŚ‡|˘ú‡ÜşřtcÝ°őv¦[Z˝śzŐ±!(DŽ"0;B´“¬V‘Ţ°ióµŘ%s<jźŰÝ®Ź._uTmA¨E»µ…d€…ś…űĐIĹďXŤ n®…qˇţqŰFf%<Ľ"ŇjuÔžs+mqQ¸j*ß|¬_µŐ±AÍ#Ř”‡s¬Ë-z¦‰#42ĘČCtýĂ•Ý"#)H™FŢ=ßQ#)ů†´ŤE¦ń¦°;ˇžťöôŃËăý˝“ÖóŁ“ł“íäăđUU2ÔdęI”aęÂíó#)€›vŢK›źo„%Ę!•gtéT5sŽÁéÚ}Q«#4aµ=`źăKůiŹpY9Jč;U‘*UÉKĐ*[—”ë&ĄĂ!ćŃ%H axQčÄÚ@ěÁkú@Ŕ:Ę—łYgÄÁ˛j§cnˇ"âŰě«ŢŘÂ˙eÓA§ó{ëm<Ú|ú]A˙ëÉćWţďK±˙1ŁFý[,˛N§T}¸Ó)1#4;ąäîě„7«—ŐA,ńŚt?– śA«căŘN§nŁ¦ Ă:üTÂr•aNg›ÔŃĐľ…ŹvţöľĽŻŤ+Yűoô)ÚJH«ˇ%/IŮć#*p&s…Ň?ˇ4hłZÂb‚ďgk;[wKŕÄÉÜ{ă™uź>űR§NťŞ§\#ˇÝŚŮQčçXíÚ†G»hw´ËÉŤŐcqetÄŮý'íŽj[´Č®Č±)škQä\?Aëgtą7ę6áTâhĎgîŞ ňkQ¬ M‘¶(r‰ćŮÝ'ŕÁĺ1O«<3µ´Îw3WmĽůń/ď˙ÄýÎÄČ}fŕýď'Ď62úßO7żč˙ßŢ˙'·ŁaýęË}ŚżĄžđ:[]YoɱB.ńĘ\Řl‚”?¶g{ˇżąE»·ä!ŃHżÂÉM4#ôGŁ›ŕ}7†Ł3Tx˘Ű}¬"]ň, ‚DsKk~71qĚJ˘Ö¤Ô+rĂŻ &=7>ňx%<»‡/Qž˘Ú—}]2KtÚž„Ě‹ä©ÎĎąEă\‚úKŇăú^˝?I”śÉS§(ÍL»-ĚŹ|ÇĹy®‘Ü)†ÂşëšH}ő-żq:gcc40ŚiBŤ*?ÝV˝łîwXrÄčŁ#4łd.X驪RŽ%ÝŹí[ăĐ/•"Âç:s/µîťÝŮ3„OčcuhĎ‚ô!!Ď“Ë#4v–'Iuźĺo0+ţrc#Pvk:jGĆxé:ĽAŻýâ€ôíăŃn‚í#*ʅѵʒŔsŻx8<fV›b#Đ—M®†0„ŔZxŚe{úú3ńăö–ż“| řŐ‹aŇŽ˘#*D¨*z%4iôúí$i\¶!χé•oŕ??(ÇŢ‘M‘ĽK#)Ŕ-,‘íÁ.Ašâ$ő=oąU!QÖĆęM…čRi„3s]›qą—K]” ëÁ)Íë,u˘¤{’nżßńn‡SčQ`Ź°_'řHţµˇ‹)NHîŐSó{m˘:^-(ěGSćž~śµöČĚ#)§^+Ţ)J×=*"!¬W,0!&„%SŠ'.ŕ#*Ř8ޱˇćÉŞçĎKoŤQ·5l&k´öq‹xqŐ˝"xy5‰ –_Y¦=üĐgr‹§âÔŤ»ŇÁÍL ńj27ez%ŢäβŕŘ’0ýIŃ˝š%wĽÂŤcx"íĎCSp`‘×.«7Ł"d2ĂöhQYÜ#ô’-;Ó:QxńŚ1 ‰h)ŁÉ8_T™đ\Ig'V.›UJ҇…ĆWFăvÓž”Ż…I2•Ű-y/›ek•É¶ä“0 TĺČ÷×L˛Ö=CÚÔ|ü‹Łą+Č#)¤1¬jŕ\5nÚ**¬đ¬ąĺy3(¸ĎËŰžŇb\s×íaô°ť+ęf —8ý®.čÝnĎxBŢ^ź=fţŹŕřşI2˝ ”%ČĐÚîřŁŢácĺ#4O‹–úzjM‹Jţ.©ÉQ/$%ń¨F4ěxŔj´=´ŚÚ¶˝W<GlëdŰ+á:ć-ü#4ŐGJ÷0`Ýt¶©äsĎcB}&;/~&.ş6Ž†üf¤ă¸ekţ;ýxI+gąaCíá4ń†ăVďhÔ6FŘĚľ¦t…eÝRýůeë#)bu|ÔÉ°U#)ó‹l¨#*Ö+b‚b¦0Ż4f şÉŁđŞř©âI#QTGúXŢ°×BŢOëăVˇż»¬ öźă±ÓĘu¸˛rý!P~/$÷ŁŤ±EŚ¦±uýAŹŔ,ŠĂŠ®R`b&ä¦ŮUg´xp_ŤŽŤĘĺôŰ«îŚ÷!(ű–Ź#4U§6«‡âĆB”ৰ”,č[ÉťŘ\á!‡?DŇŤŕÜgÍÝŁ:›;U®.{Ă‹lG˘…µŚÜé«LP)°m‹Ú‘ ŽĐ¦ş"\ó•M‹_©jŮ(;•‹ű]ĚÖvÍ–‡i ŤAâů“CŻ5D^Z#>kÖ4użęzQqżˇ4]ú°kˇÉ—%Ţgr“ÁbťŐĘ<ĄGÍÄC±Bě‘ VAvTÍ|TféMdwůvŞßµŕĺ*Ú|ŠÎ˝3D;#4v€šŚť ćXxĂ<¬h{%qŇCÂĎ.®Ďńôv…ăĂ«.7'3Tâ#B¤ÔŘY”§ô:çŻŘewMěÂÜEš«‡Aëqz{č%Ř%#)ŻŐ\¶áś#)lŹžÉÔ[“ęrŘ`íľc#)ąWČ6ęWîRݛԕ؏ŘŇyÜoą‹Y¤ŇKŃĚGH͆=ĐĂĽŹˇz-M6ÂɦMŕ$D»Pˇm”Â7ĂÉF–t#Ń7đ$ŠžŇ;íá˛ă i"fM`“#·–QŞľĚ´A‰±"ŹF×ÉŁíď(™Šű5>ä[äÄn‚Äő(ŇP–‡^‹C1¶öެěC‘cP±ÁĆLŐj“Ř…Ö/,đî 6[˝őÔ6^š+ŹęŮĂôŁjNcHzѸčÝz}ŕvÄWÍŘyI›g%{’?(eű3Hw4Ť¤ŁŃŹMRBŢ«hKWÔlh.Qw‡cË>Gfˇ HŚ¤ÁHHÓlüˇ1Üø e¬ł‡xMÔ±YöLµÔőyôNĚ°bóMNlVě~^ěÁĚX©ÍŢ+#*†^2m^ńZ#“¦Ü3(_gř`˛ü{ÎL–4‰“ľq÷RgD‹¦;#)Â,z6sD\)šeMślŁśďň)7Jć4’Ű#*ly;°eŻŮŐ˛ŰH›Č’ç´®ż¸%†SŮĹ/¸~T»ŃäiÍÜI`C°îŠĄáü8·ĘLâlC€ŘŁ_8eąK"PŻŃoć#*P„bĹ…ÂČdáË=ŹÇ†\j{ŘEÉ>'>ę¨ŰŚä†ŇqBN…ŕ—PsĹ0ÉC–•„P4É"çÇ"Ő—ó`"‹2“LŤť63ĺőąŘŽeľĘ‡śt*‰ŽAxéÎâ¦rmuM/Q!=ňY ‰ŽT@«ĺ/:aŃ´aĐ+°'-‘ůĎ€Ľl‘@(íJzÍ#4şď§m‹7•ŤÉÍ˝ĺK<ă-U¬|çrýŔ4XÂ8NzŔUDZ%)5‚MEÇ+FLN“I×ĆqÉîW‡ [űş/,ĺähç©Ç<Ą2ç„Sřß˙]ţÚ?÷ă˙®?~ś¶˙zňěé—űż/řżźŠ˙kiůäjöÔ°7Dźşá“ţŰĚÇţÝťýűą4p~“úŤĘíćďĂős:r¬ßOŐĘÉâüţˇ(żźă×Ü\ń»á÷Ä÷u‡č3aűÚNcűÎé‘L‡ü6dßOÂőM·}Ncú~Ú#4Č ůţÇ°|?’ŻÝWBň}ŽďçAńµ«öŮP|ař>Á×áýź‰ŕk—’Eđµżć!řÚß#ř¦s"ßtŕC|čZ^ÎÓµĚoĺçĐÄś‡ßűEGóŻ§˙Ůo=Ť'Ŕ¶ôGźőxĎůoă1śůRöżëë›_Îüä“çÇÂéŮÉŃák Ě|÷ĆBÖÓťźŞ{1lb'§/骑\µ“ŘLg1転˛ŤŞŤř‰c1§ĺű*™ ÖËö%Gž®#}C)„¶ ŰS% )=ŐÔ·zm˝EÉJű“.űŽąR:ćuÓŐ]™Ră Y•TrŞ.ů›TNăýÓ˝ý“R2©ńűYüöhŻZ·µLöŹDövHF)›8ĺ@#!‡q©dU:äç¤űďvThşŔ®TZÝËvBŠB©¶DNjV#4°îÜ–J·†Í8¶nÝ…ô‡ľlWżźţw›ŁćźŹ˙´ţí·ßfđźž}±˙űKĐ˙”zűQ`x9›}ş8§ó=ţŔ|Śă?ČXwˇ#°.Jďcý©B˙ŁĽw¸ë˙Cw0n'¶˙wXůűßÍ/ţţĘř/xşČÓÖó]@;bĽ%›Ł\ň+ă¦đ‚ă¦a5VÜđâ_ĘaĽ#4ŠwmpŇěž(q}äŻu†tŹi%iŁ°kÜśş‹‹«) ÍęÜĽB#*0¬“Lcl,đ”¤%Т4ň,—°%'qTădőÂ/mÇ9µ_z±őKÍ;źÔWJ_Ý-oňÜí@WÝu;ţąCîňotď "đW,Ąî¸ĎďXL}Gňę»Ń¸qŮo¨ś*+/‚ódĺëŕΧÂÎ?¬Ę—ýÝŁĂ»—űgowŽďvßťśťÜ˝9{{p÷ęčđěîmőôtçuőlçĺAőťn쿼;©ľŢ†řźw{Ź÷^ýś)Á޲˛˙úđ褺»sZ˝··ďÎöö«#4hF_ÜÁęyRQAĘ1yÚçë4—Ś{i5B(âŁčÜđÎĆv™‘öł=.5ÂTČ7Ń0JĄ)4Č˙˘i#`žíפ„qôŘył*»Ů8ÍŃ"ŮŁžN€<>ÁájŐZč.ívZÍă2›\^‹“ăMŤe®ť—Ě·P=>‚P˛ť@[ńéřO9ľu4ŕ1Łä"ĂŠväý+ÎŹž<řßĚĺ×Öţá.>R°ąţÚ’Gť”W8ľÂ Ą{6|…‡ŹľĄ}yđ®*ąŽâĄI™YvźĂaŚ^1Ž #*ţl¨ČŹé’ĆegÂôÄ…óy[ĐŞo©ArH4š‘ßOnšľArĄ“]a“(µJ$ˇLÝT°[i]"I4Ň6Pf2äÝ"ôO-Żś[\ąë9>L˙c0%lé?Őţ{ýéăÇ›űď'_ô?ţ*ňżE€G¬-Šef(aeˇC§ÜĄĆ!j…”[ż1h%!PčęĎŐÝřřčúϱa…DEMČ%—ŻŤq·ťŤŚP‰ö¬Ý¤B“Ę„ĺŐé6ç'•T(IĄF7`&iÓFňÂô*i{ÉčęEtmJŠ÷ °7Qg¶Śý‰»%k˘đEŻíµ“†ťô@śŹ™LćĆ…ŘLŠ$¶ŤdKÖ#_esš·śdßâĆŰONěĽ%NaŘkÍ‹î±Ĺö üzwWăß@&4Uz¬3.şĹݱ<’XU ΤîOŚéövÎvNŽŽÎööO>Đ„•’˝>|çń赆Í)2zčěk仺ž›ĘŹĺĹĺ°Ł¸vg-&‚ßiŁçŤ—ÜťN\řX€:PD§.şéNt˛˝±łű#đθ))ňŐ9m9ÚĄ†·nşkď§ýů‘F-žÚÇ{ŻDJ8L˙Óć¸g”ąQa!/łŚfŘł'ŔG|ÁG‹ąUčY°ŃBřq§Ą€‘ˇóY ş$nOćfľŁÚi‰ŢŐÍ°ĐUŞ$ľxJF7Ě{šx m"đé—ű‡řś5ľZK)2uń`q«+üp"?}c4É/Q4íA…vŽŹ‘u»F¨ś•9Ôţ¨×žh4#)˛ÎY/,}¸‚ĺ& ŤUáós´ W¬’R6†ŻFt¸Ĺô©#ZĹ„ ¨z‡HĺŔŢW”«łĘt„ú·eŁőe%Z>hÓ¬%ýA. Čş\‰”L˙9i°ş×üáĆPřfŹž-Ł©luś~Q>#4<ŚĂŘnźg5c¦šW'ŔvşX±A;Ť†óOŠ*SŁş“)-äNŁŰCy&*¸÷şjJYüµ—Ľ\¨Č}†'aÂ#)§˝Nm^ŢŞ9zET…“"¨z@p¦Ö'ÂÜśĽ"Ńa˘O¸}C'ÖiŃ-«âíT^v‘޲C6aĄ,zp@ň.ÚŢe÷¦ŤŽNĐZ¨X.s2(ű¸=k`ß›đčë7Go«EAĽô®ÉF}DŤ–2"PB§ř#4H˝hbńŃ‹Dą‚y-§t~e&"[Á9quŹŰ¸šür?B}#*ĐőcpÍĽnÂÖ(n«ńĘŻhNßghM‡H°űĂD“ČĚeÜŮm+ÔĐű׬dÇö岿Ş<#4MĐ×OÓA#4ĺf.'Z˘ÜRwzQűç_ź˙ZŞýň±ľśôCŘđC+ł@ścé†e»;Ö•ŽTy™®˛‰Ěő•ßpţ뵚›ţýßĆł§˙/Oź~űĺü÷×Ô˙oŚĂÖ§ßőáÔ]๢ćcĄôż‡”ýůe!=µ B{Ęőéŕâ¶1e§´Ą"[puÝ{»çÝlVŠA•7Ňxä6: ˘Ágs&¬KŃÖB¶ďýܦ¸š’{JÝę˘e_ĄÚŁnjő$‚GzOŁtî+;ŮţánĘFŔQĚÄwGő^â(k#)źM#)´mŔžc€Ą;¦ÚXŔ(Ô¶´Ö꣆ż÷¦şłW=‘ë–V—ł—4ń‡îä*ćS&&}ĽÁ›ŽęĄ7{'ŘÜtY˘[ş—.xÜF–7ž20ŰíÂxúő{/xičôe+áY7ĆľĐŇďŮQW_H˙Ťéú˙HţóŻűč˙·Źłţż‘˙ýučż+ň#$C%÷Ë„vŻ‚h§ĐFv#4Ĺäü^ÜĂű7›\_J 9rź [ÖSĺ¤içô´úöĺÁ~_NާGďNv«äy\˛@•{AgI06©ÍYFĐGŰńfŽ§MĽżk'I,¨¶WͦĄhĘ˝·ÁĐzŃB”Ĺś§2žŃ˝:UH°–ü#4Vol${u…7sěcUyöW+˙H}/,Á”CĽŞ”CE 7ÝhmŐmjńÁgAĺ?űhy¤Ę€ŞŃíű$ßď-4!TµSa-?»Şä@ü…‘¦Ď)Ţ>Gţ›Ąoˇ›©Ş‰tô¶´5`čsĘŐ_ŞT#4\Ű 3ŤÖů§ŚŇ>tů"An›Ł©¨łč=ŽcU‡GÔgŘŤ_˙Ę‚ŞŹŘ‘_˙ʬŹ%(Y⨢ň”ßKôMž“ĄgÜ•#r‰Ľő×fó¶űçč7ú¨µ[÷ńV]<¦Ăż ł’ň<F7•cZĽ¬·]©>ЉëĄÂśČĂf°VĺéB:\Tßbä†ű§Ę¸ÝiŹZ··Äu†Ůu[#*Y§©Ĺ[Bî?#=´ľig϶“f˘ú‰©ĺ˛˝™0˘ Ó#*†^Ź -1#){#)#*÷•óv=ÔřµÚ#!ĘGˇÔLd ¸1ŢúÓp*|ÔOí¤y+óÁł†f€™>äCÇĄŔ”^3ęë;} *{Ő—ď^čN‰b¤ŇË{uzÂŻ×]ĄÝS}“?vr,ňRGßpj®ú•~‹#)†%×I-=%ż2âHyőQźťgśđÚëŢBâc2Üş?‘.d]É›Ź.±ĐőQŁůPŢpĐ»Ą.‚É»ď}ZĹąÂ# ˘ żç$&kľ)•µźęH;Z?Ü7]áýľ™¨fśš€Ăfjú#*›ŮÉ7lşSďh×™xĂćç]ţäő{ŔäŔĆýÁ“ă~‚˝¤e#)Y·ŐĐ÷y«˙Y=88ú‡ďč)˝Ýe˝$â'řI++÷I†‰ÄŔVSŇĚ$†Ła©"‘ňކĹŔ›ĄĆfżĹÜÜ#)oɢĽĂŘŐ)„'´ŢmPřyc«®ń#á¸ú%©¨ë8ň©×8,ĘŃá˙,í.Î]}Ą®}?†GYƦUšLśQČ)ćšN&f.§ďć`Z7I~ë[¶ščřj>Ź ,_0`€‰7ô/ńG„DČńoĘť1Ţ")‚ţpRUÄŐzę»"ËTSl±?U•T_łx‰*l[%'"îy×Cîm#)^E Ű\†bËŞŹYóˇ|8©Ó…j>w׸»ŃŮdńÄVl'ö˝öÄN†ě1Ş!L-¤<ąeĄěNÜ?ŽßV- *Qę"#*˛®3<ş˛źAŢ)éKEuČK€.cɤ^Y’ţŇ;·\¸ľ\äĘbtŇöŮ…@÷ř˙XßÜĚčˇHč‹üç/&˙Éhýçc„„ó…BŕěíUI…ě+Rp÷â·§»ńOŐ“ÂW¬ÁNľ#4«?ťśy1ńʨÄUjőzěL$(|…Ű]Ntř€Šń+KDDđ#)7Ăn+đ~ő„–}˙G*0…·;ű‡żŁZÜüßY#4ÖGoćř#)ĽD3ô€ż{++đrő.,qTüö§źo~ĐÔůQIgxQä}Ůr#*CK‡K˘ÉPť‡JąśDX€ŢYđ+ůq—OČ#)M”S‘窾7˙˘OřDÄeřSÜVÇ,E1¸Â_ź„I„"#)x˝\ł‰a_sÓřďtYŽe Â>× -‹ÔÔ#@Í_żˇ”6]Č^‹čDçS}˛¤*˘ä•Ę!ű#)µ‚$Ćéŕ$Ö3UR›ýwYöÖĺ~(˛>§h»:~NbáȤSÂö,ĐŮŘ•PŮ#){é‡p#4—Cúëܬ°…y0i,[Zw,öméÓFą2#*~aÉ=h˙ü3;—áĎł™Ż=XšrßkűňZÝbSÜŮ’·Çe°VÂôąŞÜl]UýöѦĹĐ#*äq`–og8Ś'?„#4:•<~ŹáĹú«¬Úu¤C:Žú¨őşZĂRŕO;盛p¨eţç8ćGňn¤^üzf řŔ˛Č)K‡çřO–śôAU|6‘tÍ×÷×j·zäKUßîěžů:µĆ·×IóĆłÓ1Q6ŹC\·ĄÜŮľ-^wúIU°QíÁâ[·\šR˛–ZI!ü‹|ë9ĎôVJđ§ë*ÍcďČ3Ą~7{©á„{:kS'–ôŔÎB:şEĆi´L‰™Ś[Ʊ2Šú8µ‡»€rW|°sňşż:Ůyý¶zx†łő+QôőžOÝdŇŞ\mž#* †ťŇ°Ó‰'·yß™=(MXv€jJ~â\{łóS5¦ľÚ?¨šŮ†«t:IĄUuQŁüý3“PŔ„÷}Ó"[QSóŇ%ţłŰč’(ě7RDPUBUŁ&ÉT¶@€J/÷_˝=‰7’I§›ťůţŕéΰĆäĹX0úŐY“j3Żĺ˝‡+>zőę´Š•;;Ťž=ńÖs§ĺF«ëf~ÖF8«0S°>{’uĄa–áŮU™e’ŔËŔ¤Ć×bőpoçĐYŚ…ä#4ăҲKšÝnÜď×ę^śęúěÉć“ďCüýöŮSü}V}ň„~ż¶ÁďOăď·ßÓŻ÷ń‡LnÝ®ÎíŮ÷Ov1öÓ'O9—§Ďv%WÎý{É˝JącnĘŰ)/ŹhC×ŢžtŤ»uoŐ”Řă˛7Ui_4[°őYuůîű=Şyőq•~ż{ú=ý~˙t—ęňÝ÷»Ořý»ŤLË$;«Łv7w©Łvżýî©d󄳡äđ^ÝÄßťďč×ng–Ó6S#45δ[‡7&ăÚđ "Ç2śËq{DîÖ‘óo`.çË(Ź÷ôµčƲ_śM"ב#*]I%ňÇ~#)ó”@_|T5”73$AÖA÷ě¬×®ö Z˘µ”2†D#F…ÜÓëN&=8ÚdőrÎyĎéí鲺č^ú9ČÍĺ#*ë$’ÓIYY{îq$'Ąs(ÉŢ>ç•ćXjcO›K–—µĆS†¶¦xl1‘p«OKŢ Éî-ZĄH”" »Úôr+že[íŻLŔ"źł=¬žĺÂJÂżpxŤiu5#*Ôď‹Lî?‡˙ă8ůü*`‹ĺ›Ź7ŕ9%˙[ňE˙÷Żc˙NĆŤfű˘ŃĽžŻFoóÔÁl…®N3ě ‚&ňYř„&ůô`EŻ˛Ĺ\Ő˛4â. }qŐić"a±m墏Ó'#*:ÔiÚ×OŻîřţ«Ł“3ű(Ă©R@ĹŠřßDŠ'”eL˙c˙đń¦°ęqŽZ/ľÉ ÔŞľ*Ţ{-“힉aT}]Xđ5yŮR Ŕ»‚ČŔ_÷u°ŤMľ¦°É;Ři;Ś„"yxÔť€Ôť*w.DµŐ4Ł5M:^¬ńÖ×đpµ6D×yuţÄZĹRéDŁć¬Ă×ö|ĆAÎ`cŻńłężąŘ×ţZ–‘©óşËö”#)EÍ€·;‡űŻMp!öšŠé˘f§¦\#4uZ/Á#4F7ů1çç—ńĹ‹ĘxDi|^Łb6Ȳ6#4šîŕdĄrĎNĹđWĄ@ëN9'>tf‚KľxfYS‰°¶qqrP<nŰ`<ăâůĹţ`Ňîť_TVÎ/~âHçÉJéĹńó~ă_Ăńöyk%8ŻĐ{w ďE‚˝ *Iíť©ÎÜ5Ý„iÝ&÷[Q§iŽ›üŽ¶˝á%ů€‰Ây52M`~”«IB4¸hˇPż1i^E¦1¤ä#c…@ŽFׄ⧌%ü&ąrőĐfbÜGéőšĘŁ‚ř:˘”CŢÇSň§ęÉéţŃaTş†?v”_ńű'pľ~A~G‰ÉF( ›čPᶄl<ź„ŘŐ<+ŮŘCv#)<wŘ–K2cwŹßE<:KŚbBÔô´đŕDŠTâóHf$ĺQŘŰÓźvăÝŁ·Çű@šUE- ˘DQ˝Ńé#*“’´Ă'ţ„ëÝĄŞm•×‚ŤÖ“š7ý%w+˛tĘRÉKn–z‹śucŮ!wN|7#ćI@ÓŕŰéő.·Zm@= ţŞ“¨†âOX~Ďž ŠmżżAXňŰýgO&NH·ńxfß=Ł×ýIcĐť˘^n·1”ňĹş”€]„¨ –ŘA4Ä®_*•Ę‹Ę‹ó#4˙ú+ˇr{iBň»¬a˙±}[rßüXýg|p´»s€Ňń7°Ő†ţéŃ«3ŕďŞçç˙~xöäń&*wťź3:ßU#*ç篢űFÂutŞçš€źµBëS ÁF\¨1xß°k(µs+WLűX9»ú!ĺ2§¤8ß_“>Äay˛äd…—^iQ˝¸ˇ‹~ý(#4Y@ÔŻrf©RÓ’ë°HOY±¤§ŕ˝.¬ ęŰgO΀w<Ű˙©ę»šZ&?9îQsÇÍéyXőĎĎýUť—¸ŞmęŃs#4Ä•)PZR×qţ}Úß2Íš•¬ěC˙x<lM›X¶o»IµGJyŔłCÂÂĂ„ďn kŤŠG3_řD¨@líó×Sń» ]ś”EĐ˙ÖĄ{•×?Íuŕů4Ęz›‘‘·˛ü´)aĽŰţ–°‡ňŰŁô˙Ę!ćBq<µőMĽuQťYă|<•˘©Âk;H€DŤ¬Ó˘*#*™¬˛ŮŚ\o¦Fi·ę3Ľ9;V«ÖĺËŇđ_sć “î¸cMÝĚdß'–šĘ·1f»U˘7«‚•ëö-l®„Ň×1l–ś.Ă&ąŠČY9ŐäąnČ+ĚĚÜŰL,HÍý93ľŮąT]]èukú9Ů:óRUÚxôiLÚ›$W–*‰đĐ-]ZTŠ3HŤç‡‚7$(÷t’łe(Ş„žŐÓĎŠŁÄçćhZpcÍ-oż?&I±C&C’8x#*ŹýmÚG-čřěŹ×+łŰĚôč„FvÁ Ćr…fŘdY.7M\¤$›ćáˇÖ Ŕ`ÜLh«ś‹^ęDĹ°ö*ĐqĚ#*;ęu›ĚFJčßł<â+cŞňr‹Ă˛“O ł b±ř·vójč#*;ť¬GOđ^€ďŽ#4č‡Ţ+.'Eo9)P\âĹ——ńgy™T˛ĺeyR0‹ĺeř»ĽüýJ*(xąÄý#˝…)É5GŻůđF˛8ÔW·†H×~’ß]?TM2ŞFV;[mÄ°Á9ÍxŻX„š¤dô^['Ýoz®Ś†ŁŇ:D Ň@¦'h"ÂŃł ±ć/ëČíĺ ˛¤'NşbÂGy‰!!iě`ŚÚÓ-Z¬¦4˘ć˛°~0×A™ěTďKŽv%MTUŞ}·U·˛Ä#}}nľ8xvžŇŘLžOňň„ěDŞŃ-#4Ş…V–Aú,K}W+T<p™—ć¬ÓŔg8©Ě°QÂswLĽŇ~8H#áÓť4©cČTW2Ď#4×č5qiA0Gňéćkđ<uŃ„ôwPę†=s¸„čJZ\jb/’a¬!*ů±µŚü$4ćÝ ‹•yi‰3ʨ€;Ź!ŞńecýËËöŘ@”ň»8ĆN&Aţ°IIěZč.]sľ#şŰëěTĄÜ<‰Gl9E&ëťgf`·Ř—=Qöm…ĆsČ1´9uÉËx:Š*°ŠA¶hŻ„ŃpŤ GeŘ„Z]ţŤ[npŘdźŢ”Łç6'•ńáX—š3§ę$bÓ’űWž\”§YAĆCTŠĄ¨Ë֝ıÔLf¦‚°KëJÍŤ#*§âΓ+r-™°ÚäˇŢi-1ŰXá9™mA$7PUĂ#)ń‡Ń4"‚_Ő@~U°©pdŹŞsTQÜ5škŇÍJáG*ěśĆݦ‚ś>Ž‹µmţMuĄˇ›ÚŤSMŇďYăÚ9zsů˝o*ŻZ¦zŔµňą1F«:Ci.7Aq€˘]Ń4/ÂŃM˘f_BިÓWůě‹ça™*+„˙ÎÉ?!3Ă:O•«e¤S±O9˘¨1I‹ŔX†ĽßäuśnDď“ĆM[+춚›pţąR6b”ॠĽ¨Ű;/oµ±TX/1‘®ř¶`XĐŃř6Źů¦kú3‚Í˙ČÁVŘKß–…:ídrÉćÁ9¤Îó÷éÜëÉľ]‰!cÁ´a˘”ÄYK)#÷äřY‡ôUTĘ‚H#*¶ŁŤŤ‡qę¶Őb;„ŰѬ‘ęaŽ`ü1ŽTšOVĎH&ˆ6ź+én%Ěđ'iÖó`ŃÜ›™˝Řč×^#)_‰ ˛(Ę&(ˇěŐpĘô«Ý\1»=@Ô?;ÝI!BÔ˘zŐňŁóß9™—őEšËŁś”H?›%Ý~#4$“î˛úÜKËśK·g~nqÎůż=ËÉßf(ź‰ťŕŘLZ–X›#*`3ü1ú4cELűp:hU<Z#{®lCYi¶› ă„f’y(8:ľmŢi:x/Śĺ_tk]÷{C®kÖ’†y°#*Ŕaóbc¨›Éô )Đ(:•čUTđ]‚đ(«.źSč:oČy™{jÜ2u:űÍAô#4‚H˙PWŽddć yŚą˝ž‹A9„:O3źu¦["pęh¨†÷•¬ióoEeµ+B#2ź2Ĺ "vn]CzÝI¶ARş‚bH2 ”rŁd«ĺź2¦_ú3Ŕśšńý=…•ęyčw”˙kßŐâ¸g=#)$¤ŰÁkúĚČť˙¸mÜ?ůSÝÎ÷Ę‘3€B..%őA‘Ö#)F:^<eHţ<ŕH*ö<|ý]a|H§ůAáľ9¦Ęp#)VöŽĚÖLLí#*Ę˙Köߊgjţ™ţ?Yśń˙ŃżčţĺüżÝĎ稄: ‘#S_i.4µH'úŐ§3ŹżUcGä÷-ˇz°÷Cî7o/!~ÇŔzjŔqBőˇŃťa謗“ŇéLeę”]N™LĂżÂCłir쎻V"|ăđ«‘É^‡Igă'ëýr0Mˇ˙jÜ4L°46UÍÎ6îŁëéłî˝¤„űÉ™ő}btżŇťş©Ňů0_nFĄ%7ŰĐ|éjÖőáÝ÷Ôą+7ďyú]Ââłmóp[’3`úâ8$#4xĆ×Ý÷Ý[ ôďN«ĺ˘łŕ›0•ő˘ÜˇÚB×±ňţć׼°ľę‡™š0°äĘ(;Íł¤]{%ăm%Ŕű1}ěÖ‚8s˛żJ“mwY9ša›šŃ2ky©@¶B5ć¤"6}‚a?l;–;J&O–»ú×䧿˘xř{č»Ý]źÝÎY:"Áwwm©©y»RaÝó íqőÜҦ±zjz#*ĎŚÄ#?××CvşćÎF5br3Ôč‰XżŻŔŽ7„4űŚ[Óţ…r#)Ḩšf˛ÇäT)ß›€3ŇŞ–~Núö-¨rł¬â×d{ĎpÝzĂŽŐ Ţ*ŔtO™n`ТbząŞ…Dć×™D˛ ”‡Y‚—ř…˙SüßűÉÓ?#)z1˙÷řŮ·˙ßOľŕ˙˙đâ¸3EŃ@+ŢŤPÜÉÚ%x_˘¸ł~Ż’4f*"é°ç7Bĺ#4Ú´•rDr›4ĽáĐ‚ěeűôQíÝWŤ$†äęâÇMńŤ`A»ŠKÇ_cĹüO¸™u=ŰGˇëëŽĺŤÚĺÝŕŽÓ$ííŘEAú4ă'ŽluáíŃnüv‘Ę°Š•+^¨\]ůőBőçłř6Uň~Ü”€wűř>íĘëßĎžâ{“S{Zađ‚Ę.Dá»Ř÷ł)Ók;äŤüËŘ•kŤ×°¤-›+ůq”Ł?lňäú=huJŔŁ8°ş°Üä6çBš›ZŠ¨k·”ŕŽuaĆ&đIdtv!;§?Ć;gxé"#*Ŕ=ëD¦ÂĄŕSjEÜ1[$«¸“®HÎöcíÜX±ŻŮ€˝6JZ#Ü‘ţh8Ä,SüŔ,XőY+-Ň_k\Ăyj‚kś‰ąóľűuT%ŃÂĽPW%Uł@ň$¬a¶~/]iQţ"â˛Rßýd‰›§î{´¨ÂőŁLłĘ]_É‹ÝR-ËžÝöű-`ÇKđ9Ż/G¤xË-¦CýPhŹ4<'‡ĘdÜ)ë¬kěäÚž»vĎĆŹĹÎŤ6Ş')¬3őÂ1˛K#*#)ˇ˛Ę©sőr°¨83Ô˘Ćý:.‰!Ť‚ż·Ä¤őŐ…ţ ř©)nÓëüF"q‚űW#4Ů-\ÖŘńăƇ¸Ő%t ĄŚ§ÝV)µR/ó–#*dŹÓ1Č*Łâ-f«#4ĚĆP_”Z4š<7•Éú¦ŮŚZµňRŞ7jZ#4\ŰŇŹ•1c+TĐX…‹çÔ'ââ%˙—Ů#4ŰšßvzZČAŕGÚ=$Pĺ5cA5©oR‰«rc@uŕH*‰9‡Ůe»˝bEJĄçŐq{ŮBcrLNnűŞiŹ}‡COÝŢ὞:N¸ę˘BrÇ9Č‹nöüesŻ’¦¸.±•!u×yĂB5×[†şĆ)¨RŮ}mCi5Ť$–4ó|¦˙ý,>xwĽŚBöĘ“D<ź§}śsľ?ż=¶¨ärIą{4Mq7ž»Aë\L;ĽÖΆV›‚´ ‰FµGˇ…#*‹?Q›5iD>Ť…O/ą’şŇ •ÉcqjYh‚cTĆů“Ę;PĘ5RŐhNđLΊ$˘ü¬kˇrˇ…żi´"Ľ“Żx˛Ś›öö¬vĺqSŻCg"CôĘr‹8«e&Ľ-ítĂA #×EłŹłÂ3üh”™Ş™x3Ž'?îę’xEČwŚ‰n1—°Hp–“:ŞIşşQwá€Lç˝ŰwúnÚÍë;©'~´¤Ţ:hA%#Î…H|‹ťŞÉÓ%1u±¬1’íňi÷)ŹO`’©[9g˙Ę÷XBj*]eĽľl|4ެŰçW:·q”»ýĹWĽČŹŃ#*Ć*·Éşę}?yúPdO4ĚđčvŐuRă–ŤÄ[<pŘŢeÔVĘ”Dzď‚‚…‹wÉ™ôŘ,od.¸đĽśčuWâôˇµţ(şěvs†Íd¨é ×RßÁJĆ#*†ăĎű`šH™îĐE:ĵoĎóĆXßNżď[lQĆ›őşž:šű±ôGf¨Š,ŚŹ`ť<JG¦4[• ş¤Ktŕäť^$›ďűŘ3—@ÁĐ@¸ˇhw§<ąĐ)-ÄúÂ|…7Rč#mĎfÂN6K¶Iş\BV_ť“" aT¬čLpšfNMw˝tŹuzp;ÇbüPŐşŠËČí;B6´TGŢ÷ĄŮ3K!] Ş™ěRzëŘÔ<ŤĹL;Y®S&Ž°*;nÚ#KWA}ßߤ=Ojo¶˝ĄĄë(wŻť8Đ[Y=î65ŻÝŘä*Z`@QÉ(iś#˙n·1Eđ|3cřáecq;ěy“ű¨UOkűľZnĄÔť6¨TK˘•ýUĘnc«žb}XT“ąN1¬Ó,ů©NďÇ?{*ňl_#*‡i.ĆR–!pVŚr<PĚsÂĺB×1_šbh—.gđ±x ‡A‡—R ,®ăđ‡ükě˘ŰKH34Ś/4 Ď÷,óţQňI«O+ÓSşa@Ę“Í#6“ÁÄĘ6GČ„HiHł°ŹJč©Ŕ?4>„Ř+;adÚ&ú&wި:PţËů–€¨T«ăŢG“(5Ť, *ßNÇJâiqů&J=\^ľd’`42BŤŇ} ű;ôÇ~€MĂ<eK?%:#4Ouâ‹QôžĆ"äŐń_˘ëR1gçA+"#*ĹÔţ˘}Đ‹u§ă±nĐJ-#*ŞŠăíDz”©#4}–€ĺč„fýĚž*3ĺ.fř ó–ÎR˝ęäe÷řX “¶EI}1čI[ň¨wśÍ)ůŽ‘™ţŕJsúđJżŰß5'ĘůëJŽŞ¸?<ď“ęAu甎¬Ö«é.ő}_+˛eÚ•CÜR$ĹHL˙| ‡Ŕš˙çŮörň|Ťüĺk"¤ÉKŔŇóä (öž5źY±Äź?Ú;ÚEĎ@ĄíçđGéşGĹŤĘzqű|đü˝šÇđ˛ś@Ŕšň|#*SúËPYĹ4fŕďďŢŐ–p€+ią#)Ď+őÚk!J>ńCŻ{‘Äî8˙lx0™ţ*°ş:\¤AĎő'<ŕ—±ă51!®Î.Ë2cµččç'Łh™¨ő~ţY”őµ˛§>ÇĘ?#4±Ś^7Ľµĺµş-ďv8E°]xŮmÔŚÄlćuşădBĆ‚ŇYxŮßľ˝Ëî‰aÄďÍÖ(îaň–¦ âzÂ6˝{tRőŕ÷ű{#€ŹŻßíűS]Ă/wŽ÷«>˙îâo2iEÍŐŐŤ#*Äłß$j=/xׯ“…1A‡ž¶áÉűű„Q‰UÓ=ÚÇŇůú ą\Ť|ÚYđşĂó±Ň#*b)ĚŹ¤č#)‹h‘Lŕ,J߉fMrüjT| lSF&ýäő´dZ’®łĚ#*cŰKęOp" YÝĆŢhˇůűTPn5n·/’‰®~ďdńěXťÇ˘Ď?(Ç%‡ďĽG#°Ż^éČ{Đđxfą©ě@ř»Ť÷ˇÍ%ˇ$M‚Ţ×_A»_žîÁš·›“Ţí˙ÓĆěÓë—3“ŕťě¦|şGG·á˝5RlĎiË~âą± ?ßO”«ž˛ÖrčŻ"Ďö#*i˙D©kaéýúCŰ^@pčS]Ľź@¦éĎŚ®‚ź•Ç-š{”ŽÎý”ČeˇoŚËbH°•#)+ˇjŠ6Ut=‚d'>9::“Ň$ăüx/÷}Ä‘[\,ĺŔ@ęTszŻgkÄźł%!ďDµ%!)-iŹ•J9&ń“OzT–Yăns‡T¨ŰŠux6ä•Ś'AÜ8ídgăaŻ7i7ŻÖćZĄÉYrĹG·DÁ©ń«€·HF~ËÉšżIřžî#˝¤:EbJ€˘d`ľĺjĹŁý%đy°@üuú'ă÷ýk:ŔľÇăG™V?ëßą‚¦ Č0ĘŢňI™{%żŹ`kĹp1u°Ěů¨*•řŃŹ şŔ~Šń#v˝ęŤJ6č‘]Ç«oş‰M<ßh#*ڨΌč„Vdh~s”mŐßúj‡‚j+z@$…1Ylđȡخ]ÝűINńpPó_˙"Ô¤)üýl÷ÍĚďęÎI„_f»Śę‹\uňdń€QçącňÇ‚úňe+`é"S÷·;?V#ľo{'čj]˛PÖĘč,~sÄn1N#‹ÚsKM5T§v¦ŻÎî A]ŐőPO˝ŻŔk <ZG*)<ztĂ˝k#8Ekôph§Îdéä-ÉO39c(P˝z4f|:ĹXé¦Ôüi·)„žPĂťO Ö¶$˝#*éÁđ)Dż€Óž´yŞŐHć'Ć…W\k™±4µŔqT ę!źĎ"QřŞĽ<"(ÉEÝ9ň«5Ěňť€ŕGŘlĂĆ9ńŢÁČ{›8î@§=ŢĺtĚyŃ°EźČí8’:P·Ją|Aâ=˛ô(*oxÜÖ—'ň%Ýń“«nâöv7‘ěŃĎ“/§(Žž–ŕě4&Ël?p&A¨&©úĐ$x{´›Š§=‰5nŞX'»éX˝q»×n$j{RŻ_I҉XĘ®ŇĚ]’đ-»@ńT`r6JGΙpŘŽ8¸<”#)s›ÁÔĆű¦+ů’|DxŕBcr=Íą!dşo—cCl— bۧsŹřůĽç{ÄÎNć{ćĺďĆ»|>ŹÇX,‰É€Ę_N9TčáŮÎÁfíĆÝ6żú)eź@GţśÚýĄÂy<űžť#*¤#ŻHˇ)Ďßa~k)‡Ś%ç¨ÇöD–>*$@‰zm5j–ŽźW$'řŃ#)Ć°˘šm1wÎŽ-žŔ‚0›$°#*ÔŘ”f¨[Sź€Ţ-l9ćĹć¸ěÔńB€ ‚-[–‹éµţ$ó‹ŃSBŘr±š=,˛ćűuŁ’4˘řl[¬î@–n»í^«4â^ą&Źk¤›91–—SŹkMuá»:¤Ç“zôZnĐÔ·ö¶ľ„!źná•G‘˛DcN˝{ÎáÂj[ĺŤĚÍÇRiYCî×U?öWeĽ9IČQr´(÷Öś.0S.7ˇÂ¨6™őđ4©~ÔS’oÜÍ>†dö!ľ¸Uâčk}ÄşÚ9gf#JśG¸T‘sÎťŞĘľ&[źBŢTwö€uh‚˝ćúęčd·#4ôxçŚ9—¬57ţĎ"Ť”noögoŹq&ot}YfQŁ ÷·bIAâfç˛Ôŕf7‰!>G×0˛ţzeĂ˙×f+ŹťŔĂŘ ę!Ő—çBÔLaş…»”i&Ż÷×GΤáŻŔ“¶?Çׇ¨ßqWýŠó帻wŻŰ<€Ú83ÓÝĐÉ'„|2Ŕł˛îíÜĺÉYŻNvŢV˙qtňŁY:Ó…ńiÝę4¦†ďců˝Úuý×'Őęˇt“ĄUą0Zqˇrţ–~ÓŠźŰŻţ›vŁă.v{–V¦sÖHíuÝ0Ós÷9[ëŢţ@z„'ţ_™#4Ňćžî„"Ô8°ëBÚˬîU=ŔâĹĺd‹ţ[Ós‹:"rÂ_ëđayÁ©N<ŘrÄc?ľŽwŹ_íżŽµ¤Ěn·; ¬ř™5š×ŤËvÔ#*ct(W.7I ď•ËĚ7 žw#*µ_BhžřŞ©«Ň>€łwFůŚ†ĂŚUŹĂćpŚĐcšA!múÄ pŤqÔJQ1ĂĽ`ńł:ܤH¬ĄňŹăŻâW'‡ď*ŮcJ-XF×h6§|5ľ$Č«\)ťŽ±W)SćëLc6JŠ‡»ż>o§ŞaD”ę™®q†7ÔńĄÉvç»×xůo© eŽIÖő¶=Tśsv°ňF+;\‹G#5sĆĂy#"ăQjbĚ«ôh9Ăĺ—˙ŃËevzíŻęŃăá;ÉŢ’Ű[żü{]ç¶Xĺ“+wµĘT$Ą€icUŮtŽIYYą%2S”šaĉÍŮĚqóTXĘ÷ęB©ŕźáČ”uF™Ëoąü™ÎĚ©ÂdNĚĎ`ŽĹĺäÜp)EŇÄ€°}@´eäu^ d›·++żęíö)Š»’ŻQ#ĘDüPhý—ľĄ7¨AM±"°ś—ű1'ť@ĄE™;vs%kŤÁuľ˝őJË@Ő÷(#)7î,čHľĺ É#4Ö˛&Ý&ąŔ±â(yzčyÓ])*Ř°R·ŔĆČČ=˛rJ\ęęĂÚsÍňÔÚćVݢEi…;ĹP)a#*Ů««řtćXNPĘá/ßćB¸öüh“ŹÄ´,Ä´A'€Č§»Ěx<‹±Đç—,íĚFűm˛.$ˇ…‹xÎr\/§käřî‘oéD¸ă§ÍńÝJú«]ö8áăů ŐŹUµ|źëÔ#*ňGş®=RtÍk×˝9ěőŕěă©ČxÉÍĹ$’ąŻ5~Sý‘[¨3×Úť¸\Ȭ‹Y5zNâĺ6v/#ÔˇŘ%ˇ·ĚyÂwŕ3QtÚoŔl5ŕŕEP‚żÓ˙'Ď|v€{đź67?Kű˙„°/ö˙˙÷í˙]cóűĽ{2ś`ËžFľĄ™ťzŰlĘ5AŤ2Ľ„ácĽ ”ńfVâŘA5ŚfÔšM;Ž{ŁŠ*éMşkßQI#4źť*MĘjSÔ_#)‚ßl:÷JLír|]á»;@łíY»9E²ÜlŇ,ç4ůA g ˝ĘöäHuF•îţp ~Řňzť˛8=ŮEg—ľĽ*Gše(Ů‹fΊSÓ×)Ě[Fý"Ł‰Ń‹§[®ńëYÓĄ*—›ĺž”h;2-H ńŞăą.OuĚŚóR_}Hą'…—ĺĺćüq’ó±áĎş˛Ľëńtě°ćhä°'=v—3ję„ŔYˇŽŁ=ŽB; ;řľâ˙*üźNóŹ€˙ąo˙˙öŰő§iüźÇŹ7ľě˙µýźapç¬@ĆŮ÷"´m§ô#)öA€ßťV‘Â˙´srZC#)î:!@Ô|qíŰ”ěDđ¤oŤBř||Ě`ÎĎĘ<®G#ébń¬Ęe«Ú¨y¶ý@źXa{ŐăŐa,ć?ˇś‰]ŽÂívS:vĘÎĽÂ?ťď×é™ŕxIoG'üí)ŁźÎúczăźÎúwüöťX˝ÂTů-fiť¦˛J3ÜNŘ"‡äĆ@#4pVżú„îoѵ¦ …#ó°…ę!ř^y{´—ůŽaˇ˙îř¸zBqů»úuzúžů†i?ÖlŹČďîďźíě˙×ÎŮţѡÇ5«kwĘM7CąLŘ6![Đ~.…ŘÂöżhŹ)éMU˝ĹÝÖ¬ä$4Žgmć¨>eë wšş’Qb Yč†ÔxmŞ›úuKCb*3ŁNľí_Ŕ8FFŻČxIÖ8?OőŽąŐ«9ÖVń«]čůŁwgVĚc~$Ł¤Śâ+a†?ćŰ(j‚‚FT$j\üdçĘÁęŕ×b®‘á¤?Š„:jěbő·'ŕ´Ť!珞˛đłlâ0#4ŰĹŃ“e·k+mÜź;’66T2ĹIßi’Ĺ}Ľ#4aˇ|9;í ©…$׎Ö#L›tť”Oźśčxw8ÉÁáRRWüąř^)@Ú˝4ˬ€~ć"…uµ×e‘“„QjţלÖ\·o©5jäŘžŰŕG5VךĚ3Ç™LŃżiE‚Zaě/¦ť–d”"âŁ\fI8ĆM$mN$W<Ľ¦`ąŚj2Tj’ `ý!M…íîaMĄ÷6U[¬Z#*UX#L#*čČÄ€…X7Nř‘bI#đ9ÝŠ%Z+©OÚÖô#N¬ü~Ľf¨DęŰ·†„×®Ą¨FĐF纸+@Bmµ„|¸34u JϸV#*ΩžuC:Éć‰äI®´Ő •„™ęýQöŮ\ŕśé5ú†7Űš˛=Ź”(j…\ßÓŔeĐô”‚ôC© Úú´W$ćĘŚ»łŠŢAÎN¨Y=ŢŠ´ĺŁ6+~e„(s6¸µ}ҧańÉŰť“«'VŠ©_ěŘ*\Âޤs°Ň;©%¤<ŘÓ»)rčâZűr˙po˙DW\Ň˝G÷@&:«®ÚŃ‘ą-ĺřÄAŹÎ8n©Ń ćßÍ~á>I:)2âvö@g·9ýq˙8~[Ő{žĽ;„0ŰÜDđ˛fm–5v%lö[qsîîzýˇć'Wí^Ř|‹©ĂÄ÷ˇbLZ°ć ŠĽ´ÇŔĘľ”L/䶺rĽ\•Í-żi?rđŞvy\˝D;!’ęQ ^CZ›°ĺˇ´żőPuŕE™®[ÚĆ%É0”Ę9ep˘AEhs–7x$W6#*µj‡aR3‰P|&†Y °†…Ď%˙ąüţ?€˙ĽľůěńzVţóô‹üçŻç˙cľGú^Fňó›®…`Âkéy®A˙E#4Ę{ ’sÓ)÷ű§J1ȱú"Çnľy#*imÇ–bŃ…8cŮwđ6‚ćéŁ>ía$ú\e„,dÝNĽW}ůŽ>˙4sáŁ[H„žÇ)/ş;ő1/⼼Ř}ĘC2łcÎËŤb’›s^nZ×Fĺ‡wńń0Ń]ŻtóŃčč~·&NŢťé ©őTHä;ßýU)ĚRSÉd€>XJ{Dµ§•Ô!ł#*ĺ!wܶőĆE~ž¬ zPżńŻáxűĽµśWč˝;÷b#)&t(^ ŰLrVY6ׇ<7…¸Ąš€šđ¦)Ž;iO*ˇ$P%šw9Ň4ŠLýJĽµ)ťÖĚgÚČÔ‰…ľfi°B*ŻŹűčki›Ý]G”ŚŐ•čP›Z•b•®k>u‹_ń{Ź÷ÝŞ!µw}äŢ…uň.Č °C˛sőĎ»9sö˙FŇ˙ě˙O62÷?O7ľÜ˙üĺîđ<’Ýô+| R‘ŚóQë„ő°k>~Á$ ŘÔxwNőŮwçômž8_Ľsš>%CuD†ŁsÓ‘ŕ-Ţ…T †řĄáOÂNŹŹjgŇ˙M”Ť«¶/`}Vuş#)˙\yG#)Żî‰ßÚv1żcŃ‘jÄgnSµĹ‡nL@§îĽăözŽ;‚MĄYňWż˙żë3o÷ů|¶™¦˙Oź>[˙B˙żś˙ţđóźLřŇŔšŻâˇ«Äoż¶1÷D¨Î'÷ĺ,çś#*UÚĎx@üźv8\tđűM'Ä…‡żßvL\xümgĹLÄĎ}`ĚwjĚDĘ=:ćfEçÇÜ/ŮCdz†>ŕ$ůúđś$_qÂbßö˙—ť#*Ź9:˘r˝Aµ}ZÉş5-äĽĘyř‰#*ŰOnŹ` Ä1tânűÁóőß\ąkr4€ŚfL=Ą)¨B{VűłA[®Ľ¶äĆ›ľŠĺ~ô4â8ooę+PDۨ‹Ą"˝öôŇ5]FČ7ÝdŻ¤@„„ý ˇkál^şľĽ&dźG‘żîĎ?©ëŢŁĂşĽ˝Ý?<:I…3·űć úSő#)?<ŕ8Ż˙ď<Ó»¤;śwşZ2†Ő‡q2»á?UmÖá˙Zjz˙©üßćfF˙óé“ożřükę~g\GËęSwĄ)ëb¶}›-"Ëý;8tM§?Ń:3ÉdH†°lLS%C&ţ’&ňGěPč¦Ňʱ#)¨´gmźżćš mŞ|žc@*¦´~ŁY.(paa·¨šyoqĽ#*zödŇ°(ď=8ÚGľďs˛˙ÄO›÷«ŮänµĂP. `¶a‰Ŕ;˝A©8ş^“ÍbđŮyÖáůcá#,`tUĚYcp9ä¤ †`!M]Rş¨ĄŃB:Ą"Ĺĺrě‚ ¤%ST^Ý39¦kż1'×ÂÇö’YĽŤ´Ä¶–ĄBbąĂěK‡"€ˇi޶Ľ–şŐµ8ˇ0!´bI™ÉGuJË×ůËoČć˛1ihH>:ŕ‰ďÉÎÉ?ÎOăă|1Ăřźb˙ń‡0#)‹÷˙Mř_ĆţóŮÓ/ň˙żü'çÉ|zů$/Ĺóü!»ŽŹá<ńędçőŰęáYä{ň?ˇxDĎ*´#*‡’ěWßÎbÓäq|rôúdç÷vg˙ĐäQ=ÜĂ$–¤©yŹTGěk"«É·´uĐ-KČW»÷ÚBľ˛m!_ˇ-ä«]Njl!UŮy¶yb§$ÓĚgČnq„ÎBÇÎ\G®NÚĽŇVđłĚ+Ťv wŽ1¦«y1–ĘKRŢd#´>‹Í<ŹP–ÇŮâÇ«ĐĹĐtNŠÎŃ“ŕůbY#4…éH‹Crc>,že—s_Ě˝lĽ4WˇŽČi‡Ű)^Bq#*Ö:™Ç<t€ÉЬG§i´!}ű§d”ĄÝ"H%ĐźSĹf¦v¤.(żŽĹčEˇÂńXŢFłîë[JÁĐţ’JER'6…P,U˙LŞĺůĹčŻuŐ3߯Űyd«GŐ˛ş8uéGŔ<Úáą5ďš~‚9wµËş Ă®+^ť/ ÎŽÖĐ+µ452cŃ/[ţ„ĘŻç-ŘÜež^¸ţ˘>r…ßnu2ÖÜvŽeÎ!/§_ô ď¦Be™OB÷ßkâF°OĂé¤Ě)BMŇRĂBÝâ:nł(CM2b$—rc:–y%ĽůÝ’á/ş#4ČôZŞů—ŐsęŞZ4ŻÎŤËvů‚°™9ý0‡¤ĹiżÓ ,M?l|#r×—#*ßń\ŕjĺĆŰć•ă+>rq»{ă#>Č/}‘_śóčĚAyźč+3A,¤/VâxPĺ•ď1Ţ'ĐÔWŔA•?´˝A»Ť®g¨zžŞĺÜ Ł#*e˛€´GŹ3F«Gř“ëćĹŮ|<á.'xľőô!ÖC1Ë%*c8&ÂçÖŽŕnPC*jAw`aW)kGč´4®—\ŕr0L»úΤ“FĄS޶ÂkÄĎĺŘç“=!8®¬ŠYŔ.~–s3Đśč±S̹ۡÄÄ*¤nč$עQÉëÝÝxďd˙§ęIK«j_ńřżěŤ»7ČéCĽăŁÓýźĺ,®ţ|ćD<?]=’¤b!Mběq;RąŃśmş›ĎYĽtş&mq´9#*č™60î–ť#)|;űBť;Ë{bŞir7ĹW#4‚9Ý,'“jP6mkGFsÝu/͵üęĄů'k…Ş1%/G’’ś`ů–ŻbčÜ<”%>[Ź?ąŽSć‰{lž‹ÍĎĂ<ţms‡µdďYµY=g•ţv'!#4~/oÎThgUF#4šyqLĽ<ÜĘ®jŔËőŃĄWf§ŃíAŹeÖĄą±ăŁ--¶ąăç•p=šµ8@řŞëĺ‘ řGł‚q»h¶ŔýׇG'Ő˝¨6†ŐŐ\®ř!>5Ç“ZŁüďťň—ż?ŻÔWÎ+Cůň5˙ž|?w/úÝ=ěźžmq‡GđT/0’1#*rä&(AÎŻ·!Ě3žH-¦°€oňóu{<h÷Ô[ŁuÓuŐ[?ą#4ó3™é@z>Čă°×b–8(Č d«!Ćżl6W ?OňşĘ¤N Ýd"˛#*|L÷Ćq÷r0·őŞ×X¶Ůü…ütOŃЉůd‚KŃěZś+”4ˇŇşF/–UUw©EZ@ňҵĄ ZLßB«m‹ďY…ÓăťÝj|t|ć’ô_ʵ“é?˙]G|ÉĂŁů±NꢣčÔ`2ĽĆKfŕÇ!=Łi¸Ôą-w#)(NŔČÇĽsB#4tlmůFp#)6>cDěĄÂŐÔĹ©ÉĂ%HΦ=Ň‘¦üIDµf¨j…ÜšOśš‡bó;‰&é(¦źĂćf‹qätXB±ŚčŤR5»łł•[ŘŞô–ö ©ę4ö}nČÔ™d‡:˛Av”‹ŇAŔżk4Lş3µopI®ş@ľń&<¦~CűÜŠčFĐ’”KÉ7ZłĎYv–ď˘E2ożojĎx4i´ZTńEÇŠőOź1r˘ŕQłl©ë•lÇ‹ĽĂŔëöd"@äĚFN“n_,R-Śąűĺ<›ź,č¦Ăb"ćő#*aG?âÍ٨•„»÷úöj–ÄŐ#*Ř<µíů©©Ńiu'¨Ą€Z79U?‡Ş§Ut‚w1ĽöJËIŕ/űžx˙ŕ)çŕŔš}ĹžĎ?˝ÉČ«`Şh4—EŠV¸ĎĚĹ]$ggJ G\!N·fąx/dddM ‚‚ß9|Ťb]˛ŻFßVT Ôů!˙Ét·Đ.!Ç`2Ű”žUŮÚÂ?ĺ-k=äśéď\¨CŻ‘xmłs–® ©ÝµCetL[‡Ś†ÉěçŤ.0rm›EĹÉĐ®p4:RB…éťćDŢtuŚîÓ÷R@ŚËce«,Ŕ*Ň9Ŕî˝;#‰˙îŃ^5*‹çľyH¦c…Yv†ĂŇdâ/‚P¬/9rÄS@9N¨RčúŐ[.±|ő#*ădŰă !·°Á9QRHD@Ň#)Éq.Hd#)EĎÉ’yů™Ňs_ţ‘*ý7ˇBč¶*KZťPr<¬:7F%_Ą3ú†đ49É'—*‰R<Át“Ďr@‚ýPF „ť”őĆMˇĆŠžťsűz˛Ş‡?Ąń´×ŽRy‡@×aÍŁćGwPiú!ą×ăÄŰqŚ5ŽäŁH7ĺăĚ4Iť˘éčrG™ävv~&Ą#äQIUTR”ö“ă]• nÁń/â6%寉\đŃů8Ö.źűŞ<GĹľÁ$ib`‘$iĹ°HŕYE9#˛“¨iŘš†M«Ľ6MK OÁ|iä"r,ŐJÁęt•^”ň§8ĆC2Ž}î5K¬š÷ą%’Ů©ëyüH6SĹ%üî¬IČ–q•i{EQŤ7‚trŻ¤xžâ<kQü¦a}t‰<›DÖ˘&@w?ÝćHX2lPn1@óh_z#*†đă#y·_łÔ/Ę™Ź>Óz?Óq^죻T7Jwöďä8ÜNąÔ=ý·ÜD©}P\VÝ©,›3@M_ô:ŇËňąŤfíyĆ1va”e_Uůš}bt'ü]aÔ¸DË:qÎţ,Rőn‰ń*…8TřŽ{®§lYúD bµűKÉ‘ÄżńNiý‘ÎĎ#4vř)č'ţ;ł>ńĎű¤?ŠđyŢTî4K|kŻÍ#Čćí1K´Č#*‘úiUŠfŁ×ó „Źj)đűW0^-X<çT°°ăĂÝţD3ë@0KůY?:®ľ=ţťţ‡ó&Mţi€›C¦3ŞÚ¶wkůŕă#ËĐIKUÔh¸#vŢöۉ„Žt+ą*ąŇ”zŰ÷dŹj™!D‰0™ĺ!źňúÓ„đ˝éâщ#)6Ý)g’/#*NĺřNîS|ÁéVkr˛ÍOß”%őŃ/Ä…Ŕ˙Śţߤ=űóí˙7ź|űmÖţ˙Éý˙ż„ţß0 €Ú`ĐáÁđáZíOW„§‹îĹtĐuÜ(Ťýós„DAUžm8“A”༆!XĹíÚ/çµóz}%8Żűh÷ö–7wÉČY%ôF•Y0iá0Z¦Pô5ł -A>â.YŇ—đ“ćJŹMŐé@§64d›öhˇž”|¬ąrd…_ĺŘ,ŹĆ#*u|ęV.Žóń;¸Ňj_LUR°ĺÁ΂»Çr‚L抓ĘN—k<jŚaŁHaUbÄUă"łÓÝR~Ń°›*—ZúÜéÚ×űuNĄšîfŞÉ3Q;ÚąrgŘ6F:ÓĂŽJ¶(ą‚»uĆ]&’g°Ý’“°É @őüŚZ„Q=B—?~ĐýM&·°ASNś‰ťCg%Ď›‘StěCNďNřDt,ŻÔ{5ču‘™]Ý–xşţú&ěOfŹ"t›ÉMÎ;^)w襨;¸ë%#4G_k”Îkjćź×żZë2˙¨Ă%NLh@ĘdÔ‡ĐđU&Úeo$ä×(őüüoöů~«R0´äěâtHipb cĆ.ÔG®)Lf“xyVý(řIUśžěľÚ?¨BÍéćQ+EšQF2lĆ1 ¶–ŞrĘÄ™Ł¸Ő•Ž˝˛RX˘HýĆu›Ý‚ˇ›ŕýĂ=®”~ą·^NÖ©šNŕÔÎę÷ĹU|}ptzşs˛_˝·Vn–šIĄë÷#)„I›©>>9z{|FÇ?łťę\I!sB*Ś›€d:eZHŽ#47;nLg.°Š˘ă|ËŢř NzŐţŤÖĐüĹ".+éŞ#)s*éěs6€ĄĚ#)%ć˙…€"¸Bmá'áBMÔĺTü$¸ÂÔ|!ás(,ÔŽA†—Çp|Ŕ ŹÄ[¬ŽĐÁéÎÉě”YlóÜ}×Úx ‚Y“v{ŔO©íX µ\!–Ď/ŔLŽţÚ[?ŹŇíA<ů!cŚÜwŢ÷§˝IŹ;ÎĘ.\9J>őâÜQŰ{…F¨6YËC#*ÍÁÓqëx:7gŘĺpĘĺúµ\Kë˛4~9v#)ů$I[f[ŤS[ÍÓ s«Ĺ˘+ĂS¤X‹Űńś#*]_“ěx¤ť6Â'žI±=í?‰72µŽpFö˘3ĹhíB]9ÁŹNAídý–ť‘f›–‚ňAÁÓ…XC´hĹÚýÍ-KV-ˇsuŰÝkÚHÚE(ĄăYÓžM+V.AČ®C¨śiźWŚĂß.ŮřŰ–»sÉd^ł qçdŐ(yÝ@°«nÓIĨ Ρ~ÝĚĹ™˘ä([ĂK• ŇżFąßšŁĹąü/˛ĽŚŹµ€—b"|ąäĐÁ,Tj^ŁsM¬n_EëÖjęV–\ÎÉ&s¦‹–±)]z–ěLĄäî 3Ě܉č±ÄŻ9XÔöI6ĽĽlŁo‹Î°°h,)ęA‰JejsŠ%9úŃ…žŢă~:‹Í~#)•P‰řŢśDꋵ ¨űbľAG±›5˝¨:mî1ľÎĆ„Lv¶hłŐ9:¸ó.FäĂŞIjôzĄ¦ŁIőQt+‡$<˘®¦4ŢŔ#I*Lů;Š#)ůq~ő5ß?<~wvęoą]Úľ<=›÷ńc*SáRMźâLm•źÔM<gÂúÔ‘¨E=đRíů˘UźzżŘ”µŘÉ™őV!ż“ĐGDez(Ű;żżslAĺjFćşúed%f ťš‰nĎs®•Ĺţ–‚°ú&>S€©ó/¦ţjĂÓ#*´Ňć¸1¸l—6BdhTŠ`u#ĐnÝ;ŰąDŢüG/Ľ*©oüS&©›Züo»Tnjđ:Vřď1}L4CĆŤońJ±ŇP vb{5l¤‰:AS]HDÇ'CHW&ANqRRq猿5T=ÎĐ>u‘#)EŮ?Ş4R7Âťlť›Gw8M’üâ¶#)—ʢ%}ď0čâčŞLU’GĹ9ÚŰKi2u›f\Fé±HďűĽŰŠN)k» L#őJ#4e#3ˇ1Á#$üSšMîVµAěÁE5%Ą¶^ţľÎ±ÍĚ1§xkúŚ›$ĎM×ÖžhžĹ‘Tő0„.ĄUr-ŚubţqćéäÁ˙Ş#*×ze7Ý´‚„+†Ú’Ď<Ď,‹ďŽŚŹúýn’@ťÓ¨#*`éśa%šłµbĎÂfęfJsźĆTĎ{Wx¤zNťśqš‚h;=A€QžćÉ]»6# ŹxyG¸z°jŇj+&\Ü+HŤK®Ě SfŠ;JĚWëÝśÜĹőüžgÉ’8ČOzŚÖ׿9őĎŐ‡&ć±űĐz#)=±(')Ńxx…Ž› qE“ŚdłqO¸€I§l©9ÇWŤDv|Šő’4ă4‰{#*ëę°yq5=´Cő¶űĐ!fws‚,˛Ą(Í ¬ó‚ŤŰ7ÜŐŰÜ×2íĽ["fÉČá VĺĘ›=Q+ôUJ•ŠÎcş¬H×e«ŕsv¶{F&Żçq¤Z’aŕ\˛şđܤɛ†{Ě‘¨Îc,xS˛hóţ‘E’eý»R]Ć⺊ń΢TSoâcÍPf}€vëVWçYÓ/.?älú÷łńů\<,Ď…Śú.$w}¦¦Č|€'ˇ±|›ÂÍ„ŘJţ’#ÉĽ;˘-ä'kç×(\Ŕ¨Őů¤2ýĂŚZxoIłö'$¤łµ©ć˝Ĺ´nşŁÄ˝˛€Ń÷~Ú?fđw|°süj6#4á=.OŽďŕĽ"#ĺ«NGi•_·Šou–ż÷JU`ď•[ß_<|Ú\Đ|(q“ŰĎOźŻxŁ†Ç©fłž˝….»çv’™3 .^/¨‡ˇ&2Q#4¶MôÉ…Č-#` eF“NćÓUń͉ÔýŃDI\Ő!'ő•ĺßą—e‘[7Nŕ‡nDGILଯŕ&kѵ¶vŠŻb#=@/¬¶XxF‹AęÜnyC0y3‰p^Äö»sŘě˛sčĆ^ĚWŕ[&#y–&RQ8)ÜŚTĺbăjU˝ęËAČV•P*‡ć†&ť’«mËŹTg™ý¶ÂMtn:i®E2/ywUÎw•Ovĺ ÓsŁ?î†#4¤7TŞ»ťłžĆ‹27ËaNţ¨ńźżZ>‹˛WqîÍťě"˛ěą3jÔÇٱ´G™˛ŃN;•óO'ĐńnG› ŐpĘÔsH}Šň ¶l"7QÍşˇ#*íŰZÍ›‡z}'ó•$Z¸t#*WÂVp† }Ísj*ˇżr—@«‘9)făIş“±HśôëÖB®+cô•kîńÔ1ż›#)źSšéš‘6z©M˘t+2Ě•ĘHߥäő¨ľZQ)ś+.›9ßŔyŞŰňtń˘¤Ő_#4´SۉwŮ«ŢM~a^wáş›nrŐŮÍ_éÝŽ4VĽÔrq“ÜőC| šÉ«˝ĽU”(×Â^E•9{T0,ą–ÜęÜ_´ZŔ÷–}}Ęé’\jµůđţ°(o$&“"<<î¨a0‘#409]Ĺ*i1#*ŚđmŢ(ŮÄ##4äz¦%/˛x˛‡/ÇĹüMŚ*d¬Är“OŐż©F5ňËÇ8H…Ś˙—Vó?á˙ëéÓŤ´ţď“g_ô˙2řß®s—Ć8lýO.fÄżqăŮjŠĎ=Ü Ń†7kd¬ý{¸-RîŠW1˘ňFʶ·Č†:í–c,G§La[“űýˇ8pjî"¦1>Ł`ąí)¤N„•6ńËCAŰC8ÄşGz7#)źŚ~·gH¬Tű‡».¨čž¦‡ďY ˝=Ť¸©ă;č›{ř&?gˇ8Ť…{+=tďMugŻz‚D<ƶë›~‰[1ŞxÄWíÚşůĺ"r7Ą#ŢěťP#9°L×Xć˝N!ZMퟡ7lŔm圀–~ĎŚŁúÁĄ˙kŇâĐŘ]zŔpýúěqĆţăŰőÇ_č˙_Ăţcž'Čđ#)’-A¤âwáCkw‹aľ™HZÖÄbĄî I,˝kéÎ1uIa=±))+1u'±ąfˇśŢ•¨¸Žˇ¤J‚{\=9¨ţ|ć+ůGŇň&~ŐŕB*¶mQ8ϵ9›Í3Rĺú3UŰ…ĺ,‘¦Î’éĹhke)L#*»č@«Â:zSWĚ•PN",Ô.Ż¨?Š”Î`BoHřôÝËăăŹ^y0„ńśń ’xeüé7FşěÝŮţÁi|öĎăęŰťc-äÜž'ć´^^ůYüQěA퀋µčşč}$Râ5´˛d‰jÜŇ7â40Ž_´¨\ š"iËš’ăůYëw×ŘfcÚ÷°6s$ń—19ä†áQö$BSZ8)ěB|ěMŰZĘ(k¶2”µKń¶u50Đž7ä„iq`yµV,·‹¸şpçö΋Ë7óbč}ýËOŠ#lsÎo‘Ş˛.ľ\†EAĂ"ĚPę*äÉ°"[;šLG0I±;ˇĽPŇ˱¬X)ŰáËs3vˇŽůądň” tÎAË}R˘°˙ĎęÁÁŃ?Śő9JňgHŘšŞŐĂĎĨô[f-â#) «ŠčŹ°Ř¦”˘ÖłŁOÍ_FD=ÎĂĎäëĚ·»w.ěś(cTM¬/ŐüüĆăjµoÚ=M']9 ÍNŐzN`hÚ´›äÁÔvşŇVú,ŘL*‰yÁRbëđ4ôËoyÁűő¶/3'dr^ô—“şäÔąDšR‚_;ŹĽÎtJÄřɢ$?•…{Ç`—#éhe#4ťÓę¨ě`#*ďIş7´eř7Đ˙ĂqOëAsŠH•ęÍÍüu9ů¸VťM¨Ř5Ž¤>µgD¦?úËčÎM…4Źď`éÚ¶;w¸śę#—ĽąhŔÓl^ŮJ÷Z±ŘU"8ÍĽŰ«.HŘ®Đ×vŹNŞ*Ůî=5§#)Čżh¦‹NďŮ\dT¬Ž–ťFeÁűQämć6+—Ęb«ZݱuMCNŽOvßěíźP»"5‡tu’î„n?Úhg™d*VęźâÉÜ_ÍÜęŃtbnAň+!đ!ňŁ {* ŕĹńśWĆśËj+á[9ô„f—č”+r¶š«voů§ŁvłŰąő˝I{<#)¦‚)Š$—`‘xŘ\T®îÜyënÉÔn"ŢÔŁ:zt“ÔëyÂK(^·Éć¨é*ýŮçż&,Ä6^°ţ™ţžl<yĽžö˙óíúł/çżż˙^LádÜh¶/ÍëĽ!Ůţ;AćňŹyľ˛bdŠEŃ~ŕQÇ#ŢÝŮ}SŤO÷˙«mĐ!Ŕr^đńŃ1©ăřeż#)‹wĘžf{Ý~wm<]/\ăĆE2ěˇű3ć#)ńf¸Ő·b±·N€ő§Ní#*›ŤŢš„ÂNLę•P—yŹď&ě8ĎŮĽę`îbč$2ČK˘őöXsżź'm|żDš5n’čW”÷·üGP<Ĺí÷ň‚\č–˙Í7üČáßDđLé–wGO|‡Á3#4˙…ź8üżčN$+~áäđŚ2Ď<˙·~DËvBľt‚kŢů¤ľRz±őŐÝňV oÝĐĽ»ngŔ?w¸Ý!Ď~lüU¶îbµÎŽćî¦}„H5#*•Se%8Ż|M·ŚÓĽ»sZ˝CűŰw°-ĂpXł~Łi׫ř‹ hÇőó+EŠŇ™RUWQâv\_©•ďâsEâá éÚ·˙rž¬` ü¤ŞEÉ˝”5<üoĽr>`Ła§ŇMŕŘ“ăµµĘĘ‹ŻďÖÎWŕ÷|eíî܇ž=?ŻÜŐ~l଴rîß°")뽣łťTĎ঻ŐJţ‹ţj#Ľ :řĹËĚwGĄbT^{ä—‚çŰĹpěőßçwżÔężÂ6^/4Ż`–$M€ëţÖ:L2ë[ ţÖwˇň{ŽţÖ|čŔĎ0Ąđłú0{6‡Đr˛ýâÖăď?ß˝Ťü®_8:Žü#ż°żG®»ÎüÂéŮ lľ~a÷Í<4ýÂdxÓ‘=ŞA˘ľ‡;<:Fŕ…‘ú8.‹ëµŮĎu4Đľj϶a;;ĺW¨çľ`ŕűiŁ·±]›ľë ‚ÂÁĘ›WŤńvIu!ôęjŕßá‡ÁĆöyk5¨UŰ”'”µľ][-×a0Zśc§7lL °óŠł¤T›jĺĽBq¬´VÚŕ…N˝‘JýËÄÔ+NęÍüÔ›nęas˛˝ľBU¬o«Zb»7u»ˇ›`d^Kµ_Šççő;h9Ďß^%řľĽµĽu÷üyt·˝ÝAťŕ˙đz÷|ůî9„cđ~X=_…?Ń]ą|WŢľ+CČJt·¸[†żŰwQt÷Í7wßŔř?üżDw[ŰwŹ˘»Żľş«ť—Îó_Ď?"$Ĺóíóí—ó•óŐo˘G_ý.Żť—!đżĎ+u?$LŤ&cMŰ+ëN¤&µ"6y9Ů^NyŽ0GpD¦‰®ßÔtד+Ô3)¨bĐßhⱸ݊`޸ĽE“–HĐ(x›ú…äş;áłÜ=Ŕ~Ő+őIňőĹŢ™|TúŚ"Í7G@ß󍏧đfMTIŽpYńÖĽe »«^ţ>îmoăŻ÷<ň¶á?xŽ"ď’ěoĽ; ů7đ€”:„‡Ô3Âä¶OŠ#4íÁ´ŹŞim`ÁQÓĂö5Öˇ6G3iLkÚl#Ć[Rşiôâ#*”Ĺ›ôwH(ç"\hDë«A‹Î 7µ ˇ!<E0‰Ił™źćB§ŮÄăpÄeRO¶ —©›QcůBD@şŞBWíв#4-ۡ+*tĹ]Sˇkvč/*ô;ţă`¬i#Š.ëă˘Âál˘śţÎN§ă蔊QśĽľ±ň˘Ý™3űĆÎěÉÄŕÜđ#)ďd÷(RQab?r[ń‹Š9s«ř‹ëąÓĎÝ,ž;ßśOŰö§m÷““ĺv*K•găůs»¶U†ŤííKb#4,”ZfMŁŤłşgwK™TT™Ř*Çá<ýv4ąőPPCŇUIŹ‡bTŢPOŠ°)Pw)ŠŽŽEëď*Uňd: h}Dţ‹şüĂöÝçhĹ(•˙™<»ÚśQg»¤s|É ™—9[1?ĐEŠ±vĘŘžúÍŞ˘ťŃŞdÔ•Ł$•×=cŇhó€Śň9jfbs0A :*Ś€ýŰcęôÚĆV·Ř؇ڻş±UתC7zI[hĽjŕjéĽĚ—$«('Ş*ͦk~yĂ1#*„ ”Jë<=8Oś§Ś¨2ÁÖŮĽţűÁyý·ĘÄä!˝ź×ůJÉm8b'J=VMR ŞĚ"ŕŁ,!äM(ĺ›Ä`YQÖí(\ŹEŐXPµôÔ4řÍk3ŔĹ—Ó—A&K3Ăjő‡,Ř03ă¬iëNąéµ˝ţg¬í‡¬[iKGşź$üţŐŽĘÔ2yŮpţę·Ęɉf‰ŮnÎ]<î°säČ^ę8(‡› ·ĚZ Ď#¨ŻŞŤ ú¦ž.<\›Źôxĺő,Äy}CüŐÍf};â§ú笪éMřđxn?Ń×ti›!ĄąŮĽ§Ľ ¤ Ş÷ÇşüĽžh*Z,Ëô…Ĺ[¶h¨ŐaŻfM"4ŽłŞ#)#0“L©űď¶JK¦#*(‚† Ć7#*[ .UĹ"t%FŤo˘‘b%ĄÉF8Ů$ˇŇ†#)!¬î±íGÇÄFM6ĺŤxĺ#*xPŢ‹8‘NŚY’€0?üŤ$-}r“ĂW»ˇÔXťwoÍ-ŘĆ<BÉíđZCqˇxÝöej(ĺƀ礴ÖtďŢ7jőU(|ŁîŚ‘ôôĘŻ“đ˘@[DĽ‘ŕĺŃą•ł6ŞĐĄ˘ś˘Š4c[ížgh"‘٤MÎMk»âąÉć#*ÄI"š@9:ßö÷ő ‰'f.ăŔ˘¶nesë–‰óůj¦?/Ú„ąs‘ŤŰ‰ö7bs$îx85KÄt T–=O#ĽÚ3”çNPŘ6Ş8XËĐKtoôťÄNLfCôžéo0á˛ĺšŻëőwmŚăô,śÓ§gX$3wÚb=oWu- {«OFLCúí `ÝE?R2(Ů}±1§TŮa3¶#wúć36j“(yd:‡ëłtIČu“+„ęô—…üĎ›ý¸!uą'3?X–Î=U }Č!4úŞ}šihÁ™ĂÚX{ĺ‚e`-+;cĂŹĐRq¸S%Ą$˘AĽ¬ś4$,ЦĂM‘ŞŻĘÍ€|ápjE#ő9Č93Y™†N¦ä02›ń|†–"ÔĚt@úÖÜ[ŁĚĄŚ`îé0;î}}›3ďm+¦b_ďˇ`ýFőja¦ě#4ZĺŇTč™x‚>˘#›DЧ9óó_4?™6¨)ŞV’PŚĺÎKjĹW6ßüŻŐ#*;3Ú¤%‡ŐŤş»÷;_6ęH`TŤŤYÓđ:‰pkú[ÍMVŻë™#)m×cpĂü`6Y˙˛GĂš#*N©‰×r§éľĄúŔ´e#Â8µňFÝZż«{>©¸4.qIŐ'Ę0xőVܨÚ3 ~Őlr<qAGćeĆOč€8ţi'Ţ9y}Çf)-Ý4bę–ši9ZčµÎVię3âŹŘ‹ćHv{ÔąŁI9™ŕ)ËjŁŁ2˛źTŁ´9p#)/%NN†Łá¨äDĄÚAźŰVôŇŽ!ŹĚśÂ/O›'ęËfݡĽyěÎ\= n±÷ ‘oěűŃäą6ž›V#iG>®ć‚§÷s¬S‹gŰôňÖNŢʧę,—7ÂČ9ĽŃÜ©l×v~euóĚÍ`‹žĺŤţňX3ęîĺ@ĽÁMăóŁę¨Â궹‡Z=xđI°–<9[M†TĚ´1i‹,Iç#$Ȳׂµ¬YěEEQ,~łNź–µ<›.I‚G°ď1â¶Í•‹öID•§ýb&ň1ľW~Đ%"”DđŻŇ#4,w¬96HË<ł—윀&ŔôDhK&#aŔ„żAv˘ öi^ýŠÇćbőAbî#%˘\RYăË“PzÖëŚrYg;łăŮ‹aôîáR¦Ýb–w–ľÁŕJ[µĚ©™GŠzóůjF°«x&¨T*Z•©š.˙éO(zŃY„CÔk#:Ι#*é»ßÔ6Ż´™íz«#4ŞÉb‘ŕÓuŚčŰhşxą\ăľEtY·”.Y bč1Rjă“<nÂZ’ Î{:ßk%˙Śţ1¬cQ É襔ž—^lUV‚mR‡b úŠJHJ\ţšZö#“ĄMŘXĚg}ł˝a)„C8žÔńgc‹ömÚŠR´gŢţSóQuLëNÚ¬‰üů `A]Ů“äD;uĄ™e…-,Š6DĘ/\ ±aŔP[}ě}Ĺ#ĺSC`%"íąĎŚ•×¶ď#*đ{šKŻô0`T‚OAe,ĎŰľuíĐĘ…ßÖNeŹú,Šž«śÍÝÝ“ F‰ŠIŢ#*o0…Ă(ć#;죴x,ÄľqKĆ´Ń ómJ/‹ý-k–Cś(zÂś.Ä{Ś,?wNĺŞ=ku/Ö«µĄaÄÍz¸ńĚša™´ŕ›•nB™”Ö#4VaťČ”żi—°năÄ=7Ă#*%÷R ¶»şľ[«Ýş[^’đ)TŐâáw¶±Ž˛ůW·Ď¬EUkÖŤ‰˙ŹíŰ˙ßŢłö¶qc»_Ł_1WŮ‘ę‘jgű#)ŚN4u“ ͱÓ[@kdi«Ö«ŁG,,ňß—çEÎp$Ą›{[#*`k†<$_‡äy8eţ}Zš&ă™Eěw;ÖĘ©f ›2 ‹6”ixEépŹQö_@r7Î…éTL´Ű±Şl&C4Í"6X·u:ÁiRîBÖΖp•\´Ë,’ŹÂu"(»»#‡.úzm™Fn.‹UŢеe˛1žˇS]”§JvJFjF(źËłË„V<,ť ú5Én J3@7buĘI(÷r<=Ö°PeÁ1JFŞĄ›ÝN¬S5'¬ĆR(ó1¸ę†·/âvą¶ĺ›ÉűîBq#*§$ĄëFó#)Bĺ(S.ÄŻe± Ab7¸ž®yGÁĚŹš&Q=fV®—ŃQ÷BÎ!uďÝ(5¦tŠóŮ"Ý°óŢÔšÍPVů÷Ů(Îb¶xx\ď“)ÔÖ¦wj .“MĎüŕÍeŁř ôéö:ß´˝*“@ô Ă6-Zł«_r˛6´Č2Ô>Íś6&Ş´â=V²#4¤@EĽâ0…a´öÜ=6úuÍ|»oĂŃć'µvÁ‚a.>Y@K#4Ď#)Q‡®#4°‚ÉĂÁJŕĐ·ofµńă^;ˇĽŃ#)(I˛)±ţÔ \/ňĄ3şůPÂČjäŕ&fľˇ2KÖDÜ˙z&]0#*+˝.ﺬe‘a0Ú,Újbsgj6G7.VŘ*IĽCmnóMÚň1¬?şg@k×3zżú:Kva'oŃ2a‰™ŚFăˇiXĄĄÄąZ—-8–`#)Ť‚głë–üŐxč<ńü'sGE1ŔwbKÉjd=$Ą‚j6m;uÁ],é‚®ů®C×Ăב,EţĚçÖp-68›`J%·&(v4mîč/Ź ´“Él+łÝžŹöľµTŻ·\Łä$lj¸#)2Âć Eę󟬛ÚS{3ĄĹÔ\sŞRu¨¶=‡l‚60h¦^Wřñ›Z7IîĘ3Ś0á^a?¶nţł_ˇĺŠ”ę!Ő°s‰ťW%6ΉŹ`˘g&iĎ=eÄŮđ”Ř´7'VÜaÜá'{®Ý-HŐvčQ`{7ĺ^ŠĹ‰*+¨čˇc6pB\ňŔđžeó´b¤[ ¶#)¬%k3°)xČ`€sĘ2÷Ű$čqŐ–ÜQŁ»X]WĚ;ŕ‘Á|ŽQ Ľm#í0'UgâťâÝ–‹hë×hŻ…ţö•đňŇPŇzŞ]ÄÝ]hP)•ÂŞĽ~#ZďgD aÝXÁ#4Ž(T,Ď)-=Ť1Đ«ôQźŽáá®ÝŻ±1Ĺv€Ű Ó*1A§"–ôľj·^.B¸•ů<ÍdŚćM˝®f<ž´1nSëc€Ľ^děB7Ś˘±îR¶ÍĄÁö#*#”Lţˇ¸čűĺ<ń‡#*-”k$Ü®6Šřˇaň"şî›L‡ÖĂŞSđë2gnĘ`cvçHý/ĆĚ:’PWżX*VˬRŘ ‚DÓăS2‘µF`ۢMxŕ´äŮŮ”iIw&rXÁ¬™?K#4‰xťüîě{3¤ČŠ&H™•¶#4¤Í ~_ŻÖą×Š)5ŤÔ†4ńÔŹÎÄ]*,¸…[őÚ©ĘŃŢSŤx7ź¦<ü´=E×óĺľf\ąk/íGÎŢ1ůŤ{ŞäŢé8]ËîAd¨Zµżd„cTôS9Dlöx•Çn3ĘŞ7v)Ĺ”p:ĚÚ:~DĐ}ˇBÂa#)ÜźşK˛‡*HüÄn~OcąaĆďE¨şkw0Śh•"¨4)řŕ‘¬ÁĄ‹-„†;~ ?y˘i$UÖRfź§éď‚”.°'o)>0a. BERÁłĽobŔÚiůŘp®4guŽ «MĚă›´ČŮăÜÔ¸WîC^ŃŐ'2R•B#běşă'F¦„%E•H<ÔqŚJĆDVbűôp{L´OSŕŤČďó>8đ´*›GçŇÖ©'oiPĄ‰Ďiěöą‡Đ%äD×·vPxH®>é8’#)đ՜éđ$ËZ6I xŇeV-ĺë7+Dä´ý[:t™Áú‹(·‡Ć©f•GZ#4ĎÁGË,őčĺ8Ź×ÄzŢř#4ÝÚČ] •O=żÔVsÓú$^˛Ť1îT†Óm;ł˙B±^Ű‘ęťf:ďNQ?b;sŃb5¸ň5ÍÄü»»kÂ*ה⚧Q|ßG….n”%q¦LÇj€üQŻ„˝o’|Ž*ć¤b¶@ÝŤą|{w‘MeD`EČ;çąÓ9p芖øBśĚS{äijcYżÂ†qnU±*ď$Ű”śťâ9<ýŰ_äńí?›×źŢ#)čvű/ľ<ůâ«ŠýĎě?˙Uěň9/ˇ†ěż<1\ąáĎ4Jv`Ä<(M“ ,Űl¸7“Űöô#*Zs Öĺ>¨ý|JaVŠbqcx'güŇžůšeëzt§®Ţ}G’NŐ”Ś·jJµg*Ö+ĂZ[š:=€)㳧“ťRÖ4úD弾ruĄÄ]®s6púrhp›i<·p§¦ŔUar:ý˝ÁŁ™A¶Í#4iťç3ÓâBd:…čQY ĺy©=—tź‚Yě§g/_<~sţěńŹŮë7gß?˙9%ZůŢ|1>#*ąŘúkŔö)•-¦OKxú6PŃOV/c'ĺ0ýռiŐŁ˘YžŢ¸M„©”3^ J|ŕGZc2<I›Č°Eť'Ĺw˛í=7ĺ÷[čÔ¤ŚďGśß4Ă<°ÓÓĽT”“±ĂĎßî¦Ŕđäwů cOĺ`Âń¤Ýđ¶ôú®çŢ ŤăřEřĆT¨ůĎ© ą_.‰oaĽŕ“ËîűÂpçA›(ň L‘«Ůp=üý rR%T4D“íÚą‹,đę-A˘1Ę@—ćNߎúĽ1DŠ'đt†lŢk§KĘĽ4YşŔ]S%B*kČ’N#)˙%Ăî”~“PŤOéÂ&„ßś°ŰƧ¦ôiJÔźf=Ó'ŞbŃ”®JLßĺx—\źĘۇMQO|ŔMéŰ(×~@ˇđąŘÄÇ&˘/?N’ýw6§m> fąqUCZÚxíi‰ä5«Ą–׺–l~#;úŤíHé7ş#j]ăĚ:îz„¬âR]ÁUĂČú˝mśÜÚ¦@«˝˛â¦ć–Ä@”¨i=Ăçş'Ťu©x•bK űcŹČ1|Ž&7JĹöę8[ĺRŘÁ_ÚĄ*-¦â´ú⇳—o_śgçŻŢľyr–†ť—r‡ĂPkî„—űÔŹ`Ëő[ľ[f!îjVdĂÜ°EŢň‹bKşnYôŔ<đąIÓ‘ŕâń›§g©ÍW»3eŻV¸1’ńHŐ—Ďl+łXNJnçŮPĚťŽ#)(–—µZç覛ŘÖQ¶•¦‚7Ów:×řćOř&ßüyß„â›?ýw:9Ăz«@§łćŚ˝ĹŔ{Đ6ë5gífh?>°ü%Ö!!*A—¤:uáppÁ¬Ň*Ĺę_e˛¦(<Qđí`—xőúâů«—çi±96Îв̋NßŃG.ýx1Ěš¨n§Ř]žujíýkDŔ„±J8#*c2őčÜĘô˙ëç/ţŻY‹Mm–f›yyp“Oú›‰2{p™,ĄĄk;µbăĹ«'Šp8zŻD§Cď§=ďÓZ–#~Mv“Ań&xü6ďň 9jHË«MIÄϞ͋bDŇěčťä€}µ·îŃd†šÍ®0‚óîć}+ËŇ.×Ý/7µoż±<jPPąÁ#ĽŇB/é•1}XŃíRť¬R«îîHĄŤi°3ZÝą`´t˛[AZO^˝x#*R‹çOžť˝x|ľĄ ßNAiQůSŹžžK;ň€Š:8+tXáĄ#ÁďűuZ0\’sŐlďědj´1÷ä„*ěN ß˙ś=q8éąTµ} ˙„qá˝Ă¶q#Ţ˝›Śăýʵ]Kuöß^“müGą˙Ëqxj „8a^ÔÂ5żůźN'zÄߏĚ>ýa3b¦ŔDR÷Âađš‚Łč›G ýđ(#*Ó‚_‰îŁ3ŮKCľGć›`aťXŤk}4#*nü~Â#)Gä‡Ĺ…Ż&ü9e\ř9•HŘQč7ź{č™ő|[“î"»¬ńL%ÚWP$opí˘ďmĂ /Q!Ś`iXQ˛,"Á荄K´…Ńn˛Wô 2R\•2Íĺň#*őUJyđűßQO^ú´Ř2Ś5TÝ,j›Ł×jvx$_xÍ#5ÄwŚq&ŻCŇ?35»‹m·ČŰq벪Ĺţ§Ç?>˙îń… ź˝z{ńúĂ.©ĆěI&xa¤20”׼«ńPŞˇáÜj´Č¸ˇÔŃJyzy”|»ă‰W#*yŰč}±ŽŠ´äŁËá¸c€»OČ'+Ł[äď@‚¶I`NÄ~[!™řU&†™ăa…A#)N—ŰÄŘ/oˇ§[Đ{•@'…8G6-qI”ÄoçftÁ‚X^NI"y}ČĂó$]=ô«xÔ$â~ß/¦Úeű#4ĘÍ÷(U—é7&Ą€fpLĹůŮĹĹó—OĎ©ľ{ţ¦<ˇköŮŐ0-‹©EĹ#*ÖিΣ«<ÇąÍÔ%ꯖł‰!$tĹM…Çh‹h¨7gśjYěĚ‹jÉ×r–ZĽRĚ&©ĎňłŇŻlŻÖŚP0‰·ôFÖwPV«9Š¦SĄ$ŰF[#4°J6"42F)ňl>[,Áň@«n`×TŹM„<Ţΰ´lÔě‹IÔą–m^xúýýďQš>ĺtXl:&»·Ç4™,g ±±˝°ňŢŇs´÷N7ä¬|nßĆeeÝ$µ§óŢoÎ˙űHîű#*HKc‰őlöcľc‹˝őjČ[›…“ÇiÔ^ďe°áß`DŤŻAş7+‘Żö–oË5śÚŽŮęÔ5Ň•!Ć8÷ŽaGV2U!UÖîűÓŃÎ+ĚRá\Ĺ#4H>f|üťźĚ9Pľ›-x^3ŕ{ÎhíĎgÚ•»§éď/r$ű—”źłĽ¸4m‡!K™Á˛>᲌EÂíťY#*™ŻPŞ#*ăÔĘ€íľ˝}Oş’·ď{ńŕý0ľ°ef>qF„¨_W#8›MYěˇűí«‹gt-ČÜÉbuewą=k·‡ĄOĆ.ďsčżůt0ĘY[µt‡X&KůŽŃŇ#Á<f"sn˘°u‘)*9ÉK>űěö}›ű8+N[!”iôdľ=ş4lč#4”Â2c4TP3ĐŔX r»ŕbµIĹň§ÖÄą•#c˛`Çĺ1čÎĺËůJ{Âe»Ył›;ľ¬´¸ÉÇăP¦]G±io޲ŁßRďĘűî|éNnNa¦„ź¦Đ“şByq…î3đśYLŤ(vś:°ˇ5 Mż5í!ěÁGUR<Ä‚V 9s-ű«/Éhló]Ë©;Aď«•k˙` r,.Ůóňo]Ý?çĆ~«§×v=rrЦ.ňbnZ&WţaY>"¨Á´Äđí$HéhOTb˝Äç§i 4#)m¶˘źíĚX2h"ńB6AK¤=FvŰ.+°‰•;ÇJ:ŔÉđŞ^†7”t’Ah›HÂ!®EQśm&sFŢ’Ŕ“Řô¤‚°÷÷ś”MBdĐ=6[E!şô‰đ†+f˝µé-«¸wăۡćw'ń^–Őd_ŽíJ¤Ś¤jLąçÂ6–üM*>qk¸úV’Übľ+RßCeF2čńsâťúx›''G9¶Î»˘äҲÚ$Ⲳ˛˙ďugŹ»ŕçŇřÄpqéVĆâ3Řă˙vxţ?Čߍww´ü÷ń㯿(ű˙<9>9Č˙©ĺż=Qmč}V¸z#)¤NúĹ>2Řţj‚ý×ÍîwĽ,zH/6PGGY®-á-ľ¤µăÉĎ?Űőöc&2coî-“•^ęhöňń‹ł”sPx #4xj&hômńYŰEÚĽc†KĚľÇ}#*}ćľăÎ#)|ŽĎbwiOľ°3„~ëíWŠ 9ýŹ&¬”%Ů\1CüúőëÇϲó‹4î<7»=de#4üŽa5Ĺ€±pIäŔó‹#4U!߸ ˙'ťŚD’ĽŠB$!ţyĆÇo~8{#A• ç!Üť›Ş#4Ů_Ë1ŐŘĹiżÔ1ÓȦ_€WpH}ýúů“¸šżŤ#4Í#E˙ůÝüz5v…! +Ę|Ü7[öY\Íq‰9ÚtË@ş~Ľ“{ˇ~ď1ýÂ~ş¤DAÄxÖf¨xáŰŕ›=ö|X=˙4ë?ę>/>3a¤˙ďăă“ŻOĘë˙W†%8¬˙ćő˙0ôţÇ?ěLűË“/˙Čń˙ŕ'_Uř˙/żţň0ţ˙#4úź‹Mťľ§ávÎó%ęuZ]ĎóA1šĂ!)‚~»Ť‡‰Ý$/áëÍj:Í‹„Ő?YY”•Dů>ĄaJíNfĂŐ8_ôbe7‰®\¨ä†}ë*ßu^v€°ÉőQ˝®„‰ă7?ÚÖÍ#)ŘwędbáÇŹ@BüőŁ,ulÝĚ»d3±đăG)M˝T‘1f|Ě›Ťt7‘ř[A „b—wĂŐ›.ł“Ă8¶!ßţř‡Ôo36á—æ°%â°ý,(,Ł< ĐşŮ|ęÝa^ŚÖy0#*HG™ťçČP‚oő¦ýażAŻsŔÖ]öń˝q¸‹˙…>(I˝şŽŠE&ey(ĺ4Ź×ÂpđJšˇÔE–…Ň:ů›ô¸=§ű’ěóŤŃÚ&äčBÎí•Ł#)ńîhČ=^ŕ0ňh74˛d™»3źę ˝¤CT' #)%¸}Ź‚B#)w¬u‰2\ă–"Q„Ü%3#){ŕ¬n‚ŻÓµé"¬źxďc”ü7 .ň`94čËđPDčľ~ţúŚDť™S.Ŕ$Č‹˘>›™âgó|ęݬňĺënó&«éh#)j™mt=Ŕ&I^ťă„im˛TLŁÎQ›®2ć]şFđ%ŞXüďMďŇ&E -¶Âse˛×‚¦Z:Q¤R¨Ô"I!§R¸ÉNU¬řŠÉyá~äşHę^±ó Üürf–¦_X!Ň3Â0?ŁäÖE:ŤHP"jęĚđNŚÂµ›ŃŐ&jbżĹ‡«#*Y—Á‹§fě7ŰŰlŃWWRŞŢÉeĂtťÍ®• ąââ~ˇ‹1mŕ=€qm®-<j‹~ÓÉÝ"xĹG%[žhL6€´B,Uďd7ÇÔÂ|¬Ĺ¬_#)×ĎθDx·š=Ä)\ęö^ş,FůZ#*s”î#4L=Ú—t#)íťEiX‰úEů´X˘¶ŞĘ˝Łćä7©;^Üäşe`,Mú%•hĎŤ†Qö7qÂm·?!…T©Ľě¤üꊗËtgÖ´>í#)Üä[<¦Ú•!śg©Ü#)‹%ÜLůAuĺa;¦,őVŤáąEÄáŇ’x\CnůW“Côj@„5ŃPs›…zU–„Ďú ŃPÔ”Ó@1Ž:·ˇĹH¸Ă~’Ć>dQ×}¸WÜ4¬ÔU*ňEŞ?d`.!#*¬Ű|CÚŕ<·šo˛ĚĦOžŕq()Ő€•róGŢäI=”ˇ}mĚ%ČJe™e)ż51[ÚµÂx nCISş÷çóńĚVˇx4_ĎĆĂŚřBµB'Ęś9‹Á9 «ÍPÖš<|9°-Ömůxę6ĹţŽŮŻÖg·–ŰAC”ăˇ#*"Ždîy§¦ş:`‡?ËN·ĄőW·‚L>7UnMů”śyćI ş#41ćË|°üHPFX~ÓÉ‹ZlbAŔžg„#4ISź¸(}·*@~MZŻ—(#4áôĘŹR¦†ÝšçĹrÓrą%Ž«oŰ‚Ĺ ® ±_u–ĹĽü˘),XôŐxXW´Çí]4ĺĺMa^Ń{ÍęæößĺŮÉ®©§ŤĚ°—ď]ůćÓ!ć#4®ÁĽÎBű@7é»…÷Vr@b™Ž&?öŹ”MűŃş_´ăD”4v#*Pę*ź!ĚpYÎć!<L0ဠX<u—OP<eĤX-dX-±xmÜă&7¨mt hÜ“ŐsÜ7«ŕ#*ȶşžaęgÎWw"XS@˝AŽKş˛őîB(I‡ĎXÖŰňż"üžVĹÁ%ŠzŘ`ß“’hśIŃp–“¨~~gŠ‹úÓ#*ęD·VfÖ4I‡Ĺ+Ë°/“™aĄŹj¤ÄŚ,Řj#*Ě#4řɶ9î@ŻXÉ>¦\¸nŻŹCµ¶^ęî®RpKń¬©l–˙óŮÁ#)ďT•›‘=iĐä”MÔ® 1¤…’ÂÖŔ:ôá6ÎÜ7YR6ŘCSŰMáW$#;˘Đ{o¶#ď"†‰Z*ă ÄEÜ&*:é~M@cRÁ¦ę]٬2v .MěĹâ%`gŢZ¦SŽP±Đ)ű×ŕŔŚÂ˝7%ŞÚŇ!ÎćĆJÉ~mµŃ÷*çŽ]’súĆô9rú”©?đý^CžY8źí'IHŇő;ˡęI"«ú#*Âőĺ@&źŠŽĽg¶6çiÔÜĂüם‹,Ř›ŕdţ1ý_ăÖó¸ĂÜl°áDkD௣?Čń,Ć#)â` óů\#4$%—¶“9Ř”ç×Kq/"q¤Ś““e~ş-‚D'ĽÓ‡^4zńjŘoĘTuţ…śMÝP‹lBÍÁćY®~A”Ř#·ůtřx…›$¶ÝÍ÷mT5\ůXŕDőSköÇSá]µžÁ‚0)żé’ě|O^şZRgµÖ#Ü ’f‘Ăił#Ń"|2Ü2¶b”2´˛Ĺ^–|ŻU“g…[§ß*4](¤BŔ¦c’qÇŁTAŠžSčúTˇxĄ„cUj”z¦$…~cęŇ‹YţŠm)aýŕŕÉŻ B$=I|)ĂëÝÝOu<ôĹČÎÔX6#)ÇĂZéÜ, U늏֗~tXčďéŮQ~'ëjÇËď`fÍÜtçşź7WŠŐš#*ÔĚRŁÎM·”ľÝ<,WFú µ>q#)„ݸ0~ş$CRäÖĺHŻ>f€šľĺ)h>÷§pGŹ€Ę<X`ZX#*dvŢgÎY6šbmÎwdÇş6ľófT*Ź x¬W&ŮŔ¬âUČ5¬ ·ä |±ll6]•"ězţJy„$'S˛%÷ TyLaµŐ%žŚ/x` ÄiŮcJeˇP“'`±ÔFř6h͆8#¸¦ňÖ˸;/ť#4ĺÎŽ$ĽŤˇëhŞŻŞ#**·u×ńW.´SaőNy[,ŐĹÓĂ{¤ůŇ€=))Ń™ÓÚ·>ÂĘZV\ˇŚĺóŃĄ3Ň4J©Ši”#4Ń~ŃÚ¸9$Ë»Î*dźÜg—ŤGĄŁmçÓŔ;M~]Í–9jŁ‰AN¶ÇéJ$ŘvđôöŮăźÎ2Ď`çškO°NâÖg˙ZIŠšzI´C´Z•ZŹ¬Â±˝Ą2k#)ÜŻS††2ĄíNůNĐŠîK«IÓ™*ő#ŕ”»şóstÇnčżUaHĂY´©ĺ´ŹŽBÜX€O7p{¨]ąŔăéŞz1žf)Ő]1Âá#)Č#*’c4˝žµâĎ"Ô9'ç[¤$g1|5‹Çs€ťŠ#÷.~ÖßTłĆ˝c(kńć2ł›wë_lł•°@…˘^ŞŢ°›H˙Ĺ“çŔě,ăÓň¦0±S+ď)k!`pÝ(đ/ůŔ°—c]~~ çňĎé˝M{€,Ę-čďćŹlúäčâřöŇîô˝•@ěÄšL0KŢ0˙Ö<}ăł©“ŇĎAôóđžĂsxĎá9<‡çđžĂsxĎá9<‡çđžĂsxĎá9<‡çđžĂsxĎá9<‡çđžOôü~._k#)¨#) +#<== diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb b/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb index d4cbce80b..cec524755 100644 --- a/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb +++ b/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb @@ -35,9 +35,15 @@ do_configure_prepend() { rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf } +do_install_append_class-target() { + # duplicate fc-cache for postinstall script + mkdir -p ${D}${libexecdir} + ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache +} + PACKAGES =+ "fontconfig-utils" FILES_${PN} =+ "${datadir}/xml/*" -FILES_fontconfig-utils = "${bindir}/*" +FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" # Work around past breakage in debian.bbclass RPROVIDES_fontconfig-utils = "libfontconfig-utils" diff --git a/poky/meta/recipes-graphics/freetype/freetype_2.9.bb b/poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb index da05916b3..1e6f66ee9 100644 --- a/poky/meta/recipes-graphics/freetype/freetype_2.9.bb +++ b/poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb @@ -13,15 +13,16 @@ LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=4af6221506f202774ef74f64932878a1 file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec" SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \ - file://use-right-libtool.patch" + file://use-right-libtool.patch \ + " UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/freetype/files/freetype2/" UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)" -SRC_URI[md5sum] = "513c403c110016fdc7e537216a642b1d" -SRC_URI[sha256sum] = "e6ffba3c8cef93f557d1f767d7bc3dee860ac7a3aaff588a521e081bc36f4c8a" +SRC_URI[md5sum] = "60ef7d8160cd4bf8cb118ee9d65367ca" +SRC_URI[sha256sum] = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d" -inherit autotools pkgconfig binconfig-disabled multilib_header +inherit autotools pkgconfig multilib_header # Adapt autotools to work with the minimal autoconf usage in freetype AUTOTOOLS_SCRIPT_PATH = "${S}/builds/unix" @@ -35,6 +36,7 @@ PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2" PACKAGECONFIG[harfbuzz] = "--with-harfbuzz,--without-harfbuzz,harfbuzz" PACKAGECONFIG[pixmap] = "--with-png,--without-png,libpng" PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" +PACKAGECONFIG[freetypeconfig] = "--enable-freetype-config=yes,--enable-freetype-config=no," EXTRA_OECONF = "CC_BUILD='${BUILD_CC}'" @@ -44,6 +46,4 @@ do_install_append() { oe_multilib_header freetype2/freetype/config/ftconfig.h } -BINCONFIG = "${bindir}/freetype-config" - BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/fstests/fstests_git.bb b/poky/meta/recipes-graphics/fstests/fstests_git.bb deleted file mode 100644 index 69f217830..000000000 --- a/poky/meta/recipes-graphics/fstests/fstests_git.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Various benchmarning tests for X" -HOMEPAGE = "http://www.o-hand.com" -SECTION = "devel" -LICENSE = "Zlib" -DEPENDS = "pango libxext libxft virtual/libx11 gtk+" - -SRCREV = "e5939ff608b95cdd4d0ab0e1935781ab9a276ac0" -PV = "0.1+git${SRCPV}" - -SRC_URI = "git://git.yoctoproject.org/${BPN}" -UPSTREAM_CHECK_COMMITS = "1" - -LIC_FILES_CHKSUM = "file://test-pango-gdk.c;endline=24;md5=1ee74ec851ecda57eb7ac6cc180f7655" - -S = "${WORKDIR}/git/tests" - -inherit autotools pkgconfig distro_features_check -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.7.5.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.8.8.bb index 0a9b02946..b904d9353 100644 --- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.7.5.bb +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.8.8.bb @@ -11,9 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e021dd6dda6ff1e6b1044002fc662b9b \ DEPENDS = "glib-2.0 cairo fontconfig freetype" SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2" - -SRC_URI[md5sum] = "1466ab51fc5aaa6af4065936939cec62" -SRC_URI[sha256sum] = "84574e1b1f65ca694cb8fb6905309665c0368af18a312357f8ff886ee2f29563" +SRC_URI[md5sum] = "81dbce82d6471ec2b2a627ce02d03e5d" +SRC_URI[sha256sum] = "a8e5c86e4d99e1cc9865ec1b8e9b05b98e413c2a885cd11f8e9bb9502dd3e3a9" inherit autotools pkgconfig lib_package gtk-doc @@ -28,8 +27,16 @@ EXTRA_OECONF = " \ --without-graphite2 \ " +do_configure_prepend() { + # This is ancient and can get used instead of the patched one we ship, + # so delete it. In 1.8.9 this should be removed upstream. + rm -f ${S}/m4/pkg.m4 +} + PACKAGES =+ "${PN}-icu ${PN}-icu-dev" +LEAD_SONAME = "libharfbuzz.so" + FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ ${libdir}/libharfbuzz-icu.so \ diff --git a/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch new file mode 100644 index 000000000..44c2c768b --- /dev/null +++ b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch @@ -0,0 +1,32 @@ +From 0a24f03a67425a7b58b3fd40d965c0c9801ae7a1 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Mon, 27 Aug 2018 16:10:55 +0800 +Subject: [PATCH] libjpeg-turbo: fix package_qa error + +Fix package qa errors like below: +libjpeg.so.62.3.0 contains probably-redundant RPATH /usr/lib [useless-rpaths] +usr/bin/cjpeg contains probably-redundant RPATH /usr/lib + +Upstream-Status: Inappropriate[oe-specific] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + CMakeLists.txt | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1719522..682cef1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,8 +109,6 @@ endif() + + include(cmakescripts/GNUInstallDirs.cmake) + +-set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) +- + macro(report_directory var) + if(CMAKE_INSTALL_${var} STREQUAL CMAKE_INSTALL_FULL_${var}) + message(STATUS "CMAKE_INSTALL_${var} = ${CMAKE_INSTALL_${var}}") +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-wrongly-defined-define-HAVE_STDLIB.patch b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-wrongly-defined-define-HAVE_STDLIB.patch new file mode 100644 index 000000000..16767ebb6 --- /dev/null +++ b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-wrongly-defined-define-HAVE_STDLIB.patch @@ -0,0 +1,119 @@ +From d301019d0f23d12b9666d3d88b0859067a4ade77 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Thu, 30 Aug 2018 15:08:23 +0800 +Subject: [PATCH] libjpeg-turbo: fix wrongly defined define HAVE_STDLIB_H + +when change build system from autotools to cmake, below +part is replace wrongly: + +"#undef HAVE_STDLIB_H" +should be change to "#cmakedefine HAVE_STDLIB_H 1" +not "#cmakedefine HAVE_STDLIB_H" + +otherwise, even if stdlib.h is found, output file +of configure_file() will define like: #define HAVE_STDLIB_H +but we need it as #define HAVE_STDLIB_H 1, since for +different defination of HAVE_STDLIB_H will cause below error: +error: "HAVE_STDLIB_H" redefined [-Werror] + +Upstream-Status: Submitted[https://github.com/libjpeg-turbo/libjpeg-turbo/pull/275] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + jconfig.h.in | 28 ++++++++++++++-------------- + jconfigint.h.in | 4 ++-- + 2 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/jconfig.h.in b/jconfig.h.in +index 2842754..18a69a4 100644 +--- a/jconfig.h.in ++++ b/jconfig.h.in +@@ -10,16 +10,16 @@ + #define LIBJPEG_TURBO_VERSION_NUMBER @LIBJPEG_TURBO_VERSION_NUMBER@ + + /* Support arithmetic encoding */ +-#cmakedefine C_ARITH_CODING_SUPPORTED ++#cmakedefine C_ARITH_CODING_SUPPORTED 1 + + /* Support arithmetic decoding */ +-#cmakedefine D_ARITH_CODING_SUPPORTED ++#cmakedefine D_ARITH_CODING_SUPPORTED 1 + + /* Support in-memory source/destination managers */ +-#cmakedefine MEM_SRCDST_SUPPORTED ++#cmakedefine MEM_SRCDST_SUPPORTED 1 + + /* Use accelerated SIMD routines. */ +-#cmakedefine WITH_SIMD ++#cmakedefine WITH_SIMD 1 + + /* + * Define BITS_IN_JSAMPLE as either +@@ -33,37 +33,37 @@ + #define BITS_IN_JSAMPLE @BITS_IN_JSAMPLE@ /* use 8 or 12 */ + + /* Define to 1 if you have the <locale.h> header file. */ +-#cmakedefine HAVE_LOCALE_H ++#cmakedefine HAVE_LOCALE_H 1 + + /* Define to 1 if you have the <stddef.h> header file. */ +-#cmakedefine HAVE_STDDEF_H ++#cmakedefine HAVE_STDDEF_H 1 + + /* Define to 1 if you have the <stdlib.h> header file. */ +-#cmakedefine HAVE_STDLIB_H ++#cmakedefine HAVE_STDLIB_H 1 + + /* Define if you need to include <sys/types.h> to get size_t. */ +-#cmakedefine NEED_SYS_TYPES_H ++#cmakedefine NEED_SYS_TYPES_H 1 + + /* Define if you have BSD-like bzero and bcopy in <strings.h> rather than + memset/memcpy in <string.h>. */ +-#cmakedefine NEED_BSD_STRINGS ++#cmakedefine NEED_BSD_STRINGS 1 + + /* Define to 1 if the system has the type `unsigned char'. */ +-#cmakedefine HAVE_UNSIGNED_CHAR ++#cmakedefine HAVE_UNSIGNED_CHAR 1 + + /* Define to 1 if the system has the type `unsigned short'. */ +-#cmakedefine HAVE_UNSIGNED_SHORT ++#cmakedefine HAVE_UNSIGNED_SHORT 1 + + /* Compiler does not support pointers to undefined structures. */ +-#cmakedefine INCOMPLETE_TYPES_BROKEN ++#cmakedefine INCOMPLETE_TYPES_BROKEN 1 + + /* Define if your (broken) compiler shifts signed values as if they were + unsigned. */ +-#cmakedefine RIGHT_SHIFT_IS_UNSIGNED ++#cmakedefine RIGHT_SHIFT_IS_UNSIGNED 1 + + /* Define to 1 if type `char' is unsigned and you are not using gcc. */ + #ifndef __CHAR_UNSIGNED__ +- #cmakedefine __CHAR_UNSIGNED__ ++ #cmakedefine __CHAR_UNSIGNED__ 1 + #endif + + /* Define to empty if `const' does not conform to ANSI C. */ +diff --git a/jconfigint.h.in b/jconfigint.h.in +index 55df053..6c898ac 100644 +--- a/jconfigint.h.in ++++ b/jconfigint.h.in +@@ -17,10 +17,10 @@ + #define SIZEOF_SIZE_T @SIZE_T@ + + /* Define if your compiler has __builtin_ctzl() and sizeof(unsigned long) == sizeof(size_t). */ +-#cmakedefine HAVE_BUILTIN_CTZL ++#cmakedefine HAVE_BUILTIN_CTZL 1 + + /* Define to 1 if you have the <intrin.h> header file. */ +-#cmakedefine HAVE_INTRIN_H ++#cmakedefine HAVE_INTRIN_H 1 + + #if defined(_MSC_VER) && defined(HAVE_INTRIN_H) + #if (SIZEOF_SIZE_T == 8) +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.0.bb index 50a5ae085..282bf95e8 100644 --- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb +++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.0.bb @@ -4,16 +4,18 @@ HOMEPAGE = "http://libjpeg-turbo.org/" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \ - file://jpeglib.h;endline=16;md5=f67d70e547a2662c079781c72f877f72 \ + file://jpeglib.h;endline=16;md5=7ea97dc83b0f59052ee837e61ef0e08f \ file://djpeg.c;endline=11;md5=c59e19811c006cb38f82d6477134d314 \ " DEPENDS_append_x86-64_class-target = " nasm-native" DEPENDS_append_x86_class-target = " nasm-native" -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ + file://0001-libjpeg-turbo-fix-package_qa-error.patch \ + file://0001-libjpeg-turbo-fix-wrongly-defined-define-HAVE_STDLIB.patch" -SRC_URI[md5sum] = "7c82f0f6a3130ec06b8a4d0b321cbca3" -SRC_URI[sha256sum] = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523" +SRC_URI[md5sum] = "b12a3fcf1d078db38410f27718a91b83" +SRC_URI[sha256sum] = "778876105d0d316203c928fd2a0374c8c01f755d0a00b12a1c8934aeccff8868" UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/" UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/" @@ -25,28 +27,23 @@ RPROVIDES_${PN} += "jpeg" RREPLACES_${PN} += "jpeg" RCONFLICTS_${PN} += "jpeg" -inherit autotools pkgconfig +inherit cmake pkgconfig # Add nasm-native dependency consistently for all build arches is hard -EXTRA_OECONF_append_class-native = " --without-simd" +EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False" # Work around missing x32 ABI support -EXTRA_OECONF_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "--without-simd", "", d)}" +EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}" # Work around missing non-floating point ABI support in MIPS -EXTRA_OECONF_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "--without-simd", "", d)}" +EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}" # Provide a workaround if Altivec unit is not present in PPC -EXTRA_OECONF_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "--without-simd", d)}" -EXTRA_OECONF_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "--without-simd", d)}" +EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" +EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" -def get_build_time(d): - if d.getVar('SOURCE_DATE_EPOCH') != None: - import datetime - return " --with-build-date="+ datetime.datetime.fromtimestamp(float(d.getVar('SOURCE_DATE_EPOCH'))).strftime("%Y%m%d") - return "" - -EXTRA_OECONF_append_class-target = "${@get_build_time(d)}" +DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" PACKAGES =+ "jpeg-tools libturbojpeg" diff --git a/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch b/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch index 3605446e4..611e54159 100644 --- a/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch +++ b/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch @@ -49,9 +49,9 @@ diff --git a/configure.ac b/configure.ac index 8397f7b..c7f1f4d 100644 --- a/configure.ac +++ b/configure.ac -@@ -65,5 +65,8 @@ if test "x$enable_gbm_modifiers" = xyes; then - AC_DEFINE(HAVE_GBM_MODIFIERS, 1, [Define if you can use GBM properties.]) +@@ -49,5 +49,8 @@ if test "x$HAVE_GST" = "xyes"; then fi + AM_CONDITIONAL(ENABLE_GST, [test "x$HAVE_GST" = "xyes"]) +AC_CHECK_LIB([gbm], [gbm_bo_map], [HAVE_GBM_BO_MAP=yes], []) +AM_CONDITIONAL(ENABLE_GBM_MAP, [test "x$HAVE_GBM_BO_MAP" = "xyes"]) @@ -99,12 +99,12 @@ diff --git a/kmscube.c b/kmscube.c index 3a2c4dd..276dc55 100644 --- a/kmscube.c +++ b/kmscube.c -@@ -142,7 +142,11 @@ int main(int argc, char *argv[]) +@@ -148,7 +148,11 @@ int main(int argc, char *argv[]) else if (mode == VIDEO) - egl = init_cube_video(gbm, video); + egl = init_cube_video(gbm, video, samples); else +#if HAVE_GBM_BO_MAP - egl = init_cube_tex(gbm, mode); + egl = init_cube_tex(gbm, mode, samples); +#else + printf("gbm_bo_map() support missing\n"); +#endif diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb index 5b64ed643..46aeeb017 100644 --- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb +++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb @@ -6,7 +6,7 @@ DEPENDS = "virtual/libgles2 virtual/egl libdrm gstreamer1.0 gstreamer1.0-plugins LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb" -SRCREV = "0d8de4ce3a03f36af1817f9b0586d132ad2c5d2e" +SRCREV = "9dcce71e603616ee7a54707e932f962cdf8fb20a" SRC_URI = "git://anongit.freedesktop.org/mesa/kmscube;branch=master;protocol=git \ file://detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch" UPSTREAM_CHECK_COMMITS = "1" diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy/no-tests.patch b/poky/meta/recipes-graphics/libepoxy/libepoxy/no-tests.patch deleted file mode 100644 index d2b6c1a25..000000000 --- a/poky/meta/recipes-graphics/libepoxy/libepoxy/no-tests.patch +++ /dev/null @@ -1,33 +0,0 @@ -Add option to disable tests. - -Upstream-Status: Submitted (https://github.com/anholt/libepoxy/pull/158) -Signed-off-by: Ross Burton <ross.burton@intel.com> - -diff --git a/meson.build b/meson.build -index b2ebaef..9632c7a 100644 ---- a/meson.build -+++ b/meson.build -@@ -242,7 +242,10 @@ libepoxy_inc = [ - - subdir('include/epoxy') - subdir('src') --subdir('test') -+ -+if get_option('tests') -+ subdir('test') -+endif - - if get_option('docs') - doxygen = find_program('doxygen', required: false) -diff --git a/meson_options.txt b/meson_options.txt -index b5d7c98..dc30e68 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -15,3 +15,7 @@ option('x11', - type: 'boolean', - value: true, - description: 'Enable X11 support (GLX or EGL-X11)') -+option('tests', -+ type: 'boolean', -+ value: true, -+ description: 'Build the test suite') diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.2.bb index 5ca0868c2..106721226 100644 --- a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb +++ b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.2.bb @@ -6,10 +6,9 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b" SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \ - file://no-tests.patch \ " -SRC_URI[md5sum] = "63fe3847789258254dcd7e3fdb9e7f5e" -SRC_URI[sha256sum] = "4c94995398a6ebf691600dda2e9685a0cac261414175c2adf4645cdfab42a5d5" +SRC_URI[md5sum] = "4a6b9e581da229dee74c2263c84b1eca" +SRC_URI[sha256sum] = "a9562386519eb3fd7f03209f279f697a8cba520d3c155d6e253c3e138beca7d8" UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases" inherit meson pkgconfig distro_features_check diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch b/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch new file mode 100644 index 000000000..29076bf6c --- /dev/null +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch @@ -0,0 +1,47 @@ +Many source files include e.g. wayland-protocols.h which should be found in the +sysroot but SDL wants to build its own headers from the XML definitions. + +However the rules to generate those headers are only dependencies of the +top-level libSDL2.la object so can be built in parallel with the rest of the +objects, which can lead to interesting errors if the header is parsed by the +compiler whilst it's being written by another process: + +| gen/wayland-client-protocol.h:3: error: unterminated #ifndef +| #ifndef WAYLAND_CLIENT_PROTOCOL_H + +Solve this by adding more dependencies so the generated files are built before +the primary objects. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/configure.in b/data/poky-tmp/master/work/corei7-64-poky-linux/libsdl2/2.0.8-r0/SDL2-2.0.8/configure.in +index 1c7e79338..ba07a4a4e 100644 +--- a/configure.in ++++ b/data/poky-tmp/master/work/corei7-64-poky-linux/libsdl2/2.0.8-r0/SDL2-2.0.8/configure.in +@@ -4011,7 +4011,7 @@ DEPENDS=`echo $SOURCES | tr ' ' '\n'` + for EXT in asm cc m c S; do + OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'` + DEPENDS=`echo "$DEPENDS" | sed "s,^\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.$EXT\\$,\\\\ +-\\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\ ++\\$(objects)/\\2.lo: \\1/\\2.$EXT \\$(GEN_OBJECTS)\\\\ + \\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` + done + +@@ -4028,14 +4028,14 @@ SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES` + SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES` + SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'` + SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\ +-\\$(objects)/\\2.lo: \\1/\\2.c\\\\ ++\\$(objects)/\\2.lo: \\1/\\2.c \\$(GEN_OBJECTS)\\\\ + \\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` + + SDLTEST_OBJECTS=`echo $SDLTEST_SOURCES` + SDLTEST_DEPENDS=`echo $SDLTEST_SOURCES` + SDLTEST_OBJECTS=`echo "$SDLTEST_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'` + SDLTEST_DEPENDS=`echo "$SDLTEST_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\ +-\\$(objects)/\\2.lo: \\1/\\2.c\\\\ ++\\$(objects)/\\2.lo: \\1/\\2.c\\\\ \\$(GEN_OBJECTS)\\\\ + \\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` + + # Set runtime shared library paths as needed diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb index 8092fad11..812a9abf3 100644 --- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb @@ -12,11 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=02ee26814dd044bd7838ae24e05b880f" PROVIDES = "virtual/libsdl2" -DEPENDS_class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/nativesdk-libx11 nativesdk-libxrandr nativesdk-libxrender nativesdk-libxext', '', d)}" - -SRC_URI = " \ - http://www.libsdl.org/release/SDL2-${PV}.tar.gz \ - file://0001-GLES2-Get-sin-cos-out-of-vertex-shader.patch \ +SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \ + file://more-gen-depends.patch \ + file://0001-GLES2-Get-sin-cos-out-of-vertex-shader.patch \ " S = "${WORKDIR}/SDL2-${PV}" @@ -32,12 +30,15 @@ EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \ --enable-pthreads \ --enable-sdl-dlopen \ --disable-rpath \ + --disable-sndio \ " # opengl packageconfig factored out to make it easy for distros # and BSP layers to pick either (desktop) opengl, gles2, or no GL PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" +PACKAGECONFIG_class-native = "x11" +PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" PACKAGECONFIG ??= " \ ${PACKAGECONFIG_GL} \ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \ @@ -64,3 +65,5 @@ do_configure_prepend() { } FILES_${PN}-dev += "${libdir}/cmake" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.1.0.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.2.0.bb index a8018ea72..e35085cb9 100644 --- a/poky/meta/recipes-graphics/libva/libva-utils_2.1.0.bb +++ b/poky/meta/recipes-graphics/libva/libva-utils_2.2.0.bb @@ -15,8 +15,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e" SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2" -SRC_URI[md5sum] = "6649be70390606651cb636320bfd43c6" -SRC_URI[sha256sum] = "f6a7790c3dcc56537372c90a83036a3136194a8b397e84e97bf9cc9254fa2c51" +SRC_URI[md5sum] = "93b58aa5b14c16f4bace8a45dc255ec9" +SRC_URI[sha256sum] = "ed7a6ed1fab657df4e83ea11f90310efcf31c27828f32d65351a28ca3c404dc0" UPSTREAM_CHECK_URI = "https://github.com/intel/libva-utils/releases" diff --git a/poky/meta/recipes-graphics/libva/libva_2.1.0.bb b/poky/meta/recipes-graphics/libva/libva_2.2.0.bb index d3cf6334c..11e57e0eb 100644 --- a/poky/meta/recipes-graphics/libva/libva_2.1.0.bb +++ b/poky/meta/recipes-graphics/libva/libva_2.2.0.bb @@ -19,8 +19,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2" -SRC_URI[md5sum] = "9d6e4f1d36c407566343e9dde5a972b8" -SRC_URI[sha256sum] = "f3fa953a11d3210c3a4ee79031abdbe0863d5ce13d9b3f93f315f1eec60a4b0f" +SRC_URI[md5sum] = "92d04ad1700136dc75b1e5f47516e704" +SRC_URI[sha256sum] = "6f6ca04c785544d30d315ef130a6aeb9435b75f934d7fbe0e4e9ba6084ce4ef2" UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases" diff --git a/poky/meta/recipes-graphics/mesa/files/0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch b/poky/meta/recipes-graphics/mesa/files/0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch deleted file mode 100644 index f908d4655..000000000 --- a/poky/meta/recipes-graphics/mesa/files/0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 342311dbb190735b7b32ab20f81c1d8dbcfe717a Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Wed, 11 Oct 2017 15:40:42 +0800 -Subject: [PATCH] Makefile.vulkan.am: explictly add lib expat to intel - libvulkan's lib depends - -While built with "-fvisibility=default" -... -|i586-oe-linux-gcc ... -fvisibility=default ... -o common/.libs/common_libintel_common_la-gen_decoder.o -... - -It triggered the failure -... -|i586-oe-linux-g++ ... common/.libs/libintel_common.a ... -o vulkan/.libs/libvulkan_intel.so -|common/.libs/libintel_common.a(common_libintel_common_la-gen_decoder.o): -|In function `start_element': -|/usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/intel/common/gen_decoder.c:371: -undefined reference to `XML_GetCurrentLineNumber' -... - -explictly add EXPAT_LIBS to intel's VULKAN_LIB_DEPS - -Upstream-Status: Accepted -https://cgit.freedesktop.org/mesa/mesa/commit/?id=05fc62d89f59ce19a18bfd4e63a09624910d6caf - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - src/intel/Makefile.vulkan.am | 1 + - 1 file changed, 1 insertion(+) - -Index: mesa-17.3.6/src/intel/Makefile.vulkan.am -=================================================================== ---- mesa-17.3.6.orig/src/intel/Makefile.vulkan.am -+++ mesa-17.3.6/src/intel/Makefile.vulkan.am -@@ -144,6 +144,7 @@ VULKAN_LIB_DEPS = \ - $(LIBDRM_LIBS) \ - $(PTHREAD_LIBS) \ - $(DLOPEN_LIBS) \ -+ $(EXPAT_LIBS) \ - -lm - - if HAVE_PLATFORM_ANDROID diff --git a/poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch b/poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch new file mode 100644 index 000000000..a50d2a2ba --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch @@ -0,0 +1,39 @@ +From 7e8e0f8a8ac2425e19a2f340c9e3da9345f25940 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Tue, 15 Nov 2016 15:20:49 +0200 +Subject: [PATCH 1/6] Simplify wayland-scanner lookup +Organization: O.S. Systems Software LTDA. + +Don't use pkg-config to lookup the path of a binary that's in the path. + +Alternatively we'd have to prefix the path returned by pkg-config with +PKG_CONFIG_SYSROOT_DIR. + +Upstream-Status: Pending +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + configure.ac | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 14f1af2b2f..916d0bd207 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1825,12 +1825,7 @@ for plat in $platforms; do + PKG_CHECK_MODULES([WAYLAND_PROTOCOLS], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED]) + WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` + +- PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], +- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, +- WAYLAND_SCANNER='') +- if test "x$WAYLAND_SCANNER" = x; then +- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) +- fi ++ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) + + if test "x$WAYLAND_SCANNER" = "x:"; then + AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform]) +-- +2.18.0 + diff --git a/poky/meta/recipes-graphics/mesa/files/0001-Use-wayland-scanner-in-the-path.patch b/poky/meta/recipes-graphics/mesa/files/0001-Use-wayland-scanner-in-the-path.patch deleted file mode 100644 index 2444b2846..000000000 --- a/poky/meta/recipes-graphics/mesa/files/0001-Use-wayland-scanner-in-the-path.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c908f0c13ac81a3a52140f129a13b2bc997ff4ee Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Tue, 15 Nov 2016 15:20:49 +0200 -Subject: [PATCH] Simplify wayland-scanner lookup - -Don't use pkg-config to lookup the path of a binary that's in the path. - -Alternatively we'd have to prefix the path returned by pkg-config with -PKG_CONFIG_SYSROOT_DIR. - -Upstream-Status: Pending -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - configure.ac | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -Index: mesa-17.3.6/configure.ac -=================================================================== ---- mesa-17.3.6.orig/configure.ac -+++ mesa-17.3.6/configure.ac -@@ -1694,12 +1694,7 @@ if test "x$with_platforms" = xauto; then - with_platforms=$with_egl_platforms - fi - --PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], -- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, -- WAYLAND_SCANNER='') --if test "x$WAYLAND_SCANNER" = x; then -- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) --fi -+AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) - - PKG_CHECK_EXISTS([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], [have_wayland_protocols=yes], [have_wayland_protocols=no]) - if test "x$have_wayland_protocols" = xyes; then diff --git a/poky/meta/recipes-graphics/mesa/files/0001-st-dri-Initialise-modifier-to-INVALID-for-DRI2.patch b/poky/meta/recipes-graphics/mesa/files/0001-st-dri-Initialise-modifier-to-INVALID-for-DRI2.patch deleted file mode 100644 index 6aba7859e..000000000 --- a/poky/meta/recipes-graphics/mesa/files/0001-st-dri-Initialise-modifier-to-INVALID-for-DRI2.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 4cbecb61682a0ee426faaa03d824fc8fd7aef826 Mon Sep 17 00:00:00 2001 -From: Daniel Stone <daniels@collabora.com> -Date: Mon, 2 Apr 2018 13:20:34 +0100 -Subject: [PATCH] st/dri: Initialise modifier to INVALID for DRI2 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When allocating a buffer for DRI2, set the modifier to INVALID to inform -the backend that we have no supplied modifiers and it should do its own -thing. The missed initialisation forced linear, even if the -implementation had made other decisions. - -This resulted in VC4 DRI2 clients failing with: - Modifier 0x0 vs. tiling (0x700000000000001) mismatch - -Signed-off-by: Daniel Stone <daniels@collabora.com> -Reported-by: Andreas MĂĽller <schnitzeltony@gmail.com> -Reviewed-by: Eric Anholt <eric@anholt.net> -Fixes: 3f8513172ff6 ("gallium/winsys/drm: introduce modifier field to winsys_handle") - -Upstream-Status: Backport [1] - -[1] https://cgit.freedesktop.org/mesa/mesa/commit/?id=4cbecb61682a0ee426faaa03d824fc8fd7aef826 ---- - src/gallium/state_trackers/dri/dri2.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c -index 31d17d46c2..58a6757f03 100644 ---- a/src/gallium/state_trackers/dri/dri2.c -+++ b/src/gallium/state_trackers/dri/dri2.c -@@ -806,6 +806,7 @@ dri2_allocate_textures(struct dri_context *ctx, - whandle.handle = buf->name; - whandle.stride = buf->pitch; - whandle.offset = 0; -+ whandle.modifier = DRM_FORMAT_MOD_INVALID; - if (screen->can_share_buffer) - whandle.type = DRM_API_HANDLE_TYPE_SHARED; - else --- -2.14.3 - diff --git a/poky/meta/recipes-graphics/mesa/files/0002-hardware-gloat.patch b/poky/meta/recipes-graphics/mesa/files/0002-hardware-gloat.patch deleted file mode 100644 index 0e014dcc8..000000000 --- a/poky/meta/recipes-graphics/mesa/files/0002-hardware-gloat.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 00bcd599310dc7fce4fe336ffd85902429051a0c Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko <i.gnatenko.brain@gmail.com> -Date: Sun, 20 Mar 2016 13:27:04 +0100 -Subject: [PATCH 2/4] hardware gloat - -Upstream-Status: Inappropriate [not author] -Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com> ---- - src/gallium/drivers/llvmpipe/lp_screen.c | 7 +++++++ - src/gallium/drivers/softpipe/sp_screen.c | 7 +++++++ - 2 files changed, 14 insertions(+) - -diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c -index 4f61de8..3b0ec77 100644 ---- a/src/gallium/drivers/llvmpipe/lp_screen.c -+++ b/src/gallium/drivers/llvmpipe/lp_screen.c -@@ -411,6 +411,13 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen, - if (!format_desc) - return FALSE; - -+ if ((bind & PIPE_BIND_RENDER_TARGET) && -+ format != PIPE_FORMAT_R9G9B9E5_FLOAT && -+ format != PIPE_FORMAT_R11G11B10_FLOAT && -+ util_format_is_float(format)) { -+ return FALSE; -+ } -+ - assert(target == PIPE_BUFFER || - target == PIPE_TEXTURE_1D || - target == PIPE_TEXTURE_1D_ARRAY || -diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c -index 031602b..c279120 100644 ---- a/src/gallium/drivers/softpipe/sp_screen.c -+++ b/src/gallium/drivers/softpipe/sp_screen.c -@@ -358,6 +358,13 @@ softpipe_is_format_supported( struct pipe_screen *screen, - if (!format_desc) - return FALSE; - -+ if ((bind & PIPE_BIND_RENDER_TARGET) && -+ format != PIPE_FORMAT_R9G9B9E5_FLOAT && -+ format != PIPE_FORMAT_R11G11B10_FLOAT && -+ util_format_is_float(format)) { -+ return FALSE; -+ } -+ - if (sample_count > 1) - return FALSE; - --- -2.7.4 - diff --git a/poky/meta/recipes-graphics/mesa/files/0001-winsys-svga-drm-Include-sys-types.h.patch b/poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch index 549b8671a..ffb3bf7a6 100644 --- a/poky/meta/recipes-graphics/mesa/files/0001-winsys-svga-drm-Include-sys-types.h.patch +++ b/poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch @@ -1,7 +1,8 @@ -From d8750776404b1031d762966d0f551d13d2fe05a7 Mon Sep 17 00:00:00 2001 +From 7792f228991744a0396b8bf811e281dca86165d3 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 16 Aug 2017 18:58:20 -0700 -Subject: [PATCH] winsys/svga/drm: Include sys/types.h +Subject: [PATCH 2/6] winsys/svga/drm: Include sys/types.h +Organization: O.S. Systems Software LTDA. vmw_screen.h uses dev_t which is defines in sys/types.h this header is required to be included for getting dev_t @@ -10,15 +11,14 @@ on glibc since sys/types.h is included through another system headers Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Backport [7dfdfbf8c37e52e7b9b09f7d1d434edad3ebc864] +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> --- - -Upstream-Status: Submitted - src/gallium/winsys/svga/drm/vmw_screen.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/winsys/svga/drm/vmw_screen.h b/src/gallium/winsys/svga/drm/vmw_screen.h -index 0ef8e84..2eda97e 100644 +index f21cabb51f..4c972fdaa9 100644 --- a/src/gallium/winsys/svga/drm/vmw_screen.h +++ b/src/gallium/winsys/svga/drm/vmw_screen.h @@ -41,6 +41,7 @@ @@ -30,5 +30,5 @@ index 0ef8e84..2eda97e 100644 #define VMW_GMR_POOL_SIZE (16*1024*1024) #define VMW_QUERY_POOL_SIZE (8192) -- -2.14.1 +2.18.0 diff --git a/poky/meta/recipes-graphics/mesa/files/llvm-config-version.patch b/poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch index fd79991aa..5e735ca10 100644 --- a/poky/meta/recipes-graphics/mesa/files/llvm-config-version.patch +++ b/poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch @@ -1,5 +1,8 @@ +From 8b42fb47138f91d9378439ab716bac7701e4e326 Mon Sep 17 00:00:00 2001 From: Otavio Salvador <otavio@ossystems.com.br> -Subject: [PATCH] Properly get LLVM version when using LLVM Git releases +Date: Tue, 5 Jun 2018 11:11:10 -0300 +Subject: [PATCH 3/6] Properly get LLVM version when using LLVM Git releases +Organization: O.S. Systems Software LTDA. $ llvm-config-host --version 5.0.0git-9a5c333388c @@ -15,10 +18,10 @@ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index a02173f244..b107f04c2e 100644 +index 916d0bd207..dd172f1ebe 100644 --- a/configure.ac +++ b/configure.ac -@@ -995,7 +995,7 @@ strip_unwanted_llvm_flags() { +@@ -1090,7 +1090,7 @@ strip_unwanted_llvm_flags() { llvm_set_environment_variables() { if test "x$LLVM_CONFIG" != xno; then @@ -27,7 +30,7 @@ index a02173f244..b107f04c2e 100644 LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"` LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir` LLVM_LIBDIR=`$LLVM_CONFIG --libdir` -@@ -2644,7 +2644,7 @@ detect_old_buggy_llvm() { +@@ -2808,7 +2808,7 @@ detect_old_buggy_llvm() { dnl ourselves. dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823) dnl We can't use $LLVM_VERSION because it has 'svn' stripped out, @@ -37,5 +40,5 @@ index a02173f244..b107f04c2e 100644 if test "x$llvm_have_one_so" = xyes; then -- -2.15.1 +2.18.0 diff --git a/poky/meta/recipes-graphics/mesa/files/Use-Python-3-to-execute-the-scripts.patch b/poky/meta/recipes-graphics/mesa/files/0004-Use-Python-3-to-execute-the-scripts.patch index 0b4aabf97..8953c4a18 100644 --- a/poky/meta/recipes-graphics/mesa/files/Use-Python-3-to-execute-the-scripts.patch +++ b/poky/meta/recipes-graphics/mesa/files/0004-Use-Python-3-to-execute-the-scripts.patch @@ -1,7 +1,7 @@ -From 18c3e684a8259a0644214f88c7ead7fa31573fd9 Mon Sep 17 00:00:00 2001 +From ebe6077a1d74e56b28249f71e8760295fa846ed2 Mon Sep 17 00:00:00 2001 From: Otavio Salvador <otavio@ossystems.com.br> Date: Fri, 29 Dec 2017 10:27:59 -0200 -Subject: [PATCH] Use Python 3 to execute the scripts +Subject: [PATCH 4/6] Use Python 3 to execute the scripts Organization: O.S. Systems Software LTDA. The MESA build system uses Python 2 but as OE-Core has moved away from @@ -15,11 +15,11 @@ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b107f04c2e..055546142d 100644 +index dd172f1ebe..40cac36ac2 100644 --- a/configure.ac +++ b/configure.ac -@@ -114,7 +114,7 @@ AC_PROG_CXX - AM_PROG_CC_C_O +@@ -122,7 +122,7 @@ AM_PROG_CC_C_O + AC_PROG_NM AM_PROG_AS AX_CHECK_GNU_MAKE -AC_CHECK_PROGS([PYTHON2], [python2.7 python2 python]) @@ -28,5 +28,5 @@ index b107f04c2e..055546142d 100644 AC_PROG_MKDIR_P -- -2.15.1 +2.18.0 diff --git a/poky/meta/recipes-graphics/mesa/files/0005-dri-i965-Add-missing-time.h-include.patch b/poky/meta/recipes-graphics/mesa/files/0005-dri-i965-Add-missing-time.h-include.patch new file mode 100644 index 000000000..d40e7b585 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0005-dri-i965-Add-missing-time.h-include.patch @@ -0,0 +1,36 @@ +From 9e0368af471af3a36e0eb526453f892598120065 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Wed, 6 Jun 2018 09:50:35 -0300 +Subject: [PATCH 5/6] dri: i965: Add missing time.h include +Organization: O.S. Systems Software LTDA. + +This fixes a build error when using musl: + +,---- +| In file included from .../src/mesa/drivers/dri/i965/intel_upload.c:33:0: +| .../src/mesa/drivers/dri/i965/brw_bufmgr.h:132:4: error: unknown type name 'time_t' +| time_t free_time; +| ^~~~~~ +`---- + +Upstream-Status: Backport [3c288da5eec81ee58b85927df18d9194ead8f5c2] +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + src/mesa/drivers/dri/i965/brw_bufmgr.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.h b/src/mesa/drivers/dri/i965/brw_bufmgr.h +index 68f5e0c2c8..5b60a23763 100644 +--- a/src/mesa/drivers/dri/i965/brw_bufmgr.h ++++ b/src/mesa/drivers/dri/i965/brw_bufmgr.h +@@ -37,6 +37,7 @@ + #include <stdbool.h> + #include <stdint.h> + #include <stdio.h> ++#include <time.h> + #include "util/u_atomic.h" + #include "util/list.h" + +-- +2.18.0 + diff --git a/poky/meta/recipes-graphics/mesa/files/0006-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch b/poky/meta/recipes-graphics/mesa/files/0006-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch new file mode 100644 index 000000000..0212922c5 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0006-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch @@ -0,0 +1,37 @@ +From 754ccf89a732fc3da6e9bc62ebd6b28686ff3d26 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Wed, 29 Aug 2018 22:10:30 -0300 +Subject: [PATCH 6/6] use PKG_CHECK_VAR for defining WAYLAND_PROTOCOLS_DATADIR +Organization: O.S. Systems Software LTDA. + +This allows to override the wayland-protocols pkgdatadir with the +WAYLAND_PROTOCOLS_DATADIR from environment. + +pkgconfig would return an absolute path in +/usr/share/wayland-protocols +for the pkgdatadir value, which is not suitable for cross-compiling. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 40cac36ac2..728bbdcbc4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1823,7 +1823,7 @@ for plat in $platforms; do + PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= $WAYLAND_REQUIRED]) + PKG_CHECK_MODULES([WAYLAND_SERVER], [wayland-server >= $WAYLAND_REQUIRED]) + PKG_CHECK_MODULES([WAYLAND_PROTOCOLS], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED]) +- WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` ++ PKG_CHECK_VAR([WAYLAND_PROTOCOLS_DATADIR], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], pkgdatadir) + + AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) + +-- +2.18.0 + diff --git a/poky/meta/recipes-graphics/mesa/files/disable-asm-on-non-gcc.patch b/poky/meta/recipes-graphics/mesa/files/disable-asm-on-non-gcc.patch deleted file mode 100644 index d2d67558b..000000000 --- a/poky/meta/recipes-graphics/mesa/files/disable-asm-on-non-gcc.patch +++ /dev/null @@ -1,29 +0,0 @@ -Configure checks for compiler to be gcc and then it enables asm_offsets -generation. see - -https://cgit.freedesktop.org/mesa/mesa/commit/?id=73c9b4b0e05fc66629ba250846948dc55c0e7a0d - -However, we missed the check when enabling this on cross compilation -when architecture for both host and target is x86 - -Fixes errors like -./gen_matypes > matypes.h -/bin/bash: ./gen_matypes: No such file or directory - --Khem - -Upstream-Status: Submitted - -Index: mesa-12.0.1/configure.ac -=================================================================== ---- mesa-12.0.1.orig/configure.ac -+++ mesa-12.0.1/configure.ac -@@ -732,7 +732,7 @@ test "x$enable_asm" = xno && AC_MSG_RESU - if test "x$enable_asm" = xyes -a "x$cross_compiling" = xyes; then - case "$host_cpu" in - i?86 | x86_64 | amd64) -- if test "x$host_cpu" != "x$target_cpu"; then -+ if test "x$host_cpu" != "x$target_cpu" -o "x$acv_mesa_CLANG" = xyes; then - enable_asm=no - AC_MSG_RESULT([no, cross compiling]) - fi diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_17.3.8.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb index 73267eb4f..73267eb4f 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-gl_17.3.8.bb +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index b501b7e72..0cc0a82de 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -29,12 +29,16 @@ inherit autotools pkgconfig python3native gettext distro_features_check ANY_OF_DISTRO_FEATURES = "opengl vulkan" PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)}" + ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)} \ + surfaceless" export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}" export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config" +export YOCTO_ALTERNATE_MULTILIB_NAME = "${base_libdir}" EXTRA_OECONF = "--enable-shared-glapi \ --disable-opencl \ + --enable-glx-read-only-text \ + PYTHON2=python2 \ --with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \ --with-platforms='${PLATFORMS}'" @@ -47,7 +51,7 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \ # "gbm" requires "dri", "opengl" PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm" -X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes" +X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes" # "x11" requires "opengl" PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}" PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc" @@ -57,8 +61,8 @@ DRIDRIVERS = "swrast" DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915" DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915" # "dri" requires "opengl" -PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm" -PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence" +PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, xorgproto libdrm" +PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, xorgproto libxshmfence" # Vulkan drivers need dri3 enabled # radeon could be enabled as well but requires gallium-llvm with llvm >= 3.9 @@ -87,6 +91,8 @@ GALLIUMDRIVERS_LLVM33_ENABLED = "${@oe.utils.version_less_or_equal('MESA_LLVM_RE GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${@',${GALLIUMDRIVERS_LLVM33}' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" GALLIUMDRIVERS_append_x86 = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" GALLIUMDRIVERS_append_x86-64 = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" +GALLIUMDRIVERS_append_x86 = ",virgl" +GALLIUMDRIVERS_append_x86-64 = ",virgl" # keep --with-gallium-drivers separate, because when only one of gallium versions is enabled, other 2 were adding --without-gallium-drivers PACKAGECONFIG[gallium] = "--enable-texture-float --with-gallium-drivers=${GALLIUMDRIVERS}, --without-gallium-drivers" MESA_LLVM_RELEASE ?= "6.0" @@ -100,10 +106,15 @@ PACKAGECONFIG[osmesa] = "--enable-${OSMESA},--disable-${OSMESA}" PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind" +EXTRA_OECONF_remove_libc-musl = "--enable-glx-tls" +EXTRA_OECONF_append_libc-musl = " --disable-glx-tls" +EXTRA_OECONF_append_libc-musl_x86 = " --disable-asm" + # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer" CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS" +EXTRA_OEMAKE += "WAYLAND_PROTOCOLS_DATADIR=${STAGING_DATADIR}/wayland-protocols" # Remove the mesa dependency on mesa-dev, as mesa is empty RDEPENDS_${PN}-dev = "" @@ -119,7 +130,6 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \ libgles1-mesa libgles1-mesa-dev \ libgles2-mesa libgles2-mesa-dev \ libgles3-mesa libgles3-mesa-dev \ - libwayland-egl libwayland-egl-dev \ libxatracker libxatracker-dev \ mesa-megadriver mesa-vulkan-drivers \ " @@ -134,6 +144,11 @@ do_install_append () { # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used rm -f ${D}${sysconfdir}/drirc chrpath --delete ${D}${libdir}/dri/*_dri.so || true + + # libwayland-egl has been moved to wayland 1.15+ + rm -f ${D}${libdir}/libwayland-egl* + rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc + rmdir --ignore-fail-on-non-empty ${D}${libdir}/pkgconfig } # For the packages that make up the OpenGL interfaces, inject variables so that @@ -204,7 +219,6 @@ FILES_libgles2-mesa = "${libdir}/libGLESv2.so.*" FILES_libgl-mesa = "${libdir}/libGL.so.*" FILES_libglapi = "${libdir}/libglapi.so.*" FILES_libosmesa = "${libdir}/libOSMesa.so.*" -FILES_libwayland-egl = "${libdir}/libwayland-egl.so.*" FILES_libxatracker = "${libdir}/libxatracker.so.*" FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan" @@ -216,7 +230,6 @@ FILES_libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/p FILES_libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" FILES_libgles3-mesa-dev = "${includedir}/GLES3" FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc" -FILES_libwayland-egl-dev = "${libdir}/pkgconfig/wayland-egl.pc ${libdir}/libwayland-egl.*" FILES_libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \ ${libdir}/pkgconfig/xatracker.pc" diff --git a/poky/meta/recipes-graphics/mesa/mesa_17.3.8.bb b/poky/meta/recipes-graphics/mesa/mesa_17.3.8.bb deleted file mode 100644 index 2d3fd3ca3..000000000 --- a/poky/meta/recipes-graphics/mesa/mesa_17.3.8.bb +++ /dev/null @@ -1,23 +0,0 @@ -require ${BPN}.inc - -SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ - file://disable-asm-on-non-gcc.patch \ - file://Use-Python-3-to-execute-the-scripts.patch \ - file://0001-Use-wayland-scanner-in-the-path.patch \ - file://0002-hardware-gloat.patch \ - file://llvm-config-version.patch \ - file://0001-winsys-svga-drm-Include-sys-types.h.patch \ - file://0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch \ - file://0001-st-dri-Initialise-modifier-to-INVALID-for-DRI2.patch \ - " - -SRC_URI[md5sum] = "203d1a79156ab6926f2d253b377e9d9d" -SRC_URI[sha256sum] = "8f9d9bf281c48e4a8f5228816577263b4c655248dc7666e75034ab422951a6b1" - -#because we cannot rely on the fact that all apps will use pkgconfig, -#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER -do_install_append() { - if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then - sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h - fi -} diff --git a/poky/meta/recipes-graphics/mesa/mesa_18.1.9.bb b/poky/meta/recipes-graphics/mesa/mesa_18.1.9.bb new file mode 100644 index 000000000..86d6a6bf3 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa_18.1.9.bb @@ -0,0 +1,21 @@ +require ${BPN}.inc + +SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ + file://0001-Simplify-wayland-scanner-lookup.patch \ + file://0002-winsys-svga-drm-Include-sys-types.h.patch \ + file://0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch \ + file://0004-Use-Python-3-to-execute-the-scripts.patch \ + file://0005-dri-i965-Add-missing-time.h-include.patch \ + file://0006-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch \ +" + +SRC_URI[md5sum] = "2f8d2098ab478bc3907e42130577b54a" +SRC_URI[sha256sum] = "55f5778d58a710a63d6635f000535768faf7db9e8144dc0f4fd1989f936c1a83" + +#because we cannot rely on the fact that all apps will use pkgconfig, +#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER +do_install_append() { + if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then + sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h + fi +} diff --git a/poky/meta/recipes-graphics/pango/pango/0001-Drop-introspection-macros-from-acinclude.m4.patch b/poky/meta/recipes-graphics/pango/pango/0001-Drop-introspection-macros-from-acinclude.m4.patch deleted file mode 100644 index 9e1626e9a..000000000 --- a/poky/meta/recipes-graphics/pango/pango/0001-Drop-introspection-macros-from-acinclude.m4.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 867a512eddbeb1899d3e7096df3da1dd0ce3e7b7 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 23 Oct 2015 14:06:17 +0300 -Subject: [PATCH] Drop introspection macros from acinclude.m4 - -They take precendence over our customized macros, and so -introspection doesn't work correctly. - -Upstream-Status: Backport [upstream 5ccfe0] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - acinclude.m4 | 96 ------------------------------------------------------------ - 1 file changed, 96 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index 8899c7c..48fd5d8 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -55,99 +55,3 @@ AC_DEFUN([JH_CHECK_XML_CATALOG], - ]) - - --dnl REMOVE THIS WHEN introspection.m4 is widely available --dnl --dnl -*- mode: autoconf -*- --dnl Copyright 2009 Johan Dahlin --dnl --dnl This file is free software; the author(s) gives unlimited --dnl permission to copy and/or distribute it, with or without --dnl modifications, as long as this notice is preserved. --dnl -- --# serial 1 -- --m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], --[ -- AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first -- AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first -- AC_BEFORE([LT_INIT],[$0])dnl setup libtool first -- -- dnl enable/disable introspection -- m4_if([$2], [require], -- [dnl -- enable_introspection=yes -- ],[dnl -- AC_ARG_ENABLE(introspection, -- AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], -- [Enable introspection for this build]),, -- [enable_introspection=auto]) -- ])dnl -- -- AC_MSG_CHECKING([for gobject-introspection]) -- -- dnl presence/version checking -- AS_CASE([$enable_introspection], -- [no], [dnl -- found_introspection="no (disabled, use --enable-introspection to enable)" -- ],dnl -- [yes],[dnl -- PKG_CHECK_EXISTS([gobject-introspection-1.0],, -- AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) -- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], -- found_introspection=yes, -- AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) -- ],dnl -- [auto],[dnl -- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no) -- ],dnl -- [dnl -- AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) -- ])dnl -- -- AC_MSG_RESULT([$found_introspection]) -- -- INTROSPECTION_SCANNER= -- INTROSPECTION_COMPILER= -- INTROSPECTION_GENERATE= -- INTROSPECTION_GIRDIR= -- INTROSPECTION_TYPELIBDIR= -- if test "x$found_introspection" = "xyes"; then -- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` -- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` -- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` -- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` -- INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" -- INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` -- INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` -- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection -- fi -- AC_SUBST(INTROSPECTION_SCANNER) -- AC_SUBST(INTROSPECTION_COMPILER) -- AC_SUBST(INTROSPECTION_GENERATE) -- AC_SUBST(INTROSPECTION_GIRDIR) -- AC_SUBST(INTROSPECTION_TYPELIBDIR) -- AC_SUBST(INTROSPECTION_CFLAGS) -- AC_SUBST(INTROSPECTION_LIBS) -- AC_SUBST(INTROSPECTION_MAKEFILE) -- -- AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") --]) -- -- --dnl Usage: --dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version]) -- --AC_DEFUN([GOBJECT_INTROSPECTION_CHECK], --[ -- _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1]) --]) -- --dnl Usage: --dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version]) -- -- --AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], --[ -- _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) --]) --- -2.1.4 diff --git a/poky/meta/recipes-graphics/pango/pango_1.40.14.bb b/poky/meta/recipes-graphics/pango/pango_1.42.4.bb index 3bd9c6471..22fe3af15 100644 --- a/poky/meta/recipes-graphics/pango/pango_1.40.14.bb +++ b/poky/meta/recipes-graphics/pango/pango_1.42.4.bb @@ -14,27 +14,22 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection SRC_URI += "file://run-ptest \ - file://0001-Drop-introspection-macros-from-acinclude.m4.patch \ file://0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch \ " -SRC_URI[archive.md5sum] = "18d7eb8d52e7e445e733c109ddaa7b78" -SRC_URI[archive.sha256sum] = "90af1beaa7bf9e4c52db29ec251ec4fd0a8f2cc185d521ad1f88d01b3a6a17e3" +SRC_URI[archive.md5sum] = "deb171a31a3ad76342d5195a1b5bbc7c" +SRC_URI[archive.sha256sum] = "1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d" -DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz" +DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" PACKAGECONFIG[x11] = "--with-xft,--without-xft,virtual/libx11 libxft" -EXTRA_OECONF = " \ - --disable-debug \ - " - LEAD_SONAME = "libpango-1.0*" LIBV = "1.8.0" # This binary needs to be compiled for the host architecture. This isn't pretty! do_compile_prepend_class-target () { - if ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'true', 'false', d)}; then + if ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then make CC="${BUILD_CC}" CFLAGS="" LDFLAGS="${BUILD_LDFLAGS}" AM_CPPFLAGS="$(pkg-config-native --cflags glib-2.0)" gen_all_unicode_LDADD="$(pkg-config-native --libs glib-2.0)" -C ${B}/tests gen-all-unicode fi } diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch new file mode 100644 index 000000000..5d6ec368b --- /dev/null +++ b/poky/meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch @@ -0,0 +1,32 @@ +From 3bf1beee1ddd19bc536ff2856e04ac269d43daa2 Mon Sep 17 00:00:00 2001 +From: Pascal Bach <pascal.bach@siemens.com> +Date: Thu, 4 Oct 2018 14:43:17 +0200 +Subject: [PATCH] cmake: use proper WAYLAND_INCLUDE_DIRS variable + +WAYLAND_wayland-client_INCLUDEDIR is an internal variable and is not correctly +set when cross compiling. WAYLAND_INCLUDE_DIRS includes the correct path even +when cross compiling. + +Signed-off-by: Pascal Bach <pascal.bach@siemens.com> + +Upstream-Status: Submitted [piglit@lists.freedesktop.org] +--- + tests/util/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/util/CMakeLists.txt b/tests/util/CMakeLists.txt +index a5f080156..a303a9f58 100644 +--- a/tests/util/CMakeLists.txt ++++ b/tests/util/CMakeLists.txt +@@ -97,7 +97,7 @@ if(PIGLIT_USE_WAFFLE) + piglit-framework-gl/piglit_wl_framework.c + ) + list(APPEND UTIL_GL_INCLUDES +- ${WAYLAND_wayland-client_INCLUDEDIR} ++ ${WAYLAND_INCLUDE_DIRS} + ) + endif() + if(PIGLIT_HAS_X11) +-- +2.11.0 + diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb index b936ad8a7..9e4575164 100644 --- a/poky/meta/recipes-graphics/piglit/piglit_git.bb +++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb @@ -5,11 +5,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0" SRC_URI = "git://anongit.freedesktop.org/piglit \ file://0001-cmake-install-bash-completions-in-the-right-place.patch \ file://0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch \ + file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \ " UPSTREAM_CHECK_COMMITS = "1" -# From 2018-02-26 -SRCREV = "4ce0887e2f7f848d2be2e435a2d0f3c80e44ea3b" +# From 2018-08-13 +SRCREV = "57859e15dc8ba4034348b04d0b72f213b74d6347" # (when PV goes above 1.0 remove the trailing r) PV = "1.0+gitr${SRCPV}" @@ -17,7 +18,7 @@ S = "${WORKDIR}/git" DEPENDS = "libpng virtual/libx11 libxkbcommon libxrender waffle virtual/libgl libglu python3-mako-native python3-numpy-native python3-six-native virtual/egl" -inherit cmake python3native distro_features_check bash-completion +inherit cmake pkgconfig python3native distro_features_check bash-completion # depends on virtual/libx11 REQUIRED_DISTRO_FEATURES = "x11" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch index d32c8f280..93bcfbf85 100644 --- a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch +++ b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch @@ -1,6 +1,6 @@ -From 55770fb07c42fe410cf8d09f8f5976babc89b9ef Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Tue, 4 Jul 2017 17:13:45 +0300 +From 0a27144d43b70121f57f6036514d069ca9d2b971 Mon Sep 17 00:00:00 2001 +From: "Maxin B. John" <maxin.john@intel.com> +Date: Mon, 30 Jul 2018 17:23:29 +0300 Subject: [PATCH] Don't build demos with questionably licensed data Some of the models don't have open source compatible licenses: @@ -9,43 +9,46 @@ resources that are not included. ssao: scenerendering: - Sibenik model, no license found + Sibenik model, no license found deferred: deferredmultisampling: deferredshadows: - armor model, CC-BY-3.0 + armor model, CC-BY-3.0 vulkanscene: imgui: shadowmapping: - vulkanscene model, no license found + vulkanscene model, no license found indirectdraw: - plant model, no license found + plant model, no license found hdr: pbribl: pbrtexture: - Require external Vulkan Asset Pack + Require external Vulkan Asset Pack Upstream-Status: Inappropriate [configuration] + Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Signed-off-by: Maxin B. John <maxin.john@intel.com> --- - CMakeLists.txt | 13 ------------- - 1 file changed, 13 deletions(-) + examples/CMakeLists.txt | 14 -------------- + 1 file changed, 14 deletions(-) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4958fff..0f9d3e4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -150,17 +150,11 @@ set(EXAMPLES - computeparticles +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index 8eee3a4..698d3b3 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -47,18 +47,12 @@ set(EXAMPLES computeshader + conservativeraster debugmarker - deferred - deferredmultisampling - deferredshadows + descriptorsets displacement distancefieldfonts dynamicuniformbuffer @@ -53,32 +56,36 @@ index 4958fff..0f9d3e4 100644 geometryshader - hdr - imgui -- indirectdraw +- indirectdraw + inputattachments instancing mesh - multisampling -@@ -170,20 +164,14 @@ set(EXAMPLES +@@ -70,8 +64,6 @@ set(EXAMPLES parallaxmapping particlefire pbrbasic - pbribl - pbrtexture pipelines + pipelinestatistics pushconstants +@@ -79,15 +71,10 @@ set(EXAMPLES radialblur raytracing + renderheadless - scenerendering screenshot - shadowmapping - shadowmappingomni +- shadowmappingcascade skeletalanimation specializationconstants sphericalenvmapping - ssao + stencilbuffer subpasses terraintessellation - tessellation -@@ -196,7 +184,6 @@ set(EXAMPLES +@@ -101,7 +88,6 @@ set(EXAMPLES texturesparseresidency triangle viewportarray @@ -87,5 +94,5 @@ index 4958fff..0f9d3e4 100644 buildExamples() -- -2.13.2 +2.4.0 diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch deleted file mode 100644 index 681b3422d..000000000 --- a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b0495efb6c3ea3a530fcbaddac86da57ecce5a66 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Mon, 10 Jul 2017 13:11:12 +0300 -Subject: [PATCH] Fix build on x86 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -| func_common.inl:193:51: error: wrong number of template arguments -| (5, should be 6) struct compute_sign<T, P, vecType, false, Aligned> - -The fix is backported from the upstream glm project. - -Upstream-Status: Pending [https://github.com/SaschaWillems/Vulkan/issues/356] -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - external/glm/glm/detail/func_common.inl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/external/glm/glm/detail/func_common.inl b/external/glm/glm/detail/func_common.inl -index cafaed5..2dd94e1 100644 ---- a/external/glm/glm/detail/func_common.inl -+++ b/external/glm/glm/detail/func_common.inl -@@ -190,12 +190,12 @@ namespace detail - - # if GLM_ARCH == GLM_ARCH_X86 - template<length_t L, typename T, precision P, template<length_t, typename, precision> class vecType, bool Aligned> -- struct compute_sign<T, P, vecType, false, Aligned> -+ struct compute_sign<L, T, P, vecType, false, Aligned> - { - GLM_FUNC_QUALIFIER static vecType<L, T, P> call(vecType<L, T, P> const & x) - { - T const Shift(static_cast<T>(sizeof(T) * 8 - 1)); -- vecType<L, T, P> const y(vecType<typename make_unsigned<T>::type, P>(-x) >> typename make_unsigned<T>::type(Shift)); -+ vecType<L, T, P> const y(vecType<L, typename make_unsigned<T>::type, P>(-x) >> typename make_unsigned<T>::type(Shift)); - - return (x >> Shift) | y; - } --- -2.1.4 - diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch deleted file mode 100644 index 4addea3bf..000000000 --- a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch +++ /dev/null @@ -1,85 +0,0 @@ -From edca667684764cfcc0460e448e834fadf623a887 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Mon, 3 Jul 2017 14:49:18 +0300 -Subject: [PATCH] Support installing demos, support out-of-tree builds - -This is especially useful for cross-compile situation where testing -happens on target. - --DRESOURCE_INSTALL_DIR=<path> decides where data is installed (and -where the binaries will load the data from): if it's left empty, -then nothing will be installed and binaries will load the data from -CMAKE_SOURCE_DIR. - -Binaries are now correctly built in CMAKE_BINARY_DIR. - -Upstream-Status: Submitted [https://github.com/SaschaWillems/Vulkan/pull/352] -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - CMakeLists.txt | 15 ++++++++++++++- - base/vulkanexamplebase.cpp | 2 +- - 2 files changed, 15 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b9886bc..4958fff 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -16,6 +16,8 @@ include_directories(base) - OPTION(USE_D2D_WSI "Build the project using Direct to Display swapchain" OFF) - OPTION(USE_WAYLAND_WSI "Build the project using Wayland swapchain" OFF) - -+set(RESOURCE_INSTALL_DIR "" CACHE PATH "Path to install resources to (leave empty for running uninstalled)") -+ - # Use FindVulkan module added with CMAKE 3.7 - if (NOT CMAKE_VERSION VERSION_LESS 3.7.0) - message(STATUS "Using module to find Vulkan") -@@ -108,6 +110,10 @@ function(buildExample EXAMPLE_NAME) - add_executable(${EXAMPLE_NAME} ${MAIN_CPP} ${SOURCE} ${SHADERS}) - target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) - endif(WIN32) -+ -+ if(RESOURCE_INSTALL_DIR) -+ install(TARGETS ${EXAMPLE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) -+ endif() - endfunction(buildExample) - - # Build all examples -@@ -117,6 +123,13 @@ function(buildExamples) - endforeach(EXAMPLE) - endfunction(buildExamples) - -+if(RESOURCE_INSTALL_DIR) -+ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${RESOURCE_INSTALL_DIR}/\") -+ install(DIRECTORY data/ DESTINATION ${RESOURCE_INSTALL_DIR}/) -+else() -+ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${CMAKE_SOURCE_DIR}/data/\") -+endif() -+ - # Compiler specific stuff - IF(MSVC) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") -@@ -128,7 +141,7 @@ ELSE(WIN32) - link_libraries(${XCB_LIBRARIES} ${Vulkan_LIBRARY}) - ENDIF(WIN32) - --set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin/") -+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/") - - set(EXAMPLES - bloom -diff --git a/base/vulkanexamplebase.cpp b/base/vulkanexamplebase.cpp -index 647368a..a0f28a5 100644 ---- a/base/vulkanexamplebase.cpp -+++ b/base/vulkanexamplebase.cpp -@@ -84,7 +84,7 @@ const std::string VulkanExampleBase::getAssetPath() - #if defined(__ANDROID__) - return ""; - #else -- return "./../data/"; -+ return VK_EXAMPLE_DATA_DIR; - #endif - } - #endif --- -2.13.2 - diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb index 5fc9c2dba..bf30c980c 100644 --- a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb +++ b/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb @@ -3,15 +3,18 @@ LICENSE = "MIT" DEPENDS = "zlib" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dcf473723faabf17baa9b5f2207599d0 \ - file://triangle/triangle.cpp;endline=12;md5=bccd1bf9cadd9e10086cf7872157e4fa" + file://examples/triangle/triangle.cpp;endline=12;md5=bccd1bf9cadd9e10086cf7872157e4fa" + +SRCREV_glm = "01f9ab5b6d21e5062ac0f6e0f205c7fa2ca9d769" +SRCREV_gli = "8e43030b3e12bb58a4663d85adc5c752f89099c0" SRC_URI = "git://github.com/SaschaWillems/Vulkan.git \ - file://0001-Support-installing-demos-support-out-of-tree-builds.patch \ + git://github.com/g-truc/glm;destsuffix=git/external/glm;name=glm \ + git://github.com/g-truc/gli;destsuffix=git/external/gli;name=gli \ file://0001-Don-t-build-demos-with-questionably-licensed-data.patch \ - file://0001-Fix-build-on-x86.patch \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "18df00c7b4677b0889486e16977857aa987947e2" +SRCREV = "ae0b59c6e2e8630a2ae26f4a0b7a72cbe7547948" UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch b/poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch index bcf84a5a3..b0b9fc4e4 100644 --- a/poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch +++ b/poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch @@ -1,21 +1,30 @@ -commit f63cbe944107b5cd8f150ceaaec43b26099d5688 +From 9b13be109bc66f4d4a1ad53ce5c92c7c495e41d7 Mon Sep 17 00:00:00 2001 +From: "Maxin B. John" <maxin.john@intel.com> +Date: Tue, 24 Jul 2018 17:40:52 +0300 +Subject: [PATCH] commit f63cbe944107b5cd8f150ceaaec43b26099d5688 + Author: Adam Jackson <ajax@redhat.com> Date: Tue Feb 16 10:05:25 2016 -0500 - demos: Don't build tri or cube - - There are more interesting demos, all we really want here is vulkaninfo. - This helps because we don't need to pre-build glslang/llvm/lunarglass - just to get the loader and layers. +demos: Don't build tri or cube + +There are more interesting demos, all we really want here is vulkaninfo. +This helps because we don't need to pre-build glslang/llvm/lunarglass +just to get the loader and layers. Upstream-Status: Inappropriate [configuration] + Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Signed-off-by: Maxin B. John <maxin.john@intel.com> +--- + demos/CMakeLists.txt | 88 ---------------------------------------------------- + 1 file changed, 88 deletions(-) -Index: git/demos/CMakeLists.txt -=================================================================== ---- git.orig/demos/CMakeLists.txt -+++ git/demos/CMakeLists.txt -@@ -63,46 +63,6 @@ elseif(UNIX) +diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt +index 4f32679..26e4cdf 100644 +--- a/demos/CMakeLists.txt ++++ b/demos/CMakeLists.txt +@@ -93,42 +93,6 @@ elseif(UNIX) else() endif() @@ -37,38 +46,40 @@ Index: git/demos/CMakeLists.txt - endif() - endforeach() - -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-vert.spv -- COMMAND ${GLSLANG_VALIDATOR} -s -V -o ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${PROJECT_SOURCE_DIR}/demos/cube.vert -- DEPENDS cube.vert ${GLSLANG_VALIDATOR} -- ) -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-frag.spv -- COMMAND ${GLSLANG_VALIDATOR} -s -V -o ${CMAKE_BINARY_DIR}/demos/cube-frag.spv ${PROJECT_SOURCE_DIR}/demos/cube.frag -- DEPENDS cube.frag ${GLSLANG_VALIDATOR} -- ) - file(COPY cube.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos) - file(COPY vulkaninfo.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos) --else() -- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-vert.spv -- COMMAND ${GLSLANG_VALIDATOR} -s -V -o cube-vert.spv ${PROJECT_SOURCE_DIR}/demos/cube.vert -- DEPENDS cube.vert ${GLSLANG_VALIDATOR} -- ) -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-frag.spv -- COMMAND ${GLSLANG_VALIDATOR} -s -V -o cube-frag.spv ${PROJECT_SOURCE_DIR}/demos/cube.frag -- DEPENDS cube.frag ${GLSLANG_VALIDATOR} -- ) -- endif() -endif() +- +-add_custom_command( +- COMMENT "Compiling cube demo vertex shader" +- OUTPUT cube.vert.inc +- COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.vert.inc ${PROJECT_SOURCE_DIR}/demos/cube.vert +- MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/demos/cube.vert +- DEPENDS ${PROJECT_SOURCE_DIR}/demos/cube.vert ${GLSLANG_VALIDATOR} +-) +-add_custom_command( +- COMMENT "Compiling cube demo fragment shader" +- OUTPUT cube.frag.inc +- COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.frag.inc ${PROJECT_SOURCE_DIR}/demos/cube.frag +- MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/demos/cube.frag +- DEPENDS ${PROJECT_SOURCE_DIR}/demos/cube.frag ${GLSLANG_VALIDATOR} +-) - if(WIN32) - include_directories ( -@@ -116,43 +76,6 @@ endif() - add_executable(${API_LOWERCASE}info vulkaninfo.c) - target_link_libraries(${API_LOWERCASE}info ${LIBRARIES}) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) --if(NOT WIN32) +@@ -172,55 +136,3 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + install(TARGETS ${API_LOWERCASE}info DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + endif() +- +-###################################################################################### +-# cube +- +-if(APPLE) +- include(macOS/cube/cube.cmake) +-elseif(NOT WIN32) - if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) -- add_executable(cube cube.c ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- add_executable(cube cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) - target_link_libraries(cube ${LIBRARIES}) - endif() -else() @@ -78,13 +89,18 @@ Index: git/demos/CMakeLists.txt - set (LIB_DIR "Win32") - endif() - -- add_executable(cube WIN32 cube.c ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- add_executable(cube WIN32 cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) - target_link_libraries(cube ${LIBRARIES}) -endif() - --if(NOT WIN32) +-###################################################################################### +-# cubepp +- +-if(APPLE) +- include(macOS/cubepp/cubepp.cmake) +-elseif(NOT WIN32) - if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) -- add_executable(cubepp cube.cpp ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- add_executable(cubepp cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) - target_link_libraries(cubepp ${LIBRARIES}) - endif() -else() @@ -94,15 +110,19 @@ Index: git/demos/CMakeLists.txt - set (LIB_DIR "Win32") - endif() - -- add_executable(cubepp WIN32 cube.cpp ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- add_executable(cubepp WIN32 cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) - target_link_libraries(cubepp ${LIBRARIES}) -endif() - +-###################################################################################### +-# smoke +- -if ((${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})) -- if ((DEMOS_WSI_SELECTION STREQUAL "XCB") OR (DEMOS_WSI_SELECTION STREQUAL "WAYLAND") OR WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Android")) +- if ((DEMOS_WSI_SELECTION STREQUAL "XCB") OR (DEMOS_WSI_SELECTION STREQUAL "WAYLAND") OR WIN32 OR +- (CMAKE_SYSTEM_NAME STREQUAL "Android") OR (CMAKE_SYSTEM_NAME STREQUAL "Darwin")) - add_subdirectory(smoke) - endif() -endif() - - if(UNIX) - if(INSTALL_LVL_FILES) +-- +2.4.0 + diff --git a/poky/meta/recipes-graphics/vulkan/vulkan_1.0.65.2.bb b/poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb index 1c8a89550..5496f5396 100644 --- a/poky/meta/recipes-graphics/vulkan/vulkan_1.0.65.2.bb +++ b/poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb @@ -9,11 +9,11 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=99c647ca3d4f6a4b9d8628f757aad156 \ - file://loader/loader.c;endline=25;md5=a87cd5442291c23d1fce4eece4cfde9d" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git;branch=sdk-1.0.65 \ + file://loader/loader.c;endline=25;md5=151b392f46568aaedb4ad22b246237ec" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git;branch=sdk-1.1.73 \ file://demos-Don-t-build-tri-or-cube.patch \ " -SRCREV = "73486a1a169d862d5210e2ad520d95319a2383fa" +SRCREV = "5998d6f444a85e6381b7a089ebf3f9e86482a31d" UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" S = "${WORKDIR}/git" @@ -34,3 +34,4 @@ PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DD PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" RRECOMMENDS_${PN} = "mesa-vulkan-drivers" +INSANE_SKIP_${PN}-dev += "dev-elf" diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.9.4.bb b/poky/meta/recipes-graphics/wayland/libinput_1.11.3.bb index 67a49dfe0..12e2091c0 100644 --- a/poky/meta/recipes-graphics/wayland/libinput_1.9.4.bb +++ b/poky/meta/recipes-graphics/wayland/libinput_1.11.3.bb @@ -3,14 +3,14 @@ HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" SECTION = "libs" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=2184aef38ff137ed33ce9a63b9d1eb8f" +LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" DEPENDS = "libevdev udev mtdev" SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ " -SRC_URI[md5sum] = "8b43d07d1698fb207a0492fc67554d4f" -SRC_URI[sha256sum] = "0bcdbd4c4e3c2a2db322fbdf2ef3284f2e6d6fb7be3af80e6d8de7783f675190" +SRC_URI[md5sum] = "df6e877f11de4a9793511e9abfe7ef01" +SRC_URI[sha256sum] = "f31191d96e425b4f16319842279d65946d9d983dcd3d9e466ae1206aa10ecb06" UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" inherit meson pkgconfig lib_package diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.13.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.16.bb index 1ef1ee141..fc4b71117 100644 --- a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.13.bb +++ b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.16.bb @@ -11,8 +11,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ " -SRC_URI[md5sum] = "29312149dafcd4a0e739ba94995a574d" -SRC_URI[sha256sum] = "0758bc8008d5332f431b2a84fea7de64d971ce270ed208206a098ff2ebc68f38" +SRC_URI[md5sum] = "e0b523ff162e30bab46be1d65d527683" +SRC_URI[sha256sum] = "6b1485951fdcd36a960c870c46f28b03a3e5121fb46246916333ed07f78c98c5" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" inherit allarch autotools pkgconfig diff --git a/poky/meta/recipes-graphics/wayland/wayland_1.14.0.bb b/poky/meta/recipes-graphics/wayland/wayland_1.16.0.bb index 1a9ff9807..112ee1a25 100644 --- a/poky/meta/recipes-graphics/wayland/wayland_1.14.0.bb +++ b/poky/meta/recipes-graphics/wayland/wayland_1.16.0.bb @@ -15,8 +15,10 @@ DEPENDS = "expat libxml2 libffi wayland-native" SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ file://fixpathinpcfiles.patch \ " -SRC_URI[md5sum] = "0235f6075c32c3be61cff94fa0b9f108" -SRC_URI[sha256sum] = "ed80cabc0961a759a42092e2c39aabfc1ec9a13c86c98bbe2b812f008da27ab8" +SRC_URI[md5sum] = "0c215e53de71d6fb26f7102cdc6432d3" +SRC_URI[sha256sum] = "4e72c2b56109ccfb6610d776e465f4ca0af2280c9c2f7d5cc23f0ed2548752f5" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" inherit autotools pkgconfig diff --git a/poky/meta/recipes-graphics/wayland/weston-conf.bb b/poky/meta/recipes-graphics/wayland/weston-conf.bb new file mode 100644 index 000000000..f52200c46 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston-conf.bb @@ -0,0 +1,35 @@ +SUMMARY = "Weston, a Wayland compositor, configuration files" +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +CONFFILES_${PN} = "${sysconfdir}/xdg/weston/weston.ini" + +FILES_${PN} = "${sysconfdir}/xdg/weston/weston.ini" + +PACKAGES = "${PN}" + +do_configure[noexec] = '1' +do_compile[noexec] = '1' + +do_install() { + : +} + +do_install_qemux86() { + mkdir -p ${D}/${sysconfdir}/xdg/weston + cat << EOF > ${D}/${sysconfdir}/xdg/weston/weston.ini +[core] +backend=fbdev-backend.so +EOF +} + +do_install_qemux86-64() { + mkdir -p ${D}/${sysconfdir}/xdg/weston + cat << EOF > ${D}/${sysconfdir}/xdg/weston/weston.ini +[core] +backend=fbdev-backend.so +EOF +} diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston.service b/poky/meta/recipes-graphics/wayland/weston-init/weston.service index 689ce4106..18f72626e 100644 --- a/poky/meta/recipes-graphics/wayland/weston-init/weston.service +++ b/poky/meta/recipes-graphics/wayland/weston-init/weston.service @@ -4,6 +4,7 @@ RequiresMountsFor=/run [Service] User=root +PAMName=login EnvironmentFile=-/etc/default/weston ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch index 0671a4504..09ec1559e 100644 --- a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch +++ b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch @@ -1,26 +1,27 @@ -From c22e90365d89346258394833cbcad03ff32b2e27 Mon Sep 17 00:00:00 2001 +From ad1d2161c811cff25d1684c33611f300adb753bc Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 May 2015 20:56:00 -0700 -Subject: [PATCH weston] make error() portable +Subject: [PATCH] make error() portable error() is not posix but gnu extension so may not be available on all kind of systemsi e.g. musl. -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- Upstream-Status: Submitted - configure.ac | 2 ++ - libweston/weston-error.h | 20 ++++++++++++++++++++ - libweston/weston-launch.c | 2 +- +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + configure.ac | 2 ++ + libweston/weston-error.h | 20 ++++++++++++++++++++ + libweston/weston-launch.c | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) - create mode 100644 src/weston-error.h + create mode 100644 libweston/weston-error.h -Index: weston-3.0.0/configure.ac -=================================================================== ---- weston-3.0.0.orig/configure.ac -+++ weston-3.0.0/configure.ac -@@ -103,6 +103,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], +diff --git a/configure.ac b/configure.ac +index 7aebbdb..dc9c802 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -109,6 +109,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], [[#include <time.h>]]) AC_CHECK_HEADERS([execinfo.h]) @@ -29,10 +30,11 @@ Index: weston-3.0.0/configure.ac AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate]) # check for libdrm as a build-time dependency only -Index: weston-3.0.0/libweston/weston-error.h -=================================================================== +diff --git a/libweston/weston-error.h b/libweston/weston-error.h +new file mode 100644 +index 0000000..2089d02 --- /dev/null -+++ weston-3.0.0/libweston/weston-error.h ++++ b/libweston/weston-error.h @@ -0,0 +1,20 @@ +#ifndef _WESTON_ERROR_H +#define _WESTON_ERROR_H @@ -54,10 +56,10 @@ Index: weston-3.0.0/libweston/weston-error.h + +#endif + -Index: weston-3.0.0/libweston/weston-launch.c -=================================================================== ---- weston-3.0.0.orig/libweston/weston-launch.c -+++ weston-3.0.0/libweston/weston-launch.c +diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c +index 1adcf21..166bf3b 100644 +--- a/libweston/weston-launch.c ++++ b/libweston/weston-launch.c @@ -33,7 +33,6 @@ #include <poll.h> #include <errno.h> @@ -66,7 +68,7 @@ Index: weston-3.0.0/libweston/weston-launch.c #include <getopt.h> #include <sys/types.h> -@@ -60,6 +59,7 @@ +@@ -59,6 +58,7 @@ #endif #include "weston-launch.h" diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch index 70b988898..d648538b8 100644 --- a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch +++ b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -1,8 +1,7 @@ -From 8ff6ed03ec4079f32e9b34085414e57be4730e04 Mon Sep 17 00:00:00 2001 +From b98b9dbda902225cdd972b5bff6a641c36cc7e90 Mon Sep 17 00:00:00 2001 From: Tom Hochstein <tom.hochstein@nxp.com> Date: Wed, 22 Feb 2017 15:53:30 +0200 -Subject: [PATCH] weston-launch: Provide a default version that doesn't require - PAM +Subject: [PATCH] weston-launch: Provide a default version that doesn't require PAM weston-launch requires PAM for starting weston as a non-root user. @@ -14,16 +13,18 @@ Upstream-Status: Pending Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Signed-off-by: Denys Dmytriyenko <denys@ti.com> + --- configure.ac | 9 +++++++-- libweston/weston-launch.c | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 46cb2c7..bb45f46 100644 +index dc9c802..48cf5cb 100644 --- a/configure.ac +++ b/configure.ac -@@ -435,13 +435,17 @@ AC_ARG_ENABLE(resize-optimization, +@@ -451,13 +451,17 @@ AC_ARG_ENABLE(resize-optimization, AS_IF([test "x$enable_resize_optimization" = "xyes"], [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])]) @@ -43,7 +44,7 @@ index 46cb2c7..bb45f46 100644 fi AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes") -@@ -701,6 +705,7 @@ AC_MSG_RESULT([ +@@ -702,6 +706,7 @@ AC_MSG_RESULT([ Enable developer documentation ${enable_devdocs} weston-launch utility ${enable_weston_launch} @@ -52,7 +53,7 @@ index 46cb2c7..bb45f46 100644 systemd notify support ${enable_systemd_notify} diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c -index 0491896..07e7469 100644 +index 166bf3b..6fb9232 100644 --- a/libweston/weston-launch.c +++ b/libweston/weston-launch.c @@ -51,7 +51,9 @@ @@ -65,7 +66,7 @@ index 0491896..07e7469 100644 #ifdef HAVE_SYSTEMD_LOGIN #include <systemd/sd-login.h> -@@ -93,8 +95,10 @@ drmSetMaster(int drm_fd) +@@ -101,8 +103,10 @@ drmSetMaster(int drm_fd) #endif struct weston_launch { @@ -76,7 +77,7 @@ index 0491896..07e7469 100644 int tty; int ttynr; int sock[2]; -@@ -181,6 +185,7 @@ weston_launch_allowed(struct weston_launch *wl) +@@ -189,6 +193,7 @@ weston_launch_allowed(struct weston_launch *wl) return false; } @@ -84,7 +85,7 @@ index 0491896..07e7469 100644 static int pam_conversation_fn(int msg_count, const struct pam_message **messages, -@@ -221,6 +226,7 @@ setup_pam(struct weston_launch *wl) +@@ -229,6 +234,7 @@ setup_pam(struct weston_launch *wl) return 0; } @@ -92,7 +93,7 @@ index 0491896..07e7469 100644 static int setup_launcher_socket(struct weston_launch *wl) -@@ -414,6 +420,7 @@ quit(struct weston_launch *wl, int status) +@@ -422,6 +428,7 @@ quit(struct weston_launch *wl, int status) close(wl->signalfd); close(wl->sock[0]); @@ -100,7 +101,7 @@ index 0491896..07e7469 100644 if (wl->new_user) { err = pam_close_session(wl->ph, 0); if (err) -@@ -421,6 +428,7 @@ quit(struct weston_launch *wl, int status) +@@ -429,6 +436,7 @@ quit(struct weston_launch *wl, int status) err, pam_strerror(wl->ph, err)); pam_end(wl->ph, err); } @@ -108,7 +109,7 @@ index 0491896..07e7469 100644 if (ioctl(wl->tty, KDSKBMUTE, 0) && ioctl(wl->tty, KDSKBMODE, wl->kb_mode)) -@@ -600,6 +608,7 @@ setup_session(struct weston_launch *wl, char **child_argv) +@@ -608,6 +616,7 @@ setup_session(struct weston_launch *wl, char **child_argv) setenv("HOME", wl->pw->pw_dir, 1); setenv("SHELL", wl->pw->pw_shell, 1); @@ -116,7 +117,7 @@ index 0491896..07e7469 100644 env = pam_getenvlist(wl->ph); if (env) { for (i = 0; env[i]; ++i) { -@@ -608,6 +617,7 @@ setup_session(struct weston_launch *wl, char **child_argv) +@@ -616,6 +625,7 @@ setup_session(struct weston_launch *wl, char **child_argv) } free(env); } @@ -124,17 +125,18 @@ index 0491896..07e7469 100644 /* * We open a new session, so it makes sense -@@ -675,7 +685,9 @@ static void +@@ -683,8 +693,10 @@ static void help(const char *name) { fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name); +#ifdef HAVE_PAM - fprintf(stderr, " -u, --user Start session as specified username\n"); + fprintf(stderr, " -u, --user Start session as specified username,\n" + " e.g. -u joe, requires root.\n"); +#endif - fprintf(stderr, " -t, --tty Start session on alternative tty\n"); + fprintf(stderr, " -t, --tty Start session on alternative tty,\n" + " e.g. -t /dev/tty4, requires -u option.\n"); fprintf(stderr, " -v, --verbose Be verbose\n"); - fprintf(stderr, " -h, --help Display this help message\n"); -@@ -688,7 +700,9 @@ main(int argc, char *argv[]) +@@ -698,7 +710,9 @@ main(int argc, char *argv[]) int i, c; char *tty = NULL; struct option opts[] = { @@ -144,8 +146,8 @@ index 0491896..07e7469 100644 { "tty", required_argument, NULL, 't' }, { "verbose", no_argument, NULL, 'v' }, { "help", no_argument, NULL, 'h' }, -@@ -700,9 +714,13 @@ main(int argc, char *argv[]) - while ((c = getopt_long(argc, argv, "u:t::vh", opts, &i)) != -1) { +@@ -710,9 +724,13 @@ main(int argc, char *argv[]) + while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) { switch (c) { case 'u': +#ifdef HAVE_PAM @@ -158,7 +160,7 @@ index 0491896..07e7469 100644 break; case 't': tty = optarg; -@@ -740,8 +758,10 @@ main(int argc, char *argv[]) +@@ -753,8 +771,10 @@ main(int argc, char *argv[]) if (setup_tty(&wl, tty) < 0) exit(EXIT_FAILURE); @@ -169,6 +171,3 @@ index 0491896..07e7469 100644 if (setup_launcher_socket(&wl) < 0) exit(EXIT_FAILURE); --- -2.1.4 - diff --git a/poky/meta/recipes-graphics/wayland/weston/fix-missing-header.patch b/poky/meta/recipes-graphics/wayland/weston/fix-missing-header.patch deleted file mode 100644 index 55c0d4fd0..000000000 --- a/poky/meta/recipes-graphics/wayland/weston/fix-missing-header.patch +++ /dev/null @@ -1,30 +0,0 @@ -On the musl C library, tests/timespec-text.c does not build, with the -following error: - - In file included from tests/timespec-test.c:36:0: - ./shared/timespec-util.h:41:21: warning: â€struct timespec’ declared - inside parameter list will not be visible outside of this definition - or declaration - timespec_sub(struct timespec *r, - ^~~~~~~~ - [...] - -Indeed, struct timespec is defined in time.h, so we must include it. - -Upstream-Status: Backport [fa41bdfbc0b962fd73b89f01aab1a5370c9c28eb] - -Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> -Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> - -Index: weston-3.0.0/shared/timespec-util.h -=================================================================== ---- weston-3.0.0.orig/shared/timespec-util.h -+++ weston-3.0.0/shared/timespec-util.h -@@ -28,6 +28,7 @@ - - #include <stdint.h> - #include <assert.h> -+#include <time.h> - - #define NSEC_PER_SEC 1000000000 - diff --git a/poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch b/poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch deleted file mode 100644 index b3e1d06f5..000000000 --- a/poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch +++ /dev/null @@ -1,55 +0,0 @@ -Multi-plane sub-sampled textures have partial width/height, e.g. -YUV420/I420 has a full-size Y plane, followed by a half-width/height U -plane, and a half-width/height V plane. - -zwp_linux_dmabuf_v1 allows clients to pass an explicit pitch for each -plane, but for wl_shm this must be inferred. gl-renderer was correctly -accounting for the width and height when subsampling, but the pitch was -being taken as the pitch for the first plane. - -This does not match the requirements for GStreamer's waylandsink, in -particular, as well as other clients. Fix the SHM upload path to -correctly set the pitch for each plane, according to subsampling. - -Tested with: - $ gst-launch-1.0 videotestsrc ! waylandsink - -Upstream-Status: Backport [https://patchwork.freedesktop.org/patch/180767/] - -Signed-off-by: Daniel Stone <daniels@collabora.com> -Fixes: fdeefe42418 ("gl-renderer: add support of WL_SHM_FORMAT_YUV420") -Reported-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk> -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103063 - ---- - libweston/gl-renderer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c -index 244ce309..40bf0bb6 100644 ---- a/libweston/gl-renderer.c -+++ b/libweston/gl-renderer.c -@@ -1445,14 +1445,13 @@ gl_renderer_flush_damage(struct weston_surface *surface) - goto done; - } - -- glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch); -- - if (gs->needs_full_upload) { - glPixelStorei(GL_UNPACK_SKIP_PIXELS_EXT, 0); - glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, 0); - wl_shm_buffer_begin_access(buffer->shm_buffer); - for (j = 0; j < gs->num_textures; j++) { - glBindTexture(GL_TEXTURE_2D, gs->textures[j]); -+ glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]); - glTexImage2D(GL_TEXTURE_2D, 0, - gs->gl_format[j], - gs->pitch / gs->hsub[j], -@@ -1477,6 +1476,7 @@ gl_renderer_flush_damage(struct weston_surface *surface) - glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, r.y1); - for (j = 0; j < gs->num_textures; j++) { - glBindTexture(GL_TEXTURE_2D, gs->textures[j]); -+ glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]); - glTexSubImage2D(GL_TEXTURE_2D, 0, - r.x1 / gs->hsub[j], - r.y1 / gs->vsub[j], diff --git a/poky/meta/recipes-graphics/wayland/weston_3.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_5.0.0.bb index ad0cdc2b0..e51710928 100644 --- a/poky/meta/recipes-graphics/wayland/weston_3.0.0.bb +++ b/poky/meta/recipes-graphics/wayland/weston_5.0.0.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" HOMEPAGE = "http://wayland.freedesktop.org" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ - file://libweston/compositor.c;endline=26;md5=e342df749174a8ee11065583157c7a38" + file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a" SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ file://weston.png \ @@ -11,11 +11,11 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ file://0001-make-error-portable.patch \ file://xwayland.weston-start \ file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ - file://weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch \ - file://fix-missing-header.patch \ " -SRC_URI[md5sum] = "9c42a4c51a1b9f35d040fa9d45ada36d" -SRC_URI[sha256sum] = "cde1d55e8dd70c3cbb3d1ec72f60e60000041579caa1d6a262bd9c35e93723a5" +SRC_URI[md5sum] = "752a04ce3c65af4884cfac4e57231bdb" +SRC_URI[sha256sum] = "15a23423bcfa45e31e1dedc0cd524ba71e2930df174fde9c99b71a537c4e4caf" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" inherit autotools pkgconfig useradd distro_features_check # depends on virtual/egl @@ -24,15 +24,11 @@ REQUIRED_DISTRO_FEATURES = "opengl" DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" +WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" + EXTRA_OECONF = "--enable-setuid-install \ --disable-rdp-compositor \ " -EXTRA_OECONF_append_qemux86 = "\ - WESTON_NATIVE_BACKEND=fbdev-backend.so \ - " -EXTRA_OECONF_append_qemux86-64 = "\ - WESTON_NATIVE_BACKEND=fbdev-backend.so \ - " PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \ @@ -41,7 +37,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev # Compositor choices # # Weston on KMS -PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa mtdev" +PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa virtual/libgbm mtdev" # Weston on Wayland (nested Weston) PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa" # Weston on X11 @@ -62,8 +58,6 @@ PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo" PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms" # Weston with webp support PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" -# Weston with unwinding support -PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" # Weston with systemd-login support PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus" # Weston with Xwayland support (requires X11 and Wayland) @@ -77,7 +71,7 @@ PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" do_install_append() { # Weston doesn't need the .la files to load modules, so wipe them - rm -f ${D}/${libdir}/libweston-3/*.la + rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la # If X11, ship a desktop file to launch it if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then @@ -94,20 +88,20 @@ do_install_append() { } PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ - libweston-3 ${PN}-examples" + libweston-${WESTON_MAJOR_VERSION} ${PN}-examples" FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}" -FILES_libweston-3 = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-3/*.so" -SUMMARY_libweston-3 = "Helper library for implementing 'wayland window managers'." +FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" +SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." FILES_${PN}-examples = "${bindir}/*" -FILES_${PN}-xwayland = "${libdir}/libweston-3/xwayland.so" +FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so" RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" RDEPENDS_${PN} += "xkeyboard-config" -RRECOMMENDS_${PN} = "liberation-fonts" +RRECOMMENDS_${PN} = "weston-conf liberation-fonts" RRECOMMENDS_${PN}-dev += "wayland-protocols" USERADD_PACKAGES = "${PN}" diff --git a/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb b/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.1.3.bb index 31cf18676..2a6bec164 100644 --- a/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb +++ b/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.1.3.bb @@ -8,11 +8,11 @@ font name (XLFD) is generated, and is written together with the file \ name to a file fonts.scale in the directory. The resulting fonts.scale \ is used by the mkfontdir program." -DEPENDS = "util-macros-native zlib libfontenc freetype xproto" +DEPENDS = "util-macros-native zlib libfontenc freetype xorgproto" BBCLASSEXTEND = "native" LIC_FILES_CHKSUM = "file://COPYING;md5=2e0d129d05305176d1a790e0ac1acb7f" -SRC_URI[md5sum] = "9bdd6ebfa62b1bbd474906ac86a40fd8" -SRC_URI[sha256sum] = "8c6d5228af885477b9aec60ca6f172578e7d2de42234357af62fb00439453f20" +SRC_URI[md5sum] = "987c438e79f5ddb84a9c5726a1610819" +SRC_URI[sha256sum] = "1e98df69ee5f4542d711e140e1d93e2c3f2775407ccbb7849110d52b91782a6a" diff --git a/poky/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb b/poky/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb index 87268046e..c3e853631 100644 --- a/poky/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb +++ b/poky/meta/recipes-graphics/xorg-app/rgb_1.0.6.bb @@ -6,7 +6,7 @@ to RGB values (rgb.txt) and, if configured to use a database for color \ lookup, the rgb program to convert the text file into the binary database \ format." -DEPENDS += " xproto util-macros" +DEPENDS += " xorgproto util-macros" LIC_FILES_CHKSUM = "file://COPYING;md5=ef598adbe241bd0b0b9113831f6e249a" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb b/poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb index f151b579e..0705b7f7f 100644 --- a/poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb +++ b/poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb @@ -10,7 +10,7 @@ LICENSE = "MIT" PE = "1" -DEPENDS += "libxrandr xproto" +DEPENDS += "libxrandr xorgproto" SRC_URI += "file://diet-x11.patch" diff --git a/poky/meta/recipes-graphics/xorg-app/xeyes_1.1.1.bb b/poky/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb index 84d0cb804..06885f8f5 100644 --- a/poky/meta/recipes-graphics/xorg-app/xeyes_1.1.1.bb +++ b/poky/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb @@ -8,7 +8,7 @@ PE = "1" LIC_FILES_CHKSUM = "file://COPYING;md5=3ea51b365051ac32d1813a7dbaa4bfc6" -SRC_URI[md5sum] = "a3035dcecdbdb89e864177c080924981" -SRC_URI[sha256sum] = "975e98680cd59e1f9439016386609546ed08c284d0f05a95276f96aca6e8a521" +SRC_URI[md5sum] = "6f0543ec84283df5743eeafc173bea4a" +SRC_URI[sha256sum] = "57bcec0d2d167af9e5d44d0dbd74c6d7c0f0591cd0608952b23c749fdd910553" DEPENDS += "libxau libxt libxext libxmu libxrender" diff --git a/poky/meta/recipes-graphics/xorg-app/xinit_1.3.4.bb b/poky/meta/recipes-graphics/xorg-app/xinit_1.4.0.bb index 93185188e..dc2a06b58 100644 --- a/poky/meta/recipes-graphics/xorg-app/xinit_1.3.4.bb +++ b/poky/meta/recipes-graphics/xorg-app/xinit_1.4.0.bb @@ -12,8 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=18f01e7b39807bebe2b8df101a039b68" PE = "1" -SRC_URI[md5sum] = "4e928452dfaf73851413a2d8b8c76388" -SRC_URI[sha256sum] = "75d88d7397a07e01db253163b7c7a00b249b3d30e99489f2734cac9a0c7902b3" +SRC_URI[md5sum] = "2da154b2f80ca9637b1a17b13af0880c" +SRC_URI[sha256sum] = "230835eef2f5978a1e1344928168119373f6df1d0a32c09515e545721ee582ef" EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie" diff --git a/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.0.bb b/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.2.bb index c9dc327c4..eaf8eaaf7 100644 --- a/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.0.bb +++ b/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.2.bb @@ -9,11 +9,9 @@ be read directly by XKB-capable X servers or utilities." LIC_FILES_CHKSUM = "file://COPYING;md5=08436e4f4476964e2e2dd7e7e41e076a" -PR = "${INC_PR}.0" - DEPENDS += "libxkbfile" BBCLASSEXTEND = "native" -SRC_URI[md5sum] = "cc22b232bc78a303371983e1b48794ab" -SRC_URI[sha256sum] = "bc69c8748c03c5ad9afdc8dff9db11994dd871b614c65f8940516da6bf61ce6b" +SRC_URI[md5sum] = "12610df19df2af3797f2c130ee2bce97" +SRC_URI[sha256sum] = "6dd8bcb9be7e85bd7294abe261b8c7b0539d2fc93e41b80fb8bd013767ce8424" diff --git a/poky/meta/recipes-graphics/xorg-app/xprop_1.2.2.bb b/poky/meta/recipes-graphics/xorg-app/xprop_1.2.3.bb index d78bf0451..ca58d4751 100644 --- a/poky/meta/recipes-graphics/xorg-app/xprop_1.2.2.bb +++ b/poky/meta/recipes-graphics/xorg-app/xprop_1.2.3.bb @@ -14,5 +14,5 @@ DEPENDS += "libxmu" PE = "1" -SRC_URI[md5sum] = "fae3d2fda07684027a643ca783d595cc" -SRC_URI[sha256sum] = "9bee88b1025865ad121f72d32576dd3027af1446774aa8300cce3c261d869bc6" +SRC_URI[md5sum] = "4becb3ddc4674d741487189e4ce3d0b6" +SRC_URI[sha256sum] = "d22afb28c86d85fff10a50156a7d0fa930c80ae865d70b26d805fd28a17a521b" diff --git a/poky/meta/recipes-graphics/xorg-app/xset_1.2.3.bb b/poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb index f683b7603..5748837fd 100644 --- a/poky/meta/recipes-graphics/xorg-app/xset_1.2.3.bb +++ b/poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb @@ -12,8 +12,8 @@ PE = "1" SRC_URI += "file://disable-xkb.patch" -SRC_URI[md5sum] = "dcd227388b57487d543cab2fd7a602d7" -SRC_URI[sha256sum] = "4382f4fb29b88647e13f3b4bc29263134270747fc159cfc5f7e3af23588c8063" +SRC_URI[md5sum] = "70ea7bc7bacf1a124b1692605883f620" +SRC_URI[sha256sum] = "e4fd95280df52a88e9b0abc1fee11dcf0f34fc24041b9f45a247e52df941c957" CFLAGS += "-D_GNU_SOURCE" EXTRA_OECONF = "--disable-xkb --without-fontcache" diff --git a/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.3.bb b/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.4.bb index 0c23d1943..1fb90dd24 100644 --- a/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.3.bb +++ b/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.4.bb @@ -11,5 +11,5 @@ DEPENDS += "libxext libxmu gettext-native" PE = "0" -SRC_URI[md5sum] = "b777bafb674555e48fd8437618270931" -SRC_URI[sha256sum] = "218eb0ea95bd8de7903dfaa26423820c523ad1598be0751d2d8b6a2c23b23ff8" +SRC_URI[md5sum] = "9a505b91ae7160bbdec360968d060c83" +SRC_URI[sha256sum] = "839498aa46b496492a5c65cd42cd2e86e0da88149b0672e90cb91648f8cd5b01" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.5.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.6.bb index 96b220ccb..60e325ceb 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.5.bb +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.6.bb @@ -16,6 +16,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fefe33b1cf0cacba0e72e3b0fa0f0e16" DEPENDS += "mtdev libevdev" -SRC_URI[md5sum] = "94c2c8354c74ab1cfbbb0a222078b9c6" -SRC_URI[sha256sum] = "9edaa6205baf6d2922cc4db3d8e54a7e7773b5f733b0ae90f6be7725f983b70d" - +SRC_URI[md5sum] = "e8bd1edc6751f92e425cae7eba3c61eb" +SRC_URI[sha256sum] = "8726073e81861bc7b2321e76272cbdbd33c7e1a121535a9827977265b9033ec0" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.26.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.0.bb index 54c33d790..5853b5b5c 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.26.0.bb +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.0.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0" DEPENDS += "libinput" -SRC_URI[md5sum] = "da47ef62eab1d0e922a8fa929ff81758" -SRC_URI[sha256sum] = "abca558fc2226f295691f1cf3412d4c0edeaa439f677ca25b5c9fab310d2387b" +SRC_URI[md5sum] = "2d7519ac0e39d4c88f3be32e81a637aa" +SRC_URI[sha256sum] = "21994d065fc26e85d1c3fc87d8479b9c22699ed5a0119df98fbe0000e84630a1" FILES_${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.2.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.3.bb index 0750476a2..c38dab505 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.2.bb +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.3.bb @@ -10,5 +10,5 @@ driver." LIC_FILES_CHKSUM = "file://COPYING;md5=90ea9f90d72b6d9327dede5ffdb2a510" -SRC_URI[md5sum] = "ce2d679283a22c8e0dccdd9248594845" -SRC_URI[sha256sum] = "f425d5b05c6ab412a27e0a1106bb83f9e2662b307210abbe48270892387f4b2f" +SRC_URI[md5sum] = "a2104693bbcfe1413397f7905eecd3dc" +SRC_URI[sha256sum] = "93ecb350604d05be98b7d4e5db3b8155a44890069a7d8d6b800c0bea79c85cc5" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.1.bb index d327a3b42..dc31890f6 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.0.bb +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.1.bb @@ -10,7 +10,7 @@ advanced features of the touchpad to become available." LIC_FILES_CHKSUM = "file://COPYING;md5=55aacd3535a741824955c5eb8f061398" -SRC_URI[md5sum] = "58e5b7722a402114093bf193962d1e3a" -SRC_URI[sha256sum] = "afba3289d7a40217a19d90db98ce181772f9ca6d77e1898727b0afcf02073b5a" +SRC_URI[md5sum] = "cfb79d3c975151f9bbf30b727c260cb9" +SRC_URI[sha256sum] = "7af83526eff1c76e8b9e1553b34245c203d029028d8044dd9dcf71eef1001576" DEPENDS += "libxi mtdev libxtst libevdev" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.4.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.5.0.bb index 52e9bd1df..7b4ac88a4 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.4.bb +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.5.0.bb @@ -5,5 +5,5 @@ DESCRIPTION = "fbdev is an Xorg driver for framebuffer devices. This is a non-ac LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8" -SRC_URI[md5sum] = "3931c0e19d441cc576dc088f9eb9fd73" -SRC_URI[sha256sum] = "9dd4b326498223abbfdf786089a46ea3db4fa6bbd341308eb48a9e00bc3fd51b" +SRC_URI[md5sum] = "f07475655376be5a124d8187aacd87b6" +SRC_URI[sha256sum] = "dcc3d85f378022180e437a9ec00a59b6cb7680ff79c40394d695060af2374699" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/always_include_xorg_server.h.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/always_include_xorg_server.h.patch deleted file mode 100644 index 8a5dd39ae..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/always_include_xorg_server.h.patch +++ /dev/null @@ -1,24 +0,0 @@ -Include xorg-server.h to fix build errors seen with glibc 2.20 - -In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/string.h:634:0, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/i586-oe-linux/xf86-video-intel/2_2.99.912-r0/xf86-video-intel-2.99.912/src/backlight.c:39: -/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__' - strndup(const char *str, size_t n); - ^ - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending - -Index: xf86-video-intel-2.99.912/src/backlight.c -=================================================================== ---- xf86-video-intel-2.99.912.orig/src/backlight.c 2014-04-09 10:41:18.000000000 -0700 -+++ xf86-video-intel-2.99.912/src/backlight.c 2014-08-28 18:52:25.524070587 -0700 -@@ -29,6 +29,7 @@ - #include "config.h" - #endif - -+#include <xorg-server.h> - #include <sys/types.h> - #include <sys/wait.h> - #include <sys/stat.h> diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-x11-dri3.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-x11-dri3.patch deleted file mode 100644 index 3dddd334b..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/disable-x11-dri3.patch +++ /dev/null @@ -1,17 +0,0 @@ -These modules are only used for tests that don't get installed, and the -automatic detection without explicit dependencies means that a build can find -e.g. xshmfence at configure time but then it's been removed from the sysroot by -the time compile happens. - -As the tests don't get installed, just disable the checks. - -Upstream-Status: Inappropriate [OE-specific] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -diff --git a/configure.ac b/configure.ac -index bd654f3..78a0e0d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -279 +279 @@ fi --PKG_CHECK_MODULES(X11_DRI3, [xcb-dri3 xcb-sync xcb-xfixes xcb-present x11-xcb xshmfence x11 xcomposite xdamage xrender xrandr xxf86vm xext libdrm], [x11_dri3="yes"], [x11_dri3="no"]) -+#PKG_CHECK_MODULES(X11_DRI3, [xcb-dri3 xcb-sync xcb-xfixes xcb-present x11-xcb xshmfence x11 xcomposite xdamage xrender xrandr xxf86vm xext libdrm], [x11_dri3="yes"], [x11_dri3="no"]) diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch new file mode 100644 index 000000000..ada9eb5e5 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch @@ -0,0 +1,25 @@ +Add a missing include needed for glibc 2.28 to avoid: + +| ../../git/tools/backlight_helper.c: In function 'main': +| ../../git/tools/backlight_helper.c:54:34: error: implicit declaration of function 'major' [-Werror=implicit-function-declaration] +| if (fd < 0 || fstat(fd, &st) || major(st.st_dev)) +| ^~~~~ +| ../../git/tools/backlight_helper.c:54:34: warning: nested extern declaration of 'major' [-Wnested-externs] +| cc1: some warnings being treated as errors +| Makefile:666: recipe for target 'backlight_helper.o' failed + +Upstream-Status: Pending +RP 2018/8/12 + +Index: git/tools/backlight_helper.c +=================================================================== +--- git.orig/tools/backlight_helper.c ++++ git/tools/backlight_helper.c +@@ -8,6 +8,7 @@ + + #include <sys/types.h> + #include <sys/stat.h> ++#include <sys/sysmacros.h> + + #if MAJOR_IN_MKDEV + #include <sys/mkdev.h> diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb index 2623cb2f3..655fd4dc6 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb @@ -14,28 +14,25 @@ PV = "2.99.917+git${SRCPV}" S = "${WORKDIR}/git" SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-intel \ - file://disable-x11-dri3.patch \ - file://always_include_xorg_server.h.patch \ file://0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch \ + file://glibc.patch \ " -SRC_URI[md5sum] = "fa196a66e52c0c624fe5d350af7a5e7b" -SRC_URI[sha256sum] = "00b781eea055582820a123c47b62411bdf6aabf4f03dc0568faec55faf9667c9" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" DEPENDS += "virtual/libx11 drm libpciaccess pixman" -PACKAGECONFIG ??= "xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri1 dri2', '', d)}" +PACKAGECONFIG ??= "xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri2 dri3', '', d)}" PACKAGECONFIG[dri] = "--enable-dri,--disable-dri" -PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1,xf86driproto" -PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,dri2proto" -PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,dri3proto" +PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1" +PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2" +PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3" PACKAGECONFIG[sna] = "--enable-sna,--disable-sna" PACKAGECONFIG[uxa] = "--enable-uxa,--disable-uxa" PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc xcb-util" -PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,libxinerama libxrandr libxdamage libxfixes libxcursor libxtst libxext libxrender" +PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,libxinerama libxrandr libxdamage libxfixes libxcursor libxtst libxrender libxscrnsaver libxext libx11 pixman libxcb libxshmfence" # --enable-kms-only option is required by ROOTLESS_X EXTRA_OECONF += '${@oe.utils.conditional( "ROOTLESS_X", "1", " --enable-kms-only", "", d )}' diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.5.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.5.bb deleted file mode 100644 index bef363609..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omap_0.4.5.bb +++ /dev/null @@ -1,41 +0,0 @@ -require xorg-driver-video.inc - -SUMMARY = "X.Org X server -- Texas Instruments OMAP framebuffer driver" - -SUMMARY = "X.Org X server -- TI OMAP integrated graphics chipsets driver" - -DESCRIPTION = "Open-source X.org graphics driver for TI OMAP graphics \ -Currently relies on a closed-source submodule for EXA acceleration on \ -the following chipsets: \ - + OMAP3430 \ - + OMAP3630 \ - + OMAP4430 \ - + OMAP4460 \ - + OMAP5430 \ - + OMAP5432 \ -\ -NOTE: this driver is work in progress.. you probably don't want to try \ -and use it yet. The API/ABI between driver and kernel, and driver and \ -acceleration submodules is not stable yet. This driver requires the \ -omapdrm kernel driver w/ GEM support. \ -" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=10ce5de3b111315ea652a5f74ec0c602" -DEPENDS += "virtual/libx11 libdrm xf86driproto" - -SRC_URI[md5sum] = "3b8ea5e8fba63355c0dc6681c49d5fe5" -SRC_URI[sha256sum] = "93e7d42107521e61f61980eaea64fb452e87b7b94272e48938ac8d904ccfab5a" - -CFLAGS += " -I${STAGING_INCDIR}/xorg " - -# Use overlay 2 on omap3 to enable other apps to use overlay 1 (e.g. dmai or omapfbplay) -do_compile_prepend_armv7a () { - sed -i -e s:fb1:fb2:g ${S}/src/omap_xv.c -} - -python () { - if not bb.utils.contains ('DISTRO_FEATURES', 'opengl', True, False, d): - raise bb.parse.SkipRecipe("'opengl' not in DISTRO_FEATURES") -} - diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch deleted file mode 100644 index ac1921928..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 28c006c94e57ea71df11ec4fff79d7ffcfc4860f Mon Sep 17 00:00:00 2001 -From: Far McKon <FarMcKon@buglabs.net> -Date: Tue, 3 May 2011 20:59:04 +0300 -Subject: [PATCH] Prevents omapfb from from crashing when pixelclock of 0 is - sent to it. - -Due to a Linux design bug it is easy to get a pixelclock set to zero -when changing displays at runtime. - -Upstream-Status: Pending ---- - src/omapfb-output.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/omapfb-output.c b/src/omapfb-output.c -index f8b4db3..4d59265 100644 ---- a/src/omapfb-output.c -+++ b/src/omapfb-output.c -@@ -125,8 +125,13 @@ OMAPFBOutputGetModes(xf86OutputPtr output) - /* Only populate the native (current) mode */ - mode = calloc(1, sizeof(DisplayModeRec)); - mode->type |= M_T_PREFERRED; -- mode->Clock = PICOS2KHZ(ofb->state_info.pixclock); -- mode->SynthClock = PICOS2KHZ(ofb->state_info.pixclock); -+ if (ofb->state_info.pixclock == 0) { -+ mode->Clock = 0; -+ mode->SynthClock = 0; -+ } else { -+ mode->Clock = PICOS2KHZ(ofb->state_info.pixclock); -+ mode->SynthClock = PICOS2KHZ(ofb->state_info.pixclock); -+ } - mode->HDisplay = ofb->state_info.xres; - mode->HSyncStart = mode->HDisplay - + ofb->state_info.right_margin; --- -2.1.4 - diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch deleted file mode 100644 index 9fb01d438..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 8fb7d0f99d4afbb574b30cb4f1e66a8f89d94ad5 Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@dominion.thruhere.net> -Date: Wed, 26 Jan 2011 12:04:36 +0100 -Subject: [PATCH 1/6] Revert "Set a large CRTC upper limit to not prune larger - resolutions" - -Picture is garbled after switching resolutions, so revert it. -Virtual size too big, revert the commit 9c4d7592dcb7dc20a48a6f941d9d94bd73d34153. - -Upstream-Status: Pending - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - src/omapfb-crtc.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/omapfb-crtc.c b/src/omapfb-crtc.c -index 9aaa52f..cbeff35 100644 ---- a/src/omapfb-crtc.c -+++ b/src/omapfb-crtc.c -@@ -190,13 +190,13 @@ OMAPFBCRTCInit(ScrnInfoPtr pScrn) - * In practise, this doesn't seem to be supported. - * (no way to setup the overlay offset/base address) - */ -- /* FIXME: figure out what makes sense here. A known max resolution? -- * framebuffer size? -- */ - xf86CrtcSetSizeRange(pScrn, -- 8, 8, 2048, 2048); -+ 8, 8, -+ ofb->state_info.xres_virtual, -+ ofb->state_info.yres_virtual); - - ofb->crtc = xf86CrtcCreate(pScrn, &OMAPFBCrtcFuncs); -+ - } - - --- -1.8.0 - diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch deleted file mode 100644 index 683a98983..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 855c333ac0d16350f895f1d1b9391e9cbb0b6db4 Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@dominion.thruhere.net> -Date: Wed, 26 Jan 2011 13:27:20 +0100 -Subject: [PATCH 2/6] Revert "Set virtual size when configuring framebuffer" - -Virtual size too big, so revert it. - -This reverts commit 2653ef07883fbd1a5e7025f9300cf89b79ba429a. - -Upstream-Status: Pending - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - src/omapfb-crtc.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/omapfb-crtc.c b/src/omapfb-crtc.c -index cbeff35..9655db2 100644 ---- a/src/omapfb-crtc.c -+++ b/src/omapfb-crtc.c -@@ -98,8 +98,6 @@ OMAPFBCrtcCommitChangeMode (xf86CrtcPtr crtc) - v = ofb->state_info; - v.xres = mode->HDisplay; - v.yres = mode->VDisplay; -- v.xres_virtual = crtc->scrn->virtualX; -- v.yres_virtual = crtc->scrn->virtualY; - v.activate = FB_ACTIVATE_NOW; - v.pixclock = KHZ2PICOS(mode->Clock ? mode->Clock : 56000); - v.left_margin = mode->HTotal - mode->HSyncEnd; --- -1.8.0 - diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0003-force-plain-mode.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0003-force-plain-mode.patch deleted file mode 100644 index 67ea7c1a5..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0003-force-plain-mode.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 252f44c072d3447a32127fc9afe5d0d40f3c510e Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@dominion.thruhere.net> -Date: Wed, 26 Jan 2011 13:20:20 +0100 -Subject: [PATCH 3/6] force 'plain' mode - -The new DSS mode breaks XV, so force plain mode - -Upstream-Status: Pending - -Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - src/omapfb-driver.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c -index 018e040..48aa09c 100644 ---- a/src/omapfb-driver.c -+++ b/src/omapfb-driver.c -@@ -326,7 +326,7 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags) - OMAPFBProbeController(ofb->ctrl_name); - - /* Do we have the DSS kernel API? */ -- if (stat(SYSFS_DSS_DIR, &st) == 0) { -+ if (0) { //stat(SYSFS_DSS_DIR, &st) == 0) { - ofb->dss = TRUE; - } else { - ofb->dss = FALSE; --- -1.8.0 - diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-blacklist-tv-out.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-blacklist-tv-out.patch deleted file mode 100644 index b0ac9a44c..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0004-blacklist-tv-out.patch +++ /dev/null @@ -1,33 +0,0 @@ -From cfa46b67f59115f6d8ef9414af60380749ff3eb3 Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@dominion.thruhere.net> -Date: Wed, 26 Jan 2011 13:21:12 +0100 -Subject: [PATCH 4/6] blacklist tv out - -The tv-out gets added last and the driver tries to reconfigure dvi to TV resolutions, which fails. so blacklist it - -Upstream-Status: Pending - -Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - src/omapfb-output-dss.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/omapfb-output-dss.c b/src/omapfb-output-dss.c -index 6cc52de..83cb711 100644 ---- a/src/omapfb-output-dss.c -+++ b/src/omapfb-output-dss.c -@@ -205,6 +205,10 @@ OMAPFBDSSOutputDetect (xf86OutputPtr output) - if(ofb->timings[idx][0] == '\0') - return XF86OutputStatusDisconnected; - -+ // Hack to disable the tv out -+ if (strncmp(output->name, "tv", 2) == 0) -+ return XF86OutputStatusDisconnected; -+ - return XF86OutputStatusConnected; - } - --- -1.8.0 - diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0005-Attempt-to-fix-VRFB.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0005-Attempt-to-fix-VRFB.patch deleted file mode 100644 index 67b284023..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0005-Attempt-to-fix-VRFB.patch +++ /dev/null @@ -1,325 +0,0 @@ -From 8b1f697a60e35ab82fffdabfaefdb45e9a9df379 Mon Sep 17 00:00:00 2001 -From: Eino-Ville Talvala <talvala@stanford.edu> -Date: Tue, 23 Aug 2011 18:37:01 +0200 -Subject: [PATCH 5/6] Attempt to fix VRFB - -Upstream-Status: Pending - -http://dominion.thruhere.net/git/cgit.cgi/xf86-video-omapfb/commit/?h=koen/fixups&id=6833fc9f795265e4943d248103fbaf3463b515d6 - -Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - src/image-format-conversions.c | 4 +-- - src/image-format-conversions.h | 2 +- - src/omapfb-driver.c | 28 +++++++++++++--- - src/omapfb-xv-blizzard.c | 1 + - src/omapfb-xv-generic.c | 72 +++++++++++++++++++++++++++++++++--------- - src/omapfb-xv.c | 3 ++ - 6 files changed, 88 insertions(+), 22 deletions(-) - -diff --git a/src/image-format-conversions.c b/src/image-format-conversions.c -index dcefa9b..d43427d 100644 ---- a/src/image-format-conversions.c -+++ b/src/image-format-conversions.c -@@ -38,13 +38,13 @@ - #include "image-format-conversions.h" - - /* Basic line-based copy for packed formats */ --void packed_line_copy(int w, int h, int stride, uint8_t *src, uint8_t *dest) -+void packed_line_copy(int w, int h, int src_stride, int dst_stride, uint8_t *src, uint8_t *dest) - { - int i; - int len = w * 2; - for (i = 0; i < h; i++) - { -- memcpy(dest + i * len, src + i * stride, len); -+ memcpy(dest + i * dst_stride, src + i * src_stride, len); - } - } - -diff --git a/src/image-format-conversions.h b/src/image-format-conversions.h -index 584896a..ba7caf2 100644 ---- a/src/image-format-conversions.h -+++ b/src/image-format-conversions.h -@@ -27,7 +27,7 @@ - #include <stdint.h> - - /* Basic line-based copy for packed formats */ --void packed_line_copy(int w, int h, int stride, uint8_t *src, uint8_t *dest); -+void packed_line_copy(int w, int h, int src_stride, int dst_stride, uint8_t *src, uint8_t *dest); - - /* Basic C implementation of YV12/I420 to UYVY conversion */ - void uv12_to_uyvy(int w, int h, int y_pitch, int uv_pitch, uint8_t *y_p, uint8_t *u_p, uint8_t *v_p, uint8_t *dest); -diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c -index 48aa09c..07989f5 100644 ---- a/src/omapfb-driver.c -+++ b/src/omapfb-driver.c -@@ -66,6 +66,7 @@ - #define OMAPFB_VERSION 1000 - #define OMAPFB_DRIVER_NAME "OMAPFB" - #define OMAPFB_NAME "omapfb" -+#define ENFORCE_MODES - - static Bool OMAPFBProbe(DriverPtr drv, int flags); - static Bool OMAPFBPreInit(ScrnInfoPtr pScrn, int flags); -@@ -105,11 +106,13 @@ static SymTabRec OMAPFBChipsets[] = { - typedef enum { - OPTION_ACCELMETHOD, - OPTION_FB, -+ OPTION_ROTATE, - } FBDevOpts; - - static const OptionInfoRec OMAPFBOptions[] = { - { OPTION_ACCELMETHOD, "AccelMethod", OPTV_STRING, {0}, FALSE }, - { OPTION_FB, "fb", OPTV_STRING, {0}, FALSE }, -+ { OPTION_ROTATE, "rotation", OPTV_STRING, {0}, FALSE }, - { -1, NULL, OPTV_NONE, {0}, FALSE } - }; - -@@ -286,6 +289,7 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags) - { - OMAPFBPtr ofb; - EntityInfoPtr pEnt; -+ char *rotate; - rgb zeros = { 0, 0, 0 }; - struct stat st; - -@@ -379,6 +383,8 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags) - pScrn->progClock = TRUE; - pScrn->chipset = "omapfb"; - -+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Rotate test version 0.02\n"); -+ - /* Start with configured virtual size */ - pScrn->virtualX = pScrn->display->virtualX; - pScrn->virtualY = pScrn->display->virtualY; -@@ -496,12 +502,21 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - ofb->CloseScreen = pScreen->CloseScreen; - pScreen->CloseScreen = OMAPFBCloseScreen; - -+ /* Enforce the default mode (this is silly I guess) */ -+#ifdef ENFORCE_MODES -+ //xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Enforcing modes\n"); -+ //set_mode(ofb, &ofb->default_mode); -+ //pScrn->displayWidth = ofb->fixed_info.line_length / -+ // (ofb->state_info.bits_per_pixel>>3); //ofb->state_info.xres; -+#endif -+ - /* Map our framebuffer memory */ -+ ofb->mem_info.size = ofb->fixed_info.line_length * ofb->state_info.yres; - ofb->fb = mmap (NULL, ofb->mem_info.size, - PROT_READ | PROT_WRITE, MAP_SHARED, - ofb->fd, 0); -- if (ofb->fb == NULL) { -- xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory failed\n"); -+ if (ofb->fb == MAP_FAILED) { -+ xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory failed, wanted %d bytes.\n", ofb->mem_info.size); - return FALSE; - } - -@@ -578,8 +593,13 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - } else if (!ofb->dss) { - - ofb->plane_info.enabled = 1; -- ofb->plane_info.out_width = ofb->state_info.xres; -- ofb->plane_info.out_height = ofb->state_info.yres; -+ if (ofb->state_info.rotate == 0 || ofb->state_info.rotate == 2) { -+ ofb->plane_info.out_width = ofb->state_info.xres; -+ ofb->plane_info.out_height = ofb->state_info.yres; -+ } else { -+ ofb->plane_info.out_width = ofb->state_info.yres; -+ ofb->plane_info.out_height = ofb->state_info.xres; -+ } - - if (ioctl (ofb->fd, OMAPFB_SETUP_PLANE, &ofb->plane_info)) { - xf86DrvMsg(scrnIndex, X_ERROR, -diff --git a/src/omapfb-xv-blizzard.c b/src/omapfb-xv-blizzard.c -index 406ffc6..b71d2aa 100644 ---- a/src/omapfb-xv-blizzard.c -+++ b/src/omapfb-xv-blizzard.c -@@ -220,6 +220,7 @@ int OMAPFBXVPutImageBlizzard (ScrnInfoPtr pScrn, - packed_line_copy(src_w & ~3, - src_h & ~3, - ((src_w + 1) & ~1) * 2, -+ ofb->port->fixed_info.line_length, - (uint8_t*)buf, - (uint8_t*)ofb->port->fb); - break; -diff --git a/src/omapfb-xv-generic.c b/src/omapfb-xv-generic.c -index e6f89fe..b33f344 100644 ---- a/src/omapfb-xv-generic.c -+++ b/src/omapfb-xv-generic.c -@@ -62,7 +62,7 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn) - { - OMAPFBPtr ofb = OMAPFB(pScrn); - -- /* The memory size is already set in OMAPFBXVQueryImageAttributes */ -+ /* The memory size is already set before we get here */ - if (ioctl(ofb->port->fd, OMAPFB_SETUP_MEM, &ofb->port->mem_info) != 0) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "Failed to allocate video plane memory\n"); -@@ -73,19 +73,20 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn) - ofb->port->fb = mmap (NULL, ofb->port->mem_info.size, - PROT_READ | PROT_WRITE, MAP_SHARED, - ofb->port->fd, 0); -- if (ofb->port->fb == NULL) { -+ if (ofb->port->fb == MAP_FAILED) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "Mapping video memory failed\n"); - return XvBadAlloc; - } - - /* Update the state info */ -+ /* Let's not - it's bad - if (ioctl (ofb->port->fd, FBIOGET_VSCREENINFO, &ofb->port->state_info)) - { - xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__); - return XvBadAlloc; - } -- -+ */ - return Success; - } - -@@ -93,6 +94,7 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn) - int OMAPXVSetupVideoPlane(ScrnInfoPtr pScrn) - { - OMAPFBPtr ofb = OMAPFB(pScrn); -+ int ret; - - if (ioctl (ofb->port->fd, FBIOPUT_VSCREENINFO, &ofb->port->state_info)) - { -@@ -104,6 +106,31 @@ int OMAPXVSetupVideoPlane(ScrnInfoPtr pScrn) - xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__); - return XvBadAlloc; - } -+ /* Changing rotation/nonstd flags can change the fixed info! */ -+ if (ioctl (ofb->port->fd, FBIOGET_FSCREENINFO, &ofb->port->fixed_info)) -+ { -+ xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__); -+ return XvBadAlloc; -+ } -+ /* Correct fixed info requires recalculation of needed memory */ -+ ofb->port->mem_info.size = ofb->port->fixed_info.line_length * ofb->port->state_info.yres; -+ -+ /* Allocate buffer memory */ -+ ret = OMAPXVAllocPlane(pScrn); -+ if (ret != Success) -+ return ret; -+ -+ /* Workaround for reset of mode after memory allo */ -+ if (ioctl (ofb->port->fd, FBIOPUT_VSCREENINFO, &ofb->port->state_info)) -+ { -+ xf86Msg(X_ERROR, "%s: setting state info failed\n", __FUNCTION__); -+ return XvBadAlloc; -+ } -+ if (ioctl (ofb->port->fd, FBIOGET_VSCREENINFO, &ofb->port->state_info)) -+ { -+ xf86Msg(X_ERROR, "%s: Reading state info failed\n", __FUNCTION__); -+ return XvBadAlloc; -+ } - - if(ioctl(ofb->port->fd, OMAPFB_SETUP_PLANE, - &ofb->port->plane_info) != 0) { -@@ -124,6 +151,8 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn, - DrawablePtr pDraw) - { - OMAPFBPtr ofb = OMAPFB(pScrn); -+ short drw_temp; -+ short rot_xres, rot_yres; - - if (!ofb->port->plane_info.enabled - || ofb->port->update_window.x != src_x -@@ -163,13 +192,6 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn, - return Success; - } - -- /* If we don't have the plane running, enable it */ -- if (!ofb->port->plane_info.enabled) { -- ret = OMAPXVAllocPlane(pScrn); -- if (ret != Success) -- return ret; -- } -- - /* Set up the state info, xres and yres will be used for - * scaling to the values in the plane info struct - */ -@@ -179,12 +201,31 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn, - ofb->port->state_info.yres_virtual = 0; - ofb->port->state_info.xoffset = 0; - ofb->port->state_info.yoffset = 0; -- ofb->port->state_info.rotate = 0; -+ //ofb->port->state_info.rotate = 0; - ofb->port->state_info.grayscale = 0; - ofb->port->state_info.activate = FB_ACTIVATE_NOW; - ofb->port->state_info.bits_per_pixel = 0; - ofb->port->state_info.nonstd = xv_to_omapfb_format(image); - -+ /* Plane info does not rotate with state_info */ -+ if (ofb->port->state_info.rotate == 1 || -+ ofb->port->state_info.rotate == 3) { -+ drw_temp = drw_x; -+ drw_x = drw_y; -+ drw_y = drw_temp; -+ -+ drw_temp = drw_w; -+ drw_w = drw_h; -+ drw_h = drw_temp; -+ -+ rot_xres = ofb->port->state_info.yres; -+ rot_yres = ofb->port->state_info.xres; -+ } else { -+ rot_xres = ofb->port->state_info.xres; -+ rot_yres = ofb->port->state_info.yres; -+ } -+ -+ - /* Set up the video plane info */ - ofb->port->plane_info.enabled = 1; - ofb->port->plane_info.pos_x = drw_x; -@@ -193,13 +234,13 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn, - ofb->port->plane_info.out_height = drw_h & ~15; - - /* Cap output to screen size */ -- if (ofb->port->plane_info.out_width > ofb->state_info.xres) { -+ if (ofb->port->plane_info.out_width > rot_xres) { - ofb->port->plane_info.pos_x = 0; -- ofb->port->plane_info.out_width = ofb->state_info.xres; -+ ofb->port->plane_info.out_width = rot_xres; - } -- if (ofb->port->plane_info.out_height > ofb->state_info.yres) { -+ if (ofb->port->plane_info.out_height > rot_yres) { - ofb->port->plane_info.pos_y = 0; -- ofb->port->plane_info.out_height = ofb->state_info.yres; -+ ofb->port->plane_info.out_height = rot_yres; - } - - ret = OMAPXVSetupVideoPlane(pScrn); -@@ -223,6 +264,7 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn, - packed_line_copy(src_w & ~15, - src_h & ~15, - ((src_w + 1) & ~1) * 2, -+ ofb->port->fixed_info.line_length, - (uint8_t*)buf, - (uint8_t*)ofb->port->fb); - break; -diff --git a/src/omapfb-xv.c b/src/omapfb-xv.c -index 1df651e..0fee2c6 100644 ---- a/src/omapfb-xv.c -+++ b/src/omapfb-xv.c -@@ -169,8 +169,11 @@ static int OMAPFBXVQueryImageAttributes (ScrnInfoPtr pScrn, - h = *height; - - w = (w + 1) & ~1; -+ -+ /* Can't calculate these here - don't know line length - ofb->port->mem_info.size = w << 1; - ofb->port->mem_info.size *= h; -+ */ - - return size; - } --- -1.8.0 - diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0006-omapfb-port-to-new-xserver-video-API.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0006-omapfb-port-to-new-xserver-video-API.patch deleted file mode 100644 index d56729987..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0006-omapfb-port-to-new-xserver-video-API.patch +++ /dev/null @@ -1,272 +0,0 @@ -From 803ecf2909949e6152f4a81b6cbb92a4430679ac Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Fri, 23 Nov 2012 00:31:06 +0100 -Subject: [PATCH 6/6] omapfb: port to new xserver video API - -Upstream-Status: Pending - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - src/compat-api.h | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/omapfb-driver.c | 41 ++++++++++++----------- - 2 files changed, 118 insertions(+), 19 deletions(-) - create mode 100644 src/compat-api.h - -diff --git a/src/compat-api.h b/src/compat-api.h -new file mode 100644 -index 0000000..b1591b1 ---- /dev/null -+++ b/src/compat-api.h -@@ -0,0 +1,96 @@ -+/* -+ * Copyright 2012 Red Hat, Inc. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the "Software"), -+ * to deal in the Software without restriction, including without limitation -+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, -+ * and/or sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice (including the next -+ * paragraph) shall be included in all copies or substantial portions of the -+ * Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -+ * DEALINGS IN THE SOFTWARE. -+ * -+ * Author: Dave Airlie <airlied@redhat.com> -+ */ -+ -+/* this file provides API compat between server post 1.13 and pre it, -+ it should be reused inside as many drivers as possible */ -+#ifndef COMPAT_API_H -+#define COMPAT_API_H -+ -+#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR -+#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum] -+#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p -+#endif -+ -+#ifndef XF86_HAS_SCRN_CONV -+#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum] -+#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex] -+#endif -+ -+#ifndef XF86_SCRN_INTERFACE -+ -+#define SCRN_ARG_TYPE int -+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)] -+ -+#define SCREEN_ARG_TYPE int -+#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)] -+ -+#define SCREEN_INIT_ARGS_DECL int index, ScreenPtr pScreen, int argc, char **argv -+ -+#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask -+#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask -+ -+#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen -+#define CLOSE_SCREEN_ARGS scrnIndex, pScreen -+ -+#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags -+ -+#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags -+ -+#define FREE_SCREEN_ARGS_DECL int arg, int flags -+#define FREE_SCREEN_ARGS(x) (x)->scrnIndex, 0 -+ -+#define VT_FUNC_ARGS_DECL int arg, int flags -+#define VT_FUNC_ARGS(flags) pScrn->scrnIndex, (flags) -+ -+#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex) -+#else -+#define SCRN_ARG_TYPE ScrnInfoPtr -+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1) -+ -+#define SCREEN_ARG_TYPE ScreenPtr -+#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1) -+ -+#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv -+ -+#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask -+#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask -+ -+#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen -+#define CLOSE_SCREEN_ARGS pScreen -+ -+#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y -+#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode -+ -+#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg -+#define FREE_SCREEN_ARGS(x) (x) -+ -+#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg -+#define VT_FUNC_ARGS(flags) pScrn -+ -+#define XF86_ENABLEDISABLEFB_ARG(x) (x) -+ -+#endif -+ -+#endif -diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c -index 07989f5..486ffa4 100644 ---- a/src/omapfb-driver.c -+++ b/src/omapfb-driver.c -@@ -44,6 +44,8 @@ - - #include "exa.h" - -+#include "compat-api.h" -+ - #ifdef HAVE_XEXTPROTO_71 - #include <X11/extensions/dpmsconst.h> - #else -@@ -70,10 +72,10 @@ - - static Bool OMAPFBProbe(DriverPtr drv, int flags); - static Bool OMAPFBPreInit(ScrnInfoPtr pScrn, int flags); --static Bool OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv); --static Bool OMAPFBEnterVT(int scrnIndex, int flags); --static void OMAPFBLeaveVT(int scrnIndex, int flags); --static Bool OMAPFBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags); -+static Bool OMAPFBScreenInit(SCREEN_INIT_ARGS_DECL); -+static Bool OMAPFBEnterVT(VT_FUNC_ARGS_DECL); -+static void OMAPFBLeaveVT(VT_FUNC_ARGS_DECL); -+static Bool OMAPFBSwitchMode(SWITCH_MODE_ARGS_DECL); - - static Bool - OMAPFBEnsureRec(ScrnInfoPtr pScrn) -@@ -481,7 +483,7 @@ OMAPFBXvScreenInit(ScreenPtr pScreen) - } - - static Bool --OMAPFBCloseScreen(int scrnIndex, ScreenPtr pScreen) -+OMAPFBCloseScreen(CLOSE_SCREEN_ARGS_DECL) - { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - OMAPFBPtr ofb = OMAPFB(pScrn); -@@ -490,11 +492,11 @@ OMAPFBCloseScreen(int scrnIndex, ScreenPtr pScreen) - - pScreen->CloseScreen = ofb->CloseScreen; - -- return (*pScreen->CloseScreen)(scrnIndex, pScreen); -+ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS); - } - - static Bool --OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) -+OMAPFBScreenInit(SCREEN_INIT_ARGS_DECL) - { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - OMAPFBPtr ofb = OMAPFB(pScrn); -@@ -516,7 +518,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - PROT_READ | PROT_WRITE, MAP_SHARED, - ofb->fd, 0); - if (ofb->fb == MAP_FAILED) { -- xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory failed, wanted %d bytes.\n", ofb->mem_info.size); -+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Mapping framebuffer memory failed, wanted %d bytes.\n", ofb->mem_info.size); - return FALSE; - } - -@@ -526,7 +528,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - /* Only support TrueColor for now */ - if (!miSetVisualTypes(pScrn->depth, TrueColorMask, - pScrn->rgbBits, pScrn->defaultVisual)) { -- xf86DrvMsg(scrnIndex, X_ERROR, "visual type setup failed" -+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "visual type setup failed" - " for %d bits per pixel [1]\n", - pScrn->bitsPerPixel); - return FALSE; -@@ -534,7 +536,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - - /* Set up pixmap depth information */ - if (!miSetPixmapDepths()) { -- xf86DrvMsg(scrnIndex,X_ERROR,"pixmap depth setup failed\n"); -+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"pixmap depth setup failed\n"); - return FALSE; - } - -@@ -546,7 +548,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - pScrn->virtualY, pScrn->xDpi, - pScrn->yDpi, pScrn->displayWidth, - pScrn->bitsPerPixel)) { -- xf86DrvMsg(scrnIndex, X_ERROR, "fbScreenInit failed\n"); -+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "fbScreenInit failed\n"); - return FALSE; - } - -@@ -567,7 +569,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - - /* Initialize XRender fallbacks */ - if (!fbPictureInit(pScreen, NULL, 0)) { -- xf86DrvMsg(scrnIndex, X_ERROR, "fbPictureInit failed\n"); -+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "fbPictureInit failed\n"); - return FALSE; - } - -@@ -579,7 +581,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - - /* Initialize default colormap */ - if (!miCreateDefColormap(pScreen)) { -- xf86DrvMsg(scrnIndex, X_ERROR, -+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "creating default colormap failed\n"); - return FALSE; - } -@@ -589,7 +591,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - /* This is non-fatal since we might be running against older - * kernel driver in which case we only do basic 2D stuff... - */ -- xf86DrvMsg(scrnIndex, X_ERROR, "Reading plane info failed\n"); -+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Reading plane info failed\n"); - } else if (!ofb->dss) { - - ofb->plane_info.enabled = 1; -@@ -602,7 +604,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - } - - if (ioctl (ofb->fd, OMAPFB_SETUP_PLANE, &ofb->plane_info)) { -- xf86DrvMsg(scrnIndex, X_ERROR, -+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "%s: Plane setup failed: %s\n", - __FUNCTION__, strerror(errno)); - return FALSE; -@@ -645,9 +647,10 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - return TRUE; - } - --static Bool OMAPFBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) -+static Bool OMAPFBSwitchMode(SWITCH_MODE_ARGS_DECL) - { -- return xf86SetSingleMode (xf86Screens[scrnIndex], mode, RR_Rotate_0); -+ SCRN_INFO_PTR(arg); -+ return xf86SetSingleMode (pScrn, mode, RR_Rotate_0); - } - - void -@@ -699,14 +702,14 @@ OMAPFBPrintCapabilities(ScrnInfoPtr pScrn, - /*** Unimplemented: */ - - static Bool --OMAPFBEnterVT(int scrnIndex, int flags) -+OMAPFBEnterVT(VT_FUNC_ARGS_DECL) - { - xf86Msg(X_NOT_IMPLEMENTED, "%s\n", __FUNCTION__); - return TRUE; - } - - static void --OMAPFBLeaveVT(int scrnIndex, int flags) -+OMAPFBLeaveVT(VT_FUNC_ARGS_DECL) - { - xf86Msg(X_NOT_IMPLEMENTED, "%s\n", __FUNCTION__); - } --- -1.8.0 - diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0007-always_include_xorg_server.h.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0007-always_include_xorg_server.h.patch deleted file mode 100644 index dc0b9b3f4..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0007-always_include_xorg_server.h.patch +++ /dev/null @@ -1,48 +0,0 @@ -Fix errors with glibc 2.20 - -In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/string.h:634:0, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:53, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/misc.h:115, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86str.h:37, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86.h:44, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/i586-oe-linux/xf86-video-omapfb/2_0.1.1+gitrAUTOINC+28c006c94e-r21.7/git/src/omapfb-xv-blizzard.c:33: -/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__' - strndup(const char *str, size_t n); - ^ -In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/string.h:634:0, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:53, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/misc.h:115, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86str.h:37, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/xf86.h:44, - from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/i586-oe-linux/xf86-video-omapfb/2_0.1.1+gitrAUTOINC+28c006c94e-r21.7/git/src/omapfb-xv-generic.c:28: -/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__' - strndup(const char *str, size_t n); - ^ - -Singed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending -Index: git/src/omapfb-xv-blizzard.c -=================================================================== ---- git.orig/src/omapfb-xv-blizzard.c 2014-08-28 05:16:25.684070587 -0700 -+++ git/src/omapfb-xv-blizzard.c 2014-08-28 19:05:39.440070587 -0700 -@@ -30,6 +30,7 @@ - * - - */ - -+#include <xorg-server.h> - #include "xf86.h" - #include "xf86_OSlib.h" - #include "xf86xv.h" -Index: git/src/omapfb-xv-generic.c -=================================================================== ---- git.orig/src/omapfb-xv-generic.c 2014-08-28 05:16:25.684070587 -0700 -+++ git/src/omapfb-xv-generic.c 2014-08-28 19:05:51.780070587 -0700 -@@ -25,6 +25,7 @@ - * Generic functions for the XV driver - */ - -+#include <xorg-server.h> - #include "xf86.h" - #include "xf86_OSlib.h" - #include "xf86xv.h" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb deleted file mode 100644 index 7ebb960f1..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb +++ /dev/null @@ -1,37 +0,0 @@ -require xorg-driver-video.inc - -SUMMARY = "X.Org X server -- Texas Instruments OMAP framebuffer driver" - -DESCRIPTION = "omapfb driver supports the basic Texas Instruments OMAP \ -framebuffer." - -LICENSE = "MIT-X & GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=63e2cbac53863f60e2f43343fb34367f" -DEPENDS += "virtual/libx11" - -SRCREV = "33e36c12dde336edbdd34626dd8adfcaebc8fbb8" -PR = "${INC_PR}.7" -PV = "0.1.1+gitr${SRCPV}" - -# Blacklist debian-specific tags in upstream version check -UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)(?!-)" - -SRC_URI = "git://anonscm.debian.org/collab-maint/xf86-video-omapfb.git \ - file://0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch \ - file://0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch \ - file://0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch \ - file://0003-force-plain-mode.patch \ - file://0004-blacklist-tv-out.patch \ - file://0005-Attempt-to-fix-VRFB.patch \ - file://0006-omapfb-port-to-new-xserver-video-API.patch \ - file://0007-always_include_xorg_server.h.patch \ -" - -S = "${WORKDIR}/git" - -CFLAGS += " -I${STAGING_INCDIR}/xorg " - -# Use overlay 2 on omap3 to enable other apps to use overlay 1 (e.g. dmai or omapfbplay) -do_compile_prepend_armv7a () { - sed -i -e s:fb1:fb2:g ${S}/src/omapfb-xv.c -} diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.4.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb index fa251b50e..9a110148d 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.4.bb +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb @@ -9,13 +9,11 @@ can drive most VESA-compatible video cards, but only makes use of the \ basic standard VESA core that is common to these cards. The driver \ supports depths 8, 15 16 and 24." -PR = "${INC_PR}.0" - -DEPENDS += "virtual/libx11 randrproto libpciaccess" +DEPENDS += "virtual/libx11 xorgproto libpciaccess" COMPATIBLE_HOST = '(i.86|x86_64).*-linux' RRECOMMENDS_${PN} += "xserver-xorg-module-libint10" -SRC_URI[md5sum] = "a893c37c589f7a31cea929a5d896a0e2" -SRC_URI[sha256sum] = "7bddf4d879dd6f67088ecb203a31e12334aab980174bd0909930a21f32e251c1" +SRC_URI[md5sum] = "8134201beaf6f77150c7809c3cc802e6" +SRC_URI[sha256sum] = "bf443c94d7bf6cd4e248f8a3147f4647be04dc4c80250d9405006263bbdee38c" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.2.1.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.3.0.bb index 706d35d2f..41612b7f0 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.2.1.bb +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.3.0.bb @@ -6,12 +6,12 @@ DESCRIPTION = "vmware is an Xorg driver for VMware virtual video cards." LIC_FILES_CHKSUM = "file://COPYING;md5=5fcd7d437a959a15fbee8707747c6b53" -DEPENDS += "virtual/libx11 xineramaproto videoproto libpciaccess" +DEPENDS += "virtual/libx11 xorgproto libpciaccess" SRC_URI += "file://0002-add-option-for-vmwgfx.patch" -SRC_URI[md5sum] = "4c3912e4d8947f6c2fc1ee9e2f211d74" -SRC_URI[sha256sum] = "e2f7f7101fba7f53b268e7a25908babbf155b3984fb5268b3d244eb6c11bf62b" +SRC_URI[md5sum] = "08d66d062055080ff699ab4869726ea2" +SRC_URI[sha256sum] = "47971924659e51666a757269ad941a059ef5afe7a47b5101c174a6022ac4066c" COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)' diff --git a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc index bca0aade6..e657c65b4 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc +++ b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc @@ -7,7 +7,7 @@ LICENSE = "MIT-X" PE = "2" INC_PR = "r21" -DEPENDS = "virtual/xserver xproto randrproto util-macros" +DEPENDS = "virtual/xserver xorgproto util-macros" SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2" diff --git a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc index 342067d6c..57912e70d 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc +++ b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-input.inc @@ -1,6 +1,6 @@ require xorg-driver-common.inc -DEPENDS += "inputproto kbproto " +DEPENDS += "xorgproto" python add_xorg_abi_depends() { _add_xorg_abi_depends(d, "input") diff --git a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc index b5862dae1..2938ef116 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc +++ b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-video.inc @@ -1,6 +1,6 @@ require xorg-driver-common.inc -DEPENDS =+ "renderproto videoproto xextproto fontsproto" +DEPENDS =+ "xorgproto" python add_xorg_abi_depends() { _add_xorg_abi_depends(d, "video") diff --git a/poky/meta/recipes-graphics/xorg-lib/libdmx_1.1.3.bb b/poky/meta/recipes-graphics/xorg-lib/libdmx_1.1.4.bb index e623cee42..66172cb30 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libdmx_1.1.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libdmx_1.1.4.bb @@ -11,10 +11,10 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=a3c3499231a8035efd0e004cfbd3b72a \ file://src/dmx.c;endline=33;md5=c43f19af03c7c8619cadc9724ed9afe1" -DEPENDS += "libxext dmxproto" +DEPENDS += "libxext xorgproto" PE = "1" -SRC_URI[md5sum] = "ba983eba5a9f05d152a0725b8e863151" -SRC_URI[sha256sum] = "c97da36d2e56a2d7b6e4f896241785acc95e97eb9557465fd66ba2a155a7b201" +SRC_URI[md5sum] = "d2f1f0ec68ac3932dd7f1d9aa0a7a11c" +SRC_URI[sha256sum] = "253f90005d134fa7a209fbcbc5a3024335367c930adf0f3203e754cf32747243" diff --git a/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb index a181f05c2..34d5fc448 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb @@ -8,7 +8,7 @@ require xorg-lib-common.inc LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=96254c20ab81c63e65b26f0dbcd4a1c1" -DEPENDS += "zlib xproto font-util" +DEPENDS += "zlib xorgproto font-util" PE = "1" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb b/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb index 5ccd1d8c3..999434ee5 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb @@ -11,7 +11,7 @@ require xorg-lib-common.inc LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=d162b1b3c6fa812da9d804dcf8584a93" -DEPENDS += "xproto xtrans" +DEPENDS += "xorgproto xtrans" PROVIDES = "ice" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.bb b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.bb index a44a5c892..d030c31bd 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.bb @@ -16,3 +16,5 @@ LICENSE = "MIT & MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=277aada5222b9a22fbf3471ff3687068" REQUIRED_DISTRO_FEATURES = "" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb b/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb index 48922cb99..fdc693be1 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb @@ -11,7 +11,7 @@ require xorg-lib-common.inc LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb37f44e02bdbde80546024400728d" -DEPENDS += "libice xproto xtrans" +DEPENDS += "libice xorgproto xtrans" # libSM can work without libuuid, we explicitly disable it to break the following circular dependency # when DISTRO_FEATURES contains 'systemd' and 'x11'. diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.5.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.6.bb index 295f96a2e..a4ba4e54e 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.5.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.6.bb @@ -3,16 +3,16 @@ require libx11.inc DESCRIPTION += " Support for XCMS and XLOCALE is disabled in \ this version." -SRC_URI += "file://X18NCMSstubs.diff \ - file://fix-disable-xlocale.diff \ +SRC_URI += "file://X18NCMSstubs.patch \ + file://fix-disable-xlocale.patch \ file://fix-utf8-wrong-define.patch \ " RPROVIDES_${PN}-dev = "libx11-dev" RPROVIDES_${PN}-locale = "libx11-locale" -SRC_URI[md5sum] = "0f618db70c4054ca67cee0cc156a4255" -SRC_URI[sha256sum] = "4d3890db2ba225ba8c55ca63c6409c1ebb078a2806de59fb16342768ae63435d" +SRC_URI[md5sum] = "6b0f83e851b3b469dd660f3a95ac3e42" +SRC_URI[sha256sum] = "65fe181d40ec77f45417710c6a67431814ab252d21c2e85c75dd1ed568af414f" EXTRA_OECONF += "--disable-xlocale" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11.inc b/poky/meta/recipes-graphics/xorg-lib/libx11.inc index 4af40ab8a..36c950ad3 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libx11.inc +++ b/poky/meta/recipes-graphics/xorg-lib/libx11.inc @@ -6,8 +6,6 @@ basic functions of the window system." require xorg-lib-common.inc -inherit siteinfo - FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:" PE = "1" @@ -18,8 +16,8 @@ XORG_PN = "libX11" LICENSE = "MIT & MIT-style & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" -DEPENDS += "xproto xextproto xtrans libxcb kbproto inputproto" -DEPENDS += "xproto-native" +DEPENDS += "xorgproto xtrans libxcb" +DEPENDS += "xorgproto-native" EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11/ --disable-xf86bigfont" EXTRA_OEMAKE += 'CWARNFLAGS=""' diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.diff b/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch index 744cedc77..c1172147a 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.diff +++ b/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch @@ -1,52 +1,50 @@ -Upstream-Status: Pending +From 62005ad019d6afb81da100b3113292a16472d241 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Mon, 10 Sep 2018 09:08:27 +0800 +Subject: [PATCH] Stub out x18n +Update patch to version 1.6.6 +Signed-off-by: Changqing Li <changqing.li@windriver.com> Upstream-Status: Inappropriate [configuration] -Index: libX11-1.3/src/imConv.c -=================================================================== ---- libX11-1.3.orig/src/imConv.c -+++ libX11-1.3/src/imConv.c -@@ -83,6 +83,7 @@ static const struct SubstRec SubstTable[ - * from UCS char to specified charset char. - * This converter is needed for _XimGetCharCode subroutine. - */ -+#ifdef XLOCALE - XPointer - _XimGetLocaleCode ( - _Xconst char* encoding_name) -@@ -96,6 +97,7 @@ _XimGetLocaleCode ( - } - return cvt; - } -+#endif +--- + src/Makefile.am | 5 +- + src/X18NCMSstubs.c | 426 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/imConv.c | 5 +- + src/locking.c | 4 + + 4 files changed, 438 insertions(+), 2 deletions(-) + create mode 100644 src/X18NCMSstubs.c + +diff --git a/src/Makefile.am b/src/Makefile.am +index f8c476d..cdbcbbd 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -336,13 +336,16 @@ if THRSTUBS + libX11_la_SOURCES+=UIThrStubs.c + endif - /* - * Returns the locale dependent representation of a keysym. -@@ -106,6 +108,7 @@ _XimGetLocaleCode ( - * terminating NUL byte. Return 0 if the keysym is not representable in the - * locale - */ -+#ifdef XLOCALE - /*ARGSUSED*/ - int - _XimGetCharCode ( -@@ -135,6 +138,7 @@ _XimGetCharCode ( - buf[count]= '\0'; - return count; - } -+#endif ++libX11_la_SOURCES+=X18NCMSstubs.c ++ + x11datadir = @X11_DATADIR@ + x11data_DATA = XErrorDB - #ifdef XKB - static int lookup_string( -Index: libX11-1.3/src/X18NCMSstubs.c -=================================================================== + EXTRA_DIST = \ + $(x11data_DATA) \ + os2Stubs.c \ +- UIThrStubs.c ++ UIThrStubs.c \ ++ X18NCMSstubs.c + + libX11_xcb_la_SOURCES = x11_xcb.c Xxcbint.h + libX11_xcb_la_LDFLAGS = -version-number 1:0:0 -no-undefined +diff --git a/src/X18NCMSstubs.c b/src/X18NCMSstubs.c +new file mode 100644 +index 0000000..429cb31 --- /dev/null -+++ libX11-1.3/src/X18NCMSstubs.c -@@ -0,0 +1,428 @@ -+/* -+ * X18NCMSstubs.c -+ * - Provides stubs and dummy funcs needed when Xcms and XLocale stuff removed ++++ b/src/X18NCMSstubs.c +@@ -0,0 +1,426 @@ ++ /* - Provides stubs and dummy funcs needed when Xcms and XLocale stuff removed + * -+ * Copyright © 2003 Matthew Allum ++ * Copyright © 2003 Matthew Allum + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that @@ -470,33 +468,48 @@ Index: libX11-1.3/src/X18NCMSstubs.c +} + +#endif -Index: libX11-1.3/src/Makefile.am -=================================================================== ---- libX11-1.3.orig/src/Makefile.am -+++ libX11-1.3/src/Makefile.am -@@ -335,6 +335,8 @@ if THRSTUBS - libX11_la_SOURCES+=UIThrStubs.c - endif - -+libX11_la_SOURCES+=X18NCMSstubs.c -+ - x11datadir = @X11_DATADIR@ - x11data_DATA = XKeysymDB XErrorDB - -@@ -342,6 +344,7 @@ EXTRA_DIST = \ - $(x11data_DATA) \ - os2Stubs.c \ -- UIThrStubs.c -+ UIThrStubs.c \ -+ X18NCMSstubs.c - - if XCB - libX11_la_SOURCES += \ -Index: libX11-1.3/src/locking.c -=================================================================== ---- libX11-1.3.orig/src/locking.c -+++ libX11-1.3/src/locking.c -@@ -66,7 +66,9 @@ in this Software without prior written a +diff --git a/src/imConv.c b/src/imConv.c +index c3c1974..04ecc81 100644 +--- a/src/imConv.c ++++ b/src/imConv.c +@@ -80,6 +80,7 @@ static const struct SubstRec SubstTable[] = { + * from UCS char to specified charset char. + * This converter is needed for _XimGetCharCode subroutine. + */ ++#ifdef XLOCALE + XPointer + _XimGetLocaleCode ( + _Xconst char* encoding_name) +@@ -93,7 +94,7 @@ _XimGetLocaleCode ( + } + return cvt; + } +- ++#endif + /* + * Returns the locale dependent representation of a keysym. + * The locale's encoding is passed in form of pointer to UCS convertor. +@@ -105,6 +105,7 @@ _XimGetLocaleCode ( + * locale + */ + /*ARGSUSED*/ ++#ifdef XLOCALE + int + _XimGetCharCode ( + XPointer ucs_conv, +@@ -133,6 +134,7 @@ _XimGetCharCode ( + buf[count]= '\0'; + return count; + } ++#endif + + #ifdef XKB + static int lookup_string( +diff --git a/src/locking.c b/src/locking.c +index 9f4fe06..e6967ee 100644 +--- a/src/locking.c ++++ b/src/locking.c +@@ -65,7 +65,9 @@ in this Software without prior written authorization from The Open Group. #define NUM_FREE_CVLS 4 /* in lcWrap.c */ @@ -506,7 +519,7 @@ Index: libX11-1.3/src/locking.c #ifdef WIN32 static DWORD _X_TlsIndex = (DWORD)-1; -@@ -594,9 +596,11 @@ Status XInitThreads(void) +@@ -597,9 +599,11 @@ Status XInitThreads(void) _Xglobal_lock = &global_lock; xmutex_init(_Xglobal_lock->lock); xmutex_set_name(_Xglobal_lock->lock, "Xlib global"); @@ -518,3 +531,6 @@ Index: libX11-1.3/src/locking.c _XLockMutex_fn = _XLockMutex; _XUnlockMutex_fn = _XUnlockMutex; _XCreateMutex_fn = _XCreateMutex; +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.diff b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.diff deleted file mode 100644 index a7c3984fd..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.diff +++ /dev/null @@ -1,17 +0,0 @@ -Upstream-Status: Pending - -Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> ---- libX11-X11R7.0-1.0.0/src/Font.c.orig 2006-03-12 18:35:42.000000000 +0100 -+++ libX11-X11R7.0-1.0.0/src/Font.c 2006-03-12 18:40:27.000000000 +0100 -@@ -701,7 +701,11 @@ - } - if (l - 2 - (p - charset) < 0) - return 0; -+#ifdef XLOCALE - if (_XlcNCompareISOLatin1(name + l - 2 - (p - charset), charset, p - charset)) -+#else -+ if (strncasecmp(name + l - 2 - (p - charset), charset, p - charset)) -+#endif - return 0; - if (strlen(p + 1) + l - 1 >= sizeof(buf) - 1) - return 0; diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch new file mode 100644 index 000000000..09cf74fff --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch @@ -0,0 +1,33 @@ +From 5c1693028ef12ab767d7cdbc349c27efa1ada87a Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Mon, 10 Sep 2018 09:13:38 +0800 +Subject: [PATCH] Fix build when xlocale disabled + +Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> + +Update patch to version 1.6.6 +Signed-off-by: Changqing Li <changqing.li@windriver.com> +Upstream-Status: Pending +--- + src/Font.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/Font.c b/src/Font.c +index a73f9b1..8f4d210 100644 +--- a/src/Font.c ++++ b/src/Font.c +@@ -675,7 +675,11 @@ int _XF86LoadQueryLocaleFont( + } + if (l - 2 - (p - charset) < 0) + return 0; ++#ifdef XLOCALE + if (_XlcNCompareISOLatin1(name + l - 2 - (p - charset), charset, p - charset)) ++#else ++ if (strncasecmp(name + l - 2 - (p - charset), charset, p - charset)) ++#endif + return 0; + if (strlen(p + 1) + l - 1 >= sizeof(buf) - 1) + return 0; +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch index c6347f5be..0b57e0b06 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch +++ b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch @@ -1,19 +1,31 @@ -Upstream-Status: Pending +From 046703373055c7029c19d171e415ff3caaa87372 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Mon, 10 Sep 2018 09:16:33 +0800 +Subject: [PATCH] Disable unicode Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# +Update patch to version 1.6.6 + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +Upstream-Status: Pending +--- + include/X11/Xlib.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) ---- libX11-X11R7.0-1.0.0/include/X11/Xlib.h~fix-utf8-wrong-define -+++ libX11-X11R7.0-1.0.0/include/X11/Xlib.h -@@ -103,7 +103,7 @@ +diff --git a/include/X11/Xlib.h b/include/X11/Xlib.h +index 84403f7..56be654 100644 +--- a/include/X11/Xlib.h ++++ b/include/X11/Xlib.h +@@ -67,7 +67,7 @@ _Xmblen( /* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in November 2000. Its presence is indicated through the following macro. */ -#define X_HAVE_UTF8_STRING 1 +#undef X_HAVE_UTF8_STRING - typedef char *XPointer; - + /* The Xlib structs are full of implicit padding to properly align members. + We can't clean that up without breaking ABI, so tell clang not to bother +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.6.bb index 427bf28ce..0fee1a908 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.6.bb @@ -10,5 +10,5 @@ do_configure_append () { sed -i -e "/X11_CFLAGS/d" ${B}/src/util/Makefile } -SRC_URI[md5sum] = "0f618db70c4054ca67cee0cc156a4255" -SRC_URI[sha256sum] = "4d3890db2ba225ba8c55ca63c6409c1ebb078a2806de59fb16342768ae63435d" +SRC_URI[md5sum] = "6b0f83e851b3b469dd660f3a95ac3e42" +SRC_URI[sha256sum] = "65fe181d40ec77f45417710c6a67431814ab252d21c2e85c75dd1ed568af414f" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb index 2ef8bfa8b..8c52475b8 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb @@ -11,7 +11,7 @@ inherit gettext LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=7908e342491198401321cec1956807ec" -DEPENDS += " xproto" +DEPENDS += " xorgproto" PROVIDES = "xau" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcalibrate/fix-xcb.patch b/poky/meta/recipes-graphics/xorg-lib/libxcalibrate/fix-xcb.patch deleted file mode 100644 index d6148834a..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxcalibrate/fix-xcb.patch +++ /dev/null @@ -1,29 +0,0 @@ -Upstream-Status: Pending - -There is no extra reply data and if we say not to disgard it, xcb -throws fatal asserts. - -RP - 26/11/09 - -Index: git/xcalibrate.c -=================================================================== ---- git.orig/xcalibrate.c 2009-11-26 08:11:48.000000000 +0000 -+++ git/xcalibrate.c 2009-11-26 08:09:55.000000000 +0000 -@@ -216,7 +216,7 @@ - req->reqType = info->codes->major_opcode; - req->xCalibrateReqType = X_XCalibrateRawMode; - req->on = enable; -- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) -+ if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) - { - UnlockDisplay (dpy); - SyncHandle (); -@@ -240,7 +240,7 @@ - req->xCalibrateReqType = X_XCalibrateScreenToCoord; - req->x = *x; - req->y = *y; -- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) -+ if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) - { - UnlockDisplay (dpy); - SyncHandle (); diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb b/poky/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb deleted file mode 100644 index 0fe65318b..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "XCalibrate: Touchscreen calibration library" - -DESCRIPTION = "libXCalibrate is a library for performing touchscreen \ -calibration with the kdrive tslib touchscreen driver." - -require xorg-lib-common.inc - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://xcalibrate.h;endline=21;md5=fa572df6439f0f235f2612f370f153d7 \ - file://xcalibrate.c;endline=21;md5=fa572df6439f0f235f2612f370f153d7" - -DEPENDS = "virtual/libx11 calibrateproto libxext" - -SRCREV = "209d83af61ed38a002c8096377deac292b3e396c" -PV = "0.0+git${SRCPV}" - -SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate \ - file://fix-xcb.patch" -UPSTREAM_CHECK_COMMITS = "1" - -S = "${WORKDIR}/git" - -FILES_${PN}-locale += "${datadir}/X11/locale" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb/Fix-inconsistent-use-of-tabs-vs.-space.patch b/poky/meta/recipes-graphics/xorg-lib/libxcb/Fix-inconsistent-use-of-tabs-vs.-space.patch deleted file mode 100644 index 899238635..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxcb/Fix-inconsistent-use-of-tabs-vs.-space.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 8740a288ca468433141341347aa115b9544891d3 Mon Sep 17 00:00:00 2001 -From: Thomas Klausner <wiz@NetBSD.org> -Date: Thu, 19 May 2016 17:31:18 +0200 -Subject: [PATCH] Fix inconsistent use of tabs vs. space. - -Needed for at least python-3.5.x. - -Signed-off-by: Thomas Klausner <wiz@NetBSD.org> -Signed-off-by: Uli Schlachter <psychon@znc.in> - -Upstream-Status: Backport - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - src/c_client.py | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/src/c_client.py b/src/c_client.py -index 57de3fb..043338d 100644 ---- a/src/c_client.py -+++ b/src/c_client.py -@@ -1364,7 +1364,7 @@ def _c_serialize(context, self): - _c(' unsigned int xcb_align_to = 0;') - if self.is_switch: - _c(' unsigned int xcb_padding_offset = %d;', -- self.get_align_offset() ) -+ self.get_align_offset() ) - prefix = [('_aux', '->', self)] - aux_ptr = 'xcb_out' - -@@ -1390,7 +1390,7 @@ def _c_serialize(context, self): - _c(' unsigned int xcb_align_to = 0;') - if self.is_switch: - _c(' unsigned int xcb_padding_offset = %d;', -- self.get_align_offset() ) -+ self.get_align_offset() ) - - elif 'sizeof' == context: - param_names = [p[2] for p in params] -@@ -1930,14 +1930,14 @@ def _c_accessors_list(self, field): - # from the request size and divide that by the member size - return '(((R->length * 4) - sizeof('+ self.c_type + '))/'+'sizeof('+field.type.member.c_wiretype+'))' - else: -- # use the accessor to get the start of the list, then -- # compute the length of it by subtracting it from -+ # use the accessor to get the start of the list, then -+ # compute the length of it by subtracting it from - # the adress of the first byte after the end of the - # request -- after_end_of_request = '(((char*)R) + R->length * 4)' -- start_of_list = '%s(R)' % (field.c_accessor_name) -+ after_end_of_request = '(((char*)R) + R->length * 4)' -+ start_of_list = '%s(R)' % (field.c_accessor_name) - bytesize_of_list = '%s - (char*)(%s)' % (after_end_of_request, start_of_list) -- return '(%s) / sizeof(%s)' % (bytesize_of_list, field.type.member.c_wiretype) -+ return '(%s) / sizeof(%s)' % (bytesize_of_list, field.type.member.c_wiretype) - else: - raise Exception( - "lengthless lists with varsized members are not supported. Fieldname '%s'" --- -2.9.0 - diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.12.bb b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.bb index a38bdea5d..a8e0307e1 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.12.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.bb @@ -13,14 +13,14 @@ SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2 \ file://xcbincludedir.patch \ file://disable-check.patch \ file://gcc-mips-pr68302-mips-workaround.patch \ - file://Fix-inconsistent-use-of-tabs-vs.-space.patch \ " -SRC_URI[md5sum] = "28e552bd78bc1050b6b26ca1db0e5bb6" -SRC_URI[sha256sum] = "4adfb1b7c67e99bc9c2ccb110b2f175686576d2f792c8a71b9c8b19014057b5b" + +SRC_URI[md5sum] = "c2b6cf928afa16b0047c974e7aaa783f" +SRC_URI[sha256sum] = "188c8752193c50ff2dbe89db4554c63df2e26a2e47b0fa415a70918b5b851daa" BBCLASSEXTEND = "native nativesdk" -DEPENDS = "xcb-proto xproto libxau libpthread-stubs libxdmcp" +DEPENDS = "xcb-proto xorgproto libxau libpthread-stubs libxdmcp" PACKAGES_DYNAMIC = "^libxcb-.*" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb index 70257194a..73e294840 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb @@ -14,7 +14,7 @@ require xorg-lib-common.inc LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=3f2907aad541f6f226fbc58cc1b3cdf1" -DEPENDS += " compositeproto virtual/libx11 libxfixes libxext" +DEPENDS += " xorgproto virtual/libx11 libxfixes libxext" PROVIDES = "xcomposite" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb index c3d70043c..6d6ffadf2 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb @@ -16,7 +16,7 @@ require xorg-lib-common.inc LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=9fe101f30dd24134cf43146863241868" -DEPENDS += "virtual/libx11 damageproto libxfixes" +DEPENDS += "virtual/libx11 xorgproto libxfixes" PROVIDES = "xdamage" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb index f4e30d93d..466f3491f 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb @@ -13,7 +13,7 @@ inherit gettext LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=d559fb26e129626022e052a5e6e0e123" -DEPENDS += "xproto" +DEPENDS += "xorgproto" PROVIDES = "xdmcp" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb index 063e531c0..aae8f2af6 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb @@ -13,7 +13,7 @@ require xorg-lib-common.inc LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=879ce266785414bd1cbc3bc2f4d9d7c8" -DEPENDS += "xproto virtual/libx11 xextproto" +DEPENDS += "xorgproto virtual/libx11" PROVIDES = "xext" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb index c80042d34..f0e2f606c 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb @@ -10,7 +10,7 @@ require xorg-lib-common.inc LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0" -DEPENDS += "virtual/libx11 xproto fixesproto xextproto" +DEPENDS += "virtual/libx11 xorgproto" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb index 5f27a5582..2b72d6750 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb @@ -9,7 +9,7 @@ require xorg-lib-common.inc LICENSE = "MIT & MIT-style & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c" -DEPENDS += "freetype xtrans fontsproto libfontenc zlib" +DEPENDS += "freetype xtrans xorgproto libfontenc zlib" XORG_PN = "libXfont2" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb index 79f77fcea..94c6c66e8 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxfont_1.5.4.bb @@ -9,7 +9,7 @@ require xorg-lib-common.inc LICENSE = "MIT & MIT-style & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c" -DEPENDS += "freetype xtrans fontsproto libfontenc zlib" +DEPENDS += "freetype xtrans xorgproto libfontenc zlib" PROVIDES = "xfont" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb index 74f0527b7..08381d9c4 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb @@ -11,7 +11,7 @@ LICENSE = "MIT & MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=17b064789fab936a1c58c4e13d965b0f \ file://src/XIGetDevFocus.c;endline=23;md5=cdfb0d435a33ec57ea0d1e8e395b729f" -DEPENDS += "libxext inputproto libxfixes" +DEPENDS += "libxext xorgproto libxfixes" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxinerama_1.1.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxinerama_1.1.4.bb index bb03f44e2..edce35da5 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxinerama_1.1.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxinerama_1.1.4.bb @@ -10,13 +10,13 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=6f4f634d1643a2e638bba3fcd19c2536 \ file://src/Xinerama.c;beginline=2;endline=25;md5=fcef273bfb66339256411dd06ea79c02" -DEPENDS += "libxext xineramaproto" +DEPENDS += "libxext xorgproto" PROVIDES = "xinerama" PE = "1" XORG_PN = "libXinerama" -SRC_URI[md5sum] = "9336dc46ae3bf5f81c247f7131461efd" -SRC_URI[sha256sum] = "7a45699f1773095a3f821e491cbd5e10c887c5a5fce5d8d3fced15c2ff7698e2" +SRC_URI[md5sum] = "0d5f826a197dae74da67af4a9ef35885" +SRC_URI[sha256sum] = "0008dbd7ecf717e1e507eed1856ab0d9cf946d03201b85d5dcf61489bb02d720" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.2.bb index 050d0b740..8cf508b0b 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.0.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.2.bb @@ -9,8 +9,8 @@ DEPENDS = "util-macros flex-native bison-native" SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "7d0e4c4a137d0ac45bf6b328c84c3a81" -SRC_URI[sha256sum] = "e829265db04e0aebfb0591b6dc3377b64599558167846c3f5ee5c5e53641fe6d" +SRC_URI[md5sum] = "5f7f8533f907ebcfb1cf8dceb9501264" +SRC_URI[sha256sum] = "7ab8c4b3403d89d01898066b72cb6069bddeb5af94905a65368f671a026ed58c" UPSTREAM_CHECK_URI = "http://xkbcommon.org/" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb index 39a344cca..f5c18607a 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb @@ -8,7 +8,7 @@ require xorg-lib-common.inc LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=8be7367f7e5d605a426f76bb37d4d61f" -DEPENDS += "virtual/libx11 kbproto" +DEPENDS += "virtual/libx11 xorgproto" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb index 48e88d20a..b90ebc623 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb @@ -11,7 +11,7 @@ require xorg-lib-common.inc LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=c9d1a2118a6cd5727521db8e7a2fee69" -DEPENDS += "virtual/libx11 randrproto libxrender libxext" +DEPENDS += "virtual/libx11 xorgproto libxrender libxext" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb b/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb index 92b310270..9b1836613 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.10.bb @@ -11,7 +11,7 @@ require xorg-lib-common.inc LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=d8bc71986d3b9b3639f6dfd6fac8f196" -DEPENDS += "virtual/libx11 renderproto xproto" +DEPENDS += "virtual/libx11 xorgproto" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb index 8c34e47b4..af6bb19a2 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb @@ -10,7 +10,7 @@ require xorg-lib-common.inc LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=8c89441a8df261bdc56587465e13c7fa" -DEPENDS += "libxext resourceproto" +DEPENDS += "libxext xorgproto" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb index 354e5de7f..aed52e75e 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.2.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb @@ -12,12 +12,12 @@ image is to be displayed and to provide the graphics." LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=21fd154ee757813632ada871a34113fb" -DEPENDS += "libxext scrnsaverproto" +DEPENDS += "libxext xorgproto" PROVIDES = "libxss" RREPLACES_${PN} = "libxss" PE = "1" XORG_PN = "libXScrnSaver" -SRC_URI[md5sum] = "7a773b16165e39e938650bcc9027c1d5" -SRC_URI[sha256sum] = "8ff1efa7341c7f34bcf9b17c89648d6325ddaae22e3904e091794e0b4426ce1d" +SRC_URI[md5sum] = "eeea9d5af3e6c143d0ea1721d27a5e49" +SRC_URI[sha256sum] = "f917075a1b7b5a38d67a8b0238eaab14acd2557679835b154cf2bca576e89bf8" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxshmfence/extensions.patch b/poky/meta/recipes-graphics/xorg-lib/libxshmfence/extensions.patch deleted file mode 100644 index 4cc9e05ab..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxshmfence/extensions.patch +++ /dev/null @@ -1,17 +0,0 @@ -With glibc 2.27 memfd_create is behind a _GNU_SOURCE guard, so call -AC_USE_SYSTEM_EXTENSIONS to get that defined. - -Upstream-Status: Submitted -Signed-off-by: Ross Burton <ross.burton@intel.com> - -diff --git a/configure.ac b/configure.ac -index 0c98875..ebf4dee 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -29,4 +29,6 @@ AC_CONFIG_SRCDIR([Makefile.am]) - AC_CONFIG_HEADERS([config.h]) - -+AC_USE_SYSTEM_EXTENSIONS -+ - # Initialize Automake - AM_INIT_AUTOMAKE([foreign dist-bzip2]) diff --git a/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb index 1df068d1b..85a48e4c5 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.2.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb @@ -13,7 +13,5 @@ DEPENDS += "virtual/libx11" BBCLASSEXTEND = "native nativesdk" -SRC_URI += "file://extensions.patch" - -SRC_URI[md5sum] = "66662e76899112c0f99e22f2fc775a7e" -SRC_URI[sha256sum] = "d21b2d1fd78c1efbe1f2c16dae1cb23f8fd231dcf891465b8debe636a9054b0c" +SRC_URI[md5sum] = "42dda8016943dc12aff2c03a036e0937" +SRC_URI[sha256sum] = "b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb b/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb index 180d00d9b..f8d94a2f5 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb @@ -16,7 +16,7 @@ LICENSE = "MIT & MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=6565b1e0094ea1caae0971cc4035f343" -DEPENDS += "util-linux libxcb libsm virtual/libx11 kbproto libxdmcp" +DEPENDS += "util-linux libxcb libsm virtual/libx11 xorgproto libxdmcp" PROVIDES = "xt" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb index 5717fa5b7..266bd1ca5 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb @@ -10,7 +10,7 @@ LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=bb4f89972c3869f617f61c1a79ad1952 \ file://src/XTest.c;beginline=2;endline=32;md5=b1c8c9dff842b4d5b89ca5fa32c40e99" -DEPENDS += "libxext recordproto inputproto libxi" +DEPENDS += "libxext xorgproto libxi" PROVIDES = "xtst" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.11.bb b/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.11.bb index a226c2753..c6027233e 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.11.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.11.bb @@ -10,7 +10,7 @@ require xorg-lib-common.inc LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=827da9afab1f727f2a66574629e0f39c" -DEPENDS += "libxext videoproto" +DEPENDS += "libxext xorgproto" XORG_PN = "libXv" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb b/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb index 6ed49b1f3..7e49a98dd 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb @@ -9,7 +9,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=0a207f08d4961489c55046c9a5e500da \ file://wrapper/XvMCWrapper.c;endline=26;md5=5151daa8172a3f1bb0cb0e0ff157d9de" -DEPENDS += "libxext libxv videoproto" +DEPENDS += "libxext libxv xorgproto" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb index 695a39637..626199e09 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb @@ -9,7 +9,7 @@ emulators for games." LIC_FILES_CHKSUM = "file://COPYING;md5=abb99ac125f84f424a4278153988e32f" -DEPENDS += "libxext xf86dgaproto" +DEPENDS += "libxext" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb index af6f1f76a..45b0673e7 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb @@ -8,13 +8,12 @@ require xorg-lib-common.inc LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=27c91ecc435bd3d2bfad868914c94b45" -DEPENDS += "libxext xf86miscproto" +DEPENDS += "libxext" PROVIDES = "xxf86misc" PE = "1" XORG_PN = "libXxf86misc" -SRC_URI[md5sum] = "6bc0bf78909fd71021c466c793d4385c" -SRC_URI[sha256sum] = "563f4200862efd3334c33a669e0a0aae5bab31f3998db75b87a99a697cc26b5b" - +SRC_URI[md5sum] = "37ad70f8b53b94b550f9290be97fbe2d" +SRC_URI[sha256sum] = "a89c03e2b0f16239d67a2031b9003f31b5a686106bbdb3c797fb88ae472af380" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb index 35f87d271..95fc0b642 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.4.bb @@ -10,7 +10,7 @@ require xorg-lib-common.inc LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=fa0b9c462d8f2f13eba26492d42ea63d" -DEPENDS += "libxext xf86vidmodeproto" +DEPENDS += "libxext xorgproto" PE = "1" diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.22.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.24.bb index 4fd894fd7..7d0e608e7 100644 --- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.22.bb +++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.24.bb @@ -14,8 +14,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9" SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2" -SRC_URI[md5sum] = "eb61fb3fd419e817df572b0c8d94a883" -SRC_URI[sha256sum] = "deaec9989fbc443358b43864437b7b6d39caff07890a4a8055105ce9fcaa59bd" +SRC_URI[md5sum] = "74c4bdf52382127cb5802c3f2ab441e0" +SRC_URI[sha256sum] = "91b18580f46b4e4ea913707f6c8d68ab5286879c3a6591462f3b9e760d3ac4d7" SECTION = "x11/libs" DEPENDS = "intltool-native util-macros libxslt-native" diff --git a/poky/meta/recipes-graphics/xorg-lib/xtrans/multilibfix.patch b/poky/meta/recipes-graphics/xorg-lib/xtrans/multilibfix.patch new file mode 100644 index 000000000..c513bad20 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xtrans/multilibfix.patch @@ -0,0 +1,18 @@ +The xtrans.pc file is installed into a non-arch directory yet contains libdir +which can vary depending on which multilib is configured. The .pc file does +not require libdir so remove this to fix multilib builds. + +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> +Upstream-Status: Pending + +Index: xtrans-1.3.5/xtrans.pc.in +=================================================================== +--- xtrans-1.3.5.orig/xtrans.pc.in ++++ xtrans-1.3.5/xtrans.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XTrans diff --git a/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb b/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb index d5b7f1a2c..200716fb0 100644 --- a/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb +++ b/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb @@ -12,6 +12,8 @@ require xorg-lib-common.inc LICENSE = "MIT & MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=49347921d4d5268021a999f250edc9ca" +SRC_URI += "file://multilibfix.patch" + PE = "1" RDEPENDS_${PN}-dev = "" diff --git a/poky/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.2.bb b/poky/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.2.bb deleted file mode 100644 index f798a4353..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.2.bb +++ /dev/null @@ -1,16 +0,0 @@ -require xorg-proto-common.inc - -PE = "1" - -SUMMARY = "BigReqs: X Big Requests extension headers" - -DESCRIPTION = "This package provides the wire protocol for the \ -BIG-REQUESTS extension, used to send larger requests that usual in order \ -to avoid fragmentation." - -BBCLASSEXTEND = "native nativesdk" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b12715630da6f268d0d3712ee1a504f4" - -SRC_URI[md5sum] = "1a05fb01fa1d5198894c931cf925c025" -SRC_URI[sha256sum] = "462116ab44e41d8121bfde947321950370b285a5316612b8fce8334d50751b1e" diff --git a/poky/meta/recipes-graphics/xorg-proto/calibrateproto/fix.patch b/poky/meta/recipes-graphics/xorg-proto/calibrateproto/fix.patch deleted file mode 100644 index ff8cb25cd..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/calibrateproto/fix.patch +++ /dev/null @@ -1,42 +0,0 @@ -Upstream-Status: Pending - -Add missing length fields to the replies. Without these, sanity checking in recent X -breaks things. - -RP 11/2/10 - - -Index: git/xcalibrateproto.h -=================================================================== ---- git.orig/xcalibrateproto.h 2010-02-11 11:47:45.711985932 +0000 -+++ git/xcalibrateproto.h 2010-02-11 11:40:21.000000000 +0000 -@@ -67,13 +67,13 @@ - BYTE type; /* X_Reply */ - BYTE pad1; - CARD16 sequenceNumber B16; -+ CARD32 length; - CARD32 status; - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; - CARD32 pad5 B32; - CARD32 pad6 B32; -- CARD32 pad7 B32; - } xXCalibrateRawModeReply; - - #define sz_xXCalibrateRawModeReply 32 -@@ -92,13 +92,13 @@ - BYTE type; /* X_Reply */ - BYTE pad1; - CARD16 sequenceNumber B16; -+ CARD32 length; - CARD32 x; - CARD32 y; - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; - CARD32 pad5 B32; -- CARD32 pad6 B32; - } xXCalibrateScreenToCoordReply; - - #define sz_xXCalibrateScreenToCoordReply 32 diff --git a/poky/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb b/poky/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb deleted file mode 100644 index eb4b4224c..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb +++ /dev/null @@ -1,21 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XCalibrate: Touchscreen calibration headers" - -DESCRIPTION = "This package provides the wire protocol for the \ -Touchscreen calibration extension." - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://xcalibratewire.h;endline=23;md5=7f86ef7b03cce6c4c9ebd59d20ca485f \ - file://xcalibrateproto.h;endline=23;md5=e4490491edcc171ca24f98569ee580db" - -SRCREV = "1da6fd1e2c7a49648245c98481fabea8b9690a8c" - -PV = "0.0+git${SRCPV}" -PR = "r2" - -SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/calibrateproto \ - file://fix.patch;apply=yes" -S = "${WORKDIR}/git" -UPSTREAM_CHECK_COMMITS = "1" - diff --git a/poky/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb b/poky/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb deleted file mode 100644 index adfee2630..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb +++ /dev/null @@ -1,21 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "Xcomposite: X composite extension headers" - -DESCRIPTION = "This package provides the wire protocol for the X \ -composite extension. The X composite extension provides three related \ -mechanisms for compositing and off-screen storage." - -LICENSE = "MIT & MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=2c4bfe136f4a4418ea2f2a96b7c8f3c5 \ - file://composite.h;endline=43;md5=cbd44d4079053aa75930ed2f02b92926" - -RCONFLICTS_${PN} = "compositeext" -BBCLASSEXTEND = "native" - -PR = "r1" -PE = "1" - -SRC_URI[md5sum] = "98482f65ba1e74a08bf5b056a4031ef0" -SRC_URI[sha256sum] = "049359f0be0b2b984a8149c966dd04e8c58e6eade2a4a309cf1126635ccd0cfc" - diff --git a/poky/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb b/poky/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb deleted file mode 100644 index 75d026810..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "Xdamage: X Damage extension headers" - -DESCRIPTION = "This package provides the wire protocol for the DAMAGE \ -extension. The DAMAGE extension allows applications to receive \ -information about changes made to pixel contents of windows and \ -pixmaps." - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=d5f5a2de65c3a84cbde769f07a769608 \ - file://damagewire.h;endline=23;md5=4a4501a592dbc7de5ce89255e50d0296" - -RCONFLICTS_${PN} = "damageext" -BBCLASSEXTEND = "native" -PR = "r1" -PE = "1" - -SRC_URI[md5sum] = "998e5904764b82642cc63d97b4ba9e95" -SRC_URI[sha256sum] = "5c7c112e9b9ea8a9d5b019e5f17d481ae20f766cb7a4648360e7c1b46fc9fc5b" diff --git a/poky/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb b/poky/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb deleted file mode 100644 index d960e5d4c..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb +++ /dev/null @@ -1,18 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "DMX: Distributed Multihead extension headers" - -DESCRIPTION = "This package provides the wire protocol for the DMX \ -extension. The DMX extension provides support for communication with \ -and control of Xdmx server. Attributes of the Xdmx server and of the \ -back-end screens attached to the server can be queried and modified via \ -this protocol." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=a3c3499231a8035efd0e004cfbd3b72a \ - file://dmxproto.h;endline=32;md5=ab8509955c3dd4c65fac728e1b367bc4" - -PE = "1" - -SRC_URI[md5sum] = "4ee175bbd44d05c34d43bb129be5098a" -SRC_URI[sha256sum] = "e72051e6a3e06b236d19eed56368117b745ca1e1a27bdc50fd51aa375bea6509" diff --git a/poky/meta/recipes-graphics/xorg-proto/dri2proto_2.8.bb b/poky/meta/recipes-graphics/xorg-proto/dri2proto_2.8.bb deleted file mode 100644 index f4c40c571..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/dri2proto_2.8.bb +++ /dev/null @@ -1,15 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "DRI2: Direct Rendering Infrastructure 2 headers" - -DESCRIPTION = "This package provides the wire protocol for the Direct \ -Rendering Ifnrastructure 2. DIR is required for may hardware \ -accelerated OpenGL drivers." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=2e396fa91834f8786032cad2da5638f3 \ - file://dri2proto.h;endline=31;md5=22f28bf68d01b533f26195e94b3ed8ca" - - -SRC_URI[md5sum] = "b2721d5d24c04d9980a0c6540cb5396a" -SRC_URI[sha256sum] = "f9b55476def44fc7c459b2537d17dbc731e36ed5d416af7ca0b1e2e676f8aa04" diff --git a/poky/meta/recipes-graphics/xorg-proto/dri3proto_1.0.bb b/poky/meta/recipes-graphics/xorg-proto/dri3proto_1.0.bb deleted file mode 100644 index bed97b3f4..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/dri3proto_1.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "Direct Rendering Infrastructure 3 Extension" - -DESCRIPTION = "The DRI3 extension provides mechanisms to translate between direct \ -rendered buffers and X pixmaps. When combined with the Present extension, \ -a complete direct rendering solution for OpenGL is provided." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://dri3proto.h;endline=21;md5=ac90d1d416be3cb13e1d3c88cd5166bf" - - -SRC_URI[md5sum] = "a3d2cbe60a9ca1bf3aea6c93c817fee3" -SRC_URI[sha256sum] = "01be49d70200518b9a6b297131f6cc71f4ea2de17436896af153226a774fc074" diff --git a/poky/meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb b/poky/meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb deleted file mode 100644 index 39fb88d84..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XFixes: X Fixes extension headers" - -DESCRIPTION = "This package provides the wire protocol for the X Fixes \ -extension. This extension is designed to provide server-side support \ -for application work arounds to shortcomings in the core X window \ -system." - - -LICENSE = "MIT & MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=262a7a87da56e66dd639bf7334a110c6 \ - file://xfixesproto.h;endline=43;md5=c3a9ee6db3532ed0d44dea266cfc97f4" - -RCONFLICTS_${PN} = "fixesext" -PR = "r1" -PE = "1" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "e7431ab84d37b2678af71e29355e101d" -SRC_URI[sha256sum] = "ba2f3f31246bdd3f2a0acf8bd3b09ba99cab965c7fb2c2c92b7dc72870e424ce" diff --git a/poky/meta/recipes-graphics/xorg-proto/fontsproto_2.1.3.bb b/poky/meta/recipes-graphics/xorg-proto/fontsproto_2.1.3.bb deleted file mode 100644 index 27fc28174..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/fontsproto_2.1.3.bb +++ /dev/null @@ -1,18 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XFont: X Font rasterisation headers" - -DESCRIPTION = "This package provides the wire protocol for the X Font \ -rasterisation extensions. These extensions are used to control \ -server-side font configurations." - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=c3e48aa9ce868c8e90f0401db41c11a2 \ - file://FSproto.h;endline=44;md5=d2e58e27095e5ea7d4ad456ccb91986c" - -PE = "1" - -BBCLASSEXTEND = "native" - -SRC_URI[md5sum] = "36934d00b00555eaacde9f091f392f97" -SRC_URI[sha256sum] = "259046b0dd9130825c4a4c479ba3591d6d0f17a33f54e294b56478729a6e5ab8" diff --git a/poky/meta/recipes-graphics/xorg-proto/glproto_1.4.17.bb b/poky/meta/recipes-graphics/xorg-proto/glproto_1.4.17.bb deleted file mode 100644 index eb03d33c2..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/glproto_1.4.17.bb +++ /dev/null @@ -1,18 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "OpenGL: X OpenGL extension headers" - -DESCRIPTION = "This package provides the wire protocol for the \ -OpenGL-related extensions, used to enable the rendering of applications \ -using OpenGL." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=d44ed0146997856304dfbb512a59a8de \ - file://glxproto.h;beginline=4;endline=32;md5=6b79c570f644363b356456e7d44471d9" - -PE = "1" - -BBCLASSEXTEND = "nativesdk" - -SRC_URI[md5sum] = "5565f1b0facf4a59c2778229c1f70d10" -SRC_URI[sha256sum] = "adaa94bded310a2bfcbb9deb4d751d965fcfe6fb3a2f6d242e2df2d6589dbe40" diff --git a/poky/meta/recipes-graphics/xorg-proto/inputproto_2.3.2.bb b/poky/meta/recipes-graphics/xorg-proto/inputproto_2.3.2.bb deleted file mode 100644 index eb5e66bd6..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/inputproto_2.3.2.bb +++ /dev/null @@ -1,22 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XI: X Input extension headers" - -DESCRIPTION = "This package provides the wire protocol for the X Input \ -extension. The extension supports input devices other then the core X \ -keyboard and pointer." - -LICENSE = "MIT & MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=e562cc0f6587b961f032211d8160f31e \ - file://XI2proto.h;endline=48;md5=1ac1581e61188da2885cc14ff49b20be" - -PE = "1" - -inherit gettext - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "b290a463af7def483e6e190de460f31a" -SRC_URI[sha256sum] = "893a6af55733262058a27b38eeb1edc733669f01d404e8581b167f03c03ef31d" - -EXTRA_OECONF += "--without-asciidoc" diff --git a/poky/meta/recipes-graphics/xorg-proto/kbproto_1.0.7.bb b/poky/meta/recipes-graphics/xorg-proto/kbproto_1.0.7.bb deleted file mode 100644 index 46f5c92b6..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/kbproto_1.0.7.bb +++ /dev/null @@ -1,18 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XKB: X Keyboard extension headers" - -DESCRIPTION = "This package provides the wire protocol for the X \ -Keyboard extension. This extension is used to control options related \ -to keyboard handling and layout." - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=7dd6ea99e2a83a552c02c80963623c38 \ - file://XKBproto.h;beginline=1;endline=25;md5=5744eeff407aeb6e7a1346eebab486a2" - -PE = "1" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "94afc90c1f7bef4a27fdd59ece39c878" -SRC_URI[sha256sum] = "f882210b76376e3fa006b11dbd890e56ec0942bc56e65d1249ff4af86f90b857" diff --git a/poky/meta/recipes-graphics/xorg-proto/presentproto_git.bb b/poky/meta/recipes-graphics/xorg-proto/presentproto_git.bb deleted file mode 100644 index e6d32f95a..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/presentproto_git.bb +++ /dev/null @@ -1,22 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "This package provides the basic headers for the X Window System" -DESCRIPTION = "The Present extension provides a way for applications to update their \ - window contents from a pixmap in a well defined fashion, synchronizing \ - with the display refresh and potentially using a more efficient \ - mechanism than copying the contents of the source pixmap.\ - " - -LICENSE = "GPLv2" - -SRCREV = "bfdc7e052302c79c5803ad95a73c9b63b350c40c" -PV = "1.1+git${SRCPV}" - -LIC_FILES_CHKSUM = "file://COPYING;md5=47e508ca280fde97906eacb77892c3ac" - -SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/presentproto" -S = "${WORKDIR}/git" - -inherit autotools - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/xorg-proto/randrproto_1.5.0.bb b/poky/meta/recipes-graphics/xorg-proto/randrproto_1.5.0.bb deleted file mode 100644 index b59e52513..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/randrproto_1.5.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XRandR: X Resize, Rotate and Reflect extension headers" - -DESCRIPTION = "This package provides the wire protocol for the X Resize, \ -Rotate and Reflect extension. This extension provides the ability to \ -resize, rotate and reflect the root window of a screen." - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=00426d41bd3d9267cf9bbb2df9323a5e \ - file://randrproto.h;endline=30;md5=3885957c6048fdf3310ac8ba54ca2c3f" - -RCONFLICTS_${PN} = "randrext" -PE = "1" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "a46765c8dcacb7114c821baf0df1e797" -SRC_URI[sha256sum] = "4c675533e79cd730997d232c8894b6692174dce58d3e207021b8f860be498468" diff --git a/poky/meta/recipes-graphics/xorg-proto/recordproto_1.14.2.bb b/poky/meta/recipes-graphics/xorg-proto/recordproto_1.14.2.bb deleted file mode 100644 index ad2317c26..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/recordproto_1.14.2.bb +++ /dev/null @@ -1,18 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XRecord: X Record extension headers" - -DESCRIPTION = "This package provides the wire protocol for the X Record \ -extension. This extension is used to record and play back event \ -sequences." - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=575827a0f554bbed332542976d5f3d40 \ - file://recordproto.h;endline=19;md5=1cbb0dd45a0b060ff833901620a3e738" - -RCONFLICTS_${PN} = "recordext" -PR = "r1" -PE = "1" - -SRC_URI[md5sum] = "1b4e5dede5ea51906f1530ca1e21d216" -SRC_URI[sha256sum] = "a777548d2e92aa259f1528de3c4a36d15e07a4650d0976573a8e2ff5437e7370" diff --git a/poky/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb b/poky/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb deleted file mode 100644 index ff800ec83..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XRender: X rendering Extension headers" - -DESCRIPTION = "This package provides the wire protocol for the X \ -Rendering extension. This is the basis the image composition within the \ -X window system." - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=f826d99765196352e6122a406cf0d024 \ - file://renderproto.h;beginline=4;endline=24;md5=3e5e2851dad240b0a3a27c4776b4fd1f" - -RCONFLICTS_${PN} = "renderext" -PR = "r1" -PE = "1" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "a914ccc1de66ddeb4b611c6b0686e274" -SRC_URI[sha256sum] = "06735a5b92b20759204e4751ecd6064a2ad8a6246bb65b3078b862a00def2537" - diff --git a/poky/meta/recipes-graphics/xorg-proto/resourceproto_1.2.0.bb b/poky/meta/recipes-graphics/xorg-proto/resourceproto_1.2.0.bb deleted file mode 100644 index 08b610aea..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/resourceproto_1.2.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XRes: X Resource extension headers" - -DESCRIPTION = "This package provides the wire protocol for the X \ -Resource extension. XRes provides an interface that allows X clients to \ -see and monitor X resource usage of various clients." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=604859305e662503077240fee8c77d97" - -RCONFLICTS_${PN} = "resourceext" - -PR = "r1" -PE = "1" - -SRC_URI[md5sum] = "cfdb57dae221b71b2703f8e2980eaaf4" -SRC_URI[sha256sum] = "3c66003a6bdeb0f70932a9ed3cf57cc554234154378d301e0c5cfa189d8f6818" - diff --git a/poky/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.2.bb b/poky/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.2.bb deleted file mode 100644 index ab07f518c..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.2.bb +++ /dev/null @@ -1,19 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "Xscrnsaver: X Screen Saver extension headers" - -DESCRIPTION = "This package provides the wire protocol for the X Screen \ -Saver extension. This extension allows an external \"screen saver\" \ -client to detect when the alternative image is to be displayed and to \ -provide the graphics." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=eed49b78b15b436c933b6b8b054e3901 \ - file://saverproto.h;endline=26;md5=a84c0637305159f3c0ab173aaeede48d" - -PE = "1" - -EXTRA_OECONF_append = " --enable-specs=no" - -SRC_URI[md5sum] = "edd8a73775e8ece1d69515dd17767bfb" -SRC_URI[sha256sum] = "8bb70a8da164930cceaeb4c74180291660533ad3cc45377b30a795d1b85bcd65" diff --git a/poky/meta/recipes-graphics/xorg-proto/videoproto_2.3.3.bb b/poky/meta/recipes-graphics/xorg-proto/videoproto_2.3.3.bb deleted file mode 100644 index 6f97a2653..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/videoproto_2.3.3.bb +++ /dev/null @@ -1,14 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "Xv: X Video extension headers" - -DESCRIPTION = "This package provides the wire protocol for the X Video \ -extension. This extension alows for accerlated drawing of videos." - -LICENSE = "MIT & MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=ce3472a119a864085fa4155cb0979a7b" - -PE = "1" - -SRC_URI[md5sum] = "fe86de8ea3eb53b5a8f52956c5cd3174" -SRC_URI[sha256sum] = "c7803889fd08e6fcaf7b68cc394fb038b2325d1f315e571a6954577e07cca702" diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Make-whitespace-use-consistent.patch b/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Make-whitespace-use-consistent.patch deleted file mode 100644 index 89ec66618..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0001-Make-whitespace-use-consistent.patch +++ /dev/null @@ -1,215 +0,0 @@ -From ea7a3ac6c658164690e0febb55f4467cb9e0bcac Mon Sep 17 00:00:00 2001 -From: Thomas Klausner <wiz@NetBSD.org> -Date: Thu, 19 May 2016 17:30:04 +0200 -Subject: [PATCH 1/2] Make whitespace use consistent. - -At least python-3.5.x complains about this forcefully. - -Signed-off-by: Thomas Klausner <wiz@NetBSD.org> -Signed-off-by: Uli Schlachter <psychon@znc.in> - -Upstream-Status: Backport - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - xcbgen/align.py | 96 ++++++++++++++++++++++++++++----------------------------- - 1 file changed, 48 insertions(+), 48 deletions(-) - -diff --git a/xcbgen/align.py b/xcbgen/align.py -index 5e31838..d4c12ee 100644 ---- a/xcbgen/align.py -+++ b/xcbgen/align.py -@@ -16,12 +16,12 @@ class Alignment(object): - return self.align == other.align and self.offset == other.offset - - def __str__(self): -- return "(align=%d, offset=%d)" % (self.align, self.offset) -+ return "(align=%d, offset=%d)" % (self.align, self.offset) - - @staticmethod - def for_primitive_type(size): -- # compute the required start_alignment based on the size of the type -- if size % 8 == 0: -+ # compute the required start_alignment based on the size of the type -+ if size % 8 == 0: - # do 8-byte primitives require 8-byte alignment in X11? - return Alignment(8,0) - elif size % 4 == 0: -@@ -33,7 +33,7 @@ class Alignment(object): - - - def align_after_fixed_size(self, size): -- new_offset = (self.offset + size) % self.align -+ new_offset = (self.offset + size) % self.align - return Alignment(self.align, new_offset) - - -@@ -41,7 +41,7 @@ class Alignment(object): - ''' - Assuming the given external_align, checks whether - self is fulfilled for all cases. -- Returns True if yes, False otherwise. -+ Returns True if yes, False otherwise. - ''' - if self.align == 1 and self.offset == 0: - # alignment 1 with offset 0 is always fulfilled -@@ -55,9 +55,9 @@ class Alignment(object): - # the external align guarantees less alignment -> not guaranteed - return False - -- if external_align.align % self.align != 0: -+ if external_align.align % self.align != 0: - # the external align cannot be divided by our align -- # -> not guaranteed -+ # -> not guaranteed - # (this can only happen if there are alignments that are not - # a power of 2, which is highly discouraged. But better be - # safe and check for it) -@@ -72,7 +72,7 @@ class Alignment(object): - - def combine_with(self, other): - # returns the alignment that is guaranteed when -- # both, self or other, can happen -+ # both, self or other, can happen - new_align = gcd(self.align, other.align) - new_offset_candidate1 = self.offset % new_align - new_offset_candidate2 = other.offset % new_align -@@ -83,8 +83,8 @@ class Alignment(object): - new_align = gcd(new_align, offset_diff) - new_offset_candidate1 = self.offset % new_align - new_offset_candidate2 = other.offset % new_align -- assert new_offset_candidate1 == new_offset_candidate2 -- new_offset = new_offset_candidate1 -+ assert new_offset_candidate1 == new_offset_candidate2 -+ new_offset = new_offset_candidate1 - # return the result - return Alignment(new_align, new_offset) - -@@ -92,44 +92,44 @@ class Alignment(object): - class AlignmentLog(object): - - def __init__(self): -- self.ok_list = [] -- self.fail_list = [] -- self.verbosity = 1 -+ self.ok_list = [] -+ self.fail_list = [] -+ self.verbosity = 1 - - def __str__(self): -- result = "" -+ result = "" - -- # output the OK-list -- for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list: -- stacksize = len(callstack) -+ # output the OK-list -+ for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list: -+ stacksize = len(callstack) - indent = ' ' * stacksize -- if self.ok_callstack_is_relevant(callstack): -+ if self.ok_callstack_is_relevant(callstack): - if field_name is None or field_name == "": -- result += (" %sok: %s:\n\t%sbefore: %s, after: %s\n" -- % (indent, str(type_obj), indent, str(align_before), str(align_after))) -- else: -- result += (" %sok: field \"%s\" in %s:\n\t%sbefore: %s, after: %s\n" -- % (indent, str(field_name), str(type_obj), -- indent, str(align_before), str(align_after))) -+ result += (" %sok: %s:\n\t%sbefore: %s, after: %s\n" -+ % (indent, str(type_obj), indent, str(align_before), str(align_after))) -+ else: -+ result += (" %sok: field \"%s\" in %s:\n\t%sbefore: %s, after: %s\n" -+ % (indent, str(field_name), str(type_obj), -+ indent, str(align_before), str(align_after))) - if self.verbosity >= 1: -- result += self.callstack_to_str(indent, callstack) -+ result += self.callstack_to_str(indent, callstack) - -- # output the fail-list -- for (align_before, field_name, type_obj, callstack, reason) in self.fail_list: -- stacksize = len(callstack) -+ # output the fail-list -+ for (align_before, field_name, type_obj, callstack, reason) in self.fail_list: -+ stacksize = len(callstack) - indent = ' ' * stacksize -- if field_name is None or field_name == "": -- result += (" %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n" -- % (indent, str(align_before), indent, str(type_obj), indent, reason)) -- else: -- result += (" %sfail: align %s is incompatible with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n" -- % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason)) -+ if field_name is None or field_name == "": -+ result += (" %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n" -+ % (indent, str(align_before), indent, str(type_obj), indent, reason)) -+ else: -+ result += (" %sfail: align %s is incompatible with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n" -+ % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason)) - - if self.verbosity >= 1: -- result += self.callstack_to_str(indent, callstack) -+ result += self.callstack_to_str(indent, callstack) - - -- return result -+ return result - - - def callstack_to_str(self, indent, callstack): -@@ -137,41 +137,41 @@ class AlignmentLog(object): - for stack_elem in callstack: - result += "\t %s%s\n" % (indent, str(stack_elem)) - result += "\t%s]\n" % indent -- return result -+ return result - - - def ok_callstack_is_relevant(self, ok_callstack): - # determine whether an ok callstack is relevant for logging -- if self.verbosity >= 2: -- return True -+ if self.verbosity >= 2: -+ return True - - # empty callstacks are always relevant -- if len(ok_callstack) == 0: -+ if len(ok_callstack) == 0: - return True - -- # check whether the ok_callstack is a subset or equal to a fail_callstack -+ # check whether the ok_callstack is a subset or equal to a fail_callstack - for (align_before, field_name, type_obj, fail_callstack, reason) in self.fail_list: - if len(ok_callstack) <= len(fail_callstack): - zipped = zip(ok_callstack, fail_callstack[:len(ok_callstack)]) -- is_subset = all([i == j for i, j in zipped]) -- if is_subset: -+ is_subset = all([i == j for i, j in zipped]) -+ if is_subset: - return True - - return False - - - def ok(self, align_before, field_name, type_obj, callstack, align_after): -- self.ok_list.append((align_before, field_name, type_obj, callstack, align_after)) -+ self.ok_list.append((align_before, field_name, type_obj, callstack, align_after)) - - def fail(self, align_before, field_name, type_obj, callstack, reason): -- self.fail_list.append((align_before, field_name, type_obj, callstack, reason)) -+ self.fail_list.append((align_before, field_name, type_obj, callstack, reason)) - - def append(self, other): -- self.ok_list.extend(other.ok_list) -- self.fail_list.extend(other.fail_list) -+ self.ok_list.extend(other.ok_list) -+ self.fail_list.extend(other.fail_list) - - def ok_count(self): -- return len(self.ok_list) -+ return len(self.ok_list) - - - --- -2.9.0 - diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0002-print-is-a-function-and-needs-parentheses.patch b/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0002-print-is-a-function-and-needs-parentheses.patch deleted file mode 100644 index 542acb82b..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xcb-proto/0002-print-is-a-function-and-needs-parentheses.patch +++ /dev/null @@ -1,75 +0,0 @@ -From bea5e1c85bdc0950913790364e18228f20395a3d Mon Sep 17 00:00:00 2001 -From: Thomas Klausner <wiz@NetBSD.org> -Date: Thu, 19 May 2016 17:30:05 +0200 -Subject: [PATCH 2/2] print() is a function and needs parentheses. - -Fixes build with python-3.x. - -Signed-off-by: Thomas Klausner <wiz@NetBSD.org> -Signed-off-by: Uli Schlachter <psychon@znc.in> - -Upstream-Status: Backport - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - xcbgen/xtypes.py | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py -index c3b5758..b83b119 100644 ---- a/xcbgen/xtypes.py -+++ b/xcbgen/xtypes.py -@@ -501,7 +501,7 @@ class ComplexType(Type): - int(required_start_align_element.get('align', "4"), 0), - int(required_start_align_element.get('offset', "0"), 0)) - if verbose_align_log: -- print "Explicit start-align for %s: %s\n" % (self, self.required_start_align) -+ print ("Explicit start-align for %s: %s\n" % (self, self.required_start_align)) - - def resolve(self, module): - if self.resolved: -@@ -592,7 +592,7 @@ class ComplexType(Type): - if verbose_align_log: - print ("calc_required_start_align: %s has start-align %s" - % (str(self), str(self.required_start_align))) -- print "Details:\n" + str(log) -+ print ("Details:\n" + str(log)) - if self.required_start_align.offset != 0: - print (("WARNING: %s\n\thas start-align with non-zero offset: %s" - + "\n\tsuggest to add explicit definition with:" -@@ -619,12 +619,12 @@ class ComplexType(Type): - for offset in range(0,align): - align_candidate = Alignment(align, offset) - if verbose_align_log: -- print "trying %s for %s" % (str(align_candidate), str(self)) -+ print ("trying %s for %s" % (str(align_candidate), str(self))) - my_log = AlignmentLog() - if self.is_possible_start_align(align_candidate, callstack, my_log): - log.append(my_log) - if verbose_align_log: -- print "found start-align %s for %s" % (str(align_candidate), str(self)) -+ print ("found start-align %s for %s" % (str(align_candidate), str(self))) - return align_candidate - else: - my_ok_count = my_log.ok_count() -@@ -641,7 +641,7 @@ class ComplexType(Type): - # none of the candidates applies - # this type has illegal internal aligns for all possible start_aligns - if verbose_align_log: -- print "didn't find start-align for %s" % str(self) -+ print ("didn't find start-align for %s" % str(self)) - log.append(best_log) - return None - -@@ -900,7 +900,7 @@ class SwitchType(ComplexType): - # aux function for unchecked_get_alignment_after - def get_align_for_selected_case_field(self, case_field, start_align, callstack, log): - if verbose_align_log: -- print "get_align_for_selected_case_field: %s, case_field = %s" % (str(self), str(case_field)) -+ print ("get_align_for_selected_case_field: %s, case_field = %s" % (str(self), str(case_field))) - total_align = start_align - for field in self.bitcases: - my_callstack = callstack[:] --- -2.9.0 - diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.12.bb b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.13.bb index 25a8373e0..d5037868d 100644 --- a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.12.bb +++ b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.13.bb @@ -11,12 +11,10 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \ file://src/dri2.xml;beginline=2;endline=28;md5=f8763b13ff432e8597e0d610cf598e65" -SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.bz2 \ - file://0001-Make-whitespace-use-consistent.patch \ - file://0002-print-is-a-function-and-needs-parentheses.patch \ - " -SRC_URI[md5sum] = "14e60919f859560f28426a685a555962" -SRC_URI[sha256sum] = "5922aba4c664ab7899a29d92ea91a87aa4c1fc7eb5ee550325c3216c480a4906" +SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.bz2" + +SRC_URI[md5sum] = "abe9aa4886138150bbc04ae4f29b90e3" +SRC_URI[sha256sum] = "7b98721e669be80284e9bbfeab02d2d0d54cd11172b72271e47a2fe875e2bde1" inherit autotools pkgconfig diff --git a/poky/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.2.bb b/poky/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.2.bb deleted file mode 100644 index 0751b94c9..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XC-MISC: X XC-Miscellaneous extension headers" - -DESCRIPTION = "This package provides the wire protocol for the XC-MISC \ -extension, which is used to get details of XID allocations within the \ -server." - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=09d83047c15994e05db29b423ed6662e" - -PE = "1" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "5f4847c78e41b801982c8a5e06365b24" -SRC_URI[sha256sum] = "b13236869372256c36db79ae39d54214172677fb79e9cdc555dceec80bd9d2df" diff --git a/poky/meta/recipes-graphics/xorg-proto/xextproto_7.3.0.bb b/poky/meta/recipes-graphics/xorg-proto/xextproto_7.3.0.bb deleted file mode 100644 index dd0bd951b..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xextproto_7.3.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XExt: X Extension headers" - -DESCRIPTION = "This package provides the wire protocol for several X \ -extensions. These protocol extensions include DOUBLE-BUFFER, DPMS, \ -Extended-Visual-Information, LBX, MIT_SHM, MIT_SUNDRY-NONSTANDARD, \ -Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, XC-APPGROUP, XC-MISC, \ -XTEST. In addition a small set of utility functions are also \ -available." - -LICENSE = "MIT & MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=86f273291759d0ba2a22585cd1c06c53" - -PE = "1" - -inherit gettext - -EXTRA_OECONF_append = " --enable-specs=no" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "70c90f313b4b0851758ef77b95019584" -SRC_URI[sha256sum] = "f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0" diff --git a/poky/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb b/poky/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb deleted file mode 100644 index 86f3ce328..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb +++ /dev/null @@ -1,18 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XFree86-DGA: XFree86 Direct Graphics Access extension headers" - -DESCRIPTION = "This package provides the wire protocol for the XFree86 \ -Direct Graphics Access extension. This extension allows direct graphics \ -access to a framebuffer-like region, as well as relative mouse \ -reporting." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6" - -RCONFLICTS_${PN} = "xxf86dgaext" -PR = "r2" -PE = "1" - -SRC_URI[md5sum] = "a036dc2fcbf052ec10621fd48b68dbb1" -SRC_URI[sha256sum] = "ac5ef65108e1f2146286e53080975683dae49fc94680042e04bd1e2010e99050" diff --git a/poky/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb b/poky/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb deleted file mode 100644 index b3f9210cc..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XFree86-DRI: XFree86 Direct Rendering Infrastructure extension headers" - -DESCRIPTION = "This package provides the wire protocol for the XFree86 \ -Direct Rendering Infrastructure extension. The XFree86-DRI extension is \ -used to organize direct rendering support or 3D clients and help \ -arbitrate requests." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=ef103b9d951e39ff7e23d386e2011fa3 \ - file://xf86driproto.h;endline=35;md5=42be3d8e6d429ab79172572bb0cff544" - -PE = "1" - -SRC_URI[md5sum] = "1d716d0dac3b664e5ee20c69d34bc10e" -SRC_URI[sha256sum] = "9c4b8d7221cb6dc4309269ccc008a22753698ae9245a398a59df35f1404d661f" diff --git a/poky/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb b/poky/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb deleted file mode 100644 index d4663ea88..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb +++ /dev/null @@ -1,17 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XFree86-Misc: XFree86 miscellaneous extension headers" - -DESCRIPTION = "This package provides the wire protocol for the XFree \ -miscellaneous extension. The XFree86-Misc extension provides a means to \ -access input device configuration settings specific to the XFree86/Xorg \ -DDX." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6" - -PR = "r1" -PE = "1" - -SRC_URI[md5sum] = "ca63bbb31cf5b7f37b2237e923ff257a" -SRC_URI[sha256sum] = "45b8ec6a4a8ca21066dce117e09dcc88539862e616e60fb391de05b36f63b095" diff --git a/poky/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb b/poky/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb deleted file mode 100644 index 0f31900a9..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb +++ /dev/null @@ -1,18 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XFree86-VM: XFree86 video mode extension headers" - -DESCRIPTION = "This package provides the wire protocol for the XFree86 \ -video mode extension. This extension allows client applications to get \ -and set video mode timings." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=499be2ff387a42f84628c35f311f1502" - -RCONFLICTS_${PN} = "xxf86vmext" - -PR = "r1" -PE = "1" - -SRC_URI[md5sum] = "e793ecefeaecfeabd1aed6a01095174e" -SRC_URI[sha256sum] = "45d9499aa7b73203fd6b3505b0259624afed5c16b941bd04fcf123e5de698770" diff --git a/poky/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb b/poky/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb deleted file mode 100644 index dde7e9db7..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "Xinerama: Xinerama extension headers" - -DESCRIPTION = "This package provides the wire protocol for the Xinerama \ -extension. This extension is used for retrieving information about \ -physical output devices which may be combined into a single logical X \ -screen." - -LICENSE = "MIT & MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=3e397a5326c83d5d0ebf5b3f87163ac6 \ - file://panoramiXproto.h;endline=24;md5=098e0bc089368a988092b3cbda617a57" - -PE = "1" - -SRC_URI[md5sum] = "9959fe0bfb22a0e7260433b8d199590a" -SRC_URI[sha256sum] = "977574bb3dc192ecd9c55f59f991ec1dff340be3e31392c95deff423da52485b" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch b/poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch new file mode 100644 index 000000000..48296f784 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch @@ -0,0 +1,468 @@ +Upstream-Status: Submitted + +https://cgit.freedesktop.org/xorg/proto/xorgproto/commit/?id=91c1c8e1490c970379efb16784003426faec806e + +From 6feb974e0deb3355908c30e07293d82a3f6996ed Mon Sep 17 00:00:00 2001 +From: Jeremy Puhlman <jpuhlman@mvista.com> +Date: Mon, 11 Jun 2018 16:42:43 +0000 +Subject: [PATCH] Remove libdir specification. + +Currently the pc files define libdir, however they are installed into +/usr/share, which means they should be architecture agnostic. In a +multilib system, xorg-proto built for each multilib abi, the value of +libdir is going to be different. These should either be installed in +<libdir>/pkgconfig or they shouldn't define libdir, espeically since +they don't actually use the definition. This specifically causes an +issue when trying to install both abis at the same time, since they are +not binary identical, something like rpm will complain that they + +--- + applewmproto.pc.in | 1 - + bigreqsproto.pc.in | 1 - + compositeproto.pc.in | 1 - + damageproto.pc.in | 1 - + dmxproto.pc.in | 1 - + dri2proto.pc.in | 1 - + dri3proto.pc.in | 1 - + evieproto.pc.in | 1 - + fixesproto.pc.in | 1 - + fontcacheproto.pc.in | 1 - + fontsproto.pc.in | 1 - + glproto.pc.in | 1 - + inputproto.pc.in | 1 - + kbproto.pc.in | 1 - + lg3dproto.pc.in | 1 - + presentproto.pc.in | 1 - + printproto.pc.in | 1 - + randrproto.pc.in | 1 - + recordproto.pc.in | 1 - + renderproto.pc.in | 1 - + resourceproto.pc.in | 1 - + scrnsaverproto.pc.in | 1 - + trapproto.pc.in | 1 - + videoproto.pc.in | 1 - + windowswmproto.pc.in | 1 - + xcalibrateproto.pc.in | 1 - + xcmiscproto.pc.in | 1 - + xextproto.pc.in | 1 - + xf86bigfontproto.pc.in | 1 - + xf86dgaproto.pc.in | 1 - + xf86driproto.pc.in | 1 - + xf86miscproto.pc.in | 1 - + xf86rushproto.pc.in | 1 - + xf86vidmodeproto.pc.in | 1 - + xineramaproto.pc.in | 1 - + xproto.pc.in | 1 - + xproxymngproto.pc.in | 1 - + 37 files changed, 37 deletions(-) + +diff --git a/applewmproto.pc.in b/applewmproto.pc.in +index 17841ac..3227b21 100644 +--- a/applewmproto.pc.in ++++ b/applewmproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: AppleWMProto +diff --git a/bigreqsproto.pc.in b/bigreqsproto.pc.in +index 94577ed..e21bb59 100644 +--- a/bigreqsproto.pc.in ++++ b/bigreqsproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: BigReqsProto +diff --git a/compositeproto.pc.in b/compositeproto.pc.in +index da429c7..b0dada1 100644 +--- a/compositeproto.pc.in ++++ b/compositeproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: CompositeExt +diff --git a/damageproto.pc.in b/damageproto.pc.in +index 6fd9ef1..bfd5244 100644 +--- a/damageproto.pc.in ++++ b/damageproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: DamageProto +diff --git a/dmxproto.pc.in b/dmxproto.pc.in +index e82ee7d..d140e1c 100644 +--- a/dmxproto.pc.in ++++ b/dmxproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: DMXProto +diff --git a/dri2proto.pc.in b/dri2proto.pc.in +index cb5b171..fa9d24d 100644 +--- a/dri2proto.pc.in ++++ b/dri2proto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: DRI2Proto +diff --git a/dri3proto.pc.in b/dri3proto.pc.in +index e42d60e..20da358 100644 +--- a/dri3proto.pc.in ++++ b/dri3proto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: DRI3Proto +diff --git a/evieproto.pc.in b/evieproto.pc.in +index 64e0ec4..fd5442b 100644 +--- a/evieproto.pc.in ++++ b/evieproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: EvIEExt +diff --git a/fixesproto.pc.in b/fixesproto.pc.in +index f8258e2..c7fcb81 100644 +--- a/fixesproto.pc.in ++++ b/fixesproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: FixesProto +diff --git a/fontcacheproto.pc.in b/fontcacheproto.pc.in +index eb4238b..8ffffe9 100644 +--- a/fontcacheproto.pc.in ++++ b/fontcacheproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: FontcacheProto +diff --git a/fontsproto.pc.in b/fontsproto.pc.in +index 9d22354..ebb61a4 100644 +--- a/fontsproto.pc.in ++++ b/fontsproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: FontsProto +diff --git a/glproto.pc.in b/glproto.pc.in +index b951db5..e97bfc9 100644 +--- a/glproto.pc.in ++++ b/glproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: GLProto +diff --git a/inputproto.pc.in b/inputproto.pc.in +index 1eb6619..270b95c 100644 +--- a/inputproto.pc.in ++++ b/inputproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: InputProto +diff --git a/kbproto.pc.in b/kbproto.pc.in +index bdd39f1..32a172d 100644 +--- a/kbproto.pc.in ++++ b/kbproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: KBProto +diff --git a/lg3dproto.pc.in b/lg3dproto.pc.in +index 3930ad7..43fba29 100644 +--- a/lg3dproto.pc.in ++++ b/lg3dproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: Lg3dProto +diff --git a/presentproto.pc.in b/presentproto.pc.in +index 6ec4b7d..55b84dc 100644 +--- a/presentproto.pc.in ++++ b/presentproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: PresentProto +diff --git a/printproto.pc.in b/printproto.pc.in +index 8a2e2d6..a2da66d 100644 +--- a/printproto.pc.in ++++ b/printproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: PrintProto +diff --git a/randrproto.pc.in b/randrproto.pc.in +index 5a5edb2..6d60cbb 100644 +--- a/randrproto.pc.in ++++ b/randrproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: RandrProto +diff --git a/recordproto.pc.in b/recordproto.pc.in +index 0ff4c0b..a87aa82 100644 +--- a/recordproto.pc.in ++++ b/recordproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: RecordProto +diff --git a/renderproto.pc.in b/renderproto.pc.in +index e6028ac..34b15e0 100644 +--- a/renderproto.pc.in ++++ b/renderproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: RenderProto +diff --git a/resourceproto.pc.in b/resourceproto.pc.in +index a409db9..f927cbb 100644 +--- a/resourceproto.pc.in ++++ b/resourceproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: ResourceProto +diff --git a/scrnsaverproto.pc.in b/scrnsaverproto.pc.in +index 6556a2c..fd9d368 100644 +--- a/scrnsaverproto.pc.in ++++ b/scrnsaverproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: ScrnSaverProto +diff --git a/trapproto.pc.in b/trapproto.pc.in +index 8cb0aa8..8a220b9 100644 +--- a/trapproto.pc.in ++++ b/trapproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: TrapProto +diff --git a/videoproto.pc.in b/videoproto.pc.in +index 14b907a..5c22f7a 100644 +--- a/videoproto.pc.in ++++ b/videoproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: VideoProto +diff --git a/windowswmproto.pc.in b/windowswmproto.pc.in +index 0a2ec0b..ec56e82 100644 +--- a/windowswmproto.pc.in ++++ b/windowswmproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: WindowsWMProto +diff --git a/xcalibrateproto.pc.in b/xcalibrateproto.pc.in +index 40b6fd0..f1ea5de 100644 +--- a/xcalibrateproto.pc.in ++++ b/xcalibrateproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XCalibrate +diff --git a/xcmiscproto.pc.in b/xcmiscproto.pc.in +index 0dfbf21..b72bbc6 100644 +--- a/xcmiscproto.pc.in ++++ b/xcmiscproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XCMiscProto +diff --git a/xextproto.pc.in b/xextproto.pc.in +index f66eeae..9419c91 100644 +--- a/xextproto.pc.in ++++ b/xextproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XExtProto +diff --git a/xf86bigfontproto.pc.in b/xf86bigfontproto.pc.in +index 18c5647..4a67be6 100644 +--- a/xf86bigfontproto.pc.in ++++ b/xf86bigfontproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XF86BigFontProto +diff --git a/xf86dgaproto.pc.in b/xf86dgaproto.pc.in +index 5c5f8b1..e029cd4 100644 +--- a/xf86dgaproto.pc.in ++++ b/xf86dgaproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XF86DGAProto +diff --git a/xf86driproto.pc.in b/xf86driproto.pc.in +index 93df292..c8faf14 100644 +--- a/xf86driproto.pc.in ++++ b/xf86driproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XF86DRIProto +diff --git a/xf86miscproto.pc.in b/xf86miscproto.pc.in +index af73fa3..05d5d9e 100644 +--- a/xf86miscproto.pc.in ++++ b/xf86miscproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XF86MiscProto +diff --git a/xf86rushproto.pc.in b/xf86rushproto.pc.in +index fc5f63b..1c7ff1b 100644 +--- a/xf86rushproto.pc.in ++++ b/xf86rushproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XF86RushProto +diff --git a/xf86vidmodeproto.pc.in b/xf86vidmodeproto.pc.in +index fcb74f2..ef062b3 100644 +--- a/xf86vidmodeproto.pc.in ++++ b/xf86vidmodeproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XF86VidModeProto +diff --git a/xineramaproto.pc.in b/xineramaproto.pc.in +index 1ffd37d..9172f1e 100644 +--- a/xineramaproto.pc.in ++++ b/xineramaproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XineramaProto +diff --git a/xproto.pc.in b/xproto.pc.in +index 8ff2d3d..899316a 100644 +--- a/xproto.pc.in ++++ b/xproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + includex11dir=@includedir@/X11 + +diff --git a/xproxymngproto.pc.in b/xproxymngproto.pc.in +index 5c6fad6..1a81e28 100644 +--- a/xproxymngproto.pc.in ++++ b/xproxymngproto.pc.in +@@ -1,6 +1,5 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + Name: XProxyManagementProtocol +-- +2.11.1 + diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb new file mode 100644 index 000000000..cec6e8755 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb @@ -0,0 +1,16 @@ +require xorg-proto-common.inc + +SUMMARY = "XCalibrate: Touchscreen calibration headers" + +DESCRIPTION = "This package provides the headers and specification documents defining \ +the core protocol and (many) extensions for the X Window System" + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=b9e051107d5628966739a0b2e9b32676" + +SRC_URI += "file://0001-Remove-libdir-specification.patch" + +SRC_URI[md5sum] = "81557ca47ee66a4e54590fcdadd28114" +SRC_URI[sha256sum] = "fee885e0512899ea5280c593fdb2735beb1693ad170c22ebcc844470eec415a0" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch b/poky/meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch deleted file mode 100644 index 4f9ed99c9..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch +++ /dev/null @@ -1,24 +0,0 @@ -Upstream-Status: Pending - -Don't always define LONG64 for AMD64 - -X32 defines __amd64__/amd64 with 32bit long. We should simply check -__LP64__ before defining LONG64 without checking __amd64__/amd64. - -This fixes compilation with x32 toolchain. - -Received this patch from H.J. Lu <hjl.tools@gmail.com> -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/1 - -Index: xproto-7.0.31/Xmd.h -=================================================================== ---- xproto-7.0.31.orig/Xmd.h -+++ xproto-7.0.31/Xmd.h -@@ -62,7 +62,6 @@ SOFTWARE. - defined(__ia64__) || defined(ia64) || \ - defined(__sparc64__) || \ - defined(__s390x__) || \ -- defined(__amd64__) || defined(amd64) || \ - defined(__powerpc64__) - # if !defined(__ILP32__) /* amd64-x32 is 32bit */ - # define LONG64 /* 32/64-bit architecture */ diff --git a/poky/meta/recipes-graphics/xorg-proto/xproto_7.0.31.bb b/poky/meta/recipes-graphics/xorg-proto/xproto_7.0.31.bb deleted file mode 100644 index febcc6792..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xproto_7.0.31.bb +++ /dev/null @@ -1,19 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "Xlib: C Language X interface headers" - -DESCRIPTION = "This package provides the basic headers for the X Window \ -System." - -LICENSE = "MIT & MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=b9e051107d5628966739a0b2e9b32676" - -PE = "1" - -SRC_URI += "file://xproto_fix_for_x32.patch" - -EXTRA_OECONF_append = " --enable-specs=no" -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "16791f7ca8c51a20608af11702e51083" -SRC_URI[sha256sum] = "c6f9747da0bd3a95f86b17fb8dd5e717c8f3ab7f0ece3ba1b247899ec1ef7747" diff --git a/poky/meta/recipes-graphics/xorg-util/gccmakedep_1.0.3.bb b/poky/meta/recipes-graphics/xorg-util/gccmakedep_1.0.3.bb deleted file mode 100644 index be3a66744..000000000 --- a/poky/meta/recipes-graphics/xorg-util/gccmakedep_1.0.3.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Program to create dependencies in makefiles" - -DESCRIPTION = "The gccmakedep program calls 'gcc -M' to output makefile \ -rules describing the dependencies of each sourcefile, so that make knows \ -which object files must be recompiled when a dependency has changed." - -require xorg-util-common.inc -LIC_FILES_CHKSUM = "file://Makefile.am;endline=20;md5=23c277396d690413245ebb89b18c5d4d" -DESCRIPTION = "create dependencies in makefiles using 'gcc -M'" -DEPENDS = "util-macros" -RDEPENDS_${PN} = "gcc" - -PR = "r3" -PE = "1" - -SRC_URI[md5sum] = "127ddb6131eb4a56fdf6644a63ade788" -SRC_URI[sha256sum] = "f9e2e7a590e27f84b6708ab7a81e546399b949bf652fb9b95193e0e543e6a548" - -do_install_append() { - sed -i "s,--sysroot=${STAGING_DIR_TARGET},," ${D}${bindir}/gccmakedep -} diff --git a/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb b/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb index 84a967a81..727ab5496 100644 --- a/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb +++ b/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb @@ -10,7 +10,7 @@ directives would be used in a compilation. Any #include, directives \ can reference files having other #include directives, and parsing will \ occur in these files as well." -DEPENDS = "xproto util-macros" +DEPENDS = "xorgproto util-macros" PE = "1" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-graphics/xorg-util/util-macros_1.19.1.bb b/poky/meta/recipes-graphics/xorg-util/util-macros_1.19.2.bb index b39d78756..268059935 100644 --- a/poky/meta/recipes-graphics/xorg-util/util-macros_1.19.1.bb +++ b/poky/meta/recipes-graphics/xorg-util/util-macros_1.19.2.bb @@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1970511fddd439b07a6ba789d28ff662" PE = "1" -SRC_URI[md5sum] = "3f8a8e6100556f7f28e469809805dee8" -SRC_URI[sha256sum] = "472ad0e41d1e0abf5ecafd29460bf1b8d47e53d4b7d3abf1f66d02dc576547b8" +SRC_URI[md5sum] = "5059b328fac086b733ffac6607164c41" +SRC_URI[sha256sum] = "9225c45c3de60faf971979a55a5536f3562baa4b6f02246c23e98ac0c09a75b7" # ${PN} is empty so we need to tweak -dev and -dbg package dependencies RDEPENDS_${PN}-dev = "" diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf index f4cd139e8..03b94dc3a 100644 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf @@ -26,6 +26,7 @@ Section "Screen" Identifier "Default Screen" Device "Graphics Controller" Monitor "Generic Monitor" + DefaultDepth 16 SubSection "Display" Modes "640x480" EndSubSection diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc index cf2286c65..489a42850 100644 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -17,7 +17,6 @@ INC_PR = "r8" XORG_PN = "xorg-server" SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2" -SRC_URI += "file://macro_tweak.patch" S = "${WORKDIR}/${XORG_PN}-${PV}" @@ -26,7 +25,7 @@ inherit autotools pkgconfig inherit distro_features_check REQUIRED_DISTRO_FEATURES = "x11" -PROTO_DEPS = "randrproto renderproto fixesproto damageproto xextproto xproto xf86dgaproto xf86miscproto xf86vidmodeproto compositeproto recordproto resourceproto videoproto scrnsaverproto xineramaproto fontsproto kbproto inputproto bigreqsproto xcmiscproto presentproto" +PROTO_DEPS = "xorgproto" LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess" DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} font-util" @@ -123,22 +122,22 @@ OPENGL_PKGCONFIGS = "dri glx glamor dri3 xshmfence" PACKAGECONFIG ??= "dri2 udev ${XORG_CRYPTO} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'xwayland', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-logind', '', d)} \ " PACKAGECONFIG[udev] = "--enable-config-udev,--disable-config-udev,udev" -PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,glproto virtual/mesa xf86driproto" -PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,dri2proto" +PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,xorgproto virtual/mesa" +PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,xorgproto" # DRI3 requires xshmfence to also be enabled -PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,dri3proto" -PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,glproto virtual/libgl virtual/libx11" +PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,xorgproto" +PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,xorgproto virtual/libgl virtual/libx11" PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor,libepoxy virtual/libgbm,libegl" PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind" PACKAGECONFIG[xshmfence] = "--enable-xshmfence,--disable-xshmfence,libxshmfence" PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" PACKAGECONFIG[systemd-logind] = "--enable-systemd-logind=yes,--enable-systemd-logind=no,dbus," PACKAGECONFIG[systemd] = "--with-systemd-daemon,--without-systemd-daemon,systemd" -PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,xineramaproto" +PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,xorgproto" PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,wayland wayland-native wayland-protocols libepoxy" # Xorg requires a SHA1 implementation, pick one diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-config-fix-NULL-value-detection-for-ID_INPUT-being-u.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-config-fix-NULL-value-detection-for-ID_INPUT-being-u.patch deleted file mode 100644 index 964d5dd4c..000000000 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-config-fix-NULL-value-detection-for-ID_INPUT-being-u.patch +++ /dev/null @@ -1,40 +0,0 @@ -From a309323328d9d6e0bf5d9ea1d75920e53b9beef3 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutterer@who-t.net> -Date: Fri, 5 Jan 2018 11:58:42 +1000 -Subject: [PATCH] config: fix NULL value detection for ID_INPUT being unset - -Erroneous condition caused us to keep going with all devices that didn't have -ID_INPUT set. - -Fixes: 5aad81445c8c3d6 -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104382 -Reviewed-by: Adam Jackson <ajax@redhat.com> -Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> - -Upstream-status: Backport -https://patchwork.freedesktop.org/patch/196090/ -Affects: < 1.20.0 -[Yocto # 12899] - -Signed-off-by: Armin Kuster <akuser808@gmail.com> - ---- - config/udev.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config/udev.c b/config/udev.c -index e198e8609..3a73189e2 100644 ---- a/config/udev.c -+++ b/config/udev.c -@@ -135,7 +135,7 @@ device_added(struct udev_device *udev_device) - #endif - - value = udev_device_get_property_value(udev_device, "ID_INPUT"); -- if (value && !strcmp(value, "0")) { -+ if (!value || !strcmp(value, "0")) { - LogMessageVerb(X_INFO, 10, - "config/udev: ignoring device %s without " - "property ID_INPUT set\n", path); --- -2.17.1 - diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch deleted file mode 100644 index 16ec3edb3..000000000 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch +++ /dev/null @@ -1,61 +0,0 @@ -Discover monotonic clock using compile-time check - -monotonic clock check does not work when cross-compiling. - -Upstream-Status: Denied [Does not work on OpenBSD] -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> - - - -Original patch follows: - -When xorg-xserver is being cross-compiled, there is currently no way -for us to detect whether the monotonic clock is available on the -target system, because we aren't able to run a test program on the host -system. Currently, in this situation, we default to not use the -monotonic clock. One problem with this situation is that the user will -be treated as idle when the date is updated. - -To fix this situation, we now use a compile-time check to detect whether the -monotonic clock is available. This check can run just fine when we are -cross-compiling. - -Signed-off-by: David James <davidjames at google.com> ---- - configure.ac | 17 +++++++---------- - 1 file changed, 7 insertions(+), 10 deletions(-) - -diff --git a/configure.ac b/configure.ac -index f7ab48c..26e85cd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1048,19 +1048,16 @@ if ! test "x$have_clock_gettime" = xno; then - CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L" - fi - -- AC_RUN_IFELSE([AC_LANG_SOURCE([ -+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - #include <time.h> -- --int main(int argc, char *argv[[]]) { -- struct timespec tp; -- -- if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0) -+#include <unistd.h> -+int main() { -+#if !(defined(_POSIX_MONOTONIC_CLOCK) && _POSIX_MONOTONIC_CLOCK >= 0 && defined(CLOCK_MONOTONIC)) -+ #error No monotonic clock -+#endif - return 0; -- else -- return 1; - } -- ])], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no], -- [MONOTONIC_CLOCK="cross compiling"]) -+]])],[MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no]) - - LIBS="$LIBS_SAVE" - CPPFLAGS="$CPPFLAGS_SAVE" --- -2.1.4 - diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch deleted file mode 100644 index beed6cb4a..000000000 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch +++ /dev/null @@ -1,47 +0,0 @@ -From cf407b16cd65ad6e26a9c8e5984e163409a5c0f7 Mon Sep 17 00:00:00 2001 -From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com> -Date: Mon, 30 Jan 2017 16:32:06 -0600 -Subject: [PATCH] Remove check for useSIGIO option - -Commit 6a5a4e60373c1386b311b2a8bb666c32d68a9d99 removes the configure of useSIGIO -option. - -As the xfree86 SIGIO support is reworked to use internal versions of OsBlockSIGIO -and OsReleaseSIGIO. - -No longer the check for useSIGIO is needed - -Upstream-Status: Pending - -Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com> ---- - hw/xfree86/os-support/shared/sigio.c | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/hw/xfree86/os-support/shared/sigio.c b/hw/xfree86/os-support/shared/sigio.c -index 884a71c..be76498 100644 ---- a/hw/xfree86/os-support/shared/sigio.c -+++ b/hw/xfree86/os-support/shared/sigio.c -@@ -185,9 +185,6 @@ xf86InstallSIGIOHandler(int fd, void (*f) (int, void *), void *closure) - int i; - int installed = FALSE; - -- if (!xf86Info.useSIGIO) -- return 0; -- - for (i = 0; i < MAX_FUNCS; i++) { - if (!xf86SigIOFuncs[i].f) { - if (xf86IsPipe(fd)) -@@ -256,9 +253,6 @@ xf86RemoveSIGIOHandler(int fd) - int max; - int ret; - -- if (!xf86Info.useSIGIO) -- return 0; -- - max = 0; - ret = 0; - for (i = 0; i < MAX_FUNCS; i++) { --- -2.7.4 - diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch deleted file mode 100644 index 5243761f1..000000000 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 5028ef46ff4ab0930224b71024a7349b05610d42 Mon Sep 17 00:00:00 2001 -From: Stefan Agner <stefan@agner.ch> -Date: Thu, 22 Dec 2016 15:41:06 +0100 -Subject: [PATCH] modesetting: Fix 16 bit depth/bpp mode - -When setting DefaultDepth to 16 in the Screen section, the current -code requests a 32 bpp framebuffer, however the X-Server seems to -assumes 16 bpp. - -Fixes commit 21217d02168d ("modesetting: Implement 32->24 bpp -conversion in shadow update") - -Signed-off-by: Stefan Agner <stefan@agner.ch> - -Upstream-Status: Submitted [1] - -[1] https://lists.x.org/archives/xorg-devel/2016-December/052113.html ---- - hw/xfree86/drivers/modesetting/driver.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c -index d7030e5..647ad83 100644 ---- a/hw/xfree86/drivers/modesetting/driver.c -+++ b/hw/xfree86/drivers/modesetting/driver.c -@@ -930,7 +930,7 @@ PreInit(ScrnInfoPtr pScrn, int flags) - "Using 24bpp hw front buffer with 32bpp shadow\n"); - defaultbpp = 32; - } else { -- ms->drmmode.kbpp = defaultbpp; -+ ms->drmmode.kbpp = 0; - } - bppflags = PreferConvert24to32 | SupportConvert24to32 | Support32bppFb; - -@@ -950,6 +950,8 @@ PreInit(ScrnInfoPtr pScrn, int flags) - return FALSE; - } - xf86PrintDepthBpp(pScrn); -+ if (!ms->drmmode.kbpp) -+ ms->drmmode.kbpp = pScrn->bitsPerPixel; - - /* Process the options */ - xf86CollectOptions(pScrn, NULL); --- -2.7.4 - diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2018-14665.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2018-14665.patch new file mode 100644 index 000000000..7f6235b43 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2018-14665.patch @@ -0,0 +1,62 @@ +Incorrect command-line parameter validation in the Xorg X server can lead to +privilege elevation and/or arbitrary files overwrite, when the X server is +running with elevated privileges (ie when Xorg is installed with the setuid bit +set and started by a non-root user). The -modulepath argument can be used to +specify an insecure path to modules that are going to be loaded in the X server, +allowing to execute unprivileged code in the privileged process. The -logfile +argument can be used to overwrite arbitrary files in the file system, due to +incorrect checks in the parsing of the option. + +CVE: CVE-2018-14665 +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@intel.com> + +From 50c0cf885a6e91c0ea71fb49fa8f1b7c86fe330e Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb <matthieu@herrb.eu> +Date: Tue, 23 Oct 2018 21:29:08 +0200 +Subject: [PATCH] Disable -logfile and -modulepath when running with elevated + privileges + +Could cause privilege elevation and/or arbitrary files overwrite, when +the X server is running with elevated privileges (ie when Xorg is +installed with the setuid bit set and started by a non-root user). + +CVE-2018-14665 + +Issue reported by Narendra Shinde and Red Hat. + +Signed-off-by: Matthieu Herrb <matthieu@herrb.eu> +Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> +Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> +Reviewed-by: Adam Jackson <ajax@redhat.com> +--- + hw/xfree86/common/xf86Init.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c +index 6c25eda73..0f57efa86 100644 +--- a/hw/xfree86/common/xf86Init.c ++++ b/hw/xfree86/common/xf86Init.c +@@ -935,14 +935,18 @@ ddxProcessArgument(int argc, char **argv, int i) + /* First the options that are not allowed with elevated privileges */ + if (!strcmp(argv[i], "-modulepath")) { + CHECK_FOR_REQUIRED_ARGUMENT(); +- xf86CheckPrivs(argv[i], argv[i + 1]); ++ if (xf86PrivsElevated()) ++ FatalError("\nInvalid argument -modulepath " ++ "with elevated privileges\n"); + xf86ModulePath = argv[i + 1]; + xf86ModPathFrom = X_CMDLINE; + return 2; + } + if (!strcmp(argv[i], "-logfile")) { + CHECK_FOR_REQUIRED_ARGUMENT(); +- xf86CheckPrivs(argv[i], argv[i + 1]); ++ if (xf86PrivsElevated()) ++ FatalError("\nInvalid argument -logfile " ++ "with elevated privileges\n"); + xf86LogFile = argv[i + 1]; + xf86LogFileFrom = X_CMDLINE; + return 2; +-- +2.18.1 diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch deleted file mode 100644 index c36e4e730..000000000 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch +++ /dev/null @@ -1,25 +0,0 @@ -This is the revised version of files/macro_tweak.patch for -xorg-server 1.8.99.904 and newer. - -Upstream-Status: Pending - -Signed-off-by: Yu Ke <ke.yu@intel.com> - -Index: xorg-server-1.19.6/xorg-server.m4 -=================================================================== ---- xorg-server-1.19.6.orig/xorg-server.m4 -+++ xorg-server-1.19.6/xorg-server.m4 -@@ -28,10 +28,12 @@ dnl - # Checks for the MACRO define in xorg-server.h (from the sdk). If it - # is defined, then add the given PROTO to $REQUIRED_MODULES. - -+m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR) -+ - AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ - AC_REQUIRE([PKG_PROG_PKG_CONFIG]) - SAVE_CFLAGS="$CFLAGS" -- CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`" -+ CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=sdkdir xorg-server`" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include "xorg-server.h" - #if !defined $1 diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/pkgconfig.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/pkgconfig.patch new file mode 100644 index 000000000..2ef9fa9fe --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/pkgconfig.patch @@ -0,0 +1,34 @@ +Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/22] +Signed-off-by: Ross Burton <ross.burton@intel.com> + +From 5f65a6246fe752764045dd1e38912f1dccec71e4 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@intel.com> +Date: Thu, 20 Sep 2018 20:12:24 +0100 +Subject: [PATCH] xorg-server.m4: just all cflags instead of just sdkdir + +Instead of fetching just the sdkdir variable of xorg-server using pkg-config, +simply get all of the CFLAGS. Aside from completeness, this helps builds in +sysroots as pkg-config knows what to do with --cflags but doesn't remap +arbitrary variables. + +Signed-off-by: Ross Burton <ross.burton@intel.com> +--- + xorg-server.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/xorg-server.m4 b/xorg-server.m4 +index 18255b91a..195bda5d8 100644 +--- a/xorg-server.m4 ++++ b/xorg-server.m4 +@@ -31,7 +31,7 @@ dnl + AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + SAVE_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`" ++ CFLAGS="$CFLAGS `$PKG_CONFIG --cflags xorg-server`" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include "xorg-server.h" + #if !defined $1 +-- +2.11.0 + diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.6.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.1.bb index 7e8a9541c..9fd2e8d87 100644 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.6.bb +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.1.bb @@ -1,14 +1,12 @@ require xserver-xorg.inc SRC_URI += "file://musl-arm-inb-outb.patch \ - file://0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch \ - file://0003-modesetting-Fix-16-bit-depth-bpp-mode.patch \ - file://0003-Remove-check-for-useSIGIO-option.patch \ file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ - file://0001-config-fix-NULL-value-detection-for-ID_INPUT-being-u.patch \ + file://pkgconfig.patch \ + file://CVE-2018-14665.patch \ " -SRC_URI[md5sum] = "3e47777ff034a331aed2322b078694a8" -SRC_URI[sha256sum] = "a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197" +SRC_URI[md5sum] = "e525846d1d0af5732ba835f2e2ec066d" +SRC_URI[sha256sum] = "59c99fe86fe75b8164c6567bfc6e982aecc2e4a51e6fbac1b842d5d00549e918" # These extensions are now integrated into the server, so declare the migration # path for in-place upgrades. |