reset upstream subtrees to yocto 2.6
Reset the following subtrees on thud HEAD:
poky: 87e3a9739d
meta-openembedded: 6094ae18c8
meta-security: 31dc4e7532
meta-raspberrypi: a48743dc36
meta-xilinx: c42016e2e6
Also re-apply backports that didn't make it into thud:
poky:
17726d0 systemd-systemctl-native: handle Install wildcards
meta-openembedded:
4321a5d libtinyxml2: update to 7.0.1
042f0a3 libcereal: Add native and nativesdk classes
e23284f libcereal: Allow empty package
030e8d4 rsyslog: curl-less build with fmhttp PACKAGECONFIG
179a1b9 gtest: update to 1.8.1
Squashed OpenBMC subtree compatibility updates:
meta-aspeed:
Brad Bishop (1):
aspeed: add yocto 2.6 compatibility
meta-ibm:
Brad Bishop (1):
ibm: prepare for yocto 2.6
meta-ingrasys:
Brad Bishop (1):
ingrasys: set layer compatibility to yocto 2.6
meta-openpower:
Brad Bishop (1):
openpower: set layer compatibility to yocto 2.6
meta-phosphor:
Brad Bishop (3):
phosphor: set layer compatibility to thud
phosphor: libgpg-error: drop patches
phosphor: react to fitimage artifact rename
Ed Tanous (4):
Dropbear: upgrade options for latest upgrade
yocto2.6: update openssl options
busybox: remove upstream watchdog patch
systemd: Rebase CONFIG_CGROUP_BPF patch
Change-Id: I7b1fe71cca880d0372a82d94b5fd785323e3a9e7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
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 fe7c533..0000000
--- 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 20e0d2c..0000000
--- 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 075ca1e..18b9479 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[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 @@
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 9d8fb28..db480bd 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 @@
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.24.bb
deleted file mode 100644
index ca5e0ae..0000000
--- a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.24.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-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"
diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.26.bb b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.26.bb
new file mode 100644
index 0000000..8a0dda5
--- /dev/null
+++ b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.26.bb
@@ -0,0 +1,7 @@
+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] = "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 40bebc0..0000000
--- 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 4708bf1..0000000
--- 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 ec1fb02..0000000
--- 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 0000000..e3d6c5b
--- /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.91.bb
deleted file mode 100644
index c490285..0000000
--- a/poky/meta/recipes-graphics/drm/libdrm_2.4.91.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "Userspace interface to the kernel DRM services"
-DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
-stands for \"Direct Rendering Manager\", which is the kernel portion of the \
-\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
-accelerated OpenGL drivers."
-HOMEPAGE = "http://dri.freedesktop.org"
-SECTION = "x11/base"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
-PROVIDES = "drm"
-DEPENDS = "libpthread-stubs libpciaccess"
-
-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 \
- "
-
-SRC_URI[md5sum] = "23d87cda92700b710a37d9b8edaa9f54"
-SRC_URI[sha256sum] = "634a0ed0cc1eff06f48674b1da81aafa661a9f001e7a4f43dde81076886dc800"
-
-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"
-
-ALLOW_EMPTY_${PN}-drivers = "1"
-PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
- ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
- ${PN}-etnaviv"
-
-RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
- ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
- ${PN}-etnaviv"
-
-FILES_${PN}-tests = "${bindir}/*"
-FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
-FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
-FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
-FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
-FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
-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.*"
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.94.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.94.bb
new file mode 100644
index 0000000..d654292
--- /dev/null
+++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.94.bb
@@ -0,0 +1,60 @@
+SUMMARY = "Userspace interface to the kernel DRM services"
+DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
+stands for \"Direct Rendering Manager\", which is the kernel portion of the \
+\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
+accelerated OpenGL drivers."
+HOMEPAGE = "http://dri.freedesktop.org"
+SECTION = "x11/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
+PROVIDES = "drm"
+DEPENDS = "libpthread-stubs"
+
+SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \
+ file://musl-ioctl.patch"
+SRC_URI[md5sum] = "e9803233838007047f39eb385c70d9e0"
+SRC_URI[sha256sum] = "b73c59b0a3760502c428ba81de49cd4807657d26be5e697eba3a87dd021d16be"
+
+inherit meson pkgconfig manpages
+
+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 \
+ ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
+ ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+FILES_${PN}-tests = "${bindir}/*"
+FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
+FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
+FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
+FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
+FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
+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 8e7d9bd..07ad072 100644
--- a/poky/meta/recipes-graphics/eglinfo/eglinfo.inc
+++ b/poky/meta/recipes-graphics/eglinfo/eglinfo.inc
@@ -7,15 +7,17 @@
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 @@
--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 0000000..0289ac2
--- /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 0000000..04ddd9f
--- /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Ê·ÏÞ¼<ùâ£î¼;Ï«n6Tu¯ª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_ÜÙoW"~}úòäíñxÇ,l5ÌU÷%>.¼JÓAYvÁÊy+'Ì/¾ËU¶FÙ¸ÔI¦aMÇqYÞ3ú¸
=NHøS¹!ú9Ã:ÊÄÉ*IE°yVUÅäbYeü[#)J¦B$#47¬{ƱZ1öêùÞ`ø×å¤È ³·|ì{\Ë5>§ÐË\d<¦SdM³AÉ óÐ`nÞõ rS*°%Ú+ÇrPU·K¨MËÌíóÓÓ7/B3¨4Lßl:*Óä<ÜþӶΪ(·ÿlßú#4áìëg¯^¥o¿Ý#)æU6®<Hoó
÷þfryåçø,¯ª|ÖRáóÓ³ÓWÇéÙó7ÇÇ'égß|þùñôåÉç§8|mÇÔZþ|Yyñ:#aÏfÆÛfaú·°ÂòíضS¿¬&³å?ºU4}þͳӻ°F$ÐuU)%Â"FÈ2ySÜå|³=ëè9Ììjá,0 PÅé`v1tçËÙEVÄ0wËiuįÝÁ|Ô
L!¿Fyѳ·/ÒÓoÞ¾þæmú峯½N>~óZfR;[¼õ®³bMö¾Èª³jô%f½AqI»Xr.ìßQ ÈJjdoÍý<ù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¥%¢ã<Ùp9¥Ù=F(×úÊ_èaËd`è#4óbry_äþûä$*]L`I$9UÌô¦
Êì'AÅÅÂ¥¡äà1Ò®H§¹ØãòÁYл9Mù+̤}jw-/f{¨æɸKpîXSL\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§qpM,>Ì_G/å°±ÿú_ÁËÅÁWÀÀ® »½8GNGÆÁÌTo% 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ÀzK4Rbº)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 >øüźsujù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ÆBkHc ÆKT}_ñ)³,4>!#!SÆ-'ÓPã¬séhR¤Àî0 RÉy§Ù
òTerµ ßõ°ø§dlw>¶·é"'в(àkÈxAC5% CNHD¢îÑ=Í©êV0î}ûìó?¿9{yzòQ"%V "¤0ßH?#)xw5Ù 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èéeVwD#)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ÌLwqX5Û¿Õ:Ìnãëâ8cA¯&Ù#4ó¸9È9ÅiÖÜ#4à¹'ó÷éN±®NÒLúù#)ëäÇU_¿ÎøtA;ÃägÐ%ë·tk5ª®@ë^ìLí¦Ð@ÜQ )©o¹v±ÐçDÖ©Ág~Q¤ì~¢YêçNcw§%SC)nkCKËÂa\Veè%ÎNxsMiuùíUVfÝAuNë^fó¬µH7ç]öpQä¨ÑÚçËùÅß[f£/z«Ë@%èîªFuß,ç]¢Ú#)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;~]èáÄ#*~Ç6æeW ÷ãйnùPÀ+aúÌlVkb0¡Ýü©ÈÒù÷©Üßcº-ëi¢7Gµö³ÛÐ<dÏÖpkMï9ýüù§ð¾Ên/òA1z ³º(2,Í&C6#4|pOuTñÀ]âCJÔ÷e.å«åàðlhè¡L>&&[Ç(<À/ÚÐægV/½4ÅÇ4µ%¾ã²n#)Oa-«4ûè#4ïÏÃz®ÇXMÇPÊÀBUðÞvÎOWÙi`EíÚZòµÁ](4>b)±#4ÃNd ¡#)/¬?¢lª¼Î.LR°!®H>Ò½Ã=9-<i³U6D{ð+Yír!õ4U·tä@36èõ§º{¨vÝÑðBfÙ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]ÈwEaµí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+êÜ!'wKUq_'±ouæ°å±£<`© 5G Mv¾öeC´ÐÙ$uxþæÊuÜóÚlp²5æ
%dÜ\uá2;¼îý!¹n:Øl(QF_@[Ìv$¿²#*ðéôáÕVÃ(#?¬|y/!~e´;àù`/Á3læy0½Ì#)VNïâûÃ#)'mRÚß~ä-EÏO£hÃú¤jÏeáy]&²<HfÎJh;£X
¾*ϬèhksðùIåQÂ$
î<§Ï(:x¬K¡9Mùß{³ÁuâÐÔìV_z£l1©±þ\Ø¢óѶ^C#qï@÷»ìðH·ÀFÍCªWEúQÜ»J-¦À T¢ÜÖ9«e`F¨XRá*ÇHjí#*§¹¨à¯©#Iï'Ï7xqÛÇD^{ÿ=Y|p(xa°(åb³¿|¾8þüÕ³·Ç/Öb-S§67hÔxnìÝ#*l²ÐV¦ JQC\9¹°ãµXaY·od«¡jÆp6OÃà´¿aguÙ;#* ØxÉÅôpù=ÿ®¾Ç#*ûÓ[$Ó¸WP£¼>yj'¯
âe.}&vC.àíÞ?ó°àΧË2 .½«lÅÅÂ!zÝØMö¥ÑQw§D¡°YäÜw\^;)/Á£N&åM¬f·áþü-ÂlgC³';ð0Ñf©ÕQÿfüÞ4S8¸þ¡¢E6¬î4xo9f'¿]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áÙë×'Ͼþcc)ÉýûÝ¥õV>8èíQÇDðØ#*ö]Zë§=ÚЬéæi9î5Ì 6=-GYZdånÐ}ðà!ù½øØsÚ·éæåÁÿGaÃúÐ`
·C}ÈùábpÍåÍ !E¶wó ¨]#4 ÇËl>âÉ
Kíùô¯å5jÒó«Û#*Ü
6Ø6>ÍnÔngÊ Ñïý@ûÝÉlIÁ¼J/§ùE`§1YH4Ú³2¸åL¦I"8ÌðäºL§t'SdÐPIÑÈP¢,û%!>´AéRºD«&üR±Q&Ädó"ÒÏ "3±:-ø/ùª½EfK¢î)@vÒe6vsoW§V]C©²Fj^ydã^Þk¨ÏYT·5Ve¿;ê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ï%NQG3«²)]fM#»_¸¬r3QCÙÒYV]å#¬¤ug°ª#)\®g¡¸Gw6k¹òáGÒÒ¢õRSoh×¹·Scùù¼·~Ù8D""6fqç:ðm¬¤Á9¼«Êr%«ä*EX^ÅüüÅ83I+j?ÕzÚpZ§°bs^}D""dxO¼Â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øy1i¢ß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Þ):SaÕä¡ù'ÙÌÜö]¦¦#ÝþDYd°@`Þ3ðéöÓ$ím6ºÈl£¡nÙY2ßvµ¯íªí/Ì!äRGöÃ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¹gEr8BÓþ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¦ý#)Y7AÄ5"pXd(QÏÔi+_Êæ&N=f¬n!3fÝ"wè7HâÍq%S{3×æ«ìv£Ì(vR¶æÆêÁ0aFǪÅtÔùmÿè.SÛ3«ÈIkíÉØV
LÎç·Cè¦QV©ÅGJ7dæ0KVL^Ðù¿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Ö=LkÖ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¸ªiRJqø¤4À>RÀcÅÓi#4 å9üé»LAË)UãÛ²£,ñgn ^Ï#4AhÍ@Ó#*½UÅ`.³¼²%Ág¯¾9Æ»G1pNÒñEÃpL7>@@!ÃÁän*5i\^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(823FÙ&%ÑMǬd>~DæÄsÒn@¬±pøI9t-:ÐÍ$x VL¢2x#¿qEê~|©g âsâiA=%ø³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+ègbGT&|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ÃndlN!ÍfU"
ÙB
©N"BQÌdliy(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ĶëÅ{J2mãýí%+¼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¹}oVúÍý¤ç¨¥I['MjW¹Ç^?ïnv£?1$~fÆåò¢¬ÒÅ0¤£ÿ(×#*@-Ы9dkïÂÝÓÎ%×ý{VÊéQMDSídSªIüqÜI¢à¼Å$f©ä|9ò³©ÜLwºCÔù¤Ï¤7ĸھZW/[ºÄÀ«ÒËäæÆbc}áíµ9*®¢
(emèX5
:!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;£ÎÏ3ZxbpC#*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Í#*ºì"+ºùXxg-Þ5B8&øûÉÚ¨}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&6duÅ"ª©ÌùPcB=¦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[cM=lY®`?Õ`Åð·Æá¶Ú¼g6bväìÄY+m¸Éí]1Öuni¸5úm1-eÏ=ÿò8}ñòM£Ól/òÉEÛQýSÕSõ2+²"8±áep®t8ÄÓz^pnn('®ð´±ao±Æ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«öþoF×Þé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{#ãqO7º&Û0w!Yî0í ÷BX²·!ÌÂuKB{vú×o?ù'Ý[êk=ßbëÚ¢þÙòI{ÁÍ®ÙÆg/Oà(^Ó«6;iÏÖ¬T²·
eÅ×JÁoþÆøüá Å&ëÐ>ÜCs'íÙhIöMhAQ¤8¼<}ç°exnHô<-cHvk){\oqK[û\®b9É»Iwµ³z7'6Þvwó`Ç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áöi0 ?$ÞëQÀq!oÃÀxsØr2dÓ÷[1H§ûÐáª!Gîø½¦Ú<бè8ãæ÷ød¶ Õføï?(:õßjȨQÎCò| ð¢æAñ5Ê@ÙûÁ.oËÐÌǦt9vDǵ®¹ZÖÜÙ¶réÅqiLO1UÏò=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~cblêî£ÆB#|£7Z')öÈ]±±LÆNð@'`søÇ]fds7Ý}6ój#:À1Ú&yRh#4<1º£æcg´\ØF:ãX¸~¶]Æá#)ôm&×ÈÑò¸èVÔÂbÄâ^MkqÍjfRTĦÑôMÉóPèä¼Ójæ湺B¬GuÕô<·îÍRÄvÀ{ßd,³Eä¨çzÌé°ºX½´5oë}²JÔülúÜÚ7âN'#n<>Rã®Mæ$8èý®÷»ßñl°·Ã>0KGr§NÒ#*r7D.t¼QÒ¼½íѱ
Z}:é ÀF®$85ÉÁ#*>_Î!øTäMîÖàVZ^ÑqzYWYr°IPå°*Iª¢¶:ÕO>¤ÎY~wT« <âÎ̯¥£¡"µU Ã'º5¡8ó¾ÄìÎvÌß5óPõ [Ùjûײ¬=wÏ#Ý°kÓ75Ô(;ÁzE~Yfµfë<ùRâæM|1¾¨Ò2hÒ@!cTÚ{*FLÆ«=8{i,JB<~|Ó(ìܱñ#4#?¢c²f:[0Ȧxâ îê6¨¹pM#4#*EÞ*#$±B$Ú#^pp¾×ëC®40ýj±¢±ý<ÏkR,pt$bj.±nªØ0Ì6¯'¬xýìí]¶#(°=r}¶
Ó¥ÊzwF¨)ûþ6õ¼Eeëç ³
Ç &®-éår[Óá7eiÊÏ?(nÍX¢_RZ=Ånï9Èúû¦nOúÒù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+Ö;;¢Ùq7êÕ·IÑ20qº{¡²#)7³[&KÛIAFL0ÁGIØ/CX.Äik^^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Ýé>ÌIc
ìǦåÉ#)Iú4s-|"zCÙ(CåkT7FePͨõ¦Ê§Ì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©ôWkG[CïâûBýTÍ~u)?~ýöD5ÈÜJ|ù¾üH9FðXÚ'Í#*ìêÎvz{q!G÷+sØ"Ñm#)z]§á¯SoR¬÷ýåÛ¯ìxÀóõ*ùn¬¬ï»w@¡>tµ~>ä>ÍVÖæ#*éôZí1IQ{ÃáÒÆw ðz`rãAPÑú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`¡)¨ÄÜר¿Ã´¡0D32NýlFdnø*¤Ì<è·»ãw õëÎðl¶¶w0iÀ«A; hkºD×Óh¦Ï¡¶NÃP#Ùwë³ôf:ïcBNv>@±¯ÕE¼ÇøQ£»TFêô
&;[iZNóªLÓ$Ï c,%Ô¢
ç@é|wRyZã ÚÉ$>è3$ü#ñ?èÙXÈ«a1fV6F¶ ;%)U¥!HHÛBsÐE%¿21aNR¢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Î'COfÎ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;yiEóo(ª[»ÔIH¥ÃfuHZ#)QX&xG]¶ì)
µaPd: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ѦÑ
ÊÜèÖxmô42%â*+þ©iAÁ gÎYhxsTª5ër<¬lÁëd6X
û6\U¯ ÏùHí×ý$öÂõ@ºÊ&W.#4BH{>K$¸ø6õ5Y8fH=!nÞ=÷ßùè䢮930Èö}®;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¦²ýC4_Ïa 4¾¥
ßm-ÿ´5\ºîü°1Àözªc^øODõHxkâ2c6¼¢Ü÷57kÛ yÁ#*ßN(]IÍkF3mµá½ë#)xC¢«E8É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íNC¯-ÛTDnªÚ«ãàÃGïÀÝÉÄë9DZí?X²Rü QX½Ý5[l°ç¼¹Ó¹É××a¬=Ò}º½Ó2$£ÙªØ%M¹a³î:Äm~w6ô|ÜRÍF°GV3úØ®hk5èÛ:iÓÖF9ýD#fê^²ÝI»¦o¿¶£zìMEÈ
Zûm}Ç5¨Üº!¿]ó]ò£Éx,Öâ²²÷ØpÖ¹×ñSqà#/>³°F¾YP²£8vRi¼ÃÁûK#ÁËUrø´Òé¤#)«$¹afIGÓ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}cd£dmqßøÚÕö+uqè^"îiì~Äƺå>S¡ÿÌËjËÙ1|ÂËdÃÚ±lÇ+MÇΪã·a<TúZ¬z>ífýOO*WÂ"?ThHf]YT<§@âM=]KòÕ/IëÛ?q5l²aåeÐÅêÄ:#)ÁþB´ëØÿã~#)h#*ñw£!ïf¦4úÛ¾ø ÚÔÙ¤G C½#4_Óx{M§Nÿ©m¯aßhÝÚ¾©WÝÒU÷îz%¨©¥®wê(ÌICWRd-Ãqâ5=ÿðÙ{7þçA¢ð(Mþ®èÔ«Ì8þ¹y^7È:×vyî©gÓd«ùÅp)E¾$ËeL±8$ÆÑZq¥/ë>°ïÑXoØ¡ùïØùáÜ[º¤ÚÓò¶7CEÈÿq¼cª#4'ô#)߬*#*Ln¼{rPU1áÕ]»$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¢Ñÿ&"¸"óyvE/ãËpcêÉtº¸T£O88!¤ú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
ÑkQ}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âüf9gû#ÜÜ[ÁÌUFÖ»ÀË#fßzô5rÀ«c ÿÉFøÛapLÎxÔ¤66^C*!b¤ ÷ËÇ$§O´ö·£_âÈÝãügÈÏd#)¾ùüôä|«Ùüøàóÿó_Ïx>6aì
s2¹È£¿gb°xRüïâILìÕO!T`k9þÉói FWbqE[Ðù~ÿG?¸[±ÕFBxϹ|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Á\$ucâ¥k]E&R¾f¦¨ß#*«^{ ¹*p.(¿Ö#4Õ£ë9{ÝÆÖT¥SÛ Zíl©öUðÙAv-`ãéJ2B£lZ+gÔúµnÔÄHfò±úº¯QÓdXĺͪ#4ø±>3Oi±ømfn{fî@Räõì=ü#)hø¶ÚìØ£îlUéå¤c|ï%#)$/ò$jÉÒ»Åî°Ö 5¬¦dkÏ.(ãà#4N»q=gMö÷-~Æ?Æ(rf"ÈÄtOä&ÛÒ«÷É4U>Ëó¶c/è©v#*?¢ó²k ÕmXU 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ÞõÛlb>prÕu1'#*KAº£ê`qþ-ÅtB"å :êª`Id3Ûàqoø=wwª¦\ 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Å]U8[4êIÜÑÙâw D°JÃþÁ¿z_úýU_/5qz/ âB¼4nVõ3â;oÃÒQinqxm´#)ѹlÖë«"'{D[DÎÔÚÀy}ÌÀÜloowÞÈquáÓ#)jÌÓ.úÊÊl^±ÿÖ|Ü ÏtéGKDÜítPÀ~ê`gY#*¥õÜ-=ÚJD|¥ìlÖ¨c¢ÕnpÞ.Ï>{þâøó/¾|ù__½úúäôõÿysöö?~û§?ÿwà~!Gö¦ï`5B'Ãerø|L/Ç W®Þ¶¹)|sÎÿ#)a° Å £éßbMö¾ÈªWùåd8¾À|g®|VKéÛè¨,r~ÉO>¤õÁÍùã#øo÷°ofÍ=M)P_:Ì«P{HØFýáLIú¯Kí£m"wÍn{u\Yböo`u@*m=û&ô·w|rz|òÖìVYDZh6¾Q¢<&6µCÊêÆLW3x¦AÂ#)H#*×ÕhFª)¥ª#JvÓ,DÍJÞËL§O°k¥z½ÝäðÉÓÂG{è|=ôk«ØXØfEG2iÐ#4ÃÚð©UwÂ#*IzSíE2Q«]ñÿUæS°Ët5¤µºê6H#*t£#*3p1¸Ì6Lÿç\óó×at{rVè®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#*ÁÚ4bè´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©mij@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"þ¥ÃÉ NLinßqf½&ÑýSäÆJ<cnéH/&}=¼Éñ),¹Öë²Ê&©ÂÞ_9Ûð4sø)¦5ÇKEÿe°÷ý³½ÿÞßû$D*ÓÉîJ¤Â%§¨Ð©]ÒqyåïÞ?¼~ØÖãò*Ãh6åp°0ñX×pu ÖÍë
#4WP§XµB#4ùawL,)*KLx+Kz ¿N 0Ù\ÉF¾Øî#4診#*k"Jq=O¼IzùÍCºÑ¿@au5VãØ#)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÷㶣;¾oQ89,^Lñc8ÓMeÖ»,òå"<ð\Z#)#*ç>ô>ÿ&hz»âÈÄ]dZòÑþz¼âç¶Tßéé¢*M±yl¥eÃòb2ϪPîhùb±Ñ BL[0÷ò@æß^rñ+ÝKþAÒÊu¬,pËs6ó]Ñr.s ¥P UBöï2qiC8£ðÝàýë #¾ö¦À«²ÍÙm «)»±§_9lÈÕm.(¡Ñ_@·tÿä2#*ÚêCÌÇá[`6ó²ë»7ë0-OÏzPóÒÏðåë½oüz¯{ËÍCÝ}¶A÷åÓA1)ýZËå</'6è¾Þ4¿áÃG*YàûbèªidaÔñ^IWgr#*§@ÑgW.Tí#)3]|7Úý#*ÈÄd0¸ÑëiS³zdo^íu+Ûj¡àç7á:õ£lZ#*l{5bQ*dT{ø¸ÿdó+T#4äý¨L8/]XÜÊ[!å#4Î#4g3KF÷轿JÉøÑSrÏ&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$Éhx9û 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¾DsÓýØÇhk4)¬£ò]]'ë wW s6+ÑÀÑq°7bQª"×IR3é<è¯c²ån¤^,Çåäû,ÙÌê^#)±×¦{êæÜm01C9²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#Ãd9Òf-zn±¤¥å¸Y IÝå¶ÖömGøJºÌ¹ß<ßnÚÝ͵k¿ÛÇLÒkqØÐ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¥Ã|ZZChcÿé«ß\ïMzHwo¤5ÄË0ý%SWVeòBEN¹ö®»`ë(ÆägCbÑI6»\.óeé|l´nõzê5R]öñ¦¸{8}E«ÇXä@Äq±§£/ɼJåàRIÓ46Î=¶§B(*f³ÅÙ)ïlT"lFÉpJQu*Ð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$¯#ÿ*èÂrg9@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#*é4v1#ø¨ð¯ þ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ÎqQîÌäì'UàÀåÔ""ÕÔl]ÞGQU#4Õ7´/HÕRGEuTùâî:Êb¸©ÑVÃÞ<ß#Â|2ß+ó uêµµÔ4ÏÉ-<ìú)¼«Òfþ®ëK·Òfþj÷JyNVxéF"Ò:~Æ ®#(âyù§ r.ü"J;²³¹õ#4cFui¢Q¢"ÖÏ6²[#*ùƳ5ÝÝØ8$u-»ÜuçÃÁôaÐÖÿÚTݬô{Ü&®^¦S^¹üÅÙtw~°ãkx`Ç1¨T¬o²4ùµ°ÊN9}ãrò¶yçùÖ=)©»#*¹kº¨»k+ZÐ6+þÖÒ9è=½wt{£®èBÿìî- i2}î,Ú»ÈnÔë5»}Ý|ÞáqÖ5nDð`ë]öºÛ\þ æßÃí;ú÷¬ÊwöféfZÓ{¸ L+ÌËæ6P6$;T#4f,EvÚg@÷ñæ·|ÛÛ*°N1«ôvÇgo_¼dtc/¼tçÎåü¦d~hÝÙ[rжJQ´·nJ¹Æ·éØý#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±¡gBRÁ_ÎÑ$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©ÑÅ°·(¸¶ìõ#45d£p²îøxôbP¤¢pHLèrxùÈòôàºjøÓÈ5"ù×#YIp&»B{ø'´ølN!S3_Äh¼ ÖV.ÂaâÝ°l«H£ä6->UC2Æ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?ñÓäÀqFaSRwËäo$»<:ÁåÑ1öTAy3ölJ)§üùä*§ôxµ»b·>·<ýVcÔ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÷Î'&ÞáqCõÓ]Ø»#*ËQξýn¾ÍäûùöjÕo﫸áyYRv?ºÃG¶·eBs'¡CFÉÍ+/Ä´iÙª£*!3à÷Þóþ½Ò×(;ÔÓZïñø¹m%2ÐÕø8hY¦Ítg"¯ÏB#*ò@yFvþs´k§¡u|÷û01(¬ââ`+oôØßÑ#*¦ò¶âÏAñ¤í¶{¡w>;ÇçÙ#*º±»_deöèz6£ñ«C'hwu1µAägYq8ú«¿/X3ÎÎvúnÚh+ÊdyÒ0dÀ]xxôFY¶À#ß8ÂjsÈm5ø:1SºáȤôi#*}ÝKR8ÉáÇÀL¡#*hÍ1©¾QPÞñmB#°s#4qGóë{]#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¯AkKÚyM²Ô¡Oé9~ñ¬¸#)zL2 +W!ÒHGË9msì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î>Ó Ñ¤ö¾{È%bIUs,cóï½HB¡«éZfýrÿûìÞÊë+üãò'ûO÷ëñ=yôôùÏ¿ýOÁ?ÆÈDo±íÉ
Äðçäômúæd¿óõ˳3@09è<óììËãÉaçøOÏ_¿}yz<ê<vòüø$?î}õòõkxúmçìçx
ü®óìì«ôÕ³·Ço½Ê~}ìv#)8=)#)zyÜy~úõë¯Ó·Ç_¿Æb)ÔøêUoqXäq{5éÂK«Ël.¯F¨³u1A"$ôà©7+©JáwÎ$!Ù¡¬Kg3L@g¡FÒå¿ïüÚ÷èS׺"4VÙPïeȾoB¬3î*i#~FY@Mj´öäôçn¯ë»|µj¡IW0Ѥ]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ø§acî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=µ¾ÎoOЩçªyJñzàóº`Ï`øÒÛNÔÚÙBÃT÷ ä&C§thVäæuQLò¢²â{¯r5(©ã³+À3ú BC»ÅnÖÔŧTQûðç!Ù~ÓëÊ5%B#4ÔCêësu¢µZ!7ú'n±<iÙëdlsŬÅrRLã4ÓH½báNM3s4j3é5[3õ)epìÞ u0.ïÆ'kAÜOÖ ¡'
aÎà(IüááÓ
LuY²øÊÉGõ3ùå<aѹøö)/tç¾opQâWë/A@VE+~3øUrìãM#)e\Ö9Æãf1C7¬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:Óñtyë;ÊÂR v¿{8ÈÇßZÀ)}+ÇÕ<æy©"SÒøZy ¿v¬#*9RHèÔ¤¹[;ó»¾aehL"+Z¨. $ ñàwk7î7ZäkÞF;7[kÕsi±$Hõü¶¦ qm¤1ÁdTÍõªOdr&îóqvÀ÷ÛßvÇå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õ
0F»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Ài0WeçPT/K¢ØI"~ÖKaiD# ݪ¦ÈäÓ¯$T'åa_HQ1'S6ïæèwp1TÉ©zZUT¸Â¹ÃÛöÞ]$î6Ý4¶ûâb¨ØoßB1IÄÖIÛrn;>wϪOÓÊn¬2L5ôÞÍçú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Ë1GÈçª@åN&:·qxiS£ëKK´ÔíRv§¶DPº÷ÎPEwQ`|âXKý¶ÇuFaNj3dg¦^ɯI¼ÝlÑko¾TËñ;ýñ µLM=ÚKÎe¢Q×@Úe|F±²¾²üAêúЪæ³]85Èã®I×HDfUlÃübþ³²²<BÕÈ¢/#*ZÀQ¨Å;eÁù±AeüO¶Ê][#*«sHµ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
efcݦÉæ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ªå1i¾~¾CZà%÷åçîá#).F7#)ÇÐÔó3NcÙ >p4xÙya¸öV 3 öäʺCªXj#<
òw;ý´åñòÔ^Ý·!5!m`aý2øÓuz¶(uªêÿàÚö:ÐäpØ1Ö©f}ví9jú[¦nõh¬ tsôÔ¬±VýÆ4!amÀ.#*¹ðíP0Zª#)æ©;8VCÒ4£85_ûØ(Na?¤pEBF¬Lj`JLÐÝ}UÚqsKíÅ'Çz\Æ(ájÀT&83¢EnSZ+cj6-`$ÙUÕýêpeRõ}±q,©ÝÈ*êú²@U©Og©ô½ËÁ°Or<HÕËË_bÁå£c$×ó«-tÚ#)¿$#ní£¤¤§4ëÞøÁh¢ÄqÜnp·Ñ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íjJFquGUI8s>ånBÒÜÍÓóFû5ø÷Êdî9íÙ02Å#*ºguAÂ#>ÇÛª+NB ½íUqÎtMh=jiï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.µPEóÂ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Éé,!1P)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©cW]»/4ïl9ELDÝÑ^¢Ãû§èwMSÐ5'¤¬IYKÑJZ¡Ú¬§âVY8a0/Bß\¥
±Ö¦Åkë: ÌÞ& ¾¶¾ÎU\[oE *2ÌE_¿ÇÆ·8ÅGÝ^Z°NABé¡)ñº[ÓS\g6¿Á$ÌÉen°b(Ì&6µÝíbS8=?É7²©QTû}Þ:þÛÇMhöødvr~r}ú/Ú7âµmOêá6>
QòûÁ(dÔ£ý/Ý4ÌQ0XïH{+¨5T(è´[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¿ãÓ¸´ýÙv6@?_«v@.1I´TjP`ë#4UnB§è@pfø=¦ÃάçÚ}@Î7wNúÝæ. Û"~o0>>¦^öD¢KÛEdô¡)O£T#*NÙûmRÏúîÓk¸®~³
lîµÝÂ_·á6<ÞÔ#*LIæÕ9!ºâxw"ýè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>Ú^$ *TH8E4ݲÑdÚco=4qØEjIPKâqZÓ(J]ESÀ¦¢ÏâzÁ¢]üR°Cæhý0³Ò.#WRfÑ.ýÀ^=ïâßäÇâúÄÐ@9c!¬¹báï¡Ç·èQxzÿ¯ßÝ·Þ0O 4X¹»è9c$BÓ1`:X?î3²ùærÞu´äZÃEµñ±Ë Xgõ¿&ÑãËEw·hG,Ì!nÂ`;_Ûë½ ¶Ôî*LtùSóÝ~.iÔ4HR2-
Äü¾ìæÉ@ÍýÀa6êN/Q°»ê`¼ùÛxIá_ÃùDè¡ùs,À ÝÁÜÊåFÍú%gÚ YÅÏS-HJ½¿/#4
+ÈfNÑØç+ºå<@ÌBÖöºcä0[ý!{Xhë\;ëY6Ì ëÂâøIþoÀÿ;Þ_ôÿ/Û}¶Uôÿ²½½ýÿó÷ÿéP$TÈSHuøÕDT^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¦¸Ïÿ
/É;£·hPU£¤ÿUJÚPµ³ò÷0ÓG¹òi$Ú¢¿±àNCê#;Sw#)0ÊKP*¿þ5S,à)àÜžq©,º©§AàçÉ¥U}Â8Ð1©'S8®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ÍÒäÁÚkuzJï'=J
»3PÙp¥ oHwav1)â1Ó°²î¾j<#ÀñIC:ï=ÚNòù¦V¿.Â`âÝa6ÏB!uXn¢[±)9-ä+âJ«© ù ìQw¬ÁY>ýBàñÍæ·a¢YvMB±:Ýàpaéji¯#4¨ðêW¾õ5_ìÚÝZI|1&9½)v|
`É;lip\CÆwg8JÉÛwôs;CÃoá°IFJcÉÉj¥»ei(¥Í" R{Yɵ®hIzbÖ×í£tM,ÕÜLiÜe¾èA/ýµ"]nÕ<Ò@UØRêFL¤ãAߢàAÑi6k$kÖö°ç'sÆo]gôZÑóõWgxiXÉɸé,£-&ø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Úñ±±¿R4ÓJ7M]\¹Ùéì®Èðã?Fr gf·ÌÅãN´´v©Ú6MâÊØàÜgúìîYx9è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Õ'QHrò+ØvISØdÙ¾º0z>Ûªî ^õÑs¢Þßáà¬4wå¡u6°n×ÀXÎEH> sèQ}P«È«Å¾ß±éSSí¡©pfr¬´¦pP2R#Øsö"uIkW\«ë®BËŨůb×câqn R¶Ùv($l#*DµóuMµ¾*(¯aé¸mn°¯§ëx£²Jø¥Øõj¹ã%E¾-Û»r1<Ô»í#*x1îYjo˯_x¾Ó?ÒÞ³dÒ1rÜàeBjèéGmgÕKàéhÖRAY=mô¬ªÍßsþW0Û¨Ü×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éÖ=7mm5þüâ®í´·ÚÛÛ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ô9j#4+ÄX¶4yãQo¾L
f
¡mr!.©½AË|¸×ÝË1|
_xI¿Â+üNáÉ&ê%4$°±·P84\]³ñ~+`ÐâF]]fM©?÷=Þ#*SvTdNnósçCÝÕúÚÕNÎfxVkmQï4p¤ÂNçVWy?×
DÍI¹Ul7æĽUxW÷¼NðÕ''¹²*j]}C4âôcªÃ&j'P]CnèT¼#4L§kÕ'*¢Rßïâ¸Ç¤
HHzÝI³@§-ÖSÙÇb³Z³~hС^;ܬ¢¢KúO]ñ=ë3ZVÊã=þè-È)¥Ç*&1z?,éeITì>¾&Üidx§ÒáÄ-þÑÛëá>¨ïøᤫi0HæxçyZí¹=~WËçºC;øÐ~îeF Êcëûj ×ÆDm±ÊmÍLùo,§¨«óH´pvBÇÖh¯ ù¹ÉÎUÎûÀ^̳¼q¡kЬu¬îСå{Kw z\©S'þÏ:-Ñ@·<%ÛF;×ÌñªiYÓ^U!«Åã¯/ÖdV¬Þ9!§jãnù¯AùAÑÐK¼¡°#*0b¼á¬dI~r»±#²!®\>uüù·s/×X×ØjÀêP³çû¾:û©{à<ð°.aô~b9¯óê»7©<oDhöTç÷LÍç½Û2OëÈÉÆK®û#41[Ôèì¦ÃÄ:%V<%ÄfGî@Ñ(ÝrÎ8"6ã#*#4;k¦ 2V4û.r#ëÀôúOÐIè«!0j$¡¥øA{5g}=kéÆ~å®Ö-¦)eTBmï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ó«ïIXrBYh%V:³{oßêd¨5zÆ #4Yÿ|4Gb1r=ï°p¨ìì}û²ó#4½J9´'¢§ltyÈCó8#ððÃ#):há7¥Xq×F&{Ü_ÿOì6¯nRÄu¡Cîïåf;(_É]VÆÛácA8M+ZbCWtª5eñnÏÍ;»ÖΡóúxbâëÓÔ׬ýîàݾKgêdø¡:Y0ØNyÆ´Vä´#4®èI¬ïñÖi¼ê ö9ÂÔ£ä`]Râá©;»àÃ#*6#)½ocû|íËë)¬?õGñKzJç÷f¦_DwÉrz
'cSöS1'Ù¨ÈT̪La
1U°Ô|oødW+Ø'b{7ý°ÐÂúÂçÔ¬2º§À?ÛA
Fv0êg¸9wº°¢8T¶@/h¼,ëϪâÂk ¡>¨Ò½hvóf¶jíS1Ñ<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½y9fæ+ÃÏ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®åí#44LÕÚejê0YÕ\öq÷1÷6ñ鵢о#*P¢:§J_ ÿõ|jK1µ3vMø½Ö 8ì¶ÃÛL£î.uܲEåûz¬¿.ÇÄh*gfÈÁj²Å8pqBÎÉ#)"Bò¿î¿~ýöÏî®$ÖkÍQ>Q«ï´b;ÝEÛ×¹Âíw#GÀ®DCé2 ÊåTÒeY¿¢L*o¹ls M×ã¬óÃ"#XH+JPÁM'Ðù<Ý#4Òêýk!ÿÇÑfäVB@¾Iý¸¾ét6C·½AyÇë(YSíîÚ:¤j1B(¾¦^Çè>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ûÍPSÙ`¹ú]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]]9FÕ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·7G/^¿NaÖøî¾nÒûáï÷_v^½?Æq"úè#ãn|óì{CHýMçA<b-pØ{õq¨Qïüz9ïÞAþ·oööÓ-~}ýâ¿ÿ#4èwïß½Ý{UQÞª¾LTo8@ÊEڲΪ¨«[üâEhæÄ°ð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ã` ݸ!ÅYwVh?:¨hGgÔ×»v¨¨6Ê>ý¤Ó^MlûÛ½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=~üÉcaÙÝ2a]Õº©DlEÕ¨IF¯o#)¦Ñt~»ú×Z#Ú¤Q`Fª%jöÒ¸ü#-H'ªY/''ptüDü¯SÇ?´ÝSkiô3=LRñ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¯ì=hd½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÷=ijôopÚoDíùhA¿Òèç¿#dÝÒ'HuäîÂãÌ¢¡q¦¼s3?Ù
jTtÜM!ùrë,}yºôÍzi"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ÏoW·:ÏLå@VÆ·#4Íý\-D«qL¢¥ºóWílv÷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ÙmQ%8ôÃJv_8Àsózõ
9}º(«"éôE%Fó@û Ò¯öeaæ;fSGwïRF¢ÅÞe¿UÚa˶R#)hsfçvýeBµ¨Õ»vsÍ^g¢Jå@ôqfS>±gõfyòì±ÔbpïrvDZý0í¥íöc?¡üÃÌÓµãõõõ~ÿøs#4ùúúNþÃ;ü[[o(Ùù<=Ï×[
ÆM{Ü>a,Fÿ;E{â
!.jaIhÓ4Ìf£µâMl7ÅOe¼±ó_03ó¼#$þñ3Õ)ÍÓÏH#)#*§ ´
Ñrn77<ÞÜ&}§YÚÒè1EÛG±h÷büX4¨EÑôp¬SHp¥ü"§»Ò>¢]vå(í#*2#4êÃØ^Z¯Ð" ÎÁ-!{0&òWÃMYÖÅÈ,îÌ £®È#4)M#42Ù¡1WH·/uH¥ÇàÔ)ÕZY¦Vý¡
jº T|#*"çÄâm!mîêÈ\yv¯à¤Çåû±ÓFÁÙ
¹«Î
¿ÓSQÄÒô¡»×aÜî8¦UùZ1ÇXÅK%T2¯CX¡l±A$o³àO¾Géoì01Ë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áBVÛÈÇ+dçDUz¹L ½/4qßrV:vÖHíw»ïÈÉ@]ð´ø±
« +>QC®¿µ¿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Ü[Np%xÜ#*¸ª(ûæ'È ¹¸k àyyþYo\á©Wö¤rë+jgB²®W£m|8þ(è]ã¡¢MUcñÀUWw»Îü#)[KÕ¦ÌÞ1,ûpHË(RÇ`ÛZ198Qñfu_Ó ßªuXRå
HÀG$¶ZD%6l¸^G÷#?ºÎG"éÜ5)}®þDò󪫣¨ÜÖ'lN°ÈÇ¡.NÇàå.p½e×u1~%WDFíÀ¾8ÔÖ6}9>UÒºec½ÌòyBïþt/'(üÄç jë<ë¬Ëò4Ò|°À(qors¥À¶¬)«6FA²èSq8ÂøúE/Úû¦Ý=u7#ð¬Âaù]NÆEØà®m-#*7øUÚdþwææ·£á`|Ujî¯ÖÔû7ÓW-â`|Ã,~N£ÿ¤z©+¬~ì#eçn¢Iww³Åq¯|µé¬K<¥£©NX|}ü)¦³¿ü: óÏhèq··©¢ç9¯3ïåo#*ßsǾå2QF!: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żGløZ^é¼&#)k¨µÀÅ ðeÕNó|C|éåXAC®áÔ]i{d$¹×~NýØvȨâz¹8ªsÜ^©µOè`+êÉv͸R^æ§Ä
Kzç®È·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±Õú»ôǽ°¢!Gx5eo7íC½0ò@\è 4÷Eí)+¾7¢ì=küªòqBBAéà7ó¹×â°Ù\ÕµôTz¨h.&ß|æÁĨíÖ û³ÁµLôãíÓöA¦§¨8gSk~1TSpzëoÁ_8ÍUcÁ I¿çñóOÿàà=!UùrTxF/NN<zº #*xÃyIæ¼m,}§¥¥ê|=,;0õFyCi¦:dÃãíG\Eùð o®´"=̽T'G¨¬£_ªàÇåÆAÖÙ3¼1éÊIn¯ß*&~é²M¦÷)èIÅ8X<´Þ·¹¾£ìü:í£ñ÷ÅCÆÙ¥ªH-=e½Gò1,Ô÷Ý##.®êè4z3!zþqú-EPéØ{61FX@sý³5ú2ÅÄj¿éÍq¦jÜRE$ùMÜ´ÍK,嬰fÂÏo&ó÷x]hmä°Ø\íjæÉëbkìuÂççìG]T0ÜÔ #*46,¾HPø]PóÊçÛNiZ×î¸@È¿vñïV¨·QWzú0;ÏSÈ̽óÔâùà°ä+¾#4*&µR©²7¥6U®CÁGÚ;qpÕ¬ÈY(͵qwQÚäVÇUì]sbývnû°sðíÛû-;mEÞ×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ûÃ]§¥=Îydø;#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@é¸fjØDð> H0ÜYû\àéÏ(lvaW,-ûÓKy²ëÔÕ%TÜË#4NcQcFÆiôÒr2¦×ü6g#T£Âé{àÓß¡Fxe©üw:I´úa¦Ò#)þnrùº»wÚK¾oýzïDÕOªyÇà*Lߢ_Í#4¾Þ.=äc°%;óÐÓo¥ÑÆhöxX#4VUâ`c´Ù«9Ý)Ñ|(AÐ[¡ÔLh*Ô¼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<È^Jm!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êØ¢êô#Â-·¦ìƯq9^Á&û" .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¦²1G®;(0²Q·§r1©·ô9·ÔgyÌÙ¦Ñõ|{kOn®ÓT;M!ôw¤àWZܨ;y8»Å` >ßjQY{ÒëtÒµµµÆ£÷Å?h1óßÍ ?¿Dn»wÙ)óv£ñh3Üe4#*è¼@;7pÌ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<yj o^½#*´äø2J¹©ê`³Êù·$rF|.omÇȪ DmI*RIôÒ¶Ö£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%ÛÀ Ë©K4yæ;»-ɦ$¹ShäN!°Åw3±ºxÔ Ø½¸è öë|q»øɬõÅG'ãø_À%yrÜúæ_íÇ_´Fÿºü×0qgJüþ·ºÖ½¼ H¿®B`*¿kº7ßt<ThàN´ÕPfwqÊ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ñ¿iAHRüð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êÑ´NSV)ZÑ<:>þçËðçÕë_ÒÓÁ½ÎáÑ.ü¼{qô5ußïu^íÂ_~=úê^áïÖ9媷ñV CÞu/³n¨ MZê×/á°µ¶}jîµ}ª{|7º¢f6ÉM¹ÊI½ª:$óµí|½ÿâåþ{|Æò\^¤XܵÜÛÚy#*:'Ä'ßê×o¾áüÈYjï_y=CçðèõÁo_¼\9@ã¹W9èëBr8Húµ$Åîùñ M_¼yyðÞ÷A~ ´¥]Á[ÉÃÈslæ,Ƨ}éOn´¢víþ#)ÿ¾7XÆ"íYHâ|æóIx©@4ÎG|ÄAq<lÁG·qFÓA@¢ÉÙlLh^¢Á×^ï·µ§+xbjX±¸¿ÄÅ«¶â!RÞ¾1¡°÷ÃÅ¡?jFYÔdÅ»:gS\¢ÇÆÂÞ»*7LãÏiªEloh úó,ÜX! ÎI}WDÁâ¸W+£`NNýÐÞæ"ë >2^m¡lõ]»Â,G$E¡m\uc%Å¡©ö±;ÿöÖHfN=ãUBvéñª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ÖË£ÓÆ¿÷ú¿èþ*Jw¯ÿ'ÅõÿéÖöõÿ{ÐÿÎÝÝ|TlïÎî½Î#Ép ¹èõ¢SYðnÁÓº=äÓ,ÜÍÄÜ$X=óÙ1ÿ¨(P>þM9©`ý'ì^õ¦wÿ§ÛÏ#4ëÿÓ'Ï>ìÿ¿;ù#4h³ âÙ°¯Ú.S=ÒRTH#*¢± 7ÌQdP$Éò6Äú^}A-Æ)üûõ6È'ã_¸cýo?ýl§¸þ·>Èÿ§ë
ÈßËöYÂIÓõ²å/ß¾Aq+=8Ùðáû½#)ÜìÇææaçÇ`$(
XXö%°øô§·=ú{+g³ÁE+P/»yç26û/ä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¹ÿæe6F§,!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ØQl&A]EÕ½zþî`¯0#)æëëÍüxã¾$ö7û)]öÚâ#)&ýe _kJáÜÉ?ãÐ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Ò£²@d8²Ú^E8ôHõò 3Ö¯~F#4H§b9w½|eç]';g ©&âé(P+ã4V÷ TeÖCM°ïä 4¾PáýÁ¬SÔa!ÖLÜ}82Û_¦~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ä&vpÜRÍÈ« æ,VµGm¼#ìÂNTßeÔUQÇàÝ 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²nAͦ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¯5eXÉp¿E6S`;z]¤J~V·Ò8K¨K6f$#)öÕhÙaúøù#)qÓ{~mO'âݳ¶¼Ýeã*öl¬ôS"ÂôÔqN%ÐpttxP´ÉÙ{v¡4ál¦êôÝ#*¬Âä]c[ÈÙuxÄ:`S¢@¯Ã[¥Ý&Mmm`ã¯)sè2µ$ºçhfNèX g*ÝëÆ.÷li«Æw÷.7bîñ}º»òË3Ï×,``ÜJ0luþÛA^äÒ^´_e¸ÆÅp¼¸"Ðæ¿ÿgp|s#*ÉƧa²mlÊ9Ù±9eí7×½¥®Ï=ú©è"óZ¹"þ:UöMxÑØƼéÚê#*Sý¡ÿ¼(ÈßãÉö¿¦;,ìÚ³ÍÑUÀò'¡/×uù(Á>ñEl³ÇI·s¼*õøDLto¹¢¬¸²u[VXi~¦Ça©8å&í|q~>X¶bà(ÚkoóðÇ~-ìZxøËhö¹l<Wí¤Ià·ÜÄ]}ª·|Õã·d:|-¥!.»VÀ§4Á±a\ X{äâÜï&¤ÂC¹¾x¦¸»º¥N#*·_6uÃÖhñqèÄ#gå;hübãè@¤®¾úµB¹AÙÚXl©âMú[½`#4 ÉRÌ_ùÄxj(ôa1¨Íw6Õè\/8m>a3êDOµ¶©Õ *ôàHìyÏK¡2䶾ð¸#)wú<Þõú3¾jGñéFÔî!dêlíud¬dCµ<ýVèqâÚ¹¯a9ýÛõuAïØ=>2÷?ñçø"XV?Á¤ ºÀI×n¹O¥ttjõ êZ.G¼!:1PwDf˺3Númù)Æ¿ÀÆêZ£Å¥\ç)ä1âß,c·<áë©ÎQ~ÑöÐ÷Ò0Êz®çÜæó]ÝÖtb¾¹mÒ
<OmZÆ>Ãïå4 ª¦vì?t>4'èØee}®ñÚz8¶¶ÚîÖGOþiÆÙØS¨Õ YÊsÍ䶶Ï89wª°Ky -²óíÁ([iSWÅ©MÜùòý7{_cRÚXΪ£D¦üãÝSÏTXQ¼T7E¢sSoJS·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ì²ÆcSÚn³éL>½#*»VÄ%Pîb8'¢ ØLZ1j#`Ú¿}ñÞ¾oyû>JP(Øëê L<9áîBµûê-5ö*Æ8ÊñïÝþ«×é]´ûEîÒÿýìIÑÿ˧Ï}°ÿþÝÙ1þ[ô[µrº:pG¼5Ìp¡Ú#4¡kî$nOF¶ô×þËtI§%¾Q~y¼4ǧíÝS#4&X§|<8VÊílKña¡¤¸cë{usñ¸õùí4Å øE#)f#*zËe³76{Í^¯¹ ûí¡ÖbIì¤3p×Ü#47¶ÁyÔ$:ÂýÓÁ×¼Ãþj2+ä%¶\+8÷üa«ùªù#4þbà+ ŨØy¯X¯~}É}æ`o$µ±è«WþáwbH oÉÑÞ¨'éÏâïw1³ÁpHæݽ½JTê,)+ìXÂÄÂ$QOÅÅAP2}îÞ'NDî´y®nØcN&/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.Ñ[Yv,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©R4ojzçÜVæC#4Ç*ù+8xsôzïÅÞ×ûéq8pIA§4N¨à2Â+¾ £woq¸¶x8âF#42¦)HXuZF7ÈEì¼Üõâ»×G¬2&iÉÁEsCoTußgýŸßϽ&̤NÒç a·øö¦å[èPYÒ¢BVF·¬%íleI-9¦çS_ûMv[@®55Kh®ç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,-*qN&ø´Ñólº¡yè{ôz¯óíþáá¯ö##*Ù¿AÕmx=2»ü»¥µO
Õ#)¼¦ê]Âê)Ìv#4m¿
£
à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Þ§0S 9üä1|#:£ÑÁÒBñæhÔk&gùí~§3üGßÿ>é¼£¼KÕå½Q'³,kò~7ù`tAQÆsDçÄ_÷þ·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(ëºGSWu~¹_A¦@ÏÏ=vî}7³!þMƶuÂÜQùt{«IÄb±=#)zéÏ·ü·ß¼îz4T[çúüße´&Íì-¬7.Õã7ßÇ£þ¥î¡)JÒða>5à§y3ìwq#4Ýܱ7*!ßéÐtýÂt¦_H1A\vñôÞ»l.aRÁÂn#)}wgv<áýW <=nEËgOQ9mÔß8÷Ï¡þâÛ KéG¾v8n!M§2ælDo#Â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ÎLzsTzÐB Â`xËÚ®MS"p×Ùd÷t¹/UDk@ù7åH£håÐ4êzÔá~\ku8Ãö©z"n[|pNIêBwxýöðû½ÎÑ÷_íÆÙñ4YÉ(Q)¯õÒ<ܨX;ö§ÒsW³ÜĪhV)+׺ҰY¢W~H#)hØj1Oì·rBHk1hã½#Z&£Æ®ÃèwTg$[ÿúÅÿµó⻣·/÷ö÷ð.ôjȾØ!Ê6*Cõ_öÿº;W]ºËQñ+ÁÍ`£p#4_µAbÅ{~êõÇëTCÚæÒ«½¦J~àË ïÐÈ(mmÚäa;Þ½xýzÿ¥ëñÔTU2eGÍIûØ;õìn{#)²õYsM"
¶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~ÌóØ»Ò
joÒ¨û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¯·¸OW¢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 ]wx×,¨¡Ã?±° Jð²^óv`ËeZ¾3ÆÒØÚu«Mì½&ÅÝñ5³.Ã<cèilx±ËåÆqô ãÄ&Ø^øç/¼¿Ãshßx§N ØÆ#*«×½ÜéÊëÅE6óx²üÎ6b-¶è.Äê^@¡/Fý#4v/²/ÌEü>ýEbÞ̪wøzúÚÜ|Þ<ï8ÖóZjZë-Âtª¨pUQ¸ÁµTèq©àfcÑøæ5nUýÌúî-76çf¯%з߬Ú,`ͽµ¾ÙtJè˼Aßc¹ñ3Oîà=wNL£/{½"¦ï_ÉÑâͲöÛi6î¤~ýÍþ_;¤«ÐùöÅÞ×oöèðí«£?¿x¿ròçÉͳ§Ovpó:9ùvÐMòÉù¹xo¿IçÃßäf(@å~¡*Ý«UR~ùR#4Ùõ`Rµ]*ýln5(h;Ðbê_Û=èeaëöǶËI(XT÷ÄôÖ´E¸VÄ£¸Êâ½þ¥¬d³laôÕûÉdþr0«ë1Ktÿ<ÆL¼Ø>2&Ì£a¨ÑÒÏqN7> î®N"ÃËq|§¬L®"wH,õ©8/ë¡B3䨢*¨ø²è5nÐBw.'5»hÅ&õYr²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ëidUJó,Ñ{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]Ú}à®qrynP°Â$¼Ø±Óp-ZÄ&dA{Ûª¤Ð÷nhÄþ*tn÷µÖ&iÓÃêJ ÀÂäqi¥Ü6)vqS^ç:í`;Yg'=nòUýsñ~£(¨Y6*vF`%ì:²knS³Wù;Üu»ýEv8ú1 9?~ßcsMä?½ÿEkv¿ÊTm:Wñå?a繯8+·¢ZkeuU³»Ø}øp=2¤ÙKá]ª×ÌHp¤F£^ÏØÈUË`åuÍ÷Ç×(#)nÊÉóÿù£^tÈZR|ùjW´Y²Î¿§iq£áªc¶ÖmTÑ'Ñq¿zISÍÈÃïjÙyyÑÛ+½pÍ»ê`Ëðt¦/ÓB¹S%U+T÷Åb9º3tÚJ>Fà%²Ð{$<ii:Lס\xVvòñîîæö©¢;zG&Û¢,ç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áÇå³ÏjIKDP¡RYðÛIH´Ú'+£: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$gM5w¶¶?Su ¯þ¾Ì²¼ùtò;íg5ºÎ.:JäÎaVÞñuÜ+²N
ù¯kfo÷äDÖätäÛÒ>-;üA#hLäålF{eB7Úhq ÇDèÚ©¿è6×c´zfÝr9,ý'ìÒÈßÈÌ·æ;X#*zºâÎÔ®Û²>ݶe¶·ÅÁ¥RãóÉñÖéheàdwrbÚå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÷>_?¿kwaìm4xyAqëÞ<+/¸ëê͸uÆeÙIqE¹8¾L²Ùyg?-³Úkïôî{ñ@UQ7zZ³R¢8y'`xªèA¢£ÌmÎïyBbR[Ë*ygEB=î:uÔùÛôõÿüîðå7ôûù;ÃâÂGÂ=òt®¢Ïh·ÀÌIÝ/Óâ{Ñ÷@ÎS&ó¨nýÃm'þÍ$Ãhpr¢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Ò%Ã[(ª»égqoôaK¢âÞ#4ëÒA~é&iÔ©üv¬Õµä&ëöOojSXòg³Â]áºWÒÎ);¥,fÃ4BÝO>AADÏÚÔ|Ü>ÉÆü QþÉ|2ô>y²óùÓÏ?ð¯ (ì®úñ*E5#ǧ©¢ ÷áÿ?ÜÞÞÚ{ûíÄi: `ËhÓ©mÒ¦êzy'cÍ¢løا=ÝEíöÉÁËýïÿ<J'Ig5£~v÷÷Ë"£M?8oÍ"¨1këa+×k_Z?Bë·J+6zAÖXhx]4Û¬Øõ¬õLÙ.³&mMSºÉæd¬æÐ9{ùg¡ì»yøÍwÍ(j7ÏÐ{ë¼Ùd¹ çf#´³8Ë"TÍúM(b}Ö°ÇD¶Wh¦¶Z<I«1ëÕ\ª*BZvZ?¢AÞ¤EõÛÍÃ,ÛEIl¼^첤Ô×[:ñ/ÁɱdM¿ULÕþÓ[³kõv8®0pôú½¹m¶Èú"ÂÁVÉ ]ñs#*×Yª¿5-/]1q:{`'ì0É$´oLA½2ko^¼ÎÙ¬Ë÷5ÞQÑÖ 'ôíA±75vzw«ëy{ØÖ5~Tx½qyf6Üud['9ÈæyMvpöCÕ~¸g¤ê¡wz#4ÒQßG¢tøBÖeH/Çø3i²+f§KÃñ5Ωµw}G¢ÉB³îNç6ch÷É×Ä<5¡Ò1lf?¢Ó¾ÅY+:iÃÛÇXPqpYíÚìFÉ&¦Öa¿#õ±u@«¯sêQãSVÌÃ_©û¢@¦VRçÒ(²rߪ|+K ?EÞ#ªB<½pXÏrÞÇ`ÌÆökV'¢Lxg¤-Èý±dNVÖ=×*#*ö³ýÌ7Ø9KJ/%83£êKÎl>c)a.ÀÙ"ö8¯eêy64KÕcã3$KØé®
Rgô\Yd%ª=²foθÍâ$)Ô©¢LåöP¾n©·ô±Ëq¸FRã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ÀÁ¤8L5obJ1Dõï»×ûï ú´ Äz®ä¼6Äó_æxwó¸ó\#*â°+@Mb&bÑMðå}ì½2äÊ
ýåàõÁo8øÌ}ù\Ȧ"rC§¨¢.°bêíøhº¡½ÛÁ8*q`o6Ù©?ßLfWpF`DN&zx3S3!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ûª:oLëÖÞ(<OìN¥WÎ#¾¦ßÖGãÔ÷uħU7fuf©©4,
ÖѬUuyqrÎ+#*3äz¤È#4]ï¾rJÿ¸øüåYPwô´c}]Û¤zýz¡t¸\*îî=ß?Ü;%OwÉÇí#*§';çBg/Îà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Â)ªÃ-!ܲiapp:Ä:Û;9ô&#*a5µw3ÊG^Øylúæ!ÿ6¦+5quå\É*òÆÝ®>9ø-íî'.ü!|Q}þ¦}ÔBöG¬ç³¼×gç`vRÿ#*F{kFæÙQ|¦ùîèÆøðâ&M_¿Ü=[¹ÕqäÙB{IP|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À ´æ&=8I]µÇ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"ÄgrV¦ÃXÅÞtöW¡+ýiÿtt¸×Ú>>KügþÁzx$NÂðp"u^ÇXúöhô¹ÿÓ0Px3×üOË\ä£\û?Î¥é_qý'øÿêuþî¿îóÿ¾ñÝwyÿïß>è¯þ¿¾#)ÿ_ÀMÝëp«=/;<wåý:v,¸Ó)a5BHÊ=,Êë¼Ô%|z'Ô~¾Ñìº×Ç"VÉ{üií7´±üå#n`0.z°)iö}ïBEzrë<=¿ûÝýÿ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áyY6§±%ãÞ#)aØF+ý%û2áâú2&BsC¥Ãºkïy%dõ
×á:N)¼ÕPËÞ íþPÑmüÈÏ`+ÀrP®#)ut5ªUcØÑç0÷ø
ïããÔ;Æ@ﶢËrà¡®AÉd:ê§pÿÕzÔ¢'¢
ë5X³l¯>ä(Ž#¯&ç£7#4}kMæg}¡à´òt¿¾w½jPѽ,3]ÒM§ÜdpÅï?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²lIh±Ò/Èÿÿ& ×I|Ì$8fsÔûéØѳMq³$+£Qg%ïÑVÓë;óòaN©æ¥ÈM>èýÓÜpÜ#¶O^´\ë¡!eG¨¤V¬kÎ)©¨mègõ*õ&©]Õ4\5âùçQe¿$Õõá,%Õѵ1+Sz°R°.ôÖ¨eÈRΫ\
¢
'NnOóûw]äOäÄ ÞÂlþöÑMbóþ?%u®ËµPÐPÎqjïuýÇùú{$ùÿ7{5#)&d|.¦°óÜe$.ÏY)u`&)IØqW´ÛcÉ:ãÄÐÞPèÂÜâ#)¡º±'>¿?Ò"ø¬ïÃ×éɾíäߺöúÀQÂÅü¢ûu,}ÝÌÕïPvΩñôy:J;½à`ì:áø. $´/ {ûË(]¯CuVî^ÔÕÂ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#*´D2,Ñ>#*×/÷wÂreS}ãaHÿélt1í÷KuMÅÐ6~¨äißÏ;à®â#4óîëiÿõ¿éþǹþ?~úèñ·ùûߣÇ_Ïÿ/äý?§e*#)îÍ?>vÓXTÐüjÖ\Ë5PrwLp¹Ï´Úý^;K³¸ÓBC§ñ®"
Ãlÿâ;E¶#)Ïrúæôlï%:ª&Öd##)9~Ê«òa;í~.ÖÁôêtIý¼}r*°7´G"ª$ØBk#*e>?ù£°ÑRßÂhÕîììîÓ¢rÔ/õÍ>½×¯MN·´nY»%Ö¼C-Rò&]ófoªaÒhÕ3Àüµfp¡e(Ôªó'*Ln«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¢ÎVSvz~F/(ðô,MÔ¯bwàLVÊÍ·4Gl¤fy ZÄGÚLJEÔµú¡ÁÖÂtè)ë³}A´@¹ìNµßûF÷ØRHíÈ9_ƺ76ÐäèO'vX#4ð¥"¯ÈuëfãNuB%´©x½¼µÈ«£GÒb#)=åv®z}[µ|}©Ò¨~sÔ¢|#4!·zBK¬æâý+âzCíÁ,[ÔB¢ ¨UÙ¡UîÁyh¦7U+´ülmâF3Ö#4jU*ätÔ¡Ym]ê¼y¿ëÖ"_B#*hÕ Ó"Myë´æFþcggØðÍÞÁÁÑ/p3~ö.¯&ÉcDÎ&hÆà`«aW£ï<aõ¼2~$7V0Ö·#4ëÈøyfZ6HÇíÉ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@ÆÀ3eTCf0º¹¨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 Î÷¨Ô]zsvñÖ!Vìj½ëOfyÖÔ¨q`îÂÝZI?p2b7£ÈOÝ×í¸ÄæWÓ$2záë<Æek5û+-c=þ¨ýbk«fáóù39u¹Ë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çÿÄkNrRA«çßd3Z¶Ôâ£b,#ʧ縦º=WsRá¼#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Ñ,õY6Z7T%00ëýl²ø¢&» ½,¬ðSçÊÚ¬Yðt#çÄ6¢ü,®ûGz§NH4H½VM!é³87º±»ê£jÂbvp¥Ö[Õ÷c
E`OëI~òMa¾HÇOqÄÈ{ÐGÓ5ÈzÄ»S'ßÏ*yn9&NíØMDzB¥L+r&íÛ#) ,ïóû쩨ÇðJ#^rõ|Îít{ªxʵոÞ*gÂu±Qàc±£!ÙªaUMJõfE .±¢é^º M²{]Áþç]OI®/ݺ±Ø»»¦¹^&z¯\3{AßË£ÆïÜuÔøxâP·2eÌ=ª·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´% ¡òíÏ,ü{gh5KU8òYÓ>º-Ï92c¾Þîþsjrmkr]Z²ªTð¸ívÍüÕhp]jÓ
ÊZU¬téTdAí%.p}þÃøñm:.NÙµ¾:M.K/N[Þ^>qëvËPuÊÌ: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øÈ"UD誤âS ¨IÝ3Aú\åÜx¨X¡Û|$=[\DÆÇ
¾´½l8* u5ÊÈG¹«âcc3Æå+DdBwlõʺ*Oÿ<Q´<#3ZKÛµ mÒ½/©°4¬C¥ôKcÇr]-Cßæÿü'ÞîþÉб0¦K_çf¼$gJlÅt¼Ô>´I}´h½Ý#*¦7¾æZcsý/Í·o»~ÝjzÓÞoÄ>üðçð¾í´ßWå}ó^yÄ=4H$¿éúÓQÃu/`÷cßTáhõfx*ÛX5¨
YoÚõaèÁêØ9ÏEÙ§=ª¸M¦Dø͹eîËFéÐAs£L[#ûmÃÆð6@+Û=
ioúz'K;'§îBóqº,éäÊãn_wí;/#4f)ïm~CÙ³9`vK{íIï¼å@Z°«Ä²ÉÆßYeîÞÙg:zl½#ÓQ¿#*ºIã3´ü^u#&ù-Oj§[[""ܬYÂyºÛ¡} X»2:Iát?Z^䨸5}ßæ}ÿÿ}æH4´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¬Å@ìFbÝÎíC|¡.iuô=ÞdmëôîÝpÜu#4ÌE§<CP°¦ÈUhñ õûÌW±±Sb¯N¥#4FïåÅQÙ¥7¨x.1lJ']à^O\¯é!M ³Âèf~s'¶¹¨B|¡NdO÷#4¥ÁØ>ýGë`ûÝzyá¸ï·^îyõÐ5}òR3gµJ`BÜkî\<6ãøW6a©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ì¢ÕuD+¨RýÝ<·cÅR7,åÖçÿY«äLÓós1#*÷Äß&À»Wëj4ú¡q7å«Ñútæ ðU¶ÙQ{!i©æ±|Z*xèk@Þ¦Õåðì%Eû£¼2ìú`8¾¡Êyü;¶#EvICeÊWëüßÙþÐÎn~üÿï¾}ÇÿyúÝ·_íÿ¿üù¥#*ïë0çYùˬöf~ßvrzÊþãuŽÜØÐÆs^¤ðtt/l°áÙí#4¼Ûi¨a
¶Os¸=*¦ê£×ruò>ÚÈÆÿ0á¤ûûÀ=ëÿñ·6rëÿé·]ÿ_Âú÷Á?ÊÀÊÀA¾@ÐÊÄIÔ2Ìáõaþ==~·^òêkkÈÅ!4#ük±ñ#*ß% ÛKI¨voá³~Ç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¿lc×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³Vgák¡,$ë#4»Ès¨M¤¹"/Ùå*!äÀ)E¼ÚÞÝ?!×â~ÏPãKmJ,e?^ÓnâÙ¬Ð#ècW:*í|Ö³`}XûvcÔίÊÇûÿ¾ÜJ'²ñ$ÿêÇ÷¿ÿóß±ûßÿ½ù]ÿ{óÉ×ûÿ³ÿër÷9S 8Iê,10)K-Áÿ&ÅÔõÒ¤ÓºøHÑ[¤#WA>òêÈØ©}BÕûúÎì äoÿâ÷5ñà1@i-LøÿÂ`¾%?)ñÂ!#45ÅÃ/ê\ÈF¢mj¦+üÌ:íAbG¸¦ýæÔ©st,ÑêZqí,Vº®²¬VÔÚ#)o^º¿m[6:ßÜ~ºöÃ¥4¡òWåTù$ä,΢2z§NgLÅAN.ksk~ ãÀ*Cf8h¸ÄÖ°Á$.Ó~"]°¯GïàùBÀÏ*ú_èþ·ñ$ÿ{òø»¯þ¿¿ û_
ÿ§Ùìý?ÍfîÚ2Uº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ÆíAk7t\c=L£5Ûzô&ÁKg¤/§ìia¶øá¥Õ7+z7HÌ.
µn:Ê©Ò.Mf6¸D#*QzX|BZ/¿ Óaã4U!/?ò`A¥B;cìY¨7z±Å{dj°ovÇjàÞÔùåk)7;'7Öj^n¨ëÜØòÜ,*¨aåb,Q3A¦Ý\ÏQo¿k÷&°èبûQ¶t+¥©òÖ³cêM`ZºR}ù
ùµ@;¤Æ°ß>Æar#ÌΤ½d¾)ëiï¨öÏ1M4îQwÇß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°@Ä2Cûèñ2Û6A+³Þi÷ûXV 8üèúc¼y¡JWi¿(#JÞ4¢e¨n=!h9-B»jº}`òÎëôDP÷tá±{è¢Gtî<#4Îo°ÞÊLªüß`êy+çor8rÒÊ:ãÞhb``(mo#)³p¾Ö¤¯Ï^Vchû¡ôÅ3)[ãÈyÕÎ\ 6ý¿k¶M"ázÁMO°AYi)#*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±aTnUMî²9Ê;©°½`4Ob"_°ô¢}@´ù¬®j.>Áðüå,@ïbqP[#)vºkÄ] j¯g=mz[\$çXsÁÕ½:*,ÕΤd¹ZÇVT#*2®:$fG¯NkL+Ñ#ÃPV3#½¬EÆai2¸pd¼dܧ$Ö¾Á'³ûæ`íçO¶OÞ´,M ,ÚÚÜdULß`plF1·8Ì!¢¡¶B¸þNû-M¦#,F¹ÍYNP±|
¢|»ì©ÎoͲ)Ù|³l/cÒ,M2.O¦^È,%V´*µIE$|¶Auýh§M¶Ó hÞc?¯6ÀÂ8#*ì×ö¿äÜk¯VT]ñì/U&N4Ã)VÖ*UñêròêÐVÅóxE{v7,än@ÎC/Îî5Z¾N±6MtOWvúi{ܺh³vnUDò®îfn46NÓ÷_¦õ.gcÚ>§)Â¥4PïÂ[´Úim¡7ºÅn±ÔôN9K;I/:GÎβÛ8±y¹½¢Þ)¨!æºÅÔn¡ÂÁpUk`¤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ë#*.µð]£ñmr±à Ü£Ú8ÚHYNQf.×ǼG7æ¢;MÕ3;ס٤Ç%d÷÷0u´*"Ëní|i_ZªqV!%¤GÓv°¶µÈ=l &IjÌb¢Æ³G$ö³:ÔÛM{c.Î0åûCá°æspé¢7sZ²ãöBösa¶g#uÐ;ó¼æqk óÏ1
¥:¾«Á.iܲjÞé2¨8²ûc£Ñ¸7@[3iCO ¸¾ÐnJhÏ4NÚýKÉkàOY ]ä²wý[x¼8ÙÛÃ#4dÁäªEáÜ_í>\í«5*eHÇôÛ`×`ÜËÇÒ¢ûE%ª(3 aÃEEÐÝ*µ(Ù?OövóUÅxWÕdEM9¶zu¥Y´|ÔØήÅMvÉ'qa)ïz}6 yµlfª9D0A#4÷$g#)U-$qk(ÈÙ($K)axSÂCí]j>ÝnTjfè[¢1Læ>ÚB3ħ©³ê£3HÌúö`êÃd#4p $/Yí9ö0*+þ§ÙJrü_iYÄ]3wµxyÏãNp.U&JqáXÚmÿJgÞ»IMUJ8¹Ò:ÙKW|M¦MË;Ï W§)I1¿×Q¨Ç¥³öÍο[d²rÛî_Æk}ìz×qݱ +jÅ´p:)ÄåÍ@
¯[eÑþÝ!A¼GVÞ90ZnoÜÐ×WÄ|ÿCØwßhþûߣÇô7¾Úÿ|AïÀõ«·rpÐ ^à!ÑÄóï})¤vÑ#^wä÷§îl#4èÚß·ÞfcÄ®8=zu²ÊZIøàÁÃuBêXþûö#*Ûµ.]Ë£éy¿× X®C÷ËK"øs;ìuèïÚ)íïfÐ_ÞFriMD{çeÆ¥Quà7/'WÁ÷Á&§Z:½Ë&é#*B:Ô¡êj+/åq rLir%ú«N¯ß}GaÝgR8I@åÖ¡·Q&
"Ê?%:è³ ¨QÃáä9ªì#)ÙåtNʳTlÓÖ«3öû¢Ól`˱ÝkêøüHYìm¯oè,YLBþ³=&Í¡0i( ]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[II/ú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$úYPCõö`ÒºìÏ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ì2IÙ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{÷h6#°®Ý£ª1Î)8úµøO:¹$Zög±é¹,»,ÌGWTÑ-S>åJÔåût]«#*k°?¼Ä4æÞuc±xÁÉRjü¯i¸ìÊYUw¢ÚÃ(·[¢ßm£öLK°Î-·ÅR ÁüÍ2c½Ô{Ä´~:z¹§¹"#*¾ê#*Ïå_#ÑCk6§ºÙÂÛ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[Þ¹bmçEã¢7#ªvÙéÄÁåÚZÔëZ¾ÝÏò³tØHzÊ«oFJAêp²î¶ýÓð&MTáÒ#*[O¼8g£8YKS¯
ÅO¬ÔoÚ°àj&¡åÇѪ×þÄ]]NN·Øµ¶;L3¹âAk'Ãà¡d&è3vê>)4_$
kQ#*FöW]õ+*pÐÙíém4oç^S?²ÊË~ðÏÛz-þÚí÷%¸4Üðw#4Ç#*3Í9Ô#*QSÙb&ÞÅwúMíçÓÖIìG¶yâû1IÂXPçY7ôÜ»äÀ,Üm»ý° W¯®*t+ïØ
Ö`×_5S`È`¸bv@,a?mÿ¼×úûá~ë'rxnoèÝØ: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Õ¶ÓAND6 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\gi¨-+º5~Ù~ÞÚ9:|¾ÿ¢õl#4¼®Âe¸ÍþcïÍiõ:½ÑÙ¼CO÷[{/ÏÞ´O^l¿$ÏÞ`ÂÖø£=¾ìÄAç#4fëÖª³&Æý5°¿oÿj_\6þ*V/·wNZgG--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ã# ú¹â#+©aoßôÔñ]àÀG¨ÄûöKbéÌàá¿\ÎKÿrú»«p5£6¶y)£ïL9-Y5ÅÌò죻µ{Ú£!\Þ¶ûF-g¶µÈJSqþRÛüÓ*æu¬eq!¸>3TôrÎ0 9³ÆÖ#TnâÏG[MV{
_¢gúùp?Ôê³CL½%ª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ËÜ/ßƤZM7!'¡kÕµ¤¢ë}ZLZ=ND'Öýsbjñ®EI®ÒLOçg³6QYÎÍͲV§ÓnóÍz¼Ê1ËhQlN ³Ê\Q_=ÓÆ&;ª9ø3ª|¦hbÿæ"þ£á?0:3=Ëêz>Eøí®biáÐk|AiP_í¾.¨YI4$ÜËî2¼ÆÊ¿ùp)ÔD:hWÝ5u¨#§Uð/)ãàüéXì«LÙ[øjÀ çÝ#)y127éP²¹$ÚâvâS)iù¦wýn+gºgãñ?^ð]Îë;]_®óO|Ú¤Ðrý®Á%4"M`9kOÂ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]èE5JG,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
ñ¦2TãM×í#)%;£17¼â(Ä+«Y²¹²ª¨G~Íð¹FF³èºa©¬ÍdsÑõܤÅÞ@,SN¿nÓ¯KúÄÔzÎfgíi<}£k:)'&«ÝV ck¨rÅù¥Þ´%ÕUFm|v©#*N,ûã\(±¤Sf6'ÛZ±Î?æJÌ° 8{hÎj8Þ læ¹ÌXPï?ðs#*:¥m0ö£LnÍJ]7¥ÂðÑÖ@äD#4¦úç`èq¡/ÛqøU²°³/îo(^È@.Ø°uó(áÈÑOLqËÕ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éäec|mGûeçÙ³½vméÙÃ7{G¿¦&XþÞ
`mZy:N·ÈP%rXgW©}Àægd|.ðØÛ¯Þ,!¬d6í 15lnä[ß½±Y}êúXöFäTOñÅe
t%å¤ÔïÖ1·u%NRÙmAö`lÜ!°
T1l¥v9rkò%&Þ@´ºfÂ¥ÞÌëøuLKsêÍ6òa|MÖ`6qBZdÊ|Y¢1}Jgohÿô}¬¬æ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ÏÏÙtp.qpų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),,µè¥²rB`î
^;/Y
ÙÄ/Ë9b«Ý&¶8
TÜÓÑ0¹ó2qÓ
EõO<ýÏ+té³é'ô;Ê?¿!ç¸=¾³* £Ì®P1²·øĪɻ`¾Lòë(Ù½Z¾$ËåÜÙ5læÇ6Ù ¥MB¹pÈË;Cq»+Þ0ð,lÄ\°µU¬NÒÂKCñL3ÞÛ#4Úí"WÚÄjÉpÆDMÛVBK¼©àº/k¾IK®£r§ lg3ÚBUxñµRv@®õÌkyS³Û$úPû$±t@¨ZàÝ)á¯h¾m5#4|¢!úsÍ\¶NÉÒÓÓ;;TÑæ\s<ëM#4W##45çC³$._'¼àÄ @³2¡ÅÞµkm¿I@Et¹ÓÕ\@£ÂÔË÷SƦT á*x4ïlܯ@Â}t¶ãuRPRÚÃ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¸êÊ¡8S¡O7- øU×S$ãäç×úÞÑ)Ë]1ïI\èݪîßm¿½æ¥]ëÇhÁÄ«n2n©<Ѩ,4¿sex1þ´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ôMNÜ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÷#es0§ÊE)PÛ0//¡6Oÿb36¶ Uµò®£NuP+jN#k°ø Ûs̨<tQK¤a¿PÚ^Âqúv¿FÒË4n Êá#4N rÀô®ÑçiÐkÐ7ÁoIY«ùý©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®KP@i$Whg\¸*ac¢ÉNE·@V3úÇÉÅzð:Æ#4_7c¡)CÿHïï+&eþi*ë#4/%©i©Þ#4VV°òv°âÖ¾@tÎuGÐ1Ä;ÇÇbÔDwIÂb2Uv÷Y³FX¥æôæ¨î)ò`wn;æ¯#4¿[=ä'r|?Ãu#4;a¾×ÒQ+(¿)(N;ø²c¬þ{öW§RbÅh"À¸¡ÝhG6²xámÞVÒ3ýµ·í8þWÞ,@ÜßlÄ$)àwQrIkI,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ø
GDCÕ@Rl UÐÈjìêÏúDzWÃÆfÓ>â'ë-]³
5þù´òBïvÀ¢ËàÚi´íÅÍõï¨þ=ÌÃØ1rd,°mùHmB.O£×ô°Ûôë#ÒÑÝ>>>ØÃÑå[
0¨¢@c_ß$0³yÙHÙ3Z¿iïà¹Íãgùqÿðù˳$#\öKúeÿðð³,®cy¤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´ùÐueõ<Ïü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äFl´ª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¦ÝÔùÀÕÒ}À1g1ÈÇ+gtÖ(V<½ßàÝ ÁfÖÛÙ:×%4þ<;R××VoÐOý¸dÖËÓY¹Fûz0·ÚwÇ xÍwÆ;[ȯ?yuØz¹Wâ¤Øó|ºÿ¢u¸ Á{~D^ ±§]BÌhqz°3R5Ò¿;C¸ÚÍ&µÉpÔ²þÕ¢>â.ä¢Ejì»;¦·ñögAA4T/J%¤t°Ï]Ò`áã5ýiÒãe+ÂeSj¶¶Â/T5áY\!|"¯Y{=2¹npÒf5Á#)Q-Î.I4&mÁÚ/Åz7*Nq(2ÇBpQª!¨4waSkCg6We£W%îc{K~CGôQQÄ#*ºÝï4EBóªUåþI¦Û¦8#)eÆn¹ÕéE±%è/ÛA#øèW¨jõk¥¡C"·äD,2ê¢ô2I¨NGg-XuÚµ´MZA¹ú}Â{ªH_}ªß0ÕÓW;;{§§Tmsód0/Á©×ÞGÇÌETÝ:/Nöö½íßõ`¹JÖ¾Óó~?Q|µSÃþÉÂU¼ã_GVL«ÙGqvGÕè¨äR©bÜ£AÁgȨ=®#*ÏÿÅ_áôP:¡×i:²hfb¦n\IJà_ÐÐ\=s·Ç¨î Æ
x;²°/HÙtij.÷ßGüz!#Ch¬5²Ã£¥ßoqGm¶Ë«'È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ʦuQ7®_ô§ìÞ"·!ëÏÌÙû 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½9Y¯C}U¶°ä¸§Øj®r`¡ðÁïa#)qhÕã=\Ú¶ð`åu0á#4׶O"4G½K¹ö¾ÍÉD}«u¤l"ë ïºH©yûÎN©;9âLSÐWËÒLÝ$¤·kò®®Ö5ÅùûSú£È;óÏwéú]f"#4²Ü0ð°Ï+ÚÇØÖÅüøíÝ¥ VhýÂÌ÷ÿñopþ¹ÿ¯Ç9ÿß>yôô«ÿ/Íÿ§¸ã -}PÔÁ³¤Î/&¥UPÑì]~/ÿMa4õÎh´ý;CõúMÏFÕà#4ZÇJ%j` µåExصy¢FÉÅȶNS#*ºÀÅØØÑú Ïʸfn&sã¡)M#üÍ|Á²cÀ'áßþø!øóûít¹
ñÛèàoyÚºñÜÚ?ÜÁÑ9òÜB½~øó{økhg øë6}®#*z¹D;·*ÀìîÒ¾?À5ÂêRÁµ:±Ó£®¯¹î0þL±T+W*Z·¦^Åí©RQ÷Ó3'¦·îïOàÅöHj¿#*]ûáRP#4ùÉÏ«rª|Kòì%=(¡ÌèÙîصü#49í`Ða[s£B,ËÀï±^Ĩ©eÌ ªYöÕQègôÿÕ=fÿà¾óóQÞÿ×·O~õÿõEÿqpßM.8ó£.¹ð×òßüXûH
SJæãÛ#)Å¢Sz#ǹ;Ì3%¥#*)o?{t6ä
ÒÊm²Bh¬Ff³ÑUö2 ¡lR5ʪvv^»1fE`åpUB/¥ÚrR5
DlÒ©ï2>ÜV¨È¡©`Á0½³i.JH'ßâÈá¦1ß#4ê³µKS#4¶-f®è:+þ·ð yHÈ°÷ÇW§-:_´ÎPßûùþë»`nÊG»{ öH
J!ÿxðj/ôÎFbSÓQ(éC°¾.#4î%±RcLD·Ý²$XUL ùÄÐ|T&»Jû}~ß¹Ïë·uy]Ö®s3FE¾ðð«ßîÿêó7ÿÏÎÌ?ÿ¿Åÿòþ?}ûÝ×óÿKðÿ=Ìâì.+ãÄm'¹ð<ÄÞ8õ$6Äøó¸{»÷ø|Â]ìùät>ǼZ®AØ¿ vFýiÿ-cñãA°²³¼_f.¸8#*{Ýàø®µ?èMzí~ïÿ¥ì²ó¯.ê9>¨«Ò½{Ü.¿_ ÊA(Dù5Läî±wR{,»V#4 û¶±ÙûñH<~DÒ»û§g¯ÎöN[û/D ñéö²É^o x:(c2|ò¥oÉ-K¼[rÐ £;a$ù d¦ÚïoÄgtTÃüæì§#¾ýF|ÅÅhlNEN7¢»pÔìA~©xZ&õCaeýÒrLOêø(×6Ê£?HCN9T v¾åoS'ÆÇ7Q,ÛgB(2çQ!þÓ0gO.&£0gÒè¤Fö}BC¼:;Â{öxÓÖÁ´àñ#fyþ¦e~v Íd¶²=ñÑé_¼!¢³+¿_ÝNN'§B7;ݼ§Øì ;DaR {cE<pç]7)ÐÇi}ÌNƽÎubô~|x¡ß\vy)eöÇovò¾5FwÆ:F¥:*¦êTwîè®+ϾÙô<|Um
PWÑkXO®D@Ôè¼íÈÏQ~úô#*y¤îëÂñU¦´D¡éö»iØàÃ#íÈ(v0.þjl?nr[çÿL´ÍµµÕVÚè¤÷®ÓU:ó*Z]§ÿCÃÏ«TfÜ *§`ÖûÔÖ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Ú¸Ü[³:UHe\g2¨ *×Q>ï%¤bj6ù§`µ&+;~³÷úÌÊä8Z¡O{ÊpZ3Ø¡ç#44°9Û;9tLyÈ(ÆÜ´;Üb5Ê«B.ªJéVç®öQØÛÆ
¨lC¯õΧÔW%ðø[;eñÝeîj°ã²ÑE`Ð&÷b'ÖÑÉSÛ!$üÝB³ÑçöÓsRíÒÓ>×Ä{ùãÞîâSRç|ÿ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
jRÌÈý^TŪá¹$+á#4¡ÿ !&}EñD
+¡¯¨rz:ÑÎq6j½¬Û»4:¤åùHÿ,²Ì¤Þ¹ÃÌåP«0õ³>ª}A_a)Ú×[f"))À_`@DRÆø¡£Ì§2à?§'"'c¢l³È¼$h4Õ¥ÕAà1Á%Ã8§Ü&ÔTÝSsJ/ÇnyãgÏ×t8i?²á¦Ùæ"Kç%W´²¡²õuÆC¸÷[1½ZbfåÛR*¾jµRÚÃÈP9EaôàÖ
Zú`±t8MªRj;-±>0¦¡/\ øVèq¡,h²àQ">F§¥ä!qDxðîWg¥n\3çÓÀôlì ¹5¨ ':ìë3ÝN#4ÒTãd-ØÒ^+ÓÆ"{Àl½è8JX^·=\«ñpzyƳå¾Ë#4î$éßØq¢²Õ»Å9c`)˽|toxsé÷ì]ð'õ0H¹>¡ýzEæUeÕ´[Kÿ¶õ."²ÀÓ®8Y£x¥¬.6Í¥ëà!,h!¸âÃ-+¯ÏÆpÖÊ}ôrÊ[ü"¨%ïæ¢7ÒkN\®Å{ö ØÌ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þµ9p,¿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ø(RtsL<ä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Î;qXmÙÖÔ÷ÍØÆI¬
7á¼ø¶ç[BÜ@éUËodfÎç"-®9 ÑÝ5¾ÃµÃßFÊy°¸ð¦H®PW*o(¥G=ºM¾¨2ô¼;bßvÎw¿ÛB~CZÍ)ª(.*6·.*ÚÊíË6HÀë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ÓÈ'lQß%v^®ûIBZ[¥#ħ¤pýb0\GÙg²Þî÷ÚAà\Vå&Þ£:¯©pôó«$f\)ÁjZ¹É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õöíÀÇÝ'ADè_SgEÈ;kTW.i¥H¥)Ê(úY^K##'åÒ^ç1}$OâÞ,WÞÎËt6J;¸p?Á½vJ>æ?Ø·N½Ð#E lDì¾6½¯GMÉjÄ.øÛfä®5,Q:«Jzpt;)5¸/£ò ¦Ãèóø ¥å;²Õ#4#eHoT#*ô#á°ËsÚ×?7I¿Tf×?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ÍFq&©áÀ@Å-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¦AY<è!TñÂ~Í.]Ãt@iY¦\49YT>HºfÍûÑÊ#*yCYðíÑöD¨ËÓðS»Ê÷W*{MfdשüpÎAΦ¥*AGô¹Êäï?vñ>³ôgàÉÁô¦öà:rpúÎe0hä¡Ó'Ö$j\Ô5{#)Pç^Yökr/õHÞPp^É Îá;#*q6ÓÛTÇl÷Æï?Ä]%&JoKиþ#4ºÃìû½ìâúS4Õ+×£¦ã9NqjçÿÍB4ü#)#4P.yìD~²rð6S9y{`Í+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Ãblp§´;|\Ñ_ë÷nKà{°WibÅlÜçwÝen#)Sµ#5Oá1#4»LlKr7Ã9uºº#*?nHï¦Î©«ÜðsTNÖWPøÕÀ&úufi ¬¿à³4ß¡§.[qMÎ\ÚÓÉ°²>f¡PeDaEJõ¼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^ ij4¼Y#4:/$Ó~)^(W³#*"´Õc1R7í÷n]sz)Oß+ÁAÙ#*q½&v.X·oC4DíóÓ[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-ZTzÞ\¼ô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¬zg8짲tK:IéóµÔ ¼Â É:àȤbÔ)¶/ȺLò©M*_-?¥¦ XùLF9?ïäÇÀôd2ªpu·¢¤ôodwmËìÖLBEøUÕð5ñêMÄã9ñ¼õ40¸iÝ£è8pÔ³¾FÃQm#²ó&4v¼s
~YZf §\²²"ÚÕ96aj>&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ílg]®áAnÄjçõëÐîIE¹ÓÍâËNÇ9«FÃ5XÇlF{äp ¶ e5ü ³ÁßÖ?#*êwæzÄ0¾ Xzo¾Ê(ùG2çõ¿$\ß_ÍèÁykÀ] dôè»#)õ@oN;"P)O\zj>³Ér½é"]rT q?vï`%ô¦x?«J´s0àüIÿðsñÁNº8Þßá~rZ: 9EüÕoV³z6&B@WÐRPiç¼ÜÞùñÕáîÁ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×åæׯÜ50¿Ï³®3iU§Ã9ì2g?ÿ¦f-2´j¬tq£gûÈÎ*^|¸fD>ÏNoå
ÀZt/(?²8{yeî%Ï}èb+2?Ä"92ȼ`|ªôIbpÑ% Ùr}[ü¯zÿÑËþ#*7Àù÷¿Í§Oóïß~½ÿ}1øÿW¨~}©Ò3нÿ9Ç@@à#þûÞë"SRÝýþÙMßhê%+õÛÉÊ«³çëÿ³òóåï¿Ù=Ú9{s¼Pù+8}sz¶÷2XÁfA?ôvÿjM1íöÈ|¸{¶=<Ã98Ü@ÎzwÒ]zLÆ»Qÿ"ʳå¥ï¯Ó»g;Ï$üQÎîFé÷1âYâölûøøàûòËö"ìC#O)2q@»Áù]ðKû¢Äiïr@½Ïþü/éðèl/îì§ýÓ#)þ¿¼Ø;Ü;Ù>ÛÛ#*ïìÅÁî¾<ÚÝþ¦ªü=«Ò'üÇ
j\Þïrï}ÿúök=[ÌO¼aóédÀHá;_«úÃ;p¶`S@ ,Oj±ÉªÀhB2sFÕPɽ´Ø§m5 Ö\q¢uúqªV×jîB¼zFÆÅ)óÁ%ØÜrÛìöÆòCæ^¯½q8MìÍî)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{ÈæöË#)ÊK9§#4qç#4vÑp9úîÉy#),QÔßm`Ù¤"EZg#y~?Yox[òþæÏ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öÞ8Dðë!×êLf¹µ%á\Ûyz5'J¡>õé¨-Péª6Ci¸ù^+íê¤|Î$´kìmMø)Ø<EÙ¯MU¥M²çÔÄOhn!çøùíÆÇïô9´è{àþ« ÷É«rPµù¢|E7¶6§«²Ü²,F¿|V÷@ZLÿ{ÜÆIm5ÚTOeÀ_«xçDteÅ#*#ñvùÐî¨2Ná
¼ÇSçÎ$ïS¤à¯ïð0Gwj9×$Ù¸skÈU÷ê9sNßÅÓ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§ìyiͬò0\+²tDúÃV%ÐPÕã0ã8Pá^÷ý"ÀÞÀ=ûV®B4ù[{×E§G¹ÜõãM{é$AÈÏ¿Ú=Ø©9¿¿°HJP´,s².\y«s
.Xí#4'JQý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ýÃÝ"#)HFÞ=ßQ#)ù´E¦ñ¦°;¡öôÑËãý½Öó£³íäãðUU2ÔdêIaêÂíó#)vÞKo%Ê!gtéT5sÁéÚ}Q«#4aµ=`ãKùipY9Jè;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ÂraNgÔÑо
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:gcc40iB*?ÝV½³îwXrÄè£#4³d.Xï¦R%Ýí[ãÐ/"Âç:s/µîÝÙ3OècuhÏô!!ÏË#4v'Iuåo0+þrc#Pvk:jGÆxé:¼A¯ýâôíãÑní#*Ê
ѵÊÀs¯x8<fVb#ÐM®0ÀZxe{úú3ñãö¿| øÕaÒ¢#*D¨*z%4iôúí$i\¶!Ïéoà??(ÇÅ¢M¼K#)À-,íÁ.Aâ$õ=o¹U!QÖÆêM
èRi3s]q¹K] ëÁ)Íë,u¢¤{n¿ßñnSèQ`°_'øHþµ¡)NHîÕSó{m¢:^-(ìGSæ~µöÈÌ#)§^+Þ)J×=*"!¬W,0!&%SÂ'.à#*Ø8ª±¡æɪçÏKoQ·5l&k´öqxqÕ½"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úzjMJþ.©É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¨#*Ö+bb¦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ÃÉFt#Ñ7ð$Ò;íá²ã i"fM`#·Qª¾Ì´A±"F×É£íï(û5>ä[äÄnÄõ(ÒP^C1¶öÞ¬ìCcP±ÁÆLÕjØ
Ö/,ðî 6[½õÔ6^+êÙÃô£jNcHzѸèÝz}àvÄWÍØyIg%{?(eû3Hw4¤£ÑMRBÞ«hKWÔlh.QwcË>Gf¡ H¤ÁHHÓlü¡1Üø e¬³xMÔ±YöLµÔõyôNÌ°bóMNlVì~^ìÁÌX©ÍÞ+#*^2m^ñZ#¦Ü3(_gø`²ü{ÎL4¾q÷RgD¦;#)Â,z6sD\)eMl£ïò)7Jæ4Û#*ly;°e¯ÙÕ²ÛHÈç´®¿¸%SÙÅ/¸~T»ÑäiÍÜI`C°î¥áü8·ÊLâlCØ£_8e¹K"P¯Ñoæ#*PbÅ
ÂÈdáË=Ç\j{ØEÉ>'>ê¨ÛäÒqBN
àPsÅ0ÉCP4É"çÇ"Õó`"2L63åõ¹Øe¾Êt*AxéÎâ¦rmuM/Q!=òY T@«å/:aÑ´aÐ+°'-ùϼl@(íJzÍ#4ºï§m7ÉͽåK<ã-U¬|çrýÀ4XÂ8NzÀUDZ%)5MEÇ+FLNI×Æ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ø>Á×áýàkEðµ¿æ!øÚß#ø¦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ã YTrª.ùTNãýÓ½ýR2©ñûYüöh¯Z·µLöDövHF)8å@#!q©dU:äç¤ûïvThºÀ®TZÝËvBB©¶DNjV#4°îÜJ·Í8¶nÝ
ô¾lW¿þw£æÿ´þí·ßfð}±ÿûKÐÿzûQ`x9}º8§ó=þÀ|ã?ÈXw¡#°.Jïcý©Bÿ£¼w¸ëÿCw0n'¶ÿwXùûßÍ/þþÊø/xºÈÓÖó]@;b¼%£\ò+ã¦ðã¦a5VÜðâ_Êa¼#4wmpÒì(q}ä¯uti%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\^ãMe®Ì·P=>P²@[ñéøO9¾u4à1£ä"Ãväý+Î<øßÌå×Öþá.>R°¹þÚGW8¾Â ¥{6|
¾¥}yð®*¹â¥IYvÃa^1 #*þl¨ÈéÆegÂôÄ
óy[Ъo©ArH4ßOn¾Ar¥]a(µJ$¡LÝT°[i]"I4Ò6Pf2äÝ"ôO-¯[\¹ë9>Lÿc0%lé?Õþ{ýéãÇûï'_ô?þ*ò¿EG¬-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
vu»F¨9Ôþ¨×h4#)²ÎY/,}¸å& Uáós´ W¬R6¯Ft¸Åô©#ZÅ ¨zHåÀÞW«³Êtú·e£õe%Z>hÓ¬%ýA. Ⱥ\Lÿ9i°º×üáÆPøf-£©lu~Q>#4<ÃØng5c¦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}D2"PB§ø#4H½hbñÑD¹y-§t~e&"[Á9quÛ¸ür?B}#*ÐõcpͼnÂÖ(n«ñʯhNßghMH°ûÃ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Ý{»çÝlVA7Ò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ÜF720ÛíÂ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£©¨³è=cUGÔgØ_ÿʪØ_ÿʬ%(Y⨢òßKôM¥gÜ#r¼õ×fó¶ûçè7ú¨µ[÷ñV]<¦Ã¿ ³ò<F7cZ¼¬·]©>Ðë¥ÂÈÃf°VåéB:\Tßbäû§Ê¸ÝiZ··ÄuÙu[#*Y§©Å[Bî?#=´¾ig϶f¢ú©å²½0¢ Ó#*^ -1#){#)#*÷óv=ÔøµÚ#!ÊG¡ÔLd ¸1ÞúÓp*|ÔOí¤y+óÁ³f>äCÇ¥À^3êë;} *{Õï^èNb¤ÒË{uz¯×]¥ÝS}?vr,òRGßpj®ú~#)%×I-=%¿2âHyõQgðÚëÞ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ƦULQÈ)æN&f.§ïæ`Z7I~ë[¶èøj> ,_0`7ô/ñGDÈñoÊ1Þ")þpRUÄÕzê»"ËTSl±?UT_³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#*CKK¢ÉPJ¹DXÞYð+ùqOÈ#)MS窾7ÿ¢OøDÄeøSÜVÇ,E1¸Â_I"#)x½\³a_sÓøïtYe Â>× -ÔÔ#@Í_¿¡6]È^èDçS}²¤*¢äÊ!û#)µ$Æéà$Ö3URýwYöÖå~(²>§h»:~NbáȤSÂö,ÐÙØPÙ#){ép#4Cúëܬ°
y0i,[Zw,öméÓF¹2#*~aÉ=hÿü3;áϳ¯=XrßkûòZÝbSÜÙ·Çe°VÂô¹ªÜl]UýöѦÅÐ#*äq`og8'?#4:<~áÅú«¬Úu¤C:ú¨õºZÃRàO;盛p¨eþç8æGòn¤^üzf øÀ²È)KçøOôAU|6tÍ×÷×jÎzäKUßîìù:µÆ·×IóƳÓ1Q6C\·¥ÜÙ¾-^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ß=(MXvjJ~â\{³óS5¦¾Ú?¨Ù«t:I¥UuQ£üý3PÀ÷}Ó"[QSóÒ%þ³Ûè(ì7RDPUBU£&ÉT¶@J/÷_½=7I§ùþàéΰÆäÅX0úÕYj3¯å½+>zõê´;;=ñÖs§åF«ëf~ÖF8«0S°>{u¥aáÙUeÀËÀ¤Æ×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%òÇ~#)ó@_|T573$AÖA÷ì¬×®ö Z¢µ2D#F
ÜÓëN&=8ÚdõrÎyÏéí鲺è^ú9ÈÍå#*ë$ÓIYY{îq$'¥s(ÉÞ>çæXjcOKµÆS¶¦xl1p«OKÞ Éî-Z¥H" »Úôr+e[í¯LÀ"³=¬åÂJ¿pxiu5#*Ôï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ÿðñ¦°êqZ/¾É Ôª¾*Þ{-í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'>tfK¾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<:KbBÔô´ðàDTâóHf$åQØÛÓvãÝ£·Çû@UE- ¢DQ½Ñé#*´Ã'þëÝ¥ªm×ÖÂ7ý%w+²tÊRÉKnzucÙ!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öäñ&*w3:ß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<lMX¶o»IµGJyÀ³CÂÂÃïn kG3_øD¨@líó×Sñ» ]EÐÿÖ¥{×?Íuàù4Êz·²ü´)a¼Ûþ°òÛ£ôÿÊ!æBq<µõM¼uQYã|<¢©Âk;HD¬Ó¢*#*¬²Ù\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*ðÐ-]ZT3Hç7$(÷t³e(ªÕÓÏ£ÄçæhZpcÍ-o¿?&I±C&C8x#*ýmÚG-èøì×+³ÛÌôèFvÁ Ær
fØdY.7M\¤$æá¡Ö À`ÜLh«^êDÅ°ö*ÐqÌ#*;êuÌFJèß³<â+cªòròO ³ b±ø·vójè#*;¬GOð^ï#4èÞ+.'Eo9)P\âÅñgyT²å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ïKv%MTUª}·U·²Ä#}}n¾8xvÒØLOòòìDªÑ-#4ª
VAú,K}W+T<pæ¬ÓÀg8©Ì°QÂswL¼Ò~8H#áÓ4©cÈTW2Ï#4×è5qiA0Gòéækð<uÑôwPê=s¸èJZ\jb/a¬!*ù±µü$4æÝ yi3ʨ;!ªñecýËËöØ@ò»8ÆN&Aþ°IIìZè.]s¾#ºÛëìT¥Ü<Gl9E&ëgf`·Ø=Qöm
ÆsÈ1´9uÉËx:*°A¶h¯Ñp GeØZ]þ[npØdÞ£ç6'ñáX3§ê$bÓûW\§YAÆCT¥¨ËÖıÔLf¦°KëJÍ#*§âÎ+r-°Úä¡Þi-1ÛXá9mA$7PUÃ#)ñÑ4"_Õ@~U°©pdªsTQÜ5kÒÍ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¼ßäunDïÆM[+ì¶pþ¹R6bॠ¼¨Û;/oµ±TX/1®ø¶`XÐÑø6ù¦kú3ÍÿÈÁVØKß
:ídrÉæÁ9¤Îó÷éÜëɾ]!cÁ´a¢ÄYK)#÷äøYôUTÊH#*¶£qê¶Õb;ÛѬêa`ü1TOVÏH&Ë6+én%Ìð'iÖó`ÑܽØè×^#)_ ²(Ê&(¡ìÕpÊô«Ý\1»=@Ô?;ÝI!BÔ¢zÕò£óß9õEË£H?%Ý~#4$î²úÜKËK·g~nqÎù¿=ËÉßf(àØLZX#*`3ü1ú4cELûp:hU<Z#{®lCYi¶ ãfy(8:¾mÞi:x/å_tk]÷{C®kÖy°#*Àaóbc¨Éô )Ð(:èUTð]ð(«.Sè:oÈy{jÜ2u:ûÍAô#4HÿPWddæ y¹½A9:O3u¦["pêh¨÷¬ióoEeµ+B#22Å "vn]CzÝI¶ARºbH2 r£d«å2¦_ú3Àñý=
êyèwÿkßÕâ¸g=#)$¤ÛÁkúÌÈÿ¸mÜ?ùSÝÎ÷Ê3B..%õ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ê]NLÿÂ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²¿JmwY9aÑ2ky©@¶B5æ¤"6}a?l;;J&O»ú×䧿¢xø{è»Ý]ÝÎY:"Áwwm©©y»RaÝó íqõÜÒ¦±zjz#*ÏÄ#?××CvºæÎF5br3ÔèX¿¯À74û[Óþ
r#)Ḩf²ÇäT)ß3Òª~Núö-¨r³¬â×d{ÏpÝzÃÕ Þ*ÀtOn`Тbz¹ª
Dæ×D² Yø
ÿSüßûÉÓ?#)z1ÿ÷øÙ·ÿßO¾àÿÿðâ¸3EÑ@+ÞPÜÉÚ%x_¢¸³~¯4f*"é°ç7Bå#4Ú´rDr4¼áÐì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çBZ¨k·àuaÆ&ðIdtv!;§?Æ;gxé"#*À=ëD¦Â¥àSjEÜ1[$«¸®HÎöcíÜX±¯Ù½6JZ#Üþh8Ä,SüÀ,XõY+-Ò_k\Ãyjk¹ó¾ûuT%ѼPW%U³@ò$¬a¶~/]iQþ"â²Rßýd§î{´¨Âõ£L³Ê]_ÉÝR-ËÝöû-`ÇKð9¯/G¤xË-¦CýPh4<'Ê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¡
#*?Q5iD>
O/¹ºÒ ÉcqjYhcTÆùÊ;PÊ5RÕhNðLÎ$¢ü¬k¡r¡
¿i´"¼¯x²öö¬våqS¯Cg"CôÊr8«e&¼-ítÃA #×E³³Â3ühªx3'?îêxEÈwn1°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¬èLpfNMw½tuzp;Ç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!pVr<PÌsÂåB×1_bh.gð±x AR ,®ãðü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ÀÒóä (ö5Y±Ä?Ú;Ú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ÍÕÕ#*ijß$j=/xׯ
1A¶áÉûûQUÓ=ÚÇÒùú ¹\|ÚYðºÃó±Ò#*b)̤è#)hLà,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°#)+¡j6Ut=d'>9::Ò$ãüx/÷}Ä[\,åÀ@êTsz¯gkij%!ïDµ%!)-iJ9&ñOzTYãnsT¨Ûux6ä'AÜ8ídgãa¯7i7¯ÖæZ¥ÉYrÅG·DÁ©ñ«·HF~ËÉ¿Iøî#½¤:EbJ¢d`¾åjÅ£ý%ðy°@üuú'ã÷ýk:À¾ÇãGV?ëß¹¦ È0ÊÞòI{%¿`kÅp1u°Ìù¨*øÑ ºÀ~ñ#v½êJ6è]Ç«oºM<ßh#*Ú¨ÎèVdh~smÕßújj+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ºocCl bÛ§søù¼ç{ÄÎNæ{æåïÆ»|>ÇX,ÉÊ_N9TèáÙÎÁfíÆÝ6¿ú)e@GþÚý¥Ây<û#*¤#¯H¡)Ïßa~k)%ç¨ÇöD>*$@zm5jW$'øÑ#)Æ°¢m1wÎ-À0$°#*ÔØf¨[SÞ-l9æÅæ¸ìÔñB -[éµþ$óÑSBØr±=,²æûu£4¢øl[¬î@n»í^«4â^¹&k¤91SkMuá»:¤ÇzôZnÐÔ·ö¶¾!náG²DcN½{ÎáÂj[åÌÍÇRiYCî×U?öWe¼9IÈQr´(÷Ö.0S.7¡Â¨6õð4©~ÔSoÜÍ>dö!¾¸Uâèk}ĺÚ9gf#JG¸TsΪʾ&[BÞTwöuh½æúêèd·#4ôxç9¬57þÏ"noögoq&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ÐcA!múÄ pqÔJQ1ü`ñ³:ܤH¬¥òã¯âW'ï*ÙcJ-XF×h6§|5¾$È«\)±W)SæëLc6J»¿>o§ªaDê®q7Ôñ¥Évç»×xùo© eIÖõ¶=Tsv°òF+;\G#5sÆÃy#"ãQjbÌ«ôh9ÃåÿÑËevzí¯êÑãá;ÉÞÛ[¿ü{]ç¶Xå+wµÊT$¥icUÙtIYY¹%2SaÄÍÙÌ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Ê5A2¼ác¼ ñfVâØA5fÔM;{£*éMºkßQI#4*MÊjSÔ_#)ßl:÷JLír|]á»;@³íY»9E²ÜlÒ,ç4ùA g ½ÊöäHuFîþp ~Øòz²8=ÙEg¾¼*Ge(ÙfÎSÓ×)Ì[Fý"£Ñ§[®ñëYÓ¥*åh;2-H ñªã¹.OuÌóR_}H¹'
ååæüqó±áϺ²¼ëñtì°æhä°'=v3jêÀY¡£=B; ;ø¾âÿ*üNóÿ¹oÿÿöÛõ§iüÇ7¾ìÿµýapç¬@ÆÙ÷"´m§ô#)öAßVÂÿ´srZC#)î:!@Ô|qíÛìDð¤oBø||Ì`ÎÏÊ<®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½ÅÝÖ¬ä$4gmæ¨>eë wºQb YèÔxmªúuKCb*3£N¾í_À8FF¯ÈxIÖ8?Oõ¹Õ«9ÖVñ«]èù£wgVÌc~$£¤â+a?æÛ(jFT$j\üdçÊÁêà×b®á¤?:jìbõ·'à´!爐ð³lâ0#4ÛÅÑe·k+mÜ;66T2ÅIßiÅ}¼#4a¡|9;í ©
$×Ö#LtOèxw8ÉÁáRRWü¹ø^)@Ú½4ˬ~æ"
uµ×eQjþ×Ö\·o©5jäØÛàG5V×Ì3ÇLÑ¿iEZaì/¦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ð²fm5v%lö[qsîîzý¡æ'Wí^Ø|©ÃÄ÷¡bLZ°æ ¼´ÇÀʾL/䶺r¼\Í-¿i?rðªvy\½D;!êQ ^CZ°å¡´¿õPuàE®[ÚÆ%É0Ê9ep¢AEhs7x$W6#*µjaR3P|&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ÎËbs^nZ×Fåwññ0Ñ]¯tóÑèè~·&NÞé ©õTHä;ßýU)ÌRSÉd>XJ{Dµ§Ô!³#*å!wܶõÆE~¬ zP¿ñ¯áxû¼µWè½;÷b#)&t(^ ÛLrVY6×<7
¸¥ð¦);iO*¡$P%w9Ò4LýJ¼µ)ÖÌgÚÈÔ
¾fi°B*¯ûèkiÝ]GÕèPZb®k>u_ñ{÷ݪ!µw}äÞ
uò.È °C²sõÏ»9söÿFÒÿìÿO62÷?O7¾Üÿüåîð<Ýô+| RóQëõ°k>~Á$ ØÔxwNõÙwçôm8_¼s>%CuD£sÓà-Þ
T ø¥áOÂNjgÒÿ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ûÁóõß\¹kr4fL=¥)¨B{Vû³A[®¼¶äƾå~ô4â8ooê+PDÛ¨¥"½öôÒ5]FÈ7Ýd¯¤@ý ¡kál^º¾¼&dG¿îÏ?©ëޣú¼½Ý?<: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=ÜÃ$¤©yTGìk"«É·´uÐ-KÈW»÷ÚB¾²m!_¡-ä«]Njl!UÙy¶yb§$ÓÌgÈnqÎBÇÎ\G®NÚ¼ÒVð³Ì+v w1¦«y1ÊKRÞd#´>Í<PÇÙâÇ«ÐÅÐtNÎÑàùbY#4
éHCrc>,es_̽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ÖÜveÎ!/§_ô ï¦BeOB÷ß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²´G3F«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#49Ý,'jP6mkGFsÝu/͵üê¥ù'k
ª1%/G`ù¯bèÜ<%>[?¹Sæ{lÍÏÃ<þmsµdïYµY=gþv'!#4~/oÎThgUF#4yqL¼<ÜÊ®jÀËõÑ¥Wf§ÑíAeÖ¥¹±ã£--¶¹ãçp=µ8@øªëå øG³q»h¶Àý×G'Õ½¨6ÕÕ\®ø!>5ÇZ£üïò¿?¯ÔWÎ+Cùò5ÿ|?w/úÝ=ìmqGðT/01#*rä&(Aί·!Ì3H-¦°oòóu{<h÷Ô[£uÓuÕ[?¹#4ó3é@z>Èã°×b8(È d«!Æ¿l6W ?OòºÊ¤N Ýd"²#*|L÷Æq÷r0·õª×X¶Ùü
ütOÑÐùdKÑì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
ÜObó;&é(¦ÃæfqätXB±èR5»³³[تôö ©ê4ö}nÈÔd:²AvÒAÀ¿k4Lº3µopI®º@¾ñ&<¦~CûÜèFÐKÉ7Z³ÏYvï¢E2o¿ojÏx4i´ZTñEÇõO1r¢àQ³l©ëlǼÃÀëöd"@äÌFNn_,R-¹ûå<,è¦Ãb"æõ#*aG?âÍÙ¨»÷úöjÄÕ#*Ø<µíù©©Ñiu'¨¥Z79U?ª§Utw1¼öJËIà/ûxÿà)çàÀ}ÅÏ?½ÉÈ«`ªh4EV¸ÏÌÅ]$ggJ G\!N·f¹x/dddM ß9|b]²¯FßVT Ôù!ÿÉt·Ð.!Ç`2ÛUÙÚÂ?å-k=äéï\¨C¯xm³s® ©ÝµCetL[Éìç.0rmEÅÉЮ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è¶*KZPr<¬:7F%_¥3úð49É'*R<ÁtÏr@ýPF õÆM¡Æsûz²ª?¥ñ´×Ry@×aÍ£æGwPiú!¹×ãÄÛq5ä£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Èqi{EQ7tr¯¤xâ<kQü¦a}t<DÖ¢&@w?ÝæHX2lPn1@óh_z#*ðã#y·_³Ô/Ê>Óz?Óq^죻T7Jwöïä8ÜN¹Ô=ý·ÜD©}P\VÝ©,3@M_ô:ÒËò¹fíyÆ1vae_Uù}bt'ü]aÔ¸DË:qÎþ,Rõnñ*
8Tø{®§lYúD bµûKÉÄ¿ñNiýÎÏ#4vø)è'þ;³>ñÏû¤?ðyÞTî4K|k¯Í#Èæí1K´È#*úiUf£×ó j)ðûW0^-X<çT°°ãÃÝþD3ë@0KùY?:®¾=þþó&MþiC¦3ªÚ¶wkùàã#ËÐIKUÔh¸#vÞöÛt+¹*¹ÒÂzÛ÷dj!D0å!òúÓð½éâÑ#)6Ý)g/#*NåøNîS|ÁéVkr²ÍOß%õÑ/Ä
Àÿþߤ=ûóíÿ7|ûmÖþÿÉýÿ¿þß0 Ú`ÐáÁðáZíOW§îÅtÐuÜ(ýósDAUm8Aà¼!XÅíÚ/çµóz}%8¯ûh÷ö7wÉÈY%ôFY0iá0Z¦Pô5³ -A>â.YÒðæJMÕé@§64döh¡|¬¹rd
_åØ,Æ#*u|êV.óñ;¸Òj_LUR°åÁλÇrLæÊNk<ja£HaUbÄUã"³ÓÝR~Ñ°*ZúÜéÚ×ûuN¥îfªÉ3Q;Ú¹rgØ6F:ÓÃJ¶(¹»uÆ]&g°Ý°É @õüZQ=B?~ÐýM&·°ASNCg%Ï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®)LfxyVý(øIUì¾Ú?¨BÍéæQ+EQF2lÆ1 ¶ªrÊÄ£¸Õ½²RX¢HýÆuÝ¡àýÃ=®~¹·^NÖ©NàÔÎê÷ÅU|}ptzºs²_½·VnI¥ë÷#)I©>>9z{|FÇ?³ê\I!sB*d:eZH#47;nLg.°¢ã|ËÞø NzÕþÖÐüÅ".+éª#)s*éìs6¥Ì#)%æÿ
"¸Bmá'áBMÔåTü$¸ÂÔ|!ás(,ÔAÇp|À Ä[¬ÐÁéÎÉìYlóÜ}×Úx Yv{À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¨iWÃß.ÙøÛ»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,)êAJejs%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íù¢Uz¿ØµØÉõV!¿ÐGDez(Û;¿¿slAåjFæºúed%f nÏs®Åþ°ú&>S©ó/¦þjÃÓ#*´Òæ¸1¸l6BdhT`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ÂlGw8Müâ¶#)Ê¢%}ï0èâèªLUGÅ9ÚÛKi2uf\Fé±Hïû¼ÛN)k» L#õJ#4e#3¡1Á#$üSMîVµAìÁE5%¥¶^þ¾Î±ÍÌ1§xkú$ÏM×ÖhÅTõ0.¥Ur-ubþqæéäÁÿª#*×ze7Ý´+ÚÏ<Ï,ïúýn@Ó¨#*`éa%³µbÏÂfêfJsÆTÏ{Wx¤zNqh;=AQæÉ]»6# xyG¸z°jÒj+&\Ü+HK®Ì Sf;JÌWëÝÜÅõügÉ8ÈOzÖ׿9õÏÕ&æ±ûÐz#)=±(')Ñxx
qEd³qO¸I§l©9ÇWDv|õ4ã4{#*ëê°yq5=´Cõ¶ûÐ!fws,²¥(Í ¬óÛ7ÜÕÛÜ×2í¼["fÉÈá VåÊ=Q+ôUJÎcº¬H×e«àsv¶{F&¯çq¤Zaà\²ºðܤÉ{̨Îc,xS²hóþEeý»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³½
.»çv3 .^/¨¡&2Q#4¶MôÉ
È-#` eFNæÓUñÍÔýÑDI\Õ!'õåß¹e[7NànDGILଯà&kѵ¶v¯b#=@/¬¶XxFÂAêÜnyC0y3p^Äö»sØì²sèÆ^ÌWà[&#y&RQ8)ÜTåbãjU½êËAÈVP*æ&«mËTgý¶ÂMtn:i®E2/ywUÎwOvå Ó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(×Â^E9{T0,¹ÜêÜ_´ZÀ÷}}Êé\jµùðþ°(o$&"<<î¨a0#409]Å*i1#*ðmÞ(ÙÄ##4äz¦%/²x²/ÇÅüM*d¬ÄrOÕ¿©F5òËÇ8H
ÿVó?áÿëéÓ´þïg_ôÿ2øß®sÆ8lýO.fÄ¿qãÙjÏ=Ü Ñ7kd¬ý{¸-RîW1¢òFʶ·È:íc,G§La[ûý¡8pjî"¦1>£`¹í)¤N6ñËCAÛC8ĺGz7#)~·gH¬Tû».¨è¦ïY ½=¸©ã;è{ø&?g¡8
{+=tïMug¯zD<ƶë~[1ªxÄWíÚºùå"r7¥#ÞìP#9°L×Xæ½N!ZMí¡7lÀmå~Ï£úÁ¥ÿkÒâÐØ]zÀpýúìqÆþãÛõÇ_èÿ_Ãþc'Èð#)-A¤âwáCkwa¾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´²djÜÒ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^ôºäÔ¹DR_;¼ÎtJÄøÉ¢$?
{Ç`#éhe#4Óê¨ì`#*ïIº7´eø7ÐÿÃqOëAsHêÍÍüu9ù¸VM¨Ø5¤>µgD¦?úËèÎM
î®4ï`éÚ¶;w¸ê#¼¹hÀÓl^ÙJ÷Z±ØU"8ͼ۫.HØ®Ð×vNª*Ùî=5§#)È¿h¦NïÙ\dT¬FeÁûQämæ6+Êb«ZݱuMCNOvßìíP»"5tuîn?Úhgd*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¾²bdEÑ~àQÇ#ÞÝÙ}SO÷ÿ«mÐ!Àr^ðñÑ1©ãøe¿#)wÊf{Ý~wm<]/\ãÆE2ì¡û3æ#)ñf¸Õ·b±·Nõ§Ní#*ÞÂNLêPyï&ì8ÏÙ¼ê`îbè$2ÈK¢õöXs¿'m|¿D5nèW÷·üGP<Åí÷ò\èÿÍ7üÈáßDðLéwGO|Á3#4ÿ
8ü¿èN$+~áäð2Ï<ÿ·~DËvB¾tkÞù¤¾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Û'µ¾][-×a0Zc§7lL °ó³¤Tjå¼Bq¬´VÚà
N½JýËÄÔ+NêÍüÔnêas²½¾BU¬o«Zb»7u»¡`d^Kµ_ççõ;h9Ïß^%ø¾¼µ¼u÷üyt·½ÝAàÿðz÷|ùî9cð~X=_
?Ñ]¹|WÞ¾+CÈJt·¸[¿ÛwQt÷Í7wßÀø?ü¿Dw[Ûw¢»¯¾º«Îó_Ï?"$ÅóíóíóóÕo¢G_ý.¯!ð¿Ï+u?$L&cMÛ+ëN¤&µ"6y9Ù^Ny0GpD¦®ßÔt×+Ô3)¨bÐßhⱸÝ`ª¸¼EHÐ(xú
äº;á³Ü=À~Õ+õIòõÅÞ|Tú"Í7G@ßó§ðfMTIpYñÖ¼e »«^þ>îmoã¯÷<ò¶á?x"ïìo¼; ù7ð:Ô3Âä¶O#4íÁ´ªim`ÁQÓÃö5Ö¡6G3iLkÚl#Æ[Rºiôâ#*ÅôwH(ç"\hDë«AÎ 7µ ¡!<E0I³æB§ÙÄãpÄeRO¶ ©QcùBD@ºªBWíв#4-Û¡+*tÅ]S¡kvè/*ô;þã`¬i#.ëã¢Âál¢þÎN§ãèQ¼¾±ò¢Ý3ûÆÎìÉÄàÜð#)ïd÷(RQab?r[ñ9s«øë¹ÓÏÝ,;ßOÛö§m÷åv*Kgãùs»¶UííKb#4,ZfM£³ºgwKTTØ*Çá<ýv4¹õPPCÒUIbTÞ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³ª#)#0L©ûï¶JK¦#*( Æ7#*[ .UÅ"t%Fo¢b%¥ÉF8Ù$¡Ò#)!¬î±íGÇÄFM6åxå#*xPÞ8NY0?ü$-}rÃW»¡ÔXwoÍ-ØÆ<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È93YN¦ä02ñ|"ÔÌt@úÖÜ[£Ì¥`îé0;î}}3ïm+¦b_ï¡`ýFõja¦ì#4ZåÒTèx>¢#DЧ9óó_4?6¨)ªVPåÎKjÅW6ßü¯Õ#*;3Ú¤%Õº»÷;_6êH`TYÓð: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ìûÑä¹6V#iG>®æ§÷s¬SgÛôòÖNÞʧê,7ÂÈ9¼ÑÜ©l×v~euóÌÍ`åþòX3êîå@¼ÁMãó£ê¨Â궹Z=xðI°<9[MTÌ´1i,Iç#$Ȳ׵¬YìEEQ,~³Nµ<.IG°ï1â¶ÍöID§ýb&ò1¾W~Ð%"Dð¯Ò#4,w¬96HË<³ì&ÀôDhK&#aÀ¿Av¢ öi^ýÇæbõAbî#%¢\RYãËPzÖërYg;³ãÙaôîáR¦Ýbw¾ÁàJ[µÌ©GzóùjF°«x&¨T*Z©.ÿéO(zÑYCÔk#:Î#*é»ßÔ6¯´íz«#4ªÉbàÓuèÛhºx¹\ã¾EtY·.Y bè1Rjã<nÂZ Î{:ßk%ÿþ1¬cQ Éè¥^lUVmRb úJHJ\þZö#¥MØXÌg}³½a)C8ÔñgcömÚR´gÞþSóQuLëNÚ¬üù `A]ÙäD;u¥e
-,6DÊ/\ ±aÀP[}ì}Å#åSC`%"í¹Ï׶ï#*ð{K¯ô0`TOAe,ÏÛ¾uíÐÊ
ßÖNeú,«ÍÝÝ FIÞ#*o0
Ã(æ#;죴x,ľqKÆ´Ñ ómJ/ý-kC(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 6ixEépQö_@r7Î
éTL´Û±ªl&C4Í"6X·u:ÁiRîBÖÎp\´Ë,Âu"(»»#.úzmFn.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#*+½.ﺬea0Ú,Újbsgj6G7.VØ*I¼CmnóMÚò1¬?ºg@k×3z¿ú:Kva'oÑ2aFã¡iX¥¥Ä¹Z-8`#)g³ëüÕxè<ñü'sGE1ÀwbKÉjd=$¥j6m;uÁ],é®ù®C×Ã×,EþÌçÖp-68`J%·&(v4mîè/ ´Él+³Ýö¾µT¯·\£ä$Ǹ#)2Âæ Eêó¬ÚS{3¥ÅÔ\sªRu¨¶=l60h¦^WøñZ7IîÊ30á^a?¶nþ³_¡åê!Õ°sW%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#4xüîì{3¤È&H¶#4¤Í ~_¯Ö¹×)5Ô4ñÔÎÄ]*,¸
[õÚ©ÊÑÞSx7¦<ü´=E×óå¾f\¹k/íïÂGÎÞ1ù{ªäÞé8]ËîAd¨Zµ¿dcTôS9DlöxÇn3ʪ7v)Åp:ÌÚ:~DÐ}¡BÂa#)ܺK²*HüÄn~Oc¹aÆïE¨ºkw0h"¨4)øà¬Á¥-;~ ?y¢i$UÖRf§éï.°'o)>0a. BERÁ³¼obÀÚiùØp®4gu «MÌã´ÈÙãÜÔ¸WîC^ÑÕ'2RB#bìºã'F¦%EH<ÔqJÆDVbûôp{L´OSàÈïó>8ð´*GçÒÖ©'oiP¥Ïiìö¹Ð%äD×·vPxH®>é8#)ðÕéð$ËZ6I xÒeV-åë7+Dä´ý[:tÁú(·Æ©fGZ#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¶@ݹ|{wMeD`EÈ;ç¹Ó9pèøBÌS{äijcY¿ÂqnU±*ï$Ûâ9<ýÛ_äñí?×Þ#)èvû/¾<ùâ«ýÏì?ÿUìò9/¡ì¿<1\¹áÏ4Jv`Ä<(M ,Ûl¸7Ûöô#*Zs Öå>¨ý|JaVbqcx'güÒùeëzt§®Þ}GNÕ·jJµg*Ö+ÃZ[:=)㳧RÖ4úDå¼¾ru¥Ä]®s6púrhpi<·p§¦ÀUar:ý½Á£A¶Í#4iç3ÓâBd:
èQY åy©=tYì§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'ðtlÞk§Kʼ4YºÀ]S%B*kÈN#)ÿ%Ãî~POéÂ&ß°ÛƧ¦ô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©xbK ûcÈ1|&7JÅöê8[åRØÁ_Ú¥*-¦â´úâ³o_gç¯Þ¾yrrÃ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õèÜÊôÿëç/þ¯YMmfyypOú2{p,¥¥k;µbãÅ«'p8z¯D§Cï§=ïÓZ#~MvAñ&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ùSK;ò: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æ`aXk}4#*nü~Â#)GäÅ
¯&ü9e\ø9HØQè7{èõ|[î"»¬ñL%ÚWP$opí¢ïmà /Q!`iXQ²,"ÁèK´
Ñn²Wô 2R\2Íåò#*õUJyðûßQO^ú´Ø25TÝ,j£×jvx$_xÍ#5Äwq&¯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
Çhh¨7gjYìÌjÉ×rZ¼RÌ&©Ïò³Ò¯l¯ÖP0·ôFÖwPV«9¦S¥$ÛF[#4°J6"42F)òl>[,Áò@«n`×TM<Þΰ´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#8MYì¡ûí«gt-ÈÜÉbuew¹=k·¥OÆ.ïsè¿ùt0ÊY[µtX&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:ÀÉðª^7tAhHÂ!®EQm&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Ú¼cK̾Ç}#*}æ¾ãÎ#)|Ï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\Íq9ÚtË@º~¼{¡~ï1ýÂ~º¤DAÄxÖf¨xáÛà=ö|X=ÿ4ë?ê>/>3a¤ÿïãã¯OÊëÿW%8¬ÿæõÿ0ôþÇ?ìLûË/ÿÈñÿà'_Uøÿ/¿þò0þÿ#4úM¾§ávÎó%êuZ]ÏóA1Ã!)~»Ý$/áëÍj:ÍÕ?YYDù>¥aJíNfÃÕ8_ôbe7®\¨ä}ë*ßu^v°ÉõQ½®ã7?ÚÖÍ#)ØwêdbáÇ@Büõ£,ulÝÌ»d3±ðãG)M½T1f|Ìt7ø[A bwÃÕ.³Ã8¶!ßþøÔo36áæ°%â°ý,(,£< кÙ|êÝa^Öy0#*HGçÈPoõ¦ýa¿A¯sÀÖ]öñ½q¸ÿ
>(I½ºE&ey(å4×ÂpðJ¡ÔE
Ò:ùô¸=§ûìóÑÚ&äèBÎí£#)ñîhÈ=^à0òh74²d»3ê ½¤CT' #)%¸}B#)w¬u2\ã"QÜ%3#){à¬n¯Óµé"¬xïcü7 .ò`94èËðPDè¾~þúDS.À$È¢>âgó|êݬòåënó&«éh#)jmt=À&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ùWCôj@5ÑPs
zUÏú ÑPÔÓ@1:·¡ÅH¸Ã~Æ>dQ×}¸WÜ4¬ÔU*òEª?d`.!#*¬Û|CÚà<·o²ÌĦOàq()ÕróGÞäI=¡}mÌ%ÈJee)¿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ûѺ_´ãD4v#*Pê*!ÌpYÎæ!<L0á X<uOP<eĤX-dX-±xmÜã&7¨mt hÜÕsÜ7«à#*ȶºaêgÎWw"XS@½AKº²õîB(IÏXÖÛò¿"üVÅÁ%zØ`ßhIÑ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¦SP±Ð)û×àÀ½7%ªÚÒ!ÎæÆJÉ~mµÑ÷*ç]súÆô9rú©?ðý^CY8í'IHÒõ;Ë¡êI"«ú#*Âõå@&¼g¶6çiÔÜÃü×,Øàdþ1ý_ãÖó¸ÃÜl°áDkD௣?Èñ,Æ#)â` óù\#4$%¶9Øç×Kq/"q¤e~º-D'¼Ó^4zñjØoÊTuþ
MÝPlBÍÁæY®~AØ#·ùtøx
$¶ÝÍ÷mT5\ùXàDõSköÇSá]µÁ0)¿éì|O^ºZRgµÖ#Ü fÃi³#Ñ"|2Ü2¶b2´²Å^|¯Ug
[§ß*4](¤BÀ¦cqÇ£TASèúT¡x¥cUjz¦$
~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ÎY6bmÎ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ÜgG¥£mçÓÀ;M~]Í9j£AN¶ÇéJ$ØvðôöÙãÎ2Ï`çkO°NâÖgÿZIzI´C´ZZ¬Â±½¥2k#)ܯS2¥íNùNÐîK«IÓ*õ#໺óstÇnè¿UaHÃY´©å´BÜXO7p{¨]¹Àãéªz1f)Õ]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 d4cbce8..cec5247 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 @@
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
similarity index 83%
rename from poky/meta/recipes-graphics/freetype/freetype_2.9.bb
rename to poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb
index da05916..1e6f66e 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 @@
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[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 @@
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 69f2178..0000000
--- 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
similarity index 75%
rename from poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.7.5.bb
rename to poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.8.8.bb
index 0a9b029..b904d93 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 @@
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 @@
--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 0000000..44c2c76
--- /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 0000000..16767eb
--- /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_1.5.3.bb
deleted file mode 100644
index 50a5ae0..0000000
--- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "Hardware accelerated JPEG compression/decompression library"
-DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression"
-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://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[md5sum] = "7c82f0f6a3130ec06b8a4d0b321cbca3"
-SRC_URI[sha256sum] = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523"
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
-UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
-
-PE= "1"
-
-# Drop-in replacement for jpeg
-PROVIDES = "jpeg"
-RPROVIDES_${PN} += "jpeg"
-RREPLACES_${PN} += "jpeg"
-RCONFLICTS_${PN} += "jpeg"
-
-inherit autotools pkgconfig
-
-# Add nasm-native dependency consistently for all build arches is hard
-EXTRA_OECONF_append_class-native = " --without-simd"
-
-# Work around missing x32 ABI support
-EXTRA_OECONF_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "--without-simd", "", 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)}"
-
-# 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)}"
-
-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)}"
-
-PACKAGES =+ "jpeg-tools libturbojpeg"
-
-DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
-FILES_jpeg-tools = "${bindir}/*"
-
-DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
-FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.0.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.0.bb
new file mode 100644
index 0000000..282bf95
--- /dev/null
+++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.0.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Hardware accelerated JPEG compression/decompression library"
+DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression"
+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=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 \
+ file://0001-libjpeg-turbo-fix-package_qa-error.patch \
+ file://0001-libjpeg-turbo-fix-wrongly-defined-define-HAVE_STDLIB.patch"
+
+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+[\.\-_]*)+)/"
+
+PE= "1"
+
+# Drop-in replacement for jpeg
+PROVIDES = "jpeg"
+RPROVIDES_${PN} += "jpeg"
+RREPLACES_${PN} += "jpeg"
+RCONFLICTS_${PN} += "jpeg"
+
+inherit cmake pkgconfig
+
+# Add nasm-native dependency consistently for all build arches is hard
+EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False"
+
+# Work around missing x32 ABI support
+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_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_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)}"
+
+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"
+
+DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
+FILES_jpeg-tools = "${bindir}/*"
+
+DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
+FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*"
+
+BBCLASSEXTEND = "native"
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 3605446..611e541 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 @@
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 @@
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 5b64ed6..46aeeb0 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -6,7 +6,7 @@
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 d2b6c1a..0000000
--- 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
similarity index 79%
rename from poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb
rename to poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.2.bb
index 5ca0868..1067212 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 @@
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 0000000..29076bf
--- /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 8092fad..812a9ab 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 @@
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 @@
--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 @@
}
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
similarity index 89%
rename from poky/meta/recipes-graphics/libva/libva-utils_2.1.0.bb
rename to poky/meta/recipes-graphics/libva/libva-utils_2.2.0.bb
index a8018ea..e35085c 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 @@
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
similarity index 92%
rename from poky/meta/recipes-graphics/libva/libva_2.1.0.bb
rename to poky/meta/recipes-graphics/libva/libva_2.2.0.bb
index d3cf633..11e57e0 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 @@
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 f908d46..0000000
--- 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 0000000..a50d2a2
--- /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 2444b28..0000000
--- 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 6aba785..0000000
--- 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 0e014dc..0000000
--- 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
similarity index 72%
rename from poky/meta/recipes-graphics/mesa/files/0001-winsys-svga-drm-Include-sys-types.h.patch
rename to poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch
index 549b867..ffb3bf7 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 @@
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 @@
#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
similarity index 76%
rename from poky/meta/recipes-graphics/mesa/files/llvm-config-version.patch
rename to poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch
index fd79991..5e735ca 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 @@
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 @@
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 @@
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
similarity index 76%
rename from poky/meta/recipes-graphics/mesa/files/Use-Python-3-to-execute-the-scripts.patch
rename to poky/meta/recipes-graphics/mesa/files/0004-Use-Python-3-to-execute-the-scripts.patch
index 0b4aabf..8953c4a 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 @@
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 @@
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 0000000..d40e7b5
--- /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 0000000..0212922
--- /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 d2d6755..0000000
--- 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
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa-gl_17.3.8.bb
rename to 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 b501b7e..0cc0a82 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -29,12 +29,16 @@
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 @@
# "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_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_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[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 @@
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 @@
# 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_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_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 2d3fd3c..0000000
--- 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 0000000..86d6a6b
--- /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 9e1626e..0000000
--- 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
similarity index 81%
rename from poky/meta/recipes-graphics/pango/pango_1.40.14.bb
rename to poky/meta/recipes-graphics/pango/pango_1.42.4.bb
index 3bd9c64..22fe3af 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 @@
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 0000000..5d6ec36
--- /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 b936ad8..9e45751 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -5,11 +5,12 @@
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 @@
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 d32c8f2..93bcfbf 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 @@
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>
----
- CMakeLists.txt | 13 -------------
- 1 file changed, 13 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
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Signed-off-by: Maxin B. John <maxin.john@intel.com>
+---
+ examples/CMakeLists.txt | 14 --------------
+ 1 file changed, 14 deletions(-)
+
+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 @@
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 @@
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 681b342..0000000
--- 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 4addea3..0000000
--- 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 5fc9c2d..bf30c98 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 @@
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 bcf84a5..b0b9fc4 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>
-Index: git/demos/CMakeLists.txt
-===================================================================
---- git.orig/demos/CMakeLists.txt
-+++ git/demos/CMakeLists.txt
-@@ -63,46 +63,6 @@ elseif(UNIX)
+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(-)
+
+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 @@
- 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 @@
- 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 @@
- 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
similarity index 87%
rename from poky/meta/recipes-graphics/vulkan/vulkan_1.0.65.2.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb
index 1c8a895..5496f53 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 @@
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[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
similarity index 79%
rename from poky/meta/recipes-graphics/wayland/libinput_1.9.4.bb
rename to poky/meta/recipes-graphics/wayland/libinput_1.11.3.bb
index 67a49df..12e2091 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 @@
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
similarity index 78%
rename from poky/meta/recipes-graphics/wayland/wayland-protocols_1.13.bb
rename to poky/meta/recipes-graphics/wayland/wayland-protocols_1.16.bb
index 1ef1ee1..fc4b711 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 @@
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
similarity index 88%
rename from poky/meta/recipes-graphics/wayland/wayland_1.14.0.bb
rename to poky/meta/recipes-graphics/wayland/wayland_1.16.0.bb
index 1a9ff98..112ee1a 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 @@
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 0000000..f52200c
--- /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 689ce41..18f7262 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 @@
[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 0671a45..09ec155 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 +-
- 3 files changed, 23 insertions(+), 1 deletion(-)
- create mode 100644 src/weston-error.h
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
-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,[],
+---
+ configure.ac | 2 ++
+ libweston/weston-error.h | 20 ++++++++++++++++++++
+ libweston/weston-launch.c | 2 +-
+ 3 files changed, 23 insertions(+), 1 deletion(-)
+ create mode 100644 libweston/weston-error.h
+
+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 @@
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 @@
+
+#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 @@
#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 70b9888..d648538 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 @@
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 @@
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 @@
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 @@
#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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
/*
* 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 @@
{ "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 @@
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 @@
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 55c0d4f..0000000
--- 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 b3e1d06..0000000
--- 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
similarity index 80%
rename from poky/meta/recipes-graphics/wayland/weston_3.0.0.bb
rename to poky/meta/recipes-graphics/wayland/weston_5.0.0.bb
index ad0cdc2..e517109 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 @@
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 @@
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 @@
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 @@
# 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[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 @@
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 @@
}
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
similarity index 71%
rename from poky/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb
rename to poky/meta/recipes-graphics/xorg-app/mkfontscale_1.1.3.bb
index 31cf186..2a6bec1 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 @@
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 8726804..c3e8536 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 @@
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 f151b57..0705b7f 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 @@
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
similarity index 72%
rename from poky/meta/recipes-graphics/xorg-app/xeyes_1.1.1.bb
rename to poky/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb
index 84d0cb8..06885f8 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 @@
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
similarity index 79%
rename from poky/meta/recipes-graphics/xorg-app/xinit_1.3.4.bb
rename to poky/meta/recipes-graphics/xorg-app/xinit_1.4.0.bb
index 9318518..dc2a06b 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 @@
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
similarity index 75%
rename from poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.0.bb
rename to poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.2.bb
index c9dc327..eaf8eaa 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 @@
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
similarity index 78%
rename from poky/meta/recipes-graphics/xorg-app/xprop_1.2.2.bb
rename to poky/meta/recipes-graphics/xorg-app/xprop_1.2.3.bb
index d78bf0451..ca58d47 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 @@
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
similarity index 77%
rename from poky/meta/recipes-graphics/xorg-app/xset_1.2.3.bb
rename to poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb
index f683b76..5748837 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 @@
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
similarity index 72%
rename from poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.3.bb
rename to poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.4.bb
index 0c23d19..1fb90dd 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 @@
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
similarity index 83%
rename from poky/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.5.bb
rename to poky/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.10.6.bb
index 96b220c..60e325c 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 @@
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
similarity index 63%
rename from poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.26.0.bb
rename to poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.0.bb
index 54c33d7..5853b5b 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 @@
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
similarity index 76%
rename from poky/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.2.bb
rename to poky/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.9.3.bb
index 0750476..c38dab5 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 @@
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
similarity index 79%
rename from poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.0.bb
rename to poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.1.bb
index d327a3b..dc31890 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 @@
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
similarity index 64%
rename from poky/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.4.bb
rename to poky/meta/recipes-graphics/xorg-driver/xf86-video-fbdev_0.5.0.bb
index 52e9bd1..7b4ac88 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 @@
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 8a5dd39..0000000
--- 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 3dddd33..0000000
--- 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 0000000..ada9eb5
--- /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 2623cb2..655fd4d 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 @@
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 bef3636..0000000
--- 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 ac19219..0000000
--- 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 9fb01d4..0000000
--- 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 683a989..0000000
--- 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 67ea7c1..0000000
--- 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 b0ac9a4..0000000
--- 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 67b2840..0000000
--- 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 d567299..0000000
--- 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 dc0b9b3..0000000
--- 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 7ebb960..0000000
--- 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
similarity index 70%
rename from poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.4.bb
rename to poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb
index fa251b5..9a11014 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 @@
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
similarity index 68%
rename from poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.2.1.bb
rename to poky/meta/recipes-graphics/xorg-driver/xf86-video-vmware_13.3.0.bb
index 706d35d..41612b7 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 @@
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 bca0aad..e657c65 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 @@
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 342067d..57912e7 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 b5862da..2938ef1 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
similarity index 75%
rename from poky/meta/recipes-graphics/xorg-lib/libdmx_1.1.3.bb
rename to poky/meta/recipes-graphics/xorg-lib/libdmx_1.1.4.bb
index e623cee..66172cb 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 @@
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 a181f05..34d5fc4 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 @@
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 5ccd1d8..999434e 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 @@
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 a44a5c8..d030c31 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 @@
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 48922cb..fdc693b 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 @@
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.5.bb
deleted file mode 100644
index 295f96a..0000000
--- a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.5.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require libx11.inc
-
-DESCRIPTION += " Support for XCMS and XLOCALE is disabled in \
-this version."
-
-SRC_URI += "file://X18NCMSstubs.diff \
- file://fix-disable-xlocale.diff \
- file://fix-utf8-wrong-define.patch \
- "
-
-RPROVIDES_${PN}-dev = "libx11-dev"
-RPROVIDES_${PN}-locale = "libx11-locale"
-
-SRC_URI[md5sum] = "0f618db70c4054ca67cee0cc156a4255"
-SRC_URI[sha256sum] = "4d3890db2ba225ba8c55ca63c6409c1ebb078a2806de59fb16342768ae63435d"
-
-EXTRA_OECONF += "--disable-xlocale"
-
-PACKAGECONFIG ??= ""
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.6.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.6.bb
new file mode 100644
index 0000000..a4ba4e5
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.6.bb
@@ -0,0 +1,19 @@
+require libx11.inc
+
+DESCRIPTION += " Support for XCMS and XLOCALE is disabled in \
+this version."
+
+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] = "6b0f83e851b3b469dd660f3a95ac3e42"
+SRC_URI[sha256sum] = "65fe181d40ec77f45417710c6a67431814ab252d21c2e85c75dd1ed568af414f"
+
+EXTRA_OECONF += "--disable-xlocale"
+
+PACKAGECONFIG ??= ""
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11.inc b/poky/meta/recipes-graphics/xorg-lib/libx11.inc
index 4af40ab..36c950a 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libx11.inc
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11.inc
@@ -6,8 +6,6 @@
require xorg-lib-common.inc
-inherit siteinfo
-
FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:"
PE = "1"
@@ -18,8 +16,8 @@
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
similarity index 83%
rename from poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.diff
rename to poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch
index 744cedc..c117214 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 @@
+}
+
+#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 @@
#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 @@
_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 a7c3984..0000000
--- 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 0000000..09cf74f
--- /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 c6347f5..0b57e0b 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
---- 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 @@
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+Upstream-Status: Pending
+---
+ include/X11/Xlib.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+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
similarity index 65%
rename from poky/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb
rename to poky/meta/recipes-graphics/xorg-lib/libx11_1.6.6.bb
index 427bf28..0fee1a9 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 @@
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 2ef8bfa..8c52475 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 @@
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 d614883..0000000
--- 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 0fe6531..0000000
--- 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 8992386..0000000
--- 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
similarity index 81%
rename from poky/meta/recipes-graphics/xorg-lib/libxcb_1.12.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.bb
index a38bdea..a8e0307 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 @@
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 7025719..73e2948 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 @@
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 c3d7004..6d6ffad 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 @@
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 f4e30d9..466f349 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 @@
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 063e531..aae8f2a 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 @@
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 c80042d..f0e2f60 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 @@
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 5f27a55..2b72d67 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 @@
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 79f77fc..94c6c66 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 @@
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 74f0527..08381d9 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 @@
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
similarity index 76%
rename from poky/meta/recipes-graphics/xorg-lib/libxinerama_1.1.3.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxinerama_1.1.4.bb
index bb03f44..edce35d 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 @@
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
similarity index 82%
rename from poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.0.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.2.bb
index 050d0b7..8cf508b 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 @@
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 39a344c..f5c1860 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 @@
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 48e88d2..b90ebc6 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 @@
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 92b3102..9b18366 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 @@
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 8c34e47..af6bb19 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 @@
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
similarity index 79%
rename from poky/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.2.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.3.bb
index 354e5de..aed52e7 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 @@
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 4cc9e05..0000000
--- 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
similarity index 71%
rename from poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.2.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb
index 1df068d..85a48e4 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 @@
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 180d00d..f8d94a2 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 @@
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 5717fa5..266bd1c 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 @@
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 a226c27..c602723 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 @@
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 6ed49b1..7e49a98 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 @@
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 695a396..626199e 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 @@
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
similarity index 68%
rename from poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb
index af6f1f7..45b0673 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 @@
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 35f87d2..95fc0b6 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 @@
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
similarity index 87%
rename from poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.22.bb
rename to poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.24.bb
index 4fd894f..7d0e608 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 @@
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 0000000..c513bad
--- /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 d5b7f1a..200716f 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 @@
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 f798a43..0000000
--- 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 ff8cb25..0000000
--- 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 eb4b422..0000000
--- 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 adfee26..0000000
--- 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 75d0268..0000000
--- 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 d960e5d..0000000
--- 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 f4c40c5..0000000
--- 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 bed97b3..0000000
--- 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 39fb88d..0000000
--- 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 27fc281..0000000
--- 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 eb03d33..0000000
--- 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 eb5e66b..0000000
--- 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 46f5c92..0000000
--- 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 e6d32f9..0000000
--- 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 b59e525..0000000
--- 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 ad2317c..0000000
--- 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 ff800ec..0000000
--- 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 08b610a..0000000
--- 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 ab07f51..0000000
--- 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 6f97a26..0000000
--- 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 89ec666..0000000
--- 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 542acb8..0000000
--- 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
similarity index 83%
rename from poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.12.bb
rename to poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.13.bb
index 25a8373..d503786 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 @@
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 0751b94..0000000
--- 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 dd0bd95..0000000
--- 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 86f3ce3..0000000
--- 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 b3f9210..0000000
--- 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 d4663ea..0000000
--- 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 0f31900..0000000
--- 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 dde7e9d..0000000
--- 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 0000000..48296f7
--- /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 0000000..cec6e87
--- /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 4f9ed99..0000000
--- 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 febcc67..0000000
--- 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 be3a667..0000000
--- 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 84a967a..727ab54 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 @@
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
similarity index 75%
rename from poky/meta/recipes-graphics/xorg-util/util-macros_1.19.1.bb
rename to poky/meta/recipes-graphics/xorg-util/util-macros_1.19.2.bb
index b39d787..2680599 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 @@
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 f4cd139..03b94dc 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 @@
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 cf2286c..489a428 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 @@
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 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 @@
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 964d5dd..0000000
--- 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 16ec3ed..0000000
--- 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 beed6cb..0000000
--- 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 5243761..0000000
--- 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 0000000..7f6235b
--- /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 c36e4e7..0000000
--- 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 0000000..2ef9fa9
--- /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
similarity index 69%
rename from poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.6.bb
rename to poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.1.bb
index 7e8a954..9fd2e8d 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.